/* FUNDAI 20.17.0-HF1 — premium responsive parity hotfix.
   Loaded after site/admin/partner styles. It preserves every function and
   converts constrained mobile layouts into readable, touch-safe compositions. */

:root{
  --mobile-safe-inline:clamp(14px,4vw,22px);
  --mobile-card-radius:20px;
  --mobile-shadow:0 16px 42px rgba(35,8,59,.10);
}

html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;max-width:100%;overflow-x:clip}
:where(main,section,article,aside,header,footer,nav,form,fieldset,div){min-width:0}
:where(h1,h2,h3,h4,h5,h6,p,li,a,label,legend,summary,button,th,td){word-break:normal;overflow-wrap:break-word}
:where(img,picture,video,canvas,svg,iframe){max-inline-size:100%;block-size:auto}

/* Shared mobile table enhancement. JavaScript adds .mobile-card-table only to
   structurally simple tables. Complex tables retain premium horizontal scroll. */
.mobile-table-note{
  margin:0 0 10px;
  color:#716779;
  font-size:.78rem;
  line-height:1.45;
}
.table-wrap.is-scroll-table,
.responsive-table.is-scroll-table,
.document-table-wrap.is-scroll-table{
  position:relative;
  border-radius:14px;
  scrollbar-width:thin;
}
.table-wrap.is-scroll-table:focus-visible,
.responsive-table.is-scroll-table:focus-visible,
.document-table-wrap.is-scroll-table:focus-visible{
  outline:3px solid rgba(181,138,42,.55);
  outline-offset:3px;
}

@media(max-width:700px){
  .table-wrap.has-mobile-card-table,
  .responsive-table.has-mobile-card-table,
  .document-table-wrap.has-mobile-card-table{
    overflow:visible!important;
    max-height:none!important;
  }
  table.mobile-card-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
  }
  table.mobile-card-table thead{
    position:absolute!important;
    inline-size:1px!important;
    block-size:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  table.mobile-card-table tbody{
    display:grid!important;
    gap:14px!important;
    width:100%!important;
  }
  table.mobile-card-table tr{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    padding:8px 16px!important;
    background:#fff!important;
    border:1px solid rgba(59,20,94,.14)!important;
    border-radius:16px!important;
    box-shadow:0 10px 28px rgba(35,8,59,.06)!important;
  }
  table.mobile-card-table td{
    display:grid!important;
    grid-template-columns:minmax(104px,36%) minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    padding:12px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(59,20,94,.10)!important;
    text-align:start!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  table.mobile-card-table td:last-child{border-bottom:0!important}
  table.mobile-card-table td::before{
    content:attr(data-mobile-label);
    color:#756b7c;
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.07em;
    line-height:1.4;
    text-transform:uppercase;
    overflow-wrap:normal;
  }
  table.mobile-card-table td > :where(a,button,form,input,select,textarea){max-width:100%}
  table.mobile-card-table td form{margin:0!important}
}

/* ADMIN — mobile navigation and topbar remain compact, readable and complete. */
@media(max-width:820px){
  body.admin-page{background:#f8f4fa}
  .admin-shell{display:block!important;width:100%!important;min-height:100dvh}
  .admin-main{width:100%!important;min-width:0!important}
  .sidebar{
    inset:0 auto 0 0!important;
    width:min(340px,88vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:max(22px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom))!important;
    box-shadow:28px 0 70px rgba(20,3,34,.28);
  }
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:68px!important;
    padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))!important;
    background:rgba(255,255,255,.96)!important;
  }
  .menu-button{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    font-size:1.3rem!important;
    line-height:1!important;
  }
  .topbar-title{display:grid!important;min-width:0!important;overflow:hidden!important}
  .topbar-title strong{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(.94rem,4vw,1.1rem)!important;
    line-height:1.25!important;
  }
  .topbar-title span{display:none!important}
  .topbar form{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
  }
  .topbar form .button-secondary{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:76px!important;
    max-width:96px!important;
    min-height:42px!important;
    padding:9px 11px!important;
    margin:0!important;
    border-radius:12px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    font-size:.82rem!important;
    line-height:1!important;
  }
  .page-content{
    width:100%!important;
    padding:22px var(--mobile-safe-inline) max(36px,env(safe-area-inset-bottom))!important;
  }
  .page-heading,.v2-heading{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:20px!important;
  }
  .page-heading h1,.v2-heading h1{
    margin:.15rem 0 .45rem!important;
    font-size:clamp(2rem,9vw,3.15rem)!important;
    line-height:1.02!important;
    overflow-wrap:normal!important;
    text-wrap:balance;
  }
  .page-heading .muted,.v2-heading .muted{font-size:1rem!important;line-height:1.5!important}
  .page-heading > :where(.button-link,.button-secondary,.heading-action),
  .v2-heading-actions{
    width:100%!important;
  }
  .page-heading > :where(.button-link,.button-secondary,.heading-action),
  .v2-heading-actions > *{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:48px!important;
    text-align:center!important;
  }
  .stat-grid,.metric-grid,.health-grid,.dashboard-grid,.dashboard-queue-grid,
  .admin-grid,.review-grid,.workflow-grid,.v2-action-grid,.v2-stat-grid,
  .trade-metric-grid,.finance-action-grid,.customer-service-stat-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .stat-card,.metric-card,.health-card,.dashboard-card,.queue-card,
  .panel,.readiness-card,.readiness-check,.table-panel,.cms-editor{
    min-height:0!important;
    height:auto!important;
    padding:18px!important;
    border-radius:var(--mobile-card-radius)!important;
    box-shadow:var(--mobile-shadow)!important;
  }
  .stat-card,.metric-card{
    justify-content:flex-start!important;
    gap:8px!important;
  }
  .stat-card strong,.metric-card strong{font-size:clamp(2.25rem,10vw,3.15rem)!important}
  .panel-heading{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .panel-actions,.v2-heading-actions,.heading-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    gap:10px!important;
  }
  .panel-actions > *, .heading-actions > *{width:100%!important;text-align:center!important}
  .filter-bar,.v2-filter-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
  }
  .filter-bar > *, .v2-filter-bar > *{width:100%!important;min-width:0!important}
  .queue-item,.activity-item,.v2-alert-card,.v2-sync-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:start!important;
  }
  .queue-item > :last-child,.activity-item > :last-child{text-align:start!important}
  .admin-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
  .admin-page :where(button,.button-link,.btn){min-height:46px}
  .admin-page :where(.tabs,.tab-list,.trade-section-nav,.section-tabs,.subnav){
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    padding-bottom:6px!important;
  }
  .admin-page :where(.tabs,.tab-list,.trade-section-nav,.section-tabs,.subnav) > *{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
}

