/* Banner de cookies y pop-up de contacto — Rob Laver */
.rl-cc,.rl-pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(27,26,23,.55);backdrop-filter:blur(3px);font-family:'Montserrat',sans-serif;font-weight:300;color:#1B1A17}
body.rl-cc-open{overflow:hidden}
.rl-cc-box,.rl-pop-box{position:relative;background:#FAF7F1;border-top:2px solid #AA9761;box-shadow:0 30px 80px rgba(0,0,0,.3);max-height:calc(100vh - 48px);overflow:auto}
.rl-cc-box{width:min(920px,100%);padding:44px 48px 36px}
.rl-cc-close,.rl-pop-close{position:absolute;top:14px;right:18px;background:none;border:0;font-size:26px;line-height:1;color:#4A473F;cursor:pointer}
.rl-cc h2,.rl-pop h2{font-family:'Bodoni Moda',serif;font-weight:500;font-size:30px;margin:0 0 12px}
.rl-cc p{font-size:14.5px;color:#4A473F;margin:0 0 26px;max-width:760px}
.rl-cc a{color:#8A7847;border-bottom:1px solid #DCD4BE}
.rl-cc-cats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #DCD4BE;border-bottom:1px solid #DCD4BE;margin-bottom:26px}
.rl-cc-cat{display:flex;flex-direction:column;gap:6px;padding:18px 16px;border-right:1px solid #DCD4BE;cursor:pointer}
.rl-cc-cat:last-child{border-right:0}
.rl-cc-cat b{font-weight:500;font-size:13px;letter-spacing:.04em;order:1}
.rl-cc-cat small{font-size:11.5px;color:#4A473F;line-height:1.45;order:2}
.rl-cc-cat input{width:18px;height:18px;accent-color:#AA9761;margin:0 0 4px;order:0}
.rl-cc-cat.locked{cursor:default}
.rl-cc-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.rl-cc-actions>div{display:flex;gap:10px;flex-wrap:wrap}
.rl-cc-toggle{background:none;border:0;font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#4A473F;cursor:pointer;padding:0}
.rl-cc-toggle::before{content:'⚙';margin-right:8px}
.rl-cc-btn{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:13px 22px;border:1px solid #1B1A17;background:transparent;color:#1B1A17;cursor:pointer;transition:background .2s,color .2s}
.rl-cc-btn:hover{background:#1B1A17;color:#FAF7F1}
.rl-cc-btn.primary{background:#1B1A17;color:#FAF7F1}
.rl-cc-btn.primary:hover{background:#8A7847;border-color:#8A7847}
.rl-cc-details{margin-top:30px;padding-top:24px;border-top:1px solid #DCD4BE}
.rl-cc-details h3{font-family:'Montserrat',sans-serif;font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8A7847;margin:20px 0 10px}
.rl-cc-details table{width:100%;border-collapse:collapse;font-size:12.5px}
.rl-cc-details th{text-align:left;font-weight:500;padding:8px 10px 8px 0;border-bottom:1px solid #DCD4BE;color:#4A473F}
.rl-cc-details td{padding:9px 10px 9px 0;border-bottom:1px solid #EDE7D9;vertical-align:top;color:#4A473F}
.rl-cc-none{font-size:12.5px;color:#8A8577;margin:0}
.rl-map-blocked{height:180px;border:1px solid #DCD4BE;background:#F2ECDF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:13px;color:#4A473F;margin-top:8px}
.rl-map-blocked button{font-family:'Montserrat',sans-serif;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border:1px solid #1B1A17;background:none;cursor:pointer}
.rl-map-blocked button:hover{background:#1B1A17;color:#FAF7F1}

/* pop-up de contacto */
.rl-pop-box{width:min(440px,100%);padding:44px 40px 36px}
.rl-pop h2{font-size:28px;margin-bottom:22px}
.rl-pop input[type=text],.rl-pop input[type=email]{width:100%;border:0;border-bottom:1px solid #DCD4BE;background:transparent;padding:11px 2px;font-family:'Montserrat',sans-serif;font-size:15px;color:#1B1A17;margin-bottom:14px}
.rl-pop input:focus{outline:none;border-color:#8A7847}
.rl-pop-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#4A473F;margin:8px 0}
.rl-pop-check input{accent-color:#AA9761;margin-top:3px}
.rl-pop-check a{color:#8A7847;border-bottom:1px solid #DCD4BE}
.rl-pop-err{font-size:12.5px;color:#B5473A;margin:6px 0}
.rl-pop-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.rl-pop-btns button{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:14px 10px;border:0;background:#1B1A17;color:#FAF7F1;cursor:pointer;transition:background .2s}
.rl-pop-btns button:hover{background:#8A7847}
.rl-pop-btns .wide{grid-column:1/-1;background:#AA9761;color:#1B1A17}
.rl-pop-btns .wide:hover{background:#C7B283}

@media(max-width:760px){
  .rl-cc,.rl-pop{padding:0;align-items:flex-end}
  .rl-cc-box,.rl-pop-box{width:100%;max-height:88vh;padding:26px 22px 22px}
  .rl-cc h2{font-size:23px;margin-bottom:8px;padding-right:28px}
  .rl-cc p{font-size:13px;line-height:1.5;margin-bottom:18px}
  /* en móvil, las categorías y los detalles solo aparecen al pulsar "Configurar" */
  .rl-cc-cats,.rl-cc .rl-cc-btn[data-act="save"]{display:none}
  .rl-cc-box.expanded .rl-cc-cats{display:grid;grid-template-columns:1fr;margin-bottom:18px}
  .rl-cc-box.expanded .rl-cc-btn[data-act="save"]{display:block}
  .rl-cc-cat{padding:12px 0;border-right:0;border-bottom:1px solid #DCD4BE;display:grid;grid-template-columns:24px 1fr;column-gap:10px}
  .rl-cc-cat input{grid-row:1/3;margin:2px 0 0}
  .rl-cc-cat b{order:0}.rl-cc-cat small{order:0;font-size:11.5px}
  .rl-cc-actions{flex-direction:column-reverse;align-items:stretch;gap:14px}
  .rl-cc-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .rl-cc-box.expanded .rl-cc-actions>div{grid-template-columns:1fr}
  .rl-cc-btn{padding:13px 8px;font-size:11px;letter-spacing:.08em;text-align:center;white-space:nowrap}
  .rl-cc-toggle{align-self:center;font-size:11px}
  .rl-cc-details{margin-top:18px;padding-top:14px}
  .rl-cc-details table{font-size:11.5px}
  .rl-pop-box{padding:34px 22px 26px}
}

/* ventana de contacto: campos con más contraste */
.rl-pop input[type=text],.rl-pop input[type=email]{background:#fff;border:1px solid #CBBFA3;padding:12px 14px;color:#1B1A17}
.rl-pop input::placeholder{color:#8A8577;opacity:1}
.rl-pop input:focus{border-color:#1B1A17;box-shadow:0 0 0 3px rgba(170,151,97,.18)}
.rl-pop-check{color:#3E3B35}

.rl-pop-box{background:#F1EBDD}
.rl-pop input[type=text],.rl-pop input[type=email]{background:#FAF6EE;border-color:#CDBE98}

.rl-form-msg{margin:14px 0 0;font-size:13.5px;min-height:1px}
.rl-form-msg.ok{color:#4F6B57;font-weight:500}
.rl-form-msg.err{color:#B5473A}
.rl-pop-ok{font-size:15px;line-height:1.6;color:#1B1A17;padding:10px 0}
.d-priv{display:flex!important;gap:9px;align-items:flex-start;font-size:12px!important;color:var(--ink-soft);margin:4px 0 14px!important;text-transform:none!important;letter-spacing:0!important}
.d-priv span{font-weight:400!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink-soft)!important;font-size:12px!important}
.d-priv input{width:auto!important;margin-top:2px}
