/* paginas-v2.css — capa v2 común para páginas sueltas (06/11/2026)
 * Identidad de la portada (.hv2) sobre el CSS propio de cada página.
 * Uso: <div class="hv2 pgv2 pgv2-NOMBRE"> + <section class="hero-section pgv2-hero"> + <div class="container pgv2-body"> */
.pgv2{font-family:'Nunito',system-ui,sans-serif;background:linear-gradient(180deg,#f5f8ff 0%,#fff 60%)}
.hv2.pgv2 .pgv2-hero{padding:34px 0 110px;min-height:0}
.hv2.pgv2 .pgv2-hero.short{padding-bottom:90px}
.pgv2-back{display:flex;width:max-content;align-items:center;gap:8px;color:#fff;font-weight:800;text-decoration:none;opacity:.9;margin-bottom:14px;position:relative;z-index:10}
.pgv2-back:hover{color:#ffd23f;opacity:1}
.hv2.pgv2 .hero-badge i{margin-right:4px}
.hv2.pgv2 .hero-title{font-size:clamp(1.9rem,4vw,3rem);font-weight:900;margin-bottom:12px;max-width:900px}
.hv2.pgv2 .hero-subtitle{max-width:760px;margin-bottom:0}
.pgv2-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;position:relative;z-index:10}
.pgv2-meta span{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:50px;padding:5px 12px;font-size:.85rem;font-weight:800}
.pgv2-body{margin-top:-70px;position:relative;z-index:5;padding-bottom:48px}
.pgv2-body.narrow{max-width:820px}

/* Tarjetas genéricas */
.pgv2-card,.hv2.pgv2 .card{background:#fff;border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-card{padding:24px 26px;margin-bottom:20px}
.hv2.pgv2 .card-header{background:none;border-bottom:1px solid #eef2f7;font-weight:900;color:#0f172a;border-radius:24px 24px 0 0!important}
.hv2.pgv2 .card-footer{background:none;border-top:1px solid #eef2f7;border-radius:0 0 24px 24px!important}
.pgv2-card h2,.pgv2-card h3{font-weight:900;color:#0f172a}

/* Avisos */
.hv2.pgv2 .alert{border-radius:18px;font-weight:600}
.hv2.pgv2 .alert strong{font-weight:900}
.hv2.pgv2 .alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.hv2.pgv2 .alert-warning{background:#fffbeb;border-color:#fde68a;color:#78350f}
.hv2.pgv2 .alert-danger{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}
.hv2.pgv2 .alert-info{background:#eef3ff;border-color:#c7d6ff;color:#1f3a8a}

/* Botones */
.pgv2-btn,.hv2.pgv2 .btn-primary{background:linear-gradient(135deg,#1f5cff,#7a2cff);border:0;border-radius:50px;padding:10px 22px;font-weight:900;color:#fff;box-shadow:0 14px 28px -16px rgba(31,92,255,.9)}
.pgv2-btn:hover,.hv2.pgv2 .btn-primary:hover{filter:brightness(1.06);color:#fff;transform:none}
.pgv2-btn.light{background:#fff;color:#1f5cff;border:1px solid #c7d6ff;box-shadow:none}
.pgv2-btn.light:hover{background:#f5f8ff;color:#1f5cff}
.hv2.pgv2 .btn-outline-primary,.hv2.pgv2 .btn-outline-secondary,.hv2.pgv2 .btn-success,.hv2.pgv2 .btn-danger,.hv2.pgv2 .btn-outline-danger,.hv2.pgv2 .btn-light,.hv2.pgv2 .btn-secondary,.hv2.pgv2 .btn-warning{border-radius:50px;font-weight:800}
.hv2.pgv2 .btn-outline-primary{border-color:#c7d6ff;color:#1f5cff}
.hv2.pgv2 .btn-outline-primary:hover{background:#f5f8ff;color:#1f5cff}

/* Formularios */
.hv2.pgv2 .form-label{font-weight:800;color:#334155}
.hv2.pgv2 .form-control,.hv2.pgv2 .form-select{border:1px solid #dbe3ef;border-radius:12px;min-height:44px;font-weight:600}
.hv2.pgv2 textarea.form-control{min-height:110px}
.hv2.pgv2 .form-control:focus,.hv2.pgv2 .form-select:focus{border-color:#1f5cff;box-shadow:0 0 0 3px rgba(31,92,255,.12)}
.hv2.pgv2 .form-check-input:checked{background-color:#1f5cff;border-color:#1f5cff}

/* Tablas y pastillas */
.hv2.pgv2 .table{--bs-table-bg:transparent}
.hv2.pgv2 .table thead th{color:#64748b;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e8edf5}
.hv2.pgv2 .badge{border-radius:50px;font-weight:800}
.hv2.pgv2 .nav-pills .nav-link{border-radius:50px;font-weight:800;color:#475569}
.hv2.pgv2 .nav-pills .nav-link.active{background:linear-gradient(135deg,#1f5cff,#7a2cff);color:#fff}
.hv2.pgv2 .pagination .page-link{border-radius:12px;margin:0 3px;border-color:#e8edf5;font-weight:800;color:#1f5cff}
.hv2.pgv2 .pagination .active .page-link{background:linear-gradient(135deg,#1f5cff,#7a2cff);border:0;color:#fff}

@media(max-width:767px){
  .hv2.pgv2 .pgv2-hero{padding:24px 0 96px}
  .pgv2-card{padding:18px 16px}
}

/* Donativo completado */
.pgv2-dsucc .success-card{border:1px solid #e8edf5;box-shadow:0 24px 50px -36px rgba(15,23,42,.5);padding:34px 30px;max-width:none}
.pgv2-dsucc .success-amount{font-weight:900}
.pgv2-dsucc .success-destination{margin:-4px 0 14px;color:#475569;font-weight:700}
.pgv2-dsucc .btn-action{border-radius:50px}
.pgv2-dsucc .btn-action--donate{background:linear-gradient(135deg,#1f5cff,#7a2cff);border:0}

/* Colaboración enviada */
.pgv2-psucc .success-card{border:1px solid #e8edf5;box-shadow:0 24px 50px -36px rgba(15,23,42,.5);max-width:none;border-radius:24px}
.pgv2-psucc .reference-number{border-radius:50px;font-weight:900}
.pgv2-psucc .next-steps{border-radius:18px;background:#f8faff;border:1px solid #eef2f7}
.pgv2-psucc .next-steps h3{font-weight:900}
.pgv2-psucc .step-number{background:linear-gradient(135deg,#1f5cff,#7a2cff)}
.pgv2-psucc .btn-action{border-radius:50px;font-weight:900}
.pgv2-psucc .btn-primary-custom{background:linear-gradient(135deg,#1f5cff,#7a2cff);border:0;color:#fff}

/* Vuelta del TPV */
.pgv2-payico{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 16px;font-size:1.6rem;color:#fff;background:linear-gradient(135deg,#1f5cff,#7a2cff);box-shadow:0 14px 28px -16px rgba(31,92,255,.9)}
.pgv2-payico.warn{background:linear-gradient(135deg,#ff8a00,#ffb300)}

/* Noticias (blog) */
.pgv2-news .filter-section{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-news .category-tab{border-radius:50px;font-weight:800}
.pgv2-news .category-tab.active{background:linear-gradient(135deg,#1f5cff,#7a2cff);border-color:transparent;color:#fff}
.pgv2-news .search-box{border:1px solid #dbe3ef}
.pgv2-news .hero-article,.pgv2-news .featured-article,.pgv2-news .article-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5);overflow:hidden}
.pgv2-news .article-card:hover{border-color:#c7d6ff}
.pgv2-news .featured-content h2,.pgv2-news .article-card h3{font-weight:900}
.pgv2-news .empty-state{border:1px solid #e8edf5;border-radius:24px;background:#fff}

/* Noticia */
.hv2.pgv2-newsd .article-header{background-color:transparent;margin-bottom:0;padding:34px 0 120px}
.hv2.pgv2-newsd .article-header::before{display:block}
.hv2.pgv2-newsd .article-header h1{font-weight:900;font-size:clamp(1.8rem,3.6vw,2.7rem);text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hv2.pgv2-newsd .breadcrumb-nav a{font-weight:800}
.hv2.pgv2-newsd .category-badge{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);font-weight:800}
.hv2.pgv2-newsd .meta-item{font-weight:700}
.pgv2-newsd .article-content,.pgv2-newsd .featured-image-container,.pgv2-newsd .share-section,.pgv2-newsd .related-articles,.pgv2-newsd .related-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-newsd .article-content h2,.pgv2-newsd .article-content h3{font-weight:900}
.pgv2-newsd .btn-back{border-radius:50px;font-weight:900}
@media(max-width:767px){.pgv2-newsd .article-content{padding:1.4rem 1.1rem}}
.hv2.pgv2-newsd .article-meta-header span,.hv2.pgv2-newsd .article-meta-header *{text-decoration:none;border-bottom:0}
.pgv2-newsd .featured-image-wrapper{margin-bottom:20px}

/* Centro de ayuda */
.pgv2-help .search-section{background:none;box-shadow:none;margin-top:-80px;padding:0 0 30px}
.pgv2-help .search-section>.container{background:#fff;border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5);padding:28px 26px}
.pgv2-help .search-input{border-radius:50px}
.pgv2-help .search-btn{background:linear-gradient(135deg,#1f5cff,#7a2cff);border-radius:50px}
.pgv2-help .categories-section{background:none;padding:30px 0}
.pgv2-help .category-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-help .category-card:hover{transform:none;border-color:#c7d6ff}
.pgv2-help .faq-section{background:none;padding:30px 0}
.pgv2-help .contact-support{background:linear-gradient(135deg,#1f5cff,#7a2cff);border-radius:28px;margin:20px 12px 50px;padding:56px 20px}
.pgv2-help .contact-support h2{font-weight:900}

/* Colabora (empresas) */
.pgv2-partner .benefit-card,.pgv2-partner .application-form,.pgv2-partner .requirement-box{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5);background:#fff}
.pgv2-partner .benefit-card:hover{transform:none}
.pgv2-partner .benefit-card h4,.pgv2-partner .partner-type h4,.pgv2-partner .requirement-box h3{font-weight:900}
.pgv2-partner .partner-type{border-radius:24px;border-width:1px;background:#f8faff}
.pgv2-partner .partner-type:hover{transform:none}
.pgv2-partner h2.display-5{font-weight:900;font-size:clamp(1.7rem,3vw,2.4rem)}
.pgv2-partner .submit-btn{background:linear-gradient(135deg,#1f5cff,#7a2cff);border-radius:50px;font-weight:900}
.pgv2-partner .process-number{background:linear-gradient(135deg,#1f5cff,#7a2cff)}

/* Variante «flat»: cabecera normal y contenido debajo, sin montarse */
.hv2.pgv2 .pgv2-hero.flat{padding-bottom:64px}
.pgv2-body.flat{margin-top:0;padding-top:44px}

/* ── regimen-detail ── */
.hv2.pgv2-reg .reg-hero{padding:34px 0 120px}
.hv2.pgv2-reg .reg-hero h1{font-weight:900;font-size:clamp(1.8rem,3.6vw,2.7rem);text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hv2.pgv2-reg .reg-breadcrumb{position:relative;z-index:2;font-weight:700;margin-bottom:14px}
.hv2.pgv2-reg .reg-breadcrumb a{color:#fff;font-weight:800}
.hv2.pgv2-reg .badge-line{background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.32)!important;color:#fff!important;font-weight:800;border-radius:50px}
.pgv2-reg .detail-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-reg .detail-card h3{font-weight:900}

/* ── mutation-combination-detail ── */
.hv2.pgv2-mut .detail-hero{padding:34px 0 120px;margin-bottom:0}
.hv2.pgv2-mut .detail-hero h1{font-weight:900;font-size:clamp(1.8rem,3.6vw,2.7rem);text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hv2.pgv2-mut .back-link{font-weight:800;color:#fff}
.hv2.pgv2-mut .meta-item{font-weight:700}
.pgv2-mut .info-card,.pgv2-mut .actionable-banner{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-mut .info-card h5{font-weight:900}
.pgv2-mut .alert{border-radius:18px}
.hv2.pgv2-mut .detail-hero::before{top:0;left:0;right:0;bottom:0;width:auto;height:auto;animation:none}

/* ── medical-upload ── */
.pgv2-mupl .upload-card,.pgv2-mupl .guide-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-mupl .upload-card h3,.pgv2-mupl .upload-card h4{font-weight:900}
.pgv2 .guide-card{background:#fff!important;backdrop-filter:none}
.pgv2 .guide-card-header{background:#eef5ff!important}

/* ── community/member ── */
.hv2.pgv2-cmem .profile-hero{padding:40px 0 120px;margin-bottom:0}
.hv2.pgv2-cmem .profile-name{font-weight:900;font-size:clamp(1.8rem,3.6vw,2.6rem);text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hv2.pgv2-cmem .profile-role{font-weight:800;border:1px solid rgba(255,255,255,.32)}
.hv2.pgv2-cmem .profile-meta{font-weight:700}
.hv2.pgv2-cmem .profile-avatar{position:relative;z-index:2;box-shadow:0 18px 40px -20px rgba(0,0,0,.5)}
.pgv2-cmem .stats-card,.pgv2-cmem .content-card{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-cmem .stats-card .number{font-weight:900;color:#2563eb}
.pgv2-cmem .content-card h5{font-weight:900}
.pgv2-cmem .private-profile{text-align:center;padding:2rem}
.pgv2-cmem .private-profile>i{font-size:2.6rem;color:#2563eb;display:block;margin-bottom:.6rem}
@media(max-width:575px){.hv2.pgv2-cmem .profile-avatar{width:84px;height:84px;font-size:2.2rem;margin:0 0 1rem}}

/* ── patient/contact-requests ── */
.pgv2-creq .filter-tabs,.pgv2-creq .request-card,.pgv2-creq .sidebar-card,.pgv2-creq .info-card,.pgv2-creq .empty-state{border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}
.pgv2-creq .filter-tabs{background:#fff;border:1px solid #e8edf5;padding:8px}

/* ── patient/doctor-messages ── */
.pgv2-dmsg .messages-container{border:1px solid #e8edf5;border-radius:24px;box-shadow:0 24px 50px -36px rgba(15,23,42,.5)}

/* homepage.css define .icon-* como cajas con degradado; en las páginas sueltas esas clases colorean iconos */
.pgv2 i.icon-cyan,.pgv2 i.icon-blue,.pgv2 i.icon-amber,.pgv2 i.icon-green,.pgv2 i.icon-violet,.pgv2 i.icon-pink{background:none!important;box-shadow:none!important}
