/*
 Theme Name:   Belle Boutique
 Theme URI:    http://boutiqueecommerce.local
 Description:  Modern luxury boutique � Storefront child theme
 Author:       Belle Boutique
 Template:     storefront
 Version:      2.0.0
 Text Domain:  belle-boutique
*/

/* ─────────────────────────────────────────────
   TOKENS
───────────────────────────────────────────── */
:root {
  --rose:        #c2556e;
  --rose-hover:  #a8415b;
  --rose-tint:   #fdf2f5;
  --rose-glow:   rgba(194,85,110,.22);
  --ink:         #12090d;
  --ink-soft:    #3a2230;
  --muted:       #8a7480;
  --line:        #e8dde1;
  --surface:     #ffffff;
  --bg:          #fdfcfc;
  --footer-deep: #0f080b;
  --footer-mid:  #1a0e13;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Inter', system-ui, -apple-system, sans-serif;

  --r-xs: 2px;
  --r-sm: 5px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-xl: 999px;

  --shadow-xs: 0 1px 4px rgba(12,5,8,.07);
  --shadow-sm: 0 3px 14px rgba(12,5,8,.09);
  --shadow-md: 0 8px 32px rgba(12,5,8,.13);
  --shadow-lg: 0 16px 56px rgba(12,5,8,.18);

  --ease: cubic-bezier(.4,0,.2,1);
  --dur:  .26s;
  --wide: 1320px;
}

/* ─────────────────────────────────────────────
   BASE
───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: var(--sans);
  font-size: .9375rem;
  line-height: 1.72;
  color: var(--ink-soft);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6 {
  font-family: var(--serif);
  font-weight: 600;
  line-height: 1.18;
  color: var(--ink);
  letter-spacing: .01em;
}
h1 { font-size: clamp(2rem, 4.5vw, 3.6rem); }
h2 { font-size: clamp(1.5rem, 3.5vw, 2.6rem); }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.8rem); }

p { margin-bottom: 1.2rem; }
a { color: var(--rose); text-decoration: none; transition: color var(--dur) var(--ease); }
a:hover { color: var(--rose-hover); }
img { max-width: 100%; height: auto; display: block; }

/* ─────────────────────────────────────────────
   LAYOUT
───────────────────────────────────────────── */
.col-full {
  max-width: var(--wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 2.5rem) !important;
  padding-right: clamp(1rem, 4vw, 2.5rem) !important;
}

/* ─────────────────────────────────────────────
   HEADER
───────────────────────────────────────────── */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  background: var(--surface) !important;
  border-bottom: 1px solid var(--line) !important;
  padding: 0 !important;
  transition: box-shadow var(--dur) var(--ease) !important;
}
.site-header.is-scrolled { box-shadow: 0 2px 20px rgba(12,5,8,.09) !important; }

.site-header .col-full {
  display: flex !important;
  align-items: center !important;
  min-height: 72px !important;
  gap: 2rem !important;
}

.site-branding { flex-shrink: 0; }

.site-title {
  font-family: var(--serif) !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  line-height: 1 !important;
}
.site-title a, .site-title a:visited { color: var(--ink) !important; }
.site-title a:hover { color: var(--rose) !important; }

.site-description {
  font-family: var(--sans) !important;
  font-size: .6rem !important;
  font-weight: 400 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin: 3px 0 0 !important;
}

/* ─────────────────────────────────────────────
   NAVIGATION
───────────────────────────────────────────── */
.main-navigation { flex: 1; }

.main-navigation ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: .1rem !important;
}

.main-navigation > div > ul > li > a {
  font-family: var(--sans) !important;
  font-size: .71rem !important;
  font-weight: 500 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--ink-soft) !important;
  padding: .4rem .75rem !important;
  border-radius: var(--r-xs) !important;
  white-space: nowrap !important;
  transition: color var(--dur) var(--ease), background var(--dur) var(--ease) !important;
}
.main-navigation > div > ul > li > a:hover,
.main-navigation > div > ul > li.current-menu-item > a,
.main-navigation > div > ul > li.current-menu-ancestor > a {
  color: var(--rose) !important;
  background: var(--rose-tint) !important;
}

