.app-bottom-nav { display: none; }

@media (max-width: 759px) {
  :root {
    --mobile-pad: .7rem;
    --mobile-nav-h: 66px;
    --touch: 44px;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body {
    min-height: 100dvh;
    background: #f5f6fa;
    color: #171b28;
    font-size: 16px;
    line-height: 1.45;
  }

  body .site-shell {
    min-height: 100dvh;
    overflow: visible;
  }

  body .site-main {
    padding: .8rem 0 calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px) + 1rem);
    overflow: visible;
  }

  body .container {
    width: calc(100% - 1rem);
    max-width: 100%;
  }

  body .site-header {
    position: sticky;
    top: 0;
    z-index: 120;
    border-bottom: 1px solid rgba(255,255,255,.08);
    background: rgba(15,19,39,.96);
    box-shadow: 0 6px 18px rgba(8,12,28,.12);
    backdrop-filter: blur(14px);
  }

  body.app-standalone .site-header {
    padding-top: env(safe-area-inset-top, 0px);
  }

  body .promo-ribbon,
  body .main-nav,
  body .menu-toggle,
  body .phone-cta,
  body .floating-whatsapp {
    display: none !important;
  }

  body .nav-wrap {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 60px;
    padding-block: .32rem;
  }

  body .brand {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    gap: .42rem;
    min-height: 48px;
    max-width: 70vw;
  }

  body .brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 11px;
  }

  body .brand-wordmark strong {
    font-size: .88rem;
    line-height: 1.05;
  }

  body .brand-wordmark small {
    font-size: .59rem;
    letter-spacing: .07em;
  }

  body .page-head {
    width: calc(100% - 1rem);
    margin: .65rem auto .65rem;
  }

  body .page-head h1 {
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  body .page-head p {
    margin-top: .24rem;
    font-size: .8rem;
    line-height: 1.35;
  }

  body .page-eyebrow,
  body .kicker {
    font-size: .64rem;
  }

  body input,
  body select,
  body textarea,
  body button,
  body .btn {
    font-size: 16px;
  }

  body input,
  body select,
  body textarea {
    min-height: 46px;
    border-radius: 12px;
  }

  body .btn {
    min-height: 46px;
    border-radius: 13px;
  }

  body .app-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    position: fixed;
    left: .55rem;
    right: .55rem;
    bottom: calc(.45rem + env(safe-area-inset-bottom, 0px));
    z-index: 150;
    gap: .16rem;
    min-height: 58px;
    padding: .28rem;
    border: 1px solid rgba(18,24,45,.1);
    border-radius: 19px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 34px rgba(17,24,46,.18);
    backdrop-filter: blur(14px);
  }

  body .app-bottom-nav a {
    position: relative;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .18rem;
    min-width: 0;
    min-height: 50px;
    padding: .25rem .1rem;
    border-radius: 14px;
    color: #565e70;
    text-decoration: none;
    transition: transform .15s ease, background .15s ease, color .15s ease;
  }

  body .app-bottom-nav a i {
    font-size: .92rem;
    line-height: 1;
  }

  body .app-bottom-nav a > span:not(.cart-count-badge) {
    max-width: 100%;
    overflow: hidden;
    font-size: .68rem;
    font-weight: 780;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body .app-bottom-nav a.is-active {
    background: transparent;
    color: #171c34;
  }

  body .app-bottom-nav a.is-active i {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #171c34;
    color: #fff;
    box-shadow: 0 6px 14px rgba(17,24,46,.16);
  }

  body .app-bottom-nav a:active { transform: scale(.94); }

  body .app-bottom-nav .app-cart-count {
    position: absolute;
    top: 3px;
    left: calc(50% + 5px);
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border: 2px solid #fff;
    font-size: .55rem;
    box-shadow: none;
  }

  /* Catalog */
  body .catalog-head {
    margin-bottom: .45rem;
  }

  body .catalog-head h1 {
    font-size: 1.72rem;
  }

  body .catalog-tools {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
    width: calc(100% - 1rem);
    margin: 0 auto .65rem;
  }

  body .catalog-search-shell {
    min-height: 50px;
    padding: .22rem .24rem .22rem .8rem;
    border-radius: 15px;
    box-shadow: 0 6px 16px rgba(23,29,55,.05);
  }

  body .catalog-search-shell input {
    min-height: 42px;
    font-size: 16px;
  }

  body .catalog-search-action {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 12px;
  }

  body .catalog-filter-bar {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,.92fr) auto;
    gap: .42rem;
  }

  body .catalog-filter-select,
  body .catalog-offer-toggle {
    min-height: 44px;
    border-radius: 14px;
    box-shadow: none;
  }

  body .catalog-filter-select {
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: .4rem;
    padding-inline: .68rem;
  }

  body .catalog-filter-select select {
    min-height: 42px;
    font-size: 14px;
    font-weight: 750;
  }

  body .catalog-offer-toggle span {
    min-height: 42px;
    padding: .4rem .7rem;
    font-size: .72rem;
  }

  body .catalog-applied-filters {
    width: calc(100% - 1rem);
    max-width: none;
    flex-wrap: nowrap;
    gap: .38rem;
    margin: -.12rem auto .62rem;
    padding: .08rem 0 .18rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body .catalog-applied-filters::-webkit-scrollbar { display: none; }
  body .catalog-applied-filters a {
    flex: 0 0 auto;
    min-height: 32px;
    max-width: min(72vw, 260px);
  }

  body .catalog-results {
    margin-top: 0;
  }

  body .catalog-results-head {
    min-height: 26px;
    margin-bottom: .38rem;
    padding-inline: .08rem;
  }

  body .catalog-results-head p,
  body .catalog-clear {
    font-size: .76rem;
  }

  body .product-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: .58rem;
  }

  body .product-card {
    min-width: 0;
    padding: .48rem;
    gap: .43rem;
    border-color: rgba(17,21,41,.085);
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 7px 20px rgba(23,29,55,.065), inset 0 1px 0 rgba(255,255,255,.7);
  }

  body .product-card-link { gap: .4rem; }
  body .product-card-media { border-radius: 12px; }
  body .product-card-media img { padding: 0; object-fit: cover; }

  body .product-discount-badge {
    top: .32rem;
    left: .32rem;
    min-height: 21px;
    padding: .12rem .35rem;
    font-size: .58rem;
    box-shadow: none;
  }

  body .product-card-rx {
    top: .32rem;
    right: .32rem;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    font-size: .62rem;
  }

  body .product-card h2,
  body .product-card h3 {
    min-height: 2.44em;
    font-size: .84rem;
    line-height: 1.24;
  }

  body .product-card-footer {
    grid-template-columns: 1fr;
    gap: .36rem;
  }

  body .product-card-price .price-old { font-size: .68rem; }
  body .product-card-price .price { font-size: 1rem; }

  body .product-add-btn {
    width: 100% !important;
    min-width: 100% !important;
    min-height: 44px;
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(210,20,45,.2), inset 0 1px 0 rgba(255,255,255,.18);
  }

  body .product-add-btn .product-add-icon {
    width: 19px;
    height: 19px;
    font-size: .85rem;
  }

  body .product-add-btn .product-add-icon b {
    top: -5px;
    right: -4px;
    width: 13px;
    height: 13px;
    font-size: .58rem;
  }

  body .product-card-status {
    font-size: .62rem;
  }

  /* Product */
  body .product-detail-v2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: .65rem;
    margin-top: .2rem;
    padding: .5rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body .product-detail-v2 .product-gallery {
    min-height: 0;
    padding: .45rem;
    border: 1px solid rgba(17,21,41,.07);
    border-radius: 18px;
    background: #fff;
  }

  body .product-detail-v2 .product-gallery img {
    width: 100%;
    max-height: 320px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
  }

  body .product-info {
    padding: .25rem .15rem 5.6rem;
  }

  body .product-info .kicker {
    margin: 0;
    color: var(--brand-blue);
    font-size: .62rem;
    font-weight: 800;
  }

  body .product-info h1 {
    margin: .15rem 0 .45rem;
    font-size: clamp(1.35rem, 6vw, 1.7rem);
    line-height: 1.08;
  }

  body .product-price-stack {
    margin: .3rem 0 .5rem;
  }

  body .product-detail-price,
  body .product-price-stack .price:not(.price-old) {
    font-size: 1.45rem;
  }

  body .product-availability,
  body .product-rx-notice {
    margin: .4rem 0;
    font-size: .74rem;
    line-height: 1.25;
  }

  body .product-description-disclosure {
    margin: .55rem 0;
  }

  body .product-description-disclosure summary {
    min-height: 46px;
    font-size: .8rem;
  }

  body .product-description-disclosure .product-description {
    font-size: .78rem;
    line-height: 1.45;
  }

  body .product-desktop-actions { display: none; }

  body .product-mobile-buybar {
    display: grid;
    grid-template-columns: minmax(0,1fr) 48px;
    align-items: center;
    gap: .55rem;
    position: fixed;
    left: .55rem;
    right: .55rem;
    bottom: calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + .55rem);
    z-index: 145;
    min-height: 54px;
    padding: .36rem .42rem .36rem .68rem;
    border: 1px solid rgba(20,28,52,.1);
    border-radius: 18px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 14px 32px rgba(17,24,46,.18);
    backdrop-filter: blur(14px);
  }

  body .product-mobile-buybar > div { display:grid; align-items:center; }
  body .product-mobile-buybar strong { font-size:1rem; letter-spacing:-.015em; }
  body .product-mobile-add {
    position: relative;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    min-height:44px;
    border:0;
    border-radius:14px;
    background:linear-gradient(145deg,#e51a35,#bd1026);
    color:#fff;
    box-shadow:0 9px 18px rgba(210,20,45,.22);
  }
  body .product-mobile-add > span { position:relative; display:grid; place-items:center; }
  body .product-mobile-add b { position:absolute; top:-7px; right:-8px; display:grid; place-items:center; width:14px; height:14px; border-radius:50%; background:#fff; color:#bd1026; font-size:.6rem; }

  /* Cart */
  body .cart-head { margin-bottom: .4rem; }
  body .cart-layout-v2 { display:grid; grid-template-columns:1fr; gap:.6rem; }
  body .cart-items { gap:.5rem; }
  body .cart-line-v2,
  body .cart-line {
    display:grid;
    grid-template-columns: 62px minmax(0,1fr) auto;
    gap:.55rem;
    align-items:center;
    padding:.55rem;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 14px rgba(23,29,55,.055);
  }
  body .cart-line-image { width:62px !important; height:62px !important; border-radius:12px; }
  body .cart-line-main { gap:.16rem; }
  body .cart-line-name { max-width:100%; font-size:.78rem; line-height:1.2; white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  body .cart-line-unit { font-size:.64rem; }
  body .cart-line-controls { gap:.3rem; margin-top:.16rem; }
  body .qty-stepper { grid-template-columns:44px 38px 44px; border-radius:12px; }
  body .qty-stepper-btn { min-width:44px; min-height:44px; font-size:.95rem; }
  body .cart-qty-value { font-size:.76rem; }
  body .cart-remove-btn { min-width:44px; min-height:44px; border-radius:11px; font-size:.76rem; }
  body .cart-line-total { align-self:start; font-size:.76rem; }
  body .cart-summary {
    position: static;
    padding:.75rem;
    border-radius:17px;
    box-shadow:0 7px 18px rgba(23,29,55,.06);
  }
  body .cart-summary-top { margin-bottom:.55rem; }
  body .cart-summary-top > span { font-size:.72rem; }
  body .cart-summary-top strong { font-size:1.2rem; }
  body .cart-summary .cart-checkout-btn { min-height:46px; }
  body .cart-summary .cart-clear-btn { min-height:44px; margin-top:.35rem; font-size:.72rem; }

  /* Checkout — one surface, no nested-card visual noise */
  body.route-checkout .site-main {
    padding: .55rem 0 calc(98px + env(safe-area-inset-bottom,0px));
    scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom,0px));
  }

  body.route-checkout .app-bottom-nav,
  body.route-checkout .floating-whatsapp,
  body.route-checkout .site-footer {
    display:none !important;
  }

  body.route-checkout .checkout-head {
    display:flex;
    align-items:center;
    gap:.55rem;
    margin:.45rem auto .5rem;
  }

  body.route-checkout .checkout-head h1 {
    margin:0;
    font-size:1.35rem;
  }

  body.route-checkout .checkout-head p { display:none; }

  body.route-checkout .checkout-back {
    width:38px;
    height:38px;
    border-radius:12px;
    box-shadow:none;
  }

  body.route-checkout .checkout-grid-v3,
  body.route-checkout .checkout-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:.5rem;
    width:calc(100% - 1rem);
    margin-inline:auto;
  }

  body.route-checkout .checkout-summary-v2 {
    order:-1;
    position:static;
    padding:0;
    border:1px solid rgba(17,21,41,.09);
    border-radius:16px;
    background:#fff;
    box-shadow:0 6px 18px rgba(23,29,55,.055);
    overflow:hidden;
  }

  body.route-checkout .checkout-summary-toggle {
    grid-template-columns:34px minmax(0,1fr) auto auto;
    gap:.45rem;
    min-height:58px;
    padding:.55rem .65rem;
  }

  body.route-checkout .checkout-summary-toggle-icon {
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:.78rem;
  }

  body.route-checkout .checkout-summary-toggle-copy strong { font-size:.86rem; }
  body.route-checkout .checkout-summary-toggle-copy small { font-size:.68rem; }
  body.route-checkout .checkout-summary-compact-total { font-size:.94rem; }
  body.route-checkout .checkout-summary-chevron { font-size:.7rem; }
  body.route-checkout .checkout-summary-details { padding:0 .65rem .65rem; }
  body.route-checkout .checkout-summary-items { gap:.28rem; padding:.5rem 0; }
  body.route-checkout .checkout-summary-item { grid-template-columns:minmax(0,1fr) auto auto; gap:.3rem; font-size:.74rem; }
  body.route-checkout .checkout-summary-item-name { min-width:0; }
  body.route-checkout .checkout-summary-item-qty,
  body.route-checkout .checkout-summary-item strong { font-size:.72rem; }
  body.route-checkout .checkout-pricing-lines { gap:.28rem; padding-top:.5rem; }
  body.route-checkout .checkout-price-row { font-size:.76rem; }
  body.route-checkout .checkout-price-total { margin-top:.25rem; padding-top:.45rem; font-size:.86rem; }
  body.route-checkout .checkout-price-total strong { font-size:1rem; }
  body.route-checkout .checkout-price-savings { padding:0; background:transparent; }
  body.route-checkout .checkout-progress { padding:.48rem .65rem .55rem; }
  body.route-checkout .checkout-progress-copy { margin-bottom:.3rem; }
  body.route-checkout .checkout-progress-copy p { font-size:.64rem; line-height:1.2; }

  body.route-checkout .checkout-form-v3 {
    display:block;
    padding:0 .72rem;
    border:1px solid rgba(17,21,41,.09);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 20px rgba(23,29,55,.055);
  }

  body.route-checkout .checkout-step,
  body.route-checkout .checkout-disclosure,
  body.route-checkout .checkout-consents {
    margin:0;
    padding:.78rem 0;
    border:0;
    border-bottom:1px solid rgba(17,21,41,.08);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  body.route-checkout .checkout-step-head {
    gap:.5rem;
    margin-bottom:.55rem;
  }

  body.route-checkout .checkout-step-icon {
    display:none;
  }

  body.route-checkout .checkout-step-head h2 {
    margin:0;
    font-size:.96rem;
    letter-spacing:-.01em;
  }

  body.route-checkout .checkout-fields-two {
    grid-template-columns:1fr;
    gap:.42rem;
  }

  body.route-checkout .checkout-fields-two .field-span-two { grid-column:auto; }

  body.route-checkout label:not(.checkbox-row):not(.checkout-choice) {
    margin-bottom:.12rem;
    font-size:.74rem;
    font-weight:750;
  }

  body.route-checkout input,
  body.route-checkout select,
  body.route-checkout textarea {
    min-height:43px;
    padding:.52rem .6rem;
    border-radius:11px;
  }

  body.route-checkout .checkout-choice-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.4rem;
  }

  body.route-checkout .checkout-choice {
    grid-template-columns:32px minmax(0,1fr) 14px;
    gap:.42rem;
    min-height:54px;
    padding:.45rem .48rem;
    border-radius:12px;
  }

  body.route-checkout .checkout-choice-icon {
    width:32px;
    height:32px;
    border-radius:9px;
    font-size:.72rem;
  }

  body.route-checkout .checkout-choice strong { font-size:.78rem; }
  body.route-checkout .checkout-choice small { font-size:.64rem; }
  body.route-checkout .checkout-choice-check { font-size:.72rem; }

  body.route-checkout .checkout-address-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.4rem;
    margin-top:.6rem;
    padding-top:.6rem;
  }

  body.route-checkout .checkout-address-grid .field-span-two { grid-column:1/-1; }

  body.route-checkout .checkout-disclosure {
    overflow:visible;
  }

  body.route-checkout .checkout-disclosure > summary {
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:.45rem;
    min-height:46px;
    padding:0;
  }

  body.route-checkout .checkout-disclosure-icon {
    width:30px;
    height:30px;
    border-radius:9px;
    font-size:.72rem;
  }

  body.route-checkout .checkout-disclosure-copy strong { font-size:.82rem; }
  body.route-checkout .checkout-disclosure-copy small { font-size:.66rem; }
  body.route-checkout .checkout-disclosure-chevron { font-size:.68rem; }
  body.route-checkout .checkout-disclosure-content { gap:.5rem; padding:.55rem 0 0; border-top:0; }
  body.route-checkout .benefit-block { padding-top:0; }
  body.route-checkout .benefit-block + .benefit-block { padding-top:.55rem; }
  body.route-checkout .benefit-block-head strong { font-size:.8rem; }
  body.route-checkout .benefit-block-head small,
  body.route-checkout .small-note { font-size:.68rem; line-height:1.4; }
  body.route-checkout .coupon-row { grid-template-columns:minmax(0,1fr) auto; gap:.35rem; }
  body.route-checkout #coupon-apply-btn { width:auto; min-width:70px; min-height:43px; padding-inline:.55rem; font-size:.72rem; }
  body.route-checkout .points-choice-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.3rem; }
  body.route-checkout .points-choice-list label { justify-content:center; min-height:38px; padding:.3rem .2rem; font-size:.62rem; text-align:center; }

  body.route-checkout .checkout-consents {
    display:grid;
    gap:.36rem;
    border-bottom:0;
    scroll-margin-bottom: calc(92px + env(safe-area-inset-bottom,0px));
  }

  body.route-checkout .checkout-consents .checkbox-row {
    align-items:center;
    min-height:44px;
    margin:0;
    font-size:.72rem;
    line-height:1.4;
  }

  body.route-checkout .checkout-consents .checkbox-row span {
    margin:0;
    font-size:.72rem;
    line-height:1.4;
  }

  body.route-checkout .checkout-consents .checkbox-row input[type="checkbox"] {
    flex:0 0 auto;
    width:18px;
    height:18px;
    min-height:18px;
  }

  body.route-checkout .checkout-submit-desktop {
    display:none !important;
  }

  body.route-checkout .checkout-mobile-submitbar {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(128px,.82fr);
    align-items:center;
    gap:.55rem;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:170;
    min-height:72px;
    padding:.5rem max(.65rem,env(safe-area-inset-right,0px)) calc(.5rem + env(safe-area-inset-bottom,0px)) max(.65rem,env(safe-area-inset-left,0px));
    border-top:1px solid rgba(20,28,52,.09);
    background:rgba(255,255,255,.98);
    box-shadow:0 -10px 28px rgba(17,24,46,.11);
    backdrop-filter:blur(14px);
  }

  body.route-checkout .checkout-mobile-submitbar > div { display:grid; gap:.01rem; }
  body.route-checkout .checkout-mobile-submitbar small { color:#777f91; font-size:.66rem; font-weight:750; }
  body.route-checkout .checkout-mobile-submitbar strong { font-size:1rem; }
  body.route-checkout .checkout-mobile-submitbar .btn { min-height:48px; padding:.58rem .7rem; font-size:.84rem; }

  /* Auth */
  body .auth-shell {
    width:calc(100% - 1rem);
    padding-top:.6rem;
  }

  body .auth-card-primary {
    width:100%;
    padding:.85rem;
    border-radius:18px;
    box-shadow:0 7px 20px rgba(23,29,55,.06);
  }

  body .auth-heading {
    gap:.65rem;
    margin-bottom:.75rem;
  }

  body .auth-icon {
    width:40px;
    height:40px;
    border-radius:13px;
  }

  body .auth-heading h1 { font-size:1.3rem; }
  body .auth-heading p { font-size:.78rem; }
  body .auth-form { gap:.38rem; }
  body .auth-form label:not(.checkbox-row) { font-size:.74rem; }
  body .auth-switch { margin-top:.7rem; font-size:.76rem; }
  body .auth-code-login { margin-top:.75rem; }
  body .auth-code-login > summary { min-height:44px; font-size:.76rem; }
  body .auth-inline-action { grid-template-columns:minmax(0,1fr) 82px; }
  body .auth-inline-action .btn { min-width:82px; padding:.45rem; font-size:.72rem; }
  body .auth-consent,
  body .auth-consent span { font-size:.72rem; line-height:1.4; }

  /* Account */
  body .account-hero {
    width:calc(100% - 1rem);
    margin:.65rem auto .55rem;
  }
  body .account-kicker { font-size:.66rem; }
  body .account-hero h1 { font-size:1.65rem; }
  body .account-logout { width:40px; height:40px; border-radius:12px; }
  body .account-overview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-bottom:.55rem; }
  body .account-balance-card,
  body .account-contact-card { padding:.7rem; border-radius:16px; }
  body .account-balance-card > strong { font-size:1.55rem; }
  body .account-contact-card > strong { font-size:.78rem; }
  body .account-balance-card > span,
  body .account-contact-card > span,
  body .account-balance-card small,
  body .account-contact-card small { font-size:.65rem; }
  body .account-content-grid { grid-template-columns:1fr; gap:.5rem; }
  body .account-section-card { border-radius:17px; }
  body .account-section-head { min-height:48px; padding:.6rem .7rem; }
  body .account-section-head h2 { font-size:.9rem; }
  body .account-order-row,
  body .account-points-row { min-height:54px; padding:.55rem .7rem; gap:.45rem; }
  body .account-order-row { grid-template-columns:minmax(0,1fr) auto; }
  body .account-order-row > strong { grid-column:2; grid-row:1; font-size:.78rem; }
  body .account-status { grid-column:2; grid-row:2; justify-self:end; font-size:.64rem; }
  body .account-order-row > div strong,
  body .account-points-row > div strong { font-size:.78rem; }
  body .account-order-row small,
  body .account-points-row small { font-size:.64rem; }
  body .account-points-row > span { font-size:.78rem; }
  body .account-danger { margin-top:.5rem; }
  body .account-danger summary { min-height:44px; font-size:.74rem; }

  /* Contact */
  body .contact-head h1 { font-size:1.55rem; }
  body .contact-head p { font-size:.7rem; }
  body .contact-actions-grid { grid-template-columns:1fr; gap:.45rem; }
  body .contact-action { min-height:62px; grid-template-columns:38px minmax(0,1fr) auto; gap:.55rem; padding:.55rem .65rem; border-radius:16px; }
  body .contact-action > i:first-child { width:38px; height:38px; border-radius:11px; }
  body .contact-action strong { font-size:.8rem; }
  body .contact-action small { font-size:.64rem; }
  body .contact-map-card { border-radius:17px; }
  body .contact-map-card iframe { height:330px; }

  /* Success */
  body .success-shell {
    width:calc(100% - 1rem);
    margin-top:.5rem;
    padding:.75rem;
    border-radius:19px;
  }
  body .success-hero { gap:.65rem; padding:.3rem 0 .7rem; }
  body .success-icon { width:42px; height:42px; border-radius:13px; }
  body .success-hero p { font-size:.58rem; }
  body .success-hero h1 { font-size:1.18rem; }
  body .success-hero span { font-size:.68rem; line-height:1.25; }
  body .success-total-card { padding:.65rem .7rem; border-radius:14px; }
  body .success-total-card span { font-size:.65rem; }
  body .success-total-card strong { font-size:1.05rem; }
  body .success-total-card small { font-size:.56rem; }
  body .success-payment-row,
  body .success-details summary,
  body .success-account-claim summary { font-size:.7rem; }
  body .success-price-lines p,
  body .success-items-list > div { font-size:.66rem; }

  /* SEO / policy / 404 */
  body .policy,
  body .content-page,
  body .success-box {
    padding:.8rem;
    border-radius:17px;
  }
  body .policy h1,
  body .content-page h1 { font-size:1.45rem; }
  body .policy h2,
  body .content-page h2 { font-size:1rem; }
  body .policy p,
  body .policy li,
  body .content-page p,
  body .content-page li { font-size:.75rem; line-height:1.45; }

  body .cart-toast-stack {
    right:.5rem;
    width:calc(100% - 1rem);
    bottom:calc(var(--mobile-nav-h) + env(safe-area-inset-bottom,0px) + .55rem);
  }
}

