/* =========================================================================
   Centre d'Estudis Valliranencs · bundle.css
   Componentes del sistema de diseño. Requiere tokens.css.
   Prefijo de clases: .cev-   ·   Comportamientos: bundle.js (window.CEV)
   ========================================================================= */

/* 1 · Base ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html.cev-lock{overflow:hidden}
body{margin:0;background:var(--page-bg);color:var(--text);font-family:var(--font-sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%}
h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{color:var(--heading);text-wrap:balance}
a{color:var(--link);text-decoration-color:var(--blue-mist);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--link-hover);text-decoration-color:currentColor}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
::selection{background:var(--sky-200);color:var(--ink)}
.cev-sidebar :focus-visible,.cev-footer :focus-visible,.cev-window--dark :focus-visible,.cev-parallax :focus-visible,.cev-lightbox :focus-visible,.cev-on-dark :focus-visible{outline-color:var(--white)}
.cev-sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cev-skip{position:absolute;top:-120px;left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--blue-night);color:var(--white);font-weight:600;text-decoration:none}
.cev-skip:focus{top:var(--space-4);color:var(--white)}
.cev-icon{display:inline-block;flex:0 0 auto;width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.cev-icon--sm{width:16px;height:16px}
.cev-icon--lg{width:28px;height:28px}
.cev-pending{font-style:italic;color:var(--text-muted)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* 2 · Tipografía ---------------------------------------------------------- */
.cev-display{font-size:clamp(40px,2.2vw + 22px,56px);line-height:1.07;font-weight:700;letter-spacing:-.01em;color:var(--heading);text-wrap:balance}
.cev-h1{font-size:clamp(34px,1.4vw + 24px,44px);line-height:1.14;font-weight:700;color:var(--heading);text-wrap:balance}
.cev-h2{font-size:clamp(28px,.9vw + 21px,34px);line-height:1.18;font-weight:700;color:var(--heading);text-wrap:balance}
.cev-h3{font-size:clamp(22px,.5vw + 18px,26px);line-height:1.25;font-weight:600;color:var(--heading);text-wrap:balance}
.cev-h4{font-size:21px;line-height:1.33;font-weight:600;color:var(--heading)}
.cev-lead{font-size:clamp(19px,.3vw + 17px,21px);line-height:1.52;color:var(--text-muted)}
.cev-body{font-size:18px;line-height:1.6}
.cev-small{font-size:16px;line-height:1.5}
.cev-caption{font-size:14px;line-height:1.43;color:var(--text-muted)}
.cev-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:13px;line-height:1.25;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--link)}
.cev-accent{color:var(--accent)}
.cev-muted{color:var(--text-muted)}
.cev-num{font-variant-numeric:tabular-nums}
.cev-prose{max-width:var(--prose-max)}
.cev-prose>*+*{margin-top:1em}
.cev-prose h2{margin-top:1.6em;font-size:28px;line-height:1.2}
.cev-prose h3{margin-top:1.4em;font-size:22px;line-height:1.3}
.cev-prose ul,.cev-prose ol{padding-left:1.25em}
.cev-prose li+li{margin-top:.35em}
.cev-prose blockquote{padding:var(--space-4) var(--space-5);border-radius:var(--radius-window);background:var(--window-tint-bg);color:var(--heading);font-size:21px;line-height:1.5}

