/* ==========================================================================
   Pure Nature Drops — Main Stylesheet (Dark / Bold Edition)
   ========================================================================== */

/* ---- Icons ---- */
.icon{ width:20px; height:20px; }
.icon-sm{ width:14px; height:14px; display:inline-block; vertical-align:-2px; margin-right:4px; }

/* ---- Buttons ---- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 30px;
  border-radius:999px;
  font-size:13px; font-weight:800;
  letter-spacing:0.06em; text-transform:uppercase;
  border:1px solid transparent;
  transition:all 0.25s ease;
}
.btn-primary{ background:var(--color-accent); color:#0B0B0D; }
.btn-primary:hover{ background:var(--color-accent-hover); transform:translateY(-2px); }
.btn-outline{ background:transparent; color:var(--color-dark); border-color:var(--color-border); }
.btn-outline:hover{ border-color:var(--color-accent); color:var(--color-accent); }

/* ---- Announcement bar ---- */
.announcement-bar{
  background:#000;
  color:var(--color-accent);
  text-align:center;
  font-size:11px;
  letter-spacing:0.15em;
  text-transform:uppercase;
  padding:10px 16px;
  font-weight:600;
}

/* ---- Header ---- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(11,11,13,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--color-border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 10px;
  gap:6px;
}
.site-logo{ font-family:'Playfair Display', serif; min-width:0; }
.site-logo-text{
  font-size:17px; font-weight:700; letter-spacing:0.01em; color:var(--color-dark);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  display:inline-block;
}
.site-logo img{ max-height:40px; width:auto; }

.primary-nav{ display:none; }
.nav-menu{ display:flex; gap:32px; }
.nav-menu li a{
  font-size:12px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--color-dark);
  transition:color 0.2s ease;
}
.nav-menu li a:hover{ color:var(--color-accent); }

.header-actions{ display:flex; align-items:center; gap:0px; flex-shrink:0; }
.header-icon-btn{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:50%;
  color:var(--color-dark);
  background:none; border:none; padding:0; cursor:pointer;
  font:inherit;
  transition:background 0.2s ease;
}
.header-icon-btn:hover{ background:var(--color-accent-light); }
.cart-count{
  position:absolute; top:2px; right:2px;
  background:var(--color-accent); color:#0B0B0D;
  font-size:10px; font-weight:800;
  width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}

.mobile-menu-toggle{
  background:none; border:none; padding:6px;
  color:var(--color-dark);
  flex-shrink:0;
}

/* Search panel */
.search-panel{
  max-height:0;
  overflow:hidden;
  background:var(--color-bg-alt);
  border-bottom:0 solid var(--color-border);
  transition:max-height 0.35s ease, padding 0.35s ease;
}
.search-panel.is-open{
  max-height:120px;
  border-bottom-width:1px;
}
.search-panel .container{
  display:flex; align-items:center; gap:16px;
  padding-top:20px; padding-bottom:20px;
}
.search-panel form.woocommerce-product-search,
.search-panel form[role="search"]{
  flex:1;
  display:flex;
  gap:10px;
}
.search-panel input[type="search"],
.search-panel input.search-field{
  flex:1;
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:999px;
  padding:12px 20px;
  color:var(--color-dark);
  font-size:14px;
}
.search-panel input[type="search"]:focus,
.search-panel input.search-field:focus{
  outline:none; border-color:var(--color-accent);
}
.search-panel button[type="submit"],
.search-panel input[type="submit"]{
  background:var(--color-accent); color:#0B0B0D;
  border:none; border-radius:999px;
  padding:12px 24px;
  font-weight:800; text-transform:uppercase; letter-spacing:0.06em; font-size:12px;
}
.search-panel button[type="submit"]:hover,
.search-panel input[type="submit"]:hover{ background:var(--color-accent-hover); }
.search-panel-close{
  background:none; border:none; color:var(--color-dark); padding:8px; flex-shrink:0;
}
.search-toggle.is-active{ color:var(--color-accent); }

