/*
Theme Name: Sunset Coastal Child (v21 – 8.4)
Description: Upscale boho-chic child theme for Sunset Coastal, built on Storefront.
Template: storefront
Version: 8.4
*/

/* ============ FONT IMPORTS ============ */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,700;0,9..144,900;1,9..144,400;1,9..144,500&family=Work+Sans:wght@400;500;600;700&display=swap');

/* ============ COLOR & TYPE SYSTEM ============ */
:root {
  --bone: #F1ECE1;
  --paper: #FAF7F0;
  --charcoal: #1C1A17;
  --rust: #B85C38;
  --olive: #6B7052;
  --gold: #C9982F;
  --ink-soft: #766B5D;
}

body,
.storefront-primary-navigation,
.site-header,
.site-content {
  background-color: var(--bone) !important;
  color: var(--charcoal) !important;
  font-family: 'Work Sans', sans-serif !important;
}

/* ============ REMOVE STOREFRONT'S DEFAULT OUTER PAGE FRAME ============
   Storefront wraps the whole site in a "card" look by default (a subtle
   border/box-shadow around #page or .site) which reads as an unwanted
   outer border once the background color is customized. Strip it. */
#page,
.site,
.storefront-full-width-content,
.site-content,
.col-full {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ============ UNIVERSAL IMAGE GAP FIX ============
   <img> is `inline` by default, which reserves a sliver of space below
   the image for text descenders — this is what was showing up as a
   thin white line at the top or bottom of product photos everywhere
   on the site, regardless of how well each individual photo was
   cropped. Forcing every content image to `display: block` removes
   that reserved space for good. */
.woocommerce ul.products li.product img,
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img,
.woocommerce div.product div.images .flex-control-thumbs img,
.woocommerce-cart table.cart img,
.widget_shopping_cart img,
.wc-block-components-order-summary-item__image img,
.wc-block-mini-cart-item__image img,
.woocommerce ul.products li.product-category img,
.woocommerce-checkout-review-order-table img,
.jw-img-wrap img,
.dc-img-wrap img,
.sc-footer-logo,
img.custom-logo {
  display: block;
}

h1, h2, h3, h4, h5, h6,
.site-title,
.woocommerce-loop-product__title {
  font-family: 'Fraunces', serif !important;
  color: var(--charcoal) !important;
  letter-spacing: -0.01em;
}

/* Logo / site title styled like the mockup nav */
.site-title a {
  font-style: italic;
  font-weight: 500;
  font-size: 2.1rem !important;
}

/* Custom logo sizing (auto-installed on theme activation) */
.custom-logo-link,
.site-branding .custom-logo-link {
  display: inline-block;
}
.custom-logo-link img,
.site-branding img.custom-logo {
  max-height: 190px !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain;
  filter: drop-shadow(0 2px 10px rgba(28,26,23,0.10));
}
@media (max-width: 768px) {
  .custom-logo-link img,
  .site-branding img.custom-logo { max-height: 150px !important; }
}

/* ============ HEADER LAYOUT — centered logo, boutique feel ============ */
.site-header .col-full {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 16px;
  padding-bottom: 10px;
}
.site-branding {
  text-align: center;
  margin: 0 0 8px !important;
  float: none !important;
}
.site-header-cart {
  position: absolute;
  right: 24px;
  top: 22px;
}
.storefront-primary-navigation {
  border-top: none !important;
  background: transparent !important;
}
.site-header {
  position: relative;
}

/* Eyebrow-style category labels & taglines */
.site-description,
.woocommerce-breadcrumb {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rust) !important;
  font-weight: 600;
}

/* ============ NAVIGATION ============ */
.main-navigation ul li a {
  text-transform: uppercase;
  font-size: 0.88rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  color: var(--charcoal) !important;
}
@media (max-width: 768px) {
  .main-navigation ul li a { font-size: 0.78rem; }
}
.main-navigation ul li a:hover { color: var(--rust) !important; }
.site-header { border-bottom: 1px solid rgba(28,26,23,0.1); }
@media (max-width: 768px) {
  .site-header { border-bottom: none; }
}

/* ============ BUTTONS ============ */
.button,
button,
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit {
  background-color: var(--charcoal) !important;
  color: var(--paper) !important;
  border: none !important;
  border-radius: 2px !important;
  text-transform: uppercase;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  transition: opacity 0.25s ease;
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background-color: var(--rust) !important;
  opacity: 1 !important;
}

/* Secondary / outline buttons */
.woocommerce a.added_to_cart,
.button.alt {
  background-color: var(--rust) !important;
}

/* ============ PRODUCT CARDS ============ */
.woocommerce ul.products li.product {
  border-radius: 4px;
  overflow: hidden;
}
.woocommerce ul.products li.product .price {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--gold) !important;
}
.woocommerce span.onsale {
  background-color: var(--rust) !important;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  border-radius: 100px;
}

/* ============ LINKS / ACCENTS ============ */
a { color: var(--charcoal); }
a:hover { color: var(--rust); }

/* Widget titles, sidebar headers */
.widget-title {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

/* ============ FOOTER ============ */
#colophon,
.site-footer {
  background-color: var(--charcoal) !important;
  color: var(--paper) !important;
}
#colophon a,
.site-footer a {
  color: var(--paper) !important;
}
#colophon .widget-title,
.site-footer .widget-title {
  color: var(--gold) !important;
}

/* ============ FORM FIELDS ============ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
textarea,
select {
  border: 1px solid rgba(28,26,23,0.2) !important;
  border-radius: 2px !important;
  font-family: 'Work Sans', sans-serif !important;
  background-color: var(--paper) !important;
}
input:focus, textarea:focus, select:focus {
  outline: none !important;
  border-color: var(--rust) !important;
}

/* ============ GRAIN TEXTURE OVERLAY (subtle, whole site) ============ */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ============ RESPONSIVE TWEAKS ============ */
@media (max-width: 768px) {
  .site-title a { font-size: 1.25rem !important; }
  .button, button, input[type="submit"] { padding: 12px 26px !important; }
}

/* ============ SALE BADGE (Impulse-style) ============ */
.woocommerce span.onsale {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: var(--charcoal) !important;
  color: var(--paper) !important;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.68rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 5px 12px !important;
  border-radius: 2px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  z-index: 2;
}
.woocommerce ul.products li.product,
.woocommerce div.product .images {
  position: relative;
}

/* ============ STRIKETHROUGH / SALE PRICE ============ */
.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: var(--ink-soft) !important;
  opacity: 0.75;
  text-decoration: line-through;
  font-size: 0.85em;
  margin-right: 8px;
}
.woocommerce ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
  font-weight: 700;
  color: var(--rust) !important;
}

/* ============ SAVINGS CALLOUT ============ */
.sc-savings {
  display: block;
  margin-top: 4px;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rust);
}

/* ============ SORT / ORDERING DROPDOWN ============ */
.woocommerce-ordering select,
.woocommerce-ordering .orderby {
  border: 1px solid var(--charcoal) !important;
  border-radius: 2px !important;
  padding: 12px 16px !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 0.82rem !important;
  background-color: var(--paper) !important;
  color: var(--charcoal) !important;
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--charcoal) 50%), linear-gradient(135deg, var(--charcoal) 50%, transparent 50%);
  background-position: calc(100% - 18px) center, calc(100% - 13px) center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 34px !important;
}
.woocommerce-ordering {
  margin-bottom: 24px !important;
}

