/**
 * DICODI Cotizador v3 — Layout fixes + Calendar
 * @author Giovanni Cancino Nazer — Dicodi Spa
 * @copyright 2025 Dicodi Spa
 */

/* ═══ RESET ═══ */
#dicodi-cot-root,#dicodi-cot-root *,#dicodi-cot-root *::before,#dicodi-cot-root *::after{box-sizing:border-box!important;margin:0!important;padding:0!important}

/* ═══ CONTAINER ═══ */
#dicodi-cot-root{
    font-family:'Segoe UI',system-ui,-apple-system,sans-serif!important;
    background:linear-gradient(180deg,#060a12,#0c1220 40%,#0a0f1a)!important;
    padding:60px 40px!important;border-radius:24px!important;position:relative!important;
    overflow:hidden!important;line-height:1.55!important;-webkit-font-smoothing:antialiased!important;
    max-width:1000px!important;margin-left:auto!important;margin-right:auto!important;width:100%!important;
}
#dicodi-cot-root::before{content:''!important;position:absolute!important;inset:0!important;background:radial-gradient(ellipse at 15% 35%,rgba(0,212,255,0.06) 0%,transparent 55%),radial-gradient(ellipse at 85% 15%,rgba(0,180,255,0.04) 0%,transparent 45%)!important;pointer-events:none!important}
#dicodi-cot-root::after{content:''!important;position:absolute!important;inset:0!important;background-image:linear-gradient(rgba(0,212,255,0.018) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,0.018) 1px,transparent 1px)!important;background-size:44px 44px!important;pointer-events:none!important}

.dc-wrap{max-width:800px!important;margin:0 auto!important;position:relative!important;z-index:1!important;width:100%!important}

