/* Shared public shell for landing, seller, and supplier home pages. */
.site-header { position:sticky; top:0; z-index:1000; background:var(--gp-surface); border-bottom:1px solid var(--gp-border); }
:is(.header-inner,.site-header-inner) { min-height:64px; height:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.site-header .brand, .site-footer .brand, .gp-footer .brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; min-width:0; text-decoration:none; }
:is(.brand__logo,.brand-logo-wrap) { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border-radius:8px; overflow:hidden; }
:is(.brand__logo,.brand-logo-wrap) img { width:100%; height:100%; object-fit:contain; }
:is(.brand__name,.brand-text) { display:flex; flex-direction:column; gap:2px; min-width:0; font-size:1.05rem; font-weight:800; line-height:1.1; letter-spacing:-.015em; color:var(--gp-text-main); }
:is(.brand__name small,.brand-sub) { font-size:.6875rem; font-weight:600; letter-spacing:.02em; line-height:1.2; color:#2563eb; }
:is(.main-nav,.site-nav) { display:flex; align-items:center; gap:4px; min-width:0; }
:is(.nav-link,.site-nav a) { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border-radius:6px; font-size:.875rem; font-weight:500; color:var(--gp-text-secondary); white-space:nowrap; text-decoration:none; }
:is(.nav-link,.site-nav a):hover { background:var(--gp-surface-2); color:var(--gp-text-main); text-decoration:none; }
:is(.header-actions,.site-actions) { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.site-header :is(.btn--sm,.site-actions .btn) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; border-radius:8px; font-size:.8125rem; font-weight:600; white-space:nowrap; }
.site-header :is(.btn--outline,.btn-secondary) { background:var(--gp-surface); border:1px solid var(--gp-border-strong); color:var(--gp-text-main); }
.site-header :is(.btn--primary,.btn-primary) { background:#2563eb; border:1px solid #2563eb; color:#fff; }
.site-header .menu-toggle { display:none; }
.site-header .nav-toggle { min-width:44px; min-height:44px; }
.site-header .site-actions .icon-btn { width:44px; height:44px; border:1px solid var(--gp-border); border-radius:8px; background:var(--gp-surface); }
.site-menu { display:none; }
.site-menu[hidden] { display:none!important; }
:is(.gp-footer,.site-footer) { padding:48px 0 24px; background:#0f172a; border-top:1px solid #1e293b; color:#b3bfd2; }
:is(.gp-footer-grid,.seller-footer-grid,.supplier-footer-grid) { display:grid; grid-template-columns:2fr repeat(4,minmax(0,1fr)); gap:24px; margin-bottom:40px; }
:is(.gp-footer-brand,.seller-footer-brand,.supplier-footer-brand) { max-width:320px; }
:is(.gp-footer,.site-footer) .brand :is(.brand__name,.brand-name) { color:#fff; }
:is(.gp-footer,.site-footer) .brand :is(.brand__name small,.brand-sub) { color:#93c5fd; }
:is(.gp-footer,.site-footer) :is(.gp-footer-brand,.seller-footer-brand,.supplier-footer-brand) p { margin-top:16px; font-size:.8125rem; line-height:1.6; color:#b3bfd2; }
:is(.gp-footer,.site-footer) :is(h2,.gp-footer-heading) { margin:4px 0 16px; font-size:.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#f8fafc; }
:is(.gp-footer-links,.seller-footer-grid ul,.supplier-footer-grid ul) { display:flex; flex-direction:column; gap:8px; }
:is(.gp-footer,.site-footer) a { color:#cbd5e1; }
:is(.gp-footer,.site-footer) a:hover { color:#fff; }
:is(.gp-footer,.site-footer) nav a { display:inline-flex; align-items:center; min-height:36px; font-size:.8125rem; }
:is(.gp-footer-bottom,.seller-footer-bottom,.supplier-footer-bottom) { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid #314059; margin-top:0; padding-top:24px; font-size:.75rem; color:#b3bfd2; }
:is(.gp-footer-bottom,.seller-footer-bottom,.supplier-footer-bottom) p { color:#b3bfd2; }
:is(.gp-footer-legal-links,.seller-footer-bottom nav,.supplier-footer-bottom nav) { display:flex; flex-wrap:wrap; gap:16px; }
:is(.gp-footer,.site-footer) :focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:1399px) { :is(.main-nav,.site-nav) { display:none; } .site-header .menu-toggle, .site-header .nav-toggle { display:inline-flex; }
 .site-header .site-menu:not([hidden]) { display:flex; flex-direction:column; gap:4px; max-height:calc(100dvh - 64px); overflow:auto; padding:16px; background:var(--gp-surface); border-top:1px solid var(--gp-border); }
 .site-header .site-menu a { display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:6px; color:var(--gp-text-main); }
 .site-header .site-menu .btn-primary { color:#fff; }
 .site-header .main-nav.is-open { display:flex; flex-direction:column; position:absolute; top:64px; left:0; width:100%; max-height:calc(100dvh - 64px); overflow:auto; padding:16px; background:var(--gp-surface); border-bottom:1px solid var(--gp-border); }
 .site-header .main-nav.is-open .nav-list { width:100%; flex-direction:column; align-items:stretch; }
 .site-header .main-nav.is-open .nav-link { width:100%; } }
@media(max-width:992px) { :is(.gp-footer-grid,.seller-footer-grid,.supplier-footer-grid) { grid-template-columns:repeat(3,minmax(0,1fr)); } :is(.gp-footer-brand,.seller-footer-brand,.supplier-footer-brand) { grid-column:1/-1; } }
@media(max-width:768px) {
 .site-header :is(.btn--hide-mobile,.site-actions .btn) { display:none; }
 .site-header .site-menu:not([hidden]) { display:flex; flex-direction:column; gap:4px; max-height:calc(100dvh - 64px); overflow:auto; padding:16px; background:var(--gp-surface); border-top:1px solid var(--gp-border); }
 .site-header .site-menu a { display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:6px; color:var(--gp-text-main); }
 .site-header .site-menu .btn-primary { color:#fff; }
 .site-header .main-nav.is-open { top:64px; }
 :is(.gp-footer-grid,.seller-footer-grid,.supplier-footer-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
 :is(.gp-footer-bottom,.seller-footer-bottom,.supplier-footer-bottom) { flex-direction:column; align-items:flex-start; }
}
@media(max-width:480px) { :is(.gp-footer-grid,.seller-footer-grid,.supplier-footer-grid) { grid-template-columns:1fr; gap:24px; } }
@media(max-width:375px) { .site-header .brand :is(.brand__name,.brand-name) { font-size:.94rem; } }

@media(max-width:480px){.site-header .header-actions .btn--outline{display:none}.site-header .site-actions .icon-btn:first-child{display:none}}
.shell-mobile-action{display:none}
@media(max-width:1399px){.shell-mobile-action{display:list-item}}

.site-header :is(.main-nav,.site-nav) { flex-shrink:1; }

[data-theme="dark"] .site-header .brand-sub { color:#93c5fd; }

:is(.site-header,.site-footer,.gp-footer) > .container, .site-header-inner { padding-inline:20px; max-width:1200px; }
@media(max-width:480px){:is(.site-header,.site-footer,.gp-footer) > .container, .site-header-inner { padding-inline:16px; }}

/* Unified GawangPinas public header. Keep these rules identical across sites. */
body .site-header { position:relative; top:0; border-top:0; border-bottom:1px solid var(--gp-border); background:var(--gp-bg,var(--gp-surface)); }
body .site-header > .container { box-sizing:border-box; width:100%; max-width:1200px; margin-inline:auto; padding-inline:24px; }
body .site-header :is(.header-inner,.site-header-inner) { display:flex; align-items:center; justify-content:space-between; height:72px; min-height:72px; gap:20px; }
body .site-header .brand { display:inline-flex; align-items:center; flex-shrink:0; gap:10px; text-decoration:none; }
body .site-header :is(.brand__logo,.brand-logo-wrap) { display:grid; place-items:center; box-sizing:border-box; width:36px; height:36px; padding:0; border:0; border-radius:9px; background:transparent; }
body .site-header :is(.brand__logo img,.brand-logo) { width:100%; height:100%; object-fit:contain; }
body .site-header :is(.brand__name,.brand-text) { display:flex; flex-direction:column; gap:3px; font-size:18px; font-weight:700; line-height:1.15; letter-spacing:-.02em; color:var(--gp-text-main); }
body .site-header .brand-name { font:inherit; letter-spacing:inherit; }
body .site-header :is(.brand__name small,.brand-sub) { font-size:11px; font-weight:500; line-height:1.2; letter-spacing:0; color:var(--gp-text-muted,#526174); }
body .site-header :is(.main-nav,.site-nav,.nav-list) { align-items:center; gap:4px; }
body .site-header :is(.nav-link,.site-nav a) { display:inline-flex; align-items:center; min-height:44px; box-sizing:border-box; padding:10px; font-size:14px; font-weight:500; line-height:1.4; white-space:nowrap; border-radius:4px; color:var(--gp-text-secondary); text-decoration:none; }
body .site-header :is(.nav-link,.site-nav a):hover { background:var(--gp-surface-2); color:var(--gp-text-main); }
body .site-header :is(.header-actions,.site-actions) { display:flex; align-items:center; flex-shrink:0; gap:8px; }
body .site-header :is(.btn,.icon-btn,.nav-toggle) { box-sizing:border-box; min-height:44px; height:44px; border-radius:4px; box-shadow:none; }
body .site-header .btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 14px; font-size:13px; font-weight:600; line-height:1.4; white-space:nowrap; }
body .site-header :is(.btn--primary,.btn-primary) { background:#E8642D; border:1px solid #E8642D; color:#20242B; }
body .site-header :is(.btn--primary,.btn-primary):hover { background:#F07846; border-color:#F07846; color:#20242B; }
body .site-header :is(.btn--outline,.btn-secondary) { background:transparent; border:1px solid var(--gp-border-strong); color:var(--gp-text-main); }
body .site-header :is(.icon-btn,.nav-toggle) { width:44px; min-width:44px; align-items:center; justify-content:center; padding:0; border:1px solid var(--gp-border); background:transparent; color:var(--gp-text-secondary); }
body .site-header :focus-visible { outline:2px solid var(--gp-text-main); outline-offset:3px; }
@media(min-width:1200px) {
 body .site-header :is(.main-nav,.site-nav) { display:flex; position:static; }
 body .site-header .nav-list { flex-direction:row; }
 body .site-header :is(.menu-toggle,.nav-toggle) { display:none; }
}
@media(max-width:1199px) {
 body .site-header :is(.main-nav,.site-nav) { display:none; }
 body .site-header :is(.menu-toggle,.nav-toggle) { display:inline-flex; }
 body .site-header .main-nav.is-open { display:flex; position:absolute; top:72px; left:0; width:100%; max-height:calc(100dvh - 72px); overflow:auto; padding:16px; background:var(--gp-surface); border-bottom:1px solid var(--gp-border); z-index:1100; }
 body .site-header .main-nav.is-open .nav-list { width:100%; flex-direction:column; align-items:stretch; }
 body .site-header .main-nav.is-open .nav-link { width:100%; }
 body .site-header .site-menu:not([hidden]) { max-height:calc(100dvh - 72px); }
}
@media(max-width:768px) {
 body .site-header > .container { padding-inline:16px; }
 body .site-header :is(.header-inner,.site-header-inner) { gap:12px; }
 body .site-header :is(.btn--hide-mobile,.site-actions .btn) { display:none; }
}
@media(max-width:480px) { body .site-header .site-actions .icon-btn:first-child { display:inline-flex; } }
