/* Propuesta v2 (moderada) · /configurador-3d-interactivo/
   Se apoya en la plantilla rc- de la página actual; solo añade la demo en vídeo y las tarjetas con imagen. */

/* ---- Demo en vídeo (sustituye a la banda con imagen genérica) ---- */
.cfv-demo{background:#08070a;padding:0 clamp(20px,5vw,80px) clamp(64px,8vw,110px)}
.cfv-demo-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr);gap:clamp(24px,4vw,56px);align-items:center}
.cfv-demo-txt h3{font:800 clamp(1.4rem,2vw,1.8rem)/1.15 'Archivo',system-ui,sans-serif;color:#f4ecd9;margin:14px 0 14px}
.cfv-demo-txt p{color:#c4bba9;line-height:1.65;margin:0 0 22px;font-size:15px}
.cfv-tabs{display:flex;flex-direction:column;gap:6px;margin:0 0 24px;padding:0}
.cfv-tab{position:relative;display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border:1px solid rgba(255,255,255,.08);background:#0b0a0d;color:#c4bba9;font:600 14px/1 'Archivo',system-ui,sans-serif;padding:13px 16px;cursor:pointer;overflow:hidden;transition:background .2s,color .2s,border-color .2s}
.cfv-tab small{font:500 10.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;color:#847b6a}
.cfv-tab:hover{color:#f4ecd9;border-color:rgba(224,160,74,.4)}
.cfv-tab[aria-selected="true"]{color:#f4ecd9;background:rgba(224,160,74,.07);border-color:rgba(224,160,74,.55)}
.cfv-tab i{position:absolute;left:0;bottom:0;height:2px;width:0;background:#e0a04a}
.cfv-tab[aria-selected="true"] i{animation:cfv-fill 9s linear forwards}
.cfv-demo.is-live .cfv-tab i{animation:none}
@keyframes cfv-fill{to{width:100%}}
.cfv-window{border:1px solid rgba(255,255,255,.1);background:#0b0a0d;box-shadow:0 30px 80px -30px rgba(0,0,0,.9)}
.cfv-bar{display:flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.cfv-bar span{width:9px;height:9px;border-radius:50%;background:#2c2a31}
.cfv-bar em{flex:1;margin-left:8px;font:500 11px/1 'JetBrains Mono',ui-monospace,monospace;font-style:normal;color:#847b6a;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfv-bar b{font:500 10px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.12em;color:#e0a04a}
.cfv-screen{position:relative;aspect-ratio:16/9;background:#eef0ec}
.cfv-screen video,.cfv-screen iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;transition:opacity .35s ease}
.cfv-screen video.is-fading{opacity:0}
.cfv-touch{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;background:linear-gradient(135deg,#f7c66d,#f3b851);color:#140f06;font:700 14px/1 'Archivo',system-ui,sans-serif;padding:12px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.35);transition:transform .2s}
.cfv-touch:hover{transform:translateY(-2px)}
.cfv-back{display:none;border:1px solid rgba(224,160,74,.5);background:transparent;color:#f4ecd9;font:500 10.5px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.08em;padding:5px 9px;cursor:pointer;margin-left:4px}
.cfv-back:hover{background:rgba(224,160,74,.12)}
.cfv-demo.is-live .cfv-touch,.cfv-demo.is-live .cfv-bar b{display:none}
.cfv-demo.is-live .cfv-back{display:inline-block}
.cfv-note{margin-top:12px;font:500 11px/1.5 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.06em;color:#847b6a}
.cfv-note a{color:#e0a04a}

/* ---- Tarjetas con imagen en «Configuradores 3D por sector» ---- */
.cfv-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.cfv-filter{border:1px solid rgba(255,255,255,.1);background:transparent;color:#c4bba9;font:600 13px/1 'Archivo',system-ui,sans-serif;padding:10px 14px;cursor:pointer;transition:all .2s}
.cfv-filter small{font:500 10.5px/1 'JetBrains Mono',ui-monospace,monospace;color:#847b6a;margin-left:6px}
.cfv-filter:hover{border-color:rgba(224,160,74,.45);color:#f4ecd9}
.cfv-filter.is-on{border-color:#e0a04a;color:#f4ecd9;background:rgba(224,160,74,.08)}
.cfv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.cfv-card{display:flex;flex-direction:column;background:#0b0a0d;transition:background .25s}
.cfv-card[hidden]{display:none}
.cfv-card:hover{background:rgba(224,160,74,.05)}
.cfv-card figure{position:relative;margin:0;aspect-ratio:16/10;overflow:hidden;background:#eef0ec}
.cfv-card figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s ease,transform .6s ease}
.cfv-card figure img.cfv-alt{opacity:0;object-position:0 0}
.cfv-card:hover figure img{transform:scale(1.04)}
.cfv-card:hover figure img.cfv-alt{opacity:1;transform:none}
.cfv-card-body{display:flex;flex-direction:column;gap:7px;padding:18px 20px 20px;flex:1}
.cfv-card-n{font:800 12px/1 'Archivo',system-ui,sans-serif;color:#e0a04a}
.cfv-card h3{font:700 16px/1.25 'Archivo',system-ui,sans-serif;color:#f4ecd9;margin:0}
.cfv-card p{font-size:14px;line-height:1.5;color:#c4bba9;margin:0}
.cfv-card-go{margin-top:auto;padding-top:6px;font:500 11px/1 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#e0a04a}
.cfv-card-go span{display:inline-block;transition:transform .2s}
.cfv-card:hover .cfv-card-go span{transform:translateX(4px)}

/* ---- Capturas reales en los huecos que antes tenían ambientes genéricos ---- */
.cfv-ui{object-position:0 0!important;background:#eef0ec}
.rc-stack .cfv-phone{aspect-ratio:9/16!important;width:30%!important;object-position:50% 0!important;background:#eef0ec}
.rc-band.cfv-band img{object-position:50% 45%}
@media (min-width:901px){.rc-split-media.cfv-fit{min-height:0!important;aspect-ratio:16/10;align-self:start}}
@media (max-width:900px){.rc-split-media.cfv-fit{min-width:0}}
.cfv-demo-in>*{min-width:0}

/* ---- Índice «En esta página»: línea con enlace a los configuradores ---- */
#configuradores-por-sector{scroll-margin-top:96px}
.rc-editorial-index li.cfv-idx a{color:#f7c66d;text-decoration:none;transition:color .2s}
.rc-editorial-index li.cfv-idx a:hover{color:#f4ecd9;text-decoration:underline}

/* ---- Aparición suave al hacer scroll (solo en lo nuevo) ---- */
.js .cfv-rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}
.js .cfv-rv.is-in{opacity:1;transform:none}

@media (max-width:900px){
  .cfv-demo-in{grid-template-columns:1fr}
  .cfv-tabs{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .cfv-tab{flex:none;width:auto;gap:10px}
  .cfv-tab small{display:none}
}
@media (max-width:560px){
  .cfv-touch{right:10px;bottom:10px;padding:10px 14px;font-size:13px}
  .cfv-grid{grid-template-columns:1fr 1fr}
  .cfv-card p,.cfv-card-n{display:none}
  .cfv-card-body{padding:12px 12px 14px;gap:6px}
  .cfv-card h3{font-size:13.5px}
  .cfv-card-go{font-size:10px}
  .cfv-filter{padding:9px 11px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .js .cfv-rv{opacity:1;transform:none;transition:none}
  .cfv-tab[aria-selected="true"] i{animation:none}
}
