/* Shared navigation and footer on every main and product page. */
:is(.homepage,.gardening-page,.technical-page,.igc-page,.contact-page,.product-page) :is(.container,.wrap,.bed-container) { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.site-header { z-index:50; font:500 13px/1.5 Inter,Arial,sans-serif; }
.site-header > .container, .site-footer > .container { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.site-header .header-inner { display:flex; align-items:center; justify-content:space-between; height:80px; gap:24px; }
.site-header .brand { display:block; flex:none; width:174px; }
.site-header .brand img { display:block; width:174px; height:auto; clip-path:inset(20% 0 22% 0); }
.site-header .brand .logo-light { display:none; }
.site-header .brand .logo-dark { display:block; }
.homepage .site-header:not(.scrolled) .logo-dark { display:none; }
.homepage .site-header:not(.scrolled) .logo-light { display:block; }
.menu-open .site-header .brand .logo-light { display:none; }
.menu-open .site-header .brand .logo-dark { display:block; }
.site-header .nav { display:flex; align-items:center; gap:30px; min-height:0; border:0; font:500 13px/1.5 Inter,Arial,sans-serif; }
.site-header .nav a { text-decoration:none; padding:11px 0; }
.site-header .nav a:not(.nav-contact):hover, .site-header .nav a[aria-current=page]:not(.nav-contact) { text-decoration:underline; text-decoration-color:#c9a24a; text-underline-offset:7px; text-decoration-thickness:2px; }
.site-header .nav .nav-contact { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 20px; border:1px solid transparent; border-radius:999px; background:#24593c; color:#fff; font-weight:600; }
.site-header .menu-toggle { display:none; }
.site-header :is(a,button):focus-visible, .site-footer a:focus-visible { outline:3px solid #c9a24a; outline-offset:4px; }
.product-page .site-header { position:sticky; top:0; background:#fcfaf5; color:#173b2b; border-bottom:1px solid #dce2d5; }
.product-page .header-inner { border:0; }
.product-page.menu-open { overflow:hidden; }
.site-footer { padding:64px 0 0; border:0; background:#082215; color:#fcfaf5; font:400 13px/1.65 Inter,Arial,sans-serif; }
.site-footer .footer-statement { margin:0; padding:0 0 40px; border-bottom:1px solid #fcfaf533; color:#fcfaf5; font:600 clamp(36px,4vw,56px)/1.2 Poppins,Arial,sans-serif; letter-spacing:-.035em; }
.site-footer .footer-statement em { font-family:Fraunces,Georgia,serif; font-weight:400; color:#c9a24a; }
.site-footer .footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.25fr; gap:40px; padding:40px 0; }
.site-footer .footer-grid > * { min-width:0; }
.site-footer .footer-grid h2 { margin:0 0 20px; color:#c9a24a; font:600 11px/1.5 Inter,Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.site-footer .footer-grid a { display:block; margin:0 0 10px; color:#fcfaf5; font-size:13px; text-decoration:none; overflow-wrap:anywhere; }
.site-footer .footer-grid a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-brand img { display:block; width:174px; height:auto; margin-bottom:20px; clip-path:inset(20% 0 22% 0); }
.site-footer .footer-brand p { margin:0; max-width:32ch; color:#d1dbd1; font-size:13px; }
.site-footer .footer-grid address { font-size:13px; font-style:normal; color:#d1dbd1; }
.site-footer .footer-legal { display:flex; justify-content:space-between; gap:24px; padding:22px 0; border-top:1px solid #fcfaf533; font-size:10px; color:#b8c5b8; }
.site-footer .footer-legal p { margin:0; color:inherit; }
@media(max-width:1050px) {
  :is(.homepage,.gardening-page,.technical-page,.igc-page,.contact-page,.product-page) :is(.container,.wrap,.bed-container) { width:calc(100% - 64px); }
  .site-header > .container, .site-footer > .container { width:calc(100% - 64px); }
  .site-header .nav { gap:22px; }
  .site-header .brand, .site-header .brand img { width:155px; }
  .site-footer .footer-grid { gap:28px; }
}
@media(max-width:800px) {
  :is(.homepage,.gardening-page,.technical-page,.igc-page,.contact-page,.product-page) :is(.container,.wrap,.bed-container) { width:calc(100% - 40px); }
  .site-header > .container, .site-footer > .container { width:calc(100% - 40px); }
  .site-header .header-inner { height:80px; }
  .site-header .brand, .site-header .brand img { width:148px; }
  .js .site-header .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:44px; height:44px; padding:0; border:1px solid currentColor; border-radius:50%; color:inherit; background:transparent; }
  .site-header .menu-toggle span { width:18px; height:1px; background:currentColor; }
  .site-header .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .site-header .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .js .site-header .nav { display:none; }
  .js .site-header .nav.open { display:flex; position:absolute; inset:80px 0 auto; flex-direction:column; align-items:stretch; gap:0; padding:12px 20px 24px; max-height:calc(100svh - 80px); overflow-y:auto; background:#fcfaf5; color:#173b2b; border-bottom:1px solid #dce2d5; }
  .site-header .nav.open a { padding:15px 0; font-size:16px; }
  .site-header .nav.open .nav-contact { width:100%; margin-top:12px; font-size:13px; }
  html:not(.js) .site-header .header-inner { height:auto; min-height:80px; flex-wrap:wrap; padding:16px 0; gap:12px; }
  html:not(.js) .site-header .nav { flex-wrap:wrap; gap:8px 18px; }
  .site-footer { padding-top:44px; }
  .site-footer .footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .site-footer .footer-legal { display:block; }
  .site-footer .footer-legal span { display:block; margin-top:10px; }
}
@media(max-width:540px) {
  .site-footer .footer-statement { font-size:36px; padding-bottom:30px; }
  .site-footer .footer-brand, .site-footer .footer-address { grid-column:1/-1; }
}
@media print { .site-header, .site-footer { display:none; } }
