/* layout.css — header, footer, section shell, grids, mobile nav */

/* ===== ACCESSIBILITY: skip link ===== */
.skip-link{position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:10px 16px;z-index:1000}
.skip-link:focus{left:0}

/* ===== luxury motion + type refinement ===== */
.view{transition:opacity .35s ease}
.view:not(.active){opacity:0}
.view.active{opacity:1}
/* refined uppercase nav with luxury letter-spacing */
.nav-left a{letter-spacing:.14em;text-transform:uppercase;font-size:12px}
/* images across the catalog fade in as they decode */
.pcard .iw img{transition:opacity .5s ease}
/* gentle button hover (Balenciaga-style micro-interaction) */
.add,.btn,.pp-cta{transition:background .25s ease,color .25s ease,letter-spacing .25s ease}
.add:hover,.btn:hover,.pp-cta:hover{letter-spacing:.10em}

/* currency switcher in header */
.cur-sel{background:none;border:0;color:var(--ink);font-size:12px;letter-spacing:.08em;cursor:pointer;padding:4px 6px;font-family:inherit}
.cur-sel:hover{color:var(--soft)}
@media(max-width:760px){.cur-sel{font-size:11px}}

/* ===== ANNOUNCEMENT BAR ===== */
.announce{position:fixed;top:0;left:0;right:0;z-index:130;height:var(--announce-h);
  display:flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;
  font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:0 12px}

/* ===== HEADER ===== */
header{position:fixed;top:var(--announce-h);left:0;right:0;z-index:120;height:var(--header-h);display:flex;align-items:center;
  padding:0 var(--gutter);background:#fff;border-bottom:1px solid var(--line);transition:background .3s,border-color .3s,color .3s}
header.over{background:transparent;border-color:transparent;color:#fff}
header .nav-left{display:flex;gap:26px;flex:1}
header .nav-left a{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;color:inherit;opacity:.85;transition:opacity .2s}
header .nav-left a.studio{text-transform:none;letter-spacing:.01em}
header .nav-left a:hover,header .nav-left a.active{opacity:1}
header .brand{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;transition:opacity .3s}
header .brand img{height:18px;width:auto;display:block}
header.over .brand{opacity:0;pointer-events:none}
header .icons{display:flex;gap:18px;align-items:center;flex:1;justify-content:flex-end;color:inherit}
header .icons .cad{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.04em}
header .icons .flag{width:17px;height:12px;border-radius:1px;overflow:hidden;display:inline-block;position:relative;background:#fff;border:1px solid rgba(0,0,0,.08)}
header .icons .flag::before,header .icons .flag::after{content:"";position:absolute;top:0;bottom:0;width:4px;background:#d52b1e}
header .icons .flag::before{left:0}header .icons .flag::after{right:0}
header .icons .flag i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#d52b1e;font-style:normal;font-size:8px}
header.over .icons .flag{border-color:rgba(255,255,255,.4)}
.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.4}
/* Pad icon buttons to a ~44px touch target without changing the icon size. */
.icbtn{display:flex;align-items:center;justify-content:center;padding:12px;margin:-8px;background:none;border:0;color:inherit;cursor:pointer}
.burger{display:none;flex-direction:column;gap:5px}
.burger span{width:22px;height:1.5px;background:currentColor}

/* mobile nav */
nav.mobile{display:none;position:fixed;top:calc(var(--announce-h) + var(--header-h));left:0;right:0;background:#fff;flex-direction:column;border-bottom:1px solid var(--line);z-index:115}
nav.mobile.open{display:flex}
nav.mobile a{padding:15px var(--gutter);border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:860px){
  header .nav-left{display:none}
  .burger{display:flex}
  header .brand{font-size:22px}
}

/* ===== VIEWS / SECTION SHELL ===== */
main{min-height:60vh}
.view{display:none;animation:fade .45s ease}
.view.active{display:block}
@keyframes fade{from{opacity:0}to{opacity:1}}
.pad-top{padding-top:calc(var(--announce-h) + var(--header-h))}
.section{max-width:var(--maxw);margin:0 auto;padding:70px var(--gutter)}
.h-line{font-weight:300;font-size:clamp(26px,3vw,34px);margin-bottom:34px;letter-spacing:.01em}
.section-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}

/* ===== FOOTER ===== */
footer{border-top:1px solid var(--line);padding:60px var(--gutter) 30px}
footer .fin{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
footer .fbrand{font-size:22px;margin-bottom:12px}
footer .ftag{color:var(--soft);max-width:34ch;font-size:13px}
footer .fcol h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:14px}
footer .fcol a{display:block;color:var(--soft);font-size:13px;margin-bottom:9px;transition:color .2s;cursor:pointer}
footer .fcol a:hover{color:var(--ink)}
footer .fbot{max-width:var(--maxw);margin:40px auto 0;padding-top:20px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;color:var(--soft);font-size:12px}
@media(max-width:760px){
  footer .fin{grid-template-columns:1fr 1fr}
  footer .fbot{flex-direction:column;gap:8px;text-align:center}
}
