/*!
Theme Name: 
Version: 1.5
License: GPL v2 or later
Text Domain: bright-knight-botanicals
*/

:root{--bone:#efe7d2;--bone-soft:#f5efdd;--bone-warm:#e3d9bd;--ink:#14203a;--ink-2:#1f2c4a;--ink-3:#2b3858;--gold:#c79a3b;--gold-deep:#97732a;--sky:#6a92b8;--rule:rgba(20,32,58,0.14);--rule-soft:rgba(20,32,58,0.08);--muted:#6b6452;--display:"Italiana","Cormorant Garamond","Times New Roman",serif;--body:"Cormorant Garamond","Times New Roman",serif;--label:"Cormorant Garamond","Times New Roman",serif;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--bone);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.display{font-family:var(--display);font-weight:400;letter-spacing:0.005em;line-height:0.95;}
.italic{font-style:italic;font-family:var(--body);font-weight:400;}
.label{font-family:var(--label);font-weight:600;font-size:12px;letter-spacing:0.28em;text-transform:uppercase;}
.eyebrow{font-family:var(--label);font-weight:500;font-size:11px;letter-spacing:0.32em;text-transform:uppercase;color:var(--gold-deep);}
h1,h2,h3,h4{font-family:var(--display);font-weight:400;margin:0;}
.wrap{max-width:1280px;margin:0 auto;padding:0 56px;}
.rule-soft{height:1px;background:var(--rule-soft);}
.topbar{background:var(--ink);color:var(--bone);font-family:var(--label);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;text-align:center;padding:9px 0;}
.topbar .dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 14px;vertical-align:middle;}
.header{display:flex;flex-direction:column;align-items:center;padding:18px 56px 22px;border-bottom:1px solid var(--rule);gap:18px;position:relative;}
.header .header-utility{width:100%;display:flex;justify-content:space-between;font-family:var(--label);font-size:11px;letter-spacing:0.26em;text-transform:uppercase;}
.header .header-utility .util-left,.header .header-utility .util-right{display:flex;gap:28px;}
.header .header-utility a:hover{color:var(--gold-deep);}
.header .main-nav{display:flex;gap:40px;font-family:var(--label);font-size:12px;letter-spacing:0.28em;text-transform:uppercase;list-style:none;padding:0;margin:0;}
.header .main-nav a:hover{color:var(--gold-deep);}
.header .main-nav li{display:inline-block;}
.wordmark{display:block;text-align:center;}
.wordmark img{width:140px;height:140px;display:block;margin:0 auto;}
.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 26px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--label);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;}
.btn:hover{background:var(--ink);color:var(--bone);}
.btn-fill{background:var(--ink);color:var(--bone);}
.btn-fill:hover{background:var(--ink-2);}
.btn-ghost{border-color:transparent;padding:14px 4px;}
.btn-ghost:hover{background:transparent;color:var(--gold-deep);}
.btn .arrow{font-family:serif;font-size:14px;}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;padding:72px 0 80px;align-items:center;}
.hero .hero-copy h1{font-size:108px;letter-spacing:0.01em;}
.hero .hero-copy .lede{margin-top:28px;max-width:460px;font-size:18.5px;color:var(--ink-3);line-height:1.55;}
.hero .hero-copy .lede em{font-style:italic;color:var(--gold-deep);}
.hero .hero-copy .cta-row{margin-top:36px;display:flex;gap:12px;}
.hero .hero-img-wrap{position:relative;}
.hero .hero-img-wrap .img-frame{aspect-ratio:4/5;background:var(--bone-warm);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px;}
.hero .hero-img-wrap .img-frame img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;}
.hero .badge{position:absolute;left:-28px;bottom:32px;width:232px;padding:22px 22px 20px;background:var(--bone-soft);border:1px solid var(--gold);font-family:var(--body);box-shadow:0 20px 50px rgba(20,32,58,0.12);}
.hero .badge .label{color:var(--gold-deep);font-size:10px;}
.hero .badge h4{font-size:22px;margin:8px 0 4px;line-height:1.1;}
.hero .badge p{font-style:italic;font-size:14.5px;color:var(--ink-3);margin:0;}
.hero .badge .badge-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;font-size:13px;}
.hero .badge .badge-foot .price{font-family:var(--display);font-size:18px;color:var(--gold-deep);}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;padding:64px 0 28px;gap:24px;}
.section-head h2{font-size:64px;line-height:1;}
.section-head .sub{font-family:var(--body);font-style:italic;font-size:17px;color:var(--ink-3);margin-top:8px;}
.section-head .meta{font-family:var(--label);font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--muted);}
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0 80px;border-top:1px solid var(--rule);margin-top:60px;align-items:center;}
.story h2{font-size:72px;}
.story p{font-size:19px;color:var(--ink-2);margin:20px 0 0;max-width:480px;}
.story .story-img{aspect-ratio:4/5;background:var(--bone-warm);overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px;}
.story .story-img img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;}
.story .signature{margin-top:28px;font-family:var(--display);font-size:28px;color:var(--gold-deep);font-style:italic;}
.footer{background:var(--ink);color:var(--bone);padding:72px 0 28px;margin-top:80px;}
.footer .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(239,231,210,0.16);}
.footer h4{font-family:var(--label);font-size:11px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.footer p,.footer li,.footer a{font-family:var(--body);font-size:16px;color:var(--bone);line-height:1.7;}
.footer ul{list-style:none;padding:0;margin:0;}
.footer .brand-block .wm-1{font-family:var(--display);font-size:24px;letter-spacing:0.18em;text-transform:uppercase;}
.footer .brand-block .wm-2{font-style:italic;color:var(--gold);margin-top:4px;}
.footer .news{display:flex;gap:0;margin-top:14px;max-width:340px;}
.footer .news input{flex:1;background:transparent;border:1px solid rgba(239,231,210,0.3);color:var(--bone);padding:12px 14px;font-family:var(--body);font-size:15px;}
.footer .news input::placeholder{color:rgba(239,231,210,0.5);font-style:italic;}
.footer .news button{background:var(--gold);color:var(--ink);border:1px solid var(--gold);padding:12px 18px;font-family:var(--label);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;}
.footer .copyright{margin-top:28px;display:flex;justify-content:space-between;font-family:var(--label);font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(239,231,210,0.6);}
.ornament{display:flex;gap:8px;justify-content:center;align-items:center;margin:0 0 18px;}
.ornament .o-line{width:60px;height:1px;background:var(--gold);}
.ornament .o-star{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 50% 50%,var(--bone-soft) 30%,var(--gold) 31%,var(--gold) 50%,transparent 51%);border:1px solid var(--gold);}

