/* Yessenia's Fashion — self-hosted fonts, skip link, consent UI.
   Loaded alongside styles.css; adds nothing remote. */

/* ============ Self-hosted fonts (SIL Open Font License 1.1) ============
   Cormorant Garamond — Copyright 2015 The Cormorant Project Authors
   Mulish            — Copyright 2016 The Mulish Project Authors
   Full licences: /fonts/LICENSE-Cormorant-Garamond.txt, /fonts/LICENSE-Mulish.txt
   The `latin` subset is used throughout: it contains every character this
   site needs in English and Spanish, including ñ á é í ó ú ¿ · – —
   (the `latin-ext` subset does NOT contain them).                        */

@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:600;font-display:swap;
  src:url('/fonts/cormorant-garamond-latin-600-italic.woff2') format('woff2');}

@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;
  src:url('/fonts/mulish-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;
  src:url('/fonts/mulish-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;
  src:url('/fonts/mulish-latin-700-normal.woff2') format('woff2');}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;
  src:url('/fonts/mulish-latin-800-normal.woff2') format('woff2');}

/* ============ utilities ============ */
.yf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ============ skip link ============ */
.yf-skip{position:absolute;left:-9999px;top:0;z-index:2000;
  background:#3F1120;color:#F6EFE3;padding:.75rem 1.25rem;
  font-family:Mulish,system-ui,sans-serif;font-weight:700;font-size:1rem;
  text-decoration:none;border-bottom-right-radius:4px;}
.yf-skip:focus{left:0;outline:3px solid #C9A227;outline-offset:2px;}
/* Focus must never be hidden behind the sticky header. */
#main-content:focus{outline:none;}
#main-content:focus-visible{outline:3px solid #C9A227;outline-offset:4px;}

/* ============ static promotional strip (was an infinite marquee) ============ */
.marquee{overflow:visible!important;}
.marquee-track{
  animation:none!important;transform:none!important;
  display:flex!important;flex-wrap:wrap!important;justify-content:center;
  gap:.35rem 0;width:auto!important;min-width:0!important;}
.marquee-track[aria-hidden="true"]{display:none!important;}

/* ============ consent banner — compact, non-modal, no close icon ============ */
#yf-consent{position:fixed;left:0;right:0;bottom:0;z-index:1200;
  background:#2A0B16;color:#F6EFE3;border-top:2px solid #C9A227;
  font-family:Mulish,system-ui,sans-serif;
  box-shadow:0 -6px 24px rgba(0,0,0,.35);}
