/* ==========================================================================
   SEGUROVIAJA — Single Agencia v3.0
   Professional certificate design
   ========================================================================== */

:root{
  --sv-bg:#f6f7f9;--sv-card:#ffffff;--sv-dark:#0c1a2e;
  --sv-text:#3d4f66;--sv-muted:#8b99ad;--sv-accent:#0ea17a;
  --sv-accent-soft:#e8f7f1;--sv-border:#e4e8ee;
  --sv-radius:20px;--sv-shadow:0 12px 48px rgba(12,26,46,0.06);
  --sv-sans:'DM Sans',sans-serif;
}

.svc-body{margin:0!important;padding:0!important;background:var(--sv-bg)!important}
.svc-page,.svc-page *,.svc-page *::before,.svc-page *::after{box-sizing:border-box!important}
.svc-page{
  font-family:var(--sv-sans)!important;color:var(--sv-text)!important;
  background:var(--sv-bg)!important;-webkit-font-smoothing:antialiased;line-height:1.6;min-height:100vh;
}

/* HIDE WP chrome */
.svc-body .site-header,.svc-body .site-footer,.svc-body .page-header,
.svc-body .elementor-location-header,.svc-body .elementor-location-footer,
.svc-body #masthead,.svc-body #colophon,
.svc-body .entry-header,.svc-body .page-title,.svc-body .entry-title,
.svc-body article>header,.svc-body .post-navigation,.svc-body .nav-links,
.svc-body #tawk-bubble-container,.svc-body .tawk-min-container,
.svc-body [id*="tawk"],.svc-body [class*="crisp"],
.svc-body [class*="chat-widget"]{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}

.sv-container{max-width:1080px;margin:0 auto;padding:0 1.5rem 3rem}


/* ==========================================================================
   HERO
   ========================================================================== */
.sv-hero{position:relative;overflow:hidden;padding-top:100px}
.sv-hero__bg{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:var(--sv-dark)!important;
}
.sv-hero__bg::before{
  content:'';position:absolute;top:-40%;right:-10%;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,161,122,0.12) 0%,transparent 70%);
  pointer-events:none;
}
.sv-hero__bg::after{
  content:'';position:absolute;bottom:-30%;left:-5%;
  width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,162,60,0.08) 0%,transparent 70%);
  pointer-events:none;
}
.sv-hero__content{
  position:relative;z-index:2;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  text-align:center!important;padding:3.5rem 2rem 5rem!important;
}
.sv-hero__badge{
  display:inline-flex!important;align-items:center!important;gap:0.4rem;
  background:rgba(255,255,255,0.06)!important;border:1px solid rgba(255,255,255,0.1)!important;
  border-radius:999px!important;padding:0.4rem 1rem!important;margin:0 0 1.25rem 0!important;
  font-size:0.75rem!important;font-weight:600!important;color:var(--sv-accent)!important;
  text-transform:uppercase!important;letter-spacing:0.12em;
}
.sv-hero__badge svg{width:14px!important;height:14px!important;color:var(--sv-accent)!important}
.sv-hero__title{
  font-family:var(--sv-sans)!important;font-size:clamp(2rem,4vw,3.25rem)!important;font-weight:800!important;
  color:#fff!important;line-height:1.08!important;letter-spacing:-0.03em;margin:0 0 0.5rem 0!important;
  text-shadow:0 2px 16px rgba(0,0,0,.35);
}
.sv-hero__sub{
  font-size:0.9375rem!important;color:rgba(255,255,255,0.4)!important;
  font-weight:500!important;margin:0!important;
}


/* ==========================================================================
   CERT CARD
   ========================================================================== */
.sv-cert{
  background:var(--sv-card)!important;border-radius:var(--sv-radius)!important;
  box-shadow:var(--sv-shadow)!important;border:1px solid var(--sv-border)!important;
  margin-top:-2.5rem;position:relative;z-index:10;overflow:hidden;
}
.sv-cert__inner{display:flex!important;align-items:stretch!important}

