/* ═══════════════════════════════════════════
   COASTAL DESIGN SYSTEM — ALL INNER PAGES
   Navy + Gold + Seafoam + Sand palette
═══════════════════════════════════════════ */
:root {
  --navy:    #0d1b2a;
  --deep:    #111f2e;
  --ocean:   #1e4d6b;
  --seafoam: #2a7c6f;
  --teal:    #1a5c6b;
  --sand:    #c9a96e;
  --gold:    #c8922a;
  --gold-lt: #e8b84b;
  --cream:   #f5efe6;
  --white:   #ffffff;
}

/* ── GLOBAL BODY ── */
body { background: var(--navy) !important; color: var(--cream) !important; font-family: 'Jost', sans-serif !important; }

/* ── SITE HEADER ── */
.site-header { background: var(--deep) !important; border-bottom: 1px solid rgba(200,146,42,.2) !important; box-shadow: 0 2px 40px rgba(0,0,0,.4) !important; }
.site-header .beta.site-title a, .site-title a { color: var(--white) !important; font-family: 'Playfair Display', serif !important; font-weight: 700 !important; }
.site-description { color: rgba(200,146,42,.7) !important; font-family: 'Jost', sans-serif !important; font-size: .72rem !important; letter-spacing: .22em !important; text-transform: uppercase !important; }

/* ── PRIMARY NAV ── */
.storefront-primary-navigation, .main-navigation { background: var(--deep) !important; border-top: 1px solid rgba(200,146,42,.1) !important; }
.main-navigation ul li a, .storefront-primary-navigation ul li a { color: rgba(245,239,230,.75) !important; font-family: 'Jost', sans-serif !important; font-size: .72rem !important; letter-spacing: .22em !important; text-transform: uppercase !important; transition: color .2s !important; }
.main-navigation ul li a:hover, .storefront-primary-navigation ul li a:hover { color: var(--gold-lt) !important; }
.main-navigation ul li.current-menu-item > a { color: var(--gold) !important; border-bottom: 2px solid var(--gold) !important; }
.site-header-cart .cart-contents, .site-header-cart a { color: var(--cream) !important; }
.site-header-cart .cart-contents .count { background: var(--gold) !important; color: var(--navy) !important; }
.site-search input[type="search"], .woocommerce-product-search input[type="search"] { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(200,146,42,.25) !important; color: var(--cream) !important; border-radius: 0 !important; }

/* ── BREADCRUMBS ── */
.woocommerce-breadcrumb, .storefront-breadcrumb { background: var(--deep) !important; color: rgba(245,239,230,.45) !important; font-size: .68rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; padding: 14px 0 !important; border-bottom: 1px solid rgba(200,146,42,.1) !important; }
.woocommerce-breadcrumb a { color: var(--gold) !important; }

/* ── MAIN CONTENT AREA ── */
#content.site-content, .site-main, .col-full { background: var(--navy) !important; }

/* ── HEADINGS ── */
h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .woocommerce-products-header__title, .woocommerce-loop-product__title { font-family: 'Playfair Display', serif !important; color: var(--white) !important; }
.entry-title a, .page-title a { color: var(--white) !important; }

/* ── SHOP PAGE HEADER ── */
.woocommerce-products-header { background: var(--deep) !important; padding: 60px 0 40px !important; text-align: center !important; border-bottom: 1px solid rgba(200,146,42,.15) !important; position: relative !important; }
.woocommerce-products-header::after { content: '' !important; display: block !important; width: 80px !important; height: 2px !important; background: var(--gold) !important; margin: 16px auto 0 !important; }
.woocommerce-products-header__title { font-size: clamp(2rem,4vw,3rem) !important; font-weight: 900 !important; }

/* ── PRODUCT GRID ── */
ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 3px !important; width: 100% !important; float: none !important; }
ul.products li.product { background: var(--deep) !important; border: none !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; transition: transform .4s cubic-bezier(.16,1,.3,1) !important; width: 100% !important; min-width: 0 !important; }
ul.products li.product:hover { transform: translateY(-4px) !important; z-index: 2 !important; }
ul.products li.product a img { transition: transform .6s cubic-bezier(.16,1,.3,1) !important; display: block !important; width: 100% !important; height: auto !important; }
ul.products li.product:hover a img { transform: scale(1.06) !important; }
ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; padding: 16px 18px 4px !important; color: var(--white) !important; }
ul.products li.product .price { color: var(--gold-lt) !important; font-family: 'Jost', sans-serif !important; font-size: .85rem !important; padding: 0 18px 8px !important; }
ul.products li.product .button { background: var(--gold) !important; color: var(--navy) !important; border: none !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; font-size: .68rem !important; font-weight: 600 !important; letter-spacing: .22em !important; text-transform: uppercase !important; padding: 11px 20px !important; margin: 8px 18px 18px !important; transition: background .25s, transform .2s !important; display: inline-block !important; }
ul.products li.product .button:hover { background: var(--gold-lt) !important; transform: translateY(-2px) !important; }
ul.products li.product .onsale { background: var(--seafoam) !important; color: var(--white) !important; border-radius: 0 !important; font-size: .62rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; padding: 6px 12px !important; }

