/* AFSubs r58c: original consecutive CSS order preserved. */
/* AFSubs r58c source: af-premium-r20.css */
/* AFSubs r20 — balanced responsive hero, no half-screen dead zone at browser zoom */
.af-premium-hero-r17{padding:clamp(28px,3vw,54px) 0!important;min-height:0!important}
.af-premium-hero-grid-r17{width:calc(100% - clamp(28px,4vw,88px))!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;gap:clamp(22px,3vw,52px)!important;align-items:stretch!important}
.af-premium-copy-r17{align-self:center!important;max-width:none!important}.af-premium-copy-r17 h1{font-size:clamp(44px,4.4vw,78px)!important;line-height:.96!important;max-width:14ch!important}.af-premium-copy-r17>p{max-width:72ch!important;font-size:clamp(14px,1.1vw,18px)!important}
.af-premium-feature-r17{width:100%!important;max-width:none!important;min-width:0!important;align-self:stretch!important;justify-self:stretch!important}
.af-premium-visual-r20{height:100%;min-height:390px;padding:clamp(24px,2.5vw,42px);border:1px solid rgba(100,196,255,.24);border-radius:26px;background:radial-gradient(circle at 78% 15%,rgba(69,216,255,.18),transparent 31%),radial-gradient(circle at 10% 86%,rgba(136,100,255,.16),transparent 35%),linear-gradient(145deg,#102d47,#0c2137 54%,#0b192a);box-shadow:0 28px 90px rgba(0,0,0,.25);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.af-premium-visual-r20:after{content:"AF";position:absolute;right:clamp(18px,3vw,50px);top:clamp(18px,3vw,45px);font-size:clamp(56px,7vw,120px);font-weight:900;letter-spacing:-.08em;color:rgba(120,225,255,.11)}
.af-r20-visual-copy{position:relative;z-index:1;max-width:34rem}.af-r20-visual-copy>span{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#79dcff}.af-r20-visual-copy h2{margin:14px 0 12px;font-size:clamp(28px,2.3vw,42px);line-height:1.05;color:#f1f9ff}.af-r20-visual-copy p{margin:0;color:#abc3d8;line-height:1.65}
.af-r20-visual-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.af-r20-visual-grid article{padding:14px;border:1px solid rgba(125,199,239,.16);border-radius:14px;background:rgba(3,15,27,.42)}.af-r20-visual-grid b,.af-r20-visual-grid span{display:block}.af-r20-visual-grid b{color:#eef9ff;font-size:13px}.af-r20-visual-grid span{margin-top:4px;color:#93adc4;font-size:10px;line-height:1.45}
.af-featured-below-hero-r20>.container,.af-featured-below-hero-r18>.container{width:calc(100% - clamp(28px,4vw,88px))!important;max-width:none!important}.container{max-width:min(1760px,calc(100% - 32px))}
.af-product-service-r20{margin-bottom:22px;padding:20px;border:1px solid rgba(81,172,229,.2);border-radius:16px;background:rgba(14,35,54,.58)}.af-product-service-r20 h2{margin:4px 0 8px}.af-product-service-r20>span{font-size:10px;font-weight:800;letter-spacing:.13em;color:#72d8ff}.af-r20-contact-links{display:flex;gap:6px;flex-wrap:wrap}.af-danger-zone-r20{border-color:rgba(255,97,97,.34)!important}.af-danger-zone-r20 .button{background:#8f2e38;border-color:#b34b55}
@media(min-width:1800px){.af-premium-hero-grid-r17{grid-template-columns:minmax(0,1.4fr) minmax(460px,.6fr)!important}.af-premium-copy-r17 h1{font-size:clamp(62px,4vw,88px)!important}}
@media(max-width:1000px){.af-premium-hero-grid-r17{grid-template-columns:1fr!important}.af-premium-visual-r20{min-height:0}.af-r20-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.af-premium-hero-grid-r17{width:calc(100% - 24px)!important}.af-r20-visual-grid{grid-template-columns:1fr}.af-premium-copy-r17 h1{font-size:clamp(40px,13vw,58px)!important}}

/* r20 mobile catalogue density: two professional cards per row instead of one oversized card */
@media(max-width:680px){
  .product-grid,.products-grid,[data-af-product-grid]{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important}
  .product-card{min-width:0!important;border-radius:12px!important;overflow:hidden!important}
  .product-card-art{width:100%!important;aspect-ratio:1/1!important;height:auto!important;min-height:0!important}
  .product-card-art img{padding:10px!important}
  .product-card-body{padding:10px!important;min-width:0!important}
  .product-card h2,.product-card h3,.product-card-title{font-size:13px!important;line-height:1.28!important;margin:5px 0!important;overflow-wrap:anywhere!important}
  .product-description{font-size:10px!important;line-height:1.38!important;margin:5px 0 7px!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}
  .product-card-price{font-size:14px!important;line-height:1.3!important;margin-top:6px!important}
  .product-card .badge,.product-card .card-badge{font-size:8px!important;padding:4px 6px!important}
  .product-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;margin-top:8px!important}
  .product-card-actions .btn,.product-card-actions .button,.product-card-actions a{min-height:34px!important;padding:7px 7px!important;font-size:10px!important;line-height:1.2!important}

  /* Featured carousel: two cards visible on mobile, compact square artwork. */
  .af-featured-track-r8{grid-auto-columns:calc((100% - 10px)/2)!important;gap:10px!important;scroll-snap-type:x proximity!important;scroll-behavior:smooth!important}
  .af-featured-card-r8{min-width:0!important;border-radius:12px!important}
  .af-featured-art-r8{height:auto!important;aspect-ratio:1/1!important;min-height:0!important;display:grid!important;place-items:center!important}
  .af-featured-art-r8 img{width:100%!important;height:100%!important;object-fit:contain!important;padding:10px!important;box-sizing:border-box!important}
  .af-featured-card-r8>.af-featured-card-body{padding:10px!important}
  .af-featured-card-r8 small{font-size:8.5px!important;line-height:1.3!important}
  .af-featured-card-r8 h3{font-size:12.5px!important;line-height:1.28!important;margin:5px 0!important;overflow-wrap:anywhere!important}
  .af-featured-card-r8 .af-featured-price{font-size:13.5px!important;margin:3px 0!important}
  .af-featured-duration{font-size:9px!important;margin-bottom:5px!important}
  .af-featured-card-r8 .text-link{font-size:9.5px!important;padding-top:6px!important}
  .af-featured-position{font-size:9px!important}
  .af-featured-head-r8 h2{font-size:19px!important}
  .af-featured-head-r8 p{font-size:10.5px!important;max-width:28ch!important}
}
@media(max-width:360px){
  .product-grid,.products-grid,[data-af-product-grid]{gap:8px!important}
  .product-card-body,.af-featured-card-r8>.af-featured-card-body{padding:8px!important}
  .product-card h2,.product-card h3,.product-card-title,.af-featured-card-r8 h3{font-size:11.5px!important}
  .product-card-price,.af-featured-card-r8 .af-featured-price{font-size:12.5px!important}
  .af-featured-track-r8{grid-auto-columns:calc((100% - 8px)/2)!important;gap:8px!important}
}


/* AFSubs r22 — approved hero, 4:5 media frame, accessible mobile controls */
.af-r22-hero-product{height:100%;min-height:390px;padding:clamp(18px,2vw,28px);border:1px solid rgba(100,196,255,.24);border-radius:26px;background:linear-gradient(145deg,#102d47,#0c2137 54%,#0b192a);box-shadow:0 28px 90px rgba(0,0,0,.25);display:flex;flex-direction:column;min-width:0}
.af-r22-hero-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9fdfff}.af-r22-hero-top span:last-child{color:#d7e8f6;text-align:right}
.af-r22-hero-art{margin:16px 0 14px;width:100%;aspect-ratio:4/5;max-height:470px;border-radius:18px;overflow:hidden;background:rgba(4,15,26,.55);display:grid;place-items:center}.af-r22-hero-art img{width:100%;height:100%;object-fit:contain;padding:14px;box-sizing:border-box}.af-r22-hero-product h2{margin:7px 0 8px;font-size:clamp(22px,2vw,34px);line-height:1.08}.af-r22-hero-product h2 a{color:#f3f9ff;text-decoration:none}.af-r22-hero-product>p{margin:0;color:#a8bfd2;line-height:1.55;font-size:13px}.af-r22-hero-bottom{display:flex;justify-content:space-between;gap:14px;align-items:end;margin-top:auto;padding-top:16px}.af-r22-hero-bottom strong,.af-r22-hero-bottom span{display:block}.af-r22-hero-bottom strong{font-size:18px;color:#fff}.af-r22-hero-bottom span{margin-top:3px;font-size:10px;color:#91a9bd}
.product-card-art{aspect-ratio:4/5!important;height:auto!important;min-height:0!important}.product-card-art img{width:100%!important;height:100%!important;object-fit:contain!important;box-sizing:border-box!important}
@media(max-width:680px){.product-card-art{aspect-ratio:4/5!important}.product-card-actions .btn,.product-card-actions .button,.product-card-actions a{min-height:44px!important;padding:10px 8px!important;font-size:11px!important}.af-r22-hero-bottom{align-items:stretch;flex-direction:column}.af-r22-hero-bottom .btn{width:100%;min-height:44px}.af-r22-hero-art{max-height:none}.af-r22-hero-product{min-height:0}}
@media(max-width:380px){.product-grid,.products-grid,[data-af-product-grid]{grid-template-columns:1fr!important}.product-card-body{padding:10px!important}}

/* AFSubs r58c source: af-mobile-polish-r11.css */
/* AFSUBS_MOBILE_POLISH_R11 — presentation only; no UI structure or order logic */
#categories, #products, #subscriptions, #how-it-works, #faq, #catalogue-search { scroll-margin-top: 88px; }
#products .product-card, #products .product-card-body,
#products .product-card h3, .detail-main, .catalogue-toolbar { min-width: 0; }
#products .product-card h3, #products .product-card-price,
.detail-main h1 { overflow-wrap: anywhere; }
#products .product-card-art img { object-fit: contain; }
.store-header a:focus-visible, .store-header button:focus-visible,
#products a:focus-visible, #products button:focus-visible,
#products input:focus-visible, #products select:focus-visible,
.detail-layout a:focus-visible, .detail-layout button:focus-visible,
.detail-layout input:focus-visible {
  outline: 3px solid #62d9ed;
  outline-offset: 3px;
}
@media (max-width: 700px) {
  #products .product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  #products .product-card {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }
  #products .product-card-art {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }
  #products .product-card-art img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  #products .product-card-body { padding: 12px; }
  #products .product-card h3 {
    font-size: clamp(0.86rem, 3.55vw, 1.03rem);
    line-height: 1.35;
  }
  #products .product-card-price {
    font-size: clamp(0.88rem, 3.75vw, 1.12rem);
    line-height: 1.35;
  }
  #products .product-card .product-description {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  #products .product-card .btn { min-height: 40px; max-width: 100%; }
  #products #product-search, #products #category-filter,
  #products #af-product-sort-r17 { min-height: 44px; font-size: 16px; }
  .detail-main h1 { line-height: 1.2; }
}

/* AFSubs r58c source: af-desktop-polish-r12.css */
/* AFSUBS_DESKTOP_POLISH_R12 */
/* Cosmetic refinements only. Desktop/tablet widths; leave r11 mobile layout untouched. */
@media (min-width: 701px) {
  #products .product-grid { align-items: stretch; }
  #products .product-card { min-width: 0; height: 100%; }
  #products .product-card h3,
  #products .product-card-price { overflow-wrap: anywhere; }
  #products .product-card h3 { text-wrap: balance; line-height: 1.35; }
  #products .product-card .product-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.55;
  }
  #products .product-card-art img { object-fit: contain; }
  #products .catalogue-toolbar .field-control {
    min-height: 44px;
    min-width: 0;
  }
  #products .catalogue-toolbar button[type="submit"] { min-height: 44px; }
  .detail-main, .detail-main h1 { min-width: 0; overflow-wrap: anywhere; }
  #products .product-card a:focus-visible,
  #products .catalogue-toolbar button:focus-visible,
  #products .catalogue-toolbar select:focus-visible,
  #products .catalogue-toolbar input:focus-visible {
    outline: 3px solid #62d9ed;
    outline-offset: 3px;
  }
}
@media (min-width: 1000px) {
  #products .product-card-body { padding-bottom: 18px; }
  #products .product-card h3 { min-height: 2.7em; }
}
