/*!
 * nosoap-contacto.css — específico de la página contacto (familia ss-*)
 */
.ss-section, .ss-hero, .ss-contact, .ss-cta-section{--ss-primary: var(--color-primary, #005AD9); --ss-primary-dark: var(--color-primary-dark, #003a8c); --ss-primary-light: var(--color-primary-light, #F2F6FF); --ss-success: #00A651; --ss-text: var(--color-text, #0B1A2A); --ss-text-secondary: #1f2937; --ss-bg: var(--color-bg, #ffffff); --ss-bg-light: var(--color-bg-light, #F2F6FF); --ss-border: var(--color-border, #E9EEF7); --ss-radius: var(--radius-md, 0.5rem); --ss-radius-lg: var(--radius-lg, 0.75rem); --ss-shadow: var(--shadow-md, 0 4px 12px rgba(0,38,84,.08)); --ss-transition: var(--transition-normal, 0.2s ease);}
.ss-section{padding: 2rem 0;}
.ss-section--bg-light{background: var(--ss-bg-light);}
.ss-section__header{text-align: center; margin-bottom: 1.5rem;}
.ss-section__label{display: inline-block; font-size: .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--ss-primary); margin-bottom: .35rem;}
.ss-section__title{font-size: 1.35rem; font-weight: 700; color: var(--ss-text); margin: 0 0 .35rem; line-height: 1.25;}
.ss-section__subtitle{font-size: .9rem; color: var(--ss-text-secondary); margin: 0;}
.ss-hero{background: linear-gradient(135deg, var(--ss-primary) 0%, var(--ss-primary-dark) 100%); color: #fff; padding: 1.5rem 1rem 1.75rem; margin-bottom: 0;}
.ss-hero__inner{max-width: 1200px; margin: 0 auto;}
.ss-hero__badge{display: inline-flex; align-items: center; gap: .5rem; background: rgba(255,255,255,.15); padding: .4rem .9rem; border-radius: 50px; font-size: .72rem; font-weight: 600; margin-bottom: .75rem; backdrop-filter: blur(4px);}
.ss-hero--secondary{text-align: left;}
.ss-hero--secondary .ss-hero__title{font-size: 1.5rem; font-weight: 700; line-height: 1.2; margin: 0 0 .5rem;}
.ss-hero--secondary .ss-hero__subtitle{font-size: .92rem; opacity: .95; margin: 0; max-width: none; line-height: 1.55;}
.ss-btn{display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.35rem; border-radius: var(--ss-radius); font-size: .88rem; font-weight: 600; font-family: inherit; text-decoration: none; text-align: center; cursor: pointer; border: 2px solid transparent; transition: all var(--ss-transition); line-height: 1.2;}
.ss-btn:focus-visible{outline: 3px solid var(--ss-primary); outline-offset: 2px;}
.ss-btn--lg{padding: .85rem 1.75rem; font-size: .95rem;}
.ss-btn--full{width: 100%;}
.ss-btn--whatsapp{background: #25D366; border-color: #25D366; color: #fff;}
.ss-btn--whatsapp:hover{background: #128C7E; border-color: #128C7E; color: #fff; text-decoration: none;}
.ss-btn--outline-dark{background: transparent; border-color: var(--ss-border); color: var(--ss-text);}
.ss-btn--outline-dark:hover{border-color: var(--ss-primary); color: var(--ss-primary); background: var(--ss-bg-light); text-decoration: none;}
.ss-btn--white{background: #fff; border-color: #fff; color: var(--ss-primary);}
.ss-btn--white:hover{background: var(--ss-bg-light); color: var(--ss-primary-dark); text-decoration: none; transform: translateY(-2px);}
.ss-mt-1{margin-top: .5rem;}
.ss-contact__grid{display: grid; grid-template-columns: 1fr; gap: 2rem;}
.ss-contact-info{display: flex; flex-direction: column; gap: 1.15rem;}
.ss-contact-info__title{font-size: 1.15rem; font-weight: 600; color: var(--ss-text); margin: 0 0 .25rem;}
.ss-contact-info__item{display: flex; gap: .85rem; align-items: flex-start;}
.ss-contact-info__icon{width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: var(--ss-bg-light); border-radius: var(--ss-radius); color: var(--ss-primary); font-size: 1.05rem; flex-shrink: 0;}
.ss-contact-info__content h4{font-size: .9rem; font-weight: 600; color: var(--ss-text); margin: 0 0 .15rem;}
.ss-contact-info__content p{font-size: .84rem; color: var(--ss-text-secondary); margin: 0; line-height: 1.45;}
.ss-contact-info__content a{color: var(--ss-primary); text-decoration: none;}
.ss-contact-info__content a:hover{text-decoration: underline;}
.ss-contact-quick{padding-top: 1rem; border-top: 1px solid var(--ss-border);}
.ss-contact-form{background: var(--ss-bg); border: 1px solid var(--ss-border); border-radius: var(--ss-radius-lg); padding: 1.5rem;}
.ss-contact-form__title{font-size: 1.05rem; font-weight: 600; color: var(--ss-text); margin: 0 0 1rem; display: flex; align-items: center; gap: .5rem;}
.ss-form-note{display: flex; align-items: center; justify-content: center; gap: .4rem; font-size: .75rem; color: var(--ss-text-secondary); text-align: center; margin-top: .85rem;}
.ss-form-note i{color: var(--ss-success);}
.ss-section--nosotros{background: #FFFBF5; border-top: 1px solid #f0e6d6; border-bottom: 1px solid #f0e6d6;}
.ss-nosotros-intro{max-width: 800px; margin: 0 auto 1.5rem; text-align: center;}
.ss-nosotros-intro p{font-size: .9rem; color: var(--ss-text-secondary); line-height: 1.65; margin: 0 0 .75rem;}
.ss-nosotros-intro p:last-child{margin-bottom: 0;}
.ss-vtabs{max-width: 900px; margin: 0 auto;}
.ss-vtabs__nav{display: flex; flex-direction: row; gap: .35rem; margin-bottom: .75rem; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none;}
.ss-vtabs__nav::-webkit-scrollbar{display: none;}
.ss-vtabs__btn{display: flex; align-items: center; gap: .5rem; padding: .65rem .85rem; background: #fff; border: 1px solid #e8dfd2; border-radius: var(--ss-radius); cursor: pointer; font-size: .82rem; font-weight: 500; font-family: inherit; color: var(--ss-text-secondary); white-space: nowrap; transition: all var(--ss-transition); flex-shrink: 0;}
.ss-vtabs__btn:hover{background: #fff7ed; border-color: #d4a574; color: var(--ss-text);}
.ss-vtabs__btn.is-active{background: #fff; border-color: #c4853c; color: #92400e; box-shadow: 0 2px 8px rgba(180,120,50,.12);}
.ss-vtabs__btn-icon{width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; background: #fef7ed; border-radius: 6px; color: #b07630; font-size: .85rem; flex-shrink: 0; transition: all var(--ss-transition);}
.ss-vtabs__btn.is-active .ss-vtabs__btn-icon{background: #c4853c; color: #fff;}
.ss-vtabs__btn-text{font-weight: 600;}
.ss-vtabs__panels{position: relative;}
.ss-vtabs__panel{display: none; background: #fff; border: 1px solid #e8dfd2; border-radius: var(--ss-radius-lg); padding: 1.25rem; animation: ssVtabFade .25s ease;}
.ss-vtabs__panel.is-active{display: block;}
.ss-vtabs__panel-title{font-size: 1.05rem; font-weight: 700; color: var(--ss-text); margin: 0 0 .85rem; padding-bottom: .6rem; border-bottom: 2px solid #f0e6d6;}
.ss-vtabs__panel p{font-size: .87rem; color: var(--ss-text-secondary); line-height: 1.6; margin: 0 0 .75rem;}
.ss-vtabs__panel p:last-child{margin-bottom: 0;}
.ss-director-credentials{display: flex; flex-direction: column; gap: .4rem;}
.ss-credential{display: flex; align-items: flex-start; gap: .5rem; font-size: .84rem; line-height: 1.45; color: var(--ss-text-secondary);}
.ss-credential i{color: #d4a030; font-size: .7rem; margin-top: .25rem; flex-shrink: 0;}
.ss-faq__grid{display: grid; grid-template-columns: 1fr; gap: .5rem; max-width: 900px; margin: 0 auto;}
.ss-faq-item{background: var(--ss-bg); border: 1px solid var(--ss-border); border-radius: var(--ss-radius); overflow: hidden;}
.ss-faq-item__question{display: flex; justify-content: space-between; align-items: center; padding: .85rem 1rem; cursor: pointer; font-size: .88rem; font-weight: 500; color: var(--ss-text); list-style: none; transition: background var(--ss-transition);}
.ss-faq-item__question::-webkit-details-marker{display: none;}
.ss-faq-item__question:hover{background: var(--ss-bg-light);}
.ss-faq-item__icon{flex-shrink: 0; width: 18px; height: 18px; position: relative; margin-left: .75rem;}
.ss-faq-item__icon::before, .ss-faq-item__icon::after{content: ''; position: absolute; background: var(--ss-primary); transition: transform var(--ss-transition);}
.ss-faq-item__icon::before{width: 10px; height: 2px; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.ss-faq-item__icon::after{width: 2px; height: 10px; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.ss-faq-item[open] .ss-faq-item__icon::after{transform: translate(-50%,-50%) rotate(90deg);}
.ss-faq-item__answer{padding: 0 1rem 1rem; font-size: .85rem; color: var(--ss-text-secondary); line-height: 1.55;}
.ss-faq-item__answer p{margin: 0;}
.ss-cta-section{background: linear-gradient(135deg, var(--ss-primary) 0%, var(--ss-primary-dark) 100%); color: #fff; padding: 2rem 1.5rem; border-radius: var(--ss-radius-lg); text-align: center;}
.ss-cta-section__title{font-size: 1.35rem; font-weight: 700; margin: 0 0 .5rem;}
.ss-cta-section__text{font-size: .92rem; opacity: .92; margin: 0 0 1.25rem; max-width: 500px; margin-left: auto; margin-right: auto;}
.ss-cta-section__actions{display: flex; justify-content: center;}
@keyframes ssVtabFade{
  from{opacity: 0; transform: translateY(4px);}
  to{opacity: 1; transform: translateY(0);}
}
@media (min-width: 48rem){
  .ss-vtabs{display: grid; grid-template-columns: 220px 1fr; gap: 1.25rem;}
  .ss-vtabs__nav{flex-direction: column; margin-bottom: 0; overflow-x: visible; position: sticky; top: 1rem; align-self: start;}
  .ss-vtabs__btn{white-space: normal; text-align: left; padding: .75rem .85rem; border-left: 3px solid transparent; border-radius: 0 var(--ss-radius) var(--ss-radius) 0;}
  .ss-vtabs__btn.is-active{border-left-color: #c4853c; border-top-color: #e8dfd2; border-right-color: #e8dfd2; border-bottom-color: #e8dfd2; background: #fff;}
  .ss-vtabs__panel{padding: 1.5rem;}
  #containerClass.sidebar-both .ss-vtabs{grid-template-columns: 1fr;}
  #containerClass.sidebar-both .ss-vtabs__nav{flex-direction: row;}
  .ss-hero--secondary{padding: 2rem;}
  .ss-hero--secondary .ss-hero__title{font-size: 1.85rem;}
  .ss-section{padding: 2.5rem 0;}
  .ss-section__title{font-size: 1.65rem;}
  .ss-contact__grid{grid-template-columns: 1fr 1fr; gap: 2.5rem;}
  .ss-faq__grid{grid-template-columns: repeat(2, 1fr); gap: .75rem;}
  .ss-cta-section{padding: 2.5rem 2rem;}
  .ss-cta-section__title{font-size: 1.65rem;}
  #containerClass.sidebar-both .ss-contact__grid{grid-template-columns: 1fr;}
  #containerClass.sidebar-both .ss-faq__grid{grid-template-columns: 1fr;}
}
@media (min-width: 64rem){
  .ss-section{padding: 3rem 0;}
  .ss-section__title{font-size: 1.85rem;}
}
@media print{
  .ss-hero, .ss-cta-section{background: #fff !important; color: #000 !important;}
  .ss-btn{display: none !important;}
}
@media (prefers-reduced-motion: reduce){
  .ss-btn, .ss-vtabs__btn, .ss-vtabs__panel, .ss-faq-item{transition: none !important;}
}