/* =========================================================
 * ALMARA B2B — MOBILE HARD RECOVERY v6.3
 * Scope: Partner Hub, Buchung & System, Für Standorte, Für Dienstleister
 * Loaded late via MU hard loader. Desktop/tablet are untouched.
 * ========================================================= */

@media (max-width: 767px){
  :root{
    --alm-mobile-stage: min(352px, calc(100vw - 36px));
    --alm-mobile-stage-narrow: min(330px, calc(100vw - 40px));
  }

  html,
  body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Outer page/template recovery: keep the embedded template from becoming a narrow column. */
  html body:has(.alm-b2b-page) .site-main,
  html body:has(.alm-b2b-page) main,
  html body:has(.alm-b2b-page) article,
  html body:has(.alm-b2b-page) .page-content,
  html body:has(.alm-b2b-page) .entry-content,
  html body:has(.alm-b2b-page) .elementor-widget-template,
  html body:has(.alm-b2b-page) .elementor-widget-template > .elementor-widget-container,
  html body:has(.alm-b2b-page) .elementor-widget-template > .elementor-widget-container > .elementor,
  html body:has(#alm-partners-hero) .site-main,
  html body:has(#alm-partners-hero) main,
  html body:has(#alm-partners-hero) article,
  html body:has(#alm-partners-hero) .page-content,
  html body:has(#alm-partners-hero) .entry-content,
  html body:has(#alm-partners-hero) .elementor-widget-template,
  html body:has(#alm-partners-hero) .elementor-widget-template > .elementor-widget-container,
  html body:has(#alm-partners-hero) .elementor-widget-template > .elementor-widget-container > .elementor{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }

  /* Real section stage. Full viewport band, contained inner column. */
  html body .alm-b2b-page.alm-section,
  html body #alm-partners-hero,
  html body #alm-partners-models,
  html body #alm-partners-advantage,
  html body #alm-partners-impact,
  html body #alm-partners-services,
  html body #alm-partners-types,
  html body #alm-partners-flow,
  html body #alm-partners-standards,
  html body #alm-partners-final-cta{
    display:grid!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:58px 18px!important;
    grid-template-columns:minmax(0,var(--alm-mobile-stage))!important;
    justify-content:center!important;
    justify-items:stretch!important;
    align-items:start!important;
    row-gap:26px!important;
    column-gap:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-page.alm-hero,
  html body #alm-partners-hero{
    padding-top:48px!important;
    padding-bottom:60px!important;
    row-gap:24px!important;
  }

  /* Elementor flex/grid reset inside B2B sections. */
  html body .alm-b2b-page.alm-section > .e-con-inner,
  html body .alm-b2b-page.alm-section > .elementor-element,
  html body .alm-b2b-page.alm-section .e-con,
  html body .alm-b2b-page.alm-section .e-con-inner,
  html body #alm-partners-hero > .elementor-element,
  html body #alm-partners-models > .elementor-element,
  html body #alm-partners-advantage > .elementor-element,
  html body #alm-partners-impact > .elementor-element,
  html body #alm-partners-services > .elementor-element,
  html body #alm-partners-types > .elementor-element,
  html body #alm-partners-flow > .elementor-element,
  html body #alm-partners-standards > .elementor-element,
  html body #alm-partners-final-cta > .elementor-element{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 1 auto!important;
    flex-basis:auto!important;
    --width:100%!important;
    --container-widget-width:100%!important;
    --container-widget-flex-grow:0!important;
    box-sizing:border-box!important;
  }

  html body .alm-copy-column,
  html body .alm-hero__content,
  html body .alm-b2b-page.alm-hero .alm-copy-column,
  html body #alm-partners-hero-copy,
  html body #alm-partners-models-copy,
  html body #alm-partners-advantage-copy,
  html body #alm-partners-impact-copy,
  html body #alm-partners-services-copy,
  html body #alm-partners-types-copy,
  html body #alm-partners-flow-copy,
  html body #alm-partners-standards-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
    grid-column:1!important;
    text-align:left!important;
  }

  /* Typography — keep premium but readable. */
  html body .alm-kicker,
  html body .alm-b2b-page .alm-copy-column > .elementor-widget-text-editor:first-child p,
  html body #alm-partners-hero-copy > .elementor-widget-text-editor:first-child p{
    margin:0 0 14px!important;
    font-size:10px!important;
    line-height:1.25!important;
    letter-spacing:.22em!important;
  }

  html body .alm-hero__title,
  html body .alm-b2b-page.alm-hero h1,
  html body #alm-partners-hero h1,
  html body #alm-partners-hero-title{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(32px,10.2vw,42px)!important;
    line-height:1.03!important;
    letter-spacing:-.04em!important;
    text-align:left!important;
  }

  html body .alm-section__title,
  html body .alm-b2b-page.alm-section h2,
  html body #alm-partners-models h2,
  html body #alm-partners-advantage h2,
  html body #alm-partners-impact h2,
  html body #alm-partners-services h2,
  html body #alm-partners-types h2,
  html body #alm-partners-flow h2,
  html body #alm-partners-standards h2,
  html body #alm-partners-final-cta h2{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(27px,8.2vw,34px)!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
    text-align:left!important;
  }

  html body .alm-section__lead,
  html body .alm-hero__lead,
  html body .alm-b2b-page .alm-copy-column p,
  html body #alm-partners-hero-copy p,
  html body #alm-partners-models-copy p,
  html body #alm-partners-advantage-copy p,
  html body #alm-partners-impact-copy p,
  html body #alm-partners-services-copy p,
  html body #alm-partners-types-copy p,
  html body #alm-partners-flow-copy p,
  html body #alm-partners-standards-copy p{
    width:100%!important;
    max-width:100%!important;
    font-size:14px!important;
    line-height:1.62!important;
    text-align:left!important;
  }

  /* Hero media and image cards. */
  html body .alm-media-card,
  html body .alm-image-slot,
  html body .alm-hero__media,
  html body .alm-b2b-page.alm-hero .alm-media-card,
  html body #alm-partners-hero-media,
  html body #alm-partners-impact-visual,
  html body #alm-b2b-locations-hero-media,
  html body #alm-b2b-operators-hero-media,
  html body #alm-b2b-platform-hero-media,
  html body #alm-b2b-locations-impact-visual,
  html body #alm-b2b-operators-impact-visual,
  html body #alm-b2b-platform-equipment-visual{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
    justify-self:stretch!important;
    align-self:start!important;
    padding:18px!important;
    gap:14px!important;
    border-radius:20px!important;
  }

  html body .alm-media-card h2,
  html body .alm-media-card h3,
  html body .alm-image-slot__label,
  html body .alm-image-slot h2,
  html body .alm-image-slot h3,
  html body #alm-partners-hero-media h2,
  html body #alm-partners-hero-media h3{
    font-size:clamp(21px,6.8vw,26px)!important;
    line-height:1.08!important;
    margin:0!important;
  }

  html body .alm-media-card img,
  html body .alm-media-card video,
  html body .alm-image-slot img,
  html body .alm-image-slot video,
  html body #alm-partners-hero-media img,
  html body #alm-partners-hero-media video,
  html body #alm-partners-impact-visual img,
  html body #alm-partners-impact-visual video{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    object-fit:cover!important;
    border-radius:14px!important;
  }

  /* Mobile grids: one real column, no legacy 3/4-column flex widths. */
  html body .alm-grid,
  html body .alm-card-grid,
  html body .alm-grid--3,
  html body .alm-grid--4,
  html body .alm-grid--2x2,
  html body .alm-grid--1,
  html body #alm-partners-models-grid,
  html body #alm-partners-advantage-grid,
  html body #alm-partners-impact-grid,
  html body #alm-partners-services-grid,
  html body #alm-partners-types-grid,
  html body #alm-b2b-locations-impact-grid,
  html body #alm-b2b-operators-impact-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
    justify-content:stretch!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    gap:14px!important;
    margin:0!important;
    padding:0!important;
    flex-direction:unset!important;
  }

  html body .alm-grid > .e-con-inner,
  html body .alm-card-grid > .e-con-inner,
  html body .alm-grid--3 > .e-con-inner,
  html body .alm-grid--4 > .e-con-inner,
  html body .alm-grid--2x2 > .e-con-inner,
  html body .alm-grid--1 > .e-con-inner,
  html body #alm-partners-models-grid > .e-con-inner,
  html body #alm-partners-advantage-grid > .e-con-inner,
  html body #alm-partners-impact-grid > .e-con-inner,
  html body #alm-partners-services-grid > .e-con-inner,
  html body #alm-partners-types-grid > .e-con-inner,
  html body #alm-b2b-locations-impact-grid > .e-con-inner,
  html body #alm-b2b-operators-impact-grid > .e-con-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:14px!important;
    margin:0!important;
    padding:0!important;
  }

  html body .alm-card,
  html body .alm-card-grid > .elementor-element,
  html body .alm-card-grid > .e-con-inner > .elementor-element,
  html body .alm-grid > .elementor-element,
  html body .alm-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-models-grid > .elementor-element,
  html body #alm-partners-models-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-advantage-grid > .elementor-element,
  html body #alm-partners-advantage-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-impact-grid > .elementor-element,
  html body #alm-partners-impact-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-services-grid > .elementor-element,
  html body #alm-partners-services-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-types-grid > .elementor-element,
  html body #alm-partners-types-grid > .e-con-inner > .elementor-element{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    flex:0 0 auto!important;
    flex-basis:auto!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    padding:20px!important;
    gap:10px!important;
    border-radius:17px!important;
    box-sizing:border-box!important;
  }

  html body .alm-card h3,
  html body .alm-card h4,
  html body .alm-card__title,
  html body .alm-card-grid h3,
  html body .alm-card-grid h4{
    font-size:clamp(18px,5.6vw,22px)!important;
    line-height:1.12!important;
    margin:0!important;
  }

  html body .alm-card p,
  html body .alm-card__text,
  html body .alm-card-grid p{
    font-size:13px!important;
    line-height:1.55!important;
    margin:0!important;
  }

  /* Splits + final CTAs become one column. */
  html body .alm-split,
  html body .alm-impact-split,
  html body #alm-partners-impact-split,
  html body #alm-b2b-locations-impact-split,
  html body #alm-b2b-operators-impact-split,
  html body #alm-b2b-platform-equipment-split,
  html body .alm-final-cta-grid,
  html body #alm-partners-final-cta-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:16px!important;
    margin:0!important;
    padding:0!important;
    justify-items:stretch!important;
  }

  html body .alm-split > .e-con-inner,
  html body .alm-impact-split > .e-con-inner,
  html body .alm-final-cta-grid > .e-con-inner,
  html body #alm-partners-final-cta-grid > .e-con-inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:100%!important;
    gap:16px!important;
    margin:0!important;
    padding:0!important;
  }

  html body .alm-cta-card,
  html body .alm-final-cta-grid > .elementor-element,
  html body .alm-final-cta-grid > .e-con-inner > .elementor-element,
  html body #alm-partners-final-cta-grid > .elementor-element,
  html body #alm-partners-final-cta-grid > .e-con-inner > .elementor-element{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:24px!important;
    border-radius:18px!important;
  }

  html body .alm-cta-card h2,
  html body .alm-cta-card h3,
  html body #alm-partners-final-cta-grid h2,
  html body #alm-partners-final-cta-grid h3{
    font-size:clamp(25px,8vw,32px)!important;
    line-height:1.05!important;
  }

  /* Pills/trust strips. */
  html body .alm-pill-row,
  html body .alm-trust-pill,
  html body #alm-b2b-platform-trust-strip,
  html body #alm-b2b-locations-trust-strip,
  html body #alm-b2b-operators-trust-strip,
  html body #alm-partners-trust-pill,
  html body #alm-partners-growth-teaser,
  html body #alm-b2b-locations-growth-teaser,
  html body #alm-b2b-operators-growth-teaser,
  html body #alm-b2b-platform-formats-teaser{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:10px 14px!important;
    border-radius:18px!important;
    align-self:start!important;
    justify-self:stretch!important;
    text-align:center!important;
  }

  html body .alm-pill-row p,
  html body .alm-trust-pill p,
  html body #alm-b2b-platform-trust-strip p,
  html body #alm-b2b-locations-trust-strip p,
  html body #alm-b2b-operators-trust-strip p,
  html body #alm-partners-trust-pill p,
  html body #alm-partners-growth-teaser p,
  html body #alm-b2b-locations-growth-teaser p,
  html body #alm-b2b-operators-growth-teaser p,
  html body #alm-b2b-platform-formats-teaser p{
    margin:0!important;
    font-size:11px!important;
    line-height:1.34!important;
    text-align:center!important;
  }

  /* Buttons: readable and not floating. */
  html body .alm-button-row,
  html body .alm-cta-row,
  html body #alm-partners-hero-cta-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:100%!important;
    gap:10px!important;
    margin-top:22px!important;
  }
  html body .alm-button-row .elementor-widget-button,
  html body .alm-cta-row .elementor-widget-button,
  html body #alm-partners-hero-cta-row .elementor-widget-button,
  html body .alm-button-row .elementor-button,
  html body .alm-cta-row .elementor-button,
  html body #alm-partners-hero-cta-row .elementor-button{
    width:100%!important;
    max-width:100%!important;
  }
  html body .alm-button .elementor-button,
  html body .alm-button-row .elementor-button,
  html body #alm-partners-hero-cta-row .elementor-button{
    min-height:44px!important;
    padding:12px 18px!important;
    font-size:13px!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* =========================================================
 * ALMARA B2B — MOBILE CTA PILL FINAL v6.4
 * Purpose: fix Elementor button widgets collapsing to round icons/pills.
 * Loaded late via almara-b2b-mobile-hard-loader-v6.3.
 * ========================================================= */
