/* ==========================================================================
   Cerritos del Mar - reconstructed Elementor page CSS
   The site's generated post-NNNN.css files (kit 11093, header 10478, footer 10571, home 11206,
   category grid 11312, archive 10840, single 11433, page 10656, 10414, 10465, 10539) were never
   archived. This file rebuilds them from surviving evidence:
     - brand colours sampled from the real logo (teal #1E92B9, lime #B3CF3E) and the surviving
       inline card shadow rgba(17,91,123) (#115B7B)
     - surviving inline CSS of loop templates 10844 / 11279 (Mulish 900, capitalize, #F7F7F7 cards,
       1em radius, #5F5F5F icons) and widget data-settings (carousel 3/2/1, grid 4/2/1,
       nav full-width + burger on tablet, footer "mountains" shape divider)
   ========================================================================== */

/* ---------- kit 11093 (global colours / type) ---------- */
.elementor-kit-11093 {
  --e-global-color-primary: #1E92B9;
  --e-global-color-secondary: #115B7B;
  --e-global-color-text: #4A4A4A;
  --e-global-color-accent: #B3CF3E;
  --e-global-color-56985de: #1E92B9;
  --e-global-typography-primary-font-family: "Mulish";
  --e-global-typography-primary-font-weight: 900;
  --e-global-typography-text-font-family: "Mulish";
  --e-global-typography-text-font-weight: 400;
  --kit-widget-spacing: 20px;
  --widgets-spacing: 20px 20px;
  --widgets-spacing-row: 20px;
  --widgets-spacing-column: 20px;
  color: var(--e-global-color-text);
  font-family: "Mulish", Sans-serif;
  font-size: 16px;
  line-height: 1.6;
  background-color: #FFFFFF;
}
.elementor-kit-11093 a { color: var(--e-global-color-primary); }
.elementor-kit-11093 a:hover { color: var(--e-global-color-secondary); }
.elementor-kit-11093 h1, .elementor-kit-11093 h2, .elementor-kit-11093 h3,
.elementor-kit-11093 h4, .elementor-kit-11093 h5, .elementor-kit-11093 h6 {
  font-family: "Mulish", Sans-serif; color: var(--e-global-color-secondary); font-weight: 900; line-height: 1.2;
}
.elementor-kit-11093 button, .elementor-kit-11093 input[type="submit"], .elementor-kit-11093 .elementor-button {
  font-family: "Mulish", Sans-serif; font-weight: 700; border-radius: 50px;
  background-color: var(--e-global-color-primary); color: #fff;
}
.elementor-kit-11093 .elementor-button:hover { background-color: var(--e-global-color-secondary); color: #fff; }
.elementor-kit-11093 input:not([type="button"]):not([type="submit"]) {
  font-family: "Mulish", Sans-serif; border-radius: 50px; border: 1px solid #D9E3E8;
}
.e-con { --container-max-width: 1200px; }
.elementor-widget:not(:last-child) { margin-block-end: var(--kit-widget-spacing, 20px); }
.elementor-element { --widgets-spacing: 20px 20px; --widgets-spacing-row: 20px; --widgets-spacing-column: 20px; }
.elementor-heading-title { font-family: "Mulish", Sans-serif; }
.site-main, .page-content, .entry-content { font-family: "Mulish", Sans-serif; }

/* ---------- header 10478 ---------- */
.elementor-10478 .elementor-element.elementor-element-463e9a3 {
  --display: flex; --padding-top: 14px; --padding-bottom: 14px; --padding-left: 20px; --padding-right: 20px;
  background: #FFFFFF; box-shadow: 0 4px 18px rgba(17, 91, 123, .08);
  position: sticky; top: 0; z-index: 99;
}
.admin-bar .elementor-10478 .elementor-element.elementor-element-463e9a3 { top: 32px; }
.elementor-10478 .elementor-element.elementor-element-ca84de2 {
  --display: flex; --flex-direction: row; --justify-content: space-between; --align-items: center;
  --flex-wrap: nowrap; --gap: 20px;
}
.elementor-10478 .elementor-element.elementor-element-7651db1 { width: auto; max-width: 240px; margin: 0 !important; }
.elementor-10478 .elementor-element.elementor-element-7651db1 img { width: 230px; max-width: 100%; height: auto; display: block; }
.elementor-10478 .elementor-element.elementor-element-bff370d { width: auto; margin: 0 !important; --e-nav-menu-horizontal-menu-item-margin: calc(8px / 2); }
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu .elementor-item {
  font-family: "Mulish", Sans-serif; font-size: 1.05rem; font-weight: 800; color: var(--e-global-color-secondary);
  padding: 10px 16px;
}
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--main .elementor-item:hover,
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--e-global-color-primary);
}
.elementor-10478 .elementor-element.elementor-element-bff370d .e--pointer-underline .elementor-item:after {
  background-color: var(--e-global-color-accent); height: 3px;
}
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-menu-toggle {
  background: transparent; color: var(--e-global-color-secondary); font-size: 30px; border-radius: 8px;
}
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-menu-toggle svg { fill: var(--e-global-color-secondary); }
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--dropdown {
  background: #FFFFFF; box-shadow: 0 12px 24px rgba(17, 91, 123, .12);
}
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--dropdown a {
  color: var(--e-global-color-secondary); font-weight: 800; font-size: 1.05rem; padding: 14px 24px;
  border-bottom: 1px solid #EEF3F5;
}
.elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--dropdown a:hover {
  background: var(--e-global-color-primary); color: #FFFFFF;
}
@media (max-width: 1024px) {
  /* full_width: "stretch" - the dropdown spans the viewport under the header */
  /* anchor the dropdown to the sticky header bar (463e9a3), not to the narrow nav widget */
  .elementor-10478 .elementor-element.elementor-element-463e9a3 .e-con-inner,
  .elementor-10478 .elementor-element.elementor-element-ca84de2,
  .elementor-10478 .elementor-element.elementor-element-bff370d,
  .elementor-10478 .elementor-element.elementor-element-bff370d > .elementor-widget-container { position: static !important; }
  .elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important; left: 0 !important; right: 0 !important; top: 100% !important;
    width: 100% !important; max-width: none !important; margin-top: 0 !important; z-index: 100;
  }
  .elementor-10478 .elementor-element.elementor-element-bff370d .elementor-nav-menu--dropdown .elementor-item { text-align: left; justify-content: flex-start; }
  .elementor-10478 .elementor-element.elementor-element-7651db1 img { width: 190px; }
}
.elementor-10478 .elementor-element.elementor-element-241110e { --display: flex; --padding-top: 0; --padding-bottom: 0; }
.elementor-10478 .elementor-element.elementor-element-e862fc4 { --spacer-size: 6px; }

