﻿/* Site chrome is separate from the compiled page styles. */
.wpanel-header, .wpanel-footer-strip { color:#172724; background:#fff; font-family:'DM Sans',sans-serif; }
.wpanel-header *, .wpanel-footer-strip * { box-sizing:border-box; font-family:inherit; }
.wpanel-shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.wpanel-header { position:relative; z-index:100; margin:0; border-bottom:1px solid rgba(18,63,55,.12); background:rgba(255,255,255,.96); }
.wpanel-header-inner { min-height:82px; display:flex; align-items:center; gap:32px; }
.wpanel-header .site-logo { display:flex; align-items:center; flex-shrink:0; }
.wpanel-header .site-logo a { display:inline-flex; color:#092e29; text-decoration:none; font-weight:600; }
.wpanel-header .custom-logo { display:block; width:220px; max-width:220px !important; height:auto; max-height:66px; object-fit:contain; padding:0; }
.wpanel-header .wpanel-nav { display:flex; align-items:center; gap:31px; margin-left:auto; }
.wpanel-nav a { color:#172724; font-size:14px; font-weight:600; text-decoration:none; white-space:nowrap; transition:color .2s; }
.wpanel-nav a:hover { color:#a4782f; }
.wpanel-header .wpanel-buy { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:44px; padding:0 20px; border-radius:9px; background:#123f37; color:#fff; text-decoration:none; font-size:15px; font-weight:700; white-space:nowrap; transition:background .2s; }
.wpanel-header .wpanel-buy:hover { background:#092e29; }
.wpanel-menu-toggle { display:none; width:44px; height:44px; padding:10px; border:0; background:transparent; cursor:pointer; flex-shrink:0; }
.wpanel-menu-toggle span { display:block; height:2px; margin:5px 0; background:#123f37; }
.wpanel-header a:focus-visible, .wpanel-header button:focus-visible, .wpanel-footer-strip a:focus-visible { outline:2px solid #a4782f; outline-offset:5px; }
.wpanel-footer-strip { padding:32px 0; border-top:1px solid rgba(18,63,55,.12); }
.wpanel-footer-inner { display:flex; align-items:center; gap:30px; }
.wpanel-footer-brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; color:#092e29; text-decoration:none; font-family:'Playfair Display',serif; font-size:22px; font-weight:600; }
.wpanel-footer-brand a { display:inline-flex; color:inherit; text-decoration:none; }
.wpanel-footer-brand .custom-logo { display:block; width:220px; max-width:100% !important; height:auto; max-height:66px; object-fit:contain; padding:0; }
.wpanel-footer-inner p { margin:0; color:#63706c; font-size:11px; line-height:1.7; }
.wpanel-footer-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-left:auto; }
.wpanel-footer-links a { color:#63706c; font-size:11px; text-decoration:none; white-space:nowrap; }
.wpanel-footer-links a:hover { color:#123f37; }
@media (max-width:1100px) {
  .wpanel-header-inner { gap:20px; }
  .wpanel-header .wpanel-nav { gap:18px; }
  .wpanel-header .custom-logo { width:190px; }
}
@media (max-width:1000px) {
  .wpanel-header-inner { flex-wrap:wrap; gap:12px; padding:12px 0; }
  .wpanel-header .wpanel-buy { margin-left:auto; }
  .wpanel-menu-toggle { display:block; }
  .wpanel-header .wpanel-nav { position:static; top:auto; right:auto; width:100%; max-width:none; height:auto; box-shadow:none; background:transparent; transition:none; order:4; flex-wrap:wrap; justify-content:center; margin:0; padding:16px 0 4px; border-top:1px solid rgba(18,63,55,.12); }
  .wpanel-header .wpanel-nav[hidden] { display:none; }
  .wpanel-nav a { padding:8px 4px; }
  .wpanel-footer-inner { flex-direction:column; text-align:center; gap:20px; }
  .wpanel-footer-links { margin:0; justify-content:center; }
}
@media (max-width:480px) {
  .wpanel-shell { width:calc(100% - 28px); }
  .wpanel-header-inner { gap:8px; }
  .wpanel-header .site-logo { flex:1; min-width:0; }
  .wpanel-header .site-logo a { max-width:100%; }
  .wpanel-header .custom-logo { width:150px; max-width:100% !important; }
  .wpanel-header .wpanel-buy { font-size:13px; padding:0 12px; }
  .wpanel-header .wpanel-nav { flex-direction:column; gap:4px; }
}

/* Shared navigation and one coherent footer. */
.wpanel-header .wpanel-nav { gap:20px; }
.wpanel-header .wpanel-panel-link { padding:0 16px; border:1px solid #dce5df; border-radius:10px; background:#f3f6f2; color:#123f37; }
.wpanel-header .wpanel-nav > a, .wpanel-header .wpanel-buy { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:44px; min-height:44px; margin-top:0; margin-bottom:0; line-height:1; }
.wpanel-header .wpanel-buy { font-size:14px; border-radius:10px; }
@media(min-width:1001px) {
 .wpanel-header-inner { gap:16px; }
 .wpanel-header .wpanel-nav { padding:0; }
}
.wpanel-footer { padding:54px 0 22px; background:#f4f6f1; border-top:1px solid #dfe6dc; color:#123f37; font:14px/1.8 'DM Sans',sans-serif; }
.wpanel-footer * { box-sizing:border-box; }
.wpanel-footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:50px; }
.wpanel-footer h2 { margin:0 0 16px; color:#123f37; font:700 13px/1.5 'DM Sans',sans-serif; }
.wpanel-footer-about p { margin:20px 0; color:#66746c; font-size:13px; }
.wpanel-footer a { color:inherit; text-decoration:none; }
.wpanel-footer a:hover { color:#946e30; }
.wpanel-footer a:focus-visible { outline:2px solid #946e30; outline-offset:4px; }
.wpanel-footer-panel { display:inline-flex; align-items:center; gap:20px; font-weight:700; font-size:13px; }
.wpanel-footer-explore a { display:block; margin:7px 0; color:#586b62; font-size:13px; }
.wpanel-footer-company { border-left:1px solid #dce4da; padding-left:30px; }
.wpanel-footer-company p { margin:0; color:#586b62; font:12px/1.95 'DM Sans',sans-serif; }
.wpanel-footer-company a { text-decoration:underline; text-underline-offset:3px; }
.wpanel-footer-extra { margin-top:24px; }
.wpanel-footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #dce4da; padding-top:22px; margin-top:38px; }
.wpanel-footer-bottom p { margin:0; color:#66746c; font-size:11px; }
.wpanel-footer .wpanel-legal-menu { display:flex; flex-wrap:wrap; gap:10px 24px; margin:0; padding:0; list-style:none; }
.wpanel-footer .wpanel-legal-menu a { font-size:11px; font-weight:500; }
/* WooCommerce keeps its native forms, validation and payment flow. */
body.wpanel-account-guest main { padding:48px 20px 70px; background:#f8f9f5; }
body.wpanel-account-guest main .woocommerce { max-width:1100px; margin:auto; }
body.wpanel-account-guest main .woocommerce::before { display:none !important; }
.wpanel-account-intro { max-width:650px; margin:0 auto 36px; text-align:center; }
.wpanel-account-intro > span { font:700 10px/1.6 'DM Sans',sans-serif; letter-spacing:.16em; color:#9b783d; }
.wpanel-account-intro h1 { margin:14px 0; font:600 clamp(30px,4vw,44px)/1.18 'Playfair Display',serif; color:#123f37; }
.wpanel-account-intro p { color:#66766e; font:14px/1.8 'DM Sans',sans-serif; }
body.wpanel-account-guest main #customer_login { gap:24px; }
body.wpanel-account-guest main #customer_login > div { padding:28px; border:1px solid #dfe7e1; border-radius:20px; background:white; box-shadow:0 12px 35px #123f3706; }
body.wpanel-account-guest main #customer_login h2 { font:600 28px/1.3 'Playfair Display',serif; color:#123f37; margin-bottom:24px; }
body.wpanel-account-guest main #customer_login h2::after { display:none; }
body.wpanel-account-guest main #customer_login form { padding:0; border:0; background:transparent; box-shadow:none; }
body.wpanel-account-guest main #customer_login .input-text { border:1px solid #dce5dd; border-radius:10px; font:15px 'DM Sans',sans-serif; background:#fff; }
body.wpanel-account-guest main #customer_login .button { background:#123f37 !important; border:1px solid #123f37 !important; border-radius:10px !important; box-shadow:none !important; color:#fff !important; min-height:46px; transform:none !important; }
body.wpanel-account-guest main #customer_login .button:hover { background:#092e29 !important; }
body.wpanel-account-guest main #customer_login .woocommerce-privacy-policy-text { background:#f3f6f1; border:0; border-radius:10px; padding:14px; font-size:12px; }
body.wpanel-account-guest main #customer_login input[type=checkbox] { width:17px; height:17px; accent-color:#123f37; }
body.woocommerce-cart main, body.woocommerce-checkout main { --cart-green:#123f37; --cart-ink:#173e35; --cart-muted:#67776e; --cart-line:#dfe7df; --checkout-green:#123f37; --checkout-green-light:#092e29; --checkout-ink:#173e35; --checkout-muted:#67776e; --checkout-line:#dfe7df; --checkout-cream:#f3f6f1; background:#f8f9f5; font-family:'DM Sans',sans-serif; }
body.woocommerce-cart main .wc-block-cart__main, body.woocommerce-cart main .wc-block-cart__sidebar, body.woocommerce-checkout main .wc-block-checkout__sidebar, body.woocommerce-checkout main .wc-block-components-checkout-step { border:1px solid #dfe7df; border-radius:18px; box-shadow:0 12px 35px #123f3706; }
body.woocommerce-cart main .wc-block-cart__totals-title, body.woocommerce-checkout main .wc-block-components-checkout-step__title, body.woocommerce-checkout main .wc-block-components-checkout-order-summary__title-text { font-family:'DM Sans',sans-serif; letter-spacing:0; }
body.woocommerce-cart main .wc-block-cart-item__image img { border-radius:12px; box-shadow:none; }
body.woocommerce-cart main .wc-block-components-product-name { font-size:20px !important; }
body.woocommerce-cart main .wc-block-cart__submit-button, body.woocommerce-checkout main .wc-block-components-checkout-place-order-button { min-height:52px; background:#123f37 !important; border:1px solid #123f37 !important; border-radius:11px !important; color:#fff !important; box-shadow:none !important; transform:none !important; letter-spacing:0; }
body.woocommerce-cart main .wc-block-cart__submit-button:hover, body.woocommerce-checkout main .wc-block-components-checkout-place-order-button:hover { background:#092e29 !important; }
body.woocommerce-checkout main .wc-block-components-text-input input, body.woocommerce-checkout main .wc-blocks-components-select__select, body.woocommerce-checkout main .wc-block-components-address-form input, body.woocommerce-checkout main textarea, body.woocommerce-cart main .wc-block-components-text-input input { border:1px solid #d9e3da !important; border-radius:10px !important; box-shadow:none !important; }
body.woocommerce-checkout main .wc-block-components-text-input input:focus, body.woocommerce-cart main .wc-block-components-text-input input:focus { border-color:#123f37 !important; outline:2px solid #123f3720 !important; }
body.woocommerce-checkout main .wc-block-components-radio-control-accordion-option, body.woocommerce-checkout main .wc-block-components-address-card { border-radius:12px !important; }
body.woocommerce-checkout main .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow:none; background:#f3f6f1 !important; }
body.woocommerce-checkout main .wc-block-components-checkout-order-summary__title { background:#f3f6f1; }
@media(max-width:1100px) { .wpanel-header .wpanel-nav { gap:12px; } }
@media(max-width:760px) {
 .wpanel-footer-grid { grid-template-columns:1fr 1fr; gap:30px; }
 .wpanel-footer-about { grid-column:1/-1; }
 .wpanel-footer-bottom { align-items:flex-start; flex-direction:column; }
 body.wpanel-account-guest main #customer_login { grid-template-columns:1fr; }
 body.wpanel-account-guest main #customer_login > div { padding:22px; }
}
@media(max-width:440px) {
 .wpanel-footer-grid { grid-template-columns:1fr; }
 .wpanel-footer-company { padding:24px 0 0; border-left:0; border-top:1px solid #dce4da; }
}
body.wpanel-account-guest main .woocommerce { display:block; }
body.wpanel-account-guest main #customer_login .u-column1, body.wpanel-account-guest main #customer_login .u-column2 { padding:28px; }
body.wpanel-account-guest main #customer_login .woocommerce-form { padding:0; margin:0; border:0; background:transparent; box-shadow:none; }
@media(max-width:760px) {
 body.wpanel-account-guest main #customer_login .u-column1, body.wpanel-account-guest main #customer_login .u-column2 { padding:22px; }
}
body.wpanel-account-guest main *, body.woocommerce-cart main *, body.woocommerce-checkout main * { box-sizing:border-box; }
body.wpanel-account-guest main #customer_login > div { min-width:0; }
@media(max-width:600px) {
 body.woocommerce-checkout main .wc-block-components-checkout-step { padding:20px 16px !important; }
 body.woocommerce-checkout main .wc-block-checkout__actions_row { flex-wrap:wrap; gap:20px; }
 body.woocommerce-checkout main .wc-block-components-checkout-place-order-button { width:100%; white-space:normal; }
}

/* Mobile navigation: animate the natural content height in both directions. */
.wpanel-nav-links { display:contents; }
.wpanel-header .wpanel-nav-links > a { display:inline-flex; align-items:center; justify-content:center; gap:5px; height:44px; min-height:44px; line-height:1; }
.wpanel-menu-toggle { position:relative; border-radius:10px; }
.wpanel-menu-toggle span { position:absolute; left:10px; right:10px; top:21px; margin:0; transition:transform .3s ease, opacity .2s ease; }
.wpanel-menu-toggle span:first-child { transform:translateY(-7px); }
.wpanel-menu-toggle span:last-child { transform:translateY(7px); }
.wpanel-header.menu-open .wpanel-menu-toggle { background:#f3f6f2; }
.wpanel-header.menu-open .wpanel-menu-toggle span:first-child { transform:rotate(45deg); }
.wpanel-header.menu-open .wpanel-menu-toggle span:nth-child(2) { opacity:0; }
.wpanel-header.menu-open .wpanel-menu-toggle span:last-child { transform:rotate(-45deg); }
@media(max-width:1000px) {
 .wpanel-header .wpanel-header-inner { row-gap:0; }
 .wpanel-header .wpanel-nav { display:grid; grid-template-rows:0fr; gap:0; padding:0; border:0; overflow:hidden; opacity:0; visibility:hidden; transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1), opacity .25s ease, visibility .38s; }
 .wpanel-header.menu-open .wpanel-nav { grid-template-rows:1fr; opacity:1; visibility:visible; }
 .wpanel-header .wpanel-nav { align-items:stretch; }
 .wpanel-header .wpanel-nav-links { display:flex; flex-direction:column; justify-content:flex-start; gap:4px; min-height:0; overflow:hidden; transform:translateY(-8px); transition:transform .38s cubic-bezier(.22,1,.36,1); }
 .wpanel-header.menu-open .wpanel-nav-links { transform:translateY(0); }
 .wpanel-nav-links::before, .wpanel-nav-links::after { content:''; display:block; flex-shrink:0; height:8px; }
 .wpanel-header .wpanel-nav-links > a { flex-shrink:0; width:100%; justify-content:flex-start; padding:0 16px; border-radius:10px; font-size:14px; }
 .wpanel-header .wpanel-nav-links > a:hover { background:#f3f6f2; }
 .wpanel-header .wpanel-nav-links > .wpanel-panel-link { justify-content:space-between; margin-top:4px; }
}
@media(prefers-reduced-motion:reduce) {
 .wpanel-header .wpanel-nav, .wpanel-header .wpanel-nav-links, .wpanel-menu-toggle span { transition:none; }
}
