/* tunueva.casa Compara — estilos (tokens del design system tunueva.casa) */
body.cmp{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-family-base)}
.cmp-app{min-height:100vh;display:flex;flex-direction:column}
.cmp a{color:var(--color-crimson-leader);text-decoration:none}
.cmp a:hover{color:var(--color-crimson-dark);text-decoration:underline}
.cmp h1,.cmp h2,.cmp h3{color:var(--text-heading);font-weight:300;margin:0 0 8px;text-wrap:pretty}
.cmp h2{font-size:28px;line-height:1.25}
.cmp h3{font-size:19px;font-weight:500}
.cmp-muted{color:var(--text-secondary);margin:0 0 20px;max-width:64ch;text-wrap:pretty}
main#contenido{width:min(1140px,calc(100% - 48px));margin:0 auto;flex:1;display:flex;flex-direction:column;gap:40px;padding:32px 0 72px}
/* Header */
.cmp-header{position:sticky;top:0;z-index:50;background:var(--surface-page);border-bottom:1px solid var(--border-default)}
.cmp-topbar{display:flex;align-items:center;gap:14px;background:var(--color-night-charcoal);color:var(--color-ivory);font-size:13px;padding:8px 24px}
.cmp-topbar a{color:var(--color-ivory)!important;text-decoration:none}
.cmp-topbar a:hover{color:var(--color-gold-soft)!important}
.cmp-header__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px}
.cmp-header__logo img{height:52px;display:block}
.cmp-header__right{display:flex;align-items:center;gap:16px}
.cmp-header__back{font:var(--text-ui-label);color:var(--text-secondary)!important}
/* Hero */
.cmp-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;padding:32px 0 0}
.cmp-hero h1{font-size:44px;line-height:1.15;margin:16px 0}
.cmp-hero p{color:var(--text-secondary);font-size:17px;max-width:56ch}
.cmp-hero__aux{font-weight:500;color:var(--text-body)!important}
.cmp-beta{display:inline-flex;padding:5px 14px;border-radius:999px;background:var(--badge-soft-bg);color:var(--badge-soft-text);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.cmp-hero__benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.cmp-hero__benefits span{padding:8px 16px;border:1px solid var(--border-default);border-radius:999px;font-size:14px;color:var(--text-body);background:var(--color-linen)}
.cmp-hero__visual{position:relative;height:320px}
.cmp-hero__card{position:absolute;width:200px;background:var(--color-ivory);border:1px solid var(--border-default);border-radius:12px;padding:12px;box-shadow:0 10px 30px rgba(26,26,26,.08);display:flex;flex-direction:column;gap:8px}
.cmp-hero__card i{display:block;height:86px;border-radius:8px;background:linear-gradient(135deg,var(--color-linen),var(--color-silk-gray))}
.cmp-hero__card b{display:block;height:10px;border-radius:4px;background:var(--color-mist-gray)}
.cmp-hero__card b.short{width:60%}
.cmp-hero__card em{font-style:normal;color:var(--text-price);font-weight:500;font-size:15px}
.cmp-hero__card.c1{top:10px;left:0;transform:rotate(-4deg)}
.cmp-hero__card.c2{top:40px;left:150px;z-index:2;transform:rotate(2deg)}
.cmp-hero__card.c3{top:110px;left:60px;z-index:1;transform:rotate(-1deg)}
/* Cards genéricas */
.cmp-card{background:var(--color-ivory);border:1px solid var(--border-default);border-radius:14px;padding:32px;box-shadow:0 4px 18px rgba(26,26,26,.05)}
.cmp-sectionhead{max-width:70ch}
.cmp-center{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:28px}
.cmp-trust{font-size:13px;color:var(--text-secondary);max-width:60ch;text-wrap:pretty;margin:8px 0 0}
/* Stepbar */
.cmp-stepbar{display:flex;gap:4px;overflow-x:auto;padding:4px 0}
.cmp-step{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;color:var(--text-disabled);white-space:nowrap}
.cmp-step__num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-size:11px;font-weight:500}
.cmp-step.is-current{background:var(--color-crimson-tint);color:var(--color-crimson-dark);font-weight:500}
.cmp-step.is-done{color:var(--text-secondary)}
.cmp-step.is-done .cmp-step__num{background:var(--color-espresso);border-color:var(--color-espresso);color:var(--color-ivory)}
/* Campos */
.cmp-field{display:flex;flex-direction:column;gap:6px}
.cmp-field__label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}
.cmp-optional{font-style:normal;font-weight:400;color:var(--text-disabled)}
.cmp-field__box{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;border:1.5px solid var(--border-default);background:var(--surface-input);color:var(--text-secondary);transition:border-color 160ms cubic-bezier(.4,0,.2,1)}
.cmp-field__box:focus-within{border-color:var(--action-primary)}
.cmp-field__box.has-error{border-color:var(--color-crimson-vivid)}
.cmp-field__box.is-ok{border-color:var(--color-silk-gray)}
.cmp-field__box input{border:none;outline:none;background:transparent;font:inherit;color:var(--text-body);width:100%;font-size:15px}
.cmp-error{color:var(--color-crimson-vivid);font-size:13px;margin:6px 0 0}
.cmp-portal{font-size:13px;color:var(--text-secondary);margin:6px 0 0}
.cmp-portal--warn{color:var(--color-gold-antique)}
.cmp-remove{border:none;background:transparent;color:var(--text-disabled);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}
.cmp-remove:hover{color:var(--color-crimson-vivid)}
/* Módulo URLs */
.cmp-urllist{display:flex;flex-direction:column;gap:18px;margin:24px 0}
.cmp-urlmodule__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cmp-addlink{border:1.5px dashed var(--border-default);background:transparent;color:var(--text-body);padding:10px 20px;border-radius:999px;font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:all 160ms}
.cmp-addlink:hover{border-color:var(--action-primary);color:var(--action-primary)}
.cmp-addlink:disabled{opacity:.4;cursor:not-allowed}
.cmp-counter{font-size:13px;color:var(--text-secondary)}
.cmp-urlmodule__actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:26px}
/* Procesamiento */
.cmp-progressbar{height:8px;border-radius:999px;background:var(--color-mist-gray);overflow:hidden;margin:20px 0 8px}
.cmp-progressbar span{display:block;height:100%;background:var(--action-primary);border-radius:999px;transition:width 400ms cubic-bezier(.4,0,.2,1)}
.cmp-progress-count{font-size:14px;color:var(--text-secondary);margin:0 0 18px}
.cmp-proclist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cmp-procitem{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--color-linen)}
.cmp-procitem__dot{width:10px;height:10px;border-radius:50%;background:var(--color-fog-gray);flex:none}
.cmp-procitem.is-processing .cmp-procitem__dot{background:var(--color-gold-soft);animation:cmpPulse 1s infinite}
.cmp-procitem.is-complete .cmp-procitem__dot{background:#4a7c59}
.cmp-procitem.is-partial .cmp-procitem__dot,.cmp-procitem.is-manual_required .cmp-procitem__dot{background:var(--color-gold-antique)}
.cmp-procitem.is-failed .cmp-procitem__dot{background:var(--color-crimson-vivid)}
@keyframes cmpPulse{50%{opacity:.4}}
.cmp-procitem__url{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmp-procitem__status{font-size:13px;font-weight:500;color:var(--text-body);white-space:nowrap}
/* Revisión */
.cmp-reviewlist{display:flex;flex-direction:column;gap:24px;margin-top:24px}
.cmp-reviewcard__head{display:flex;gap:20px;margin-bottom:20px;align-items:flex-start}
.cmp-reviewcard__badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.cmp-photo{width:180px;aspect-ratio:4/3;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none}
.cmp-photo span{font-size:12px;color:var(--text-secondary);letter-spacing:.04em}
.cmp-photo--sm{width:100%;aspect-ratio:16/9}
.cmp-photo--th{width:120px;aspect-ratio:4/3;margin-bottom:6px}
.cmp-price{color:var(--text-price);font-weight:500;font-size:19px;margin:2px 0 6px}
.cmp-srclink{font-size:12px;color:var(--text-secondary)!important;word-break:break-all}
.cmp-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500;background:var(--color-mist-gray);color:var(--text-secondary)}
.cmp-chip--warn{background:var(--color-gold-tint);color:var(--color-gold-antique)}
.cmp-chip--best{background:var(--color-gold-tint);color:var(--color-gold-antique);margin-left:8px}
.cmp-chip--gold{background:var(--color-gold-tint);color:var(--color-gold-antique)}
.cmp-chip--ai{background:var(--badge-soft-bg);color:var(--badge-soft-text)}
.cmp-efields{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.cmp-efield{display:flex;flex-direction:column;gap:5px}
.cmp-efield>span{font-size:12px;font-weight:500;color:var(--text-secondary)}
.cmp-efield input,.cmp-efield select,.cmp-efield textarea{font:inherit;font-size:14px;color:var(--text-body);padding:9px 12px;border:1.5px solid var(--border-default);border-radius:8px;background:var(--surface-input);outline:none;transition:border-color 160ms}
.cmp-efield input:focus,.cmp-efield select:focus,.cmp-efield textarea:focus{border-color:var(--action-primary)}
.cmp-efield--missing input{border-color:var(--color-gold-soft);background:var(--color-gold-tint)}
.cmp-efield--wide{grid-column:1/-1}
.cmp-efield__missing{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1.5px dashed var(--color-gold-soft);border-radius:8px;background:var(--color-gold-tint)}
.cmp-efield__missing em{font-style:normal;font-size:13px;color:var(--color-gold-antique)}
.cmp-efield__missing button{border:none;background:transparent;color:var(--color-crimson-leader);font:inherit;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}
.cmp-reviewcard--manual{border-color:var(--color-gold-soft)}
/* Toggle fichas/tabla */
.cmp-viewtoggle{display:inline-flex;gap:0;border:1.5px solid var(--border-default);border-radius:999px;overflow:hidden;width:max-content;margin-bottom:6px}
.cmp-viewtoggle button{border:none;background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);padding:9px 20px;cursor:pointer;transition:all 160ms}
.cmp-viewtoggle button.is-on{background:var(--color-crimson-tint);color:var(--color-crimson-dark)}
.cmp-rtable{margin-top:0}
.cmp-rtable td{min-width:200px}
.cmp-rtable .cmp-efield>span{display:none}
.cmp-rtable .cmp-efield input,.cmp-rtable .cmp-efield select,.cmp-rtable .cmp-cellinput{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:7px 10px;border:1.5px solid var(--border-default);border-radius:8px;background:var(--surface-input);color:var(--text-body);outline:none}
.cmp-rtable .cmp-cellinput:focus,.cmp-rtable .cmp-efield input:focus,.cmp-rtable .cmp-efield select:focus{border-color:var(--action-primary)}
.cmp-rtable thead .cmp-chip{margin-top:4px}
/* Prioridades */
.cmp-prigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:22px 0}
.cmp-pricard{position:relative;padding:16px;border:1.5px solid var(--border-default);border-radius:10px;background:var(--surface-input);font:inherit;font-size:14px;font-weight:500;color:var(--text-body);cursor:pointer;text-align:left;transition:all 160ms}
.cmp-pricard:hover:not(:disabled){border-color:var(--action-primary)}
.cmp-pricard.is-selected{border-color:var(--action-primary);background:var(--color-crimson-tint)}
.cmp-pricard:disabled{opacity:.45;cursor:not-allowed}
.cmp-pricard__order{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;background:var(--action-primary);color:var(--color-ivory);font-size:12px;display:flex;align-items:center;justify-content:center}
.cmp-priorder ol{margin:8px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.cmp-priorder li{font-size:15px;font-weight:500}
.cmp-priorder__ctrl{margin-left:12px}
.cmp-priorder__ctrl button{border:1px solid var(--border-default);background:var(--surface-input);border-radius:6px;width:26px;height:26px;cursor:pointer;color:var(--text-body);margin-right:4px}
.cmp-priorder__ctrl button:disabled{opacity:.35;cursor:not-allowed}
/* Vista previa */
.cmp-previewgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;margin-top:20px}
.cmp-minicard{padding:16px;display:flex;flex-direction:column;gap:6px}
.cmp-minicard h3{font-size:16px;margin:10px 0 0}
.cmp-specs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--text-secondary)}
.cmp-keydiff{font-size:17px;font-weight:500;color:var(--text-body);background:var(--color-gold-tint);border-radius:10px;padding:12px 18px;display:inline-block}
/* Bloqueo */
.cmp-lockzone{position:relative;display:flex;flex-direction:column;gap:0;align-items:center}
.cmp-teaser{position:relative;width:100%;border:1px solid var(--border-default);border-radius:14px;overflow:hidden;background:var(--color-ivory)}
.cmp-teaser__rows{display:flex;flex-direction:column;filter:blur(4px);opacity:.8;padding:18px}
.cmp-teaser__row{display:grid;grid-template-columns:200px 1fr 1fr 1fr;gap:14px;align-items:center;padding:14px 6px;border-bottom:1px solid var(--border-subtle);font-size:14px;color:var(--text-secondary)}
.cmp-teaser__row i{display:block;height:12px;border-radius:4px;background:var(--color-mist-gray)}
.cmp-teaser__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,245,0) 0%,var(--color-ivory) 85%)}
.cmp-lock{max-width:560px;width:100%;margin-top:-70px;position:relative;z-index:2;text-align:left}
.cmp-lockform{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.cmp-warow{display:flex;gap:10px}
.cmp-warow select{font:inherit;font-size:15px;padding:0 12px;border:1.5px solid var(--border-default);border-radius:10px;background:var(--surface-input);color:var(--text-body)}
.cmp-privacy{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text-secondary);cursor:pointer}
.cmp-privacy input{margin-top:2px;accent-color:var(--color-crimson-leader);width:16px;height:16px}
/* Tabla */
.cmp-tablescroll{overflow-x:auto;border:1px solid var(--border-default);border-radius:14px;background:var(--color-ivory);margin-top:18px}
.cmp-table{border-collapse:collapse;min-width:100%;font-size:14px}
.cmp-table th,.cmp-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-subtle);vertical-align:top;min-width:170px}
.cmp-table thead th{background:var(--color-linen);position:sticky;top:0}
.cmp-table__sticky{position:sticky;left:0;background:var(--color-linen)!important;font-weight:500;color:var(--text-secondary);min-width:150px!important;z-index:2}
.cmp-table tbody tr:hover td{background:var(--color-mist-gray)}
.cmp-table__title{font-weight:500;color:var(--text-heading);display:block}
.cmp-na{color:var(--text-disabled);font-size:13px}
.cmp-table .cmp-chip--best{display:inline-flex;margin:6px 0 0;margin-left:0}
.cmp-table td .cmp-price{font-size:16px;margin:0}
.cmp-pairpicker{display:none}
/* Análisis */
.cmp-analysis__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.cmp-analysis p{max-width:75ch;text-wrap:pretty}
.cmp-recommended__body{display:flex;gap:24px;margin-top:18px;align-items:flex-start}
.cmp-list{margin:6px 0 14px;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:14px}
.cmp-list--plus li::marker{content:'+  ';color:#4a7c59;font-weight:700}
.cmp-list--rev li::marker{content:'!  ';color:var(--color-gold-antique);font-weight:700}
.cmp-strengthgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:18px}
.cmp-strengthcard{padding:22px}
/* Preguntas */
.cmp-questions{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.cmp-question{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:10px;font-size:14px;cursor:pointer;transition:background 160ms}
.cmp-question:hover{background:var(--color-mist-gray)}
.cmp-question.is-done{background:var(--color-linen);color:var(--text-disabled);text-decoration:line-through}
.cmp-question input{accent-color:var(--color-crimson-leader);margin-top:2px}
.cmp-missing{margin:14px 0}
/* Acciones */
.cmp-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* CTA final */
.cmp-finalcta{background:var(--color-linen);border-radius:18px;padding:56px 40px;text-align:center}
.cmp-finalcta h2{font-size:32px}
.cmp-finalcta p{color:var(--text-secondary);max-width:58ch;margin:14px auto 26px;text-wrap:pretty}
.cmp-finalcta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
/* Footer */
.cmp-footer{background:var(--surface-dark);color:var(--color-fog-gray);padding:36px 24px;font-size:12.5px}
.cmp-footer p{max-width:900px;margin:0 auto 12px;text-wrap:pretty}
.cmp-footer a{color:var(--color-ivory)}
.cmp-disclaimer{opacity:.8}
/* Modal + toast */
.cmp-modal__backdrop{position:fixed;inset:0;background:rgba(26,26,26,.45);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.cmp-modal{position:relative;background:var(--color-ivory);border-radius:16px;padding:32px;max-width:520px;width:100%;box-shadow:0 20px 60px rgba(26,26,26,.25)}
.cmp-sharelink{background:var(--color-linen);border:1px solid var(--border-default);border-radius:10px;padding:12px 16px;font-size:14px;word-break:break-all;margin:16px 0}
.cmp-modal__actions{display:flex;gap:10px;flex-wrap:wrap}
.cmp-modal__close{position:absolute;top:14px;right:16px;border:none;background:transparent;font-size:24px;color:var(--text-disabled);cursor:pointer}
.cmp-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--color-night-charcoal);color:var(--color-ivory);padding:14px 24px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(26,26,26,.3);z-index:110;max-width:min(560px,90vw);text-align:center}
/* Responsivo */
@media (max-width:900px){
.cmp-hero{grid-template-columns:1fr;gap:24px}
.cmp-hero__visual{display:none}
.cmp-hero h1{font-size:34px}
.cmp-card{padding:22px}
.cmp-reviewcard__head{flex-direction:column}
.cmp-photo{width:100%;aspect-ratio:16/9}
.cmp-recommended__body{flex-direction:column}
.cmp-recommended__body .cmp-photo{width:100%}
}
@media (max-width:720px){
.cmp-header__back{display:none}
.cmp-header__logo img{height:40px}
.cmp-topbar{font-size:11.5px;flex-wrap:wrap;gap:6px 10px;padding:6px 16px}
main#contenido{width:calc(100% - 32px);gap:28px}
.cmp-pairpicker{display:block;margin-top:14px}
.cmp-pairpicker__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.cmp-chipbtn{border:1.5px solid var(--border-default);background:var(--surface-input);border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;min-height:44px}
.cmp-chipbtn.is-on{border-color:var(--action-primary);background:var(--color-crimson-tint);color:var(--color-crimson-dark)}
.cmp-table [data-mobile-hidden="true"]{display:none}
.cmp-teaser__row{grid-template-columns:120px 1fr 1fr}
.cmp-teaser__row i:last-child{display:none}
.cmp-lock{margin-top:-40px}
.cmp-finalcta{padding:36px 20px}
.cmp-finalcta h2{font-size:24px}
.cmp-stepbar .cmp-step__label{display:none}
.cmp-stepbar .cmp-step.is-current .cmp-step__label{display:inline}
}