.main-navigation ul ul {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: .5rem !important;
  min-width: 190px !important;
  top: calc(100% + 6px) !important;
}
.main-navigation ul ul li a {
  font-size: .78rem !important;
  padding: .55rem 1rem !important;
  border-radius: var(--r-sm) !important;
  color: var(--ink-soft) !important;
}
.main-navigation ul ul li a:hover { background: var(--rose-tint) !important; color: var(--rose) !important; }

/* Header cart */
.site-header-cart,
.site-header ul.site-header-cart,
.site-header ul li.site-header-cart {
  list-style: none !important;
  flex-shrink: 0;
  display: flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
}
.site-header-cart::before,
.site-header-cart::marker { display: none !important; content: '' !important; }
/* Kill bullets on the two <li> items inside the cart <ul> */
ul.site-header-cart > li,
#site-header-cart > li {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
ul.site-header-cart > li::before,
ul.site-header-cart > li::marker,
#site-header-cart > li::before,
#site-header-cart > li::marker { display: none !important; content: '' !important; }
.site-header-cart .cart-contents {
  font-family: var(--sans) !important;
  font-size: .72rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--ink-soft) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-xl) !important;
  padding: .42rem 1.1rem !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  overflow: hidden !important;
  transition: all var(--dur) var(--ease) !important;
}
/* Keep icon inside the pill — neutralise the float */
.site-header-cart .cart-contents::after {
  float: none !important;
  display: inline-block !important;
  line-height: 1 !important;
  font-size: .85em !important;
  vertical-align: middle !important;
}
.site-header-cart .cart-contents:hover { border-color: var(--rose) !important; color: var(--rose) !important; background: var(--rose-tint) !important; }
/* Cart dropdown positioning & styling */
ul.site-header-cart { position: relative !important; }
ul.site-header-cart > li:last-child {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  width: 280px !important;
  display: none !important;
  z-index: 9999 !important;
}
ul.site-header-cart:hover > li:last-child,
ul.site-header-cart > li:first-child:hover ~ li:last-child { display: block !important; }
.site-header-cart .widget_shopping_cart { background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important; box-shadow: var(--shadow-lg) !important; padding: 1rem !important; }

/* Hide search bar from header (removed via PHP, belt-and-suspenders) */
.site-header .site-search,
.site-header form.woocommerce-product-search,
.storefront-product-search { display: none !important; }

/* Hide secondary nav if it somehow renders in header */
.site-header .secondary-navigation { display: none !important; }

/* Hide menu toggle on desktop */
@media (min-width: 769px) {
  button.menu-toggle { display: none !important; }
}

/* Mobile toggle */
button.menu-toggle {
  font-family: var(--sans) !important;
  font-size: .72rem !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--ink-soft) !important;
  background: transparent !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-xl) !important;
  padding: .5rem 1.2rem !important;
  cursor: pointer !important;
  transition: all var(--dur) var(--ease) !important;
}
button.menu-toggle:hover { border-color: var(--rose) !important; color: var(--rose) !important; }

/* ─────────────────────────────────────────────
   HIDE PAGE TITLE on home + full-width pages
───────────────────────────────────────────── */
.belle-homepage .entry-header,
.belle-homepage .page-title,
.page-template-template-fullwidth .entry-header,
.page-template-template-fullwidth .page-title { display: none !important; }

/* Hide sidebar globally — but NOT footer widget areas */
#secondary,
.storefront-primary-sidebar,
 aside.sidebar { display: none !important; }

/* Footer widget areas must remain visible */
.footer-widgets #secondary,
.footer-widgets .widget-area,
.site-footer .widget-area { display: block !important; visibility: visible !important; }

/* Full-width content area everywhere */
#primary,
.content-area,
#main,
.site-main { width: 100% !important; float: none !important; max-width: 100% !important; }

/* Full-width layout (full-width page template) */
.page-template-template-fullwidth #primary,
.page-template-template-fullwidth .content-area { width: 100% !important; float: none !important; }
.page-template-template-fullwidth .hentry { max-width: 100% !important; padding: 0 !important; margin: 0 !important; border: none !important; background: transparent !important; box-shadow: none !important; }
.page-template-template-fullwidth .entry-content { max-width: 100% !important; width: 100% !important; padding: 0 !important; }

