/* =========================================================
   EXTRAS — season-bar, cookie, upload, mini-photo, range
   ========================================================= */

/* ============ 1. SEASON-BAR ============ */
.season-bar{
  position:relative;z-index:110;background:var(--ink);color:var(--cream);
  font-size:13px;font-weight:400;letter-spacing:.01em;
  border-bottom:1px solid var(--line-dark);
}
.season-bar[hidden]{display:none}
.season-bar.is-visible{display:block}
.season-bar__inner{
  display:flex;align-items:center;gap:16px;
  padding:12px 32px;min-height:48px;
}
.season-bar__dot{
  width:8px;height:8px;border-radius:50%;background:var(--brass-2);
  flex:0 0 8px;animation:seasonPulse 2s ease-in-out infinite;
}
@keyframes seasonPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}
.season-bar__text{flex:1 1 auto;line-height:1.5;color:var(--muted-l)}
.season-bar__text b{color:var(--cream);font-weight:600}
.season-bar__close{
  width:44px;height:44px;display:grid;place-items:center;border:none;
  background:transparent;color:var(--muted-l);font-size:22px;line-height:1;
  cursor:pointer;border-radius:50%;flex:0 0 44px;padding:0;
  transition:color .25s var(--ease),background .25s var(--ease);
}
.season-bar__close:hover,.season-bar__close:focus-visible{color:var(--cream);background:rgba(255,255,255,.06)}
.season-bar__close:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
@media (max-width:640px){
  .season-bar__inner{padding:10px 20px;gap:12px;min-height:44px}
  .season-bar__text{font-size:12.5px;line-height:1.4}
}

