/* Empresas – productos, noticias y consulta (colores Infopork) */
.emp-sec { margin-top: 38px; }
.emp-sec__title { font: 800 24px/1.2 "Montserrat", system-ui, sans-serif; color: #04367d; margin: 0 0 18px; }
.emp-products__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.emp-product { display: flex; flex-direction: column; background: #f4f6fb; border-radius: 16px 16px 46px 16px; overflow: hidden; border: 1px solid #e3e8f2; }
.emp-product__img { aspect-ratio: 4 / 3; background: #fff; display: flex; align-items: center; justify-content: center; padding: 10px; }
.emp-product__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.emp-product__img span { font-size: 42px; opacity: .4; }
.emp-product__body { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 20px; flex: 1; }
.emp-product__body h3 { font: 700 17px/1.3 "Montserrat", system-ui, sans-serif; color: #04367d; margin: 0; }
.emp-product__body p { margin: 0; font-size: 14px; color: #4b5570; line-height: 1.5; }
.emp-product__body .emp-btn { margin-top: auto; align-self: flex-start; }

.emp-btn, .ipk .emp-btn { display: inline-flex; align-items: center; justify-content: center; gap: .4em; padding: .75em 1.4em; border: 0; border-radius: 999px !important; background: #1753be !important; color: #fff !important; font: 700 14px/1.1 "Montserrat", system-ui, sans-serif; cursor: pointer; text-decoration: none; transition: background .15s, color .15s, transform .15s; }
.emp-btn:hover, .emp-btn:focus-visible { background: #04367d !important; color: #00d099 !important; transform: translateY(-1px); }
.emp-btn--full { width: 100%; }
.emp-btn[disabled] { opacity: .6; cursor: wait; }

.emp-news__item { padding: 20px 0; border-top: 1px solid #e3e8f2; }
.emp-news__item:first-of-type { border-top: 0; padding-top: 0; }
.emp-news__item time { display: block; font: 700 12px/1 "Montserrat", system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #1753be; margin-bottom: 6px; }
.emp-news__item h3 { font: 800 20px/1.25 "Montserrat", system-ui, sans-serif; color: #04367d; margin: 0 0 8px; }
.emp-news__text p { margin: 0 0 10px; }
.emp-news__video { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; margin-top: 10px; }
.emp-news__video iframe, .emp-news__embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.emp-news__embed { position: relative; margin-top: 10px; }
.emp-news__embed:has(> iframe:only-child) { aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; }
.emp-news__embed iframe:not(:only-child) { position: static; width: 100%; aspect-ratio: 16 / 9; height: auto; }

html.emp-lock { overflow: hidden; }
.emp-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.emp-modal[hidden] { display: none; }
.emp-modal__backdrop { position: absolute; inset: 0; background: rgba(3, 20, 50, .72); backdrop-filter: blur(3px); }
.emp-modal__box { position: relative; width: 100%; max-width: 460px; max-height: calc(100vh - 32px); overflow: auto; background: #fff; border-radius: 18px 18px 48px 18px; padding: 28px 28px 24px; box-shadow: 0 30px 80px rgba(0,0,0,.4); font-family: "Inter", system-ui, sans-serif; color: #13203b; }
.emp-modal button.emp-modal__close { position: absolute; top: 10px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50% !important; background: #eef2f9 !important; color: #04367d !important; font-size: 24px; line-height: 1; cursor: pointer; padding: 0 !important; }
.emp-modal button.emp-modal__close:hover { background: #04367d !important; color: #fff !important; }
.emp-modal h2 { margin: 0 0 4px; font: 800 21px/1.2 "Montserrat", system-ui, sans-serif; color: #04367d; }
.emp-modal__product { margin: 0 0 16px; font-size: 14px; color: #1753be; font-weight: 600; }
.emp-form label { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 600; color: #04367d; }
.emp-form input[type="text"], .emp-form input[type="email"], .emp-form input[type="tel"], .emp-form textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 5px; padding: 10px 12px; border: 1.5px solid #cfd8e8; border-radius: 10px; font: 15px/1.4 "Inter", system-ui, sans-serif; background: #fff; color: #13203b; }
.emp-form input:focus, .emp-form textarea:focus { outline: none; border-color: #1753be; box-shadow: 0 0 0 3px rgba(23,83,190,.15); }
.emp-hp { position: absolute !important; left: -9999px; }
.emp-captcha { min-height: 65px; margin: 4px 0 10px; }
.emp-msg { margin: 0 0 12px; padding: 9px 12px; border-radius: 8px; background: #fdecec; color: #a4161a; font-size: 14px; }
.emp-legal { margin: 10px 0 0; font-size: 11px; color: #8a93a6; text-align: center; }
.emp-done { text-align: center; }
.emp-done__check { width: 64px; height: 64px; margin: 6px auto 14px; border-radius: 50%; background: #00d099; color: #04367d; font-size: 34px; font-weight: 800; line-height: 64px; }
.emp-done p { font-size: 15px; margin: 0 0 18px; }
