/* BEGIN: PublicHeader */
.public-header { position:relative; background:var(--white); }
.public-header__inner { max-width:none; width:min(calc(100% - 96px),var(--page-max)); padding:var(--s16) 0; min-height:var(--s100); gap:var(--s24); }
.public-header__inner > .brand { flex-shrink:0; }
.public-header__actions { display:flex; align-items:center; gap:var(--s12); flex-shrink:0; }
.public-nav { gap:var(--s24); font-weight:var(--weight-medium); }
.public-nav__products,.public-nav__explore { display:flex; align-items:center; gap:var(--s4); }
.public-nav__products { background:var(--surface-photography); padding:var(--s4); border-radius:var(--radius-control); }
.public-nav a,.public-nav summary { display:flex; align-items:center; gap:var(--s8); padding:var(--s10) var(--s12); color:var(--muted); text-decoration:none; white-space:nowrap; border-radius:var(--radius-control); transition:background var(--transition),color var(--transition); }
.public-nav a:hover,.public-nav summary:hover { color:var(--ink); background:var(--surface); }
.public-nav a[aria-current="page"] { color:var(--orange); background:var(--white); box-shadow:var(--shadow-soft); }
.public-nav summary { cursor:pointer; list-style:none; }
.public-nav summary::-webkit-details-marker { display:none; }
.public-nav summary::after { content:'⌄'; font-size:var(--body-size); line-height:1; }
.public-nav details[open] > summary { background:var(--orange-soft); color:var(--orange); }
.public-nav details:has(a[aria-current="page"]) > summary { color:var(--orange); background:var(--orange-soft); }
.public-nav details div { top:calc(100% + var(--s12)); right:0; width:280px; padding:var(--s8); gap:var(--s4); box-shadow:var(--shadow); border-radius:var(--radius-card); }
.public-nav details div a { white-space:normal; padding:var(--s12); }
/* END: PublicHeader */

/* BEGIN: PublicFooter */
.public-footer { display:block; padding:var(--s64) 0 var(--s24); background:var(--surface-photography); }
.public-footer__inner { width:min(calc(100% - 96px),var(--page-max)); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); column-gap:var(--s48); row-gap:var(--s48); }
.public-footer__brand { display:grid; gap:var(--s20); justify-items:start; align-content:start; }
.public-footer__brand p { color:var(--muted); font-size:var(--caption-size); line-height:1.65; margin:0; }
.public-footer__brand .button { font-size:var(--caption-size); gap:var(--s20); }
.public-footer .public-footer__column { align-content:start; gap:var(--s16); }
.public-footer__column h2 { color:var(--ink); font-size:var(--caption-size); font-weight:var(--weight-bold); margin:0 0 var(--s8); }
.public-footer__column a { color:var(--muted); text-decoration:none; font-size:var(--caption-size); line-height:1.5; }
.public-footer__column a:hover { color:var(--orange); text-decoration:underline; text-underline-offset:var(--s4); }
.public-footer__bottom { grid-column:1 / -1; border-top:1px solid var(--border); padding-top:var(--s24); display:flex; justify-content:space-between; align-items:start; gap:var(--s32); color:var(--muted); }
.public-footer__bottom small { width:auto; white-space:nowrap; font-size:var(--tiny-size); }
.public-footer__bottom p { font-size:var(--tiny-size); line-height:1.6; margin:0; max-width:700px; }
/* END: PublicFooter */

@media(max-width:1180px) {
 .public-header__inner { min-height:var(--s80); }
 .public-nav.is-open { top:100%; left:0; right:0; display:grid; gap:var(--s20); padding:var(--s24) var(--s48); border-top:1px solid var(--border); box-shadow:var(--shadow-soft); }
 .public-nav__products,.public-nav__explore { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s8); }
 .public-nav a,.public-nav summary { padding:var(--s12); }
 .public-nav details div { top:100%; margin-top:var(--s8); }
 .public-footer__inner { column-gap:var(--s32); grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .public-footer__inner { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .public-footer__brand { grid-column:1 / -1; }
 .public-footer__bottom { flex-direction:column; gap:var(--s12); }
}
@media(max-width:540px) {
 .public-header__inner,.public-footer__inner { width:calc(100% - 40px); }
 .public-header__inner { gap:var(--s12); padding-block:var(--s12); }
 .public-header__inner .brand { font-size:var(--title-size); }
 .public-header__actions { gap:var(--s8); }
 .public-header__actions > .button--primary { padding-inline:var(--s12); font-size:var(--caption-size); }
 .public-header__actions .public-menu { width:var(--s40); height:var(--s40); padding:var(--s8); }
 .public-nav.is-open { padding:var(--s20); gap:var(--s16); max-height:calc(100vh - var(--s80)); overflow:auto; }
 .public-nav__products,.public-nav__explore { grid-template-columns:1fr; }
 .public-nav details div { position:static; width:auto; margin:var(--s8) 0 0; box-shadow:none; background:var(--surface); }
 .public-footer { padding-top:var(--s40); }
 .public-footer__inner { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:var(--s32); column-gap:var(--s24); }
 .public-footer__brand { gap:var(--s16); }
}