/* Mobile slide-in menu */
.mobile-menu{
  max-height:0;
  overflow:hidden;
  background:var(--color-bg-alt);
  border-bottom:0 solid var(--color-border);
  transition:max-height 0.35s ease, border-bottom-width 0.35s ease;
}
.mobile-menu.is-open{
  max-height:320px;
  border-bottom-width:1px;
}
.mobile-menu-inner{ padding:20px; }
.mobile-menu-close{ display:none; }
.mobile-nav-menu{ display:flex; flex-direction:column; gap:4px; }
.mobile-nav-menu li a{
  display:block;
  padding:14px 4px;
  font-size:15px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--color-dark);
  border-bottom:1px solid var(--color-border);
}
.mobile-nav-menu li:last-child a{ border-bottom:none; }
.mobile-nav-menu li a:hover{ color:var(--color-accent); }

.mobile-menu-backdrop{ display:none; }

/* ---- Hero ---- */
.hero{
  position:relative;
  padding:70px 0 60px;
  background-color:var(--color-bg);
  border-bottom:1px solid var(--color-border);
  overflow:hidden;
}
.hero-bg-slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-bg-slide-1{
  z-index:1;
  opacity:1;
}
.hero-bg-slide-2{
  z-index:2;
  opacity:0;
  animation:pndHeroCrossfade2 15s ease-in-out infinite;
}
.hero-bg-slide-3{
  z-index:3;
  opacity:0;
  animation:pndHeroCrossfade3 15s ease-in-out infinite;
}
@keyframes pndHeroCrossfade2{
  0%   { opacity:0; }
  30%  { opacity:0; }
  35%  { opacity:1; }
  55%  { opacity:1; }
  60%  { opacity:0; }
  100% { opacity:0; }
}
@keyframes pndHeroCrossfade3{
  0%   { opacity:0; }
  63%  { opacity:0; }
  68%  { opacity:1; }
  88%  { opacity:1; }
  93%  { opacity:0; }
  100% { opacity:0; }
}
.hero-bg-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at top, rgba(197,160,89,0.10) 0%, transparent 60%),
    linear-gradient(180deg, rgba(11,11,13,0.55) 0%, rgba(11,11,13,0.75) 100%);
  z-index:4;
  pointer-events:none;
}
.hero .container{ position:relative; z-index:5; }

@media (prefers-reduced-motion: reduce){
  .hero-bg-slide-2, .hero-bg-slide-3{ animation:none; opacity:0; }
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:56px;
  align-items:center;
}
.hero-content{ text-align:center; max-width:560px; margin:0 auto; }
.eyebrow{
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--color-accent);
  background:var(--color-accent-light);
  padding:8px 16px; border-radius:999px;
  margin-bottom:24px;
  opacity:0; transform:translateY(10px);
  animation:pndFadeUp 700ms cubic-bezier(0.23,1,0.32,1) 80ms forwards;
}
.hero-title{
  font-size:clamp(36px, 7vw, 64px);
  margin-bottom:20px;
  color:var(--color-dark);
  letter-spacing:-0.01em;
  opacity:0; transform:translateY(14px);
  animation:pndFadeUp 750ms cubic-bezier(0.23,1,0.32,1) 160ms forwards;
}
.hero-subtitle{
  font-size:17px; max-width:540px; margin:0 auto 36px;
  opacity:0; transform:translateY(14px);
  animation:pndFadeUp 750ms cubic-bezier(0.23,1,0.32,1) 260ms forwards;
}
.hero-content .btn{
  opacity:0; transform:translateY(14px);
  animation:pndFadeUp 750ms cubic-bezier(0.23,1,0.32,1) 360ms forwards;
}

/* Hero image collage */
.hero-visual{
  position:relative;
  width:100%;
  min-width:0;
  height:420px;
  max-width:460px;
  margin:0 auto;
}
.hero-glow{
  position:absolute; inset:-20% -10%;
  background:radial-gradient(circle, rgba(197,160,89,0.18) 0%, transparent 70%);
  z-index:0;
  pointer-events:none;
}
.hero-float{
  position:absolute;
  border-radius:18px;
  object-fit:cover;
  box-shadow:0 24px 48px rgba(0,0,0,0.5);
  border:1px solid rgba(197,160,89,0.25);
  opacity:0;
  will-change:transform;
}
.hero-float-1{
  width:62%; height:88%;
  top:6%; right:2%;
  z-index:2;
  animation:
    pndFadeScale 900ms cubic-bezier(0.23,1,0.32,1) 200ms forwards,
    pndFloat1 6s ease-in-out 1100ms infinite;
}
.hero-float-2{
  width:44%; height:44%;
  top:0; left:0;
  z-index:3;
  transform:rotate(-6deg);
  animation:
    pndFadeScale2 900ms cubic-bezier(0.23,1,0.32,1) 420ms forwards,
    pndFloat2 7s ease-in-out 1320ms infinite;
}
.hero-float-3{
  width:40%; height:46%;
  bottom:2%; left:8%;
  z-index:1;
  transform:rotate(4deg);
  animation:
    pndFadeScale3 900ms cubic-bezier(0.23,1,0.32,1) 560ms forwards,
    pndFloat3 8s ease-in-out 1460ms infinite;
}

