/* =====================================================================
   DÓNDE ESTAMOS

   Autónomo: mismos colores de la marca por si el sitio que lo incluye
   no comparte variables. Dos columnas —datos y mapa— que se apilan en
   el teléfono.
   ===================================================================== */
.de-seccion{ padding:clamp(3rem,6vw,5rem) 0; background:#f8fafc; }
.de-wrap{ max-width:1180px; margin:0 auto; padding:0 1.5rem;
          display:grid; grid-template-columns:1fr 1.1fr; gap:2.5rem; align-items:center; }
@media(max-width:860px){ .de-wrap{ grid-template-columns:1fr; gap:1.75rem; } }

.de-eyebrow{ font-size:.75rem; font-weight:700; letter-spacing:.16em;
             text-transform:uppercase; color:#d8a21f; }
.de-titulo{ font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:800; line-height:1.1;
            letter-spacing:-.02em; color:#111827; margin:.5rem 0 .8rem; }
.de-lead{ font-size:1.02rem; color:#6b7280; line-height:1.6; max-width:46ch; }

.de-datos{ list-style:none; margin:1.6rem 0; padding:0; display:flex; flex-direction:column; gap:1rem; }
.de-datos li{ display:flex; gap:.9rem; align-items:flex-start; }
.de-datos i{ font-size:1.1rem; color:#d8a21f; margin-top:.15rem; flex:none;
             width:2.4rem; height:2.4rem; border-radius:12px; background:#fff;
             border:1px solid #e5e7eb; display:flex; align-items:center; justify-content:center; }
.de-datos .et{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.06em;
               text-transform:uppercase; color:#9ca3af; }
.de-datos .va{ display:block; font-size:.98rem; font-weight:600; color:#1e2d5c; margin-top:.1rem; }

.de-btn{ display:inline-flex; align-items:center; gap:.55rem; text-decoration:none;
         background:#25D366; color:#fff; font-weight:700; font-size:.95rem;
         padding:.85rem 1.5rem; border-radius:99px;
         box-shadow:0 8px 20px -8px rgba(37,211,102,.6); transition:transform .18s, background .18s; }
.de-btn:hover{ background:#1da851; color:#fff; transform:translateY(-2px); }

.de-mapa{ border-radius:20px; overflow:hidden; box-shadow:0 20px 44px -20px rgba(30,45,92,.35);
          border:1px solid #e5e7eb; background:#e9edf3; }
.de-mapa iframe{ display:block; width:100%; height:380px; border:0; }
@media(max-width:860px){ .de-mapa iframe{ height:300px; } }
.de-sinmapa{ height:300px; display:flex; flex-direction:column; align-items:center;
             justify-content:center; gap:.8rem; color:#6b7280; }
.de-sinmapa i{ font-size:2.5rem; color:#9ca3af; }