/* ═══ STEPS ═══ */
.dc-steps{display:flex!important;gap:0!important;margin-bottom:36px!important;justify-content:center!important;align-items:center!important}
.dc-step{width:48px!important;height:48px!important;min-width:48px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;font-weight:700!important;cursor:pointer!important;border:2px solid rgba(255,255,255,0.06)!important;color:rgba(255,255,255,0.2)!important;background:rgba(255,255,255,0.02)!important;transition:all .3s!important;-webkit-tap-highlight-color:transparent!important}
.dc-step.active{background:rgba(0,212,255,0.12)!important;color:#00d4ff!important;border-color:#00d4ff!important;box-shadow:0 0 28px rgba(0,212,255,0.25)!important}
.dc-step.done{background:rgba(0,212,255,0.7)!important;color:#fff!important;border-color:#00d4ff!important}
.dc-sline{width:32px!important;min-width:20px!important;height:2px!important;background:rgba(255,255,255,0.04)!important;flex-shrink:1!important}
.dc-sline.done{background:rgba(0,212,255,0.3)!important}

/* ═══ CARD ═══ */
.dc-card{background:rgba(255,255,255,0.025)!important;border:1px solid rgba(255,255,255,0.06)!important;border-radius:20px!important;padding:44px 48px!important;backdrop-filter:blur(14px)!important;box-shadow:0 8px 32px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.04)!important}

/* ═══ TITLES ═══ */
.dc-title{font-size:24px!important;font-weight:700!important;color:#fff!important;margin-bottom:20px!important;margin-top:4px!important;padding-bottom:14px!important;border-bottom:1px solid rgba(0,212,255,0.15)!important;letter-spacing:-0.4px!important}
.dc-subtitle{font-size:14px!important;color:rgba(255,255,255,0.38)!important;margin-bottom:18px!important}

/* ═══ LABELS ═══ */
#dicodi-cot-root .dc-label{display:block!important;font-size:11px!important;font-weight:700!important;color:rgba(255,255,255,0.38)!important;margin-bottom:8px!important;margin-top:22px!important;text-transform:uppercase!important;letter-spacing:1px!important}

/* ═══ INPUTS ═══ */
#dicodi-cot-root input.dc-input,#dicodi-cot-root textarea.dc-input{width:100%!important;padding:14px 18px!important;border:1px solid rgba(255,255,255,0.08)!important;border-radius:12px!important;font-size:16px!important;background:rgba(0,0,0,0.25)!important;color:#fff!important;transition:border-color .2s,box-shadow .2s!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none!important;font-family:inherit!important;line-height:1.5!important;height:auto!important;display:block!important}
#dicodi-cot-root input.dc-input::placeholder,#dicodi-cot-root textarea.dc-input::placeholder{color:rgba(255,255,255,0.16)!important}
#dicodi-cot-root input.dc-input:focus,#dicodi-cot-root textarea.dc-input:focus{border-color:#00d4ff!important;box-shadow:0 0 0 3px rgba(0,212,255,0.1)!important;background:rgba(0,0,0,0.35)!important}
#dicodi-cot-root textarea.dc-input{resize:vertical!important;min-height:90px!important}
.dc-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 28px!important}

/* ═══ STEP 3: DOS SECCIONES LADO A LADO ═══ */
.dc-two-col{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px 32px!important;align-items:start!important}
.dc-col-section{min-width:0!important}
.dc-col-title{font-size:16px!important;font-weight:700!important;color:#fff!important;margin-bottom:12px!important;padding-bottom:8px!important;border-bottom:1px solid rgba(0,212,255,0.12)!important}

/* ═══ CHECKBOXES ═══ */
.dc-check-grid{display:flex!important;flex-direction:column!important;gap:6px!important}
.dc-check{display:flex!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:1px solid rgba(255,255,255,0.04)!important;border-radius:10px!important;cursor:pointer!important;transition:all .15s!important;background:rgba(255,255,255,0.015)!important;min-height:48px!important;-webkit-tap-highlight-color:transparent!important}
.dc-check:hover{background:rgba(0,212,255,0.04)!important;border-color:rgba(0,212,255,0.15)!important}
#dicodi-cot-root .dc-check input[type="checkbox"]{width:20px!important;height:20px!important;min-width:20px!important;accent-color:#00d4ff!important;cursor:pointer!important}
.dc-check-label{flex:1!important;font-size:14px!important;color:rgba(255,255,255,0.75)!important;line-height:1.3!important}

/* ═══ RADIO ═══ */
.dc-radio{display:flex!important;align-items:center!important;gap:14px!important;padding:16px 20px!important;border:1px solid rgba(255,255,255,0.05)!important;border-radius:14px!important;margin-bottom:10px!important;cursor:pointer!important;transition:all .2s!important;min-height:54px!important;-webkit-tap-highlight-color:transparent!important}
.dc-radio:hover{border-color:rgba(0,212,255,0.25)!important}
.dc-radio.selected{border-color:#00d4ff!important;background:rgba(0,212,255,0.07)!important}
.dc-dot{width:24px!important;height:24px!important;min-width:24px!important;border-radius:50%!important;border:2px solid rgba(255,255,255,0.12)!important;display:flex!important;align-items:center!important;justify-content:center!important}
.dc-dot.on{border-color:#00d4ff!important;background:#00d4ff!important}

/* ═══ SERVICES (SIN PRECIOS) ═══ */
.dc-svc{display:flex!important;align-items:center!important;gap:14px!important;padding:14px 18px!important;border:1px solid rgba(0,212,255,0.1)!important;border-radius:12px!important;margin-bottom:8px!important;background:rgba(0,212,255,0.025)!important;min-height:50px!important}
.dc-svc-name{flex:1!important;font-size:15px!important;color:rgba(255,255,255,0.8)!important;line-height:1.4!important}

/* ═══ ADDONS ═══ */
.dc-addon{display:flex!important;align-items:center!important;gap:16px!important;padding:18px 20px!important;border:1px solid rgba(255,255,255,0.05)!important;border-radius:14px!important;margin-bottom:10px!important;background:rgba(255,255,255,0.02)!important;transition:all .2s!important}
.dc-addon.has-qty{border-color:rgba(0,212,255,0.2)!important;background:rgba(0,212,255,0.035)!important}
.dc-addon-info{flex:1!important;min-width:0!important}
.dc-addon-name{font-size:15px!important;font-weight:500!important;color:rgba(255,255,255,0.88)!important}
.dc-addon-price{font-size:13px!important;color:rgba(255,255,255,0.3)!important;margin-top:4px!important}
.dc-addon-qty{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important}
.dc-addon-qty button{width:42px!important;height:42px!important;min-width:42px!important;border-radius:12px!important;border:1px solid rgba(0,212,255,0.2)!important;background:rgba(0,0,0,0.25)!important;font-size:20px!important;cursor:pointer!important;font-weight:700!important;color:#00d4ff!important;transition:all .15s!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;-webkit-tap-highlight-color:transparent!important}
.dc-addon-qty button:hover{background:#00d4ff!important;color:#060a12!important}
.dc-addon-qty span{min-width:32px!important;text-align:center!important;font-weight:700!important;font-size:18px!important;color:#fff!important}

/* ═══ NAVIGATION ═══ */
.dc-btns{display:flex!important;justify-content:space-between!important;margin-top:32px!important;gap:14px!important}
#dicodi-cot-root button.dc-prev{padding:14px 28px!important;border-radius:12px!important;font-size:15px!important;font-weight:600!important;cursor:pointer!important;border:1px solid rgba(255,255,255,0.07)!important;background:rgba(255,255,255,0.03)!important;color:rgba(255,255,255,0.45)!important;min-height:52px!important;-webkit-tap-highlight-color:transparent!important;transition:all .2s!important}
#dicodi-cot-root button.dc-next{padding:14px 36px!important;border-radius:12px!important;font-size:15px!important;font-weight:700!important;cursor:pointer!important;border:none!important;background:linear-gradient(135deg,#00a3cc,#00d4ff)!important;color:#060a12!important;box-shadow:0 4px 24px rgba(0,212,255,0.25)!important;min-height:52px!important;-webkit-tap-highlight-color:transparent!important;transition:all .2s!important}
#dicodi-cot-root button.dc-next:disabled{opacity:.4!important;cursor:not-allowed!important;transform:none!important}
#dicodi-cot-root button.dc-submit{width:100%!important;padding:18px!important;border-radius:14px!important;font-size:17px!important;font-weight:700!important;cursor:pointer!important;border:none!important;background:linear-gradient(135deg,#00a3cc,#00d4ff)!important;color:#060a12!important;box-shadow:0 4px 28px rgba(0,212,255,0.3)!important;margin-top:28px!important;min-height:58px!important;-webkit-tap-highlight-color:transparent!important;transition:all .2s!important}
#dicodi-cot-root button.dc-submit:disabled{opacity:.45!important;cursor:not-allowed!important}

/* ═══ ERROR / SUCCESS ═══ */
.dc-error{background:rgba(239,68,68,0.08)!important;border:1px solid rgba(239,68,68,0.2)!important;color:#fca5a5!important;padding:14px 18px!important;border-radius:12px!important;font-size:14px!important;margin-bottom:16px!important;display:none!important}
.dc-error.visible{display:block!important}
.dc-success{text-align:center!important;padding:48px 28px!important}
.dc-success h2{font-size:28px!important;color:#00d4ff!important;margin:20px 0 14px!important;font-weight:700!important}
.dc-success p{color:rgba(255,255,255,0.5)!important;font-size:16px!important;line-height:1.6!important;max-width:480px!important;margin:0 auto!important}

/* ═══ CALENDAR EMBED ═══ */
.dc-calendar-wrap{margin-top:24px!important;border-radius:16px!important;overflow:hidden!important;border:1px solid rgba(0,212,255,0.15)!important}
.dc-calendar-wrap iframe{width:100%!important;min-height:600px!important;border:none!important;display:block!important}

/* ═══ SUMMARY ═══ */
.dc-sum-row{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;padding:14px 0!important;border-bottom:1px solid rgba(255,255,255,0.04)!important;font-size:15px!important;gap:16px!important}
.dc-sum-label{color:rgba(255,255,255,0.4)!important;font-weight:500!important}
.dc-sum-value{font-weight:600!important;color:rgba(255,255,255,0.88)!important;text-align:right!important}
.dc-note{font-size:12px!important;color:rgba(255,255,255,0.2)!important;margin-top:14px!important;text-align:center!important}

/* ═══ RESPONSIVE TABLET ═══ */
@media(max-width:899px){
    #dicodi-cot-root{padding:40px 24px!important;border-radius:16px!important}
    .dc-card{padding:32px 28px!important}
    .dc-title{font-size:21px!important}
    .dc-two-col{gap:12px 20px!important}
}
/* ═══ RESPONSIVE MOBILE ═══ */
@media(max-width:639px){
    #dicodi-cot-root{padding:24px 14px!important;border-radius:14px!important}
    .dc-card{padding:24px 20px!important;border-radius:14px!important}
    .dc-grid{grid-template-columns:1fr!important}
    .dc-two-col{grid-template-columns:1fr!important;gap:24px 0!important}
    .dc-title{font-size:18px!important;margin-bottom:14px!important}
    .dc-step{width:38px!important;height:38px!important;min-width:38px!important;font-size:13px!important}
    .dc-sline{width:14px!important;min-width:10px!important}
    .dc-addon{flex-wrap:wrap!important;padding:14px 16px!important}
    .dc-addon-info{width:100%!important;flex:none!important}
    .dc-addon-qty{margin-left:auto!important}
    .dc-btns{flex-direction:column-reverse!important;gap:10px!important}
    #dicodi-cot-root button.dc-prev,#dicodi-cot-root button.dc-next{width:100%!important;text-align:center!important;justify-content:center!important}
    .dc-sum-row{flex-direction:column!important;gap:3px!important;padding:10px 0!important}
    .dc-sum-value{text-align:left!important}
    .dc-calendar-wrap iframe{min-height:500px!important}
}
@media(max-width:379px){
    #dicodi-cot-root{padding:16px 10px!important}
    .dc-card{padding:18px 14px!important}
    .dc-title{font-size:16px!important}
    .dc-step{width:32px!important;height:32px!important;min-width:32px!important;font-size:11px!important}
    .dc-sline{width:8px!important;min-width:6px!important}
}
@media(min-width:1200px){.dc-wrap{max-width:840px!important}.dc-card{padding:48px 56px!important}.dc-title{font-size:26px!important}}
