
/* Dolce Amore V39.12 Reparación Integral Estable
   Capa final: corrige sin reconstruir el panel V38/V39. */
:root{
  --da-v3912-vino:#2b071e;
  --da-v3912-vino2:#4a1232;
  --da-v3912-rosa:#f72b83;
  --da-v3912-fresa:#e91e63;
  --da-v3912-crema:#fff7ed;
  --da-v3912-oro:#ffc845;
  --da-v3912-borde:rgba(255,139,181,.32);
  --da-v3912-shadow:0 24px 70px rgba(103,35,72,.16);
}
html,body{max-width:100%;overflow-x:hidden!important;}
img{max-width:100%;height:auto;}
.content-wrapper,.main-footer,.main-header{transition:margin-left .24s ease, transform .24s ease;}
.main-sidebar{will-change:transform;}
.content-wrapper .container-fluid{max-width:100%;}

/* Menú admin: corrección definitiva en móvil */
#da-v3912-menu-backdrop{display:none;position:fixed;inset:0;background:rgba(43,7,30,.42);z-index:1037;opacity:0;transition:opacity .22s ease;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body.da-v3912-menu-open #da-v3912-menu-backdrop{display:block;opacity:1;}
.da-v3912-menu-close{display:none;position:absolute;right:16px;top:14px;width:44px;height:44px;border:0;border-radius:18px;background:rgba(255,255,255,.13);color:#fff;font-size:20px;z-index:2;}
.main-sidebar .sidebar{overscroll-behavior:contain;}

/* Neutralizar capas viejas que obscurecen de más */
.sidebar-overlay,.da-sidebar-backdrop,.da-mobile-backdrop,.da-v39-overlay,.da-admin-mobile-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(43,7,30,.36)!important;}
body.da-v3912-menu-open .content-wrapper{filter:none!important;}