/* ─────────────────────────────────────────────
   BUTTONS
───────────────────────────────────────────── */
.button, a.button, button, input[type="submit"] {
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: .73rem !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
  color: var(--surface) !important;
  background: var(--ink) !important;
  border: 2px solid var(--ink) !important;
  border-radius: var(--r-xs) !important;
  padding: .78rem 1.9rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all var(--dur) var(--ease) !important;
  display: inline-block !important;
}
.button:hover, a.button:hover, button:hover, input[type="submit"]:hover {
  background: var(--rose) !important;
  border-color: var(--rose) !important;
  color: var(--surface) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px var(--rose-glow) !important;
}

.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt,
.woocommerce input.button.alt, .woocommerce #payment #place_order {
  background: var(--rose) !important; border-color: var(--rose) !important;
}
.woocommerce .button.alt:hover, .woocommerce #payment #place_order:hover {
  background: var(--rose-hover) !important; border-color: var(--rose-hover) !important;
}

/* ─────────────────────────────────────────────
   PRODUCT GRID
───────────────────────────────────────────── */

/* Shop page content wrapper - add max-width and padding */
.woocommerce-page #primary .woocommerce,
.woocommerce-shop #primary .woocommerce {
  max-width: var(--wide) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1rem,4vw,2.5rem) 4rem !important;
}

.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.8rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
}

.woocommerce ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-xs) !important;
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-md) !important;
  border-color: transparent !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link { overflow: hidden !important; display: block !important; }
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 310px !important;
  object-fit: cover !important;
  object-position: center top !important;
  transition: transform .6s var(--ease) !important;
  border-radius: 0 !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.07) !important; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  padding: .9rem 1rem .25rem !important;
  margin: 0 !important;
  flex-grow: 1 !important;
  line-height: 1.3 !important;
}

.woocommerce ul.products li.product .price {
  font-family: var(--sans) !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  color: var(--rose) !important;
  padding: .15rem 1rem .85rem !important;
  display: block !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price del { color: var(--muted) !important; opacity: .8 !important; font-size: .78rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; font-weight: 600 !important; }
.woocommerce ul.products li.product .star-rating { padding: 0 1rem .5rem !important; }

/* Add-to-cart */
.woocommerce ul.products li.product .button {
  margin: 0 1rem 1rem !important;
  width: calc(100% - 2rem) !important;
  text-align: center !important;
  padding: .62rem 1rem !important;
  opacity: 0 !important;
  transform: translateY(6px) !important;
  background: transparent !important;
  color: var(--ink) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: var(--r-xs) !important;
  font-size: .68rem !important;
  display: block !important;
}
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product:focus-within .button { opacity: 1 !important; transform: translateY(0) !important; }
.woocommerce ul.products li.product .button:hover {
  background: var(--ink) !important; color: var(--surface) !important;
  transform: translateY(-1px) !important; border-color: var(--ink) !important;
  box-shadow: 0 5px 15px rgba(12,5,8,.2) !important;
}

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
  background: var(--rose) !important;
  color: var(--surface) !important;
  font-family: var(--sans) !important;
  font-size: .6rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  padding: .25rem .6rem !important;
  border-radius: var(--r-xs) !important;
  min-width: auto !important;
  min-height: auto !important;
  line-height: 1.5 !important;
  top: .85rem !important;
  right: .85rem !important;
  left: auto !important;
  border: none !important;
  box-shadow: 0 2px 8px var(--rose-glow) !important;
}

/* ─────────────────────────────────────────────
   SHOP PAGE
───────────────────────────────────────────── */

