/* APACUP GARMENTS Desktop Responsive V1
   Presentation-only layer. No API, auth, order, voucher, member or routing logic. */
@media (min-width: 900px){
  :root{--desktop-shell:1180px;--desktop-wide:1280px}
  html,body{min-width:100%;}

  /* Shared site header: preserve existing mobile actions, only use desktop width. */
  .mobile-header{left:0!important;right:0!important;width:100%!important;transform:none!important;border-left:0!important;border-right:0!important;}
  .mobile-header .header-inner,.header-inner{max-width:var(--desktop-wide)!important;margin:0 auto!important;padding-left:28px!important;padding-right:28px!important;}
  .mobile-header .logo-main,.logo-main{width:128px!important;}
  .overlay .drawer{left:0!important;}

  /* Shared footer: turn the compact 2x2 mobile footer into one desktop row. */
  .site-footer{padding-left:max(28px,calc((100vw - var(--desktop-shell))/2))!important;padding-right:max(28px,calc((100vw - var(--desktop-shell))/2))!important;}
  .site-footer .footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .site-footer .footer-block{border-top:0!important;border-left:1px solid rgba(47,36,29,.10)!important;padding:18px 22px!important;}
  .site-footer .footer-block:first-child{border-left:0!important;padding-left:0!important;}
  .site-footer .footer-block:last-child{padding-right:0!important;}
  .site-footer .footer-title{font-size:13px!important;margin-bottom:9px!important;}
  .site-footer .footer-link{font-size:11px!important;line-height:1.35!important;min-height:20px!important;}
  .site-footer .footer-bottom{padding-top:18px!important;}
  .site-footer .footer-copy{font-size:10px!important;}
  .site-footer .payment-chip{height:24px!important;font-size:10px!important;padding:0 10px!important;}

  /* Home */
  body > main#top,.hero-section,.wear-section,.collection-showcase,.member-connect{width:100%;}
  .hero-section,.wear-section,.collection-showcase,.member-connect{max-width:var(--desktop-shell);margin-left:auto!important;margin-right:auto!important;}
  .hero-section{padding-top:34px!important;padding-bottom:38px!important;}
  .hero-section .section-copy{max-width:650px!important;margin-left:auto!important;margin-right:auto!important;}
  .hero-title{font-size:46px!important;}
  .hero-sub{font-size:15px!important;}
  .hero-section .stage-wrap{height:500px!important;max-width:980px!important;margin-left:auto!important;margin-right:auto!important;}
  .hero-section .carousel-card{width:270px!important;height:455px!important;border-radius:18px!important;}
  .wear-section{padding-left:0!important;padding-right:0!important;}
  .wear-strip{max-width:100%!important;}
  .wear-card{min-width:300px!important;}
  .wear-mini-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;}
  .collection-showcase{padding-left:0!important;padding-right:0!important;}
  .collection-head{max-width:620px!important;}
  .collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
  .collection-card{border-radius:14px!important;}
  .collection-name{font-size:16px!important;}
  .member-connect{padding-left:0!important;padding-right:0!important;}
  .member-card{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;padding:28px 34px!important;}

  /* Collection listing */
  .collection-main{max-width:var(--desktop-shell)!important;padding:44px 28px 64px!important;}
  .collection-main h1{font-size:46px!important;}
  .collection-main .intro{max-width:620px;margin-left:auto!important;margin-right:auto!important;font-size:14px!important;}
  .collection-main .grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;}
  .collection-main .card{border-radius:14px!important;}
  .collection-main .card-name{font-size:16px!important;left:12px!important;bottom:12px!important;}
  .collection-main .card-plus{right:12px!important;bottom:11px!important;width:34px!important;height:34px!important;}

  /* Product detail already had desktop logic; only harmonize spacing/header/footer. */
  .product-shell{max-width:var(--desktop-shell)!important;padding-left:28px!important;padding-right:28px!important;}
  .product-info{font-size:1.03em;}

  /* Cart */
  .page{max-width:var(--desktop-shell)!important;}
  .cart-page{max-width:1060px!important;margin:0 auto!important;padding:42px 28px 58px!important;}
  .cart-top h1{font-size:42px!important;}
  .cart-kicker{font-size:11px!important;}
  .cart-list{gap:14px!important;}
  .cart-list .item-main{padding:14px!important;border-radius:16px!important;}
  .cart-thumb{width:90px!important;height:112px!important;border-radius:12px!important;}
  .summary{max-width:620px!important;margin-left:auto!important;}
  .cart-ctas{max-width:620px!important;margin-left:auto!important;}

  /* Checkout steps */
  .checkout-wrap{max-width:900px!important;margin:0 auto!important;padding:38px 28px 58px!important;}
  .progress-card{padding:18px 24px!important;border-radius:18px!important;}
  .checkout-wrap h1,.checkout-wrap .title{font-size:36px!important;}
  .checkout-wrap .card,.checkout-wrap .payment-card,.checkout-wrap .bank-panel{border-radius:18px!important;}
  .checkout-wrap .place-order{max-width:520px!important;margin-left:auto!important;margin-right:auto!important;}

  /* Order success */
  .page > .wrap{max-width:900px!important;width:100%!important;margin:0 auto!important;padding:36px 28px 50px!important;gap:16px!important;}
  .page > .wrap .progress{padding:16px 20px!important;}
  .page > .wrap .success-card,.page > .wrap .card{border-radius:18px!important;}

  /* Order detail: remove the narrow phone card on laptop. */
  .detail-wrap{max-width:980px!important;width:100%!important;margin:0 auto!important;padding:38px 28px 46px!important;}
  .order-card{height:auto!important;min-height:0!important;padding:24px 28px!important;border-radius:20px!important;gap:14px!important;overflow:visible!important;}
  .order-card .section{padding-top:16px!important;}
  .order-card .section-title{font-size:20px!important;margin-bottom:12px!important;}
  .order-card .item{grid-template-columns:76px minmax(0,1fr) auto!important;gap:14px!important;padding:9px 0!important;}
  .order-card .thumb{width:76px!important;height:92px!important;border-radius:10px!important;}
  .order-card .name{font-size:15px!important;}
  .order-card .variant,.order-card .qty{font-size:11px!important;}
  .order-card .price{font-size:13px!important;}
  .order-card .payment-compact{padding:16px 18px!important;border-radius:14px!important;}
  .order-card .qr-mini{width:104px!important;height:104px!important;}
  .order-card .pay-title{font-size:15px!important;}
  .order-card .pay-sub{font-size:11px!important;}
  .order-card .bank-mini span{font-size:9px!important;}
  .order-card .bank-mini strong{font-size:11px!important;}

  /* News / Voucher hub */
  .news-app{width:min(100%,var(--desktop-shell))!important;}
  .news-header{height:68px!important;padding:0 28px!important;}
  .news-main{padding:38px 28px 72px!important;}
  .news-title{font-size:44px!important;}
  .news-lead{font-size:14px!important;max-width:720px!important;}
  .news-tabs{max-width:720px!important;gap:10px!important;}
  .news-tab{font-size:12px!important;min-height:44px!important;}
  .news-hero-card{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)!important;align-items:stretch!important;}
  .news-hero-image{aspect-ratio:auto!important;min-height:360px!important;}
  .news-hero-copy{padding:32px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
  .news-hero-copy h3{font-size:34px!important;}
  .news-hero-copy p{font-size:13px!important;}
  .news-mini-scroll{grid-auto-flow:initial!important;grid-auto-columns:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important;gap:14px!important;}
  .news-mini-card{grid-template-columns:42% 1fr!important;min-height:160px!important;}
  .voucher-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
  .voucher-card{min-height:170px!important;}
  .news-bottom-nav{width:min(100%,var(--desktop-shell))!important;}
  .article-title{font-size:44px!important;}
  .article-body p{font-size:14px!important;line-height:1.7!important;}
  .article-points{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

  /* Contact / Support */
  .umi-contact-app,.umi-support-app{width:min(100%,var(--desktop-shell))!important;}
  .umi-contact-header,.umi-support-header{height:68px!important;padding-left:28px!important;padding-right:28px!important;}
  .umi-contact-main,.umi-support-main{padding:42px 28px 64px!important;}
  .umi-contact-title,.umi-support-title{font-size:44px!important;}
  .umi-contact-lead,.umi-support-lead{font-size:14px!important;max-width:720px!important;}
  .umi-contact-card,.umi-support-card{max-width:900px!important;}
  .umi-support-trigger{min-height:72px!important;padding:14px 18px!important;}
  .umi-support-copy b{font-size:14px!important;}
  .umi-support-copy small{font-size:11px!important;}
  .umi-support-panel{padding:0 22px 20px 72px!important;}
  .umi-support-panel p{font-size:12px!important;}
  .umi-support-footer-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

  /* Legal */
  .legal-shell{max-width:960px!important;}
  .legal-main{padding:50px 48px 58px!important;}
  .legal-main h1{font-size:44px!important;}
  .legal-intro{font-size:14px!important;max-width:720px!important;}
  .legal-card{padding:8px 28px!important;}
  .legal-section h2{font-size:22px!important;}
  .legal-section p,.legal-section li{font-size:13px!important;line-height:1.7!important;}

  /* Password reset / OAuth utility pages */
  .umi-reset-card{width:min(620px,92vw)!important;padding:38px 42px!important;}
  .umi-reset-brand{font-size:38px!important;}
}

@media (min-width: 1280px){
  .hero-section .stage-wrap{height:540px!important;}
  .hero-section .carousel-card{width:290px!important;height:490px!important;}
  .collection-main .grid,.collection-showcase .collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

/* V1.1 — Desktop home/footer completion.
   Presentation only: no JS, API, auth, order, member, voucher or CMS logic. */
@media (min-width: 900px){
  /* Remove the old 430px desktop shell inherited from the mobile-first Home. */
  main#top{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  /* Every Home block participates in the same desktop shell. */
  .hero-section,
  .product-gallery,
  .wear-section,
  .collection-showcase,
  .member-connect{
    width:min(100%,var(--desktop-shell))!important;
    max-width:var(--desktop-shell)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  /* The second carousel was still using the narrow mobile geometry. */
  .product-gallery{
    padding:34px 0 38px!important;
    overflow:hidden!important;
  }
  .product-gallery .section-copy{
    max-width:650px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .product-gallery .stage-wrap{
    height:500px!important;
    max-width:980px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .product-gallery .carousel-card{
    width:270px!important;
    height:455px!important;
    border-radius:18px!important;
  }

  /* Mobile bottom navigation is not a desktop control. */
  body.umi-global-bottom-nav{padding-bottom:0!important;}
  .news-bottom-nav{display:none!important;}

  /* Keep footer/trust area readable and contained on wide screens. */
  .site-footer{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    width:min(100%,var(--desktop-shell))!important;
    max-width:var(--desktop-shell)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  .site-footer .umi-doc-grid{
    grid-template-columns:repeat(3,minmax(52px,1fr))!important;
    gap:7px!important;
  }
  .site-footer .umi-doc-slot{
    min-width:0!important;
    font-size:8px!important;
  }
  .site-footer .umi-bct-link img{width:108px!important;}
}

@media (min-width: 1280px){
  .product-gallery .stage-wrap{height:540px!important;}
  .product-gallery .carousel-card{width:290px!important;height:490px!important;}
}
/* V1.2 — FINAL desktop footer normalization.
   Desktop presentation only. Mobile (<900px) is untouched. */
@media (min-width: 900px){
  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* News/Voucher page must not inherit the compact mobile footer geometry. */
  .news-app,
  .news-main{
    box-sizing:border-box!important;
    overflow-x:clip!important;
  }

  .news-main > .site-footer,
  .site-footer{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    zoom:1!important;
    float:none!important;
    clear:both!important;

    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;

    margin:34px 0 0!important;
    padding:30px 28px 24px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .site-footer .footer-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;

    width:min(100%,var(--desktop-shell))!important;
    max-width:var(--desktop-shell)!important;
    min-width:0!important;
    margin:0 auto!important;

    border-top:1px solid var(--footer-line)!important;
    border-bottom:1px solid var(--footer-line)!important;
    box-sizing:border-box!important;
  }

  .site-footer .footer-block,
  .site-footer .footer-block:nth-child(even),
  .site-footer .footer-block:nth-child(n+3){
    min-width:0!important;
    width:auto!important;
    border-top:0!important;
    border-left:0!important;
    padding:20px 24px!important;
    box-sizing:border-box!important;
  }

  .site-footer .footer-block + .footer-block{
    border-left:1px solid var(--footer-line)!important;
  }

  .site-footer .footer-title{
    margin:0 0 12px!important;
    gap:7px!important;
    font-size:15px!important;
    line-height:1.15!important;
  }
  .site-footer .footer-title svg{
    width:15px!important;
    height:15px!important;
    flex-basis:15px!important;
  }

  .site-footer .footer-links-list{
    gap:7px!important;
  }
  .site-footer .footer-link{
    min-height:20px!important;
    gap:8px!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  .site-footer .footer-link .arrow{
    font-size:16px!important;
  }

  .site-footer .umi-trust-mini{
    margin-top:2px!important;
  }
  .site-footer .umi-bct-link img{
    width:118px!important;
    max-width:100%!important;
  }
  .site-footer .umi-doc-mini-label{
    margin:8px 0!important;
    font-size:10px!important;
  }
  .site-footer .umi-doc-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .site-footer .umi-doc-slot{
    min-width:0!important;
    font-size:8px!important;
    border-radius:7px!important;
  }

  .site-footer .footer-bottom{
    width:min(100%,var(--desktop-shell))!important;
    max-width:var(--desktop-shell)!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:22px 0 0!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }
  .site-footer .footer-copy{
    margin:0 auto 12px!important;
    font-size:11px!important;
    line-height:1.4!important;
  }
  .site-footer .footer-payments{
    gap:8px!important;
    margin-bottom:10px!important;
  }
  .site-footer .payment-chip{
    min-width:66px!important;
    height:28px!important;
    padding:0 12px!important;
    font-size:10px!important;
  }
  .site-footer .footer-policy{
    font-size:11px!important;
    line-height:1.35!important;
  }

  /* Bottom mobile bar must never reserve space or create horizontal overflow on desktop. */
  .news-bottom-nav{
    display:none!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }
}
