/* Calafate.Host · imagen de marca en la web (19/10/2026)
   Coral #DF4661 · Grafito #252B31 · Marfil #F7F4EF · Bruma #DCE8E8 · Montserrat — igual que el sistema de gestión.
   Se carga después de Astra, Elementor y el CSS adicional, así que manda sobre ellos. */
:root {
  --ch-coral: #DF4661; --ch-coral-osc: #C2364F; --ch-coral-suave: #FBE7EA;
  --ch-grafito: #252B31; --ch-grafito-2: #343B43; --ch-texto: #4A535C;
  --ch-marfil: #F7F4EF; --ch-bruma: #DCE8E8; --ch-linea: #ECE6DD;
  --ast-global-color-0: #DF4661; --ast-global-color-1: #C2364F;
}

/* ---------- Tipografía: Montserrat en todo ---------- */
body, button, input, select, textarea, .ast-button, .button, .elementor-button,
h1, h2, h3, h4, h5, h6, .entry-title, .elementor-heading-title, .elementor-widget-text-editor,
.main-header-menu, .main-header-menu .menu-link, .ast-builder-menu, .elementor-counter-title, .elementor-counter-number,
.wpcf7, .widget-title, .site-footer, .ast-footer-copyright {
  font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
}
body { color: var(--ch-texto); }
h1, h2, h3, h4, h5, h6, .elementor-heading-title { color: var(--ch-grafito); font-weight: 700 !important; letter-spacing: -.01em; }
h1.elementor-heading-title, .elementor-widget-heading h1 { line-height: 1.12 !important; }
/* Títulos grandes de las portadas: Montserrat es más ancha que la letra anterior */
.elementor-widget-heading h1.elementor-heading-title { font-size: clamp(30px, 4.2vw, 54px) !important; }
.elementor-element-25d4df2d .elementor-heading-title { font-size: clamp(25px, 2.65vw, 40px) !important; font-weight: 600 !important; letter-spacing: .005em !important; line-height: 1.22 !important; }
.elementor-widget-heading h2.elementor-heading-title { font-size: clamp(26px, 3vw, 40px); }
.elementor-heading-title span, h2 span { color: var(--ch-coral); }