@keyframes pndFadeUp{
  to{ opacity:1; transform:translateY(0); }
}
@keyframes pndFadeScale{
  from{ opacity:0; transform:translateY(16px) scale(0.96); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes pndFadeScale2{
  from{ opacity:0; transform:translateY(16px) rotate(-6deg) scale(0.94); }
  to{ opacity:1; transform:translateY(0) rotate(-6deg) scale(1); }
}
@keyframes pndFadeScale3{
  from{ opacity:0; transform:translateY(16px) rotate(4deg) scale(0.94); }
  to{ opacity:1; transform:translateY(0) rotate(4deg) scale(1); }
}
@keyframes pndFloat1{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-14px); }
}
@keyframes pndFloat2{
  0%,100%{ transform:translateY(0) rotate(-6deg); }
  50%{ transform:translateY(10px) rotate(-6deg); }
}
@keyframes pndFloat3{
  0%,100%{ transform:translateY(0) rotate(4deg); }
  50%{ transform:translateY(-9px) rotate(4deg); }
}

@media (prefers-reduced-motion: reduce){
  .eyebrow, .hero-title, .hero-subtitle, .hero-content .btn, .hero-float{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
  .hero-float-2{ transform:rotate(-6deg) !important; }
  .hero-float-3{ transform:rotate(4deg) !important; }
}

/* ---- USP strip ---- */
.usp-strip{ padding:50px 0; border-bottom:1px solid var(--color-border); background:var(--color-bg-alt); }
.usp-grid{
  display:grid; grid-template-columns:repeat(2, 1fr); gap:32px;
  text-align:center;
}
.usp-item .icon{ color:var(--color-accent); width:28px; height:28px; margin:0 auto 12px; }
.usp-item h4{ font-size:16px; margin-bottom:4px; color:var(--color-dark); }
.usp-item p{ font-size:13px; margin:0; }

/* ---- Section heading ---- */
.section-heading{ text-align:center; max-width:560px; margin:0 auto 40px; }
.section-heading h2{ font-size:34px; color:var(--color-dark); }
.section-cta{ text-align:center; margin-top:36px; }

/* ---- Shop by Category ---- */
.category-section{ padding:70px 0; }
ul.products.product-category-list::before,
ul.products.product-category-list::after,
.category-section ul.products::before,
.category-section ul.products::after{
  content:none !important;
  display:none !important;
}
ul.products.product-category-list,
.category-section ul.products{
  display:grid !important;
  justify-content:start;
  grid-template-columns:repeat(2, 1fr) !important;
  gap:20px;
  list-style:none !important;
  margin:0 !important; padding:0 !important;
}
.category-section li.product-category{
  position:relative;
  width:100% !important;
  float:none !important;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--color-card);
  border:1px solid var(--color-border);
  margin:0 !important;
}
.category-section li.product-category a{ display:block; position:relative; }
.category-section li.product-category img{
  width:100%; aspect-ratio:1/1; object-fit:cover;
  filter:brightness(0.65);
  transition:transform 0.4s ease, filter 0.4s ease;
}
.category-section li.product-category:hover img{ transform:scale(1.06); filter:brightness(0.5); }
.category-section li.product-category .woocommerce-loop-category__title{
  position:absolute; left:0; right:0; bottom:0;
  padding:20px;
  color:#fff;
  font-family:'Playfair Display', serif;
  font-size:18px;
  font-weight:600;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,0.75));
  margin:0;
}
.category-section li.product-category .woocommerce-loop-category__title mark{
  background:none; color:var(--color-accent); font-family:'Plus Jakarta Sans', sans-serif; font-size:12px; font-weight:600;
}