/* 3 · Maquetación --------------------------------------------------------- */
.cev-app{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:var(--frame-gap);min-height:100vh;padding:var(--frame-gap)}
.cev-main{container:cev / inline-size;display:flex;flex-direction:column;gap:var(--frame-gap);min-width:0;padding-bottom:var(--cev-bottombox-space,0px)}
.cev-cq{container:cev / inline-size;width:100%;min-width:0}
.cev-content{flex:1 0 auto;outline:none}
.cev-container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:clamp(16px,2.5vw,32px)}
.cev-section{padding-block:clamp(48px,6vw,88px)}
.cev-section--tight{padding-block:clamp(32px,4vw,56px)}
.cev-section--hero{padding-block:clamp(24px,3vw,40px) clamp(48px,6vw,88px)}
.cev-section__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}
.cev-section__title{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);max-width:680px}
.cev-stack{display:flex;flex-direction:column;gap:var(--space-5)}
.cev-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.cev-band{padding:clamp(24px,4vw,48px);border-radius:var(--radius-window);background:var(--window-tint-bg)}
.cev-grid{display:grid;gap:var(--space-5)}
.cev-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cev-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cev-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cev-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,4vw,64px)}
.cev-split--start,.cev-split--sticky{align-items:start}
.cev-split__text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5);max-width:560px}
.cev-split__media{min-width:0}
.cev-split--sticky .cev-split__media{position:sticky;top:var(--space-6)}
@container cev (max-width:960px){.cev-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container cev (max-width:760px){.cev-grid--3{grid-template-columns:minmax(0,1fr)}}
@container cev (max-width:700px){
  .cev-split{grid-template-columns:minmax(0,1fr)}
  .cev-split__text{max-width:none}
  .cev-split--sticky .cev-split__media{position:static}
}
@container cev (max-width:560px){.cev-grid--2,.cev-grid--4{grid-template-columns:minmax(0,1fr)}}

/* 4 · Botones ------------------------------------------------------------- */
.cev-btn{--btn-h:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--btn-h);padding:0 22px;border:1.5px solid transparent;border-radius:var(--radius-md);background:transparent;font-size:17px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.cev-btn:active{transform:translateY(1px)}
.cev-btn .cev-icon{width:18px;height:18px}
.cev-btn--primary{background:var(--action-bg);color:var(--white)}
.cev-btn--primary:hover{background:var(--action-bg-hover);color:var(--white)}
.cev-btn--secondary{border-color:var(--accent);background:var(--window-bg);color:var(--link)}
.cev-btn--secondary:hover{background:var(--window-tint-bg);color:var(--link-hover)}
.cev-btn--ghost{padding-inline:12px;color:var(--link)}
.cev-btn--ghost:hover{background:var(--window-tint-bg);color:var(--link-hover)}
.cev-btn--light{background:var(--white);color:var(--blue-steel)}
.cev-btn--light:hover{background:var(--sky-100);color:var(--blue-steel)}
.cev-btn--outline-light{border-color:var(--sky-200);color:var(--white)}
.cev-btn--outline-light:hover{background:rgba(255,255,255,.12);color:var(--white)}
.cev-btn--dark{background:var(--blue-night);color:var(--white)}
.cev-btn--dark:hover{background:var(--blue-deep);color:var(--white)}
.cev-btn--outline-dark{border-color:var(--blue-night);color:var(--blue-night)}
.cev-btn--outline-dark:hover{background:rgba(26,54,80,.1);color:var(--blue-night)}
.cev-btn--sm{--btn-h:40px;padding:0 16px;font-size:15px}
.cev-btn--lg{--btn-h:56px;padding:0 28px;font-size:18px}
.cev-btn--block{display:flex;width:100%}
.cev-btn--icon{width:var(--btn-h);padding:0}
.cev-btn:disabled,.cev-btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}

/* 5 · Insignias y categorías --------------------------------------------- */
.cev-badge{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 11px;border-radius:var(--radius-pill);background:var(--sky-100);color:var(--blue-steel);font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.02em;white-space:nowrap}
.cev-badge--solid{background:var(--action-bg);color:var(--white)}
.cev-badge--soon{background:var(--blue-mist);color:var(--blue-night)}
.cev-badge--outline{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line-strong);color:var(--text-muted)}
.cev-badge--on-dark{background:rgba(255,255,255,.14);color:var(--white)}
.cev-cat{--cat:var(--cat-residential);display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.3;color:var(--text)}
.cev-cat::before{content:"";flex:0 0 auto;width:14px;height:14px;border-radius:4px;background:var(--cat);box-shadow:inset 0 0 0 1px rgba(26,54,80,.3)}
.cev-cat--residential{--cat:var(--cat-residential)}
.cev-cat--public{--cat:var(--cat-public)}
.cev-cat--religious{--cat:var(--cat-religious)}
.cev-cat--commercial{--cat:var(--cat-commercial)}
.cev-cat--industrial{--cat:var(--cat-industrial)}
.cev-cat--pill{padding:4px 12px 4px 9px;border-radius:var(--radius-pill);background:var(--window-bg);box-shadow:inset 0 0 0 1px var(--window-border)}
.cev-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0;padding:0;list-style:none}

/* 6 · Ventanas ------------------------------------------------------------ */
.cev-window{position:relative;display:flex;flex-direction:column;gap:var(--space-3);min-width:0;padding:var(--space-5);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window);color:var(--text)}
.cev-window--tint{border-color:transparent;background:var(--window-tint-bg);box-shadow:none}
.cev-window--dark{border-color:transparent;background:var(--window-dark-bg);box-shadow:none;color:var(--sky-200)}
.cev-window--dark :is(h2,h3,h4),.cev-window--dark .cev-window__title{color:var(--white)}
.cev-window--dark .cev-eyebrow{color:var(--sky-200)}
.cev-window--flush{padding:0;overflow:hidden}
.cev-window--link{text-decoration:none;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.cev-window--link:hover{transform:translateY(-3px);border-color:var(--sky-200);box-shadow:var(--shadow-raised);color:var(--text)}
.cev-window__media{position:relative;margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-2);aspect-ratio:3/2;overflow:hidden;border-radius:calc(var(--radius-window) - 1px) calc(var(--radius-window) - 1px) 0 0;background:var(--sky-100)}
.cev-window__media>img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.cev-window--link:hover .cev-window__media>img{transform:scale(1.03)}
.cev-window__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--window-border)}
.cev-window__title{font-size:21px;line-height:1.3;font-weight:600;color:var(--heading);text-wrap:balance}
.cev-window__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:15px;line-height:1.4;color:var(--text-muted)}
.cev-window__meta>span{display:inline-flex;align-items:center;gap:6px}
.cev-window__meta .cev-icon{width:16px;height:16px}
.cev-window__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:auto;padding-top:var(--space-2)}
.cev-feature__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--sky-100);color:var(--accent)}
.cev-feature__icon .cev-icon{width:24px;height:24px}
.cev-window--dark .cev-feature__icon{background:var(--blue-deep);color:var(--blue-mist)}

