/* Retoques aislados: logo, FAQ, galería y Contacto. No modifica medición. */
header nav .logo img, .footer-logo-container img { background:#fff; object-fit:contain; border:2px solid #fff; }
.local-stay { overflow-x:clip; }
.seo-page .seo-faq { background:linear-gradient(145deg,var(--forest-dark),var(--forest)); color:#fff; }
.faq h2, .seo-faq h2 { color:#fff; }
.faq .section-kicker, .seo-faq .section-kicker { color:#efc76f; }
.faq-help { max-width:52rem; margin:0 auto 1.6rem; text-align:center; color:#e0eae3; }
.faq .faq-grid, .seo-faq .faq-grid { gap:.8rem; }
.faq .faq-grid details, .seo-faq .faq-grid details { padding:0; border:1px solid #c9d7cc; border-radius:14px; background:var(--cream); color:var(--ink); overflow:hidden; }
.faq .faq-grid summary, .seo-faq .faq-grid summary { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; padding:1.1rem 1.3rem; color:var(--ink); font-weight:750; cursor:pointer; list-style:none; line-height:1.45; }
.faq .faq-grid summary::-webkit-details-marker, .seo-faq .faq-grid summary::-webkit-details-marker { display:none; }
.faq .faq-grid summary::marker, .seo-faq .faq-grid summary::marker { content:''; }
.faq .faq-grid summary::after, .seo-faq .faq-grid summary::after { content:'+'; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#e2ebe3; color:var(--forest-dark); font-size:1.3rem; font-weight:500; }
.faq .faq-grid details[open] summary::after, .seo-faq .faq-grid details[open] summary::after { content:'−'; background:var(--forest); color:#fff; }
.faq .faq-grid details[open] summary, .seo-faq .faq-grid details[open] summary { border-bottom:1px solid var(--line); }
.faq .faq-grid details p, .seo-faq .faq-grid details p { margin:0; padding:1rem 1.3rem 1.25rem; color:#384f41; line-height:1.7; }
.faq .faq-grid summary:focus-visible, .seo-faq .faq-grid summary:focus-visible { outline:3px solid var(--gold); outline-offset:-4px; }
.seo-photo-grid figure { min-width:0; min-height:0; position:relative; }
.seo-photo-grid .acrc-photo-link { position:absolute; inset:0; display:block; width:100%; height:100%; background:var(--forest-dark); }
.seo-photo-grid .acrc-photo-link img { width:100%; height:100%; object-fit:contain; object-position:center; background:var(--forest-dark); }
.acrc-photo-link { position:relative; cursor:zoom-in; }
.acrc-photo-hint { position:absolute; right:.7rem; bottom:.7rem; padding:.28rem .6rem; border:1px solid #ffffff66; border-radius:999px; background:#153829e8; color:#fff; font:600 .78rem/1.5 Inter, sans-serif; pointer-events:none; }
.acrc-photo-link:focus-visible { outline:3px solid var(--gold); outline-offset:-4px; }
.seo-hero-media .acrc-photo-link { display:grid; width:100%; height:100%; min-width:0; place-items:center; }
.seo-hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
body[data-page="contacto"] .contacto { background:radial-gradient(circle at 10% 0%,#d9a44122,transparent 32%),linear-gradient(145deg,var(--forest-dark),var(--forest)); }
body[data-page="contacto"] .contacto-heading h1 { color:#fff; }
body[data-page="contacto"] .contacto .descripcion, body[data-page="contacto"] .secondary-social > p { color:#e2ece5; }
body[data-page="contacto"] .contacto-heading .section-kicker { color:#efc76f; }
body[data-page="contacto"] .contact-form { background:var(--paper); border-color:#ffffff45; box-shadow:0 18px 45px #081a1238; }
body[data-page="contacto"] .map-container { background:#1c4432; border-color:#ffffff45; color:#edf3ee; box-shadow:0 18px 45px #081a1238; }
body[data-page="contacto"] .map-container h2, body[data-page="contacto"] .map-container .phone, body[data-page="contacto"] .map-container .phone a { color:#fff; }
body[data-page="contacto"] .contact-primary-actions .btn:not(.btn-whatsapp) { background:var(--cream); color:var(--forest-dark); }
body[data-page="contacto"] .contacto-container { align-items:start; }
body[data-page="contacto"] .map-container { position:sticky; top:calc(var(--header-height) + 1.2rem); }
body[data-page="seo"] .wsp-btn > i { font-size:1.75rem; line-height:1; }
.acrc-photo-dialog { position:fixed; inset:0; width:100%; max-width:none; height:100%; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#153829fa; color:#fff; overflow:hidden; }
.acrc-photo-dialog::backdrop { background:#10291e; }
.acrc-photo-dialog:not([open]) { display:none; }
.acrc-photo-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.acrc-photo-toolbar { display:flex; gap:1rem; justify-content:space-between; align-items:center; padding:1rem clamp(1rem,3vw,3rem); }
.acrc-photo-toolbar h2 { color:#fff; font:600 1rem/1.4 Inter,sans-serif; margin:0; letter-spacing:0; text-align:left; }
.acrc-photo-close, .acrc-photo-arrow { width:48px; height:48px; flex:0 0 48px; display:grid; place-items:center; background:#fff; color:var(--forest-dark); border:1px solid #fff; border-radius:50%; cursor:pointer; font-size:1.9rem; line-height:1; }
.acrc-photo-close:focus-visible, .acrc-photo-arrow:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.acrc-photo-stage { margin:0; min-height:0; min-width:0; display:grid; place-items:center; padding:.25rem 5rem; position:relative; touch-action:pan-y pinch-zoom; }
.acrc-photo-stage img { width:100%; height:100%; min-height:0; min-width:0; object-fit:contain; background:var(--forest-dark); }
.acrc-photo-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:1; }
.acrc-photo-prev { left:1rem; } .acrc-photo-next { right:1rem; }
.acrc-photo-status { margin:0; padding:1rem 1rem max(1rem,env(safe-area-inset-bottom)); color:#e6efe8; text-align:center; font-size:.95rem; }
.acrc-photo-dialog .acrc-photo-error { position:absolute; color:#fff; text-align:center; padding:2rem; }
@media (max-width:840px) {
  body[data-page="contacto"] .map-container { position:static; }
}
@media (max-width:640px) {
  .faq-help { font-size:.94rem; }
  .faq .faq-grid summary, .seo-faq .faq-grid summary { padding:.95rem 1rem; }
  .faq .faq-grid details p, .seo-faq .faq-grid details p { padding:1rem; }
  .acrc-photo-toolbar { padding:.75rem 1rem; }
  .acrc-photo-toolbar h2 { max-width:calc(100% - 70px); font-size:.92rem; }
  .acrc-photo-stage { padding:0 .6rem; }
  .acrc-photo-arrow { top:auto; bottom:-55px; transform:none; width:44px; height:44px; }
  .acrc-photo-prev { left:1.2rem; } .acrc-photo-next { right:1.2rem; }
  .acrc-photo-status { min-height:80px; padding:1.3rem 4.5rem max(1rem,env(safe-area-inset-bottom)); font-size:.83rem; }
  .seo-hero-actions { flex-direction:column; }
  .seo-hero-actions .btn { width:100%; }
}
@media (max-height:480px) and (orientation:landscape) {
  .acrc-photo-toolbar { padding:.3rem 1rem; }
  .acrc-photo-close { width:38px; height:38px; flex-basis:38px; }
  .acrc-photo-status { padding:.25rem; min-height:0; }
}
/* Mantener contraste en el enlace telefónico del panel verde. */
body[data-page="contacto"] .map-container .phone { background:var(--cream); color:var(--forest-dark); }
body[data-page="contacto"] .map-container .phone a { color:var(--forest-dark); }