/* ---- Featured products / WooCommerce product grid ---- */
.featured-products{ padding:80px 0; }
ul.products::before,
ul.products::after{
  content:none !important;
  display:none !important;
}
ul.products{
  display:grid !important;
  justify-content:start;
  clear:both;
  grid-template-columns:repeat(2, 1fr) !important;
  gap:20px;
  list-style:none !important;
  margin:0 !important; padding:0 !important;
}
ul.products li.product{
  position:relative;
  width:100% !important;
  float:none !important;
  display:flex;
  flex-direction:column;
  background:var(--color-card);
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  overflow:hidden;
  padding:0 !important;
  margin:0 !important;
  transition:transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
ul.products li.product:hover{
  transform:translateY(-4px);
  border-color:var(--color-accent);
  box-shadow:0 20px 36px rgba(197,160,89,0.14);
}
ul.products li.product a img{
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:0 !important;
}
ul.products li.product .woocommerce-loop-product__title{
  font-family:'Playfair Display', serif;
  font-size:17px; font-weight:600;
  letter-spacing:-0.01em;
  line-height:1.3;
  padding:18px 18px 6px; margin:0;
  color:var(--color-dark);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.6em;
}
ul.products li.product .price{
  margin-top:auto;
  padding:2px 18px 18px;
  font-weight:600; font-size:15px;
  letter-spacing:0.02em;
}
ul.products li.product .price ins{
  text-decoration:none; color:var(--color-accent);
}
ul.products li.product .price del{
  color:var(--color-muted); font-weight:400; font-size:12px; margin-right:8px;
}
ul.products li.product:not(.outofstock) .price{ color:var(--color-accent); }
ul.products li.product .button{
  display:block; margin:6px 18px 12px;
  text-align:center;
  background:transparent;
  color:var(--color-accent);
  border:1px solid var(--color-accent);
  padding:14px; border-radius:999px;
  font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
  transition:background 180ms ease, color 180ms ease, transform 120ms ease, box-shadow 180ms ease;
}
ul.products li.product .button:hover{
  background:var(--color-accent);
  color:#0B0B0D;
  box-shadow:0 6px 18px rgba(197,160,89,0.35);
}
ul.products li.product .button:active{
  transform:scale(0.97);
}
ul.products li.product a.added_to_cart{
  display:block;
  margin:0 18px 22px;
  text-align:center;
  font-size:11px;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--color-muted);
}
ul.products li.product a.added_to_cart:hover{ color:var(--color-accent); }
ul.products li.product .onsale{
  position:absolute; top:12px; left:12px;
  background:var(--color-sale); color:#fff;
  font-size:10px; font-weight:800; text-transform:uppercase;
  padding:5px 12px; border-radius:999px;
  min-width:0; min-height:0; line-height:normal;
  z-index:2;
}

/* ---- Story section ---- */
.story-section{ padding:80px 0; background:var(--color-bg-alt); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); }
.story-inner{ max-width:640px; margin:0 auto; text-align:center; }
.story-inner h2{ color:var(--color-dark); }

