/* Samrat Commerce V4.1 flagship presentation layer.
   Merchant identity and brand colors remain setting-driven. */
:root {
  --flagship-ink: #111713;
  --flagship-forest: #132019;
  --flagship-muted: #686d68;
  --flagship-canvas: #fbfaf7;
  --flagship-warm: #f2eee7;
  --flagship-line: rgba(17, 23, 19, .13);
  --flagship-radius: 12px;
  --flagship-radius-lg: 18px;
  --flagship-ease: cubic-bezier(.22, .75, .24, 1);
}

.flagship-storefront {
  color: var(--flagship-ink);
  background: var(--flagship-canvas);
  font-kerning: normal;
}
.flagship-storefront main { background: #fff; }
.flagship-storefront .container { width: min(100% - 48px, 1280px); max-width: 1280px; }
.flagship-storefront :where(h1, h2, h3) { text-wrap: balance; }
.flagship-storefront :where(p, li) { text-wrap: pretty; }
.flagship-storefront .eyebrow { font-size: .7rem; font-weight: 800; letter-spacing: .155em; }
.flagship-storefront .btn,
.flagship-storefront .btn-ghost { font-weight: 760; }

/* First impression and navigation */
.flagship-storefront .v2-announcement { min-height: 30px; background: var(--flagship-forest); }
.flagship-storefront .v2-header { border-bottom: 0; }
.flagship-storefront .v2-header-main { min-height: 82px; grid-template-columns: 230px minmax(320px, 1fr) 184px; }
.flagship-storefront .v2-brand > span { color: var(--flagship-ink); font-size: 1.65rem; }
.flagship-storefront .v2-brand small { max-width: 225px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.flagship-storefront .v2-search { height: 48px; background: #fff; border-color: rgba(17,23,19,.22); }
.flagship-storefront .v2-search:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 11%, transparent); }
.flagship-storefront .v2-search button { background: var(--brand); }
.flagship-storefront .v2-category-nav { border-top: 1px solid rgba(17,23,19,.08); }
.flagship-storefront .v2-category-nav .container { min-height: 44px; gap: 30px; }
.flagship-storefront .v2-category-nav a { position: relative; color: #515752; font-size: .78rem; }
.flagship-storefront .v2-category-nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -13px; height: 2px; background: var(--brand); transform: scaleX(0); transition: transform 180ms var(--flagship-ease); }
.flagship-storefront .v2-category-nav a:hover::after,
.flagship-storefront .v2-category-nav a.is-active::after { transform: scaleX(1); }

/* Flagship campaign hero */
.flagship-storefront .g2d-commerce-hero,
.flagship-storefront .g2d-commerce-hero .g2c-hero-track,
.flagship-storefront .g2d-commerce-hero .g2c-hero-content { min-height: clamp(570px, 46vw, 650px); }
.flagship-storefront .g2d-commerce-hero { background: var(--flagship-warm); }
.flagship-storefront .g2d-commerce-hero .g2c-hero-overlay {
  background: linear-gradient(90deg, rgba(251,250,247,.98) 0%, rgba(251,250,247,.91) 32%, rgba(251,250,247,.35) 55%, rgba(251,250,247,.02) 75%);
}
.flagship-storefront .g2d-commerce-hero .g2c-hero-copy { width: min(560px, 45vw); }
.flagship-storefront .g2d-commerce-hero .g2c-hero-copy h1 { max-width: 11ch; font-size: clamp(3.4rem, 5.25vw, 5.35rem); line-height: .94; }
.flagship-storefront .g2d-commerce-hero .g2c-hero-copy p { max-width: 43ch; color: #5c625d; }
.flagship-storefront .g2d-commerce-hero .g2c-hero-media img { filter: saturate(.93) contrast(1.01); }
.flagship-storefront .g2d-commerce-hero .g2c-slider-arrow { border-color: rgba(17,23,19,.16); box-shadow: 0 8px 24px rgba(17,23,19,.08); }
.flagship-storefront .g2d-commerce-hero .g2c-slider-dots { background: rgba(255,255,255,.78); backdrop-filter: blur(8px); padding: 9px 12px; }

/* Section rhythm and catalogue storytelling */
.flagship-storefront .v2-section,
.flagship-storefront .v2-deal-section > .container { padding-top: clamp(64px, 7vw, 94px); padding-bottom: clamp(64px, 7vw, 94px); }
.flagship-storefront .v2-section-head { align-items: end; margin-bottom: 34px; }
.flagship-storefront .v2-section-head h2,
.flagship-storefront .section-title-row h2 { max-width: 16ch; }
.flagship-storefront .v2-trustbar .container > div { min-height: 68px; }
.flagship-storefront .g2d-category-section { background: #fff; }
.flagship-storefront .v21-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.flagship-storefront .v21-category-card { gap: 16px 10px; }
.flagship-storefront .v21-category-art { aspect-ratio: 5 / 3.35; border-radius: var(--flagship-radius); background: var(--flagship-warm); }
.flagship-storefront .v21-category-art img { width: 100%; height: 100%; object-fit: cover; }
.flagship-storefront .v21-category-card strong { font-size: 1.05rem; }
.flagship-storefront .v21-category-card em { border: 1px solid var(--flagship-line); background: #fff; }

/* Commercial product cards */
.flagship-storefront .product-grid { gap: clamp(16px, 2vw, 26px); }
.flagship-storefront .product-card-media { aspect-ratio: 4 / 5; border-radius: var(--flagship-radius); background: var(--flagship-warm); }
.flagship-storefront .product-card-image { transition: opacity 320ms var(--flagship-ease), transform 520ms var(--flagship-ease); }
.flagship-storefront .product-card:hover .product-card-image,
.flagship-storefront .product-card:focus-within .product-card-image { transform: scale(1.035); }
.flagship-storefront .product-card-body { padding-top: 17px; }
.flagship-storefront .product-card-eyebrow { color: #747a75; letter-spacing: .13em; }
.flagship-storefront .product-card-title h3 { font-size: 1.02rem; line-height: 1.38; }
.flagship-storefront .product-card .price strong { font-size: 1.12rem; }
.flagship-storefront .product-tag { border-radius: 4px; }
.flagship-storefront .product-card-actions { transform: translateY(6px); opacity: 0; transition: opacity 180ms ease, transform 180ms var(--flagship-ease); }
.flagship-storefront .product-card:hover .product-card-actions,
.flagship-storefront .product-card:focus-within .product-card-actions { transform: translateY(0); opacity: 1; }

/* Editorial story */
.flagship-storefront .g2c-video-section { padding-top: clamp(54px, 6vw, 80px); padding-bottom: clamp(72px, 8vw, 104px); }
.flagship-storefront .g2c-video-shell { grid-template-columns: minmax(310px, .72fr) minmax(0, 1.28fr); min-height: 500px; border-radius: var(--flagship-radius-lg); background: var(--flagship-forest); box-shadow: 0 28px 70px rgba(19,32,25,.14); }
.flagship-storefront .g2c-video-copy { padding: clamp(42px, 5.5vw, 78px); }
.flagship-storefront .g2c-video-copy h2 { max-width: 9ch; font-size: clamp(2.75rem, 4.5vw, 4.7rem); }
.flagship-storefront .g2c-video-copy p { max-width: 34ch; color: rgba(255,255,255,.68); }
.flagship-storefront .g2c-video-media { min-height: 500px; }
.flagship-storefront .g2c-video-media > img { object-position: center; }

/* Shop / PLP */
.flagship-storefront .catalog-hero { padding-block: 58px 42px; }
.flagship-storefront .catalog-hero h1 { max-width: 16ch; font-size: clamp(2.8rem, 4.25vw, 4rem); line-height: .98; }
.flagship-storefront .catalog-shell { grid-template-columns: 252px minmax(0, 1fr); gap: 34px; }
.flagship-storefront .filter-panel { position: sticky; top: 142px; border: 1px solid var(--flagship-line); border-radius: var(--flagship-radius); padding: 22px; background: #fff; }
.flagship-storefront .filter-block:first-child { padding-top: 0; }
.flagship-storefront .filter-chip { border: 1px solid var(--flagship-line); border-radius: 6px; background: #fff; }
.flagship-storefront .empty-state { border: 1px solid var(--flagship-line); border-radius: var(--flagship-radius); background: var(--flagship-canvas); }

/* PDP: imagery first, purchase controls calm and explicit */
.flagship-storefront .breadcrumb { color: #737974; }
.flagship-storefront .product-page { grid-template-columns: minmax(0, 1.2fr) minmax(390px, .78fr); gap: clamp(38px, 5vw, 72px); }
.flagship-storefront .product-gallery { grid-template-columns: 80px minmax(0, 1fr); }
.flagship-storefront .product-main-media { aspect-ratio: 4 / 5; border-radius: var(--flagship-radius); background: var(--flagship-warm); }
.flagship-storefront .product-zoom-trigger img { object-fit: cover; }
.flagship-storefront .thumb-button { width: 76px; aspect-ratio: 4 / 5; border-radius: 8px; }
.flagship-storefront .thumb-button img { width: 100%; height: 100%; object-fit: cover; }
.flagship-storefront .product-purchase { top: 136px; border-radius: var(--flagship-radius); padding: clamp(28px, 3vw, 38px); box-shadow: 0 18px 52px rgba(17,23,19,.055); }
.flagship-storefront .product-purchase h1 { max-width: 12ch; }
.flagship-storefront .purchase-benefits { border-color: var(--flagship-line); background: var(--flagship-canvas); }
.flagship-storefront .payment-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; margin-top: 20px; }
.flagship-storefront .payment-trust span { border: 0; border-top: 1px solid var(--flagship-line); border-radius: 0; padding: 9px 0; background: none; color: #656b66; }
.flagship-storefront .product-information { grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(40px, 7vw, 96px); }
.flagship-storefront .product-information h2 { max-width: 10ch; }
.flagship-storefront .reviews-section { background: var(--flagship-canvas); }

/* Cart, checkout, tracking and information pages */
.flagship-storefront .commerce-journey-section,
.flagship-storefront .checkout-layout { padding-top: 18px; }
.flagship-storefront .cart-card,
.flagship-storefront .checkout-form-card,
.flagship-storefront .order-summary,
.flagship-storefront .tracking-card,
.flagship-storefront .contact-form,
.flagship-storefront .contact-details .card { border-radius: var(--flagship-radius); border-color: var(--flagship-line); box-shadow: none; }
.flagship-storefront .order-summary { top: 144px; }
.flagship-storefront .checkout-total { margin-top: 10px; border-top: 1px solid var(--flagship-line); padding-top: 18px; }
.flagship-storefront .checkout-total strong { font-size: 1.45rem; }
.flagship-storefront .tracking-card { background: #fff; }
.flagship-storefront .content-page { padding-top: 72px; }
.flagship-storefront .content-page-head h1 { max-width: 14ch; }
.flagship-storefront .content-prose { max-width: 70ch; }
.flagship-storefront .contact-layout { gap: 28px; }
.flagship-storefront .contact-map { border-radius: var(--flagship-radius); }

/* Trust and footer */
.flagship-storefront .store-location { background: var(--flagship-warm); }
.flagship-storefront .store-location iframe { border-radius: var(--flagship-radius); }
.flagship-storefront .v2-footer { padding-top: 78px; color: rgba(255,255,255,.76); background: var(--flagship-forest); }
.flagship-storefront .v2-footer-grid { grid-template-columns: minmax(270px, 1.5fr) repeat(auto-fit, minmax(155px, 1fr)); gap: 54px; }
.flagship-storefront .v2-footer strong { color: #fff; letter-spacing: -.01em; }
.flagship-storefront .v2-footer a { color: rgba(255,255,255,.72); }
.flagship-storefront .v2-footer a:hover { color: #fff; }
.flagship-storefront .footer-brand > span { color: #fff; font-size: 1.75rem; }
.flagship-storefront .footer-about p { max-width: 34ch; line-height: 1.7; }
.flagship-storefront .footer-trust { gap: 7px; }
.flagship-storefront .footer-trust span { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.055); }
.flagship-storefront .v2-footer-copy { border-top-color: rgba(255,255,255,.13); color: rgba(255,255,255,.54); }

@media (max-width: 1000px) {
  .flagship-storefront .v2-header-main { grid-template-columns: 190px minmax(260px, 1fr) 174px; }
  .flagship-storefront .product-page { grid-template-columns: 1fr; }
  .flagship-storefront .product-purchase { position: relative; top: auto; }
  .flagship-storefront .filter-panel { top: 118px; }
}

@media (max-width: 800px) {
  .flagship-storefront .container { width: min(100% - 28px, 1280px); }
  .flagship-storefront .v2-header { position: relative; top: auto; }
  .flagship-storefront .v2-header-main { grid-template-columns: 1fr auto; min-height: 62px; }
  .flagship-storefront .v2-category-nav .container { gap: 24px; }
  .flagship-storefront .v2-category-nav a::after { display: none; }
  .flagship-storefront .filter-panel { position: fixed; top: 0; border: 0; border-radius: 0; padding: 0 22px 28px; }
  .flagship-storefront .catalog-hero { padding-block: 38px 28px; }
  .flagship-storefront .catalog-hero h1 { font-size: clamp(2.35rem, 8vw, 3.25rem); }
  .flagship-storefront .product-information { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 700px) {
  .flagship-storefront .v2-announcement .container { width: calc(100% - 24px); }
  .flagship-storefront .v2-mobile-search { padding-bottom: 10px; }
  .flagship-storefront .v2-search { height: 44px; }

  .flagship-storefront .g2d-commerce-hero,
  .flagship-storefront .g2d-commerce-hero .g2c-hero-track,
  .flagship-storefront .g2d-commerce-hero .g2c-hero-content { min-height: 650px; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-media img { object-position: var(--g2d-mobile-position, center bottom); }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-overlay {
    background: linear-gradient(180deg, rgba(251,250,247,.98) 0%, rgba(251,250,247,.94) 42%, rgba(251,250,247,.62) 62%, rgba(251,250,247,.08) 100%);
  }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-content { align-items: flex-start; padding: 54px 14px 88px; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-copy { width: 100%; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-copy h1 { max-width: none; margin: 10px 0 13px; font-size: clamp(2.35rem, 10.45vw, 2.85rem); line-height: .98; letter-spacing: -.055em; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-copy p { max-width: 34ch; font-size: .9rem; line-height: 1.52; }
  .flagship-storefront .g2d-commerce-hero .g2d-hero-price { margin-top: 16px; }
  .flagship-storefront .g2d-commerce-hero .hero-actions { align-items: flex-start; margin-top: 18px; }
  .flagship-storefront .g2d-commerce-hero .hero-actions .btn { width: auto; min-width: 154px; }
  .flagship-storefront .g2d-commerce-hero .g2c-slider-dots { bottom: 16px; }

  .flagship-storefront .v2-section,
  .flagship-storefront .v2-deal-section > .container { padding-top: 58px; padding-bottom: 58px; }
  .flagship-storefront .v2-section-head { margin-bottom: 24px; }
  .flagship-storefront .v21-category-grid { display: flex; gap: 12px; width: 100%; max-width: 100%; overflow-x: auto; overflow-y: hidden; contain: inline-size; }
  .flagship-storefront .v21-category-card { width: min(76vw, 280px); flex-basis: min(76vw, 280px); }
  .flagship-storefront .v21-category-art { aspect-ratio: 5 / 3.5; }
  .flagship-storefront .product-grid { gap: 12px; }
  .flagship-storefront .product-card-actions { display: none; }
  .flagship-storefront .product-card-body { padding-top: 12px; }
  .flagship-storefront .product-card-title h3 { font-size: .9rem; }
  .flagship-storefront .product-card .price strong { font-size: .98rem; }

  .flagship-storefront .g2c-video-section { padding-inline: 14px; }
  .flagship-storefront .g2c-video-shell { grid-template-columns: 1fr; min-height: 0; }
  .flagship-storefront .g2c-video-copy { padding: 34px 26px; }
  .flagship-storefront .g2c-video-copy h2 { max-width: 10ch; font-size: 2.55rem; }
  .flagship-storefront .g2c-video-media { min-height: 300px; }

  .flagship-storefront .product-page { gap: 26px; }
  .flagship-storefront .product-gallery { grid-template-columns: 1fr; }
  .flagship-storefront .product-main-media { aspect-ratio: 4 / 5; }
  .flagship-storefront .product-purchase { padding: 24px 18px; }
  .flagship-storefront .payment-trust { grid-template-columns: 1fr 1fr; }
  .flagship-storefront .cart-card,
  .flagship-storefront .checkout-form-card,
  .flagship-storefront .order-summary { border-radius: 10px; }
  .flagship-storefront .v2-footer { padding-top: 60px; }
  .flagship-storefront .v2-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .flagship-storefront .v2-footer-grid > div:first-child { grid-column: auto; }
}

@media (max-width: 360px) {
  .flagship-storefront .container { width: calc(100% - 22px); }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-content { padding-inline: 11px; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-copy h1 { font-size: 2.32rem; }
  .flagship-storefront .g2d-commerce-hero .g2c-hero-copy p { max-width: 31ch; }
  .flagship-storefront .payment-trust { grid-template-columns: 1fr; }
}

@media (hover: none) {
  .flagship-storefront .product-card-actions { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .flagship-storefront .product-card-image,
  .flagship-storefront .v2-category-nav a::after { transition: none !important; }
}