/* 7 · Imágenes en ventana ------------------------------------------------- */
.cev-photo{position:relative;margin:0;overflow:hidden;isolation:isolate;border-radius:var(--radius-window);background:var(--sky-100);box-shadow:var(--shadow-window)}
.cev-photo>img{width:100%;height:100%;object-fit:cover}
.cev-photo--4x3{aspect-ratio:4/3}
.cev-photo--3x2{aspect-ratio:3/2}
.cev-photo--16x9{aspect-ratio:16/9}
.cev-photo--1x1{aspect-ratio:1/1}
.cev-photo--3x4{aspect-ratio:3/4}
.cev-photo--cyanotype>img{filter:grayscale(1) contrast(1.1)}
.cev-photo--cyanotype::after{content:"";position:absolute;inset:0;z-index:1;background:var(--blue-deep);mix-blend-mode:screen;pointer-events:none}
.cev-photo__caption{position:absolute;left:var(--space-3);bottom:var(--space-3);z-index:2;display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;max-width:calc(100% - 2 * var(--space-3));padding:6px 12px;border-radius:var(--radius-md);background:var(--caption-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--white);font-size:14px;line-height:1.35}
.cev-photo__caption strong{font-weight:600}
.cev-photo__caption span{color:var(--sky-200)}
.cev-photo__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);background-color:var(--sky-100);background-image:repeating-linear-gradient(135deg,rgba(131,165,211,.16) 0 12px,transparent 12px 24px);color:var(--blue-steel);font-size:15px;font-weight:600;line-height:1.3;text-align:center}
.cev-photo__empty .cev-icon{width:32px;height:32px;color:var(--accent)}
.cev-photo__empty small{font-size:14px;font-weight:400;color:var(--text-muted)}
.cev-figure{display:flex;flex-direction:column;gap:var(--space-2);margin:0}
.cev-figure>figcaption{font-size:14px;line-height:1.43;color:var(--text-muted)}

/* 8 · Mosaico de ventanas ------------------------------------------------- */
.cev-mosaic{--mosaic-mat:var(--page-bg);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(12,minmax(0,1fr));aspect-ratio:1/.9}
.cev-mosaic>.cev-photo{min-height:0}
.cev-mosaic__a{grid-column:1 / 11;grid-row:1 / 9}
.cev-mosaic__b{z-index:1;grid-column:7 / 13;grid-row:6 / 13;box-shadow:0 0 0 6px var(--mosaic-mat),var(--shadow-raised)}
.cev-mosaic__c{grid-column:1 / 7;grid-row:9 / 13;margin:var(--space-4) var(--space-4) 0 var(--space-5)}
.cev-mosaic__a .cev-photo__caption{max-width:calc(58% - var(--space-3))}
@container cev (max-width:420px){
  .cev-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;aspect-ratio:auto;gap:var(--space-3)}
  .cev-mosaic__a{grid-column:1 / -1;grid-row:auto;aspect-ratio:4/3}
  .cev-mosaic__b,.cev-mosaic__c{grid-column:auto;grid-row:auto;aspect-ratio:1/1;margin:0;box-shadow:var(--shadow-window);transform:none!important}
}