/* Cotizador por pasos */
.da-quote-wizard{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;}
.da-wizard-shell{background:rgba(255,255,255,.86);border:1px solid var(--da-v3912-borde);border-radius:34px;box-shadow:var(--da-v3912-shadow);overflow:hidden;}
.da-wizard-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:18px;background:linear-gradient(135deg,rgba(255,246,250,.96),rgba(255,255,255,.78));border-bottom:1px solid rgba(255,139,181,.22);}
.da-wizard-dot{display:flex;align-items:center;gap:8px;min-height:46px;padding:9px 10px;border-radius:18px;background:#fff;border:1px solid rgba(255,139,181,.23);font-weight:900;color:#7b3959;font-size:12px;line-height:1.1;box-shadow:0 8px 20px rgba(103,35,72,.06);}
.da-wizard-dot span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#fff0f7;color:#b41458;font-weight:1000;flex:0 0 26px;}
.da-wizard-dot.is-active{background:linear-gradient(135deg,#ff3f91,#cf1f68);color:#fff;border-color:transparent;transform:translateY(-1px);}
.da-wizard-dot.is-active span{background:rgba(255,255,255,.22);color:#fff;}
.da-wizard-dot.is-done{background:#fff9e8;border-color:#ffe39a;color:#614219;}
.da-step-panel{display:none;padding:24px;animation:daStepIn .24s ease both;}
.da-step-panel.is-active{display:block;}
@keyframes daStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.da-step-title{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.da-step-title i{width:48px;height:48px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffecf4,#fff7d7);color:#d81b60;box-shadow:0 12px 28px rgba(216,27,96,.13);}
.da-step-title h3{margin:0;font-size:1.45rem;line-height:1.05;}
.da-step-title p{margin:4px 0 0;color:#876174;}
.da-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.da-field-grid .full{grid-column:1/-1;}
.da-step-panel label{font-weight:900;color:#4f1834;font-size:.9rem;letter-spacing:.01em;}
.da-step-panel .form-control,.da-step-panel .custom-select{border-radius:18px;border:1px solid #f4c2d5;min-height:48px;background:#fff;color:#351326;}
.da-step-panel textarea.form-control{min-height:110px;}
.da-wizard-actions{display:flex;justify-content:space-between;gap:12px;padding:18px 24px;background:rgba(255,246,250,.76);border-top:1px solid rgba(255,139,181,.22);}
.da-wizard-actions .btn{border-radius:999px;font-weight:900;padding:12px 22px;}
.da-summary-card{position:sticky;top:88px;background:linear-gradient(160deg,#fff,#fff7fb);border:1px solid var(--da-v3912-borde);border-radius:34px;box-shadow:var(--da-v3912-shadow);padding:22px;overflow:hidden;}
.da-summary-card:before{content:'🧁';position:absolute;right:18px;top:12px;font-size:54px;opacity:.10;}
.da-cake-preview{height:140px;border-radius:28px;background:radial-gradient(circle at 50% 22%,#fff 0 28px,transparent 30px),linear-gradient(180deg,#ffbad4 0 34%,#f72b83 35% 70%,#7b1b4f 71%);box-shadow:inset 0 -18px 0 rgba(0,0,0,.06),0 18px 40px rgba(216,27,96,.16);position:relative;margin-bottom:18px;}
.da-cake-preview:after{content:'🍓 🍪 🍰';position:absolute;left:50%;bottom:14px;transform:translateX(-50%);font-size:22px;white-space:nowrap;}
.da-summary-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #f3b8cf;padding:9px 0;color:#5e2b42;}
.da-summary-row strong{color:#351326;}
.da-total-box{background:linear-gradient(135deg,#40152d,#d82670);border-radius:26px;color:#fff;padding:18px;margin-top:16px;}
.da-total-box span{opacity:.85;}
.da-total-box strong{font-size:2rem;display:block;line-height:1.1;}
.da-address-pin .da-map-canvas,[data-map]{border:2px dashed #f1b9d0;background:linear-gradient(135deg,#fff8fb,#fffdf7);border-radius:28px;min-height:230px;display:flex;align-items:center;justify-content:center;color:#8b5d70;font-weight:800;text-align:center;padding:18px;overflow:hidden;}
.da-address-tools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.da-results{margin-top:10px;display:grid;gap:8px;}
.da-results button,.da-result-btn{border:1px solid #ffd3e2;background:#fff;border-radius:16px;padding:10px 12px;text-align:left;color:#4b1733;}
.da-pin-ok{display:none;margin-top:10px;padding:12px 14px;border-radius:18px;background:#ecfff4;color:#057a43;border:1px solid #b7f0cf;font-weight:900;}
.da-pin-ok.is-on{display:block;}
.da-review-box{background:#fff7fb;border:1px solid #ffd2e2;border-radius:24px;padding:16px;display:grid;gap:10px;}
.da-review-box h4{margin:0;color:#4a1232;}
.da-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.da-review-item{background:#fff;border:1px solid #f5c3d6;border-radius:18px;padding:12px;}
.da-review-item small{display:block;color:#8d6677;font-weight:800;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;}
.da-review-item b{color:#351326;}

/* SMTP / emails */
.da-smtp-safe-note{background:#fff8df;border:1px solid #ffe29b;color:#654314;border-radius:18px;padding:12px 14px;font-weight:700;margin:10px 0;}
.da-email-template-preview{border-radius:24px;background:linear-gradient(135deg,#fff7fb,#fffdf4);border:1px solid #ffd3e2;padding:14px;color:#5a2640;}

/* SweetAlert acabado V39.12 */
.swal2-popup.da-sweet-popup,.swal2-popup{border-radius:34px!important;border:1px solid rgba(255,139,181,.35)!important;box-shadow:0 30px 90px rgba(65,15,45,.25)!important;}
.swal2-title{color:#3b1229!important;font-weight:1000!important;}
.swal2-confirm,.swal2-cancel{border-radius:999px!important;font-weight:900!important;padding:.8rem 1.45rem!important;}

/* Tablas y formularios */
.table-responsive{border-radius:20px;}
form .btn, .modal .btn{border-radius:999px;font-weight:900;}
.modal{z-index:2060!important;}
.modal-backdrop{z-index:2050!important;}
.swal2-container{z-index:3000!important;}
body.modal-open{overflow:hidden;}

@media (max-width: 991.98px){
  body{background:#fff6fb!important;}
  .main-header{position:sticky!important;top:0;z-index:1034;margin-left:0!important;border-radius:0 0 28px 28px;min-height:72px;padding-left:12px!important;padding-right:12px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 18px 42px rgba(65,15,45,.10);}
  .main-header .nav-link{color:#4a1232!important;font-size:20px;}
  .main-header .lux-pill{font-size:11px;padding:8px 10px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .content-wrapper{margin-left:0!important;width:100%!important;min-height:100vh!important;padding:0!important;transform:none!important;}
  .content-header{padding:18px 16px 4px!important;}
  .content-header h1{font-size:clamp(1.55rem,7vw,2.25rem)!important;line-height:1.02!important;margin:0!important;word-break:normal;}
  .content{padding:0 14px 28px!important;}
  .container-fluid{padding-left:0!important;padding-right:0!important;}
  .main-footer{margin-left:0!important;text-align:center;border-radius:28px 28px 0 0;padding:16px 12px!important;}
  .main-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(88vw,350px)!important;max-width:350px!important;height:100dvh!important;z-index:1040!important;transform:translateX(-108%)!important;margin-left:0!important;box-shadow:20px 0 80px rgba(43,7,30,.28)!important;border-radius:0 34px 34px 0!important;overflow:hidden!important;background:linear-gradient(180deg,#2b071e,#4a1232 78%,#250419)!important;opacity:1!important;visibility:visible!important;filter:none!important;}
  body.da-v3912-menu-open .main-sidebar{transform:translateX(0)!important;}
  body.da-v3912-menu-open{overflow:hidden!important;touch-action:none;}
  .main-sidebar .brand-link{padding-top:28px!important;padding-bottom:18px!important;border-bottom:1px solid rgba(255,255,255,.08);}
  .main-sidebar .brand-logo-round{width:86px!important;height:86px!important;object-fit:contain;background:#fff;border-radius:26px;}
  .main-sidebar .brand-text{font-size:1.35rem!important;color:#fff!important;}
  .main-sidebar .sidebar{height:calc(100dvh - 150px)!important;overflow-y:auto!important;padding-bottom:90px!important;-webkit-overflow-scrolling:touch;}
  .da-v3912-menu-close{display:flex;align-items:center;justify-content:center;}
  .user-card{margin:12px!important;padding:14px!important;border-radius:24px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.10);}
  .nav-sidebar .nav-link{min-height:50px!important;border-radius:18px!important;margin:5px 10px!important;color:rgba(255,255,255,.86)!important;display:flex!important;align-items:center!important;gap:10px;}
  .nav-sidebar .nav-link.active{background:linear-gradient(135deg,#f72b83,#d61d6a)!important;color:#fff!important;box-shadow:0 14px 34px rgba(247,43,131,.25);}
  .nav-sidebar .nav-link p{white-space:normal!important;line-height:1.15!important;margin:0!important;font-size:1rem!important;}
  .da-v39-menu-title{margin:16px 18px 8px!important;color:#ffd2e4!important;opacity:.88;font-size:.78rem!important;letter-spacing:.12em!important;}
  body:not(.da-v3912-menu-open) .main-sidebar{pointer-events:none;}
  body.da-v3912-menu-open .main-sidebar{pointer-events:auto;}
  body.da-v3912-menu-open .content-wrapper,body.da-v3912-menu-open .main-header,body.da-v3912-menu-open .main-footer{transform:none!important;filter:none!important;}

  .da-v39-hero,.v28-hero,.v31-hero,.da31-hero{border-radius:30px!important;padding:22px!important;margin:0 0 18px!important;overflow:hidden!important;}
  .da-v39-hero h2,.v28-hero h2,.v31-hero h2,.da31-hero h2{font-size:clamp(2rem,10.8vw,3.45rem)!important;line-height:.96!important;max-width:100%!important;overflow-wrap:anywhere;}
  .da-v39-hero p,.v28-hero p,.v31-hero p,.da31-hero p{font-size:1rem!important;line-height:1.55!important;}
  .da-v39-hero .btn,.v28-hero .btn,.v31-hero .btn,.da31-hero .btn{width:100%;margin:6px 0!important;justify-content:center;}
  .da-v39-card,.v28-card,.card,.small-box{border-radius:26px!important;margin-bottom:16px!important;max-width:100%;}
  .v28-grid,.da-v39-grid,.row{row-gap:14px;}
  .table{min-width:720px;}
  .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .modal-dialog{width:96vw!important;max-width:96vw!important;margin:12px auto!important;}
  .modal-content{max-height:90dvh!important;border-radius:28px!important;overflow:hidden;}
  .modal-body{max-height:calc(90dvh - 128px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:18px!important;}
  .modal-header,.modal-footer{padding:14px 18px!important;}
  .modal-footer{position:sticky;bottom:0;background:#fff;z-index:2;}
  .modal .form-row,.modal .row{display:block!important;}
  .modal .form-group,.modal [class*=col-]{width:100%!important;max-width:100%!important;}
  input,select,textarea,.form-control{font-size:16px!important;}
  .btn{min-height:44px;}

  .da-quote-wizard{grid-template-columns:1fr;gap:16px;}
  .da-summary-card{position:relative;top:auto;order:-1;border-radius:28px;padding:18px;}
  .da-wizard-progress{grid-template-columns:repeat(3,1fr);padding:12px;gap:7px;}
  .da-wizard-dot{font-size:0;justify-content:center;min-height:42px;padding:8px;}
  .da-wizard-dot span{font-size:13px;}
  .da-step-panel{padding:18px;}
  .da-step-title h3{font-size:1.25rem!important;}
  .da-field-grid,.da-review-list{grid-template-columns:1fr;}
  .da-wizard-actions{padding:14px 18px;position:sticky;bottom:0;z-index:5;}
  .da-wizard-actions .btn{flex:1;padding:12px 10px;}
  .da-address-tools{display:grid;grid-template-columns:1fr;}
  .da-address-tools .form-control,.da-address-tools .btn{max-width:100%!important;width:100%;}
}

@media (max-width: 575.98px){
  .content{padding-left:10px!important;padding-right:10px!important;}
  .main-sidebar{width:92vw!important;}
  .da-v39-hero h2,.v28-hero h2,.v31-hero h2,.da31-hero h2{font-size:clamp(1.9rem,12.5vw,3rem)!important;}
  .da-wizard-progress{grid-template-columns:repeat(2,1fr);}
  .da-cake-preview{height:110px;border-radius:24px;}
  .da-total-box strong{font-size:1.55rem;}
}