/* Result count text ("Showing 1-16 of 34 results") */
.woocommerce-result-count {
  font-family: 'Work Sans', sans-serif;
  font-size: 0.82rem;
  color: var(--ink-soft);
}


/* ============ HERO SLIDESHOW ============ */
.sc-slideshow {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 20px;
  height: 62vh;
  min-height: 420px;
  max-height: 620px;
  border-radius: 6px;
  overflow: hidden;
}
.sc-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center 25%;
  opacity: 0;
  transition: opacity 1s ease;
  overflow: hidden;
}
.sc-slide.is-active { opacity: 1; z-index: 1; }
.sc-slide-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  transform: scale(1);
  transition: transform 8s ease-out;
}
.sc-slide.is-active .sc-slide-video { transform: scale(1.08); }

/* ============ CRYSTAL REEL BLOCK ============ */
.sc-reel-wrap {
  max-width: 1200px;
  margin: 0 auto 40px;
  display: flex;
  justify-content: center;
}
.sc-reel-card {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(28,26,23,0.18);
}
.sc-reel-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sc-reel-caption {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 22px 24px;
  text-align: center;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--paper);
  background: linear-gradient(180deg, rgba(28,26,23,0) 0%, rgba(28,26,23,0.75) 100%);
}
@media (max-width: 768px) {
  .sc-reel-caption { font-size: 0.75rem; padding: 16px; }
}
.sc-slide-flat-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
}

/* ============ CUSTOM FOOTER ============ */
.sc-footer {
  background: var(--charcoal);
  color: var(--paper);
  padding: 50px 24px 24px;
}
.sc-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}
.sc-footer-col h4 {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--gold);
  margin: 0 0 14px;
}
.sc-footer-col p,
.sc-footer-col a {
  color: var(--paper);
  font-size: 0.85rem;
  text-decoration: none;
  line-height: 1.8;
}
.sc-footer-col a:hover { color: var(--gold); }
.sc-footer-social {
  display: flex;
  gap: 18px;
  margin-top: 14px;
}
.sc-footer-social a {
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  border-bottom: 1px solid var(--paper);
  padding-bottom: 2px;
}
.sc-footer-social a:hover { border-color: var(--gold); }
.sc-footer-bottom {
  max-width: 1200px;
  margin: 36px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(250,247,240,0.15);
  text-align: center;
}
.sc-footer-copyright {
  font-size: 0.75rem;
  color: var(--paper);
  opacity: 0.7;
}
.sc-slide-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(28,26,23,0.05) 0%, rgba(28,26,23,0.75) 100%);
}
.sc-slide-text {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 56px 64px;
  max-width: 600px;
  text-align: left;
}
.sc-slide-eyebrow {
  display: block;
  font-family: 'Work Sans', sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--gold);
  margin-bottom: 20px;
}
.sc-slide-text h2,
.sc-slide-text p {
  color: var(--paper) !important;
}
.sc-slide-text h2 {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 3.6rem;
  line-height: 1.12;
  margin: 0 0 34px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.sc-slide-btn {
  display: inline-block;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 18px 44px;
  border-radius: 2px;
  text-decoration: none;
  color: var(--paper);
  border: 1px solid var(--paper);
  background: transparent;
  transition: all 0.25s ease;
}
.sc-slide-btn:hover {
  background: var(--paper);
  color: var(--charcoal);
}
.sc-slide-dots {
  position: absolute;
  bottom: 20px;
  right: 24px;
  z-index: 3;
  display: flex;
  gap: 8px;
}
.sc-dot {
  width: 8px !important;
  height: 8px !important;
  min-height: 0 !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(250,247,240,0.45) !important;
  cursor: pointer;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-size: 0 !important;
}
.sc-dot.is-active { background: var(--paper) !important; }
@media (max-width: 768px) {
  .sc-slideshow { height: 92vh; min-height: 600px; max-height: 880px; margin: 0; border-radius: 0; }
  .sc-slide-text { padding: 28px 24px 48px; max-width: 100%; }
  .sc-slide-text h2 { font-size: 2rem; margin-bottom: 20px; }
  .sc-slide-eyebrow { font-size: 0.75rem; margin-bottom: 12px; }
  .sc-slide-btn { padding: 14px 28px; font-size: 0.75rem; }
}
.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 1px 8px rgba(28,26,23,0.08);
}

/* ============ SINGLE PRODUCT GALLERY (v3.4 rewrite) ============ */
/* The old version forced the gallery track to a 1:1 box and stacked every
   photo absolutely on top of it. That only works for ONE photo: products
   with several photos use a sliding track many times wider than the
   screen, so the box became enormous and the page showed a thin sliver
   of a giant, stretched image. This version crops each photo to a square
   on its own and lets the slider size itself normally. */
.single-product div.product .woocommerce-product-gallery,
.woocommerce div.product div.images {
  width: 100% !important;
  float: none !important;
  margin: 0 0 24px !important;
  border-radius: 6px;
  overflow: hidden;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  padding-bottom: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  position: relative !important;
  padding-bottom: 0 !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: block;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: 0 !important;
  border-radius: 6px;
}
.woocommerce div.product div.images .flex-control-thumbs {
  display: flex !important;
  gap: 8px;
}
.woocommerce div.product div.images .flex-control-thumbs li {
  width: auto !important;
  flex: 1 1 0;
}
.woocommerce div.product div.images .flex-control-thumbs img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}

/* ============ CART PAGE STYLING FIX ============ */
.woocommerce-cart table.cart,
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  border: none !important;
  font-family: 'Work Sans', sans-serif;
}
.woocommerce-cart table.cart thead {
  border-bottom: 1px solid rgba(28,26,23,0.15) !important;
}
.woocommerce-cart table.cart img {
  border-radius: 4px;
  width: 90px !important;
  height: 90px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

/* ============ IMAGE CROP FIX — EVERY OTHER PRODUCT-THUMBNAIL CONTEXT ============ */
.widget_shopping_cart img,
.woocommerce-mini-cart-item img,
.wc-block-components-order-summary-item__image img,
.wc-block-mini-cart-item__image img,
.woocommerce ul.products li.product-category img,
.woocommerce-checkout-review-order-table img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 4px;
}
.woocommerce-cart .quantity input.qty {
  border: 1px solid rgba(28,26,23,0.2) !important;
  border-radius: 2px !important;
  padding: 8px !important;
  font-family: 'Work Sans', sans-serif !important;
}

/* ============ "ADDED TO CART" NOTICE — brand gold instead of default green ============ */
.woocommerce-message {
  background-color: var(--gold) !important;
  border-top: none !important;
  color: var(--charcoal) !important;
  font-family: 'Work Sans', sans-serif !important;
}
.woocommerce-message::before {
  color: var(--charcoal) !important;
}
.woocommerce-message a.button.wc-forward {
  background-color: var(--charcoal) !important;
  color: var(--paper) !important;
  border-radius: 2px !important;
}
.woocommerce-message a.button.wc-forward:hover {
  background-color: var(--rust) !important;
}
.cart-collaterals .cart_totals {
  background: var(--paper);
  border: 1px solid rgba(28,26,23,0.1);
  border-radius: 4px;
  padding: 24px;
}
.cart-collaterals .cart_totals h2 {
  font-size: 1.3rem !important;
}