/* 9 · Sidebar y marca ----------------------------------------------------- */
.cev-sidebar{position:sticky;top:var(--frame-gap);z-index:60;display:flex;flex-direction:column;gap:var(--space-6);height:calc(100vh - 2 * var(--frame-gap));height:calc(100dvh - 2 * var(--frame-gap));overflow-y:auto;padding:var(--space-6) var(--space-4) var(--space-5);border-radius:var(--radius-window);background:var(--sidebar-bg);color:var(--sidebar-text);scrollbar-width:thin;scrollbar-color:var(--blue-mist) transparent}
.cev-sidebar__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.cev-sidebar__close{display:none}
.cev-brand{display:flex;align-items:center;gap:var(--space-3);min-width:0;color:inherit;text-decoration:none}
.cev-brand:hover{color:inherit}
.cev-brand__mark{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--accent);color:var(--white);font-size:15px;font-weight:700;letter-spacing:.06em}
.cev-brand__text{display:flex;flex-direction:column;min-width:0}
.cev-brand__name{font-size:17px;line-height:1.2;font-weight:700}
.cev-brand__tag{margin-top:2px;font-size:14px;line-height:1.3;color:var(--text-muted)}
.cev-sidebar .cev-brand__tag{color:var(--sidebar-text-muted)}
.cev-brand--on-dark,.cev-brand--on-dark:hover{color:var(--white)}
.cev-brand--on-dark .cev-brand__tag{color:var(--sky-200)}
.cev-nav{display:flex;flex-direction:column;gap:2px}
.cev-nav__label{margin-bottom:var(--space-2);padding-inline:var(--space-3);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sidebar-text-muted)}
.cev-nav__item{display:flex;align-items:center;gap:var(--space-3);min-height:46px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:16px;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.cev-nav__item .cev-icon{color:var(--sidebar-icon)}
.cev-nav__item:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text)}
.cev-nav__item.is-active,.cev-nav__item[aria-current="page"]{background:var(--sidebar-item-active-bg);color:var(--sidebar-item-active-text)}
.cev-nav__item.is-active .cev-icon,.cev-nav__item[aria-current="page"] .cev-icon{color:var(--accent)}
.cev-nav__item .cev-badge{margin-left:auto}
.cev-sidebar__card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-radius:var(--radius-window);background:var(--sidebar-card-bg)}
.cev-sidebar__card-title{font-size:18px;line-height:1.3;font-weight:700;color:var(--white)}
.cev-sidebar__card p:not(.cev-sidebar__card-title){font-size:15px;line-height:1.5;color:var(--sidebar-text-muted)}
.cev-sidebar__foot{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-top:auto;padding-top:var(--space-4);border-top:1px solid rgba(159,173,196,.35);font-size:14px}
.cev-sidebar__foot a{color:var(--sidebar-text-muted);text-decoration:none}
.cev-sidebar__foot a:hover{color:var(--white);text-decoration:underline}
.cev-scrim{position:fixed;inset:0;z-index:55;background:var(--scrim)}
.cev-scrim[hidden]{display:none}
@media (max-width:1023px){
  .cev-app{grid-template-columns:minmax(0,1fr);padding:0}
  .cev-sidebar{position:fixed;top:var(--space-2);bottom:var(--space-2);left:var(--space-2);width:min(320px,calc(100vw - 48px));height:auto;box-shadow:var(--shadow-float);transform:translateX(calc(-100% - 24px));visibility:hidden;transition:transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base)}
  .cev-sidebar.is-open{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease-out)}
  .cev-sidebar__close{display:inline-flex}
}
.cev-sidebar.cev-sidebar--static{position:relative;top:auto;bottom:auto;left:auto;width:auto;height:auto;box-shadow:none;transform:none;visibility:visible}

/* 10 · Barra superior ----------------------------------------------------- */
.cev-topbar{display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-height);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window)}
.cev-topbar__menu,.cev-topbar__brand{display:none}
.cev-topbar__brand .cev-brand__mark{width:40px;height:40px;border-radius:10px;font-size:13px}
.cev-topbar__brand .cev-brand__name{font-size:16px;color:var(--heading)}
.cev-breadcrumb{min-width:0}
.cev-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;list-style:none;font-size:15px;line-height:1.4;color:var(--text-muted)}
.cev-breadcrumb li{display:inline-flex;align-items:center;gap:8px}
.cev-breadcrumb li+li::before{content:"/";color:var(--blue-slate)}
.cev-breadcrumb a{color:var(--text-muted);text-decoration:none}
.cev-breadcrumb a:hover{color:var(--link);text-decoration:underline}
.cev-breadcrumb [aria-current="page"]{font-weight:600;color:var(--text)}
.cev-search{position:relative;display:flex;align-items:center;flex:1 1 220px;min-width:0;max-width:420px;margin:0 0 0 auto}
.cev-search .cev-icon{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}
.cev-search input{width:100%;min-width:0;height:44px;padding:0 14px 0 44px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white);color:var(--text);font-size:16px}
.cev-search input::placeholder{color:var(--text-muted);opacity:1}
.cev-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(50,144,230,.28)}
@media (max-width:1023px){
  .cev-topbar{position:sticky;top:0;z-index:40;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border-width:0 0 1px;border-radius:0 0 var(--radius-window) var(--radius-window);box-shadow:none;transition:box-shadow var(--dur-base) var(--ease-out)}
  .cev-topbar.is-scrolled{box-shadow:var(--shadow-float)}
  .cev-topbar__menu,.cev-topbar__brand{display:inline-flex}
  .cev-topbar .cev-breadcrumb{display:none}
}
@media (max-width:640px){
  .cev-topbar__brand .cev-brand__text,.cev-topbar__cta{display:none}
}
.cev-topbar.cev-topbar--wide{position:relative;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-5);border-width:1px;border-radius:var(--radius-window);box-shadow:var(--shadow-window)}
.cev-topbar--wide .cev-topbar__menu,.cev-topbar--wide .cev-topbar__brand{display:none}
.cev-topbar--wide .cev-breadcrumb{display:block}
.cev-topbar--wide .cev-topbar__cta{display:inline-flex}
.cev-topbar.cev-topbar--compact{position:relative;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);border-width:0 0 1px;border-radius:0 0 var(--radius-window) var(--radius-window);box-shadow:var(--shadow-window)}
.cev-topbar--compact .cev-topbar__menu,.cev-topbar--compact .cev-topbar__brand{display:inline-flex}
.cev-topbar--compact .cev-breadcrumb,.cev-topbar--compact .cev-topbar__cta,.cev-topbar--compact .cev-topbar__brand .cev-brand__text{display:none}

