
  :root{
    --bg: #ffffff;
    --fg: #1f2937;
    --primary: #4e9525;   /* verde */
    --accent:  #fbd341;   /* amarillo */
    --muted: #6b7280;
    --ring: rgba(78,149,37,.25);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--fg);}

  /* ===== Header con gradiente de marca ===== */
  .site-header{
    position:sticky; top:0; z-index:1000;
    background: linear-gradient(90deg, var(--primary) 0%, #5ea732 35%, var(--accent) 100%);
    color:#14210e;
    transition: box-shadow .25s ease, padding .25s ease, filter .25s ease;
    padding:.45rem 0;
  }
  .site-header.scrolled{
    box-shadow: 0 10px 30px -20px rgba(0,0,0,.4);
    filter:saturate(1.05);
    padding:.25rem 0;
  }
  .header-wrap{
    max-width:1200px; margin:0 auto; padding:0 16px;
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px;
  }
  .left{display:flex; align-items:center; gap:12px;}
  .burger{
    display:none; border:0; background:transparent; padding:8px; border-radius:10px; cursor:pointer;
  }
  .burger:focus-visible{box-shadow:0 0 0 3px var(--ring);}
  .burger svg{width:26px; height:26px; color:#0b1b06;}
  .phone{
    display:flex; align-items:center; gap:8px; color:#0b1b06; text-decoration:none; font-weight:800;
    text-shadow:0 1px 0 #ffffff66;
  }
  .phone:hover{opacity:.9;}

  .logo{display:grid; place-items:center; min-height:56px;}
  .logo img{height:48px; width:auto; display:block; transition: transform .25s ease;}
  .site-header.scrolled .logo img{ transform: scale(.94); }

  .right{display:flex; justify-content:flex-end; align-items:center; gap:10px;}
  .social{display:flex; gap:10px;}
  .icon-btn{
    width:36px; height:36px; border-radius:12px; display:grid; place-items:center;
    background:#ffffffee; border:1px solid #e5e7eb; text-decoration:none;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
  }
  .icon-btn:hover{ transform: translateY(-1px); background:#fffbe6; border-color:#ffe89a; }
  .icon-btn svg{ width:18px; height:18px; color:#0b1b06; }

  .cta-call{
    display:inline-flex; align-items:center; gap:8px; padding:.55rem .9rem; border-radius:12px;
    background:#0b1b06; color:#fff; text-decoration:none; font-weight:800;
    box-shadow: 0 10px 18px -10px var(--ring);
    transition: transform .18s ease, filter .18s ease; border:1px solid #0b1b06;
  }
  .cta-call:hover{ transform: translateY(-1px); filter:saturate(1.1); }

  .menu-desktop{
    display:flex; gap:4px; margin-left:auto; padding:4px;
    border-radius:12px; background:#ffffffee; border:1px solid #eef0f2;
  }
  .menu-link{
    text-decoration:none; color:#0b1b06; font-weight:800; padding:.5rem .8rem; border-radius:10px;
  }
  .menu-link:hover{ background:#fff5d1; border:1px solid #ffe89a; }

  /* Drawer móvil */
  .drawer{ position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; visibility:hidden; transition:opacity .2s ease, visibility .2s ease; z-index:999; }
  .drawer.open{ opacity:1; visibility:visible; }
  .drawer-panel{
    position:absolute; top:0; left:0; width:86%; max-width:360px; height:100%;
    background:#fff; box-shadow: 0 20px 60px -30px rgba(0,0,0,.45);
    transform: translateX(-100%); transition: transform .25s ease;
    display:flex; flex-direction:column; padding:18px 18px 22px; border-right:4px solid var(--accent);
  }
  .drawer.open .drawer-panel{ transform: translateX(0); }
  .drawer-header{ display:flex; align-items:center; justify-content:space-between; }
  .drawer-close{ border:0; background:transparent; padding:8px; border-radius:10px; cursor:pointer; }
  .drawer-nav{ margin-top:10px; display:flex; flex-direction:column; gap:8px; }
  .drawer-link{
    padding:.95rem 1rem; border-radius:12px; text-decoration:none; color:#1f2937; font-weight:800;
    border:1px solid #e5e7eb; background:#f9fafb;
  }
  .drawer-link:hover{ background:#fff5d1; border-color:#ffe89a; }
  .drawer-social{ margin-top:auto; display:flex; gap:10px; }

  /* ===== Hero con video de fondo ===== */
  .hero{
    position:relative; min-height: min(88vh, 880px); width:100%; overflow:hidden;
    isolation:isolate;
  }
  .hero video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
    filter: saturate(1.05) contrast(1.02);
  }
  .hero::after{ /* capa para legibilidad del texto */
    content:""; position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.55) 100%);
    pointer-events:none;
  }
  .hero-content{
    position:relative; z-index:1; max-width: 1100px; margin: 0 auto; padding: clamp(18px, 4vw, 36px);
    display:grid; place-items:center; text-align:center; color:#fff;
  }
  .hero-kicker{
    display:inline-block; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
    padding:.35rem .7rem; border-radius:999px; backdrop-filter: blur(4px);
    background: #ffffff20; border:1px solid #ffffff40; margin-bottom:12px;
  }
  .hero h1{
    font-size: clamp(28px, 5vw, 48px); line-height:1.08; margin:.2rem 0 .6rem;
    text-wrap:balance; text-shadow: 0 1px 0 #0008, 0 8px 26px #0008;
  }
  .hero p{
    font-size: clamp(16px, 2.2vw, 20px); line-height:1.5; margin:0 auto; max-width: 820px; opacity:.95;
  }
  .hero-cta{
    margin-top: clamp(14px, 2.5vw, 22px); display:flex; gap:10px; flex-wrap:wrap; justify-content:center;
  }
  .btn{
    display:inline-flex; align-items:center; gap:10px; padding:.8rem 1.1rem; border-radius:14px;
    text-decoration:none; font-weight:900; border:1px solid transparent;
  }
  .btn-primary{
    background: linear-gradient(90deg, var(--accent), var(--primary)); color:#12210b; border-color:#ffffff55;
  }
  .btn-outline{
    background:#ffffff15; color:#fff; border-color:#ffffff55;
  }
  .btn:hover{ transform: translateY(-1px); }

  /* ===== Responsive ===== */
  @media (max-width:1024px){
    .menu-desktop{ display:none; }
    .burger{ display:inline-grid; }
    .cta-call{ display:none; }
    .phone{ display:none; }
  }
  @media (max-width:420px){
    .logo img{ height:40px; }
  }

    table {
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    text-align: center;
  }

  th {
    background-color: #00a9e0; /* Azul */
    color: white;
    padding: 8px 15px;
    font-weight: bold;
    border: 1px solid #000;
  }

  td {
    border: 1px solid #000;
    padding: 8px 15px;
    font-size: 16px;
  }

  .precio {
    font-weight: bold;
    font-size: 18px;
  }

  .negrita {
    font-weight: bold;
  }

  :root{
    --primary:#4e9525;
    --accent:#fbd341;
  }
  .brands{
    padding: clamp(2rem, 4vw, 4rem) 0;
    background:#fff;
  }
  .brands-head{
    text-align:center; margin-bottom:1.5rem;
  }
  .brands-head .kicker{
    display:inline-block; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
    background:#e9f7e3; color:#2a3a1f; border:1px solid #d9f4bf;
    padding:.35rem .7rem; border-radius:999px; margin-bottom:.5rem;
  }
  .brands-head h2{
    margin:0; font-size:clamp(1.4rem, 3.6vw, 2rem); font-weight:900; color:#1f2937;
  }

  /* Contenedor principal con flechas */
  .brands-wrapper{
    position:relative; max-width:1200px; margin:auto; display:flex; align-items:center;
  }
  .brand-btn{
    background:rgba(255,255,255,0.8);
    border:none; cursor:pointer;
    font-size:2rem; padding:.4rem .6rem;
    position:absolute; top:50%; transform:translateY(-50%);
    z-index:2;
    border-radius:50%;
    box-shadow:0 4px 12px rgba(0,0,0,.15);
    transition:background .2s ease;
  }
  .brand-btn:hover{ background:rgba(255,255,255,1); }
  .brand-btn.prev{ left:0.5rem; }
  .brand-btn.next{ right:0.5rem; }

  /* Carrusel */
  .brands-marquee{
    overflow:hidden; flex:1; padding:0 2.5rem;
  }
  .brands-track{
    display:flex; gap: clamp(2rem, 5vw, 4rem);
    align-items:center; margin:0; padding:0; list-style:none;
    transition: transform 0.4s ease;
  }
  .brands-track li{ flex: 0 0 auto; }
  .brands-track img{
    height: clamp(126px, 5vw, 60px);
    width:auto; display:block; filter: grayscale(100%);
    opacity:.9; transition: transform .25s ease, filter .25s ease, opacity .25s ease;
  }
  .brands-track img:hover{
    transform: scale(1.08);
    filter: grayscale(0%);
    opacity:1;
  }

   :root{
    --brand:#4e9525; /* verde */
    --accent:#fbd341; /* amarillo */
    --ink:#1f2937;
    --muted:#6b7280;
    --card:#ffffff;
    --shadow: 0 10px 30px -18px rgba(0,0,0,.35);
  }

  .ev-split{ padding: clamp(2rem, 4vw, 4rem) 0; background:#f9fafb; }
  .ev-wrap{
    max-width:1200px; margin:auto; padding:0 1rem;
    display:grid; grid-template-columns: 1.2fr 1fr; gap: clamp(1.2rem, 3vw, 2rem);
    align-items:stretch;
  }
  @media (max-width: 980px){
    .ev-wrap{ grid-template-columns: 1fr; }
  }

  /* Carrusel */
  .ev-carousel{
    position:relative; background:var(--card); border-radius:16px; box-shadow:var(--shadow);
    overflow:hidden; isolation:isolate;
  }
  .ev-viewport{ position:relative; width:100%; aspect-ratio: 16 / 9; }
  .ev-slide{
    position:absolute; inset:0; opacity:0; transform: scale(1.02);
    transition: opacity .5s ease, transform .5s ease;
  }
  .ev-slide.is-active{ opacity:1; transform: scale(1); }
  .ev-slide img{ width:100%; height:100%; object-fit:cover; display:block; }

  .ev-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    background:#ffffffdd; border:1px solid #eef0f2; color:#1b2613; font-size:1.6rem;
    width:40px; height:40px; border-radius:999px; display:grid; place-items:center; cursor:pointer;
    transition: background .2s ease, transform .2s ease; z-index:2;
  }
  .ev-arrow:hover{ background:#fff; transform:translateY(-50%) scale(1.05); }
  .ev-arrow.prev{ left:10px; }
  .ev-arrow.next{ right:10px; }

  .ev-dots{
    position:absolute; left:50%; bottom:10px; transform:translateX(-50%);
    display:flex; gap:8px; padding:.3rem .5rem; background:#00000033; border-radius:999px; backdrop-filter: blur(6px);
  }
  .ev-dot{
    width:10px; height:10px; border-radius:999px; border:1px solid #fff;
    background:#ffffff66; cursor:pointer;
  }
  .ev-dot.is-active{ background: linear-gradient(90deg, var(--accent), var(--brand)); border-color:#ffffff; }

  /* Acordeón */
  .ev-accordion{ display:flex; flex-direction:column; gap:.8rem; }
  .acc-item{ background:#fff; border-radius:14px; box-shadow:var(--shadow); overflow:hidden; }
  .acc-trigger{
    width:100%; text-align:left; background:linear-gradient(90deg, #ffffff, #fffbea);
    border:none; padding:1rem 1.1rem; font-weight:900; color:var(--ink); cursor:pointer; position:relative;
    display:flex; align-items:center; justify-content:space-between; gap:1rem;
    border-bottom:1px solid #f3f4f6;
  }
  .acc-trigger:focus-visible{ outline:3px solid #c8f5b5; outline-offset:-2px; }
  .acc-icon{
    width:26px; height:26px; border-radius:8px; display:grid; place-items:center;
    background:linear-gradient(90deg, var(--accent), var(--brand)); color:#12210b; font-weight:900;
  }
  .acc-panel{ padding:1rem 1.1rem; display:none; color:#374151; }
  .acc-panel ul, .acc-panel ol{ margin:0; padding-left:1.1rem; }
  .acc-panel li{ margin:.35rem 0; }

    :root{
    --rojo:#e00000;
    --borde:#555;       /* gris del borde */
  }

  .warning-box{
    border:2px solid var(--borde);
    border-radius:4px;
    padding:18px 22px;
    display:grid;
    grid-template-columns:44px 1fr;
    gap:16px;
    font-family: Arial, Helvetica, sans-serif;
    max-width: 1100px;
    background:#fff;
  }

  .warning-title{
    color:var(--rojo);
    font-weight:700;
    font-size:20px;
    margin:0 0 10px;
  }

  .warning-text{
    color:var(--rojo);
    font-size:11px;
    line-height:1.6;
    margin:0;
    position:relative;
    padding-left:28px;           /* espacio para la viñeta */
  }
  .warning-text::before{
    content:"";
    position:absolute;
    left:0;
    top:0.55em;
    width:12px;
    height:12px;
    border-radius:50%;
    background:var(--rojo);      /* punto rojo */
  }

  /* Ajustes responsivos */
  @media (max-width:560px){
    .warning-box{grid-template-columns:36px 1fr; padding:14px 16px;}
    .warning-title{font-size:18px; margin-bottom:8px;}
    .warning-text{font-size:16px;}
  }

    :root{
    --brand:#4e9525;
    --accent:#fbd341; /* amarillo marca */
    --ink:#1f2937;
  }

  /* Pestaña flotante */
  .important-tab{
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 9999;
    background: var(--accent);
    color: #111827;
    font-weight: 900;
    padding: .8rem 1rem;
    border-radius: 12px 0 0 12px;
    box-shadow: 0 8px 24px -10px rgba(0,0,0,.35);
    cursor: pointer;
    user-select: none;
    writing-mode: vertical-rl;      /* vertical para ocupar menos ancho */
    text-orientation: mixed;
    letter-spacing: .02em;
    border: 2px solid #ffe89a;
    outline: none;
    animation: tabBlink 1.6s ease-in-out infinite;
  }
  .important-tab:focus-visible{
    box-shadow: 0 0 0 3px rgba(78,149,37,.35), 0 8px 24px -10px rgba(0,0,0,.35);
  }
  /* Parpadeo suave (respeta reduced motion) */
  @keyframes tabBlink{
    0%, 100% { filter: none; }
    50% { filter: brightness(1.06) saturate(1.08); }
  }
  @media (prefers-reduced-motion: reduce){
    .important-tab{ animation: none; }
  }

  /* Backdrop */
  .important-backdrop{
    position: fixed; inset: 0;
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(2px);
    opacity: 0; visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
    z-index: 9998;
  }
  .important-backdrop.open{
    opacity: 1; visibility: visible;
  }

  /* Panel deslizante */
  .important-drawer{
    position: fixed;
    top: 0; right: 0;
    height: 100dvh; width: min(560px, 92vw);
    background: #fffdf3;
    border-left: 4px solid var(--accent);
    box-shadow: -16px 0 40px -24px rgba(0,0,0,.45);
    transform: translateX(100%);
    transition: transform .28s ease;
    z-index: 10000;
    display: grid;
    grid-template-rows: auto 1fr;
  }
  .important-drawer.open{ transform: translateX(0); }

  .important-header{
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 14px 16px;
    background: linear-gradient(90deg, #fff7cc, var(--accent));
    border-bottom: 1px solid #ffe89a;
  }
  .important-title{
    font-size: 1.1rem; font-weight: 900; color: #12210b; margin: 0;
    display: inline-flex; align-items: center; gap: .5rem;
  }
  .important-close{
    border: 0; background: #fff; color: #111827; width: 36px; height: 36px;
    border-radius: 10px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.08);
  }
  .important-close:hover{ filter: saturate(1.05); }
  .important-close:focus-visible{ outline: 3px solid rgba(78,149,37,.35); }

  .important-body{
    padding: 16px; overflow: auto;
  }
  .important-body h4{
    margin: 0 0 .6rem; color: #0f172a; font-size: 1.05rem;
  }
  .important-list{
    list-style: none; padding: 0; margin: 0;
    display: grid; gap: .6rem;
  }
  .important-list li{
    display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: .5rem;
    background: #fff; border: 1px solid #ffe89a; border-radius: 10px;
    padding: .65rem .75rem;
  }
  .important-list .check{
    color: var(--brand); font-weight: 900; line-height: 1; margin-top: .1rem;
  }

  /* Ajustes móviles para que la pestaña no tape UI */
  @media (max-width: 560px){
    .important-tab{ top: 40%; }
  }

    .recomendaciones-section {
    padding: 60px 20px;
    background: #f9fafb;
  }
  .reco-title {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 40px;
    color: #1f2937;
    font-weight: 800;
  }
  .reco-card {
    display: flex;
    align-items: flex-start;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    transition: transform .2s ease;
    min-height: 180px;
  }
  .reco-card:hover {
    transform: translateY(-4px);
  }
  .cliente-foto {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 15px;
    flex-shrink: 0;
  }
  .reco-info h4 {
    margin: 0;
    font-size: 1rem;
    color: #111827;
    font-weight: bold;
  }
  .google-logo {
    width: 22px;
    height: 22px;
    margin: 5px 0;
  }
  .stars {
    color: #fbbf24;
    font-size: 1.1rem;
    margin-bottom: 8px;
  }
  .reco-info p {
    font-size: .95rem;
    color: #374151;
    margin: 0;
    line-height: 1.5;
  }

  /* Ajustes Swiper */
  .swiper {
    padding-bottom: 50px;
  }
  .swiper-button-next,
  .swiper-button-prev {
    color: #4e9525;
  }
  .swiper-pagination-bullet {
    background: #4e9525;
  }



    :root{
    --brand:#4e9525;    /* verde */
    --accent:#fbd341;   /* amarillo */
    --ink:#1f2937;      /* texto */
    --muted:#6b7280;
    --paper:#ffffff;
    --soft:#f9fafb;
  }
  .ev-about{
    background: var(--soft);
    padding: clamp(2rem, 4vw, 4rem) 1rem;
  }
  .ev-about-wrap{
    max-width:1200px; margin:0 auto;
    display:grid; grid-template-columns: 1fr 1.2fr;
    gap: clamp(1rem, 3vw, 2rem); align-items:center;
  }
  @media (max-width: 980px){
    .ev-about-wrap{ grid-template-columns: 1fr; }
  }

  /* Certificado */
  .ev-cert{
    margin:0; background: var(--paper);
    border-radius:16px; overflow:hidden;
    box-shadow: 0 10px 30px -18px rgba(0,0,0,.25);
    border:1px solid #edf1ee;
    position: relative;
  }
  .ev-cert::before{
    content:""; position:absolute; inset:0;
    pointer-events:none;
    background: linear-gradient(135deg, rgba(78,149,37,.12), rgba(251,211,65,.12));
  }
  .ev-cert img{
    display:block; width:100%; height:auto; aspect-ratio: 4/5; object-fit:cover;
  }
  .ev-cert figcaption{
    padding:.65rem .9rem; font-size:.9rem; color:#374151;
    background:#fffde8; border-top:1px solid #ffe89a;
  }

  /* Texto */
  .ev-copy .ev-kicker{
    display:inline-block; font-weight:900; letter-spacing:.06em; text-transform:uppercase;
    color:#2a3a1f; background:#e9f7e3; border:1px solid #d9f4bf;
    padding:.35rem .7rem; border-radius:999px; margin-bottom:.6rem;
  }
  .ev-copy h2{
    margin:.1rem 0 1rem; color:var(--ink);
    font-size: clamp(1.6rem, 3.6vw, 2.1rem); line-height:1.15; font-weight:900;
  }
  .ev-copy p{
    color:#374151; line-height:1.65; margin:.6rem 0;
  }
  .ev-points{
    list-style:none; padding:0; margin: 1rem 0 1.2rem; display:grid; gap:.5rem;
  }
  .ev-points li{
    display:grid; grid-template-columns: 22px 1fr; align-items:start; gap:.5rem;
  }
  .ev-points li::before{
    content:"✔"; color:var(--brand); font-weight:900; line-height:1;
  }

  /* Botones */
  .btn-ev{
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    padding:.85rem 1.1rem; border-radius:12px; font-weight:900; text-decoration:none; border:1px solid transparent;
    transition: transform .18s ease, filter .18s ease;
    will-change: transform;
  }
  .btn-ev:hover{ transform: translateY(-1px); }
  .btn-ev.primary{
    background: linear-gradient(90deg, var(--accent), var(--brand));
    color:#12210b; border-color:#ffffff66; box-shadow: 0 10px 18px -10px rgba(78,149,37,.25);
  }
  .btn-ev.ghost{
    background:#ffffff; color:#111827; border-color:#e5e7eb;
  }
  .ev-cta{ display:flex; gap:.6rem; flex-wrap:wrap; }

   :root{
    --brand:#4e9525; --accent:#fbd341; --ink:#1f2937; --soft:#f9fafb;
  }
  .contacto-section{ background:var(--soft); padding: clamp(2rem, 4vw, 4rem) 1rem; }
  .contacto-wrap{
    max-width:1200px; margin:0 auto; display:grid; gap: clamp(1rem, 3vw, 2rem);
    grid-template-columns: 1.1fr 1fr; align-items:start;
  }
  @media (max-width: 980px){ .contacto-wrap{ grid-template-columns: 1fr; } }

  .contacto-left h2{ margin:0 0 .8rem; font-size: clamp(1.6rem, 3.6vw, 2rem); color:var(--ink); font-weight:900; }
  .contacto-datos{ list-style:none; padding:0; margin:0 0 1rem; color:#374151; }
  .contacto-datos li{ margin:.25rem 0; }
  .contacto-datos a{ color:#0f172a; text-decoration:none; border-bottom:1px dashed #cbd5e1; }
  .contacto-datos a:hover{ color:var(--brand); }

  .contacto-form{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:1rem; box-shadow:0 10px 30px -18px rgba(0,0,0,.15); }
  .hp-field{ position:absolute; left:-10000px; opacity:0; }
  .grid{ display:grid; gap: .9rem; grid-template-columns: 1fr 1fr; }
  .field-full{ grid-column: 1 / -1; }
  @media (max-width:700px){ .grid{ grid-template-columns: 1fr; } }

  .field label{ display:block; font-weight:700; margin-bottom:.35rem; color:#111827; }
  .field input, .field textarea{
    width:100%; border:1px solid #e5e7eb; border-radius:10px; padding:.7rem .8rem; font:inherit;
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .field input:focus, .field textarea:focus{ outline:none; border-color:#c8f5b5; box-shadow:0 0 0 3px rgba(78,149,37,.25); }

  .g-recaptcha{ margin:.6rem 0 .2rem; }
  .btn-enviar{
    display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
    padding:.9rem 1.2rem; border-radius:12px; font-weight:900; border:1px solid #ffffff66;
    background: linear-gradient(90deg, var(--accent), var(--brand)); color:#12210b;
    box-shadow: 0 10px 18px -10px rgba(78,149,37,.25); cursor:pointer; width:100%;
  }
  .btn-enviar:hover{ filter:saturate(1.05); }

  .form-msg{ margin:.6rem 0 0; font-size:.95rem; }
  .form-msg.ok{ color:#065f46; }   /* verde oscuro */
  .form-msg.err{ color:#b91c1c; }  /* rojo */
  .contacto-right .mapa{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px -18px rgba(0,0,0,.15); }
  .contacto-right iframe{ display:block; width:100%; height:100%; min-height: 380px; }

  :root{ --brand:#4e9525; --accent:#fbd341; --ink:#1f2937; --soft:#f9fafb; }
  .site-footer{
    background:#0b1b06; color:#e5e7eb;
    padding: clamp(2rem, 4vw, 3rem) 1rem 1rem;
    border-top: 3px solid var(--accent);
  }
  .footer-wrap{
    max-width:1200px; margin:0 auto;
    display:grid; gap: clamp(1rem, 3vw, 2rem);
    grid-template-columns: 1.2fr 1fr 1fr;
  }
  @media (max-width: 980px){ .footer-wrap{ grid-template-columns: 1fr; } }

  .f-col h4{ margin:.2rem 0 .8rem; color:#fff; font-size:1.05rem; }
  .f-logo img{ height:48px; width:auto; display:block; filter: drop-shadow(0 0 0 transparent); }
  .f-desc{ margin:.8rem 0 1rem; color:#cbd5e1; }
  .f-social{ display:flex; gap:10px; }
  .f-social a{
    width:36px; height:36px; border-radius:10px; background:#12210b; display:grid; place-items:center;
    border:1px solid #1f2d15; color:#e5e7eb; text-decoration:none;
  }
  .f-social a:hover{ background:#15300f; color:#fff; }

  .f-list{ list-style:none; padding:0; margin:0 0 1rem; }
  .f-list a{ color:#e5e7eb; text-decoration: none; border-bottom:1px dashed #2e3a2a; }
  .f-list a:hover{ color:var(--accent); }

  .f-cta{
    display:inline-flex; align-items:center; justify-content:center;
    padding:.6rem .9rem; border-radius:10px; font-weight:800;
    background: linear-gradient(90deg, var(--accent), var(--brand));
    color:#12210b; text-decoration:none; border:1px solid #ffffff40;
  }

  .f-nav{ display:grid; gap:.4rem; }
  .f-nav a, .f-privacy-btn{
    color:#e5e7eb; text-decoration:none; padding:.25rem 0; text-align:left; background:none; border:none; cursor:pointer;
  }
  .f-nav a:hover, .f-privacy-btn:hover{ color:var(--accent); }

  .footer-bottom{
    max-width:1200px; margin:1.2rem auto 0; padding-top:1rem; border-top:1px solid #1f2d15;
    display:flex; align-items:center; justify-content:space-between; gap:10px; color:#9ca3af;
  }
  .back-top{
    width:36px; height:36px; display:grid; place-items:center; text-decoration:none;
    background:#12210b; border:1px solid #1f2d15; color:#e5e7eb; border-radius:10px;
  }
  .back-top:hover{ background:#15300f; }

  /* Modal de privacidad */
  .privacy-modal::backdrop{ background: rgba(0,0,0,.45); }
  .privacy-card{
    width: min(720px, 92vw); border:0; padding:0; border-radius:14px; overflow:hidden;
    background:#fff; color:#111827; font: inherit;
  }
  .privacy-card header{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12px 14px; background: linear-gradient(90deg, #fff7cc, var(--accent)); border-bottom:1px solid #ffe89a;
  }
  .privacy-card h3{ margin:0; font-size:1.05rem; font-weight:900; color:#12210b; }
  .privacy-close{
    background:#fff; border:1px solid #e5e7eb; border-radius:8px; width:32px; height:32px; cursor:pointer;
  }
  .privacy-body{ padding:16px; line-height:1.6; }
  .privacy-body a{ color:#0f172a; border-bottom:1px dashed #cbd5e1; text-decoration:none; }
  .privacy-body a:hover{ color:#4e9525; }
  .privacy-card footer{ padding:12px 16px; border-top:1px solid #f1f5f9; display:flex; justify-content:flex-end; }
  .privacy-cta{
    background: linear-gradient(90deg, var(--accent), var(--brand)); color:#12210b; border:1px solid #ffffff66;
    border-radius:10px; padding:.5rem .9rem; font-weight:900; cursor:pointer;
  }

   :root{ --wa:#25D366; }
  .wa-float{
    position: fixed; right: 16px; bottom: 16px; z-index: 10000;
    width: 58px; height: 58px; border-radius: 50%;
    background: var(--wa); color:#fff; display:grid; place-items:center;
    box-shadow: 0 12px 32px -12px rgba(0,0,0,.35);
    text-decoration:none; transition: transform .15s ease, filter .15s ease;
    outline: none;
  }
  .wa-float:hover{ transform: translateY(-2px); filter: saturate(1.05) brightness(1.02); }
  .wa-float svg{ width:30px; height:30px; }
  /* pulso suave */
  .wa-float::after{
    content:""; position:absolute; inset:0; border-radius:50%;
    box-shadow: 0 0 0 0 rgba(37,211,102,.5); animation: waPulse 1.8s infinite;
  }
  @keyframes waPulse{
    0% { box-shadow: 0 0 0 0 rgba(37,211,102,.45); }
    70% { box-shadow: 0 0 0 14px rgba(37,211,102,0); }
    100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
  }
  /* tooltip */
  .wa-tip{
    position:absolute; right: 70px; bottom: 50%;
    transform: translateY(50%); white-space: nowrap;
    background:#111827; color:#fff; font-size:.85rem; padding:.45rem .6rem; border-radius:8px;
    opacity:0; visibility:hidden; transition: opacity .15s ease, transform .15s ease;
    box-shadow: 0 8px 24px -12px rgba(0,0,0,.35);
  }
  .wa-float:hover .wa-tip, .wa-float:focus-visible .wa-tip{
    opacity:1; visibility:visible; transform: translate(-2px, 50%);
  }
  @media (max-width:420px){ .wa-float{ right:12px; bottom:12px; width:54px; height:54px; } }