/* ============ CART FORMATTING (WooCommerce Blocks cart) ============ */
.wc-block-cart-item__image img,
.wc-block-cart-item__product img {
  border-radius: 4px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
  font-family: 'Fraunces', serif !important;
  font-weight: 500 !important;
  color: var(--charcoal) !important;
  text-decoration: none !important;
}
/* Truncate any product description/summary shown in the cart line item */
.wc-block-cart-item__description,
.wc-block-components-product-metadata__description {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.85rem;
  color: var(--ink-soft) !important;
  margin-top: 4px !important;
}
.wc-block-components-quantity-selector {
  border: 1px solid rgba(28,26,23,0.2) !important;
  border-radius: 2px !important;
  overflow: hidden;
}
.wc-block-components-quantity-selector__button {
  background: var(--paper) !important;
  color: var(--charcoal) !important;
  border: none !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: var(--bone) !important;
}
.wc-block-components-quantity-selector__input {
  font-family: 'Work Sans', sans-serif !important;
  border: none !important;
}
.wc-block-cart-item__remove-link,
.remove_from_cart_button {
  color: var(--rust) !important;
  margin-top: 8px !important;
  display: inline-block;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
a.checkout-button,
.wc-proceed-to-checkout a.checkout-button {
  background-color: var(--charcoal) !important;
  color: var(--paper) !important;
  border-radius: 2px !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.wc-block-cart__submit-button:hover,
a.checkout-button:hover {
  background-color: var(--rust) !important;
}
.wc-block-components-totals-coupon,
.wc-block-components-panel {
  border-color: rgba(28,26,23,0.12) !important;
  font-family: 'Work Sans', sans-serif !important;
}

/* ============ AMPERSAND LEGIBILITY FIX ============ */
/* The Fraunces italic "&" glyph is stylized to the point of being unreadable
   at small sizes. .amp spans (inserted via a small script — see functions.php)
   render in a plain upright serif so "&" stays clearly legible even inside
   italic headings. */
.amp {
  font-style: normal;
  font-family: Georgia, 'Times New Roman', serif;
}

/* ============ CHECKOUT PAGE STYLING FIX ============ */
.woocommerce-checkout #payment {
  background: var(--paper) !important;
  border-radius: 4px;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom-color: rgba(28,26,23,0.1) !important;
}
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-error {
  border-radius: 4px;
  font-family: 'Work Sans', sans-serif;
  border-top-color: var(--rust) !important;
}
.woocommerce-error::before { color: var(--rust) !important; }
#order_review_heading,
#order_review {
  font-family: 'Work Sans', sans-serif;
}
.woocommerce-checkout-review-order-table {
  border: none !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border-color: rgba(28,26,23,0.08) !important;
}

/* ============ JEWELRY EDIT SECTION ("Sunlit & Sacred") ============ */
.jewelry-edit {
  background: #1C1A17;
  color: #FAF7F0;
  padding: 64px 24px 72px;
}
.jw-inner { max-width: 1100px; margin: 0 auto; }
.jw-eyebrow {
  display: block; text-align: center;
  font-size: 0.9rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: #C9982F; font-weight: 600; margin-bottom: 14px;
}
@media (max-width: 768px) {
  .jw-eyebrow { font-size: 0.72rem; }
}
.jw-heading {
  font-family: 'Fraunces', serif; font-style: italic; font-weight: 500;
  font-size: 2.6rem; text-align: center; margin: 0 0 14px; line-height: 1.1;
  color: #FAF7F0;
}
.jw-sub {
  text-align: center; max-width: 440px; margin: 0 auto 40px;
  color: rgba(250,247,240,0.65); font-size: 0.95rem; line-height: 1.5;
}
.jw-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.jw-card { grid-column: span 2; }
.jw-card.jw-large { grid-column: span 3; }
.jw-card a { text-decoration: none; color: inherit; display: block; }
.jw-img-wrap {
  aspect-ratio: 1 / 1.15; overflow: hidden; border-radius: 2px;
  background: #2a2622;
}
.jw-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(0.15) contrast(1.05);
  transition: transform 0.5s ease;
}
.jw-name {
  margin-top: 12px; font-size: 0.78rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: #FAF7F0;
}
.jw-price {
  font-family: 'Fraunces', serif; font-style: italic; color: #C9982F;
  font-size: 0.9rem; margin-top: 2px;
}
.jw-cta {
  display: block; text-align: center; color: #FAF7F0;
  text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem;
  font-weight: 600; text-decoration: none; border-bottom: 1px solid #C9982F;
  width: fit-content; margin: 0 auto; padding-bottom: 4px;
}
@media (max-width: 700px) {
  .jw-grid { grid-template-columns: repeat(2, 1fr); }
  .jw-card, .jw-card.jw-large { grid-column: span 1; }
  .jw-heading { font-size: 2rem; }
}

/* ============ DECOR EDIT SECTION ("Sunset Living") — light-bg counterpart ============ */
.decor-edit {
  background: var(--paper);
  color: var(--charcoal);
  padding: 64px 24px 72px;
  border-top: 1px solid rgba(28,26,23,0.06);
  border-bottom: 1px solid rgba(28,26,23,0.06);
}
.dc-inner { max-width: 1100px; margin: 0 auto; }
.dc-eyebrow {
  display: block; text-align: center;
  font-size: 0.9rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--rust); font-weight: 600; margin-bottom: 14px;
}
@media (max-width: 768px) {
  .dc-eyebrow { font-size: 0.72rem; }
}
.dc-heading {
  font-family: 'Fraunces', serif; font-style: italic; font-weight: 500;
  font-size: 2.6rem; text-align: center; margin: 0 0 14px; line-height: 1.1;
  color: var(--charcoal);
}
.dc-sub {
  text-align: center; max-width: 440px; margin: 0 auto 40px;
  color: var(--ink-soft); font-size: 0.95rem; line-height: 1.5;
}
.dc-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  margin-bottom: 40px;
}
.dc-card { grid-column: span 2; }
.dc-card.dc-large { grid-column: span 3; }
.dc-card a { text-decoration: none; color: inherit; display: block; }
.dc-img-wrap {
  aspect-ratio: 1 / 1.15; overflow: hidden; border-radius: 2px;
  background: rgba(28,26,23,0.04);
}
.dc-img-wrap img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s ease;
}
.dc-card:hover .dc-img-wrap img { transform: scale(1.06); }
.dc-name {
  margin-top: 12px; font-size: 0.78rem; text-transform: uppercase;
  letter-spacing: 0.05em; color: var(--charcoal);
}
.dc-price {
  font-family: 'Fraunces', serif; font-style: italic; color: var(--gold);
  font-size: 0.9rem; margin-top: 2px;
}
.dc-cta {
  display: block; text-align: center; color: var(--charcoal);
  text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem;
  font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--rust);
  width: fit-content; margin: 0 auto; padding-bottom: 4px;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.dc-cta:hover { color: var(--rust); }
@media (max-width: 700px) {
  .dc-grid { grid-template-columns: repeat(2, 1fr); }
  .dc-card, .dc-card.dc-large { grid-column: span 1; }
  .dc-heading { font-size: 2rem; }
}