/* 11 · Bottombar (pie de página) ----------------------------------------- */
.cev-footer{padding:clamp(32px,4vw,56px) clamp(20px,4vw,56px) var(--space-5);border-radius:var(--radius-window);background:var(--bottombar-bg);color:var(--bottombar-text);font-size:16px;line-height:1.55}
.cev-footer__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:var(--space-7) var(--space-6)}
.cev-footer h2,.cev-footer h3{margin-bottom:var(--space-3);font-size:16px;line-height:1.3;font-weight:700;letter-spacing:.02em;color:var(--white)}
.cev-footer a{color:var(--bottombar-link);text-decoration:none}
.cev-footer a:hover{color:var(--white);text-decoration:underline}
.cev-footer .cev-brand,.cev-footer .cev-brand:hover{color:var(--white);text-decoration:none}
.cev-footer .cev-brand__tag{color:var(--bottombar-meta)}
.cev-footer__about{display:flex;flex-direction:column;gap:var(--space-4)}
.cev-footer__links{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}
.cev-footer__contact{display:flex;flex-direction:column;gap:2px;margin:0}
.cev-footer__contact dt{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bottombar-meta)}
.cev-footer__contact dd{margin:0 0 var(--space-2)}
.cev-footer .cev-pending{color:var(--bottombar-text)}
.cev-footer__meta{font-size:14px;color:var(--bottombar-meta)}
.cev-footer .cev-input{border-color:transparent}
.cev-footer__supporters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-4);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid rgba(159,173,196,.25)}
.cev-footer__logo-slot{display:grid;place-items:center;min-width:140px;height:56px;padding:0 var(--space-4);border:1.5px dashed rgba(159,173,196,.55);border-radius:var(--radius-md);color:var(--bottombar-meta);font-size:13px}
.cev-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(159,173,196,.25);font-size:14px;color:var(--bottombar-meta)}
.cev-footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-4)}
@container cev (max-width:980px){.cev-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container cev (max-width:560px){.cev-footer__grid{grid-template-columns:minmax(0,1fr)}}

/* 12 · Bottombox (barra flotante) ----------------------------------------- */
.cev-bottombox{position:fixed;right:var(--frame-gap);bottom:calc(var(--frame-gap) + env(safe-area-inset-bottom,0px));left:calc(var(--sidebar-width) + 2 * var(--frame-gap));z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--radius-window);background:var(--bottombox-bg);color:var(--bottombox-text);box-shadow:var(--shadow-float);transform:translateY(calc(100% + 40px));visibility:hidden;transition:transform var(--dur-base) var(--ease-out),visibility 0s linear var(--dur-base)}
.cev-bottombox.is-visible{transform:none;visibility:visible;transition:transform var(--dur-base) var(--ease-out)}
.cev-bottombox__text{margin:0;font-size:18px;line-height:1.35;font-weight:600}
.cev-bottombox__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.cev-bottombox :focus-visible{outline-color:var(--blue-night)}
@media (max-width:1023px){.cev-bottombox{left:var(--frame-gap)}}
.cev-bottombox.cev-bottombox--static{position:relative;right:auto;bottom:auto;left:auto;transform:none;visibility:visible}