/* ── Shop hero banner ── */
.woocommerce-products-header {
  position: relative !important;
  background: linear-gradient(135deg, #1a0e13 0%, #2d1420 50%, #3d1d2a 100%) !important;
  text-align: center !important;
  padding: 5rem 2rem !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}
.woocommerce-products-header::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(ellipse at 60% 50%, rgba(194,85,110,.18) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.woocommerce-products-header__title,
.woocommerce-page .woocommerce-products-header h1 {
  font-family: var(--serif) !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: .08em !important;
  margin: 0 !important;
  position: relative !important;
}
.woocommerce-products-header__title::after {
  content: '' !important;
  display: block !important;
  width: 48px !important;
  height: 2px !important;
  background: var(--rose) !important;
  margin: 1rem auto 0 !important;
}

/* Shop page h1 when it appears outside the header block */
.woocommerce-page h1.page-title {
  font-family: var(--serif) !important;
  font-size: clamp(2.2rem, 5vw, 3.8rem) !important;
  font-weight: 600 !important;
  color: #fff !important;
  letter-spacing: .08em !important;
  margin: 0 !important;
}

/* Breadcrumb strip */
.woocommerce-breadcrumb {
  background: #f8f4f5 !important;
  font-size: .7rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: .75rem clamp(1rem,4vw,2.5rem) !important;
  border: none !important;
  border-bottom: 1px solid var(--line) !important;
  margin: 0 !important;
}
.woocommerce-breadcrumb a { color: var(--muted) !important; }
.woocommerce-breadcrumb a:hover { color: var(--rose) !important; }

/* Toolbar (count + sort) */
.storefront-sorting {
  background: var(--surface) !important;
  border: none !important;
  border-bottom: 1px solid var(--line) !important;
  padding: .75rem clamp(1rem,4vw,2.5rem) !important;
  margin-bottom: 2.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
  position: sticky !important;
  top: 72px !important;
  z-index: 100 !important;
  box-shadow: 0 2px 8px rgba(12,5,8,.04) !important;
}
.storefront-sorting .woocommerce-notices-wrapper { display: none !important; }
.woocommerce-result-count {
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  margin: 0 !important;
}
.woocommerce-ordering select {
  font-family: var(--sans) !important;
  font-size: .75rem !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  color: var(--ink-soft) !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-xl) !important;
  padding: .5rem 2.4rem .5rem 1rem !important;
  background: var(--surface) !important;
  appearance: auto !important;
  cursor: pointer !important;
  transition: border-color var(--dur) var(--ease) !important;
}
.woocommerce-ordering select:focus {
  border-color: var(--rose) !important;
  outline: none !important;
}

/* Pagination */
.woocommerce-pagination ul {
  display: flex !important;
  justify-content: center !important;
  gap: .4rem !important;
  list-style: none !important;
  padding: 3rem 0 2rem !important;
  margin: 0 !important;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
  font-size: .8rem !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1.5px solid var(--line) !important;
  color: var(--ink-soft) !important;
  background: transparent !important;
  padding: 0 !important;
  transition: all var(--dur) var(--ease) !important;
  transform: none !important;
  box-shadow: none !important;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
  background: var(--rose) !important;
  border-color: var(--rose) !important;
  color: var(--surface) !important;
  box-shadow: 0 4px 12px var(--rose-glow) !important;
}

/* ─────────────────────────────────────────────
   SINGLE PRODUCT
───────────────────────────────────────────── */
.single-product div.product {
  display: grid !important; grid-template-columns: 52% 1fr !important;
  gap: 4rem !important; align-items: start !important;
}
.single-product .woocommerce-product-gallery {
  border-radius: var(--r-lg) !important; overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important; position: sticky !important; top: 90px !important;
}
.single-product .product_title {
  font-family: var(--serif) !important; font-size: clamp(1.8rem,3vw,2.8rem) !important;
  font-weight: 600 !important; line-height: 1.15 !important; color: var(--ink) !important; margin-bottom: .4rem !important;
}
.single-product .price { font-size: 1.5rem !important; font-weight: 500 !important; color: var(--rose) !important; margin: .6rem 0 1.4rem !important; }
.single-product .price del { color: var(--muted) !important; font-size: 1.05rem !important; }
.single-product .price ins { text-decoration: none !important; font-weight: 600 !important; }
.single-product .woocommerce-product-details__short-description { font-size: .9rem !important; line-height: 1.8 !important; border-bottom: 1px solid var(--line) !important; padding-bottom: 1.5rem !important; margin-bottom: 1.5rem !important; }
.single-product .variations th.label label { font-size: .72rem !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--ink-soft) !important; }
.single-product .variations td select { font-family: var(--sans) !important; border: 1.5px solid var(--line) !important; border-radius: var(--r-sm) !important; padding: .6rem 1rem !important; font-size: .85rem !important; min-width: 160px !important; }
.single-product .variations td select:focus { border-color: var(--rose) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(194,85,110,.1) !important; }
.single-product .quantity input { font-family: var(--sans) !important; border: 1.5px solid var(--line) !important; border-radius: var(--r-sm) !important; padding: .65rem .8rem !important; text-align: center !important; width: 68px !important; }
.single-product .cart button.single_add_to_cart_button { background: var(--rose) !important; border-color: var(--rose) !important; padding: .9rem 2.4rem !important; }

