/* ===== public-responsive.css ===== */
/* Storefront mobile + tablet layout + light perf helpers.
   Loaded last among shared CSS so these rules win. */

html{overflow-x:hidden}
body{overflow-x:hidden;-webkit-text-size-adjust:100%}
img,video,svg,canvas{max-width:100%;height:auto}
main img[loading="lazy"]{content-visibility:auto}

/* Related products: same shop cards, full-width row, no extra size overrides */
.product-page .related-products{
  grid-column:1 / -1!important;
  width:auto!important;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  margin:8px 12px 28px;
  padding:8px 0 0;
  background:transparent;
}
.product-page .related-products.shop-page{
  background:transparent;
  color:inherit;
}
.product-page .related-products .shop-products,
.product-page .related-products-grid{
  width:100%;
  min-width:0;
}
@media(max-width:899px){
  .product-page .related-products{
    margin:8px 12px 28px;
    padding:8px 0 0;
  }
}

/* Fixed chrome — top bar + header always stay at top */
.site-chrome{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:500!important;
  background:#fff!important;
  isolation:isolate;
  box-shadow:0 8px 24px rgba(7,24,47,.08);
}
.site-chrome .home-header,
.site-chrome header.home-header{
  position:relative!important;
  top:auto!important;
  z-index:1;
}
/* Reserve space so content isn't under fixed header */
body{
  padding-top:118px; /* topbar ~34 + header ~84 */
}
@media(max-width:1100px){
  body{padding-top:106px} /* top 32 + header 74 */
}
@media(max-width:767px){
  body{padding-top:96px} /* top 32 + header 64 */
}

/* Prevent sticky header + absolute menus from causing horizontal scroll */
.home-header,.home-nav{max-width:100%}

/* Desktop Collections dropdown — must escape fixed header chrome */
@media(min-width:1101px){
  .site-chrome,
  .home-header,
  header.home-header,
  .home-nav,
  .home-links,
  .nav-item{
    overflow:visible!important;
  }
  .home-links-head,
  .home-menu-close{display:none!important}
  .home-links .nav-dropdown,
  .nav-dropdown{
    display:none;
    position:absolute!important;
    top:calc(100% - 4px)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    min-width:200px!important;
    padding:10px!important;
    margin:0!important;
    border:1.5px solid rgba(8,120,249,.16)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 18px 40px rgba(8,120,249,.18)!important;
    z-index:600!important;
  }
  .home-links .nav-item:hover > .nav-dropdown,
  .home-links .nav-item.open > .nav-dropdown,
  .home-links .nav-item:focus-within > .nav-dropdown,
  .nav-item:hover > .nav-dropdown,
  .nav-item.open > .nav-dropdown,
  .nav-item:focus-within > .nav-dropdown{
    display:block!important;
  }
  .home-links .nav-dropdown a,
  .nav-dropdown a{
    display:block!important;
    min-height:0!important;
    padding:11px 14px!important;
    border-radius:10px!important;
    white-space:nowrap;
  }
}
.home-shell,.page-shell,.public-shell,.info-wrap,.checkout-site-shell{
  width:min(100% - 32px,1180px);
  margin-inline:auto;
}

/* Shop filter drawer chrome — hidden on desktop so it never steals a grid cell */
.shop-page .shop-filter-backdrop,
.shop-filter-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:620;
  border:0;
  padding:0;
  margin:0;
  background:rgba(6,27,58,.45);
  cursor:pointer;
}
.shop-page .mobile-filter-button,
.mobile-filter-button{display:none}
.shop-page .filter-close,
.filter-close{display:none}
.home-links-head,
.home-menu-close{display:none}

/* Keep filter + catalog in the two desktop columns even if extra nodes exist */
.shop-page .shop-main > .shop-filter{grid-column:1}
.shop-page .shop-main > .shop-catalog{grid-column:2;min-width:0}
.shop-page .shop-products{min-width:0}

/* Faster paint for below-fold blocks — keep #collections always visible */
.home-page .home-section:not(#collections),
.home-page .promo-three,
.home-page .community,
.home-page .feedback-section,
.home-footer,
.shop-page .shop-services,
.info-page section:not(:first-child){
  content-visibility:auto;
  contain-intrinsic-size:1px 480px;
}
.home-page #collections{
  content-visibility:visible;
  contain-intrinsic-size:auto;
}