@media (max-width:767px){
  html body:has(.alm-b2b-page) .alm-button-row,
  html body:has(.alm-b2b-page) .alm-cta-row,
  html body:has(.alm-b2b-page) #alm-partners-hero-cta-row,
  html body:has(.alm-b2b-page) [id$="hero-cta-row"],
  html body:has(.alm-b2b-page) [class*="hero-cta-row"]{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
    margin:22px 0 0!important;
    padding:0!important;
    text-align:left!important;
  }

  html body:has(.alm-b2b-page) .alm-button-row > .e-con-inner,
  html body:has(.alm-b2b-page) .alm-cta-row > .e-con-inner,
  html body:has(.alm-b2b-page) #alm-partners-hero-cta-row > .e-con-inner,
  html body:has(.alm-b2b-page) [id$="hero-cta-row"] > .e-con-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
  }

  html body:has(.alm-b2b-page) .alm-button-row .elementor-widget-button,
  html body:has(.alm-b2b-page) .alm-cta-row .elementor-widget-button,
  html body:has(.alm-b2b-page) #alm-partners-hero-cta-row .elementor-widget-button,
  html body:has(.alm-b2b-page) [id$="hero-cta-row"] .elementor-widget-button,
  html body:has(.alm-b2b-page) .alm-button{
    display:flex!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    flex-basis:auto!important;
    justify-content:flex-start!important;
    align-items:center!important;
    align-self:flex-start!important;
    margin:0!important;
    padding:0!important;
    text-align:left!important;
  }

  html body:has(.alm-b2b-page) .alm-button-row .elementor-button,
  html body:has(.alm-b2b-page) .alm-cta-row .elementor-button,
  html body:has(.alm-b2b-page) #alm-partners-hero-cta-row .elementor-button,
  html body:has(.alm-b2b-page) [id$="hero-cta-row"] .elementor-button,
  html body:has(.alm-b2b-page) .alm-button .elementor-button,
  html body:has(.alm-b2b-page) .elementor-widget-button .elementor-button-link{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    min-width:min(232px,100%)!important;
    max-width:100%!important;
    min-height:42px!important;
    height:auto!important;
    padding:11px 22px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    text-align:center!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  html body:has(.alm-b2b-page) .alm-button-row .elementor-button-content-wrapper,
  html body:has(.alm-b2b-page) .alm-cta-row .elementor-button-content-wrapper,
  html body:has(.alm-b2b-page) #alm-partners-hero-cta-row .elementor-button-content-wrapper,
  html body:has(.alm-b2b-page) [id$="hero-cta-row"] .elementor-button-content-wrapper,
  html body:has(.alm-b2b-page) .alm-button .elementor-button-content-wrapper{
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
  }

  html body:has(.alm-b2b-page) .elementor-button-text,
  html body:has(.alm-b2b-page) .alm-button .elementor-button-text{
    display:inline-block!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }

  html body:has(.alm-b2b-page) .elementor-button-icon,
  html body:has(.alm-b2b-page) .alm-button .elementor-button-icon{
    display:inline-flex!important;
    width:14px!important;
    min-width:14px!important;
    max-width:14px!important;
    height:14px!important;
    margin:0!important;
    flex:0 0 14px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  html body:has(.alm-b2b-page) .elementor-button-icon svg,
  html body:has(.alm-b2b-page) .alm-button .elementor-button-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
  }

  /* Final CTA buttons may be centered, but must keep readable pill proportions. */
  html body:has(.alm-b2b-page) .alm-final-cta-grid .elementor-widget-button,
  html body:has(.alm-b2b-page) #alm-partners-final-cta-grid .elementor-widget-button{
    align-self:flex-start!important;
    width:auto!important;
  }
}

