.elementor-91 .elementor-element.elementor-element-eb99388{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:260px;--padding-bottom:150px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-eb99388:not(.elementor-motion-effects-element-type-background), .elementor-91 .elementor-element.elementor-element-eb99388 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://shineroyalpulizie.it/wp-content/uploads/2026/01/Shine-Royal-sello-2.png");background-repeat:no-repeat;}.elementor-91 .elementor-element.elementor-element-e229feb{--display:flex;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-203ce85:hover{background-color:#0A1627;box-shadow:0px 0px 50px 0px rgba(0,0,0,0.3);}.elementor-91 .elementor-element.elementor-element-203ce85{padding:15% 0% 15% 17%;}.elementor-91 .elementor-element.elementor-element-203ce85.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-91 .elementor-element.elementor-element-203ce85 .aux-modern-heading-primary{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:700;line-height:1.2em;letter-spacing:-1.5px;color:rgb(14, 32, 56);margin:0px 0px 25px 0px;}.elementor-91 .elementor-element.elementor-element-203ce85 .aux-modern-heading-description{color:#303E4D;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;line-height:1.3em;letter-spacing:0px;}.elementor-91 .elementor-element.elementor-element-b5e732e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;animation-delay:150ms;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-cf62c6b:hover{background-color:#0A1627;box-shadow:0px 0px 50px 0px rgba(0,0,0,0.3);}.elementor-91 .elementor-element.elementor-element-cf62c6b{padding:15% 0% 15% 17%;}.elementor-91 .elementor-element.elementor-element-cf62c6b.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-91 .elementor-element.elementor-element-cf62c6b .aux-modern-heading-primary{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:700;line-height:1.2em;letter-spacing:-1.5px;color:var( --e-global-color-text );margin:0px 0px 25px 0px;}.elementor-91 .elementor-element.elementor-element-cf62c6b .aux-modern-heading-description{color:#303E4D;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;line-height:1.2em;letter-spacing:0px;}.elementor-91 .elementor-element.elementor-element-12f048d{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;animation-delay:300ms;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-9734d49:hover{background-color:#0A1627;box-shadow:0px 0px 50px 0px rgba(0,0,0,0.3);}.elementor-91 .elementor-element.elementor-element-9734d49{padding:15% 17% 15% 17%;}.elementor-91 .elementor-element.elementor-element-9734d49.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-91 .elementor-element.elementor-element-9734d49 .aux-modern-heading-primary{font-family:"Poppins", Sans-serif;font-size:20px;font-weight:700;line-height:1.2em;letter-spacing:-1.5px;color:var( --e-global-color-text );margin:0px 0px 25px 0px;}.elementor-91 .elementor-element.elementor-element-9734d49 .aux-modern-heading-description{color:#303E4D;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:500;line-height:1.75em;letter-spacing:0px;}.elementor-91 .elementor-element.elementor-element-2e1d115{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-405c97f{transition-duration:1000ms;transition-property:all;position:relative;left:77%;transition-timing-function:cubic-bezier(0.165,0.84,0.44,1);animation-timing-function:cubic-bezier(0.25,0.46,0.45,0.94);}.elementor-91 .elementor-element.elementor-element-405c97f.ha-has-bg-overlay:hover::before{transition:background 0.3s;}.elementor-91 .elementor-element.elementor-element-405c97f .aux-modern-heading-primary{font-family:"Poppins", Sans-serif;font-size:50px;font-weight:700;line-height:1.2em;letter-spacing:-3px;color:var( --e-global-color-text );margin:0px 0px 10px 0px;}.elementor-91 .elementor-element.elementor-element-405c97f .aux-modern-heading-divider{height:2px;width:53px;background-color:var( --e-global-color-text );}.elementor-91 .elementor-element.elementor-element-e501771{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-dee832c{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-91 .elementor-element.elementor-element-94d7406{border-style:none;}.elementor-91 .elementor-element.elementor-element-94d7406 iframe{height:540px;filter:brightness( 40% ) contrast( 120% ) saturate( 20% ) blur( 0px ) hue-rotate( 0deg );transition-duration:0.5s;}.elementor-91 .elementor-element.elementor-element-94d7406:hover iframe{filter:brightness( 50% ) contrast( 110% ) saturate( 20% ) blur( 0px ) hue-rotate( 0deg );}.elementor-91 .elementor-element.elementor-element-87b7b80{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;position:relative;bottom:200px;}.elementor-91 .elementor-element.elementor-element-a503a7e{--display:flex;--min-height:1px;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-91 .elementor-element.elementor-element-a503a7e:not(.elementor-motion-effects-element-type-background), .elementor-91 .elementor-element.elementor-element-a503a7e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-91 .elementor-element.elementor-element-8be1835{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:-220px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-dcb2cde{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-91 .elementor-element.elementor-element-ec88857{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-91 .elementor-element.elementor-element-ec88857:not(.elementor-motion-effects-element-type-background), .elementor-91 .elementor-element.elementor-element-ec88857 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-91 .elementor-element.elementor-element-b48f330{--display:flex;--padding-top:50px;--padding-bottom:0px;--padding-left:140px;--padding-right:140px;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-b75e6bd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;animation-delay:150ms;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-b75e6bd .aux-modern-heading-primary{font-family:"Poppins", Sans-serif;font-size:30px;font-weight:700;line-height:1.2em;letter-spacing:-1.9px;color:var( --e-global-color-text );}.elementor-91 .elementor-element.elementor-element-6529b7d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 32px) 0px;font-family:"Montserrat Alternates", Sans-serif;font-size:15px;font-style:italic;color:#303E4D;}.elementor-91 .elementor-element.elementor-element-7a56c2f{animation-delay:300ms;animation-timing-function:cubic-bezier(0.165,0.84,0.44,1);}.elementor-91 .elementor-element.elementor-element-7a56c2f input:not([type="submit"]){transition:all ease-out 0.3s;}.elementor-91 .elementor-element.elementor-element-7a56c2f input[type="text"]{transition:all ease-out 0.3s;}.elementor-91 .elementor-element.elementor-element-7a56c2f input[type="email"]{transition:all ease-out 0.3s;}.elementor-91 .elementor-element.elementor-element-7a56c2f select{transition:all ease-out 0.3s;}.elementor-91 .elementor-element.elementor-element-7a56c2f textarea{transition:all ease-out 0.3s;}.elementor-91 .elementor-element.elementor-element-7a56c2f input[type="submit"]{font-family:"Montserrat Alternates", Sans-serif;transition:all ease-out 0.3s;}@media(max-width:1024px){.elementor-91 .elementor-element.elementor-element-eb99388{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--flex-wrap:wrap;--padding-top:200px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-203ce85{padding:10% 0% 10% 10%;}.elementor-91 .elementor-element.elementor-element-203ce85 .aux-modern-heading-description{font-size:14px;}.elementor-91 .elementor-element.elementor-element-cf62c6b{padding:10% 0% 10% 10%;}.elementor-91 .elementor-element.elementor-element-cf62c6b .aux-modern-heading-description{font-size:14px;}.elementor-91 .elementor-element.elementor-element-9734d49{padding:10% 0% 10% 10%;}.elementor-91 .elementor-element.elementor-element-9734d49 .aux-modern-heading-description{font-size:14px;}.elementor-91 .elementor-element.elementor-element-2e1d115{--margin-top:0px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:25px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-405c97f{left:0px;}}@media(max-width:767px){.elementor-91 .elementor-element.elementor-element-9734d49{padding:35px 35px 35px 35px;}.elementor-91 .elementor-element.elementor-element-ec88857{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-91 .elementor-element.elementor-element-b48f330{--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-91 .elementor-element.elementor-element-eb99388{--content-width:1600px;}.elementor-91 .elementor-element.elementor-element-e229feb{--width:26.542%;}.elementor-91 .elementor-element.elementor-element-b5e732e{--width:26.541%;}.elementor-91 .elementor-element.elementor-element-12f048d{--width:27.011%;}.elementor-91 .elementor-element.elementor-element-2e1d115{--width:19.932%;}.elementor-91 .elementor-element.elementor-element-e501771{--content-width:1600px;}.elementor-91 .elementor-element.elementor-element-8be1835{--content-width:1100px;}}@media(max-width:1024px) and (min-width:768px){.elementor-91 .elementor-element.elementor-element-e229feb{--width:100%;}.elementor-91 .elementor-element.elementor-element-b5e732e{--width:100%;}.elementor-91 .elementor-element.elementor-element-12f048d{--width:100%;}.elementor-91 .elementor-element.elementor-element-2e1d115{--width:100%;}}/* Start custom CSS for aux_modern_heading, class: .elementor-element-203ce85 */.elementor-91 .elementor-element.elementor-element-203ce85:hover .aux-modern-heading-primary, .elementor-91 .elementor-element.elementor-element-203ce85:hover p {
    color: var(--e-global-color-accent) !important;
}/* End custom CSS */
/* Start custom CSS for aux_modern_heading, class: .elementor-element-cf62c6b */.elementor-91 .elementor-element.elementor-element-cf62c6b:hover .aux-modern-heading-primary, .elementor-91 .elementor-element.elementor-element-cf62c6b:hover p {
    color: var(--e-global-color-accent) !important;
}/* End custom CSS */
/* Start custom CSS for aux_modern_heading, class: .elementor-element-9734d49 */.elementor-91 .elementor-element.elementor-element-9734d49:hover .aux-modern-heading-primary, .elementor-91 .elementor-element.elementor-element-9734d49:hover p {
    color: var(--e-global-color-accent) !important;
}/* End custom CSS */
/* Start custom CSS for aux_modern_heading, class: .elementor-element-405c97f */.elementor-91 .elementor-element.elementor-element-405c97f {
    transform: rotate(90deg);
    transform-origin: top left;
}

