/* Shared website header (home, shop, product, booking, checkout, account,
   contact). Loaded after each page's own styles, so it wins. */
header { background:#fff !important; color:#2e2418 !important; border-bottom:1px solid #eadfcb; box-shadow:0 1px 8px rgba(46,36,24,0.05); }
header .nav-row { padding-top:10px !important; padding-bottom:10px !important; gap:14px; }
header .brand { display:flex; align-items:center; gap:10px; font-family:Georgia,'Times New Roman',serif; font-weight:700; color:#2e2418; text-decoration:none; min-width:0; }
header .brand-logo { height:48px; width:auto; flex:none; display:block; }
header .brand-name { font-size:1.12rem; line-height:1.15; white-space:nowrap; }
header nav a { color:#2e2418; }
header nav a:hover, header nav a.active { color:#3c6b4a !important; }
header .back-link { color:#3c6b4a !important; font-weight:600; }
header .cart-btn, header .nav-cta { background:#3c6b4a !important; color:#fff !important; white-space:nowrap; flex:none; }
@media (max-width:420px) { header nav { gap:12px !important; font-size:0.82rem !important; } }
@media (max-width:720px) { header .brand-name { display:none; } header .brand-logo { height:40px; } }

/* One tidy line under the header: open/closed · phone · contact */
.info-bar { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px 18px; padding:7px 14px;
  background:#f6efe2; border-bottom:1px solid #eadfcb; color:#5c4a34; font:500 0.8rem/1.3 -apple-system,'Segoe UI',sans-serif; }
.info-bar .sep { color:#d8c9ae; }
.info-bar a { color:#2e2418; font-weight:700; text-decoration:none; white-space:nowrap; }
.info-bar a:hover { color:#3c6b4a; }
.info-bar .st { white-space:nowrap; }
.info-bar .dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:1px; background:#a8471f; }
.info-bar .dot.open { background:#3c9a4a; }
@media (max-width:480px) { .info-bar .sep { display:none; } .info-bar { gap:4px 14px; } }

/* One friendly font across the whole website (Nunito, hosted with the site). */
@font-face { font-family:'Nunito'; font-style:normal; font-weight:400 800; font-display:swap; src:url(/fonts/nunito-latin.woff2) format('woff2'); }
@font-face { font-family:'Nunito'; font-style:italic; font-weight:400; font-display:swap; src:url(/fonts/nunito-latin-italic.woff2) format('woff2'); }
body, body * { font-family:'Nunito',-apple-system,'Segoe UI',Roboto,sans-serif !important; }
h1, h2, h3, .brand-name { font-weight:800 !important; letter-spacing:-0.01em; }

/* Footer on every page */
.site-footer { padding:0 !important; text-align:left !important; background:#2e2418; color:#e9dfcc; margin-top:40px; font-size:0.9rem; line-height:1.55; }
.site-footer a { color:#fff; text-decoration:none; }
.site-footer a:hover { color:#9fd4a6; }
.sf-grid { max-width:1100px; margin:0 auto; padding:38px 20px 20px; display:grid; grid-template-columns:1fr; gap:26px; }
@media (min-width:760px) { .sf-grid { grid-template-columns:1.3fr 1fr 1fr 0.8fr; } }
.sf-brand img { height:56px; width:auto; background:#fff; border-radius:12px; padding:6px 10px; }
.sf-brand p { margin-top:10px; color:#cbbfa4; font-size:0.86rem; max-width:300px; }
.site-footer h4 { color:#fff; font-size:0.95rem; font-weight:800; margin-bottom:8px; text-transform:uppercase; letter-spacing:0.06em; }
.sf-list { list-style:none; padding:0; margin:0; }
.sf-list li { margin-bottom:4px; }
.sf-hours td { padding:1px 12px 1px 0; color:#e9dfcc; } .sf-hours td:last-child { padding-right:0; }
.sf-social { display:flex; gap:10px; margin-top:12px; }
.sf-social a { display:inline-flex; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.1); align-items:center; justify-content:center; }
.sf-social svg { width:18px; height:18px; fill:#fff; }
.sf-bottom { border-top:1px solid rgba(255,255,255,0.12); text-align:center; padding:14px 20px 22px; color:#b9ab91; font-size:0.8rem; }
.sf-policies { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 20px; margin-bottom:8px; }
.sf-policies a { color:#e9dfcc !important; font-weight:600; }
.sf-policies a:hover { color:#9fd4a6 !important; }
