/* ══════════════════════════════════════════
   CONTACTO PAGE
══════════════════════════════════════════ */
body.contacto-body{ background:var(--surface); }
#hero.contacto-hero{ background:var(--navy);padding:120px 5% 48px;position:relative;overflow:hidden;min-height:0!important; }
#hero.contacto-hero #heroBg{ position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 300px at 70% 40%,rgba(var(--blue-rgb), 0.22) 0%,transparent 70%);transition:background 0.05s; }
#hero.contacto-hero .hero-grid{ position:absolute;inset:0;pointer-events:none;opacity:.025;background-image:linear-gradient(rgba(var(--white-rgb), .5) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--white-rgb), .5) 1px,transparent 1px);background-size:60px 60px; }
#hero.contacto-hero .hero-inner{ position:relative;z-index:1;max-width:1100px;margin:0 auto;display:flex!important;align-items:center;justify-content:space-between;gap:32px;flex-wrap:nowrap;width:100%; }
#hero.contacto-hero .hero-tag{ display:inline-flex;align-items:center;gap:8px;background:rgba(var(--blue-rgb), 0.2);border:1px solid rgba(var(--blue-rgb), 0.4);color:var(--blue-pale);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:16px; }
#hero.contacto-hero .hero-tag::before{ content:'';width:6px;height:6px;background:var(--blue-light);border-radius:50%;animation:pulse 2s infinite; }
#hero.contacto-hero h1{ font-family:'Syne',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--white)!important;line-height:1.1;margin-bottom:10px;letter-spacing:-.02em; }
#hero.contacto-hero h1 span{ color:var(--blue-light)!important; }
#hero.contacto-hero p{ font-size:16px;color:rgba(var(--white-rgb), 0.6)!important;line-height:1.7;font-weight:300;max-width:480px; }
.hero-wa-btn{ display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:var(--white);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none;transition:opacity .2s;white-space:nowrap;font-family:'Syne',sans-serif;flex-shrink:0; }
.hero-wa-btn:hover{ opacity:.88; }

.contact-wrap{ max-width:1100px;margin:0 auto;padding:48px 5% 60px;display:grid;grid-template-columns:1fr 1.05fr;gap:24px;align-items:start; }
.suc-cards{ display:flex;flex-direction:column;gap:16px; }
.suc-card{ background:var(--white);border:1px solid var(--gray-light);border-left:3px solid transparent;border-radius:16px;overflow:hidden;transition:box-shadow .25s,border-left .3s; }
.suc-card:hover{ box-shadow:0 8px 24px rgba(var(--blue-rgb), 0.1);border-left:3px solid var(--blue); }
.suc-card iframe{ width:100%;height:160px;border:none;display:block; }
.suc-card-body{ padding:18px 22px; }
.suc-card-name{ font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:8px; }
.suc-card-name-dot{ width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0;display:inline-block;transition:transform .3s,background .3s; }
.suc-card:hover .suc-card-name-dot{ transform:scale(1.5);background:var(--navy); }
.suc-row{ display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--blue);margin-bottom:6px; }
.suc-row:last-child{ margin-bottom:0; }
.suc-row svg{ flex-shrink:0;margin-top:1px; }
.suc-row span,.suc-row a{ color:var(--blue); }
.suc-row a{ text-decoration:none; }
.suc-row a:hover{ text-decoration:underline; }
.suc-rating{ display:flex;align-items:center;gap:5px;margin-bottom:10px; }
.suc-rating-stars{ color:var(--warning);font-size:11px;letter-spacing:1px; }
.suc-rating-score{ font-family:'Syne',sans-serif;font-size:11px;font-weight:800;color:var(--navy); }
.suc-rating-count{ font-size:10px;color:var(--gray); }

.contact-form-wrap{ background:var(--white);border:1px solid var(--gray-light);border-radius:16px;padding:36px;position:sticky;top:96px; }
.contact-form-wrap .form-title{ font-family:'DM Sans',sans-serif;font-size:1.25rem;font-weight:800;color:var(--navy);margin-bottom:4px; }
.contact-form-wrap .form-sub{ font-size:13px;color:var(--gray);font-weight:300;margin-bottom:24px; }
.contact-form-wrap .form-group{ margin-bottom:16px; }
.contact-form-wrap .form-group label{ display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:5px; }
.contact-form-wrap .form-group input,.contact-form-wrap .form-group textarea{ width:100%;padding:11px 14px;border:1px solid var(--gray-light);border-radius:9px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--navy);background:var(--off-white);transition:border-color .2s,box-shadow .2s;outline:none;resize:none; }
.contact-form-wrap .form-group input:focus,.contact-form-wrap .form-group textarea:focus{ border-color:var(--blue);box-shadow:0 0 0 3px rgba(var(--blue-rgb), 0.1);background:var(--white); }
.contact-form-wrap .form-group textarea{ height:110px; }
.contact-form-wrap .form-row{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.contact-form-wrap .form-submit{ width:100%;padding:13px;background:var(--navy);color:var(--white);border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;transition:background .2s;margin-top:4px; }
.contact-form-wrap .form-submit:hover{ background:var(--blue); }
.form-divider{ border:none;border-top:1px solid var(--gray-light);margin:20px 0; }
.social-label{ font-size:12px;font-weight:700;color:var(--navy);margin-bottom:10px;text-align:center; }
.social-links{ display:flex;gap:10px;justify-content:center; }
.social-btn{ display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;border:1px solid var(--gray-light);color:var(--navy); }
.social-btn:hover{ background:var(--navy);color:var(--white);border-color:var(--navy); }
.social-btn svg{ width:15px;height:15px;flex-shrink:0; }
.form-success{ display:none;text-align:center;padding:40px 0; }
.form-success-icon{ font-size:44px;margin-bottom:12px; }
.form-success h3{ font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:800;color:var(--navy);margin-bottom:8px; }
.form-success p{ font-size:13px;color:var(--gray);font-weight:300; }

@media(max-width:900px){
  .contact-wrap{ grid-template-columns:1fr;gap:20px; }
  .contact-form-wrap{ position:static; }
  #hero.contacto-hero .hero-inner{ flex-wrap:wrap; }
}
@media(max-width:600px){
  .contact-form-wrap .form-row{ grid-template-columns:1fr; }
  #hero.contacto-hero .hero-inner{ flex-direction:column;align-items:flex-start; }
  .social-links{ justify-content:center !important; }
}
