/* ===================================================================
   Selva Real Estate — Playa del Carmen
   Hoja de estilos — sitio de producción standalone
   Sitio independiente de Selva Real Estate
   =================================================================== */

*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Public Sans',sans-serif;color:#14191C;background:#FAFAF9}
h1,h2,h3{font-family:'Spectral',serif;margin:0;font-weight:600}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
p{margin:0}
:root{
  --ink:#14191C;--brand:#008AAE;--deep:#006A86;
  --accent:#E35B3F;--accent-dark:#B6401F;--accent-light:#FFD9CC;
  --paper:#FAFAF9;--altbg:#F1F4F4;--line:#E2E6E6;
}
a:focus-visible,button:focus-visible,label:focus-within{outline:3px solid var(--accent);outline-offset:2px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(250,250,249,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:1180px;margin:0 auto;padding:.9rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.7rem}
.brand-mark{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-family:'Spectral',serif;font-weight:700;font-size:1.08rem;letter-spacing:.03em;color:var(--deep)}
.brand-text em{font-style:normal;font-size:.66rem;color:var(--accent-dark);letter-spacing:.15em;text-transform:uppercase;font-weight:600}
.nav-toggle-input{position:absolute;opacity:0;width:1px;height:1px}
.nav-toggle-btn{display:none;flex-direction:column;gap:5px;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;border-radius:8px}
.nav-toggle-btn span{width:23px;height:2px;background:var(--ink);display:block;border-radius:2px}
.nav-toggle-input:focus-visible ~ .nav-toggle-btn{outline:3px solid var(--accent);outline-offset:2px}
.nav-links{display:flex;align-items:center;gap:1.55rem;flex-wrap:nowrap}
.nav-links a:not(.nav-cta){font-size:.92rem;font-weight:500;color:var(--ink);white-space:nowrap}
.nav-links a:not(.nav-cta):hover{color:var(--accent-dark)}
.language-switcher{display:flex;align-items:center;gap:.2rem;margin-left:auto;order:2;color:#697176;font-size:.7rem;font-weight:700;letter-spacing:.08em}
.language-option{border:0;background:transparent;color:#697176;padding:.25rem .15rem;font:700 .7rem 'Public Sans',sans-serif;letter-spacing:.08em;cursor:pointer}
.language-option:hover,.language-option.is-active{color:var(--deep)}
.language-option.is-active{border-bottom:2px solid var(--accent)}
.nav-links>a:not(.nav-cta){order:1}
.nav-links>.nav-cta{order:3}
.nav-cta{background:var(--deep);color:#fff;padding:.65rem 1.3rem;border-radius:30px;font-weight:600;font-size:.85rem;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s ease;white-space:nowrap}
.nav-cta:hover{background:var(--accent-dark)}
.nav-cta svg{width:16px;height:16px}
@media (max-width:1100px){
  .nav-toggle-btn{display:flex}
  .nav-links{position:fixed;top:68px;left:0;right:0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:0 16px 30px rgba(10,12,13,.14)}
  .nav-toggle-input:checked ~ .nav-links{max-height:480px;padding:.5rem 0 1.4rem}
  .language-switcher{order:0;margin:0;justify-content:center;padding:.5rem 1.6rem}
  .nav-links a:not(.nav-cta){padding:1rem 1.6rem;border-bottom:1px solid var(--line)}
  .nav-cta{margin:1rem 1.6rem 0;justify-content:center}
}
@media (max-width:360px){ .brand-text em{display:none} }

/* ---------- hero selva elevated ---------- */
.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;justify-content:space-between;padding:5.5rem 3rem 2.5rem;background-size:cover;background-position:center;box-sizing:border-box}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,26,32,.18) 0%,rgba(5,26,32,.38) 50%,rgba(5,22,28,.68) 100%)}
.hero-inner{position:relative;z-index:2;max-width:760px;margin:auto 0 2rem}
.hero-meta-badge{display:inline-flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.35rem .9rem;border-radius:30px;border:1px solid rgba(255,255,255,.25);color:#E1F4F8;font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.2rem}
.hero-meta-badge .meta-dot{width:7px;height:7px;border-radius:50%;background:#00B2DB;box-shadow:0 0 10px #00B2DB}
.hero-meta-badge .meta-sep{opacity:.4}
.hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.12;margin:0;letter-spacing:-.01em;font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.hero-subtext{color:#E5F0F2;margin-top:1.2rem;font-size:1.1rem;line-height:1.7;max-width:620px;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.hero-quick-filters{display:flex;gap:.8rem;margin-top:2.2rem;flex-wrap:wrap;align-items:center}
.quick-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:8px;font-weight:700;font-size:.9rem;transition:all .2s ease;text-decoration:none}
.quick-pill-accent{background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(227,91,63,.35)}
.quick-pill-accent:hover{background:var(--accent-dark);transform:translateY(-2px)}
.quick-pill-ghost{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.4);color:#fff}
.quick-pill-ghost:hover{background:rgba(255,255,255,.22);border-color:#fff;transform:translateY(-2px)}
.quick-pill-wa{background:#1E4A33;color:#fff;border:1.5px solid rgba(255,255,255,.2);box-shadow:0 8px 20px rgba(30,74,51,.35)}
.quick-pill-wa:hover{background:#276043;transform:translateY(-2px)}
.quick-pill svg{width:16px;height:16px}
.pwa-install{display:flex;align-items:flex-start;gap:.7rem;margin-top:1rem;max-width:620px}
.pwa-install[hidden],.pwa-install-help[hidden]{display:none}
.pwa-install-button{border:0;border-bottom:1px solid rgba(255,255,255,.55);padding:.25rem 0;background:transparent;color:#E5F0F2;font:600 .82rem 'Public Sans',sans-serif;cursor:pointer;text-align:left}
.pwa-install-button:hover{color:#fff;border-bottom-color:#fff}
.pwa-install-help{margin:0;color:#E5F0F2;font-size:.78rem;line-height:1.5;max-width:390px}

.hero-status-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;background:rgba(8,30,36,.65);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:1.2rem 1.8rem;max-width:880px}
.status-col{display:flex;flex-direction:column;gap:.2rem}
.status-num{font-family:'Spectral',serif;font-weight:700;color:#fff;font-size:1.05rem}
.status-lbl{font-size:.75rem;color:#A9C9D1;letter-spacing:.04em;text-transform:uppercase;font-weight:500}

@media (max-width:900px){
  .hero{padding:2.5rem 1.5rem 2rem;min-height:auto}
  .hero-inner{margin:1rem 0 2rem}
  .hero-status-strip{grid-template-columns:1fr;gap:.8rem;padding:1rem 1.2rem}
}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.8rem;border-radius:4px;font-weight:700;font-size:.95rem;transition:transform .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:var(--ink)}
.btn-accent:hover{background:var(--accent-dark);color:#fff}
.btn-ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn svg{width:17px;height:17px}

/* ---------- sections, generic ---------- */
.section{padding:5.5rem 2.5rem}
.section-head{max-width:640px;margin:0 auto 3rem;text-align:center}
.eyebrow{color:var(--accent-dark);font-weight:700;letter-spacing:.14em;font-size:.78rem;text-transform:uppercase}
.section h2{font-size:clamp(1.8rem,3.4vw,2.45rem);margin-top:.5rem}
.section-sub{color:#4A5156;margin-top:.9rem;line-height:1.7;font-size:1.01rem}
@media (max-width:820px){ .section{padding:4rem 1.5rem} .nav-inner{padding:.8rem 1.4rem} }

/* ---------- catalog / tabs ---------- */
.catalog{background:var(--paper)}
.tab-input{position:absolute;opacity:0;width:1px;height:1px}
.tabs-row{display:flex;justify-content:center;margin-bottom:2.8rem}
.tab-labels{display:inline-flex;background:var(--altbg);padding:.35rem;border-radius:40px;gap:.3rem}
.tab-label{padding:.75rem 1.7rem;border-radius:30px;font-weight:600;font-size:.92rem;cursor:pointer;color:var(--ink);transition:background .2s ease,color .2s ease;min-height:44px;display:flex;align-items:center}
.tab-label svg{width:16px;height:16px;margin-right:.45rem;flex:none}
#tab-venta:checked ~ .tabs-row .tab-label[for="tab-venta"]{background:var(--deep);color:#fff}
#tab-renta:checked ~ .tabs-row .tab-label[for="tab-renta"]{background:var(--accent);color:var(--ink)}
.tab-input:focus-visible ~ .tabs-row{outline:3px solid var(--accent);outline-offset:4px;border-radius:40px}
.catalog-tabs .tab-panel{display:none}
#tab-venta:checked ~ .panel-venta{display:grid}
#tab-renta:checked ~ .panel-renta{display:grid}

.prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;max-width:1180px;margin:0 auto}
.panel-renta.prop-grid{grid-template-columns:repeat(2,1fr);max-width:760px}
@media (max-width:980px){ .prop-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .prop-grid,.panel-renta.prop-grid{grid-template-columns:1fr} }
.prop-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.prop-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(10,12,13,.13)}
.prop-card.card-venta{border-top-color:var(--deep)}
.prop-card.card-renta{border-top-color:var(--accent)}
.prop-media{height:200px;position:relative;background-size:cover;background-position:center}
.prop-image{width:100%;height:100%;object-fit:cover;display:block}
.prop-gallery-thumbs{position:absolute;right:.7rem;bottom:.7rem;left:.7rem;display:flex;gap:.35rem;overflow-x:auto;padding-bottom:.15rem;z-index:2;scrollbar-width:thin;scroll-snap-type:x proximity}
.prop-gallery-thumb{width:38px;height:30px;flex:0 0 38px;padding:0;border:2px solid rgba(255,255,255,.7);border-radius:4px;background-size:cover;background-position:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25);scroll-snap-align:start}
.prop-gallery-thumb.is-active{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}
.prop-tag{position:absolute;top:.9rem;left:.9rem;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.32rem .65rem;border-radius:4px}
.prop-tag-venta{background:var(--deep);color:#fff}
.prop-tag-renta{background:var(--accent);color:var(--ink)}
.prop-body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.prop-zone{font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark)}
.prop-title{font-family:'Spectral',serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin-top:.1rem}
.prop-specs{font-size:.88rem;color:#565B5E}
.prop-foot{margin-top:auto;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:.6rem}
.prop-price{font-weight:700;color:var(--deep);font-size:.96rem}
.prop-link{font-weight:600;font-size:.84rem;color:var(--deep)}
.prop-link:hover{color:var(--accent-dark)}
.catalog-note{max-width:640px;margin:2.6rem auto 0;text-align:center;font-size:.9rem;color:#5B6166;line-height:1.65}
.catalog-status{grid-column:1/-1;margin:0 auto;padding:1.2rem 1.4rem;text-align:center;color:#5B6166;line-height:1.6}

/* ---------- featured development ---------- */
.featured-development{background:#fff}
.brochure-card{max-width:980px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:2.8rem;align-items:center;background:var(--altbg);border:1px solid var(--line);border-radius:12px;padding:1.2rem;overflow:hidden}
.brochure-cover{background:#DCE8EA;border-radius:8px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 12px 28px rgba(10,12,13,.12)}
.brochure-cover img{width:100%;height:100%;object-fit:cover;display:block}
.brochure-body{padding:1.4rem 1.8rem 1.4rem 0}
.brochure-label{color:var(--accent-dark);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.brochure-body h3{font-size:clamp(1.6rem,3vw,2.2rem);margin:.55rem 0 .75rem;color:var(--ink)}
.brochure-body p{color:#4A5156;line-height:1.7;font-size:.98rem}
.brochure-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.brochure-links .brochure-link{margin-top:0}
.brochure-link-secondary{border:1.5px solid var(--deep);color:var(--deep)}
.brochure-link-secondary:hover{background:var(--deep);color:#fff}
.brochure-body small{display:block;margin-top:1rem;color:#6A7073;font-size:.76rem;line-height:1.5}
@media (max-width:700px){
  .brochure-card{grid-template-columns:1fr;gap:1.5rem;padding:.8rem}
  .brochure-cover{max-width:300px;margin:0 auto;width:100%}
  .brochure-body{padding:.4rem .8rem 1rem}
  .brochure-links{flex-direction:column}
  .brochure-links .brochure-link{justify-content:center;width:100%}
}

/* ---------- autos (renta de autos) ---------- */
.autos{background:var(--altbg)}
.autos-cta-row{display:flex;justify-content:center}
.autos-toggle-input{position:absolute;opacity:0;width:1px;height:1px}
.autos-toggle-input:focus-visible ~ .autos-cta-row .autos-toggle-btn{outline:3px solid var(--accent-dark);outline-offset:3px}
.autos-toggle-btn{cursor:pointer;user-select:none;border:none}
.autos-toggle-btn .label-open{display:none}
#autos-toggle:checked ~ .autos-cta-row .autos-toggle-btn .label-closed{display:none}
#autos-toggle:checked ~ .autos-cta-row .autos-toggle-btn .label-open{display:inline-flex}
.autos-toggle-btn svg{width:16px;height:16px;transition:transform .25s ease}
#autos-toggle:checked ~ .autos-cta-row .autos-toggle-btn svg{transform:rotate(180deg)}

.autos-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.4,0,.2,1)}
.autos-collapse-inner{overflow:hidden}
#autos-toggle:checked ~ .autos-collapse{grid-template-rows:1fr}

.autos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;max-width:1180px;margin:2.8rem auto 0}
@media (max-width:980px){ .autos-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .autos-grid{grid-template-columns:1fr} }

.auto-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.auto-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(10,12,13,.12)}
.auto-card.cat-economico{border-top-color:var(--deep)}
.auto-card.cat-suv{border-top-color:var(--accent)}
.auto-card.cat-grupal{border-top-color:var(--ink)}
.auto-media{position:relative;height:108px;display:flex;align-items:center;justify-content:center}
.auto-image{width:100%;height:100%;object-fit:cover;display:block}
.auto-reference-note{position:absolute;right:.65rem;bottom:.6rem;font-size:.58rem;line-height:1.2;padding:.22rem .4rem;border-radius:4px;background:rgba(255,255,255,.9);color:var(--ink)}
.auto-media[style*="background-image"]{background-size:cover;background-position:center}
.auto-media[style*="background-image"] .auto-tag{background:rgba(255,255,255,.92)}
.auto-card.cat-economico .auto-media{background:rgba(0,106,134,.08)}
.auto-card.cat-suv .auto-media{background:rgba(227,91,63,.09)}
.auto-card.cat-grupal .auto-media{background:rgba(20,25,28,.07)}
.auto-icon{width:54px;height:30px}
.auto-card.cat-economico .auto-icon{color:var(--deep)}
.auto-card.cat-suv .auto-icon{color:var(--accent-dark)}
.auto-card.cat-grupal .auto-icon{color:var(--ink)}
.auto-tag{position:absolute;top:.65rem;left:.65rem;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.28rem .5rem;border-radius:4px;background:rgba(255,255,255,.9);color:var(--ink)}
.auto-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.auto-title{font-family:'Spectral',serif;font-size:.95rem;font-weight:600;color:var(--ink)}
.auto-specs{font-size:.8rem;color:#565B5E;line-height:1.4}
.auto-foot{margin-top:auto;padding-top:.85rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);gap:.5rem}
.auto-price{font-weight:700;color:var(--deep);font-size:.85rem}
.autos-note{max-width:640px;margin:2.2rem auto 0;text-align:center;font-size:.9rem;color:#5B6166;line-height:1.65}

/* ---------- zones ---------- */
.zones{background:var(--altbg)}
.zone-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;max-width:1180px;margin:0 auto}
@media (max-width:980px){ .zone-chips{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .zone-chips{grid-template-columns:1fr} }
.zone-chip{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;padding:1.6rem 1.4rem}
.zone-chip .chip-index{display:block;font-family:'Spectral',serif;font-style:italic;color:var(--accent-dark);font-size:.88rem;margin-bottom:.6rem}
.zone-chip strong{font-family:'Spectral',serif;font-size:1.05rem;color:var(--deep);display:block;margin-bottom:.45rem}
.zone-chip span{font-size:.86rem;color:#5B6166;line-height:1.55}

/* ---------- values ---------- */
.values{background:var(--paper)}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;max-width:1180px;margin:0 auto}
@media (max-width:980px){ .values-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .values-grid{grid-template-columns:1fr} }
.value-icon{width:46px;height:46px;border-radius:50%;background:var(--altbg);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.value-icon svg{width:21px;height:21px;stroke:var(--deep);fill:none;stroke-width:1.7}
.value-item strong{font-family:'Spectral',serif;font-size:1.02rem;display:block;margin-bottom:.4rem;color:var(--ink)}
.value-item p{font-size:.88rem;color:#5B6166;line-height:1.62}

/* ---------- about / parent brand ---------- */
.about{background:var(--ink);padding:5rem 2.5rem}
.about-inner{max-width:680px;margin:0 auto;text-align:center}
.about .eyebrow{color:var(--accent-light)}
.about h2{color:#fff;margin-top:.5rem}
.about p{margin-top:1.15rem;line-height:1.75;color:#D6D9DA;font-size:1rem}
.about-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.6rem;color:var(--accent-light);font-weight:600;border-bottom:1px solid rgba(255,217,204,.5);padding-bottom:.18rem}
.about-link:hover{color:#fff;border-color:#fff}
.about-link svg{width:15px;height:15px}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:#EDEDEA;padding:4.6rem 2.5rem 2.4rem}
.footer-top{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2.4rem;padding-bottom:2.8rem;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand{display:flex;align-items:center;gap:.9rem;max-width:380px}
.footer-brand img{width:54px;height:auto;border-radius:50%;flex:none}
.footer-brand strong{font-family:'Spectral',serif;font-size:1.22rem;color:#fff;display:block}
.footer-brand span{font-size:.85rem;color:#AEB4B6}
.footer-brand p{margin:.65rem 0 0;color:#AEB4B6;font-size:.86rem;line-height:1.55}
.footer-contact{min-width:245px}
.footer-contact h2{font-family:'Spectral',serif;font-size:1.1rem;color:#fff;margin:0 0 .7rem}
.footer-contact address{display:flex;flex-direction:column;gap:.45rem;font-style:normal;color:#AEB4B6;font-size:.86rem;line-height:1.5}
.footer-contact a{color:#D6D9DA;text-decoration:underline;text-underline-offset:2px}
.footer-contact a:hover{color:#fff}
.footer-cta-wrap{text-align:left}
.footer-cta-wrap p{color:#AEB4B6;font-size:.92rem;margin-bottom:.9rem}
.footer-wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:var(--ink);padding:.95rem 1.8rem;border-radius:4px;font-weight:700;transition:background .2s ease,color .2s ease}
.footer-wa:hover{background:var(--accent-dark);color:#fff}
.footer-wa svg{width:18px;height:18px}
.footer-bottom{max-width:1180px;margin:2.1rem auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.82rem;color:#8A9093}
.footer-bottom a{color:#8A9093;text-decoration:underline;text-underline-offset:2px}
.footer-bottom a:hover{color:#C7CBCC}

/* ---------- floating whatsapp ---------- */
.fab-wa{position:fixed;right:1.6rem;bottom:1.6rem;z-index:40;width:58px;height:58px;border-radius:50%;background:var(--deep);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(0,106,134,.4);transition:transform .25s ease}
.fab-wa:hover{transform:scale(1.08)}
.fab-wa svg{width:26px;height:26px}

/* ---------- aviso de privacidad (página interna) ---------- */
.legal{max-width:760px;margin:0 auto;padding:6rem 2rem 5rem;line-height:1.75}
.legal h1{font-size:1.9rem;margin-bottom:.4rem}
.legal .legal-updated{color:#5B6166;font-size:.88rem;margin-bottom:2.4rem}
.legal h2{font-size:1.15rem;margin-top:2.2rem;margin-bottom:.6rem;color:var(--deep)}
.legal p,.legal li{color:#2B3033;font-size:.97rem}
.legal ul{padding-left:1.3rem;margin:.6rem 0}
.legal a.back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2rem;color:var(--deep);font-weight:600;font-size:.9rem}

@media (max-width:620px){
  .footer-contact{min-width:0;width:100%}
  .footer-cta-wrap{width:100%}
}