.elementor-91 .elementor-element.elementor-element-405c97f .aux-modern-heading-primary {
    white-space: nowrap;
}

.elementor-91 .elementor-element.elementor-element-405c97f .aux-modern-heading-divider{
    float: left;
}

@media only screen and (min-width:1025px) and (max-width:1500px) {
    .elementor-91 .elementor-element.elementor-element-405c97f {
        left: 80px;
    }
}

@media only screen and (max-width:1024px) {
    .elementor-91 .elementor-element.elementor-element-405c97f {
        transform: none;
    }
    
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-eb99388 */.elementor-91 .elementor-element.elementor-element-eb99388 {
    background-position: top 0 right -150px
}

@media screen and (max-width:768px) {
    .elementor-91 .elementor-element.elementor-element-eb99388 {
        background-image: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for google_maps, class: .elementor-element-94d7406 *//* === ESTILOS PARA MAPA SHINE ROYAL === */

/* Contenedor principal con sombra y borde */
.elementor-widget-google_maps .elementor-widget-container {
    border: 1px solid #0E2038 !important;
    box-shadow: 0 10px 30px rgba(14, 32, 56, 0.15) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    transition: all 0.3s ease !important;
}

/* Efecto hover sutil */
.elementor-widget-google_maps .elementor-widget-container:hover {
    box-shadow: 0 15px 40px rgba(14, 32, 56, 0.25) !important;
    transform: translateY(-3px);
}

/* Texto de área de cobertura SUPERPUESTO */
.elementor-widget-google_maps .elementor-widget-container::after {
    content: "🚀 Servizi in Lombardia, Livigno e Friuli Venezia Giulia";
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, rgba(14, 32, 56, 0.95), rgba(14, 32, 56, 0.85));
    color: #FFFFFF;
    padding: 12px 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
    z-index: 100;
    border-left: 3px solid #b89446;
    border-right: 3px solid #b89446;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
    letter-spacing: 0.5px;
}

/* Asegurar que el iframe ocupe todo el espacio */
.elementor-widget-google_maps iframe {
    width: 100% !important;
    height: 540px !important;
    border: none !important;
    display: block !important;
    filter: brightness(40%) contrast(120%) saturate(20%); /* Esto puede sobreescribir los filtros de Elementor */
}

/* Responsive */
@media screen and (max-width: 768px) {
    .elementor-widget-google_maps .elementor-widget-container::after {
        white-space: normal;
        width: 90%;
        font-size: 13px;
        padding: 10px 15px;
        bottom: 15px;
        line-height: 1.4;
    }
    
    .elementor-widget-google_maps iframe {
        height: 400px !important;
    }
}

/* Para tablets */
@media screen and (max-width: 1024px) {
    .elementor-widget-google_maps iframe {
        height: 480px !important;
    }
}/* End custom CSS */
/* Start custom CSS for aux_contact_form, class: .elementor-element-7a56c2f *//* 
============================================
ESTILOS PARA FORMULARIO DE CONTACTO SHINE ROYAL
============================================
*/

/* 
Espaciado entre grupos de inputs
Mantiene el margen inferior original
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form .aux-input-group {
  margin-bottom: 75px;
}

/* 
Labels de los campos (placeholder flotante)
Modificado: Fuente cambiada a Montserrat Alternates, peso 400
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form .aux-input-group label {
  left: 15px;
  top: 15px;
  color: rgba(57, 57, 57, 0.4);
  font-family: 'Montserrat Alternates', Montserrat, sans-serif; /* CAMBIADO: Montserrat Alternates */
  font-size: 16px;
  font-weight: 400; /* CAMBIADO: 400 (normal) */
  line-height: 20px;
}

/* 
Inputs de texto y email en estado normal (placeholder)
Modificado: Fuente cambiada a Montserrat Alternates, peso 400
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form input[type="text"], 
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form input[type="email"], 
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form textarea {
    font-family: 'Montserrat Alternates', Montserrat, sans-serif; /* CAMBIADO: Montserrat Alternates */
    font-size: 15px;
    font-weight: 400; /* CAMBIADO: 400 (normal) */
    color: rgba(39, 39, 39, 0.4) !important;
    box-shadow: none;
}

