:root {
    --spacing-min:.25rem;
    --spacing-half:.5rem;
    --spacing-1x: 1rem;
    --spacing-2x: 2rem;
    --spacing-3x: 3rem;
    --spacing-4x: 4rem;
    --spacing-5x: 5rem;

    --font-size-small:0.875rem;
    --font-size-base:1rem;

    --color-karaokemaestro-1f:white;
    --color-karaokemaestro-1b:#002085;
    --color-karaokemaestro-3b:#002fff;
    --color-karaokemaestro-yellow: #edf300;
    --color-karaokemaestro-low-yellow: #e2e600;
    --color-karaokemaestro-2b:#fff;
    --color-karaokemaestro-2f:#333;
    --color-karaokemaestro-2g:#777;
    --color-karaokemaestro-3l:white;
    --color-karaokemaestro-3h:#c9d2f7;
    --color-karaokemaestro-degrade:#3d5bdf;

    --color-transparent-min:rgba(0,0,0,0.05);
    --color-transparent-med:rgba(0,0,0,0.1);

    --radius-small: 0.3125rem;
    --radius-1:0.5rem;
    --radius-input:.5rem;

    --header-height:86px;

    --shadow-xs:0 0 5px rgba(0,0,0,0.5);
    --shadow-xl:4px 5px 16px -4px rgba(0,0,0,0.1);
    --shadow-normal:0px 0rem 0.3125rem rgba(0, 0, 0, 0.8);

    --contents-padding:4rem;
    --contents-width:1440px;
    --contents-width-aside-0:1110px;
    --contents-width-aside-1:1296px;

    --aside-width:30rem;
}

/* ============================== autofill (chrome) ==============================*/
/* === Autofill: inputs/textarea (fondo blanco, texto legible) === */
#objContents .FormBuilder.tbl_1007 input:-webkit-autofill               {-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#0b153f!important;transition:background-color 9999s ease-in-out 0s;}
#objContents .FormBuilder.tbl_1007 textarea:-webkit-autofill            {-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#0b153f!important;transition:background-color 9999s ease-in-out 0s;}

/* === Select base (incluye flecha ↓ con gradientes) === */
#objContents .FormBuilder.tbl_1007 select.select_assoc                  {appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:1px solid #e7ecf3;color:#0b153f;padding-right:48px;background-image:linear-gradient(225deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(315deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(180deg,#fff,#fff);background-repeat:no-repeat,no-repeat,no-repeat;background-size:7px 8px,7px 8px,auto;background-position:right 22px center,right 16px center,0 0;}
#objContents .FormBuilder.tbl_1007 select.select_assoc option           {background:#fff;color:#0b153f;}

/* === Select requerido: mismo chevrón, fondo rosado === */
#objContents .FormBuilder.tbl_1007 .required .FieldValue>select.select_assoc {background-image:linear-gradient(225deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(315deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(180deg,#fff,#fff9f9);background-repeat:no-repeat,no-repeat,no-repeat;background-size:7px 8px,7px 8px,auto;background-position:right 22px center,right 16px center,0 0;}

/* === Autofill de select: Chrome borra background; lo restauramos y tapamos el celeste === */
#objContents .FormBuilder.tbl_1007 select.select_assoc:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#0b153f!important;background-image:linear-gradient(225deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(315deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(180deg,#fff,#fff)!important;background-repeat:no-repeat,no-repeat,no-repeat!important;background-size:7px 8px,7px 8px,auto!important;background-position:right 22px center,right 16px center,0 0!important;}
#objContents .FormBuilder.tbl_1007 .required .FieldValue>select.select_assoc:-webkit-autofill { -webkit-box-shadow:0 0 0 1000px #fff9f9 inset!important;-webkit-text-fill-color:#0b153f!important;background-image:linear-gradient(225deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(315deg,transparent 48%,#1a2a6c 48% 52%,transparent 52%),linear-gradient(180deg,#fff,#fff9f9)!important;background-repeat:no-repeat,no-repeat,no-repeat!important;background-size:7px 8px,7px 8px,auto!important;background-position:right 22px center,right 16px center,0 0!important;}
/* ============================== FIN autofill ==============================*/



.progress-wrap.active-progress                          { bottom: 80px;}


/* ESPACIADO DEL HOME(NO ME ACUERDO DE QUE COSAS) */
.paginaHome .techwix-service-section-04 .service-bottom        { padding-top: 0px; padding-bottom: 0px; }
.paginaHome .section.techwix-pricing-section                   { margin-top: var(--spacing-5x); padding-bottom: 0; padding-top: 0; }

