/* Banner de consentimiento de cookies (propio, sin terceros) */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid rgba(28,69,59,.12);box-shadow:0 -8px 30px rgba(28,69,59,.10);font-family:var(--sans,system-ui),sans-serif;color:var(--green,#1c453b);padding:18px clamp(20px,5vw,80px);display:none}
.cc-banner.cc-show{display:block}
.cc-inner{max-width:var(--maxw,1200px);margin:0 auto;display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.cc-text{flex:1 1 420px;min-width:260px}
.cc-title{font-size:17px;font-weight:700;margin:0 0 6px;line-height:1.2}
.cc-desc{font-size:14px;line-height:20px;margin:0;opacity:.85}
.cc-desc a{color:var(--gold,#b3995d)}
.cc-actions{display:flex;gap:10px;flex-wrap:wrap}
.cc-btn{font-family:inherit;font-size:14px;font-weight:600;padding:11px 18px;border-radius:12px;border:1px solid var(--green,#1c453b);background:transparent;color:var(--green,#1c453b);cursor:pointer;transition:background .15s,color .15s,opacity .15s}
.cc-btn:hover{background:rgba(28,69,59,.06)}
.cc-btn.cc-accept{background:var(--gold,#b3995d);border-color:var(--gold,#b3995d);color:#fff}
.cc-btn.cc-accept:hover{opacity:.9;background:var(--gold,#b3995d)}
.cc-btn:focus-visible{outline:2px solid var(--gold,#b3995d);outline-offset:2px}
/* Panel de preferencias */
.cc-prefs{display:none;flex-basis:100%;margin-top:14px;border-top:1px solid rgba(28,69,59,.12);padding-top:14px}
.cc-banner.cc-open-prefs .cc-prefs{display:block}
.cc-opt{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;border-bottom:1px solid rgba(28,69,59,.08)}
.cc-opt h4{margin:0 0 3px;font-size:14px;font-weight:700}
.cc-opt p{margin:0;font-size:13px;line-height:18px;opacity:.8}
.cc-switch{position:relative;width:44px;height:24px;flex:none}
.cc-switch input{position:absolute;opacity:0;width:44px;height:24px;margin:0;cursor:pointer}
.cc-slider{position:absolute;inset:0;background:#cfc9b8;border-radius:999px;transition:.2s;pointer-events:none}
.cc-slider::before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.cc-switch input:checked+.cc-slider{background:var(--gold,#b3995d)}
.cc-switch input:checked+.cc-slider::before{transform:translateX(20px)}
.cc-switch input:disabled{cursor:not-allowed}
.cc-switch input:disabled+.cc-slider{opacity:.6}
.cc-save{margin-top:14px}
@media (max-width:720px){.cc-actions{width:100%}.cc-btn{flex:1 1 auto;text-align:center}}
