/* Dakstone Cotizador - estilos del frontal. Todos los colores salen de variables (Ajustes > Paleta de colores). */
.dkc-app,.dkc-modal{--dkc-primary:#292929;--dkc-accent:#AE8850;--dkc-accent-dark:#96743F;--dkc-on-accent:#FFFFFF;--dkc-cream:#FFF8EF;--dkc-surface:#FFFFFF;--dkc-border:#E6DCCB;--dkc-muted:#7A6C55;--dkc-error:#B32D2E;--dkc-success:#1A7F37}
.dkc-app{font-family:inherit;color:var(--dkc-primary);max-width:1100px;margin:0 auto;position:relative}
.dkc-app *,.dkc-modal *{box-sizing:border-box}
.dkc-loading{padding:40px;text-align:center;color:var(--dkc-muted)}

/* Cabecera y pasos */
.dkc-head{background:var(--dkc-primary);border-bottom:5px solid var(--dkc-accent);border-radius:12px 12px 0 0;padding:20px 26px 16px;color:var(--dkc-cream)}
.dkc-head-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.dkc-head h2{margin:0;font-size:22px;font-weight:600;color:var(--dkc-cream);line-height:1.25}
.dkc-app .dkc-head .dkc-head-logo{height:30px!important;width:auto!important;max-width:160px!important;object-fit:contain;flex:none}
.dkc-prog{list-style:none;margin:0;padding:0;display:flex;width:100%;justify-content:space-between;gap:4px}
.dkc-prog li{flex:1 1 0;min-width:0;display:flex;justify-content:center;margin:0;padding:0}
.dkc-app .dkc-step{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:4px 2px;cursor:pointer;color:var(--dkc-cream);text-align:center;-webkit-tap-highlight-color:transparent}
.dkc-app .dkc-step span{width:34px;height:34px;border-radius:50%;border:2px solid var(--dkc-cream);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;line-height:1;transition:.2s;background:transparent;color:var(--dkc-cream)}
.dkc-app .dkc-step em{font-style:normal;font-size:12px;font-weight:600;line-height:1.2;color:var(--dkc-cream);opacity:.75}
.dkc-app .dkc-step.done span{background:var(--dkc-accent);border-color:var(--dkc-accent);color:var(--dkc-on-accent)}
.dkc-app .dkc-step.done em{opacity:.95}
.dkc-app .dkc-step.on span{background:var(--dkc-cream);border-color:var(--dkc-cream);color:var(--dkc-primary);box-shadow:0 0 0 4px rgba(255,248,239,.22)}
.dkc-app .dkc-step.on em{opacity:1}
.dkc-app .dkc-step[disabled]{cursor:default;opacity:.4}
.dkc-app .dkc-step:not([disabled]):hover span,.dkc-app .dkc-step:not([disabled]):focus-visible span{transform:translateY(-2px);border-color:var(--dkc-accent)}
.dkc-app .dkc-step:not([disabled]):hover,.dkc-app .dkc-step:not([disabled]):focus,.dkc-app .dkc-step:not([disabled]):active{background:transparent!important;color:var(--dkc-cream)!important}

.dkc-body{background:var(--dkc-surface);border:1px solid var(--dkc-border);border-top:0;border-radius:0 0 12px 12px;padding:24px 26px 28px}
.dkc-intro{margin:0 0 18px;font-size:16px;line-height:1.5;padding-bottom:12px;border-bottom:1px solid var(--dkc-border)}

/* Botones de la app: neutraliza los estados rosados/blancos del tema */
.dkc-app button,.dkc-modal button{font-family:inherit;text-transform:none;letter-spacing:normal;text-decoration:none;text-shadow:none}
.dkc-app button:focus-visible,.dkc-modal button:focus-visible{outline:2px solid var(--dkc-accent);outline-offset:2px}

/* Tarjetas de forma */
.dkc-shapes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.dkc-app .dkc-shape{all:unset;box-sizing:border-box;cursor:pointer;display:block;border:2px solid var(--dkc-border);border-radius:10px;overflow:hidden;background:var(--dkc-surface);text-align:center;transition:.2s;color:var(--dkc-primary)}
.dkc-app .dkc-shape:hover,.dkc-app .dkc-shape:focus,.dkc-app .dkc-shape:active,.dkc-app .dkc-shape.sel{border-color:var(--dkc-accent);box-shadow:0 6px 18px rgba(174,136,80,.25);transform:translateY(-2px);background:var(--dkc-surface)!important;color:var(--dkc-primary)!important}
.dkc-shape img{display:block;width:100%;height:auto}.dkc-shape .ph{height:120px;background:var(--dkc-cream)}
.dkc-app .dkc-shape span{display:block;padding:9px 8px;font-weight:600;font-size:14px;background:var(--dkc-cream);color:var(--dkc-primary)!important}

/* Medidas */
.dkc-measures{display:grid;grid-template-columns:1.2fr 1fr;gap:26px;align-items:start}
.dkc-measures .img img{width:100%;height:auto;border-radius:10px;border:1px solid var(--dkc-border)}
.dkc-measures .fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.dkc-measures .fields label{display:block;margin-bottom:14px}.dkc-measures .fields label.full{grid-column:1/-1}
.dkc-measures .fields span{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.dkc-measures .in{display:flex;align-items:center;gap:8px}
.dkc-app input[type=number],.dkc-app input[type=text],.dkc-app input[type=email],.dkc-app input[type=tel],.dkc-app select,.dkc-app textarea,.dkc-modal input[type=text],.dkc-modal input[type=email],.dkc-modal input[type=tel],.dkc-modal textarea{width:100%;max-width:100%;padding:11px 13px;border:1.5px solid var(--dkc-border);border-radius:8px;font-size:16px;background:var(--dkc-surface);color:var(--dkc-primary);box-shadow:none}
.dkc-measures .in input{max-width:140px}.dkc-measures .in i{font-style:normal;color:var(--dkc-muted)}
.dkc-app input:focus,.dkc-app select:focus,.dkc-app textarea:focus,.dkc-modal input:focus,.dkc-modal textarea:focus{outline:0;border-color:var(--dkc-accent);box-shadow:0 0 0 3px rgba(174,136,80,.2);background:var(--dkc-surface);color:var(--dkc-primary)}

/* Pestañas (marcas, tipos de canto) */
.dkc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.dkc-app .dkc-tabs button{all:unset;box-sizing:border-box;cursor:pointer;padding:8px 16px;border-radius:99px;border:1.5px solid var(--dkc-border);font-size:14px;font-weight:600;background:var(--dkc-surface);color:var(--dkc-primary);transition:.2s}
.dkc-app .dkc-tabs button:hover,.dkc-app .dkc-tabs button:focus,.dkc-app .dkc-tabs button:active{border-color:var(--dkc-accent);background:var(--dkc-surface)!important;color:var(--dkc-primary)!important}
.dkc-app .dkc-tabs button.on,.dkc-app .dkc-tabs button.on:hover,.dkc-app .dkc-tabs button.on:focus,.dkc-app .dkc-tabs button.on:active{background:var(--dkc-primary)!important;border-color:var(--dkc-primary);color:var(--dkc-cream)!important}

/* Materiales */
.dkc-group{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;background:var(--dkc-cream);border-left:4px solid var(--dkc-accent);padding:10px 14px;margin:20px 0 12px;border-radius:0 8px 8px 0}
.dkc-group strong{font-weight:600;color:var(--dkc-primary)}
.dkc-group span{font-size:13px;color:var(--dkc-muted)}
.dkc-mats{display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:12px}
.dkc-app .dkc-mat{all:unset;box-sizing:border-box;cursor:pointer;display:block;text-align:center;border:2px solid transparent;border-radius:8px;padding:4px;transition:.2s;color:var(--dkc-primary);background:transparent}
.dkc-app .dkc-mat:hover,.dkc-app .dkc-mat:focus,.dkc-app .dkc-mat:active,.dkc-app .dkc-mat.sel{border-color:var(--dkc-accent);background:var(--dkc-cream)!important;color:var(--dkc-primary)!important;transform:translateY(-2px)}
.dkc-mat img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:6px}.dkc-mat .ph{aspect-ratio:1/1;background:#e8dfcf;border-radius:6px}
.dkc-app .dkc-mat span{display:block;margin-top:6px;font-size:12px;font-weight:600;line-height:1.25;word-break:break-word;color:var(--dkc-primary)!important}

/* Opciones (canto, copete, fregadero, trabajos...) */
.dkc-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.dkc-app .dkc-opt{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:14px;align-items:center;border:2px solid var(--dkc-border);border-radius:10px;padding:12px;transition:.2s;background:var(--dkc-surface);color:var(--dkc-primary)}
.dkc-app .dkc-opt:hover,.dkc-app .dkc-opt:focus,.dkc-app .dkc-opt:active,.dkc-app .dkc-opt.sel{border-color:var(--dkc-accent);background:var(--dkc-cream)!important;color:var(--dkc-primary)!important;transform:translateY(-2px)}
.dkc-opt img{width:84px;height:62px;object-fit:cover;border-radius:6px;flex:none}
.dkc-opt .txt{display:flex;flex-direction:column;gap:2px}
.dkc-app .dkc-opt strong{font-size:15px;font-weight:600;color:var(--dkc-primary)!important}
.dkc-app .dkc-opt small{color:var(--dkc-muted)!important}
.dkc-app .dkc-opt em{font-style:normal;color:var(--dkc-accent)!important;font-weight:600;font-size:14px}
.dkc-opt.none{min-height:86px}

.dkc-final{display:grid;gap:18px;max-width:420px}.dkc-final span{display:block;margin-bottom:6px;font-weight:600}
.dkc-nav{display:flex;gap:12px;justify-content:space-between;margin-top:24px}

/* Botones principales */
.dkc-app .dkc-btn,.dkc-modal .dkc-btn{all:unset;box-sizing:border-box;cursor:pointer;background:var(--dkc-accent);color:var(--dkc-on-accent);padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;text-align:center;transition:.2s;border:2px solid var(--dkc-accent);font-family:inherit}
.dkc-app .dkc-btn:hover,.dkc-app .dkc-btn:focus,.dkc-app .dkc-btn:active,.dkc-modal .dkc-btn:hover,.dkc-modal .dkc-btn:focus,.dkc-modal .dkc-btn:active{background:var(--dkc-accent-dark)!important;border-color:var(--dkc-accent-dark)!important;color:var(--dkc-on-accent)!important}
.dkc-app .dkc-btn[disabled],.dkc-modal .dkc-btn[disabled]{opacity:.6;cursor:wait}
.dkc-app .dkc-btn.ghost,.dkc-modal .dkc-btn.ghost{background:var(--dkc-surface);color:var(--dkc-primary);border-color:var(--dkc-primary)}
.dkc-app .dkc-btn.ghost:hover,.dkc-app .dkc-btn.ghost:focus,.dkc-app .dkc-btn.ghost:active,.dkc-modal .dkc-btn.ghost:hover,.dkc-modal .dkc-btn.ghost:focus,.dkc-modal .dkc-btn.ghost:active{background:var(--dkc-primary)!important;border-color:var(--dkc-primary)!important;color:var(--dkc-cream)!important}
.dkc-nav .dkc-btn:only-child{margin-left:auto}
.dkc-nav .dkc-btn.ghost:only-child{margin-left:0}
.dkc-err{margin-top:12px;padding:12px 16px;background:#fdecea;border-left:4px solid var(--dkc-error);border-radius:6px;color:#7a1f1f}
.dkc-est{position:sticky;bottom:12px;margin:14px 0 0 auto;width:max-content;max-width:100%;align-items:center;gap:14px;background:var(--dkc-primary);color:var(--dkc-cream);padding:10px 18px;border-radius:99px;box-shadow:0 6px 20px rgba(0,0,0,.25);font-size:13px}
.dkc-est b{color:var(--dkc-accent);font-size:18px;font-weight:600}
.dkc-result-top h3{margin:0 0 4px;font-size:20px;font-weight:600}.dkc-result-top p{margin:0 0 16px;color:var(--dkc-muted)}
.dkc-viewer{margin-bottom:18px}
.dkc-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.dkc-legal{margin-top:16px;font-size:12px;color:var(--dkc-muted);text-align:center}

/* Visor PDF: iconos (el tema fuerza fill en los svg) y estados de los botones */
.dkc-viewer svg,.dkc-viewer svg *{fill:none!important;stroke:currentColor}
.dkc-viewer .pv-btn,.dkc-viewer .pv-btn:hover,.dkc-viewer .pv-btn:focus,.dkc-viewer .pv-btn:active{border:none!important;box-shadow:none;text-transform:none}
.dkc-viewer .pv-btn{background:transparent!important;color:var(--pv-text-muted)!important}
.dkc-viewer .pv-btn:hover,.dkc-viewer .pv-btn:focus,.dkc-viewer .pv-btn:active{background:var(--pv-surface-2)!important;color:var(--pv-text)!important}
.dkc-viewer .pv-btn.active{background:var(--pv-accent)!important;color:#fff!important}

/* Modales */
.dkc-modal{position:fixed;inset:0;background:rgba(41,41,41,.65);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.dkc-mbox{background:var(--dkc-surface);border-top:6px solid var(--dkc-accent);border-radius:12px;padding:24px;width:100%;max-width:440px;max-height:92vh;overflow:auto;color:var(--dkc-primary);font-family:inherit}
.dkc-mbox h3{margin:0 0 14px;font-size:20px;font-weight:600}.dkc-mbox label{display:block;margin-bottom:12px;font-size:14px}.dkc-mbox label span{display:block;margin-bottom:5px;font-weight:600}
.dkc-mbox .chk{display:flex;gap:8px;align-items:flex-start}.dkc-mbox .chk span{font-weight:400;margin:0}
.dkc-mbox .chk a{color:var(--dkc-accent-dark);text-decoration:underline}
.dkc-mbox .chk input{width:auto;margin-top:4px;accent-color:var(--dkc-accent)}
.dkc-mbox .row{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.dkc-mbox .ok{color:var(--dkc-success);font-weight:600}
.dkc-mbox .dkc-merr{color:var(--dkc-error);margin-bottom:8px}.dkc-mbox .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

@media(max-width:760px){
 .dkc-measures{grid-template-columns:1fr}.dkc-head,.dkc-body{padding-left:16px;padding-right:16px}
 .dkc-measures .fields{grid-template-columns:1fr 1fr;gap:0 10px}
 .dkc-mats{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.dkc-shapes{grid-template-columns:repeat(2,1fr);gap:10px}
 .dkc-nav{flex-direction:column-reverse}.dkc-nav .dkc-btn{width:100%}.dkc-actions .dkc-btn{width:100%}
 .dkc-head h2{font-size:19px}
 /* pasos: una sola línea con scroll horizontal; el activo se centra */
 .dkc-prog{overflow-x:auto;overflow-y:hidden;justify-content:flex-start;gap:2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
 .dkc-prog::-webkit-scrollbar{display:none}
 .dkc-prog li{flex:0 0 52px;scroll-snap-align:center}
 .dkc-prog li.on{flex-basis:96px}
 .dkc-app .dkc-step em{display:none}.dkc-prog li.on .dkc-step em{display:block}
}
@media(max-width:480px){.dkc-measures .fields{grid-template-columns:1fr}}