/* Tabs */
.woocommerce-tabs ul.tabs { border-bottom: 2px solid var(--line) !important; margin-bottom: 0 !important; padding: 0 !important; list-style: none !important; display: flex !important; background: transparent !important; }
.woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce-tabs ul.tabs li { background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 !important; }
.woocommerce-tabs ul.tabs li a { font-size: .75rem !important; font-weight: 500 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--muted) !important; padding: .7rem 1.4rem !important; border-bottom: 2px solid transparent !important; margin-bottom: -2px !important; display: block !important; background: transparent !important; transition: all var(--dur) var(--ease) !important; }
.woocommerce-tabs ul.tabs li.active a, .woocommerce-tabs ul.tabs li a:hover { color: var(--rose) !important; border-bottom-color: var(--rose) !important; background: transparent !important; }
.woocommerce-tabs .panel { padding: 2rem 0 !important; border: none !important; background: transparent !important; }

/* ─────────────────────────────────────────────
   STARS
───────────────────────────────────────────── */
.star-rating span::before, .star-rating::before, .star-rating { color: var(--rose) !important; }

/* ─────────────────────────────────────────────
   SIDEBAR
───────────────────────────────────────────── */
.widget-area { padding-left: 1.25rem !important; }
.widget-area .widget { background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important; padding: 1.5rem !important; margin-bottom: 1.5rem !important; box-shadow: var(--shadow-xs) !important; }
.widget-area .widget-title { font-family: var(--serif) !important; font-size: 1.1rem !important; font-weight: 600 !important; color: var(--ink) !important; padding-bottom: .6rem !important; margin-bottom: 1rem !important; border-bottom: 2px solid var(--rose) !important; }
.widget-area ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.widget-area ul li { font-size: .85rem !important; border-bottom: 1px solid var(--line) !important; padding: .42rem 0 !important; }
.widget-area ul li:last-child { border-bottom: none !important; }
.widget-area ul li a { color: var(--ink-soft) !important; transition: all var(--dur) var(--ease) !important; }
.widget-area ul li a:hover { color: var(--rose) !important; padding-left: 3px !important; }
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-range,
.widget_price_filter .price_slider_wrapper .ui-slider .ui-slider-handle { background: var(--rose) !important; }

/* ─────────────────────────────────────────────
   FORMS
───────────────────────────────────────────── */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], input[type="search"],
textarea, select {
  font-family: var(--sans) !important; font-size: .88rem !important;
  color: var(--ink-soft) !important; background: var(--surface) !important;
  border: 1.5px solid var(--line) !important; border-radius: var(--r-sm) !important;
  padding: .68rem 1rem !important; width: 100% !important;
  transition: all var(--dur) var(--ease) !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--rose) !important; outline: none !important; box-shadow: 0 0 0 3px rgba(194,85,110,.1) !important; }
label { font-family: var(--sans) !important; font-size: .73rem !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--ink-soft) !important; margin-bottom: .4rem !important; display: block !important; }