/* 13 · Agenda ------------------------------------------------------------- */
.cev-events{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}
.cev-event{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window);color:var(--text);text-decoration:none;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
a.cev-event:hover{transform:translateY(-2px);border-color:var(--sky-200);box-shadow:var(--shadow-raised);color:var(--text)}
.cev-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:76px;border-radius:12px;background:var(--sky-100);color:var(--blue-steel);line-height:1;text-align:center}
.cev-date__day{font-size:30px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.cev-date__month{margin-top:4px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cev-event__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.cev-event__title{font-size:20px;line-height:1.3;font-weight:600;color:var(--heading)}
.cev-event__meta{display:flex;flex-wrap:wrap;gap:4px var(--space-4);font-size:15px;line-height:1.4;color:var(--text-muted)}
.cev-event__meta>span{display:inline-flex;align-items:center;gap:6px}
.cev-event__meta .cev-icon{width:16px;height:16px}
.cev-event__go{color:var(--link);transition:transform var(--dur-base) var(--ease-out)}
a.cev-event:hover .cev-event__go{transform:translateX(3px)}
@container cev (max-width:520px){.cev-event{grid-template-columns:auto minmax(0,1fr)}.cev-event__go{display:none}}

/* 14 · Publicaciones y carrusel ------------------------------------------- */
.cev-carousel{display:flex;flex-direction:column;gap:var(--space-5)}
.cev-carousel__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}
.cev-carousel__controls{display:flex;gap:var(--space-2);margin-left:auto}
.cev-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,calc((100% - 3 * var(--space-5)) / 4),320px);gap:var(--space-5);margin:0;padding:8px 4px var(--space-4);list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:4px;scrollbar-width:thin;scrollbar-color:var(--blue-mist) transparent}
.cev-carousel__track>*{min-width:0;scroll-snap-align:start}
.cev-pub{display:flex;flex-direction:column;gap:var(--space-2);color:var(--text);text-decoration:none}
.cev-pub:hover{color:var(--text)}
.cev-pub__cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-3);aspect-ratio:3/4;margin-bottom:var(--space-2);padding:var(--space-5);overflow:hidden;border-radius:var(--radius-window);background-color:var(--blue-steel);background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px;color:var(--white);box-shadow:var(--shadow-window);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.cev-pub:hover .cev-pub__cover{transform:translateY(-3px);box-shadow:var(--shadow-raised)}
.cev-pub__cover--brand{background-color:var(--action-bg)}
.cev-pub__cover--night{background-color:var(--blue-night)}
.cev-pub__cover--mist{background-color:var(--blue-mist);background-image:linear-gradient(rgba(26,54,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(26,54,80,.08) 1px,transparent 1px);color:var(--blue-night)}
.cev-pub__cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cev-pub__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}
.cev-pub__series{font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.cev-pub__mark{font-size:12px;font-weight:700;letter-spacing:.08em}
.cev-pub__number{font-size:72px;line-height:.9;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.cev-pub__cover-title{font-size:20px;line-height:1.2;font-weight:600;text-wrap:balance}
.cev-pub__year{display:flex;align-items:center;gap:var(--space-2);font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--link);font-variant-numeric:tabular-nums}
.cev-pub__title{font-size:19px;line-height:1.3;font-weight:600;color:var(--heading)}
.cev-pub__desc{font-size:16px;line-height:1.5;color:var(--text-muted)}

/* 15 · Línea del tiempo ---------------------------------------------------- */
.cev-timeline .cev-carousel__track{grid-auto-columns:clamp(240px,calc((100% - 2 * var(--space-5)) / 3),360px)}
.cev-tl-item{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding-top:40px}
.cev-tl-item::before{content:"";position:absolute;top:10px;left:9px;right:calc(-1 * var(--space-5) - 9px);height:2px;background:var(--blue-mist)}
.cev-tl-item:last-child::before{right:0;background:linear-gradient(90deg,var(--blue-mist),transparent)}
.cev-tl-item::after{content:"";position:absolute;top:2px;left:0;width:18px;height:18px;border:4px solid var(--blue-bright);border-radius:50%;background:var(--page-bg)}
.cev-tl-item--future::after{border-style:dashed;border-width:3px;border-color:var(--line-strong)}
.cev-tl-item__when{font-size:24px;line-height:1.15;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.cev-tl-item--future .cev-tl-item__when{color:var(--text-muted)}
.cev-tl-item__body{flex:1 1 auto;display:flex;flex-direction:column;gap:6px;padding:var(--space-4) var(--space-5);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window)}
.cev-tl-item__title{font-size:19px;line-height:1.3;font-weight:600;color:var(--heading)}
.cev-tl-item__text{font-size:16px;line-height:1.5;color:var(--text-muted)}

/* 16 · Cifras -------------------------------------------------------------- */
.cev-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.cev-stat{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window)}
.cev-stat__value{font-size:clamp(40px,2.4vw + 22px,56px);line-height:1;font-weight:700;letter-spacing:-.01em;color:var(--accent);font-variant-numeric:tabular-nums}
.cev-stat__label{font-size:16px;line-height:1.35;font-weight:600;color:var(--text-muted)}
@container cev (max-width:760px){.cev-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 17 · Banda parallax ----------------------------------------------------- */
.cev-parallax{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(340px,36vw,480px);padding:clamp(24px,5vw,64px);overflow:hidden;border-radius:var(--radius-window);background:var(--blue-night);color:var(--sky-200)}
.cev-parallax__media{position:absolute;inset:-18% 0;z-index:-2;will-change:transform}
.cev-parallax__media>img{width:100%;height:100%;object-fit:cover}
.cev-parallax::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(26,54,80,.94) 0%,rgba(26,54,80,.78) 45%,rgba(26,54,80,.2) 100%)}
.cev-parallax__content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);max-width:560px}
.cev-parallax__quote{font-size:clamp(26px,1.6vw + 16px,36px);line-height:1.2;font-weight:600;color:var(--white);text-wrap:balance}
.cev-parallax .cev-eyebrow{color:var(--sky-200)}
@container cev (max-width:640px){.cev-parallax::before{background:linear-gradient(180deg,rgba(26,54,80,.6),rgba(26,54,80,.94))}}