/* ---------- Cabecera: grafito con el logo blanco, como el menú del sistema ---------- */
.ast-primary-header-bar, .ast-primary-header-bar.fixed-header, #ast-mobile-header .ast-primary-header-bar, .ast-mobile-header-wrap .ast-primary-header-bar {
  background: var(--ch-grafito) !important; border-bottom: 0 !important;
}
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link { color: #fff !important; font-weight: 500; font-size: 15.5px; letter-spacing: .01em; }
.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link:hover,
.ast-primary-header-bar .main-header-menu > .menu-item.current-menu-item > .menu-link,
.ast-primary-header-bar .main-header-menu > .menu-item.current-menu-ancestor > .menu-link { color: #fff !important; }
.site-primary-header-wrap .main-header-menu > .menu-item > .menu-link:after,
.fixed-header .site-primary-header-wrap .main-header-menu > .menu-item > .menu-link:after { background: var(--ch-coral) !important; opacity: 1 !important; }
.ast-primary-header-bar .main-header-menu .sub-menu { background: #fff; border-top: 3px solid var(--ch-coral) !important; border-radius: 0 0 12px 12px; box-shadow: 0 14px 30px rgba(37,43,49,.18); }
.ast-primary-header-bar .main-header-menu .sub-menu .menu-link { color: var(--ch-grafito) !important; }
.ast-primary-header-bar .main-header-menu .sub-menu .menu-link:hover { background: var(--ch-marfil) !important; color: var(--ch-coral) !important; }
.ast-primary-header-bar .site-logo-img img { max-width: 210px !important; width: 210px; height: auto; filter: none !important; }
.ast-logo-title-inline .ast-site-identity { padding: 20px 0 !important; }
.fixed-header .ast-logo-title-inline .ast-site-identity { padding: 14px 0 !important; }
@media (max-width: 921px) { .ast-primary-header-bar .site-logo-img img { max-width: 165px !important; width: 165px; } .ast-logo-title-inline .ast-site-identity { padding: 14px 0 !important; } }
.fixed-header { box-shadow: 0 2px 18px rgba(0,0,0,.35) !important; }
/* Celular: botón del menú coral, menú desplegado en blanco */
.ast-mobile-menu-trigger-fill, .menu-toggle.ast-mobile-menu-trigger-fill { background: var(--ch-coral) !important; color: #fff !important; border-radius: 10px !important; }
.ast-mobile-menu-trigger-fill .mobile-menu-toggle-icon .ast-mobile-svg { fill: #fff !important; }
.ast-mobile-header-content, .ast-mobile-header-content .main-header-menu { background: #fff !important; }
.ast-mobile-header-content .menu-link { color: var(--ch-grafito) !important; border-color: var(--ch-linea) !important; }
.ast-mobile-header-content .menu-item.current-menu-item > .menu-link, .ast-mobile-header-content .menu-link:hover { background: var(--ch-marfil) !important; color: var(--ch-coral) !important; }

/* ---------- Botones ---------- */
.elementor-button, .ast-button, button.ast-button, .wpcf7-submit, input[type="submit"], .ast-custom-button, .read-more a, a.read_more, .abw-read-more, .elementor-widget-button .elementor-button {
  border-radius: 12px !important; font-weight: 600 !important; letter-spacing: .01em;
}
.wpcf7-submit, input[type="submit"] { background: var(--ch-grafito) !important; color: #fff !important; border: 0 !important; padding: 13px 26px !important; cursor: pointer; transition: background .15s; }
.wpcf7-submit:hover, input[type="submit"]:hover { background: #000 !important; }
.wpcf7 input:not([type="submit"]), .wpcf7 textarea, .wpcf7 select { border-radius: 12px !important; border: 1px solid var(--ch-linea) !important; background: #fff !important; color: var(--ch-grafito) !important; padding: 12px 14px !important; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border-color: var(--ch-coral) !important; outline: none; box-shadow: 0 0 0 3px rgba(223,70,97,.15); }

/* ---------- Fondos claros en marfil ---------- */
.elementor-section[style*="f8f8f6"], .e-con[style*="f8f8f6"] { background-color: var(--ch-marfil) !important; }

/* ---------- Tarjetas de alojamientos (listados y carruseles) ---------- */
.hotel_grid .e-con, .abw-blog-post, .abw_blog_posts article, .property-card, .abw-post-item {
  border-radius: 16px !important; overflow: hidden;
}
.abw-filter-btn, .abw-category-filter button, .abw-filter button { font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; border-radius: 999px !important; }

/* ---------- Pie: grafito con acentos coral ---------- */
footer#colophon, footer#colophon .site-primary-footer-wrap, footer#colophon .site-below-footer-wrap { background: var(--ch-grafito) !important; }
footer#colophon .site-below-footer-wrap { border-top: 1px solid rgba(255,255,255,.08) !important; }
footer#colophon, footer#colophon p, footer#colophon li, footer#colophon .ast-footer-copyright { color: var(--ch-bruma) !important; }
#colophon .site-primary-footer-wrap .widget-title { font-size: 15px !important; letter-spacing: .08em; font-weight: 700 !important; }
#colophon .site-primary-footer-wrap .widget-title:after { background: var(--ch-coral) !important; height: 3px !important; border-radius: 2px; }
#colophon .site-primary-footer-wrap .widget_nav_menu li.menu-item a.menu-link { color: #fff !important; font-size: 14px; line-height: 1.35; }
#colophon .site-primary-footer-wrap .widget_nav_menu li.menu-item a.menu-link:before {
  content: '' !important; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ch-coral); margin: 0 10px 2px 0; vertical-align: middle; font-family: inherit !important;
}
.footer_social a { background: var(--ch-coral) !important; }
.footer_social a:hover { background: var(--ch-coral-osc) !important; }
#colophon .footer_contact li:hover i, #colophon .footer_contact i { color: var(--ch-coral) !important; }

/* ---------- Detalles ---------- */
a { transition: color .15s; }
::selection { background: var(--ch-coral); color: #fff; }
#ast-scroll-top { background: var(--ch-grafito) !important; border-radius: 12px !important; }
.grecaptcha-badge { box-shadow: 0 2px 8px rgba(37,43,49,.18) !important; }
