@import url('/assets/styles.css');
:root{
  --accent:#6c47ff;
  --font-heading:system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:system-ui,-apple-system,"Segoe UI",sans-serif;
  --k-radius:14px;
  --k-radius-sm:calc(var(--k-radius) * 0.6);
  --k-radius-lg:calc(var(--k-radius) * 1.35);
  --k-btn-radius:999px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-y:scroll;scrollbar-gutter:stable}
body{margin:0;font-family:var(--font-body,system-ui,-apple-system,sans-serif);color:#1a1a22;line-height:1.6;background:#fff}
img{max-width:100%;display:block}
a{color:inherit}
.k-container{width:min(1120px,calc(100% - 2.5rem));margin-inline:auto}
.k-center{text-align:center}
.k-btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;padding:.85rem 1.6rem;border-radius:var(--k-btn-radius,999px);transition:transform .15s,filter .15s}
.k-btn:hover{transform:translateY(-2px);filter:brightness(1.1)}
.k-btn--sm{padding:.5rem 1.1rem;font-size:.9rem}
h1,h2,h3,h4,.k-font-heading{font-family:var(--font-heading,var(--font-body,inherit));line-height:1.15;margin:0 0 .6em}
/* Las citas destacadas (manifiesto, testimonios) son titulares: misma familia
   que el resto, para que el par tipografico de Diseno las alcance tambien. */
blockquote{font-family:var(--font-heading,var(--font-body,inherit))}
h1{font-size:clamp(2.2rem,6vw,4.5rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}
.k-logo{font-family:var(--font-heading)}

/* Menú */
.k-header{background:#fff;border-bottom:1px solid #eee;position:relative;z-index:90;transition:background .25s ease,padding .2s ease,border-color .2s ease,box-shadow .2s ease}
.k-header__in{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1rem;position:relative;transition:padding-block .2s ease}
.k-logo{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.3rem;text-decoration:none;color:inherit;flex-shrink:0}
.k-logo-img{height:var(--k-logo-h,34px);width:auto;max-width:min(100%,360px);border-radius:6px;object-fit:contain}
.k-nav{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-left:auto}
.k-nav a:not(.k-btn){text-decoration:none;opacity:.8;color:inherit;transition:opacity .15s}.k-nav a:not(.k-btn):hover{opacity:1}
.k-header--left .k-header__in{justify-content:space-between}
.k-header--left .k-nav{margin-left:auto}
.k-header--center .k-header__in{flex-direction:column;gap:.8rem;justify-content:center;text-align:center}
.k-header--center .k-nav{margin-left:0;justify-content:center}
.k-header--right .k-header__in{flex-direction:row-reverse;justify-content:space-between}
.k-header--right .k-nav{margin-left:0;margin-right:auto}

/* Header Transparente sobre el Hero */
.k-header--overlay{position:absolute;top:0;left:0;right:0;width:100%;background:transparent;border:0;color:#fff;z-index:100}
.k-header--overlay .k-nav a:not(.k-btn){opacity:.92;color:#fff}
.k-header--overlay .k-nav a:not(.k-btn):hover{opacity:1}

/* Cuando tiene sticky / sigue al usuario o se hace scroll */
.k-header--overlay.k-header--sticky,
.k-header--overlay.is-scrolled{position:fixed;top:0;left:0;width:100%;z-index:999}

/* Cuando se hace scroll y nos sigue con fondo (estilo home-fusion) */
.k-header--overlay.is-scrolled{
  background:rgba(19,23,28,.95)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 25px rgba(0,0,0,.18);
}
.k-header--overlay.is-scrolled .k-header__in{padding-block:.75rem}

/* Para cabeceras normales cuando se hace scroll */
.k-header:not(.k-header--overlay).is-scrolled{
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  border-bottom-color:rgba(0,0,0,.08);
}

/* Botón hamburguesa móvil */
.k-burger{display:none;background:none;border:0;padding:.5rem;cursor:pointer;flex-direction:column;gap:5px;z-index:50}
.k-burger span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.k-burger.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.k-burger.is-active span:nth-child(2){opacity:0}
.k-burger.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Menú anidado / Submenús */
.k-menu-item{position:relative;display:inline-flex;align-items:center}
.k-dropdown-toggle{display:inline-flex;align-items:center;gap:.3rem}
.k-arrow{font-size:.7rem;opacity:.7;transition:transform .2s ease}
.k-dropdown-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:200px;
  background:#fff;
  color:#1a1a22;
  border:1px solid #e5e5ee;
  border-radius:10px;
  padding:.4rem 0;
  box-shadow:0 10px 25px rgb(0 0 0/.1);
  z-index:60;
  margin-top:.4rem;
}
.k-dropdown-menu::before{content:"";position:absolute;top:-8px;left:0;right:0;height:8px}
.k-header--right .k-dropdown-menu{left:auto;right:0}
.k-has-dropdown:hover > .k-dropdown-menu,
.k-has-dropdown:focus-within > .k-dropdown-menu{display:flex;flex-direction:column}
.k-has-dropdown:hover .k-arrow{transform:rotate(180deg)}
.k-sublink{padding:.5rem 1rem!important;font-size:.9rem;white-space:nowrap;display:block;text-decoration:none;color:#1a1a22}
.k-sublink:hover{background:#f3f4f8;color:var(--accent)}

@media (max-width:760px){
  .k-burger{display:flex}
  .k-header--center .k-header__in{flex-direction:row}
  .k-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    color:#1a1a22;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:1rem 1.25rem 1.5rem;
    box-shadow:0 14px 30px rgb(0 0 0/.12);
    border-bottom:1px solid #eee;
  }
  .k-header--overlay .k-nav{background:#1a1a22;color:#fff;border-bottom-color:#333}
  .k-nav.is-open{display:flex}
  .k-nav a{padding:.75rem 0;border-bottom:1px solid rgb(0 0 0/.06);font-size:1.05rem}
  .k-header--overlay .k-nav a{border-bottom-color:rgb(255 255 255/.1)}
  .k-nav a.k-btn{margin-top:.75rem;text-align:center;border-bottom:0}

  .k-menu-item{display:flex;flex-direction:column;align-items:stretch;border-bottom:1px solid rgb(0 0 0/.06)}
  .k-menu-item a{border-bottom:0}
  .k-dropdown-menu{position:static;display:flex!important;flex-direction:column;box-shadow:none;border:0;border-left:2px solid var(--accent);background:transparent;padding:0 0 .5rem 1rem;border-radius:0}
  .k-header--overlay .k-dropdown-menu{color:#fff}
  .k-header--overlay .k-sublink:hover{background:rgb(255 255 255/.1)}
  .k-arrow{display:none}
}
.k-lead{font-size:1.25rem;font-weight:500;line-height:1.4;margin:0 0 .8em;opacity:.9}


/* Hero */
.k-hero{position:relative;background-color:#0b0c10;background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;overflow:hidden}
.k-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;pointer-events:none;will-change:opacity,transform}
.k-hero__veil{position:absolute;inset:0;background:#000;opacity:.45;z-index:1;pointer-events:none}
.k-hero .k-container{position:relative;z-index:2}
.k-hero__btns{display:flex;gap:.8rem;flex-wrap:wrap}
.k-hero--plain .k-hero__btns,.k-blk[data-align=center] .k-hero__btns{justify-content:center}
.k-blk[data-align=right] .k-hero__btns{justify-content:flex-end}
.k-btn--ghost{background:transparent;border:2px solid currentColor;color:inherit;padding:calc(.85rem - 2px) calc(1.6rem - 2px)}
.k-hero__text p{font-size:1.2rem;max-width:42rem;margin:0 0 1.8rem;opacity:.92}
.k-hero--full{min-height:100vh;padding:6rem 0 4rem}
.k-hero--compact{min-height:380px;padding:5rem 0 3rem}
.k-hero--plain{background:#f5f4ff;color:#1a1a22;padding:6rem 0;text-align:center}
.k-hero--plain .k-hero__text p{margin-inline:auto}
.k-hero--split{background:#f5f4ff;color:#1a1a22;padding:4rem 0}
.k-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.k-hero__grid img{border-radius:var(--k-radius-lg,20px);aspect-ratio:4/3;object-fit:cover;width:100%;will-change:opacity,transform}
.k-hero__grid:has(.k-hero-anim--float) .k-zoom{overflow:visible}

/* Animaciones de estado reposo para la imagen de Hero */
@keyframes k-hero-fade {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}
@keyframes k-hero-fade-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.65; }
}
@keyframes k-hero-fade-zoom {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(1.06); }
}
@keyframes k-hero-zoom-slow {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}
@keyframes k-hero-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.k-hero-anim--fade {
  animation: k-hero-fade var(--k-hero-dur, 6s) ease-in-out infinite;
}
.k-hero-anim--fade-subtle {
  animation: k-hero-fade-subtle var(--k-hero-dur, 6s) ease-in-out infinite;
}
.k-hero-anim--fade-zoom {
  animation: k-hero-fade-zoom var(--k-hero-dur, 7s) ease-in-out infinite;
}
.k-hero-anim--zoom-slow {
  animation: k-hero-zoom-slow var(--k-hero-dur, 8s) ease-in-out infinite;
}
.k-hero-anim--float {
  animation: k-hero-float var(--k-hero-dur, 4.5s) ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .k-hero-anim--fade,
  .k-hero-anim--fade-subtle,
  .k-hero-anim--fade-zoom,
  .k-hero-anim--zoom-slow,
  .k-hero-anim--float {
    animation: none !important;
  }
}

/* Secciones */
.k-section{padding:5rem 0}
.k-text--center .k-container{text-align:center}
.k-text--narrow .k-container{max-width:680px}
.k-grid{display:grid;gap:1.5rem;margin-top:2.5rem}
.k-grid--three{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.k-grid--two{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.k-grid--list{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
.k-card{background:#fff;border:1px solid #e8e8ef;border-radius:var(--k-radius,16px);padding:1.6rem}
.k-image{margin:0;padding:2.5rem 0}
.k-image--wide{padding:0}
.k-image__inner{display:flex;flex-direction:column}
.k-image--align-center .k-image__inner{align-items:center}
.k-image--align-left .k-image__inner{align-items:flex-start}
.k-image--align-right .k-image__inner{align-items:flex-end}
.k-image__wrap{display:inline-block;max-width:100%;position:relative}
.k-image__wrap a{display:block;color:inherit;text-decoration:none}
.k-image__wrap a:hover img{filter:brightness(1.03)}
.k-image img{display:block;max-width:100%;height:auto;border-radius:var(--k-radius,16px);transition:transform .2s ease,box-shadow .2s ease}

/* Sombras estilo WordPress */
.k-image--shadow-none img{box-shadow:none}
.k-image--shadow-sm img{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.k-image--shadow-md img{box-shadow:0 12px 30px rgba(0,0,0,.13)}
.k-image--shadow-lg img{box-shadow:0 24px 50px rgba(0,0,0,.18)}

/* Esquinas y bordes */
.k-image--radius-none img{border-radius:0!important}
.k-image--radius-sm img{border-radius:8px!important}
.k-image--radius-md img{border-radius:16px!important}
.k-image--radius-lg img{border-radius:28px!important}
.k-image--radius-pill img{border-radius:999px!important}

/* Ancho completo */
.k-image--wide .k-image__wrap{width:100%!important}
.k-image--wide img{border-radius:0!important;max-height:75vh;width:100%!important;object-fit:cover}

/* Pie de foto */
.k-image figcaption{text-align:center;font-size:.88rem;color:#717488;margin-top:.75rem;line-height:1.4}
.k-image--align-left figcaption{text-align:left}
.k-image--align-right figcaption{text-align:right}
.k-cta{text-align:center}
.k-cta--banner{background:var(--accent);color:#fff}
.k-cta--banner .k-btn{background:#fff;color:var(--accent)}
.k-cta--simple{background:#fafafa}
.k-footer{background:#14141b;color:#c9c9d6;padding:2rem 0;font-size:.9rem}
.k-footer .k-container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.k-footer nav{display:flex;gap:1.2rem}
.k-footer--simple .k-container{justify-content:center}

@media (max-width:760px){.k-hero__grid{grid-template-columns:1fr}.k-header--right .k-header__in{flex-direction:row}}

/* ---- Ajustes comunes de bloque (.k-blk) ---- */
.k-blk{position:relative}
.k-sticky{position:sticky;top:0;z-index:30}
.k-blk[data-bg]>*{background:var(--blk-bg)}
.k-blk[data-fg]{color:var(--blk-fg)}
.k-blk[data-fg]>*{color:var(--blk-fg)}
/* Tipografía por bloque: se redefine la variable y la base del bloque, así la
   heredan todos sus titulares sin listas de selectores ni !important. */
.k-blk[data-font="apercu"]{--font-heading:"Apercu Pro",ui-sans-serif,system-ui,sans-serif;font-family:"Apercu Pro",ui-sans-serif,system-ui,sans-serif}
.k-blk[data-font="inter"]{--font-heading:'Inter',system-ui,sans-serif;font-family:'Inter',system-ui,sans-serif}
.k-blk[data-font="jakarta"]{--font-heading:'Plus Jakarta Sans',system-ui,sans-serif;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.k-blk[data-font="editorial"]{--font-heading:'Playfair Display',Georgia,serif;font-family:'Source Sans 3',system-ui,sans-serif}
.k-blk[data-font="grotesk"]{--font-heading:'Space Grotesk',system-ui,sans-serif;font-family:'Inter',system-ui,sans-serif}
.k-blk[data-font="outfit"]{--font-heading:'Outfit',system-ui,sans-serif;font-family:'DM Sans',system-ui,sans-serif}
.k-blk[data-font="system"]{--font-heading:system-ui,-apple-system,sans-serif;font-family:system-ui,-apple-system,sans-serif}
.k-blk[data-pad=none]>:where(section,figure,header,footer){padding-block:0}
.k-blk[data-pad=sm]>:where(section,figure,header,footer){padding-block:2rem}
.k-blk[data-pad=md]>:where(section,figure,header,footer){padding-block:4rem}
.k-blk[data-pad=lg]>:where(section,figure,header,footer){padding-block:6.5rem}
.k-blk[data-pad=xl]>:where(section,figure,header,footer){padding-block:9rem}
.k-blk[data-w=narrow] .k-container{width:min(720px,calc(100% - 2.5rem))}
.k-blk[data-w=wide] .k-container{width:min(1400px,calc(100% - 2.5rem))}
.k-blk[data-w=full] .k-container{width:calc(100% - 2.5rem)}
.k-blk[data-align=left]{text-align:left}.k-blk[data-align=center]{text-align:center}.k-blk[data-align=right]{text-align:right}
.k-blk[data-align=center] :where(.k-hero__text p,.k-gridx__head p){margin-inline:auto}
.k-blk[data-align=right] :where(.k-hero__text p,.k-gridx__head p){margin-left:auto}
.k-blk[data-align=center] .k-header__in,.k-blk[data-align=right] .k-header__in{justify-content:inherit}
@media (min-width:761px){.k-hide-d{display:none}}
@media (max-width:760px){.k-hide-m{display:none}}

/* ---- Cuadrícula ---- */
.k-gridx__head{margin-bottom:2.2rem;text-align:center}
.k-gridx__head p{max-width:42rem;margin:0 auto;opacity:.75}
.k-gridx__g{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:1.5rem}
.k-gridx__g[data-gap=sm]{gap:.8rem}.k-gridx__g[data-gap=lg]{gap:2.6rem}
.k-cell{grid-column:span var(--span,1);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.k-cell__img{width:100%;display:block}
.k-cell__body{padding:1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.k-cell__body h3{margin:0;font-size:1.2rem}.k-cell__body p{margin:0}
.k-cell__icon{font-size:2rem;line-height:1}
.k-cell__link{margin-top:auto;padding-top:.6rem;font-weight:600;color:var(--accent)}
.k-gridx--cards .k-cell{background:#fff;border:1px solid #e8e8ef;border-radius:16px}
.k-gridx--plain .k-cell__body{padding:.4rem 0}
.k-gridx--plain .k-cell__img{border-radius:12px}
.k-gridx--filled .k-cell{background:var(--accent);color:#fff;border-radius:16px}
.k-gridx--filled .k-cell__link{color:#fff;text-decoration:underline}
.k-gridx--stats .k-cell{text-align:center;padding:1.6rem 1rem;align-items:center;gap:.2rem}
.k-gridx--stats .k-cell__num{font-family:var(--font-heading,var(--font-body,inherit));font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.1;color:var(--accent)}
.k-gridx--stats .k-cell p{margin:0;opacity:.75}
@media (max-width:900px){
  .k-gridx__g:not([data-cols="1"]){grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-cell{grid-column:auto}
}
@media (max-width:600px){.k-gridx__g{grid-template-columns:minmax(0,1fr)!important}}

/* ---- Zoom contenedor de imágenes ---- */
.k-zoom{overflow:hidden;border-radius:16px}
.k-zoom img{border-radius:0!important;width:100%}
.k-image--wide .k-zoom{border-radius:0}
.k-hero__grid .k-zoom{border-radius:20px}

/* ---- Animaciones de aparición ---- */
[data-anim]{--ax:0px;--ay:0px;--as:1;--ab:0px}
[data-anim=fade-up]{--ay:32px}[data-anim=fade-down]{--ay:-32px}
[data-anim=fade-left]{--ax:48px}[data-anim=fade-right]{--ax:-48px}
[data-anim=zoom-in]{--as:.88}[data-anim=blur-in]{--ab:12px}
[data-dur=fast]{--dur:.4s}[data-dur=slow]{--dur:1.1s}
.k-js [data-anim]:not([data-stagger]):not(.is-in),
.k-js [data-anim][data-stagger]:not(.is-in) :is(.k-cell,.k-card,.k-hero__text>*){opacity:0;transform:translate(var(--ax),var(--ay)) scale(var(--as));filter:blur(var(--ab))}
.k-js [data-anim]:not([data-stagger]):not(.is-done),
.k-js [data-anim][data-stagger]:not(.is-done) :is(.k-cell,.k-card,.k-hero__text>*){
  transition:opacity var(--dur,.7s) ease,transform var(--dur,.7s) cubic-bezier(.2,.7,.2,1),filter var(--dur,.7s) ease;
  transition-delay:calc(var(--delay,0ms) + var(--i,0) * 90ms)}

/* ---- Efectos hover ---- */
.k-card,.k-cell,.k-cell__img,.k-zoom img{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,filter .3s ease}
.k-blk[data-h-card=lift] :is(.k-card,.k-cell):hover{transform:translateY(-8px);box-shadow:0 18px 40px rgb(0 0 0/.14)}
.k-blk[data-h-card=scale] :is(.k-card,.k-cell):hover{transform:scale(1.04);box-shadow:0 12px 30px rgb(0 0 0/.12)}
.k-blk[data-h-card=glow] :is(.k-card,.k-cell):hover{box-shadow:0 0 0 2px var(--accent),0 10px 40px color-mix(in srgb,var(--accent) 40%,transparent)}
.k-blk[data-h-card=border] :is(.k-card,.k-cell):hover{border-color:var(--accent)!important;box-shadow:inset 0 0 0 1px var(--accent)}
.k-blk[data-h-btn=lift] .k-btn:hover{transform:translateY(-5px);box-shadow:0 10px 24px rgb(0 0 0/.2)}
.k-blk[data-h-btn=scale] .k-btn:hover{transform:scale(1.08)}
.k-blk[data-h-btn=glow] .k-btn:hover{transform:none;box-shadow:0 0 28px color-mix(in srgb,var(--accent) 70%,transparent)}
.k-blk[data-h-btn=bounce] .k-btn:hover{animation:k-bounce .55s}
@keyframes k-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-9px)}55%{transform:translateY(0)}75%{transform:translateY(-4px)}}
.k-blk[data-h-img=zoom] :is(.k-zoom,.k-cell):hover img{transform:scale(1.08)}
.k-blk[data-h-img=color] :is(.k-zoom,.k-cell) img{filter:grayscale(1)}
.k-blk[data-h-img=color] :is(.k-zoom,.k-cell):hover img{filter:none}
.k-blk[data-h-img=bright] :is(.k-zoom,.k-cell):hover img{filter:brightness(1.15) saturate(1.1)}
.k-blk[data-h-img=tilt] :is(.k-zoom,.k-cell):hover img{transform:rotate(-2deg) scale(1.08)}

/* ---- Estilos de Botones Personalizados por Bloque ---- */
/* --- Botón Principal (Botón 1) --- */
.k-blk[data-btn=solid] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: var(--accent) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--accent) 30%, transparent) !important;
}
.k-blk[data-btn=solid] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn=ghost] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: transparent !important;
  color: inherit !important;
  border: 2px solid currentColor !important;
  box-shadow: none !important;
}
.k-blk[data-btn=ghost] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: color-mix(in srgb, currentColor 14%, transparent) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn=soft] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: color-mix(in srgb, var(--accent) 15%, transparent) !important;
  color: var(--accent) !important;
  border: 2px solid transparent !important;
  box-shadow: none !important;
}
.k-blk[data-btn=soft] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: color-mix(in srgb, var(--accent) 26%, transparent) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn=white] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 2px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn=white] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: #f8fafc !important;
  color: var(--accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18) !important;
}

.k-blk[data-btn=dark] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: #0f172a !important;
  color: #ffffff !important;
  border: 2px solid #1e293b !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.25) !important;
}
.k-blk[data-btn=dark] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: #1e293b !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.35) !important;
}

.k-blk[data-btn=glass] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: inherit !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn=glass] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: rgba(255, 255, 255, 0.26) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn=gradient] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 65%, #000)) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent) !important;
}
.k-blk[data-btn=gradient] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  filter: brightness(1.12) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 26px color-mix(in srgb, var(--accent) 45%, transparent) !important;
}

.k-blk[data-btn="3d"] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: var(--accent) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-bottom: 4px solid color-mix(in srgb, var(--accent) 60%, #000) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn="3d"] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  filter: brightness(1.08) !important;
}
.k-blk[data-btn="3d"] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):active {
  transform: translateY(2px) !important;
  border-bottom-width: 2px !important;
}

.k-blk[data-btn=minimal] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  border-bottom: 2px solid currentColor !important;
  border-radius: 0 !important;
  padding: .5rem .2rem !important;
  box-shadow: none !important;
}
.k-blk[data-btn=minimal] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
  transform: translateY(-1px);
}

/* Forma del botón principal */
.k-blk[data-btn-shape=pill] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) { border-radius: 999px !important; }
.k-blk[data-btn-shape=rounded] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) { border-radius: 10px !important; }
.k-blk[data-btn-shape=soft-round] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) { border-radius: 6px !important; }
.k-blk[data-btn-shape=square] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) { border-radius: 0 !important; }

/* Colores personalizados - Botón Principal */
.k-blk[data-btn-bg] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  background: var(--btn-bg) !important;
}
.k-blk[data-btn-fg] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  color: var(--btn-fg) !important;
}
.k-blk[data-btn-border] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)) {
  border: 2px solid var(--btn-border) !important;
}

/* Colores en Hover - Botón Principal */
.k-blk[data-btn-h-bg] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  background: var(--btn-h-bg) !important;
}
.k-blk[data-btn-h-fg] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  color: var(--btn-h-fg) !important;
}
.k-blk[data-btn-h-border] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover {
  border-color: var(--btn-h-border) !important;
}

/* --- Botón Secundario (Botón 2) --- */
.k-blk[data-btn2=solid] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: var(--accent) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--accent) 30%, transparent) !important;
}
.k-blk[data-btn2=solid] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn2=ghost] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: transparent !important;
  color: inherit !important;
  border: 2px solid currentColor !important;
  box-shadow: none !important;
}
.k-blk[data-btn2=ghost] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: color-mix(in srgb, currentColor 14%, transparent) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn2=soft] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: color-mix(in srgb, var(--accent) 15%, transparent) !important;
  color: var(--accent) !important;
  border: 2px solid transparent !important;
  box-shadow: none !important;
}
.k-blk[data-btn2=soft] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: color-mix(in srgb, var(--accent) 26%, transparent) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn2=white] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 2px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn2=white] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: #f8fafc !important;
  color: var(--accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.18) !important;
}

.k-blk[data-btn2=dark] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: #0f172a !important;
  color: #ffffff !important;
  border: 2px solid #1e293b !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.25) !important;
}
.k-blk[data-btn2=dark] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: #1e293b !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.35) !important;
}

.k-blk[data-btn2=glass] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: rgba(255, 255, 255, 0.16) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: inherit !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn2=glass] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: rgba(255, 255, 255, 0.26) !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  transform: translateY(-2px);
}

.k-blk[data-btn2=gradient] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 65%, #000)) !important;
  color: #ffffff !important;
  border: 2px solid transparent !important;
  box-shadow: 0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent) !important;
}
.k-blk[data-btn2=gradient] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  filter: brightness(1.12) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 26px color-mix(in srgb, var(--accent) 45%, transparent) !important;
}

.k-blk[data-btn2="3d"] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: var(--accent) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-bottom: 4px solid color-mix(in srgb, var(--accent) 60%, #000) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}
.k-blk[data-btn2="3d"] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  filter: brightness(1.08) !important;
}
.k-blk[data-btn2="3d"] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):active {
  transform: translateY(2px) !important;
  border-bottom-width: 2px !important;
}

.k-blk[data-btn2=minimal] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: transparent !important;
  color: inherit !important;
  border: 0 !important;
  border-bottom: 2px solid currentColor !important;
  border-radius: 0 !important;
  padding: .5rem .2rem !important;
  box-shadow: none !important;
}
.k-blk[data-btn2=minimal] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  color: var(--accent) !important;
  border-bottom-color: var(--accent) !important;
  transform: translateY(-1px);
}

/* Forma del botón secundario */
.k-blk[data-btn2-shape=pill] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) { border-radius: 999px !important; }
.k-blk[data-btn2-shape=rounded] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) { border-radius: 10px !important; }
.k-blk[data-btn2-shape=soft-round] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) { border-radius: 6px !important; }
.k-blk[data-btn2-shape=square] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) { border-radius: 0 !important; }

/* Colores personalizados - Botón Secundario */
.k-blk[data-btn2-bg] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  background: var(--btn2-bg) !important;
}
.k-blk[data-btn2-fg] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  color: var(--btn2-fg) !important;
}
.k-blk[data-btn2-border] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)) {
  border: 2px solid var(--btn2-border) !important;
}

/* Colores en Hover - Botón Secundario */
.k-blk[data-btn2-h-bg] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  background: var(--btn2-h-bg) !important;
}
.k-blk[data-btn2-h-fg] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  color: var(--btn2-h-fg) !important;
}
.k-blk[data-btn2-h-border] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  border-color: var(--btn2-h-border) !important;
}

