/* Zen Bliss shims: the Dawn base classes the ported zb markup relies on but zb.css never defines, plus the minimum
   to make Kadence's header, footer, buttons, inputs, cart drawer and WooCommerce notices match the tokens.
   Spec: docs/spec-design-layout.md sections 0, 1.3, 1.6, 2, 3 (values read from Dawn 16 base.css, section-footer.css,
   component-collection-hero.css). Sizes are px (WordPress keeps the browser's 16px root). Tokens come from the child
   theme; fallbacks keep the page usable without it. Kadence prints its header and footer CSS inside <body>, so those
   rules are scoped to #masthead, #colophon and #cart-drawer to win on specificity. */

/* ---- Dawn base ---- */
.page-width{box-sizing:border-box;width:100%;max-width:var(--zb-page-width,1200px);margin:0 auto;padding:0 var(--zb-gutter,15px)}
.gradient{background:var(--zb-bg,transparent)}
.visually-hidden{position:absolute!important;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);word-wrap:normal!important}
.list-unstyled{margin:0;padding:0;list-style:none}
.link{cursor:pointer;color:var(--zb-link,#1f6b17);text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4,h5,h6{word-break:break-word}
.h0,.h1,.h2,.h3,.h4,.h5{font-family:var(--zb-font-heading,"Plus Jakarta Sans",sans-serif);font-weight:var(--zb-font-heading-weight,700);letter-spacing:var(--zb-heading-tracking,.66px);line-height:var(--zb-heading-line,1.273);word-break:break-word}
.h0{font-size:var(--zb-h0,44px)}
.h1{font-size:var(--zb-h1,33px)}
.h2{font-size:var(--zb-h2,22px)}
.h3{font-size:var(--zb-h3,18.7px)}
.h4{font-size:var(--zb-h4,16.5px)}
.h5{font-size:var(--zb-h5,13.2px)}

/* ---- Dawn .button (pill, 1px border, ring on hover) ---- */
body .button,body .button:visited{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--zb-btn-min-h,47px);min-width:var(--zb-btn-min-w,122px);padding:0 var(--zb-btn-pad-x,30px);
  border:var(--zb-btn-border,1px) solid var(--zb-btn-bg,#1f6b17);border-radius:var(--zb-btn-radius,40px);
  background:var(--zb-btn-bg,#1f6b17);color:var(--zb-btn-text,#fff);box-shadow:none;
  font-family:inherit;font-size:var(--zb-btn-font,15px);font-weight:400;letter-spacing:1px;line-height:1.2;
  text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
body .button:not([disabled]):not(.disabled):hover,body .button:not([disabled]):not(.disabled):active{
  background:var(--zb-btn-bg,#1f6b17);color:var(--zb-btn-text,#fff);box-shadow:0 0 0 1px var(--zb-btn-bg,#1f6b17)}
body .button--secondary,body .button--secondary:visited{background:var(--zb-bg,#fff);color:var(--zb-btn2-text,#1f6b17);border-color:var(--zb-btn2-text,#1f6b17)}
body .button.button--secondary:not([disabled]):not(.disabled):hover,body .button.button--secondary:not([disabled]):not(.disabled):active{
  background:var(--zb-bg,#fff);color:var(--zb-btn2-text,#1f6b17);box-shadow:inset 0 0 0 1.3px var(--zb-btn2-text,#1f6b17)}
body .button:focus-visible{outline:0;box-shadow:0 0 0 3px var(--zb-bg,#fff),0 0 0 5px rgba(20,32,26,.5)}
body .button[disabled],body .button.disabled,body .button[aria-disabled="true"],body .button[aria-busy="true"]{opacity:.5;cursor:not-allowed}
/* zb.css <button>s that are not Dawn buttons keep their own look: Kadence gives every button a hover background and shadow. */
.zb-wiz__opt:hover,.zb-wiz__opt:focus,.zb-wiz__opt:active{background:#fff;color:inherit;box-shadow:none}
.zb-wiz__link:hover,.zb-wiz__link:focus,.zb-wiz__link:active{background:none;color:var(--zb-ink-2,#4d5b51);box-shadow:none}

/* ---- Dawn .rte and tables (collection "Good to know" copy has tables) ---- */
.rte::after{clear:both;content:"";display:block}
.rte > :first-child{margin-top:0}
.rte > :last-child{margin-bottom:0}
.rte ul,.rte ol{list-style-position:inside;padding-left:20px}
.rte li{list-style:inherit}
.rte img{height:auto;max-width:100%;border-radius:var(--zb-r,16px)}
.rte a{color:var(--zb-link,#1f6b17);text-underline-offset:3px;text-decoration-thickness:1px}
.rte a:hover{text-decoration-thickness:2px}
.rte blockquote{display:inline-flex}
table:not([class]){table-layout:fixed;border-collapse:collapse;font-size:14px;border-style:hidden;box-shadow:0 0 0 1px rgba(20,32,26,.2)}
table:not([class]) td,table:not([class]) th{padding:1em;border:1px solid rgba(20,32,26,.2)}
.rte table{table-layout:fixed}
@media (min-width:750px){.rte table td{padding-left:12px;padding-right:12px}}

/* ---- Dawn collection banner (component-collection-hero.css, no image) ---- */
.collection-hero__inner{display:flex;flex-direction:column}
.collection-hero__text-wrapper{flex-basis:100%}
.collection-hero__title{margin:25px 0}
.collection-hero__title + .collection-hero__description{margin-top:15px;margin-bottom:15px;font-size:16px;line-height:1.5}
@media (min-width:750px){
  .collection-hero__inner{align-items:center;flex-direction:row}
  .collection-hero__title + .collection-hero__description{margin-top:20px;margin-bottom:20px;font-size:18px}
  .collection-hero__description{max-width:66.67%}
}

/* ---- Inputs (Dawn: 12px radius, 1px border at 55%) ---- */
body input[type=text],body input[type=email],body input[type=url],body input[type=password],body input[type=search],
body input[type=tel],body input[type=date],body input[type=number],body textarea,body select{
  border:1px solid var(--zb-input-border,rgba(20,32,26,.55));border-radius:var(--zb-input-radius,12px);color:var(--zb-ink,#14201a);box-shadow:none}
body input[type=text],body input[type=email],body input[type=url],body input[type=password],body input[type=search],
body input[type=tel],body input[type=date],body textarea{padding:12px 15px}
body input[type=text]:focus,body input[type=email]:focus,body input[type=url]:focus,body input[type=password]:focus,body input[type=search]:focus,
body input[type=tel]:focus,body input[type=date]:focus,body input[type=number]:focus,body textarea:focus,body select:focus{
  border-color:var(--zb-ink,#14201a);box-shadow:0 0 0 1px var(--zb-ink,#14201a);outline:0}

/* ---- WooCommerce notices (mist box, coloured left border, like .zb-notice) ---- */
body .woocommerce-message,body .woocommerce-info,body .woocommerce-error{border-left-width:3px;border-radius:0 12px 12px 0;font-size:14px;color:var(--zb-ink-2,#4d5b51)}

/* ---- Header: announcement bar (Kadence top row, accent-2 scheme) ---- */
#masthead .zb-announcement,.zb-promo-bar{display:flex;align-items:center;justify-content:center;min-height:38px;padding:10px 0;text-align:center}
#masthead .zb-announcement .announcement-bar__message{margin:0;color:#fff;letter-spacing:1px}
.zb-promo-bar{background:var(--zb-green,#1f6b17);color:#fff;font-family:var(--zb-font-heading,"Plus Jakarta Sans",sans-serif);font-weight:700;font-size:var(--zb-h5,13.2px);letter-spacing:1px;padding:10px var(--zb-header-gutter,30px)}
.zb-promo-bar a{color:inherit}

/* ---- Header: menu (75% ink; hover and current page underlined in full ink), account icon, cart count ---- */
#masthead .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
#masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a{text-decoration:underline;text-underline-offset:3px}
#masthead .zb-header-account{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--zb-ink,#14201a)}
#masthead .zb-header-account svg{width:20px;height:20px}
#masthead .header-cart-button{min-width:44px;min-height:44px;padding:12px 8px;box-sizing:border-box}   /* touch target (Lighthouse 2026-10-12: was 28x19 next to the account icon) */
#masthead .header-cart-button .header-cart-total{width:17px;height:17px;margin-left:-8px;align-self:flex-end;font-size:9px;line-height:1;background:var(--zb-green,#1f6b17);color:#fff}
#masthead .header-cart-button .header-cart-total.header-cart-is-empty-true{display:none}

/* ---- Cart drawer (Kadence slide-out mini cart; Dawn drawer: 1px border at 10%) ---- */
#cart-drawer.popup-drawer .drawer-inner{border-left:1px solid var(--zb-card-border,rgba(20,32,26,.1));border-radius:var(--zb-r,16px) 0 0 var(--zb-r,16px);color:var(--zb-body,rgba(20,32,26,.75))}
#cart-drawer h2.side-cart-header{margin:0;font-size:var(--zb-h2,22px);color:var(--zb-ink,#14201a)}
#cart-drawer .woocommerce-mini-cart__buttons .button{width:100%;margin:0}
#cart-drawer .zb-cart-tax-note{margin:0 0 12px;font-size:13px;line-height:1.5;letter-spacing:.4px}
#cart-drawer .zb-cart-tax-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#cart-drawer .woocommerce-mini-cart__empty-message{margin:45px 0 20px;text-align:center;font-family:var(--zb-font-heading,"Plus Jakarta Sans",sans-serif);font-weight:700;font-size:var(--zb-h2,22px);line-height:1.273;color:var(--zb-ink,#14201a)}
#cart-drawer .zb-cart-empty{text-align:center}
#cart-drawer .zb-cart-empty .cart__login-title{margin:40px 0 5px;color:var(--zb-ink,#14201a)}
#cart-drawer .zb-cart-empty .cart__login-paragraph{margin:0}

/* ---- Footer (section-footer.css): headings, link lists, text blocks, newsletter row, copyright ---- */
#colophon{margin-top:36px}
#colophon .widget-title,#colophon .footer-block__heading{margin:0 0 20px;font-size:17.6px}
#colophon .widget_nav_menu .menu{margin:0;padding:0;list-style:none}
#colophon .widget_nav_menu .menu a{display:inline-block;padding:10px 0;color:var(--zb-body,rgba(20,32,26,.75));text-decoration:none}
#colophon .footer-block__details-content{margin:0}
#colophon .footer-block__details-content a{color:var(--zb-link,#1f6b17);text-decoration:none!important}
#colophon .footer__copyright{text-align:center;margin-top:15px;font-size:11px}
#colophon .footer__copyright p{display:inline;margin:0}
#colophon .copyright__content{font-size:11px}
#colophon .copyright__content a{color:currentColor;text-decoration:none}
#colophon .policies{display:inline;margin:0;padding:0;list-style:none}
#colophon .policies li{display:inline-flex;justify-content:center;align-items:center}
#colophon .policies li::before{content:"\00B7";padding:0 8px}
#colophon .policies li a{display:block;padding:6px 0}
@media (min-width:750px){
  #colophon{margin-top:48px}
  #colophon .policies li a{padding:0}
  #colophon .widget_nav_menu .menu a{font-size:14px}
  #colophon .widget_nav_menu .menu > li:first-child a{padding-top:0}
  #colophon .widget_nav_menu .menu a:hover,#colophon .copyright__content a:hover{color:var(--zb-ink,#14201a);text-decoration:underline;text-underline-offset:3px}
}
@media (min-width:990px){
  #colophon .widget-title,#colophon .footer-block__heading{font-size:19.8px}
  #colophon .widget_nav_menu .menu a{padding:5px 0}
}
/* SEO Plan E4: "Reviewed by" line on guides (includes/reviewer.php); shows only once a reviewer exists */
.zb-reviewed-by{margin:8px 0 16px;font-size:14px;line-height:1.5;color:rgba(var(--color-foreground,18,18,18),.75)}
.zb-reviewed-by a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.zb-sec-title .zb-reviewed-by{margin-top:-8px}