.sv-cert__photo{
  width:380px;flex-shrink:0;position:relative;overflow:hidden;
  margin:1.25rem!important;border-radius:14px!important;
}
.sv-cert__photo img{
  width:100%!important;height:100%!important;object-fit:cover!important;
  display:block!important;border-radius:14px!important;min-height:280px;
}
.sv-cert__photo-overlay{
  position:absolute;bottom:0;left:0;right:0;
  padding:1rem 1.25rem!important;
  background:linear-gradient(to top,rgba(12,26,46,0.8),transparent)!important;
  border-radius:0 0 14px 14px!important;
}
.sv-cert__photo-city{
  font-size:0.8125rem!important;font-weight:600!important;
  color:rgba(255,255,255,0.85)!important;
  display:flex!important;align-items:center!important;gap:0.3rem;
}
.sv-cert__photo-city svg{width:14px!important;height:14px!important;opacity:0.7}

.sv-cert__content{
  flex:1;padding:2rem 2.5rem 2rem 1.5rem!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.sv-cert__header{
  display:flex!important;align-items:center!important;
  justify-content:space-between!important;margin-bottom:1.5rem!important;gap:1.5rem;
}
.sv-cert__logo{max-width:240px!important;max-height:70px!important;object-fit:contain!important;display:block!important}
.sv-cert__name-fallback{
  font-family:var(--sv-sans)!important;font-size:1.75rem!important;
  font-weight:800!important;color:var(--sv-dark)!important;
}
.sv-cert__sello{width:140px!important;height:auto!important;object-fit:contain!important;flex-shrink:0}

.sv-cert__desc{
  font-size:1rem!important;line-height:1.7!important;
  color:var(--sv-text)!important;margin:0 0 1.5rem 0!important;
}
.sv-cert__desc strong{color:var(--sv-dark)!important}

.sv-cert__badges{display:flex!important;flex-wrap:wrap!important;gap:0.4rem}
.sv-badge{
  display:inline-flex!important;align-items:center!important;gap:0.25rem;
  font-size:0.8125rem!important;font-weight:600!important;
  padding:0.3rem 0.7rem!important;border-radius:999px!important;
  background:var(--sv-accent-soft)!important;color:var(--sv-accent)!important;
  border:1px solid #c6ece0!important;white-space:nowrap;
}
.sv-badge svg{width:14px!important;height:14px!important;color:var(--sv-accent)!important;flex-shrink:0}

@media(max-width:768px){
  .sv-cert__inner{flex-direction:column!important}
  .sv-cert__photo{width:auto!important;margin:1rem 1rem 0!important}
  .sv-cert__photo img{min-height:180px;height:200px!important}
  .sv-cert__content{padding:1.5rem!important}
  .sv-cert__header{flex-direction:column!important;align-items:center!important;text-align:center;gap:0.75rem}
  .sv-cert__logo{margin:0 auto!important;max-width:200px!important}
  .sv-cert__desc{text-align:center!important}
  .sv-cert__badges{justify-content:center!important}
}


/* ==========================================================================
   TABS
   ========================================================================== */
.sv-tabs-card{
  background:var(--sv-card)!important;border-radius:var(--sv-radius)!important;
  box-shadow:var(--sv-shadow)!important;border:1px solid var(--sv-border)!important;
  margin-top:1rem!important;overflow:hidden;
}
.sv-tabs-nav{
  display:flex!important;border-bottom:1px solid var(--sv-border)!important;
  overflow-x:auto;scrollbar-width:none;
}
.sv-tabs-nav::-webkit-scrollbar{display:none}
.sv-tab-btn{
  background:none!important;border:none!important;outline:none!important;cursor:pointer;
  padding:1rem 1.5rem!important;font-size:0.875rem!important;font-weight:600!important;
  color:var(--sv-muted)!important;white-space:nowrap;position:relative;
  font-family:inherit!important;transition:color 0.2s;
}
.sv-tab-btn:hover{color:var(--sv-dark)!important}
.sv-tab-btn--active{color:var(--sv-accent)!important}
.sv-tab-btn--active::after{
  content:'';position:absolute;bottom:-1px;left:1rem;right:1rem;
  height:2px;background:var(--sv-accent);border-radius:2px;
}

.sv-tab-panel{display:none;padding:2rem 2.5rem!important}
.sv-tab-panel--active{display:block!important}
.sv-tab-text{font-size:1rem!important;line-height:1.85!important;color:var(--sv-text)!important;margin:0!important}

@media(max-width:600px){
  .sv-tab-btn{padding:0.75rem 1rem!important;font-size:0.8125rem!important}
  .sv-tab-panel{padding:1.25rem 1.5rem!important}
}


/* ==========================================================================
   CONTACT
   ========================================================================== */
.sv-contact-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1.5rem!important}
.sv-ci{display:flex!important;align-items:flex-start!important;gap:0.7rem}
.sv-ci__icon{
  width:40px!important;height:40px!important;border-radius:10px!important;flex-shrink:0;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.sv-ci__icon svg{width:18px!important;height:18px!important}
.sv-ci__icon--blue{background:#eef3ff!important;color:#3b6ade!important}
.sv-ci__icon--green{background:var(--sv-accent-soft)!important;color:var(--sv-accent)!important}
.sv-ci__label{
  font-size:0.6875rem!important;font-weight:700!important;color:var(--sv-muted)!important;
  text-transform:uppercase!important;letter-spacing:0.06em;margin-bottom:0.1rem!important;display:block!important;
}
.sv-ci__val{
  font-size:0.9375rem!important;font-weight:500!important;color:var(--sv-dark)!important;
  text-decoration:none!important;display:block!important;word-break:break-word;
}
a.sv-ci__val:hover{color:var(--sv-accent)!important}

@media(max-width:900px){.sv-contact-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:600px){.sv-contact-grid{grid-template-columns:1fr!important}}


/* ==========================================================================
   SOCIAL
   ========================================================================== */
.sv-social-row{
  display:flex!important;gap:0.4rem;margin-top:1.5rem!important;
  padding-top:1rem!important;border-top:1px solid var(--sv-border)!important;
}
.sv-social-link{
  width:40px!important;height:40px!important;border-radius:10px!important;
  background:var(--sv-bg)!important;color:var(--sv-muted)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-decoration:none!important;transition:all 0.2s;
}
.sv-social-link svg{width:18px!important;height:18px!important}
.sv-social-link:hover{background:var(--sv-accent)!important;color:#fff!important}
@media(max-width:600px){.sv-social-row{justify-content:center!important}}


/* ==========================================================================
   MAP
   ========================================================================== */
.sv-tab-map{border-radius:14px!important;overflow:hidden!important}


/* ==========================================================================
   TEAM
   ========================================================================== */
.sv-team-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important;gap:0.75rem!important}
.sv-team-card{
  display:flex!important;align-items:center!important;gap:0.875rem;
  padding:1rem!important;border-radius:12px!important;
  border:1px solid var(--sv-border)!important;background:var(--sv-bg)!important;transition:all 0.2s;
}
.sv-team-card:hover{border-color:#d0d5dd!important;box-shadow:0 4px 12px rgba(0,0,0,0.04)}
.sv-team-photo{
  width:48px!important;height:48px!important;border-radius:50%!important;
  object-fit:cover!important;border:2px solid var(--sv-border)!important;flex-shrink:0;
}
.sv-team-photo--pl{
  background:linear-gradient(135deg,#dce6f8,#d5f0e5)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:1.125rem!important;font-weight:800!important;color:var(--sv-dark)!important;
}
.sv-team-name{font-size:0.9375rem!important;font-weight:700!important;color:var(--sv-dark)!important}
.sv-team-code{
  font-size:0.6875rem!important;font-weight:600!important;color:var(--sv-accent)!important;
  background:var(--sv-accent-soft)!important;padding:0.1rem 0.4rem!important;
  border-radius:999px!important;border:1px solid #c6ece0!important;display:inline-block!important;width:fit-content!important;
}
.sv-team-link{font-size:0.8125rem!important;color:var(--sv-muted)!important;text-decoration:none!important}
.sv-team-link:hover{color:var(--sv-accent)!important}
@media(max-width:600px){
  .sv-team-grid{grid-template-columns:1fr!important}
  .sv-team-card{flex-direction:column!important;text-align:center}
}


/* ==========================================================================
   QR
   ========================================================================== */
.sv-qr-card{
  display:flex!important;align-items:center!important;gap:2rem;
  background:var(--sv-card)!important;border-radius:var(--sv-radius)!important;
  box-shadow:var(--sv-shadow)!important;border:1px solid var(--sv-border)!important;
  padding:2rem 2.5rem!important;margin-top:1rem!important;
}
.sv-qr-title{font-size:1rem!important;font-weight:700!important;color:var(--sv-dark)!important;margin:0 0 0.3rem 0!important}
.sv-qr-text{font-size:0.9375rem!important;line-height:1.6!important;color:var(--sv-text)!important;margin:0 0 0.2rem 0!important}
.sv-qr-url{font-size:0.8125rem!important;color:var(--sv-muted)!important;word-break:break-all;margin:0!important}
.sv-qr-img{
  width:120px!important;height:120px!important;border-radius:12px!important;
  border:1px solid var(--sv-border)!important;flex-shrink:0;
}
@media(max-width:600px){
  .sv-qr-card{flex-direction:column!important;text-align:center;padding:1.5rem!important}
}


/* ==========================================================================
   FOOTER
   ========================================================================== */
.sv-footer{text-align:center!important;margin-top:2rem!important;padding:1.5rem 0!important;border-top:1px solid var(--sv-border)!important}
.sv-footer p{font-size:0.8125rem!important;color:var(--sv-muted)!important;margin:0 0 0.2rem 0!important}
.sv-footer strong{color:var(--sv-text)!important}
.sv-footer__back{
  display:inline-flex!important;align-items:center!important;gap:0.3rem;margin-top:0.75rem!important;
  padding:0.6rem 1.25rem!important;background:var(--sv-accent)!important;color:#fff!important;
  font-size:0.875rem!important;font-weight:600!important;border-radius:10px!important;
  text-decoration:none!important;transition:all 0.2s;
}
.sv-footer__back:hover{background:#0bb88a!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(14,161,122,0.25)}


/* ==========================================================================
   MOBILE
   ========================================================================== */
@media(max-width:768px){
  .sv-hero__content{padding:2.5rem 1.5rem 3.5rem!important}
  .sv-hero__title{font-size:clamp(1.75rem,6vw,2.5rem)!important}
  .sv-container{padding:0 1rem 2rem!important}
}
/* ==========================================================================
   NAV — Seguroviaja (igual que template-seguroviaja)
   ========================================================================== */
.sv-nav{position:fixed;top:0;left:0;right:0;z-index:999;padding:1rem 0;background:rgba(6,13,26,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);transition:padding .3s,background .3s}
.sv-nav.scrolled{padding:.55rem 0;background:rgba(6,13,26,.96)}
.sv-nav.scrolled .sv-nb img{height:50px}
.sv-ni{max-width:1120px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between}
.sv-nb{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.sv-nb img{height:80px;width:auto;transition:height .3s}
.sv-nb span{display:none}
.sv-nl{display:flex;align-items:center;gap:2rem}
.sv-nl a{color:rgba(255,255,255,.55);font-family:var(--sv-sans);font-size:1rem;font-weight:500;transition:color .2s;text-decoration:none}
.sv-nl a:hover{color:#fff}
.sv-nt{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:6px}
.sv-nt span{display:block;width:20px;height:1.5px;background:#fff;border-radius:2px;transition:all .3s}
@media(max-width:768px){
  .sv-nl{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:rgba(6,13,26,.97);backdrop-filter:blur(20px);padding:.75rem 0}
  .sv-nl.open{display:flex}
  .sv-nl a{padding:.75rem 2rem;display:block}
  .sv-nt{display:flex}
}

/* ==========================================================================
   FOOTER — estándar AMAV
   ========================================================================== */
.foot{background:#0b1526;padding:0;text-align:center;margin-top:3rem}
.foot-main{padding:3.5rem 2rem 2.5rem;max-width:760px;margin:0 auto}
.foot-logo{height:60px;width:auto;margin:0 auto 1.5rem;opacity:.8;display:block}
.foot-name{font-family:var(--sv-sans);font-size:1rem;color:rgba(255,255,255,.45);margin-bottom:.25rem;line-height:1.5}
.foot-copy{font-family:var(--sv-sans);font-size:.875rem;color:rgba(255,255,255,.25);margin-bottom:2rem}
.foot-social{display:flex;justify-content:center;gap:1.25rem;margin-bottom:1.75rem}
.foot-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);transition:all .3s}
.foot-social a:hover{border-color:#2d5bb9;color:#fff;background:rgba(45,91,185,.15)}
.foot-social svg{width:18px;height:18px;fill:currentColor}
.foot-privacy{margin-bottom:2rem}
.foot-privacy a{font-size:.8125rem;color:#2d5bb9;text-decoration:none;transition:color .2s}
.foot-privacy a:hover{color:#fff}
.foot-divider{height:1px;background:rgba(255,255,255,.06);margin:0 2rem}
.foot-credit{padding:1.25rem 2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}
.foot-credit span{font-size:.6875rem;color:rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:.08em}
.foot-credit img{height:44px;width:auto;opacity:.4;transition:opacity .3s}
.foot-credit a:hover img{opacity:.7}