/* Hover con colores personalizados */
.k-blk[data-btn-bg] :is(.k-btn--1, .k-hero__btns > .k-btn:first-child, .k-btn:not(.k-btn--2)):hover,
.k-blk[data-btn2-bg] :is(.k-btn--2, .k-hero__btns > .k-btn:nth-child(2)):hover {
  filter: brightness(1.1) !important;
  transform: translateY(-2px);
}

/* Tamaños de botones en el bloque */
.k-blk[data-btn-size=sm] .k-btn {
  padding: .5rem 1.15rem !important;
  font-size: .88rem !important;
}
.k-blk[data-btn-size=lg] .k-btn {
  padding: 1.05rem 2.25rem !important;
  font-size: 1.15rem !important;
}

@media (prefers-reduced-motion:reduce){
  .k-blk *,.k-blk{transition:none!important;animation:none!important}
  .k-blk :is(.k-card,.k-cell,.k-btn,img):hover{transform:none!important}
}

/* ---- Cabecera de sección común ---- */
.k-sec-head{text-align:center;max-width:760px;margin:0 auto 2.5rem}
.k-sec-head h1,.k-sec-head h2,.k-sec-head h3{margin:0 0 .5rem}
.k-sec-head p{font-size:1.1rem;opacity:.75;margin:0}