/* Shop page outer wrap */
body.woocommerce-shop .wp-site-blocks > main,
body.woocommerce-shop .wp-site-blocks,
body.woocommerce-shop main,
body.post-type-archive-product .wp-site-blocks > main,
body.post-type-archive-product main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 56px 80px;
  box-sizing: border-box;
}
body.woocommerce-shop .wp-site-blocks { background: var(--bone); }
.woocommerce-products-header { padding: 0 0 28px; }
.woocommerce-products-header h1 { font-family: var(--display); font-size: 64px; line-height: 1; margin: 0 0 12px; }

/* ── WooCommerce product grid ───── */
html body .woocommerce ul.products,
html body .woocommerce-page ul.products,
html body ul.products,
html body .wc-block-grid__products,
html body .wp-block-woocommerce-product-collection .wp-block-post-template,
html body .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}
html body ul.products::before,
html body ul.products::after { content: none !important; display: none !important; }

html body ul.products li.product,
html body .wc-block-grid__products .wc-block-grid__product,
html body .wp-block-post-template li.wp-block-post.product,
html body .wc-block-product-template li {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  background: var(--bone-soft);
  border: 1px solid var(--rule-soft);
  padding: 0 !important;
  text-align: left;
  list-style: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Wrapper link must be block, not flex */
html body ul.products li.product a.woocommerce-LoopProduct-link,
html body ul.products li.product a.woocommerce-loop-product__link {
  display: block !important;
  text-decoration: none !important;
}

/* Image: frame applied DIRECTLY to <img>, full bottle visible */
html body ul.products li.product img,
html body ul.products li.product a img,
html body ul.products li.product .wp-post-image,
html body ul.products li.product img.bkb-loop-img,
html body .wc-block-grid__product-image img,
html body .wc-block-product-template img,
html body .wp-block-post-template li.product img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: contain !important;
  background: var(--bone-warm) !important;
  padding: 14px !important;
  margin: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Title */
html body ul.products li.product .woocommerce-loop-product__title,
html body .wc-block-grid__product-title,
html body .wp-block-post-title,
html body .wc-block-product-template .wp-block-post-title {
  font-family: var(--display) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  padding: 16px 22px 4px !important;
  line-height: 1.1 !important;
  color: var(--ink);
  margin: 0 !important;
}

/* Price */
html body ul.products li.product .price,
html body .wc-block-grid__product-price,
html body .wc-block-components-product-price {
  font-family: var(--display) !important;
  font-size: 22px !important;
  color: var(--gold-deep) !important;
  padding: 0 22px 12px !important;
  display: block;
}

/* Add to cart button — high-specificity override */
html body ul.products li.product a.button,
html body ul.products li.product a.button.add_to_cart_button,
html body ul.products li.product a.add_to_cart_button,
html body .woocommerce ul.products li.product a.button,
html body .woocommerce ul.products li.product .button,
html body .wc-block-grid__product-add-to-cart .wp-block-button__link,
html body .wc-block-product-template .wp-block-button__link,
html body .wc-block-components-product-button .wp-block-components-product-button__button {
  font-family: var(--label) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  background: var(--ink) !important;
  color: var(--bone) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 12px 22px !important;
  margin: 0 22px 22px !important;
  font-weight: 600 !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  text-align: center !important;
  align-self: flex-start !important;
}
html body ul.products li.product a.button:hover { background: var(--ink-2) !important; }

/* Sale badge */
.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
  background: var(--gold) !important; color: var(--ink) !important; border-radius: 0 !important;
  font-family: var(--label) !important; font-size: 10px !important; letter-spacing: 0.22em !important;
  text-transform: uppercase; min-height: auto; line-height: 1.2; padding: 6px 10px; font-weight: 600;
  top: 12px; left: 12px; right: auto;
}