/* 
Texto ingresado por el usuario en inputs
NUEVA REGLA: Color #303E4D para texto ingresado
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form input[type="text"]:not(:placeholder-shown),
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form input[type="email"]:not(:placeholder-shown),
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form textarea:not(:placeholder-shown) {
    color: #303E4D !important; /* NUEVO: Color para texto ingresado */
}

/* 
Espaciado interno de inputs
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form input {
  margin-bottom: 8px;
  padding: 8px 0;
}

/* 
Textarea general
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f textarea {
    overflow: hidden;
    color: #000;
}

/* 
Altura mínima de textarea
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-interior-contact-form textarea, 
.elementor-91 .elementor-element.elementor-element-7a56c2f #commentform textarea, 
.elementor-91 .elementor-element.elementor-element-7a56c2f .c_form textarea, 
.elementor-91 .elementor-element.elementor-element-7a56c2f .wpcf7 textarea {
    min-height: auto;
}

/* 
Altura específica para textarea de Contact Form 7
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .wpcf7 .aux-interior-contact-form textarea {
    height: 50px;
}

/* 
Comportamiento de columnas
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-col {
    float: unset;
}

/* 
Mensajes de error de validación
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f span.wpcf7-not-valid-tip {
    color: #E83A30;
}

/* 
Mensaje de respuesta del formulario
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .wpcf7-response-output {
    position: fixed;
    left: 30px;
    bottom: 30px;
    z-index: 99;
    vertical-align: middle;
    line-height: 40px;
    background: #E83A30;
    color: var(--e-global-color-accent);
    font-weight: 500;
    padding: 10px 20px !important;
    border: none;
    border-radius: 6px;
    animation: auxHideAlert 10s forwards;
    list-style: none;
}

/* 
Animación para ocultar alertas
*/
@keyframes auxHideAlert {
    0%   {opacity: 0;}
    10%  {opacity: 1;}
    90%  {opacity: 1;}
    100% {opacity: 0; display: none; }
} 