/* 18 · Antes y ahora ------------------------------------------------------- */
.cev-compare{--pos:50%;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-window);background:var(--sky-100);box-shadow:var(--shadow-window);user-select:none;-webkit-user-select:none}
.cev-compare__img{position:absolute;inset:0;margin:0;overflow:hidden;isolation:isolate}
.cev-compare__img>img{width:100%;height:100%;object-fit:cover}
.cev-compare__img--after{z-index:1;clip-path:inset(0 0 0 var(--pos))}
.cev-compare__label{position:absolute;top:var(--space-3);z-index:3;padding:6px 12px;border-radius:var(--radius-md);background:var(--caption-bg);color:var(--white);font-size:14px;line-height:1.3;font-weight:600;pointer-events:none}
.cev-compare__label--before{left:var(--space-3)}
.cev-compare__label--after{right:var(--space-3)}
.cev-compare__range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.cev-compare__handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:2;width:3px;margin-left:-1.5px;background:var(--white);box-shadow:0 0 0 1px rgba(26,54,80,.25);pointer-events:none}
.cev-compare__knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--white);color:var(--blue-steel);box-shadow:var(--shadow-raised)}
.cev-compare__range:focus-visible+.cev-compare__handle .cev-compare__knob{outline:3px solid var(--focus-ring);outline-offset:3px}

/* 19 · Galería y visor ---------------------------------------------------- */
.cev-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:170px;grid-auto-flow:dense;gap:var(--space-4)}
.cev-gallery__item{position:relative;display:block;overflow:hidden;isolation:isolate;border-radius:var(--radius-window);background:var(--sky-100);box-shadow:var(--shadow-window)}
.cev-gallery__item>img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.cev-gallery__item:hover>img{transform:scale(1.04)}
.cev-gallery__item--wide{grid-column:span 2}
.cev-gallery__item--tall{grid-row:span 2}
.cev-gallery__item .cev-photo__caption{opacity:0;transform:translateY(6px);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.cev-gallery__item:hover .cev-photo__caption,.cev-gallery__item:focus-visible .cev-photo__caption{opacity:1;transform:none}
@media (hover:none){.cev-gallery__item .cev-photo__caption{opacity:1;transform:none}}
@container cev (max-width:640px){.cev-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px}}
.cev-lightbox{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;gap:var(--space-4);padding:max(var(--space-5),env(safe-area-inset-top,0px)) var(--space-5) max(var(--space-5),env(safe-area-inset-bottom,0px));background:rgba(26,54,80,.95);color:var(--white)}
.cev-lightbox[hidden]{display:none}
.cev-lightbox__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:15px;color:var(--sky-200)}
.cev-lightbox__stage{flex:1 1 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:0}
.cev-lightbox__figure{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;min-height:0;margin:0}
.cev-lightbox__img{min-height:0;max-width:100%;max-height:calc(100% - 48px);border-radius:var(--radius-window);object-fit:contain;box-shadow:var(--shadow-float)}
.cev-lightbox__caption{font-size:16px;line-height:1.4;color:var(--sky-200);text-align:center}