/* ─────────────────────────────────────────────
   NOTICES
───────────────────────────────────────────── */
.woocommerce-message { background: var(--rose-tint) !important; border-top: 3px solid var(--rose) !important; font-family: var(--sans) !important; font-size: .88rem !important; }
.woocommerce-info    { background: #f0f7ff !important; border-top: 3px solid #4a90d9 !important; font-family: var(--sans) !important; }
.woocommerce-error   { background: #fff5f5 !important; border-top: 3px solid #e53e3e !important; font-family: var(--sans) !important; }

/* ─────────────────────────────────────────────
   FOOTER — full redesign
───────────────────────────────────────────── */

/* Kill the handheld footer bar completely — it intercepts clicks */
.storefront-handheld-footer-bar,
.storefront-handheld-footer-bar * { display: none !important; visibility: hidden !important; pointer-events: none !important; }

/* ── Footer shell ── */
.site-footer {
  background: var(--footer-deep) !important;
  color: #9a8890 !important;
  border-top: none !important;
  margin-top: 0 !important;
}

/* ── Top accent line ── */
.site-footer::before {
  content: '' !important;
  display: block !important;
  height: 3px !important;
  background: linear-gradient(90deg, transparent, var(--rose), transparent) !important;
}

/* ── Widget area grid ── */
.footer-widgets {
  background: var(--footer-mid) !important;
  padding: 5rem 0 4rem !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}

.footer-widgets .col-full {
  display: grid !important;
  grid-template-columns: 1.6fr 1fr 1.2fr 1fr !important;
  gap: 3.5rem !important;
  align-items: start !important;
}

/* Each footer widget column */
.footer-widgets .block {
  padding: 0 !important;
  margin: 0 !important;
}

.footer-widgets .widget {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-widgets .widget-title {
  font-family: var(--serif) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.5) !important;
  border: none !important;
  padding: 0 0 1rem !important;
  margin: 0 0 1.2rem !important;
  position: relative !important;
}
.footer-widgets .widget-title::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 24px !important;
  height: 1.5px !important;
  background: var(--rose) !important;
}

/* Text widgets */
.footer-widgets .textwidget p,
.footer-widgets .widget p {
  font-family: var(--sans) !important;
  font-size: .83rem !important;
  line-height: 1.85 !important;
  color: #7a6872 !important;
  margin-bottom: .8rem !important;
}

/* First column — brand name from widget title styled larger */
.footer-widgets .widget:first-child .widget-title {
  font-family: var(--serif) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  padding-bottom: 1.1rem !important;
  margin-bottom: 1rem !important;
}
.footer-widgets .widget:first-child .widget-title::after { width: 30px !important; }

/* Social links in footer */
.footer-widgets .textwidget a,
.footer-widgets .widget a {
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  color: #7a6872 !important;
  text-decoration: none !important;
  transition: color var(--dur) var(--ease) !important;
}
.footer-widgets .textwidget a:hover,
.footer-widgets .widget a:hover { color: var(--rose) !important; }

/* Nav menu widget (Quick Links) — hide page-icon bullets */
.footer-widgets .widget_nav_menu ul,
.footer-widgets .menu { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-widgets .widget_nav_menu ul li::before,
.footer-widgets .widget_nav_menu ul li .icon,
.footer-widgets .widget_nav_menu li img { display: none !important; }
.footer-widgets .widget_nav_menu ul li,
.footer-widgets .menu li {
  border: none !important;
  padding: .35rem 0 !important;
  margin: 0 !important;
}
.footer-widgets .widget_nav_menu ul li a,
.footer-widgets .menu li a {
  font-family: var(--sans) !important;
  font-size: .83rem !important;
  color: #7a6872 !important;
  display: flex !important;
  align-items: center !important;
  gap: .4rem !important;
  transition: all var(--dur) var(--ease) !important;
}
.footer-widgets .widget_nav_menu ul li a::before,
.footer-widgets .menu li a::before {
  content: '→' !important;
  font-size: .65rem !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  transition: all var(--dur) var(--ease) !important;
}
.footer-widgets .widget_nav_menu ul li a:hover,
.footer-widgets .menu li a:hover {
  color: #fff !important;
  padding-left: 4px !important;
}
.footer-widgets .widget_nav_menu ul li a:hover::before,
.footer-widgets .menu li a:hover::before { opacity: 1 !important; transform: translateX(0) !important; }

/* Newsletter widget (HTML form in text widget) */
.footer-widgets #text-3 form,
.footer-widgets .widget_text form {
  display: flex !important;
  flex-direction: column !important;
  gap: .6rem !important;
  margin-top: .5rem !important;
}
.footer-widgets #text-3 input[type="email"],
.footer-widgets .widget_text input[type="email"] {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: var(--r-sm) !important;
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: .84rem !important;
  padding: .72rem 1rem !important;
  width: 100% !important;
  box-shadow: none !important;
}
.footer-widgets #text-3 input[type="email"]:focus,
.footer-widgets .widget_text input[type="email"]:focus {
  border-color: var(--rose) !important;
  background: rgba(194,85,110,.06) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(194,85,110,.12) !important;
}
.footer-widgets #text-3 input::placeholder,
.footer-widgets .widget_text input::placeholder { color: #5a4852 !important; }
.footer-widgets #text-3 button[type="submit"],
.footer-widgets .widget_text button[type="submit"] {
  background: var(--rose) !important;
  border: none !important;
  border-radius: var(--r-sm) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-family: var(--sans) !important;
  font-size: .7rem !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  padding: .75rem 1rem !important;
  text-transform: uppercase !important;
  width: 100% !important;
  transition: background var(--dur) var(--ease) !important;
  transform: none !important;
  box-shadow: none !important;
}
.footer-widgets #text-3 button[type="submit"]:hover,
.footer-widgets .widget_text button[type="submit"]:hover {
  background: var(--rose-hover) !important;
  transform: none !important;
}

/* Contact widget */
.footer-widgets .widget.widget_text:last-child p {
  display: flex !important;
  gap: .5rem !important;
  align-items: flex-start !important;
  font-size: .82rem !important;
  line-height: 1.6 !important;
  margin-bottom: .7rem !important;
}

/* ── Bottom bar ── */
.site-info {
  background: var(--footer-deep) !important;
  color: #4a3840 !important;
  font-family: var(--sans) !important;
  font-size: .7rem !important;
  letter-spacing: .08em !important;
  text-align: center !important;
  padding: 1.4rem clamp(1rem,4vw,2.5rem) !important;
  border-top: 1px solid rgba(255,255,255,.03) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
}
.site-info a { color: var(--rose) !important; transition: color var(--dur) var(--ease) !important; }
.site-info a:hover { color: #fff !important; }

/* Footer responsive */
@media (max-width: 1024px) {
  .footer-widgets .col-full { grid-template-columns: 1fr 1fr !important; gap: 2.5rem !important; }
}
@media (max-width: 640px) {
  .footer-widgets .col-full { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-widgets { padding: 3rem 0 2.5rem !important; }
}

/* ─────────────────────────────────────────────
   BLOG
───────────────────────────────────────────── */
.blog .hentry, .archive .hentry { background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: var(--r-lg) !important; overflow: hidden !important; box-shadow: var(--shadow-xs) !important; margin-bottom: 2.5rem !important; transition: all var(--dur) var(--ease) !important; }
.blog .hentry:hover, .archive .hentry:hover { box-shadow: var(--shadow-md) !important; transform: translateY(-3px) !important; border-color: transparent !important; }
.entry-title { font-family: var(--serif) !important; font-weight: 600 !important; }
.entry-title a { color: var(--ink) !important; }
.entry-title a:hover { color: var(--rose) !important; }
.entry-meta { font-size: .72rem !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--muted) !important; }

/* ─────────────────────────────────────────────
   GUTENBERG
───────────────────────────────────────────── */
.page-template-template-fullwidth .wp-block-cover.alignfull,
.belle-homepage .wp-block-cover.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
}
.wp-block-cover__inner-container { max-width: 860px !important; margin: 0 auto !important; padding: 0 2rem !important; width: 100% !important; }
.wp-block-columns { gap: 2rem !important; }
.wp-block-column { min-width: 0 !important; }
.wp-block-button__link { font-family: var(--sans) !important; font-weight: 500 !important; font-size: .75rem !important; letter-spacing: .13em !important; text-transform: uppercase !important; border-radius: var(--r-xs) !important; transition: all var(--dur) var(--ease) !important; }

/* ─────────────────────────────────────────────
   WISHLIST
───────────────────────────────────────────── */
.yith-wcwl-add-to-wishlist { position: absolute !important; top: .75rem !important; left: .75rem !important; z-index: 10 !important; }
.yith-wcwl-add-button a, .yith-wcwl-wishlistexistsbrowse a, .yith-wcwl-wishlistaddedbrowse a { background: var(--surface) !important; border: 1px solid var(--line) !important; border-radius: 50% !important; width: 32px !important; height: 32px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; font-size: 0 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--muted) !important; transition: all var(--dur) var(--ease) !important; transform: none !important; box-shadow: var(--shadow-xs) !important; }
.yith-wcwl-add-button a:hover, .yith-wcwl-wishlistexistsbrowse a, .yith-wcwl-wishlistaddedbrowse a { border-color: var(--rose) !important; color: var(--rose) !important; background: var(--rose-tint) !important; box-shadow: none !important; transform: none !important; }

/* ─────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────── */
@media (max-width: 1280px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 960px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 1.2rem !important; }
  .single-product div.product { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .single-product .woocommerce-product-gallery { position: relative !important; top: auto !important; }
  .widget-area { padding-left: 0 !important; }
}
@media (max-width: 640px) {
  .woocommerce ul.products li.product a img { height: 230px !important; }
  .woocommerce ul.products li.product .button { opacity: 1 !important; transform: none !important; }
  .site-title { font-size: 1.3rem !important; }
}
@media (max-width: 380px) {
  .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ─────────────────────────────────────────────
   CART PAGE
───────────────────────────────────────────── */
/* Cart table */
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
  font-family: var(--sans) !important;
  border-color: var(--line) !important;
  vertical-align: middle !important;
  padding: 1.2rem .75rem !important;
}
.woocommerce-cart table.cart th {
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  background: transparent !important;
}

/* WC Blocks quantity stepper — override dark button base */
.wc-block-components-quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  border: 1.5px solid var(--line) !important;
  border-radius: var(--r-sm) !important;
  overflow: hidden !important;
  background: var(--surface) !important;
}
.wc-block-components-quantity-selector__input {
  width: 44px !important;
  text-align: center !important;
  border: none !important;
  border-left: 1.5px solid var(--line) !important;
  border-right: 1.5px solid var(--line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: .88rem !important;
  font-weight: 600 !important;
  padding: .5rem .25rem !important;
  box-shadow: none !important;
  outline: none !important;
}
.wc-block-components-quantity-selector__button {
  background: var(--surface) !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  box-shadow: none !important;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease) !important;
}
.wc-block-components-quantity-selector__button:hover:not(:disabled) {
  background: var(--rose-tint) !important;
  color: var(--rose) !important;
  transform: none !important;
  box-shadow: none !important;
}
.wc-block-components-quantity-selector__button:disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
}
/* Kill Font Awesome icon pollution on these buttons */
.wc-block-components-quantity-selector__button::after,
.wc-block-components-quantity-selector__button::before { display: none !important; content: none !important; }