/* ---- Footer ---- */
.site-footer{ background:#000; color:#8a8a8a; padding-top:60px; }
.footer-inner{
  display:grid; gap:40px;
  padding-bottom:40px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer-logo{ color:#fff; font-size:22px; }
.footer-tagline{ color:#8a8a8a; font-size:14px; max-width:360px; }
.footer-badges{ display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; }
.footer-badges span{ display:flex; align-items:center; font-size:12px; color:#999; }
.footer-widget-title{ color:#fff; font-size:14px; margin-bottom:12px; }
.footer-menu{ display:flex; flex-wrap:wrap; gap:20px; }
.footer-menu a{ font-size:13px; color:#999; }
.footer-menu a:hover{ color:var(--color-accent); }
.footer-bottom{ padding:20px 0; text-align:center; }
.footer-bottom p{ margin:0; font-size:12px; color:#555; }

/* ---- Generic page / blog ---- */
.page-content{ padding:60px 20px; max-width:820px; }
.page-title{ font-size:36px; color:var(--color-dark); }
.blog-card{ margin-bottom:48px; padding-bottom:48px; border-bottom:1px solid var(--color-border); }
.blog-card h2{ font-size:24px; margin:16px 0 8px; }

/* ---- WooCommerce: general page wrapper ---- */
.woo-page-container{ padding:48px 20px; }
.woo-page-container::after{ content:""; display:table; clear:both; }
.woo-main{ max-width:1200px; margin:0 auto; }
.woo-main::after{ content:""; display:table; clear:both; }
.pnd-shop-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px;
  padding-bottom:24px;
  margin-bottom:28px;
  border-bottom:1px solid var(--color-border);
}
.woocommerce-result-count{
  margin:0;
  padding:0;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--color-muted);
  line-height:1.2;
}
.woocommerce-ordering{
  margin:0 0 0 auto;
}
.woocommerce-ordering select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background-color:var(--color-card);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C5A059' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px;
  border:1px solid var(--color-border);
  border-radius:999px;
  padding:11px 40px 11px 20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--color-dark);
  cursor:pointer;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.woocommerce-ordering select:hover{ border-color:var(--color-accent); }
.woocommerce-ordering select:focus{
  outline:none;
  border-color:var(--color-accent);
  box-shadow:0 0 0 3px rgba(197,160,89,0.15);
}
.woocommerce-ordering select option{
  background:var(--color-card);
  color:var(--color-dark);
}
.woocommerce-breadcrumb{ font-size:12px; color:var(--color-muted); margin-bottom:24px; }
.woocommerce-breadcrumb a{ color:var(--color-muted); }

/* Single product */
.single-product .woo-main{ max-width:1100px; }
.woocommerce div.product div.images img{ border-radius:var(--radius); }
.woocommerce div.product .product_title{ font-size:32px; color:var(--color-dark); }
.woocommerce div.product p.price{ color:var(--color-accent); font-size:26px; font-weight:700; }
.woocommerce div.product p.price del{ color:var(--color-muted); font-size:16px; margin-right:10px; }
.woocommerce div.product p.price ins{ text-decoration:none; }
.woocommerce div.product .cart .button{
  background:var(--color-accent); color:#0B0B0D;
  padding:15px 34px; border-radius:999px;
  font-weight:800; text-transform:uppercase; letter-spacing:0.08em; font-size:13px;
  border:none;
}
.woocommerce div.product .cart .button:hover{ background:var(--color-accent-hover); }
.woocommerce div.product form.cart .quantity input{
  border:1px solid var(--color-border); border-radius:8px; padding:10px;
  height:auto; background:var(--color-card); color:var(--color-dark);
}
.woocommerce div.product .product_meta,
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--color-muted); }

/* Cart & Checkout tables/forms */
.woocommerce table.shop_table{ border-color:var(--color-border); border-radius:var(--radius); overflow:hidden; color:var(--color-dark); }
.woocommerce table.shop_table th{ background:var(--color-accent-light); }
.woocommerce table.shop_table td{ border-color:var(--color-border); }
.woocommerce #payment{ background:var(--color-card); border-radius:var(--radius); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
  border:1px solid var(--color-border); border-radius:8px; padding:10px 14px;
  background:var(--color-card); color:var(--color-dark);
}
.woocommerce-checkout #payment div.payment_box{ background:var(--color-accent-light); border-radius:8px; color:var(--color-dark); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--color-accent); color:#0B0B0D; border-radius:999px; border:none;
  font-weight:800; text-transform:uppercase; letter-spacing:0.06em; font-size:12px;
  padding:13px 26px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--color-accent-hover); color:#0B0B0D;
}
.woocommerce span.onsale{ background:var(--color-sale); }
.woocommerce nav.woocommerce-pagination ul{ border-color:var(--color-border); }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{ border-color:var(--color-border); color:var(--color-dark); }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--color-accent); color:#0B0B0D; }

.woocommerce-message, .woocommerce-info{
  border-top-color:var(--color-accent) !important;
  background:var(--color-accent-light);
  color:var(--color-dark);
}
.woocommerce-message::before, .woocommerce-info::before{ color:var(--color-accent); }
.woocommerce-message .button{ order:2; }

/* My account */
.woocommerce-MyAccount-navigation ul{ display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:30px; }
.woocommerce-MyAccount-navigation a{ color:var(--color-muted); font-weight:600; font-size:13px; text-transform:uppercase; letter-spacing:0.05em; }
.woocommerce-MyAccount-navigation .is-active a{ color:var(--color-accent); }

