/* Affiliate Stores — store look. Colours come from the Kadence palette of each store (site.json):
   1 action (buy) · 2 brand · 3 headings · 4 body · 5 muted · 6 footer · 7 borders · 8 soft section · 9 page. */
:root {
  --as-sage: #8aa58a; --as-sage-l: #e4ecdf; --as-peach: #e7b48e; --as-green-card: #eef4ea; --as-peach-card: #f8ece4;
  --as-ph1: #cfdcc8; --as-ph2: #e8d9c4; --as-ph3: #dfe6d6; --as-radius: 20px; --as-wrap: 1240px;
}

/* ---------- Header and footer (Kadence builder) ---------- */
.site-top-header-wrap .header-html, .site-top-header-wrap .mobile-html { font-size: 13px; line-height: 1.4; color: var(--global-palette9); text-align: center; }
.site-top-header-wrap a { color: var(--global-palette9); text-decoration: underline; text-underline-offset: 2px; }
.site-top-header-wrap a:hover { color: var(--global-palette8); }
.site-branding .site-title { font-family: var(--global-heading-font-family); font-weight: 700; letter-spacing: -.01em; color: var(--global-palette2); white-space: nowrap; }
.site-branding .site-title::after { content: "."; color: var(--global-palette1); }
.main-navigation .primary-menu-container > ul > li.menu-item > a { font-weight: 600; color: var(--global-palette3); }
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { box-shadow: inset 0 -2px 0 var(--global-palette1); }
.site-main-header-wrap { border-bottom: 1px solid var(--global-palette7); }
.search-toggle-open { border: 1px solid #d9d2c1 !important; border-radius: 999px !important; background: #fff !important; padding: 10px 16px !important; }
.site-footer, .site-footer p, .site-footer li, .site-footer .footer-html { color: var(--global-palette7); }
.site-footer h2, .site-footer h3, .site-footer .widget-title { color: var(--global-palette9); font-size: 20px; margin: 0 0 14px; }
.site-footer a { color: var(--global-palette8); text-decoration: none; }
.site-footer a:hover, .site-footer a:focus { color: var(--global-palette9); text-decoration: underline; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 0 0 6px; }
.site-footer li a { display: inline-block; padding: 6px 0; }
.site-footer .site-bottom-footer-wrap { border-top: 1px solid rgba(255,255,255,.12); }
.site-footer .footer-html { font-size: 14px; }

/* ---------- Base ---------- */
.as-page { color: var(--global-palette3); overflow-x: clip; }
.as-wrap { max-width: var(--as-wrap); margin: 0 auto; padding-left: 24px; padding-right: 24px; box-sizing: border-box; }
.as-sec { padding-top: 40px; padding-bottom: 20px; }
.as-h2 { font-family: var(--global-heading-font-family); font-size: 32px; line-height: 1.15; margin: 0 0 18px; color: var(--global-palette2); }
.as-h2-sm { font-size: 26px; margin-top: 28px; }
.as-h2-light { color: #fff; margin-top: 6px; }
.as-muted { font-size: 14px; color: var(--global-palette5); }
.as-small { font-size: 13px; color: #5f6a5b; }
.as-eyebrow { font-size: 12px; font-weight: 700; color: var(--global-palette1); text-transform: uppercase; letter-spacing: .06em; }
.as-eyebrow-light { font-size: 13px; letter-spacing: .08em; color: #b9cdb0; }
.as-pill { align-self: flex-start; background: var(--as-sage-l); color: var(--global-palette2); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; }
.as-page img { display: block; width: 100%; height: 100%; object-fit: cover; }
.as-img-empty { display: block; width: 100%; height: 100%; background: var(--as-ph1); }

/* Buttons: pill, 48px tall, full width on phones where they matter */
.as-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 24px; border-radius: 999px; font-weight: 700; font-size: 16px; line-height: 1.2; text-decoration: none !important; border: 1.5px solid transparent; cursor: pointer; text-align: center; box-sizing: border-box; font-family: inherit; }
.as-btn-buy { background: var(--global-palette1); color: #fff !important; }
.as-btn-buy:hover { background: #8f4123; }
.as-btn-dark { background: var(--global-palette2); color: #fff !important; }
.as-btn-dark:hover { background: #172b1e; }
.as-btn-outline { border-color: var(--global-palette2); color: var(--global-palette2) !important; background: transparent; }
.as-btn-outline:hover { background: var(--global-palette2); color: #fff !important; }
.as-btn-sm { min-height: 44px; font-size: 14px; padding: 0 16px; }
.as-btn-block { width: 100%; }
.as-btn-xl { width: 100%; min-height: 58px; font-size: 18px; }
.as-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.as-price b { color: var(--global-palette3); }
.as-price s { color: var(--global-palette5); font-size: .9em; margin-left: 4px; }
.as-save { display: inline-block; background: var(--as-sage-l); color: var(--global-palette2); font-size: 12px; font-weight: 700; padding: 3px 8px; border-radius: 999px; }
.as-badge { background: var(--as-sage-l); color: var(--global-palette2); font-weight: 700; font-size: 12px; padding: 6px 12px; border-radius: 999px; }
.as-badge-hot { background: var(--global-palette1); color: #fff; }

/* ---------- Home ---------- */
.as-hero { display: flex; flex-wrap: wrap; gap: 28px; padding-top: 28px; padding-bottom: 28px; align-items: stretch; }
.as-hero-text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 24px 0; }
.as-hero h1 { font-family: var(--global-heading-font-family); font-size: clamp(36px, 5vw, 58px); line-height: 1.04; margin: 0; color: var(--global-palette2); }
.as-hero p { font-size: 18px; line-height: 1.6; color: #4a5649; margin: 0; max-width: 520px; }
.as-mosaic { flex: 1 1 480px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(150px, 213px)); gap: 14px; }
.as-mosaic a { position: relative; border-radius: 24px; overflow: hidden; background: var(--as-ph1); display: block; }
.as-mosaic .as-mosaic-0 { grid-row: span 2; }
.as-mosaic .as-mosaic-1 { background: var(--as-ph2); }
.as-mosaic .as-mosaic-2 { background: var(--as-ph3); }
.as-mosaic a img { position: absolute; inset: 0; }
.as-mosaic span { position: absolute; left: 12px; bottom: 12px; background: rgba(250,247,240,.92); color: var(--global-palette2); font-weight: 700; font-size: 14px; padding: 6px 12px; border-radius: 999px; }
.as-tiles { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.as-tile { flex: 0 0 150px; scroll-snap-align: start; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; color: var(--global-palette3); text-decoration: none; }
.as-tile-img { width: 100%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; background: var(--as-ph1); display: block; }
.as-tile:nth-child(2n) .as-tile-img { background: var(--as-ph2); }
.as-tile b { font-size: 15px; }
@media (min-width: 1000px) { .as-tiles { display: grid; grid-template-columns: repeat(6, 1fr); overflow: visible; } }
.as-band { background: var(--global-palette2); color: #fff; padding: 48px 0; margin-top: 24px; }
.as-band-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; margin-bottom: 22px; }
.as-band-head .as-h2 { font-size: 36px; margin-bottom: 0; }
.as-band-link { color: #f2c9a8 !important; font-weight: 700; }
.as-stylebox { background: var(--global-palette8); border-radius: 28px; padding: 32px; display: flex; flex-wrap: wrap; gap: 28px; align-items: center; }
.as-stylebox-text { flex: 1 1 300px; }
.as-stylebox-text p { margin: 0; font-size: 16px; line-height: 1.6; color: #4a5649; }
.as-styles { flex: 2 1 480px; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.as-style { background: #fff; border-radius: 16px; padding: 12px; display: flex; flex-direction: column; gap: 8px; color: var(--global-palette3); text-decoration: none; }
.as-style span { aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--as-ph2); display: block; }
.as-guides { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; }
.as-guide { display: flex; flex-direction: column; gap: 10px; color: var(--global-palette3); text-decoration: none; }
.as-guide-img { aspect-ratio: 16/10; border-radius: 18px; overflow: hidden; background: var(--as-ph1); display: block; }
.as-guide b { font-family: var(--global-heading-font-family); font-size: 22px; line-height: 1.25; }
.as-trust { border-top: 1px solid var(--global-palette7); border-bottom: 1px solid var(--global-palette7); background: #f3eee2; margin-top: 24px; }
.as-trust-in { padding-top: 28px; padding-bottom: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.as-trust-i { display: flex; gap: 12px; align-items: flex-start; color: var(--global-palette2); }
.as-trust-i svg { flex: none; }
.as-trust-i b { display: block; color: var(--global-palette3); }
.as-trust-i span { font-size: 14px; color: var(--global-palette5); }
.as-news { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; padding-bottom: 44px; }
.as-news-text { flex: 1 1 340px; }
.as-news-text .as-h2 { font-size: 30px; margin-bottom: 6px; }
.as-news-form { flex: 1 1 340px; display: flex; flex-wrap: wrap; gap: 10px; }
.as-news-form label { flex: 1 1 220px; }
.as-news-form input[type=email] { width: 100%; box-sizing: border-box; min-height: 50px; padding: 0 18px; border: 1px solid #d9d2c1; border-radius: 999px; background: #fff; font: inherit; }
.as-hp { position: absolute; left: -9999px; }
.as-news-ok { font-weight: 700; color: var(--global-palette2); }

/* ---------- Podium (home band + category) ---------- */
.as-podium { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.as-pod { background: var(--global-palette9); color: var(--global-palette3); border-radius: var(--as-radius); padding: 18px; display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--global-palette7); }
.as-pod-first { border: 3px solid var(--as-peach); }
.as-pod-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.as-pod-price { font-family: var(--global-heading-font-family); font-size: 22px; color: var(--global-palette2); }
.as-pod-img { aspect-ratio: 4/3; border-radius: 14px; overflow: hidden; background: #fff; display: block; }
.as-pod-name { font-size: 18px; line-height: 1.3; font-weight: 700; color: var(--global-palette3); text-decoration: none; display: block; }
.as-card-more { font-size: 14px; font-weight: 700; color: var(--global-palette2); align-self: flex-start; }
.as-pod .as-btn { margin-top: auto; }
.as-pod-more { text-align: center; font-size: 14px; font-weight: 700; padding: 6px; color: var(--global-palette2); }
.as-pod-overlap { margin-top: -82px; position: relative; }
.as-pod-overlap .as-pod { background: #fff; border: 0; box-shadow: 0 12px 30px rgba(36,64,46,.08); }
.as-pod-overlap .as-pod-first { border: 3px solid var(--as-peach); box-shadow: 0 12px 30px rgba(36,64,46,.12); }

/* ---------- Category ---------- */
.as-cat-hero { background: var(--global-palette2); color: #fff; }
.as-cat-hero-in { padding-top: 32px; padding-bottom: 110px; display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-end; }
.as-cat-hero-main { flex: 2 1 480px; }
.as-cat-hero h1 { font-family: var(--global-heading-font-family); font-size: clamp(34px, 4.5vw, 52px); line-height: 1.05; margin: 0 0 14px; color: #fff; }
.as-cat-hero p { font-size: 18px; line-height: 1.6; color: #d6e2d1; margin: 0; max-width: 640px; }
.as-crumbs { font-size: 13px; color: #6b7466; padding-top: 24px; padding-bottom: 8px; }
.as-crumbs a { color: inherit; }
.as-crumbs-light { color: #b9cdb0; padding: 0 0 12px; }
.as-byline { flex: 1 1 240px; display: flex; align-items: center; gap: 12px; font-size: 14px; color: #d6e2d1; }
.as-byline-dot { width: 44px; height: 44px; border-radius: 50%; background: var(--as-sage); flex: none; }
.as-byline a { color: #f2c9a8; }
.as-table-box { overflow-x: auto; background: #fff; border: 1px solid var(--global-palette7); border-radius: 16px; }
.as-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; margin: 0; }
.as-table th, .as-table td { padding: 14px 16px; text-align: left; border: 0; vertical-align: middle; }
.as-table thead tr { background: #f3eee2; }
.as-table tbody tr { border-top: 1px solid var(--global-palette7); }
.as-table a { color: var(--global-palette3); text-decoration: none; }
.as-specs { min-width: 0; }
.as-specs th { background: #f3eee2; width: 40%; font-weight: 700; }
.as-browse { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.as-filters { flex: 1 1 220px; max-width: 100%; display: flex; flex-direction: column; gap: 22px; }
.as-filters fieldset { border: 0; margin: 0; padding: 0; }
.as-filters legend { font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 12px; color: var(--global-palette2); }
.as-check { display: flex; gap: 10px; align-items: center; min-height: 40px; cursor: pointer; }
.as-check input { width: 18px; height: 18px; accent-color: var(--global-palette2); }
.as-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.as-chip input { position: absolute; opacity: 0; }
.as-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid #d9d2c1; background: #fff; font-size: 14px; cursor: pointer; }
.as-chip input:checked + span { background: var(--global-palette2); border-color: var(--global-palette2); color: #fff; }
.as-chip input:focus-visible + span { outline: 2px solid var(--global-palette1); outline-offset: 2px; }
.as-grid-col { flex: 999 1 600px; min-width: 0; }
.as-grid-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.as-grid-head .as-h2 { font-size: 28px; margin: 0; }
.as-sort { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--global-palette5); }
.as-sort select { font: inherit; min-height: 44px; padding: 0 12px; border: 1px solid #d9d2c1; border-radius: 999px; background: #fff; }
.as-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px 20px; }
.as-card { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.as-card-img { aspect-ratio: 4/5; border-radius: 16px; overflow: hidden; background: #fff; display: block; border: 1px solid var(--global-palette7); }
.as-card-name { font-weight: 700; color: var(--global-palette3); text-decoration: none; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.as-card .as-btn { align-self: flex-start; }
.as-more { display: flex; justify-content: center; padding-top: 24px; }
.as-method { background: var(--global-palette8); border-radius: 24px; padding: 32px; display: flex; flex-wrap: wrap; gap: 28px; }
.as-method > div { flex: 1 1 340px; }
.as-method .as-h2 { font-size: 30px; margin-bottom: 10px; }
.as-method h3 { font-family: var(--global-heading-font-family); font-size: 22px; margin: 0 0 10px; color: var(--global-palette2); }
.as-method p, .as-method li { line-height: 1.75; color: #3c4a3d; }
.as-faq { padding-top: 16px; padding-bottom: 48px; }
.as-faq details { border-top: 1px solid var(--global-palette7); padding: 6px 0; }
.as-faq details:last-of-type { border-bottom: 1px solid var(--global-palette7); }
.as-faq summary { font-weight: 700; font-size: 17px; cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.as-faq p { color: #4a5649; line-height: 1.7; margin: 0 0 12px; }

/* ---------- Product ---------- */
.as-pdp { display: flex; flex-wrap: wrap; gap: 44px; padding-top: 12px; padding-bottom: 36px; }
.as-gallery { flex: 1 1 460px; min-width: 0; }
.as-gallery-main { position: relative; aspect-ratio: 4/5; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid var(--global-palette7); }
.as-gallery-main img { object-fit: contain; }
.as-gallery-badge { position: absolute; top: 16px; left: 16px; z-index: 1; }
.as-wish { position: absolute; top: 14px; right: 14px; z-index: 1; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: var(--global-palette5); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,.08); cursor: pointer; padding: 0; }
.as-wish svg { width: 20px; height: 20px; }
.as-wish[aria-pressed="true"] { color: var(--global-palette1); }
.as-wish[aria-pressed="true"] svg { fill: currentColor; }
.as-buybox { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.as-buybox h1 { font-family: var(--global-heading-font-family); font-size: clamp(28px, 3.4vw, 40px); line-height: 1.12; margin: 0; color: var(--global-palette2); }
.as-chip-s { background: var(--as-sage-l); color: var(--global-palette2); font-size: 13px; font-weight: 700; padding: 6px 12px; border-radius: 999px; text-decoration: none; }
.as-pricebox { background: #fff; border: 1px solid var(--global-palette7); border-radius: 18px; padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.as-pricebox-main { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.as-price-lg b { font-family: var(--global-heading-font-family); font-size: 34px; color: var(--global-palette2); }
.as-save-lg { font-size: 14px; padding: 6px 12px; }
.as-soldout { margin: 0; background: var(--as-peach-card); color: #8e3f20; font-weight: 700; padding: 12px 16px; border-radius: 14px; }
.as-features { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.85; }
.as-cards3 { display: flex; flex-wrap: wrap; gap: 18px; padding-bottom: 32px; }
.as-c3 { flex: 1 1 280px; border-radius: var(--as-radius); padding: 22px; }
.as-c3 b { font-family: var(--global-heading-font-family); font-size: 20px; color: var(--global-palette2); }
.as-c3 ul { margin: 10px 0 0; padding-left: 20px; line-height: 1.8; }
.as-c3 p { margin: 10px 0 0; line-height: 1.7; color: #4a5649; }
.as-c3-green { background: var(--as-green-card); }
.as-c3-peach { background: var(--as-peach-card); }
.as-c3-peach b { color: #8e3f20; }
.as-c3-white { background: #fff; border: 1px solid var(--global-palette7); }
.as-about { display: flex; flex-wrap: wrap; gap: 36px; padding-bottom: 36px; }
.as-about article { flex: 999 1 520px; min-width: 0; }
.as-lead { font-size: 17px; line-height: 1.75; color: #3c4a3d; margin: 0; }
.as-also { flex: 1 1 280px; min-width: 0; align-self: flex-start; background: #fff; border: 1px solid var(--global-palette7); border-radius: var(--as-radius); padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.as-also > b { font-family: var(--global-heading-font-family); font-size: 19px; color: var(--global-palette2); }
.as-also a { display: flex; gap: 12px; align-items: center; color: var(--global-palette3); text-decoration: none; }
.as-also img { width: 64px; height: 64px; flex: none; border-radius: 12px; border: 1px solid var(--global-palette7); }
.as-pairs { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; }
.as-pair { background: var(--global-palette9); color: var(--global-palette3) !important; border-radius: 18px; padding: 12px; text-decoration: none; display: flex; flex-direction: column; gap: 8px; }
.as-pair img { aspect-ratio: 1; border-radius: 12px; height: auto; }
.as-pair span { font-size: 14px; font-weight: 700; color: var(--global-palette1); }
.as-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; background: var(--global-palette9); border-top: 1px solid var(--global-palette7); box-shadow: 0 -6px 18px rgba(36,64,46,.08); }
.as-sticky-in { padding-top: 10px; padding-bottom: 10px; display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.as-sticky-p { display: flex; align-items: center; gap: 12px; min-width: 0; }
.as-sticky-p img { width: 44px; height: 44px; border-radius: 10px; flex: none; }
.as-sticky-p b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Phones ---------- */
@media (max-width: 767px) {
  .as-wrap { padding-left: 16px; padding-right: 16px; }
  .as-sec { padding-top: 32px; }
  .as-h2 { font-size: 26px; }
  .as-band-head .as-h2 { font-size: 28px; }
  .as-hero { padding-top: 16px; }
  .as-hero-text { padding: 8px 0; }
  .as-hero .as-btn { flex: 1 1 100%; }
  .as-mosaic { grid-template-rows: repeat(2, 140px); }
  .as-band { padding: 36px 0; }
  .as-stylebox, .as-method { padding: 22px; border-radius: 22px; }
  .as-cat-hero-in { padding-bottom: 96px; }
  .as-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .as-card .as-btn { align-self: stretch; padding: 0 10px; }
  .as-pdp { gap: 24px; }
  .as-gallery, .as-buybox { flex-basis: 100%; }
  .as-sticky-p b { font-size: 14px; }
  .as-pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .as-pair b { font-size: 14px; }
  .as-sticky .as-btn { padding: 0 16px; font-size: 14px; }
}

/* Search (A56): results as product cards; the theme's search pop-up in the store's light colours */
.as-search { padding-top: 28px; }
.as-search-form { display: flex; gap: 10px; max-width: 640px; margin: 14px 0 24px; }
.as-search-form input { flex: 1; min-width: 0; min-height: 48px; padding: 0 16px; border: 1.5px solid var(--global-palette7); border-radius: 999px; background: var(--global-palette9); font: inherit; color: var(--global-palette3); }
.as-search-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.as-chip-link { display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--global-palette7); background: var(--global-palette9); color: var(--global-palette3); text-decoration: none; font-weight: 600; font-size: 14px; }
.as-chip-link:hover { border-color: var(--global-palette1); color: var(--global-palette1); }
/* Header search box with live matches (store.js), replaces the theme's full-screen pop-up */
.as-sp[hidden] { display: none; }
.as-sp-shade { position: fixed; inset: var(--as-sp-top, 0) 0 0 0; background: rgba(31, 42, 34, .25); z-index: 9998; }
.as-sp-box { position: fixed; top: calc(var(--as-sp-top, 0px) + 8px); left: 50%; transform: translateX(-50%); width: min(680px, calc(100% - 32px));
  max-height: calc(100vh - var(--as-sp-top, 0px) - 24px); overflow-y: auto; background: #fff; border: 1px solid var(--global-palette7);
  border-radius: 16px; box-shadow: 0 18px 50px rgba(31, 42, 34, .18); padding: 14px; z-index: 9999; }
.as-sp-form { display: flex; gap: 8px; align-items: center; }
.as-sp-form input { flex: 1; min-width: 0; min-height: 46px; padding: 0 16px; font: inherit; font-size: 16px; color: var(--global-palette3);
  background: var(--global-palette9); border: 1.5px solid var(--global-palette7); border-radius: 999px; }
.as-sp-form .as-btn { min-height: 46px; }
.as-sp-x { background: none; border: 0; font-size: 28px; line-height: 1; color: var(--global-palette4); padding: 0 6px; cursor: pointer; }
.as-sp-res:not(:empty) { margin-top: 10px; }
.as-sp-item { display: flex; gap: 12px; align-items: center; padding: 8px; border-radius: 10px; color: var(--global-palette3); text-decoration: none; }
.as-sp-item:hover, .as-sp-item:focus { background: var(--global-palette8); }
.as-sp-item img { width: 56px; height: 56px; object-fit: contain; background: #fff; border-radius: 8px; flex: none; }
.as-sp-name { font-size: 14px; line-height: 1.35; }
.as-sp-name small { display: block; color: var(--global-palette5); margin-top: 2px; font-size: 13px; }
.as-sp-cat { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 12px; margin-bottom: 6px;
  border-radius: 10px; background: var(--global-palette8); color: var(--global-palette3); text-decoration: none; }
.as-sp-cat small { color: var(--global-palette5); font-size: 13px; }
.as-sp-cat:hover, .as-sp-cat:focus { background: var(--global-palette7); }
.as-sp-all { display: block; text-align: center; padding: 10px; margin-top: 4px; font-weight: 600; color: var(--global-palette1); }
.as-sp-none { margin: 8px 4px; color: var(--global-palette5); }
@media (max-width: 600px) { .as-sp-form .as-btn { display: none; } }
body #search-drawer .drawer-inner { background: rgba(250, 247, 240, .98); }
body #search-drawer .drawer-inner input.search-field { color: var(--global-palette3); border-color: var(--global-palette7); background: #fff; }
body #search-drawer .drawer-inner .kadence-search-icon-wrap, body #search-drawer .drawer-header .drawer-toggle { color: var(--global-palette3); }

.as-cond { font-size: 13px; font-weight: 600; color: var(--global-palette2); }

/* Buying guides (A100, A101): readable text column + side panel, big numbered picks, no prices */
body.single-post .entry-meta .posted-by, body.single-post .entry-meta .meta-divider:first-of-type { display: none; }
.as-guide-grid { display: grid; grid-template-columns: minmax(0, 720px) 260px; gap: 56px; justify-content: center; align-items: start; }
.as-guide-main { min-width: 0; font-size: 18px; line-height: 1.7; }
.as-guide-main h2 { font-size: clamp(24px, 3vw, 30px); margin: 40px 0 14px; scroll-margin-top: 90px; }
.as-guide-main h3 { scroll-margin-top: 90px; }
.as-guide-side { position: sticky; top: 100px; display: grid; gap: 22px; }
.as-toc { border-left: 3px solid var(--global-palette1); padding: 2px 0 2px 16px; }
.as-toc ol { list-style: none; margin: 8px 0 0; padding: 0; font-size: 15px; line-height: 1.5; }
.as-toc li { margin: 6px 0; }
.as-toc a { color: var(--global-palette3); text-decoration: none; }
.as-toc a:hover { color: var(--global-palette1); text-decoration: underline; }
.as-toc-shop { display: grid; gap: 8px; }
.as-pick { border-top: 1px solid var(--global-palette7); padding: 28px 0 8px; margin: 0; scroll-margin-top: 90px; }
.as-pick-h { display: flex; align-items: center; gap: 16px; font-size: clamp(20px, 2.4vw, 25px); line-height: 1.3; margin: 0 0 16px; }
.as-pick-h a { color: var(--global-palette3); text-decoration: none; }
.as-pick-h a:hover { color: var(--global-palette1); }
.as-num { flex: 0 0 auto; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--global-palette1); color: #fff;
  font-family: var(--global-heading-font-family); font-size: 24px; font-weight: 700; }
.as-pick-in { display: grid; grid-template-columns: minmax(0, 260px) 1fr; gap: 24px; align-items: start; }
.as-pick-img img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; border-radius: 12px; background: #fff; border: 1px solid var(--global-palette7); }
.as-pick-body p { margin: 0 0 12px; }
.as-pick-facts { font-size: 15px; color: var(--global-palette5); }
.as-pick-facts b { color: var(--global-palette2); }
.as-pick-btns { margin-top: 6px; }
.as-related { margin-top: 48px; }
.as-related .as-guides { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1024px) { .as-guide-grid { grid-template-columns: minmax(0, 720px); } .as-guide-side { display: none; } }
@media (max-width: 640px) {
  .as-guide-main { font-size: 17px; }
  .as-pick-in { grid-template-columns: 1fr; }
  .as-pick-img img { max-width: 360px; margin: 0 auto; display: block; }
  .as-num { width: 42px; height: 42px; font-size: 20px; }
  .as-related .as-guides { grid-template-columns: 1fr; }
}
body.as-guide .entry-header, body.as-guide .post-navigation, body.as-guide .entry-related { max-width: 1036px; margin-left: auto; margin-right: auto; }
body.as-guide .entry-title { font-size: clamp(30px, 4.4vw, 46px); line-height: 1.15; }
@media (max-width: 1024px) { body.as-guide .entry-header { max-width: 720px; } }
.as-guide-side .as-eyebrow { font-family: inherit; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.as-pick-facts b { font-family: inherit; font-size: 15px; }
@media (max-width: 1100px) { body.as-guide .entry-header, body.as-guide .as-guide-grid { padding-left: 16px; padding-right: 16px; box-sizing: border-box; } }
body.as-guide .entry-content-wrap, body.as-guide .content-container { overflow-x: clip; }

/* ---------- Look "luxe" (UAE Luxury, design C Desert Gold, A95/A102) ---------- */
body.as-look-luxe { --as-gold: #9C7A3C; --as-sand: var(--global-palette8); --as-sand-d: var(--global-palette7); }
.as-look-luxe .site-branding .site-title { font-weight: 400; letter-spacing: .06em; color: var(--global-palette3); }
.as-look-luxe .site-branding .site-title::after { content: none; }
.as-look-luxe .main-navigation .primary-menu-container > ul > li.menu-item > a { font-weight: 400; }
.as-look-luxe .as-h2, .as-look-luxe h1, .as-look-luxe h2, .as-look-luxe h3 { font-weight: 400; }
.as-look-luxe .as-h2 { font-size: 36px; color: var(--global-palette3); }
.as-look-luxe .as-btn { font-weight: 400; }
.as-look-luxe .as-btn-buy:hover { background: var(--global-palette6); }
.as-arch { display: block; overflow: hidden; border-radius: 200px 200px 24px 24px; background: #fff; }
.as-arch img { width: 100%; height: 100%; object-fit: contain !important; padding: 8%; box-sizing: border-box; }
.as-lux-hero { padding-top: 8px; padding-bottom: 48px; }
.as-lux-hero-in { background: var(--as-sand-d); border-radius: 28px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; padding: 48px; align-items: center; }
.as-lux-hero-text { display: flex; flex-direction: column; gap: 18px; }
.as-lux-kicker { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--as-gold); }
.as-lux-hero h1 { font-family: var(--global-heading-font-family); font-size: clamp(38px, 5vw, 60px); line-height: 1.06; margin: 0; color: var(--global-palette3); }
.as-lux-hero p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 520px; }
.as-lux-hero-img { height: 440px; }
.as-lux-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px 18px; }
.as-lux-cat .as-arch { height: 240px; border-radius: 120px 120px 16px 16px; }
.as-lux-cat h3 { font-family: var(--global-heading-font-family); font-size: 22px; margin: 14px 0 8px; }
.as-lux-cat h3 a, .as-lux-cat li a { color: var(--global-palette3); text-decoration: none; }
.as-lux-cat ul { list-style: none; margin: 0; padding: 0; font-size: 15px; line-height: 1.5; }
.as-lux-cat li { margin: 0; }
.as-lux-cat li a { display: inline-block; padding: 4px 0; color: var(--global-palette4); }
.as-lux-cat li a:hover, .as-lux-cat h3 a:hover { color: var(--global-palette1); text-decoration: underline; }
.as-lux-all { color: var(--global-palette1) !important; font-weight: 500; text-decoration: none; }
.as-lux-all:hover { text-decoration: underline; }
.as-grid-4 { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
@media (min-width: 1100px) { .as-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* cards: white, condition pill, BRAND, name, price, button (price under the name, never on top) */
.as-look-luxe .as-card { background: #fff; border-radius: 18px; padding: 12px; gap: 8px; }
.as-look-luxe .as-card-img { border: 0; background: var(--as-sand); border-radius: 12px; aspect-ratio: 1; }
.as-look-luxe .as-card-img img { object-fit: contain; }
.as-look-luxe .as-card .as-cond { order: 1; align-self: flex-start; background: #EFE6D4; color: #6B5426; border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 500; }
.as-look-luxe .as-card .as-eyebrow { order: 2; color: var(--global-palette3); font-size: 13px; letter-spacing: .12em; font-weight: 500; }
.as-look-luxe .as-card .as-card-name { order: 3; font-weight: 300; font-size: 15px; }
.as-look-luxe .as-card .as-card-line { order: 4; font-size: 17px; }
.as-look-luxe .as-card .as-price b { font-weight: 500; }
.as-look-luxe .as-card .as-btn { order: 5; align-self: stretch; }
.as-look-luxe .as-card .as-card-more { order: 6; align-self: center; font-weight: 400; }
.as-look-luxe .as-card-img { order: 0; }
/* category head */
.as-lux-cathead { background: var(--as-sand-d); border-radius: 28px; padding: 8px 40px 32px; margin-top: 8px; }
.as-lux-cathead h1 { font-family: var(--global-heading-font-family); font-size: clamp(32px, 4.4vw, 52px); line-height: 1.08; margin: 0 0 12px; color: var(--global-palette3); }
.as-lux-cathead p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 680px; }
.as-lux-subs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.as-lux-subs a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--global-palette3); color: var(--global-palette3); text-decoration: none; font-size: 14px; background: transparent; }
.as-lux-subs a:hover { background: var(--global-palette9); }
.as-lux-subs a[aria-current="page"] { background: var(--global-palette1); border-color: var(--global-palette1); color: #fff; }
.as-look-luxe .as-browse .as-filters:not(:has(fieldset)) { display: none; }
.as-look-luxe .as-method { background: var(--as-sand-d); }
@media (max-width: 767px) {
  .as-lux-hero-in { grid-template-columns: 1fr; padding: 28px 22px; gap: 24px; }
  .as-lux-hero-img { height: 320px; }
  .as-lux-hero .as-btn { flex: 1 1 100%; }
  .as-lux-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
  .as-lux-cat .as-arch { height: 190px; }
  .as-lux-cathead { padding: 4px 20px 24px; border-radius: 22px; }
  .as-lux-subs { flex-wrap: nowrap; overflow-x: auto; margin-left: -20px; margin-right: -20px; padding: 0 20px 4px; }
  .as-lux-subs a { flex: none; }
  .as-look-luxe .as-h2 { font-size: 28px; }
}
@media (min-width: 1100px) { .as-look-luxe .as-browse .as-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- A102: shared pieces for stores with their own look ---------- */
.as-guides { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
/* guide photos fill their frame (Talal 10 Nov, A111: white bars beside a grey photo on a beige card looked cheap) */
.as-guide-img { aspect-ratio: 4/3; }
.as-guide-img img { object-fit: cover !important; width: 100%; height: 100%; }
.as-gallery-main { aspect-ratio: 1; }
.as-cathead { background: var(--global-palette8); border-radius: 24px; padding: 8px 40px 30px; margin-top: 12px; }
.as-cathead h1 { font-family: var(--global-heading-font-family); font-size: clamp(30px, 4.2vw, 48px); line-height: 1.08; margin: 0 0 12px; color: var(--global-palette3); }
.as-cathead p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 680px; }
.as-subpills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.as-subpills a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--global-palette7); background: var(--global-palette9); color: var(--global-palette3); text-decoration: none; font-size: 14px; }
.as-subpills a:hover { border-color: var(--global-palette3); }
.as-subpills a[aria-current="page"] { background: var(--global-palette3); border-color: var(--global-palette3); color: #fff; }
.as-look-luxe .as-cathead { background: var(--global-palette7); }
.as-look-luxe .as-subpills a { background: transparent; border-color: var(--global-palette3); }
.as-look-luxe .as-subpills a[aria-current="page"] { background: var(--global-palette1); border-color: var(--global-palette1); }
.as-chips-s { display: flex; flex-wrap: wrap; gap: 6px; }
.as-chips-s span { background: #F4F5F7; border-radius: 6px; padding: 3px 8px; font-size: 12px; font-weight: 600; color: var(--global-palette3); }
@media (max-width: 767px) {
  .as-cathead { padding: 4px 20px 22px; border-radius: 20px; }
  .as-subpills { flex-wrap: nowrap; overflow-x: auto; margin-left: -20px; margin-right: -20px; padding: 0 20px 4px; }
  .as-subpills a { flex: none; }
}
/* product page in the luxe look: square photo with no empty bands, sand chips */
.as-look-luxe .as-gallery-main { background: #fff; border: 0; }
.as-look-luxe .as-chip-s { background: #EFE6D4; color: #6B5426; }
.as-look-luxe .as-buybox h1 { color: var(--global-palette3); font-weight: 400; }
.as-look-luxe .as-pricebox { border: 0; }

/* ---------- Look "showroom" (Light House B): ink buttons, outlined cards, tinted hero ---------- */
.as-look-showroom .as-btn-buy, .as-look-showroom .as-btn-dark { background: var(--global-palette3); color: #fff !important; border-radius: 10px; }
.as-look-showroom .as-btn-buy:hover, .as-look-showroom .as-btn-dark:hover { background: #000; }
.as-look-showroom .as-btn-outline { border-radius: 10px; border-color: var(--global-palette3); color: var(--global-palette3) !important; }
.as-look-showroom .as-btn-outline:hover { background: var(--global-palette3); color: #fff !important; }
.as-look-showroom .as-card { border: 1px solid #E4E6EB; border-radius: 14px; padding: 12px; background: #fff; }
.as-look-showroom .as-card-img { border: 0; background: #F4F5F7; border-radius: 10px; aspect-ratio: 1; }
.as-look-showroom .as-card-img img { object-fit: contain; }
.as-look-showroom .as-card .as-btn { align-self: stretch; }
.as-look-showroom .as-card .as-price b { font-size: 18px; font-weight: 800; }
.as-look-showroom .as-cathead { background: var(--as-tint, #EEF2FD); border-radius: 16px; }
.as-show-hero { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; padding-top: 28px; padding-bottom: 12px; }
.as-show-main { background: var(--as-tint, #EEF2FD); border-radius: 16px; padding: 40px; display: flex; flex-direction: column; gap: 16px; justify-content: center; min-height: 300px; }
.as-show-main h1 { margin: 0; font-size: clamp(32px, 4vw, 46px); font-weight: 800; line-height: 1.1; color: var(--global-palette3); }
.as-show-main p { margin: 0; font-size: 17px; color: #3F4450; max-width: 520px; }
.as-show-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.as-show-chips a { background: #fff; border: 1px solid #C9D3F2; border-radius: 999px; padding: 10px 16px; color: var(--global-palette3); text-decoration: none; font-weight: 600; }
.as-show-chips a:hover { border-color: var(--global-palette1); color: var(--global-palette1); }
.as-show-deal { background: var(--global-palette3); color: #fff; border-radius: 16px; padding: 28px; display: flex; flex-direction: column; gap: 14px; justify-content: space-between; }
.as-show-kicker { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9DB4FF; }
.as-show-deal b { font-size: 24px; line-height: 1.25; }
.as-look-showroom .as-show-deal .as-btn { background: var(--global-palette1); align-self: flex-start; }
.as-show-types { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.as-show-types a { border: 1px solid #E4E6EB; border-radius: 14px; padding: 14px; text-decoration: none; color: var(--global-palette3); display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.as-show-types a:hover { border-color: var(--global-palette3); }
.as-show-types span { width: 100%; height: 110px; background: #F4F5F7; border-radius: 10px; overflow: hidden; display: block; }
.as-show-types img { object-fit: contain !important; }
.as-show-types b { font-size: 15px; }
@media (max-width: 767px) {
  .as-show-hero { grid-template-columns: 1fr; padding-top: 16px; }
  .as-show-main { padding: 24px; min-height: 0; }
  .as-show-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Look "noor" (Muslim Lifestyle A): arch hero, white need cards, sage band ---------- */
.as-look-noor .as-btn { border-radius: 12px; }
.as-look-noor .as-h2 { font-weight: 400; font-size: 34px; color: var(--global-palette3); }
.as-look-noor .as-card { background: #fff; border-radius: 16px; padding: 12px; }
.as-look-noor .as-card-img { border: 0; background: #F2F4F1; border-radius: 12px; aspect-ratio: 1; }
.as-look-noor .as-card-img img { object-fit: contain; }
.as-look-noor .as-card .as-btn { align-self: stretch; border-radius: 10px; }
.as-look-noor .as-cathead { background: #E9EEE8; border-radius: 20px; }
.as-noor-hero { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: center; padding-top: 16px; padding-bottom: 48px; }
.as-noor-text { display: flex; flex-direction: column; gap: 18px; }
.as-noor-bism { font-family: Amiri, "Noto Naskh Arabic", serif; font-size: 30px; color: var(--global-palette1); }
.as-noor-hero h1 { margin: 0; font-family: var(--global-heading-font-family); font-weight: 400; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.08; color: var(--global-palette3); }
.as-noor-hero p { margin: 0; font-size: 18px; line-height: 1.6; color: #4A5651; }
.as-noor-img { height: 440px; border-radius: 220px 220px 20px 20px; background: #fff; }
.as-noor-needs { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.as-noor-needs a { background: #fff; border: 1px solid #E1E6E1; border-radius: 16px; padding: 16px; text-decoration: none; color: var(--global-palette3); display: flex; gap: 14px; align-items: center; }
.as-noor-needs a:hover { border-color: var(--global-palette1); }
.as-noor-thumb { width: 64px; height: 64px; flex: none; border-radius: 12px; background: #EEF2EE; overflow: hidden; display: block; }
.as-noor-thumb img { object-fit: contain !important; }
.as-noor-needs b { display: block; font-size: 16px; }
.as-noor-needs small { display: block; font-size: 13px; color: #5F6E67; margin-top: 2px; }
.as-noor-band { background: #E9EEE8; padding: 48px 0 40px; margin-top: 24px; }
.as-noor-trust { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; padding-bottom: 48px; }
.as-noor-trust > div { border-top: 2px solid var(--global-palette1); padding-top: 14px; }
.as-noor-trust p { margin: 6px 0 0; color: #4A5651; font-size: 15px; line-height: 1.5; }
@media (max-width: 767px) {
  .as-noor-hero { grid-template-columns: 1fr; gap: 24px; }
  .as-noor-img { height: 320px; }
  .as-noor-hero .as-btn { flex: 1 1 100%; }
  .as-look-noor .as-h2 { font-size: 28px; }
}
.as-browse .as-filters:not(:has(fieldset)) { display: none; }

/* Talal 7 Nov: capital first letters in menus and headings ("Garden Lighting", "The Best Light Bulbs") */
.main-navigation .menu-item > a, .mobile-navigation .menu-item > a, .as-cathead h1, .as-cat-hero h1, .as-subpills a, .as-tile b,
.as-lux-cat h3, .as-lux-cat li a, .as-show-types b, .as-show-chips a, .as-noor-needs b, .as-grid-head .as-h2, .as-filters .as-check,
.as-chip span, .as-crumbs, .site-footer li a { text-transform: capitalize; }
/* blog list (Guides page): every card the same size, with the guide's photo */
.blog .loop-entry, .archive.category .loop-entry { display: flex; flex-direction: column; height: 100%; }
.blog .loop-entry .entry-summary p, .archive.category .loop-entry .entry-summary p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.blog .loop-entry .post-thumbnail, .archive.category .loop-entry .post-thumbnail { padding-bottom: 75% !important; }
.blog .loop-entry .post-thumbnail-inner img, .archive.category .loop-entry .post-thumbnail-inner img { object-fit: cover !important; width: 100%; height: 100%; }
.blog .entry-meta .posted-by, .archive.category .entry-meta .posted-by, .blog .entry-meta .meta-divider:first-of-type { display: none; }

/* hero product with its background removed (A104) */
img.as-cutout { object-fit: contain !important; padding: 7%; box-sizing: border-box; filter: drop-shadow(0 18px 22px rgba(0,0,0,.16)); background: transparent !important; }
.as-mosaic a:has(.as-cutout) { background: var(--global-palette8); }
.as-h2, .as-band-head .as-h2 { text-transform: capitalize; }

.as-fx { display: inline-block; margin-left: 6px; font-size: .78em; font-weight: 500; color: var(--global-palette5); white-space: nowrap; }

/* A105: product page buy bar always visible; card prices and buttons line up across a row */
.as-sticky-on .as-sticky-in { max-width: var(--as-wrap); }
.as-sticky-on .as-btn { min-width: 200px; }
@media (max-width: 767px) { .as-sticky-on .as-btn { min-width: 0; } .as-sticky-on .as-sticky-p img { display: none; } }
.as-card .as-card-line { margin-top: auto; }
.as-card { height: 100%; box-sizing: border-box; }

/* A106: the shop's own price under the visitor-currency price */
.as-fx { display: block; margin: 2px 0 0; font-size: 12px; font-weight: 500; color: var(--global-palette5); white-space: nowrap; }
.as-price-lg + .as-fx, .as-pricebox .as-fx { font-size: 13px; }

/* A107: "See details" centred under the button on every card */
.as-card .as-card-more { align-self: center; text-align: center; }

/* A116 (Talal 10 Nov): floating bar button 'Buy it now', bigger, always one line; contact form */
.as-sticky .as-sticky-btn { white-space: nowrap; min-height: 54px; padding: 0 34px; font-size: 17px; font-weight: 700; flex: none; }
@media (max-width: 767px) { .as-sticky .as-sticky-btn { min-height: 48px; padding: 0 20px; font-size: 16px; } }
.as-contact { max-width: 640px; margin: 24px 0; }
.as-contact-form label { display: block; font-weight: 600; font-size: 15px; }
.as-contact-form input, .as-contact-form textarea { width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid var(--global-palette7); border-radius: 10px; font: inherit; background: #fff; }
.as-contact-form textarea { resize: vertical; }
.as-contact-note { padding: 12px 16px; border-radius: 10px; background: #fff4e5; }
.as-contact-note.ok { background: #e9f6ec; }
.as-footer-logo img { display: block; margin-bottom: 6px; }

/* A120: showroom hero, right side = the premium pick as a picture */
.as-show-pick { position: relative; border-radius: 16px; overflow: hidden; background: radial-gradient(120% 90% at 50% 35%, #fff 0%, var(--global-palette7) 70%);
  display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding: 22px; min-height: 300px; text-decoration: none; color: var(--global-palette3); }
.as-show-pick-img { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0; }
.as-show-pick-img img { max-height: 270px; width: auto; max-width: 100%; object-fit: contain; filter: drop-shadow(0 18px 22px rgba(0,0,0,.18)); transition: transform .35s ease; }
.as-show-pick:hover .as-show-pick-img img { transform: scale(1.04) translateY(-4px); }
.as-show-pick .as-show-kicker { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette1); }
.as-show-pick b { font-size: 18px; line-height: 1.3; }
.as-show-savings { display: inline-block; margin-top: 18px; font-weight: 700; color: var(--global-palette1); text-decoration: none; }
.as-show-savings:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .as-show-pick-img img { transition: none; } }

/* ---------- Look "maison" (chandelier store, design A, A123): ivory, noir, champagne gold ---------- */
body.as-look-maison { --as-gold: var(--global-palette1); --as-noir: var(--global-palette3); --as-ivory: var(--global-palette9); --as-cream: var(--global-palette8); }
.as-look-maison .as-h2, .as-look-maison h1, .as-look-maison h2, .as-look-maison h3 { font-weight: 500; letter-spacing: -.005em; }
.as-look-maison .as-h2 { font-size: clamp(28px, 3.4vw, 40px); color: var(--as-noir); }
.as-look-maison .as-btn-buy { background: var(--as-noir); color: var(--as-ivory); border-radius: 0; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; font-weight: 500; }
.as-look-maison .as-btn-buy:hover { background: var(--as-gold); color: #fff; }
.as-look-maison .main-navigation .primary-menu-container > ul > li.menu-item > a { letter-spacing: .12em; text-transform: uppercase; font-size: 13px; font-weight: 500; }
.as-mai-kicker { font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: var(--as-gold); font-weight: 500; }
.as-mai-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: center; padding-top: 40px; padding-bottom: 36px; }
.as-mai-hero-text { display: flex; flex-direction: column; gap: 18px; }
.as-mai-hero h1 { font-family: var(--global-heading-font-family); font-size: clamp(40px, 5.4vw, 68px); line-height: 1.02; margin: 0; color: var(--as-noir); text-wrap: balance; }
.as-mai-hero p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--global-palette4); max-width: 34em; }
.as-mai-btns { display: flex; gap: 22px; align-items: center; flex-wrap: wrap; }
.as-mai-link { text-decoration: none; color: var(--as-noir); border-bottom: 1px solid var(--as-gold); letter-spacing: .14em; text-transform: uppercase; font-size: 12px; font-weight: 500; padding-bottom: 4px; }
.as-mai-link.light { color: #f1e6cf; }
.as-mai-arch { aspect-ratio: 4/5; max-width: 440px; width: 100%; margin: 0 auto; border-radius: 999px 999px 8px 8px; display: flex; align-items: center; justify-content: center; padding: 34px;
  background: radial-gradient(70% 55% at 50% 38%, #fffaf0 0%, var(--as-cream) 55%, color-mix(in srgb, var(--as-gold) 45%, var(--as-cream)) 100%);
  border: 1px solid color-mix(in srgb, var(--as-gold) 70%, #fff); box-shadow: 0 0 0 8px var(--as-ivory), 0 0 0 9px color-mix(in srgb, var(--as-gold) 60%, #fff); }
.as-mai-arch img { max-height: 100%; width: auto; object-fit: contain; filter: drop-shadow(0 24px 26px rgba(90, 60, 10, .28)); transition: transform .4s ease; }
.as-mai-arch:hover img { transform: translateY(-4px) scale(1.03); }
.as-mai-mats { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 16px; padding-top: 8px; padding-bottom: 32px; text-align: center; }
.as-mai-mats a { text-decoration: none; color: var(--as-noir); }
.as-mai-mats b { display: block; margin-top: 10px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; }
.as-mai-dot { display: block; width: 104px; height: 104px; margin: 0 auto; border-radius: 50%; overflow: hidden; background: #fff; border: 1px solid color-mix(in srgb, var(--as-gold) 50%, #fff); }
.as-mai-dot img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.as-mai-mats a:hover img { transform: scale(1.07); }
.as-mai-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.as-mai-col { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; background: #fff; text-decoration: none; }
.as-mai-col img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.as-mai-col:hover img { transform: scale(1.04); }
.as-mai-col b { position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 20px 18px; color: #fff; font-family: var(--global-heading-font-family); font-size: 26px; font-weight: 500;
  background: linear-gradient(transparent, rgba(16, 12, 6, .78)); }
.as-mai-size { margin-top: 40px; background: var(--as-noir); color: #f1e6cf; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 46px; }
.as-mai-size h2 { font-family: var(--global-heading-font-family); color: #f7efdc; font-size: clamp(24px, 3vw, 34px); line-height: 1.2; margin: 10px 0 12px; font-weight: 500; }
.as-mai-size p { margin: 0 0 16px; color: #cbbd9e; max-width: 40em; line-height: 1.6; }
.as-mai-ring { flex: none; width: 150px; height: 150px; border-radius: 50%; border: 1px solid var(--as-gold); display: flex; align-items: center; justify-content: center;
  font-family: var(--global-heading-font-family); font-size: 40px; color: #ecdcb5; box-shadow: inset 0 0 0 12px var(--as-noir), inset 0 0 0 13px color-mix(in srgb, var(--as-gold) 55%, #000); }
.as-look-maison .as-card { background: #fff; border-radius: 4px; padding: 12px; gap: 8px; }
.as-look-maison .as-card-img { border: 0; background: #fff; border-radius: 2px; aspect-ratio: 4/5; }
.as-look-maison .as-card-img img { object-fit: contain; }
.as-look-maison .as-card .as-card-name { font-family: var(--global-heading-font-family); font-weight: 500; font-size: 16px; }
.as-look-maison .as-card .as-eyebrow { color: var(--as-gold); letter-spacing: .14em; }
@media (max-width: 767px) {
  .as-mai-hero { grid-template-columns: 1fr; gap: 24px; padding-top: 20px; }
  .as-mai-arch { max-width: 320px; }
  .as-mai-cols { grid-template-columns: 1fr; }
  .as-mai-size { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .as-mai-ring { width: 110px; height: 110px; font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) { .as-mai-arch img, .as-mai-dot img, .as-mai-col img { transition: none; } }

/* A125: menus show names exactly as written (brand names like iPhone must keep their small first letter) */
.main-navigation a, .main-navigation .nav-drop-title-wrap, .mobile-navigation a, .header-navigation a { text-transform: none !important; }
.main-navigation .nav-drop-title-wrap::first-letter, .main-navigation a::first-letter { text-transform: none !important; }
