/* 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%}
}