/* Single-product page */
.single-product div.product h1.product_title { font-family: var(--display) !important; font-size: 64px !important; line-height: 1 !important; }
.single-product div.product .price { font-family: var(--display) !important; font-size: 32px !important; color: var(--gold-deep); }
.single-product .single_add_to_cart_button {
  font-family: var(--label) !important; font-size: 11px !important; letter-spacing: 0.28em !important;
  text-transform: uppercase !important; background: var(--ink) !important; color: var(--bone) !important;
  border: 0 !important; border-radius: 0 !important; padding: 14px 26px !important;
}
.woocommerce-breadcrumb { font-family: var(--label); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); }
.woocommerce-Price-amount, .price .amount { font-family: var(--display) !important; }
.woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count,
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering {
  font-family: var(--label); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted);
}

/* Single-product page image cap */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product div.images {
  width: 42% !important;
  max-width: 440px !important;
  float: left;
}
.single-product div.product .summary,
.single-product div.product .entry-summary {
  width: 52% !important;
  float: right;
}
.single-product div.product .woocommerce-product-gallery__image img,
.single-product div.product div.images img {
  width: 100% !important;
  height: auto !important;
  max-width: 440px !important;
}
@media (max-width: 768px) {
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product div.images,
  .single-product div.product .summary,
  .single-product div.product .entry-summary {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  .single-product div.product .woocommerce-product-gallery__image img,
  .single-product div.product div.images img {
    max-width: 320px !important;
    margin: 0 auto !important;
  }
}

@media (max-width:1024px){
  html body ul.products,
  html body .wc-block-grid__products,
  html body .wp-block-woocommerce-product-collection .wp-block-post-template,
  html body .wc-block-product-template { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .hero{grid-template-columns:1fr;}
  .hero .hero-copy h1{font-size:72px;}
  .section-head h2{font-size:48px;}
  .story{grid-template-columns:1fr;}
  .footer .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  html body ul.products,
  html body .wc-block-grid__products,
  html body .wp-block-woocommerce-product-collection .wp-block-post-template,
  html body .wc-block-product-template { grid-template-columns: minmax(0,1fr) !important; }
  .wrap{padding:0 24px;}
  .hero .hero-copy h1{font-size:52px;}
  .footer .footer-grid{grid-template-columns:1fr;}
}



/* ── Shop page container width fix (classic theme) ──────────────────── */
body.woocommerce-shop #primary,
body.woocommerce-shop .content-area,
body.woocommerce-shop main.site-main,
body.post-type-archive-product #primary,
body.post-type-archive-product .content-area,
body.post-type-archive-product main.site-main,
body.woocommerce-shop #content,
body.post-type-archive-product #content {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 48px 56px 80px !important;
  box-sizing: border-box !important;
  float: none !important;
}

/* Re-assert 4-col grid with ultra-high specificity to beat any cached/layout overrides */
body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.woocommerce ul.products.columns-4,
html body ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
body.woocommerce-shop ul.products li.product,
body.post-type-archive-product ul.products li.product,
html body ul.products.columns-4 li.product {
  float: none !important;
  clear: none !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
/* keep 4 cols down to tablet width; drop to 2 below */
@media (max-width: 768px) {
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  html body ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  body.woocommerce-shop ul.products,
  body.post-type-archive-product ul.products,
  html body ul.products.columns-4 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
