/*
Theme Name: AllSaavedra
Theme URI: https://allsaavedra.cl
Author: AllSaavedra
Description: Tema independiente y gratuito para AllSaavedra, compatible con Elementor, WooCommerce y Mercado Pago.
Version: 1.3.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: allsaavedra
*/

:root {
  --as-blue: #0e3b70;
  --as-blue-dark: #082747;
  --as-blue-light: #dcecff;
  --as-ink: #172033;
  --as-copy: #3d4757;
  --as-muted: #667085;
  --as-line: #dfe4ea;
  --as-soft: #f4f6f8;
  --as-white: #fff;
  --as-radius-sm: 10px;
  --as-radius: 18px;
  --as-radius-lg: 28px;
  --as-shadow: 0 16px 45px rgba(23, 32, 51, .09);
  --as-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--as-copy);
  background: var(--as-white);
  font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.as-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--as-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--as-blue-dark); }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  color: var(--as-ink);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.screen-reader-text:focus {
  z-index: 100000;
  top: 8px;
  left: 8px;
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip: auto;
  background: #fff;
  color: #000;
}

.as-theme-container {
  width: min(var(--as-container), calc(100% - 40px));
  margin-right: auto;
  margin-left: auto;
}
.as-site-main { min-height: 60vh; }

/* Cabecera */
.as-site-header {
  position: sticky;
  z-index: 999;
  top: 0;
  color: #fff;
  background: rgba(14, 59, 112, .97);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  transition: box-shadow .2s ease, background .2s ease;
}
.admin-bar .as-site-header { top: 32px; }
.as-site-header.is-scrolled { box-shadow: 0 12px 32px rgba(8, 39, 71, .2); }
.as-header-inner {
  width: min(1240px, calc(100% - 40px));
  min-height: 78px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
}
.as-brand { min-width: 150px; }
.as-site-title,
.as-footer-brand {
  color: #fff;
  font-size: 25px;
  font-weight: 850;
  letter-spacing: -.035em;
  text-decoration: none;
}
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { display: block; width: auto; max-width: 220px; max-height: 58px; }
.as-site-navigation { justify-self: center; }
.as-primary-menu,
.as-primary-menu ul,
.as-footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.as-primary-menu { display: flex; align-items: center; gap: 6px; }
.as-primary-menu li { position: relative; }
.as-primary-menu > li > a {
  display: block;
  padding: 10px 13px;
  border-radius: 999px;
  color: rgba(255, 255, 255, .88);
  font-size: 15px;
  font-weight: 720;
  text-decoration: none;
  transition: color .2s ease, background .2s ease;
}
.as-primary-menu > li > a:hover,
.as-primary-menu > li.current-menu-item > a,
.as-primary-menu > li.current_page_item > a {
  color: #fff;
  background: rgba(255, 255, 255, .12);
}
.as-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  padding: 10px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  border: 1px solid var(--as-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--as-shadow);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.as-primary-menu li:hover > .sub-menu,
.as-primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.as-primary-menu .sub-menu a { display: block; padding: 9px 10px; border-radius: 8px; color: var(--as-ink); text-decoration: none; }
.as-primary-menu .sub-menu a:hover { background: var(--as-soft); }
.as-header-actions { display: flex; align-items: center; gap: 5px; }
.as-header-action {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .09);
  text-decoration: none;
}
.as-header-action:hover { color: #fff; background: rgba(255, 255, 255, .17); }
.as-header-action svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.as-cart-count {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--as-blue);
  border-radius: 999px;
  background: #fff;
  color: var(--as-blue);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}
.as-menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, .09);
  cursor: pointer;
}
.as-menu-toggle span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 5px 0; background: #fff; transition: transform .2s ease, opacity .2s ease; }
.as-menu-toggle[aria-expanded="true"] span:nth-of-type(1) { transform: translateY(7px) rotate(45deg); }
.as-menu-toggle[aria-expanded="true"] span:nth-of-type(2) { opacity: 0; }
.as-menu-toggle[aria-expanded="true"] span:nth-of-type(3) { transform: translateY(-7px) rotate(-45deg); }

