/* ==========================================================================
   apuaventura.pe — Página CONTACTO (canales, formulario, mapa)
   ========================================================================== */
.channels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.chan{display:flex;align-items:center;gap:16px;height:100%;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line);text-decoration:none;color:inherit;box-shadow:0 10px 26px -22px rgba(36,54,60,.6);transition:transform .2s,box-shadow .2s,border-color .2s}
.chan:hover{transform:translateY(-3px);border-color:var(--fire);box-shadow:0 22px 40px -26px rgba(36,54,60,.6)}
.chan-ic{flex:none;width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--agave-deep);color:#fff}
.chan:first-child .chan-ic,.channels li:first-child .chan-ic{background:var(--fire)}
.chan-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.chan-tx strong{font-size:17px;color:var(--agave-deep)}
.chan-tx span{font-size:15px;color:var(--muted);overflow-wrap:anywhere}
.chan-go{flex:none;color:var(--fire-deep);transition:transform .2s}
.chan:hover .chan-go{transform:translateX(4px)}

/* Formulario */
.form-card{max-width:860px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,40px);box-shadow:0 26px 50px -34px rgba(36,54,60,.55)}
.form-note{margin:0 0 18px;font-size:14px;color:var(--muted)}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.fgroup{display:flex;flex-direction:column;gap:7px;min-width:0}
.fgroup.full{grid-column:1/-1}
.fgroup label{font-size:14.5px;font-weight:600;color:var(--agave-deep)}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form select,.contact-form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s,background-color .15s}
.contact-form textarea{min-height:140px;resize:vertical;line-height:1.5}
.contact-form select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%2324363C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--fire);background:#fff;box-shadow:0 0 0 4px rgba(224,120,47,.18)}
.contact-form .is-invalid{border-color:var(--wine);background:#FFF6F4}
.ferr{font-size:13.5px;color:var(--wine);min-height:0}
.consent{display:flex;gap:12px;align-items:flex-start;margin:20px 0 0;font-size:14.5px;line-height:1.5;color:#3A4549;cursor:pointer}
.consent input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--fire)}
.consent a{color:var(--fire-deep);text-underline-offset:3px}
.cf-turnstile{margin-top:18px}
.form-status{margin:16px 0 0;min-height:1.4em;font-size:15px;font-weight:500}
.form-status.is-error{color:var(--wine)}
.contact-form .btn{margin-top:10px}
.contact-form .btn[disabled]{opacity:.7;cursor:progress;transform:none}
/* Campo trampa para robots: fuera de pantalla (no display:none, para que los robots lo "vean") */
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-success{display:flex;gap:18px;align-items:center;padding:8px 0}
.form-success[hidden],.contact-form[hidden]{display:none}
.fs-ic{flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--agave);color:#fff}
.form-success p{margin:0;font-family:var(--font-head);font-size:clamp(21px,3vw,28px);line-height:1.3;color:var(--agave-deep)}