/* ============ 2. COOKIE ============ */
.cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:950;
  background:var(--ink);color:var(--cream);border-top:1px solid var(--line-dark);
  box-shadow:0 -20px 50px rgba(0,0,0,.35);animation:cookieIn .35s var(--ease);
}
@keyframes cookieIn{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.cookie[hidden]{display:none}
.cookie.is-visible{display:block}
.cookie__inner{
  display:flex;align-items:center;gap:32px;padding:20px 32px;
  max-width:var(--max);margin:0 auto;
}
.cookie__text{
  flex:1 1 auto;font-size:13.5px;font-weight:300;line-height:1.6;
  color:var(--muted-l);margin:0;
}
.cookie__text a,.cookie__link{
  color:var(--brass-2);border-bottom:1px solid var(--line);
  transition:border-color .25s var(--ease),color .25s var(--ease);
}
.cookie__text a:hover,.cookie__link:hover,.cookie__text a:focus-visible,.cookie__link:focus-visible{
  color:var(--brass);border-color:var(--brass);
}
.cookie__actions{display:flex;gap:10px;flex:0 0 auto}
.cookie__actions .btn{width:auto;white-space:nowrap}
.cookie__decline,.cookie .btn--ghost{color:var(--cream);border-color:var(--line-dark);opacity:1}
.cookie__decline:hover,.cookie .btn--ghost:hover{border-color:var(--cream);background:rgba(255,255,255,.06);color:var(--cream)}
@media (max-width:760px){
  .cookie__inner{flex-direction:column;align-items:stretch;gap:16px;padding:18px 20px 20px}
  .cookie__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cookie__actions .btn{width:100%;min-height:44px}
}

/* ============ 3. UPLOAD-ZONE ============ */
.upload-zone{
  position:relative;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;padding:44px 24px;min-height:200px;
  border:1px dashed var(--line);background:rgba(184,147,90,.02);
  cursor:pointer;text-align:center;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.upload-zone:hover,.upload-zone:focus-visible,.upload-zone.is-dragover{
  border-color:var(--brass-d);background:rgba(184,147,90,.06);
}
.upload-zone:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
.upload-zone svg{width:40px;height:40px;color:var(--brass-d);flex:0 0 auto}
.upload-zone__title{
  font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;
  font-weight:500;color:var(--ink);line-height:1.3;
}
.upload-zone__hint{font-size:12.5px;font-weight:400;letter-spacing:.02em;color:var(--muted-d)}
.upload-zone__previews{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;justify-content:center}
.upload-zone__preview{
  width:64px;height:64px;object-fit:cover;border-radius:4px;border:1px solid var(--line);
}
.section--dark .upload-zone{border-color:var(--line-dark);background:rgba(255,255,255,.02)}
.section--dark .upload-zone:hover,.section--dark .upload-zone:focus-visible,.section--dark .upload-zone.is-dragover{
  border-color:var(--brass-2);background:rgba(184,147,90,.08);
}
.section--dark .upload-zone svg{color:var(--brass-2)}
.section--dark .upload-zone__title{color:var(--cream)}
.section--dark .upload-zone__hint{color:var(--muted-l)}

/* ============ 4. MINI-PHOTO ============ */
.mini-photo{background:var(--cream)}
.mini-photo__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
@media (max-width:900px){.mini-photo__grid{grid-template-columns:1fr;gap:48px}}
.mini-photo__form{display:flex;flex-direction:column;gap:20px}
.mini-photo__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.mini-photo__row{grid-template-columns:1fr}}
.mini-photo__row input{
  font-family:'Inter',sans-serif;font-size:15px;font-weight:400;
  padding:14px 16px;border:1px solid var(--line);background:var(--white);
  color:var(--ink);min-height:48px;
  transition:border-color .25s var(--ease);border-radius:0;
  appearance:none;-webkit-appearance:none;
}
.mini-photo__row input::placeholder{color:var(--muted-d);opacity:.75}
.mini-photo__row input:focus{outline:none;border-color:var(--brass-d)}
.mini-photo__form .btn{width:100%;justify-content:center}
.mini-photo__form .form__note{
  font-size:11.5px;color:var(--muted-d);letter-spacing:.02em;
  line-height:1.6;margin:0;text-align:center;
}
.mini-photo__form .form__note a{color:var(--brass-d);border-bottom:1px solid var(--line)}
.mini-photo__form .form__note a:hover{color:var(--brass);border-color:var(--brass)}

/* ============ 5. RANGE ============ */
input[type="range"]{
  width:100%;height:4px;padding:0;margin:20px 0 8px;
  background:var(--line-dark);border:none;border-radius:2px;
  appearance:none;-webkit-appearance:none;cursor:pointer;
}
input[type="range"]::-webkit-slider-thumb{
  appearance:none;-webkit-appearance:none;width:22px;height:22px;
  border-radius:50%;background:var(--brass);border:2px solid var(--ink);
  cursor:grab;transition:background .2s var(--ease),transform .2s var(--ease);
  margin-top:-9px;
}
input[type="range"]::-webkit-slider-thumb:hover{background:var(--brass-2);transform:scale(1.1)}
input[type="range"]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.05)}
input[type="range"]::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--brass);
  border:2px solid var(--ink);cursor:grab;
}
input[type="range"]::-moz-range-track{height:4px;background:var(--line-dark);border-radius:2px}
input[type="range"]:focus-visible{outline:2px solid var(--brass);outline-offset:4px}
.section--cream input[type="range"],.section--white input[type="range"]{background:var(--line)}
.section--cream input[type="range"]::-moz-range-track,.section--white input[type="range"]::-moz-range-track{background:var(--line)}
.section--cream input[type="range"]::-webkit-slider-thumb,.section--white input[type="range"]::-webkit-slider-thumb{border-color:var(--cream)}
.section--cream input[type="range"]::-moz-range-thumb,.section--white input[type="range"]::-moz-range-thumb{border-color:var(--cream)}

/* ============ 6. LOGO MOBILE ============ */
.logo--mobile{margin-bottom:24px;font-size:18px}
.logo--mobile .logo__mark{width:30px;height:30px;flex:0 0 30px;font-size:15px}

/* ============ 7. EMPTY STATE + LOAD MORE ============ */
.empty-state{text-align:center;padding:80px 0}
.empty-state .eyebrow{display:inline-block}
.empty-state .h2{margin:8px 0 20px}
.empty-state .lead{max-width:560px;margin:0 auto 30px}
.load-more{display:flex;justify-content:center;margin-top:64px}

/* ============ 8. REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  .season-bar__dot{animation:none}
  .cookie{animation:none}
}