/* ============ HOVER ANIMATIONS — products, buttons, editorial CTAs ============ */
.woocommerce ul.products li.product a img {
  transition: transform 0.5s ease, box-shadow 0.3s ease;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.04);
  box-shadow: 0 4px 18px rgba(28,26,23,0.14);
}
.woocommerce ul.products li.product .price { transition: color 0.25s ease; }
.jw-card:hover .jw-img-wrap img { transform: scale(1.06); }
.jw-cta,
.dc-cta,
a.button,
button.button,
.single_add_to_cart_button,
.sc-slide-btn {
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
a.button:hover,
button.button:hover,
.single_add_to_cart_button:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(28,26,23,0.18);
}
.jw-cta:hover { color: var(--gold); border-color: var(--gold); }
.sc-slide-btn:hover {
  background: var(--paper) !important;
  color: var(--charcoal) !important;
  transform: translateY(-2px);
}

/* ============ TYPOGRAPHY HIERARCHY — bigger, more editorial headlines ============ */
.woocommerce-products-header__title,
.page-title,
h1.entry-title {
  font-family: 'Fraunces', serif !important;
  font-style: italic;
  font-weight: 500;
  font-size: 2.8rem !important;
  letter-spacing: -0.01em;
}
.products-section h2,
.woocommerce h2 {
  font-size: 2.1rem;
  letter-spacing: -0.01em;
}
@media (max-width: 700px) {
  .woocommerce-products-header__title,
  .page-title,
  h1.entry-title { font-size: 2.1rem !important; }
  .products-section h2,
  .woocommerce h2 { font-size: 1.7rem; }
}

/* ============ DESKTOP PRODUCT/SHOP PAGE — remove wasted space ============ */
/* Storefront's default sidebar (Search, Recent Posts, Archives, Categories)
   adds no value on product/shop pages and was leaving huge empty space.
   Remove it there and let content use the freed-up width. */
.single-product #secondary,
.single-product .sidebar,
.woocommerce-page.single-product .widget-area,
body.single-product .widget-area {
  display: none !important;
}
.single-product #primary,
.single-product .content-area,
body.single-product #primary {
  width: 100% !important;
  float: none !important;
}
@media (max-width: 768px) {
  /* Force clean single-column stacking on the product page at this width -
     explicit floats:none + clear avoids any leftover reserved space from
     Storefront's default float-based gallery/summary layout. */
  .woocommerce div.product {
    display: block !important;
  }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 769px) {
  .woocommerce div.product {
    max-width: 1200px;
    margin: 40px auto;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 56px;
    align-items: start;
  }
  .woocommerce div.product div.images {
    max-width: 100%;
  }
  .woocommerce div.product div.summary {
    max-width: 100%;
    float: none !important;
    width: 100% !important;
  }
  .woocommerce div.product .product_title {
    font-size: 2.6rem !important;
    line-height: 1.15;
  }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.5rem !important;
  }
  .woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 1.05rem;
    line-height: 1.6;
  }
}

/* ============ CALMER SHOP PAGINATION ============ */
.woocommerce-pagination {
  margin: 48px 0 24px;
  text-align: center;
}
.woocommerce-pagination ul.page-numbers {
  display: inline-flex;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.woocommerce-pagination .page-numbers li { display: inline-block; }
.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border-radius: 50%;
  font-family: 'Work Sans', sans-serif;
  font-size: 0.85rem;
  color: var(--ink-soft);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.woocommerce-pagination .page-numbers a:hover {
  background-color: rgba(28,26,23,0.06);
  color: var(--charcoal);
}
.woocommerce-pagination .page-numbers .current {
  background-color: var(--charcoal);
  color: var(--paper);
  font-weight: 600;
}
.woocommerce-pagination .page-numbers .dots {
  color: var(--ink-soft);
  opacity: 0.6;
}

/* ============ v3.2: full width, no sidebar ============ */
.storefront-full-width-content .content-area { width: 100% !important; float: none !important; margin-right: 0 !important; }
#secondary { display: none !important; }

/* ============ v3.3: hero video framing ============ */
/* Desktop: gentler zoom so the clips aren't cropped as tightly */
.sc-slide-video { object-position: center center; }
.sc-slide.is-active .sc-slide-video { transform: scale(1.03); }

/* Mobile: a 4:5 hero instead of a full-screen-tall one, so the
   landscape clips show far more of the frame instead of a tight
   center crop. No zoom on mobile. */
@media (max-width: 768px) {
  .sc-slideshow {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5;
  }
  .sc-slide-video,
  .sc-slide.is-active .sc-slide-video {
    transform: none;
    transition: none;
    object-position: center center;
  }
  .sc-slide-text { padding: 20px 20px 40px; }
  .sc-slide-text h2 { font-size: 1.7rem; margin-bottom: 14px; }
}

/* ============ v3.4: no "Shop" title on the homepage ============ */
.home .woocommerce-products-header { display: none !important; }

/* ============ v3.5: roomier desktop layout ============ */
@media (min-width: 1024px) {
  .col-full { max-width: 1400px !important; }
  .sc-slideshow { max-width: 1400px; height: 68vh; max-height: 720px; }
  .sc-reel-wrap { max-width: 1400px; }
  .jw-inner, .dc-inner { max-width: 1300px; }
  .jw-heading { font-size: 3.2rem; }
  .jw-sub { max-width: 560px; font-size: 1.05rem; }
}
/* Storefront's own heading color was overriding this on the dark band,
   making "Sunlit & Sacred" invisible */
.jewelry-edit .jw-heading { color: #FAF7F0 !important; }

/* ============ v3.6: every product photo visible ============ */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  width: auto !important;
  display: block !important;
  margin: 0 !important;
  float: none !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child {
  grid-column: 1 / -1;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) img {
  border-radius: 4px;
  cursor: pointer;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child) img:hover {
  opacity: 1;
}
.woocommerce div.product div.images { overflow: visible !important; }
@media (max-width: 480px) {
  .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    gap: 6px;
  }
}

/* ============ v3.7: bigger product photos on desktop ============ */
@media (min-width: 769px) {
  .woocommerce div.product {
    max-width: 1400px !important;
    grid-template-columns: 1.5fr 1fr !important;
    gap: 48px !important;
    padding: 0 24px;
  }
  .single-product .content-area,
  .single-product .site-main {
    max-width: none !important;
  }
}
@media (min-width: 1200px) {
  .woocommerce div.product { gap: 64px !important; }
}

/* ============ v3.8: scale with the screen on desktop ============ */
/* Fixed pixel caps looked small on large/high-res monitors. On desktop,
   sections now size to the window width instead. */
@media (min-width: 1024px) {
  .col-full { max-width: min(94vw, 1800px) !important; }
  .sc-slideshow {
    max-width: none !important;
    width: min(94vw, 2000px) !important;
    height: auto !important;
    aspect-ratio: 2.1 / 1;
    min-height: 0 !important;
    max-height: 82vh !important;
  }
  .sc-slide-text { padding: clamp(32px, 4vw, 72px) !important; max-width: 60%; }
  .sc-slide-text h2 { font-size: clamp(2.2rem, 3.4vw, 4rem) !important; }
  .sc-slide-eyebrow { font-size: clamp(0.8rem, 0.9vw, 1.05rem) !important; }
  .sc-reel-wrap { max-width: min(94vw, 2000px) !important; }
  .jw-inner, .dc-inner { max-width: min(92vw, 1800px) !important; }
  .jw-grid, .dc-grid { gap: clamp(14px, 1.4vw, 28px) !important; }
  .jw-heading, .dc-heading { font-size: clamp(2.6rem, 3.2vw, 4rem) !important; }
  .woocommerce div.product { max-width: min(94vw, 1800px) !important; }
}

/* ============ v3.9: top bar ============ */
.sc-topbar {
  background: #1C1A17;
  color: #FAF7F0;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.sc-topbar-inner {
  max-width: min(94vw, 1800px);
  margin: 0 auto;
  padding: 0 16px;
}
.sc-topbar-menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  justify-content: flex-end;
  gap: 28px;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}