@media (max-width: 370px) {
  body .product-card h2,
  body .product-card h3 { font-size:.8rem; }
  body .product-card-price .price { font-size:.96rem; }
  body.route-checkout .checkout-address-grid { grid-template-columns:1fr; }
  body.route-checkout .checkout-address-grid .field-span-two { grid-column:auto; }
  body.route-checkout .checkout-choice-grid { gap:.3rem; }
  body.route-checkout .checkout-choice { grid-template-columns:28px minmax(0,1fr); padding:.4rem; }
  body.route-checkout .checkout-choice-check { display:none; }
  body.route-checkout .checkout-choice-icon { width:28px; height:28px; }
  body.route-checkout .points-choice-list { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 759px) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* R3.1 — form density correction after viewport QA */
@media (max-width: 759px) {
  body.route-checkout .checkout-fields > div,
  body.route-checkout .checkout-address-grid > div,
  body.route-checkout .benefit-block {
    min-width: 0;
  }

  body.route-checkout .checkout-fields > div > label,
  body.route-checkout .checkout-address-grid > div > label,
  body.route-checkout .benefit-block > label {
    display: block;
    width: 100%;
    margin: 0 0 .22rem;
  }

  body.route-checkout .checkout-fields input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
  body.route-checkout .checkout-address-grid input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
  body.route-checkout .checkout-disclosure input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
  body.route-checkout .checkout-disclosure textarea,
  body.route-checkout .checkout-disclosure select {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  body.route-checkout .checkout-consents a {
    color: var(--brand-blue-strong, #27325a);
    font-weight: 800;
  }
}
@media (max-width: 759px) {
  body .product-detail-v2 .product-gallery img { max-height: 260px; }
}

/* Final mobile brand header: compact, premium and always readable. */
@media (max-width: 759px) {
  body .site-header {
    background: linear-gradient(135deg, rgba(13,20,51,.985), rgba(28,42,104,.975));
    box-shadow: 0 8px 24px rgba(9,14,35,.16);
  }
  body .nav-wrap {
    min-height: 58px;
    padding-block: .3rem;
  }
  body .brand {
    max-width: calc(100vw - 1.4rem);
    min-height: 46px;
    padding: .25rem .48rem .25rem .3rem;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 15px;
    background: rgba(255,255,255,.065);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  }
  body .brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    box-shadow: 0 5px 14px rgba(0,0,0,.16);
  }
  body .brand-wordmark strong {
    color: #fff;
    font-size: .91rem;
    letter-spacing: .025em;
  }
  body .brand-wordmark small {
    color: rgba(255,255,255,.66);
    font-size: .57rem;
  }
}


/* Final mobile footer: regulatory and contact information stay reachable without competing with app navigation. */
@media (max-width: 759px) {
  body .site-footer {
    display: block !important;
    margin-top: 1rem;
    padding: 1rem 0 calc(var(--mobile-nav-h) + env(safe-area-inset-bottom, 0px) + .85rem);
    border-top: 1px solid rgba(17,21,41,.08);
    background: #fff;
    color: var(--text, #171a24);
  }
  body .site-footer .footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem .7rem;
  }
  body .site-footer .footer-grid > section:first-child { grid-column: 1 / -1; }
  body .site-footer h2 { margin: 0 0 .28rem; font-size: .78rem; }
  body .site-footer p { margin: .2rem 0; font-size: .74rem; line-height: 1.48; }
  body .site-footer a { color: inherit; text-underline-offset: 2px; }
  body .footer-legal-disclosure {
    margin-top: .7rem;
    padding: .6rem .68rem;
    border: 1px solid rgba(17,21,41,.08);
    border-radius: 12px;
    background: #f7f8fb;
  }
  body .footer-legal-disclosure summary { font-size: .7rem; font-weight: 800; cursor: pointer; }
  body .footer-legal-disclosure p { font-size: .66rem; }
  body .site-footer .copyright {
    width: calc(100% - 1rem);
    margin: .7rem auto 0;
    color: var(--muted, #667085);
    font-size: .68rem;
  }
}

@media (max-width: 420px) {
  body .catalog-sort-select > i:first-child { display:none; }
  body .catalog-sort-select { grid-template-columns:minmax(0,1fr) auto; padding-inline:.52rem; }
  body .catalog-offer-toggle span { padding-inline:.56rem; }
}

@media (max-width:759px) {
  body .footer-legal-summary { gap:.24rem; margin-top:.8rem; padding-top:.75rem; }
  body .footer-legal-summary h2 { font-size:.76rem; }
  body .footer-legal-summary p { font-size:.66rem; line-height:1.42; }
}

@media (max-width: 759px) {

  body .catalog-pagination { gap:.28rem; margin:1rem 0 .25rem; }
  body .catalog-pagination a { min-width:40px; min-height:40px; border-radius:11px; padding:.25rem .42rem; font-size:.75rem; }
  body .catalog-pagination span { min-width:16px; min-height:40px; padding:.2rem; }
}

/* Mobile top search, cart and overflow-safe prescription upload. */
@media (max-width:759px) {
  body .nav-wrap {
    grid-template-columns:auto minmax(0,1fr) 46px;
    gap:.45rem;
    padding-block:.38rem;
  }
  body .brand {
    width:48px;
    min-width:48px;
    min-height:46px;
    max-width:48px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  body .brand-mark {
    width:46px;
    height:43px;
    padding:0;
    border-radius:0;
    background:transparent;
    object-fit:contain;
    box-shadow:none;
  }
  body .header-search {
    grid-column:2;
    grid-row:1;
    min-height:44px;
    width:100%;
    max-width:none;
    padding:.2rem .22rem .2rem .72rem;
    border-radius:14px;
  }
  body .header-search input { min-height:38px; padding-inline:.5rem; font-size:16px; }
  body .header-search button { display:none; }
  body .header-cart {
    grid-column:3;
    grid-row:1;
    width:46px;
    min-width:46px;
    min-height:46px;
    padding:0;
  }
  body.route-checkout .prescription-file-input {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:.42rem;
    font-size:.72rem;
  }
  body.route-checkout .prescription-file-input::file-selector-button {
    max-width:48%;
    margin-right:.45rem;
    padding:.48rem .55rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body .site-footer {
    border-top:4px solid var(--brand-red);
    background:linear-gradient(145deg,#0d1433,#17255f);
    color:#fff;
  }
  body .site-footer .footer-grid { grid-template-columns:1fr 1fr; }
  body .site-footer h2 { color:#fff; }
  body .site-footer p, body .site-footer a { color:rgba(255,255,255,.78); }
  body .site-footer .copyright { color:rgba(255,255,255,.62); border-top:1px solid rgba(255,255,255,.1); }
}

@media (max-width:390px) {
  body .site-footer .footer-grid { grid-template-columns:1fr 1fr; }
  body .site-footer .footer-grid > section:first-child { grid-column:1 / -1; }
}