/* ---- Reveal-on-scroll ---- */
.reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-visible{ opacity:1; transform:translateY(0); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (min-width: 992px){
  .mobile-menu-toggle{ display:none; }
  .primary-nav{ display:block; }
  .header-inner{ grid-template-columns:1fr auto 1fr; display:grid; align-items:center; padding:18px 20px; gap:16px; }
  .primary-nav{ justify-self:start; }
  .site-logo{ justify-self:center; }
  .header-actions{ justify-self:end; gap:6px; }
  .site-logo-text{ font-size:22px; letter-spacing:0.02em; max-width:none; }
  .site-logo img{ max-height:48px; }

  .usp-grid{ grid-template-columns:repeat(4, 1fr); }
  ul.products{ grid-template-columns:repeat(4, 1fr) !important; }
  .category-section ul.products{ grid-template-columns:repeat(4, 1fr) !important; }
  .footer-inner{ grid-template-columns:2fr 1fr 1fr; }

  .hero{ padding:90px 0; }
  .hero-grid{ grid-template-columns:1.1fr 1fr; gap:40px; text-align:left; }
  .hero-content{ text-align:left; margin:0; }
  .eyebrow, .hero-subtitle{ margin-left:0; }
  .hero-visual{ width:100%; max-width:none; height:520px; margin:0; }
}

@media (min-width: 600px) and (max-width: 991px){
  ul.products{ grid-template-columns:repeat(3, 1fr) !important; }
  .usp-grid{ grid-template-columns:repeat(4, 1fr); }
  .category-section ul.products{ grid-template-columns:repeat(4, 1fr) !important; }
}

@media (max-width: 991px){
  .footer-inner{ text-align:center; justify-items:center; }
  .footer-badges{ justify-content:center; }
}

/* ==========================================================================
   WooCommerce Blocks — Cart & Checkout (block-based, not the classic table)
   ========================================================================== */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
  --wc-blue: var(--color-accent);
}

/* Cart items */
.wc-block-cart-items{
  border:none;
}
.wc-block-cart-items__header{
  display:none; /* hide the desktop column-header row; our row layout is self-explanatory */
}
.wc-block-cart-item{
  border-top:none !important;
  border-bottom:1px solid var(--color-border) !important;
  padding:24px 0 !important;
}
.wc-block-cart-item__image img{
  border-radius:var(--radius);
  border:1px solid var(--color-border);
}
.wc-block-components-product-name{
  font-family:'Playfair Display', serif;
  font-size:17px;
  font-weight:600;
  color:var(--color-dark) !important;
  text-decoration:none !important;
}
a.wc-block-components-product-name:hover{ color:var(--color-accent) !important; }
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description p{
  color:var(--color-muted) !important;
  font-size:13px;
}
.wc-block-components-product-price .price,
.wc-block-cart-item__total .price,
.wc-block-components-formatted-money-amount{
  color:var(--color-accent) !important;
  font-weight:700;
}

/* Quantity stepper */
.wc-block-components-quantity-selector{
  border:1px solid var(--color-border) !important;
  border-radius:999px !important;
  overflow:hidden;
  background:var(--color-card);
}
.wc-block-components-quantity-selector__button{
  color:var(--color-dark) !important;
  background:transparent !important;
}
.wc-block-components-quantity-selector__button:hover{
  color:var(--color-accent) !important;
  background:var(--color-accent-light) !important;
}
.wc-block-components-quantity-selector__input{
  background:transparent !important;
  color:var(--color-dark) !important;
  font-weight:600;
}

/* Remove item button */
.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata a.remove{
  color:var(--color-muted) !important;
  transition:color 0.2s ease;
}
.wc-block-cart-item__remove-link:hover{ color:var(--color-sale) !important; }

/* Coupon panel */
.wc-block-components-panel{
  border-color:var(--color-border) !important;
}
.wc-block-components-panel__button{
  color:var(--color-dark) !important;
  font-weight:600;
  padding:18px 0 !important;
}
.wc-block-components-panel__button:hover{ color:var(--color-accent) !important; }
.wc-block-components-totals-coupon__form .wc-block-components-text-input input{
  background:var(--color-card) !important;
  border:1px solid var(--color-border) !important;
  border-radius:8px !important;
  color:var(--color-dark) !important;
}
.wc-block-components-totals-coupon__button{
  border:1px solid var(--color-accent) !important;
  color:var(--color-accent) !important;
  border-radius:999px !important;
}
.wc-block-components-totals-coupon__button:hover{
  background:var(--color-accent) !important;
  color:#0B0B0D !important;
}