/* ---------- Tablet (landscape phones → iPad) ---------- */
@media(max-width:1100px){
  .home-shell,.page-shell,.public-shell,.info-wrap{width:min(100% - 28px,980px)}

  /* Mobile header: logo locked to true horizontal center of the bar */
  .home-header{
    position:sticky!important;
  }
  .home-header .home-shell.home-nav,
  .home-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding-inline:12px!important;
    box-sizing:border-box;
  }
  body .home-menu,
  body.journey-bg .home-menu,
  body.cart-page .home-menu,
  body.shop-page .home-menu,
  body.product-page .home-menu,
  body.checkout-page .home-menu,
  .home-menu{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    order:0!important;
    flex:0 0 44px!important;
    width:44px!important;
    height:44px;
    margin:0!important;
    margin-right:auto!important;
    padding:0!important;
    line-height:0!important;
    font-size:0!important;
    color:transparent!important;
    text-indent:-9999px!important;
    overflow:hidden!important;
    z-index:3;
  }
  body .home-menu::before,
  .home-menu::before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    display:block!important;
    width:18px;
    height:2px;
    border-radius:2px;
    background:#fff!important;
    box-shadow:0 -6px 0 #fff,0 6px 0 #fff;
    text-indent:0;
  }
  /* True center of header — not dependent on side control widths */
  .home-header .brand,
  .home-nav > .brand,
  body .home-header .brand,
  body .home-nav > .brand,
  body.journey-bg .home-header .brand,
  body.cart-page .home-header .brand,
  body.shop-page .home-header .brand,
  body.product-page .home-header .brand{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:fit-content!important;
    max-width:min(158px,42vw)!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    z-index:2!important;
    pointer-events:auto;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    background:transparent!important;
  }
  .home-header .brand:hover,
  .home-nav > .brand:hover,
  body .home-header .brand:hover{
    transform:translate(-50%,-50%)!important;
    opacity:.92;
  }
  .home-header .brand img,
  .home-nav > .brand img,
  .home-header .brand .brand-logo-img,
  body .home-header .brand img{
    height:42px!important;
    width:auto!important;
    max-width:100%!important;
    max-height:42px!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    margin:0 60px 0 auto!important;
  }
  /* Never show text mark / alt flash when logo image is present */
  .home-header .brand:has(img) > b,
  .home-header .brand:has(img) > small{
    display:none!important;
  }
  .home-header .brand img.brand-logo-img{
    color:transparent!important;
    font-size:0!important;
    text-indent:-9999px!important;
  }
  .home-actions{
    position:relative!important;
    display:flex!important;
    align-items:center;
    flex:0 0 auto!important;
    margin:0!important;
    margin-left:auto!important;
    padding:0!important;
    gap:6px!important;
    z-index:3;
    max-width:100%;
  }
  .home-actions .header-searchbox,
  .home-actions button,
  .home-actions > a{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    margin:0!important;
    flex:none;
  }
  .home-actions > a[aria-label="Cart"],
  .home-actions a[href="/cart/"]{
    margin-right:2px!important;
  }
  .home-actions .cart-count,
  .home-header .cart-count{
    right:0!important;
    top:-2px!important;
  }

  /* Hamburger from tablet up — desktop nav is too dense */
  .home-links{
    display:none!important;
    position:absolute!important;
    left:0;right:0;top:100%;
    z-index:90;
    height:auto!important;
    margin:0!important;
    padding:10px 12px 14px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    background:#fff!important;
    box-shadow:0 18px 40px rgba(8,120,249,.16)!important;
    border-bottom:3px solid transparent;
    border-image:linear-gradient(90deg,#0878f9,#ffbd19,#f43f5e,#18b7a4) 1;
  }
  .home-links.open{display:flex!important}
  .home-links-head{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:4px 4px 10px;
    margin-bottom:4px;
    border-bottom:1px solid rgba(8,120,249,.12);
  }
  .home-links-head span{
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#3f5670;
  }
  .home-menu-close{
    position:relative;
    width:40px;height:40px;
    display:grid!important;place-items:center;
    padding:0!important;
    margin:0;
    border:1.5px solid rgba(8,120,249,.18);
    border-radius:12px;
    background:#f3f8ff;
    color:#07182f;
    font-size:0;
    line-height:0;
    cursor:pointer;
    flex:none;
  }
  .home-menu-close::before,
  .home-menu-close::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:16px;height:2px;
    border-radius:2px;
    background:currentColor;
  }
  .home-menu-close::before{transform:translate(-50%,-50%) rotate(45deg)}
  .home-menu-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .home-menu-close:hover{
    background:#e7f1ff;
    color:#0878f9;
  }
  .home-links .nav-item{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    height:auto!important;
    width:100%;
  }
  .home-links > a,
  .home-links .nav-item > a{
    height:auto!important;
    min-height:44px;
    padding:12px 14px!important;
    border-radius:10px;
    font-size:14px!important;
    font-weight:900!important;
    color:#07182f!important;
  }
  .home-links > a::after,
  .home-links .nav-item > a::after{display:none!important}
  /* Kill legacy public.css ::before chevron — keep a single ::after arrow */
  .home-links .has-dropdown::before,
  .home-links .nav-item > a.has-dropdown::before{
    content:none!important;
    display:none!important;
  }
  .home-links .nav-dropdown{
    position:static!important;
    display:none!important;
    box-shadow:none!important;
    border:0!important;
    padding:0 0 6px 12px!important;
    background:transparent!important;
    transform:none!important;
    min-width:0!important;
    margin:0!important;
  }
  .home-links .nav-item.open > .nav-dropdown,
  .home-links .nav-item.open .nav-dropdown{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .home-links .nav-dropdown a{
    display:flex!important;
    align-items:center;
    width:100%!important;
    min-height:40px;
    padding:10px 12px!important;
    border-radius:8px;
    white-space:normal!important;
  }
  .home-links .nav-item > a.has-dropdown::after{
    display:inline-block!important;
    content:""!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:7px!important;
    height:7px!important;
    margin-left:auto!important;
    border:0!important;
    border-right:2px solid currentColor!important;
    border-bottom:2px solid currentColor!important;
    border-radius:0!important;
    background:none!important;
    transform:rotate(45deg)!important;
    transform-origin:center!important;
    transition:transform .2s ease!important;
    opacity:1!important;
    flex:none;
  }
  .home-links .nav-item.open > a.has-dropdown::after{
    transform:rotate(-135deg)!important;
  }
  .home-links .nav-item > a.has-dropdown{
    justify-content:space-between!important;
    width:100%;
  }

  body .home-header,
  body header.home-header,
  body.journey-bg .home-header,
  body.cart-page .home-header,
  body.shop-page .home-header,
  body.product-page .home-header,
  body.checkout-page .home-header{
    height:74px!important;
  }
  body .home-links,
  body.journey-bg .home-links,
  body.cart-page .home-links,
  body.shop-page .home-links,
  body.product-page .home-links,
  body.checkout-page .home-links{
    margin-left:0!important;gap:0!important;
  }

  .home-actions{gap:8px}
  .home-actions .header-searchbox{min-width:44px!important;width:44px!important;padding:0!important;justify-content:center}
  .home-actions .header-searchbox .hs-text{display:none}

  .home-page .hero-content{grid-template-columns:1fr 1fr;gap:12px}
  .home-page .hero-copy h1{font-size:clamp(32px,4vw,46px)!important}
  .home-page .collection-grid{grid-template-columns:1fr;gap:16px}
  .home-page .arrival-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .home-page .promo-three{grid-template-columns:1fr}
  .home-page .home-services{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-page .community{grid-template-columns:1fr}
  .home-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}

  .shop-page .shop-products,
  .catalog .product-grid,
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shop-page .shop-services,
  .home-services.shop-services{grid-template-columns:repeat(3,minmax(0,1fr))}
  .categories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* Shop: drawer filter on tablet too — above fixed chrome so close/scroll work */
  .shop-page .shop-main,
  .shop-main{grid-template-columns:1fr!important}
  .shop-page .shop-main > .shop-filter,
  .shop-page .shop-main > .shop-catalog{grid-column:1}
  .shop-page .mobile-filter-button,
  .mobile-filter-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 16px;margin:0 0 14px}
  .shop-page .shop-filter-backdrop.open,
  .shop-filter-backdrop.open{display:block!important;z-index:620!important}
  .shop-page .shop-filter,
  .shop-filter{
    display:none;
    position:fixed!important;
    z-index:630!important;
    left:0;top:0;bottom:0;
    width:min(320px,86vw);
    max-height:100dvh;
    overflow:hidden!important;
    border-radius:0 18px 18px 0!important;
    box-shadow:8px 0 28px rgba(8,36,66,.18);
    background:#fff!important;
    padding:0!important;
    flex-direction:column;
  }
  .shop-page .shop-filter.open,
  .shop-filter.open{display:flex!important}
  .shop-page .filter-drawer-head,
  .filter-drawer-head{
    position:relative!important;
    top:auto!important;
    z-index:8;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px;
    flex:none;
    margin:0!important;
    padding:16px 16px 12px!important;
    background:#fff!important;
    border-bottom:1px solid rgba(15,118,245,.12);
  }
  .shop-page .filter-drawer-body,
  .filter-drawer-body{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding:4px 16px 28px;
  }
  .shop-page .filter-drawer-head h3,
  .filter-drawer-head h3{
    margin:0!important;
    font-size:15px!important;
    font-weight:800!important;
  }
  .shop-page .filter-close,
  .filter-close,
  .shop-page .filter-drawer-head .filter-close{
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    top:auto!important;right:auto!important;
    width:40px!important;height:40px!important;
    border:1.5px solid rgba(15,118,245,.18)!important;
    border-radius:12px!important;
    background:#f3f8ff!important;
    color:#0b1b33!important;
    font-size:26px!important;
    line-height:1!important;
    cursor:pointer;
    flex:none;
    box-shadow:0 6px 14px rgba(15,118,245,.1);
  }
  .shop-page .filter-category-list,
  .filter-category-list{
    max-height:min(190px,28vh)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  html.shop-filter-lock,
  html.shop-filter-lock body{
    overflow:hidden!important;
  }
  .shop-page .polo-hero,
  .polo-hero{height:auto;grid-template-columns:1fr 1fr}

  .checkout-layout,
  .checkout-site-shell .checkout-layout{grid-template-columns:1fr}
  .order-summary{position:static}
  .info-wrap .about-hero{grid-template-columns:1fr!important}
  .info-wrap .about-story,
  .info-wrap .contact-main,
  .info-wrap .size-layout{grid-template-columns:1fr!important}
}