/* Mapa */
.map-card{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 26px 50px -30px rgba(36,54,60,.55);background:var(--aqua)}
.map-card iframe{display:block;width:100%;height:clamp(300px,46vw,460px);border:0}
.map-link{margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.map-addr{font-size:15px;color:var(--muted)}

@media (max-width:1000px){.channels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){
  .channels{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .contact-form .btn{width:100%}
  .form-success{flex-direction:column;text-align:center}
}

/* ---------------------------------------------------------- TELÉFONO CON PAÍS */
.phone-field{position:relative;display:flex;align-items:stretch;min-width:0}
.phone-field:not(.is-enhanced){flex-direction:column;gap:8px}
.cc-btn{display:flex;align-items:center;gap:8px;flex:none;min-height:50px;padding:0 12px;background:var(--paper);border:1.5px solid var(--line);border-right:0;border-radius:12px 0 0 12px;cursor:pointer;font:inherit;font-size:16px;color:var(--ink);transition:border-color .15s,background-color .15s}
.cc-btn .icon{color:var(--agave-deep)}
.cc-btn:hover{background:#fff}
.cc-btn:focus-visible,.cc-btn[aria-expanded="true"]{outline:none;border-color:var(--fire);background:#fff;box-shadow:0 0 0 4px rgba(224,120,47,.18)}
.phone-field.is-enhanced input[type=tel]{border-radius:0 12px 12px 0;flex:1;min-width:0}
.cc-dial{font-weight:600;font-variant-numeric:tabular-nums}
.cc-panel{position:absolute;z-index:80;top:calc(100% + 6px);left:0;width:min(390px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -22px rgba(36,54,60,.5);padding:12px}
.cc-panel[hidden]{display:none}
.contact-form .cc-search{min-height:44px;padding:10px 14px;border-radius:10px}
.cc-list{list-style:none;margin:8px 0 0;padding:0;max-height:min(300px,50vh);overflow-y:auto;overscroll-behavior:contain}
.cc-list li{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:9px;cursor:pointer}
.cc-list li[hidden]{display:none}
.cc-list li[aria-selected="true"]{background:var(--aqua);font-weight:600}
.cc-list li.is-active{background:var(--fire-soft)}
.cc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-code{color:var(--muted);font-variant-numeric:tabular-nums;font-size:14.5px}
.cc-none{margin:12px 6px 4px;color:var(--muted);font-size:14.5px}

/* ---------------------------------------------------------- CALENDARIO DE FECHAS */
.dates{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.dp-trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:0 14px;background:var(--paper);border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:16px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s,box-shadow .15s}
.dp-trigger .icon{flex:none;color:var(--agave-deep)}
.dp-trigger .ph{color:#7A776F}
.dp-trigger:hover{background:#fff}
.dp-trigger:focus-visible,.dp-trigger.is-active{outline:none;border-color:var(--fire);background:#fff;box-shadow:0 0 0 4px rgba(224,120,47,.18)}
.dp-trigger.is-invalid{border-color:var(--wine);background:#FFF6F4}
.dp-pop{position:absolute;left:0;top:calc(100% + 10px);z-index:75;width:min(740px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 34px 70px -24px rgba(36,54,60,.5);padding:26px 28px 14px}
.dp-pop[hidden]{display:none}
.dp-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
.dp-mt{text-align:center;font-weight:700;font-size:15.5px;color:var(--agave-deep);margin:4px 0 16px;text-transform:lowercase}
.dp-nav{position:absolute;top:22px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:none;border:0;color:var(--agave-deep);cursor:pointer}
.dp-nav:hover:not(:disabled){background:var(--aqua)}
.dp-nav:disabled{color:#B8BEC1;cursor:not-allowed}
.dp-prev{left:20px}.dp-next{right:20px}
.dp-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.dp-wd{text-align:center;font-size:12.5px;font-weight:700;color:var(--agave-deep);padding:6px 0 10px}
.dp-day{height:42px;border:0;background:none;font:inherit;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:0}
.dp-day:disabled{color:#A9B1B5;font-weight:500;cursor:not-allowed}
.dp-day:not(:disabled):not(.in-range):not(.is-edge):hover{background:var(--aqua);border-radius:8px}
.dp-day.in-range{background:#37424A;color:#fff}
.dp-day.is-edge{background:#1B2A2F;color:#fff}
.dp-day.row-start{border-radius:9px 0 0 9px}
.dp-day.row-end{border-radius:0 9px 9px 0}
.dp-day.row-start.row-end{border-radius:9px}
.dp-day:focus-visible{outline:3px solid var(--fire);outline-offset:-3px;position:relative}
.dp-foot{display:flex;justify-content:flex-end;padding-top:6px}
.dp-close{background:none;border:0;font:inherit;font-weight:600;color:var(--fire-deep);cursor:pointer;padding:10px 12px;border-radius:8px}
.dp-close:hover{background:var(--fire-soft)}

/* ---------------------------------------------------------- RESERVAS: confirmación y medios de pago */
.form-success.is-booking{display:block}
.fs-main{display:flex;gap:18px;align-items:flex-start}
.form-success .fs-t1{margin:0;font-family:var(--font-head);font-size:clamp(21px,3vw,28px);line-height:1.3;color:var(--agave-deep)}
.form-success .fs-t2{margin:10px 0 0;font-family:var(--font-body);font-size:16.5px;line-height:1.55;color:#7A2F2B;font-weight:500}
#pay-slot:empty{display:none}
.pay-box{margin-top:26px;padding:clamp(18px,3vw,28px);border-radius:18px;background:var(--paper);border:1px solid var(--line)}
.pay-box h3{font-size:22px;color:var(--agave-deep);margin:0 0 16px}
.pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pay-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.pay-card strong{font-size:15px;color:var(--agave-deep)}
.pay-bank{font-size:14.5px;color:var(--muted)}
.pay-num{font-family:var(--font-head);font-size:clamp(17px,1.9vw,19px);font-weight:600;color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.pay-sub{font-size:14px;color:var(--muted)}
.pay-online{margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:16px 18px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.pay-online strong{flex:1 1 220px;font-size:16px;color:var(--agave-deep)}
.pay-logos{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.pay-logos img{display:block;width:84px;height:auto}

@media (max-width:760px){
  .dates{grid-template-columns:1fr}
  .dp-pop{width:100%;padding:22px 14px 10px}
  .dp-months{grid-template-columns:1fr}
  .dp-prev{left:10px}.dp-next{right:10px}
  .pay-grid{grid-template-columns:1fr}
  .fs-main{flex-direction:column;align-items:center;text-align:center}
}

.dates[data-lang="en"] .dp-mt{text-transform:capitalize}