/* 
============================================
BOTÓN DE ENVÍO
============================================
*/

/* 
Botón principal - Modificado: Color #0E2038, fuente Montserrat Alternates, peso 400
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button {
    text-align: left;
    background-color: #0E2038 !important; /* CAMBIADO: #0E2038 (azul oscuro Shine Royal) */
    color: var(--e-global-color-accent);
    margin-top: 30px;
    font-family: 'Montserrat Alternates', Montserrat, sans-serif; /* CAMBIADO: Montserrat Alternates */
    font-size: 15px;
    font-weight: 400; /* CAMBIADO: 400 (normal) */
    padding: 25px 115px 25px 28px !important;
    position: relative;
    float: right;
    border: none;
    cursor: pointer;
    transition: none !important; /* Evita transiciones de color */
}

/* 
Línea decorativa del botón
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button::after {
    content: "";
    height: 1px;
    display: inline-block;
    background-color: var(--e-global-color-accent);
    position: absolute;
    top: 33px;
    margin-left: 27px;
    width: 32px;
    transition: width 0.6s ease;
}

/* 
Efecto hover solo en la línea (no en el color de fondo)
*/
.elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button:hover:after {
    width: 64px;
}

/* 
============================================
RESPONSIVE - MÓVIL/TABLET
============================================
*/