/* Totals sidebar */
.wc-block-cart__totals-title{
  font-family:'Playfair Display', serif;
  color:var(--color-dark) !important;
}
.wc-block-components-totals-item{
  border-color:var(--color-border) !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value{
  color:var(--color-dark) !important;
  font-weight:600;
}
.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-formatted-money-amount{
  color:var(--color-accent) !important;
  font-size:20px;
  font-weight:700;
}

/* Proceed to Checkout button — the big one */
.wc-proceed-to-checkout .wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button,
.wc-block-components-checkout-place-order-button{
  display:flex !important;
  align-items:center; justify-content:center;
  width:100% !important;
  background:var(--color-accent) !important;
  color:#0B0B0D !important;
  border:none !important;
  border-radius:999px !important;
  padding:18px !important;
  font-size:14px !important;
  font-weight:800 !important;
  text-transform:uppercase;
  letter-spacing:0.08em;
  transition:background 180ms ease, transform 120ms ease, box-shadow 180ms ease;
}
.wc-proceed-to-checkout .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover{
  background:var(--color-accent-hover) !important;
  box-shadow:0 10px 24px rgba(197,160,89,0.3);
}
.wc-proceed-to-checkout .wc-block-cart__submit-button:active,
.wc-block-cart__submit-container .wc-block-components-button:active{
  transform:scale(0.98);
}

/* Generic block button fallback (empty cart "Browse products", etc.) */
.wc-block-components-button:not(.wc-block-components-quantity-selector__button){
  border-radius:999px !important;
}

/* ==========================================================================
   WooCommerce Blocks — Checkout form
   ========================================================================== */

/* Step section titles (Contact information / Billing address / Payment options) */
.wc-block-components-checkout-step__title{
  font-family:'Playfair Display', serif !important;
  color:var(--color-dark) !important;
  font-size:21px !important;
  font-weight:600 !important;
}
/* Each checkout step (Contact info / Billing address / Payment options) gets its
   own deliberate card, matching the Order Summary sidebar's treatment. */
.wc-block-components-checkout-step{
  background:var(--color-bg-alt) !important;
  border:1px solid var(--color-border) !important;
  border-radius:var(--radius) !important;
  padding:28px !important;
  margin-bottom:24px !important;
}
.wc-block-components-checkout-step__content{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.wc-block-components-checkout-step__title{
  margin-bottom:22px !important;
}
.wc-block-components-radio-control{
  padding:2px !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  outline:none !important;
}
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked--last-selected,
.wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control.wc-block-components-radio-control--highlight-checked--last-selected{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
}
/* Nuclear option, scoped tightly to just the payment method section */
#payment-method,
#payment-method *{
  border-bottom-color:transparent !important;
}
.wc-block-components-checkout-step__container{
  padding-bottom:8px;
}

/* Floating-label text inputs */
.wc-block-components-text-input{ margin-bottom:2px; }
.wc-block-components-text-input input,
.wc-block-components-combobox input{
  background:var(--color-card) !important;
  border:1px solid var(--color-border) !important;
  border-radius:8px !important;
  color:var(--color-dark) !important;
  box-shadow:none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus{
  border-color:var(--color-accent) !important;
  box-shadow:0 0 0 3px rgba(197,160,89,0.15) !important;
  outline:none !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox label{
  color:var(--color-muted) !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-combobox.is-active label{
  color:var(--color-accent) !important;
}

/* Country/State dropdown combobox — broad selectors since WC Blocks markup varies by version */
.wc-block-components-combobox .components-base-control__field,
.wc-block-components-dropdown-selector__control,
.wc-block-checkout select,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-country-input input,
.wc-block-components-state-input input{
  background:var(--color-card) !important;
  border:1px solid var(--color-border) !important;
  border-radius:8px !important;
  color:var(--color-dark) !important;
}
.wc-block-components-combobox svg,
.wc-block-components-dropdown-selector__control svg,
.wc-block-checkout select ~ svg{
  fill:var(--color-accent) !important;
}
.components-form-token-field__suggestions-list,
.wc-blocks-components-select__listbox{
  background:var(--color-card) !important;
  border:1px solid var(--color-border) !important;
  color:var(--color-dark) !important;
}

/* Payment method radio cards — based on actual confirmed markup:
   .wc-block-components-radio-control-accordion-option (outer, column)
     > label.wc-block-components-radio-control__option (flex row: input + option-layout)
         > input.wc-block-components-radio-control__input
         > div.wc-block-components-radio-control__option-layout (flex: icon + label-group)
             > div.wc-block-components-radio-control__label-group
                 > span.wc-block-components-radio-control__label
*/
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control > .wc-block-components-radio-control__option{
  background:linear-gradient(135deg, #26252B 0%, #201F24 100%) !important;
  border:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 4px 12px rgba(0,0,0,0.25) !important;
  border-radius:16px !important;
  margin:0 !important;
  padding:20px !important;
  transition:background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  cursor:pointer;
}
.wc-block-components-radio-control-accordion-option:hover,
.wc-block-components-radio-control > .wc-block-components-radio-control__option:hover{
  background:linear-gradient(135deg, #2D2C33 0%, #26252B 100%) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 6px 16px rgba(0,0,0,0.3) !important;
}
.wc-block-components-radio-control__input{
  accent-color:var(--color-accent) !important;
  flex-shrink:0;
  width:20px !important;
  height:20px !important;
}
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__label-group{
  color:var(--color-dark) !important;
  font-weight:700 !important;
  font-size:15px !important;
  letter-spacing:0.01em;
}
.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control > .wc-block-components-radio-control__option:has(input:checked){
  background:linear-gradient(135deg, rgba(197,160,89,0.18), rgba(197,160,89,0.06)) !important;
  box-shadow:inset 3px 0 0 var(--color-accent), inset 0 1px 0 rgba(255,255,255,0.05), 0 6px 16px rgba(0,0,0,0.3) !important;
}
/* High-specificity override — previous attempts weren't winning against WC's own border rules */
#payment-method .wc-block-components-radio-control-accordion-option,
#payment-method .wc-block-components-radio-control > .wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option{
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
}
/* Inner label inside the accordion wrapper shouldn't have its own border/background — only the outer card should */
.wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
}
/* The label itself is the flex row (input + layout) — just add a gap, don't touch padding/margin */
.wc-block-components-radio-control__option{
  gap:12px !important;
}
/* Icon + label-group row — add a gap here too so an icon never touches the text */
.wc-block-components-radio-control__option-layout{
  gap:10px !important;
}
.wc-block-components-radio-control__input{
  accent-color:var(--color-accent) !important;
  flex-shrink:0;
}
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__label-group{
  color:var(--color-dark) !important;
  font-weight:600 !important;
}
.wc-block-components-radio-control__description{
  color:var(--color-muted) !important;
  font-size:13px !important;
}
.wc-block-components-radio-control-accordion-content{
  color:var(--color-muted) !important;
  padding-top:12px !important;
}
.wc-block-components-radio-control-accordion-content div,
.wc-block-components-radio-control-accordion-content p{
  background:rgba(255,255,255,0.04) !important;
  color:var(--color-muted) !important;
}
.wc-block-components-radio-control-accordion-content a{
  color:var(--color-accent) !important;
}

/* Checkbox (e.g. "Save info", "Create account") */
.wc-block-components-checkbox svg{ fill:var(--color-accent) !important; }
.wc-block-components-checkbox__label{ color:var(--color-muted) !important; }

/* Order note toggle + terms/privacy links */
.wc-block-checkout__add-note .components-checkbox-control__label,
.wc-block-checkout__terms{
  color:var(--color-muted) !important;
}
.wc-block-checkout__terms a,
.wc-block-components-checkout-step a{
  color:var(--color-accent) !important;
}
.wc-block-checkout__terms a:hover{
  color:var(--color-accent-hover) !important;
}

/* Order summary panel (checkout sidebar) */
.wc-block-checkout__sidebar .wc-block-components-panel,
.wc-block-components-order-summary{
  background:transparent;
}
.wc-block-components-order-summary-item__image img{
  border-radius:10px !important;
  border:1px solid var(--color-border) !important;
}
.wc-block-components-order-summary-item__quantity{
  background:var(--color-accent) !important;
  color:#0B0B0D !important;
  font-weight:700 !important;
}
.wc-block-components-order-summary-item .wc-block-components-product-name{
  font-size:14px !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-prices{
  color:var(--color-muted) !important;
  font-size:12px !important;
}

/* Place order button already styled globally above (.wc-block-components-checkout-place-order-button) */