/* LISTA DE DISCOS */
.section.section-padding.techwix-blog-grid-section  { padding-top: 0; }
.single-blog .blog-btn                              { display:flex; justify-content:space-between; align-items:center; margin-top:10px; gap:10px; }
.single-blog .blog-btn .precio                      { font-size:15px; font-weight:600; color:#26398c; }
.single-blog .blog-btn .btn-comprar                 { display:inline-block; background:#26398c; color:#fff; font-weight:600; padding:8px 18px; border-radius:30px; font-size:14px; transition:all .3s ease; text-decoration:none; }
.single-blog .blog-btn .btn-comprar:hover           { background:#1a2a6c; transform:scale(1.05); box-shadow:0 4px 10px rgba(0,0,0,0.2); }




/* CAJA TEXTO DE LOS PRODUCTOS */
.modm1002 .single-blog .blog-content                                                    { transform: none; padding: 5px 0px; left:0; width: 100%;  margin-top: 0; bottom: -2px; }

/* TAMAÑO DE IMAGEN DE LOS PRODUCTOS */
body.web.modm1002 .single-blog .blog-image a.bg-image                                   { height: 416px; margin: 0 auto; }

/* DESTACADOS */
.paginaHome .section.techwix-service-section-04.section-padding                                         { margin-top: var(--spacing-5x); padding-bottom: 0; padding-top: 0;}
.paginaHome .techwix-service-section-04 .service-bottom .service-item-03                                { margin-top: 0; display: flex; flex-direction: column; gap:10px; }
.paginaHome .techwix-service-section-04 .service-bottom .service-item-03 .service-text                  { padding-bottom: 0; flex-grow: 1;}
.paginaHome .techwix-service-section-04 .service-bottom .row .col-lg-4                                  { margin-top: var(--spacing-2x); display: flex; }
.paginaHome .techwix-service-section-04 .service-bottom .service-item-03 .service-text                  { padding-left: 0; margin-top: 0; width: 100%;}
.paginaHome .techwix-service-section-04 .service-bottom .service-item-03 .service-text .title::before   { display: none; background: linear-gradient(-150deg, #43baff 0%, var(--color-karaokemaestro-1b)100%);; }


/* VIDEO HOME */
.paginaHome .techwix-video-section .video-wrap                                          { margin-top: var(--spacing-5x);}

/* CONTENIDO FOOTER */
.paginaHome .footer-section.footer-section-04                                           { margin-top: var(--spacing-5x); }
.section.footer-section a.footer-logo img                                               { width: 150px;}
.section.footer-section .footer-widget-wrap .row                                        { justify-content: space-between;}

/* TEXTO HEADER */
.section.header-section.header-section-04 .header-menu .main-menu > li > a                                  { color: var(--color-karaokemaestro-yellow) ; text-shadow: var(--shadow-normal); }
.section.header-section.header-section-04 .header-menu .main-menu > li > a:hover                            { color: var(--color-karaokemaestro-2b) ; }
.header-section-04 .header-cart .cart-btn .count                                                            { background: var(--color-karaokemaestro-1b); }
.section.header-section.header-section-04.sticky .header-menu .main-menu > li > a                           { color: var(--color-karaokemaestro-1b) ; text-shadow:none; }
.section.header-section.header-section-04.sticky .header-menu .main-menu > li > a:hover                     { color: var(--color-karaokemaestro-yellow) ; }

/* BOTON HEADER */
.section.header-section.header-section-04 .btn                                          { background: var(--color-karaokemaestro-1b);}
.section.header-section.header-section-04 .btn:hover                                    { color: var(--color-karaokemaestro-1b)}
.section.header-section.header-section-04 .btn::after,
.section.header-section.header-section-04 .btn::before                                  { background: var(--color-karaokemaestro-yellow);}

/* FORM */

.paginaHome .techwix-contact-section.techwix-contact-section-02.section-padding                                                { margin-top: var(--spacing-5x); padding-bottom: 0; padding-top: 0; }
.paginaHome .techwix-contact-section .contact-wrap .contact-form .contact-form-wrap .form-btn .btn                             { background: var(--color-karaokemaestro-1b); }
.paginaHome .techwix-contact-section .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:hover                       { color: var(--color-karaokemaestro-1b); }
.paginaHome .techwix-contact-section .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:after,
.paginaHome .techwix-contact-section .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:before                      { background: var(--color-karaokemaestro-yellow); }
.paginaHome .techwix-contact-section-02 .contact-wrap .contact-info .section-title .title::before                              { background:var(--color-karaokemaestro-1b); height: 75px; }
.paginaHome .techwix-contact-section-02 .contact-wrap .contact-info ul li .contact-info-item .contact-info-icon i              { color:var(--color-karaokemaestro-1b); }

.paginaHome .techwix-contact-section-02 .contact-wrap .contact-form .contact-form-wrap .heading-wrap .sub-title                { color:var(--color-karaokemaestro-1b); }

/* FORM – estructura nueva dentro de #objContents > .Text > form[name="frmModForm"] */
#objContents .Text form[name="frmModForm"] .techwix-contact-section.techwix-contact-section-02.section-padding { margin-top:var(--spacing-5x);padding-bottom:0;padding-top:0; }
#objContents .Text form[name="frmModForm"] .contact-wrap .contact-form .contact-form-wrap .form-btn .btn { background:var(--color-karaokemaestro-1b); }
#objContents .Text form[name="frmModForm"] .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:hover { color:var(--color-karaokemaestro-1b); }
#objContents .Text form[name="frmModForm"] .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:after,#objContents .Text form[name="frmModForm"] .contact-wrap .contact-form .contact-form-wrap .form-btn .btn:before { background:var(--color-karaokemaestro-yellow); }
#objContents .Text form[name="frmModForm"] .techwix-contact-section-02 .contact-wrap .contact-info .section-title .title::before { background:var(--color-karaokemaestro-1b);height:75px; }
#objContents .Text form[name="frmModForm"] .techwix-contact-section-02 .contact-wrap .contact-info ul li .contact-info-item .contact-info-icon i { color:var(--color-karaokemaestro-1b); }
#objContents .Text form[name="frmModForm"] .techwix-contact-section-02 .contact-wrap .contact-form .contact-form-wrap .heading-wrap .sub-title { color:var(--color-karaokemaestro-1b); }


/* PRICING */
.paginaHome .pricing-list a                                                                                                                { display: inline ; }
.paginaHome .section-title .title                                                                                                          { font-size: 19px; font-weight: normal; }    
.paginaHome .section-title .sub-title                                                                                                      { font-size: 25px;  }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing                                                   { display: flex; flex-direction: column; }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing  .pricing-content.text                            { flex-grow: 1; }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing  .pricing-content.cmd                             { padding-top: 0; }
.paginaHome .techwix-pricing-section.section-padding .col-lg-4                                                                             { display: flex; align-items: stretch; }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-btn .btn                { background: var(--color-karaokemaestro-1b);}
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-btn .btn:hover          { color: var(--color-karaokemaestro-1b)}
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-btn .btn:after,
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-btn .btn:before         { background: var(--color-karaokemaestro-yellow);}

.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing.active                                            { background: linear-gradient(-150deg, #43baff 0%, var(--color-karaokemaestro-1b)100%);}
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-price .currency,                                            
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-price .price                             { color:var(--color-karaokemaestro-1b)}

.paginaHome .section-title .sub-title                                                                                                      { color: var(--color-karaokemaestro-1b); }

.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-list p                              { font-size: 18px; line-height: 30px; }                         
.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing.active .pricing-content .pricing-list p                       { color: white; }
.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing.active .pricing-price .price                                  { color: white; }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-price .currency                          { color: var(--color-karaokemaestro-1b); }
.paginaHome .techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing.active .pricing-price .currency                   { color: white; }

.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content                       { padding-top: var(--spacing-2x); }
.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-list li      { line-height: normal; }
.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-list li + li { margin-top:0; }
.techwix-pricing-section .pricing-wrap .pricing-content-wrap .single-pricing .pricing-content .pricing-list ul      { margin-left: var(--spacing-2x); } 

/* FLECHITA PARA SUBIR */
.paginaHome .progress-wrap::after                                               { color: var(--color-karaokemaestro-1b); }

/* TEXTO PRINCIPAL */
body.web .vis-content-block ul                                          { list-style:none; padding-left:0; margin-top:2rem; }
body.web .vis-content-block ul li                                       { display:flex; align-items:flex-start; gap:10px; font-size:18px; margin-bottom:10px; transition:transform 0.2s ease; }
body.web .vis-content-block ul li:hover                                 { transform:translateX(6px); }
body.web .vis-content-block ul li::before                               { content:'✔'; color:#001f8f; font-weight:bold; font-size:16px; line-height:1.2; flex-shrink:0; margin-top:2px; }
body.web .vis-content-block .columns                                    { display: flex; gap:var(--spacing-3x)}
body.web .vis-content-block figure                                      { border-radius: var(--radius-1); overflow: hidden; margin: 0;}
body.web .vis-content-block.texto-principal                             { margin-top: var(--spacing-5x); }



/* PRODUCTO DETALLE */

body.web .producto-detalle                                                            { padding: 0 20px; display: flex; justify-content: center; }
body.web .producto-detalle .producto-contenedor                                       { display: flex; flex-wrap: wrap; gap: 40px; background: #fff; border-radius: 16px; box-shadow: 0 0 20px rgba(0,0,0,0.08); padding: 40px; max-width: 1400px; width: 100%; }
body.web .producto-detalle .producto-contenedor .producto-imagen                      { flex: 1 1; display: flex; justify-content: center; align-items: start; }
body.web .producto-detalle .producto-contenedor .producto-imagen figure               { margin: 0; }
body.web .producto-detalle .producto-contenedor .producto-imagen img                  { max-width: 100%; height: auto; border-radius: 8px; }
body.web .producto-detalle .producto-contenedor .producto-info                        { flex: 1 1 600px; display: flex; flex-direction: column; justify-content: center; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-titulo       { font-size: 32px; font-weight: 700; color: #333; margin-bottom: 10px; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-codigo       { font-size: 16px; color: #777; margin-bottom: 10px; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-precio       { font-size: 26px; font-weight: bold; color: #000; margin-bottom: 20px; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-formulario   { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-formulario label                      { font-size: 16px; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-formulario input[type="number"]       { width: 80px; padding: 8px; border: 1px solid #ccc; border-radius: 6px; text-align: center; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-formulario .btn-comprar               { background: #062b6f; color: white; border: none; padding: 10px 24px; border-radius: 8px; font-weight: bold; cursor: pointer; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-descripcion   { font-size: 16px; color: #444; line-height: 1.6; margin-top: 20px; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-descripcion table          { width:100%!important; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-descripcion table tr > td  { width:auto!important; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-meta          { margin-top: 40px; display: flex; gap: 60px; justify-content: center; font-size: 16px; color: #333; flex-wrap: wrap; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-meta div      { background: #f8f8f8; padding: 20px 40px; border-radius: 12px; min-width: 180px; text-align: center; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-meta strong   { display: block; font-size: 14px; color: #666; margin-bottom: 5px; }

@media (max-width: 992px) {
body.web .producto-detalle .producto-contenedor                                       { flex-direction: column; align-items: center; text-align: center; padding: 30px; }
body.web .producto-detalle .producto-contenedor .producto-info                        { align-items: center; }
body.web .producto-detalle .producto-contenedor .producto-info .producto-meta         { flex-direction: column; gap: 15px; align-items: center; }
}

/* DESTACADOS */

/* ===== Responsive ===== */
@media(max-width:950px){
    #objContents .producto-detalle .producto-contenedor                 { flex-direction:column ; align-items:center ; text-align:center ; }
    #objContents .producto-detalle .producto-imagen                     { max-width:320px ;}
    #objContents .producto-detalle .producto-info                       { width:100% ; }
    #objContents .producto-detalle .producto-formulario                 { justify-content:center ; }
    #objContents .producto-detalle .producto-meta                        { justify-content:center ; }
}

@media(max-width:860px){
    #objContents .producto-detalle .producto-imagen .vis-slide{background-position:center; border-radius: 10px;}
}


@media(max-width:860px){
#objContents .producto-detalle .producto-imagen .vis-slides            { width: 290px !important; ; height:auto ; max-width:100% ; margin:0 auto ; height:clamp(290px,62vw,620px)!important}
}




    
    

/* RESPONSIVE */

/* ===================== MEDIA QUERY - TABLET ===================== */
@media (max-width: 992px) {

    body.web .producto-detalle                                       { padding: 30px 15px; }
    body.web .producto-detalle .producto-contenedor                  { flex-direction: column; align-items: center; text-align: center; padding: 30px; }
    body.web .producto-detalle .producto-contenedor .producto-info   { align-items: center; }
    body.web .producto-detalle .producto-contenedor .producto-meta   { flex-direction: column; gap: 15px; align-items: center; }

    .paginaHome .section-title .title                                { font-size: 18px; }
    .paginaHome .section-title .sub-title                            { font-size: 22px; }

    .paginaHome .techwix-pricing-section .pricing-wrap 
               .pricing-content-wrap 
               .single-pricing                                       { flex-direction: column; }

    .paginaHome .footer-section.footer-section-04                    { margin-top: var(--spacing-3x); }

    .section.footer-section 
             .footer-widget-wrap 
             .row                                                    { flex-direction: column; gap: var(--spacing-2x); align-items: center; }

    .section.header-section.header-section-04 
             .header-menu 
             .main-menu > li > a                                     { font-size: 0.9rem; }

    .paginaHome .techwix-contact-section.techwix-contact-section-02.section-padding
                                                                      { padding-top: var(--spacing-3x); }

    .paginaHome .techwix-video-section .video-wrap                   { margin-top: var(--spacing-3x); }

}

/* ===================== MEDIA QUERY - MÓVIL ===================== */
@media (max-width: 576px) {

    :root                                                            { --spacing-5x: 2.5rem; --spacing-4x: 2rem; --spacing-3x: 1.5rem; }

    .paginaHome .section-title .title                                { font-size: 16px; }
    .paginaHome .section-title .sub-title                            { font-size: 20px; }

    body.web .producto-detalle                                       { padding: 20px 10px; }
    body.web .producto-detalle .producto-contenedor                  { padding: 20px; gap: 20px; }

    body.web .producto-detalle .producto-contenedor 
             .producto-info 
             .producto-titulo                                        { font-size: 24px; }

    body.web .producto-detalle .producto-contenedor 
             .producto-info 
             .producto-precio                                        { font-size: 20px; }

    body.web .producto-detalle .producto-contenedor 
             .producto-info 
             .producto-meta                                          { flex-direction: column; gap: 10px; padding: 0; }

    .section.footer-section a.footer-logo img                        { width: 120px; }

    .paginaHome .techwix-pricing-section .pricing-wrap 
               .pricing-content-wrap 
               .single-pricing 
               .pricing-content 
               .pricing-list p                                       { font-size: 16px; line-height: 26px; }

    .paginaHome .techwix-contact-section 
               .contact-wrap 
               .contact-form 
               .contact-form-wrap 
               .form-btn .btn                                        { width: 100%; text-align: center; }

    .paginaHome .techwix-service-section-04 
               .service-bottom 
               .service-item-03 
               .service-text                                         { text-align: center; }

    .paginaHome .techwix-service-section-04 
               .service-bottom 
               .service-item-03                                      { margin-bottom: var(--spacing-2x); }

    .paginaHome .techwix-video-section .video-wrap                   { margin-top: var(--spacing-2x); }

    
}

@media (max-width: 576px) {
    .paginaHome .vis-content-block.texto-principal {
        padding-left: var(--spacing-2x);
        padding-right: var(--spacing-2x);
        text-align: center;
    }

    .paginaHome .vis-content-block.texto-principal p {
        text-align: center;
        margin-bottom: var(--spacing-1x);
    }
}

@media (max-width:768px){
    .texto-principal .columns                                       { display:flex; flex-direction:column; align-items:center; gap:14px; }
    .texto-principal .column.left                                    { order:0; width:100%; margin:0 auto; }
    .texto-principal .column.left figure                             { display:block; max-width:520px; width:100%; margin:0 auto; }
    .texto-principal .column.left img                                { display:block; max-width:100%; height:auto; margin:0 auto; border-radius:12px; }
    .texto-principal .column.right                                   { order:1; width:100%; max-width:640px; margin:0 auto; }
    .texto-principal .column.right h2                                { text-align:center; margin:8px 0 6px 0; }
    .texto-principal .column.right p                                 { text-align:left; margin:0 0 10px 0; }
    .texto-principal .column.right h3                                { text-align:left; margin:10px 0 6px 0; }
    .texto-principal .column.right ul                                { margin:8px 0 0 0; padding:0 16px; }
}


/* ===================== LOGIN HEADER ===================== */

#objLoginBoxRB                                      { display: flex; justify-content: flex-end; gap:20px; color:var(--color-karaokemaestro-1b); margin-top: 20px; }
#objLoginBoxRB.LoggedIn                             { display: flex; flex-direction: column; gap: 10px;align-items: center; }
#header.sticky-off #objLoginBoxRB                   { background-color: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 10px 10px 0; }
#header.sticky-off #objLoginBoxRB.LoggedIn          { color: var(--color-karaokemaestro-2b); background-color: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.1); padding: 10px 10px 10px; margin-top: 0; }
#header.sticky #objLoginBoxRB.LoggedIn              { margin-top: 0; }
#objLoginBoxRB.LoggedOut .loginBoxHeader            { display: none; }
#objLoginBoxRB .loginBoxBody                        { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
#objLoginBoxRB.LoggedIn .loginBoxBody               { display: flex; justify-content: space-evenly; align-items: center; flex-wrap: wrap; gap: 6px; }
#objLoginBoxRB .loginBoxBody form                   { display: flex; flex-wrap: wrap; gap: 6px; }

#objLoginBoxRB .Field                               { display: flex; flex-direction: column; }
#objLoginBoxRB .Field .Label                        { display: none; }

#objLoginBoxRB .Field input[type="text"]            { background-color: #e8f0fe !important; width: 110px; height: 30px; padding: 4px 8px; font-size: 13px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.2); background-color: rgba(255,255,255,0.6); font-weight: normal; }
#objLoginBoxRB .Field input[type="password"]        { background-color: #e8f0fe !important; width: 110px; height: 30px; padding: 4px 8px; font-size: 13px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.2); background-color: rgba(255,255,255,0.6); font-weight: normal; }
#objLoginBoxRB .Field input::placeholder            { color: #999; }

#objLoginBoxRB .Cmds                                { display: flex; flex-direction: column; align-items: flex-end; }

#objLoginBoxRB .Cmd.Submit                                  { display: flex; flex-direction: column; align-items: center; }
#objLoginBoxRB .Cmd.Submit input[type="submit"]             { height: 30px; padding: 0 12px; font-size: 13px; background-color: var(--color-karaokemaestro-1b); color: #fff; border: none; border-radius: 4px; cursor: pointer; opacity: 0.95; }
#objLoginBoxRB .Cmd.Submit input[type="submit"]:hover       { opacity: 1; }

/* ===================== ENLACES DEBAJO EN DOS COLUMNAS ===================== */

#header.sticky #objLoginBoxRB .linkRecover                  { color:var(--color-karaokemaestro-1b); }
#header.sticky #objLoginBoxRB .Cmd.Submit .linkRegister     { color:var(--color-karaokemaestro-1b); }
#objLoginBoxRB .Cmd.Submit .linkRegister                    { font-size: 11px; color: var(--color-karaokemaestro-2b); display: block; margin-top: 2px; text-align: right; }
#objLoginBoxRB .linkRecover                                 { font-size: 11px; color: var(--color-karaokemaestro-2b); width: 50%; display: block; margin-top: 2px; text-align: left; }



/* ===================== RESPONSIVE ===================== */

@media (max-width: 768px) {

    #objLoginBoxRB                                  { align-items: center; }
    #objLoginBoxRB .loginBoxBody                    { flex-direction: column; align-items: stretch; }
    #objLoginBoxRB .loginBoxBody form               { flex-direction: column; align-items: stretch; }

    #objLoginBoxRB .Field                           { width: 100%; }
    #objLoginBoxRB .Field input[type="text"]        { width: 100%; }
    #objLoginBoxRB .Field input[type="password"]    { width: 100%; }

    #objLoginBoxRB .Cmd.Submit                      { flex-direction: column; align-items: stretch; }
    #objLoginBoxRB .Cmd.Submit input[type="submit"] { width: 100%; }

    #objLoginBoxRB .Cmd.Submit .linkRegister        { width: 100%; text-align: center; margin-top: 4px; }
    #objLoginBoxRB .linkRecover                     { width: 100%; text-align: center; margin-top: 4px; }
}


/* ===================== FORMULARIO DE REGISTRO ===================== */

#objContents                                                {max-width:1460px; margin:50px auto;padding:0 20px;font-family:'Inter',sans-serif;color:#333;}
#objContents h1                                             {font-size:32px;font-weight:700;color:#111;margin-bottom:20px;}
#objContents .linkRegister p                                {font-size:15px;line-height:1.6;color:#444;margin-bottom:12px;}
#objContents .linkRegister a                                {color:#1a2a6c; text-decoration:underline; font-weight:600; }
#objContents .linkRecovery a                                {color:#1a2a6c; text-decoration:underline; font-weight:600; }
#objContents .linkRecovery p                                {color:#1a2a6c; text-decoration:underline; font-weight:600; }
#objContents .linkRecovery a:hover                          {text-decoration:underline;}
#objContents .FormBuilder                                   {background-color:#fff;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,0.08);padding:40px;margin-top:40px;}
/* #objContents .FormBuilder.clsWebUserLogin.mode-A         {background-color:#fff;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,0.08);padding:40px;margin-top:40px;} */
#objContents .FormBuilder h1                                {font-size:24px;font-weight:600;color:#1a2a6c;margin-bottom:25px;text-align:center;}
#objContents .FormBuilder .field.Sep                        {font-size:16px;font-weight:600;color:#1a2a6c;margin:25px 0 10px; padding-left: 250px;}
#objContents .FormBuilder .DataGrid                         {margin:0 auto; border-spacing:0;}
#objContents .FormBuilder .td.FieldCaption                  {padding:12px 10px 12px 0;font-size:14px;font-weight:500;color:#555;vertical-align:middle;}
#objContents .FormBuilder .td.FieldValue                    {padding:10px 0;}
#objContents .FormBuilder input[type="text"]                {width:100%;padding:10px 14px;font-size:14px;border:1px solid #ccc;border-radius:8px;background-color:#fefefe;transition:all 0.2s ease;}
#objContents .FormBuilder select                            {width:100%;padding:10px 14px;font-size:14px;border:1px solid #ccc;border-radius:8px;background-color:#fefefe;transition:all 0.2s ease;}
#objContents .FormBuilder input[type="text"]:focus          {outline:none;border-color:#1a2a6c;box-shadow:0 0 0 2px rgba(26,42,108,0.1);}
#objContents .FormBuilder select:focus                      {outline:none;border-color:#1a2a6c;box-shadow:0 0 0 2px rgba(26,42,108,0.1);}
#objContents .FormBuilder .RequiredNote                     {font-size:10px;color:#888;margin-top:20px;}
#objContents .FormBuilder .RequiredNote .color              {color:#c00;font-weight:600;}
#objContents .FormBuilder .FormControls                     {display:flex;justify-content:center;gap:16px;margin-top:30px;}
#objContents .FormBuilder .FormControls input               {width:140px;padding:10px 0;font-size:14px;border:none;border-radius:8px;cursor:pointer;text-align:center;}
#objContents .FormBuilder .FormControls .cmdCancel          {background-color:#e0e0e0;color:#1a2a6c;font-weight:600;}
#objContents .FormBuilder .FormControls .cmdCancel:hover    {background-color:#d5d5d5;}
#objContents .FormBuilder .FormControls .cmdOk              {background-color:#1a2a6c;color:#fff;font-weight:600;}
#objContents .FormBuilder .FormControls .cmdOk:hover        {background-color:#111d48;}
#objContents .FormBuilder .Required input                  { border:1px solid rgba(255,0,0,0.4); box-shadow:0 0 6px rgba(255,0,0,0.1); background-color:rgba(255,255,255,0.6); backdrop-filter:blur(6px); }
#objContents .FormBuilder .Required select                 { border:1px solid rgba(255,0,0,0.4); box-shadow:0 0 6px rgba(255,0,0,0.1); background-color:rgba(255,255,255,0.6); backdrop-filter:blur(6px); }






@media (max-width:768px){
    #objContents{padding:0 15px;}
    #objContents .FormBuilder .td.FieldCaption              {display:block;width:100%;margin-bottom:5px;}
    #objContents .FormBuilder .td.FieldValue                {display:block;width:100%;padding: 0;}
    #objContents .FormBuilder .FormControls                 {flex-direction:column;align-items:center;}
    #objContents .FormBuilder .FormControls input           {width:100%;}
    #objContents .FormBuilder .field.Sep                    {padding-left: 0;}
}
    
/* ===================== VIS SLIDES ===================== */
.producto-imagen                                       { position:relative; display:flex; align-items:center; justify-content:center; }
.producto-imagen .vis-slides                           { width:100%; max-width:680px; border-radius:12px; background:#fff; overflow:hidden; }
.producto-imagen .vis-slide                            { width:100%; height:100%; background-size:contain; background-position:start; background-repeat:no-repeat; }
/* Flechas fuera de la imagen */
.producto-imagen .vis-slides-arrows                    { position:absolute; top:50%; left:-60px; right:-60px; display:flex; justify-content:space-between; transform:translateY(-50%); pointer-events:none; }
.producto-imagen .vis-slides-arrows .arrow             { position:relative; pointer-events:auto; width:44px; height:44px; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.35); border-radius:50%; cursor:pointer; }
.producto-imagen .vis-slides-arrows .prev::before      { content:''; display:inline-block; width:10px; height:10px; border:3px solid #fff; border-top:none; border-right:none; transform:rotate(45deg); }
.producto-imagen .vis-slides-arrows .next::before      { content:''; display:inline-block; width:10px; height:10px; border:3px solid #fff; border-top:none; border-left:none; transform:rotate(-45deg); }

/* Carrito */
.header-cart .dropdown-cart                                              {width:360px;max-height:80vh;min-height:auto;overflow:hidden;padding:16px;border-radius:18px;background:rgba(255,255,255,.65);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 40px rgba(16,24,40,.18),0 1px 0 rgba(255,255,255,.6) inset;}
.header-cart .dropdown-cart .cart-items                                  {height:auto;max-height:320px;overflow-y:auto;overflow-x:hidden;margin:0 0 12px 0;scrollbar-width:thin;scrollbar-color:rgba(17,24,39,.28) rgba(255,255,255,.12);}
.header-cart .dropdown-cart .cart-items::-webkit-scrollbar               {width:8px;}
.header-cart .dropdown-cart .cart-items::-webkit-scrollbar-track         {background:rgba(255,255,255,.12);border-radius:8px;}
.header-cart .dropdown-cart .cart-items::-webkit-scrollbar-thumb         {background:rgba(17,24,39,.28);border-radius:8px;border:1px solid rgba(255,255,255,.35);}
.header-cart .dropdown-cart .cart-items::-webkit-scrollbar-thumb:hover   {background:rgba(17,24,39,.38);}
.header-cart .dropdown-cart .cart-items:empty                            {height:auto;min-height:100px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;}
.header-cart .dropdown-cart .cart-items:empty::before                    {content:"🛒 Tu carrito está vacío";font-size:14px;font-weight:600;color:#6b7280;}
.header-cart .dropdown-cart:has(.cart-items:empty)                       {max-height:140px;padding:20px;display:flex;align-items:center;justify-content:center;}
.header-cart .dropdown-cart:has(.cart-items:empty) .cart-total           {display:none;}
.header-cart .dropdown-cart:has(.cart-items:empty) .cart-btns            {display:none;}

.header-cart .dropdown-cart .single-cart-item                            {display:flex;align-items:center;gap:10px;}
.header-cart .dropdown-cart .single-cart-item .item-image                {width:72px;height:72px;flex:0 0 72px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#eef2ff;}
.header-cart .dropdown-cart .single-cart-item .item-image img            {width:100%;height:100%;object-fit:cover;display:block;border-radius:0;}

.header-cart .dropdown-cart .single-cart-item .item-content              {flex:1 1 auto;min-width:0;position:relative;min-height:44px;padding-right:6px;} /* padding para evitar roce con el scrollbar */
.header-cart .dropdown-cart .single-cart-item .title                     {font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;display:inline-block;vertical-align:middle;position:relative;z-index:1;transition:opacity .25s ease;}
.header-cart .dropdown-cart .single-cart-item .quantity                  {position:relative;z-index:0;transition:opacity .2s ease,visibility .2s ease;}





/* =========================== */
/* 🛒 Checkout / Compras (scope estricto) */
/* =========================== */
/* ⚙️ Variables + base elegante */
.FormBuilder.tbl_1007 { --km-bg:#ffffff; --km-surface:#fff; --km-fg:#0f172a; --km-fg-2:#475569; --km-line:#e6eaf0; --km-muted:#f6f7fb; --km-acc:#2563eb; --km-acc-2:#0ea5e9; --km-warn:#ef4444; --km-ok:#16a34a; --km-rad:18px; --km-rad-sm:12px; --km-pad:18px; --km-gap:14px; --km-sh1:0 10px 30px rgba(15,23,42,.08); --km-sh2:0 18px 40px rgba(15,23,42,.10); --km-ring:0 0 0 3px rgba(37,99,235,.12); color:var(--km-fg); }

/* 🧭 Migas + títulos */
.FormBuilder.tbl_1007 .breadcrumb.Path { margin:0 0 8px 0; font-size:14px; color:var(--km-fg-2); }
.FormBuilder.tbl_1007 .breadcrumb.Path a { text-decoration:underline; text-underline-offset:2px; }
.FormBuilder.tbl_1007 h1.breadcrumb.actionA .caption { font-size:30px; font-weight:800; background:linear-gradient(92deg,#0f172a 0%,#2563eb 60%,#0ea5e9 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.FormBuilder.tbl_1007 > h1 { font-size:24px; margin:0 0 14px 0; color:#0b1220; }

/* 🧺 Contenedor principal con “aura” */
.FormBuilder.tbl_1007 #objCartList { width:100%; max-width:980px; margin:0 auto; /*margin:0 auto 22px auto;*/ padding:22px; border-radius:var(--km-rad); }
.FormBuilder.tbl_1007 #objCartList:hover { box-shadow:var(--km-sh2); }

/* 📦 Lista + items con separación de “tarjetas” */
.FormBuilder.tbl_1007 #objCartList .cart-items { display:flex; flex-direction:column; gap:12px; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item { display:grid; grid-template-columns:100px 1fr 40px; align-items:center; gap:16px; padding:16px; border-radius:16px; background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%); border:1px solid var(--km-line); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item:hover { transform:translateY(-2px); box-shadow:0 14px 36px rgba(15,23,42,.10); border-color:#dfe6ee; background:#fff; }

/* 🖼️ Imagen con marco fino y “sheen” */
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image { width:100px; height:100px; border-radius:14px; overflow:hidden; background:var(--km-muted); position:relative; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image::after { content:""; position:absolute; inset:auto 0 0 0; height:28px; background:linear-gradient(0deg,rgba(0,0,0,.06),transparent); opacity:.25; pointer-events:none; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image img { width:100%; height:100%; object-fit:cover; display:block; }

/* 🧾 Contenido: título fuerte + subgrid para qty/precio */
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content { display:grid; grid-template-rows:auto auto; row-gap:8px; min-width:0; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title { margin:0; font-size:17px; line-height:1.35; font-weight:800; letter-spacing:.1px; color:#0f1627; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title a { color:inherit; text-decoration:none; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item:hover .item-content .title { color:#0d1a34; }

/* 🔢 Cantidad + precio en micro-card */
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .quantity { display:inline-grid; grid-auto-flow:column; align-items:center; gap:10px; width:max-content; padding:6px 10px; border-radius:999px; box-shadow:inset 0 1px 0 rgba(255,255,255,.7); color:var(--km-fg-2); }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .intQty { width:70px; height:36px; padding:0 10px; border-radius:10px; border:1px solid #dfe6ee; background:#fff; color:var(--km-fg); transition:border-color .18s ease, box-shadow .18s ease; }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .intQty:focus { border-color:var(--km-acc); box-shadow:var(--km-ring); }
.FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .fltPrice { font-weight:800; color:#0c1224; }

/* 🗑️ Botón eliminar con tooltip */
.FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete {width:40px;height:40px;border-radius:12px;border:1px solid #e7ecf3;background:#fff;position:relative;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete::before {content:"";position:absolute;inset:0;background:url("https://dev3.vis.com.pe/karaokemaestro/portal/Interface/assets/images/trash-solid-full.svg") no-repeat center;background-size:18px 18px;transition:filter .18s ease;}
.FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete:hover {background:#fff6f6;border-color:#ffd9d9;transform:scale(1.03);box-shadow:0 8px 22px rgba(239,68,68,.15);}
.FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete:hover::before {filter:brightness(0) saturate(100%) invert(30%) sepia(96%) saturate(3124%) hue-rotate(340deg) brightness(94%) contrast(95%);}
.FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete:hover::after {content:"Eliminar";position:absolute;right:46px;top:50%;transform:translateY(-50%);padding:6px 10px;background:#0f172a;color:#fff;font-size:12px;border-radius:8px;white-space:nowrap;box-shadow:0 6px 20px rgba(15,23,42,.18);}

/* 🧮 Subtotal anclado al pie del contenedor */
.FormBuilder.tbl_1007 #objCartList .cart-total { position:sticky; bottom:0; display:flex; justify-content:flex-end; gap:10px; margin:12px -22px 0 -22px; padding:12px 22px; background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,#fff 75%); backdrop-filter:saturate(140%) blur(6px); border-top:1px solid var(--km-line); }
.FormBuilder.tbl_1007 #objCartList .cart-total .label { font-size:15px; color:var(--km-fg-2); }
.FormBuilder.tbl_1007 #objCartList .cart-total .value { font-size:20px; font-weight:900; letter-spacing:.2px; }

/* 🟦 Botón Pagar protagonista */
.FormBuilder.tbl_1007 #objCartList .cart-btns { display:flex; justify-content:flex-end; padding-top:8px; }
.FormBuilder.tbl_1007 #objCartList .cart-btns .btn { display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:50px; padding:0 18px; border-radius:14px; font-weight:800; text-decoration:none; box-shadow:0 10px 24px rgba(37,99,235,.18), inset 0 1px 0 rgba(255,255,255,.6); transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.FormBuilder.tbl_1007 #objCartList .cart-btns .btn-2 { background:var(--color-karaokemaestro-1b); color:#fff; }
.FormBuilder.tbl_1007 #objCartList .cart-btns .btn-2:hover { transform:translateY(-1px); box-shadow:0 14px 30px rgba(37,99,235,.25); color:var(--color-karaokemaestro-2f) }
.FormBuilder.tbl_1007 #objCartList .cart-btns .btn-2:hover::before {background: var(--color-karaokemaestro-yellow);}
.FormBuilder.tbl_1007 #objCartList .cart-btns .btn-2:hover::after    {background: var(--color-karaokemaestro-yellow);}
/* 🏷️ Campo Estado (badge) */
.FormBuilder.tbl_1007 .field.idEstado { width:100%; max-width:980px; margin:0 auto; padding:16px 22px; border-radius:14px; background:#fbfcff; border:1px dashed #d9e2f0; }
.FormBuilder.tbl_1007 .field.idEstado .td.FieldCaption { font-weight:800; color:#0f172a; padding-bottom:6px; }
.FormBuilder.tbl_1007 .field.idEstado .td.FieldValue pre.field { display:inline-flex; align-items:center; gap:8px; margin:0; padding:8px 12px; border-radius:999px; background:#eef4ff; border:1px solid #dbe6ff; color:#2643a1; font-weight:700; }
.FormBuilder.tbl_1007 .field.idEstado .td.FieldValue input.field { display:none; }

/* 🔗 Enlaces subrayados (consistencia) */
.FormBuilder.tbl_1007 a { text-decoration:underline; text-underline-offset:2px; }
.FormBuilder.tbl_1007 .cart-items .title a { text-decoration:none; }

/* ♿ Focus rings */
.FormBuilder.tbl_1007 a:focus,.FormBuilder.tbl_1007 button:focus,.FormBuilder.tbl_1007 input:focus { outline:none; box-shadow:var(--km-ring); border-radius:10px; }

/* ========== Bloque: ocultar Nº Pedido en Checkout ========== */
#objContents .fld_1016                                                {display:none !important;}
/* ========== Fin Bloque: ocultar Nº Pedido ========== */

/* 📱 Responsive unificado */
/* ≤680px */
@media (max-width:680px){
    .FormBuilder.tbl_1007 #objCartList                                               { padding:16px; }
    .FormBuilder.tbl_1007 #objCartList .cart-items                                   { gap:10px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item                             { grid-template-columns:86px 1fr 36px; gap:12px; padding:12px; border-radius:14px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image                 { width:86px; height:86px; border-radius:12px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title        { font-size:16px; line-height:1.3; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .quantity     { gap:8px; padding:6px 8px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .intQty       { width:62px; height:34px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete                 { width:36px; height:36px; border-radius:10px; }
    .FormBuilder.tbl_1007 #objCartList .cart-total                                   { margin:10px -16px 0 -16px; padding:10px 16px; }
    .FormBuilder.tbl_1007 #objCartList .cart-total .value                            { font-size:18px; }
    .FormBuilder.tbl_1007 #objCartList .cart-btns                                    { padding-top:6px; }
    .FormBuilder.tbl_1007 #objCartList .cart-btns .btn                               { min-width:100%; height:48px; border-radius:12px; }
}
    
    /* ≤540px — más ancho para título/precio y aire para la X */
    @media (max-width:540px){
    .FormBuilder.tbl_1007 #objCartList                                               { padding:14px; border-radius:14px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item                             { grid-template-columns:90px calc(100% - 140px) 40px; } /* ← clave */
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image                 { width:84px; height:84px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title        { font-size:15.5px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title        { word-break:break-word; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .quantity     { padding:5px 8px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .intQty       { width:58px; height:32px; padding:0 8px; border-radius:9px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete                 { width:34px; height:34px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete:hover::after    { right:40px; font-size:11px; padding:5px 8px; }
    .FormBuilder.tbl_1007 #objCartList .cart-total                                   { margin:10px -14px 0 -14px; padding:10px 14px; }
}
    
    /* ≤400px — ultra‑compacto */
    @media (max-width:400px){
    .FormBuilder.tbl_1007 #objCartList { padding:12px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item { grid-template-columns:80px calc(100% - 126px) 36px; gap:10px; padding:10px; border-radius:12px; } /* ← clave */
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-image { width:76px; height:76px; border-radius:10px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .title { font-size:14.8px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .quantity { gap:6px; padding:4px 7px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .intQty { width:52px; height:30px; padding:0 6px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .item-content .fltPrice { font-size:14px; }
    .FormBuilder.tbl_1007 #objCartList .single-cart-item .btn-delete { width:30px; height:30px; border-radius:9px; }
    .FormBuilder.tbl_1007 #objCartList .cart-total .label { font-size:14px; }
    .FormBuilder.tbl_1007 #objCartList .cart-total .value { font-size:17px; }
    .FormBuilder.tbl_1007 #objCartList .cart-btns .btn { height:44px; border-radius:11px; }
}


/* =========================== */
/* FIN DE🛒 Checkout / Compras (scope estricto) */
/* =========================== */



/* ============================== Bloque general: Barra de pasos Checkout (full width) ============================== */
/* ===== Base ===== */
#objContents .checkout-steps.full                                       { width:100% ; margin:0 0 24px 0 ; display:flex ; align-items:stretch ; list-style:none ; padding:0 ; font-family:Inter,system-ui,Arial,sans-serif ; font-weight:700 ; font-size:15px ; line-height:1 ; counter-reset:step ; user-select:none ; border-radius:14px ; overflow:hidden ; }
#objContents .checkout-steps.full li                                    { flex:1 ; justify-content:center ; text-align:center ; position:relative ; display:flex ; align-items:center ; gap:10px ; padding:16px 30px 16px 46px ; background:#0f172a ; color:#e5e7eb ; letter-spacing:.2px ; transition:background .25s ease,color .25s ease,box-shadow .25s ease,transform .25s ease ; }
#objContents .checkout-steps.full li:first-child                        { border-radius:14px 0 0 14px ; padding-left:26px ; }
#objContents .checkout-steps.full li:last-child                         { border-radius:0 14px 14px 0 ; }
#objContents .checkout-steps.full li::before                            { counter-increment:step ; content:counter(step) ; display:inline-grid ; place-items:center ; width:22px ; height:22px ; border-radius:999px ; background:#334155 ; color:#e5e7eb ; font-size:12px ; box-shadow:0 0 0 2px rgba(255,255,255,.08) inset ; transition:all .25s ease ; }
#objContents .checkout-steps.full li::after                             { content:"" ; position:absolute ; top:0 ; right:-22px ; width:0 ; height:0 ; border-top:25px solid transparent ; border-bottom:25px solid transparent ; border-left:22px solid #0f172a ; transition:border-left-color .25s ease ; }
#objContents .checkout-steps.full li:last-child::after                  { display:none ; }
/* ===== Estado: completado ===== */
#objContents .checkout-steps.full li.is-done                            { background:#111827 ; color:#e5e7eb ; }
#objContents .checkout-steps.full li.is-done::before                    { background:#10b981 ; color:#fff ; box-shadow:0 0 0 3px rgba(16,185,129,.25) ; }
#objContents .checkout-steps.full li.is-done::after                     { border-left-color:#111827 ; }
/* ===== Estado: activo (más notoriedad) ===== */
#objContents .checkout-steps.full li.is-active                          { background:linear-gradient(180deg,#2430a4 0%,#1a2a6c 100%) ; color:#ffffff ; box-shadow:inset 0 -3px 0 #60a5fa,inset 0 8px 22px rgba(0,0,0,.18),0 10px 22px rgba(26,42,108,.22) ; transform:translateZ(0) ; text-shadow:0 1px 0 rgba(0,0,0,.25) ; }
#objContents .checkout-steps.full li.is-active::before                  { background:#ffffff ; color:#1a2a6c ; font-weight:900 ; transform:scale(1.18) ; box-shadow:0 0 0 4px rgba(255,255,255,.45),0 0 16px rgba(26,42,108,.55) ; }
#objContents .checkout-steps.full li.is-active::after                   { border-left-color:#1a2a6c ; }
/* ===== Hover (solo para no activos) ===== */
#objContents .checkout-steps.full li:not(.is-active):hover              { filter:brightness(1.06) ; }
/* ===== Responsive ===== */
@media(max-width:760px){
#objContents .checkout-steps.full                                       { font-size:13px ; border-radius:12px ; }
#objContents .checkout-steps.full li                                    { padding:12px 14px ; gap:6px ; }
#objContents .checkout-steps.full li::after                             { display:none ; }
#objContents .checkout-steps.full li:not(.is-active)                    { flex:0 0 auto ; font-size:0 ; padding:10px 10px ; }
#objContents .checkout-steps.full li:not(.is-active)::before            { width:22px ; height:22px ; font-size:12px ; margin:0 ; transform:none ; }
#objContents .checkout-steps.full li.is-active                          { flex:1 1 auto ; font-size:13px ; padding:12px 18px 12px 36px ; gap:20px }
#objContents .checkout-steps.full li.is-active::after                   { display:block ; right:-14px ; border-top:20px solid transparent ; border-bottom:20px solid transparent ; border-left-width:14px ; border-left-color:#1a2a6c ; }
}
/* ============================== Fin Bloque general: Barra de pasos Checkout ============================== */


/* ============================== Paso C (Envío) – Select2 FIX definitivo ============================== */
#objContents .FormBuilder.tbl_1007 {max-width:980px;margin:0 auto;padding:22px 26px;border-radius:18px;background:rgba(255,255,255,.72);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 34px rgba(16,24,40,.10);}
#objContents .FormBuilder.tbl_1007 .field {display:grid;grid-template-columns:160px 1fr;gap:10px 14px;align-items:center;margin:10px 0;}
#objContents .FormBuilder.tbl_1007 .FieldCaption {font-weight:600;color:#0b153f;opacity:.9;}
#objContents .FormBuilder.tbl_1007 .FieldValue {display:flex;align-items:center;}
#objContents .FormBuilder.tbl_1007 input.text {width:100%;height:42px;padding:10px 14px;border-radius:12px;border:1px solid #e7ecf3;background:#fff;color:#0b153f;outline:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box;}
#objContents .FormBuilder.tbl_1007 input.text:focus {border-color:#b9c6ff;box-shadow:0 0 0 4px rgba(26,42,108,.12);}
#objContents .FormBuilder.tbl_1007 .fld_1023.Sep {grid-column:1/-1;margin:8px 0 4px 0;padding:6px 0 10px 0;font-weight:700;color:#1a2a6c;position:relative;}
#objContents .FormBuilder.tbl_1007 .fld_1023.Sep::after {content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,rgba(26,42,108,.25),rgba(26,42,108,.06));}
#objContents .FormBuilder.tbl_1007 .RequiredNote {margin-top:10px;font-size:13px;color:#6b7280;text-align:center;}
#objContents .FormBuilder.tbl_1007 .RequiredNote .color {font-weight:700;text-decoration:underline;color:#b91c1c;}
#objContents .FormBuilder.tbl_1007 .btns {display:flex;gap:12px;justify-content:center;margin:20px 0 6px 0;}
#objContents .FormBuilder.tbl_1007 .btn,#objContents .FormBuilder.tbl_1007 input[type="submit"][value="Aceptar"],#objContents .FormBuilder.tbl_1007 .frmSubmit {display:inline-flex;align-items:center;justify-content:center;min-width:200px;height:44px;padding:0 18px;border-radius:12px;border:1px solid #122052;background:var(--color-karaokemaestro-1b);color:#fff;font-weight:800;letter-spacing:.2px;box-shadow:0 12px 28px rgba(26,42,108,.22);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;}
#objContents .FormBuilder.tbl_1007 .btn:hover,#objContents .FormBuilder.tbl_1007 input[type="submit"][value="Aceptar"]:hover,#objContents .FormBuilder.tbl_1007 .frmSubmit:hover {transform:translateY(-1px);}
#objContents .FormBuilder.tbl_1007 input[type="button"][value="Cancelar"],#objContents .FormBuilder.tbl_1007 .btn.secondary {display:none!important;}
#objContents .FormBuilder.tbl_1007 .FieldValue::after {content:none!important;}

/* ===== Select2: SIN flechas de fondo heredadas ===== */
#objContents .FormBuilder.tbl_1007 .select2-container {width:100%!important;min-width:0;}
#objContents .FormBuilder.tbl_1007 .select2-container .select2-selection--single {display:flex;align-items:center;height:42px;padding:0 14px;border-radius:12px;border:1px solid #e7ecf3;background-color:#fff;color:#0b153f;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:0 1px 0 rgba(255,255,255,.60) inset;background:none!important;}
#objContents .FormBuilder.tbl_1007 .select2-selection__rendered {width:100%;padding:0;margin:0;font-size:15px;color:#0b153f;line-height:1;display:flex;align-items:center;background:none!important;}
#objContents .FormBuilder.tbl_1007 .select2-selection__clear {margin-right:6px;color:#94a3b8;font-weight:700;}
#objContents .FormBuilder.tbl_1007 .select2-selection__arrow             {position:relative;width:22px;height:100%;display:flex;align-items:center;justify-content:center;background:none!important;}
#objContents .FormBuilder.tbl_1007 .select2-selection__arrow b           {position:absolute;top:50%;left:50%;margin:-3px 0 0 -5px;width:0;height:0;border-style:solid;border-width:6px 5px 0 5px;border-color:#1a2a6c transparent transparent transparent;transform:none;background:none!important;}
#objContents .FormBuilder.tbl_1007 .select2-container--open .select2-selection__arrow b {transform:rotate(180deg);margin-top:-1px;}
#objContents .FormBuilder.tbl_1007 .select2-container--open .select2-selection--single {border-color:#b9c6ff;box-shadow:0 0 0 4px rgba(26,42,108,.12);}

/* ===== Dropdown ===== */
#objContents .FormBuilder.tbl_1007 .select2-dropdown {border:1px solid #e6eaf0;border-radius:12px;overflow:hidden;margin-top:6px;background:#fff;box-shadow:0 14px 46px rgba(15,23,42,.10);}
#objContents .FormBuilder.tbl_1007 .select2-results__options {max-height:260px;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.25) transparent;}
#objContents .FormBuilder.tbl_1007 .select2-results__option {padding:10px 12px;font-size:15px;color:#0b153f;display:flex;align-items:center;}
#objContents .FormBuilder.tbl_1007 .select2-results__option--highlighted {background:#f1f5f9;color:#0b153f;}
#objContents .FormBuilder.tbl_1007 .select2-results__option[aria-selected="true"] {background:#eaf0ff;color:#0b153f;}
#objContents .FormBuilder.tbl_1007 .select2-search--dropdown .select2-search__field {height:38px;border:1px solid #e6eaf0;border-radius:10px;padding:0 10px;font-size:14px;}
#objContents .FormBuilder.tbl_1007 .select2-search--dropdown .select2-search__field:focus {outline:none;border-color:#26398c;box-shadow:0 0 0 3px rgba(38,57,140,.14);}

/* ===== Requeridos (rojo) ===== */
#objContents .FormBuilder.tbl_1007 .required .FieldCaption {color:#b91c1c;}
#objContents .FormBuilder.tbl_1007 .required .FieldValue>input.text {font-weight:100;border-color:#b91c1c;background:linear-gradient(180deg,#fff,#fff9f9);box-shadow:0 0 0 2px rgba(185,28,28,.08) inset;}
#objContents .FormBuilder.tbl_1007 .required .select2-container .select2-selection--single {border-color:#b91c1c;background:linear-gradient(180deg,#fff,#fff9f9);box-shadow:0 0 0 2px rgba(185,28,28,.08) inset;background-image:none!important;}

/* ===== Fallback: selects NATIVOS (apagan cualquier chevrón de fondo) ===== */
#objContents .FormBuilder.tbl_1007 select.select_assoc {background:none!important;cursor:pointer;width:100%;height:42px;padding:10px 14px;border-radius:12px;border:1px solid #e7ecf3;color:#0b153f;outline:none;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;text-align:left;text-align-last:left;line-height:20px;box-sizing:border-box;}
#objContents .FormBuilder.tbl_1007 .required .FieldValue>select.select_assoc {background:none!important;}
#objContents .FormBuilder.tbl_1007 select.select_assoc:focus {border-color:#b9c6ff;box-shadow:0 0 0 4px rgba(26,42,108,.12);}
#objContents .FormBuilder.tbl_1007 select.select_assoc::-ms-expand {display:none;}


/* ===== Ancla duro el alto del campo 'Modo de Envío' (sin saltos) ===== */
#objContents .FormBuilder.tbl_1007 .fld_1028 .FieldValue                                    {min-height:42px;max-height:42px;align-items:center;position:relative;}

/* Select2 dentro de fld_1028 del mismo alto, sin wrap ni reflows */
#objContents .FormBuilder.tbl_1007 .fld_1028 .select2-container                             {width:100%!important;height:100%!important;}
#objContents .FormBuilder.tbl_1007 .fld_1028 .select2-selection--single                     {line-height:42px!important;padding:0 14px!important;}
#objContents .FormBuilder.tbl_1007 .fld_1028 .select2-selection__rendered                   {height:100%!important;line-height:42px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;padding:0!important;margin:0!important;}
#objContents .FormBuilder.tbl_1007 .fld_1028 .select2-selection__arrow                      {height:100%!important;}

/* Cuando el plugin destruye Select2 y queda el <select> nativo disabled */
#objContents .FormBuilder.tbl_1007 select.fld_1028_Modo_de_Envio                            {display:block;width:100%;height:100%!important;line-height:42px!important;padding:0 14px!important;font-size:15px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;}
#objContents .FormBuilder.tbl_1007 select.fld_1028_Modo_de_Envio:disabled                   {opacity:.95;background:#fff;}


/* ===== Modo de Envío: que se vea IGUAL a los demás incluso disabled (cargando) ===== */
#objContents .FormBuilder.tbl_1007 select.fld_1028_Modo_de_Envio:disabled                 {height:42px!important;line-height:42px!important;padding:0 14px!important;border:1px solid #b91c1c!important;border-radius:12px!important;background:linear-gradient(180deg,#fff,#fff9f9)!important;box-shadow:0 0 0 2px rgba(185,28,28,.08) inset!important;color:#0b153f!important;opacity:1!important;cursor:default;}
#objContents .FormBuilder.tbl_1007 .fld_1028 .select2-container--disabled .select2-selection--single {border:1px solid #b91c1c!important;background:linear-gradient(180deg,#fff,#fff9f9)!important;box-shadow:0 0 0 2px rgba(185,28,28,.08) inset!important;color:#0b153f!important;opacity:1!important;}


/* ===== Responsive ===== */
@media(max-width:980px){#objContents .FormBuilder.tbl_1007 {margin:0 16px;}}
@media(max-width:860px){#objContents .FormBuilder.tbl_1007 .field {grid-template-columns:1fr;}#objContents .FormBuilder.tbl_1007 .FieldCaption {padding-top:4px;}}

/* ===== Más aire en móvil ===== */
@media(max-width:860px){
    #objContents .FormBuilder.tbl_1007                                 { margin:0 14px;padding:22px 18px;border-radius:18px; }
    #objContents .FormBuilder.tbl_1007 .field                          { grid-template-columns:1fr;align-items:flex-start;margin:14px 0;gap:10px; }
    #objContents .FormBuilder.tbl_1007 .FieldCaption                   { padding:0 0 4px 0;font-size:15px;font-weight:600;color:#0b153f;opacity:.95; }
    #objContents .FormBuilder.tbl_1007 input.text,
    #objContents .FormBuilder.tbl_1007 select.select_assoc             { height:46px;padding:10px 14px;border-radius:12px; }
    #objContents .FormBuilder.tbl_1007 .select2-selection--single      { height:46px;padding:0 14px; }
    #objContents .FormBuilder.tbl_1007 .fld_1028 .FieldValue           { min-height:46px;max-height:46px; }
    #objContents .FormBuilder.tbl_1007 .RequiredNote                   { margin-top:14px;font-size:13px; }
    }
    
    /* ===== Extra ajuste para pantallas muy pequeñas ===== */
    @media(max-width:480px){
    #objContents .FormBuilder.tbl_1007                                 { margin:0 12px;padding:20px 14px;border-radius:16px; }
    #objContents .FormBuilder.tbl_1007 .field                          { margin:12px 0;gap:8px; }
    #objContents .FormBuilder.tbl_1007 input.text,
    #objContents .FormBuilder.tbl_1007 select.select_assoc             { height:44px;padding:9px 12px; }
    #objContents .FormBuilder.tbl_1007 .select2-selection--single      { height:44px;padding:0 12px; }
    #objContents .FormBuilder.tbl_1007 .fld_1028 .FieldValue           { min-height:44px;max-height:44px; }
    }
    
/* ============================== Fin Paso C (Envío) ============================== */







    

/* ===== Nota requerida (alineación centrada) ===== */
#objContents .FormBuilder.tbl_1007 .RequiredNote      {margin-top:10px;font-size:13px;color:#6b7280;text-align:center;}
#objContents .FormBuilder.tbl_1007 .RequiredNote .color{font-weight:700;text-decoration:underline;color:#b91c1c;}
/* ===== Fin Nota requerida ===== */



/* ==================== PASO 4 GRACIAS POR SU COMPRA ==================== */
#objContents .checkout-done                                    { padding:26px 0 40px 0; }
#objContents .checkout-done .summary-card                      { max-width:980px; margin:18px auto 0 auto; padding:22px; border-radius:18px; background:#fff; border:1px solid #e6eaf0; box-shadow:0 14px 46px rgba(15,23,42,.10); }
#objContents .checkout-done .title                             { font-size:30px; line-height:1.2; font-weight:800; color:#0b1220; margin:0 0 18px 0; }
#objContents .checkout-done .summary-header                    { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; padding:14px 16px; }
#objContents .checkout-done .summary-header .col                { display:flex; align-items:start; gap:6px 10px; font-size:15px; color:#475569; }
#objContents .checkout-done .summary-header .col b              { color:#0f172a; font-weight:800; }
#objContents .checkout-done .summary-header .col span           { white-space:normal; word-break:break-word; overflow-wrap:anywhere; }
#objContents .checkout-done .subtitle                          { font-size:22px; font-weight:800; color:#0f1627; margin:22px 0 12px 0; }
#objContents .checkout-done .order-list                        { display:flex; flex-direction:column; gap:12px; }
#objContents .checkout-done .order-row                         { display:grid; grid-template-columns:100px 1fr auto; align-items:center; gap:16px; padding:16px; border-radius:16px; background:linear-gradient(180deg,#ffffff 0%,#fcfdff 100%); border:1px solid #e6eaf0; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease; }
#objContents .checkout-done .order-row:hover                   { transform:translateY(-2px); box-shadow:0 14px 36px rgba(15,23,42,.10); border-color:#dfe6ee; background:#fff; }
#objContents .checkout-done .order-row .thumb                  { width:100px; height:100px; border-radius:14px; overflow:hidden; background:#f6f7fb; position:relative; }
#objContents .checkout-done .order-row .thumb::after           { content:""; position:absolute; inset:auto 0 0 0; height:28px; background:linear-gradient(0deg,rgba(0,0,0,.06),transparent); opacity:.25; pointer-events:none; }
#objContents .checkout-done .order-row .thumb img              { width:100%; height:100%; object-fit:cover; display:block; border-radius:14px; }
#objContents .checkout-done .order-row .info                   { min-width:0; }
#objContents .checkout-done .order-row .info .name             { margin:0 0 4px 0; font-size:17px; line-height:1.35; font-weight:800; letter-spacing:.1px; color:#0f1627; }
#objContents .checkout-done .order-row .info .meta             { display:flex; align-items:center; gap:10px; color:#475569; font-size:14px; }
#objContents .checkout-done .order-row .price                  { margin-left:auto; font-weight:800; color:#0c1224; font-size:15px; }

/* Totales en columna */
#objContents .checkout-done .totals                            { margin-top:14px; padding-top:16px; border-top:1px solid #e6eaf0; display:flex; flex-direction:column; align-items:flex-end; gap:8px; }
#objContents .checkout-done .totals .line                      { display:flex; justify-content:space-between; width:260px; max-width:100%; }
#objContents .checkout-done .totals .line .label               { font-size:15px; color:#475569; font-weight:600; }
#objContents .checkout-done .totals .line .amount              { font-size:18px; font-weight:800; letter-spacing:.2px; color:#0f172a; }
#objContents .checkout-done .totals .line.total                { border-top:1px solid #e6eaf0; padding-top:8px; margin-top:4px; }
#objContents .checkout-done .totals .line.total .label         { font-size:16px; color:#0f172a; font-weight:800; }
#objContents .checkout-done .totals .line.total .amount        { font-size:20px; font-weight:900; color:#0b1220; }

#objContents .checkout-done .actions                           { margin-top:12px; display:flex; gap:10px; justify-content:flex-end; }
#objContents .checkout-done .btn                               { display:inline-flex; align-items:center; justify-content:center; min-width:160px; height:46px; padding:0 18px; border-radius:14px; font-weight:800; text-decoration:none; border:1px solid #e7ecf3; background:#fff; color:#13254b; box-shadow:0 10px 24px rgba(37,99,235,.10),inset 0 1px 0 rgba(255,255,255,.6); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,filter .18s ease; }
#objContents .checkout-done .btn:hover                         { transform:translateY(-1px); border-color:#cfd7e3; box-shadow:0 14px 30px rgba(37,99,235,.16); }
#objContents .checkout-done .btn.primary                       { background:linear-gradient(180deg,#2b6bff,#1032c9); color:#fff; border-color:transparent; }
#objContents .checkout-done .btn.primary:hover                 { color:#e5eeff; box-shadow:0 12px 28px rgba(16,24,40,.18); }
#objContents .checkout-done .kv                                { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; margin:14px 0 8px 0; }
#objContents .checkout-done .kv .kv-row                        { display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:12px; border:1px solid #e6eaf0; background:#fbfcfe; }
#objContents .checkout-done .kv .kv-row dt                     { min-width:150px; font-weight:800; color:#13254b; }
#objContents .checkout-done .kv .kv-row dd                     { margin:0; font-weight:700; color:#27314a; }
#objContents .checkout-done .email-plantilla                   { margin-top:16px; padding:16px 18px; }
#objContents .checkout-done .email-plantilla h2                { font-size:20px; font-weight:800; margin:0 0 8px 0; color:#1c2337; }
#objContents .checkout-done .email-plantilla p                 { margin:0 0 10px 0; color:#27314a; font-size:14px; }
#objContents .checkout-done a                                  { text-decoration:underline; text-underline-offset:2px; }
#objContents .checkout-done .actions                           { display:flex; justify-content:flex-end; }
#objContents .checkout-done .actions .btn                      { min-width:180px; height:50px; padding:0 18px; border-radius:14px; border:0; background:var(--color-karaokemaestro-1b,linear-gradient(180deg,#2b6bff,#1032c9)); color:#fff; font-weight:800; text-decoration:none; box-shadow:0 10px 24px rgba(37,99,235,.18),inset 0 1px 0 rgba(255,255,255,.6); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
#objContents .checkout-done .actions .btn:hover                { transform:translateY(-1px); box-shadow:0 14px 30px rgba(37,99,235,.25); }
#objContents .checkout-done .actions .btn:active               { transform:translateY(0); box-shadow:0 8px 22px rgba(37,99,235,.22); }
#objContents .checkout-done .actions .btn:focus                { outline:none; box-shadow:0 0 0 3px rgba(37,99,235,.15),0 10px 24px rgba(37,99,235,.18),inset 0 1px 0 rgba(255,255,255,.6); }
#objContents .checkout-done .actions .btn + .btn               { display:none; }

@media (max-width:980px)                                       { #objContents .checkout-done .summary-card { padding:20px; } }
@media (max-width:720px)                                       { #objContents .checkout-done .title { font-size:26px; } #objContents .checkout-done .subtitle { font-size:20px; } #objContents .checkout-done .summary-header { grid-template-columns:1fr; } #objContents .checkout-done .kv { grid-template-columns:1fr; } #objContents .checkout-done .actions { justify-content:flex-start; } #objContents .checkout-done .totals .line { width:100%; max-width:380px; } }

/* ==================== FIN PASO 4 GRACIAS POR SU COMPRA ==================== */


/* ==================== PASO 3 PAGO ==================== */
/* ====== KM • Estilos unificados para pago (scope-only) ====== */
.FormBuilder.tbl_1007 pre {display:none;}
.FormBuilder.tbl_1007 .km-order-summary {max-width:52rem;margin:0 auto 18px auto;padding:18px;background:rgba(255,255,255,.65);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border:1px solid rgba(255,255,255,.45);box-shadow:0 8px 28px rgba(16,24,40,.10),0 1px 0 rgba(255,255,255,.60) inset;border-radius:14px;}
.FormBuilder.tbl_1007 .km-head {display:flex;justify-content:space-between;gap:12px;margin:0 0 10px 0;font:600 14px/1.4 Inter,system-ui,sans-serif;color:#111827;}
.FormBuilder.tbl_1007 .km-cart-list {display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0;}
.FormBuilder.tbl_1007 .km-item {display:grid;grid-template-columns:72px 1fr;align-items:center;gap:16px;padding:14px 16px;border:1px solid #eef2f6;border-radius:14px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);box-shadow:0 2px 8px rgba(16,24,40,.06);}
.FormBuilder.tbl_1007 .km-thumb {margin:0;width:72px;height:72px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:#f3f4f6;}
.FormBuilder.tbl_1007 .km-thumb.noimg::after {content:"";width:32px;height:32px;border-radius:8px;background:conic-gradient(from 45deg,#dbeafe,#e9d5ff,#fde68a,#bbf7d0,#dbeafe);}
.FormBuilder.tbl_1007 .km-thumb img {display:block;width:100%;height:100%;object-fit:cover;}
.FormBuilder.tbl_1007 .km-data {display:flex;flex-direction:column;gap:6px;}
.FormBuilder.tbl_1007 .km-title {margin:0;font-size:15px;line-height:1.3;color:#0f172a;font-weight:700;}
.FormBuilder.tbl_1007 .km-meta {display:flex;align-items:center;gap:10px;font-size:14px;color:#111827;font-weight:600;}
.FormBuilder.tbl_1007 .km-qty {display:inline-block;min-width:36px;height:32px;border-radius:8px;background:#fff;text-align:center;line-height:32px;font-weight:600;}
.FormBuilder.tbl_1007 .km-times {opacity:.55;}
.FormBuilder.tbl_1007 .km-price {color:#0f172a;}
.FormBuilder.tbl_1007 .km-totals                                {margin:18px 2px 6px 2px;padding:14px;}
.FormBuilder.tbl_1007 .km-totals .row                           {display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;}
.FormBuilder.tbl_1007 .km-totals .row + .row:not(.total)        {border-bottom:1px dashed #000;}
.FormBuilder.tbl_1007 .km-totals .row span                      {font:600 14px/1.3 Inter,system-ui,sans-serif;color:#57708f;letter-spacing:.01em;}
.FormBuilder.tbl_1007 .km-totals .row strong                    {font:800 15px/1.3 Inter,system-ui,sans-serif;color:#0b1220;font-variant-numeric:tabular-nums;}
.FormBuilder.tbl_1007 .km-totals .row.total                     {margin-top:10px;padding:12px 14px;}
/* énfasis del Total */
.FormBuilder.tbl_1007 .km-totals .row.total span                {color:#1e3a8a;}
.FormBuilder.tbl_1007 .km-totals .row.total strong              {font-size:18px;color:#0b1220;}
/* mini badge opcional para la etiqueta (se ve sobrio) */
.FormBuilder.tbl_1007 .km-totals .row span::after               {content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:#dbe5ef;vertical-align:middle;}
.FormBuilder.tbl_1007 .km-totals .row.total span::after         {background:#ffffff;}

/* ===== Botonera: 2 mitades exactas en PC, sin espacio lateral ===== */
#objContents .FormBuilder.tbl_1007 .cmds                          { display:flex;justify-content:space-between;align-items:baseline;gap:20px; }
#objContents .FormBuilder.tbl_1007 .cmds .cmd                     { flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-width:0;text-align:center; }
#objContents .FormBuilder.tbl_1007 .cmds .cmd + .cmd              { margin-left:16px; }

/* ===== Mobile: apilados 100% y centrados ===== */
@media(max-width:860px){
#objContents .FormBuilder.tbl_1007 .cmds                          { flex-direction:column;justify-content:center;align-items:stretch; }
#objContents .FormBuilder.tbl_1007 .cmds .cmd                     { width:100%; }
#objContents .FormBuilder.tbl_1007 .cmds .cmd + .cmd              { margin-left:0;margin-top:12px; }
}

/* ===== Botones más gorditos en mobile ===== */
@media(max-width:860px){#objContents .FormBuilder.tbl_1007 .cmds .cmd { width:100%;height:58px;padding:0 20px;border-radius:20px;font-size:17px;font-weight:800;letter-spacing:.2px; }}
@media(max-width:480px){#objContents .FormBuilder.tbl_1007 .cmds .cmd { height:64px;padding:0 22px;border-radius:12px;font-size:18px; }}


/* espaciado compacto en pantallas chicas */
@media (max-width:480px) {
    .FormBuilder.tbl_1007 .km-totals .row {padding:8px 10px;}
    .FormBuilder.tbl_1007 .km-totals .row strong {font-weight:800;}
}


/* Ajustes mínimos sobre el contenedor existente */
.FormBuilder.tbl_1007 #stripe-inline {max-width:46rem;margin:12px auto 20px auto;padding:16px;border-radius:18px;background:rgba(255,255,255,.78);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 40px rgba(16,24,40,.12),0 1px 0 rgba(255,255,255,.60) inset;}
/* Evita cajas anidadas dentro de #stripe-inline */
.FormBuilder.tbl_1007 #stripe-inline > div {background:transparent;border:0;box-shadow:none;padding:0;margin:0;border-radius:0;}

/* Campo de tarjeta con fondo y borde redondeado */
.FormBuilder.tbl_1007 #stripe-inline .StripeElement {box-sizing:border-box;width:100%;padding:12px 14px;background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;font-size:15px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.FormBuilder.tbl_1007 #stripe-inline .StripeElement--focus {background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.25);}
.FormBuilder.tbl_1007 #stripe-inline .StripeElement--invalid {background:#fef2f2;border-color:#ef4444;}

/* Botón pagar (si tu helper ya lo estiliza, puedes omitir estas 3) */
.FormBuilder.tbl_1007 #stripe-inline #stripe-pay {display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:200px;padding:0 18px;margin:16px auto 0 auto;border:1px solid #d1d5db;border-radius:12px;background:var(--color-karaokemaestro-1b);color:#fff;font-weight:700;letter-spacing:.015em;cursor:pointer;box-shadow:0 6px 18px rgba(31,41,55,.18);transition:transform .02s ease,box-shadow .15s ease,background .15s ease;}
.FormBuilder.tbl_1007 #stripe-inline #stripe-pay[disabled] {opacity:.65;cursor:not-allowed;box-shadow:none;}

/* Layout interno responsable del helper */
@media (min-width:768px) {
    .FormBuilder.tbl_1007 #stripe-inline #stripe-elements-wrap {display:flex;flex-direction:column;gap:18px;}
    .FormBuilder.tbl_1007 #stripe-inline #stripe-messages:empty {display:none;}
}

/* ==================== STRIPE CSS ==================== */
/* Tokens (puedes ajustarlos en un solo lugar) */
.FormBuilder.tbl_1007 {--vis-stripe-max:46rem;--vis-stripe-pad:16px;--vis-stripe-bg:rgba(255,255,255,.78);--vis-stripe-border:1px solid rgba(255,255,255,.45);--vis-stripe-radius:18px;--vis-stripe-shadow:0 10px 40px rgba(16,24,40,.12),0 1px 0 rgba(255,255,255,.60) inset;--vis-stripe-input-bg:#f9fafb;--vis-stripe-input-border:1px solid #d1d5db;--vis-stripe-input-radius:12px;--vis-stripe-focus:#2563eb;--vis-stripe-btn-bg:#1f2a44;--vis-stripe-btn-bg-hover:#16203a;--vis-stripe-btn-border:1px solid #d1d5db;}

/* Contenedor principal usando variables */
.FormBuilder.tbl_1007 #stripe-inline {max-width:var(--vis-stripe-max);margin:12px auto 20px auto;padding:var(--vis-stripe-pad);background:none;border:none;border-radius:var(--vis-stripe-radius);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:saturate(160%) blur(10px);}

/* Evita “cajas” internas extra */
.FormBuilder.tbl_1007 #stripe-inline > div {background:transparent;border:0;box-shadow:none;padding:0;margin:0;border-radius:0;}

/* Campo de tarjeta con variables */
.FormBuilder.tbl_1007 #stripe-inline .StripeElement {box-sizing:border-box;width:100%;padding:12px 14px;background:var(--vis-stripe-input-bg);border:var(--vis-stripe-input-border);border-radius:var(--vis-stripe-input-radius);font-size:15px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.FormBuilder.tbl_1007 #stripe-inline .StripeElement--focus {background:#fff;border-color:var(--vis-stripe-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--vis-stripe-focus) 25%, transparent);}
.FormBuilder.tbl_1007 #stripe-inline .StripeElement--invalid {background:#fef2f2;border-color:#ef4444;}

/* Botón (si tu helper ya lo pinta, estas reglas sólo refinan) */
.FormBuilder.tbl_1007 #stripe-inline #stripe-pay {display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:200px;padding:0 18px;margin:16px auto 0 auto;border:var(--vis-stripe-btn-border);border-radius:12px;color:#fff;font-weight:700;letter-spacing:.015em;cursor:pointer;box-shadow:0 6px 18px rgba(31,41,55,.18);transition:transform .02s ease,box-shadow .15s ease,background .15s ease;}
.FormBuilder.tbl_1007 #stripe-inline #stripe-pay:hover {box-shadow:0 10px 28px rgba(31,41,55,.22);}
.FormBuilder.tbl_1007 #stripe-inline #stripe-pay[disabled] {opacity:.65;cursor:not-allowed;box-shadow:none;}

/* Layout interno del helper */
@media (min-width:768px) {
    .FormBuilder.tbl_1007 #stripe-inline #stripe-elements-wrap {display:flex;flex-direction:column;gap:18px;}
    .FormBuilder.tbl_1007 #stripe-inline #stripe-messages:empty {display:none;}
}

/* ==================== FIN PASO 3 PAGO ==================== */


/* ================== Registro: Confirmación (KM look) ======================== */
/* ====== Caja Confirmación de Registro ====== */
.registro-confirmacion                            { max-width:720px; margin:40px auto; padding:28px 32px; border-radius:18px; background:rgba(255,255,255,.75); backdrop-filter:saturate(160%) blur(10px); -webkit-backdrop-filter:saturate(160%) blur(10px); border:1px solid rgba(255,255,255,.45); box-shadow:0 10px 40px rgba(16,24,40,.14),0 1px 0 rgba(255,255,255,.6) inset; text-align:left; }
.registro-confirmacion h1                         { margin:0 0 12px 0; font:800 28px/1.2 "Inter",sans-serif; color:var(--color-karaokemaestro-1b); letter-spacing:-.02em; }
.registro-confirmacion p                          { margin:10px 0; font:500 16px/1.7 "Inter",sans-serif; color:#475569; }
.registro-confirmacion a                          { color:#26398c; font-weight:700; text-decoration-thickness:2px; text-underline-offset:3px; transition:filter .2s ease,text-underline-offset .2s ease; }
.registro-confirmacion a:hover                    { text-underline-offset:5px; filter:brightness(1.08); }
@media (max-width:640px)                          { .registro-confirmacion { margin:20px 12px; padding:20px 18px; border-radius:14px; } .registro-confirmacion h1 { font-size:24px; } .registro-confirmacion p { font-size:15px; } }

/* ================== FIN Registro: Confirmación (KM look) ================== */




/* ================== Mensaje de guardado ================== */


#objFormManagerAutoSaving                          { position:fixed; inset:0; margin:0 !important; padding:0 !important; border:none !important; box-sizing:border-box; display:none; display:flex; align-items:center; justify-content:center; text-align:center; font:600 16px/1.6 "Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--color-karaokemaestro-2b); z-index:99999; background:rgba(255,255,255,.05); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
#objFormManagerAutoSaving.ResultsNormal            { margin:0 !important; padding:0 !important; border:none !important; background:rgba(255,255,255,.05); }
#objFormManagerAutoSaving::before                  { content:""; position:absolute; width:clamp(360px,56vw,640px); min-height:150px; border-radius:16px; background-color:rgba(255,255,255,.1); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.35); box-shadow:0 4px 20px rgba(0,0,0,.1); z-index:0; }
#objFormManagerAutoSaving span                     { position:relative; z-index:1; display:block; padding:30px 44px 20px 44px; font-weight:700; letter-spacing:.1px; color:#0f172a; }
#objFormManagerAutoSaving::after                   { content:""; position:absolute; left:50%; top:50%; width:32px; height:32px; margin:0; border-radius:50%; border:3px solid rgba(38,57,140,.25); border-top-color:#26398c; transform:translate(-50%,-44px); animation:kmSpin .9s linear infinite; z-index:2; }
@keyframes kmSpin                                  { to { transform:translate(-50%,-44px) rotate(360deg); } }
@media (max-width:640px)                           { #objFormManagerAutoSaving::before { width:calc(100vw - 32px); min-height:150px; border-radius:14px; } #objFormManagerAutoSaving span { padding:26px 22px 18px 22px; } }


/* ================== FIN Mensaje de guardado ================== */

/*--  Preloader Styles  --*/
#preloader                                         { position:fixed; inset:0; background-color:#ffffff; z-index:999999; }
#preloader .preloader                              { width:50px; height:50px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
#preloader .preloader span                         { position:absolute; width:50px; height:50px; border-radius:50%; background-color:#086ad8; animation:preloader 1.3s linear infinite; }
#preloader .preloader span:last-child              { animation-delay:-0.8s; }
@keyframes preloader                               { 0% { transform:scale(0); opacity:.5; } 100% { transform:scale(1); opacity:0; } }


/* ================== Procesando pago ================== */
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .processing-box {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .processing-box h1 {text-align:center;font-size:26px;color:#0b1220;margin:0 0 12px 0;font-weight:700}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .processing-box p {text-align:center;font-size:15px;color:#555;margin:0}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .processing-box .spinner {width:50px;height:50px;border:5px solid #e6eaf0;border-top:5px solid #26398c;border-radius:50%;animation:spin 1s linear infinite;margin:0 0 18px 0}
@keyframes spin {0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
/* ================== FIN Procesando pago ================== */


/* ================== Tiempo de espera agotado ================== */
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box {display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box .timeout-icon {font-size:40px;line-height:1;margin:4px 0 6px 0}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box h1 {text-align:center;font-size:26px;color:#26398c;margin:0 0 8px 0;font-weight:800}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box p {text-align:left;font-size:15px;color:#333;line-height:1.55;max-width:860px;margin:0}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box p+p {margin-top:8px}
#objContents .FormBuilder.tbl_1007.tbl_ventas.mode-C .timeout-box .link-soporte {text-decoration:underline;font-weight:600}
/* ================== FIN Tiempo de espera agotado ================== */



/* ================================ Búsqueda -> listado de productos ================================ */

/* Ocultar buscador/tabla antiguos solo en Búsqueda */
#objContents .ListManager.modSearch .filters { display: none !important; }
#objContents .ListManager.modSearch .Main { border: none !important; background: transparent !important; box-shadow: none !important; }
#objContents .ListManager.modSearch table.Main { display: none !important; }

/* Grid nuevo de resultados */
#objContents .km-search-grid { display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); gap: 26px; padding: 6px 4px 0 4px; }

/* Tarjeta */
#objContents .km-card { display: flex; flex-direction: column; gap: 12px; }

/* Portada clickeable (proporción) */
#objContents .km-card .km-cover { display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; border-radius: 14px; background-size: cover; background-position: center; background-repeat: no-repeat; border: 1px solid #e7edf6; box-shadow: 0 2px 14px rgba(15, 23, 42, .06); transition: transform .18s ease, box-shadow .18s ease; cursor: pointer; }
#objContents .km-card:hover .km-cover { transform: translateY(-2px) scale(1.01); box-shadow: 0 10px 32px rgba(15, 23, 42, .12); }

/* Título (sin subrayado) */
#objContents .km-card .km-title { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 800; color: #0b1220; }
#objContents .km-card .km-title a { color: #0b1220; text-decoration: none; }
#objContents .km-card .km-title a:hover { text-decoration: none; filter: saturate(115%); }

/* Precio + botón en una fila (precio izq, botón der) */
#objContents .km-card .km-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; }
#objContents .km-card .km-price { font-size: 15px; font-weight: 800; color: #1f2937; }

/* Botón Comprar (sin subrayado), compatible con JS existente: .btn.cmdCartAdd */
#objContents .km-card .km-buy { display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 0 16px; margin-left: auto; border-radius: 999px; font-size: 14px; font-weight: 700; color: #ffffff; background: #1f3fa3; border: 1px solid #17348d; box-shadow: 0 6px 18px rgba(23, 52, 141, .18); text-decoration: none; transition: transform .12s ease, box-shadow .18s ease, background .18s ease; }
#objContents .km-card .km-buy:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(23, 52, 141, .25); text-decoration: none; }

/* Contador */
#objContents .ItemsCounter { margin: 14px 4px 0 4px; font-size: 13px; color: #475569; grid-column: 1 / -1; }

/* Responsive */
@media (max-width: 1100px) { #objContents .km-search-grid { grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 22px; } }
@media (max-width: 640px)  { #objContents .km-search-grid { grid-template-columns: 1fr; gap: 18px; } }


#objContents .ListManager.modSearch .filters { display:none!important; }

/* ================================ FIN Búsqueda -> listado de productos ================================ */

/* ================================ Boton retroceso ================================ */
#objContents input.cmdBackToCrt                   { display:inline-flex; align-items:center; justify-content:center; min-width:200px; height:44px; padding:0 18px !important; border-radius:12px !important; border:1px solid #122052 !important; background:#1a2a6c; color:#fff; font-weight:800; letter-spacing:.2px; box-shadow:0 12px 28px rgba(26,42,108,.22); cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease; }
#objContents input.cmdBackToCrt:hover             { box-shadow:0 16px 32px rgba(26,42,108,.28); transform:translateY(-2px); }
#objContents input.cmdBackToCrt:active            { background:#122052; box-shadow:0 8px 18px rgba(26,42,108,.24); transform:translateY(0); }

/* ================================ Boton retroceso pago ================================ */
#objContents a.cmdBackToShp,
#objContents a.cmdBackToShp:link,
#objContents a.cmdBackToShp:visited,
#objContents input.cmdBackToCrt,
#objContents input.cmdBackToShp                { display:inline-flex; align-items:center; justify-content:center; min-width:200px; height:44px; padding:0 18px; border-radius:12px; border:1px solid #122052; background: var(--color-karaokemaestro-1b); color:#fff; font-weight:800; letter-spacing:.2px; box-shadow:0 12px 28px rgba(26,42,108,.22); cursor:pointer; text-decoration:none; transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease; }
#objContents a.cmdBackToShp:hover,
#objContents input.cmdBackToCrt:hover,
#objContents input.cmdBackToShp:hover         { box-shadow:0 16px 32px rgba(26,42,108,.28);}
#objContents a.cmdBackToShp:active,
#objContents input.cmdBackToCrt:active,
#objContents input.cmdBackToShp:active        { background:#122052; box-shadow:0 8px 18px rgba(26,42,108,.24); transform:translateY(0); }

/* ================================ FIN Boton retroceso ================================ */
/* ===== Login responsive dentro del offcanvas (Karaoke Maestro) ===== */
#offcanvasExample #objLoginBoxRB                                    { margin:10px 0 28px 0; padding:0; justify-content: center;}
#offcanvasExample #objLoginBoxRB .loginBoxHeader                    { margin:0 0 8px 0; padding:0; font:700 13px/1.3 system-ui; text-align:center; color:#cbd5e1; opacity:.9; text-transform:uppercase; }
#offcanvasExample #objLoginBoxRB .loginBoxBody                      { padding:0 12px; }
#offcanvasExample #objLoginBoxRB .Fields                            { margin:0; }
#offcanvasExample #objLoginBoxRB .Fields form                       { display:flex; flex-direction:column; align-items:center; gap:10px; margin:0; }
#offcanvasExample #objLoginBoxRB .Fields .Field                     { width:100%; max-width:240px; display:block; margin:0; }
#offcanvasExample #objLoginBoxRB .Fields .Field .Label              { display:none; }
#offcanvasExample #objLoginBoxRB .Fields .Field .Value              { display:block; }
#offcanvasExample #objLoginBoxRB .Fields .Field .Value input[type="text"]      { width:100%; height:42px; display:block; margin:0 auto; border-radius:12px; border:1px solid rgba(255,255,255,.22); background:#eef3ff; color:#0b153f; font-size:14px; padding:0 14px; box-shadow:0 8px 22px rgba(16,24,40,.10); }
#offcanvasExample #objLoginBoxRB .Fields .Field .Value input[type="password"]  { width:100%; height:42px; display:block; margin:0 auto; border-radius:12px; border:1px solid rgba(255,255,255,.22); background:#eef3ff; color:#0b153f; font-size:14px; padding:0 14px; box-shadow:0 8px 22px rgba(16,24,40,.10); }
#offcanvasExample #objLoginBoxRB .Fields .Field .Value input::placeholder       { color:#7b8798; opacity:.95; }
#offcanvasExample #objLoginBoxRB .Fields .Field .Value input:focus              { outline:none; border-color:#9fb3ff; box-shadow:0 0 0 3px rgba(74,108,247,.25); }
#offcanvasExample #objLoginBoxRB .Fields .Field.Password .Value                 { position:relative; }
#offcanvasExample #objLoginBoxRB .Fields .Field.Password .linkRecover           { display:block; width:100%; max-width:240px; margin:6px auto 0 auto; font-size:12px; line-height:1.2; text-decoration:underline; font-weight:700; color:#9fb3ff; text-underline-offset:2px; text-decoration-thickness:1.5px; }
#offcanvasExample #objLoginBoxRB .Cmds                                         { width:100%; display:flex; justify-content:center; margin:6px 0 0 0; }
#offcanvasExample #objLoginBoxRB .Cmds .Cmd.Submit                              { width:100%; max-width:240px; display:flex; flex-direction:column; align-items:center; gap:8px; }
#offcanvasExample #objLoginBoxRB .Cmds .Cmd.Submit input[type="submit"]         { width:100%; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid #122052; background:#1a2a6c; color:#fff; font-weight:800; letter-spacing:.2px; box-shadow:0 12px 28px rgba(26,42,108,.22); cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
#offcanvasExample #objLoginBoxRB .Cmds .Cmd.Submit input[type="submit"]:hover   { transform:translateY(-1px); box-shadow:0 16px 34px rgba(26,42,108,.28); background:#22357e; }
#offcanvasExample #objLoginBoxRB .Cmds .Cmd.Submit .linkRegister                { display:block; width:100%; text-align:center; margin:0; font-size:12px; text-decoration:underline; font-weight:700; color:#9fb3ff; text-underline-offset:2px; text-decoration-thickness:1.5px; }
#offcanvasExample #objLoginBoxRB .Cmds .Cmd.Submit .linkRegister:hover          { color:#c3d2ff; }

/* ===== Estado LOGGED IN (texto blanco y visible) ===== */
#offcanvasExample #objLoginBoxRB.LoggedIn .loginBoxHeader.UserName              { display:block; margin:4px 0 10px 0; padding:0 12px; font:800 15px/1.2 system-ui; text-align:center; color:#fff; text-transform:none; opacity:1; }
#offcanvasExample #objLoginBoxRB.LoggedIn .loginBoxBody.Options                 { padding:0 12px; display:flex; align-items:center; justify-content:center; gap:12px; }
#offcanvasExample #objLoginBoxRB.LoggedIn .loginBoxBody.Options .Option a       { display:inline-block; font-size:14px; font-weight:700; color:#fff; text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1.5px; opacity:.95; }
#offcanvasExample #objLoginBoxRB.LoggedIn .loginBoxBody.Options .Option a:hover { opacity:1; }
#offcanvasExample #objLoginBoxRB.LoggedIn .loginBoxBody.Options .Sep            { color:#7da1ff; opacity:.8; }

/* ===== Ajustes sólo mobile ===== */
@media(max-width:860px){
#offcanvasExample .offcanvas-menu                                     { margin-bottom:10px; }
#offcanvasExample #objLoginBoxRB                                      { margin-top:2px; }
#offcanvasExample #objLoginBoxRB.LoggedOut .loginBoxHeader            { display:none; }
}


/* ============================== FIN Offcanvas look & feel ============================== */




/* ====== KM búsqueda sin resultados (no afecta grid con items) ====== */
#objContents .km-search-grid:has(.no-results)                 { display:flex!important;align-items:center!important;justify-content:center!important;grid-template-columns:none!important;min-height:22vh!important;padding:10px 0!important; }
#objContents .km-search-grid .no-results                      { margin:0 auto!important;max-width:520px!important;display:flex;flex-direction:column;align-items:center;gap:8px;padding:70px;border-radius:16px;background:rgba(255,255,255,.85);backdrop-filter:saturate(150%) blur(8px);-webkit-backdrop-filter:saturate(150%) blur(8px);border:1px solid rgba(16,24,40,.10);box-shadow:0 10px 26px rgba(16,24,40,.10);color:#0b153f;font-size:17px;text-align:center; }
#objContents .km-search-grid .no-results::before              { content:"🔎";display:block;font-size:36px;line-height:1;margin-bottom:6px; }
#objContents .km-search-grid .no-results::after               { content:"Intenta con palabras más generales o revisa la ortografía.";display:block;margin-top:6px;font-size:13px;opacity:.78; }
/* ====== FIN KM búsqueda sin resultados (no afecta grid con items) ====== */

/* Oculta el contador si la grid contiene .no-results */
#objContents .km-search-grid:has(.no-results) ~ .ItemsCounter  { display:none!important; }

/* (opcional) si fuera hermano inmediato, también lo cubre */
#objContents .km-search-grid:has(.no-results) + .ItemsCounter  { display:none!important; }

/* ====== KM búsqueda: ItemsCounter estilizado cuando hay resultados ====== */
#objContents .km-search-grid:not(:has(.no-results)) ~ .ItemsCounter { display:inline-flex;align-items:center;gap:8px;margin:18px auto 4px;padding:6px 12px;border-radius:999px;background:rgba(26,42,108,.06);color:#1a2a6c;font-weight:600;font-size:13px;letter-spacing:.2px;box-shadow:0 1px 0 rgba(16,24,40,.06) inset; }
#objContents .km-search-grid:not(:has(.no-results)) ~ .ItemsCounter::before { content:"🔎";display:inline-block;font-size:14px;line-height:1;transform:translateY(1px); }
#objContents .km-search-grid:not(:has(.no-results)) ~ .ItemsCounter::after { content:"";display:none; } /* (garantiza que nada más se inserte) */

/* — Mobile — */
@media(max-width:860px){ #objContents .km-search-grid:not(:has(.no-results)) ~ .ItemsCounter { font-size:12px;padding:5px 10px;margin-top:14px; } }

/* ====== KM contacto: confirmación elegante ====== */
#objContents.Format .Text                                       { display:grid;align-items:center;justify-content:center;min-height:28vh;padding:18px 12px; }
#objContents.Format .Text p                                     { margin:0;height:0;overflow:hidden; }
#objContents.Format .Text p[style*="text-align:center"]         { height:auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 22px;border-radius:16px;background:rgba(46,204,113,.10);backdrop-filter:saturate(140%) blur(6px);-webkit-backdrop-filter:saturate(140%) blur(6px);border:1px solid rgba(46,204,113,.25);box-shadow:0 10px 26px rgba(16,24,40,.08);color:#0b153f;font-weight:700;letter-spacing:.2px; }
#objContents.Format .Text p[style*="text-align:center"]::before { content:"✅";display:inline-block;font-size:18px;line-height:1;transform:translateY(1px); }
#objContents.Format .Text p[style*="text-align:center"]::after  { content:"Gracias por escribirnos. Te responderemos lo antes posible.";display:block;margin-left:8px;font-weight:500;opacity:.80; }
#objContents .breadcrumb.Path                                   { max-width:1160px;margin:0 auto 8px;padding:4px 10px;color:#5b6783;font-size:13px; }
#objContents .breadcrumb.Path a                                 { color:#1a2a6c;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .18s ease,color .18s ease; }
#objContents .breadcrumb.Path a:hover                           { color:#152152;border-color:currentColor; }
@media(max-width:860px){ #objContents.Format .Text              { min-height:22vh;padding:12px 10px; } }
@media(max-width:860px){ #objContents.Format .Text p[style*="text-align:center"] { padding:14px 16px;border-radius:14px;font-weight:700; } }
/* ====== KM contacto: confirmación elegante ====== */

/* ===== Reubicar mensajes de error en el formulario ===== */
.techwix-contact-section .ValidatorErrors                  { position:absolute;top:12px;left:16px;right:16px;z-index:5;margin:0; }
.techwix-contact-section .ValidatorErrors .Errors          { display:block;padding:12px 14px;border-radius:12px;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;font-size:14px;line-height:1.35; }
.techwix-contact-section .ValidatorErrors .Errors p        { margin:0 0 6px 0;font-weight:600; }
.techwix-contact-section .ValidatorErrors .Errors ul       { margin:0;padding-left:18px; }
.techwix-contact-section .ValidatorErrors .Errors li       { list-style:disc; }

/* Necesario: el contenedor del formulario debe ser relative y dejar espacio arriba */
.techwix-contact-section .contact-form .contact-form-wrap  { position:relative;padding-top:70px; }


#objContents.Format .Text .ValidatorErrors.ready           { border-radius: 10px; }