/* =========================================================
 * ALMARA B2B — MOBILE RUNTIME STABILIZER v6.5
 * Purpose: final override for Elementor button collapse after responsive reflow.
 * Loaded late + re-applied by almara-b2b-runtime-hard-loader-v6.5.php.
 * ========================================================= */
@media (max-width:767px){
  html body .alm-b2b-page .alm-button-row,
  html body .alm-b2b-page .alm-cta-row,
  html body .alm-b2b-page [id$="hero-cta-row"],
  html body .alm-b2b-page [class*="hero-cta-row"]{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    gap:10px!important;
    margin:22px 0 0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-page .alm-button-row .elementor-widget-button,
  html body .alm-b2b-page .alm-cta-row .elementor-widget-button,
  html body .alm-b2b-page [id$="hero-cta-row"] .elementor-widget-button,
  html body .alm-b2b-page [class*="hero-cta-row"] .elementor-widget-button,
  html body .alm-b2b-page .alm-button{
    display:block!important;
    width:min(244px,100%)!important;
    max-width:244px!important;
    min-width:0!important;
    flex:0 0 auto!important;
    flex-basis:auto!important;
    align-self:flex-start!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-page .alm-button-row .elementor-button,
  html body .alm-b2b-page .alm-cta-row .elementor-button,
  html body .alm-b2b-page [id$="hero-cta-row"] .elementor-button,
  html body .alm-b2b-page [class*="hero-cta-row"] .elementor-button,
  html body .alm-b2b-page .alm-button .elementor-button,
  html body .alm-b2b-page .elementor-widget-button .elementor-button-link{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    padding:11px 18px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
    text-align:center!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-page .elementor-button-content-wrapper{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  html body .alm-b2b-page .elementor-button-text{
    display:block!important;
    flex:0 1 auto!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:800!important;
    text-align:center!important;
  }

  html body .alm-b2b-page .elementor-button-icon{
    display:flex!important;
    flex:0 0 14px!important;
    width:14px!important;
    min-width:14px!important;
    max-width:14px!important;
    height:14px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
  }

  html body .alm-b2b-page .elementor-button-icon svg{
    display:block!important;
    width:14px!important;
    height:14px!important;
  }
}


/* =========================================================
 * ALMARA B2B — FINAL MOBILE POLISH v6.6
 * Scope: subtle mobile refinements only. Desktop untouched.
 * Purpose: reduce hero media dominance a touch and keep CTA pills stable.
 * ========================================================= */
@media (max-width:767px){
  html body .alm-b2b-page.alm-hero .alm-media-card,
  html body .alm-b2b-page.alm-hero .alm-image-slot,
  html body #alm-b2b-locations-hero-media,
  html body #alm-b2b-operators-hero-media,
  html body #alm-b2b-platform-hero-media,
  html body #alm-partners-hero-media{
    padding:16px!important;
    gap:12px!important;
    border-radius:19px!important;
  }

  html body .alm-b2b-page.alm-hero .alm-media-card h2,
  html body .alm-b2b-page.alm-hero .alm-media-card h3,
  html body .alm-b2b-page.alm-hero .alm-image-slot h2,
  html body .alm-b2b-page.alm-hero .alm-image-slot h3,
  html body .alm-b2b-page.alm-hero .alm-image-slot__label,
  html body #alm-b2b-locations-hero-media h2,
  html body #alm-b2b-locations-hero-media h3,
  html body #alm-b2b-operators-hero-media h2,
  html body #alm-b2b-operators-hero-media h3,
  html body #alm-b2b-platform-hero-media h2,
  html body #alm-b2b-platform-hero-media h3{
    font-size:clamp(19px,6vw,23px)!important;
    line-height:1.08!important;
    letter-spacing:-.028em!important;
  }

  html body .alm-b2b-page.alm-hero .alm-media-card img,
  html body .alm-b2b-page.alm-hero .alm-media-card video,
  html body .alm-b2b-page.alm-hero .alm-image-slot img,
  html body .alm-b2b-page.alm-hero .alm-image-slot video,
  html body #alm-b2b-locations-hero-media img,
  html body #alm-b2b-locations-hero-media video,
  html body #alm-b2b-operators-hero-media img,
  html body #alm-b2b-operators-hero-media video,
  html body #alm-b2b-platform-hero-media img,
  html body #alm-b2b-platform-hero-media video{
    aspect-ratio:16/9!important;
    max-height:210px!important;
    object-fit:cover!important;
  }

  html body .alm-b2b-page.alm-hero .alm-media-card p,
  html body .alm-b2b-page.alm-hero .alm-image-slot p,
  html body #alm-b2b-locations-hero-media p,
  html body #alm-b2b-operators-hero-media p,
  html body #alm-b2b-platform-hero-media p{
    font-size:12.5px!important;
    line-height:1.5!important;
  }
}

