/* ============================================================
   Casa Malva — diseño del sitio (tema hijo).
   Las páginas se maquetan con bloques de Gutenberg; estas clases
   (campo «Clase(s) CSS adicional(es)» de cada bloque) les dan el
   diseño. Los apartados del plugin entran por bloque Shortcode.
   Esta misma hoja se carga dentro del editor de bloques.
   Generado desde wp-theme/fuente — no editar el .css a mano.
   ============================================================ */
:root{
  --cm-crema:var(--wp--preset--color--crema,#f4f1e8);
  --cm-crema-2:var(--wp--preset--color--crema-2,#ece7d9);
  --cm-blanco:var(--wp--preset--color--blanco,#fffdf8);
  --cm-tinta:var(--wp--preset--color--tinta,#232a20);
  --cm-suave:var(--wp--preset--color--suave,#6f7866);
  --cm-salvia:var(--wp--preset--color--salvia,#5f7a4f);
  --cm-salvia-osc:var(--wp--preset--color--salvia-oscuro,#4a6140);
  --cm-salvia-cl:var(--wp--preset--color--salvia-claro,#eaf0e2);
  --cm-terracota:var(--wp--preset--color--terracota,#b5551f);
  --cm-dorado:var(--wp--preset--color--dorado,#e7dfae);
  --cm-hoja-cl:#cfe0bf;
  --cm-borde:#e0dac9;
  --cm-sombra:0 18px 50px -24px rgba(45,55,40,.45);
  --cm-sombra-s:0 14px 40px -28px rgba(45,55,40,.5);
  --cm-radio:16px;
  --cm-serif:var(--wp--preset--font-family--titulos,'Fraunces',Georgia,serif);
  --cm-sans:var(--wp--preset--font-family--texto,'Karla',-apple-system,'Segoe UI',Roboto,Arial,sans-serif);
  --cm-ancho:1160px;
  --cm-lateral:24px;
}

/* Iconos (generados desde fuente/iconos.json) ---------------- */
:root{
  --cm-i-hoja:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21c0-9 6-16 16-16 0 9-6 16-16 16z'/%3E%3Cpath d='M5 21C9 15 13 12 19 9'/%3E%3C/svg%3E");
  --cm-i-fuego:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c3.5 4.5 5.5 7 5.5 10a5.5 5.5 0 0 1-11 0c0-1.8.9-3.4 2.4-4.5.4 1.9 1.2 2.6 2.3 2.6 0-2.6-1.4-4.9.8-8.1z'/%3E%3C/svg%3E");
  --cm-i-copa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10l-1.2 8a4 4 0 0 1-7.6 0z'/%3E%3Cpath d='M12 15v5M8.5 20h7'/%3E%3C/svg%3E");
  --cm-i-reloj:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E");
  --cm-i-telefono:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --cm-i-local:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-5.7 7-11a7 7 0 1 0-14 0c0 5.3 7 11 7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3C/svg%3E");
  --cm-i-estrella:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z'/%3E%3C/svg%3E");
  --cm-i-cubiertos:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v7a2 2 0 0 0 4 0V3M8 10v11'/%3E%3Cpath d='M17 3c-1.7 0-3 2-3 5s1 4 3 4v9'/%3E%3C/svg%3E");
  --cm-i-brote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 13c0-3.3-2.2-5.5-5.5-5.5C6.5 10.8 8.7 13 12 13z'/%3E%3Cpath d='M12 11c0-3.3 2.2-5.5 5.5-5.5C17.5 8.8 15.3 11 12 11z'/%3E%3C/svg%3E");
  --cm-i-trigo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22V8'/%3E%3Cpath d='M12 8c0-2.5 2-4.5 4.5-4.5C16.5 6 14.5 8 12 8zM12 8c0-2.5-2-4.5-4.5-4.5C7.5 6 9.5 8 12 8zM12 13c0-2.5 2-4.5 4.5-4.5C16.5 11 14.5 13 12 13zM12 13c0-2.5-2-4.5-4.5-4.5C7.5 11 9.5 13 12 13z'/%3E%3C/svg%3E");
  --cm-i-chef:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21h10M7 21v-6M17 21v-6M6 15h12a3.5 3.5 0 0 0 .5-7 5 5 0 0 0-9.6-1.3A3.5 3.5 0 0 0 6 15z'/%3E%3C/svg%3E");
  --cm-i-abajo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --cm-i-flecha:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  --cm-i-calendario:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --cm-i-grupo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Cpath d='M16 5.2a3.2 3.2 0 0 1 0 6M18 14.3c1.8.8 3 2.6 3 4.7'/%3E%3C/svg%3E");
  --cm-i-carta:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M14.5 3v4.5H19M9 12h7M9 16h5'/%3E%3C/svg%3E");
}
.cm-i-hoja{--cm-ico:var(--cm-i-hoja);}
.cm-i-fuego{--cm-ico:var(--cm-i-fuego);}
.cm-i-copa{--cm-ico:var(--cm-i-copa);}
.cm-i-reloj{--cm-ico:var(--cm-i-reloj);}
.cm-i-telefono{--cm-ico:var(--cm-i-telefono);}
.cm-i-local{--cm-ico:var(--cm-i-local);}
.cm-i-estrella{--cm-ico:var(--cm-i-estrella);}
.cm-i-cubiertos{--cm-ico:var(--cm-i-cubiertos);}
.cm-i-brote{--cm-ico:var(--cm-i-brote);}
.cm-i-trigo{--cm-ico:var(--cm-i-trigo);}
.cm-i-chef{--cm-ico:var(--cm-i-chef);}
.cm-i-abajo{--cm-ico:var(--cm-i-abajo);}
.cm-i-flecha{--cm-ico:var(--cm-i-flecha);}
.cm-i-calendario{--cm-ico:var(--cm-i-calendario);}
.cm-i-grupo{--cm-ico:var(--cm-i-grupo);}
.cm-i-carta{--cm-ico:var(--cm-i-carta);}

/* Lienzo (solo web pública) ------------------------------------ */
body.cm-lienzo{margin:0;background:var(--cm-crema);}
.cm{font-family:var(--cm-sans);color:var(--cm-tinta);background:var(--cm-crema);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:clip;}
.cm *,.cm *::before,.cm *::after{box-sizing:border-box;}
.cm img{max-width:100%;height:auto;}
.cm a{color:inherit;}
.cm :where(h1,h2,h3,h4,h5){font-family:var(--cm-serif);font-weight:500;line-height:1.08;letter-spacing:-.01em;margin:0;}
.cm :where(p){margin:0;}
.cm :where(ul,ol){margin:0;}
/* Las secciones a ancho completo van pegadas; el resto de bloques sueltos respira y no toca los bordes. */
.cm-contenido > .alignfull{margin-top:0;margin-bottom:0;}
.cm-contenido > :not(.alignfull){padding-inline:var(--cm-lateral);}
.cm-contenido > :not(.alignfull):first-child{margin-top:130px;}
.cm-contenido > :not(.alignfull):last-child{margin-bottom:80px;}

/* Iconos por clase: añade «cm-i-fuego», «cm-i-reloj»… a un bloque */
.cm-icono::before,.cm-eyebrow::before,.cm-tira-it::before,.cm-info-it::before,.cm-lista-iconos li::before,
[class*="cm-boton-"][class*="cm-i-"] .wp-block-button__link::before{
  content:'';flex:none;background:currentColor;
  -webkit-mask:var(--cm-ico) center/contain no-repeat;mask:var(--cm-ico) center/contain no-repeat;
}
:where(.cm-eyebrow,.cm-lista-iconos li,.cm-tira-it,.cm-info-it,.cm-card){--cm-ico:var(--cm-i-hoja);}

/* Secciones ---------------------------------------------------- */
.cm-seccion{padding:clamp(66px,9vw,104px) var(--cm-lateral);}
.cm-fondo-crema{background:var(--cm-crema-2);}
.cm-fondo-blanco{background:var(--cm-blanco);}
.cm-centro{text-align:center;}

/* Tipografía --------------------------------------------------- */
p.cm-eyebrow{display:flex;align-items:center;gap:8px;font-family:var(--cm-sans);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cm-salvia);line-height:1.3;margin-bottom:0;}
.cm-eyebrow::before{width:16px;height:16px;}
.cm-centro p.cm-eyebrow,p.cm-eyebrow.has-text-align-center{justify-content:center;}
.cm-eyebrow + .wp-block-heading{margin-top:14px;}
.wp-block-heading.cm-titular{font-size:clamp(30px,4.4vw,50px);}
p.cm-bajada{color:var(--cm-suave);font-size:19px;max-width:640px;}
.cm-centro p.cm-bajada{margin-inline:auto;}
.wp-block-heading + p.cm-bajada{margin-top:14px;}
.cm-texto-largo p{font-size:17.5px;}

/* Botones ------------------------------------------------------ */
.wp-block-buttons.cm-botones{gap:14px;}
.cm-centro .wp-block-buttons,.cm-hero .wp-block-buttons,.cm-band .wp-block-buttons{justify-content:center;}
[class*="cm-boton-"] .wp-block-button__link{display:inline-flex;align-items:center;gap:9px;font-family:var(--cm-sans);font-weight:700;font-size:15.5px;line-height:1.2;padding:14px 28px;border-radius:999px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;}
[class*="cm-boton-"][class*="cm-i-"] .wp-block-button__link::before{width:18px;height:18px;}
[class*="cm-boton-"] .wp-block-button__link:hover{transform:translateY(-2px);}
.cm-boton-primario .wp-block-button__link{background:var(--cm-salvia);color:#fff;box-shadow:0 12px 26px -14px rgba(95,122,79,.9);}
.cm-boton-primario .wp-block-button__link:hover{background:var(--cm-salvia-osc);color:#fff;box-shadow:0 18px 32px -14px rgba(95,122,79,.95);}
.cm-boton-terracota .wp-block-button__link{background:var(--cm-terracota);color:#fff;box-shadow:0 12px 26px -14px rgba(181,85,31,.9);}
.cm-boton-terracota .wp-block-button__link:hover{color:#fff;filter:brightness(1.06);}
.cm-boton-fantasma .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}
.cm-boton-fantasma .wp-block-button__link:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff;}
.cm-boton-linea .wp-block-button__link{background:transparent;color:var(--cm-salvia);border-color:var(--cm-salvia);}
.cm-boton-linea .wp-block-button__link:hover{background:var(--cm-salvia);color:#fff;}

/* Márgenes de bloques dentro de las secciones ------------------ */
:is(.cm-seccion,.cm-tira,.cm-reservar,.cm-footer,.cm-hero,.cm-band) .wp-block-columns{margin-bottom:0;}
:is(.cm-seccion,.cm-tira,.cm-reservar,.cm-footer) .wp-block-image{margin:0;}

/* Héroe (bloque Portada con clase cm-hero) --------------------- */
.wp-block-cover.cm-hero{min-height:100svh;padding:130px var(--cm-lateral) 110px;color:#fff;overflow:hidden;}
.cm-hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(20,24,18,.35) 0%,rgba(20,24,18,0) 35%,rgba(20,24,18,.55) 100%);}
.cm-hero .wp-block-cover__inner-container{max-width:860px;text-align:center;z-index:2;}
.cm-hero p.cm-eyebrow,.cm-band p.cm-eyebrow,.cm-reservar p.cm-eyebrow{color:var(--cm-dorado);}
.cm-hero p.cm-eyebrow,.cm-band p.cm-eyebrow{justify-content:center;}
.cm-hero .wp-block-heading{font-size:clamp(46px,7.6vw,96px);color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.28);}
.cm-hero .cm-claim{font-size:clamp(17px,2.2vw,21px);max-width:600px;margin-inline:auto;opacity:.95;}
.cm-hero .wp-block-buttons{margin-top:34px;}
.cm-hero .wp-block-cover__image-background{animation:cm-zoom 22s ease-out both;}
.cm-hero::after{content:'';position:absolute;left:50%;bottom:26px;width:26px;height:26px;margin-left:-13px;z-index:2;background:#fff;opacity:.7;-webkit-mask:var(--cm-i-abajo) center/contain no-repeat;mask:var(--cm-i-abajo) center/contain no-repeat;animation:cm-bob 2s ease-in-out infinite;}
@keyframes cm-zoom{from{transform:scale(1.12);}to{transform:scale(1);}}
@keyframes cm-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}

/* Banda de cabecera de páginas interiores (Portada + cm-band) -- */
.wp-block-cover.cm-band{min-height:0;padding:clamp(150px,18vw,190px) var(--cm-lateral) clamp(64px,8vw,92px);color:#fff;text-align:center;}
.cm-band .wp-block-cover__inner-container{max-width:780px;}
.cm-band h1.wp-block-heading{font-size:clamp(36px,5.4vw,62px);color:#fff;}
.cm-band p:not(.cm-eyebrow){color:rgba(255,255,255,.9);font-size:18px;max-width:620px;margin-inline:auto;}

/* Tira de confianza -------------------------------------------- */
.cm-tira{background:var(--cm-tinta);color:#fff;padding:0 var(--cm-lateral);}
.cm-tira .wp-block-columns{gap:0;}
.cm-tira-it{display:grid;grid-template-columns:30px 1fr;column-gap:14px;align-content:center;padding:28px 18px;}
.cm-tira-it::before{grid-row:span 2;width:30px;height:30px;align-self:center;color:var(--cm-hoja-cl);}
.cm-tira-it > *{margin:0 !important;grid-column:2;}
.cm-tira-it p:first-child{font-weight:700;font-size:15.5px;line-height:1.3;}
.cm-tira-it p + p{font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.4;}
.cm-tira-it + .cm-tira-it{border-left:1px solid rgba(255,255,255,.12);}

/* Historia: foto con sello + texto ----------------------------- */
.wp-block-columns.cm-split{column-gap:clamp(36px,6vw,72px);row-gap:44px;}
.cm-foto-sello{position:relative;}
.cm-foto-sello .wp-block-image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--cm-radio);box-shadow:var(--cm-sombra);}
.cm-sello{position:absolute;right:-22px;bottom:-26px;width:134px;height:134px;border-radius:50%;background:var(--cm-terracota);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:var(--cm-sombra);transform:rotate(-8deg);margin:0 !important;z-index:2;}
.cm-sello > *{margin:0 !important;}
.cm-sello p:first-child{font-family:var(--cm-serif);font-size:36px;line-height:1;}
.cm-sello p + p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:4px !important;max-width:92px;line-height:1.3;}
.cm-split .wp-block-heading{font-size:clamp(30px,3.8vw,44px);}
.cm-split p:not(.cm-eyebrow){color:#4b5445;}
.cm-split .wp-block-buttons{margin-top:30px;}
.cm-split .cm-sello p:not(.cm-eyebrow){color:#fff;}

/* Tarjetas (especialidades) ------------------------------------ */
.wp-block-columns.cm-cards{column-gap:26px;row-gap:26px;margin-top:52px;text-align:left;}
.cm-card{position:relative;background:var(--cm-blanco);border-radius:var(--cm-radio);overflow:hidden;border:1px solid var(--cm-borde);box-shadow:var(--cm-sombra-s);padding-bottom:28px;transition:transform .25s ease,box-shadow .25s ease;}
.cm-card:hover{transform:translateY(-6px);box-shadow:var(--cm-sombra);}
.cm-card .wp-block-image{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;}
.cm-card .wp-block-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.cm-card:hover .wp-block-image img{transform:scale(1.07);}
.cm-card .wp-block-image::before{content:'';position:absolute;left:20px;bottom:16px;width:46px;height:46px;border-radius:13px;background:var(--cm-blanco);box-shadow:0 8px 20px -8px rgba(0,0,0,.45);z-index:1;}
.cm-card .wp-block-image::after{content:'';position:absolute;left:32px;bottom:28px;width:22px;height:22px;z-index:2;background:var(--cm-salvia);-webkit-mask:var(--cm-ico) center/contain no-repeat;mask:var(--cm-ico) center/contain no-repeat;}
.cm-card > :not(.wp-block-image){padding-inline:24px;}
.cm-card > .wp-block-heading{font-size:23px;margin-top:22px;}
.cm-card > p{color:var(--cm-suave);font-size:15.5px;margin-top:8px;}

/* Apartados del plugin (bloque Shortcode dentro de cm-plugin) --- */
/* El plugin adopta la identidad del sitio: sus variables de fuente pasan a ser las del tema. */
.cm .km-app{--km-serif:var(--cm-serif);--km-sans:var(--cm-sans);--km-mono:var(--cm-sans);}
:is(.cm-tarjeta-plugin,.cm-zona-plugin) .km-seccion{padding:0;border-bottom:0;}
/* El plugin pone padding-top en línea en sus secciones: dentro de la página sobra. */
:is(.cm-plugin,.cm-tarjeta-plugin,.cm-zona-plugin) .km-seccion{padding-top:0 !important;}
.cm-plugin [data-o="media"]{margin-left:auto;}
:is(.cm-tarjeta-plugin,.cm-zona-plugin) .km-contenedor{padding:0;max-width:none;}
.cm-plugin{text-align:left;margin-top:40px;}
.cm-plugin .km-app.km-componente{background:transparent;border:0;border-radius:0;box-shadow:none;}
.cm-plugin .km-seccion{padding:0;border-bottom:0;}
.cm-plugin .km-contenedor{padding:0;}
.cm-tarjeta-plugin{background:var(--cm-blanco);border-radius:var(--cm-radio);padding:clamp(18px,3vw,28px);box-shadow:var(--cm-sombra);color:var(--cm-tinta);text-align:left;}
.cm-tarjeta-plugin .km-app.km-componente{background:transparent;border:0;box-shadow:none;}
.cm-zona-plugin{padding:clamp(40px,6vw,70px) var(--cm-lateral) clamp(66px,9vw,96px);}
.cm-zona-plugin > .wp-block-buttons{margin-bottom:26px;}

/* Galería ------------------------------------------------------ */
.wp-block-gallery.has-nested-images.cm-galeria{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:14px;margin-top:40px;}
.wp-block-gallery.has-nested-images.cm-galeria figure.wp-block-image:not(#individual-image){width:auto;margin:0;border-radius:12px;overflow:hidden;}
.wp-block-gallery.has-nested-images.cm-galeria figure.wp-block-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.wp-block-gallery.has-nested-images.cm-galeria figure.wp-block-image:hover img{transform:scale(1.08);}
.wp-block-gallery.cm-galeria .cm-g-alta{grid-row:span 2;}
.wp-block-gallery.cm-galeria .cm-g-ancha{grid-column:span 2;}

/* Reservar (Portada + cm-reservar) ----------------------------- */
.wp-block-cover.cm-reservar{padding:clamp(66px,9vw,104px) var(--cm-lateral);color:#fff;min-height:0;}
.cm-reservar .wp-block-cover__inner-container{max-width:var(--cm-ancho);}
.cm-reservar .wp-block-columns{column-gap:clamp(32px,5vw,60px);row-gap:36px;text-align:left;}
.cm-reservar .wp-block-heading{font-size:clamp(32px,4.2vw,48px);color:#fff;}
.cm-reservar p.cm-bajada{color:rgba(255,255,255,.84);}

/* Listas con icono (cada elemento puede llevar su cm-i-…) ------- */
ul.cm-lista-iconos{list-style:none;padding:0;margin-top:28px;display:flex;flex-direction:column;gap:16px;}
.cm-lista-iconos li{position:relative;padding-left:34px;font-size:16px;line-height:1.45;}
.cm-lista-iconos li::before{position:absolute;left:0;top:1px;width:21px;height:21px;color:var(--cm-salvia);}
.cm-reservar .cm-lista-iconos li::before{color:var(--cm-hoja-cl);}
.cm-lista-iconos li strong{display:block;font-size:16px;}
.cm-lista-iconos.cm-lista-detalle li{color:var(--cm-suave);font-size:15px;padding-left:38px;}
.cm-lista-iconos.cm-lista-detalle li strong{color:var(--cm-tinta);margin-bottom:2px;}

/* Contacto ----------------------------------------------------- */
.cm-contacto .wp-block-columns{column-gap:clamp(32px,5vw,56px);row-gap:36px;}
.cm-contacto .wp-block-heading{font-size:clamp(28px,3.6vw,42px);}
.cm-mapa{height:100%;min-height:360px;border-radius:var(--cm-radio);overflow:hidden;box-shadow:var(--cm-sombra);border:1px solid var(--cm-borde);background:var(--cm-crema-2);}
.cm-mapa iframe{display:block;width:100%;height:100%;min-height:360px;border:0;filter:saturate(.85);}

/* Datos rápidos (página Reservar) ------------------------------ */
.wp-block-columns.cm-datos-rapidos{gap:18px;margin-top:34px;}
.cm-info-it{position:relative;display:grid;grid-template-columns:46px 1fr;column-gap:14px;align-content:center;background:var(--cm-blanco);border:1px solid var(--cm-borde);border-radius:14px;padding:18px;}
.cm-info-it::before{grid-row:span 2;width:46px;height:46px;border-radius:12px;align-self:center;background:var(--cm-salvia);-webkit-mask:none;mask:none;}
.cm-info-it > *{margin:0 !important;grid-column:2;}
.cm-info-it p:first-child{font-weight:700;font-size:15.5px;line-height:1.3;}
.cm-info-it p + p{color:var(--cm-suave);font-size:14.5px;line-height:1.4;}
.cm-info-it::after{content:'';position:absolute;left:30px;top:50%;width:22px;height:22px;margin-top:-11px;background:#fff;-webkit-mask:var(--cm-ico) center/contain no-repeat;mask:var(--cm-ico) center/contain no-repeat;}

/* Franja CTA --------------------------------------------------- */
.cm-cta{background:var(--cm-salvia);color:#fff;text-align:center;position:relative;overflow:hidden;}
.cm-cta::before{content:'';position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:rgba(255,255,255,.07);-webkit-mask:var(--cm-i-hoja) center/contain no-repeat;mask:var(--cm-i-hoja) center/contain no-repeat;transform:rotate(18deg);}
.cm-cta .wp-block-heading{font-size:clamp(30px,4.2vw,46px);color:#fff;}
.cm-cta p.cm-bajada{color:rgba(255,255,255,.86);}
.cm-cta .wp-block-buttons{margin-top:28px;justify-content:center;}

/* Cabecera (patrón «Cabecera del sitio») ------------------------ */
.cm-header{position:fixed;top:0;left:0;right:0;z-index:900;padding:20px 0;transition:background .3s ease,box-shadow .3s ease,padding .3s ease;}
.admin-bar .cm-header{top:32px;}
.cm-header.cm-solid{background:rgba(255,253,248,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(0,0,0,.06);padding:12px 0;}
.cm-header-in{max-width:var(--cm-ancho);margin:0 auto;padding:0 var(--cm-lateral);display:flex;align-items:center;justify-content:space-between;gap:20px;}
.cm-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;transition:color .3s ease;}
.cm-header.cm-solid .cm-logo{color:var(--cm-tinta);}
.cm-logo-hoja{width:30px;height:30px;flex:none;color:var(--cm-salvia);}
.cm-header:not(.cm-solid) .cm-logo-hoja{color:var(--cm-hoja-cl);}
.cm-header .cm-logo,.cm-footer .cm-logo{color:#fff;}
.cm-header.cm-solid .cm-logo{color:var(--cm-tinta);}
.cm-logo > span{display:flex;flex-direction:column;line-height:1.15;}
.cm-logo b{font-family:var(--cm-serif);font-size:22px;font-weight:600;letter-spacing:-.01em;line-height:1.1;}
.cm-logo small{display:block;font-family:var(--cm-sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.75;font-weight:700;}
.cm-nav{display:flex;align-items:center;gap:30px;}
.cm-nav a{font-weight:600;font-size:15px;color:#fff;opacity:.92;text-decoration:none;position:relative;transition:opacity .2s,color .3s;}
.cm-header.cm-solid .cm-nav a{color:var(--cm-tinta);}
.cm-nav a:hover,.cm-nav a.cm-actual{opacity:1;}
.cm-nav a:not(.cm-nav-cta)::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;opacity:.6;}
.cm-nav a:not(.cm-nav-cta):hover::after,.cm-nav a.cm-actual::after{transform:scaleX(1);}
.cm-nav a.cm-nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--cm-salvia);color:#fff !important;opacity:1;padding:10px 20px;border-radius:999px;font-weight:700;font-size:14.5px;box-shadow:0 12px 26px -14px rgba(95,122,79,.9);transition:transform .18s ease,background .18s ease;}
.cm-nav a.cm-nav-cta:hover{background:var(--cm-salvia-osc);transform:translateY(-2px);}
.cm-nav-cta svg{width:17px;height:17px;}
.cm-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;color:#fff;}
.cm-header.cm-solid .cm-burger{color:var(--cm-tinta);}
.cm-burger svg{width:26px;height:26px;display:block;}
.cm-nav-fondo{display:none;}

/* Pie (patrón «Pie del sitio») --------------------------------- */
.cm-footer{background:var(--cm-tinta);color:rgba(255,255,255,.72);padding:72px var(--cm-lateral) 34px;}
.cm-footer .wp-block-columns{column-gap:40px;row-gap:32px;}
.cm-footer .wp-block-heading{font-family:var(--cm-sans);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 16px;}
.cm-footer .cm-logo{color:#fff;margin-bottom:16px;}
.cm-footer .cm-logo-hoja{color:var(--cm-hoja-cl);}
.cm-footer p{font-size:14.5px;line-height:1.7;}
.cm-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:14.5px;}
.cm-footer a{color:inherit;text-decoration:none;transition:color .2s;}
.cm-footer a:hover{color:#fff;}
.cm-redes{display:flex;gap:12px;margin-top:14px;}
.cm-redes a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:background .2s;}
.cm-redes a:hover{background:var(--cm-salvia);}
.cm-redes svg{width:18px;height:18px;color:#fff;}
.cm-footer-fin{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:24px;font-size:13px;color:rgba(255,255,255,.5);}
.cm-footer-fin p{font-size:13px;margin:0;}
.cm-footer-fin strong{color:var(--cm-hoja-cl);}

/* Aparición al hacer scroll (solo con JS en la web pública) ---- */
.cm-js .cm-reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease;}
.cm-js .cm-reveal.cm-visible{opacity:1;transform:none;}
.cm-js .wp-block-columns.cm-reveal > .wp-block-column{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.cm-js .wp-block-columns.cm-reveal{opacity:1;transform:none;}
.cm-js .wp-block-columns.cm-reveal.cm-visible > .wp-block-column{opacity:1;transform:none;}
.cm-js .wp-block-columns.cm-reveal.cm-visible > .wp-block-column:nth-child(2){transition-delay:.12s;}
.cm-js .wp-block-columns.cm-reveal.cm-visible > .wp-block-column:nth-child(3){transition-delay:.24s;}
.cm-js .wp-block-columns.cm-reveal.cm-visible > .wp-block-column:nth-child(4){transition-delay:.36s;}
@media (prefers-reduced-motion:reduce){
  .cm-js .cm-reveal,.cm-js .wp-block-columns.cm-reveal > .wp-block-column{opacity:1;transform:none;transition:none;}
  .cm-hero::after,.cm-hero .wp-block-cover__image-background{animation:none;}
}

/* Responsive --------------------------------------------------- */
@media (max-width:960px){
  .wp-block-columns.cm-cards{flex-wrap:wrap !important;}
  .wp-block-columns.cm-cards > .wp-block-column{flex-basis:calc(50% - 13px) !important;flex-grow:0;}
  .cm-tira .wp-block-columns{flex-wrap:wrap !important;}
  .cm-tira .wp-block-columns > .cm-tira-it{flex-basis:50% !important;flex-grow:0;}
  .cm-tira-it:nth-child(3){border-left:0;}
  .cm-sello{width:110px;height:110px;right:14px;bottom:-22px;}
  .cm-nav{gap:22px;}
}
@media (max-width:781px){
  .admin-bar .cm-header{top:46px;}
  .wp-block-columns.cm-cards > .wp-block-column{flex-basis:100% !important;}
  .cm-tira .wp-block-columns > .cm-tira-it{flex-basis:100% !important;}
  .cm-tira-it + .cm-tira-it{border-left:0;border-top:1px solid rgba(255,255,255,.12);}
  .cm-tira-it{padding:16px 6px;}
  .cm-nav{position:fixed;inset:0 0 0 auto;width:min(82vw,320px);height:100vh;background:var(--cm-blanco);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:92px 28px 28px;transform:translateX(100%);transition:transform .3s ease;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);z-index:2;}
  .cm-nav.cm-abierto{transform:none;}
  .cm-nav a{color:var(--cm-tinta) !important;font-size:19px;padding:8px 0;width:100%;}
  .cm-nav a.cm-nav-cta{margin-top:14px;justify-content:center;font-size:16px;padding:14px 20px;}
  .cm-burger{display:block;position:relative;z-index:3;}
  .cm-header:has(.cm-nav.cm-abierto) .cm-burger{color:var(--cm-tinta);}
  .cm-nav-fondo{display:block;position:fixed;inset:0;background:rgba(30,36,26,.5);z-index:850;opacity:0;visibility:hidden;transition:.3s;}
  .cm-nav-fondo.cm-abierto{opacity:1;visibility:visible;}
  .wp-block-gallery.has-nested-images.cm-galeria{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}
  .cm-mapa,.cm-mapa iframe{min-height:300px;}
}