/* ---------- home 11206 ---------- */
/* hero slider - full bleed */
.elementor-11206 .elementor-element.elementor-element-574c81b {
  --display: flex; --content-width: 100%; --container-max-width: 100%;
  --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0;
}
.elementor-11206 .elementor-element.elementor-element-574c81b > .e-con-inner { max-width: 100%; }
/* search + categories */
.elementor-11206 .elementor-element.elementor-element-f1be920 {
  --display: flex; --align-items: center; --padding-top: 60px; --padding-bottom: 40px; --gap: 24px;
}
.elementor-11206 .elementor-element.elementor-element-cbeca39 { text-align: center; }
.elementor-11206 .elementor-element.elementor-element-cbeca39 .elementor-heading-title {
  font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 900; color: var(--e-global-color-secondary);
}
.elementor-11206 .elementor-element.elementor-element-353055e { --display: flex; width: 100%; max-width: 720px; margin: 0 auto; }
.elementor-11206 .elementor-element.elementor-element-11332ea { width: 100%; }
/* platos destacados */
.elementor-11206 .elementor-element.elementor-element-610e6ed { --display: flex; --padding-top: 30px; --padding-bottom: 60px; --gap: 24px; }
.elementor-11206 .elementor-element.elementor-element-41dc899 { text-align: center; }
.elementor-11206 .elementor-element.elementor-element-41dc899 .elementor-heading-title {
  font-size: clamp(1.8rem, 3.6vw, 2.5rem); color: var(--e-global-color-secondary);
}
.elementor-11206 .elementor-element.elementor-element-092ab76 { width: 100%; --swiper-pagination-bullet-size: 10px; }
.elementor-11206 .elementor-element.elementor-element-092ab76 .swiper-pagination-bullet { background: var(--e-global-color-secondary); opacity: .35; }
.elementor-11206 .elementor-element.elementor-element-092ab76 .swiper-pagination-bullet-active { background: var(--e-global-color-primary); opacity: 1; }
.elementor-11206 .elementor-element.elementor-element-092ab76 .elementor-swiper-button { color: #FFFFFF; font-size: 26px; }
.elementor-11206 .elementor-element.elementor-element-092ab76 .elementor-swiper-button svg { fill: #FFFFFF; filter: drop-shadow(0 1px 3px rgba(0,0,0,.45)); }
/* location + hours */
.elementor-11206 .elementor-element.elementor-element-927f373 {
  --display: flex; --padding-top: 60px; --padding-bottom: 60px; background: #F4F8FA;
}
.elementor-11206 .elementor-element.elementor-element-b9a3a6a { --display: flex; --flex-direction: row; --gap: 40px; --align-items: stretch; --flex-wrap: wrap; }
.elementor-11206 .elementor-element.elementor-element-2f219c0 { --display: flex; --width: calc(50% - 20px); width: calc(50% - 20px); min-height: 420px; }
.elementor-11206 .elementor-element.elementor-element-3002bb8 { --display: flex; --width: calc(50% - 20px); width: calc(50% - 20px); --gap: 18px; }
.elementor-11206 .elementor-element.elementor-element-f763293 { width: 100%; height: 100%; margin: 0 !important; }
.elementor-11206 .elementor-element.elementor-element-f763293 iframe { height: 100%; min-height: 420px; border-radius: 1em; box-shadow: 0 0 10px rgba(17, 91, 123, .1); }
.elementor-11206 .elementor-element.elementor-element-161cff8 .elementor-heading-title { font-size: clamp(1.7rem, 3.2vw, 2.3rem); color: var(--e-global-color-secondary); }
.elementor-11206 .elementor-element.elementor-element-0aa7120 .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-6dac1dd .elementor-heading-title { font-size: 1.25rem; }
.elementor-11206 .elementor-element.elementor-element-dc93b30 .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-50e7347 .elementor-heading-title { color: var(--e-global-color-primary); font-weight: 900; }
/* rows: icon + text */
.elementor-11206 .elementor-element.elementor-element-6548000,
.elementor-11206 .elementor-element.elementor-element-20ccd72,
.elementor-11206 .elementor-element.elementor-element-846ddc8,
.elementor-11206 .elementor-element.elementor-element-bc7fb3b,
.elementor-11206 .elementor-element.elementor-element-6b40fcb,
.elementor-11206 .elementor-element.elementor-element-eec52ec,
.elementor-11206 .elementor-element.elementor-element-887969e {
  --display: flex; --flex-direction: row; --align-items: center; --gap: 6px 12px; --flex-wrap: wrap;
}
.elementor-11206 .elementor-element.elementor-element-0aa7120,
.elementor-11206 .elementor-element.elementor-element-6dac1dd {
  --display: flex; --gap: 8px; background: #FFFFFF; border-radius: 1em; --padding-top: 18px; --padding-bottom: 18px;
  --padding-left: 22px; --padding-right: 22px; box-shadow: 0 0 10px rgba(17, 91, 123, .1);
}
.elementor-11206 .e-con > .elementor-widget-icon, .elementor-11206 .e-con > .elementor-widget-heading { margin: 0 !important; }
.elementor-11206 .elementor-widget-icon .elementor-icon { font-size: 20px; color: var(--e-global-color-accent); }
.elementor-11206 .elementor-widget-icon .elementor-icon svg { fill: var(--e-global-color-primary); width: 20px; height: 20px; }
.elementor-11206 .elementor-element.elementor-element-e642fa9 .elementor-heading-title,
.elementor-11206 [class*="elementor-element-"] > .elementor-widget-container > span.elementor-heading-title { font-size: 1.02rem; font-weight: 600; color: var(--e-global-color-text); }
.elementor-11206 .elementor-element.elementor-element-be0b19b .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-020b238 .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-2890f7d .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-cf3157c .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-ac2112b .elementor-heading-title,
.elementor-11206 .elementor-element.elementor-element-a9b6e4b .elementor-heading-title { font-weight: 800; color: var(--e-global-color-secondary); }
/* about */
.elementor-11206 .elementor-element.elementor-element-eb4c449 { --display: flex; --align-items: center; --padding-top: 70px; --padding-bottom: 70px; --gap: 40px; }
.elementor-11206 .elementor-element.elementor-element-b143c7b img { width: 420px; max-width: 90%; }
.elementor-11206 .elementor-element.elementor-element-1c1b53d,
.elementor-11206 .elementor-element.elementor-element-a8dbd00 { --display: flex; --flex-direction: row; --align-items: center; --gap: 50px; --flex-wrap: wrap; width: 100%; }
.elementor-11206 .elementor-element.elementor-element-6e01a0e,
.elementor-11206 .elementor-element.elementor-element-e769eb7 { width: calc(50% - 25px); margin: 0 !important; }
.elementor-11206 .elementor-element.elementor-element-7e54900,
.elementor-11206 .elementor-element.elementor-element-b3c171f { --display: flex; width: calc(50% - 25px); }
.elementor-11206 .elementor-element.elementor-element-6e01a0e img,
.elementor-11206 .elementor-element.elementor-element-e769eb7 img { width: 100%; border-radius: 1em; box-shadow: 0 0 10px rgba(17, 91, 123, .1); aspect-ratio: 3 / 2; object-fit: cover; }
.elementor-11206 .elementor-element.elementor-element-076cb58,
.elementor-11206 .elementor-element.elementor-element-1dea569 { font-size: clamp(1.2rem, 2.2vw, 1.6rem); line-height: 1.5; color: var(--e-global-color-text); }
.elementor-11206 .elementor-element.elementor-element-076cb58 strong,
.elementor-11206 .elementor-element.elementor-element-076cb58 b,
.elementor-11206 .elementor-element.elementor-element-1dea569 strong,
.elementor-11206 .elementor-element.elementor-element-1dea569 b,
.elementor-11206 .elementor-element.elementor-element-076cb58 span,
.elementor-11206 .elementor-element.elementor-element-1dea569 span { color: var(--e-global-color-primary); font-weight: 900; }

/* ---------- loop item 11279 (platos destacados card) - base styles survived inline ---------- */
.elementor-11279 .elementor-element.elementor-element-9f817e6 { position: relative; overflow: hidden; }
.elementor-11279 .elementor-element.elementor-element-9f817e6::before {
  content: ""; position: absolute; inset: 0; background-color: var(--e-global-color-primary);
  opacity: 0; transition: opacity 1s; border-radius: inherit; z-index: 1;
}
.elementor-11279 .elementor-element.elementor-element-9f817e6:hover::before { opacity: .5; }

/* ---------- category grid 11312 (Gastronomia / Tiendas / Bares / Servicios) ---------- */
.elementor-11312 .elementor-element.elementor-element-189531e5 {
  --display: grid; --e-con-grid-template-columns: repeat(4, 1fr); --e-con-grid-template-rows: repeat(1, 1fr);
  --gap: 18px; --grid-auto-flow: row; width: 100%;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
}
.elementor-11312 .elementor-element.elementor-element-64682d39,
.elementor-11312 .elementor-element.elementor-element-5a236782,
.elementor-11312 .elementor-element.elementor-element-5a01c465,
.elementor-11312 .elementor-element.elementor-element-194fabab {
  --display: flex; --justify-content: center; --align-items: center; --min-height: 170px; min-height: 170px;
  position: relative; overflow: hidden; border-radius: 1em; text-decoration: none;
  background-size: cover; background-position: center; box-shadow: 0 0 10px rgba(17, 91, 123, .1);
  transition: transform .4s ease;
}
.elementor-11312 .elementor-element.elementor-element-64682d39 { background-image: url("/wp-content/uploads/restore/cat-gastronomia.jpg"); }
.elementor-11312 .elementor-element.elementor-element-5a236782 { background-image: url("/wp-content/uploads/restore/cat-tiendas.jpg"); }
.elementor-11312 .elementor-element.elementor-element-5a01c465 { background-image: url("/wp-content/uploads/restore/cat-bares.jpg"); }
.elementor-11312 .elementor-element.elementor-element-194fabab { background-image: url("/wp-content/uploads/restore/cat-servicios.jpg"); }
.elementor-11312 .e-con.e-child[href]::before {
  content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,91,123,.25), rgba(17,91,123,.72));
  transition: background .4s ease; z-index: 0;
}
.elementor-11312 .e-con.e-child[href]:hover { transform: translateY(-3px); }
.elementor-11312 .e-con.e-child[href]:hover::before { background: rgba(30, 146, 185, .72); }
.elementor-11312 .e-con.e-child[href] .elementor-widget-heading { position: relative; z-index: 1; margin: 0 !important; }
.elementor-11312 .e-con.e-child[href] .elementor-heading-title {
  color: #FFFFFF; font-size: 1.55rem; font-weight: 900; text-align: center; text-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* ---------- loop grid / shop cards 10844 (card styles survived inline) ---------- */
.elementor-widget-loop-grid .elementor-loop-container { gap: 24px; }
.elementor-10844 .elementor-element.elementor-element-860dad5 { margin: 0 !important; text-align: center; }
.elementor-10844 .elementor-element.elementor-element-860dad5 img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.elementor-10844 .elementor-element.elementor-element-860dad5 > .elementor-widget-container { transition: transform .8s; }
.elementor-10844 .elementor-element.elementor-element-860dad5 > .elementor-widget-container:hover { transform: scale(1.075); }
.elementor-10844 .elementor-element.elementor-element-966587e { margin: 0 !important; }
.elementor-10844 .elementor-element.elementor-element-966587e a { color: inherit; }
.elementor-10844 .elementor-element.elementor-element-d9ff3bc .elementor-widget { margin: 0 !important; }
.elementor-10844 .elementor-widget-icon > .elementor-widget-container { transition: transform .8s; }
.elementor-10844 .elementor-widget-icon > .elementor-widget-container:hover { transform: scale(1.2); }

/* ---------- archive 10840 (establecimientos/<cat>, tipo-de-informe/<term>) ---------- */
.elementor-10840 .elementor-element.elementor-element-b877bf2 { --display: flex; --padding-top: 50px; --padding-bottom: 40px; --gap: 30px; }
.elementor-10840 .elementor-element.elementor-element-68da950 { text-align: center; }
.elementor-10840 .elementor-element.elementor-element-68da950 .elementor-heading-title {
  font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 900; color: var(--e-global-color-secondary); text-transform: capitalize;
}
.elementor-10840 .elementor-element.elementor-element-68da950 .elementor-heading-title::after {
  content: ""; display: block; width: 70px; height: 5px; border-radius: 5px; margin: 14px auto 0; background: var(--e-global-color-accent);
}
.elementor-10840 .elementor-element.elementor-element-3082551 { --display: flex; --padding-top: 10px; --padding-bottom: 60px; --gap: 30px; }
.elementor-10840 .elementor-element.elementor-element-3b119f3 { --divider-border-style: solid; --divider-color: #E3ECF0; --divider-border-width: 1px; }
.elementor-10840 .elementor-element.elementor-element-eb987d1 { width: 100%; }

/* ---------- single establecimiento 11433 ---------- */
.elementor-11433 .elementor-element.elementor-element-0b81eb4 { --display: flex; --padding-top: 50px; --padding-bottom: 40px; }
.elementor-11433 .elementor-element.elementor-element-f6d65f7 { --display: flex; --flex-direction: row; --align-items: center; --gap: 50px; --flex-wrap: wrap; }
.elementor-11433 .elementor-element.elementor-element-c2eaa6d { --display: flex; width: calc(40% - 25px); }
.elementor-11433 .elementor-element.elementor-element-0fd3cb8 { --display: flex; width: calc(60% - 25px); --gap: 22px; }
.elementor-11433 .elementor-element.elementor-element-2b4a28b { margin: 0 !important; text-align: center; }
.elementor-11433 .elementor-element.elementor-element-2b4a28b img {
  width: 100%; max-width: 420px; border-radius: 1em; background: #F7F7F7; box-shadow: 0 0 10px rgba(17, 91, 123, .1);
}
.elementor-11433 .elementor-element.elementor-element-71d9bfc .elementor-heading-title {
  font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 900; text-transform: capitalize; color: var(--e-global-color-56985de);
}
.elementor-11433 .elementor-element.elementor-element-2208de8 { --display: flex; --flex-direction: row; --gap: 12px; --flex-wrap: wrap; }
.elementor-11433 .elementor-element.elementor-element-2208de8 .elementor-widget { margin: 0 !important; }
.elementor-11433 .elementor-button {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 24px; font-size: 1rem; font-weight: 800;
  background: var(--e-global-color-primary); color: #FFFFFF; border-radius: 50px; transition: background .3s;
}
.elementor-11433 .elementor-button:hover { background: var(--e-global-color-secondary); color: #FFFFFF; }
.elementor-11433 .elementor-button-icon svg { width: 20px; height: 20px; }
.elementor-11433 .elementor-button-icon svg path, .elementor-11433 .elementor-button-icon svg rect { fill: currentColor; }
.elementor-11433 .elementor-element.elementor-element-149cca9 .elementor-share-btn {
  display: inline-flex; align-items: center; height: 46px; border-radius: 50px; cursor: pointer;
  background: #25D366; color: #FFFFFF; padding: 0 22px 0 14px; font-weight: 800;
}
.elementor-11433 .elementor-element.elementor-element-149cca9 .elementor-share-btn svg { fill: #FFFFFF; width: 22px; height: 22px; }
.elementor-11433 .elementor-element.elementor-element-378f273 { --display: flex; --padding-top: 20px; --padding-bottom: 60px; --gap: 30px; }
.elementor-11433 .elementor-element.elementor-element-2bd461b { text-align: center; }
.elementor-11433 .elementor-element.elementor-element-2bd461b .elementor-heading-title { font-size: clamp(1.7rem, 3.4vw, 2.3rem); color: var(--e-global-color-secondary); }
.elementor-11433 .elementor-element.elementor-element-c53dbb4 { --divider-border-style: solid; --divider-color: #E3ECF0; --divider-border-width: 1px; }
.elementor-11433 .elementor-element.elementor-element-1a8358b { width: 100%; }

/* ---------- generic single page 10656 (miembros, restablecer contraseña, no existe, ...) ---------- */
.elementor-10656 .elementor-element.elementor-element-fe2dda0 { --display: flex; --padding-top: 50px; --padding-bottom: 10px; }
.elementor-10656 .elementor-element.elementor-element-b69b1ea { text-align: center; }
.elementor-10656 .elementor-element.elementor-element-b69b1ea .elementor-heading-title { font-size: clamp(2rem, 4.5vw, 3rem); color: var(--e-global-color-secondary); }
.elementor-10656 .elementor-element.elementor-element-5c467db { --display: flex; --padding-top: 10px; --padding-bottom: 70px; min-height: 30vh; }

/* ---------- owner portal pages 10414 (asamblea) / 10465 (registro) - canvas template ---------- */
.elementor-10414 .elementor-element.elementor-element-3282b8a,
.elementor-10465 .elementor-element.elementor-element-75fdfd2 {
  --display: flex; --align-items: center; --justify-content: center; min-height: 100vh;
  --padding-top: 60px; --padding-bottom: 60px;
  background: linear-gradient(160deg, #F4F8FA 0%, #E6F2F7 55%, #EEF5DC 100%);
}
.elementor-10414 .elementor-element.elementor-element-8e0595a img,
.elementor-10465 .elementor-element.elementor-element-1f1d67f img { width: 300px; max-width: 80vw; }
.elementor-10414 .elementor-element.elementor-element-fd89239,
.elementor-10465 .elementor-element.elementor-element-4f1f806 {
  width: 100% !important; max-width: 460px !important; margin-left: auto !important; margin-right: auto !important;
  background: #FFFFFF; border-radius: 1em; padding: 30px 28px; box-shadow: 0 0 10px rgba(17, 91, 123, .1);
}
/* Ultimate Member keeps forms at opacity:0 until its JS (not shipped on the static site) reveals them */
.um { opacity: 1 !important; }
.um .um-form { max-width: 100%; }
.um .um-field { padding-top: 14px; }
.um .um-col-alt { margin-top: 18px; display: flex; gap: 10px; flex-wrap: wrap; }
.um .um-col-alt .um-left, .um .um-col-alt .um-right { float: none; width: auto; flex: 1 1 150px; }
.um .um-button, .um input[type=submit].um-button, .um a.um-button { background: var(--e-global-color-primary) !important; border-radius: 50px !important; font-family: "Mulish", Sans-serif !important; font-weight: 800 !important; }
.um .um-button.um-alt, .um input[type=submit].um-button.um-alt { background: #EEF3F5 !important; color: var(--e-global-color-secondary) !important; }
.um .um-field-label label { font-family: "Mulish", Sans-serif; color: var(--e-global-color-secondary); font-weight: 700; }
.um input[type=text].um-form-field, .um input[type=password].um-form-field, .um input[type=email].um-form-field { border-radius: 10px !important; font-family: "Mulish", Sans-serif; }
.um a.um-link-alt { color: var(--e-global-color-primary) !important; }

/* ---------- en-construccion 10539 ---------- */
.elementor-10539 .elementor-element.elementor-element-5d647fc4 {
  --display: flex; --align-items: center; --justify-content: center; --gap: 24px; min-height: 100vh;
  --padding-top: 40px; --padding-bottom: 40px; background: #FFFFFF; text-align: center;
}
.elementor-10539 .elementor-element.elementor-element-575372f5 img { width: 520px; max-width: 86vw; }
.elementor-10539 .elementor-element.elementor-element-3fd88561 img { width: 280px; max-width: 70vw; }
.elementor-10539 .elementor-element.elementor-element-36055be3 { font-size: clamp(1.3rem, 3vw, 1.9rem); font-weight: 800; color: var(--e-global-color-secondary); }

/* ---------- footer 10571 ---------- */
.elementor-10571 .elementor-element.elementor-element-63129a3 {
  --display: flex; --min-height: 90px; min-height: 90px; --padding-top: 0; --padding-bottom: 0; background: transparent; position: relative;
}
.elementor-10571 .elementor-element.elementor-element-63129a3 > .e-con-inner > .elementor-shape-bottom,
.elementor-10571 .elementor-element.elementor-element-63129a3 > .elementor-shape-bottom { bottom: -1px; }
.elementor-10571 .elementor-element.elementor-element-63129a3 .elementor-shape-bottom .elementor-shape-fill { fill: var(--e-global-color-secondary); }
.elementor-10571 .elementor-element.elementor-element-63129a3 .elementor-shape-bottom svg { width: calc(100% + 1.3px); height: 90px; }
.elementor-10571 .elementor-element.elementor-element-43187c3 {
  --display: flex; --padding-top: 30px; --padding-bottom: 40px; background-color: var(--e-global-color-secondary); color: #FFFFFF;
}
.elementor-10571 .elementor-element.elementor-element-43187c3 > .e-con-inner { flex-direction: row; flex-wrap: wrap; gap: 40px; justify-content: space-between; }
.elementor-10571 .elementor-element.elementor-element-91af24d { --display: flex; width: calc(35% - 20px); --gap: 22px; }
.elementor-10571 .elementor-element.elementor-element-2706337 { --display: flex; width: calc(65% - 20px); --gap: 14px; }
.elementor-10571 .elementor-element.elementor-element-4439175 img { width: 300px; max-width: 100%; }
.elementor-10571 .elementor-element.elementor-element-72d3654 { --icon-size: 20px; --grid-column-gap: 12px; }
.elementor-10571 .elementor-element.elementor-element-72d3654 .elementor-social-icons-wrapper { display: flex !important; flex-direction: row; flex-wrap: wrap; gap: 12px; }
.elementor-10571 .elementor-element.elementor-element-72d3654 .elementor-social-icon { background: rgba(255,255,255,.12); --icon-padding: .6em; border-radius: 50%; }
.elementor-10571 .elementor-element.elementor-element-72d3654 .elementor-social-icon:hover { background: var(--e-global-color-accent); }
.elementor-10571 .elementor-element.elementor-element-72d3654 .elementor-social-icon svg { fill: #FFFFFF; }
.elementor-10571 .elementor-element.elementor-element-ff6627d .elementor-heading-title { color: #FFFFFF; font-size: 1.6rem; font-weight: 900; }
.elementor-10571 .elementor-element.elementor-element-fbc0139 { --divider-border-style: solid; --divider-color: var(--e-global-color-accent); --divider-border-width: 3px; --divider-pattern-height: 3px; }
.elementor-10571 .elementor-element.elementor-element-fbc0139 .elementor-divider-separator { width: 70px; border-radius: 3px; }
.elementor-10571 .elementor-element.elementor-element-7fc4491 { --display: flex; --flex-direction: row; --gap: 30px; --flex-wrap: wrap; }
.elementor-10571 .elementor-element.elementor-element-cd5beca,
.elementor-10571 .elementor-element.elementor-element-7a628af,
.elementor-10571 .elementor-element.elementor-element-5b1ee50 { --display: flex; --gap: 6px; flex: 1 1 180px; }
.elementor-10571 .elementor-element.elementor-element-2706337 .elementor-widget { margin: 0 !important; }
.elementor-10571 .elementor-element.elementor-element-37e6524 .elementor-heading-title,
.elementor-10571 .elementor-element.elementor-element-800df5a .elementor-heading-title,
.elementor-10571 .elementor-element.elementor-element-d948c03 .elementor-heading-title { color: var(--e-global-color-accent); font-size: 1rem; font-weight: 900; }
.elementor-10571 .elementor-widget-text-editor { color: #E6F1F5; font-size: .98rem; }
.elementor-10571 .elementor-widget-text-editor a { color: #FFFFFF; word-break: break-word; }
.elementor-10571 .elementor-widget-text-editor a:hover { color: var(--e-global-color-accent); }
.elementor-10571 .elementor-widget-text-editor p { margin: 0; }
.elementor-10571 .elementor-element.elementor-element-6de5a2f {
  --display: flex; --padding-top: 14px; --padding-bottom: 14px; background-color: #0D4A64;
}
.elementor-10571 .elementor-element.elementor-element-6de5a2f > .e-con-inner { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
.elementor-10571 .elementor-element.elementor-element-6de5a2f .elementor-widget { margin: 0 !important; color: #BFD8E2; font-size: .9rem; }
.elementor-10571 .elementor-element.elementor-element-6de5a2f a { color: #FFFFFF; }

/* ---------- theme default single (plato-destacado, informe-de-gestion) ---------- */
.single .site-main, .page .site-main.post, body:not(.elementor-page) .site-main { max-width: 1140px; margin: 0 auto; padding: 50px 20px 70px; }
.single .page-header .entry-title, body:not(.elementor-page) .page-header .entry-title {
  font-family: "Mulish", Sans-serif; font-weight: 900; color: var(--e-global-color-secondary); font-size: clamp(2rem, 4.5vw, 3rem);
}

/* ---------- search widget (Elementor Pro e-search) ---------- */
.elementor-widget-search {
  --e-search-submit-background-color: var(--e-global-color-primary);
  --e-search-submit-background-color-hover: var(--e-global-color-secondary);
  --e-search-submit-text-color: #FFFFFF;
  --e-search-submit-border-radius: 50px;
  --e-search-input-border-radius: 50px;
  --e-search-input-border-color: #D9E3E8;
  --e-search-input-border-color-focus: var(--e-global-color-primary);
}
.elementor-widget-search .e-search-form { display: flex; gap: 10px; }
.elementor-widget-search .e-search-input-wrapper { position: relative; flex: 1; }
.elementor-widget-search .e-search-input {
  width: 100%; height: 56px; padding: 0 22px; font-size: 1.05rem; border: 2px solid #D9E3E8 !important;
  border-radius: 50px !important; font-family: "Mulish", Sans-serif; background: #FFFFFF;
}
.elementor-widget-search .e-search-input:focus { outline: none; border-color: var(--e-global-color-primary) !important; }
.elementor-widget-search .e-search-input-wrapper > svg { display: none; }
.elementor-widget-search .e-search-submit {
  height: 56px; padding: 0 28px; border: 0; border-radius: 50px; background: var(--e-global-color-primary);
  color: #FFFFFF; font-weight: 800; font-size: 1.05rem; cursor: pointer; font-family: "Mulish", Sans-serif;
}
.elementor-widget-search .e-search-submit:hover { background: var(--e-global-color-secondary); }
.elementor-widget-search .e-search-results-container {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 50; background: #FFFFFF; border-radius: 14px;
  box-shadow: 0 12px 30px rgba(17, 91, 123, .18); overflow: hidden; display: none;
}
.elementor-widget-search .e-search-results-container.cdm-open { display: block; }
.cdm-sr-item { display: flex; align-items: center; gap: 12px; padding: 10px 16px; color: var(--e-global-color-secondary) !important; text-decoration: none; font-weight: 800; }
.cdm-sr-item:hover, .cdm-sr-item.cdm-active { background: #F1F7FA; }
.cdm-sr-item img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.cdm-sr-item small { display: block; font-weight: 600; color: #7A8A91; text-transform: none; }
.cdm-sr-empty { padding: 14px 18px; color: #7A8A91; }

/* ---------- offline-form notice ---------- */
.cdm-notice {
  margin: 14px 0 0; padding: 14px 16px; border-radius: 12px; background: #EEF7FB; color: var(--e-global-color-secondary);
  border-left: 4px solid var(--e-global-color-primary); font-family: "Mulish", Sans-serif; font-size: .96rem; line-height: 1.5;
}
.cdm-notice a { font-weight: 800; }

/* ---------- responsive ---------- */
@media (max-width: 1024px) {
  .elementor-11312 .elementor-element.elementor-element-189531e5 { grid-template-columns: repeat(2, 1fr); --e-con-grid-template-columns: repeat(2, 1fr); }
  .elementor-11206 .elementor-element.elementor-element-2f219c0,
  .elementor-11206 .elementor-element.elementor-element-3002bb8 { width: 100%; --width: 100%; }
  .elementor-10571 .elementor-element.elementor-element-91af24d,
  .elementor-10571 .elementor-element.elementor-element-2706337 { width: 100%; }
}
@media (max-width: 767px) {
  .elementor-11206 .elementor-element.elementor-element-6e01a0e,
  .elementor-11206 .elementor-element.elementor-element-e769eb7,
  .elementor-11206 .elementor-element.elementor-element-7e54900,
  .elementor-11206 .elementor-element.elementor-element-b3c171f,
  .elementor-11433 .elementor-element.elementor-element-c2eaa6d,
  .elementor-11433 .elementor-element.elementor-element-0fd3cb8 { width: 100%; }
  .elementor-11206 .elementor-element.elementor-element-a8dbd00 { flex-direction: column-reverse; --flex-direction: column-reverse; }
  .elementor-11433 .elementor-element.elementor-element-0fd3cb8 { text-align: center; --align-items: center; }
  .elementor-11433 .elementor-element.elementor-element-2208de8 { --justify-content: center; }
  .elementor-11312 .elementor-element.elementor-element-189531e5 { gap: 12px; }
  .elementor-11312 .e-con.e-child[href] { min-height: 130px; --min-height: 130px; }
  .elementor-11312 .e-con.e-child[href] .elementor-heading-title { font-size: 1.25rem; }
  .elementor-widget-search .e-search-submit { padding: 0 18px; }
  .elementor-11206 .elementor-element.elementor-element-f1be920 { --padding-top: 40px; }
  .elementor-10571 .elementor-element.elementor-element-6de5a2f > .e-con-inner { justify-content: center; text-align: center; }
}
