:root{--heritage-cyan:#43abbf;--heritage-ink:#222;--heritage-muted:#555}
body{background:#f5f5f5;color:var(--heritage-ink)}
.site-header{background:rgba(250,250,250,.96);border:0;box-shadow:0 4px 22px #0000000b}
.header-inner{min-height:88px;gap:20px}
.brand img{width:156px;max-height:67px}
.main-nav{gap:24px;font-size:.92rem;font-weight:500;color:#555}
.main-nav a:hover,.main-nav a:focus-visible{color:var(--heritage-cyan)}
.main-nav .portal-link{padding:9px 21px;background:var(--heritage-cyan);border-radius:40px;color:#fff;font-weight:650}
.main-nav .portal-link:hover{background:#2d9fb5;color:#fff}
.language-switch{white-space:nowrap}
.language-switch button[aria-current=true]{color:#228aa0}
.header-cart-menu{position:relative;flex:none}
.header-cart-menu>summary{list-style:none;position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #b7dce3;border-radius:50%;background:#fff;color:#163744;cursor:pointer;box-shadow:0 5px 15px #12364212}
.header-cart-menu>summary::-webkit-details-marker{display:none}
.header-cart-menu>summary:hover,.header-cart-menu[open]>summary{background:var(--heritage-cyan);color:#fff}
.header-cart-menu svg{width:22px;height:22px}
.cart-count{position:absolute;top:-5px;right:-6px;min-width:20px;height:20px;display:grid;place-items:center;background:#ef4444;color:#fff;border:2px solid #fff;border-radius:20px;font-size:10px;font-weight:800}
.cart-popover{position:absolute;z-index:40;right:0;top:calc(100% + 16px);width:min(380px,calc(100vw - 28px));padding:15px;border:1px solid #dbe8ed;border-radius:18px;background:#fff;color:#233441;box-shadow:0 22px 55px #10263635}
.cart-popover-heading,.cart-popover-total{display:flex;justify-content:space-between;gap:12px;align-items:center}
.cart-popover-heading{padding-bottom:12px;border-bottom:1px solid #e4edf0}
.cart-popover-heading small,.cart-popover-empty{color:#748993}
.cart-popover-empty{padding:25px 8px;text-align:center;margin:0}
.cart-popover-items{max-height:300px;overflow-y:auto}
.cart-popover-item{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:center;padding:12px 0;border-bottom:1px solid #e8eff1}
.cart-popover-item a{font-size:.88rem;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cart-popover-item span{grid-column:1;color:#748993;font-size:.78rem}
.cart-popover-item form{grid-column:2;grid-row:1/3}
.cart-popover-item button{background:#f8eeee;color:#ad4c4c;border:0;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:20px}
.cart-popover-total{padding:13px 0;font-size:.88rem}
.cart-popover-action{display:block;text-align:center;padding:10px;border-radius:9px;background:var(--heritage-cyan);color:#fff;font-weight:700;font-size:.88rem}
.cart-popover-action:hover{background:#2c98ad;color:#fff}
.site-footer{background:#f5f5f5;color:#334155;border-top:1px solid #e2e8eb;padding:42px 0 16px}
.footer-grid{grid-template-columns:minmax(240px,1fr) minmax(0,1.7fr);gap:28px 60px}
.footer-intro img{width:145px;filter:none;margin-bottom:10px}
.footer-intro p{color:#65737e}
.footer-intro a{color:#238ba1}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:start;align-items:start;gap:9px 18px;font-size:.83rem}
.footer-links a:hover{color:var(--heritage-cyan)}
.footer-marks{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:15px;border-top:1px solid #dce5e9;padding-top:20px}
.ssl-pill{color:#47636a;border:1px solid #d2dfe3;background:#fff;border-radius:30px;padding:8px 12px}
.payment-mark{width:min(100%,420px);max-height:60px}
.etbis-mark{width:120px;max-height:48px}
.footer-bottom{margin-top:24px;border-color:#dce5e9;color:#768791}
.page-home .site-header{position:fixed;width:100%;top:0;left:0;z-index:20;background:transparent;box-shadow:none;transition:background .2s,box-shadow .2s}
.page-home .site-header.is-scrolled{background:rgba(250,250,250,.97);box-shadow:0 5px 22px #00000012}
@media(max-width:1000px){.main-nav{gap:13px;font-size:.82rem}.header-inner{gap:12px}.brand img{width:132px}.main-nav .portal-link{padding:8px 14px}}
@media(max-width:760px){.header-inner{min-height:68px;flex-wrap:wrap;padding:10px 0}.brand img{width:115px}.main-nav{order:4;overflow-x:auto;width:100%;padding:4px 0 7px;gap:18px;white-space:nowrap}.main-nav a{flex:none}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-marks{flex-wrap:wrap;justify-content:flex-start}.page-home .site-header{background:rgba(250,250,250,.92)}}