/* Contenido editorial */
.as-content-layout,
.as-page-article,
.as-woocommerce-container { padding-top: 70px; padding-bottom: 90px; }
.as-archive-header { max-width: 820px; margin-bottom: 38px; }
.as-archive-header h1,
.as-page-header h1 { margin-bottom: 14px; font-size: clamp(38px, 5vw, 64px); }
.as-archive-description { color: var(--as-muted); font-size: 18px; }
.as-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.as-post-card {
  overflow: hidden;
  border: 1px solid var(--as-line);
  border-radius: var(--as-radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(23, 32, 51, .05);
  transition: transform .25s ease, box-shadow .25s ease;
}
.as-post-card:hover { transform: translateY(-4px); box-shadow: var(--as-shadow); }
.as-post-card-media { display: flex; aspect-ratio: 4 / 3; align-items: center; justify-content: center; overflow: hidden; background: var(--as-soft); color: var(--as-muted); text-decoration: none; }
.as-post-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.as-post-card:hover .as-post-card-media img { transform: scale(1.035); }
.as-post-card-body { padding: 24px; }
.as-post-card h2 { margin: 8px 0 10px; font-size: 25px; }
.as-post-card h2 a { color: var(--as-ink); text-decoration: none; }
.as-post-card p { margin: 0 0 18px; color: var(--as-muted); }
.as-post-meta { color: var(--as-blue); font-size: 12px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.as-post-meta a { color: inherit; text-decoration: none; }
.as-read-more { font-weight: 800; text-decoration: none; }
.navigation.pagination { margin-top: 38px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { min-width: 42px; height: 42px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--as-line); border-radius: 999px; color: var(--as-ink); text-decoration: none; }
.page-numbers.current,
.page-numbers:hover { border-color: var(--as-blue); background: var(--as-blue); color: #fff; }
.as-page-header { max-width: 850px; margin-bottom: 32px; }
.as-entry-content { color: var(--as-copy); font-size: 17px; line-height: 1.8; }
.as-entry-content > *:first-child { margin-top: 0; }
.as-entry-content h2 { margin-top: 1.7em; font-size: clamp(28px, 4vw, 42px); }
.as-entry-content h3 { margin-top: 1.5em; font-size: 27px; }
.as-entry-content img { border-radius: 14px; }
.as-entry-content a { overflow-wrap: anywhere; }
.as-entry-content blockquote { margin: 32px 0; padding: 8px 0 8px 24px; border-left: 4px solid var(--as-blue); color: var(--as-ink); font-size: 21px; }
.as-entry-content .alignwide { width: min(1320px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.as-entry-content .alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.as-single-hero { padding: 86px 0 56px; background: linear-gradient(135deg, #081d35 0%, var(--as-blue) 100%); }
.as-single-hero h1 { max-width: 900px; margin: 12px 0 16px; color: #fff; font-size: clamp(42px, 6vw, 76px); letter-spacing: -.05em; }
.as-single-hero p { max-width: 760px; margin: 0; color: rgba(255, 255, 255, .78); font-size: 20px; }
.as-single-hero .as-post-meta,
.as-single-hero .as-post-meta a { color: #bfdcff; }
.as-featured-image { margin-top: 52px; }
.as-featured-image img { width: 100%; max-height: 720px; object-fit: cover; border-radius: var(--as-radius-lg); box-shadow: var(--as-shadow); }
.as-single-content { max-width: 980px; padding-top: 52px; padding-bottom: 90px; }
.as-edit-link a { display: inline-block; margin-top: 24px; padding: 9px 14px; border-radius: 999px; background: var(--as-soft); font-size: 14px; font-weight: 800; text-decoration: none; }
.as-empty-content,
.as-error-page { padding-top: 100px; padding-bottom: 120px; text-align: center; }
.as-error-page > span { display: block; color: var(--as-blue-light); font-size: clamp(90px, 18vw, 220px); font-weight: 900; line-height: .8; }
.as-error-page h1 { margin: 26px 0 12px; font-size: clamp(34px, 5vw, 58px); }
.as-error-page p { color: var(--as-muted); }
.as-theme-button {
  display: inline-flex;
  min-height: 48px;
  margin-top: 18px;
  padding: 11px 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--as-blue);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}
.as-theme-button:hover { background: var(--as-blue-dark); color: #fff; }

/* Elementor */
.elementor-page .as-site-main { overflow: hidden; }
.elementor-page .as-site-main > .elementor { width: 100%; }
.as-canvas-page { margin: 0; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { margin-bottom: 24px; color: var(--as-muted); font-size: 14px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--as-blue); }
.woocommerce-products-header { margin-bottom: 32px; }
.woocommerce-products-header__title.page-title { font-size: clamp(38px, 5vw, 62px); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin-bottom: 28px; }
.woocommerce .woocommerce-ordering select,
.woocommerce select,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce-page input.input-text,
.woocommerce-page textarea {
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #cfd6df;
  border-radius: var(--as-radius-sm);
  background: #fff;
}
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto;
  float: none;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--as-line);
  border-radius: var(--as-radius);
  background: #fff;
  box-shadow: 0 10px 30px rgba(23, 32, 51, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--as-shadow); }
.woocommerce ul.products li.product a img { margin: 0; aspect-ratio: 1 / 1; object-fit: cover; background: var(--as-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 20px 20px 6px; color: var(--as-ink); font-size: 19px; line-height: 1.3; }
.woocommerce ul.products li.product .price { padding: 0 20px; color: var(--as-blue); font-size: 17px; font-weight: 800; }
.woocommerce ul.products li.product .button { margin: 14px 20px 22px; }
.woocommerce span.onsale { top: 12px; left: 12px; min-width: auto; min-height: auto; margin: 0; padding: 6px 10px; border-radius: 999px; background: var(--as-blue); line-height: 1.2; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  min-height: 46px;
  padding: 12px 20px;
  border-radius: 999px;
  background: var(--as-blue);
  color: #fff;
  font-weight: 800;
  line-height: 1.2;
  transition: transform .2s ease, background .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover { transform: translateY(-1px); background: var(--as-blue-dark); color: #fff; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 56px; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: auto; float: none; }
.woocommerce div.product div.images img { border-radius: var(--as-radius); }
.woocommerce div.product .product_title { font-size: clamp(36px, 5vw, 58px); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--as-blue); font-size: 27px; font-weight: 850; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.woocommerce .quantity .qty { min-height: 46px; border: 1px solid var(--as-line); border-radius: 999px; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; width: 100%; padding-top: 30px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--as-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--as-blue); }
.woocommerce table.shop_table { border-color: var(--as-line); border-radius: var(--as-radius); overflow: hidden; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 15px; }
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout-review-order,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
  padding: 24px;
  border: 1px solid var(--as-line);
  border-radius: var(--as-radius);
  background: #fff;
}
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { background: var(--as-soft); }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color: var(--as-blue); border-radius: var(--as-radius-sm); background: var(--as-soft); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--as-blue); }

/* Pie */
.as-site-footer { padding: 64px 20px 22px; background: var(--as-blue); color: rgba(255, 255, 255, .78); }
.as-footer-grid { width: min(var(--as-container), 100%); margin: 0 auto; display: grid; grid-template-columns: 1.25fr .75fr 1fr; gap: 52px; }
.as-site-footer h2 { margin-bottom: 16px; color: #fff; font-size: 17px; letter-spacing: 0; }
.as-site-footer p { max-width: 390px; }
.as-site-footer a { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, .86); text-decoration: none; }
.as-site-footer a:hover { color: #fff; }
.as-footer-brand { display: inline-block !important; margin-bottom: 12px !important; font-size: 30px; }
.as-footer-menu .as-primary-menu { display: block; }
.as-footer-menu .as-primary-menu a { padding: 0; background: transparent; }
.as-footer-menu > li > a { padding: 0; }
.as-footer-bottom { width: min(var(--as-container), 100%); margin: 44px auto 0; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .13); font-size: 13px; text-align: center; }
.as-whatsapp {
  position: fixed;
  z-index: 998;
  right: 22px;
  bottom: 22px;
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .24);
  transition: transform .2s ease, box-shadow .2s ease;
}
.as-whatsapp:hover { color: #fff; transform: translateY(-3px) scale(1.03); box-shadow: 0 16px 34px rgba(0, 0, 0, .28); }
.as-whatsapp svg { width: 31px; height: 31px; fill: currentColor; }

@media (max-width: 1100px) {
  .as-header-inner { grid-template-columns: auto auto 1fr; }
  .as-menu-toggle { display: block; order: 3; justify-self: end; }
  .as-header-actions { order: 2; justify-self: end; }
  .as-site-navigation {
    position: fixed;
    top: 78px;
    right: 0;
    bottom: 0;
    width: min(400px, 90vw);
    padding: 24px;
    overflow-y: auto;
    visibility: hidden;
    opacity: 0;
    transform: translateX(100%);
    background: var(--as-blue-dark);
    box-shadow: -20px 30px 50px rgba(0, 0, 0, .2);
    transition: transform .24s ease, opacity .24s ease, visibility .24s ease;
  }
  .admin-bar .as-site-navigation { top: 110px; }
  .as-site-navigation.is-open { visibility: visible; opacity: 1; transform: translateX(0); }
  .as-primary-menu { display: block; }
  .as-primary-menu > li > a { padding: 13px 14px; font-size: 18px; }
  .as-primary-menu .sub-menu { position: static; min-width: 0; padding: 4px 0 10px 18px; visibility: visible; opacity: 1; transform: none; border: 0; background: transparent; box-shadow: none; }
  .as-primary-menu .sub-menu a { color: rgba(255, 255, 255, .8); }
  .as-primary-menu .sub-menu a:hover { color: #fff; background: rgba(255, 255, 255, .08); }
  .as-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
  .admin-bar .as-site-header { top: 46px; }
  .admin-bar .as-site-navigation { top: 124px; }
  .as-header-inner { width: min(100% - 28px, 1240px); min-height: 72px; gap: 10px; }
  .as-brand { min-width: 0; }
  .as-site-title { font-size: 22px; }
  .custom-logo { max-width: 165px; max-height: 48px; }
  .as-site-navigation { top: 72px; }
  .as-post-grid,
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .woocommerce div.product .woocommerce-tabs { grid-column: auto; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr; }
  .as-footer-grid { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 560px) {
  .as-theme-container { width: min(100% - 28px, var(--as-container)); }
  .as-header-action:first-child { display: none; }
  .as-content-layout,
  .as-page-article,
  .as-woocommerce-container { padding-top: 46px; padding-bottom: 68px; }
  .as-post-grid,
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .as-single-hero { padding: 58px 0 40px; }
  .as-featured-image { margin-top: 28px; }
  .as-single-content { padding-top: 34px; padding-bottom: 66px; }
  .as-whatsapp { right: 14px; bottom: 14px; width: 56px; height: 56px; }
}

/* Compatibilidad de la versión 1.1.0 con los contenedores editables de Elementor. */
.elementor-page .e-con.as-el-hero-section { width: 100%; max-width: none; }
.elementor-page .e-con.as-hero-inner { width: min(1240px, 100%); max-width: 1240px; margin-inline: auto; }
.elementor-page .e-con.as-el-section { width: min(1180px, calc(100% - 40px)); max-width: 1180px; margin-inline: auto; }
.elementor-page .e-con.as-projects-section { width: 100%; max-width: none; }
.elementor-page .e-con.as-quote-cta { width: min(1180px, calc(100% - 40px)); max-width: 1180px; margin-inline: auto; }
@media (max-width: 680px) {
  .elementor-page .e-con.as-el-section { width: min(1180px, calc(100% - 28px)); }
  .elementor-page .e-con.as-quote-cta { width: calc(100% - 28px); }
}

/* ================================================================
   Corrección definitiva del hero editable de Elementor
   AllSaavedra Core 1.7.0 / Tema 1.3.0

   Elementor escribe CSS por página después de las hojas del tema. Estas
   reglas usan !important únicamente en la portada para impedir que sus
   colores globales vuelvan blanco el fondo o oculten el título.
   ================================================================ */
html body.elementor-page .elementor-element.e-con.as-el-hero-section,
html body.elementor-editor-active .elementor-element.e-con.as-el-hero-section {
  --width: 100% !important;
  --max-width: none !important;
  width: 100% !important;
  max-width: none !important;
  padding: 42px 20px 26px !important;
  background-color: #081d35 !important;
  background-image: linear-gradient(135deg, #081d35 0%, #0e3b70 58%, #285f9c 100%) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: cover !important;
  color: #fff !important;
}

html body.elementor-page .elementor-element.e-con.as-hero-inner,
html body.elementor-editor-active .elementor-element.e-con.as-hero-inner {
  --width: 100% !important;
  --max-width: 1240px !important;
  width: 100% !important;
  max-width: 1240px !important;
  min-height: 620px !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  align-items: center !important;
  gap: 48px !important;
  background: transparent !important;
}

html body.elementor-page .elementor-element.e-con.as-hero-copy,
html body.elementor-editor-active .elementor-element.e-con.as-hero-copy,
html body.elementor-page .elementor-element.e-con.as-hero-media,
html body.elementor-editor-active .elementor-element.e-con.as-hero-media {
  --width: 100% !important;
  --max-width: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  background: transparent !important;
}

html body.elementor-page .elementor-element.e-con.as-hero-copy,
html body.elementor-editor-active .elementor-element.e-con.as-hero-copy {
  padding: 50px 0 !important;
}

html body.elementor-page .as-el-hero-section .as-eyebrow .elementor-heading-title,
html body.elementor-editor-active .as-el-hero-section .as-eyebrow .elementor-heading-title {
  color: #b7d8ff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.elementor-page .as-el-hero-section .as-el-hero-title .elementor-heading-title,
html body.elementor-editor-active .as-el-hero-section .as-el-hero-title .elementor-heading-title {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.elementor-page .as-el-hero-section .as-el-hero-text,
html body.elementor-page .as-el-hero-section .as-el-hero-text p,
html body.elementor-page .as-el-hero-section .as-el-hero-text .elementor-widget-container,
html body.elementor-editor-active .as-el-hero-section .as-el-hero-text,
html body.elementor-editor-active .as-el-hero-section .as-el-hero-text p,
html body.elementor-editor-active .as-el-hero-section .as-el-hero-text .elementor-widget-container {
  color: #d9e7f7 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body.elementor-page .as-el-hero-section .as-el-button-primary .elementor-button,
html body.elementor-editor-active .as-el-hero-section .as-el-button-primary .elementor-button {
  border-color: #fff !important;
  background-color: #fff !important;
  color: #0e3b70 !important;
}

html body.elementor-page .as-el-hero-section .as-el-button-secondary .elementor-button,
html body.elementor-editor-active .as-el-hero-section .as-el-button-secondary .elementor-button {
  border-color: rgba(255, 255, 255, .55) !important;
  background-color: transparent !important;
  color: #fff !important;
}

html body.elementor-page .as-hero-media .elementor-widget-image,
html body.elementor-page .as-hero-media .elementor-widget-image .elementor-widget-container,
html body.elementor-editor-active .as-hero-media .elementor-widget-image,
html body.elementor-editor-active .as-hero-media .elementor-widget-image .elementor-widget-container {
  width: 100% !important;
  height: auto !important;
}

html body.elementor-page .as-hero-media .elementor-widget-image img,
html body.elementor-editor-active .as-hero-media .elementor-widget-image img {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 560px !important;
  min-height: 0 !important;
  max-height: 560px !important;
  border-radius: 28px !important;
  object-fit: cover !important;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .28) !important;
}

@media (max-width: 980px) {
  html body.elementor-page .elementor-element.e-con.as-hero-inner,
  html body.elementor-editor-active .elementor-element.e-con.as-hero-inner {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }

  html body.elementor-page .elementor-element.e-con.as-hero-media,
  html body.elementor-editor-active .elementor-element.e-con.as-hero-media {
    max-width: 720px !important;
  }
}

@media (max-width: 680px) {
  html body.elementor-page .elementor-element.e-con.as-el-hero-section,
  html body.elementor-editor-active .elementor-element.e-con.as-el-hero-section {
    padding: 22px 14px 18px !important;
  }

  html body.elementor-page .elementor-element.e-con.as-hero-copy,
  html body.elementor-editor-active .elementor-element.e-con.as-hero-copy {
    padding: 36px 0 12px !important;
  }

  html body.elementor-page .as-hero-media .elementor-widget-image img,
  html body.elementor-editor-active .as-hero-media .elementor-widget-image img {
    height: min(420px, 90vw) !important;
    max-height: none !important;
  }
}

