/* Restyling Casas Rurales La Palma · secciones de la home (Píxel & Roi) */
/* ---------- Alojamientos ---------- */
.crh-cards{margin-bottom:48px}
.crh-cards > .elementor-container{align-items:flex-start}
.crh .crh-card > .elementor-widget-wrap{background:var(--crh-blanco);border-radius:16px;box-shadow:var(--crh-sombra);overflow:hidden;padding:0 0 20px !important}
.crh .crh-card-small{margin-top:72px}
.crh .crh-card-img{width:100%}
.crh .crh-card-img .elementor-widget-container{margin:0}
.crh .crh-card-img-big{height:420px}
.crh .crh-card-img-small{height:340px}
.crh .crh-pad{padding:0 32px;width:100%}
body .crh .crh-card-title .elementor-heading-title{margin:32px 0 8px}
body .crh .crh-price p{margin:0 0 14px;color:var(--crh-tinta-2)}
body .crh .crh-price b{font-size:22px;color:var(--crh-tinta)}
.crh .crh-card-big .crh-text,.crh .crh-card-small .crh-text{margin-bottom:18px}
.crh .crh-card-big .crh-btn-primary,.crh .crh-card-small .crh-btn-primary{margin-left:32px}
.crh .crh-compare .elementor-widget-container{background:var(--crh-blanco);border-radius:16px;box-shadow:var(--crh-sombra);padding:8px 32px 16px;overflow-x:auto}
.crh .crh-table{width:100%;border-collapse:collapse;font-size:16px;border:0;margin:0;font-family:var(--crh-sans)}
.crh .crh-table caption{text-align:left;padding:24px 14px 8px;font:500 24px/1.2 var(--crh-serif);color:var(--crh-tinta);caption-side:top}
body .crh .crh-table th,body .crh .crh-table td{padding:14px;border:0;border-bottom:1px solid var(--crh-linea);text-align:left;background:none;color:var(--crh-tinta)}
body .crh .crh-table thead th{font-weight:700;font-size:14px;color:var(--crh-tinta-2);padding:12px 14px}
.crh .crh-table tbody th{font-weight:600;width:34%}
body .crh .crh-table tbody tr:last-child th,body .crh .crh-table tbody tr:last-child td{border-bottom:0}
/* ---------- La estancia ---------- */
.crh .crh-stay-list > .elementor-widget-wrap{display:flex;flex-direction:column;gap:40px;align-content:flex-start}
.crh .crh-mini .elementor-image-box-wrapper{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start;text-align:left}
.crh .crh-mini .elementor-image-box-img{width:200px !important;height:200px;margin:0 !important;border-radius:14px;overflow:hidden;background:var(--crh-arena)}
.crh .crh-mini .elementor-image-box-img img,.crh .crh-post .elementor-image-box-img img{width:100%;height:100%;object-fit:cover;border-radius:0}
body .crh .crh-mini .elementor-image-box-title,body .crh .crh-post .elementor-image-box-title{font-family:var(--crh-serif);font-weight:500;font-size:22px;line-height:1.2;color:var(--crh-tinta);text-transform:none;letter-spacing:0;margin:0 0 10px}
body .crh .crh-mini .elementor-image-box-description,body .crh .crh-post .elementor-image-box-description{font-family:var(--crh-sans);color:var(--crh-tinta-2);font-size:17px;line-height:1.6}
/* ---------- Entorno ---------- */
.crh .crh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.crh .crh-stats div{display:flex;flex-direction:column;gap:4px}
.crh .crh-stats dt,.crh .crh-stats dd{float:none;width:auto;clear:none;padding:0}
body .crh .crh-stats dt{font:400 15px/1.4 var(--crh-sans);color:var(--crh-tinta-2)}
body .crh .crh-stats dd{margin:0;font:400 30px/1.2 var(--crh-serif);color:var(--crh-tinta)}
.crh .crh-env-head{margin-bottom:20px}
.crh .crh-env-note{margin-bottom:48px}
.crh-posts{margin-bottom:32px}
.crh .crh-post .elementor-image-box-wrapper{text-align:left}
.crh .crh-post .elementor-image-box-img{width:100% !important;height:300px;margin:0 0 16px !important;border-radius:14px;overflow:hidden;background:var(--crh-arena)}
body .crh .crh-post .elementor-image-box-description{font-size:15px;line-height:1.5}
.crh .crh-post a:hover .elementor-image-box-title,.crh .crh-post .elementor-image-box-title a:hover{text-decoration:underline}
body .crh .crh-post .elementor-image-box-title a{color:var(--crh-tinta)}
/* ---------- Preguntas frecuentes ---------- */
.crh .crh-acc .elementor-accordion-item{border:0;border-top:1px solid var(--crh-linea)}
.crh .crh-acc .elementor-accordion-item:last-child{border-bottom:1px solid var(--crh-linea)}
body .crh .crh-acc .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:8px 0;font:700 17px/1.4 var(--crh-sans);color:var(--crh-tinta);border:0}
body .crh .crh-acc .elementor-tab-title a{color:var(--crh-tinta);order:1;flex:1}
body .crh .crh-acc .elementor-accordion-icon{order:2;color:var(--crh-tinta-2);float:none;width:auto}
body .crh .crh-acc .elementor-accordion-icon svg{fill:var(--crh-tinta-2);width:14px}
body .crh .crh-acc .elementor-tab-content{padding:0 0 20px;border:0;font-family:var(--crh-sans);color:var(--crh-tinta-2);font-size:17px;line-height:1.6}
.crh .crh-acc .elementor-tab-content p{margin:0}
/* ---------- Cierre ---------- */
.crh .crh-cta > .elementor-container{background:var(--crh-blanco);border-radius:16px;box-shadow:var(--crh-sombra);overflow:hidden;padding:0 !important;max-width:none}
.crh .crh-cta-text > .elementor-widget-wrap{padding:64px !important}
.crh .crh-cta-img{min-height:440px}
/* ---------- Ajustes tras revisar en Elementor ---------- */
/* Separación entre columnas (Elementor no la aplica porque las columnas no llevan relleno) */
@media (min-width:768px){
.crh-hero .crh-hero-text{padding-right:64px}
.crh-about .crh-about-text{padding-left:72px}
.crh-sec-head > .elementor-container > .elementor-column + .elementor-column{padding-left:40px}
.crh-env-head > .elementor-container > .elementor-column + .elementor-column{padding-left:72px}
.crh-cards .crh-card-small{padding-left:32px}
.crh-stay .crh-stay-list{padding-left:32px}
.crh-posts > .elementor-container > .elementor-column{padding:0 14px}
.crh-posts > .elementor-container > .elementor-column:first-child{padding-left:0}
.crh-posts > .elementor-container > .elementor-column:last-child{padding-right:0}
.crh-faq > .elementor-container > .elementor-column + .elementor-column{padding-left:72px}
}
/* Fotos de las tarjetas: llenar su caja */
.crh .crh-card-img .elementor-widget-container,.crh .crh-card-img a{display:block;height:100%}
.crh .crh-card-img img{height:100% !important;width:100% !important;object-fit:cover}
/* Datos de distancia */
.crh .crh-stats-w,.crh .crh-stats-w .elementor-widget-container{width:100%}
/* Preguntas: tipografía del diseño también en el título del acordeón */
body .crh .crh-acc .elementor-accordion-title,body .crh .crh-acc .elementor-tab-title a{font:700 17px/1.4 var(--crh-sans) !important;color:var(--crh-tinta) !important;text-decoration:none}
/* Barra de reserva: campos a todo el ancho de su columna (solo aspecto) */
.crh-bar #gdlr-hotel-availability .gdlr-reservation-field:first-child{flex:1.6 1 200px}
.crh-bar #gdlr-hotel-availability .gdlr-combobox-wrapper,
.crh-bar #gdlr-hotel-availability .gdlr-datepicker-wrapper{width:100% !important;max-width:none}
.crh-bar #gdlr-hotel-availability select,
.crh-bar #gdlr-hotel-availability input[type="text"]{width:100% !important;max-width:none}
/* ---------- Tableta ---------- */
@media (max-width:1100px){
body .elementor-section.crh > .elementor-container{padding-left:28px;padding-right:28px}
body .crh .crh-display .elementor-heading-title{font-size:52px}
}
/* ---------- Móvil (Elementor apila las columnas por debajo de 768 px) ---------- */
@media (max-width:767px){
body .elementor-section.crh > .elementor-container{padding-left:20px;padding-right:20px}
.crh-sec{padding:64px 0}
.crh-sec-end{padding-top:0}
.crh-hero{padding:0 0 8px}
.crh-bar{padding:24px 0 56px}
.crh-about{padding:0 0 64px}
.crh-sec-head{margin-bottom:28px}
.crh-hero > .elementor-container{flex-direction:column-reverse}
.crh-hero .crh-hero-media > .elementor-widget-wrap{height:300px;margin:0 -20px 28px}
.crh .crh-hero-main{top:0;right:0;bottom:0;left:0}
.crh .crh-hero-main figure{border-radius:0}
.crh .crh-hero-small{display:none}
.crh .crh-hero-main .widget-image-caption{top:auto;right:auto;bottom:12px;left:12px;font-size:14px}
body .crh .crh-display .elementor-heading-title{font-size:38px;line-height:1.08}
body .crh .crh-h2 .elementor-heading-title{font-size:30px}
body .crh .crh-h3-lg .elementor-heading-title{font-size:26px}
body .crh .crh-lead p{font-size:18px}
body .crh .crh-eyebrow .elementor-heading-title{font-size:12px}
.crh .crh-btn{width:100%;margin-right:0}
body .crh .crh-btn .elementor-button{width:100%}
body .crh .crh-btn-link .elementor-button{width:auto}
.crh .crh-about-photo{height:240px;margin-bottom:24px}
.crh .crh-card-small{margin-top:24px}
.crh .crh-card-img-big,.crh .crh-card-img-small{height:230px}
.crh .crh-pad{padding:0 22px}
body .crh .crh-card-title .elementor-heading-title{margin-top:22px}
.crh .crh-card-big .crh-btn,.crh .crh-card-small .crh-btn{margin:0 22px 12px !important;width:calc(100% - 44px)}
.crh .crh-compare .elementor-widget-container{padding:4px 12px 8px}
.crh .crh-table{font-size:15px}
body .crh .crh-table th,body .crh .crh-table td{padding:10px 8px}
.crh .crh-stay-photo{height:260px}
.crh .crh-stay-main{margin-bottom:32px}
.crh .crh-stay-list > .elementor-widget-wrap{gap:24px}
.crh .crh-mini .elementor-image-box-wrapper{grid-template-columns:112px minmax(0,1fr);gap:16px}
.crh .crh-mini .elementor-image-box-img{width:112px !important;height:112px}
body .crh .crh-mini .elementor-image-box-title{font-size:18px}
body .crh .crh-mini .elementor-image-box-description{font-size:15px}
body .crh .crh-stats dd{font-size:24px}
.crh .crh-post{margin-bottom:24px}
.crh .crh-post .elementor-image-box-img{height:200px}
.crh .crh-cta-img{min-height:200px;order:-1}
.crh .crh-cta > .elementor-container{flex-direction:column-reverse}
.crh .crh-cta-text > .elementor-widget-wrap{padding:28px 20px !important}
.crh-bar #gdlr-hotel-availability{padding:20px}
.crh-bar #gdlr-hotel-availability .gdlr-reservation-field{flex:1 1 40%}
.crh-bar #gdlr-hotel-availability .gdlr-hotel-availability-submit,
.crh-bar #gdlr-hotel-availability .gdlr-hotel-availability-submit input{flex:1 1 100%;width:100%}
}