/* ---- FAQ (Preguntas Frecuentes) ---- */
.k-faq__list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:.8rem}
.k-faq--two-col .k-faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1040px}
.k-faq__item{background:#fff;border:1px solid #e5e5ee;border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.k-faq__item:hover{border-color:var(--accent)}
.k-faq__item[open]{box-shadow:0 6px 20px rgb(0 0 0/.06);border-color:var(--accent)}
.k-faq__q{padding:1.1rem 1.4rem;font-weight:700;font-size:1.05rem;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;user-select:none}
.k-faq__q::-webkit-details-marker{display:none}
.k-faq__icon{font-size:1.3rem;font-weight:400;color:var(--accent);transition:transform .2s ease;line-height:1;flex-shrink:0}
.k-faq__item[open] .k-faq__icon{transform:rotate(45deg)}
.k-faq__a{padding:0 1.4rem 1.2rem;opacity:.85;font-size:.95rem;line-height:1.6;border-top:1px solid #f3f3f8;margin-top:.4rem;padding-top:.8rem}
.k-faq__a p{margin:0 0 .6rem}.k-faq__a p:last-child{margin:0}
.k-faq__card{background:#fff;border:1px solid #e5e5ee;border-radius:12px;padding:1.4rem}
.k-faq__card-title{margin:0 0 .6rem;font-size:1.1rem}

/* ---- Testimonios ---- */
.k-testi__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem}
.k-testi--cards .k-testi__card{background:#fff;border:1px solid #e5e5ee;border-radius:16px;padding:1.8rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 4px 16px rgba(0,0,0,.03)}
.k-testi--quote .k-testi__grid{display:flex;flex-direction:column;align-items:center;max-width:820px;margin:0 auto;gap:2.5rem}
.k-testi--quote .k-testi__card{background:transparent;border:0;padding:0;text-align:center;align-items:center}
.k-testi--quote .k-testi__stars{justify-content:center}
.k-testi--quote .k-testi__quote{font-size:1.45rem;font-weight:500;line-height:1.55;font-style:italic}
.k-testi--quote .k-testi__author{justify-content:center;text-align:left}
.k-testi--minimal .k-testi__grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2rem}
.k-testi--minimal .k-testi__card{background:transparent;border:0;border-left:3px solid var(--accent);padding:0 0 0 1.2rem;border-radius:0}
.k-testi--minimal .k-testi__quote{font-size:1rem;opacity:.9}
.k-testi__stars{color:#f5a524;font-size:1.1rem;margin-bottom:.8rem;letter-spacing:2px;display:flex;gap:2px}
.k-testi__quote{margin:0 0 1.4rem;font-size:1.02rem;line-height:1.6;font-style:italic;opacity:.9}
.k-testi__author{display:flex;align-items:center;gap:.8rem}
.k-testi__av{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0}
.k-testi__author b{display:block;font-size:.95rem}
.k-testi__author span{font-size:.85rem;opacity:.7}

/* ---- Precios y Planes ---- */
.k-price__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem;align-items:stretch}
.k-price__card{background:#fff;border:1px solid #e5e5ee;border-radius:18px;padding:2rem 1.8rem;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s}
.k-price__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .8rem;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}
.k-price__name{margin:0 0 .3rem;font-size:1.3rem}
.k-price__desc{margin:0 0 1.2rem;font-size:.9rem;opacity:.7;min-height:2.6em}
.k-price__val{display:flex;align-items:baseline;gap:.3rem;margin-bottom:1.5rem}
.k-price__num{font-family:var(--font-heading,var(--font-body,inherit));font-size:2.8rem;font-weight:800;line-height:1;color:var(--accent)}
.k-price__per{font-size:.95rem;opacity:.7}
.k-price__feats{list-style:none;margin:0 0 2rem;padding:0;display:flex;flex-direction:column;gap:.65rem;flex:1;font-size:.92rem}
.k-price__feats li{display:flex;align-items:center;gap:.5rem}
.k-check{color:var(--accent);font-weight:800}

/* Variante 1: Columnas destacadas (three) */
.k-price--three .k-price__card.is-featured{border-color:var(--accent);box-shadow:0 12px 35px color-mix(in srgb,var(--accent) 18%,transparent);transform:scale(1.04);z-index:2}

/* Variante 2: Tarjetas simples (simple) */
.k-price--simple .k-price__card{box-shadow:none;border:1px solid #e5e5ee;transform:none}
.k-price--simple .k-price__card.is-featured{border-color:#1a1a24;box-shadow:0 6px 20px rgba(0,0,0,.08);transform:none}
.k-price--simple .k-price__card.is-featured .k-price__badge{background:#1a1a24}

/* Variante 3: Compacto (compact - lista horizontal / filas o celdas más compactas) */
.k-price--compact .k-price__grid{gap:1rem}
.k-price--compact .k-price__card{padding:1.4rem;border-radius:12px}
.k-price--compact .k-price__desc{min-height:auto;margin-bottom:.8rem}
.k-price--compact .k-price__num{font-size:2.2rem}
.k-price--compact .k-price__val{margin-bottom:1rem}
.k-price--compact .k-price__feats{gap:.4rem;margin-bottom:1.2rem;font-size:.86rem}
.k-price--compact .k-price__card.is-featured{border-color:var(--accent);transform:none;box-shadow:0 4px 18px color-mix(in srgb,var(--accent) 15%,transparent)}

/* ---- Formulario de Contacto ---- */
.k-contact__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.k-contact__center{max-width:680px;margin:0 auto}
.k-contact__sub{font-size:1.05rem;opacity:.8;margin:0 0 1.8rem;line-height:1.5}
.k-contact__meta{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}
.k-contact__row{display:flex;align-items:center;gap:.8rem;font-size:1rem}
.k-contact__ico{font-size:1.2rem}
.k-contact__form{background:#fff;border:1px solid #e5e5ee;border-radius:16px;padding:2rem;box-shadow:0 4px 20px rgb(0 0 0/.04)}
.k-form-field{margin-bottom:1.1rem}
.k-form-field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:.4rem;opacity:.85}
.k-form-field input,.k-form-field textarea{width:100%;padding:.65rem .85rem;border:1px solid #d5d7e5;border-radius:8px;font:inherit;background:#fff;box-sizing:border-box}
.k-form-field input:focus,.k-form-field textarea:focus{outline:2px solid var(--accent);border-color:transparent}

/* Variante Contacto: Card centrado */
.k-contact--card .k-contact__center{background:#fff;border:1px solid #e5e5ee;border-radius:20px;padding:2.5rem;box-shadow:0 12px 40px rgb(0 0 0/.06)}
.k-contact--card .k-contact__form{border:0;box-shadow:none;padding:0;background:transparent;margin-top:2rem}
.k-contact--card .k-contact__info{text-align:center}
.k-contact--card .k-contact__meta{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:1.5rem}

/* Variante Contacto: Simple (sin tarjeta / plano) */
.k-contact--simple .k-contact__form{background:transparent;border:0;box-shadow:none;padding:0}

/* ---- Logos de Marcas ---- */
.k-logos__title{font-family:var(--font-heading,var(--font-body,inherit));text-align:center;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:0 0 1.8rem}
.k-logos__wrap{display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.k-logos--grid .k-logos__wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:1.5rem}
.k-logos__item{display:flex;align-items:center;justify-content:center;text-decoration:none;color:inherit;opacity:.7;transition:opacity .2s,transform .2s}
.k-logos__item:hover{opacity:1;transform:scale(1.05)}
.k-logos--mono .k-logos__item{filter:grayscale(1);opacity:.55}
.k-logos--mono .k-logos__item:hover{filter:none;opacity:1}
.k-logos__item img{max-height:42px;max-width:140px;object-fit:contain}
.k-logo-badge{font-weight:800;font-size:1.1rem;letter-spacing:-.02em}

/* ---- Galería / Portfolio ---- */
.k-gal__grid{display:grid;gap:1.5rem}
.k-gal--grid-3 .k-gal__grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.k-gal--grid-4 .k-gal__grid{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.k-gal--grid-2 .k-gal__grid{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr))}
.k-gal__item{position:relative;overflow:hidden;border-radius:14px;background:#f3f4f8}
.k-gal__item img{width:100%;display:block;transition:transform .4s ease}
.k-gal__item:hover img{transform:scale(1.06)}
.k-gal__overlay{position:absolute;inset:auto 0 0 0;padding:2rem 1.4rem 1.2rem;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;display:flex;flex-direction:column;gap:.2rem}
.k-gal__cat{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.k-gal__title{margin:0;font-size:1.1rem;color:#fff}

/* ---- Vídeo ---- */
.k-video__frame{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:16px;box-shadow:0 12px 40px rgb(0 0 0/.12);background:#000}
.k-video__frame iframe,.k-video__frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.k-video__placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.95rem;background:#1a1a24}
.k-video--split .k-video__grid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.k-video__text{display:flex;flex-direction:column;align-items:start;gap:1rem}

/* ---- Separador y Espaciador ---- */
.k-div--space.k-div--sm{height:24px}.k-div--space.k-div--md{height:48px}.k-div--space.k-div--lg{height:80px}.k-div--space.k-div--xl{height:120px}
.k-div--line{height:1px;background:var(--div-col,#e5e5ee);margin:auto;max-width:1100px;width:90%}
.k-div--line.k-div--sm{margin-block:12px}.k-div--line.k-div--md{margin-block:24px}.k-div--line.k-div--lg{margin-block:40px}.k-div--line.k-div--xl{margin-block:60px}
.k-div--gradient{height:2px;background:linear-gradient(90deg,transparent,var(--div-col,var(--accent)),transparent);margin:auto;max-width:1100px;width:90%}
.k-div--gradient.k-div--sm{margin-block:12px}.k-div--gradient.k-div--md{margin-block:24px}.k-div--gradient.k-div--lg{margin-block:40px}.k-div--gradient.k-div--xl{margin-block:60px}
.k-div--dots{display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--div-col,#aaa)}
.k-div--dots span{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.k-div--dots.k-div--sm{padding-block:10px}.k-div--dots.k-div--md{padding-block:20px}.k-div--dots.k-div--lg{padding-block:36px}.k-div--dots.k-div--xl{padding-block:54px}

/* ---- Artículos del Blog (k-posts) ---- */
.k-posts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:2rem}
.k-posts--list .k-posts__grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto;gap:1.5rem}
.k-posts__feat-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:start}
.k-posts__list{display:flex;flex-direction:column;gap:1.4rem}

.k-post-card{background:#fff;border:1px solid #e5e5ee;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.k-post-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.k-post-card__img{display:block;aspect-ratio:16/9;overflow:hidden;background:#f0f1f6}
.k-post-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.k-post-card:hover .k-post-card__img img{transform:scale(1.05)}
.k-post-card__body{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.k-post-card__meta{font-size:.82rem;color:#767a8c;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}
.k-post-card__title{margin:0 0 .6rem;font-size:1.25rem;line-height:1.35}
.k-post-card__title a{color:inherit;text-decoration:none}
.k-post-card__title a:hover{color:var(--accent)}
.k-post-card__exc{font-size:.92rem;line-height:1.55;opacity:.8;margin:0 0 1.2rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.k-post-card__link{margin-top:auto;font-weight:700;font-size:.88rem;color:var(--accent);text-decoration:none}
.k-post-card__link:hover{text-decoration:underline}

.k-post-card--feat .k-post-card__title{font-size:1.5rem}
.k-post-card--feat .k-post-card__exc{-webkit-line-clamp:4}

/* Página individual de artículo del blog */
.k-article{padding:4rem 0 6rem}
.k-article__in{max-width:760px;margin:0 auto}
.k-article__back{display:inline-flex;align-items:center;gap:.4rem;color:var(--accent);text-decoration:none;font-weight:600;margin-bottom:1.5rem}
.k-article__back:hover{text-decoration:underline}
.k-article__meta{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#767a8c;margin-bottom:1rem}
.k-article__title{font-size:clamp(2rem,4vw,2.8rem);line-height:1.2;margin:0 0 1.2rem}
.k-article__lead{font-size:1.2rem;line-height:1.6;opacity:.85;margin-bottom:2rem}
.k-article__hero-img{width:100%;border-radius:18px;max-height:480px;object-fit:cover;margin-bottom:2.5rem;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.k-article__body{font-size:1.1rem;line-height:1.8;color:#222430}
.k-article__body p{margin:0 0 1.4rem}

@media (max-width:760px){
  .k-contact__grid,.k-video--split .k-video__grid{grid-template-columns:1fr;gap:2rem}
  .k-faq--two-col .k-faq__list{grid-template-columns:1fr}
  .k-posts__feat-grid{grid-template-columns:1fr}
}

/* Banner de Consentimiento de Cookies (RGPD) */
.k-cookie-banner{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);width:min(92%,720px);z-index:9999;animation:kSlideUp .3s ease-out}
.k-cookie-banner__in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;background:#14151f;color:#fff;padding:1rem 1.4rem;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1)}
.k-cookie-banner__text{font-size:.88rem;line-height:1.45;color:#e2e3ed;flex:1}
.k-cookie-banner__link{color:var(--accent,#6c47ff);text-decoration:underline;margin-left:.4rem}
@keyframes kSlideUp{from{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%,0);opacity:1}}
@media(max-width:640px){.k-cookie-banner__in{flex-direction:column;align-items:stretch;gap:.8rem}}

/* ---- Badges & Insignias Globales ---- */
.k-badge{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(108,71,255,.08);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:.35rem .85rem;border-radius:999px;margin-bottom:.8rem}
.k-hero__badge{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);box-shadow:0 2px 10px rgba(0,0,0,.15)}

/* ---- Carta de Restaurante (k-carta) ---- */
.k-carta{padding:6rem 0;background:#f8f6f0}
.k-carta__container{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto}
.k-carta__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:3.5rem;align-items:start}
.k-carta--columns-3 .k-carta__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem;align-items:start}
.k-carta--columns-2 .k-carta__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem;align-items:start}
.k-carta--columns-3 .k-carta__col,.k-carta--columns-2 .k-carta__col{background:transparent;padding:0;border:0;box-shadow:none;display:flex;flex-direction:column}
.k-carta--cards .k-carta__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:2.5rem;align-items:start}
.k-carta--cards .k-carta__col{background:#fff;padding:2.4rem 2rem;border-radius:var(--k-radius,18px);border:1px solid #e7e8f2;box-shadow:0 8px 30px rgba(0,0,0,.04);box-sizing:border-box;display:flex;flex-direction:column}
.k-carta__cat-title{font-size:1.75rem;margin:0 0 2rem;padding-bottom:.85rem;border-bottom:1px solid rgba(108,71,255,.28);font-family:var(--font-heading);color:var(--accent);letter-spacing:.02em;font-weight:600}
.k-carta__dish-list{display:flex;flex-direction:column;gap:1.8rem}
.k-dish{display:flex;flex-direction:column;gap:.35rem;width:100%;box-sizing:border-box}
.k-dish__head{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:.5rem;box-sizing:border-box}
.k-dish__title-wrap{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;min-width:0;flex:0 1 auto}
.k-dish__name{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;color:#181924;line-height:1.3;letter-spacing:-.01em}
.k-dish__badge{font-size:.68rem;padding:2px 8px;border-radius:999px;background:rgba(108,71,255,.12);color:var(--accent);font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-family:var(--font-body)}
.k-dish__leader{flex-grow:1;border-bottom:1px dashed rgba(0,0,0,.22);margin:0 .4rem;height:1px;min-width:14px;align-self:flex-end;margin-bottom:5px}
.k-dish__cost{font-weight:700;font-size:1.15rem;color:#181924;font-family:var(--font-heading);white-space:nowrap;flex-shrink:0;margin-left:auto}
.k-dish__desc{font-size:.9rem;color:#6b7280;line-height:1.55;margin:0}
.k-carta__action{display:flex;justify-content:center;margin-top:3.2rem}
.k-carta__action .k-btn{display:inline-flex;align-items:center;gap:.6rem;font-size:1.05rem;padding:.85rem 2.2rem}
.k-carta--dark-luxury .k-carta__action .k-btn{background:linear-gradient(135deg,#d4af37,#aa8012);color:#0e0f14;font-weight:700;border:0;box-shadow:0 6px 20px rgba(212,175,55,.25)}
.k-carta--dark-luxury .k-carta__action .k-btn--ghost{background:transparent;color:#e6ca65;border:2px solid #e6ca65}
.k-carta--bistro-framed .k-carta__action .k-btn{background:#3d3228;color:#fffefb}
.k-carta--bistro-framed .k-carta__action .k-btn--ghost{background:transparent;color:#3d3228;border:2px solid #3d3228}
.k-carta--minimal-zen .k-carta__action .k-btn{background:#111;color:#fff;border-radius:4px}
.k-carta--minimal-zen .k-carta__action .k-btn--ghost{background:transparent;color:#111;border:2px solid #111;border-radius:4px}
.k-carta__note{margin-top:2.5rem;font-size:.88rem;color:#787f95;font-style:italic}

/* Variante Carta: Cuadrícula Gastrobar (dish-grid) */
.k-carta--dish-grid .k-carta__grid{display:flex;flex-direction:column;gap:3.5rem}
.k-carta--dish-grid .k-carta__col{width:100%}
.k-carta--dish-grid .k-carta__dish-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:1.4rem}
.k-dish-card{background:#fff;border-radius:var(--k-radius,14px);border:1px solid #e7e8f2;padding:1.4rem 1.3rem;box-shadow:0 4px 18px rgba(0,0,0,.03);display:flex;flex-direction:column;gap:.6rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.k-dish-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.06);border-color:rgba(108,71,255,.3)}
.k-dish-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.k-dish-card__title-row{display:flex;flex-direction:column;gap:.35rem}
.k-dish-card__name{font-family:var(--font-heading);font-weight:600;font-size:1.15rem;color:#191b26;line-height:1.3}
.k-dish-card__cost{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--accent,#6c47ff);background:rgba(108,71,255,.08);padding:.25rem .7rem;border-radius:8px;white-space:nowrap}
.k-dish-card__desc{font-size:.88rem;color:#64748b;line-height:1.5;margin:0}

/* Thumbnail en dish-grid estándar cuando tiene foto */
.k-dish-card--has-thumb{flex-direction:row;align-items:center;gap:1.1rem;padding:1rem 1.2rem}
.k-dish-card__thumb{width:72px;height:72px;border-radius:10px;object-fit:cover;flex-shrink:0}
.k-dish-card__main-info{flex:1;display:flex;flex-direction:column;gap:.4rem;min-width:0}

/* Variante Carta: Tarjetas Gourmet con Foto (photo-cards) */
.k-carta--photo-cards .k-carta-photo-content{display:flex;flex-direction:column;gap:3.5rem}
.k-carta-photo-sec__title{font-family:var(--font-heading);font-size:1.8rem;color:var(--accent,#6c47ff);margin:0 0 1.8rem;padding-bottom:.75rem;border-bottom:2px solid rgba(108,71,255,.15);font-weight:700;display:flex;align-items:center;gap:.6rem}
.k-carta-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1.8rem}
.k-dish-photo-card{background:#fff;border-radius:var(--k-radius,16px);border:1px solid #e7e8f2;box-shadow:0 6px 20px rgba(0,0,0,.04);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.k-dish-photo-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);border-color:rgba(108,71,255,.3)}
.k-dish-photo-card__media{position:relative;width:100%;height:190px;overflow:hidden;background:#f1f2f8}
.k-dish-photo-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.k-dish-photo-card:hover .k-dish-photo-card__img{transform:scale(1.05)}
.k-dish-photo-card__badge{position:absolute;top:12px;left:12px;background:rgba(25,27,38,.85);backdrop-filter:blur(6px);color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.k-dish-photo-card__body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.k-dish-photo-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}
.k-dish-photo-card__name{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:#191b26;margin:0;line-height:1.3}
.k-dish-photo-card__price{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--accent,#6c47ff);white-space:nowrap}
.k-dish-photo-card__desc{font-size:.88rem;color:#64748b;line-height:1.5;margin:0}

/* Variante Carta: Fine Dining & Nocturno (dark-luxury) */
.k-carta--dark-luxury{background:#0d0e14!important;color:#f1f2f6}
.k-carta--dark-luxury .k-badge{background:rgba(212,175,55,.15);color:#e6ca65;border:1px solid rgba(212,175,55,.3)}
.k-carta--dark-luxury h1,.k-carta--dark-luxury h2,.k-carta--dark-luxury h3{color:#ffffff}
.k-carta--dark-luxury .k-lead{color:#9aa0b6}
.k-carta--dark-luxury .k-carta__cat-title{color:#e6ca65;border-bottom:1px solid rgba(212,175,55,.25);text-shadow:0 0 15px rgba(212,175,55,.15)}
.k-carta--dark-luxury .k-dish__name{color:#f8fafc}
.k-carta--dark-luxury .k-dish__badge{background:rgba(212,175,55,.2);color:#f5d77f}
.k-carta--dark-luxury .k-dish__leader{border-bottom-color:rgba(255,255,255,.18)}
.k-carta--dark-luxury .k-dish__cost{color:#e6ca65;text-shadow:0 0 12px rgba(230,202,101,.25)}
.k-carta--dark-luxury .k-dish__desc{color:#94a3b8}
.k-carta--dark-luxury .k-carta__note{color:#64748b}

/* Variante Carta: Bistro Tradicional & Pergamino (bistro-framed) */
.k-carta--bistro-framed{background:#fbf8f1!important;color:#2c251e}
.k-carta--bistro-framed .k-carta__container{max-width:1040px;background:#fffefb;padding:4rem 3.5rem;border:2px solid #3d3228;box-shadow:inset 0 0 0 6px #fffefb,inset 0 0 0 8px #d6c6b2,0 16px 45px rgba(60,45,30,.08);border-radius:4px}
@media (max-width:768px){.k-carta--bistro-framed .k-carta__container{padding:2.2rem 1.4rem}}
.k-carta--bistro-framed .k-sec-head{border-bottom:2px solid #3d3228;padding-bottom:2rem;margin-bottom:3rem;position:relative}
.k-carta--bistro-framed .k-sec-head::after{content:"✦ ✦ ✦";position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);background:#fffefb;padding:0 1rem;color:#8c735d;font-size:.85rem;letter-spacing:.3em}
.k-carta--bistro-framed .k-carta__cat-title{text-align:center;color:#3d3228;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.15em;font-size:1.35rem;border-bottom:1px solid #d6c6b2;padding-bottom:.8rem;margin-bottom:1.8rem}
.k-carta--bistro-framed .k-dish__name{color:#2c251e;font-family:var(--font-heading)}
.k-carta--bistro-framed .k-dish__cost{color:#2c251e}
.k-carta--bistro-framed .k-dish__desc{color:#63574c;font-style:italic}

/* Variante Carta: Minimalista Nórdico (minimal-zen) */
.k-carta--minimal-zen{background:#ffffff!important;color:#111}
.k-carta--minimal-zen .k-carta__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:4rem}
.k-carta--minimal-zen .k-carta__cat-title{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:#111;border-bottom:2px solid #111;padding-bottom:.75rem;margin-bottom:2rem}
.k-carta--minimal-zen .k-dish{padding-bottom:1.1rem;border-bottom:1px solid #f0f0f2}
.k-carta--minimal-zen .k-dish__leader{display:none}
.k-carta--minimal-zen .k-dish__head{display:flex;justify-content:space-between;align-items:baseline}
.k-carta--minimal-zen .k-dish__name{font-size:1.15rem;font-weight:600;color:#111}
.k-carta--minimal-zen .k-dish__cost{font-size:1.1rem;font-weight:600;color:#111;margin-left:auto}
.k-carta--minimal-zen .k-dish__desc{font-size:.88rem;color:#71717a;line-height:1.6}

/* ---- Menú del Día (k-dailymenu) ---- */
.k-dailymenu{padding:5.5rem 0;background:#fcfbf9}
.k-dailymenu__container{width:min(1100px,calc(100% - 2.5rem));margin-inline:auto}
.k-dailymenu__card{background:#fff;border-radius:var(--k-radius,18px);border:1px solid #e7e5df;box-shadow:0 12px 36px rgba(0,0,0,.05);padding:3rem 2.5rem;position:relative;overflow:hidden;box-sizing:border-box}
.k-dailymenu__card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent,#6c47ff)}
.k-dailymenu__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;padding-bottom:2rem;border-bottom:1px solid #ebe9e3;margin-bottom:2.5rem}
.k-dailymenu__price-badge{background:var(--accent,#6c47ff);color:#fff;padding:.6rem 1.4rem;border-radius:999px;font-family:var(--font-heading);font-weight:700;font-size:1.5rem;white-space:nowrap;box-shadow:0 4px 14px rgba(108,71,255,.25)}
.k-dailymenu__courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2.5rem}
.k-dailymenu--columns-3 .k-dailymenu__courses{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){
  .k-dailymenu--columns-3 .k-dailymenu__courses{grid-template-columns:1fr}
}
.k-dailymenu__course{display:flex;flex-direction:column;gap:1rem}
.k-dailymenu__course-title{font-family:var(--font-heading);font-size:1.35rem;color:var(--accent,#6c47ff);margin:0;padding-bottom:.6rem;border-bottom:2px solid rgba(108,71,255,.2);font-weight:600}
.k-dailymenu__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.k-dailymenu__dish{font-size:1.05rem;color:#2c2d38;line-height:1.45;position:relative;padding-left:1.2rem}
.k-dailymenu__dish::before{content:'•';position:absolute;left:0;color:var(--accent,#6c47ff);font-size:1.2rem;line-height:1}
.k-dailymenu__included{margin-top:2.5rem;padding:1.2rem 1.5rem;background:#f8f7f4;border-radius:12px;border-left:3px solid var(--accent,#6c47ff);font-size:.95rem;color:#4b5563;font-weight:500}
.k-dailymenu__note{margin-top:1.5rem;font-size:.85rem;color:#8a8f9d;text-align:center;font-style:italic}

/* Variante Split */
.k-dailymenu--split .k-dailymenu__wrap{display:grid;grid-template-columns:320px 1fr;gap:3rem;align-items:start}
@media (max-width:860px){
  .k-dailymenu--split .k-dailymenu__wrap{grid-template-columns:1fr;gap:2rem}
}
.k-dailymenu--split .k-dailymenu__sidebar{background:#fff;padding:2.5rem 2rem;border-radius:var(--k-radius,18px);border:1px solid #e7e5df;box-shadow:0 8px 24px rgba(0,0,0,.04);box-sizing:border-box}
.k-dailymenu--split .k-dailymenu__main{background:#fff;padding:2.5rem 2.2rem;border-radius:var(--k-radius,18px);border:1px solid #e7e5df;box-shadow:0 8px 24px rgba(0,0,0,.04);box-sizing:border-box}

/* Variante Menú del Día: Pasos numerados (steps-horizontal) */
.k-dailymenu--steps-horizontal .k-dailymenu__stepper-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
@media (max-width:900px){.k-dailymenu--steps-horizontal .k-dailymenu__stepper-wrap{grid-template-columns:1fr;gap:1.5rem}}
.k-dailymenu__step-card{background:#fff;border-radius:var(--k-radius,16px);border:1px solid #e7e8f2;box-shadow:0 8px 24px rgba(0,0,0,.04);padding:2.2rem 1.8rem;display:flex;flex-direction:column;position:relative;transition:transform .2s ease,box-shadow .2s ease}
.k-dailymenu__step-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.k-dailymenu__step-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:2px solid #f1f2f8}
.k-dailymenu__step-num{font-family:var(--font-heading);font-size:2.2rem;font-weight:800;line-height:1;color:var(--accent,#6c47ff);opacity:.35}
.k-dailymenu__step-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent,#6c47ff);display:block;margin-bottom:.2rem}
.k-dailymenu__step-title{margin:0;font-size:1.25rem;color:#191b26;font-weight:700}

/* Variante Menú del Día: Pizarra Rústica (chalkboard) */
.k-dailymenu--chalkboard{background:#1a2129!important;color:#f7f9fa;padding:5.5rem 0}
.k-dailymenu--chalkboard .k-dailymenu__chalk-board{background:#12171d;border:10px solid #3e2e21;box-shadow:inset 0 0 50px rgba(0,0,0,.85),0 20px 45px rgba(0,0,0,.45);border-radius:6px;padding:3.5rem 3rem;position:relative}
@media (max-width:768px){.k-dailymenu--chalkboard .k-dailymenu__chalk-board{padding:2rem 1.4rem;border-width:6px}}
.k-dailymenu--chalkboard .k-dailymenu__chalk-board::before{content:'';position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px dashed rgba(255,255,255,.18);pointer-events:none;border-radius:3px}
.k-dailymenu--chalkboard h2,.k-dailymenu--chalkboard h3{color:#fef08a!important;font-family:var(--font-heading);letter-spacing:.04em}
.k-dailymenu--chalkboard .k-badge{background:rgba(254,240,138,.15);color:#fef08a;border:1px solid rgba(254,240,138,.3)}
.k-dailymenu--chalkboard .k-lead{color:#cbd5e1}
.k-dailymenu--chalkboard .k-dailymenu__price-badge{background:transparent;color:#fef08a;border:3px double #fef08a;box-shadow:none;padding:.5rem 1.4rem;font-size:1.7rem;transform:rotate(-2deg)}
.k-dailymenu--chalkboard .k-dailymenu__course-title{color:#fef08a;border-bottom:1px dashed rgba(255,255,255,.25)}
.k-dailymenu--chalkboard .k-dailymenu__dish{color:#f1f5f9}
.k-dailymenu--chalkboard .k-dailymenu__dish::before{color:#fef08a}
.k-dailymenu--chalkboard .k-dailymenu__included{background:rgba(255,255,255,.05);border-left:3px solid #fef08a;color:#e2e8f0}
.k-dailymenu--chalkboard .k-dailymenu__note{color:#94a3b8}

/* Variante Menú del Día: Dark Luxury Gourmet (dark-luxury) */
.k-dailymenu--dark-luxury{background:#0c0d12!important;color:#f8fafc}
.k-dailymenu--dark-luxury .k-dailymenu__card{background:#13141d;border:1px solid rgba(212,175,55,.25);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.k-dailymenu--dark-luxury .k-dailymenu__card::before{background:linear-gradient(90deg,#b38728,#fbf5b7,#da9100,#fbf5b7,#aa771c);height:3px}
.k-dailymenu--dark-luxury .k-dailymenu__top{border-bottom-color:rgba(212,175,55,.15)}
.k-dailymenu--dark-luxury h1,.k-dailymenu--dark-luxury h2,.k-dailymenu--dark-luxury h3{color:#ffffff}
.k-dailymenu--dark-luxury .k-badge{background:rgba(212,175,55,.15);color:#e6ca65;border:1px solid rgba(212,175,55,.3)}
.k-dailymenu--dark-luxury .k-lead{color:#94a3b8}
.k-dailymenu--dark-luxury .k-dailymenu__price-badge{background:linear-gradient(135deg,#d4af37,#aa8012);color:#0e0f14;font-weight:800;box-shadow:0 6px 20px rgba(212,175,55,.3)}
.k-dailymenu--dark-luxury .k-dailymenu__course-title{color:#e6ca65;border-bottom-color:rgba(212,175,55,.2)}
.k-dailymenu--dark-luxury .k-dailymenu__dish{color:#e2e8f0}
.k-dailymenu--dark-luxury .k-dailymenu__dish::before{color:#e6ca65}
.k-dailymenu--dark-luxury .k-dailymenu__included{background:rgba(255,255,255,.03);border-left:3px solid #d4af37;color:#cbd5e1}
.k-dailymenu--dark-luxury .k-dailymenu__note{color:#64748b}

/* Variante Menú del Día: Ticket de Comanda Vintage (ticket-receipt) */
.k-dailymenu--ticket-receipt{background:#e8e3d8!important;color:#2b2520}
.k-dailymenu--ticket-receipt .k-dailymenu__card{background:#faf7f0;max-width:680px;margin:0 auto;border-radius:4px;border:1px dashed #b5a995;box-shadow:0 12px 35px rgba(50,40,30,.1);padding:3.5rem 2.8rem}
@media (max-width:768px){.k-dailymenu--ticket-receipt .k-dailymenu__card{padding:2.2rem 1.4rem}}
.k-dailymenu--ticket-receipt .k-dailymenu__card::before{display:none}
.k-dailymenu--ticket-receipt .k-dailymenu__top{border-bottom:2px dashed #b5a995;text-align:center;justify-content:center;flex-direction:column;align-items:center;gap:.8rem}
.k-dailymenu--ticket-receipt .k-dailymenu__price-badge{background:#2b2520;color:#faf7f0;border-radius:4px;font-size:1.4rem;box-shadow:none}
.k-dailymenu--ticket-receipt .k-dailymenu__courses{grid-template-columns:1fr;gap:2rem;margin-top:1rem}
.k-dailymenu--ticket-receipt .k-dailymenu__course-title{text-align:center;color:#2b2520;border-bottom:1px dotted #b5a995;font-size:1.15rem;text-transform:uppercase;letter-spacing:.1em}
.k-dailymenu--ticket-receipt .k-dailymenu__list{text-align:center}
.k-dailymenu--ticket-receipt .k-dailymenu__dish{padding-left:0}
.k-dailymenu--ticket-receipt .k-dailymenu__dish::before{display:none}
.k-dailymenu--ticket-receipt .k-dailymenu__included{background:rgba(0,0,0,.04);border-left:0;border-top:1px dashed #b5a995;border-bottom:1px dashed #b5a995;text-align:center;border-radius:0}

/* Variante Menú del Día: Cursos con Fotos Gourmet (photo-courses) */
.k-dailymenu--photo-courses{background:#f8f9fa}
.k-dailymenu__photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:960px){.k-dailymenu__photo-grid{grid-template-columns:1fr;gap:2rem}}
.k-dailymenu__photo-card{background:#fff;border-radius:var(--k-radius,18px);border:1px solid #e7e8f2;box-shadow:0 8px 24px rgba(0,0,0,.04);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.k-dailymenu__photo-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.k-dailymenu__photo-media{position:relative;width:100%;height:210px;overflow:hidden;background:#f1f2f8}
.k-dailymenu__photo-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.k-dailymenu__photo-card:hover .k-dailymenu__photo-media img{transform:scale(1.04)}
.k-dailymenu__photo-step{position:absolute;top:14px;left:14px;background:var(--accent,#6c47ff);color:#fff;font-family:var(--font-heading);font-weight:800;font-size:1.1rem;width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(108,71,255,.35)}
.k-dailymenu__photo-body{padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1.2rem;flex:1}
.k-dailymenu__photo-title{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;color:#191b26;margin:0;padding-bottom:.8rem;border-bottom:2px solid #f1f2f8}
.k-dailymenu__photo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.8rem}
.k-dailymenu__photo-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:1rem;color:#334155;line-height:1.45}
.k-dailymenu__photo-bullet{color:var(--accent,#6c47ff);font-weight:800;font-size:1.2rem;line-height:1}

/* ---- Mosaico (k-mosaic) ---- */
.k-mosaic{overflow:hidden}

/* ---- 1. Variante Panorámica Sin Espacios / Edge-to-Edge (k-mosaic--seamless) ---- */
.k-mosaic--seamless{padding:0!important;width:100%;background:#000}
.k-mosaic--seamless.k-has-head{padding-top:4.5rem!important;padding-bottom:0!important;background:inherit}
.k-mosaic--seamless .k-mosaic__in{
  display:grid;
  grid-template-columns:1fr 1.25fr 1fr;
  gap:0!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  height:650px;
  /* Una sola fila que ocupa la altura fija: sin minmax(0,1fr) el grid crece
     con el contenido y las columnas desbordan por abajo. */
  grid-template-rows:minmax(0,1fr);
  overflow:hidden;
}
.k-mosaic--seamless .k-mosaic__center-2x2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:0!important;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.k-mosaic--seamless .k-mosaic__col-side,
.k-mosaic--seamless .k-mosaic__cell{
  position:relative;
  overflow:hidden;
  border-radius:0!important;
  box-shadow:none!important;
  background:#000;
  height:100%;
  min-height:0;
  min-width:0;
}
.k-mosaic--seamless .k-mosaic__col-side img,
.k-mosaic--seamless .k-mosaic__cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.5s ease;
}
.k-mosaic--seamless .k-mosaic__zoom:hover img{
  transform:scale(1.06);
}

/* ---- 2. Mosaico Enmarcado con Separación (k-mosaic--framed) ---- */
.k-mosaic--framed{padding:5.5rem 0;background:#f8f9fc}
.k-mosaic__framed-wrap{
  display:grid;
  grid-template-columns:1fr 1.35fr 1fr;
  grid-template-rows:minmax(0,1fr);
  gap:1.4rem;
  height:580px;
  overflow:hidden;
}
.k-mosaic--framed .k-mosaic__center-2x2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:1.4rem;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.k-mosaic--framed .k-mosaic__col-side,
.k-mosaic--framed .k-mosaic__cell{
  position:relative;
  overflow:hidden;
  border-radius:var(--k-radius,16px);
  background:#1a1c24;
  box-shadow:0 8px 25px rgba(0,0,0,.06);
  height:100%;
  transition:transform .3s ease,box-shadow .3s ease;
}
.k-mosaic--framed .k-mosaic__col-side:hover,
.k-mosaic--framed .k-mosaic__cell:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}
.k-mosaic--framed .k-mosaic__col-side img,
.k-mosaic--framed .k-mosaic__cell img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.k-mosaic--framed .k-mosaic__zoom:hover img{
  transform:scale(1.05);
}

/* ---- 3. Bento Grid Asimétrico (k-mosaic--bento) ---- */
.k-mosaic--bento{padding:6rem 0;background:#0d0e14;color:#fff}
.k-mosaic--bento .k-sec-head h1,
.k-mosaic--bento .k-sec-head h2,
.k-mosaic--bento .k-sec-head h3{color:#fff}
.k-mosaic--bento .k-sec-head p{color:#94a3b8}
.k-mosaic__bento-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:250px;
  gap:1.4rem;
}
.k-mosaic__bento-card{
  position:relative;
  overflow:hidden;
  border-radius:20px;
  background:#141620;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 35px rgba(0,0,0,.35);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.k-mosaic__bento-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 45px rgba(0,0,0,.5);
  border-color:rgba(255,255,255,.2);
}
.k-mosaic__bento-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.k-mosaic__bento-card:hover img{
  transform:scale(1.06);
}
.k-mosaic__bento-card--1{grid-column:span 2}
.k-mosaic__bento-card--2{grid-column:span 1;grid-row:span 2}
.k-mosaic__bento-card--3{grid-column:span 1}
.k-mosaic__bento-card--4{grid-column:span 1}
.k-mosaic__bento-card--5{grid-column:span 1}
.k-mosaic__bento-card--6{grid-column:span 2}

/* ---- 4. Mosaico Editorial / Revista (k-mosaic--editorial) ---- */
.k-mosaic--editorial{padding:6rem 0;background:#f8f7f4}
.k-mosaic__editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.8rem;
  align-items:start;
}
.k-mosaic__editorial-col{
  display:flex;
  flex-direction:column;
  gap:1.8rem;
}
.k-mosaic__editorial-col--offset{
  margin-top:3rem;
}
.k-mosaic__editorial-card{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#1a1c24;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease;
}
.k-mosaic__editorial-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
}
.k-mosaic__editorial-card--tall{aspect-ratio:3/4}
.k-mosaic__editorial-card--sq{aspect-ratio:1/1}
.k-mosaic__editorial-card--wide{aspect-ratio:16/10}
.k-mosaic__editorial-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s ease;
}
.k-mosaic__editorial-card:hover img{
  transform:scale(1.05);
}

/* ---- 5. Tira Cinemática Acordeón (k-mosaic--filmstrip) ---- */
.k-mosaic--filmstrip{padding:0!important;background:#000;overflow:hidden;width:100%}
.k-mosaic--filmstrip.k-has-head{padding-top:4.5rem!important;padding-bottom:0!important;background:inherit}
.k-mosaic__filmstrip-track{
  display:flex;
  width:100%;
  height:460px;
  gap:0;
}
.k-mosaic__filmstrip-item{
  flex:1;
  height:100%;
  position:relative;
  overflow:hidden;
  transition:flex 0.5s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}
.k-mosaic__filmstrip-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.k-mosaic__filmstrip-track:hover .k-mosaic__filmstrip-item{
  filter:brightness(0.85);
}
.k-mosaic__filmstrip-track .k-mosaic__filmstrip-item:hover{
  flex:1.75;
  filter:brightness(1);
}
.k-mosaic__filmstrip-item:hover img{
  transform:scale(1.05);
}
.k-mosaic--seamless .k-mosaic__full-wrap{
  width:100%;
  padding:0;
}
.k-mosaic--seamless .k-mosaic__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:0!important;
}
.k-mosaic--seamless .k-mosaic__card{
  border-radius:0!important;
  box-shadow:none!important;
  aspect-ratio:4/3;
}

/* Hover e insignias */
.k-mosaic__link{display:block;text-decoration:none;color:inherit;cursor:pointer}
.k-mosaic__link:hover .k-mosaic__badge{background:var(--accent,#6c47ff);color:#fff;border-color:transparent;box-shadow:0 4px 15px rgba(108,71,255,.4)}
.k-mosaic__zoom:hover img{transform:scale(1.06)}
.k-mosaic__badge{position:absolute;bottom:1.1rem;left:1.1rem;background:rgba(18,22,28,.82);backdrop-filter:blur(8px);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;letter-spacing:.04em;pointer-events:none;border:1px solid rgba(255,255,255,.12);z-index:2}
.k-mosaic--grid .k-mosaic__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem}
.k-mosaic--grid .k-mosaic__card{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--k-radius,14px);background:#1a1c24}
.k-mosaic--grid .k-mosaic__card img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1)}

/* Responsive Mosaico (idéntico a home-fusion.html) */
@media (max-width:992px){
  .k-mosaic--seamless .k-mosaic__in{
    grid-template-columns:1fr;
    height:auto;
  }
  .k-mosaic--seamless .k-mosaic__col-side{
    height:380px;
  }
  .k-mosaic--seamless .k-mosaic__center-2x2{
    height:520px;
  }
}
@media (max-width:640px){
  .k-mosaic--seamless .k-mosaic__col-side{
    height:300px;
  }
  .k-mosaic--seamless .k-mosaic__center-2x2{
    height:480px;
  }
}

/* ---- Espacios y Ambientes (k-spaces) ---- */
.k-spaces{padding:5.5rem 0;background:#fff}
.k-spaces__layout{display:grid;grid-template-columns:1fr 1.35fr;gap:3.5rem;align-items:center}
.k-spaces__text-side{display:flex;flex-direction:column;align-items:flex-start}
.k-spaces__title{font-size:clamp(2rem,3.8vw,3rem);line-height:1.15;margin:.4rem 0 1.2rem}
.k-spaces__lead{font-size:1.1rem;line-height:1.75;color:#555a6d;margin:0}
.k-spaces__photos{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.k-spaces__photo-col{display:flex;flex-direction:column;gap:1.4rem}
.k-spaces__photo-col--offset{margin-top:2.8rem}
.k-spaces__card{position:relative;overflow:hidden;border-radius:var(--k-radius,16px);background:#f2f3f7;box-shadow:0 8px 25px rgba(0,0,0,.06);aspect-ratio:4/3}
.k-spaces__card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.k-spaces__card:hover img{transform:scale(1.05)}
.k-spaces__card--tall{aspect-ratio:3/4}
.k-spaces__card--short{aspect-ratio:4/3}
.k-spaces__badge{position:absolute;bottom:1.1rem;left:1.1rem;background:rgba(18,22,28,.84);backdrop-filter:blur(6px);color:#fff;font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.12)}
/* La descripcion no tenia estilo: caia debajo de la imagen y la recortaba el
   overflow:hidden de la tarjeta. Va superpuesta, como el resto del mosaico. */
.k-spaces__card-desc{position:absolute;left:1.1rem;right:1.1rem;bottom:1.1rem;margin:0;color:#fff;font-size:.92rem;line-height:1.35;text-shadow:0 1px 4px rgba(0,0,0,.7);z-index:2}
.k-spaces__card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28),transparent 42%,transparent 55%,rgba(0,0,0,.72));pointer-events:none;z-index:1}
.k-spaces__card img{position:relative;z-index:0}
.k-spaces--cards .k-spaces__badge{top:1.1rem;bottom:auto}
.k-spaces__cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1.8rem;margin-top:2.5rem}

/* ---- Reserva de Mesas (k-booking) ---- */
.k-booking{padding:5.5rem 0;background:linear-gradient(180deg,#fafafc 0%,#f2f3f8 100%)}
.k-booking__form-wrap{background:#fff;padding:2.5rem 2.8rem;border-radius:var(--k-radius-lg,20px);border:1px solid #e7e8f2;box-shadow:0 15px 45px rgba(0,0,0,.06)}
.k-booking__grid-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.k-booking__field label{display:block;font-size:.86rem;font-weight:600;margin-bottom:.45rem;color:#2d3142}
.k-booking__field input,.k-booking__field select{width:100%;padding:.8rem 1rem;border:1px solid #d5d8e6;border-radius:10px;font-size:.95rem;font-family:inherit;background:#fafbfe;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}
.k-booking__field input:focus,.k-booking__field select:focus{border-color:var(--accent);outline:0;background:#fff;box-shadow:0 0 0 3px rgba(108,71,255,.12)}
.k-booking__note{font-size:.84rem;color:#787f95;text-align:center;margin-top:1rem;line-height:1.45}
.k-booking__split-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:3.5rem;align-items:start}
.k-booking__info-side{display:flex;flex-direction:column;gap:.8rem}
.k-booking__info-list{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem;padding:1.4rem;background:#fff;border-radius:var(--k-radius,14px);border:1px solid #e7e8f2}
.k-booking__info-item{font-size:.95rem;line-height:1.5;display:flex;flex-direction:column;gap:.2rem}
.k-booking__info-item b{color:#191b26}
.k-booking__info-item span,.k-booking__info-item a{color:#555a6d}

@media (max-width:1080px){
  .k-carta--columns-3 .k-carta__grid{grid-template-columns:1fr;gap:3rem}
  .k-carta--columns-2 .k-carta__grid{grid-template-columns:1fr;gap:3rem}
  .k-mosaic--framed .k-mosaic__in{grid-template-columns:1fr;gap:1rem}
  .k-spaces__layout{grid-template-columns:1fr;gap:2.5rem}
  .k-spaces__photo-col--offset{margin-top:0}
  .k-booking__split-layout{grid-template-columns:1fr;gap:2rem}
}

@media (max-width:640px){
  .k-carta{padding:4rem 0}
  .k-carta__cat-title{font-size:1.45rem;margin-bottom:1.5rem}
  .k-dish__name{font-size:1.1rem}
  .k-dish__cost{font-size:1.05rem}
  .k-carta__dish-list{gap:1.4rem}
  .k-booking__form-wrap{padding:1.6rem 1.2rem}
  .k-booking__grid-fields{grid-template-columns:1fr}
  .k-spaces__photos{grid-template-columns:1fr}
}

/* ---- Plugin Inmobiliaria: Badges Globales ---- */
.k-badge-op{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px;white-space:nowrap}
.k-badge-op--sale{background:#dbeafe;color:#1d4ed8}
.k-badge-op--rent{background:#dcfce7;color:#15803d}
.k-badge-op--holiday{background:#f3e8ff;color:#7e22ce}
.k-badge-type{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.9);color:#1e293b;backdrop-filter:blur(4px);white-space:nowrap}
.k-badge-status{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;white-space:nowrap}
.k-badge-status--reserved{background:#fef3c7;color:#92400e}
.k-badge-status--sold{background:#fee2e2;color:#991b1b}
.k-badge-status--rented{background:#f1f5f9;color:#475569}
.k-badge-feat{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#fef08a;color:#854d0e}

/* ---- Buscador de Inmuebles (k-re-search) ---- */
.k-re-search{padding:4.5rem 0;background:#f8f9fc}
.k-re-search__container{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto}

/* Común: Badges y pestañas */
.k-re-search__tab{background:none;border:0;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}
.k-re-search__tab:hover{color:#1e293b}
.k-re-search__tab.is-active{color:var(--accent,#6c47ff)}

.k-re-search__field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.4rem;color:#334155;text-transform:uppercase;letter-spacing:.04em}
.k-re-search__input,.k-re-search__select{width:100%;padding:.8rem .95rem;border:1px solid #cbd5e1;border-radius:10px;font-family:inherit;font-size:.95rem;background:#f8fafc;box-sizing:border-box;transition:all .15s}
.k-re-search__input:focus,.k-re-search__select:focus{border-color:var(--accent,#6c47ff);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(108,71,255,.12)}

/* Variante 1: HERO-BAR (Barra cápsula flotante integrada) */
.k-re-search--hero-bar{padding:2.5rem 0;background:transparent;position:relative;z-index:20}
.k-re-search__hero-wrap{max-width:1100px;margin:0 auto}
.k-re-search__tabs--pills{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:1rem}
.k-re-search__tabs--pills .k-re-search__tab{background:#ffffff;border:1px solid #e2e8f0;border-radius:999px;padding:.5rem 1.4rem;font-size:.9rem;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.k-re-search__tabs--pills .k-re-search__tab.is-active{background:var(--accent,#6c47ff);color:#fff;border-color:var(--accent,#6c47ff);box-shadow:0 6px 18px rgba(108,71,255,.25)}
.k-re-search__box--pill{background:#fff;border-radius:999px;box-shadow:0 20px 50px rgba(0,0,0,.12);border:1px solid #e2e8f0;padding:.6rem 1rem}
.k-re-search__form--pill{margin:0}
.k-re-search__fields--pill{display:flex;align-items:center;gap:.8rem}
.k-re-search__fields--pill .k-re-search__field{flex:1;min-width:0;padding:0 .8rem;border-right:1px solid #edf2f7}
.k-re-search__fields--pill .k-re-search__field:last-of-type{border-right:0}
.k-re-search__fields--pill .k-re-search__input,.k-re-search__fields--pill .k-re-search__select{border:0;background:transparent;padding:.3rem 0;font-size:.95rem}
.k-re-search__fields--pill .k-re-search__input:focus,.k-re-search__fields--pill .k-re-search__select:focus{box-shadow:none}
.k-re-search__submit--pill{border-radius:999px;padding:.85rem 2rem;white-space:nowrap;font-size:1rem;font-weight:700}
@media (max-width:860px){
  .k-re-search__box--pill{border-radius:20px;padding:1.4rem}
  .k-re-search__fields--pill{flex-direction:column;align-items:stretch}
  .k-re-search__fields--pill .k-re-search__field{border-right:0;border-bottom:1px solid #edf2f7;padding:0 0 .8rem}
  .k-re-search__submit--pill{width:100%}
}

/* Variante 2: BOXED-CARD (Caja destacada tipo portal inmobiliario) */
.k-re-search--boxed-card{padding:5rem 0;background:linear-gradient(180deg,#f1f5f9 0%,#f8fafc 100%)}
.k-re-search__box--boxed{max-width:940px;margin:0 auto;background:#fff;border-radius:18px;border:1px solid #e2e8f0;box-shadow:0 18px 45px rgba(0,0,0,.08);overflow:hidden}
.k-re-search__tabs--boxed{display:flex;background:#f8fafc;border-bottom:2px solid #e2e8f0}
.k-re-search__tabs--boxed .k-re-search__tab{flex:1;text-align:center;padding:1.1rem 1rem;font-size:.95rem;font-weight:700;border-bottom:3px solid transparent;border-radius:0}
.k-re-search__tabs--boxed .k-re-search__tab.is-active{background:#fff;color:var(--accent,#6c47ff);border-bottom-color:var(--accent,#6c47ff)}
.k-re-search__form--boxed{padding:2.2rem}
.k-re-search__input--lg{font-size:1.05rem;padding:.95rem 1.1rem;border-radius:12px;background:#fff}
.k-re-search__grid-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.k-re-search__submit--block{width:100%;padding:1rem;font-size:1.05rem;font-weight:700;border-radius:12px}
@media (max-width:768px){
  .k-re-search__grid-row{grid-template-columns:1fr}
}

/* Variante 3: COMPACT (Buscador minimalista de 1 sola línea) */
.k-re-search--compact{padding:3rem 0;background:#ffffff}
.k-re-search__box--compact{max-width:980px;margin:0 auto;background:#fff;border:2px solid #e2e8f0;border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.04);padding:6px}
.k-re-search__form--compact{margin:0}
.k-re-search__compact-bar{display:flex;align-items:center;gap:.6rem}
.k-re-search__compact-input-wrap{flex:1;display:flex;align-items:center;gap:.6rem;padding:0 .8rem}
.k-re-search__compact-icon{font-size:1.1rem;color:#94a3b8}
.k-re-search__compact-input{border:0;outline:0;width:100%;font-size:.95rem;font-family:inherit;background:transparent;padding:.6rem 0}
.k-re-search__compact-select{border:1px solid #e2e8f0;border-radius:8px;padding:.65rem .8rem;font-size:.88rem;font-family:inherit;background:#f8fafc;color:#334155}
.k-re-search__compact-btn{padding:.75rem 1.6rem;border-radius:8px;font-weight:700;white-space:nowrap}
@media (max-width:768px){
  .k-re-search__compact-bar{flex-direction:column;align-items:stretch}
  .k-re-search__compact-btn{width:100%}
}

/* ---- Catálogo de Inmuebles (k-re-grid) ---- */
.k-re-grid{padding:5.5rem 0;background:#ffffff}
.k-re-grid__container{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto}

/* Base de tarjeta de inmueble */
.k-re-card{background:#fff;border-radius:var(--k-radius,16px);border:1px solid #e2e8f0;box-shadow:0 6px 20px rgba(0,0,0,.04);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.k-re-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(0,0,0,.08);border-color:#cbd5e1}
.k-re-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f1f5f9}
.k-re-card__img-link{display:block;width:100%;height:100%}
.k-re-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.k-re-card:hover .k-re-card__img{transform:scale(1.05)}
.k-re-card__badges-top{position:absolute;top:1rem;left:1rem;display:flex;gap:.4rem;flex-wrap:wrap;z-index:2}
.k-re-card__price-badge{position:absolute;bottom:1rem;right:1rem;background:rgba(15,23,42,.85);backdrop-filter:blur(8px);color:#fff;padding:.45rem 1rem;border-radius:999px;font-family:var(--font-heading);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;z-index:2}
.k-re-card__body{padding:1.6rem 1.5rem;display:flex;flex-direction:column;flex:1}
.k-re-card__location{font-size:.85rem;color:#64748b;margin-bottom:.4rem;font-weight:500}
.k-re-card__title{font-size:1.25rem;line-height:1.35;margin:0 0 .5rem;font-family:var(--font-heading)}
.k-re-card__title a{text-decoration:none;color:#0f172a;transition:color .15s}
.k-re-card__title a:hover{color:var(--accent,#6c47ff)}
.k-re-card__ref{font-size:.78rem;color:#94a3b8;font-weight:600;margin-bottom:1rem}
.k-re-card__specs{display:flex;align-items:center;gap:1.2rem;padding:1rem 0;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;margin-bottom:1.2rem;font-size:.9rem;color:#475569}
.k-re-card__specs span{display:inline-flex;align-items:center;gap:.3rem}
.k-re-card__footer{margin-top:auto;display:flex;justify-content:flex-end}

/* 1. Variante GRID-CARDS: Cuadrícula clásica 3 columnas */
.k-re-grid--grid-cards .k-re-grid__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:2.2rem}

/* 2. Variante HORIZONTAL-ROWS: Filas apaisadas */
.k-re-grid--horizontal-rows .k-re-grid__items{display:flex;flex-direction:column;gap:1.8rem}
.k-re-card--row{flex-direction:row;align-items:stretch;min-height:220px}
.k-re-card--row .k-re-card__media{width:360px;aspect-ratio:auto;flex-shrink:0}
.k-re-card__row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:.6rem}
.k-re-card__row-price{font-size:1.55rem;font-weight:800;color:var(--accent,#6c47ff);font-family:var(--font-heading);white-space:nowrap}
.k-re-card__specs--chips{border:0;padding:.5rem 0;display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.8rem}
.k-re-card__specs--chips span{background:#f1f5f9;padding:6px 12px;border-radius:8px;font-size:.85rem;color:#334155}
@media (max-width:860px){
  .k-re-card--row{flex-direction:column}
  .k-re-card--row .k-re-card__media{width:100%;aspect-ratio:16/10}
  .k-re-card__row-head{flex-direction:column;gap:.4rem}
}

/* 3. Variante FEATURED-SHOWCASE: Luxury revista de gran formato */
.k-re-grid--featured-showcase{background:#0b0f19;color:#fff}
.k-re-grid--featured-showcase .k-badge{background:rgba(255,255,255,.15);color:#fff}
.k-re-grid--featured-showcase .k-sec-head h1,.k-re-grid--featured-showcase .k-sec-head h2,.k-re-grid--featured-showcase .k-sec-head h3{color:#fff}
.k-re-grid--featured-showcase .k-lead{color:#94a3b8}
.k-re-grid--featured-showcase .k-re-grid__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:2.5rem}
.k-re-card--showcase{position:relative;border-radius:24px;overflow:hidden;min-height:500px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.4);background:#0f172a}
.k-re-card__showcase-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.k-re-card--showcase:hover .k-re-card__showcase-bg{transform:scale(1.08)}
.k-re-card__showcase-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,25,.35) 0%,rgba(11,15,25,.1) 35%,rgba(11,15,25,.94) 100%);z-index:2}
.k-re-card__showcase-content{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:2.2rem;box-sizing:border-box}
.k-re-card__showcase-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.k-re-card__showcase-top .k-re-card__badges-top{position:static}
.k-re-card__showcase-price{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);color:#0f172a;padding:.5rem 1.2rem;border-radius:999px;font-family:var(--font-heading);font-weight:800;font-size:1.25rem;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.k-re-card__location--light{color:rgba(255,255,255,.8);font-size:.9rem;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5)}
.k-re-card__title--light{font-size:1.6rem;line-height:1.25;margin:.4rem 0 .8rem}
.k-re-card__title--light a{color:#ffffff;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.k-re-card__title--light a:hover{color:#38bdf8}
.k-re-card__specs--light{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem;color:#e2e8f0;font-size:.9rem}
.k-re-card__specs--light span{background:rgba(255,255,255,.16);backdrop-filter:blur(6px);padding:5px 12px;border-radius:8px}
.k-btn--light{background:#ffffff;color:#0f172a;font-weight:700;border:0;box-shadow:0 4px 15px rgba(0,0,0,.25);transition:all .15s}
.k-btn--light:hover{background:var(--accent,#6c47ff);color:#fff}
@media (max-width:640px){
  .k-re-grid--featured-showcase .k-re-grid__items{grid-template-columns:1fr}
  .k-re-card--showcase{min-height:420px}
}

/* 4. Variante COMPACT-LIST: Lista minimalista tipo directorio */
.k-re-grid--compact-list .k-re-grid__items{display:flex;flex-direction:column;gap:.9rem}
.k-re-card--compact{flex-direction:row;align-items:center;padding:1rem 1.4rem;gap:1.4rem;background:#fff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:all .2s ease}
.k-re-card--compact:hover{transform:translateX(5px);border-color:var(--accent,#6c47ff);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.k-re-card__compact-thumb{width:110px;height:82px;border-radius:10px;overflow:hidden;flex-shrink:0;background:#f1f5f9;display:block}
.k-re-card__compact-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.k-re-card--compact:hover .k-re-card__compact-thumb img{transform:scale(1.08)}
.k-re-card__compact-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.k-re-card__compact-badges{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.k-re-card__compact-title{font-size:1.15rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-re-card__compact-meta{display:flex;align-items:center;gap:.9rem;font-size:.85rem;color:#64748b;flex-wrap:wrap}
.k-re-card__compact-specs-txt{color:#475569;font-weight:500}
.k-re-card__compact-right{display:flex;align-items:center;gap:1.4rem;flex-shrink:0}
.k-re-card__compact-price{font-size:1.35rem;font-weight:800;color:#0f172a;font-family:var(--font-heading);white-space:nowrap}
@media (max-width:768px){
  .k-re-card--compact{flex-direction:column;align-items:stretch;gap:.9rem;padding:1.1rem}
  .k-re-card__compact-thumb{width:100%;height:160px}
  .k-re-card__compact-right{justify-content:space-between}
}

/* ---- Ficha de Inmueble Pública (k-prop-detail) ---- */
.k-prop-detail{padding:2.5rem 0 6rem;background:#f8fafc}
.k-prop-detail__container{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto}
.k-prop-detail__breadcrumbs{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:#64748b;margin-bottom:1.8rem;flex-wrap:wrap}
.k-prop-detail__breadcrumbs a{color:inherit;text-decoration:none}.k-prop-detail__breadcrumbs a:hover{color:var(--accent,#6c47ff)}
.k-prop-detail__breadcrumbs .cur{color:#0f172a;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px}
.k-prop-detail__gallery{margin-bottom:2.5rem}
.k-prop-detail__main-wrap{position:relative;border-radius:var(--k-radius-lg,20px);overflow:hidden;aspect-ratio:21/9;max-height:560px;background:#0f172a;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.k-prop-detail__hero-img{width:100%;height:100%;object-fit:cover}
.k-prop-detail__hero-badges{position:absolute;bottom:1.5rem;left:1.5rem;display:flex;gap:.5rem;flex-wrap:wrap;z-index:2}
.k-prop-detail__thumbs{display:flex;gap:.8rem;margin-top:1rem;overflow-x:auto;padding-bottom:.5rem}
.k-prop-detail__thumb{border:2px solid transparent;border-radius:10px;padding:0;background:none;cursor:pointer;overflow:hidden;width:100px;height:70px;flex-shrink:0;transition:all .15s}
.k-prop-detail__thumb.is-active{border-color:var(--accent,#6c47ff);transform:scale(1.05)}
.k-prop-detail__thumb img{width:100%;height:100%;object-fit:cover}
.k-prop-detail__layout{display:grid;grid-template-columns:1fr 380px;gap:3.5rem;align-items:start}
.k-prop-detail__main-col{display:flex;flex-direction:column;gap:2.5rem}
.k-prop-detail__head{border-bottom:1px solid #e2e8f0;padding-bottom:1.8rem}
.k-prop-detail__ref{font-size:.85rem;font-weight:700;color:var(--accent,#6c47ff);letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:.4rem}
.k-prop-detail__title{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.2;margin:0 0 .8rem;font-family:var(--font-heading);color:#0f172a}
.k-prop-detail__location{font-size:1.05rem;color:#475569;display:flex;align-items:center;gap:.4rem}
.k-prop-detail__specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:1rem}
.k-prop-spec{background:#fff;border:1px solid #e2e8f0;border-radius:var(--k-radius,14px);padding:1.4rem 1.1rem;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.02)}
.k-prop-spec__ic{font-size:1.8rem;margin-bottom:.4rem;display:block}
.k-prop-spec__val{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:#0f172a}
.k-prop-spec__lbl{font-size:.8rem;color:#64748b;margin-top:.2rem}
.k-prop-detail__sec{background:#fff;border:1px solid #e2e8f0;border-radius:var(--k-radius-lg,18px);padding:2.2rem 2rem;box-shadow:0 6px 20px rgba(0,0,0,.02)}
.k-prop-detail__sec-title{font-size:1.45rem;margin:0 0 1.2rem;font-family:var(--font-heading);color:#0f172a;border-bottom:1px solid #f1f5f9;padding-bottom:.8rem}
.k-prop-detail__desc{font-size:1.05rem;line-height:1.8;color:#334155}
.k-prop-detail__desc p{margin:0 0 1.2rem}
.k-prop-detail__amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1rem}
.k-prop-amenity{display:flex;align-items:center;gap:.6rem;font-size:.98rem;color:#1e293b;padding:.7rem .9rem;background:#f8fafc;border-radius:10px;border:1px solid #edf2f7}
.k-prop-amenity__check{color:#16a34a;font-weight:bold;font-size:1.1rem}
.k-prop-detail__side-card{position:sticky;top:2rem;background:#fff;border-radius:var(--k-radius-lg,20px);border:1px solid #e2e8f0;box-shadow:0 15px 45px rgba(0,0,0,.06);overflow:hidden}
.k-prop-detail__price-wrap{background:linear-gradient(135deg,var(--accent,#6c47ff),color-mix(in srgb,var(--accent,#6c47ff) 62%,#000));color:#fff;padding:2rem 1.8rem;text-align:center}
.k-prop-detail__price-lbl{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85;display:block;margin-bottom:.3rem}
.k-prop-detail__price{font-family:var(--font-heading);font-weight:800;font-size:2.2rem;line-height:1.1}
.k-prop-detail__form-wrap{padding:2rem 1.8rem}

@media (max-width:960px){
  .k-prop-detail__layout{grid-template-columns:1fr;gap:2.5rem}
  .k-prop-detail__main-wrap{aspect-ratio:16/10}
}

/* 1. Variante MOSAICO AIRBNB / LUXURY PORTAL */
.k-prop-mosaic-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.8rem;flex-wrap:wrap}
.k-prop-mosaic-price{text-align:right}
.k-prop-mosaic-price b{font-size:clamp(1.8rem,3vw,2.4rem);font-family:var(--font-heading);color:var(--accent,#6c47ff);display:block;line-height:1.1}
.k-prop-mosaic-price span{font-size:.82rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}

.k-prop-mosaic{position:relative;display:grid;grid-template-columns:1.55fr 1.1fr;gap:.65rem;height:450px;border-radius:var(--k-radius-lg,22px);overflow:hidden;margin-bottom:2.8rem;box-shadow:0 15px 40px rgba(0,0,0,.07)}
.k-prop-mosaic--single{grid-template-columns:1fr;height:440px}
.k-prop-mosaic__main{position:relative;height:100%;overflow:hidden;cursor:pointer;background:#0f172a}
.k-prop-mosaic__main img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.k-prop-mosaic__main:hover img{transform:scale(1.03)}
.k-prop-mosaic__sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.65rem;height:100%;min-height:0;overflow:hidden}
.k-prop-mosaic__sub--1{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.k-prop-mosaic__sub--2{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
.k-prop-mosaic__sub--3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.k-prop-mosaic__sub-item{position:relative;overflow:hidden;cursor:pointer;background:#e2e8f0}
.k-prop-mosaic__sub-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.k-prop-mosaic__sub-item:hover img{transform:scale(1.05)}
.k-prop-mosaic__more{position:absolute;inset:0;background:rgba(15,23,42,.6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;backdrop-filter:blur(2px);transition:background .2s}
.k-prop-mosaic__sub-item:hover .k-prop-mosaic__more{background:rgba(15,23,42,.75)}
.k-prop-mosaic__all-btn{position:absolute;bottom:1.2rem;right:1.2rem;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:999px;padding:.55rem 1.2rem;font-size:.88rem;font-weight:700;color:#0f172a;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.15);display:flex;align-items:center;gap:.4rem;z-index:4;transition:all .2s;font-family:inherit}
.k-prop-mosaic__all-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.2)}

@media (max-width:820px){
  .k-prop-mosaic{grid-template-columns:1fr;height:320px}
  .k-prop-mosaic__sub{display:none}
}

/* 2. Variante PANORÁMICA LUXURY (Sustituye al viejo cinematic) */
.k-prop-panoramic-hero{position:relative;height:clamp(400px,50vh,540px);border-radius:var(--k-radius-lg,22px);overflow:hidden;margin-bottom:1.8rem;box-shadow:0 20px 50px rgba(0,0,0,.12);background:#0f172a;cursor:pointer}
.k-prop-panoramic-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.k-prop-panoramic-hero:hover .k-prop-panoramic-hero__bg{transform:scale(1.02)}
.k-prop-panoramic-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.15) 0%,rgba(15,23,42,.3) 40%,rgba(15,23,42,.92) 100%)}
.k-prop-panoramic-hero__content{position:absolute;bottom:0;left:0;right:0;padding:2.5rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;z-index:2}
.k-prop-panoramic-hero__title{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.15;color:#fff;margin:0 0 .6rem;font-family:var(--font-heading);text-shadow:0 2px 12px rgba(0,0,0,.7)}
.k-prop-panoramic-hero__price{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);color:#0f172a;padding:.65rem 1.6rem;border-radius:999px;font-size:1.85rem;font-weight:800;font-family:var(--font-heading);box-shadow:0 10px 30px rgba(0,0,0,.3);white-space:nowrap}

/* Franja flotante de especificaciones */
.k-prop-specs-ribbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:var(--k-radius,14px);padding:1.3rem 1.8rem;margin-bottom:2.5rem;box-shadow:0 8px 25px rgba(0,0,0,.03)}
.k-prop-specs-ribbon__item{text-align:center;padding:0 .5rem}
.k-prop-specs-ribbon__ic{display:block;margin-bottom:.35rem;color:var(--accent,#9A6240);line-height:0}
.k-prop-specs-ribbon__ic svg{width:1.35rem;height:1.35rem;display:block;stroke:currentColor;fill:none}
.k-prop-specs-ribbon__val{font-size:1.15rem;font-weight:700;color:#0f172a;font-family:var(--font-heading);display:block}
.k-prop-specs-ribbon__lbl{font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}

/* Galería secundaria sin duplicar la imagen principal */
.k-prop-panoramic-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:1rem;margin-top:1.2rem}
.k-prop-panoramic-gallery__item{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;cursor:pointer;background:#e2e8f0}
.k-prop-panoramic-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.k-prop-panoramic-gallery__item:hover img{transform:scale(1.06)}
.k-prop-panoramic-gallery__zoom{position:absolute;inset:0;background:rgba(15,23,42,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff;font-size:1.4rem}
.k-prop-panoramic-gallery__item:hover .k-prop-panoramic-gallery__zoom{opacity:1}

/* 3. Variante MINIMAL BOUTIQUE */
.k-prop-detail--minimal .k-prop-detail__container{max-width:960px}
.k-prop-detail--minimal .k-prop-detail__layout{grid-template-columns:1fr;gap:2.5rem}
.k-prop-detail--minimal .k-prop-detail__sec{border:0;box-shadow:none;padding:1.8rem 0;background:transparent;border-top:1px solid #e2e8f0;border-radius:0}
.k-prop-detail--minimal .k-prop-detail__main-wrap{max-height:500px;aspect-ratio:16/9;border-radius:14px}
.k-prop-detail--minimal .k-prop-detail__side-card{position:static;box-shadow:0 8px 30px rgba(0,0,0,.04);border-radius:16px;max-width:700px;margin:2rem auto 0}

/* Botones de acción directa WhatsApp y Teléfono */
.k-btn--whatsapp{background:#25d366 !important;color:#fff !important;border:0;box-shadow:0 4px 14px rgba(37,211,102,.3);transition:all .15s}
.k-btn--whatsapp:hover{background:#1ebe57 !important;transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.4)}
.k-btn--call{background:#0f172a !important;color:#fff !important;border:0;transition:all .15s}
.k-btn--call:hover{background:#1e293b !important;transform:translateY(-2px)}

/* Botones de Compartir */
.k-prop-detail__share{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:1.2rem 0;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;margin-top:1.5rem}
.k-prop-detail__share span{font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.k-share-btn{background:#f1f5f9;border:1px solid #e2e8f0;padding:6px 12px;border-radius:8px;font-size:.85rem;font-weight:600;color:#334155;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s}
.k-share-btn:hover{background:#e2e8f0;color:#0f172a}

/* Lightbox Modal de Fotos a Pantalla Completa */
.k-lightbox{position:fixed;inset:0;background:rgba(10,15,29,.94);backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:2rem}
.k-lightbox__content{max-width:90vw;max-height:86vh;display:flex;flex-direction:column;align-items:center}
.k-lightbox__content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:12px;box-shadow:0 25px 60px rgba(0,0,0,.6)}
.k-lightbox__counter{color:#cbd5e1;font-size:.95rem;font-weight:600;margin-top:.9rem}
.k-lightbox__close{position:absolute;top:1.5rem;right:1.5rem;background:rgba(255,255,255,.15);border:0;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}
.k-lightbox__close:hover{background:rgba(255,255,255,.3)}
.k-lightbox__prev,.k-lightbox__next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .15s}
.k-lightbox__prev{left:1.5rem}
.k-lightbox__next{right:1.5rem}
.k-lightbox__prev:hover,.k-lightbox__next:hover{background:rgba(255,255,255,.3)}

/* Botón Flotante de WhatsApp */
.k-wa-floating{position:fixed;bottom:24px;z-index:9998;display:flex;align-items:center}
.k-wa-floating--right{right:24px}
.k-wa-floating--left{left:24px}
.k-wa-floating__btn{display:flex;align-items:center;gap:.6rem;background:#25d366;color:#fff !important;border-radius:999px;padding:12px;box-shadow:0 6px 24px rgba(37,211,102,.45),0 2px 6px rgba(0,0,0,.15);text-decoration:none;transition:all .25s cubic-bezier(.34,1.56,.64,1);cursor:pointer}
.k-wa-floating__btn:hover{background:#20ba5a;transform:scale(1.08) translateY(-3px);box-shadow:0 10px 30px rgba(37,211,102,.55),0 4px 10px rgba(0,0,0,.2)}
.k-wa-floating__icon{width:34px;height:34px;display:block;flex-shrink:0}
.k-wa-floating__label{font-family:system-ui,-apple-system,sans-serif;font-size:14px;font-weight:700;padding-right:8px;white-space:nowrap;color:#fff}
@media (max-width:640px){
  .k-wa-floating--right{right:16px;bottom:16px}
  .k-wa-floating--left{left:16px;bottom:16px}
  .k-wa-floating__label{display:none}
  .k-wa-floating__btn{padding:10px}
  .k-wa-floating__icon{width:30px;height:30px}
}

/* ==========================================================================
   NUEVOS BLOQUES VISUALES KIBBY (7 BLOQUES DE ALTO IMPACTO)
   ========================================================================== */

/* ---------------- 1. ANTES Y DESPUÉS (beforeAfter) ---------------- */
.k-before-after{position:relative}
.k-ba-box{margin-inline:auto;border-radius:var(--k-radius,16px);overflow:hidden;box-shadow:0 12px 36px rgba(0,0,0,.08);background:#000;border:1px solid var(--k-border,#e2e8f0)}
.k-ba-viewer{position:relative;width:100%;user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden}
.k-ba-layer{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.k-ba-layer img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.k-ba-viewer--h .k-ba-layer--before{clip-path:inset(0 calc(100% - var(--ba-pos,50%)) 0 0);-webkit-clip-path:inset(0 calc(100% - var(--ba-pos,50%)) 0 0)}
.k-ba-viewer--v .k-ba-layer--before{clip-path:inset(0 0 calc(100% - var(--ba-pos,50%)) 0);-webkit-clip-path:inset(0 0 calc(100% - var(--ba-pos,50%)) 0)}

.k-ba-divider{position:absolute;pointer-events:none;z-index:10}
.k-ba-viewer--h .k-ba-divider{top:0;bottom:0;left:var(--ba-pos,50%);width:2px;transform:translateX(-50%);background:#fff;box-shadow:0 0 12px rgba(0,0,0,.6)}
.k-ba-viewer--v .k-ba-divider{left:0;right:0;top:var(--ba-pos,50%);height:2px;transform:translateY(-50%);background:#fff;box-shadow:0 0 12px rgba(0,0,0,.6)}

.k-ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:#0f172a;box-shadow:0 4px 16px rgba(0,0,0,.35),0 0 0 3px rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:1px;pointer-events:auto;cursor:ew-resize}
.k-ba-viewer--v .k-ba-handle{cursor:ns-resize}
.k-ba-arrows{line-height:1}

.k-ba-pill{position:absolute;padding:5px 14px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:rgba(15,23,42,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;z-index:6;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.k-ba-viewer--h .k-ba-pill--before{bottom:16px;left:16px}
.k-ba-viewer--h .k-ba-pill--after{bottom:16px;right:16px}
.k-ba-viewer--v .k-ba-pill--before{top:16px;left:16px}
.k-ba-viewer--v .k-ba-pill--after{bottom:16px;left:16px}

.k-ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:20;margin:0;padding:0}
.k-ba-viewer--v .k-ba-range{cursor:ns-resize}

/* Variante lado a lado */
.k-ba-sbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem;margin-inline:auto}
.k-ba-sbs__card{border-radius:var(--k-radius,16px);overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.06);background:var(--k-card-bg,#fff);border:1px solid var(--k-border,#e2e8f0)}
.k-ba-sbs__img{position:relative;width:100%;overflow:hidden}
.k-ba-sbs__img img{width:100%;height:100%;object-fit:cover;display:block}
.k-ba-sbs__img .k-ba-pill{bottom:14px;left:14px}

/* ---------------- 2. PASOS DEL PROCESO (processSteps) ---------------- */
.k-steps{position:relative}
.k-steps__list{display:grid;gap:1.5rem}

/* Horizontal con línea conectora continua */
.k-steps--horizontal .k-steps__list{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));position:relative}
.k-steps--horizontal .k-step{display:flex;flex-direction:column;position:relative}
.k-steps--horizontal .k-step__marker{display:flex;align-items:center;gap:.75rem;margin-bottom:1.2rem;position:relative}
.k-steps--horizontal .k-step__marker::after{content:'';position:absolute;top:50%;left:54px;right:-1rem;height:2px;background:var(--k-border,#e2e8f0);z-index:1}
.k-steps--horizontal .k-step:last-child .k-step__marker::after{display:none}

.k-step__num{width:44px;height:44px;border-radius:50%;background:var(--accent,#6c47ff);color:#fff;font-family:var(--font-heading,inherit);font-weight:800;font-size:1.05rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(108,71,255,.3);flex-shrink:0;position:relative;z-index:2}
.k-step__icon{font-size:1.5rem;line-height:1}
.k-step__content{padding:1.6rem;border-radius:var(--k-radius,14px);background:var(--k-card-bg,#fff);border:1px solid var(--k-border,#e5e7eb);box-shadow:0 4px 18px rgba(0,0,0,.04);display:flex;flex-direction:column;flex-grow:1;transition:transform .2s,box-shadow .2s}
.k-step__content:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.k-step__badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent,#6c47ff);margin-bottom:.5rem;display:inline-block}
.k-step__title{font-size:1.2rem;font-weight:700;margin:0 0 .5rem;color:var(--ink,#0f172a);line-height:1.3}
.k-step__desc{font-size:.92rem;color:var(--mute,#64748b);line-height:1.55;margin:0;flex-grow:1}
.k-step__link{display:inline-flex;align-items:center;margin-top:.9rem;font-size:.9rem;font-weight:700;color:var(--accent,#6c47ff);text-decoration:none}
.k-step__link:hover{text-decoration:underline}

/* Variante Timeline Vertical */
.k-steps--timeline .k-steps__list{max-width:760px;margin-inline:auto;display:flex;flex-direction:column;gap:2rem;position:relative}
.k-steps--timeline .k-steps__list::before{content:'';position:absolute;top:20px;bottom:20px;left:21px;width:2px;background:var(--k-border,#e2e8f0)}
.k-steps--timeline .k-step{display:flex;gap:1.5rem;position:relative}
.k-steps--timeline .k-step__marker{margin-bottom:0;align-items:flex-start}

/* Variante Cards */
.k-steps--cards .k-steps__list{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:1.8rem}
.k-steps--cards .k-step__marker::after{display:none}

@media (max-width:768px){
  .k-steps--horizontal .k-step__marker::after{display:none}
}

/* ---------------- 3. CONTADORES Y CIFRAS (statsCounter) ---------------- */
.k-stats{position:relative}
.k-stats__grid{display:grid;gap:1.5rem;align-items:stretch}
.k-stats--cols-4{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.k-stats--cols-3{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.k-stats--cols-2{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}

.k-stat-card{padding:2.2rem 1.6rem;text-align:center;border-radius:var(--k-radius,16px);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.k-stats--cards .k-stat-card{background:var(--k-card-bg,#fff);border:1px solid var(--k-border,#e5e7eb);box-shadow:0 6px 20px rgba(0,0,0,.04)}
.k-stats--cards .k-stat-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08)}

.k-stats--minimal .k-stat-card{background:transparent;border:0;box-shadow:none;padding:1.5rem .5rem}

.k-stats--bar{border-top:1px solid var(--k-border,#e2e8f0);border-bottom:1px solid var(--k-border,#e2e8f0);padding-block:2rem}
.k-stats--bar .k-stat-card{background:transparent;border:0;box-shadow:none;padding:1rem .5rem}

.k-stats--dark-accent{background:#0f172a;color:#fff}
.k-stats--dark-accent .k-stat-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff}
.k-stats--dark-accent .k-stat-card:hover{background:rgba(255,255,255,.08)}
.k-stats--dark-accent .k-stat-desc{color:#94a3b8}

.k-stat-icon{font-size:2.2rem;line-height:1;margin-bottom:.6rem}
.k-stat-num-wrap{font-family:var(--font-heading,inherit);font-size:clamp(2.4rem,4.5vw,3.6rem);font-weight:800;line-height:1.05;color:var(--accent,#6c47ff);margin-bottom:.4rem;letter-spacing:-0.03em;display:inline-flex;align-items:baseline;justify-content:center;gap:.15rem}
.k-stats--dark-accent .k-stat-num-wrap{color:#38bdf8}
.k-stat-prefix,.k-stat-suffix{font-size:75%;font-weight:700}
.k-stat-label{font-size:1.1rem;font-weight:700;color:inherit;margin-bottom:.3rem;line-height:1.3}
.k-stat-desc{font-size:.88rem;color:var(--mute,#64748b);line-height:1.45;margin:0}

/* ---------------- 4. TABLA COMPARATIVA (comparisonTable) ---------------- */
.k-comparison{position:relative}
.k-cmp-table-wrap{max-width:960px;margin-inline:auto;border-radius:var(--k-radius,16px);overflow:hidden;box-shadow:0 10px 35px rgba(0,0,0,.06);border:1px solid var(--k-border,#e2e8f0);background:#fff}
.k-cmp-table{width:100%}

.k-cmp-head{display:grid;grid-template-columns:2.2fr 1.6fr 1.6fr;background:#f8fafc;border-bottom:2px solid var(--k-border,#e2e8f0)}
.k-cmp-head-col{padding:1.4rem 1.2rem;font-weight:700;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.k-cmp-head-col--feat{align-items:flex-start;text-align:left;padding-left:1.8rem;color:var(--ink,#0f172a);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
.k-cmp-head-col--us{background:rgba(108,71,255,.07);color:var(--accent,#6c47ff);border-left:1px solid rgba(108,71,255,.15);border-right:1px solid rgba(108,71,255,.15);position:relative}
.k-cmp-badge{display:inline-block;background:var(--accent,#6c47ff);color:#fff;font-size:10.5px;font-weight:800;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-bottom:.35rem;letter-spacing:.04em}
.k-cmp-title{font-size:1.15rem;font-weight:800}

.k-cmp-row{display:grid;grid-template-columns:2.2fr 1.6fr 1.6fr;border-bottom:1px solid var(--k-border,#f1f5f9);transition:background .12s}
.k-cmp-row:last-child{border-bottom:0}
.k-cmp-row:hover{background:#fafbfe}

.k-cmp-cell{padding:1.15rem 1.2rem;display:flex;align-items:center;justify-content:center;text-align:center}
.k-cmp-cell--feat{justify-content:flex-start;text-align:left;padding-left:1.8rem;flex-direction:column;align-items:flex-start}
.k-cmp-feat-name{font-weight:600;font-size:.98rem;color:var(--ink,#1e293b)}
.k-cmp-feat-hint{font-size:.82rem;color:var(--mute,#64748b);margin-top:2px}
.k-cmp-cell--us{background:rgba(108,71,255,.03);border-left:1px solid rgba(108,71,255,.1);border-right:1px solid rgba(108,71,255,.1);font-weight:600}

.k-cmp-val{display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem}
.k-cmp-val--yes{color:#16a34a;font-weight:700}
.k-cmp-val--yes .k-cmp-ico{font-size:1.1rem;background:#dcfce7;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.k-cmp-val--no{color:#94a3b8;font-weight:600}
.k-cmp-val--no .k-cmp-ico{font-size:1rem;background:#f1f5f9;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.k-cmp-val--custom{font-size:.92rem;color:var(--ink,#334155)}
.k-cmp-val--us{color:var(--accent,#6c47ff);font-weight:700}

.k-cmp-mob-col{display:none}

@media (max-width:640px){
  .k-cmp-head{display:none}
  .k-cmp-row{display:flex;flex-direction:column;padding:1rem;gap:.5rem;border-bottom:1px solid var(--k-border,#e2e8f0)}
  .k-cmp-cell{padding:.4rem 0;justify-content:space-between;width:100%}
  .k-cmp-cell--feat{padding-left:0;border-bottom:1px dashed #e2e8f0;padding-bottom:.5rem;margin-bottom:.2rem}
  .k-cmp-cell--us,.k-cmp-cell--them{border:0;background:transparent}
  .k-cmp-mob-col{display:inline-block;font-size:12px;font-weight:700;color:var(--mute,#64748b)}
}

/* ---------------- 5. EQUIPO Y PROFESIONALES (team) ---------------- */
.k-team{position:relative}
.k-team__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:2rem}
.k-team__card{background:var(--k-card-bg,#fff);border-radius:var(--k-radius,16px);overflow:hidden;border:1px solid var(--k-border,#e5e7eb);box-shadow:0 6px 22px rgba(0,0,0,.04);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.k-team__card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.08)}

.k-team__photo-wrap{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e2e8f0}
.k-team__photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.k-team__card:hover .k-team__photo{transform:scale(1.04)}
.k-team__badge{position:absolute;top:12px;right:12px;background:rgba(15,23,42,.85);backdrop-filter:blur(4px);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em}

.k-team__info{padding:1.6rem;display:flex;flex-direction:column;flex-grow:1;text-align:left}
.k-team__name{font-size:1.25rem;font-weight:700;margin:0 0 .3rem;color:var(--ink,#0f172a)}
.k-team__role{font-size:.92rem;font-weight:600;color:var(--accent,#6c47ff);margin-bottom:.6rem}
.k-team__bio{font-size:.88rem;color:var(--mute,#64748b);line-height:1.55;margin:0 0 1.2rem;flex-grow:1}

.k-team__social{display:flex;align-items:center;gap:.6rem;margin-top:auto}
.k-team__soc{width:32px;height:32px;border-radius:50%;background:#f1f5f9;color:#475569;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;font-weight:700;transition:all .15s}
.k-team__soc:hover{background:var(--accent,#6c47ff);color:#fff;transform:translateY(-2px)}

/* Variante Retratos Circulares */
.k-team--circle .k-team__card{background:transparent;border:0;box-shadow:none;align-items:center}
.k-team--circle .k-team__photo-wrap{width:160px;height:160px;aspect-ratio:1/1;border-radius:50%;margin:0 auto 1rem;box-shadow:0 8px 24px rgba(0,0,0,.1)}
.k-team--circle .k-team__info{text-align:center;padding:0;align-items:center}
.k-team--circle .k-team__social{justify-content:center}

/* Variante Compacta Horizontal */
.k-team--compact .k-team__card{flex-direction:row;align-items:center}
.k-team--compact .k-team__photo-wrap{width:110px;height:110px;aspect-ratio:1/1;flex-shrink:0}
.k-team--compact .k-team__info{padding:1rem 1.2rem}

/* ---------------- 6. LISTA DE TARIFAS (priceList) ---------------- */
.k-pricelist{position:relative}
.k-plist-content{max-width:860px;margin-inline:auto;display:flex;flex-direction:column;gap:2.2rem}
.k-pricelist--two-col .k-plist-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:2.5rem}

.k-plist-cat-title{font-size:1.35rem;font-weight:800;margin:0 0 1.2rem;color:var(--ink,#0f172a);padding-bottom:.45rem;border-bottom:2px solid var(--accent,#6c47ff);display:inline-block}
.k-plist-cat__items{display:flex;flex-direction:column;gap:1.1rem}

.k-plist-row{display:flex;flex-direction:column;padding:.65rem 0;border-bottom:1px solid rgba(0,0,0,.06)}
.k-plist-row.is-highlight{background:rgba(108,71,255,.05);padding:.85rem 1rem;border-radius:10px;border:1px solid rgba(108,71,255,.15)}
.k-plist-row__top{display:flex;align-items:baseline;width:100%;gap:.75rem}
.k-plist-row__name{font-family:var(--font-heading,var(--font-body,inherit));font-weight:700;font-size:1.05rem;color:var(--ink,#0f172a);display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.k-plist-dots{flex-grow:1;border-bottom:2px dotted #cbd5e1;margin-bottom:4px}
.k-plist-row__price{font-family:var(--font-heading,inherit);font-weight:800;font-size:1.15rem;color:var(--accent,#6c47ff);white-space:nowrap;margin-left:auto}
.k-plist-row__desc{font-size:.88rem;color:var(--mute,#64748b);line-height:1.45;margin:.35rem 0 0}
.k-plist-badge{font-size:10.5px;font-weight:800;text-transform:uppercase;background:rgba(108,71,255,.12);color:var(--accent,#6c47ff);padding:2px 7px;border-radius:6px;letter-spacing:.03em}
.k-plist-note{font-size:.86rem;margin-top:1.8rem;font-style:italic}

/* Variante Cards */
.k-pricelist--cards .k-plist-cat__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:1.2rem}
.k-plist-card{padding:1.5rem;border-radius:var(--k-radius,14px);background:var(--k-card-bg,#fff);border:1px solid var(--k-border,#e5e7eb);box-shadow:0 4px 18px rgba(0,0,0,.04);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.k-plist-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}
.k-plist-card.is-highlight{border:2px solid var(--accent,#6c47ff);background:rgba(108,71,255,.02)}
.k-plist-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.5rem}
.k-plist-card__name{font-family:var(--font-heading,var(--font-body,inherit));font-weight:700;font-size:1.1rem;color:var(--ink,#0f172a)}
.k-plist-card__desc{font-size:.88rem;color:var(--mute,#64748b);line-height:1.45;margin:0 0 1.2rem;flex-grow:1}
.k-plist-card__price{font-family:var(--font-heading,inherit);font-size:1.35rem;font-weight:800;color:var(--accent,#6c47ff);margin-top:auto}

/* ---------------- 7. BARRA DE ANUNCIOS SUPERIOR (topBar) ---------------- */
.k-topbar{position:relative;width:100%;z-index:95;font-size:13.5px;font-weight:500}
.k-topbar__in{display:flex;align-items:center;justify-content:center;position:relative;padding-block:.65rem;min-height:42px}
.k-topbar__content{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;text-align:center;padding-right:2rem}
.k-topbar__badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.22);color:inherit}
.k-topbar__text{line-height:1.4}
.k-topbar__btn{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;border-radius:999px;padding:2px 10px;font-size:12px;transition:all .15s;background:rgba(255,255,255,.25);color:inherit}
.k-topbar__btn:hover{background:rgba(255,255,255,.4);transform:translateY(-1px)}
.k-topbar__close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:transparent;border:0;color:inherit;opacity:.75;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;line-height:1;transition:opacity .15s}
.k-topbar__close:hover{opacity:1}

/* Temas de color de la barra */
.k-topbar--theme-accent{background:var(--accent,#6c47ff);color:#fff}
.k-topbar--theme-dark{background:#0f172a;color:#f8fafc}
.k-topbar--theme-gradient{background:linear-gradient(135deg,#6c47ff 0%,#ec4899 100%);color:#fff}
.k-topbar--theme-light{background:#f1f5f9;color:#334155;border-bottom:1px solid #e2e8f0}
.k-topbar--theme-light .k-topbar__badge{background:#e2e8f0;color:#0f172a}
.k-topbar--theme-light .k-topbar__btn{background:#0f172a;color:#fff}

/* Variante Marquee continuo */
.k-topbar--marquee{overflow:hidden;white-space:nowrap;padding-block:.65rem}
.k-topbar__track{display:inline-block;white-space:nowrap;animation:k-marquee 24s linear infinite}
.k-topbar__sep{margin-inline:.8rem;opacity:.5}
@keyframes k-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Variante Flotante */
.k-topbar--floating{position:sticky;top:0;box-shadow:0 4px 15px rgba(0,0,0,.08)}







/* Bloque Embed / iFrame (Cal.com, Calendly, Maps, etc.) */
.k-embed{position:relative}
.k-embed__fluid{width:100%;padding:0}
.k-embed__wrap{position:relative;width:100%;margin:0 auto}
.k-embed__frame{position:relative;width:100%;background:transparent}
.k-embed--card .k-embed__frame{background:#fff;border:1px solid var(--line,#e2e8f0);box-shadow:0 10px 30px -5px rgba(0,0,0,.08);padding:1rem}
.k-embed__iframe{display:block;width:100%;border:0}
.k-embed__raw{position:relative;width:100%}
.k-embed__raw iframe{max-width:100%}


/* ==========================================================================
   PLUGIN TIENDA Y CATÁLOGO DE PRODUCTOS (QUICK COMMERCE & WHATSAPP)
   ========================================================================== */

.k-shop{position:relative}
.k-shop__head{text-align:center;margin-bottom:2.2rem}
.k-shop__badge{display:inline-block;margin-bottom:.5rem}
.k-shop__toolbar{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:2.5rem;align-items:center}
.k-shop__search-wrap{position:relative;width:100%;max-width:440px}
.k-shop__search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.6;pointer-events:none}
.k-shop__search-input{width:100%;padding:11px 14px 11px 40px;border-radius:999px;border:1px solid var(--line,#e2e8f0);background:#fff;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}
.k-shop__search-input:focus{border-color:var(--brand,#6c47ff);box-shadow:0 0 0 3px rgba(108,71,255,.12)}

.k-shop__categories{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.k-shop__cat-btn{padding:7px 16px;border-radius:999px;border:1px solid var(--line,#e2e8f0);background:#fff;color:var(--ink,#0f172a);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s ease}
.k-shop__cat-btn:hover{background:#f8fafc;border-color:#cbd5e1}
.k-shop__cat-btn.is-active{background:var(--brand,#6c47ff);border-color:var(--brand,#6c47ff);color:#fff;box-shadow:0 4px 12px rgba(108,71,255,.25)}

.k-shop__grid{display:grid;gap:1.8rem;width:100%}
.k-shop__grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.k-shop__grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.k-shop__grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr))}

/* Tarjetas de Producto */
.k-shop-card{background:#fff;border-radius:16px;border:1px solid var(--line,#e2e8f0);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease;position:relative}
.k-shop-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -10px rgba(0,0,0,.1)}
.k-shop-card--cards{box-shadow:0 10px 25px -8px rgba(0,0,0,.08);border-color:transparent}
.k-shop-card--compact{flex-direction:row;align-items:center}
.k-shop-card--compact .k-shop-card__media{width:120px;height:120px;flex-shrink:0}
.k-shop-card--compact .k-shop-card__body{padding:1rem}

.k-shop-card__media{position:relative;width:100%;aspect-ratio:1/1;background:#f1f5f9;overflow:hidden}
.k-shop-card__img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;display:block}
.k-shop-card:hover .k-shop-card__img{transform:scale(1.06)}
.k-shop-card__badge{position:absolute;top:10px;left:10px;padding:4px 9px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;background:rgba(15,23,42,.85);color:#fff;backdrop-filter:blur(4px);z-index:2}
.k-shop-card__badge--discount{background:#ef4444}

.k-shop-card__body{padding:1.2rem;display:flex;flex-direction:column;flex:1}
.k-shop-card__category{font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;color:var(--mute,#64748b);margin-bottom:.3rem}
.k-shop-card__title{font-size:1.1rem;font-weight:700;margin:0 0 .4rem;color:var(--ink,#0f172a);line-height:1.35}
.k-shop-card__desc{font-size:13px;color:var(--mute,#64748b);margin:0 0 1.2rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-shop-card__footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding-top:.8rem;border-top:1px solid #f1f5f9}
.k-shop-card__prices{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.k-shop-card__price{font-size:1.3rem;font-weight:800;color:var(--ink,#0f172a)}
.k-shop-card__compare{font-size:.9rem;text-decoration:line-through;color:var(--mute,#94a3b8)}
.k-shop-card__btn{padding:.55rem 1rem!important;font-size:13px!important;border-radius:999px!important;display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;white-space:nowrap}
.k-shop-card__btn-icon{font-size:14px}

/* ==========================================================================
   BLOQUE INDEPENDIENTE: BUSCADOR DE TIENDA
   ========================================================================== */
.k-shop-search-sec{padding:2.5rem 0}
.k-shop-search__box{max-width:760px;margin:0 auto}
.k-shop-search__bar{
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid var(--line,#e2e8f0);
  border-radius:999px;
  padding:6px 12px 6px 16px;
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  transition:all .2s ease;
  position:relative;
  gap:.5rem;
}
.k-shop-search__bar:focus-within{
  border-color:var(--brand,#6c47ff);
  box-shadow:0 6px 25px rgba(108,71,255,.14);
}
.k-shop-search__icon{
  display:flex;
  align-items:center;
  color:#94a3b8;
  flex-shrink:0;
}
.k-shop-search__input{
  flex:1;
  border:0;
  outline:none;
  font-size:15px;
  background:transparent;
  color:var(--ink,#0f172a);
  min-width:0;
  font-family:inherit;
}
.k-shop-search__clear{
  background:none;
  border:0;
  color:#94a3b8;
  cursor:pointer;
  padding:4px 8px;
  font-size:14px;
}
.k-shop-search__clear:hover{color:var(--ink,#0f172a)}
.k-shop-search__select-wrap{
  border-left:1px solid #e2e8f0;
  padding-left:8px;
  margin-left:4px;
  flex-shrink:0;
}
.k-shop-search__select{
  border:0;
  outline:none;
  background:transparent;
  font-size:13px;
  font-weight:600;
  color:#475569;
  cursor:pointer;
  padding:4px 6px;
  font-family:inherit;
}
.k-shop-search--capsule .k-shop-search__bar{max-width:580px;margin:0 auto}
.k-shop-search--bar .k-shop-search__bar{border-radius:14px}
.k-shop__no-results{
  grid-column:1/-1;
  text-align:center;
  padding:3.5rem 1.5rem;
  background:#f8fafc;
  border-radius:14px;
  border:1px dashed #cbd5e1;
  color:var(--mute,#64748b);
}
#catalogo-productos{scroll-margin-top:90px}

/* Botón Flotante del Carrito (desactivado: integrado en el menú) */
.k-cart-float{display:none!important}

/* Drawer / Modal del Carrito */
.k-cart-drawer{position:fixed;inset:0;z-index:10000;display:none}
.k-cart-drawer.is-open{display:block}
.k-cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);animation:kCartFade .2s ease}
.k-cart-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:440px;background:#fff;display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(0,0,0,.15);z-index:10001;animation:kCartSlide .28s cubic-bezier(.16,1,.3,1)}

@keyframes kCartFade{from{opacity:0}to{opacity:1}}
@keyframes kCartSlide{from{transform:translateX(100%)}to{transform:translateX(0)}}

.k-cart-head{padding:1.2rem 1.4rem;border-bottom:1px solid var(--line,#e2e8f0);display:flex;align-items:center;justify-content:space-between}
.k-cart-head h2{margin:0;font-size:1.15rem;font-weight:800;display:flex;align-items:center;gap:.5rem}
.k-cart-close{background:none;border:0;font-size:1.4rem;color:var(--mute,#64748b);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}
.k-cart-close:hover{color:var(--ink,#0f172a);background:#f1f5f9}

.k-cart-body{flex:1;overflow-y:auto;padding:1.4rem}
.k-cart-items{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}
.k-cart-item{display:flex;gap:1rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid #f1f5f9}
.k-cart-item__img{width:60px;height:60px;border-radius:10px;object-fit:cover;background:#f1f5f9;flex-shrink:0}
.k-cart-item__info{flex:1;min-width:0}
.k-cart-item__title{font-size:13.5px;font-weight:700;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-cart-item__price{font-size:13px;font-weight:600;color:var(--ink,#0f172a)}
.k-cart-item__stepper{display:flex;align-items:center;gap:.4rem;margin-top:.4rem}
.k-cart-btn-qty{width:26px;height:26px;border-radius:6px;border:1px solid var(--line,#e2e8f0);background:#fff;cursor:pointer;font-weight:700;display:grid;place-items:center;font-size:14px;color:var(--ink,#0f172a);padding:0}
.k-cart-btn-qty:hover{background:#f8fafc;border-color:#cbd5e1}
.k-cart-qty-num{font-size:13px;font-weight:700;min-width:20px;text-align:center}
.k-cart-item__remove{background:none;border:0;color:#94a3b8;cursor:pointer;font-size:16px;padding:4px 6px;margin-left:auto}
.k-cart-item__remove:hover{color:#ef4444}

.k-cart-empty{text-align:center;padding:3rem 1rem;color:var(--mute,#64748b)}
.k-cart-empty__icon{font-size:3rem;margin-bottom:.6rem}

.k-cart-form{background:#f8fafc;border:1px solid var(--line,#e2e8f0);border-radius:12px;padding:1.1rem;margin-bottom:1.5rem}
.k-cart-form h4{margin:0 0 .8rem;font-size:13.5px;font-weight:700;text-transform:uppercase;color:var(--mute,#64748b);letter-spacing:.3px}
.k-cart-field{margin-bottom:.8rem}
.k-cart-field:last-child{margin-bottom:0}
.k-cart-field label{display:block;font-size:12px;font-weight:600;color:var(--ink,#0f172a);margin-bottom:3px}
.k-cart-field input,.k-cart-field select,.k-cart-field textarea{width:100%;padding:8px 11px;border-radius:8px;border:1px solid var(--line,#e2e8f0);background:#fff;font-size:13px;box-sizing:border-box;font-family:inherit}
.k-cart-field input:focus,.k-cart-field select:focus,.k-cart-field textarea:focus{border-color:var(--brand,#6c47ff);outline:none}

.k-cart-delivery-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.8rem}
.k-cart-delivery-btn{padding:8px;border:1px solid var(--line,#e2e8f0);border-radius:8px;background:#fff;font-size:12px;font-weight:700;cursor:pointer;text-align:center}
.k-cart-delivery-btn.is-active{background:var(--ink,#0f172a);color:#fff;border-color:var(--ink,#0f172a)}

.k-cart-foot{padding:1.2rem 1.4rem;border-top:1px solid var(--line,#e2e8f0);background:#fff}
.k-cart-summary{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;font-size:13.5px}
.k-cart-summary-row{display:flex;justify-content:space-between;color:var(--mute,#64748b)}
.k-cart-summary-row.total{color:var(--ink,#0f172a);font-weight:800;font-size:1.2rem;border-top:1px solid #f1f5f9;padding-top:.5rem;margin-top:.2rem}

.k-cart-btn-wa{width:100%;padding:14px 18px;border-radius:12px;background:#25d366;color:#fff;border:0;font-size:15px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;box-shadow:0 8px 24px rgba(37,211,102,.35);transition:all .2s ease;font-family:inherit}
.k-cart-btn-wa:hover{background:#20bd5a;transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.4)}
.k-cart-btn-wa:disabled{background:#cbd5e1;cursor:not-allowed;transform:none;box-shadow:none}

@media (max-width:640px){
  .k-shop__grid.cols-2,.k-shop__grid.cols-3,.k-shop__grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
  .k-cart-panel{max-width:100%}
}

/* ==========================================================================
   BOTÓN DEL CARRITO EN LA CABECERA / MENÚ (MINIMALISTA Y MONOCROMÁTICO)
   ========================================================================== */
.k-header__in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem}
.k-header__actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0}

.k-header-cart{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:inherit;
  border:1px solid rgba(0,0,0,.14);
  border-radius:50%;
  width:38px;
  height:38px;
  padding:0;
  cursor:pointer;
  transition:all .2s ease;
  font-family:inherit;
  box-sizing:border-box;
}
.k-header-cart:hover{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.3);
  transform:scale(1.04);
}
.k-header-cart__icon{
  display:block;
  color:currentColor;
  transition:transform .15s ease;
}
.k-header-cart:hover .k-header-cart__icon{
  transform:translateY(-1px);
}
.k-header-cart__badge{
  position:absolute;
  top:-4px;
  right:-4px;
  background:var(--ink,#0f172a);
  color:#fff;
  font-size:10px;
  font-weight:700;
  min-width:17px;
  height:17px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 3px;
  border:1.5px solid #fff;
  line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
}

/* Cabecera transparente / oscura sobre Hero */
.k-header--overlay .k-header-cart{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.25);
  color:#fff;
}
.k-header--overlay .k-header-cart:hover{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.45);
}
.k-header--overlay .k-header-cart__badge{
  background:#fff;
  color:#0f172a;
  border-color:#0f172a;
}

.k-header-cart--mobile-link{
  display:none;
}

@media (max-width:760px){
  .k-header__actions{margin-left:auto}
  .k-header-cart--mobile-link{
    display:flex;
    align-items:center;
    gap:.6rem;
    font-weight:600;
    font-size:14.5px;
    color:inherit!important;
    padding:.8rem 0 .2rem;
    margin-top:.4rem;
    border-top:1px solid rgba(0,0,0,.08);
  }
}


/* ==========================================================================
   FICHA PÚBLICA DE PRODUCTO (ESTILO SHOPIFY PREMIUM)
   ========================================================================== */
.k-product-page {
  padding: 2rem 0 5rem;
  background: #fbfcfd;
  color: var(--ink, #0f172a);
}

.k-product-page__container {
  width: min(1200px,calc(100% - 2.5rem));
  margin-inline: auto;
}

/* Breadcrumbs */
.k-product-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.86rem;
  color: var(--mute, #64748b);
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.k-product-breadcrumbs a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

.k-product-breadcrumbs a:hover {
  color: var(--accent, #6c47ff);
}

.k-product-breadcrumbs .sep {
  opacity: 0.4;
  font-size: 0.8rem;
}

.k-product-breadcrumbs .cur {
  color: var(--ink, #0f172a);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 320px;
}

/* 2-Column Shopify Layout */
.k-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: start;
  margin-bottom: 4rem;
}

/* Media Gallery */
.k-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.k-product-gallery__main {
  position: relative;
  aspect-ratio: 1 / 1;
  border-radius: var(--k-radius-lg, 20px);
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line, #e2e8f0);
  box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.06);
}

.k-product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.k-product-gallery__main:hover img {
  transform: scale(1.03);
}

.k-product-gallery__badge {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(15, 23, 42, 0.9);
  color: #fff;
  backdrop-filter: blur(8px);
  z-index: 2;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.k-product-gallery__badge--discount {
  background: #ef4444;
}

.k-product-thumbs {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  padding: 0.3rem 0;
  scrollbar-width: thin;
}

.k-product-thumb {
  width: 78px;
  height: 78px;
  border-radius: 12px;
  border: 2px solid transparent;
  background: #fff;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  flex-shrink: 0;
  transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

.k-product-thumb:hover {
  border-color: #cbd5e1;
}

.k-product-thumb.is-active {
  border-color: var(--accent, #6c47ff);
  box-shadow: 0 0 0 3px rgba(108, 71, 255, 0.18);
}

.k-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Product Info & Purchase (Sticky Shopify Box) */
.k-product-info {
  background: #fff;
  border-radius: var(--k-radius-lg, 20px);
  border: 1px solid var(--line, #e2e8f0);
  padding: 2.2rem 2.4rem;
  box-shadow: 0 12px 35px -10px rgba(15, 23, 42, 0.05);
  position: sticky;
  top: 2rem;
}

.k-product-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
  flex-wrap: wrap;
}

.k-product-cat {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent, #6c47ff);
}

.k-product-stock-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 999px;
  background: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
}

.k-product-stock-pill--out {
  background: #fef2f2;
  color: #991b1b;
  border-color: #fecaca;
}

.k-product-stock-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
}

.k-product-stock-pill--out .k-product-stock-dot {
  background: #ef4444;
}

.k-product-title {
  font-size: clamp(1.7rem, 3.2vw, 2.3rem);
  font-family: var(--font-heading);
  line-height: 1.22;
  margin: 0 0 0.8rem;
  color: var(--ink, #0f172a);
}

.k-product-sku {
  font-size: 12px;
  color: var(--mute, #64748b);
  margin-bottom: 1.2rem;
}

/* Pricing Box */
.k-product-pricing {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--line, #f1f5f9);
  border-bottom: 1px solid var(--line, #f1f5f9);
  margin-bottom: 1.4rem;
  flex-wrap: wrap;
}

.k-product-price {
  font-size: 2.1rem;
  font-weight: 800;
  font-family: var(--font-heading);
  color: var(--ink, #0f172a);
  letter-spacing: -0.02em;
}

.k-product-compare {
  font-size: 1.15rem;
  color: var(--mute, #94a3b8);
  text-decoration: line-through;
}

.k-product-savings-pill {
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
}

.k-product-excerpt {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #475569;
  margin-bottom: 1.6rem;
}

/* Quantity and Buttons */
.k-product-actions {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  margin-bottom: 1.8rem;
}

.k-product-qty-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.4rem;
}

.k-product-qty-lbl {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}

.k-product-qty-selector {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line, #cbd5e1);
  border-radius: 10px;
  overflow: hidden;
  background: #f8fafc;
}

.k-product-qty-btn {
  width: 38px;
  height: 38px;
  background: transparent;
  border: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--ink, #0f172a);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s ease;
  user-select: none;
}

.k-product-qty-btn:hover {
  background: #e2e8f0;
}

.k-product-qty-input {
  width: 48px;
  height: 38px;
  border: 0;
  background: #fff;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink, #0f172a);
  outline: none;
  font-family: inherit;
  border-inline: 1px solid var(--line, #cbd5e1);
}

.k-product-add-btn {
  width: 100%;
  padding: 0.95rem 1.4rem !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  border-radius: var(--k-btn-radius, 12px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  box-shadow: 0 8px 20px -6px rgba(108, 71, 255, 0.35);
  cursor: pointer;
  transition: all 0.2s ease;
}

.k-product-add-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px -6px rgba(108, 71, 255, 0.45);
}

.k-product-wa-btn {
  width: 100%;
  padding: 0.9rem 1.4rem !important;
  font-size: 0.98rem !important;
  font-weight: 700 !important;
  border-radius: var(--k-btn-radius, 12px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: #25D366 !important;
  color: #fff !important;
  text-decoration: none;
  transition: all 0.2s ease;
  box-shadow: 0 6px 18px -4px rgba(37, 211, 102, 0.35);
}

.k-product-wa-btn:hover {
  background: #20bd5a !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px -4px rgba(37, 211, 102, 0.45);
}

/* Trust Elements / Badges */
.k-product-trust {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--line, #f1f5f9);
}

.k-product-trust-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 12.8px;
  color: #334155;
}

.k-product-trust-icon {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #f1f5f9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
  color: var(--accent, #6c47ff);
}

/* Tabs Section */
.k-product-tabs-wrap {
  background: #fff;
  border-radius: var(--k-radius-lg, 20px);
  border: 1px solid var(--line, #e2e8f0);
  box-shadow: 0 8px 25px -8px rgba(15, 23, 42, 0.04);
  padding: 2.2rem 2.4rem;
  margin-bottom: 4rem;
}

.k-product-tabs-nav {
  display: flex;
  gap: 1.2rem;
  border-bottom: 1px solid var(--line, #e2e8f0);
  margin-bottom: 1.8rem;
  overflow-x: auto;
}

.k-prod-tab-btn {
  background: none;
  border: 0;
  padding: 0.6rem 0.2rem 0.9rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--mute, #64748b);
  cursor: pointer;
  position: relative;
  font-family: inherit;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.k-prod-tab-btn:hover {
  color: var(--ink, #0f172a);
}

.k-prod-tab-btn.is-active {
  color: var(--accent, #6c47ff);
  font-weight: 700;
}

.k-prod-tab-btn.is-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2.5px;
  background: var(--accent, #6c47ff);
  border-radius: 999px;
}

.k-prod-tab-content {
  display: none;
  font-size: 1rem;
  line-height: 1.8;
  color: #334155;
}

.k-prod-tab-content.is-active {
  display: block;
}

.k-prod-tab-content p {
  margin: 0 0 1rem;
}

.k-prod-tab-content ul {
  padding-left: 1.4rem;
  margin: 0 0 1.2rem;
}

.k-prod-tab-content li {
  margin-bottom: 0.5rem;
}

/* Related Products Grid */
.k-product-related {
  margin-top: 4.5rem;
}

.k-product-related__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.k-product-related__title {
  font-size: clamp(1.4rem, 2.8vw, 1.9rem);
  font-family: var(--font-heading);
  margin: 0;
  color: var(--ink, #0f172a);
}

.k-product-related__link {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--accent, #6c47ff);
  text-decoration: none;
}

.k-product-related__link:hover {
  text-decoration: underline;
}

/* Media links in cards */
.k-shop-card__media {
  display: block;
  text-decoration: none;
  cursor: pointer;
}

.k-shop-card__title-link {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}

.k-shop-card__title-link:hover {
  color: var(--accent, #6c47ff);
}

/* Responsive adjustments */
@media (max-width: 960px) {
  .k-product-layout {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }
  .k-product-info {
    position: static;
    padding: 1.8rem;
  }
  .k-product-tabs-wrap {
    padding: 1.6rem;
  }
}

@media (max-width: 580px) {
  .k-product-breadcrumbs .cur {
    max-width: 180px;
  }
  .k-product-thumb {
    width: 64px;
    height: 64px;
  }
  .k-product-pricing {
    gap: 0.5rem;
  }
  .k-product-price {
    font-size: 1.75rem;
  }
}


/* ==========================================================================
   VARIANTES DE DISEÑO DE FICHA DE PRODUCTO (/producto/:slug)
   ========================================================================== */

/* 1. Minimalista Boutique */
.k-product-page--minimal .k-product-page__container {
  max-width: 920px;
}
.k-product-page--minimal .k-product-layout {
  grid-template-columns: 1fr;
  gap: 2.8rem;
  text-align: center;
}
.k-product-page--minimal .k-product-gallery__main {
  max-width: 520px;
  margin-inline: auto;
  border-radius: var(--k-radius-lg, 24px);
}
.k-product-page--minimal .k-product-thumbs {
  justify-content: center;
}
.k-product-page--minimal .k-product-meta,
.k-product-page--minimal .k-product-pricing,
.k-product-page--minimal .k-product-qty-row,
 {
  justify-content: center;
}
.k-product-page--minimal .k-product-info {
  max-width: 640px;
  margin-inline: auto;
  position: static;
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
}
.k-product-page--minimal .k-product-trust {
  text-align: left;
}

/* ==========================================================================
   2. EDITORIAL LOOKBOOK ZARA (DISTRIBUCIÓN Y ESTILO DE ALTA COSTURA)
   ========================================================================== */
.k-product-page--grid {
  background: #ffffff;
  padding: 1.5rem 0 5rem;
}

.k-product-page--grid .k-product-page__container {
  width: min(1360px,calc(100% - 2.5rem));
}

.k-product-page--grid .k-product-breadcrumbs {
  font-size: 11.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 2rem;
  opacity: 0.8;
}

.k-product-page--grid .k-product-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) 420px;
  gap: 4.5rem;
  align-items: start;
}

/* Stream vertical continuo de looks / fotos sin marcos ni cajas */
.k-zara-stream {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}

.k-zara-look {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: #f4f4f5;
  cursor: zoom-in;
}

.k-zara-look img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.k-zara-look:hover img {
  transform: scale(1.025);
}

.k-zara-look__num {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  font-size: 10.5px;
  letter-spacing: 0.16em;
  font-weight: 600;
  color: #18181b;
  background: rgba(255, 255, 255, 0.92);
  padding: 4px 9px;
  backdrop-filter: blur(6px);
  z-index: 2;
  text-transform: uppercase;
}

.k-zara-look__badge {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  background: #09090b;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  letter-spacing: 0.06em;
  z-index: 2;
}

/* Columna de compra Zara (Flotante y despejada, sin recuadros ni sombras) */
.k-product-page--grid .k-product-info,
.k-zara-info {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  position: sticky !important;
  top: 2.5rem !important;
}

.k-zara-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.6rem;
}

.k-zara-cat {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: #71717a;
}

.k-zara-title {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
  margin: 0 0 0.5rem;
  color: #09090b;
  font-family: var(--font-heading);
}

.k-zara-ref {
  font-size: 11.5px;
  color: #a1a1aa;
  letter-spacing: 0.08em;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.k-zara-pricing {
  display: flex;
  align-items: baseline;
  gap: 0.9rem;
  padding: 1.1rem 0;
  border-top: 1px solid #e4e4e7;
  border-bottom: 1px solid #e4e4e7;
  margin-bottom: 1.4rem;
}

.k-zara-price {
  font-size: 1.7rem;
  font-weight: 600;
  color: #09090b;
  font-family: var(--font-heading);
  letter-spacing: -0.01em;
}

.k-zara-compare {
  font-size: 1.1rem;
  color: #a1a1aa;
  text-decoration: line-through;
}

.k-zara-desc {
  font-size: 13.5px;
  line-height: 1.65;
  color: #52525b;
  margin-bottom: 1.8rem;
}

/* Botones de acción estilo Zara */
.k-zara-add-btn {
  width: 100%;
  padding: 1.05rem 1.4rem !important;
  background: #09090b !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0px !important;
  cursor: pointer;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  transition: all 0.2s ease;
  box-shadow: none !important;
}

.k-zara-add-btn:hover {
  background: #27272a !important;
  transform: none !important;
}

.k-zara-wa-btn {
  width: 100%;
  padding: 0.9rem 1.4rem !important;
  background: transparent !important;
  border: 1.5px solid #25D366 !important;
  color: #166534 !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  border-radius: 0px !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  transition: all 0.2s ease;
  box-shadow: none !important;
}

.k-zara-wa-btn:hover {
  background: #25D366 !important;
  color: #ffffff !important;
  transform: none !important;
}

/* Acordeón Minimalista Inline para Look Zara */
.k-zara-accordion {
  border-top: 1px solid #e4e4e7;
  margin-top: 2rem;
}

.k-zara-acc-item {
  border-bottom: 1px solid #e4e4e7;
}

.k-zara-acc-title {
  padding: 1rem 0;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #18181b;
  user-select: none;
}

.k-zara-acc-title::-webkit-details-marker {
  display: none;
}

.k-zara-acc-title::after {
  content: "+";
  font-size: 17px;
  font-weight: 400;
  color: #71717a;
}

.k-zara-acc-item[open] .k-zara-acc-title::after {
  content: "−";
}

.k-zara-acc-content {
  padding: 0 0 1.2rem;
  font-size: 13px;
  line-height: 1.7;
  color: #52525b;
}

.k-zara-acc-content p {
  margin: 0 0 0.6rem;
}

@media (max-width: 960px) {
  .k-product-page--grid .k-product-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

/* 3. Ficha Rápida / Compact */
.k-product-page--compact {
  padding: 1.5rem 0 4rem;
}
.k-product-page--compact .k-product-layout {
  grid-template-columns: 360px 1fr;
  gap: 2.5rem;
  align-items: start;
}
.k-product-page--compact .k-product-gallery__main {
  aspect-ratio: 1 / 1;
}
.k-product-page--compact .k-product-info {
  padding: 1.8rem;
}

/* Estilos de galería de imágenes secundarias */
.k-gallery--stack .k-product-thumbs {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  overflow: visible;
}
.k-gallery--stack .k-product-thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

.k-gallery--carousel .k-product-thumbs {
  justify-content: center;
  gap: 0.6rem;
  padding: 0.8rem 0;
}
.k-gallery--carousel .k-product-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  padding: 0;
  background: #cbd5e1;
  border: 0;
}
.k-gallery--carousel .k-product-thumb img {
  display: none;
}
.k-gallery--carousel .k-product-thumb.is-active {
  background: var(--accent, #6c47ff);
  box-shadow: 0 0 0 3px rgba(108, 71, 255, 0.2);
}

/* ==========================================================================
   DISEÑOS Y ESTILOS DEL ICONO DEL CARRITO EN EL MENÚ
   ========================================================================== */
.k-header-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}

/* Minimalista (Outline limpio) */
.k-header-cart--minimal {
  background: transparent;
  border: 1px solid transparent;
  color: inherit;
  padding: 0.45rem;
  border-radius: 999px;
}
.k-header-cart--minimal:hover {
  background: rgba(0, 0, 0, 0.05);
}

/* Cápsula (Pill con borde elegante) */
.k-header-cart--pill {
  padding: 0.45rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--line, #cbd5e1);
  background: #fff;
  color: var(--ink, #0f172a);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.k-header-cart--pill:hover {
  border-color: var(--accent, #6c47ff);
  color: var(--accent, #6c47ff);
  transform: translateY(-1px);
}

/* Botón Sólido Destacado */
.k-header-cart--button {
  padding: 0.5rem 1.1rem;
  border-radius: var(--k-btn-radius, 10px);
  background: var(--accent, #6c47ff);
  color: #fff;
  border: 0;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(108, 71, 255, 0.25);
}
.k-header-cart--button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(108, 71, 255, 0.35);
}
.k-header-cart--button .k-header-cart__icon {
  stroke: #fff;
}
.k-header-cart--button .k-header-cart__badge {
  background: #fff;
  color: var(--ink, #0f172a);
}

/* Icono con texto */
.k-header-cart--icon-text {
  padding: 0.45rem 0.8rem;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.04);
  color: inherit;
  font-weight: 600;
}
.k-header-cart--icon-text:hover {
  background: rgba(0, 0, 0, 0.08);
}

.k-header-cart__label {
  font-size: 13.5px;
  font-weight: 600;
  color: inherit;
}

.k-header-cart__total {
  font-size: 12.8px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.07);
  margin-left: 0.25rem;
  color: inherit;
}
.k-header-cart--button .k-header-cart__total {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.k-product-trust-icon {
  color: #475569 !important;
}
.k-product-trust-icon svg {
  display: block;
  stroke: currentColor;
}


/* =======================================================
   ESTILOS PREMIUM SESONI & BLOQUES EDITORIALES KIBBY
   ======================================================= */

/* Tipografía Apercu Pro */
@font-face {
  font-family: 'Apercu Pro';
  src: url('/assets/fonts/ApercuPro.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Apercu Pro';
  src: url('/assets/fonts/ApercuPro-Medium.woff2') format('woff2');
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: 'Apercu Pro';
  src: url('/assets/fonts/ApercuPro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}

/* Hero con vídeo de fondo */
.k-hero--video {
  position: relative;
  min-height: 85vh;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
  padding: 8rem 0 5rem;
}
.k-hero__video-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.k-hero__video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.k-hero__video-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
}
.k-hero--video .k-hero__text h1 {
  font-size: clamp(2.3rem, 5.2vw, 4.2rem);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-weight: 500;
  max-width: 24ch;
  margin: 0 0 1.5rem;
  color: #fff;
}
.k-hero--video .k-hero__text p {
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  line-height: 1.55;
  max-width: 48ch;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 2.2rem;
}

/* Manifiesto Editorial */
.k-manifesto {
  position: relative;
  overflow: hidden;
  padding: 6rem 0;
}
.k-manifesto__wrap {
  position: relative;
  z-index: 2;
}
.k-manifesto__quote {
  font-size: clamp(1.8rem, 3.8vw, 3rem);
  line-height: 1.25;
  letter-spacing: -0.02em;
  font-weight: 500;
  margin: 1.5rem 0 3.5rem;
  padding: 0;
  border: 0;
  color: inherit;
  max-width: 32ch;
}
.k-manifesto__quote em {
  font-style: italic;
  font-weight: 400;
  opacity: 0.88;
}
.k-manifesto__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px,100%),1fr));
  gap: 2.5rem;
  margin-top: 2rem;
}
.k-manifesto__item strong {
  display: block;
  font-family: var(--font-heading, var(--font-body, inherit));
  font-size: 1.15rem;
  font-weight: 600;
  margin-bottom: 0.6rem;
  color: inherit;
}
.k-manifesto__item p {
  font-size: 0.98rem;
  line-height: 1.6;
  opacity: 0.82;
  margin: 0;
  color: inherit;
}
.k-manifesto__ilu {
  position: absolute;
  right: -2rem;
  bottom: -3rem;
  width: clamp(260px, 28vw, 420px);
  pointer-events: none;
  opacity: 0.22;
  z-index: 1;
}
.k-manifesto__ilu img {
  width: 100%;
  height: auto;
  display: block;
}

/* Editorial: declaración centrada y pilares con icono propio */
.k-manifesto--editorial {
  text-align: center;
}
.k-manifesto--editorial .k-manifesto__head {
  max-width: 780px;
  margin: 0 auto;
}
.k-manifesto--editorial .k-manifesto__quote {
  max-width: 24ch;
  margin-inline: auto;
}
.k-manifesto--editorial .k-manifesto__grid {
  text-align: left;
  max-width: 1040px;
  margin-inline: auto;
  margin-top: 3.5rem;
  gap: 2.5rem 3rem;
}
.k-manifesto__icon {
  display: block;
  font-size: 1.6rem;
  line-height: 1;
  margin-bottom: 0.9rem;
  opacity: 0.92;
}
.k-manifesto__icon svg {
  width: 26px;
  height: 26px;
  display: block;
}
.k-manifesto__pic {
  display: block;
  width: 34px;
  height: 34px;
  object-fit: contain;
  margin-bottom: 0.9rem;
}
@media (max-width: 760px) {
  .k-manifesto--editorial .k-manifesto__grid {
    margin-top: 2.5rem;
    gap: 2rem;
  }
}

/* Carrusel de Proyectos */
.k-proy-sec {
  padding: 6rem 0 5rem;
  overflow: hidden;
}
.k-proy-sec__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}
.k-proy-sec__head h2 {
  font-size: clamp(1.8rem, 3.5vw, 2.7rem);
  line-height: 1.18;
  letter-spacing: -0.02em;
  margin: 0.6rem 0 0.5rem;
  max-width: 26ch;
}
.k-proy-sec__head p {
  font-size: 1.05rem;
  opacity: 0.78;
  max-width: 50ch;
  margin: 0;
}
.k-proy-sec__ctrl {
  display: flex;
  gap: 0.6rem;
}
.k-proy-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.k-proy-btn:hover {
  background: currentColor;
  color: #fff;
}
.k-proy-track {
  display: flex;
  gap: 1.75rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 0.5rem 1.5rem 2rem;
  cursor: grab;
  user-select: none;
}
.k-proy-track::-webkit-scrollbar {
  display: none;
}
.k-proy-track:active {
  cursor: grabbing;
}
.k-proy-card {
  flex: 0 0 clamp(290px, 32vw, 420px);
  margin: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: var(--k-radius, 14px);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.k-proy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.09);
}
.k-proy-card__link {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.k-proy-card__ph {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #eae7df;
}
.k-proy-card__img-base,
.k-proy-card__img-hover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.4s ease, transform 0.5s ease;
}
.k-proy-card__img-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.k-proy-card:hover .k-proy-card__img-hover {
  opacity: 1;
  transform: scale(1.04);
}
.k-proy-card:hover .k-proy-card__img-base {
  transform: scale(1.04);
}
.k-proy-card__meta {
  padding: 1.2rem 1.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
}
.k-proy-card__meta h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.3;
}
.k-proy-card__badge {
  font-size: 0.72rem;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(31, 46, 36, 0.08);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.k-proy-cta {
  flex: 0 0 clamp(260px, 26vw, 340px);
  background: #1f2e24;
  color: #fbf9f4;
  border-radius: var(--k-radius, 14px);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.2rem;
}
.k-proy-cta h3 {
  font-size: 1.45rem;
  line-height: 1.3;
  margin: 0;
  color: #fff;
}
.k-proy-cta .k-btn {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}
.k-proy-cta .k-btn:hover {
  background: #fff !important;
  color: #1f2e24 !important;
}

/* Servicios con Panel Interactivo */
.k-serv-sec {
  padding: 6.5rem 0;
}
.k-serv-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: flex-end;
  margin-bottom: 3.5rem;
}
@media (max-width: 820px) {
  .k-serv-head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.k-serv-head h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0.6rem 0 0;
  color: inherit;
}
.k-serv-subtitle {
  font-size: 1.1rem;
  line-height: 1.6;
  opacity: 0.85;
  margin: 0;
  color: inherit;
}
.k-serv-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 4rem;
  align-items: start;
}
@media (max-width: 900px) {
  .k-serv-grid {
    grid-template-columns: 1fr;
  }
}
.k-serv-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.k-serv-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  transition: background 0.2s ease;
}
.k-serv-btn {
  width: 100%;
  background: transparent;
  border: 0;
  color: inherit;
  padding: 1.5rem 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.k-serv-num {
  font-size: 0.95rem;
  font-weight: 700;
  opacity: 0.55;
  letter-spacing: 0.05em;
}
.k-serv-title {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 500;
  flex: 1;
  letter-spacing: -0.01em;
}
.k-serv-plus {
  font-size: 1.5rem;
  line-height: 1;
  transition: transform 0.3s ease;
  opacity: 0.7;
}
.k-serv-item.is-active .k-serv-plus {
  transform: rotate(45deg);
}
.k-serv-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.k-serv-item.is-active .k-serv-body {
  /* 800px se quedaba corto en movil, donde el panel muestra ademas la imagen */
  max-height: 1600px;
}
.k-serv-inner {
  padding: 0 0 1.8rem 3rem;
  font-size: 1.02rem;
  line-height: 1.65;
  opacity: 0.88;
}
.k-serv-mobile-img {
  display: none;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 10px;
  margin-top: 1rem;
}
@media (max-width: 900px) {
  .k-serv-mobile-img {
    display: block;
  }
}
.k-serv-visual {
  position: sticky;
  top: 100px;
  aspect-ratio: 3/4;
  border-radius: var(--k-radius, 16px);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
}
@media (max-width: 900px) {
  .k-serv-visual {
    display: none;
  }
}
.k-serv-visual__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.k-serv-visual__img.is-on {
  opacity: 1;
}
.k-serv-panel-ilu {
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 70px;
  height: 70px;
  opacity: 0.3;
  pointer-events: none;
}
.k-serv-panel-ilu img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.k-serv-action {
  margin-top: 4rem;
  text-align: center;
}

/* FAQ Dividido (Two-col) */
.k-faq__split {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 4.5rem;
  align-items: start;
}
@media (max-width: 860px) {
  .k-faq__split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
.k-faq__side h2 {
  font-size: clamp(2rem, 3.8vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0.8rem 0 1rem;
  color: inherit;
}
.k-faq__side p {
  font-size: 1.05rem;
  line-height: 1.6;
  opacity: 0.85;
  color: inherit;
}

/* CTA Dividido (Split) */
.k-cta--split { text-align: left; }
.k-cta--split .k-btn { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.k-cta--split .k-cta__split-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
.k-cta--split h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  margin: 0.6rem 0 0.5rem;
}
.k-cta--split p {
  font-size: 1.05rem;
  opacity: 0.82;
  max-width: 48ch;
  margin: 0;
}

/* Pie de página Editorial Oscuro */
.k-footer--editorialDark {
  background: #17221b;
  color: #fbf9f4;
  padding: 5rem 0 3rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.k-footer__ed-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: 3.5rem;
  margin-bottom: 3.5rem;
}
@media (max-width: 800px) {
  .k-footer__ed-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.k-footer__brand-logo {
  max-height: 38px;
  width: auto;
  display: block;
  margin-bottom: 1.2rem;
}
.k-footer__desc {
  font-size: 0.95rem;
  line-height: 1.6;
  opacity: 0.75;
  max-width: 38ch;
  margin: 0;
}
.k-footer__col h4 {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 1.2rem;
  opacity: 0.6;
}
.k-footer__col nav {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.k-footer__col a {
  color: inherit;
  text-decoration: none;
  font-size: 0.95rem;
  opacity: 0.85;
  transition: opacity 0.2s;
}
.k-footer__col a:hover {
  opacity: 1;
}
.k-footer__ed-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.88rem;
  opacity: 0.65;
}
.k-footer__legal {
  margin: 0;
}

/* Reveal: si no hay JS o el usuario pide menos movimiento, el contenido ya se ve */
html.js .rv.is-in,
.rv.is-in {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}


/* Alérgenos UE 14 (Reglamento 1169/2011) */
.k-allergens{display:inline-flex;gap:.22rem;margin-top:.4rem;flex-wrap:wrap;vertical-align:middle}
.k-allergen{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:rgba(128,128,128,.13);border:1px solid rgba(128,128,128,.18);font-size:.72rem;line-height:1;cursor:help}
.k-allergen-table{margin:2.5rem auto 0;max-width:900px;border:1px solid rgba(128,128,128,.25);border-radius:10px;padding:.9rem 1.1rem;background:rgba(128,128,128,.05);text-align:left}
.k-allergen-table summary{cursor:pointer;font-weight:600;font-size:.9rem;list-style:none}
.k-allergen-table summary::-webkit-details-marker{display:none}
.k-allergen-table summary::before{content:'▸';display:inline-block;margin-right:.45rem;transition:transform .2s}
.k-allergen-table[open] summary::before{transform:rotate(90deg)}
.k-allergen-table__wrap{overflow-x:auto;margin-top:.9rem}
.k-allergen-table table{width:100%;border-collapse:collapse;font-size:.76rem}
.k-allergen-table th,.k-allergen-table td{padding:.38rem .4rem;border-bottom:1px solid rgba(128,128,128,.18);text-align:center;white-space:nowrap}
.k-allergen-table th:first-child,.k-allergen-table td:first-child{text-align:left;white-space:normal;min-width:150px}
.k-allergen-table th span{display:block;font-size:.58rem;font-weight:500;opacity:.72;margin-top:.1rem}
.k-allergen-table__note{margin:.85rem 0 0;font-size:.72rem;opacity:.72;line-height:1.5}
.k-alg-cell{font-size:.85rem}
@media print{.k-allergen-table{border:1px solid #999;background:#fff}.k-allergen-table[open] summary{display:none}}

/* Leyenda de alérgenos en menú del día */
.k-allergen-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .6rem;justify-content:center;margin:2rem auto 0;max-width:820px;padding:.8rem 1rem;border:1px solid rgba(128,128,128,.22);border-radius:10px;background:rgba(128,128,128,.05);font-size:.82rem}
.k-allergen-legend__title{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;opacity:.75}
.k-allergen-legend__names{font-weight:500}
.k-allergen-legend__traces{width:100%;text-align:center;font-size:.76rem;opacity:.8}
.k-allergen-legend__note{width:100%;text-align:center;font-size:.72rem;opacity:.65;font-style:italic}
.k-dailymenu--chalkboard .k-allergen-legend{border-color:rgba(254,240,138,.25);background:rgba(255,255,255,.04);color:#e2e8f0}

/* Tabla de datos */
.k-table__wrap{overflow-x:auto;margin:1.3rem 0;-webkit-overflow-scrolling:touch}
.k-table table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:520px}
.k-table th,.k-table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid rgba(0,0,0,.08);vertical-align:top;line-height:1.45}
.k-table th{font-weight:600;background:rgba(0,0,0,.035);white-space:nowrap}
.k-table tbody tr:last-child td{border-bottom:0}
.k-table__sub{opacity:.75;margin:-.4rem 0 1rem}
.k-table__note{font-size:.85rem;opacity:.7;margin-top:.7rem}

/* Ajustes de pantallas estrechas detectados en la auditoria de bloques */
@media(max-width:600px){
  .k-re-search__tabs{flex-wrap:wrap}
  .k-re-search__tabs--boxed{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .k-re-search__tabs--boxed .k-re-search__tab{flex:0 0 auto;white-space:nowrap}
  .k-shop-search__bar{flex-wrap:wrap;border-radius:16px}
  .k-shop-search__select-wrap{border-left:0;padding-left:0;margin-left:0;width:100%;border-top:1px solid #e2e8f0;padding-top:6px}
  .k-shop-search__select{width:100%}
  .k-cta--split .k-cta__split-wrap{flex-direction:column;align-items:flex-start}
}

/* FAQ dos columnas: lista en una sola columna dentro del split */
.k-faq__list--stack{display:flex;flex-direction:column;gap:1rem;max-width:none}
.k-faq__side-btn{margin-top:2rem}
.k-faq__ilu{margin-top:2rem;max-width:260px;opacity:.9}
.k-faq__ilu img{width:100%;height:auto;display:block}
.k-faq__ilu svg{width:100%;height:auto;display:block}

/* Pie editorial: cuatro columnas y marca de agua */
.k-footer__ed-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
@media (max-width:900px){.k-footer__ed-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.k-footer__ed-grid{grid-template-columns:1fr}}
.k-footer__col h4{margin:0 0 1.2rem}
.k-footer__col p{margin:0}
.k-footer__col a{color:inherit;text-decoration:none}
.k-footer__col a:hover{text-decoration:underline}
.k-footer__wm img{max-height:clamp(48px,10vw,120px);width:auto;opacity:.35;margin-top:2.5rem;display:block}
.k-footer__wm svg{max-height:clamp(48px,10vw,120px);width:auto;opacity:.35;margin-top:2.5rem;display:block}
.k-footer__wm-text{font-size:clamp(3.5rem,13vw,10.5rem);font-weight:700;letter-spacing:-.04em;text-transform:uppercase;line-height:.85;opacity:.1;margin-top:2.5rem;user-select:none}
.k-footer__legal nav{display:flex;flex-wrap:wrap;gap:1rem}
.k-footer__legal a{color:inherit;text-decoration:none}

/* Cabecera editorial apilada */
.k-header--stacked .k-header__stack{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding-block:1.6rem;text-align:center}
.k-header__wordmark{display:block;text-decoration:none;color:inherit}
.k-header__wordmark img{max-height:var(--k-logo-h,clamp(52px,8vw,104px));width:auto;max-width:min(100%,420px);object-fit:contain;display:block;margin:0 auto}
.k-header__wordmark svg{max-height:var(--k-logo-h,clamp(52px,8vw,104px));width:auto;display:block;margin:0 auto}
.k-header__wordmark-text{font-size:clamp(1.8rem,5vw,3.4rem);font-weight:700;letter-spacing:-.03em;text-transform:uppercase;line-height:1}
.k-header__tagline{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0}
.k-header--stacked .k-nav{justify-content:center;flex-wrap:wrap;gap:1.3rem;margin-top:.4rem;margin-left:0;width:100%}
.k-header__stack-meta{display:flex;gap:1rem;font-size:.8rem;opacity:.6;flex-wrap:wrap;justify-content:center}
.k-header__stack-meta a{color:inherit;text-decoration:none}

/* Carrusel de proyectos: bloque CTA final */
.k-proy-cta{flex:0 0 clamp(260px,28vw,340px);display:flex;flex-direction:column;justify-content:center;gap:.8rem;padding:2rem;background:#111;color:#fff;border-radius:var(--k-radius,14px)}
.k-proy-cta h3{margin:0;font-size:1.4rem;line-height:1.25;color:#fff}
.k-proy-cta .k-btn{background:#fff;color:#111;align-self:flex-start}
.k-proy-cta__ilu{margin-top:1rem;opacity:.5;max-width:150px}
.k-proy-cta__ilu img,.k-proy-cta__ilu svg{width:100%;height:auto;display:block}

/* Manifiesto en cita centrada y base del bloque FAQ */
.k-manifesto--quote{text-align:center}
.k-manifesto--quote .k-manifesto__quote{margin-inline:auto;max-width:34ch}
.k-manifesto--quote .k-manifesto__ilu{opacity:.12}
.k-faq{padding:5.5rem 0}

/* Menu movil: el boton sale del flujo para no competir por el ancho con logo y CTA */
@media (max-width:760px){
  .k-header__in{padding-right:3rem}
  .k-header__in .k-burger{position:absolute;right:0;top:50%;transform:translateY(-50%);margin:0}
  .k-logo{max-width:42%;min-width:0}
  .k-logo img{max-width:100%;height:auto}
  .k-header__actions{gap:.5rem}
  /* Hueco simetrico: con padding solo a la derecha el bloque apilado quedaba descentrado. */
  .k-header--stacked .k-header__stack{position:relative;padding-inline:2.5rem}
  /* La hamburguesa se centra con la primera linea (el logo), no con el borde del bloque. */
  .k-header--stacked .k-burger{position:absolute;right:0;top:calc(1.6rem + (min(var(--k-logo-h,64px),64px) - 32px)/2);transform:none;margin:0}
}

/* ===== Contacto con mapa y horarios ===== */
.k-map__head{max-width:62ch;margin-bottom:2.4rem}
.k-map__head h2,.k-map__head h1,.k-map__head h3{margin:.2rem 0 .6rem}
.k-map__sub{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin:0}
.k-map__grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:2.5rem;align-items:start}
@media (max-width:900px){.k-map__grid{grid-template-columns:1fr;gap:2rem}}
.k-map__frame{border-radius:var(--k-radius,14px);overflow:hidden;background:rgba(128,128,128,.1);min-height:240px}
.k-map__frame iframe{width:100%;height:100%;border:0;display:block}
.k-map__frame--empty{display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem}
.k-map__row{display:flex;gap:.65rem;align-items:flex-start;margin:0 0 .75rem;line-height:1.5}
.k-map__row a{color:inherit;text-decoration:none}
.k-map__row a:hover{text-decoration:underline}
.k-map__ico{flex:0 0 auto;width:1.2rem;text-align:center;opacity:.6}
.k-map__state{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin:.4rem 0 1rem}
.k-map__dot{width:8px;height:8px;border-radius:50%;background:#9aa0a6;flex:0 0 auto}
.k-map__state.is-open{color:#18794e}
.k-map__state.is-open .k-map__dot{background:#22a06b;box-shadow:0 0 0 3px rgb(34 160 107/.18)}
.k-map__state.is-closed{color:#b42318}
.k-map__state.is-closed .k-map__dot{background:#d93025}
.k-map__hours{width:100%;border-collapse:collapse;font-size:.92rem}
.k-map__caption{text-align:left;padding-bottom:.5rem;font-weight:600;font-size:.95rem}
.k-map__hours th,.k-map__hours td{padding:.45rem 0;border-bottom:1px solid rgb(128 128 128/.18);text-align:left;font-weight:400;vertical-align:top}
.k-map__hours th{width:8.5rem;opacity:.7}
.k-map__hours tr.is-today th,.k-map__hours tr.is-today td{font-weight:700;opacity:1}
.k-map__hours tr.is-today td:first-of-type::after{content:' · hoy';font-weight:400;opacity:.5;font-size:.8em}
.k-map__note{font-size:.85rem;opacity:.62;margin-top:1rem;line-height:1.5}

/* --- Servicios: cuadrícula de tarjetas --- */
.k-svc-cards{display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.k-svc-cards--c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.k-svc-cards--c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.k-svc-cards--c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.k-svc-card{display:flex;flex-direction:column;border:1px solid var(--k-border,rgba(0,0,0,.12));border-radius:var(--k-radius,16px);overflow:hidden;text-decoration:none;color:inherit;background:color-mix(in srgb,currentColor 3%,transparent);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.k-svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.12);border-color:color-mix(in srgb,var(--accent,#111) 40%,transparent)}
.k-svc-card__media{aspect-ratio:4/5;overflow:hidden;background:color-mix(in srgb,currentColor 8%,transparent)}
.k-svc-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.k-svc-card:hover .k-svc-card__media img{transform:scale(1.04)}
.k-svc-card__body{padding:1.4rem 1.3rem 1.5rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.k-svc-card__top{display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.k-svc-card__num{color:var(--accent,#111);font-weight:700}
.k-svc-card__meta{opacity:.6}
.k-svc-card__title{font-family:var(--font-heading,inherit);font-size:1.22rem;line-height:1.25;margin:0}
.k-svc-card__desc{margin:0;font-size:.94rem;line-height:1.55;opacity:.78}
.k-svc-card__foot{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--k-border,rgba(0,0,0,.1));display:flex;justify-content:space-between;align-items:center;gap:.8rem}
.k-svc-card__price{font-family:var(--font-heading,inherit);font-size:1.05rem}
.k-svc-card__arrow{opacity:.4;transition:transform .3s ease,opacity .3s ease}
.k-svc-card:hover .k-svc-card__arrow{transform:translateX(4px);opacity:1}
@media (max-width:1024px){.k-svc-cards,.k-svc-cards--c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.k-svc-cards,.k-svc-cards--c2,.k-svc-cards--c3,.k-svc-cards--c4{grid-template-columns:1fr}}

/* --- Servicios: filas editoriales --- */
.k-svc-rows{display:flex;flex-direction:column;gap:4rem}
.k-svc-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:3rem;align-items:center}
.k-svc-row--rev{grid-template-columns:minmax(0,1fr) minmax(0,.85fr)}
.k-svc-row--rev .k-svc-row__media{order:2}
.k-svc-row__media{aspect-ratio:4/5;border-radius:var(--k-radius,16px);overflow:hidden;background:color-mix(in srgb,currentColor 8%,transparent)}
.k-svc-row__media img{width:100%;height:100%;object-fit:cover;display:block}
.k-svc-row__media--empty{background:color-mix(in srgb,currentColor 6%,transparent)}
.k-svc-row__num{font-size:.72rem;letter-spacing:.16em;color:var(--accent,#111);font-weight:700}
.k-svc-row__title{font-family:var(--font-heading,inherit);font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15;margin:.5rem 0 .9rem}
.k-svc-row__detail{margin:0 0 1.2rem;opacity:.8;line-height:1.65;max-width:52ch}
.k-svc-row__list{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.5rem}
.k-svc-row__list li{position:relative;padding-left:1.5rem;font-size:.94rem;opacity:.85}
.k-svc-row__list li::before{content:"";position:absolute;left:0;top:.55em;width:.55rem;height:.55rem;border-radius:50%;background:var(--accent,#111);opacity:.65}
.k-svc-row__foot{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.k-svc-row__meta{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:.55}
.k-svc-row__price{font-family:var(--font-heading,inherit);font-size:1.1rem}
.k-svc-row__link{margin-left:auto;font-size:.9rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
@media (max-width:860px){.k-svc-row,.k-svc-row--rev{grid-template-columns:1fr;gap:1.5rem}.k-svc-row--rev .k-svc-row__media{order:0}.k-svc-row__media{aspect-ratio:4/3}}

/* Acordeón de servicios: metadatos y lista de incluidos */
.k-serv-meta{font-size:.78rem;letter-spacing:.04em;opacity:.6;margin-left:1rem;white-space:nowrap}
.k-serv-incl{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.4rem}
.k-serv-incl li{position:relative;padding-left:1.35rem;font-size:.92rem;opacity:.85}
.k-serv-incl li::before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent,#111);opacity:.6}
@media (max-width:520px){.k-serv-meta{margin-left:auto;font-size:.72rem}}

/* ==========================================================================
   Menú móvil: diseños alternativos del panel de la hamburguesa
   'dropdown' (por defecto) se define más arriba. Aquí van la hoja inferior
   y la pantalla completa. Los colores salen de --k-menu-bg / --k-menu-fg,
   que el bloque rellena solo si el usuario los elige.
   ========================================================================== */
@media (max-width:760px){
  /* Velo comun sobre el contenido cuando hay panel flotante */
  /* Solo los paneles flotantes (hoja inferior / pantalla completa) llevan velo.
     El desplegable bajo la barra no lo necesita y oscurecia toda la pagina. */
  .k-header.is-menu-open.is-menu-veil::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgb(0 0 0/.45);
    z-index:60;
    pointer-events:none;
    animation:kMenuVeil .22s ease;
  }
  @keyframes kMenuVeil{from{opacity:0}to{opacity:1}}
  /* La barra (logo + hamburguesa) siempre por encima del velo y del panel.
     El nav es hijo de __in, así que su z-index compite ahí dentro. */
  .k-header.is-menu-open .k-header__in,
  .k-header.is-menu-open .k-header__stack{position:relative;z-index:90}
  /* Ojo: el burger ya es absolute en movil; cambiarle position lo saca de sitio. */
  .k-header.is-menu-open .k-burger{z-index:95}
  .k-header.is-menu-open .k-logo,
  .k-header.is-menu-open .k-header__wordmark{position:relative;z-index:95}

  /* backdrop-filter crea un bloque contenedor para los descendientes con
     position:fixed. Al hacer scroll, la cabecera lo lleva para el desenfoque y
     el panel de pantalla completa dejaba de medir contra el viewport: se
     encogia a la altura de la barra y los enlaces salian en una sola linea.
     Con el panel abierto el desenfoque no aporta nada, asi que se anula. */
  .k-header.is-menu-open,
  .k-header.is-menu-open.is-scrolled{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }

  .k-nav--sheet,
  .k-nav--fullscreen{
    display:flex!important;
    z-index:70;
    color:var(--k-menu-fg,#1a1a22);
    background:var(--k-menu-bg,#fff);
  }
  .k-header--overlay .k-nav--sheet,
  .k-header--overlay .k-nav--fullscreen{
    background:var(--k-menu-bg,#1a1a22);
    color:var(--k-menu-fg,#fff);
  }
  .k-nav--sheet a,
  .k-nav--fullscreen a{color:inherit;border-bottom-color:color-mix(in srgb,currentColor 14%,transparent)}
  .k-nav--sheet a.k-btn,
  .k-nav--fullscreen a.k-btn{color:#fff}

  /* --- Hoja inferior --- */
  .k-nav--sheet{
    position:fixed;
    top:auto;
    left:0;
    right:0;
    bottom:0;
    max-height:82vh;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:1.4rem 1.3rem 2.2rem;
    border-radius:22px 22px 0 0;
    border-bottom:0;
    box-shadow:0 -18px 50px rgb(0 0 0/.22);
    transform:translateY(102%);
    visibility:hidden;
    transition:transform .34s cubic-bezier(.2,.7,.3,1),visibility .34s;
  }
  .k-nav--sheet.is-open{transform:translateY(0);visibility:visible}
  .k-nav--sheet::before{
    content:"";
    position:absolute;
    top:.55rem;
    left:50%;
    width:38px;
    height:4px;
    margin-left:-19px;
    border-radius:999px;
    background:currentColor;
    opacity:.25;
  }

  /* --- Pantalla completa --- */
  .k-nav--fullscreen{
    position:fixed;
    inset:0;
    align-items:flex-end;
    justify-content:center;
    justify-content:safe center;
    text-align:right;
    padding:5.5rem 1.6rem 5.5rem;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    border:0;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    transition:opacity .26s ease,visibility .26s;
  }
  .k-nav--fullscreen.is-open{opacity:1;visibility:visible}
  .k-nav--fullscreen{flex-wrap:nowrap}
  .k-nav--fullscreen a{
    padding:.9rem 0;
    font-family:var(--font-heading,inherit);
    font-size:clamp(1.5rem,7vw,2.3rem);
    line-height:1.2;
    letter-spacing:-.01em;
  }
  .k-nav--fullscreen a.k-btn{
    align-self:flex-end;
    margin-top:1.4rem;
    padding:.9rem 1.7rem;
    font-family:var(--font-body,inherit);
    font-size:1rem;
    background:var(--accent,#111);
  }
  .k-nav--fullscreen .k-dropdown-menu{
    padding-right:1.2rem;
    text-align:right;
  }
  .k-nav--fullscreen .k-sublink{
    font-size:1.05rem;
    padding:.55rem 0!important;
  }

  @media (prefers-reduced-motion:reduce){
    .k-nav--sheet,.k-nav--fullscreen{transition:none}
    .k-header.is-menu-open::after{animation:none}
  }
}

/* ==========================================================================
   ZONAS Y BARRIOS
   ========================================================================== */
.k-zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1.4rem}
.k-zone-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:var(--radius,14px);overflow:hidden;background:var(--blk-bg,#fff);transition:transform .25s ease,box-shadow .25s ease}
.k-zone-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgb(0 0 0/.09)}
.k-zone-card__media{display:block;aspect-ratio:4/3;overflow:hidden}
.k-zone-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.k-zone-card:hover .k-zone-card__media img{transform:scale(1.04)}
.k-zone-card__body{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem 1.25rem}
.k-zone-card__name{font-family:var(--font-heading);font-size:1.2rem;letter-spacing:-.01em}
.k-zone-card__note{font-size:.9rem;opacity:.66;line-height:1.45}
.k-zone-card__meta{margin-top:.35rem;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;opacity:.55}

.k-zone-rows{border-top:1px solid color-mix(in srgb,currentColor 13%,transparent)}
.k-zone-row{display:grid;grid-template-columns:1.1fr 1.7fr auto auto;gap:1.2rem;align-items:baseline;padding:1.15rem .2rem;border-bottom:1px solid color-mix(in srgb,currentColor 13%,transparent);text-decoration:none;color:inherit;transition:padding-left .2s ease}
.k-zone-row:hover{padding-left:.6rem}
.k-zone-row__name{font-family:var(--font-heading);font-size:1.12rem}
.k-zone-row__note{font-size:.9rem;opacity:.62;line-height:1.45}
.k-zone-row__meta{font-size:.79rem;opacity:.55;white-space:nowrap}
.k-zone-row__arrow{opacity:.35;transition:opacity .2s ease,transform .2s ease}
.k-zone-row:hover .k-zone-row__arrow{opacity:.9;transform:translateX(3px)}
@media (max-width:760px){
  .k-zone-row{grid-template-columns:1fr auto;gap:.2rem .8rem;padding:1rem .2rem}
  .k-zone-row__note{grid-column:1/-1}
  .k-zone-row__meta{grid-column:1;grid-row:auto}
}

/* Buscador solapado con el hero: gana el primer pantallazo */
.k-re-search--boxed-card{padding:0 0 3.5rem;background:transparent;margin-top:0;position:relative;z-index:5}
@media (max-width:760px){.k-re-search--boxed-card{margin-top:-2rem;padding-bottom:2rem}}

/* Compactar el buscador solapado para que entre entero en el primer scroll */
.k-re-search--boxed-card .k-re-search__form--boxed{padding:1.35rem 1.6rem 1.5rem}
.k-re-search--boxed-card .k-re-search__tabs--boxed .k-re-search__tab{padding:.85rem .8rem;font-size:.9rem}
.k-re-search--boxed-card .k-re-search__field label{margin-bottom:.25rem;font-size:.72rem}
.k-hero--compact{padding:1.4rem 0;min-height:300px}

/* Aviso de cookies: barra inferior compacta, no una tarjeta flotante sobre el CTA */
.k-cookie-banner{position:fixed;bottom:0;left:0;right:0;transform:none;width:100%;z-index:9999}
.k-cookie-banner__in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.9rem 1.4rem;background:#14151f;color:#fff;padding:.8rem 1.4rem;border-radius:0;box-shadow:0 -6px 24px rgba(0,0,0,.18);border:0;border-top:1px solid rgba(255,255,255,.1)}
.k-cookie-banner__text{font-size:.84rem;line-height:1.4;color:#e2e3ed;flex:0 1 auto;max-width:760px}
.k-cookie-banner__in .k-btn,.k-cookie-banner__in button{padding:.5rem 1.15rem;font-size:.85rem}
@media(max-width:640px){.k-cookie-banner__in{justify-content:flex-start;padding:.75rem 1rem}}

/* Movil: la hamburguesa es absoluta a la derecha; hay que dejarle su hueco */
@media (max-width:760px){
  .k-header__in{padding-right:4rem}
  .k-header--stacked .k-header__in{padding-right:4rem}
}

/* CTA de cabecera en movil: tiene que encogerse para no pisar la hamburguesa */
@media (max-width:760px){
  .k-header__actions{min-width:0;flex-shrink:1}
  .k-header__actions .k-btn{padding:.5rem .85rem;font-size:.8rem;white-space:nowrap}
}
/* Buscador un poco mas bajo y aviso de cookies mas discreto */
.k-re-search--boxed-card .k-re-search__form--boxed{padding:1.05rem 1.4rem 1.15rem}
.k-cookie-banner__in{padding:.55rem 1.2rem}
.k-cookie-banner__text{font-size:.8rem}

/* Aire entre hero y buscador (escritorio y movil) */
.k-re-search--boxed-card{margin-top:1.6rem;padding:0 0 3.5rem}
@media (max-width:760px){.k-re-search--boxed-card{margin-top:1.4rem;padding-bottom:2.5rem}}

/* Ficha de inmueble: datos en tira compacta, no tarjetas de 211 px */
.k-prop-detail__specs-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:.7rem}
.k-prop-spec{position:relative;padding:.9rem 1rem .9rem 2.7rem;text-align:left;border-radius:12px;box-shadow:none;background:#fbfaf8;border-color:#ece7e1;overflow:hidden}
.k-prop-spec__ic{position:absolute;left:1rem;top:50%;transform:translateY(-50%);margin:0;width:1.15rem;height:1.15rem;display:block;color:var(--accent,#9A6240)}
.k-prop-spec__ic svg{width:1.15rem;height:1.15rem;display:block;stroke:currentColor;fill:none}
.k-prop-spec__val{font-size:1.05rem;line-height:1.2}
.k-prop-spec__lbl{font-size:.74rem;margin-top:.1rem}

/* Aviso de cookies en movil: una sola linea, sin partir el enlace */
@media (max-width:640px){
  .k-cookie-banner__in{padding:.6rem .9rem;gap:.45rem .7rem;justify-content:space-between}
  .k-cookie-banner__text{font-size:.72rem;line-height:1.35;flex:1 1 auto;max-width:none}
  .k-cookie-banner__link{white-space:nowrap;margin-left:.2rem}
  .k-cookie-banner__in .k-btn,.k-cookie-banner__in button{padding:.45rem .9rem;font-size:.78rem;flex:0 0 auto}
}

/* Bloque Botón: CTA suelto y reutilizable en cualquier página */
.k-btnblock{padding:2.5rem 0}
.k-btnblock__inner{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center}
.k-btnblock--left .k-btnblock__inner{align-items:flex-start;text-align:left}
.k-btnblock--right .k-btnblock__inner{align-items:flex-end;text-align:right}
.k-btnblock--wide .k-btnblock__inner{align-items:stretch}
.k-btnblock--wide .k-btn{display:block;text-align:center}
.k-btnblock__note{margin:0;font-size:.85rem;color:#64748b}
.k-btn--dark{background:#14151f;color:#fff}
.k-btn--dark:hover{background:#22242f}
.k-btn--lg{padding:1.05rem 2.1rem;font-size:1.05rem}

/* Bloque Mapa de inmuebles */
.k-propmap{padding:4rem 0}
.k-propmap__head{max-width:660px;margin:0 auto 2rem;text-align:center}
.k-propmap__head h2{margin:.6rem 0 .5rem}
.k-propmap__head p{margin:0;color:#64748b}
.k-propmap__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1.5rem;align-items:center}
.k-propmap__canvas{height:var(--map-h,520px);border:1px solid #e6e1da;border-radius:14px;overflow:hidden;background:#e9edf0;position:relative;z-index:0}
.k-propmap--full .k-propmap__layout{grid-template-columns:1fr;position:relative}
.k-propmap--full .k-propmap__panel{position:absolute;left:1.25rem;bottom:1.25rem;width:min(340px,calc(100% - 2.5rem));min-height:0;z-index:600}
.k-propmap__panel{min-height:1px}
.k-propmap__card{display:none;background:#fff;border:1px solid #e6e1da;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(20,15,10,.08)}
.k-propmap__card.is-active{display:block}
.k-propmap__media{display:block}
.k-propmap__media img{width:100%;height:200px;object-fit:cover;display:block}
.k-propmap__body{padding:1rem 1.1rem 1.15rem}
.k-propmap__zone{margin:0 0 .3rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:#8a7a6a}
.k-propmap__price{margin:0;font-size:1.35rem;font-weight:700;font-family:var(--font-heading)}
.k-propmap__period{font-size:.8rem;font-weight:500;opacity:.7}
.k-propmap__title{margin:.35rem 0 .5rem;font-size:1rem;line-height:1.35}
.k-propmap__title a{color:inherit;text-decoration:none}
.k-propmap__meta{margin:0 0 .9rem;font-size:.85rem;color:#64748b}
.k-propmap__cta{display:inline-block}
.k-propmap__note{color:#64748b}

/* Marcadores con precio */
.leaflet-div-icon.k-propmap__pinbox{background:transparent;border:0}
.k-propmap__pin{position:absolute;left:50%;bottom:0;transform:translateX(-50%);background:var(--accent,#9A6240);color:#fff;font-size:.78rem;font-weight:700;padding:.3rem .55rem;border-radius:999px;white-space:nowrap;border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;transition:transform .12s;line-height:1.2}
.k-propmap__pin::after{content:'';position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border:5px solid transparent;border-top-color:#fff}
.k-propmap__pin:hover{transform:translateX(-50%) scale(1.06)}
.k-propmap__pin:hover{transform:translateX(-50%) scale(1.06)}
.leaflet-container{font-family:inherit;background:#e9edf0}

@media (max-width:860px){
  .k-propmap__layout{grid-template-columns:1fr}
  .k-propmap__canvas{height:360px}
  .k-propmap--full .k-propmap__panel{position:static;width:auto;margin-top:.9rem}
  .k-propmap__media img{height:150px}
}

/* Pin seleccionado: se distingue del resto */
.k-propmap__pin.is-active{background:#14151f;transform:translateX(-50%) scale(1.08);z-index:3;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.k-propmap__pin.is-active::after{border-top-color:#14151f}

/* Aviso de busqueda sin resultados */
.k-re-empty{margin:1.5rem 0 0;padding:1.6rem 1.2rem;text-align:center;border:1px dashed #d8d2c8;border-radius:12px;color:#64748b;background:#faf8f5}

/* Contador de inmuebles del buscador */
.k-re-count{margin:0 0 1.25rem;font-size:.95rem;color:#64748b;letter-spacing:.01em}
.k-re-count.is-filtered{color:var(--accent,#9A6240);font-weight:600}
.k-re-count--center{text-align:center}

/* Reseñas estilo Google */
.k-grev{padding:4.5rem 0;background:#faf8f5}
.k-grev__head{max-width:730px;margin:0 auto 2.4rem;text-align:center}
.k-grev__head h2{margin:.8rem 0 .55rem;font-size:clamp(1.6rem,2.6vw,2.2rem)}
.k-grev__head p{margin:0;color:#6b6258}
.k-grev__summary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .95rem;background:#fff;border:1px solid #e8e2d9;border-radius:999px;box-shadow:0 2px 10px rgba(30,20,10,.05);font-size:.9rem;color:#5a5148}
.k-grev__score{font-weight:700;font-size:1.05rem;color:#1a1a1a}
.k-grev__count{color:#6b6258}
.k-grev__stars{display:inline-flex;gap:2px;line-height:1}
.k-grev__star{color:#ddd7ce;font-size:.95rem}
.k-grev__star.is-on{color:#FBBC05}
.k-grev__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:1.25rem}
.k-grev__card{display:flex;flex-direction:column;gap:.9rem;background:#fff;border:1px solid #e8e2d9;border-radius:16px;padding:1.35rem 1.3rem 1.2rem;box-shadow:0 4px 18px rgba(30,20,10,.05)}
.k-grev__top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.k-grev__src{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;color:#8b8177}
.k-grev__g{flex:none}
.k-grev__quote{margin:0;font-size:.95rem;line-height:1.6;color:#3a3530;flex:1;quotes:none}
.k-grev__quote::before,.k-grev__quote::after{content:none}
.k-grev__foot{display:flex;align-items:center;gap:.7rem;padding-top:.9rem;border-top:1px solid #f0ebe4}
.k-grev__av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:#efe9e1}
.k-grev__av--initial{display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:#8a6a4f;background:#f3ece2}
.k-grev__who{display:flex;flex-direction:column;line-height:1.25}
.k-grev__who b{font-size:.9rem;font-weight:600;color:#1f1b17}
.k-grev__who span{font-size:.78rem;color:#8b8177}
.k-grev__actions{display:flex;justify-content:center;margin-top:2rem}
.k-grev__cta{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.2rem;border:1px solid #d9d2c8;border-radius:999px;font-size:.88rem;font-weight:500;color:#2b2520;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.k-grev__cta:hover{border-color:#b9b0a3;box-shadow:0 4px 14px rgba(30,20,10,.08)}
@media (max-width:640px){.k-grev{padding:3rem 0}.k-grev__card{padding:1.15rem}}

/* El tamano del logo lo manda el slider del editor (--k-logo-h). En movil se
   limita para que un logo grande no se coma la cabecera. */
@media (max-width:768px){
  .k-logo-img,.k-header__wordmark img,.k-header__wordmark svg{max-height:min(var(--k-logo-h,64px),64px);height:auto}
}

/* Mapa de Google del negocio */
.k-gmap{padding:4.5rem 0}
.k-gmap__head{max-width:64ch;margin:0 auto 2rem;text-align:center}
.k-gmap__badge{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0 0 .6rem;font-weight:600}
.k-gmap__head h2,.k-gmap__head h1,.k-gmap__head h3{margin:0 0 .6rem}
.k-gmap__sub{margin:0;opacity:.75}
.k-gmap__frame{border-radius:var(--radius,16px);overflow:hidden;border:1px solid color-mix(in srgb,currentColor 12%,transparent);background:#f2efe9;box-shadow:0 6px 26px rgb(0 0 0/.06)}
.k-gmap__frame iframe{display:block;width:100%;height:var(--k-gmap-h,420px);border:0}
.k-gmap__addr{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.1rem 0 0;font-size:.92rem;opacity:.75}
.k-gmap__addr svg{flex:none;opacity:.7}
.k-gmap__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;min-height:220px;border:1px dashed color-mix(in srgb,currentColor 22%,transparent);border-radius:var(--radius,16px);color:inherit;opacity:.55;text-align:center;padding:2rem}
.k-gmap__empty span{font-size:.86rem}
.k-gmap--full{padding:0}
.k-gmap--full .k-gmap__head{padding:3.5rem 1.2rem 0}
.k-gmap--full .k-gmap__frame{border-radius:0;border-left:0;border-right:0;box-shadow:none}
.k-gmap--full .k-gmap__addr{padding-bottom:2rem}
@media (max-width:640px){.k-gmap{padding:3rem 0}.k-gmap__frame iframe{height:min(var(--k-gmap-h,420px),340px)}}

/* --- Joyería 3D -----------------------------------------------------------
   Bloque escaparate: fondo oscuro propio para que el metal tenga contraste.
   El canvas es decorativo; todo el texto vive en HTML. */
.k-jewel{position:relative;background:#0f0e0d;color:#f5f0e7;overflow:hidden;isolation:isolate}
.k-jewel__inner{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;min-height:76vh;padding-block:clamp(3rem,7vw,6rem)}
.k-jewel__stage{position:relative;width:100%;aspect-ratio:1/1;max-height:72vh;margin-inline:auto}
.k-jewel__canvas{width:100%;height:100%;display:block}
.k-jewel__fallback{display:none;width:100%;height:100%;object-fit:contain}
.k-jewel__badge{display:inline-block;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#d8b464;margin-bottom:1.4rem;font-weight:600}
.k-jewel h1,.k-jewel h2{font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.03;letter-spacing:-.02em;margin:0 0 .7em;color:#f7f2e8}
.k-jewel__copy p,.k-jewel__panel p{color:#b9b0a1;max-width:46ch;font-size:clamp(1rem,1.4vw,1.12rem);margin:0 0 1.8rem}
.k-jewel .k-btn{background:#d8b464;color:#12100e;border-radius:2px;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;padding:1rem 2rem}
.k-jewel .k-btn:hover{filter:brightness(1.08)}
.k-jewel__hint{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#6f675c;animation:kJewelHint 2.4s ease-in-out infinite}
@keyframes kJewelHint{0%,100%{opacity:.35;transform:translate(-50%,0)}50%{opacity:.9;transform:translate(-50%,6px)}}

/* Escaparate: la pieza se queda fija mientras los paneles pasan al lado */
.k-jewel--showcase{display:block}
.k-jewel--showcase .k-jewel__stage{position:absolute;inset:0 0 0 auto;width:56%;height:100vh;max-height:none;padding:4vh 2vw;z-index:0}
.k-jewel__panels{position:relative;z-index:1;width:min(1240px,calc(100% - 2.5rem));margin-inline:auto;padding-block:4vh 10vh}
.k-jewel__panel{min-height:62vh;display:flex;flex-direction:column;justify-content:center;max-width:34rem;padding-block:7vh}
.k-jewel__panel:first-child{min-height:92vh}
.k-jewel__panel h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 .5em;color:#f2ecdf}
.k-jewel__panel--lead h1,.k-jewel__panel--lead h2{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.02em}
/* Entrada de paneles: la clase la pone jewelry-scene.js. Sin JS no se ocultan. */
.js .k-jewel__panel:not(.k-jewel__panel--lead){opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.js .k-jewel__panel.is-in{opacity:1;transform:none}

@media(max-width:820px){
  .k-jewel__inner{grid-template-columns:1fr;min-height:0;padding-block:3rem 2rem;text-align:center}
  .k-jewel__copy{order:2}
  .k-jewel__copy p{margin-inline:auto}
  .k-jewel__stage{order:1;max-height:52vh}
  .k-jewel--showcase .k-jewel__stage{position:relative;inset:auto;width:100%;height:56vh;padding:1rem}
  .k-jewel__panel{min-height:0;padding-block:2.5rem;max-width:none}
  .k-jewel__panel:first-child{min-height:0}
  .k-jewel__hint{display:none}
}

@media(prefers-reduced-motion:reduce){
  .k-jewel__hint{animation:none;opacity:.5}
}

/* ==========================================================================
   Collage en parallax: piezas recortadas que flotan alrededor del texto y se
   desplazan a distinta velocidad con el scroll. La rotacion va en --r para que
   el JS solo tenga que anadir el translate.
   ========================================================================== */
.k-collage{position:relative;overflow:visible;z-index:1;background:var(--bg,#f4efe6);color:var(--fg,#1c1a17);isolation:isolate}
.k-collage__inner{position:relative;z-index:3;width:min(760px,calc(100% - 3rem));margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center}
.k-collage--compact .k-collage__inner{min-height:60vh;padding-block:4rem}
.k-collage--normal .k-collage__inner{min-height:80vh;padding-block:6rem}
.k-collage--tall .k-collage__inner{min-height:100vh;padding-block:7rem}
/* Dos columnas: texto a un lado, piezas moviendose en su propio escenario. */
.k-collage__split{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(1.5rem,3vw,3rem);align-items:center;width:min(1240px,calc(100% - 3rem));margin-inline:auto;padding-block:clamp(2rem,3.5vw,3.25rem)}
.k-collage--split.k-collage--compact .k-collage__split{padding-block:clamp(1.5rem,2.5vw,2.5rem)}
.k-collage--split.k-collage--tall .k-collage__split{padding-block:clamp(2.5rem,5vw,4.5rem)}
.k-collage--split .k-collage__inner{position:relative;z-index:2;width:auto;margin:0;min-height:0;padding-block:0;text-align:left;align-items:flex-start;gap:.95rem}
.k-collage--split .k-collage__title{font-size:clamp(2rem,3.6vw,3.4rem);max-width:16ch}
.k-collage--reverse .k-collage__split{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.k-collage--reverse .k-collage__stage{order:-1}
.k-collage--reverse .k-collage__inner{text-align:left}
.k-collage__stage{position:relative;z-index:1;min-height:clamp(300px,42vh,430px)}
.k-collage__badge{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--accent,#a8845b);background:color-mix(in srgb,var(--accent,#a8845b) 12%,transparent);padding:.45rem .85rem;border-radius:99px}
.k-collage__title{font-size:clamp(2.2rem,6vw,4.4rem);line-height:.98;letter-spacing:-.03em;margin:0;max-width:20ch;text-wrap:balance}
.k-collage__sub{max-width:46ch;margin:0;font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.6;opacity:.72}
.k-collage__cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.85rem 1.6rem;border-radius:99px;background:var(--fg,#1c1a17);color:var(--bg,#f4efe6);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .25s ease,opacity .25s ease}
.k-collage__cta:hover{transform:translateY(-2px);opacity:.9}
.k-collage__bg{position:absolute;inset:0;z-index:0;background-image:var(--bg-img);background-size:cover;background-position:center;background-repeat:no-repeat}
/* Velo del color de fondo sobre la foto: sube la legibilidad del texto. */
.k-collage__veil{position:absolute;inset:0;z-index:1;background:var(--bg,#141210);opacity:var(--veil,.55)}
.k-collage__pieces{position:absolute;inset:0;z-index:2;pointer-events:none}
.k-collage__piece{position:absolute;left:var(--x,10%);top:var(--y,10%);width:var(--w,260px);max-width:42vw;display:block;transform:rotate(var(--r,0deg));will-change:transform;user-select:none;pointer-events:none}
/* Entrada: aparecen al cargar. Solo opacidad y desenfoque, para no chocar con
   el transform que escribe el scroll en este mismo nodo. */
.js .k-collage__piece{animation:k-collage-in .85s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--d,0s) + .15s)}
@keyframes k-collage-in{from{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}
/* Capa interior: flota sola, sin pelear con el transform que pone el scroll. */
.k-collage__float{display:block;animation:k-collage-float 7s ease-in-out infinite;animation-delay:var(--d,0s)}
.k-collage__piece img{display:block;width:100%;height:auto;filter:drop-shadow(0 26px 44px rgba(60,45,25,.18))}
.k-collage--dark .k-collage__piece img{filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
@keyframes k-collage-float{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}
@media(max-width:820px){
  /* En pantalla estrecha no hay sitio para flotar alrededor: las piezas pasan a
     una tira encima del texto. Superpuestas tapaban el titular. */
  /* Escenario, no tira: dentro de un contenedor propio las piezas pueden moverse
     con el scroll sin descolocar el texto. */
  .k-collage__pieces{position:relative;inset:auto;height:260px;z-index:2}
  .k-collage__piece{width:calc(var(--w,260px) * .46);max-width:36vw}
  .k-collage__float{animation-duration:5.5s}
  .k-collage__stage{min-height:260px}
  .k-collage__piece[data-mobile="off"]{display:none}
  .k-collage--compact .k-collage__inner,.k-collage--normal .k-collage__inner,.k-collage--tall .k-collage__inner{min-height:0;padding-block:1.75rem 3.5rem}
  .k-collage__title{font-size:clamp(2rem,9vw,2.9rem)}
  .k-collage__split{grid-template-columns:1fr;gap:1.25rem;padding-block:3rem}
  .k-collage--split .k-collage__title{font-size:clamp(1.9rem,8vw,2.6rem);max-width:none}
}
@media(prefers-reduced-motion:reduce){
  .k-collage__piece{transform:rotate(var(--r,0deg))!important}
  .k-collage__float{animation:none}
}

/* ---- Bento: retícula asimétrica con celdas mixtas -------------------------
   Cada celda ocupa de 1 a 4 columnas y puede doblar alto. El tipo (imagen,
   texto o cifra) decide el contenido; el tamaño lo pone el editor. */
.k-bento__head{max-width:760px;margin-bottom:2.5rem}
.k-bento__h{font-size:clamp(1.9rem,3.2vw,2.9rem);line-height:1.1;margin:.45rem 0 .6rem}
.k-bento__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;grid-auto-rows:minmax(190px,auto)}
.k-bento__cell{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:1.5rem;border-radius:var(--k-radius,16px);background:#efeae2;text-decoration:none;color:inherit;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.k-bento__cell:hover{transform:translateY(-3px)}
.k-bento__cell--w1{grid-column:span 1}
.k-bento__cell--w2{grid-column:span 2}
.k-bento__cell--w3{grid-column:span 3}
.k-bento__cell--w4{grid-column:span 4}
.k-bento__cell--tall{grid-row:span 2}
.k-bento__cell--image{justify-content:flex-end;padding:0;background:#dcd6cc}
.k-bento__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.k-bento__cell--image:hover .k-bento__img{transform:scale(1.04)}
.k-bento__cell--image .k-bento__body{position:relative;z-index:1;width:100%;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 72%);color:#fff}
.k-bento__cell--stat{justify-content:space-between}
.k-bento__title{font-size:1.12rem;line-height:1.25;margin:0 0 .35rem}
.k-bento__desc{font-size:.94rem;line-height:1.55;margin:0;opacity:.78}
.k-bento__stat{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;font-weight:600;letter-spacing:-.02em}
.k-bento__statlabel{font-size:.88rem;line-height:1.35;opacity:.7;margin-top:.4rem;max-width:22ch}
.k-bento--dark .k-bento__cell{background:#17151a;color:#f4f1ea}
.k-bento--dark .k-bento__cell--image{background:#0d0c0f}
.k-bento--flush .k-bento__grid{gap:0}
.k-bento--flush .k-bento__cell{border-radius:0}
@media(max-width:900px){
  .k-bento__grid{grid-template-columns:repeat(2,1fr);gap:12px;grid-auto-rows:minmax(170px,auto)}
  .k-bento__cell--w2,.k-bento__cell--w3,.k-bento__cell--w4{grid-column:span 2}
}
@media(max-width:560px){
  .k-bento__grid{grid-template-columns:1fr;grid-auto-rows:minmax(160px,auto)}
  .k-bento__cell--w1,.k-bento__cell--w2,.k-bento__cell--w3,.k-bento__cell--w4{grid-column:span 1}
  .k-bento__cell--tall{grid-row:auto;min-height:280px}
  .k-bento__cell--image{min-height:230px}
  .k-bento__cell{padding:1.2rem}
}

/* ---- Formulario configurable ---------------------------------------------
   Los campos los define el editor en el bloque; aquí solo se maquetan. */
.k-formsec--card .k-form{background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:var(--k-radius,16px);padding:clamp(1.4rem,3vw,2.4rem)}
.k-form__head{margin-bottom:1.6rem;max-width:64ch}
.k-form__head h1,.k-form__head h2,.k-form__head h3{margin:.4rem 0 .5rem}
.k-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}
.k-form__f{grid-column:span 2;min-width:0}
.k-form__f--half{grid-column:span 1}
.k-form__f label{display:block;font-size:.88rem;line-height:1.35;margin-bottom:.35rem;opacity:.85}
.k-form__req{color:#c0392b}
.k-form input[type=text],.k-form input[type=email],.k-form input[type=tel],
.k-form input[type=number],.k-form input[type=date],.k-form textarea,.k-form select{
  width:100%;padding:.8rem .9rem;border:1px solid rgba(0,0,0,.18);border-radius:9px;
  font:inherit;font-size:.95rem;background:#fff;color:inherit;transition:border-color .2s,box-shadow .2s}
.k-form input:focus,.k-form textarea:focus,.k-form select:focus{outline:none;border-color:var(--accent,#A85642);box-shadow:0 0 0 3px rgba(168,86,66,.12)}
.k-form textarea{resize:vertical;min-height:110px}
.k-form__f--check{grid-column:span 2}
.k-form__check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;line-height:1.45;opacity:.9}
.k-form__check input[type=checkbox]{width:1.05rem;height:1.05rem;margin-top:.15rem;flex:0 0 auto;accent-color:var(--accent,#A85642)}
.k-form__hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.k-form__foot{margin-top:1.3rem;display:flex;flex-direction:column;gap:.65rem;align-items:flex-start}
.k-form__privacy{font-size:.78rem;line-height:1.45;opacity:.6;margin:0;max-width:54ch}
.k-form__msg{color:#b42318;font-size:.9rem;margin:.7rem 0 0}
.k-form__ok{padding:1.1rem 1.3rem;background:#edf7ee;border:1px solid #cfe8d2;border-radius:11px;margin:0;font-size:.95rem}
.k-form__split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3rem;align-items:start}
@media(max-width:820px){
  .k-form__split{grid-template-columns:1fr;gap:1.6rem}
  .k-form__grid{grid-template-columns:1fr}
  .k-form__f,.k-form__f--half,.k-form__f--check{grid-column:span 1}
}

/* Turnos de reserva */
.k-booking__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.5rem;margin-top:.2rem}
.k-slot{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .4rem;border:1px solid #d5d8e6;border-radius:10px;background:#fafbfe;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}
.k-slot b{font-size:.95rem;color:#191b26;font-weight:700}
.k-slot span{font-size:.68rem;color:#787f95}
.k-slot:hover:not(:disabled){border-color:var(--accent);background:#fff}
.k-slot.is-on{border-color:var(--accent);background:var(--accent);box-shadow:0 4px 12px rgba(108,71,255,.25)}
.k-slot.is-on b,.k-slot.is-on span{color:#fff}
.k-slot.is-full{opacity:.45;cursor:not-allowed;background:#f1f2f7}
.k-booking__hint{font-size:.86rem;color:#787f95;margin:.2rem 0 0}
.k-booking__msg{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;text-align:center;line-height:1.45}
.k-booking__msg.is-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.k-booking__msg.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.k-booking__form button:focus{outline:0}
.k-booking__form button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.k-slot-sep{grid-column:1/-1;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#8b90a3;margin:.55rem 0 .05rem}

/* Gestión de reserva con código */
.k-manage{padding:5rem 0;background:#f7f8fb}
.k-manage__card{background:#fff;border:1px solid #e7e8f2;border-radius:18px;padding:1.6rem;box-shadow:0 12px 40px rgba(0,0,0,.05)}
.k-manage__search{display:flex;gap:.6rem}
.k-manage__search input{flex:1;padding:.85rem 1rem;border:1px solid #d5d8e6;border-radius:10px;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;font-family:inherit;background:#fafbfe;box-sizing:border-box}
.k-manage__search input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(108,71,255,.12);background:#fff}
.k-manage__msg{margin-top:1rem;padding:.8rem 1rem;border-radius:10px;font-size:.9rem;font-weight:600;text-align:center}
.k-manage__msg.is-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.k-manage__msg.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.k-manage__result{margin-top:1.2rem;border-top:1px solid #eef0f5;padding-top:1.2rem}
.k-manage__head{display:flex;align-items:center;gap:.6rem;justify-content:space-between;flex-wrap:wrap}
.k-manage__head b{font-size:1.05rem}
.k-manage__state{display:inline-block;margin-left:.6rem;font-size:.72rem;font-weight:800;padding:.18rem .5rem;border-radius:99px}
.k-manage__state.confirmed{background:#ecfdf5;color:#065f46}
.k-manage__state.pending{background:#fffbeb;color:#92400e}
.k-manage__state.cancelled{background:#f3f4f6;color:#6b7280}
.k-manage__state.done{background:#eef2ff;color:#3730a3}
.k-manage__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;font-weight:800;letter-spacing:.12em;background:#f4f3ff;color:#4c1d95;padding:.3rem .6rem;border-radius:8px}
.k-manage__data{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.85rem;margin:1.1rem 0;padding:0}
.k-manage__data dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#8b90a3;font-weight:700}
.k-manage__data dd{margin:.1rem 0 0;font-size:.95rem;font-weight:600}
.k-manage__edit{border-top:1px solid #eef0f5;padding-top:1.1rem;display:flex;flex-direction:column;gap:.9rem}
.k-manage__grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.k-manage__edit label{display:block;font-size:.82rem;font-weight:600;color:#2d3142}
.k-manage__edit input{width:100%;margin-top:.3rem;padding:.7rem .9rem;border:1px solid #d5d8e6;border-radius:9px;font-family:inherit;font-size:.95rem;background:#fafbfe;box-sizing:border-box}
.k-manage__edit input:focus{outline:0;border-color:var(--accent);background:#fff}
.k-manage__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.45rem}
.k-manage__actions{display:flex;gap:.6rem;flex-wrap:wrap}
.k-manage__danger{background:none;border:1px solid #fecaca;color:#b91c1c;border-radius:9px;padding:.6rem 1rem;font-size:.86rem;font-weight:700;cursor:pointer;font-family:inherit}
.k-manage__danger:hover{background:#fef2f2}
.k-manage__closed{margin:1rem 0 0;padding:.9rem;background:#f9fafb;border-radius:10px;font-size:.9rem;color:#6b7280;text-align:center}
.k-manage__note{font-size:.8rem;color:#8b90a3;text-align:center;margin-top:1rem}
.k-manage__split{display:grid;grid-template-columns:1fr 1.15fr;gap:2.5rem;align-items:start}
@media (max-width:760px){
  .k-manage__split{grid-template-columns:1fr;gap:1.5rem}
  .k-manage__grid{grid-template-columns:1fr}
  .k-manage__card{padding:1.1rem}
  .k-manage__search{flex-direction:column}
}