@media(max-width:980px){
  .home-shell,.page-shell,.public-shell{width:min(100% - 24px,760px)}
  .checkout-layout{grid-template-columns:1fr}
  .order-summary{position:static}
}

@media(max-width:850px){
  .checkout-site-shell{width:min(680px,calc(100% - 20px))}
  .checkout-progress>.home-shell{gap:12px}
  .checkout-progress em{width:30px}
  body.product-page{
    padding-top:108px!important;
  }
  .product-page .phone-screen{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    padding-top:10px!important;
  }
  .product-page .product-visual{
    height:auto!important;
    min-height:0!important;
    width:auto!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    box-sizing:border-box!important;
    border-right:0!important;
    margin:0 10px 12px!important;
    padding:14px 10px 10px!important;
    border-radius:18px!important;
    overflow:visible;
  }
  .product-page .product-visual #detailImage{
    height:min(46vh,340px)!important;
    padding:16px 20px 8px!important;
    object-fit:contain!important;
    max-width:100%!important;
  }
  .product-page .detail-content{padding:18px 16px 24px!important}
}

/* ---------- Phones ---------- */
@media(max-width:767px){
  .home-shell,.page-shell,.public-shell,.info-wrap{width:min(100% - 20px,560px)}

  .home-top{overflow:hidden;height:32px!important;font-size:9.5px!important}
  .home-top .home-shell{width:max-content;gap:18px;animation:kidora-marquee 28s linear infinite}
  .home-top-right{display:none}
  @keyframes kidora-marquee{
    from{transform:translateX(0)}
    to{transform:translateX(-35%)}
  }
  @media (prefers-reduced-motion:reduce){
    .home-top .home-shell{animation:none;width:min(100% - 20px,560px);overflow:hidden}
  }

  body .home-header,
  body header.home-header{height:64px!important}
  .home-header .brand,
  .home-nav > .brand{
    width:fit-content!important;
    max-width:min(140px,42vw)!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
  }
  .home-header .brand img,
  .home-nav > .brand img,
  .home-header .brand .brand-logo-img,
  body .home-header .brand img{
    height:40px!important;
    width:auto!important;
    max-width:100%!important;
    max-height:40px!important;
    margin:0 60px 0 auto!important;
  }
  .home-nav{
    gap:6px!important;
    width:100%!important;
    padding-inline:10px!important;
  }
  .home-menu{width:40px;height:40px}
  body .home-menu::before,
  .home-menu::before{width:16px}
  .home-actions{gap:4px!important;margin:0!important;padding:0!important}
  .home-actions button,
  .home-actions>a,
  .home-actions .header-searchbox{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }
  .home-actions .cart-count,
  .home-header .cart-count{
    right:0!important;
    top:-1px!important;
    min-width:16px;
    height:16px;
    font-size:9px!important;
  }

  /* Hero: exact desktop scaled via --hs */
  .hero-slider,
  .home-page .hero-slider{
    --hs: 0.36;
    height: calc(520px * var(--hs))!important;
    min-height: calc(520px * var(--hs))!important;
    display:block!important;
    margin:0!important;
    overflow:hidden!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .hero-slide,
  .home-page .hero-slide{
    position:absolute!important;
    inset:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    z-index:0;
    transform:none!important;
    overflow:hidden!important;
  }
  .hero-slide.active,
  .home-page .hero-slide.active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:2;
    transform:none!important;
  }
  .hero-content,
  .home-page .hero-content{
    width:1100px!important;
    max-width:none!important;
    height:520px!important;
    min-height:520px!important;
    margin:0!important;
    padding:0 24px!important;
    grid-template-columns:47% 53%!important;
    align-items:center!important;
    transform:scale(var(--hs))!important;
    transform-origin:top left!important;
  }
  .hero-copy,
  .home-page .hero-copy{
    text-align:left!important;
    align-self:start!important;
    padding:58px 10px 100px 12px!important;
  }
  .home-page .hero-copy .hero-tag{font-size:11px!important;padding:8px 14px!important}
  .home-page .hero-copy h1{font-size:46px!important;margin:12px 0 14px!important;line-height:1.04!important}
  .home-page .hero-copy h1>span{font-size:58px!important;display:block!important}
  .home-page .hero-copy p{font-size:15px!important;margin-inline:0!important;line-height:1.55!important;max-width:460px!important}
  .hero-buttons,
  .home-page .hero-buttons{
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:14px!important;
    margin-top:22px!important;
  }
  .home-page .hero-buttons a,
  .home-page .hero-primary,
  .home-page .hero-secondary{
    display:inline-flex!important;
    width:auto!important;
    min-height:48px!important;
    height:48px!important;
    padding:0 22px!important;
    font-size:12px!important;
    border-radius:12px!important;
  }
  .hero-picture,
  .home-page .hero-picture{
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
  }
  .hero-picture img,
  .home-page .hero-picture img,
  .home-page .hero-slide.active .hero-picture img,
  .hero-slide.active .hero-picture img{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    display:block!important;
    width:auto!important;
    max-width:92%!important;
    height:auto!important;
    max-height:88%!important;
    margin:0 auto 0!important;
    transform:none!important;
    animation:none!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    mix-blend-mode:multiply;
  }
  .hero-perks,
  .home-page .hero-perks{
    position:absolute!important;
    left:24px!important;
    bottom:28px!important;
    width:44%!important;
    max-width:none!important;
    grid-template-columns:repeat(4,1fr)!important;
    gap:14px!important;
    padding:14px 16px!important;
    border-radius:18px!important;
    overflow:visible!important;
    margin:0!important;
    z-index:6!important;
  }
  .hero-arrow,
  .home-page .hero-arrow,
  .hero-prev,
  .hero-next,
  .home-page .hero-prev,
  .home-page .hero-next{
    display:none!important;
  }

  .home-page .home-section{padding:24px 0 6px}
  .home-page .line-heading{flex-wrap:wrap;gap:8px}
  .home-page .line-heading h2{font-size:18px!important;padding-bottom:8px!important}
  .home-page .line-heading a{padding:7px 12px!important;font-size:9px!important}
  .home-page .category-subtitle{font-size:11px!important;margin-bottom:12px!important}
  .home-page .arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .home-page .arrival-card{border-radius:12px!important}
  .home-page .arrival-card .arrival-body{padding:8px!important}
  .home-page .arrival-card h3{font-size:11px!important}
  .home-page .arrival-card .arrival-foot b,
  .home-page .arrival-card b{font-size:13px!important}
  .home-page .home-services,
  .home-page .home-services.shop-services{
    grid-template-columns:1fr 1fr!important;
    height:auto!important;
    padding:12px!important;
    gap:8px!important;
    margin:24px auto!important;
    border-radius:18px!important;
    background:#fff!important;
    border:1.5px solid rgba(15,118,245,.12)!important;
    box-shadow:0 12px 28px rgba(15,118,245,.08)!important;
  }
  .home-page .home-services>div,
  .home-page .home-services.shop-services>div{
    border:0!important;
    justify-content:flex-start!important;
    align-items:center!important;
    padding:10px 10px!important;
    gap:10px!important;
    border-radius:14px!important;
    min-height:52px!important;
  }
  .home-page .home-services>div:nth-child(1){background:linear-gradient(145deg,#eef5ff,#e4efff)!important}
  .home-page .home-services>div:nth-child(2){background:linear-gradient(145deg,#fff8e6,#ffefc6)!important}
  .home-page .home-services>div:nth-child(3){background:linear-gradient(145deg,#eafaf4,#d9f5ec)!important}
  .home-page .home-services>div:nth-child(4){background:linear-gradient(145deg,#fff0f3,#ffe2e8)!important}
  .home-page .home-services>div:nth-child(5){
    background:linear-gradient(145deg,#eef5ff,#e4efff)!important;
    grid-column:1 / -1!important;
    width:calc(50% - 4px)!important;
    justify-self:center!important;
  }
  .home-page .home-services b,
  .home-page .home-services.shop-services b{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    font-size:15px!important;
    border-radius:10px!important;
    box-shadow:0 4px 10px rgba(15,118,245,.12)!important;
  }
  .home-page .home-services strong,
  .home-page .home-services.shop-services strong{font-size:11px!important;line-height:1.2!important}
  .home-page .home-services small,
  .home-page .home-services.shop-services small{font-size:9px!important;line-height:1.25!important;display:block!important}
  .home-page .collection-grid{gap:10px!important}
  .home-page .collection-card{aspect-ratio:5/3!important;border-radius:14px!important}
  .home-page .collection-meta strong{font-size:14px!important}
  .home-page .collection-meta span{padding:6px 10px!important;font-size:8px!important}
  /* Shop by Collection — hide on mobile */
  .home-page #collections{
    display:none!important;
  }
  .home-page .promo-three article{height:140px!important;border-radius:14px!important}
  .home-page .promo-three .promo-text h3{font-size:16px!important}
  .home-page .promo-three .promo-text a{font-size:9px!important;padding:6px 10px!important}

  /* Shop page cards/buttons smaller on mobile */
  .shop-page .shop-card,
  .product-card,
  .shop-card{
    padding:6px!important;
    border-radius:12px!important;
  }
  .shop-page .shop-image,
  .shop-card .shop-image{border-radius:10px!important}
  .shop-page .shop-name,
  .shop-card .shop-name,
  .product-card h3{font-size:11px!important;line-height:1.25!important}
  .shop-page .shop-price,
  .shop-card .shop-price,
  .product-card .price{font-size:13px!important}
  .shop-page .shop-add,
  .shop-card .shop-add,
  .product-card .add,
  .shop-add{
    min-height:30px!important;
    height:30px!important;
    font-size:10px!important;
    border-radius:8px!important;
    padding:0 10px!important;
  }
  .shop-page .catalog-toolbar{gap:8px!important}
  .shop-page .mobile-filter-button{
    width:auto!important;
    min-height:32px!important;
    font-size:11px!important;
    padding:0 12px!important;
  }
  .home-footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
    text-align:center!important;
    justify-items:center!important;
  }
  .home-footer .footer-nav-col,
  .home-footer .footer-bottom-links{
    display:none!important;
  }
  .home-footer .footer-grid > div{
    position:relative!important;
    width:100%;
    max-width:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center!important;
    overflow:visible!important;
  }
  /* Keep footer logo in normal flow — never absolute/centered over CONTACT US */
  .home-footer .footer-brand,
  .home-footer .brand.footer-brand,
  .home-footer .footer-grid .brand{
    position:static!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    inset:auto!important;
    transform:none!important;
    grid-column:auto!important;
    grid-row:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    margin:0 auto 12px!important;
    padding:0!important;
    width:min(220px,72vw)!important;
    max-width:240px!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    z-index:1!important;
    text-align:center!important;
    background:transparent!important;
    filter:none!important;
    box-shadow:none!important;
  }
  .home-footer .footer-dynamic-logo,
  .home-footer .footer-brand img,
  .home-footer .brand img{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:220px!important;
    height:auto!important;
    max-height:70px!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .home-footer .footer-grid > div > p{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-footer .footer-contact-col{
    margin-top:6px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(255,182,28,.2);
    gap:0!important;
  }
  .home-footer .footer-grid h4,
  .home-footer .footer-contact-col h4{
    position:static!important;
    transform:none!important;
    text-align:center!important;
    width:100%;
    margin:0 0 14px!important;
  }
  .home-footer .footer-grid h4::after{
    margin-inline:auto!important;
  }
  .home-footer .footer-grid > div > a:not(.brand){
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-footer .footer-social{
    justify-content:center!important;
    margin-inline:auto!important;
    max-width:none!important;
  }
  .footer-bottom{
    flex-direction:column;
    gap:10px;
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .footer-bottom-links{
    justify-content:center!important;
  }

  .shop-page .polo-hero{border-radius:16px!important;margin-inline:auto}
  .shop-page .shop-products,
  .catalog .product-grid,
  .product-grid,
  .categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .shop-page .catalog-toolbar{flex-direction:column;align-items:stretch;gap:10px}
  .shop-page .toolbar-actions{width:100%;flex-wrap:wrap;justify-content:space-between;gap:8px}
  .shop-page .toolbar-actions select{flex:1 1 180px;max-width:none}
  .shop-page .shop-services,
  .home-services.shop-services{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:12px!important;
    height:auto!important;
    align-items:stretch!important;
  }
  .shop-page .shop-services > div,
  .home-services.shop-services > div{
    height:auto!important;
    min-height:0!important;
    align-items:center!important;
    gap:8px!important;
    padding:8px!important;
    border:0!important;
  }
  .shop-page .shop-services > div b,
  .home-services.shop-services > div b{
    width:34px!important;height:34px!important;
    flex:0 0 34px!important;
    font-size:15px!important;
  }
  .shop-page .shop-services strong,
  .home-services.shop-services strong{font-size:11px!important;line-height:1.2!important}
  .shop-page .shop-services small,
  .home-services.shop-services small{font-size:9px!important;line-height:1.25!important;display:block!important}

  .shop-layout{grid-template-columns:1fr;padding-top:18px}
  .filter{position:static}

  /* Cart / checkout / journey flows — keep header offset (padding-top) */
  .journey-bg{
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:0!important;
  }
  body.journey-bg,
  body.product-page,
  body.cart-page,
  body.checkout-page,
  body.processing-page,
  body.confirmed-page,
  body.invoice-page{
    padding-top:96px!important;
  }
  body.product-page{
    padding-top:110px!important;
  }
  body.product-page main.phone-screen,
  .product-page .phone-screen{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    margin-top:0!important;
    margin-bottom:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    padding-top:12px!important;
  }
  .product-page .product-visual{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    width:auto!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    margin:0 12px 14px!important;
    padding:16px 12px 12px!important;
    box-sizing:border-box!important;
    border-right:0!important;
    border-radius:20px!important;
    overflow:visible;
    box-shadow:0 10px 24px rgba(10,42,78,.06);
  }
  .product-page .product-visual #detailImage{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
    height:min(44vh,340px)!important;
    max-height:340px!important;
    object-fit:contain!important;
    padding:8px 8px 4px!important;
    display:block!important;
  }
  .product-page .product-visual:has(#detailImage:hover)::after{display:none!important}
  .product-page .product-thumbnails{
    gap:8px!important;
    padding:10px 4px 4px!important;
    justify-content:center!important;
    overflow-x:auto!important;
    flex-wrap:wrap!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    -webkit-overflow-scrolling:touch;
    border-top:0!important;
    background:transparent!important;
  }
  .product-page .product-thumbnail{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
    border-radius:12px!important;
  }
  .product-page .badge-new{
    position:absolute!important;
    top:10px!important;left:10px!important;
    z-index:5!important;
    font-size:10px!important;
    padding:5px 9px!important;
    white-space:nowrap;
    max-width:calc(100% - 64px);
  }
  .product-page .wish-detail{
    position:absolute!important;
    top:8px!important;right:8px!important;
    left:auto!important;
    z-index:5!important;
    width:40px!important;height:40px!important;
    display:grid!important;place-items:center;
    font-size:18px!important;
    box-shadow:0 6px 16px rgba(7,24,47,.12);
  }
  .product-page .detail-content{
    margin:0 12px 16px!important;
    padding:20px 14px 22px!important;
    border-radius:20px!important;
    background:#fff!important;
    border:1px solid rgba(15,118,245,.1);
    box-shadow:0 12px 28px rgba(10,42,78,.07);
  }
  .product-page .detail-buybox{
    max-width:100%!important;
    padding-top:4px;
    gap:0;
  }
  .product-page .detail-kicker{font-size:10px!important;margin-bottom:8px!important}
  .product-page .detail-content h1{
    font-size:clamp(1.22rem,5.2vw,1.42rem)!important;
    margin:0 0 4px!important;
    line-height:1.22!important;
  }
  .product-page .detail-buybox > p#detailColor{
    margin:0 0 10px!important;
    font-size:12px!important;
  }
  .product-page .detail-price-row{margin:0 0 8px!important}
  .product-page .detail-price{font-size:1.4rem!important}
  .product-page .detail-rating{margin:0 0 16px!important}
  .product-page .detail-option{
    padding:14px 12px 12px!important;
    margin:0 0 12px!important;
    border-radius:16px!important;
  }
  .product-page .detail-option h3{
    margin:0 0 10px!important;
    font-size:10px!important;
  }
  .product-page .detail-sizes{
    justify-content:center!important;
    gap:8px!important;
  }
  .product-page .detail-sizes button{
    height:32px!important;
    min-width:50px!important;
    padding:0 12px!important;
    font-size:11.5px!important;
    border-radius:999px!important;
  }
  .product-page .journey-qty{
    margin:0 auto!important;
  }
  .product-page .journey-qty button,
  .product-page .journey-qty span{
    width:40px!important;
    height:36px!important;
  }
  .product-page .journey-primary{
    min-height:46px!important;
    height:46px!important;
    margin-top:6px!important;
    position:sticky;
    bottom:12px;
    z-index:20;
  }
  .product-page .detail-benefits{margin-top:10px!important;gap:8px!important}
  .product-page .product-descriptions{
    margin:0 12px 16px!important;
    padding:18px 16px!important;
  }
  .product-page .related-products{
    width:auto!important;
    max-width:calc(100% - 24px)!important;
    margin:8px 12px 28px!important;
    padding:8px 0 0!important;
  }
  .product-page .added-message{text-align:center}
  .product-page .detail-benefits{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-width:100%!important;
    margin-top:8px!important;
  }
  .product-page .detail-benefits span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:10px 12px;
    border-radius:12px;
    background:#f5f9ff;
    font-size:12px!important;
  }
  .product-page .product-size-guide,
  .product-page .product-descriptions{
    margin:14px 0 22px!important;
    padding:16px 0 0!important;
    max-width:none!important;
  }
  .product-page .product-descriptions{
    margin-left:0!important;
    margin-right:0!important;
    padding:16px!important;
  }
  .product-page .product-size-guide{
    width:100%!important;
    max-width:none!important;
    margin:16px 0 0!important;
    text-align:left!important;
  }
  .product-page .product-size-guide h2{
    font-size:17px!important;
    margin-bottom:8px!important;
  }
  .product-page .product-size-guide > p{
    font-size:13px!important;
    margin-bottom:12px!important;
  }
  .product-page .product-size-table-wrap{
    border-radius:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .product-page .product-size-guide table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .product-page .product-size-guide th{
    padding:13px 8px!important;
    font-size:11px!important;
    letter-spacing:.03em!important;
    white-space:normal!important;
    line-height:1.25!important;
  }
  .product-page .product-size-guide td{
    padding:13px 8px!important;
    font-size:13.5px!important;
    line-height:1.3!important;
  }
  .product-page .product-size-guide td b{
    padding:6px 10px!important;
    font-size:12.5px!important;
  }
  /* Keep WhatsApp + Call stacked separately, above the footer */
  .kidora-float-stack,
  body.product-page .kidora-float-stack{
    position:fixed!important;
    right:14px!important;
    bottom:108px!important;
    z-index:1400!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:16px!important;
    width:auto!important;
    height:auto!important;
  }
  .kidora-float-action,
  body.product-page .kidora-float-action{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 52px!important;
    overflow:visible!important;
  }
  .kidora-float-action__icon,
  body.product-page .kidora-float-action__icon{
    width:22px!important;
    height:22px!important;
  }
  .product-page .related-products{
    width:auto!important;
    max-width:calc(100% - 24px)!important;
    margin:8px 12px 28px!important;
    padding:8px 0 0!important;
    overflow:visible!important;
  }
  .product-page .related-products-head{
    align-items:center!important;
    margin-bottom:12px!important;
    min-width:0!important;
    gap:8px!important;
  }
  .product-page .related-products-kicker{font-size:10px!important}
  .product-page .related-products-head h2{font-size:1.1rem!important}
  .product-page .related-products-all{
    font-size:12px!important;
    flex-shrink:0!important;
    white-space:nowrap!important;
  }
  .product-page .related-products .shop-products,
  .product-page .related-products-grid{
    width:100%!important;
    min-width:0!important;
  }
  .phone-screen,
  .cart-page>.phone-screen,
  .checkout-page .phone-screen{
    width:100%!important;
    min-height:100vh;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    margin:0!important;
  }
  .cart-page .cart-content,
  .checkout-content{padding:18px 14px 40px}
  .cart-page .cart-heading{flex-direction:column;align-items:flex-start;gap:10px}
  .cart-page .journey-totals,
  .cart-page .coupon-box,
  .cart-page .bottom-benefits{margin-top:14px}
  .checkout-fields,
  .payment-methods{grid-template-columns:1fr}
  .checkout-fields label.full{grid-column:auto}
  .checkout-title h1{font-size:26px}
  .checkout-progress small{display:none}
  .checkout-progress em{width:16px}
  .checkout-card-head{padding:16px}
  .checkout-card-head h2{font-size:15px}
  .checkout-card-head p{font-size:10px}
  .cart-page .free-delivery{min-height:52px}
  .journey-cart-item{grid-template-columns:86px 1fr auto;gap:10px;padding:14px 0}
  .journey-cart-item img{width:82px;height:92px}

  .info-wrap{width:min(100% - 20px,560px)!important}
  .info-breadcrumb{height:auto!important;min-height:42px;flex-wrap:wrap;gap:6px;padding:10px 0}
  .info-wrap .hero-badges,
  .info-wrap .about-hero-actions,
  .info-wrap .size-age-chips,
  .info-wrap .social-row{flex-wrap:wrap}
  .info-wrap .about-story article,
  .info-wrap .contact-side,
  .info-wrap .contact-form,
  .info-wrap .size-table-card,
  .info-wrap .measure-card,
  .info-wrap .faq-grid-block article{min-width:0}
  .info-wrap .about-stats,
  .info-wrap .contact-cards,
  .info-wrap .contact-faq,
  .info-wrap .about-values{grid-template-columns:1fr 1fr!important}
  .info-wrap .contact-main{gap:16px!important}
  .info-wrap .contact-form{padding:18px!important}
  .info-wrap .contact-cards a,
  .info-wrap .contact-cards article{padding:16px!important}
  .info-wrap .faq-grid-block article{padding:18px!important}
  .info-wrap .faq-grid-block summary{line-height:1.5}
  .info-wrap .size-card-head{flex-direction:column;align-items:flex-start;gap:12px}
  .info-wrap .size-table-wrap{margin-inline:-2px}
  .dynamic-feedback{grid-template-columns:1fr!important}
  .feedback-social-card{flex:0 0 100%!important}
  body.tracking-page .tracking-card{border-radius:20px!important}
  body.tracking-page .tracking-card-head{padding:26px 20px 22px!important}
  body.tracking-page .tracking-form-panel{padding:20px!important}
  body.tracking-page .tracking-result{padding:8px 20px 22px!important}
  .confirmed-page .confirmed-content>p br{display:none}
  .confirmed-page .journey-primary,
  .confirmed-page .journey-secondary,
  .invoice-page .invoice-download-button,
  .invoice-page .invoice-shopping-button{width:100%!important;min-width:0!important}
}

@media(max-width:560px){
  .checkout-progress b{font-size:8px}
  .home-page .home-services,
  .home-page .home-services.shop-services{
    grid-template-columns:1fr 1fr!important;
    padding:10px!important;
    gap:6px!important;
    margin:18px auto!important;
    border-radius:16px!important;
  }
  .home-page .home-services>div,
  .home-page .home-services.shop-services>div{
    padding:8px 8px!important;
    gap:8px!important;
    border-radius:12px!important;
    min-height:48px!important;
  }
  .home-page .home-services>div:nth-child(5){
    grid-column:1 / -1!important;
    width:calc(50% - 3px)!important;
    justify-self:center!important;
  }
  .home-page .home-services b,
  .home-page .home-services.shop-services b{
    flex:0 0 30px!important;width:30px!important;height:30px!important;font-size:13px!important;
  }
  .home-page .home-services strong,
  .home-page .home-services.shop-services strong{font-size:10px!important}
  .home-page .home-services small,
  .home-page .home-services.shop-services small{font-size:8.5px!important}
  .info-wrap .about-stats,
  .info-wrap .contact-cards,
  .info-wrap .contact-faq,
  .info-wrap .about-values{grid-template-columns:1fr!important}
  .shop-page .shop-services,
  .home-services.shop-services{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:10px!important;
    height:auto!important;
  }
  .shop-page .shop-services > div,
  .home-services.shop-services > div{
    height:auto!important;
    min-height:0!important;
    padding:7px 6px!important;
    gap:6px!important;
  }
  .shop-page .shop-services > div b,
  .home-services.shop-services > div b{
    width:30px!important;height:30px!important;flex:0 0 30px!important;font-size:13px!important;
  }
  .shop-page .shop-services strong,
  .home-services.shop-services strong{font-size:10px!important;line-height:1.2!important}
  .shop-page .shop-services small,
  .home-services.shop-services small{font-size:8.5px!important;line-height:1.25!important}
  .shop-page .shop-filter,
  .shop-filter{width:min(100vw - 28px,320px)}
  .product-page .detail-sizes{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:6px!important;
  }
  .product-page .detail-sizes button{
    height:30px!important;
    min-width:46px!important;
    padding:0 10px!important;
    font-size:11px!important;
  }
  .product-page .detail-content{
    padding:16px 12px 22px!important;
    margin:0 10px 14px!important;
  }
  .product-page .detail-option{padding:12px 10px 11px!important;margin-bottom:10px!important}
  .product-page .detail-option h3{margin:0 0 8px!important}
  .product-page .product-visual{
    margin:0 10px 12px!important;
    padding:14px 10px 10px!important;
    max-width:calc(100% - 20px)!important;
  }
  .product-page .badge-new{top:8px!important;left:8px!important}
  .product-page .wish-detail{top:6px!important;right:6px!important}
  .product-page .product-visual #detailImage{
    height:min(38vh,280px)!important;
    max-height:280px!important;
  }
  .product-page .journey-primary{bottom:10px;min-height:42px!important;height:42px!important}
  .product-page .product-size-guide{
    width:100%!important;
    margin:14px 0 0!important;
  }
  .product-page .product-size-guide th{font-size:10.5px!important;padding:12px 6px!important}
  .product-page .product-size-guide td{font-size:13px!important;padding:12px 6px!important}
  .checkout-site-shell{width:min(100% - 16px,560px)!important}
  .checkout-page .checkout-title{padding:18px 16px!important}
  .checkout-fields{padding:16px!important}
  .payment-methods{padding:16px!important}
  .checkout-totals{padding:10px 16px!important}
  .checkout-submit{width:calc(100% - 32px)!important;margin-inline:16px!important}
  .checkout-error{margin-inline:16px!important}
  .info-wrap .about-hero-copy h1,
  .info-wrap .contact-hero h1,
  .info-wrap .size-hero h1{font-size:clamp(26px,8vw,34px)!important}
  .info-wrap .about-hero,
  .info-wrap .contact-hero,
  .info-wrap .size-hero,
  .info-wrap .about-promise,
  .info-wrap .size-cta,
  .info-wrap .faq-cta{border-radius:18px!important}
  .info-wrap .about-story-media{min-height:220px!important;padding:10px!important}
  .info-wrap .about-story-media img{width:100%!important;max-height:300px!important}
  .info-wrap .contact-urgent{flex-direction:column;align-items:flex-start;gap:12px}
  .info-wrap .contact-urgent a,
  .info-wrap .size-cta a,
  .info-wrap .faq-cta .info-btn{width:100%;justify-content:center}
  .info-wrap .measure-step{padding:12px!important}
  .info-wrap .size-table-card table{min-width:460px}
  body.tracking-page .tracking-shell{padding:14px 10px 28px!important}
  body.tracking-page .tracking-card-head .tracking-icon{width:62px;height:62px;font-size:28px}
  body.tracking-page .tracking-code-row button{width:100%}
  .confirmed-page .confirmed-id{padding-right:58px!important}
  .invoice-page .invoice-brand-row{flex-direction:column;align-items:flex-start!important}
  .invoice-page .invoice-brand-row>div:last-child{text-align:left!important}
  .invoice-page .invoice-title{flex-direction:column;align-items:flex-start;gap:14px}
  .invoice-page .invoice-order-block .invoice-totals{padding-left:16px!important}
}

@media(max-width:430px){
  .home-shell,.page-shell,.public-shell{width:min(100% - 16px,420px)}
  .home-footer .footer-grid{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important}
  .home-page .hero-slider{height:calc(520px * var(--hs, .36))!important;min-height:calc(520px * var(--hs, .36))!important}
  .arrival-card h3,
  .shop-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .product-card,.shop-card{padding:7px}
  .size-options{gap:5px;flex-wrap:wrap}
  .cart-item{grid-template-columns:82px 1fr auto}
  .shop-page .shop-breadcrumb{height:auto;min-height:44px;flex-wrap:wrap;gap:6px;padding:10px 0}
  .shop-page .mobile-filter-button,
  .mobile-filter-button{width:100%;margin-bottom:12px}
  .shop-page .shop-products.list-view .shop-card{grid-template-columns:1fr!important}
  .shop-page .shop-products.list-view .shop-image{grid-row:auto!important;aspect-ratio:1/1}
  .shop-page .shop-products.list-view .shop-body{grid-column:auto!important;padding:10px 12px!important}
  .shop-page .shop-products.list-view .shop-add{grid-column:auto!important;justify-self:stretch!important;margin:0 12px 12px!important}
  .cart-page .journey-cart-item{grid-template-columns:74px 1fr 28px!important;align-items:start}
  .cart-page .journey-cart-item img{width:74px!important;height:84px!important}
  .cart-page .journey-cart-item h3{font-size:13px!important}
  .cart-page .journey-primary{min-height:48px!important}
  .checkout-progress>.home-shell{gap:8px}
  .checkout-card{border-radius:14px}
  .checkout-card-head{gap:10px;padding:14px}
  .checkout-card-head>span{width:30px;height:30px}
  .checkout-fields label{font-size:10px}
  .checkout-fields input,.checkout-fields textarea,.checkout-fields .ts-control{font-size:12px!important}
  .checkout-safe{padding-inline:12px;line-height:1.5}
  .info-wrap .about-hero,
  .info-wrap .contact-hero,
  .info-wrap .size-hero{padding:22px!important}
  .info-wrap .about-stats,
  .info-wrap .contact-cards,
  .info-wrap .contact-faq,
  .info-wrap .about-values{grid-template-columns:1fr!important}
  .info-wrap .hero-badges span,
  .info-wrap .size-age-chips span{width:100%;justify-content:center}
  .info-wrap .about-hero-actions .info-btn,
  .info-wrap .size-card-head .info-btn{width:100%;justify-content:center}
  .info-wrap .faq-grid-block article{padding:16px!important}
  body.tracking-page .tracking-card-head h1{font-size:24px!important}
  body.tracking-page .tracking-field input{height:46px;font-size:14px}
  body.tracking-page .tracking-meta-card{padding:10px 12px}
  .confirmed-page .confirmed-content{padding:22px 14px 28px!important}
  .confirmed-page .confirmed-item{grid-template-columns:56px 1fr auto!important;gap:10px}
  .confirmed-page .confirmed-item img{width:56px!important;height:60px!important}
  .invoice-page .invoice-content{padding:18px 12px 24px!important}
  .invoice-page .invoice-title h1{font-size:24px!important}
  .invoice-page .invoice-content th,
  .invoice-page .invoice-content td{padding:9px 8px!important;font-size:10px!important}
}

/* Desktop-only cart free-delivery grid lock (keep prior behavior) */
@media(min-width:900px){
  .cart-page .cart-content:not(.has-free-delivery) .journey-primary{grid-row:4!important}
  .cart-page .cart-content:not(.has-free-delivery) .bottom-benefits{grid-row:5!important}
}

/* Terms, privacy & legal info pages */
@media(max-width:767px){
  .terms-page .contact-hero,
  .privacy-page .contact-hero{padding:24px!important}
  .terms-page .legal-section,
  .privacy-page .legal-section{padding:16px!important}
  .terms-page .legal-section h2,
  .privacy-page .legal-section h2{font-size:18px}
}

/* Feedback directory page */
@media(max-width:767px){
  .feedback-page .feedback-directory-head{flex-direction:column;align-items:stretch;gap:14px}
  .feedback-page .feedback-search{flex-direction:column;align-items:stretch;width:100%}
  .feedback-page .feedback-search input{width:100%}
  .feedback-page .feedback-search button,
  .feedback-page .feedback-search a{width:100%;justify-content:center;text-align:center}
  .feedback-page .feedback-grid{grid-template-columns:1fr!important}
  .feedback-page .feedback-card{padding:16px}
}

/* bKash payment wait page */
@media(max-width:767px){
  .bkash-payment-page .bkash-wait-card{margin:20px 16px;padding:24px 18px}
  .bkash-payment-page .bkash-back,
  .bkash-payment-page .bkash-home{display:block;width:100%;text-align:center;margin-top:10px}
}

/* Categories & new arrivals */
@media(max-width:767px){
  .categories-page .polo-hero,
  .collections-page .polo-hero,
  .new-arrivals-page .polo-hero,
  .shop-page .polo-hero,
  .polo-hero{
    display:grid!important;
    grid-template-columns:1.05fr .95fr!important;
    align-items:stretch!important;
    min-height:168px!important;
    height:auto!important;
    overflow:hidden!important;
    border-radius:16px!important;
    margin-bottom:8px!important;
    background:
      radial-gradient(ellipse at 12% 20%,rgba(255,182,28,.28),transparent 42%),
      radial-gradient(ellipse at 88% 80%,rgba(18,179,155,.22),transparent 45%),
      linear-gradient(118deg,#e8f2ff 0%,#e7faf6 48%,#fff4e0 100%)!important;
  }
  .categories-page .polo-hero::before,
  .collections-page .polo-hero::before,
  .new-arrivals-page .polo-hero::before,
  .shop-page .polo-hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;top:0!important;right:0!important;
    height:4px!important;
    z-index:4!important;
  }
  .categories-page .polo-copy,
  .collections-page .polo-copy,
  .new-arrivals-page .polo-copy,
  .shop-page .polo-copy{
    padding:18px 12px 16px 16px!important;
    text-align:left!important;
    z-index:2;
  }
  .categories-page .polo-copy .sun-icon,
  .collections-page .polo-copy .sun-icon,
  .new-arrivals-page .polo-copy .sun-icon,
  .shop-page .polo-copy .sun-icon,
  .polo-hero .sun-icon{
    display:inline-block!important;
    position:static!important;
    left:auto!important;top:auto!important;
    font-size:20px!important;
    line-height:1!important;
    margin:0 0 4px!important;
    color:#FFB61C!important;
  }
  .categories-page .polo-copy h1,
  .collections-page .polo-copy h1,
  .new-arrivals-page .polo-copy h1,
  .shop-page .polo-copy h1{
    font-size:clamp(18px,5.6vw,24px)!important;
    margin:0 0 8px!important;
    line-height:1.1!important;
  }
  .categories-page .polo-copy p,
  .collections-page .polo-copy p,
  .new-arrivals-page .polo-copy p,
  .shop-page .polo-copy p{
    font-size:11px!important;
    line-height:1.45!important;
    margin:0 0 10px!important;
  }
  .categories-page .polo-copy p br,
  .collections-page .polo-copy p br,
  .new-arrivals-page .polo-copy p br,
  .shop-page .polo-copy p br{display:none}
  .categories-page .age-pill,
  .collections-page .age-pill,
  .new-arrivals-page .age-pill,
  .shop-page .age-pill,
  .polo-hero .age-pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:7px 11px!important;
    font-size:10px!important;
    line-height:1!important;
    min-height:28px!important;
    border-radius:999px!important;
  }
  .categories-page .polo-art,
  .collections-page .polo-art,
  .new-arrivals-page .polo-art,
  .shop-page .polo-art{
    display:block!important;
    position:relative!important;
    min-height:168px!important;
    height:100%!important;
    overflow:hidden!important;
  }
  .categories-page .polo-art .shape,
  .collections-page .polo-art .shape,
  .new-arrivals-page .polo-art .shape,
  .shop-page .polo-art .shape{
    display:block!important;
    position:absolute!important;
    border-radius:50%!important;
    bottom:-40%!important;
  }
  .categories-page .polo-art .shape.cyan,
  .collections-page .polo-art .shape.cyan,
  .new-arrivals-page .polo-art .shape.cyan,
  .shop-page .polo-art .shape.cyan{
    width:160px!important;height:160px!important;left:-10px!important;
  }
  .categories-page .polo-art .shape.yellow,
  .collections-page .polo-art .shape.yellow,
  .new-arrivals-page .polo-art .shape.yellow,
  .shop-page .polo-art .shape.yellow{
    width:150px!important;height:150px!important;left:42%!important;
  }
  .categories-page .polo-art img,
  .collections-page .polo-art img,
  .new-arrivals-page .polo-art img,
  .shop-page .polo-art img{
    display:block!important;
    position:absolute!important;
    z-index:2!important;
    left:0!important;right:0!important;
    width:100%!important;
    height:118%!important;
    bottom:-18%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .categories-page .polo-art .plane,
  .categories-page .polo-art .spark,
  .collections-page .polo-art .plane,
  .collections-page .polo-art .spark,
  .new-arrivals-page .polo-art .plane,
  .new-arrivals-page .polo-art .spark,
  .shop-page .polo-art .plane,
  .shop-page .polo-art .spark,
  .polo-hero .plane,
  .polo-hero .spark{
    display:block!important;
    position:absolute!important;
    z-index:3!important;
    font-size:18px!important;
  }
  .categories-page .polo-art .plane,
  .collections-page .polo-art .plane,
  .new-arrivals-page .polo-art .plane,
  .shop-page .polo-art .plane,
  .polo-hero .plane{
    top:10px!important;left:8px!important;
    color:#12B39B!important;
    transform:rotate(-28deg)!important;
  }
  .categories-page .polo-art .spark,
  .collections-page .polo-art .spark,
  .new-arrivals-page .polo-art .spark,
  .shop-page .polo-art .spark,
  .polo-hero .spark{
    top:16px!important;right:8px!important;left:auto!important;
    color:#EF4B5E!important;
  }
  .categories-page .line-heading{flex-direction:column;align-items:flex-start;gap:8px}
  .collections-page #collections{display:block!important;padding-top:18px;padding-bottom:24px}
  .categories-page .categories-all{padding:18px 0 28px}
  .new-arrivals-page .mobile-filter-button,
  .shop-page .mobile-filter-button{
    width:100%!important;
    max-width:100%;
    min-height:44px!important;
    margin:0 0 12px!important;
  }
  .new-arrivals-page .shop-products,
  .shop-page .shop-products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .new-arrivals-page .shop-image,
  .shop-page .shop-image{
    aspect-ratio:1 / 1.05!important;
    min-height:140px;
    background:#eef6ff;
  }
  .new-arrivals-page .shop-image img,
  .shop-page .shop-image img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .new-arrivals-page .catalog-toolbar h2{font-size:18px!important}
  .new-arrivals-page .toolbar-actions .view-button{display:none}
}

@media(max-width:430px){
  .categories-page .polo-hero,
  .collections-page .polo-hero,
  .new-arrivals-page .polo-hero,
  .shop-page .polo-hero{
    min-height:150px!important;
  }
  .categories-page .polo-copy h1,
  .collections-page .polo-copy h1,
  .new-arrivals-page .polo-copy h1,
  .shop-page .polo-copy h1{font-size:17px!important}
  .categories-page .polo-art,
  .collections-page .polo-art,
  .new-arrivals-page .polo-art,
  .shop-page .polo-art{min-height:150px!important}
}

/* Error pages */
@media(max-width:767px){
  .error-page .error-shell{padding:24px 16px;text-align:center}
  .error-page .error-actions{flex-direction:column;align-items:stretch}
  .error-page .error-actions a{width:100%;justify-content:center}
}