/* ── SORTING BAR ── */
.woocommerce-ordering select, .storefront-sorting select { background: var(--deep) !important; border: 1px solid rgba(200,146,42,.3) !important; color: var(--cream) !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; }
.woocommerce-result-count { color: rgba(245,239,230,.45) !important; font-size: .72rem !important; letter-spacing: .14em !important; text-transform: uppercase !important; }

/* ── SINGLE PRODUCT ── */
.single-product div.product { background: var(--navy) !important; padding: 40px 0 !important; }
.single-product .woocommerce-product-gallery__image img { border: 1px solid rgba(200,146,42,.12) !important; }
.single-product .product_title { font-size: clamp(1.8rem,3.5vw,2.8rem) !important; font-weight: 900 !important; line-height: 1.1 !important; }
.single-product .price { color: var(--gold-lt) !important; font-size: 1.4rem !important; font-family: 'Playfair Display', serif !important; }
.single-product .woocommerce-product-details__short-description p, .woocommerce-product-details__short-description p { color: rgba(245,239,230,.75) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1.15rem !important; line-height: 1.8 !important; }
.single-product .single_add_to_cart_button, button.single_add_to_cart_button { background: var(--gold) !important; color: var(--navy) !important; border: none !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-size: .75rem !important; letter-spacing: .28em !important; text-transform: uppercase !important; padding: 18px 40px !important; transition: background .25s, transform .25s, box-shadow .25s !important; }
.single-product .single_add_to_cart_button:hover { background: var(--gold-lt) !important; transform: translateY(-3px) !important; box-shadow: 0 12px 36px rgba(200,146,42,.35) !important; }
.woocommerce-tabs .tabs { border-bottom: 1px solid rgba(200,146,42,.2) !important; }
.woocommerce-tabs .tabs li { background: transparent !important; border-color: rgba(200,146,42,.2) !important; }
.woocommerce-tabs .tabs li a { color: rgba(245,239,230,.55) !important; font-family: 'Jost', sans-serif !important; font-size: .72rem !important; letter-spacing: .2em !important; text-transform: uppercase !important; }
.woocommerce-tabs .tabs li.active a { color: var(--gold-lt) !important; background: var(--deep) !important; }
.woocommerce-Tabs-panel { background: var(--deep) !important; border: 1px solid rgba(200,146,42,.12) !important; padding: 30px !important; color: rgba(245,239,230,.75) !important; font-family: 'Cormorant Garamond', serif !important; }
.quantity input.qty { background: var(--deep) !important; border: 1px solid rgba(200,146,42,.3) !important; color: var(--white) !important; border-radius: 0 !important; text-align: center !important; }

/* ── SIDEBAR ── */
.widget-area, #secondary { background: var(--deep) !important; padding: 30px !important; border-left: 1px solid rgba(200,146,42,.12) !important; }
.widget-title { font-family: 'Playfair Display', serif !important; color: var(--white) !important; border-bottom: 1px solid rgba(200,146,42,.25) !important; padding-bottom: 10px !important; margin-bottom: 16px !important; }
.widget ul li a { color: rgba(245,239,230,.65) !important; font-family: 'Jost', sans-serif !important; }
.widget ul li a:hover { color: var(--gold-lt) !important; }