/* Remove (trash) button */
.wc-block-cart-item__remove-link {
  background: transparent !important;
  border: none !important;
  border-radius: 50% !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  margin-left: .5rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  box-shadow: none !important;
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease) !important;
}
.wc-block-cart-item__remove-link:hover {
  background: rgba(194,85,110,.1) !important;
  color: var(--rose) !important;
  transform: none !important;
  box-shadow: none !important;
}
.wc-block-cart-item__remove-link svg { width: 16px !important; height: 16px !important; fill: currentColor !important; }
.wc-block-cart-item__remove-link::before,
.wc-block-cart-item__remove-link::after { display: none !important; content: none !important; }

/* Quantity + remove wrapper */
.wc-block-cart-item__quantity {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  flex-wrap: nowrap !important;
}

/* Cart totals & proceed button */
.wc-block-cart__sidebar .wc-block-cart__totals-title {
  font-family: var(--serif) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
  border-bottom: 1px solid var(--line) !important;
  padding-bottom: .75rem !important;
  margin-bottom: 1rem !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-cart__submit-button,
.woocommerce-cart .woocommerce-cart-form .button {
  background: var(--rose) !important;
  border-color: var(--rose) !important;
  color: #fff !important;
  border-radius: var(--r-sm) !important;
  width: 100% !important;
  text-align: center !important;
  padding: .9rem 1.5rem !important;
  display: block !important;
  transform: none !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--rose-hover) !important;
  border-color: var(--rose-hover) !important;
  transform: none !important;
  box-shadow: none !important;
}
