/* Restyling Casas Rurales La Palma · base (Píxel & Roi) */
/* =====================================================================
   Sistema visual del restyling
   Las clases crh-* se asignan en Elementor (Avanzado › Clases CSS).
   ===================================================================== */
:root{
--crh-cal:#F7F4EE;
--crh-arena:#EEE8DD;
--crh-blanco:#FFFFFF;
--crh-tinta:#23211D;
--crh-tinta-2:#565049;
--crh-linea:#E0D8CA;
--crh-verde:#2E6B3F;
--crh-verde-osc:#24552F;
--crh-tea:#7A4E2D;
--crh-serif:'Fraunces', Georgia, serif;
--crh-sans:'Source Sans 3', 'Segoe UI', Arial, sans-serif;
--crh-sombra:0 1px 2px rgba(35,33,29,.05), 0 10px 30px rgba(35,33,29,.06);
}
/* ---------- Secciones ---------- */
body .elementor-section.crh{background-color:var(--crh-cal);font-family:var(--crh-sans);color:var(--crh-tinta);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body .elementor-section.crh.crh-alt{background-color:var(--crh-arena)}
body .elementor-section.crh > .elementor-container{padding-left:40px;padding-right:40px}
:where(.crh) .elementor-widget:not(:last-child){margin-bottom:0}
.crh .elementor-widget-wrap{gap:0}
.crh-sec{padding:112px 0}
.crh-sec-end{padding-top:0}
.crh-hero{padding:64px 0 40px}
.crh-bar{padding:24px 0 88px}
.crh-about{padding:0 0 112px}
.crh-sec-head{margin-bottom:48px}
.crh-sec-head .elementor-column:last-child .elementor-widget-wrap{align-content:flex-end}
/* ---------- Tipografía ---------- */
body .crh .crh-eyebrow .elementor-heading-title{font:700 13px/1.4 var(--crh-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--crh-tea);margin:0 0 14px}
body .crh .crh-display .elementor-heading-title{font-family:var(--crh-serif);font-weight:500;font-size:64px;line-height:1.04;letter-spacing:-.015em;color:var(--crh-tinta);text-transform:none;margin:0 0 24px}
body .crh .crh-h2 .elementor-heading-title{font-family:var(--crh-serif);font-weight:500;font-size:40px;line-height:1.12;letter-spacing:-.005em;color:var(--crh-tinta);text-transform:none;margin:0 0 20px}
body .crh .crh-h3 .elementor-heading-title{font-family:var(--crh-serif);font-weight:500;font-size:26px;line-height:1.2;color:var(--crh-tinta);text-transform:none;letter-spacing:0;margin:20px 0 10px}
body .crh .crh-h3-lg .elementor-heading-title{font-size:32px}
body .crh .crh-h4 .elementor-heading-title{font:700 18px/1.3 var(--crh-sans);color:var(--crh-tinta);text-transform:none;letter-spacing:0;margin:0 0 14px}
body .crh .crh-text,body .crh .crh-text p,body .crh .crh-lead,body .crh .crh-lead p{font-family:var(--crh-sans);color:var(--crh-tinta-2);font-size:17px;line-height:1.6}
body .crh .crh-text p{margin:0 0 14px}
body .crh .crh-text p:last-child{margin-bottom:0}
body .crh .crh-lead p{font-size:20px;line-height:1.55;margin:0 0 28px}
body .crh .crh-small p{font-size:15px;line-height:1.5}
body .crh a{color:var(--crh-verde)}
body .crh a:hover{color:var(--crh-verde-osc)}
.crh a:focus-visible,.crh button:focus-visible,.crh .elementor-tab-title:focus-visible{outline:3px solid #8DB89A;outline-offset:3px}
.crh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---------- Botones ---------- */
.crh .crh-btn{margin:0 12px 12px 0}
body .crh .crh-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:10px;font:700 16px/1 var(--crh-sans);text-transform:none;letter-spacing:0;border:1px solid transparent;box-shadow:none;transition:background-color .15s,border-color .15s}
body .crh .crh-btn-primary .elementor-button{background-color:var(--crh-verde);color:#fff}
body .crh .crh-btn-primary .elementor-button:hover,body .crh .crh-btn-primary .elementor-button:focus{background-color:var(--crh-verde-osc);color:#fff}
body .crh .crh-btn-secondary .elementor-button{background-color:var(--crh-blanco);color:var(--crh-tinta);border-color:var(--crh-linea)}
body .crh .crh-btn-secondary .elementor-button:hover,body .crh .crh-btn-secondary .elementor-button:focus{border-color:var(--crh-tinta-2);color:var(--crh-tinta)}
body .crh .crh-btn-link .elementor-button{background:none;color:var(--crh-verde);padding:0;min-height:44px}
body .crh .crh-btn-link .elementor-button:hover{color:var(--crh-verde-osc);text-decoration:underline}
.crh .crh-btn .elementor-button-icon svg,.crh .crh-btn .elementor-button-icon i{width:16px;font-size:16px;fill:currentColor}
/* ---------- Lista con check y chips ---------- */
.crh .crh-checks{margin-top:16px}
body .crh .crh-checks .elementor-icon-list-text{font:600 15px/1.4 var(--crh-sans);color:var(--crh-tinta-2)}
body .crh .crh-checks .elementor-icon-list-icon i,body .crh .crh-checks .elementor-icon-list-icon svg{color:var(--crh-verde);fill:var(--crh-verde);font-size:14px;width:14px}
.crh .crh-checks .elementor-icon-list-item{margin-right:22px}
.crh .crh-chips{margin:4px 0 22px}
.crh .crh-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px}
body .crh .crh-chips .elementor-icon-list-item{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border-radius:999px;background:var(--crh-arena)}
body .crh .crh-chips .elementor-icon-list-item::after{display:none}
body .crh .crh-chips .elementor-icon-list-text{font:600 15px/1.2 var(--crh-sans);color:var(--crh-tinta);padding:0}
body .crh .crh-chips .elementor-icon-list-icon i,body .crh .crh-chips .elementor-icon-list-icon svg{color:var(--crh-tinta-2);fill:var(--crh-tinta-2);font-size:14px;width:14px}
/* ---------- Fotos ---------- */
.crh .crh-photo img,.crh .crh-card-img img,.crh .crh-hero-main img,.crh .crh-hero-small img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.crh .crh-photo .elementor-widget-container,.crh .crh-photo figure{height:100%;margin:0;border-radius:20px;overflow:hidden;background:var(--crh-arena)}
.crh .crh-about-photo{height:520px}
.crh .crh-stay-photo{height:520px;margin-bottom:4px}
/* ---------- Portada ---------- */
.crh-hero .crh-hero-media > .elementor-widget-wrap{position:relative;height:600px;display:block}
.crh .crh-hero-main{position:absolute !important;top:0;right:0;bottom:64px;left:64px;width:auto !important}
.crh .crh-hero-small{position:absolute !important;left:0;bottom:0;width:46% !important;height:250px}
.crh .crh-hero-main .elementor-widget-container,.crh .crh-hero-main figure,
.crh .crh-hero-small .elementor-widget-container,.crh .crh-hero-small figure{position:relative;height:100%;margin:0;overflow:hidden;background:var(--crh-arena)}
.crh .crh-hero-main figure{border-radius:20px}
.crh .crh-hero-small figure{border-radius:16px;border:6px solid var(--crh-cal)}
body .crh .crh-hero-media .widget-image-caption{position:absolute;margin:0;display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.94);font:600 15px/1.2 var(--crh-sans);color:var(--crh-tinta)}
.crh .crh-hero-main .widget-image-caption{top:16px;right:16px}
.crh .crh-hero-small .widget-image-caption{bottom:16px;left:16px}
/* ---------- Barra de reserva de Hotel Master: SOLO aspecto ---------- */
.crh-bar .gdlr-hotel-availability-wrapper{background:transparent;padding:0;margin:0}
.crh-bar .gdlr-hotel-availability-wrapper .gdlr-item{margin:0}
.crh-bar #gdlr-hotel-availability{background:#fff;border-radius:16px;box-shadow:var(--crh-sombra);padding:24px 28px;margin:0 0 14px;font-family:var(--crh-sans);display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}
.crh-bar #gdlr-hotel-availability .gdlr-reservation-field{float:none;margin:0;width:auto;flex:1 1 120px}
body .crh-bar #gdlr-hotel-availability .gdlr-reservation-field-title{font:700 14px/1.3 var(--crh-sans);color:var(--crh-tinta);text-transform:none;letter-spacing:0;margin-bottom:6px}
body .crh-bar #gdlr-hotel-availability input[type="text"],
body .crh-bar #gdlr-hotel-availability select{height:50px;border:1px solid #CFC6B6 !important;border-radius:10px;background:#fff !important;color:var(--crh-tinta) !important;font:16px var(--crh-sans);padding:0 14px;box-shadow:none}
.crh-bar #gdlr-hotel-availability .gdlr-combobox-wrapper,
.crh-bar #gdlr-hotel-availability .gdlr-datepicker-wrapper{background:none}
body .crh-bar #gdlr-hotel-availability input[type="submit"],
body .crh-bar #gdlr-hotel-availability .gdlr-hotel-availability-submit input{height:50px;min-height:50px;border-radius:10px;background:var(--crh-verde) !important;color:#fff !important;font:700 16px/1 var(--crh-sans);text-transform:none;letter-spacing:0;padding:0 24px;border:0;margin:0;width:auto}
body .crh-bar #gdlr-hotel-availability input[type="submit"]:hover{background:var(--crh-verde-osc) !important}
.crh-bar #gdlr-hotel-availability .gdlr-hotel-availability-submit{float:none;margin:0;flex:0 0 auto}
.crh-bar #gdlr-hotel-availability .clear{display:none}
/* ---------- Imágenes con pie: quitar el marco que añade Hotel Master a .wp-caption ---------- */
.crh figure.wp-caption{padding:0 !important;margin:0 !important;width:100% !important;max-width:none !important;border:0;box-shadow:none;background:var(--crh-arena);text-align:left}
.crh figure.wp-caption img{margin:0 !important;padding:0;border:0}
.crh .crh-hero-small figure.wp-caption{border:6px solid var(--crh-cal)}