/* ── BLOG ── */
.blog .hentry, .archive .hentry { background: var(--deep) !important; border: none !important; margin-bottom: 3px !important; padding: 40px !important; transition: transform .35s !important; }
.blog .hentry:hover, .archive .hentry:hover { transform: translateY(-3px) !important; }
.entry-header .entry-title a { color: var(--white) !important; transition: color .2s !important; }
.entry-header .entry-title a:hover { color: var(--gold-lt) !important; }
.entry-meta, .entry-footer { color: rgba(200,146,42,.55) !important; font-size: .68rem !important; letter-spacing: .2em !important; text-transform: uppercase !important; }
.entry-meta a, .entry-footer a { color: var(--gold) !important; }
.entry-content p { color: rgba(245,239,230,.72) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1.15rem !important; line-height: 1.85 !important; }
.post-thumbnail { overflow: hidden !important; }
.post-thumbnail img { transition: transform .7s cubic-bezier(.16,1,.3,1) !important; display: block !important; }
.hentry:hover .post-thumbnail img { transform: scale(1.04) !important; }
.cat-links a { background: var(--seafoam) !important; color: var(--white) !important; padding: 3px 12px !important; font-size: .62rem !important; letter-spacing: .2em !important; text-transform: uppercase !important; font-family: 'Jost', sans-serif !important; }

/* ── SINGLE POST ── */
.single .entry-content { color: rgba(245,239,230,.82) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1.2rem !important; line-height: 1.9 !important; max-width: 780px !important; }
.single .entry-content h2, .single .entry-content h3 { color: var(--white) !important; font-family: 'Playfair Display', serif !important; margin-top: 2em !important; }
.single .entry-content a { color: var(--gold-lt) !important; border-bottom: 1px solid rgba(232,184,75,.3) !important; }
.single .entry-content blockquote { border-left: 3px solid var(--gold) !important; background: var(--deep) !important; padding: 20px 30px !important; color: rgba(245,239,230,.7) !important; font-style: italic !important; }

/* ── CART & CHECKOUT ── */
table.cart th { background: var(--deep) !important; color: var(--gold) !important; font-family: 'Jost', sans-serif !important; font-size: .68rem !important; letter-spacing: .25em !important; text-transform: uppercase !important; padding: 14px 16px !important; border: none !important; }
table.cart td { background: var(--deep) !important; border-bottom: 1px solid rgba(200,146,42,.1) !important; color: var(--cream) !important; padding: 18px 16px !important; vertical-align: middle !important; }
table.cart .product-name a { color: var(--white) !important; font-family: 'Playfair Display', serif !important; }
.cart-collaterals { background: var(--deep) !important; padding: 30px !important; border: 1px solid rgba(200,146,42,.15) !important; }
.cart_totals h2 { color: var(--white) !important; font-family: 'Playfair Display', serif !important; border-bottom: 1px solid rgba(200,146,42,.2) !important; padding-bottom: 12px !important; }
.cart_totals table { color: var(--cream) !important; }
.cart_totals .order-total .amount { color: var(--gold-lt) !important; font-size: 1.3rem !important; font-family: 'Playfair Display', serif !important; }
.wc-proceed-to-checkout .checkout-button, a.checkout-button { background: var(--gold) !important; color: var(--navy) !important; border: none !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; font-weight: 600 !important; font-size: .75rem !important; letter-spacing: .25em !important; text-transform: uppercase !important; padding: 18px 40px !important; display: block !important; text-align: center !important; transition: background .25s !important; }
.wc-proceed-to-checkout .checkout-button:hover { background: var(--gold-lt) !important; }
.woocommerce-checkout .form-row input, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea, .woocommerce form .input-text { background: var(--deep) !important; border: 1px solid rgba(200,146,42,.25) !important; color: var(--cream) !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; padding: 12px 16px !important; }
.woocommerce-checkout label, .woocommerce form label { color: rgba(245,239,230,.65) !important; font-family: 'Jost', sans-serif !important; font-size: .75rem !important; letter-spacing: .14em !important; text-transform: uppercase !important; }
.woocommerce-checkout h3, #order_review_heading { color: var(--white) !important; font-family: 'Playfair Display', serif !important; border-bottom: 1px solid rgba(200,146,42,.2) !important; padding-bottom: 12px !important; }

/* ── ABOUT / CONTACT PAGES ── */
.page .entry-content { color: rgba(245,239,230,.82) !important; font-family: 'Cormorant Garamond', serif !important; font-size: 1.2rem !important; line-height: 1.9 !important; }
.page .entry-content h2, .page .entry-content h3 { font-family: 'Playfair Display', serif !important; color: var(--white) !important; }
.page .entry-content a { color: var(--gold-lt) !important; }

