/* Solo CSS de componente. El maquetado vive en el arbol de Elementor (clases globales y variantes). */

/* Iconografia: glifos Font Awesome dentro de parrafos atomicos */
.rm-icon,.rm-icon-sm,.rm-stars{font-family:"Font Awesome 6 Free"!important;font-weight:900!important}
.rm-icon-brand,.rm-socglyph{font-family:"Font Awesome 6 Brands"!important;font-weight:400!important}

/* Acordeon de preguntas frecuentes */
.rm-faq .rm-faq-a{display:none}
.rm-faq.rm-open .rm-faq-a{display:block}
.rm-faq-q{position:relative;padding-right:40px}
.rm-faq-q::after{content:"+";position:absolute;right:0;top:-2px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#E4F8F4;color:#0F2E2B;border-radius:8px;font-weight:700;font-family:"Hanken Grotesk",sans-serif;line-height:1}
.rm-faq.rm-open .rm-faq-q::after{content:"\2212"}

/* Menu desplegable de servicios (revelado por hover, sin equivalente nativo) */
.rm-hasdrop{position:relative}
.rm-drop{position:absolute;top:100%;left:0;width:300px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s;box-shadow:0 24px 60px rgba(15,46,43,.14);margin-top:6px}
.rm-hasdrop:hover .rm-drop{opacity:1;visibility:visible;transform:none}

/* Navegacion movil: boton y panel */
.rm-burger{display:none;width:46px;height:46px;border:1px solid #E7E7E3;border-radius:11px;background:#FFFFFF;align-items:center;justify-content:center;font-size:20px;color:#1A1A1A;cursor:pointer;flex:0 0 auto;margin-left:auto;line-height:1}
.rm-brand-name{white-space:nowrap}
html,body{max-width:100%;overflow-x:hidden}
@media (max-width:900px){
 .rm-hd-inner{position:relative}
 .rm-burger{display:flex}
 .rm-nav{display:none}
 .rm-hd-inner .rm-btn-wa{display:none}
 .rm-hd-bar.rm-nav-open .rm-nav{display:flex;position:absolute;top:100%;left:0;right:0;width:auto;flex-direction:column;align-items:stretch;background:#FFFFFF;border:1px solid #E7E7E3;border-radius:14px;box-shadow:0 24px 60px rgba(15,46,43,.14);padding:14px 16px;gap:2px;margin-top:10px}
 .rm-hd-bar.rm-nav-open .rm-navlink{padding:12px 14px;font-size:17px;white-space:normal}
 .rm-hd-bar.rm-nav-open .rm-hasdrop{display:block;width:100%}
 .rm-hd-bar.rm-nav-open .rm-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;padding:2px 0 6px 10px;min-width:0;width:auto;margin-top:0}
}

/* Miniatura de portafolio: fondo de marca bajo el icono */
.rm-pf-thumb{background:linear-gradient(135deg,#E4F8F4 0%,#7FE7DB 100%)}
.rm-pf-thumb .rm-icon{font-size:44px;color:#0F2E2B}

/* Formulario WPForms: marcado de tercero, sin via nativa */
.wpforms-form .wpforms-field{padding:0 0 18px 0!important;max-width:100%!important}
.wpforms-form .wpforms-field-small,.wpforms-form .wpforms-field-medium,.wpforms-form .wpforms-field-large{max-width:100%!important;width:100%!important}
.wpforms-form .wpforms-field-label{font-family:"Hanken Grotesk",sans-serif!important;font-weight:600!important;font-size:.95rem!important;color:#1A1A1A!important;margin-bottom:8px!important}
.wpforms-form input[type=text],.wpforms-form input[type=email],.wpforms-form select,.wpforms-form textarea{font-family:"Hanken Grotesk",sans-serif!important;font-size:1rem!important;color:#1A1A1A!important;border:1.5px solid #E7E7E3!important;border-radius:10px!important;background:#FFFFFF!important;box-shadow:none!important;width:100%!important;max-width:100%!important}
.wpforms-form input[type=text],.wpforms-form input[type=email]{padding:13px 16px!important;height:auto!important}
.wpforms-form select{padding:13px 16px!important;height:auto!important;min-height:52px!important;line-height:1.4!important}
.wpforms-form textarea{padding:13px 16px!important;min-height:140px!important}
.wpforms-form input:focus,.wpforms-form select:focus,.wpforms-form textarea:focus{border-color:#7FE7DB!important;box-shadow:0 0 0 4px #E4F8F4!important;outline:none!important}
.wpforms-form .wpforms-field-gdpr-checkbox label{font-family:"Hanken Grotesk",sans-serif!important;font-size:.92rem!important;color:#57564F!important}
.wpforms-form button[type=submit]{background:#1A1A1A!important;color:#FFFFFF!important;font-family:"Hanken Grotesk",sans-serif!important;font-weight:600!important;font-size:1rem!important;border:none!important;border-radius:999px!important;padding:15px 34px!important;cursor:pointer!important}
.wpforms-form button[type=submit]:hover{background:#0F2E2B!important}

/* Miniatura de portafolio: el img interno del widget atomico no se alcanza con estilos de elemento */
.rm-pf-thumb{overflow:hidden}
.rm-pf-img{display:block;width:100%;height:100%}
.rm-pf-img img,.rm-pf-img figure,.rm-pf-img picture{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;margin:0}

/* Miniatura de portafolio: la imagen llena el marco (los estilos locales del elemento exigen important) */
.rm-pf-thumb{position:relative!important;padding:0!important;background:#F5F3EF!important;border-radius:16px!important;overflow:hidden!important}
.rm-pf-thumb img.rm-pf-img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:top center!important;display:block!important;margin:0!important;border-radius:0!important}
