/* INPETRAVEL V4.8.6 · Fichas de hoteles Disney · Montserrat / #acbd51 */
.disney-hotel{padding-top:2.25rem;padding-bottom:4.5rem}
.disney-hotel__breadcrumbs{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;font-size:.9rem;line-height:1.5;color:#4a5449;margin-bottom:2.4rem}
.disney-hotel__breadcrumbs a{color:#3b5034;text-decoration:underline;text-underline-offset:3px}
.disney-hotel__layout{display:grid;grid-template-columns:minmax(0,1.78fr) minmax(310px,1fr);gap:clamp(2rem,4vw,4.8rem);align-items:start}
.disney-hotel__main,.disney-hotel__aside{min-width:0}
.disney-hotel__eyebrow{font-size:.83rem;letter-spacing:.095em;font-weight:800;color:#acbd51;margin:0 0 .85rem}
.disney-hotel__intro h2{font-weight:800;color:#151b14;font-size:clamp(1.7rem,2.7vw,2.65rem);line-height:1.22;margin:0 0 1rem}
.disney-hotel__tags{display:flex;gap:.65rem;flex-wrap:wrap;margin:0 0 1.2rem}
.disney-hotel__tags span{display:inline-flex;background:#f0f4e4;border:1px solid #c7d4a5;border-radius:99px;color:#28351b;padding:.4rem .7rem;font-size:.9rem;font-weight:600}
.disney-hotel__section{margin-top:2.75rem}
.disney-hotel__section h3{font-size:clamp(1.3rem,2vw,1.7rem);color:#141a14;font-weight:800;margin:0 0 1.15rem}
.disney-hotel__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.disney-hotel__gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:#f4f5f1}
.disney-hotel__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2.75rem 0}
.disney-hotel__card{border:2px solid #acbd51;border-radius:15px;padding:1.5rem;background:#fff}
.disney-hotel__card h3{font-size:1.2rem;line-height:1.3;font-weight:800;margin:0 0 .85rem;color:#131913}
.disney-hotel__card ul,.disney-hotel__feature ul,.disney-hotel__optional ul{padding-left:1.4rem;margin:.35rem 0 0}
.disney-hotel__card li,.disney-hotel__feature li,.disney-hotel__optional li{font-size:1rem;line-height:1.65;margin:.4rem 0}
.disney-hotel li::marker{color:#acbd51}
.disney-hotel__feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.disney-hotel__feature{border:1px solid #e0e6d4;border-radius:14px;padding:1.4rem;background:#fff}
.disney-hotel__feature h4{font-size:1.1rem;line-height:1.35;color:#162016;font-weight:800;margin:0 0 .6rem}
.disney-hotel__optional{border-left:4px solid #acbd51;padding:1.1rem 1.5rem;background:#f8f9f4;border-radius:0 12px 12px 0}
.disney-hotel__optional p,.disney-hotel__notes p{color:#424b40;font-size:1rem;line-height:1.7}
.disney-hotel__notes{padding:1.25rem 1.5rem;border-radius:12px;background:#f5f7ee}
.disney-hotel__booking{background:#f8faf4;border:1px solid #dae4c8;border-radius:17px;padding:clamp(1.4rem,2.4vw,2rem);position:sticky;top:1.5rem}
.disney-hotel__booking h2{font-size:1.55rem;color:#151b14;font-weight:800;line-height:1.3;margin:0 0 1rem}
.disney-hotel__fact{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.85rem 0;border-bottom:1px solid #dee6d3;font-size:.9rem;line-height:1.55}
.disney-hotel__fact span{color:#485247}.disney-hotel__fact strong{max-width:65%;color:#162116;text-align:right;overflow-wrap:anywhere}
.disney-hotel__price{display:flex;flex-direction:column;gap:.35rem;padding-top:1.3rem;color:#343e31}
.disney-hotel__price strong{font-size:2rem;font-weight:800;color:#192119}
.disney-hotel__price small,.disney-hotel__price p,.disney-hotel__conditions{font-size:.9rem;line-height:1.65;color:#4e594c}
.disney-hotel__button{display:flex;justify-content:center;text-align:center;align-items:center;width:100%;min-height:50px;margin-top:1rem}
.disney-hotel__disclaimer{display:block;font-size:.85rem;line-height:1.6;color:#4b5647;margin-top:1.35rem}
@media(max-width:980px){.disney-hotel__layout{grid-template-columns:1fr}.disney-hotel__booking{position:static}}
@media(max-width:620px){.disney-hotel__cards,.disney-hotel__feature-grid{grid-template-columns:1fr}.disney-hotel__gallery{grid-template-columns:1fr 1fr;gap:.55rem}.disney-hotel{padding-top:1.4rem;padding-bottom:3rem}.disney-hotel__breadcrumbs{font-size:.83rem}}

/* V4.8.7 · Galería ampliable y diseño editorial móvil */
.disney-hotel__section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.disney-hotel__section-head h3{margin:0}
.disney-hotel__section-head span{font-size:.9rem;color:#536052}
.disney-hotel__gallery-item{position:relative;display:block;padding:0;border:0;border-radius:12px;background:#eef1e6;cursor:zoom-in;overflow:hidden;min-width:0;min-height:120px}
.disney-hotel__gallery-item img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;display:block;transition:transform .25s}
.disney-hotel__gallery-item:hover img{transform:scale(1.045)}
.disney-hotel__gallery-item:focus-visible{outline:3px solid #819239;outline-offset:3px}
.disney-hotel__gallery-hint{position:absolute;bottom:12px;left:12px;background:#ffffffeb;color:#1a2219;font-weight:800;border-radius:7px;padding:.5rem .85rem;font-size:.9rem;box-shadow:0 5px 16px #0002}
.disney-hotel__feature{padding:0;overflow:hidden}
.disney-hotel__feature summary{display:flex;align-items:center;justify-content:space-between;gap:.7rem;cursor:pointer;list-style:none;padding:1.25rem 1.35rem;font-size:1.08rem;color:#172016;font-weight:800}
.disney-hotel__feature summary::-webkit-details-marker{display:none}
.disney-hotel__feature summary:focus-visible{outline:3px solid #819239;outline-offset:-4px}
.disney-hotel__feature-title{flex:1;line-height:1.4}
.disney-hotel__feature-toggle{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf3d9;color:#152010}
.disney-hotel__feature-toggle:before{content:'+';font-size:1.35rem;line-height:1}
.disney-hotel__feature[open] .disney-hotel__feature-toggle:before{content:'−'}
.disney-hotel__feature ul{margin:0;padding:0 1.45rem 1.4rem 2.8rem}
.disney-hotel__feature[open] summary{border-bottom:1px solid #e7ecde;margin-bottom:1.05rem}
.disney-hotel__feature-grid{align-items:start}
.disney-hotel__lightbox{max-width:min(1100px,96vw);max-height:94vh;width:100%;margin:auto;border:0;border-radius:16px;background:#141b17;color:#fff;padding:0;box-shadow:0 25px 85px #0009}
.disney-hotel__lightbox::backdrop{background:#000c}
.disney-hotel__lightbox-bar{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;color:#fff;font-weight:700;font-size:15px}
.disney-hotel__lightbox-bar button,.disney-hotel__lightbox-stage>button{background:#ffffff24;color:#fff;border:1px solid #ffffff42;border-radius:50%;width:42px;height:42px;cursor:pointer;font:inherit;font-size:23px}
.disney-hotel__lightbox-bar button:hover,.disney-hotel__lightbox-stage>button:hover{background:#acbd51;color:#111}
.disney-hotel__lightbox-stage{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:.8rem;align-items:center;padding:0 14px 18px}
.disney-hotel__lightbox-stage figure{min-width:0;text-align:center;margin:0}
.disney-hotel__lightbox-stage img{max-height:70vh;max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:6px}
.disney-hotel__lightbox-stage figcaption{font-size:14px;line-height:1.5;margin-top:.5rem;color:#e5ece2}
.disney-hotel__mobile-cta{display:none}
@media(max-width:760px){
 .disney-hotel__feature-grid{grid-template-columns:1fr}
 .disney-hotel__mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:995;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce5cc;box-shadow:0 -7px 25px #0002}
 .disney-hotel__mobile-cta>div{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
 .disney-hotel__mobile-cta strong{font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#182018}
 .disney-hotel__mobile-cta span{font-size:11px;line-height:1.3;color:#536052}
 .disney-hotel__mobile-cta .btn{min-height:46px;max-width:48%;font-size:13px;text-align:center;padding:8px 13px;white-space:normal;line-height:1.35}
 body:has(.disney-hotel__mobile-cta){padding-bottom:90px}
 body:has(.disney-hotel__mobile-cta) .support-widget{bottom:calc(92px + env(safe-area-inset-bottom))}
 .disney-hotel__lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px;padding:0 7px 12px}
 .disney-hotel__lightbox-stage>button{height:36px;width:36px;font-size:22px}
}
@media(max-width:380px){.disney-hotel__mobile-cta span{display:none}}


/* =========================================================
   INPETRAVEL V4.8.8 | Ficha Disney, aprovechamiento de anchura
   Una cabecera comercial a dos columnas y secciones a ancho total.
   ========================================================= */
.disney-hotel__layout {
  grid-template-columns: minmax(0,1.7fr) minmax(320px,1fr);
  gap: clamp(1.8rem,4vw,4.25rem);
  align-items: start;
}
.disney-hotel__details {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(2.25rem,4vw,3.75rem);
  width: 100%;
  min-width: 0;
  margin-top: clamp(2rem,4vw,3.75rem);
}
.disney-hotel__details > .disney-hotel__section,
.disney-hotel__details > .disney-hotel__cards { margin: 0; }
.disney-hotel__details .disney-hotel__gallery {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(.7rem,1.5vw,1.1rem);
}
.disney-hotel__details .disney-hotel__gallery-item {aspect-ratio: 3/2;}
.disney-hotel__details .disney-hotel__gallery-item img { aspect-ratio: 3/2; }
.disney-hotel__details .disney-hotel__cards {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.disney-hotel__details .disney-hotel__feature-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1.25rem;
}
.disney-hotel__more {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,385px),1fr));
  gap: 1.5rem;
  align-items: start;
}
.disney-hotel__more > .disney-hotel__section {margin:0;min-width:0;}
.disney-hotel__more .disney-hotel__optional,
.disney-hotel__more .disney-hotel__notes {
  background: #f8faf4;
  border: 1px solid #e0e9d3;
  border-left: 4px solid #acbd51;
  border-radius: 13px;
  padding: clamp(1.2rem,2.5vw,1.85rem);
  height: 100%;
}
.disney-hotel__more .disney-hotel__notes h3,
.disney-hotel__more .disney-hotel__optional h3 {margin-bottom: 1rem;}
.disney-hotel__note-list,
.disney-hotel__more .disney-hotel__optional ul {
  list-style: none;
  padding: 0;
  margin: .75rem 0 0;
  display: grid;
  gap: .8rem;
}
.disney-hotel__note-list li,
.disney-hotel__more .disney-hotel__optional li {
  position: relative;
  padding-left: 1.7rem;
  color: #333e32;
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
  overflow-wrap: anywhere;
}
.disney-hotel__note-list li::before,
.disney-hotel__more .disney-hotel__optional li::before {
  content: '\2713';
  position: absolute;
  top: 0;
  left: 0;
  color: #90a736;
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.35;
}
/* Modal fotográfico con flechas visibles y grandes. */
.disney-hotel__lightbox {
  width: min(1150px,96vw);
  max-width: 96vw;
  max-height: 95vh;
  overflow: auto;
  position: fixed;
  inset: 0;
  margin: auto;
}
.disney-hotel__lightbox-bar {gap: .7rem;}
.disney-hotel__lightbox-stage {
  grid-template-columns: 58px minmax(0,1fr) 58px;
  gap: clamp(.4rem,1vw,1rem);
  padding: 0 clamp(.5rem,1.5vw,1.25rem) clamp(.8rem,1.8vw,1.5rem);
}
.disney-hotel__lightbox-stage > button {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  background: #acbd51;
  color: #121712;
  border: 2px solid #d9e8ae;
  box-shadow: 0 4px 16px #0005;
  font-size: 2.25rem;
  line-height: 1;
  font-weight: 700;
}
.disney-hotel__lightbox-stage > button:hover {background:#d3e396;}
.disney-hotel__lightbox-stage > button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.disney-hotel__lightbox-stage img {max-height:min(74vh,850px);}
.disney-hotel__lightbox-stage > button[hidden] {display:none!important;}
@media(max-width:980px) {
  .disney-hotel__layout {grid-template-columns:1fr;}
  .disney-hotel__details {margin-top:2.1rem;}
  .disney-hotel__details .disney-hotel__gallery {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px) {
  .disney-hotel__details .disney-hotel__cards,
  .disney-hotel__details .disney-hotel__feature-grid {grid-template-columns:1fr;}
  .disney-hotel__more {grid-template-columns:1fr;}
  .disney-hotel__lightbox-stage {grid-template-columns:38px minmax(0,1fr) 38px;gap:5px;padding:0 6px 12px;}
  .disney-hotel__lightbox-stage > button {width:36px;height:44px;font-size:1.7rem;}
  .disney-hotel__lightbox-stage img {max-height:70vh;}
}
@media(max-width:440px) {
  .disney-hotel__details .disney-hotel__gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;}
}