.sc-topbar-menu::-webkit-scrollbar { display: none; }
.sc-topbar-menu li { margin: 0 !important; }
.sc-topbar-menu a {
  display: block;
  padding: 10px 0;
  color: #FAF7F0 !important;
  text-decoration: none !important;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.sc-topbar-menu a:hover { opacity: 1; color: #E8C27A !important; }
@media (max-width: 768px) {
  .sc-topbar-menu { justify-content: flex-start; gap: 20px; }
  .sc-topbar { font-size: 0.68rem; }
}

/* ============ v4.0: navigation — one menu, hamburger on mobile ============ */
/* Desktop: centered single row */
@media (min-width: 768px) {
  .main-navigation .primary-navigation ul.menu,
  .main-navigation .primary-navigation ul.nav-menu {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 32px;
    margin: 0;
  }
  .main-navigation .primary-navigation ul.menu li { float: none !important; }
  .main-navigation .primary-navigation ul.menu li a { padding: 10px 2px !important; }
  .handheld-navigation,
  .main-navigation .menu-toggle { display: none !important; }
}

/* Mobile: hamburger top-left, menu drops down under the logo */
@media (max-width: 767px) {
  .site-header { margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  .site-header .col-full { padding-top: 10px !important; padding-bottom: 4px !important; }
  .site-header .site-search { display: none !important; } /* search lives in the bottom bar */
  .site-branding { margin: 0 !important; }
  .storefront-primary-navigation .col-full { padding-top: 0 !important; padding-bottom: 0 !important; }
  .main-navigation { width: 100%; margin: 0 !important; }
  .primary-navigation { display: none !important; }

  .main-navigation button.menu-toggle {
    display: block !important;
    position: absolute;
    right: 10px;
    left: auto !important;
    top: 14px;
    z-index: 20;
    width: 46px;
    height: 46px;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
  }
  /* draw our own three-line icon */
  .main-navigation button.menu-toggle::before,
  .main-navigation button.menu-toggle::after,
  .main-navigation button.menu-toggle span::before {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    width: 22px !important;
    height: 2px !important;
    margin: 0 !important;
    background: var(--charcoal) !important;
    border-radius: 2px;
    transform: none;
    transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
  }
  .main-navigation button.menu-toggle::before { top: 15px !important; }
  .main-navigation button.menu-toggle span::before { top: 22px !important; left: 12px !important; }
  .main-navigation button.menu-toggle::after { top: 29px !important; }
  .main-navigation button.menu-toggle span { display: block; position: static; }
  /* turns into an X when open */
  .main-navigation.toggled button.menu-toggle::before { top: 22px !important; transform: rotate(45deg); }
  .main-navigation.toggled button.menu-toggle::after { top: 22px !important; transform: rotate(-45deg); }
  .main-navigation.toggled button.menu-toggle span::before { opacity: 0; }

  .handheld-navigation {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    width: 100%;
  }
  .main-navigation.toggled .handheld-navigation { max-height: 80vh; }
  .handheld-navigation ul.menu {
    display: block !important;
    margin: 0 !important;
    padding: 4px 0 12px !important;
    border-top: 1px solid rgba(28,26,23,0.1);
    background: transparent !important;
  }
  .handheld-navigation ul.menu li { display: block; border-bottom: 1px solid rgba(28,26,23,0.06); }
  .handheld-navigation ul.menu li a {
    display: block !important;
    padding: 14px 20px !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.14em;
    text-align: center;
  }
}

/* ============ v4.0: even product grids on the homepage ============ */
.jw-grid, .dc-grid { grid-template-columns: repeat(4, 1fr) !important; }
.jw-card, .dc-card { grid-column: span 1 !important; }
.jw-img-wrap, .dc-img-wrap { aspect-ratio: 1 / 1.15; }
@media (max-width: 900px) {
  .jw-grid, .dc-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============ v4.1: decorative ampersand ============ */
.sc-amp {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.25em;
  line-height: 0;
  margin: 0 0.12em;
  color: var(--rust);
  position: relative;
  top: 0.04em;
}

/* ============ v4.3: upright ampersand in "Sunlit & Sacred" ============ */
.sc-amp-upright {
  font-family: 'Fraunces', Georgia, serif !important;
  font-style: normal !important;
  font-weight: 300;
  font-size: 0.9em;
  margin: 0 0.08em;
  color: #C9A24B;
}

/* ============ v4.5: classic, unmistakable ampersand in the heading ============ */
.jw-heading .sc-amp-upright {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 0.85em;
  margin: 0 0.1em;
  color: #C9A24B;
}

/* ============ v4.6: ampersands match surrounding text color ============ */
.jw-heading .sc-amp-upright { color: inherit !important; }
.main-navigation .sc-amp, .handheld-navigation .sc-amp,
.site-header .sc-amp { color: inherit !important; }

/* ============ v4.7: Sunlit & Sacred heading + ampersand pure white ============ */
.home .jw-heading,
.home .jw-heading *,
.home .jw-heading .sc-amp,
.home .jw-heading .sc-amp-upright { color: #FFFFFF !important; }

/* ============ v4.9: classic ampersand everywhere (menu + category titles) ============ */
.sc-amp,
.sc-amp-upright,
.woocommerce-products-header__title .sc-amp-upright,
.page-title .sc-amp-upright {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 0.9em !important;
  line-height: inherit !important;
  top: 0 !important;
  margin: 0 0.1em !important;
  color: inherit !important;
}

/* ============ v4.9: cart + checkout spacing on laptop/desktop ============ */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.wc-block-cart,
.wc-block-checkout {
  gap: 0 !important;
}
@media (min-width: 768px) {
  .wc-block-cart .wc-block-components-main,
  .wc-block-checkout .wc-block-components-main {
    padding-right: 4% !important;
  }
  .wc-block-cart .wc-block-components-sidebar,
  .wc-block-checkout .wc-block-components-sidebar {
    padding-left: 0 !important;
  }
}
/* Line items: even breathing room */
.wc-block-cart-items td,
.wc-block-cart-items th {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  vertical-align: top !important;
}
.wc-block-cart-item__image { padding-right: 20px !important; width: 100px !important; }
.wc-block-cart-item__image img { width: 90px !important; height: 90px !important; }
.wc-block-cart-item__prices,
.wc-block-cart-item__price { margin: 4px 0 6px !important; }

/* Never show photos pasted into a product's short description inside cart/checkout */
.wc-block-cart-item__description img,
.wc-block-components-product-metadata__description img,
.wc-block-components-order-summary-item__description img {
  display: none !important;
}

/* Quantity box + remove link: undo the theme's big dark button styling */
.wc-block-cart-item__quantity {
  display: flex !important;
  align-items: center;
  gap: 18px;
  margin-top: 10px;
}
.wc-block-components-quantity-selector {
  width: 112px !important;
  min-width: 112px !important;
  margin: 0 !important;
}
.wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector__input {
  padding: 0 !important;
  min-width: 0 !important;
  width: 36px !important;
  height: 38px !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}
.wc-block-components-quantity-selector__input { width: 40px !important; text-align: center; }
button.wc-block-cart-item__remove-link,
.wc-block-cart-item__remove-link {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  box-shadow: none !important;
  color: var(--rust) !important;
  cursor: pointer;
  line-height: 1 !important;
}
.wc-block-cart-item__remove-link svg { width: 20px !important; height: 20px !important; fill: currentColor; }
.wc-block-cart-item__remove-link:hover { color: var(--charcoal) !important; }

/* ============ v5.1: "More to Love" grid + Instagram band (desktop only) ============ */
@media (max-width: 900px) { .sc-desktop-only { display: none !important; } }

.more-edit {
  background: var(--bone);
  padding: clamp(56px, 6vw, 96px) 24px;
}
.mc-inner, .ig-inner { max-width: min(92vw, 1800px); margin: 0 auto; }
.mc-eyebrow, .ig-eyebrow {
  display: block; text-align: center; font-size: 0.9rem; letter-spacing: 0.28em;
  text-transform: uppercase; color: var(--rust); font-weight: 600; margin-bottom: 14px;
}
.mc-heading, .ig-heading {
  font-family: 'Fraunces', serif; font-style: italic; font-weight: 500;
  font-size: clamp(2.4rem, 3vw, 3.4rem); text-align: center; margin: 0 0 14px; line-height: 1.1;
  color: var(--charcoal);
}
.ig-heading a { color: inherit; text-decoration: none; }
.ig-heading a:hover { color: var(--rust); }
.mc-sub { text-align: center; color: var(--ink-soft); margin: 0 auto 44px; font-size: 1rem; }
.mc-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: clamp(14px, 1.4vw, 28px); row-gap: clamp(28px, 2.6vw, 44px);
}
.mc-card a { text-decoration: none; color: inherit; display: block; }
.mc-img-wrap { aspect-ratio: 1 / 1.15; overflow: hidden; border-radius: 2px; background: rgba(28,26,23,0.04); }
.mc-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.mc-card:hover .mc-img-wrap img { transform: scale(1.06); }
.mc-name { margin-top: 12px; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--charcoal); }
.mc-price { font-family: 'Fraunces', serif; font-style: italic; color: var(--gold); font-size: 1rem; margin-top: 2px; }

.ig-band {
  background: var(--paper);
  padding: clamp(56px, 6vw, 96px) 24px;
  border-top: 1px solid rgba(28,26,23,0.06);
}
.ig-heading { margin-bottom: 36px; }
.ig-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-bottom: 40px; }
.ig-tile { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.ig-tile img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.ig-overlay {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(28,26,23,0.45); color: #fff; opacity: 0; transition: opacity 0.3s ease;
}
.ig-tile:hover .ig-overlay { opacity: 1; }
.ig-tile:hover img { transform: scale(1.05); }
.ig-cta {
  display: block; width: fit-content; margin: 0 auto; padding-bottom: 4px;
  color: var(--charcoal); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.8rem;
  font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--rust);
}
.ig-cta:hover { color: var(--rust); }

/* ============ v5.2: More to Love uses the Sunlit & Sacred look ============ */
.more-edit.jewelry-edit { background: #1C1A17 !important; padding: 64px 24px 72px; }
.more-edit .jw-heading { color: #FFFFFF !important; }

/* ============ v5.4: "Our Story" strip (desktop only) ============ */
.story-strip { background: var(--bone); padding: clamp(56px, 6vw, 96px) 24px; border-top: 1px solid rgba(28,26,23,0.06); }
.st-inner {
  max-width: min(92vw, 1400px); margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 96px); align-items: center;
}
.st-img { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 2px; }
.st-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-eyebrow {
  display: block; font-size: 0.9rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--rust); font-weight: 600; margin-bottom: 14px;
}
.st-heading {
  font-family: 'Fraunces', serif; font-style: italic; font-weight: 500;
  font-size: clamp(2.4rem, 3vw, 3.4rem); line-height: 1.1; margin: 0 0 20px; color: var(--charcoal);
}
.st-text p { color: var(--ink-soft); font-size: 1.05rem; line-height: 1.7; max-width: 520px; margin: 0 0 28px; }
.st-cta {
  display: inline-block; color: var(--charcoal); text-transform: uppercase; letter-spacing: 0.12em;
  font-size: 0.8rem; font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--rust); padding-bottom: 4px;
}
.st-cta:hover { color: var(--rust); }

/* ============ v5.6: hamburger always tappable + menu panel visible ============ */
@media (max-width: 767px) {
  .site-header, .site-header .col-full, .storefront-primary-navigation { position: relative; overflow: visible !important; }
  .main-navigation { position: static !important; }
  .main-navigation button.menu-toggle {
    z-index: 1000 !important;
    pointer-events: auto !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .site-branding, .site-header .site-logo-anchor, .site-header .custom-logo-link { position: relative; z-index: 1; }
  .handheld-navigation { position: relative; z-index: 999; background: var(--bone); }
  .main-navigation.toggled .handheld-navigation { max-height: 80vh !important; overflow-y: auto; }
  .handheld-navigation ul.menu ul,
  .handheld-navigation .dropdown-toggle { display: none !important; }
  .handheld-navigation ul.menu li a { color: var(--charcoal) !important; text-transform: uppercase; font-weight: 600; }
}

/* ============ v6.0: About page ============ */
.edit-link, .post-edit-link { display: none !important; }
.sc-about-page .site-main .hentry,
.sc-about-page .site-main article {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sc-about-page .entry-header,
.sc-about-page .entry-title { text-align: center; }
.sc-about-page .entry-content h2,
.sc-about-page .entry-content h3 { margin-top: 1.6em; }
.sc-about-page .entry-content p { line-height: 1.75; }
.sc-about-logo { text-align: center; margin: 56px 0 24px; }
.sc-about-logo img { width: 220px; max-width: 60%; height: auto; display: inline-block; }
@media (max-width: 767px) {
  .sc-about-logo { margin-top: 40px; }
  .sc-about-logo img { width: 170px; }
}

/* ============ v6.2: italic ampersand in "Sunlit & Sacred" ============ */
/* Georgia italic: matches the slanted heading but still reads clearly as "&" */
body .jewelry-edit h2.jw-heading .sc-amp-upright {
  font-family: Georgia, 'Times New Roman', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 0.92em !important;
  margin: 0 0.06em !important;
}

/* v6.3: photo cards fill their tile like product cards */
.jw-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============ v6.6: new mobile menu ============ */
.sc-burger, .sc-mobile-menu { display: none; }
@media (max-width: 767px) {
  /* retire Storefront's toggle + nav bar on phones */
  .storefront-primary-navigation,
  .main-navigation button.menu-toggle,
  .handheld-navigation { display: none !important; }

  .site-header { position: relative !important; z-index: 10000 !important; }
  .site-header .col-full { position: relative !important; }

  .sc-burger {
    display: block !important;
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    width: 48px; height: 48px; padding: 0 !important; margin: 0 !important;
    background: transparent !important; border: 0 !important; box-shadow: none !important;
    cursor: pointer; z-index: 10002; -webkit-tap-highlight-color: transparent;
  }
  .sc-burger span {
    position: absolute; left: 13px; width: 22px; height: 2px; border-radius: 2px;
    background: var(--charcoal); transition: transform .25s ease, opacity .2s ease, top .25s ease;
  }
  .sc-burger span:nth-child(1) { top: 16px; }
  .sc-burger span:nth-child(2) { top: 23px; }
  .sc-burger span:nth-child(3) { top: 30px; }
  .sc-mm-open .sc-burger span:nth-child(1) { top: 23px; transform: rotate(45deg); }
  .sc-mm-open .sc-burger span:nth-child(2) { opacity: 0; }
  .sc-mm-open .sc-burger span:nth-child(3) { top: 23px; transform: rotate(-45deg); }

  .sc-mobile-menu {
    display: block !important;
    position: absolute; left: 0; right: 0; top: 100%;
    background: var(--bone);
    box-shadow: 0 14px 30px rgba(28,26,23,0.18);
    border-top: 1px solid rgba(28,26,23,0.1);
    z-index: 10001;
    max-height: 0; overflow: hidden; visibility: hidden;
    transition: max-height .35s ease, visibility 0s linear .35s;
  }
  .sc-mm-open .sc-mobile-menu {
    max-height: 80vh; overflow-y: auto; visibility: visible;
    transition: max-height .35s ease, visibility 0s;
  }
  .sc-mobile-menu ul { list-style: none !important; margin: 0 !important; padding: 6px 0 10px !important; display: block !important; }
  .sc-mobile-menu .sc-mm-inner { display: block !important; }
  .sc-mobile-menu li { display: block !important; float: none !important; border-bottom: 1px solid rgba(28,26,23,0.06); }
  .sc-mobile-menu li:last-child { border-bottom: 0; }
  .sc-mobile-menu a {
    display: block !important; padding: 16px 20px !important; text-align: center;
    color: var(--charcoal) !important; text-decoration: none !important;
    font-size: 0.88rem !important; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  }
  .sc-mobile-menu a:active { background: rgba(28,26,23,0.05); }
}

/* v6.7: cards that only show on phones */
@media (min-width: 901px) { .sc-mobile-only { display: none !important; } }

/* ============ v7.4: DESKTOP TYPOGRAPHY — bold, editorial, "Impact"-style ============ */
@media (min-width: 901px) {
  /* Header menu: larger, heavier, wider-tracked */
  .main-navigation .primary-navigation ul.menu > li > a,
  .main-navigation .primary-navigation ul.nav-menu > li > a {
    font-family: 'Work Sans', sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
    padding: 14px 4px !important;
    position: relative;
  }
  .main-navigation .primary-navigation ul.menu,
  .main-navigation .primary-navigation ul.nav-menu { gap: 10px 46px !important; }
  /* refined underline that grows on hover */
  .main-navigation .primary-navigation ul.menu > li > a::after {
    content: ""; position: absolute; left: 4px; right: calc(100% - 4px); bottom: 6px;
    height: 2px; background: var(--rust); transition: right .3s ease;
  }
  .main-navigation .primary-navigation ul.menu > li > a:hover::after,
  .main-navigation .primary-navigation ul.menu > li.current-menu-item > a::after { right: 4px; }
  .storefront-primary-navigation { padding: 6px 0 10px; }

  /* Section eyebrows (NEW ARRIVALS, GOLDEN HOUR HOME…) */
  .jw-eyebrow, .dc-eyebrow, .ig-eyebrow, .mc-eyebrow {
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.34em !important;
    margin-bottom: 18px !important;
  }

  /* Section headings: big and confident */
  .jw-heading, .dc-heading, .ig-heading, .mc-heading {
    font-size: clamp(3.2rem, 4.4vw, 5.4rem) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
    letter-spacing: -0.015em !important;
    margin-bottom: 20px !important;
  }
  .jw-sub, .dc-sub, .mc-sub {
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    max-width: 620px !important;
    margin-bottom: 56px !important;
  }

  /* "Shop all" links become bold outlined buttons */
  .jw-cta, .dc-cta, .ig-cta {
    display: block !important;
    width: fit-content !important;
    margin: 12px auto 0 !important;
    padding: 18px 44px !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.24em !important;
    text-transform: uppercase !important;
    border: 2px solid currentColor !important;
    border-radius: 0 !important;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease !important;
  }
  .jw-cta:hover { background: #FAF7F0 !important; color: #1C1A17 !important; border-color: #FAF7F0 !important; }
  .dc-cta:hover, .ig-cta:hover { background: var(--charcoal) !important; color: var(--paper) !important; border-color: var(--charcoal) !important; }

  /* Product cards */
  .jw-name, .dc-name, .mc-name {
    font-size: 0.98rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    line-height: 1.45 !important;
    margin-top: 16px !important;
  }
  .jw-price, .dc-price, .mc-price { font-size: 1.15rem !important; margin-top: 4px !important; }

  /* Hero slideshow text */
  .sc-slide-eyebrow {
    font-size: 1.05rem !important; font-weight: 700 !important; letter-spacing: 0.36em !important;
  }
  .sc-slide-text h2 {
    font-size: clamp(3.6rem, 5.2vw, 6.4rem) !important;
    font-weight: 600 !important; line-height: 1.0 !important; letter-spacing: -0.02em !important;
  }
  .sc-slide-btn {
    font-size: 0.95rem !important; font-weight: 700 !important; letter-spacing: 0.24em !important;
    padding: 20px 48px !important; border-width: 2px !important;
  }

  /* Crystal reel caption ("Shop the Crystals") */
  .sc-reel-caption {
    font-size: 1.05rem !important; font-weight: 700 !important; letter-spacing: 0.26em !important;
  }
}

/* ============ v7.5: desktop type refinements ============ */
@media (min-width: 901px) {
  /* Header menu: larger, lighter, more elegant */
  .main-navigation .primary-navigation ul.menu > li > a,
  .main-navigation .primary-navigation ul.nav-menu > li > a {
    font-size: 1.22rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.2em !important;
    color: var(--charcoal) !important;
    padding: 16px 4px !important;
  }
  .main-navigation .primary-navigation ul.menu,
  .main-navigation .primary-navigation ul.nav-menu { gap: 10px 56px !important; }

  /* Section headings: even larger */
  .jw-heading, .dc-heading, .mc-heading {
    font-size: clamp(4rem, 5.6vw, 6.8rem) !important;
  }
  /* Section subtext: larger */
  .jw-sub, .dc-sub, .mc-sub {
    font-size: 1.38rem !important;
    line-height: 1.55 !important;
    max-width: 780px !important;
  }

  /* Instagram handle back to its original, smaller size */
  .ig-heading {
    font-size: clamp(2.4rem, 3vw, 3.4rem) !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    margin-bottom: 36px !important;
  }
}

/* ============ v7.6: desktop — make the type a statement ============ */
@media (min-width: 901px) {
  /* Header menu */
  .main-navigation .primary-navigation ul.menu > li > a,
  .main-navigation .primary-navigation ul.nav-menu > li > a {
    font-size: 1.45rem !important;
    letter-spacing: 0.18em !important;
    padding: 18px 4px !important;
  }
  .main-navigation .primary-navigation ul.menu,
  .main-navigation .primary-navigation ul.nav-menu { gap: 12px 64px !important; }

  /* Hero slideshow */
  .sc-slide-eyebrow { font-size: 1.25rem !important; letter-spacing: 0.34em !important; margin-bottom: 14px !important; display: block; }
  .sc-slide-text h2 {
    font-size: clamp(5rem, 7.2vw, 9.5rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.025em !important;
    max-width: 14ch;
  }
  .sc-slide-btn { font-size: 1.1rem !important; padding: 24px 60px !important; }

  /* Section eyebrows + headings + subtext */
  .jw-eyebrow, .dc-eyebrow, .mc-eyebrow { font-size: 1.25rem !important; letter-spacing: 0.36em !important; margin-bottom: 22px !important; }
  .jw-heading, .dc-heading, .mc-heading {
    font-size: clamp(5.2rem, 7.6vw, 10rem) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.025em !important;
    margin-bottom: 26px !important;
  }
  .jw-sub, .dc-sub, .mc-sub { font-size: 1.6rem !important; line-height: 1.5 !important; max-width: 900px !important; margin-bottom: 64px !important; }

  /* Product cards */
  .jw-name, .dc-name, .mc-name { font-size: 1.12rem !important; letter-spacing: 0.09em !important; margin-top: 18px !important; }
  .jw-price, .dc-price, .mc-price { font-size: 1.35rem !important; }

  /* Buttons */
  .jw-cta, .dc-cta, .ig-cta { font-size: 1.08rem !important; padding: 22px 60px !important; margin-top: 24px !important; }

  /* Crystal reel caption */
  .sc-reel-caption { font-size: 1.3rem !important; }
}

/* ============ v7.8: back to the v7.6 statement sizes, subtext scaled up to match ============ */
@media (min-width: 901px) {
  body .jw-sub, body .dc-sub, body .mc-sub {
    font-size: clamp(1.75rem, 2.1vw, 2.4rem) !important;
    line-height: 1.45 !important;
    max-width: 1000px !important;
    margin: 0 auto 72px !important;
  }
  body .jewelry-edit .jw-sub { color: rgba(250, 247, 240, 0.85) !important; }
  .jw-eyebrow, .dc-eyebrow, .mc-eyebrow { font-size: 1.35rem !important; margin-bottom: 24px !important; }
  .jw-heading, .dc-heading, .mc-heading { margin-bottom: 30px !important; }
  .jw-name, .dc-name, .mc-name { font-size: 1.18rem !important; }
  .jw-price, .dc-price, .mc-price { font-size: 1.42rem !important; }
}

/* ============ v7.9: phone menu — divider before info pages, always on top ============ */
@media (max-width: 767px) {
  .sc-mobile-menu li.sc-mm-divider { border-top: 1px solid rgba(28,26,23,0.18) !important; margin-top: 4px; }
  .sc-mobile-menu li.sc-mm-divider ~ li a,
  .sc-mobile-menu li.sc-mm-divider a { font-weight: 500 !important; font-size: 0.8rem !important; }
  body.sc-mm-open .sc-mobile-menu { pointer-events: auto; }
}

/* ============ v8.0: DESKTOP — Fraunces serif, ALL CAPS, no bold ============ */
@media (min-width: 901px) {
  /* Header menu */
  .main-navigation .primary-navigation ul.menu > li > a,
  .main-navigation .primary-navigation ul.nav-menu > li > a {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 1.3rem !important;
    letter-spacing: 0.14em !important;
  }

  /* Eyebrow labels */
  .jw-eyebrow, .dc-eyebrow, .mc-eyebrow, .ig-eyebrow, .sc-slide-eyebrow {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 1.2rem !important;
    letter-spacing: 0.3em !important;
  }

  /* Subtext */
  body .jw-sub, body .dc-sub, body .mc-sub {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: clamp(1.25rem, 1.5vw, 1.7rem) !important;
    line-height: 1.6 !important;
    max-width: 1000px !important;
  }

  /* Product names + prices */
  .jw-name, .dc-name, .mc-name {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 1.15rem !important;
  }
  .jw-price, .dc-price, .mc-price {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
  }

  /* Buttons */
  .jw-cta, .dc-cta, .ig-cta, .sc-slide-btn, .sc-reel-caption {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
  }

  /* Instagram handle (kept smaller) */
  .ig-heading {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
  }
}

/* ============ v8.2: logo option C on desktop ============ */
.sc-logo-hd { display: none !important; }
@media (min-width: 901px) {
  /* only hide the original when the HD copy is actually present */
  .site-branding .custom-logo-link:has(img.sc-logo-hd) img.custom-logo { display: none !important; }
  .site-branding .custom-logo-link img.sc-logo-hd {
    display: block !important;
    height: 100px !important;      /* ~55% larger than before */
    width: auto !important;
    max-height: none !important;
    max-width: none !important;
    margin: 0 auto;
    filter: drop-shadow(0 2px 10px rgba(28,26,23,0.10));
  }
}

/* ============ v8.2: phone menu — all items uniform ============ */
@media (max-width: 767px) {
  .sc-mobile-menu li.sc-mm-divider { border-top: 0 !important; margin-top: 0 !important; }
  .sc-mobile-menu li a,
  .sc-mobile-menu li.sc-mm-divider a,
  .sc-mobile-menu li.sc-mm-divider ~ li a {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    padding: 16px 20px !important;
  }
}

/* v8.3: override photos fill their tile */
.dc-img-wrap img, .mc-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ============ v8.4: much larger logo (desktop + mobile) ============ */
.site-branding,
.site-branding .custom-logo-link {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}
/* use the crisp HD copy everywhere when it's present */
.site-branding .custom-logo-link:has(img.sc-logo-hd) img.custom-logo { display: none !important; }
.site-branding .custom-logo-link img.sc-logo-hd,
.site-branding .custom-logo-link:not(:has(img.sc-logo-hd)) img.custom-logo {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 2px 10px rgba(28,26,23,0.10));
}
@media (min-width: 901px) {
  .site-branding .custom-logo-link img.sc-logo-hd,
  .site-branding .custom-logo-link:not(:has(img.sc-logo-hd)) img.custom-logo { height: 170px !important; }
  .site-branding { margin: 6px 0 14px !important; }
}
@media (max-width: 900px) {
  .site-branding .custom-logo-link img.sc-logo-hd,
  .site-branding .custom-logo-link:not(:has(img.sc-logo-hd)) img.custom-logo { height: 132px !important; }
}

/* ============ v8.4: footer — bigger, roomier, more refined (desktop) ============ */
@media (min-width: 901px) {
  .sc-footer { padding: 90px 48px 40px !important; }
  .sc-footer-inner { max-width: 1400px !important; gap: 60px !important; }
  .sc-footer-col { min-width: 240px; }
  .sc-footer-col h4 {
    font-family: 'Fraunces', Georgia, serif !important;
    font-style: normal !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.22em !important;
    font-size: 1.05rem !important;
    margin-bottom: 22px !important;
  }
  .sc-footer-col p,
  .sc-footer-col a {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: 1.22rem !important;
    line-height: 2.1 !important;
    letter-spacing: 0.02em;
  }
  .sc-footer-col p { max-width: 360px; }
  .sc-footer-social { gap: 28px !important; margin-top: 26px !important; }
  .sc-footer-social a {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: 0.98rem !important;
    letter-spacing: 0.2em !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    padding-bottom: 4px !important;
  }
  .sc-footer-bottom { max-width: 1400px !important; margin-top: 64px !important; padding-top: 28px !important; }
  .sc-footer-copyright {
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: 0.98rem !important;
    letter-spacing: 0.08em;
  }
}