@media(max-width:420px){
  .topbar{grid-template-columns:42px minmax(0,1fr) 74px!important;gap:8px!important}
  .menu-button{width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important}
  .topbar form .button-secondary{min-width:74px!important;max-width:74px!important;padding:8px 7px!important;font-size:.76rem!important}
}

/* PARTNER — premium two-row mobile header and readable authentication. */
@media(max-width:760px){
  body.partner-shell{background:#f8f4fa!important}
  .partner-site-header,
  .partner-site-header.scrolled,
  .partner-auth-page .partner-site-header,
  .partner-auth-page .partner-site-header.scrolled{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"logo" "actions"!important;
    gap:12px!important;
    min-height:0!important;
    padding:14px var(--mobile-safe-inline)!important;
    color:#fff!important;
    background:linear-gradient(135deg,#24053b,#3b145e)!important;
    border-bottom:1px solid rgba(216,181,111,.25)!important;
  }
  .partner-site-header .site-logo{
    grid-area:logo!important;
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    color:#fff!important;
    font-size:clamp(2rem,10vw,2.65rem)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .partner-site-header .brand-logo-text{font-size:inherit!important;color:inherit!important}
  .partner-public-nav{display:none!important}
  .partner-header-actions{
    grid-area:actions!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  .partner-header-actions > *{width:100%!important;min-width:0!important;margin:0!important}
  .header-language select,
  .partner-site-header .header-actions .header-cta,
  .header-link-button{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:46px!important;
    padding:10px 12px!important;
    border-radius:12px!important;
    font-size:.9rem!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .header-logout{display:block!important}
  .partner-main{
    width:min(100% - 24px,1240px)!important;
    margin:14px auto!important;
  }
  .partner-auth-page .partner-main.auth-experience{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:0!important;
    gap:14px!important;
    background:#f8f4fa!important;
    overflow:visible!important;
  }
  .partner-auth-page .auth-card,
  .partner-app-page .auth-card{
    order:1!important;
    width:100%!important;
    max-width:720px!important;
    margin:0 auto!important;
    padding:24px 18px!important;
    border-radius:22px!important;
    box-shadow:var(--mobile-shadow)!important;
  }
  .auth-card h1,.welcome h1{
    font-size:clamp(2.15rem,10vw,3.25rem)!important;
    line-height:1.06!important;
    margin:.28em 0 .38em!important;
    overflow-wrap:normal!important;
    text-wrap:balance;
  }
  .auth-card > p:not(.eyebrow),.welcome > p{font-size:1rem!important;line-height:1.55!important}
  .auth-card form,.stable-form{gap:15px!important}
  .auth-card label,.stable-form label,.welcome label{font-size:1rem!important;line-height:1.4!important}
  .partner-shell input,.partner-shell select,.partner-shell textarea{min-height:50px!important;font-size:16px!important}
  .partner-shell .remember-login-option{
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
    width:100%!important;
    margin:2px 0 0!important;
    font-size:.98rem!important;
    line-height:1.45!important;
  }
  .partner-shell .remember-login-option input[type=checkbox]{
    width:22px!important;
    min-width:22px!important;
    height:22px!important;
    min-height:22px!important;
    margin:1px 0 0!important;
  }
  .partner-shell .remember-login-note{margin:0 0 4px!important;font-size:.86rem!important;line-height:1.5!important}
  .auth-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  .auth-links a{display:block!important;padding:8px 0!important}
  .language-links{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(108px,1fr))!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  .language-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:48px!important;
    padding:9px 10px!important;
    border-radius:12px!important;
    text-align:center!important;
    font-size:.95rem!important;
  }
  .partner-auth-page .partner-showcase{
    order:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:24px 18px 18px!important;
    color:#fff!important;
    overflow:hidden!important;
    border:1px solid rgba(216,181,111,.36)!important;
    border-radius:22px!important;
    background:linear-gradient(145deg,#24053b,#3b145e)!important;
    box-shadow:var(--mobile-shadow)!important;
  }
  .partner-auth-page .partner-showcase .showcase-copy{
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    max-width:100%!important;
    text-align:center!important;
  }
  .partner-auth-page .partner-showcase .showcase-copy h2{
    max-width:100%!important;
    margin:.25rem auto .55rem!important;
    font-size:clamp(2rem,9vw,3rem)!important;
    line-height:1.03!important;
    overflow-wrap:normal!important;
  }
  .partner-auth-page .partner-showcase .showcase-copy p:last-child{
    margin:0 auto 10px!important;
    max-width:520px!important;
    font-size:.95rem!important;
    line-height:1.5!important;
  }
  .partner-auth-page .partner-showcase-carousel{
    display:block!important;
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
  }
  .partner-auth-page .partner-showcase .fundai-product-carousel,
  .partner-auth-page .partner-showcase .fundai-product-carousel__viewport{
    display:block!important;
    width:100%!important;
    height:330px!important;
    min-height:330px!important;
    max-height:330px!important;
  }
  .partner-auth-page .partner-showcase .fundai-product-carousel__bottle-stage .product-showcase-bottle{
    width:auto!important;
    height:285px!important;
    max-height:285px!important;
    max-width:88%!important;
    object-fit:contain!important;
  }
  .partner-auth-page .partner-showcase .inspect-help{
    display:block!important;
    grid-column:1!important;
    grid-row:3!important;
    margin:8px 0 0!important;
    text-align:center!important;
    font-size:.78rem!important;
    line-height:1.45!important;
  }
  .partner-status-grid,.terms-grid,.partner-secondary-grid,.grid-form,.order-line{
    grid-template-columns:1fr!important;
  }
  .workflow-card,.data-card{
    padding:18px!important;
    border-radius:18px!important;
    box-shadow:0 12px 34px rgba(35,8,59,.07)!important;
  }
  .welcome{display:grid!important;grid-template-columns:1fr!important;gap:14px!important}
  .welcome form{width:100%!important;min-width:0!important;margin:0!important}
  .partner-install-page{
    width:100%!important;
    margin:0!important;
    padding:18px 0 28px!important;
  }
  .partner-install-intro h1{font-size:clamp(2.1rem,10vw,3.25rem)!important;line-height:1.04!important}
  .partner-install-grid{grid-template-columns:1fr!important;gap:14px!important}
  .partner-install-card{padding:20px!important;border-radius:20px!important}
  .partner-install-primary{display:grid!important;grid-column:auto!important;text-align:center!important;gap:14px!important}
  .partner-install-primary img{margin:auto!important;width:82px!important;height:82px!important}
  .partner-install-primary button{width:100%!important;min-width:0!important}
  .partner-foot{
    padding:20px var(--mobile-safe-inline) max(22px,env(safe-area-inset-bottom))!important;
    font-size:.83rem!important;
    line-height:1.55!important;
  }
}

@media(max-width:380px){
  .partner-header-actions{grid-template-columns:1fr!important}
  .partner-auth-page .partner-showcase .fundai-product-carousel,
  .partner-auth-page .partner-showcase .fundai-product-carousel__viewport{height:300px!important;min-height:300px!important;max-height:300px!important}
  .partner-auth-page .partner-showcase .fundai-product-carousel__bottle-stage .product-showcase-bottle{height:255px!important;max-height:255px!important}
}

/* PUBLIC — retain all navigation/content while fitting the device elegantly. */
@media(max-width:980px){
  .site-header:not(.partner-site-header){
    min-height:68px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    padding:12px var(--mobile-safe-inline)!important;
  }
  .site-header:not(.partner-site-header) .site-logo{
    min-width:0!important;
    max-width:100%!important;
    font-size:clamp(1.65rem,7vw,2.05rem)!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .site-header:not(.partner-site-header) .desktop-nav{display:none!important}
  .site-header:not(.partner-site-header) .header-actions{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
  .site-header:not(.partner-site-header) .language-switcher{flex:0 0 auto!important}
  .site-header:not(.partner-site-header) .mobile-menu-button{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0!important;
  }
  .mobile-menu{
    top:72px!important;
    left:var(--mobile-safe-inline)!important;
    right:var(--mobile-safe-inline)!important;
    max-height:calc(100dvh - 88px)!important;
    overflow:auto!important;
    padding:12px!important;
    border:1px solid rgba(59,20,94,.12)!important;
    border-radius:18px!important;
  }
  .mobile-menu a{min-height:46px!important;display:flex!important;align-items:center!important;padding:11px 13px!important}
}

@media(max-width:700px){
  .section{padding:58px var(--mobile-safe-inline)!important}
  .page-hero,.cms-global-hero{padding:120px var(--mobile-safe-inline) 58px!important}
  .page-hero h1,.cms-global-hero h1,.hero h1,.product-hero h1{
    font-size:clamp(2.3rem,11vw,3.4rem)!important;
    line-height:1.04!important;
    overflow-wrap:normal!important;
    text-wrap:balance;
  }
  .page-hero p,.cms-global-hero p,.hero-text{font-size:1rem!important;line-height:1.58!important}
  .section-heading h2,.impact-banner h2,.locator-callout h2{font-size:clamp(2rem,9vw,3rem)!important;line-height:1.08!important}
  .product-grid,.store-grid,.content-cards,.detail-grid,.footer-grid,
  .cms-section-layout,.ingredient-orbit{grid-template-columns:1fr!important}
  .product-card,.store-card,.content-cards article,.detail-grid article,
  .warning-box,.empty-public{padding:20px!important;border-radius:18px!important}
  .impact-banner,.locator-callout{margin:18px var(--mobile-safe-inline)!important;padding:34px 20px!important;border-radius:22px!important}
  .site-footer{padding:52px var(--mobile-safe-inline) max(64px,env(safe-area-inset-bottom))!important}
  .footer-grid{gap:28px!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:34px!important}
  
  
  
  .public-form,.lead-form,.form-card,.contact-form{max-width:100%!important;padding:20px!important;border-radius:20px!important}
  :where(.public-form,.lead-form,.form-card,.contact-form) :where(input,select,textarea){font-size:16px!important;min-height:50px!important}
  .trust-ribbon{grid-template-columns:1fr!important}
  .trust-ribbon a{border-right:0!important;border-bottom:1px solid var(--border)!important}
  .trust-ribbon a:last-child{border-bottom:0!important}
}

@media(max-width:430px){
  .site-header:not(.partner-site-header) .site-logo{font-size:1.55rem!important}
  .site-header:not(.partner-site-header) .language-switcher a{min-width:34px!important;min-height:34px!important;padding:6px!important}
  .site-header:not(.partner-site-header) .mobile-menu-button{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
}

@media(hover:none),(pointer:coarse){
  :where(a,button,summary,[role=button],input[type=submit],input[type=button]){min-height:44px}
  :where(input,select,textarea){font-size:16px}
}

@supports not (overflow:clip){html,body{overflow-x:hidden}}

/* Partner mobile navigation remains fully available rather than being removed. */
@media(max-width:760px){
  .partner-site-header,
  .partner-site-header.scrolled,
  .partner-auth-page .partner-site-header,
  .partner-auth-page .partner-site-header.scrolled{
    grid-template-areas:"logo" "nav" "actions"!important;
  }
  .partner-public-nav{
    grid-area:nav!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    padding:2px 0 6px!important;
    scrollbar-width:none;
  }
  .partner-public-nav::-webkit-scrollbar{display:none}
  .partner-public-nav a{
    flex:0 0 auto!important;
    min-height:42px!important;
    display:flex!important;
    align-items:center!important;
    padding:8px 12px!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.24)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.07)!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    font-size:.84rem!important;
  }
  .partner-site-header .header-link-button{
    color:#fff!important;
    border:1px solid rgba(255,255,255,.32)!important;
    background:rgba(255,255,255,.08)!important;
  }
}

/* The mobile Admin bar keeps its complete desktop context in a compact form. */
@media(max-width:820px){
  .topbar-title span{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.66rem!important;
    line-height:1.3!important;
  }
}