/* 
Para pantallas menores a 650px
*/
@media screen and (max-width: 650px) {
    .elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button {
        width: 255px !important;
    }
    
    .elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button span {
        display: none;
    }
}

/* 
Para pantallas menores a 1024px
*/
@media screen and (max-width: 1024px) {
    .elementor-91 .elementor-element.elementor-element-7a56c2f .aux-button::after {
        top: 40px !important;
        margin-left: 88px !important;
        width: 57px !important;
    }
    
    .elementor-91 .elementor-element.elementor-element-7a56c2f:hover .aux-button::after {
        width: 130px !important;
    }
}

/* ============================================
   MENSAJES DE CONTACT FORM 7 - SHINE ROYAL
   ============================================ */

/* 
Contenedor principal de mensajes
Fondo #0E2038, posición fija elegante
*/
.wpcf7-response-output {
    position: fixed !important;
    right: 30px !important;
    bottom: 30px !important;
    left: auto !important;
    z-index: 9999;
    background: #0E2038 !important; /* Azul oscuro Shine Royal */
    color: #FFFFFF !important;
    font-family: 'Montserrat Alternates', Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    padding: 15px 25px !important;
    border: none !important;
    border-radius: 4px;
    box-shadow: 0 5px 25px rgba(14, 32, 56, 0.3);
    border-left: 4px solid #b89446 !important; /* Dorado como acento */
    animation: auxHideAlert 8s forwards;
    max-width: 350px;
    text-align: left;
}

/* 
Mensaje de ÉXITO (envío correcto)
Mismo fondo pero con borde izquierdo verde sutil
*/
.wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #0E2038 !important; /* Mantiene fondo azul */
    border-left: 4px solid #4CAF50 !important; /* Verde para éxito */
}

/* 
Mensaje de ERROR (validación o envío fallido)
Mismo fondo pero con borde izquierdo rojo sutil
*/
.wpcf7-response-output.wpcf7-validation-errors,
.wpcf7-response-output.wpcf7-mail-sent-ng {
    background: #0E2038 !important; /* Mantiene fondo azul */
    border-left: 4px solid #F44336 !important; /* Rojo para error */
}

/* 
Tooltips de error en campos individuales
*/
.wpcf7-not-valid-tip {
    color: #F44336 !important;
    font-family: 'Montserrat Alternates', Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 400;
    margin-top: 5px;
    display: block;
}

/* 
Borde rojo en campos con error
*/
.wpcf7-not-valid {
    border-color: #F44336 !important;
}

/* 
Animación de desvanecimiento elegante
*/
@keyframes auxHideAlert {
    0%   { 
        opacity: 0; 
        transform: translateY(20px) scale(0.95); 
    }
    10%  { 
        opacity: 1; 
        transform: translateY(0) scale(1); 
    }
    85%  { 
        opacity: 1; 
        transform: translateY(0) scale(1); 
    }
    100% { 
        opacity: 0; 
        transform: translateY(20px) scale(0.95); 
        display: none; 
    }
}

/* 
Para móviles: ajustar posición y tamaño
*/
@media screen and (max-width: 768px) {
    .wpcf7-response-output {
        right: 15px !important;
        left: 15px !important;
        bottom: 15px !important;
        max-width: none;
        font-size: 13px;
        padding: 12px 20px !important;
    }
}

/* 
Estado inicial: oculto cuando está vacío o tiene aria-hidden
Esto evita que aparezca el recuadro rojo vacío al recargar
*/
.wpcf7-response-output:empty,
.wpcf7-response-output[aria-hidden="true"] {
    display: none !important;
    opacity: 0 !important;
    animation: none !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8be1835 */.elementor-91 .elementor-element.elementor-element-8be1835 .e-con-inner {
    max-width: 1100px;
}/* End custom CSS */