/* ---------- Ajustes de espaciado (3 nov, tarde) ---------- */
body .crh .elementor-widget.crh-chips{margin-block-end:22px !important;margin-bottom:22px !important}
body .crh .elementor-widget.crh-env-note{margin-block-end:28px !important;margin-bottom:28px !important}
/* Cierre: título y texto a lo ancho, botones en fila y «Escríbenos» debajo */
body .crh .crh-cta-text > .elementor-widget-wrap{align-content:center;column-gap:12px;row-gap:0}
body .crh .crh-cta-text .elementor-widget-heading,
body .crh .crh-cta-text .elementor-widget-text-editor{width:100%}
body .crh .crh-cta-text .elementor-widget-heading{margin-block-end:20px !important}
body .crh .crh-cta-text .elementor-widget-text-editor{margin-block-end:28px !important}
body .crh .crh-cta-text .elementor-widget-button{width:auto;margin-block-end:12px !important}
body .crh .crh-cta-text .elementor-widget-button.crh-btn-link{width:100%;margin-block-end:0 !important}
@media (max-width:767px){
  body .crh .crh-cta-text .elementor-widget-button{width:100%}
  body .crh .crh-cta-text > .elementor-widget-wrap{padding:28px 20px !important}
}

/* Móvil: portada a todo el ancho y botones a lo ancho (3 nov, tarde) */
@media (max-width:767px){
  body .crh .elementor-widget.crh-hero-main{width:calc(100% + 40px) !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important}
  body .crh .elementor-widget.crh-hero-main img{width:100% !important}
  body .crh .elementor-widget.crh-btn{width:100%}
  body .crh .elementor-widget.crh-btn .elementor-button{width:100%;justify-content:center}
  body .crh .elementor-widget.crh-btn.crh-btn-link .elementor-button{justify-content:flex-start}
  body .crh #gdlr-hotel-availability input[type="submit"],
  body .crh #gdlr-hotel-availability button[type="submit"],
  body .crh #gdlr-hotel-availability .gdlr-hotel-availability-submit{width:100% !important}
}