/* ── PAGINATION ── */
.woocommerce-pagination ul li a, .woocommerce-pagination ul li span { background: var(--deep) !important; border: 1px solid rgba(200,146,42,.2) !important; color: var(--cream) !important; border-radius: 0 !important; font-family: 'Jost', sans-serif !important; }
.woocommerce-pagination ul li a:hover, .woocommerce-pagination ul li span.current { background: var(--gold) !important; color: var(--navy) !important; border-color: var(--gold) !important; }
.nav-links a { color: var(--gold-lt) !important; font-family: 'Jost', sans-serif !important; font-size: .72rem !important; letter-spacing: .2em !important; text-transform: uppercase !important; }

/* ── NOTICES ── */
.woocommerce-message, .woocommerce-info { background: var(--teal) !important; border-top: 3px solid var(--gold) !important; color: var(--white) !important; border-radius: 0 !important; }
.woocommerce-error { background: rgba(180,50,50,.3) !important; border-top: 3px solid #e05555 !important; color: var(--cream) !important; }
.woocommerce-message a.button, .woocommerce-info a.button { background: var(--gold) !important; color: var(--navy) !important; border-radius: 0 !important; }

/* ── FOOTER ── */
.site-footer { background: var(--deep) !important; border-top: 1px solid rgba(200,146,42,.2) !important; color: rgba(245,239,230,.4) !important; font-family: 'Jost', sans-serif !important; font-size: .68rem !important; letter-spacing: .18em !important; text-transform: uppercase !important; padding: 30px 0 !important; }
.site-footer a { color: rgba(200,146,42,.6) !important; }
.site-footer a:hover { color: var(--gold-lt) !important; }
.site-info { color: rgba(245,239,230,.3) !important; }

/* ── MY ACCOUNT ── */
.woocommerce-MyAccount-navigation { background: var(--deep) !important; padding: 20px !important; }
.woocommerce-MyAccount-navigation ul li a { color: rgba(245,239,230,.65) !important; font-family: 'Jost', sans-serif !important; font-size: .75rem !important; letter-spacing: .16em !important; text-transform: uppercase !important; padding: 10px 0 !important; border-bottom: 1px solid rgba(200,146,42,.1) !important; display: block !important; transition: color .2s !important; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { color: var(--gold-lt) !important; }
.woocommerce-product-gallery { background: var(--deep) !important; padding: 20px !important; }

/* ── GLOBAL LINKS ── */
body a { color: var(--gold-lt) !important; }
body a:hover { color: var(--white) !important; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) { ul.products { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 480px) { ul.products { grid-template-columns: 1fr !important; } }

/* ── SHOP: HIDE BLOG WIDGETS FROM SIDEBAR ── */
.woocommerce-page #secondary .widget_recent_entries,
.woocommerce-page #secondary .widget_recent_comments,
.woocommerce-page #secondary .widget_archive,
.woocommerce-page #secondary .widget_categories,
.woocommerce-page #secondary .widget_meta,
.post-type-archive-product #secondary .widget_recent_entries,
.post-type-archive-product #secondary .widget_recent_comments,
.post-type-archive-product #secondary .widget_archive,
.post-type-archive-product #secondary .widget_categories { display: none !important; }

/* ── SHOP: PRODUCT LINK fills cell ── */
ul.products li.product .woocommerce-LoopProduct-link {
  display: block !important;
  width: 100% !important;
}

/* ── WOOCOMMERCE FULL-WIDTH LAYOUT (no sidebar) ── */
.woocommerce-page #primary,
.woocommerce-shop #primary,
.woocommerce-cart #primary,
.woocommerce-checkout #primary {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce-page #secondary { display: none !important; }

/* With full width, allow more product columns */
.woocommerce-shop ul.products {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
}

/* ── SHOP: EDGE-TO-EDGE GRID (remove col-full centering offset on shop) ── */
.woocommerce-shop .col-full {
  max-width: 100% !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.woocommerce-shop .woocommerce-products-header {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.woocommerce-shop .storefront-sorting {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.woocommerce-shop ul.products {
  max-width: 1200px !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
}
.woocommerce-shop .woocommerce-pagination {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* ── SHOP: KILL STOREFRONT'S SIDEBAR MARGIN OFFSETS ── */
.woocommerce-shop .woocommerce-products-header,
.woocommerce-shop .storefront-sorting,
.woocommerce-shop ul.products,
.woocommerce-shop .woocommerce-pagination,
.woocommerce-shop .woocommerce-notices-wrapper {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── FIX: kill Storefront's float clear on grid items ── */
ul.products li.product,
ul.products li.product.first,
ul.products li.product.last {
  clear: none !important;
  float: none !important;
}

/* ── FIX: kill Storefront's clearfix ghost grid item ── */
ul.products::before,
ul.products::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
}