/* 20 · Formularios --------------------------------------------------------- */
.cev-form{display:grid;gap:var(--space-5)}
.cev-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
@container cev (max-width:560px){.cev-form__row{grid-template-columns:minmax(0,1fr)}}
.cev-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cev-label{font-size:15px;line-height:1.3;font-weight:600;color:var(--text)}
.cev-label small{font-size:14px;font-weight:400;color:var(--text-muted)}
.cev-hint{font-size:14px;line-height:1.4;color:var(--text-muted)}
.cev-input,.cev-select,.cev-textarea{width:100%;min-height:48px;padding:11px 14px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white);color:var(--text);font-size:17px;line-height:1.4;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.cev-input::placeholder,.cev-textarea::placeholder{color:var(--text-muted);opacity:1}
.cev-input:hover,.cev-select:hover,.cev-textarea:hover{border-color:var(--blue-steel)}
.cev-input:focus,.cev-select:focus,.cev-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(50,144,230,.28)}
.cev-input:disabled,.cev-select:disabled,.cev-textarea:disabled{border-color:var(--line);background:var(--sky-50);color:var(--text-muted);cursor:not-allowed}
.cev-textarea{min-height:128px;resize:vertical}
.cev-select{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2356657D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.cev-check{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.45;color:var(--text)}
.cev-check input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}
.cev-field--error .cev-input,.cev-field--error .cev-select,.cev-field--error .cev-textarea{border-color:var(--danger)}
.cev-error{display:flex;align-items:center;gap:6px;font-size:14px;line-height:1.4;font-weight:600;color:var(--danger)}
.cev-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--success-bg);color:var(--success);font-size:16px;line-height:1.45;font-weight:600}
.cev-notice--error{background:var(--danger-bg);color:var(--danger)}
.cev-footer .cev-label,.cev-window--dark .cev-label,.cev-parallax .cev-label{color:var(--white)}
.cev-inline-form{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.cev-inline-form .cev-input{flex:1 1 200px;width:auto}

/* 21 · Pasos --------------------------------------------------------------- */
.cev-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0;padding:0;list-style:none;counter-reset:cev-step}
.cev-step{counter-increment:cev-step;display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;column-gap:var(--space-4);row-gap:4px;padding:var(--space-5);border:1px solid var(--window-border);border-radius:var(--radius-window);background:var(--window-bg);box-shadow:var(--shadow-window)}
.cev-step::before{content:counter(cev-step);grid-row:1 / span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--sky-100);color:var(--accent);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.cev-step__title{font-size:19px;line-height:1.3;font-weight:600;color:var(--heading)}
.cev-step__text{font-size:16px;line-height:1.5;color:var(--text-muted)}
.cev-steps--stacked{grid-template-columns:minmax(0,1fr)}
.cev-steps--on-dark .cev-step{border-color:transparent;background:var(--blue-deep);box-shadow:none}
.cev-steps--on-dark .cev-step::before{background:var(--blue-steel);color:var(--white)}
.cev-steps--on-dark .cev-step__title{color:var(--white)}
.cev-steps--on-dark .cev-step__text{color:var(--sky-200)}
@container cev (max-width:700px){.cev-steps{grid-template-columns:minmax(0,1fr)}}

/* 22 · Ficha de edificio y listas de datos -------------------------------- */
.cev-fitxa__photos{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-2);margin-bottom:var(--space-2)}
.cev-fitxa__photos .cev-photo{aspect-ratio:4/3;border-radius:var(--radius-md);box-shadow:none}
.cev-fitxa__photos .cev-photo+.cev-photo{aspect-ratio:auto}
.cev-fitxa>.cev-empty{min-height:180px;margin-bottom:var(--space-2)}
.cev-fitxa__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}
.cev-fitxa__ref{font-size:13px;letter-spacing:.02em;color:var(--text-muted);font-variant-numeric:tabular-nums}
.cev-fitxa__title{font-size:26px;line-height:1.2;font-weight:700;color:var(--heading)}
.cev-fitxa__address{font-size:15px;line-height:1.4;color:var(--text-muted)}
.cev-fitxa__desc{font-size:17px;line-height:1.55}
.cev-datalist{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);margin:0;border-top:1px solid var(--window-border)}
.cev-datalist>dt,.cev-datalist>dd{padding:10px 0;border-bottom:1px solid var(--window-border)}
.cev-datalist>dt{padding-right:var(--space-5);font-size:15px;font-weight:600;color:var(--text-muted)}
.cev-datalist>dd{margin:0;font-size:17px;color:var(--text)}
.cev-datalist--compact>dt,.cev-datalist--compact>dd{padding:6px 0;font-size:15px}
.cev-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-5);border:1.5px dashed var(--blue-slate);border-radius:var(--radius-md);color:var(--text-muted);font-size:15px;line-height:1.4;text-align:center}
.cev-empty .cev-icon{color:var(--accent)}

/* 23 · Aparición suave (bundle.js) ---------------------------------------- */
[data-cev-reveal]{transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
[data-cev-reveal].is-pending{opacity:0;transform:translateY(18px)}
[data-cev-reveal="2"]{transition-delay:80ms}
[data-cev-reveal="3"]{transition-delay:160ms}
[data-cev-reveal="4"]{transition-delay:240ms}

/* 24 · Utilidades de documentación (solo previews) ------------------------ */
.cev-demo{container:cev / inline-size;display:flex;flex-direction:column;gap:var(--space-5);min-height:100vh;padding:var(--space-5);background:var(--page-bg)}
.cev-demo--flush{padding:0}
.cev-demo__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.cev-demo__label{font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.cev-demo__panel{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-window)}
