/* ===== Cookie consent bar + preferences ===== */
.ef-cc{position:fixed;left:0;right:0;bottom:0;z-index:400;background:#000;color:#e7ece8;
  transform:translateY(110%);transition:transform .42s cubic-bezier(.16,1,.3,1);}
.ef-cc.in{transform:translateY(0);}
.ef-cc-inner{max-width:1480px;margin:0 auto;padding:22px 48px;display:flex;align-items:center;gap:32px;}
.ef-cc-text{flex:1 1 auto;min-width:0;}
.ef-cc-text h4{font-family:var(--serif,"Marcellus",serif);font-weight:400;font-size:18px;color:#fff;margin:0 0 6px;letter-spacing:-.01em;}
.ef-cc-text p{font-family:var(--sans,"Jost",sans-serif);font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.66);margin:0;max-width:760px;}
.ef-cc-text a{color:#fff;text-decoration:underline;text-underline-offset:2px;}
.ef-cc-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px;}
.ef-cc-btn{font-family:var(--sans,"Jost",sans-serif);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  padding:13px 22px;border:1px solid rgba(255,255,255,.32);background:transparent;color:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;}
.ef-cc-btn:hover{border-color:#fff;}
.ef-cc-btn--solid{background:#fff;color:#000;border-color:#fff;}
.ef-cc-btn--solid:hover{background:rgba(255,255,255,.86);}
.ef-cc-btn--text{border:none;padding:13px 8px;color:rgba(255,255,255,.7);}
.ef-cc-btn--text:hover{color:#fff;}

/* preferences modal */
.ef-cc-scrim{position:fixed;inset:0;z-index:410;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .3s;}
.ef-cc-scrim.in{opacity:1;pointer-events:auto;}
.ef-cc-modal{position:fixed;z-index:420;left:50%;top:50%;transform:translate(-50%,-46%);opacity:0;pointer-events:none;
  width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:var(--paper,#fff);color:var(--ink,#000);
  transition:opacity .3s,transform .3s cubic-bezier(.16,1,.3,1);box-shadow:0 30px 80px rgba(0,0,0,.3);}
.ef-cc-modal.in{opacity:1;pointer-events:auto;transform:translate(-50%,-50%);}
.ef-cc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:30px 34px 0;}
.ef-cc-modal-head h3{font-family:var(--serif,"Marcellus",serif);font-weight:400;font-size:26px;margin:0;}
.ef-cc-x{background:none;border:0;cursor:pointer;padding:6px;margin:-6px;line-height:0;color:var(--ink,#000);transition:opacity .2s;}
.ef-cc-x:hover{opacity:.55;}
.ef-cc-x svg{width:20px;height:20px;display:block;}
.ef-cc-modal-body{padding:18px 34px 8px;}
.ef-cc-modal-body > p{font-family:var(--sans,"Jost",sans-serif);font-size:14px;line-height:1.65;color:var(--ink-soft,#333);margin:0 0 20px;}
.ef-cc-row{display:flex;align-items:flex-start;gap:18px;padding:20px 0;border-top:1px solid var(--line,rgba(0,0,0,.14));}
.ef-cc-row-text{flex:1 1 auto;min-width:0;}
.ef-cc-row-text h5{font-family:var(--sans,"Jost",sans-serif);font-size:13px;letter-spacing:.04em;font-weight:600;color:var(--ink,#000);margin:0 0 5px;}
.ef-cc-row-text p{font-family:var(--sans,"Jost",sans-serif);font-size:13px;line-height:1.6;color:var(--muted,#7a7a7a);margin:0;}
.ef-cc-toggle{flex:0 0 auto;position:relative;width:46px;height:26px;border-radius:13px;border:none;background:var(--line,rgba(0,0,0,.18));cursor:pointer;transition:background .25s;margin-top:2px;}
.ef-cc-toggle::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.ef-cc-toggle[aria-checked="true"]{background:var(--green,#1f3a2a);}
.ef-cc-toggle[aria-checked="true"]::after{transform:translateX(20px);}
.ef-cc-toggle[disabled]{opacity:.5;cursor:not-allowed;background:var(--green,#1f3a2a);}
.ef-cc-modal-foot{padding:18px 34px 30px;display:flex;gap:12px;flex-wrap:wrap;}
.ef-cc-modal-foot .ef-cc-btn{color:var(--ink,#000);border-color:var(--line,rgba(0,0,0,.2));}
.ef-cc-modal-foot .ef-cc-btn:hover{border-color:var(--ink,#000);}
.ef-cc-modal-foot .ef-cc-btn--solid{background:#000;color:#fff;border-color:#000;}
.ef-cc-modal-foot .ef-cc-btn--solid:hover{background:#1a1a1a;}

@media (max-width:760px){
  .ef-cc-inner{flex-direction:column;align-items:stretch;gap:18px;padding:22px 24px;}
  .ef-cc-actions{flex-wrap:wrap;}
  .ef-cc-actions .ef-cc-btn{flex:1 1 auto;text-align:center;justify-content:center;}
  .ef-cc-btn--text{flex-basis:100%;}
}