.yf-consent-inner{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 1.15rem;}
.yf-consent-title{margin:0 0 .35rem;font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.35rem;font-weight:700;line-height:1.2;color:#F6EFE3;}
.yf-consent-body{margin:0 0 .85rem;font-size:.9375rem;line-height:1.5;max-width:74ch;color:#F1E7D9;}
.yf-consent-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;}

.yf-btn{font-family:Mulish,system-ui,sans-serif;font-size:.9375rem;font-weight:700;
  min-height:44px;padding:.6rem 1.15rem;border-radius:3px;cursor:pointer;
  border:2px solid transparent;background:none;color:inherit;line-height:1.2;}
/* Reject and Accept are visually identical — neither is preselected or emphasised. */
.yf-btn-line{border-color:#C9A227;color:#F6EFE3;background:transparent;}
.yf-btn-line:hover{background:rgba(201,162,39,.16);}
.yf-btn-gold{background:#C9A227;color:#2A0B16;border-color:#C9A227;}
.yf-btn-gold:hover{background:#dcb63c;}
.yf-btn-text{border-color:transparent;text-decoration:underline;text-underline-offset:3px;color:#F1E7D9;padding-left:.4rem;padding-right:.4rem;}
.yf-btn-text:hover{color:#fff;}
.yf-btn:focus-visible,.yf-consent-policy:focus-visible{outline:3px solid #F6EFE3;outline-offset:2px;}
.yf-consent-policy{color:#F1E7D9;font-size:.9375rem;font-weight:700;
  text-decoration:underline;text-underline-offset:3px;padding:.4rem;min-height:44px;
  display:inline-flex;align-items:center;}
.yf-consent-policy:hover{color:#fff;}

/* ============ preferences dialog ============ */
#yf-prefs-overlay{position:fixed;inset:0;background:rgba(20,6,11,.66);z-index:1300;}
#yf-prefs{position:fixed;z-index:1301;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(560px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;
  background:#FBF7F1;color:#2A0B16;border:2px solid #C9A227;border-radius:4px;
  padding:1.5rem 1.5rem 1.25rem;font-family:Mulish,system-ui,sans-serif;
  box-shadow:0 18px 50px rgba(0,0,0,.4);}
#yf-prefs h2{margin:0 0 .5rem;font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.6rem;font-weight:700;line-height:1.15;}
#yf-prefs p{margin:0 0 .75rem;font-size:.9375rem;line-height:1.55;}
.yf-cat{border-top:1px solid #E2D8C6;padding-top:.9rem;margin-top:.9rem;}
.yf-cat-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;}
.yf-cat-head h3{margin:0 0 .35rem;font-family:Mulish,system-ui,sans-serif;
  font-size:1rem;font-weight:800;}
.yf-pill{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:#EFE6D6;color:#5A4326;border:1px solid #D9C9A8;border-radius:2px;padding:.15rem .5rem;}
.yf-switch{display:flex;gap:.6rem;align-items:center;font-size:.9375rem;font-weight:700;
  min-height:44px;cursor:pointer;}
.yf-switch input{width:22px;height:22px;accent-color:#7A1230;cursor:pointer;flex:0 0 auto;}
.yf-switch input:disabled{cursor:not-allowed;}
.yf-switch input:disabled + span{color:#6B6157;}
.yf-switch input:focus-visible{outline:3px solid #7A1230;outline-offset:3px;}
.yf-status{border-top:1px solid #E2D8C6;padding-top:.85rem;margin-top:.9rem!important;
  font-weight:700;font-size:.9375rem;color:#4A2033;}
.yf-prefs-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:1rem;}
#yf-prefs .yf-btn-line{border-color:#7A1230;color:#7A1230;}
#yf-prefs .yf-btn-line:hover{background:rgba(122,18,48,.09);}
#yf-prefs .yf-consent-policy{color:#7A1230;}
#yf-prefs .yf-btn:focus-visible,#yf-prefs .yf-consent-policy:focus-visible{
  outline:3px solid #7A1230;outline-offset:2px;}
.yf-modal-open{overflow:hidden;}

/* ============ JavaScript-disabled notice ============ */
.yf-noscript{background:#2A0B16;color:#F6EFE3;font-family:Mulish,system-ui,sans-serif;
  font-size:.9375rem;line-height:1.5;padding:.85rem 1.25rem;text-align:center;}

/* ============ policy page typography ============ */
.yf-policy{max-width:70ch;margin:0 auto;padding:2.5rem 1.25rem 3.5rem;
  font-family:Mulish,system-ui,sans-serif;font-size:1.0625rem;line-height:1.65;}
.yf-policy h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,5vw,2.75rem);
  font-weight:700;line-height:1.1;margin:0 0 .5rem;}
.yf-policy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.4rem,3.4vw,1.8rem);
  font-weight:700;line-height:1.2;margin:2rem 0 .5rem;}
.yf-policy p,.yf-policy ul{margin:0 0 1rem;}
.yf-policy ul{padding-left:1.25rem;}
.yf-policy li{margin:.3rem 0;}
.yf-policy code{font-size:.9375em;background:#F1E7D9;padding:.1em .35em;border-radius:2px;}
.yf-policy .yf-effective{font-weight:800;margin-bottom:1.5rem;}
.yf-policy .yf-langswitch{display:inline-block;font-weight:700;margin-bottom:1.5rem;
  text-underline-offset:3px;}
.yf-policy-prefs{border:2px solid #C9A227;background:#FBF7F1;border-radius:4px;
  padding:1.1rem 1.25rem;margin:1.25rem 0 1.5rem;}
.yf-policy-prefs .yf-btn{margin-top:.4rem;}

@media (prefers-reduced-motion: reduce){
  #yf-consent,#yf-prefs,#yf-prefs-overlay,.marquee-track{
    animation:none!important;transition:none!important;}
}

@media (max-width:560px){
  .yf-consent-inner{padding:.9rem 1rem 1rem;}
  .yf-consent-title{font-size:1.2rem;}
  .yf-consent-body{font-size:.875rem;}
  .yf-consent-actions{gap:.5rem;}
  .yf-btn{width:100%;}
  .yf-consent-policy{width:100%;}
  #yf-prefs{padding:1.15rem 1.1rem 1rem;}
}
