/*
 * Viving · diseño v2 en todo el sitio (sprint 2026-10-02).
 * Solo se carga con el diseño v2 activo (viving_v2_activo(), cookie vh_v2 o
 * VIVING_V2_PUBLICO) y nunca en la home v2, que tiene su propia hoja.
 * Todo cuelga de body.vs. Misma marca que la home v2 (home-v2.css):
 *   Marino #1A3151 marca y texto · Terracota #B75A44 (hover #9B4532) acción
 *   principal · Crema #F8F2E8 fondo · Paleta de apoyo empolvada solo en fondos
 *   y formas · Titulares Bricolage Grotesque (H1 700, H2 750, H3 700) con una
 *   palabra opcional en Instrument Serif Italic (.vs-it).
 * Orden: fuentes → bloque generado (turquesa → marino, ver
 * seo/tools/build_v2_css.py) → base → marco → componentes → páginas → motion.
 */
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-grotesque-latin-600-800.woff2) format("woff2");font-weight:600 800;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2192}
@font-face{font-family:"Instrument Serif";src:url(../fonts/instrument-serif-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+2013-2014,U+2018-201A,U+201C-201E,U+2022,U+2026,U+2039-203A,U+20AC,U+2192}
@font-face{font-family:"Instrument Reserva";src:local("Times New Roman Italic"),local("TimesNewRomanPS-ItalicMT"),local("Liberation Serif Italic");font-weight:400;font-style:italic;size-adjust:90%;ascent-override:110%;descent-override:34.4%;line-gap-override:0%}
@font-face{font-family:"Bricolage Reserva";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Helvetica Neue Bold");font-weight:700 800;size-adjust:91.4%;ascent-override:101.7%;descent-override:29.5%;line-gap-override:0%}
@font-face{font-family:"Bricolage Reserva";src:local("Arial Bold"),local("Arial-BoldMT"),local("Liberation Sans Bold"),local("Helvetica Neue Bold");font-weight:600;size-adjust:96.1%;ascent-override:96.8%;descent-override:28.1%;line-gap-override:0%}

/* @auto-start — generado por seo/tools/build_v2_css.py, no editar a mano */
body.vs a{color: #1A3151}
body.vs .navbar-vertical .nav-tabs .active .nav-link,body.vs .navbar-vertical .nav-tabs .active.nav-link{border-left: 0px solid #1A3151 !important;border-bottom: 3px solid #1A3151 !important;color: #1A3151}
body.vs .btn-primary{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-primary.disabled,body.vs .btn-primary:disabled{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-secondary{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-secondary.disabled,body.vs .btn-secondary:disabled{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-secondary:not(:disabled):not(.disabled).active,body.vs .btn-secondary:not(:disabled):not(.disabled):active,body.vs .show>.btn-secondary.dropdown-toggle{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-success{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-success.disabled,body.vs .btn-success:disabled{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-success:not(:disabled):not(.disabled).active,body.vs .btn-success:not(:disabled):not(.disabled):active,body.vs .show>.btn-success.dropdown-toggle{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-info{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-info.disabled,body.vs .btn-info:disabled{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-primary{color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-primary:hover{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-primary.disabled,body.vs .btn-outline-primary:disabled{color: #1A3151}
body.vs .btn-outline-primary:not(:disabled):not(.disabled).active,body.vs .btn-outline-primary:not(:disabled):not(.disabled):active,body.vs .show>.btn-outline-primary.dropdown-toggle{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-secondary{color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-secondary:hover{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-secondary.disabled,body.vs .btn-outline-secondary:disabled{color: #1A3151}
body.vs .btn-outline-secondary:not(:disabled):not(.disabled).active,body.vs .btn-outline-secondary:not(:disabled):not(.disabled):active,body.vs .show>.btn-outline-secondary.dropdown-toggle{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-info{color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-info:hover{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-outline-info.disabled,body.vs .btn-outline-info:disabled{color: #1A3151}
body.vs .btn-outline-info:not(:disabled):not(.disabled).active,body.vs .btn-outline-info:not(:disabled):not(.disabled):active,body.vs .show>.btn-outline-info.dropdown-toggle{background-color: #1A3151;border-color: #1A3151}
body.vs .btn-link{color: #1A3151}
body.vs .dropdown-item:focus,body.vs .dropdown-item:hover{color: #1A3151 !important}
body.vs .dropdown-item.active,body.vs .dropdown-item:active{color: #1A3151}
body.vs .custom-file-input:focus~.custom-file-label{border-color: #1A3151}
body.vs .navbar-light .navbar-nav .nav-link:focus,body.vs .navbar-light .navbar-nav .nav-link:hover{color: #1A3151}
body.vs .navbar-light .navbar-nav .active>.nav-link,body.vs .navbar-light .navbar-nav .nav-link.active,body.vs .navbar-light .navbar-nav .nav-link.show,body.vs .navbar-light .navbar-nav .show>.nav-link{color: #1A3151}
body.vs .navbar-light .navbar-text a{color: #1A3151}
body.vs .navbar-light .navbar-text a:focus,body.vs .navbar-light .navbar-text a:hover{color: #1A3151}
body.vs .navbar-dark .navbar-nav .nav-link:focus,body.vs .navbar-dark .navbar-nav .nav-link:hover{color: #1A3151}
body.vs .navbar-dark .navbar-nav .active>.nav-link,body.vs .navbar-dark .navbar-nav .nav-link.active,body.vs .navbar-dark .navbar-nav .nav-link.show,body.vs .navbar-dark .navbar-nav .show>.nav-link{color: #1A3151}
body.vs .navbar-dark .navbar-text a{color: #1A3151}
body.vs .navbar-dark .navbar-text a:focus,body.vs .navbar-dark .navbar-text a:hover{color: #1A3151}
body.vs .badge-primary{background-color: #1A3151}
body.vs .badge-info{background-color: #1A3151}
body.vs .bg-primary{background-color: #1A3151 !important}
body.vs .bg-info{background-color: #1A3151 !important}
body.vs .border-primary{border-color: #1A3151 !important}
body.vs .border-info{border-color: #1A3151 !important}
body.vs .text-primary{color: #1A3151 !important}
body.vs .text-info{color: #1A3151 !important}
body.vs .btn.btn-light-primary{color: #1A3151}
body.vs .btn.btn-light-primary:hover{background-color: #1A3151}
body.vs .btn.btn-light-info{color: #1A3151}
body.vs .btn.btn-light-info:hover{background-color: #1A3151}
body.vs .badge-primary-soft{color: #1A3151}
body.vs a.badge-primary-soft:focus,body.vs a.badge-primary-soft:hover{color: #1A3151}
body.vs .badge-info-soft{color: #1A3151}
body.vs a.badge-info-soft:focus,body.vs a.badge-info-soft:hover{color: #1A3151}
body.vs .badge-white-soft.active{color: #1A3151}
body.vs .badge-white-soft.active:focus,body.vs .badge-white-soft.active:hover{color: #1A3151}
body.vs ::-moz-selection{background: #1A3151}
body.vs ::selection{background: #1A3151}
body.vs .bg-primary::-moz-selection{color: #1A3151}
body.vs .bg-primary::selection{color: #1A3151}
body.vs .bg-primary{color: #1A3151}
body.vs .svg-injector{color: #1A3151}
body.vs .cd-headline.loading-bar .cd-words-wrapper::after{background-color: #1A3151}
body.vs .breadcrumb .breadcrumb-item a{color: #1A3151}
body.vs .scroll-to-top{color: #1A3151}
body.vs .scroll-to-top i{color: #1A3151}
body.vs .scroll-to-top:hover{background: #1A3151}
body.vs .icon-style-two .icon{color: #1A3151}
body.vs .list-style1 i{color: #1A3151}
body.vs .hover-primary:hover{color: #1A3151}
body.vs .overlay-primary:before{background-color: #1A3151}
body.vs .fill-primary{fill: #1A3151}
body.vs .navbar-dark .navbar-nav .nav-link:hover{color: #1A3151}
body.vs .navbar-dark .navbar-nav .nav-link:focus{color: #1A3151}
body.vs .footer-list-style li a:hover{color: #1A3151}
body.vs .footer-list-style-two li a:hover{color: #1A3151}
body.vs .footer-title-style2:after{background: #1A3151}
body.vs .accordion>.card .btn-link:after{color: #1A3151;background-color: #1A3151}
body.vs .slider-section .owl-theme .owl-nav [class*=owl-]{background: #1A3151}
body.vs .slider-section .owl-theme .owl-nav [class*=owl-]:hover{color: #1A3151}
body.vs .social-icon li a{color: #1A3151}
body.vs .social-icon3 li a{border: 1px solid #1A3151}
body.vs .social-icon3 li a:hover{background-color: #1A3151}
body.vs .tab-style-one .resp-tabs-list li.resp-tab-active{border: 1px solid #1A3151;border-color: #1A3151 !important;border-top: 4px solid #1A3151 !important;color: #1A3151}
body.vs .tab-style-one .resp-tabs-list li.resp-tab-active:after{background: #1A3151}
body.vs .tab-style-one ul.resp-tabs-list li.resp-tab-active{color: #1A3151}
body.vs .tab-style-one h2.resp-tab-active{background: #1A3151 !important}
body.vs .tab-style-one h2.resp-accordion:after{color: #1A3151}
body.vs .html-code .copy-clipboard:hover{background: #1A3151}
body.vs ul.pagination li a{color: #1A3151}
body.vs ul.pagination li a:hover{background: #1A3151}
body.vs .pagination>.active>a{background-color: #1A3151 !important}
body.vs .icon-plan i{border-color: #1A3151;color: #1A3151}
body.vs .purple .pricing-label{color: #1A3151}
body.vs .ui-state-default:hover{color: #1A3151}
body.vs .ui-state-active{color: #1A3151}
body.vs .staff-rdo>input+div:hover{border: 2px solid #1A3151}
body.vs .staff-rdo>input:checked+div{border: 2px solid #1A3151}
body.vs .service-rdo>input+div:hover{border: 2px solid #1A3151}
body.vs .service-rdo>input:checked+div{border: 2px solid #1A3151}
body.vs .service-check>input+div:hover{border: 2px solid #1A3151}
body.vs .service-check>input:checked+div{border: 2px solid #1A3151}
body.vs .navbar-vertical .nav-tabs .active .nav-link,body.vs .navbar-vertical .nav-tabs .active.nav-link{border-left: 3px solid #1A3151;color: #1A3151}
body.vs .nav .nav-link{color: #1A3151}
body.vs .nav .nav-link:not(.active):hover{color: #1A3151}
body.vs .nav:not(.nav-pills) .nav-item.active .nav-link,body.vs .nav:not(.nav-pills) .nav-link.active{color: #1A3151}
body.vs .bg-primary-soft{color: #1A3151}
body.vs .bg-info-soft{color: #1A3151}
body.vs .ui-timepicker-standard .ui-state-hover{color: #1A3151 !important}
body.vs .learn-more{color: #1A3151 !important}
body.vs .learn-more:hover{color: #1A3151 !important}
body.vs .btn-aceptar{color: #1A3151 !important;border: 1px solid #1A3151 !important}
body.vs .btn-aceptar:hover{border: 1px solid #1A3151 !important;background-color: #1A3151 !important}
body.vs .company-link{color: #1A3151}
body.vs .template-box:hover .template-box-text{color: #1A3151 !important}
body.vs .circle-icon{border: 0px solid #1A3151}
body.vs .sidebar-icon i{color: #1A3151 !important}
body.vs .bg-nprimary-soft{color: #1A3151 !important}
body.vs .bg-info-soft{color: #1A3151 !important}
body.vs .select2-container--default .select2-selection--multiple .select2-selection__choice{background-color: #1A3151 !important}
body.vs .verified-badge{background-color: #1A3151}
body.vs .available-badge{background-color: #1A3151}
body.vs .time_btn:hover{border: 1px solid rgba(26,49,81, .9) !important;background: rgba(26,49,81, .1) !important;color: #1A3151 !important}
body.vs .contact-box a{color: #1A3151 !important}
/* ↑ assets/front/css/template.css: 122 */
body.vs .viv-badge-nota{border-left: 3px solid #1A3151}
body.vs .viv-badge-cta{background: #1A3151}
/* ↑ application/views/badge_viving.php: 2 */
body.vs .viv-cat-pill:hover{border-color:#1A3151;box-shadow:0 6px 14px rgba(26,49,81,.15)}
body.vs .viv-cat-pill.is-active{background:#1A3151;border-color:#1A3151;box-shadow:0 6px 16px rgba(26,49,81,.28)}
/* ↑ application/views/blog_posts.php: 2 */
body.vs .bk-summary{border-left: 4px solid #1A3151}
body.vs .bk-summary-title i{color: #1A3151}
body.vs .bk-row-icon{color: #1A3151;box-shadow: 0 2px 6px rgba(26,49,81,.08)}
/* ↑ application/views/booking_session.php: 3 */
body.vs{--acento:#1A3151}
body.vs .cod{color:#1A3151;background:rgba(26,49,81,.12);border:1px solid rgba(26,49,81,.3)}
body.vs li a:hover,body.vs li a:focus{color:#1A3151}
body.vs .pie a{color:#1A3151}
/* ↑ application/views/errors/html/error_404.php: 4 */
body.vs .viv-recursos-i{background:rgba(26,49,81,.14);color:#1A3151}
body.vs .viv-recursos-c ul a:hover{color:#1A3151}
body.vs .viv-recursos-v{color:#1A3151}
body.vs .viv-recursos-v:hover{color:#1A3151}
/* ↑ application/views/include/enlaces_recursos.php: 4 */
body.vs .viving-footer .footer-list-style-two li a:hover{color:#1A3151!important}
body.vs .viving-footer .vf-cta{border:1px solid rgba(26,49,81,.6);color:#1A3151!important}
body.vs .viving-footer .vf-cta:hover{background-color:#1A3151;border-color:#1A3151}
body.vs .viving-footer .vf-bottom a:hover{color:#1A3151!important}
body.vs .pm-tag{color:#1A3151;background:rgba(26,49,81,.08);border:1px solid rgba(26,49,81,.22)}
body.vs .pm-perk-icon{background:rgba(26,49,81,.1)}
body.vs .pm-perk-icon i{color:#1A3151}
body.vs .pm-cta{background:#1A3151}
body.vs .pm-cta:hover{background:#24406A;box-shadow:0 6px 28px rgba(26,49,81,.42)}
body.vs .pm-right::before{background:rgba(26,49,81,.08)}
body.vs .pm-right::after{background:rgba(26,49,81,.05)}
body.vs .pm-stat-num{color:#1A3151}
body.vs .pm-right-badge{background:rgba(26,49,81,.12);border:1px solid rgba(26,49,81,.25)}
body.vs .pm-right-badge i{color:#1A3151}
/* ↑ application/views/include/footer.php: 14 */
body.vs .mch-verified-dot{background: #1A3151}
body.vs .mch-category{color: #1A3151}
body.vs .mch-cta{color: #1A3151}
/* ↑ application/views/include/mentor_item_css.php: 3 */
body.vs .viv-skill-link{color: #1A3151}
body.vs .viv-skill-link:hover{border-color: #1A3151}
body.vs .viv-skill-toggle{color: #1A3151}
/* ↑ application/views/include/skill_links.php: 3 */
body.vs .mp-hero::before{background: radial-gradient(circle, rgba(26,49,81,.12) 0%, transparent 68%)}
body.vs .mp-hero::after{background: linear-gradient(90deg, transparent, rgba(26,49,81,.3), transparent)}
body.vs .mp-hero-photo{border: 2px solid #1A3151}
body.vs .mp-verified-badge{background: #1A3151;box-shadow: 0 2px 8px rgba(26,49,81,.4)}
body.vs .mp-hero-specialty{color: #1A3151 !important}
body.vs .mp-hero-social a:hover{background: rgba(26,49,81,.2);color: #1A3151 !important;border-color: rgba(26,49,81,.3)}
body.vs .mp-btn-book{background: #1A3151;box-shadow: 0 4px 14px rgba(26,49,81,.35)}
body.vs .mp-btn-book:hover{box-shadow: 0 6px 20px rgba(26,49,81,.45)}
body.vs .mp-hero-price-free{background: rgba(26,49,81,.16);border: 1px solid rgba(26,49,81,.42)}
body.vs .mp-card-title i{color: #1A3151 !important}
body.vs .mp-read-more{color: #1A3151}
body.vs .mp-skill-chip{background: #F3EEE6;color: #1A3151;border: 1px solid #E3DDD4}
body.vs a.mp-skill-chip{color: #1A3151}
body.vs .mp-skill-chip:hover{background: #F3EEE6;border-color: #1A3151}
body.vs .mp-lang-chip i{color: #1A3151}
body.vs .mp-timeline::before{background: linear-gradient(to bottom, #1A3151 0%, #d4dce8 100%)}
body.vs .mp-tl-dot{border: 2.5px solid #1A3151;box-shadow: 0 0 0 3px rgba(26,49,81,.12), 0 2px 6px rgba(0,0,0,.1)}
body.vs .mp-tl-period{color: #1A3151;background: #F3EEE6;border: 1px solid #E3DDD4}
body.vs .mp-booking-head::before{background: radial-gradient(circle, rgba(26,49,81,.18) 0%, transparent 70%)}
body.vs .mp-session-card:hover{border-color: #1A3151;box-shadow: 0 3px 14px rgba(26,49,81,.12)}
body.vs .mp-session-card.selected{border-color: #1A3151;background: #F3EEE6;box-shadow: 0 3px 14px rgba(26,49,81,.12)}
body.vs .mp-session-card.selected::before{background: #1A3151}
body.vs .mp-session-price{color: #1A3151}
body.vs .mp-session-price-free{color: #1A3151;background: #F3EEE6;border: 1px solid #E3DDD4}
body.vs .mp-book-cta{background: linear-gradient(135deg, #1A3151, #24406A);box-shadow: 0 4px 16px rgba(26,49,81,.3)}
body.vs .mp-book-cta:hover{box-shadow: 0 7px 24px rgba(26,49,81,.38)}
body.vs .mp-book-empty-cta{border: 1.5px solid #1A3151}
body.vs .mp-book-empty-cta:hover{background: #1A3151}
body.vs .mp-contact-icon{background: #F3EEE6;color: #1A3151}
body.vs .mp-contact-row a:hover{color: #1A3151}
body.vs .mp-trust-note i{color: #1A3151}
/* ↑ application/views/mentor_profile.php: 31 */
body.vs .viv-cat-link{border:1px solid #E3DDD4;background:#F3EEE6}
body.vs .viv-cat-link:hover{border-color:#1A3151;color:#1A3151}
body.vs .viv-cat-link.is-active{background:#1A3151;border-color:#1A3151}
body.vs .psic-filter-wrap .form-control:focus,body.vs .psic-filter-wrap .custom-select:focus{border-color: #1A3151;box-shadow: 0 0 0 3px rgba(26,49,81, .12)}
/* ↑ application/views/mentors.php: 4 */
body.vs{--lp-cyan:    #1A3151}
body.vs .lp-hero::before{background: radial-gradient(circle, rgba(26,49,81,.18) 0%, transparent 65%)}
body.vs .lp-hero::after{background: radial-gradient(circle, rgba(26,49,81,.09) 0%, transparent 70%)}
body.vs .lp-badge{background: rgba(26,49,81,.14);border: 1px solid rgba(26,49,81,.35)}
body.vs .btn-hero-primary{box-shadow: 0 8px 24px rgba(26,49,81,.35)}
body.vs .btn-hero-primary:hover{box-shadow: 0 14px 34px rgba(26,49,81,.45)}
body.vs .mock-profile-header{background: linear-gradient(140deg, #0f2044 0%, #1A3151 130%)}
body.vs .lp-benefit-card:hover{box-shadow: 0 20px 48px rgba(26,49,81,.12);border-color: rgba(26,49,81,.3)}
body.vs .lp-benefit-icon{background: linear-gradient(135deg, rgba(26,49,81,.16), rgba(26,49,81,.05))}
body.vs .lp-step-num{box-shadow: 0 10px 24px rgba(26,49,81,.32)}
body.vs .lp-include-icon{background: rgba(26,49,81,.2)}
body.vs .lp-after::before{background: radial-gradient(circle, rgba(26,49,81,.18), transparent 70%)}
body.vs .lp-after  .compare-tag{background: rgba(26,49,81,.18)}
body.vs .faq-icon{background: rgba(26,49,81,.1)}
/* ↑ application/views/psicologos_web.php: 14 */
/* @auto-end */

/* ── Base ──────────────────────────────────────────────────────────────── */
body.vs{
  --vh-navy:#1A3151;--vh-navy-h:#24406A;--vh-cta:#B75A44;--vh-cta-h:#9B4532;--vh-acc:#C96A54;
  --vh-cream:#F8F2E8;--vh-cream-2:#F3EEE6;
  --vh-melo:#F2CDB9;--vh-salvia:#B5C9AE;--vh-arena:#EBDDBE;--vh-cielo:#C9D9EA;--vh-lila:#DCD3EA;
  --vh-line:#E3DDD4;--vh-txt-2:#455976;--vh-txt-3:#5B6F8B;
  --vh-sh-1:0 1px 2px rgba(26,49,81,.05),0 6px 18px rgba(26,49,81,.06);
  --vh-sh-2:0 2px 4px rgba(26,49,81,.04),0 24px 48px -20px rgba(26,49,81,.28);
  --vh-ease:cubic-bezier(.2,.7,.2,1);
  --vh-disp:"Bricolage Grotesque","Bricolage Reserva",Arial,sans-serif;
  --vh-serif:"Instrument Serif","Instrument Reserva","Times New Roman",serif;
  --primary:#1A3151;
  color:var(--vh-navy);background:var(--vh-cream);
}
body.vs .main-wrapper{background:var(--vh-cream);overflow-x:clip}
body.vs ::selection{background:var(--vh-melo);color:var(--vh-navy)}
:where(body.vs) :is(h1,h2,h3){font-family:var(--vh-disp)!important;color:var(--vh-navy);font-optical-sizing:auto;text-wrap:balance}
:where(body.vs) h1{font-size:clamp(2.25rem,1.3rem + 3.2vw,4.25rem);font-weight:700;line-height:1.03;letter-spacing:-.03em}
:where(body.vs) h2{font-size:clamp(1.65rem,1.15rem + 1.7vw,2.6rem);font-weight:750;line-height:1.08;letter-spacing:-.025em}
:where(body.vs) h3{font-weight:700;letter-spacing:-.015em;line-height:1.2}
:where(body.vs) :is(h4,h5,h6){color:var(--vh-navy)}
body.vs .custom-font{font-family:var(--vh-disp)!important}
body.vs .font-weight-bold:is(h1,h2,h3){font-weight:750!important}
body.vs h1.font-weight-bold{font-weight:700!important}
body.vs .vs-it,body.vs h1 em,body.vs h2 em{font-family:var(--vh-serif)!important;font-style:italic;font-weight:400;letter-spacing:-.01em;padding-right:.04em}
body.vs .text-muted{color:var(--vh-txt-2)!important}
body.vs .text-primary{color:var(--vh-navy)!important}
body.vs .text-dark{color:var(--vh-navy)!important}
body.vs .bg-grey,body.vs .bg-light,body.vs .bg-white-smoke,body.vs .bg-gray{background-color:var(--vh-cream)!important}
body.vs .bg-primary{background-color:var(--vh-navy)!important}
body.vs .bg-primary-soft,body.vs .bg-nprimary-soft,body.vs .bg-info-soft{background-color:var(--vh-cream-2)!important}
body.vs a{color:var(--vh-navy)}
body.vs :focus-visible{outline:2px solid var(--vh-navy);outline-offset:3px}
body.vs hr{border-color:var(--vh-line)}

/* ── Marco: cabecera crema con logo marino, pie marino redondeado ──────── */
body.vs #navbar,body.vs #navbar .navbar{background:var(--vh-cream)!important;box-shadow:none!important}
body.vs #navbar{border-bottom:1px solid var(--vh-line);transition:box-shadow .3s ease,background-color .3s ease}
body.vs.vs-scrolled #navbar,body.vs.vs-scrolled #navbar .navbar{background:rgba(248,242,232,.82)!important;-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3)}
body.vs.vs-scrolled #navbar{box-shadow:0 8px 24px -16px rgba(26,49,81,.35)!important}
body.vs #navbar .nav-link{color:var(--vh-navy)!important;font-family:Inter,system-ui,sans-serif;font-weight:500;font-size:.9375rem}
body.vs #navbar .nav-link:hover,body.vs #navbar .nav-link.active{color:var(--vh-navy)!important;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
body.vs #navbar .btn{border-radius:6px!important;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.875rem;padding:.55rem 1rem;box-shadow:none!important}
body.vs #navbar .btn-outline-secondary{background:transparent!important;border:1.5px solid transparent!important;color:var(--vh-navy)!important;text-decoration:underline;text-underline-offset:3px}
body.vs #navbar .btn-primary,body.vs #navbar .btn-black{background:transparent!important;border:1.5px solid var(--vh-navy)!important;color:var(--vh-navy)!important}
body.vs #navbar .btn-primary:hover,body.vs #navbar .btn-black:hover{background:var(--vh-navy)!important;color:#fff!important}
body.vs #navbar .btn-mode{color:var(--vh-navy)!important;border:0!important}
body.vs #navbar .navbar-toggler{color:var(--vh-navy);border-color:var(--vh-line)}
body.vs #navbar .dropdown-menu{border:1px solid var(--vh-line);border-radius:12px;box-shadow:var(--vh-sh-2)}
body.vs #navbar .dropdown-item{color:var(--vh-navy)}
body.vs #navbar .dropdown-item:hover{background:var(--vh-cream);color:var(--vh-navy)}

body.vs .viving-footer{background-color:var(--vh-navy);border-radius:40px 40px 0 0;margin-top:clamp(48px,6vw,96px)}
body.vs .viving-footer .footer-list-style-two li a{color:#fff!important}
body.vs .viving-footer .footer-list-style-two li a:hover{color:#fff!important;opacity:1;text-decoration:underline}
body.vs .viving-footer .vf-cta{border:1.5px solid #fff;border-radius:6px;color:#fff!important}
body.vs .viving-footer .vf-cta:hover{background-color:#fff;border-color:#fff;color:var(--vh-navy)!important}
body.vs .viving-footer .vf-bottom a:hover{color:#fff!important}
body.vs .viving-footer .social-icon3 a{color:#fff!important;border-color:rgba(255,255,255,.5)!important}
body.vs .viving-footer .social-icon3 a:hover{background-color:#fff!important;border-color:#fff!important;color:var(--vh-navy)!important}
body.vs .scroll-to-top,body.vs .scroll-to-top i{background:var(--vh-navy)!important;color:#fff!important}
body.vs .scroll-to-top:hover,body.vs .scroll-to-top:hover i{background:var(--vh-navy-h)!important}


/* ── Botones: rectos de 6 px como la home; terracota = acción principal ── */
body.vs .btn{border-radius:6px;font-weight:600;letter-spacing:0;transition:background-color .25s var(--vh-ease),border-color .25s var(--vh-ease),color .25s var(--vh-ease),box-shadow .3s var(--vh-ease),transform .2s var(--vh-ease)}
body.vs .btn:active{transform:translateY(1px)}
body.vs .btn-primary{background:var(--vh-cta)!important;border-color:var(--vh-cta)!important;color:#fff!important;box-shadow:0 1px 0 rgba(26,49,81,.08)}
body.vs .btn-primary:hover,body.vs .btn-primary:focus{background:var(--vh-cta-h)!important;border-color:var(--vh-cta-h)!important;color:#fff!important;box-shadow:0 10px 24px -10px rgba(155,69,50,.55)!important}
body.vs .btn-outline-primary{background:transparent!important;border:1.5px solid var(--vh-navy)!important;color:var(--vh-navy)!important}
body.vs .btn-outline-primary:hover,body.vs .btn-outline-primary:focus{background:var(--vh-navy)!important;color:#fff!important;box-shadow:none!important}
body.vs .btn-outline-secondary{background:transparent;border:1.5px solid var(--vh-line);color:var(--vh-navy)}
body.vs .btn-outline-secondary:hover{background:#fff;border-color:var(--vh-navy);color:var(--vh-navy)}
body.vs .btn-secondary,body.vs .btn-dark,body.vs .btn-black{background:var(--vh-navy)!important;border-color:var(--vh-navy)!important;color:#fff!important}
body.vs .btn-secondary:hover,body.vs .btn-dark:hover,body.vs .btn-black:hover{background:var(--vh-navy-h)!important;border-color:var(--vh-navy-h)!important}
body.vs .btn-light-primary{background:var(--vh-cream-2)!important;color:var(--vh-navy)!important;border-color:transparent!important}
body.vs .btn-link{color:var(--vh-navy)}
body.vs .btn .bi-arrow-right,body.vs .btn .fa-arrow-right{display:inline-block;transition:transform .25s var(--vh-ease)}
body.vs .btn:hover .bi-arrow-right,body.vs .btn:hover .fa-arrow-right{transform:translateX(4px)}

/* ── Formularios ──────────────────────────────────────────────────────── */
body.vs .form-control,body.vs .custom-select{border:1px solid var(--vh-line);border-radius:10px;background-color:#fff;color:var(--vh-navy);min-height:46px;transition:border-color .2s ease,box-shadow .2s ease}
body.vs textarea.form-control{min-height:auto}
body.vs .form-control::placeholder{color:var(--vh-txt-3)}
body.vs .form-control:focus,body.vs .custom-select:focus{border-color:var(--vh-navy)!important;box-shadow:0 0 0 4px rgba(26,49,81,.12)!important;outline:0}
body.vs label{color:var(--vh-navy)}
body.vs .custom-control-input:checked~.custom-control-label::before{background-color:var(--vh-navy)!important;border-color:var(--vh-navy)!important}
body.vs .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 4px rgba(26,49,81,.12)!important}

/* ── Tarjetas, insignias, paginación, acordeones ──────────────────────── */
body.vs .card{border:1px solid var(--vh-line);border-radius:20px;background:#fff;box-shadow:none}
body.vs .card-header{background:transparent;border-bottom-color:var(--vh-line)}
body.vs .badge-primary{background:var(--vh-navy)!important;color:#fff!important}
body.vs .badge-primary-soft{background:var(--vh-cream-2)!important;color:var(--vh-navy)!important}
body.vs ul.pagination{gap:6px}
body.vs ul.pagination li a,body.vs ul.pagination li span,body.vs .pagination .page-link{min-width:44px;height:44px;display:inline-grid;place-items:center;border-radius:10px!important;border:1px solid var(--vh-line)!important;background:#fff!important;color:var(--vh-navy)!important;font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
body.vs ul.pagination li a:hover,body.vs .pagination .page-link:hover{border-color:var(--vh-navy)!important}
body.vs ul.pagination li.active a,body.vs ul.pagination li.active span,body.vs .pagination>.active>a,body.vs .pagination .active .page-link{background:var(--vh-navy)!important;border-color:var(--vh-navy)!important;color:#fff!important}
body.vs .breadcrumb{background:transparent;padding-left:0}
body.vs .breadcrumb .breadcrumb-item a{color:var(--vh-txt-2)}
body.vs .breadcrumb .breadcrumb-item a:hover{color:var(--vh-navy);text-decoration:underline}
body.vs .accordion>.card{border-radius:16px!important;margin-bottom:10px;overflow:hidden}
body.vs .accordion>.card .btn-link{color:var(--vh-navy);font-weight:600;text-decoration:none}

/* ── Directorio /psicologos y landings ─────────────────────────────────── */
/* Cabecera del listado: H1 grande, enlaces de categoría como etiquetas
   rectas (sin píldoras, decisión 2026-10-02) */
body.vs section.bg-grey{padding-top:clamp(28px,4vw,56px)!important}
body.vs .viv-cat-links,body.vs .viv-skill-links{gap:.45rem}
body.vs .viv-cat-link,body.vs .viv-skill-link{border-radius:8px!important;border:1px solid var(--vh-line)!important;background:#fff!important;color:var(--vh-navy)!important;font-weight:600;padding:.4rem .8rem;transition:border-color .2s ease,background-color .2s ease,transform .2s var(--vh-ease)}
body.vs .viv-cat-link:hover,body.vs .viv-skill-link:hover{border-color:var(--vh-navy)!important;transform:translateY(-1px)}
body.vs .viv-cat-link.is-active,body.vs .viv-skill-link.is-active{background:var(--vh-navy)!important;border-color:var(--vh-navy)!important;color:#fff!important}
body.vs .viv-skill-links-label{color:var(--vh-txt-2)}

body.vs .psic-filter-wrap{border:1px solid var(--vh-line);border-radius:20px;padding:18px 18px 14px;box-shadow:var(--vh-sh-1)}
body.vs .psic-filter-wrap .mentbtn{min-height:46px;background:var(--vh-cta)!important;border-color:var(--vh-cta)!important;color:#fff!important}
body.vs .psic-filter-wrap .mentbtn:hover{background:var(--vh-cta-h)!important;border-color:var(--vh-cta-h)!important}

/* Tarjeta de profesional: blanca, esquinas de 22 px, aro de color empolvado
   alrededor de la foto (rota por la paleta), «Ver perfil» en botón marino. */
body.vs .mentor_area>[class*=col-]:nth-child(5n+1){--c:var(--vh-cielo)}
body.vs .mentor_area>[class*=col-]:nth-child(5n+2){--c:var(--vh-melo)}
body.vs .mentor_area>[class*=col-]:nth-child(5n+3){--c:var(--vh-salvia)}
body.vs .mentor_area>[class*=col-]:nth-child(5n+4){--c:var(--vh-lila)}
body.vs .mentor_area>[class*=col-]:nth-child(5n+5){--c:var(--vh-arena)}
body.vs .mch-card{position:relative;isolation:isolate;border:1px solid var(--vh-line);border-radius:22px;padding:16px 18px;gap:16px;transition:box-shadow .4s var(--vh-ease),transform .4s var(--vh-ease),border-color .3s ease}
body.vs .mch-card::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(120% 90% at 0% 50%,color-mix(in srgb,var(--c,var(--vh-cielo)) 55%,transparent),transparent 55%);opacity:.0;transition:opacity .4s var(--vh-ease)}
body.vs .mch-link:hover .mch-card{border-color:transparent;box-shadow:var(--vh-sh-2);transform:translateY(-3px)}
body.vs .mch-link:hover .mch-card::before{opacity:1}
body.vs .mch-photo-wrap,body.vs .mch-photo{width:84px;height:84px}
body.vs .mch-photo{border:3px solid #fff;box-shadow:0 0 0 3px var(--c,var(--vh-cielo));background:var(--c,var(--vh-cielo))}
body.vs .mch-verified-dot{background:var(--vh-navy)!important;bottom:-2px;right:-4px}
body.vs .mch-name{font-family:var(--vh-disp);font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--vh-navy)}
body.vs .mch-category{color:var(--vh-txt-2)!important;font-weight:500}
body.vs .mch-badge{border-radius:6px;font-weight:600}
body.vs .mch-badge-verified{background:color-mix(in srgb,var(--vh-salvia) 55%,#fff);color:#2F4A2A}
body.vs .mch-badge-avail{background:color-mix(in srgb,var(--vh-cielo) 60%,#fff);color:var(--vh-navy)}
body.vs .mch-badge-free{background:color-mix(in srgb,var(--vh-melo) 60%,#fff);color:#7A3524}
body.vs .mch-skill{background:var(--vh-cream);color:var(--vh-txt-2);border-radius:6px}
body.vs .mch-skill-more{background:transparent;border:1px dashed var(--vh-line);font-style:normal}
body.vs .mch-price{color:var(--vh-navy);font-size:14px}
body.vs .mch-cta{color:#fff!important;background:var(--vh-navy);border-radius:6px;padding:.35rem .7rem;transition:background-color .25s var(--vh-ease)}
body.vs .mch-cta .bi{transition:transform .25s var(--vh-ease)}
body.vs .mch-link:hover .mch-cta{background:var(--vh-cta)}
body.vs .mch-link:hover .mch-cta .bi{transform:translateX(3px)}
body.vs .mch-exp{color:var(--vh-txt-2)}
body.vs .mch-reviews{color:var(--vh-cta)}

/* Títulos de bloque del directorio con el H2 de la casa */
body.vs :is(.viv-destacados-t,.viv-indice-t,.viv-catland h2){font-family:var(--vh-disp)!important;font-size:clamp(1.65rem,1.15rem + 1.7vw,2.6rem)!important;font-weight:750!important;letter-spacing:-.025em;line-height:1.08;margin-bottom:.6rem!important}
body.vs :is(.viv-destacados-i,.viv-indice-i){font-size:1.0625rem;color:var(--vh-txt-2);opacity:1!important}

/* Destacados: panel marino con resplandor terracota y rejilla de puntos
   (la sección oscura de la home), fichas translúcidas que se iluminan. */
body.vs .viv-destacados{position:relative;isolation:isolate;margin:clamp(40px,5vw,72px) auto;max-width:1400px;padding:clamp(48px,6vw,96px) 0!important;color:#fff}
body.vs .viv-destacados::before{content:"";position:absolute;inset:0 clamp(0px,1.5vw,20px);z-index:-1;border-radius:clamp(24px,3.5vw,44px);background:radial-gradient(50% 50% at 90% 0%,rgba(201,106,84,.38),transparent 70%),radial-gradient(45% 55% at 0% 100%,rgba(220,211,234,.16),transparent 70%),var(--vh-navy)}
body.vs .viv-destacados::after{content:"";position:absolute;inset:0 clamp(0px,1.5vw,20px);z-index:-1;border-radius:inherit;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(60% 70% at 25% 40%,#000,transparent 75%);mask-image:radial-gradient(60% 70% at 25% 40%,#000,transparent 75%)}
body.vs .viv-destacados :is(.viv-destacados-t,.viv-destacados-i){color:#fff!important}
body.vs .viv-destacados .viv-destacados-i{color:rgba(255,255,255,.72)!important;margin-bottom:2rem}
body.vs .viv-destacados-k{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vh-melo)!important;opacity:1}
body.vs .viv-destacados-k::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--vh-acc);box-shadow:0 0 0 4px rgba(201,106,84,.25);animation:vs-dest-pulse 2.4s ease-in-out infinite}
@keyframes vs-dest-pulse{50%{box-shadow:0 0 0 8px rgba(201,106,84,0)}}
body.vs .viv-destacados-t em{font-family:var(--vh-serif);font-style:italic;font-weight:400;color:var(--vh-melo);letter-spacing:-.01em}
/* Fichas: foto con aro de la paleta (rota de 5 en 5), nombre en Bricolage,
   especialidad a una línea, precio en etiqueta y flecha que avanza. */
body.vs .viv-destacados-l{gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
body.vs .viv-destacados-l li{--ring:var(--vh-melo)}
body.vs .viv-destacados-l li:nth-child(5n+2){--ring:var(--vh-salvia)}
body.vs .viv-destacados-l li:nth-child(5n+3){--ring:var(--vh-cielo)}
body.vs .viv-destacados-l li:nth-child(5n+4){--ring:var(--vh-arena)}
body.vs .viv-destacados-l li:nth-child(5n+5){--ring:var(--vh-lila)}
body.vs .viv-destacados-l a{position:relative;height:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:14px;padding:14px 16px 14px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06);color:#fff!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .35s var(--vh-ease),border-color .35s var(--vh-ease),transform .35s var(--vh-ease),color .35s var(--vh-ease),box-shadow .35s var(--vh-ease)}
body.vs .viv-destacados-f{width:60px;height:60px;flex:0 0 60px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.12);border:3px solid var(--vh-navy);box-shadow:0 0 0 2px var(--ring);transition:transform .45s var(--vh-ease),box-shadow .35s var(--vh-ease)}
body.vs .viv-destacados-x{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 0}
body.vs .viv-destacados-n{font-family:var(--vh-disp);font-weight:700;font-size:1.0625rem;line-height:1.2;letter-spacing:-.01em;flex:none}
body.vs .viv-destacados-e{font-size:.84rem;line-height:1.3;opacity:.72;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body.vs .viv-destacados-b{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;flex:none}
body.vs .viv-destacados-p{font-size:.78rem;opacity:1;white-space:nowrap;padding:3px 8px;border-radius:8px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.85)}
body.vs .viv-destacados-p strong{font-weight:700;color:#fff}
body.vs .viv-destacados-a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.22);font-size:.95rem;line-height:1;transition:background-color .35s var(--vh-ease),color .35s var(--vh-ease),transform .35s var(--vh-ease),border-color .35s var(--vh-ease)}
body.vs .viv-destacados-l a:hover,body.vs .viv-destacados-l a:focus-visible{background:var(--vh-cream);border-color:var(--vh-cream)!important;color:var(--vh-navy)!important;transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
body.vs .viv-destacados-l a:hover .viv-destacados-f{transform:scale(1.06) rotate(-3deg);border-color:var(--vh-cream);box-shadow:0 0 0 3px var(--ring)}
body.vs .viv-destacados-l a:hover .viv-destacados-p{background:var(--ring);color:var(--vh-navy)}
body.vs .viv-destacados-l a:hover .viv-destacados-p strong{color:var(--vh-navy)}
body.vs .viv-destacados-l a:hover .viv-destacados-a{background:var(--vh-cta);border-color:var(--vh-cta);color:#fff;transform:translateX(3px)}
body.vs .viv-destacados-v{margin-top:clamp(24px,3vw,36px)}
body.vs .viv-destacados-v a{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:6px;background:var(--vh-cta);color:#fff!important;font-weight:600;text-decoration:none;transition:background-color .3s var(--vh-ease),transform .3s var(--vh-ease)}
body.vs .viv-destacados-v a::after{content:"→";transition:transform .3s var(--vh-ease)}
body.vs .viv-destacados-v a:hover{background:var(--vh-cta-h);transform:translateY(-2px)}
body.vs .viv-destacados-v a:hover::after{transform:translateX(4px)}
@media (max-width:575px){
  body.vs .viv-destacados-l a{padding:12px;gap:12px}
  body.vs .viv-destacados-f{width:52px;height:52px;flex-basis:52px}
  body.vs .viv-destacados-a{display:none}
  body.vs .viv-destacados-v a{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){body.vs .viv-destacados-k::before{animation:none}}

/* Índice A–Z: inicial grande en Bricolage terracota */
body.vs .viv-indice{border-top:0!important;padding-top:clamp(24px,3vw,48px)!important}
body.vs .viv-indice-g{padding:.85rem 0;margin:0!important;border-top:1px solid var(--vh-line)}
body.vs .viv-indice-l{flex:0 0 3.25rem!important;font-family:var(--vh-disp)!important;font-size:2rem!important;font-weight:800!important;line-height:1;color:var(--vh-cta)!important;opacity:1!important}
body.vs .viv-indice-g a{color:var(--vh-navy);text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .3s var(--vh-ease)}
body.vs .viv-indice-g a:hover{background-size:100% 1.5px}
body.vs .viv-indice-g ul{gap:.45rem 1.25rem!important}
body.vs .viv-indice-g li{font-size:.95rem;line-height:1.35}
body.vs .viv-indice-az{gap:6px;margin-bottom:clamp(20px,2.5vw,32px)}
body.vs .viv-indice-az a{display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border-radius:8px;border:1px solid var(--vh-line);background:#fff;color:var(--vh-navy)!important;font-family:var(--vh-disp);font-weight:700;font-size:.95rem;transition:background-color .25s var(--vh-ease),color .25s var(--vh-ease),border-color .25s var(--vh-ease),transform .25s var(--vh-ease)}
body.vs .viv-indice-az a:hover,body.vs .viv-indice-az a:focus-visible{background:var(--vh-navy);border-color:var(--vh-navy);color:#fff!important;transform:translateY(-2px)}
body.vs .viv-indice-g:target .viv-indice-l{color:var(--vh-navy)!important}

/* Cuerpo de landing (categorías y especialidades) */
body.vs .viv-catland{padding-top:clamp(40px,5vw,80px)}
body.vs .viv-catland-bloque{margin-bottom:clamp(28px,3vw,44px)}
body.vs .viv-catland-faq details,body.vs .viv-catland-faq .card{border:1px solid var(--vh-line);border-radius:16px;background:#fff;padding:1rem 1.2rem;margin-bottom:10px}
body.vs .viv-catland-sos{border-radius:20px;background:color-mix(in srgb,var(--vh-melo) 45%,#fff);border:0;padding:1.25rem 1.4rem}

/* Modal de captación de psicólogos (include/footer.php): sin píldora, marino
   de la marca, CTA terracota. */
body.vs .pm-tag{background:none!important;border:0!important;padding:0!important;border-radius:0!important;color:var(--vh-cta)!important;letter-spacing:.12em}
body.vs .pm-title,body.vs .pm-h{font-family:var(--vh-disp)!important;font-weight:750!important;letter-spacing:-.02em;color:var(--vh-navy)!important}
body.vs .pm-cta{background:var(--vh-cta)!important;border-color:var(--vh-cta)!important;border-radius:6px!important;color:#fff!important}
body.vs .pm-cta:hover{background:var(--vh-cta-h)!important}
body.vs .pm-right{background:radial-gradient(70% 50% at 100% 0%,rgba(201,106,84,.45),transparent 70%),var(--vh-navy)!important}
body.vs .pm-right::before,body.vs .pm-right::after{background:rgba(242,205,185,.08)!important}
body.vs .pm-right-badge{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.14)!important}
body.vs .pm-right-badge i{color:var(--vh-melo)!important}
body.vs .pm-stat-num{font-family:var(--vh-disp)!important;color:var(--vh-melo)!important}
body.vs .pm-perk-icon{background:var(--vh-cream)!important;color:var(--vh-navy)!important;border-radius:10px!important}

@media (max-width:575px){
  body.vs .mch-card{padding:14px;gap:12px;align-items:flex-start}
  body.vs .mch-photo-wrap,body.vs .mch-photo{width:64px;height:64px}
  body.vs .mch-top{flex-direction:column;gap:6px}
  body.vs .mch-main-info{width:100%}
  body.vs .mch-badges{flex-direction:row;flex-wrap:wrap;align-items:flex-start;flex-shrink:1;gap:4px}
  body.vs .mch-name{font-size:16px}
}
/* Logo de la cabecera algo más pequeño (Juan, 2026-10-02): 160 → 128 px; 112 en móvil. */
body.vs #navbar .navbar-brand img{width:128px;height:auto}
@media (max-width:575px){body.vs #navbar .navbar-brand img{width:112px}}

/* ── Sin píldoras: etiquetas rectas de 8 px en todo el sitio ────────────── */
body.vs .badge,body.vs .badge-pill,body.vs .rounded-pill:not(form):not(input){border-radius:8px!important}
body.vs form.rounded-pill,body.vs .newsletter-form{border-radius:12px!important}
body.vs .linebtn,body.vs .btn-next,body.vs .btn-prev{border-radius:6px!important}
body.vs .viv-cat-pill{border-radius:8px!important;background:#fff;border:1px solid var(--vh-line);color:var(--vh-navy);font-weight:600}
body.vs .viv-cat-pill:hover{border-color:var(--vh-navy);color:var(--vh-navy)}
body.vs .viv-cat-pill.is-active,body.vs .viv-cat-pill.active,body.vs .viv-cat-pill[aria-current]{background:var(--vh-navy);border-color:var(--vh-navy);color:#fff}
body.vs .viv-cat-count{border-radius:5px!important}
body.vs .dicx-tabs button{border-radius:8px!important}
body.vs .pm-tag{border-radius:8px!important}
body.vs .lp-badge,body.vs .mock-url-chip,body.vs .compare-tag{border-radius:8px!important}

/* ── Post del blog (single_post.php): lectura de revista ──────────────── */
body.vs .viv-post-h1{font-size:clamp(2rem,1.2rem + 2.6vw,3.1rem)!important;line-height:1.06;letter-spacing:-.025em;margin-top:1.5rem!important}
body.vs .viv-post-meta{color:var(--vh-txt-3);font-size:.9rem}
body.vs .viv-post-hero{border-radius:22px;background:var(--vh-cream-2)}
body.vs .viv-post-hero-fig{margin-bottom:2.4rem}
body.vs .viv-post-hero-fig figcaption{color:var(--vh-txt-3);font-size:.9rem;text-align:center;max-width:620px;margin:.8rem auto 0}
body.vs .viv-post-h1,body.vs .viv-post-meta,body.vs .viv-post-body,body.vs .viv-post-faq,body.vs .viv-post-author,body.vs .viv-post-links,body.vs .viv-post-tags,body.vs .viv-toc{max-width:720px;margin-left:auto!important;margin-right:auto!important}
body.vs .viv-post-author p strong{display:inline;font-family:inherit;margin:0}
body.vs .viv-post-body{font-size:1.1rem;line-height:1.78;color:#2B3A52}
body.vs .viv-post-body p{margin-bottom:1.15rem}
body.vs .viv-post-body h2,body.vs .viv-post-faq h2,body.vs .viv-post-bridge h2{font-size:clamp(1.45rem,1.2rem + .8vw,1.85rem);font-weight:750;letter-spacing:-.02em;margin:2.6rem 0 .9rem;color:var(--vh-navy)}
body.vs .viv-post-body h3{font-size:1.25rem;font-weight:700;margin:1.8rem 0 .6rem}
body.vs .viv-post-body a{color:var(--vh-cta);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.vs .viv-post-body a:hover{color:var(--vh-cta-h)}
body.vs .viv-post-body ul li::marker,body.vs .viv-post-body ol li::marker{color:var(--vh-cta)}
body.vs .viv-post-body blockquote{border-left:3px solid var(--vh-cta);margin:1.8rem 0;padding:.2rem 0 .2rem 1.3rem;font-family:var(--vh-serif);font-style:italic;font-size:1.45rem;line-height:1.35;color:var(--vh-navy)}
body.vs .viv-post-body figure img{border-radius:16px}
body.vs .viv-toc{background:#fff;border:1px solid var(--vh-line);border-left:3px solid var(--vh-cta);border-radius:0 14px 14px 0;padding:1.1rem 1.3rem}
body.vs .viv-toc-t{color:var(--vh-cta);letter-spacing:.1em}
body.vs .viv-toc-l li::marker{color:var(--vh-txt-3)}
body.vs .viv-toc-l a{color:var(--vh-navy)}
body.vs .viv-toc-l a:hover{color:var(--vh-cta)}
body.vs h2[id]{scroll-margin-top:96px}
body.vs .viv-post-faq-item{border-bottom-color:var(--vh-line);padding:1rem 0}
body.vs .viv-post-faq-item summary{font-family:var(--vh-disp);font-size:1.08rem;color:var(--vh-navy)}
body.vs .viv-post-faq-item summary::before{color:var(--vh-cta)}
body.vs .viv-post-author{border-radius:20px;border-color:var(--vh-line);padding:1.4rem 1.6rem;background:#fff}
body.vs .viv-post-author strong{font-family:var(--vh-disp);color:var(--vh-navy)}
body.vs .viv-post-author a{color:var(--vh-cta)}
body.vs .viv-post-author-note{border-top-color:var(--vh-line)}
body.vs .viv-post-bridge{max-width:720px;margin-left:auto;margin-right:auto}
body.vs .viv-post-bridge:has(h2){background:#fff;border:1px solid var(--vh-line);border-radius:24px;padding:1.6rem 1.6rem .8rem;max-width:none}
body.vs .viv-post-bridge h2{margin-top:0}
body.vs .viv-post-bridge-more a,body.vs .viv-post-links a{color:var(--vh-cta);font-weight:600}
body.vs .viv-post-links li{border-bottom-color:var(--vh-line);padding:.7rem 0}
body.vs .viv-post-tags .badge{background:var(--vh-cream-2);color:var(--vh-navy);font-weight:500}
@media (max-width:575px){body.vs .viv-post-body{font-size:1.04rem}body.vs .viv-post-hero{border-radius:16px}}

/* ── Ficha de profesional (mentor_profile.php) ──────────────────────────── */
body.vs .mp-hero{background:var(--vh-navy);background-image:radial-gradient(520px 380px at 88% -10%,rgba(201,106,84,.28),transparent 70%),radial-gradient(600px 420px at -5% 120%,rgba(181,201,174,.14),transparent 70%)}
body.vs .mp-hero::before{background:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.3px);background-size:22px 22px;width:100%;height:100%;top:0;right:0;-webkit-mask-image:linear-gradient(100deg,transparent 45%,#000);mask-image:linear-gradient(100deg,transparent 45%,#000)}
body.vs .mp-hero::after{background:linear-gradient(90deg,transparent,rgba(242,205,185,.35),transparent)}
body.vs .mp-hero-photo{border-color:var(--vh-melo);box-shadow:0 0 0 6px rgba(242,205,185,.14)}
body.vs .mp-verified-badge{background:var(--vh-cta);box-shadow:0 2px 8px rgba(0,0,0,.25)}
body.vs .mp-hero-specialty{color:var(--vh-melo)!important;opacity:1}
body.vs .mp-hero-name{font-family:var(--vh-disp);font-weight:750;letter-spacing:-.02em}
body.vs .mp-hero-social a:hover{background:rgba(242,205,185,.16);color:var(--vh-melo)!important;border-color:rgba(242,205,185,.35)}
body.vs .mp-btn-book{background:var(--vh-cta);border-radius:6px;box-shadow:0 6px 18px rgba(183,90,68,.35)}
body.vs .mp-btn-book:hover{background:var(--vh-cta-h);box-shadow:0 8px 22px rgba(183,90,68,.45)}
body.vs .mp-btn-chat,body.vs .mp-btn-fav{border-radius:6px}
body.vs .mp-hero-price-box{border-radius:18px;background:rgba(255,255,255,.06);border-color:rgba(242,205,185,.22)}
body.vs .mp-hero-price-val{font-family:var(--vh-disp);font-weight:750}
body.vs .mp-hero-price-free{background:rgba(181,201,174,.18);border-color:rgba(181,201,174,.45);color:#E6EFE2}
body.vs .mp-trust-val{font-family:var(--vh-disp)}
body.vs .mp-content{background:var(--vh-cream)}
body.vs .mp-card{border-radius:20px;border-color:var(--vh-line);box-shadow:0 1px 0 rgba(26,49,81,.03)}
body.vs .mp-card-title{font-family:var(--vh-disp);font-weight:700;letter-spacing:.02em;color:var(--vh-navy)}
body.vs .mp-card-title i{color:var(--vh-cta)!important}
body.vs .mp-read-more{color:var(--vh-cta)}
body.vs .mp-skill-chip{background:#fff;border:1px solid var(--vh-line);border-radius:8px;color:var(--vh-navy)}
body.vs .mp-skill-chip:nth-child(5n+1){background:rgba(242,205,185,.45);border-color:transparent}
body.vs .mp-skill-chip:nth-child(5n+2){background:rgba(181,201,174,.45);border-color:transparent}
body.vs .mp-skill-chip:nth-child(5n+3){background:rgba(201,217,234,.6);border-color:transparent}
body.vs .mp-skill-chip:nth-child(5n+4){background:rgba(235,221,190,.6);border-color:transparent}
body.vs .mp-skill-chip:nth-child(5n+5){background:rgba(220,211,234,.6);border-color:transparent}
body.vs .mp-lang-chip{border-radius:8px}
body.vs .mp-timeline::before{background:linear-gradient(to bottom,var(--vh-cta) 0%,var(--vh-line) 100%)}
body.vs .mp-tl-dot{border-color:var(--vh-cta);box-shadow:0 0 0 3px rgba(183,90,68,.12)}
body.vs .mp-tl-period{border-radius:6px;background:var(--vh-cream-2);color:var(--vh-navy)}
body.vs .mp-booking-card{border-radius:22px;border-color:var(--vh-line);box-shadow:0 18px 50px -18px rgba(26,49,81,.28)}
body.vs .mp-booking-head{background:var(--vh-navy);background-image:radial-gradient(240px 160px at 100% 0,rgba(201,106,84,.35),transparent 70%)}
body.vs .mp-booking-head-title{font-family:var(--vh-disp);font-weight:700}
body.vs .mp-session-card{border-radius:12px}
body.vs .mp-session-card.selected{border-color:var(--vh-navy);background:var(--vh-cream)}
body.vs .mp-session-card::before{display:none!important}
body.vs .mp-session-card.selected{box-shadow:0 0 0 1px var(--vh-navy),0 3px 14px rgba(26,49,81,.12)}
body.vs .mp-book-cta{background:var(--vh-cta);border-radius:6px;box-shadow:0 8px 20px -6px rgba(183,90,68,.55)}
body.vs .mp-book-cta:hover{background:var(--vh-cta-h);box-shadow:0 10px 24px -6px rgba(183,90,68,.6);opacity:1}
body.vs .mp-book-empty-cta{border-radius:6px}
body.vs .mp-contact-box{background:var(--vh-cream)}
body.vs .mp-contact-icon{color:var(--vh-cta)}
body.vs .mp-trust-note i{color:#6E8F64}
body.vs .mp-trust-ok{color:var(--vh-salvia)!important}
body.vs .mp-contact-icon{background:none!important;border:0!important;width:auto;height:auto;margin-right:.6rem;font-size:1.15rem;line-height:1}

/* ── Utilidades v2 para vistas que se rediseñen a mano ─────────────────── */
body.vs .vs-kicker{display:inline-block;font-weight:600;font-size:.9375rem;color:var(--vh-txt-2);margin-bottom:.75rem}
body.vs .vs-lead{font-size:1.125rem;line-height:1.6;color:var(--vh-txt-2);max-width:62ch}
body.vs .vs-card{border-radius:26px;background:color-mix(in srgb,var(--c,var(--vh-cielo)) 45%,#fff);padding:clamp(1.25rem,1rem + 1vw,2rem)}
body.vs .vs-oscuro{position:relative;isolation:isolate;color:#fff;background:radial-gradient(50% 40% at 85% 10%,rgba(201,106,84,.35),transparent 70%),radial-gradient(45% 45% at 5% 95%,rgba(220,211,234,.18),transparent 70%),var(--vh-navy);border-radius:clamp(24px,4vw,48px)}
body.vs .vs-oscuro :is(h1,h2,h3,p,li){color:#fff!important}

/* ── Movimiento (viving-v2.js) ─────────────────────────────────────────── */
.vs-js .vs-rv{opacity:0;transform:translateY(24px);filter:blur(6px);transition:opacity .7s var(--vh-ease),transform .8s var(--vh-ease),filter .7s var(--vh-ease);transition-delay:calc(var(--d,0) * 70ms)}
.vs-js .vs-rv.vs-rv--in{opacity:1;transform:none;filter:none}
.vs-js .vs-split.vs-rv{opacity:1;transform:none;filter:none}
.vs-wr{display:inline-block;opacity:0;translate:0 .45em;rotate:3deg;filter:blur(10px);transform-origin:0 100%;transition:opacity .7s var(--vh-ease),translate .9s var(--vh-ease),rotate .9s var(--vh-ease),filter .8s var(--vh-ease);transition-delay:calc(var(--w,0) * 60ms + 60ms)}
.vs-rv--in .vs-wr{opacity:1;translate:0 0;rotate:0deg;filter:none}
body.vs .vs-h1 .vs-it{color:var(--vh-acc);font-size:1.06em}
.vs-h1w{display:inline-block;animation:vsSube 1s var(--vh-ease) both;animation-delay:calc(var(--w,0) * 70ms + 60ms)}
@keyframes vsSube{from{transform:translateY(.4em) rotate(2deg);filter:blur(8px)}to{transform:none;filter:none}}
.vs-prog{position:fixed;left:0;top:0;z-index:1100;width:100%;height:3px;background:linear-gradient(90deg,var(--vh-cta),var(--vh-melo));transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.vs-cur{position:fixed;left:0;top:0;z-index:60;pointer-events:none;width:0;height:0}
.vs-cur span{position:absolute;left:0;top:0;display:grid;place-items:center;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;background:var(--vh-navy);color:#fff;font:600 .875rem/1 Inter,system-ui,sans-serif;box-shadow:0 18px 40px -16px rgba(26,49,81,.6);scale:0;opacity:0;transition:scale .45s cubic-bezier(.34,1.5,.5,1),opacity .25s ease}
.vs-cur--on span{scale:1;opacity:1}
@media (hover:hover) and (pointer:fine){body.vs .mch-link{cursor:none}}
body.vs .mch-link:focus-visible{cursor:auto}
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}

/* Reserva (/session): las reglas generadas de booking_session.php y template.css
   (barra lateral oscura del resumen, hover verde de horas) no aplican aquí. */
body.vs .bk-page .bk-summary{border-left:0!important}
body.vs .bk-page .time_btn:hover:not(.disabled){border:1px solid #1A3151!important;background:#F3EEE6!important;color:#1A3151!important}
body.vs .bk-page .time_btn.active{background:#1A3151!important;color:#fff!important}

/* ══ Acceso: login, registro, verificación (sprint v2, 2026-10-02) ══
   Pantalla partida: panel marino de marca + formulario sobre crema. Marcado en
   include/auth_aside.php, login.php y register.php. */
.vs-auth{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100vh;min-height:100dvh;background:var(--vh-cream,#F8F2E8);color:var(--vh-navy,#1A3151)}
.vs-auth-aside{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(2rem,4vw,3.5rem);background:radial-gradient(60% 50% at 100% 0%,rgba(201,106,84,.42),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(242,205,185,.16),transparent 70%),#1A3151;color:#fff;overflow:hidden}
.vs-auth-aside::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(160deg,#000,transparent 60%);mask-image:linear-gradient(160deg,#000,transparent 60%);pointer-events:none}
.vs-auth-hilos{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none}
.vs-auth-hilos path{fill:none;stroke:rgba(242,205,185,.35);stroke-width:.75;vector-effect:non-scaling-stroke}
.vs-auth-logo,.vs-auth-msg,.vs-auth-foot{position:relative;z-index:1}
.vs-auth-logo img{display:block;width:120px;height:auto}
.vs-auth-msg{max-width:30rem}
.vs-auth-k{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--vh-melo,#F2CDB9)!important;margin:0 0 .9rem}
.vs-auth-h{font-family:var(--vh-disp);font-weight:700;font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.05;letter-spacing:-.025em;color:#fff!important;margin:0 0 1rem}
.vs-auth-h em{font-family:var(--vh-serif);font-style:italic;font-weight:400;color:var(--vh-melo,#F2CDB9)!important}
.vs-auth-sub{font-size:1.02rem;line-height:1.6;color:rgba(255,255,255,.78)!important;margin:0 0 1.6rem}
.vs-auth-list{list-style:none;padding:0;margin:0;display:grid;gap:.85rem}
.vs-auth-list li{display:flex;align-items:center;gap:.8rem;font-size:.95rem;color:rgba(255,255,255,.92)}
.vs-auth-list i{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--vh-melo,#F2CDB9);font-size:1rem}
.vs-auth-foot{display:flex;gap:.6rem;font-size:.85rem;margin:0;color:rgba(255,255,255,.5)!important}
.vs-auth-foot a{color:rgba(255,255,255,.75)!important;text-decoration:none}
.vs-auth-foot a:hover{color:#fff!important}

.vs-auth-main{display:flex;flex-direction:column;align-items:center;padding:clamp(1.25rem,3vw,2.5rem) clamp(1rem,4vw,3rem) 2rem;min-width:0}
.vs-auth-top{align-self:stretch;display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-height:44px}
.vs-auth-logo-m{display:none;margin-right:auto}
.vs-auth-logo-m img{display:block;width:104px;height:auto}
.vs-auth-home{font-size:.88rem;font-weight:500;color:var(--vh-txt-2,#5B6577)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:.4rem}
.vs-auth-home:hover{color:var(--vh-navy,#1A3151)!important}
.vs-auth-box{width:100%;max-width:440px;margin:auto 0;padding:clamp(1.75rem,3vw,2.5rem);background:#fff;border:1px solid var(--vh-line,#E3DDD4);border-radius:20px;box-shadow:0 1px 2px rgba(26,49,81,.04),0 24px 48px -28px rgba(26,49,81,.28)}
.vs-auth-box--wide{max-width:560px}
.vs-auth-title{font-family:var(--vh-disp);font-weight:700;font-size:clamp(1.6rem,2.4vw,2rem);letter-spacing:-.02em;line-height:1.15;color:var(--vh-navy,#1A3151);margin:0 0 .45rem}
.vs-auth-lead{font-size:.95rem;color:var(--vh-txt-2,#5B6577);margin:0 0 1.5rem;line-height:1.55}
.vs-auth-lead a,.vs-auth-note a,.vs-auth-pro a,.vs-auth-check a,.vs-auth-legal a,.vs-auth-row a{color:var(--vh-cta,#B75A44)!important;font-weight:600;text-decoration:none}
.vs-auth-lead a:hover,.vs-auth-note a:hover,.vs-auth-pro a:hover,.vs-auth-check a:hover,.vs-auth-legal a:hover,.vs-auth-row a:hover{color:var(--vh-cta-h,#9B4532)!important;text-decoration:underline;text-underline-offset:3px}
.vs-auth-msgs>div:empty{display:none}
.vs-auth-msgs>div{border-radius:10px;padding:.7rem .9rem;font-size:.88rem;margin-bottom:1rem;line-height:1.45}
.vs-auth-msgs .error{background:#FBEDEA;border:1px solid #EBC3B9;color:#9B4532!important}
.vs-auth-msgs .success,.vs-auth-msgs .success_extend{background:#EEF3EC;border:1px solid #B5C9AE;color:#1A3151!important}
.vs-auth-msgs .warning{background:#FBF3E4;border:1px solid #EBD8B0;color:#7A5418!important}
.vs-auth-alert{border-radius:10px;font-size:.88rem}
.vs-auth-field{margin-bottom:1rem;min-width:0}
.vs-auth-field label{display:block;font-size:.82rem;font-weight:600;color:var(--vh-navy,#1A3151);margin:0 0 .4rem}
.vs-req{color:var(--vh-cta,#B75A44)}
.vs-auth-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.vs-auth-row a{font-size:.82rem;font-weight:500}
body.vs .vs-auth .form-control,body.vs .vs-auth .custom-select{height:48px;border:1px solid var(--vh-line,#E3DDD4);border-radius:10px;padding:.65rem .95rem;font-size:.95rem;color:var(--vh-navy,#1A3151);background-color:#fff;box-shadow:none;transition:border-color .18s,box-shadow .18s}
body.vs .vs-auth .form-control::placeholder{color:#A9AFBA}
body.vs .vs-auth .form-control:focus,body.vs .vs-auth .custom-select:focus{border-color:var(--vh-navy,#1A3151);box-shadow:0 0 0 3px rgba(26,49,81,.1);outline:0}
.vs-auth-pw{position:relative}
body.vs .vs-auth-pw .form-control{padding-right:3rem}
.vs-auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:8px;background:none;color:var(--vh-txt-3,#8A93A3);display:grid;place-items:center;cursor:pointer}
.vs-auth-eye:hover{color:var(--vh-navy,#1A3151);background:var(--vh-cream,#F8F2E8)}
.vs-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .85rem}
.vs-auth-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:50px;margin-top:.5rem;padding:.8rem 1.2rem;border:0;border-radius:6px;background:var(--vh-cta,#B75A44);color:#fff!important;font-weight:700;font-size:1rem;text-decoration:none!important;cursor:pointer;box-shadow:0 10px 24px -12px rgba(183,90,68,.7);transition:background .2s,transform .2s var(--vh-ease),box-shadow .2s}
.vs-auth-btn:hover{background:var(--vh-cta-h,#9B4532);transform:translateY(-1px)}
.vs-auth-btn:disabled{opacity:.6;transform:none;cursor:progress}
.vs-auth-btn i{transition:transform .25s var(--vh-ease)}
.vs-auth-btn:hover i.bi-arrow-right{transform:translateX(3px)}
.vs-auth-btn--ghost{background:#fff;color:var(--vh-navy,#1A3151)!important;border:1px solid var(--vh-line,#E3DDD4);box-shadow:none}
.vs-auth-btn--ghost:hover{background:var(--vh-cream,#F8F2E8)}
.vs-auth-google{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;border:1px solid var(--vh-line,#E3DDD4);border-radius:6px;background:#fff;color:var(--vh-navy,#1A3151)!important;font-weight:600;font-size:.95rem;text-decoration:none!important;transition:background .2s,border-color .2s}
.vs-auth-google:hover{background:var(--vh-cream,#F8F2E8);border-color:#D5CDC1}
.vs-auth-or{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0;font-size:.8rem;color:var(--vh-txt-3,#8A93A3)}
.vs-auth-or::before,.vs-auth-or::after{content:'';flex:1;height:1px;background:var(--vh-line,#E3DDD4)}
.vs-auth-pro{display:flex;align-items:center;gap:.8rem;margin-top:1.5rem;padding:.9rem 1rem;border-radius:12px;background:var(--vh-cream,#F8F2E8)}
.vs-auth-pro i{color:var(--vh-cta,#B75A44);font-size:1.2rem}
.vs-auth-pro p{margin:0;font-size:.88rem;color:var(--vh-navy,#1A3151);line-height:1.45}
.vs-auth-back{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--vh-txt-2,#5B6577)!important;text-decoration:none!important;margin-bottom:1.1rem}
.vs-auth-back:hover{color:var(--vh-navy,#1A3151)!important}
.vs-auth-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.4rem;font-size:.84rem;color:var(--vh-txt-2,#5B6577);margin:1rem 0 0;text-align:center}
.vs-auth-note.d-none{display:none!important}
.vs-auth-note i{color:var(--vh-cta,#B75A44)}
.vs-auth-legal{max-width:440px;margin:1.25rem 0 0;font-size:.78rem;color:var(--vh-txt-3,#8A93A3);text-align:center}
.vs-auth-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 0 1.1rem;background:var(--vh-cream,#F8F2E8);color:var(--vh-cta,#B75A44);font-size:1.6rem}
body.vs .vs-auth .vs-auth-code{text-align:center;font-family:var(--vh-disp);font-size:1.35rem;font-weight:700;letter-spacing:.35em;height:56px}
/* Selector de rol (custom.js marca el activo con .btn-secondary) */
.vs-auth-roles{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 1.4rem;border-radius:12px;background:var(--vh-cream,#F8F2E8)}
body.vs .vs-auth-roles button{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;border:0!important;border-radius:9px;background:transparent!important;color:var(--vh-txt-2,#5B6577)!important;font-weight:600;font-size:.92rem;box-shadow:none;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
body.vs .vs-auth-roles button:hover{color:var(--vh-navy,#1A3151)!important}
body.vs .vs-auth-roles button.btn-secondary{background:#fff!important;color:var(--vh-navy,#1A3151)!important;box-shadow:0 1px 3px rgba(26,49,81,.14)}
body.vs .vs-auth-roles button.btn-secondary i{color:var(--vh-cta,#B75A44)}
/* Casilla de términos */
.vs-auth-check{margin:.4rem 0 .6rem}
.vs-auth-check .custom-control-label{font-size:.84rem;line-height:1.5;color:var(--vh-txt-2,#5B6577);padding-top:1px}
body.vs .vs-auth .custom-control-input:checked~.custom-control-label::before{background-color:var(--vh-navy,#1A3151)!important;border-color:var(--vh-navy,#1A3151)!important}
body.vs .vs-auth .custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 3px rgba(26,49,81,.12)}
body.vs .vs-auth .custom-control-label::before{border-radius:5px;border-color:#CFC8BD}
/* select2 (especialidades) */
body.vs .vs-auth .select2-container{width:100%!important}
body.vs .vs-auth .select2-container--default .select2-selection--multiple{min-height:48px;border:1px solid var(--vh-line,#E3DDD4);border-radius:10px;padding:4px 6px}
body.vs .vs-auth .select2-container--default.select2-container--focus .select2-selection--multiple{border-color:var(--vh-navy,#1A3151);box-shadow:0 0 0 3px rgba(26,49,81,.1)}
body.vs .vs-auth .select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--vh-cream,#F8F2E8);border:1px solid var(--vh-line,#E3DDD4);border-radius:8px;color:var(--vh-navy,#1A3151);font-size:.84rem;padding:2px 8px}
body.vs .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--vh-navy,#1A3151)}
/* Modal de tipo de cuenta (Google) */
.vs-auth-modal .modal-content{border:0;border-radius:20px}
.vs-auth-modal .modal-title{font-family:var(--vh-disp);font-weight:700;color:var(--vh-navy,#1A3151)}
.vs-auth-types{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.vs-auth-types label{margin:0;cursor:pointer}
.vs-auth-types input{position:absolute;opacity:0;pointer-events:none}
.vs-auth-types .radio-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.3rem .8rem;border:1px solid var(--vh-line,#E3DDD4);border-radius:14px;font-weight:600;color:var(--vh-navy,#1A3151);transition:border-color .2s,background .2s}
.vs-auth-types .radio-card i{font-size:1.6rem;color:var(--vh-cta,#B75A44)}
.vs-auth-types input:checked+.radio-card{border-color:var(--vh-navy,#1A3151);background:var(--vh-cream,#F8F2E8);box-shadow:0 0 0 1px var(--vh-navy,#1A3151)}
.vs-auth-types input:focus-visible+.radio-card{outline:2px solid var(--vh-navy,#1A3151);outline-offset:2px}
body.vs .vs-auth .vs-auth-lead,body.vs .vs-auth .vs-auth-note{color:var(--vh-txt-2,#5B6577)!important}
body.vs .vs-auth .vs-auth-legal{color:var(--vh-txt-3,#8A93A3)!important}
@media (max-width:991px){
  .vs-auth{grid-template-columns:1fr}
  .vs-auth-aside{display:none}
  .vs-auth-logo-m{display:block}
  .vs-auth-main{padding-top:1rem}
  .vs-auth-box{margin:1.5rem 0 0}
}
@media (max-width:575px){
  .vs-auth-main{padding:.75rem 16px 1.5rem}
  .vs-auth-box{padding:1.5rem 1.15rem;border-radius:16px}
  .vs-auth-grid{grid-template-columns:1fr}
  body.vs .vs-auth-roles button{white-space:nowrap;font-size:.86rem;gap:.35rem;padding:0 .4rem}
}

@media (prefers-reduced-motion:reduce){
  body.vs *,body.vs *::before,body.vs *::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .vs-js .vs-rv,.vs-wr{opacity:1;transform:none;translate:none;rotate:none;filter:none}
  .vs-prog,.vs-cur{display:none}
}
/* ── Tarjetas de blog (include/blog_post_item.php en /blogs y home; mismo
   marcado en mentor_profile.php). La regla general body.vs .card les puso
   borde y fondo blanco, pero el cuerpo trae .p-0 de Bootstrap: el texto
   quedaba pegado al borde. Imagen a sangre arriba y relleno interior. ── */
body.vs .lift-xs article.card{overflow:hidden;display:flex;flex-direction:column}
body.vs .lift-xs article.card .blog-img{border-radius:0!important}
body.vs .lift-xs article.card>.card-body{padding:1.15rem 1.35rem 1.35rem!important;display:flex;flex-direction:column}
body.vs .lift-xs article.card>.card-body>a.link-hover{margin-top:auto}
body.vs .lift-xs article.card>.card-body>p:first-child{margin-top:0!important}
@media (max-width:575.98px){body.vs .lift-xs article.card>.card-body{padding:1rem 1.1rem 1.15rem!important}}
