/* ELEFLOW cookie consent */
[hidden]{display:none!important}
body.ef-consent-open{overflow:hidden}
.ef-consent-banner{
  position:fixed;z-index:1000;left:18px;right:18px;bottom:18px;
  max-width:1120px;margin:0 auto;padding:20px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;
  border:1px solid rgba(217,181,107,.34);border-radius:10px;
  background:rgba(13,16,23,.97);color:#dde5ee;
  box-shadow:0 24px 80px rgba(0,0,0,.55);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  font-family:'Manrope',system-ui,sans-serif;
}
.ef-consent-copy strong{display:block;color:#f0d397;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;line-height:1.05}
.ef-consent-copy p{margin:7px 0 0;max-width:760px;color:#a7b1bd;font-size:12px;line-height:1.65}
.ef-consent-actions,.ef-consent-modal-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ef-consent-btn{
  appearance:none;border:1px solid #343d4c;border-radius:5px;min-height:42px;padding:0 15px;
  background:#151a24;color:#e2e8ef;font:700 10px/1 'Manrope',system-ui,sans-serif;
  letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:.2s ease;
}
.ef-consent-btn:hover,.ef-consent-btn:focus-visible{border-color:#d9b56b;color:#fff;outline:none;transform:translateY(-1px)}
.ef-consent-primary{background:#d9b56b;border-color:#d9b56b;color:#11151b}
.ef-consent-primary:hover,.ef-consent-primary:focus-visible{background:#f0d397;color:#11151b}
.ef-consent-text{background:transparent}
.ef-consent-backdrop{position:fixed;z-index:1001;inset:0;background:rgba(3,5,8,.78);backdrop-filter:blur(5px)}
.ef-consent-modal{
  position:fixed;z-index:1002;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(620px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto;
  padding:27px;border:1px solid rgba(217,181,107,.34);border-radius:10px;
  background:#10141d;color:#dde5ee;box-shadow:0 30px 100px rgba(0,0,0,.7);
  font-family:'Manrope',system-ui,sans-serif;
}
.ef-consent-modal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.ef-consent-eyebrow{display:block;color:#d9b56b;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.ef-consent-modal h2{margin:5px 0 0;color:#f0d397;font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;line-height:1}
.ef-consent-close{border:0;background:transparent;color:#aab5c1;font-size:29px;line-height:1;cursor:pointer}
.ef-consent-close:hover,.ef-consent-close:focus-visible{color:#fff;outline:none}
.ef-consent-category{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;
  padding:18px 0;border-top:1px solid #252c39;
}
.ef-consent-category strong{display:block;color:#fff;font-size:14px}
.ef-consent-category p{margin:5px 0 0;color:#8f9aa8;font-size:12px;line-height:1.6}
.ef-consent-always{color:#78d5a9;font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.ef-consent-toggle-row{cursor:pointer}
.ef-switch{position:relative;display:inline-flex;width:48px;height:27px;flex:0 0 auto}
.ef-switch input{position:absolute;opacity:0;pointer-events:none}
.ef-switch span{position:absolute;inset:0;border:1px solid #3a4453;border-radius:999px;background:#1a202b;transition:.2s}
.ef-switch span:after{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:#8c97a5;transition:.2s}
.ef-switch input:checked+span{background:rgba(217,181,107,.18);border-color:#d9b56b}
.ef-switch input:checked+span:after{transform:translateX(21px);background:#f0d397}
.ef-switch input:focus-visible+span{outline:2px solid #f0d397;outline-offset:3px}
.ef-consent-modal-actions{border-top:1px solid #252c39;padding-top:20px;margin-top:4px}
.cookie-settings-link{
  appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;
  text-decoration:underline;text-decoration-color:rgba(217,181,107,.4);text-underline-offset:3px;cursor:pointer;
}
.cookie-settings-link:hover,.cookie-settings-link:focus-visible{color:#f0d397;outline:none}
@media(max-width:760px){
  .ef-consent-banner{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;gap:15px;padding:18px}
  .ef-consent-copy strong{font-size:24px}
  .ef-consent-copy p{font-size:13px}
  .ef-consent-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
  .ef-consent-actions .ef-consent-text{grid-column:1/-1}
  .ef-consent-btn{min-height:49px;font-size:10px}
  .ef-consent-modal{padding:22px 18px}
  .ef-consent-modal h2{font-size:34px}
  .ef-consent-category{gap:14px}
  .ef-consent-modal-actions{display:grid;grid-template-columns:1fr}
}


/* Compact mobile consent banner */
@media(max-width:760px){
  .ef-consent-banner{
    left:8px;
    right:8px;
    bottom:8px;
    padding:9px;
    gap:7px;
    border-radius:8px;
    grid-template-columns:1fr;
  }

  .ef-consent-copy{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
  }

  .ef-consent-copy strong{
    flex:0 0 auto;
    font-family:'Manrope',system-ui,sans-serif;
    font-size:10px;
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .ef-consent-copy p{
    margin:0;
    font-size:9px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .ef-consent-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
  }

  .ef-consent-btn{
    min-height:32px;
    padding:0 6px;
    font-size:8px;
    letter-spacing:.055em;
  }

  .ef-consent-actions .ef-consent-text{
    grid-column:1/-1;
    min-height:22px;
    border:0;
    padding:0;
    background:transparent;
    text-decoration:underline;
    text-underline-offset:3px;
  }
}


/* Mobile scroll minimization without implied consent */
.ef-consent-chip{display:none}
@media(max-width:760px){
  .ef-consent-chip:not([hidden]){
    position:fixed;
    z-index:1000;
    right:8px;
    bottom:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:0 10px;
    border:1px solid rgba(217,181,107,.42);
    border-radius:999px;
    background:rgba(13,16,23,.96);
    color:#f0d397;
    box-shadow:0 10px 30px rgba(0,0,0,.38);
    font:700 8px/1 'Manrope',system-ui,sans-serif;
    letter-spacing:.09em;
    text-transform:uppercase;
    cursor:pointer;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }

  .ef-consent-chip:hover,
  .ef-consent-chip:focus-visible{
    border-color:#f0d397;
    color:#fff;
    outline:none;
  }
}