/* ---------- Entradilla bajo «Elige tu casa» (3 nov, tarde) ---------- */
body .crh .elementor-widget.crh-sec-intro{max-width:620px;margin-block-start:-6px !important}
body .crh .crh-sec-intro p{margin:0;font-size:18px;line-height:1.55;color:var(--crh-tinta-2)}

/* ---------- Comparativa visual (3 nov, tarde) ---------- */
body .crh .crh-table.crh-table-v2{border-collapse:separate;border-spacing:0}
body .crh .crh-table.crh-table-v2 caption{padding:24px 14px 18px}
body .crh .crh-table.crh-table-v2 thead th{vertical-align:bottom;padding:4px 14px 18px;border-bottom:2px solid var(--crh-linea)}
body .crh .crh-cmp-house{display:flex;align-items:center;gap:12px;font:500 20px/1.2 var(--crh-serif);color:var(--crh-tinta);text-transform:none;letter-spacing:0}
body .crh .crh-cmp-house img{width:56px !important;height:56px !important;max-width:none;border-radius:999px;object-fit:cover;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 4px var(--crh-linea)}
body .crh .crh-table.crh-table-v2 tbody th,
body .crh .crh-table.crh-table-v2 tbody td{border-bottom:0;padding:13px 14px;font-size:16px;vertical-align:middle}
body .crh .crh-table.crh-table-v2 tbody tr:nth-child(odd) th,
body .crh .crh-table.crh-table-v2 tbody tr:nth-child(odd) td{background:var(--crh-cal)}
body .crh .crh-table.crh-table-v2 tbody tr th{border-radius:10px 0 0 10px}
body .crh .crh-table.crh-table-v2 tbody tr td:last-child{border-radius:0 10px 10px 0}
body .crh .crh-table.crh-table-v2 tbody th{font-weight:600;color:var(--crh-tinta);width:34%}
body .crh .crh-table.crh-table-v2 tbody td{color:var(--crh-tinta-2)}
body .crh .crh-cmp-label{display:flex;align-items:center;gap:12px;line-height:1.6}
body .crh .crh-cmp-ic{width:20px;height:20px;flex:none;fill:none;stroke:var(--crh-verde);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body .crh .crh-table.crh-table-v2 tr.crh-cmp-price th,
body .crh .crh-table.crh-table-v2 tr.crh-cmp-price td{background:var(--crh-verde-claro,#E3ECE1) !important;padding-top:16px;padding-bottom:16px}
body .crh .crh-table.crh-table-v2 tr.crh-cmp-price td{color:var(--crh-tinta)}
body .crh .crh-table.crh-table-v2 tr.crh-cmp-price td b{font:500 24px/1 var(--crh-serif);color:var(--crh-verde)}
@media (max-width:767px){
  body .crh .crh-sec-intro p{font-size:17px}
  body .crh .crh-cmp-house{flex-direction:column;align-items:flex-start;gap:8px;font-size:16px}
  body .crh .crh-cmp-house img{width:44px !important;height:44px !important}
  body .crh .crh-table.crh-table-v2 tbody th,
  body .crh .crh-table.crh-table-v2 tbody td{padding:11px 8px;font-size:15px}
  body .crh .crh-cmp-label{gap:8px}
  body .crh .crh-cmp-ic{width:18px;height:18px}
  body .crh .crh-table.crh-table-v2 tr.crh-cmp-price td b{font-size:20px}
}

/* Comparativa en móvil: filas en dos niveles (característica arriba, valores debajo) */
@media (max-width:767px){
  body .crh .crh-table.crh-table-v2,
  body .crh .crh-table.crh-table-v2 thead,
  body .crh .crh-table.crh-table-v2 tbody{display:block;width:100%}
  body .crh .crh-table.crh-table-v2 caption{display:block;padding:18px 4px 12px}
  body .crh .crh-table.crh-table-v2 tr{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;border-radius:10px;margin:0 0 6px}
  body .crh .crh-table.crh-table-v2 thead th:first-child{display:none}
  body .crh .crh-table.crh-table-v2 thead th{padding:4px 8px 14px;width:auto}
  body .crh .crh-table.crh-table-v2 tbody th{grid-column:1 / -1;width:auto;padding:10px 10px 2px;background:none !important;border-radius:0}
  body .crh .crh-table.crh-table-v2 tbody td{padding:2px 10px 10px;background:none !important;border-radius:0 !important;font-size:15px}
  body .crh .crh-table.crh-table-v2 tbody tr:nth-child(odd){background:var(--crh-cal)}
  body .crh .crh-table.crh-table-v2 tr.crh-cmp-price{background:var(--crh-verde-claro,#E3ECE1)}
  body .crh .crh-table.crh-table-v2 tr.crh-cmp-price th,
  body .crh .crh-table.crh-table-v2 tr.crh-cmp-price td{background:none !important}
  body .crh .crh-cmp-house{flex-direction:row;align-items:center;gap:8px;font-size:15px}
  body .crh .crh-cmp-house img{width:36px !important;height:36px !important}
}

/* Botones de portada: separación e icono de WhatsApp en verde (3 nov, tarde) */
body .crh .crh-hero-text > .elementor-widget-wrap{column-gap:10px}
body .crh .crh-hero-text .elementor-widget-button{margin-block-end:12px !important}
body .crh .crh-btn-secondary .elementor-button-icon i,
body .crh .crh-btn-secondary .elementor-button-icon svg{color:var(--crh-verde);fill:var(--crh-verde)}
body .crh .crh-btn-secondary .elementor-button-icon i{font-size:18px}

/* ---------- Portada + disponibilidad como un solo bloque (3 nov, noche) ---------- */
body .elementor-section.crh-hero,
body .elementor-section.crh-bar{background-color:var(--crh-arena) !important}
body .elementor-section.crh-hero{padding-bottom:48px}
body .elementor-section.crh-bar{padding:8px 0 0 !important;position:relative;z-index:2}
body .crh-bar .crh-bar-widget{margin-bottom:-64px !important;position:relative;z-index:2}
body .crh-bar #gdlr-hotel-availability{box-shadow:0 2px 4px rgba(35,33,29,.06),0 18px 44px rgba(35,33,29,.14) !important}
body .crh-bar .crh-bar-note{margin-top:76px !important;position:relative;z-index:2}
body .elementor-section.crh-about{background-color:var(--crh-cal) !important;padding-top:72px !important}
/* Foto pequeña con marco blanco, integrada con la grande */
body .crh .crh-hero-small .elementor-widget-container{background:#fff !important;padding:8px !important;border-radius:20px !important;box-shadow:0 2px 4px rgba(35,33,29,.06),0 16px 40px rgba(35,33,29,.16)}
body .crh .crh-hero-small img{border-radius:14px !important}
@media (max-width:767px){
  body .elementor-section.crh-hero{padding-bottom:32px}
  body .crh-bar .crh-bar-widget{margin-bottom:-40px !important}
  body .crh-bar .crh-bar-note{margin-top:52px !important}
  body .elementor-section.crh-about{padding-top:48px !important}
}
/* La franja arena termina a media altura de la barra: la barra queda "cosida" entre la portada y lo siguiente */
body .elementor-section.crh-bar{background:linear-gradient(to bottom,var(--crh-arena) 0,var(--crh-arena) 118px,var(--crh-cal) 118px,var(--crh-cal) 100%) !important}
body .crh-bar .crh-bar-widget{margin-bottom:0 !important}
body .crh-bar .crh-bar-note{margin-top:14px !important}
@media (max-width:767px){
  body .elementor-section.crh-bar{background:linear-gradient(to bottom,var(--crh-arena) 0,var(--crh-arena) 160px,var(--crh-cal) 160px,var(--crh-cal) 100%) !important}
  body .crh-bar .crh-bar-widget{margin-bottom:0 !important}
  body .crh-bar .crh-bar-note{margin-top:12px !important}
}