/* =========================================================
 * ALMARA B2B — v7.0 mobile safety layer
 * Conservative phone-only fallback for Operators + Platform.
 * The runtime loader also applies the same rules after Elementor reflow.
 * ========================================================= */
@media (max-width:767px){
  html body:has(#alm-b2b-operators-hero) .alm-b2b-operators.alm-section,
  html body:has(#alm-b2b-platform-hero) .alm-b2b-platform.alm-section{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:18px!important;
    padding-right:18px!important;
    display:grid!important;
    grid-template-columns:minmax(0,min(342px,calc(100vw - 36px)))!important;
    justify-content:center!important;
    justify-items:stretch!important;
    overflow:hidden!important;
  }
  html body:has(#alm-b2b-operators-hero) .alm-b2b-operators.alm-section > *,
  html body:has(#alm-b2b-platform-hero) .alm-b2b-platform.alm-section > *{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1!important;
  }
  html body .alm-b2b-operators .alm-card-grid,
  html body .alm-b2b-platform .alm-card-grid,
  html body .alm-b2b-operators [id$="-grid"],
  html body .alm-b2b-platform [id$="-grid"]{
    width:100%!important;
    max-width:min(342px,calc(100vw - 36px))!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-items:stretch!important;
  }
  html body .alm-b2b-operators .alm-card,
  html body .alm-b2b-platform .alm-card,
  html body .alm-b2b-operators [id$="-grid"] > .elementor-element,
  html body .alm-b2b-platform [id$="-grid"] > .elementor-element,
  html body .alm-b2b-operators [id$="-grid"] > .e-con-inner > .elementor-element,
  html body .alm-b2b-platform [id$="-grid"] > .e-con-inner > .elementor-element{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
}

/* =========================================================
 * ALMARA B2B — v7.1 Operators / Platform Mobile Final Polish
 * Scope: Phone only. Desktop, tablet, footer, hub and locations stay untouched.
 * Purpose: fix remaining too-narrow cards and broken photo-mosaic/media cards
 * on Operators + Platform-ready after v7.0 stability rollback.
 * ========================================================= */
@media (max-width: 767px){
  body:has(.alm-b2b-operators),
  body:has(.alm-b2b-platform){
    --alm-op-platform-stage: min(344px, calc(100vw - 28px));
    --alm-op-platform-stage-narrow: min(332px, calc(100vw - 32px));
  }

  /* Keep only Operators + Platform mobile stages a little wider. */
  html body .alm-b2b-operators.alm-section,
  html body .alm-b2b-platform.alm-section,
  html body [id^="alm-b2b-operators-"][class*="alm-section"],
  html body [id^="alm-b2b-platform-"][class*="alm-section"]{
    grid-template-columns: minmax(0, var(--alm-op-platform-stage)) !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    justify-content: center !important;
    justify-items: stretch !important;
    overflow: hidden !important;
  }

  html body .alm-b2b-operators .alm-copy-column,
  html body .alm-b2b-platform .alm-copy-column,
  html body .alm-b2b-operators .alm-hero__content,
  html body .alm-b2b-platform .alm-hero__content,
  html body .alm-b2b-operators .alm-card-grid,
  html body .alm-b2b-platform .alm-card-grid,
  html body .alm-b2b-operators .alm-split,
  html body .alm-b2b-platform .alm-split,
  html body .alm-b2b-operators .alm-final-cta-grid,
  html body .alm-b2b-platform .alm-final-cta-grid{
    width: 100% !important;
    max-width: var(--alm-op-platform-stage) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-card-grid,
  html body .alm-b2b-platform .alm-card-grid,
  html body .alm-b2b-operators [id$="-grid"],
  html body .alm-b2b-platform [id$="-grid"]{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  html body .alm-b2b-operators .alm-card,
  html body .alm-b2b-platform .alm-card,
  html body .alm-b2b-operators .alm-card-grid > .elementor-element,
  html body .alm-b2b-platform .alm-card-grid > .elementor-element,
  html body .alm-b2b-operators [id$="-grid"] > .elementor-element,
  html body .alm-b2b-platform [id$="-grid"] > .elementor-element{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    flex-basis: auto !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }

  /* The remaining broken cases are the mosaic/media split sections. */
  html body .alm-b2b-operators .alm-partners-guest-split,
  html body .alm-b2b-platform .alm-partners-guest-split,
  html body #alm-b2b-platform-distribution-split,
  html body #alm-partners-guests-split{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
    max-width: var(--alm-op-platform-stage) !important;
    gap: 16px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-items: stretch !important;
    align-items: start !important;
  }

  html body .alm-b2b-operators .alm-partner-image-card,
  html body .alm-b2b-platform .alm-partner-image-card,
  html body #alm-partners-guests-media,
  html body #alm-b2b-platform-distribution-media{
    width: 100% !important;
    max-width: var(--alm-op-platform-stage) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 16px !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic,
  html body .alm-b2b-platform .alm-photo-mosaic,
  html body #alm-partners-guests-mosaic,
  html body #alm-b2b-platform-distribution-mosaic{
    display: grid !important;
    grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr) !important;
    grid-auto-rows: auto !important;
    grid-template-rows: none !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  html body .alm-b2b-operators .alm-photo-slot,
  html body .alm-b2b-platform .alm-photo-slot,
  html body #alm-partners-guests-mosaic .alm-photo-slot,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    grid-row: auto !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-photo-slot:first-child,
  html body .alm-b2b-platform .alm-photo-slot:first-child,
  html body #alm-partners-guests-mosaic .alm-photo-slot:first-child,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot:first-child{
    grid-row: span 2 !important;
    aspect-ratio: 4 / 5 !important;
  }

  html body .alm-b2b-operators .alm-photo-slot .elementor-widget-container,
  html body .alm-b2b-platform .alm-photo-slot .elementor-widget-container,
  html body .alm-b2b-operators .alm-photo-slot .elementor-widget-image,
  html body .alm-b2b-platform .alm-photo-slot .elementor-widget-image,
  html body .alm-b2b-operators .alm-photo-slot img,
  html body .alm-b2b-platform .alm-photo-slot img{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    border-radius: inherit !important;
    box-sizing: border-box !important;
  }

  /* Media cards should not become tall, empty white columns. */
  html body .alm-b2b-operators .alm-media-card,
  html body .alm-b2b-platform .alm-media-card,
  html body .alm-b2b-operators .alm-image-slot,
  html body .alm-b2b-platform .alm-image-slot{
    width: 100% !important;
    max-width: var(--alm-op-platform-stage) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body .alm-b2b-operators .alm-media-card img,
  html body .alm-b2b-platform .alm-media-card img,
  html body .alm-b2b-operators .alm-media-card video,
  html body .alm-b2b-platform .alm-media-card video,
  html body .alm-b2b-operators .alm-image-slot img,
  html body .alm-b2b-platform .alm-image-slot img,
  html body .alm-b2b-operators .alm-image-slot video,
  html body .alm-b2b-platform .alm-image-slot video{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  html body .alm-b2b-operators .alm-final-cta-grid,
  html body .alm-b2b-platform .alm-final-cta-grid,
  html body #alm-b2b-operators-final-cta-grid,
  html body #alm-b2b-platform-final-cta-grid{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: var(--alm-op-platform-stage) !important;
  }
}


/* =========================================================
   ALMARA B2B v7.2 — Mobile Mosaic Visibility Lock
   Scope: Operators + Platform mobile only. No desktop/footer rules.
   ========================================================= */
@media (max-width: 767px){
  html body .alm-b2b-operators .alm-photo-mosaic,
  html body .alm-b2b-platform .alm-photo-mosaic,
  html body #alm-partners-guests-mosaic,
  html body #alm-b2b-platform-distribution-mosaic{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic .alm-photo-slot,
  html body .alm-b2b-platform .alm-photo-mosaic .alm-photo-slot,
  html body #alm-partners-guests-mosaic .alm-photo-slot,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:96px!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    border-radius:12px!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic .alm-photo-slot:first-child,
  html body .alm-b2b-platform .alm-photo-mosaic .alm-photo-slot:first-child,
  html body #alm-partners-guests-mosaic .alm-photo-slot:first-child,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot:first-child{
    grid-row:span 2!important;
    aspect-ratio:4/5!important;
    min-height:204px!important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic .alm-photo-slot *,
  html body .alm-b2b-platform .alm-photo-mosaic .alm-photo-slot *,
  html body #alm-partners-guests-mosaic .alm-photo-slot *,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot *{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    clip-path:none!important;
    filter:none!important;
    box-sizing:border-box!important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic .elementor-widget-image,
  html body .alm-b2b-platform .alm-photo-mosaic .elementor-widget-image,
  html body .alm-b2b-operators .alm-photo-mosaic .elementor-widget-container,
  html body .alm-b2b-platform .alm-photo-mosaic .elementor-widget-container,
  html body #alm-partners-guests-mosaic .elementor-widget-image,
  html body #alm-partners-guests-mosaic .elementor-widget-container,
  html body #alm-b2b-platform-distribution-mosaic .elementor-widget-image,
  html body #alm-b2b-platform-distribution-mosaic .elementor-widget-container,
  html body .alm-b2b-operators .alm-photo-mosaic figure,
  html body .alm-b2b-platform .alm-photo-mosaic figure,
  html body .alm-b2b-operators .alm-photo-mosaic picture,
  html body .alm-b2b-platform .alm-photo-mosaic picture{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border-radius:inherit!important;
    overflow:hidden!important;
  }

  html body .alm-b2b-operators .alm-photo-mosaic img,
  html body .alm-b2b-platform .alm-photo-mosaic img,
  html body #alm-partners-guests-mosaic img,
  html body #alm-b2b-platform-distribution-mosaic img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:inherit!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

/* =========================================================
   ALMARA B2B v7.3 — Operators + Platform Tablet Breakpoint Recovery
   Scope: Tablet only (768–1024px). Phone/Desktop/Footer/Hub/Locations untouched.
   Purpose: prevent Operators + Platform from rendering in phone-style single-column
   layout on tablet and restore premium two-column tablet proportions.
   ========================================================= */
@media (min-width: 768px) and (max-width: 1024px){
  body:has(.alm-b2b-operators),
  body:has(.alm-b2b-platform){
    --alm-b2b-tablet-stage: min(900px, calc(100vw - 64px));
    --alm-b2b-tablet-narrow: min(780px, calc(100vw - 72px));
    --alm-b2b-tablet-gap: clamp(22px, 3vw, 34px);
  }

  /* Root sections: full-width bands, contained tablet stage. */
  html body .alm-b2b-operators.alm-section,
  html body .alm-b2b-platform.alm-section,
  html body [id^="alm-b2b-operators-"][class*="alm-section"],
  html body [id^="alm-b2b-platform-"][class*="alm-section"]{
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: clamp(68px, 8vw, 92px) 32px !important;
    display: grid !important;
    grid-template-columns: minmax(0, var(--alm-b2b-tablet-stage)) !important;
    justify-content: center !important;
    justify-items: stretch !important;
    align-items: start !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators.alm-section > *,
  html body .alm-b2b-platform.alm-section > *,
  html body [id^="alm-b2b-operators-"][class*="alm-section"] > *,
  html body [id^="alm-b2b-platform-"][class*="alm-section"] > *{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Hero: tablet should be a premium two-column layout, not phone stack. */
  html body .alm-b2b-operators.alm-hero,
  html body .alm-b2b-platform.alm-hero,
  html body #alm-b2b-operators-hero,
  html body #alm-b2b-platform-hero{
    grid-template-columns: minmax(0, .98fr) minmax(300px, .82fr) !important;
    column-gap: clamp(34px, 5vw, 58px) !important;
    row-gap: 24px !important;
    align-items: center !important;
    padding-top: clamp(64px, 7vw, 86px) !important;
    padding-bottom: clamp(64px, 7vw, 86px) !important;
  }

  html body .alm-b2b-operators.alm-hero .alm-copy-column,
  html body .alm-b2b-platform.alm-hero .alm-copy-column,
  html body .alm-b2b-operators.alm-hero .alm-hero__content,
  html body .alm-b2b-platform.alm-hero .alm-hero__content,
  html body #alm-b2b-operators-hero-copy,
  html body #alm-b2b-platform-hero-copy{
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    align-self: center !important;
  }

  html body .alm-b2b-operators.alm-hero .alm-media-card,
  html body .alm-b2b-platform.alm-hero .alm-media-card,
  html body .alm-b2b-operators.alm-hero .alm-image-slot,
  html body .alm-b2b-platform.alm-hero .alm-image-slot,
  html body #alm-b2b-operators-hero-media,
  html body #alm-b2b-platform-hero-media{
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 360px !important;
    min-width: 0 !important;
    justify-self: end !important;
    align-self: center !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  html body #alm-b2b-operators-hero-media img,
  html body #alm-b2b-platform-hero-media img,
  html body #alm-b2b-operators-hero-media video,
  html body #alm-b2b-platform-hero-media video{
    width: 100% !important;
    height: auto !important;
    max-height: 230px !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }

  html body .alm-b2b-operators .alm-hero__title,
  html body .alm-b2b-platform .alm-hero__title,
  html body .alm-b2b-operators.alm-hero h1,
  html body .alm-b2b-platform.alm-hero h1{
    font-size: clamp(44px, 6.1vw, 64px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }

  html body .alm-b2b-operators .alm-section__title,
  html body .alm-b2b-platform .alm-section__title,
  html body .alm-b2b-operators.alm-section h2,
  html body .alm-b2b-platform.alm-section h2{
    font-size: clamp(30px, 4.2vw, 44px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.035em !important;
  }

  html body .alm-b2b-operators .alm-section__lead,
  html body .alm-b2b-platform .alm-section__lead,
  html body .alm-b2b-operators .alm-copy-column p,
  html body .alm-b2b-platform .alm-copy-column p{
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  /* Tablet card grids: restore 2 columns. */
  html body .alm-b2b-operators .alm-card-grid,
  html body .alm-b2b-platform .alm-card-grid,
  html body .alm-b2b-operators [id$="-grid"],
  html body .alm-b2b-platform [id$="-grid"]{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: var(--alm-b2b-tablet-stage) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    align-items: stretch !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-card-grid > .e-con-inner,
  html body .alm-b2b-platform .alm-card-grid > .e-con-inner,
  html body .alm-b2b-operators [id$="-grid"] > .e-con-inner,
  html body .alm-b2b-platform [id$="-grid"] > .e-con-inner{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .alm-b2b-operators .alm-card,
  html body .alm-b2b-platform .alm-card,
  html body .alm-b2b-operators .alm-card-grid > .elementor-element,
  html body .alm-b2b-platform .alm-card-grid > .elementor-element,
  html body .alm-b2b-operators [id$="-grid"] > .elementor-element,
  html body .alm-b2b-platform [id$="-grid"] > .elementor-element,
  html body .alm-b2b-operators [id$="-grid"] > .e-con-inner > .elementor-element,
  html body .alm-b2b-platform [id$="-grid"] > .e-con-inner > .elementor-element{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: clamp(150px, 18vw, 190px) !important;
    flex: 0 1 auto !important;
    flex-basis: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  /* 3-card rows can remain 3-up on wider tablets. */
  html body .alm-b2b-operators .alm-card-grid:has(> .elementor-element:nth-child(3):last-child),
  html body .alm-b2b-platform .alm-card-grid:has(> .elementor-element:nth-child(3):last-child){
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  @media (max-width: 860px){
    html body .alm-b2b-operators .alm-card-grid:has(> .elementor-element:nth-child(3):last-child),
    html body .alm-b2b-platform .alm-card-grid:has(> .elementor-element:nth-child(3):last-child){
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

  /* Split / image sections: tablet 2 columns, not phone stack. */
  html body .alm-b2b-operators [id$="-split"],
  html body .alm-b2b-platform [id$="-split"],
  html body .alm-b2b-operators .alm-impact-split,
  html body .alm-b2b-platform .alm-impact-split,
  html body .alm-b2b-operators .alm-partners-guest-split,
  html body .alm-b2b-platform .alm-partners-guest-split,
  html body #alm-partners-guests-split,
  html body #alm-b2b-platform-distribution-split,
  html body #alm-b2b-operators-impact-split,
  html body #alm-b2b-platform-equipment-split{
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(280px, .9fr) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: var(--alm-b2b-tablet-stage) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-items: start !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators [id$="-split"] > .e-con-inner,
  html body .alm-b2b-platform [id$="-split"] > .e-con-inner,
  html body #alm-partners-guests-split > .e-con-inner,
  html body #alm-b2b-platform-distribution-split > .e-con-inner{
    display: grid !important;
    grid-template-columns: minmax(0, .95fr) minmax(280px, .9fr) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .alm-b2b-operators .alm-partner-image-card,
  html body .alm-b2b-platform .alm-partner-image-card,
  html body #alm-partners-guests-media,
  html body #alm-b2b-platform-distribution-media{
    width: 100% !important;
    max-width: 380px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    justify-self: stretch !important;
    align-self: start !important;
    padding: 18px !important;
    box-sizing: border-box !important;
  }

  /* Tablet mosaic: visible, proportional and not an empty tall phone column. */
  html body .alm-b2b-operators .alm-photo-mosaic,
  html body .alm-b2b-platform .alm-photo-mosaic,
  html body #alm-partners-guests-mosaic,
  html body #alm-b2b-platform-distribution-mosaic{
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    grid-auto-rows: auto !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-photo-slot,
  html body .alm-b2b-platform .alm-photo-slot,
  html body #alm-partners-guests-mosaic .alm-photo-slot,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 112px !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-sizing: border-box !important;
  }

  html body .alm-b2b-operators .alm-photo-slot:first-child,
  html body .alm-b2b-platform .alm-photo-slot:first-child,
  html body #alm-partners-guests-mosaic .alm-photo-slot:first-child,
  html body #alm-b2b-platform-distribution-mosaic .alm-photo-slot:first-child{
    grid-row: span 2 !important;
    aspect-ratio: 4 / 5 !important;
    min-height: 235px !important;
  }

  html body .alm-b2b-operators .alm-photo-slot img,
  html body .alm-b2b-platform .alm-photo-slot img,
  html body #alm-partners-guests-mosaic img,
  html body #alm-b2b-platform-distribution-mosaic img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Final CTA: tablet two-up. */
  html body .alm-b2b-operators .alm-final-cta-grid,
  html body .alm-b2b-platform .alm-final-cta-grid,
  html body #alm-b2b-operators-final-cta-grid,
  html body #alm-b2b-platform-final-cta-grid{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: min(720px, var(--alm-b2b-tablet-stage)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-items: stretch !important;
    align-items: stretch !important;
  }

  /* Trust / info strips: contained and readable on tablet. */
  html body .alm-b2b-operators .alm-trust-strip,
  html body .alm-b2b-platform .alm-trust-strip,
  html body #alm-b2b-operators-trust-strip,
  html body #alm-b2b-platform-trust-strip,
  html body #alm-b2b-operators-growth-teaser,
  html body #alm-b2b-platform-formats-teaser{
    width: min(760px, var(--alm-b2b-tablet-stage)) !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  html body .alm-b2b-operators .alm-trust-strip p,
  html body .alm-b2b-platform .alm-trust-strip p,
  html body #alm-b2b-operators-trust-strip p,
  html body #alm-b2b-platform-trust-strip p,
  html body #alm-b2b-operators-growth-teaser p,
  html body #alm-b2b-platform-formats-teaser p{
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
  }
}

/* =========================================================
 * ALMARA B2B Mobile v6.4 — Addendum for new template classes
 * Scope: Partners Hub v5 (almara-partners-hub-de/en templates)
 * Handles: almara-grid--hero, almara-copy, almara-visual etc.
 * ========================================================= */

@media (max-width: 767px) {

  /* Hero grid: force column stack on mobile.
   * Higher specificity beats Elementor's own custom_css rules.
   * html+body+class+class = [0,1,4] beats [0,2,0] from Elementor. */
  html body .almara-section.almara-hero .alm-b2b-hero-grid,
  html body .almara-section.almara-hero .almara-grid--hero,
  html body .alm-b2b-page.alm-section .alm-b2b-hero-grid,
  html body .alm-b2b-page.alm-section .almara-grid--hero {
    display:        flex !important;
    flex-direction: column !important;
    gap:            24px !important;
    width:          100% !important;
    max-width:      100% !important;
    padding:        0 !important;
    align-items:    stretch !important;
  }

  /* Hero grid children: full width */
  html body .almara-section.almara-hero .alm-b2b-hero-grid > .elementor-element,
  html body .almara-section.almara-hero .almara-grid--hero > .elementor-element,
  html body .alm-b2b-page.alm-section .alm-b2b-hero-grid > .elementor-element,
  html body .alm-b2b-page.alm-section .almara-grid--hero > .elementor-element {
    width:     100% !important;
    max-width: 100% !important;
    flex:      none !important;
  }

  /* Hero image: aspect ratio + visible */
  html body .almara-visual,
  html body .alm-media-card.almara-visual {
    padding:    0 !important;
    background: none !important;
    box-shadow: none !important;
    border:     none !important;
    border-radius: 0 !important;
    gap: 0 !important;
  }

  html body .almara-visual img,
  html body .almara-visual-img img {
    display:       block !important;
    width:         100% !important;
    height:        auto !important;
    aspect-ratio:  16 / 10 !important;
    object-fit:    cover !important;
    border-radius: 10px !important;
    min-height:    0 !important;
  }

  /* Section headings for new templates */
  html body .almara-section-title .elementor-heading-title {
    font-size:   clamp(26px, 8vw, 34px) !important;
    line-height: 1.08 !important;
    text-align:  left !important;
    width:       100% !important;
    max-width:   100% !important;
  }

  /* In center sections: allow center alignment */
  html body .almara-section--center .almara-section-title .elementor-heading-title {
    text-align: center !important;
  }

  html body .almara-section-lead p {
    font-size:  14px !important;
    text-align: left !important;
    width:      100% !important;
    max-width:  100% !important;
  }

  html body .almara-section--center .almara-section-lead p {
    text-align: center !important;
  }

  /* Toggle row: column on mobile */
  html body .alm-form-toggle-row {
    flex-direction: column !important;
    width:          fit-content !important;
    max-width:      min(280px, calc(100vw - 36px)) !important;
    margin:         0 auto !important;
  }

  html body .alm-toggle-btn .elementor-button {
    width:          100% !important;
    text-align:     center !important;
    justify-content: center !important;
  }

}
