/* ========================================
   COMPONENTES DE CARDS
   Plan cards, Intent cards, Solution cards, Chips/Tags
   ======================================== */

/* ========== PLAN/PRICING CARDS ========== */
.plans{margin-top:14px}
.plans-head{text-align:center;margin-bottom:32px}
.plans-head .h2{margin:0 0 6px}
.plans-head .sub{margin:0}

.edu-plan{position:relative;overflow:hidden}
.edu-accent::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:var(--r-lg);box-shadow:inset 0 3px 0 rgba(var(--accent-rgb),0.65)}
.edu-accent::after{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(var(--accent-rgb),0.65);border-radius:var(--r-lg) 0 0 var(--r-lg);pointer-events:none}

.plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.plan-ic{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:rgba(var(--accent-rgb),0.10);border:1px solid rgba(var(--accent-rgb),0.16);color:var(--azul-global)}
.plan-ic .ms{font-size:var(--font-size-4xl)}

.plan-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--r-full);background:rgba(240,160,0,0.16);border:1px solid rgba(240,160,0,0.35);color:#8a5b00;font-weight:var(--font-weight-black);font-size:var(--font-size-xs);white-space:nowrap}
.plan-badge .ms{font-size:var(--font-size-xl)}

.plan-chip{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:var(--r-full);border:1px solid rgba(var(--accent-rgb),0.22);background:rgba(var(--accent-rgb),0.10);color:var(--azul-global);font-weight:var(--font-weight-extrabold);font-size:var(--font-size-xs);white-space:nowrap}

.plan-name{margin:6px 0 0;color:var(--text);letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-2xl);line-height:1.25;font-weight:var(--font-weight-black)}
.plan-desc{margin:10px 0 0;color:var(--muted);font-size:var(--font-size-md);line-height:var(--line-height-loose)}

.plan-label{margin:14px 0 8px;font-size:var(--typography-caption-size);color:var(--text-secondary);font-weight:var(--font-weight-black);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}

.plan-benefits{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.plan-benefits li{display:flex;align-items:flex-start;gap:10px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}
.plan-benefits .check{width:18px;height:18px;border-radius:50%;background:rgba(34,197,94,0.14);border:1px solid rgba(34,197,94,0.25);display:inline-flex;align-items:center;justify-content:center;color:#16a34a;flex:0 0 auto;margin-top:1px}
.plan-benefits .check .ms{font-size:var(--font-size-xl)}

.plan-price{margin-top:14px;border-radius:var(--r-lg);background:var(--surface-elevated);border:1px solid var(--border);padding:12px}
.plan-price small{display:block;color:var(--muted);font-weight:var(--font-weight-extrabold);font-size:var(--typography-caption-size)}
.plan-price strong{display:block;margin-top:6px;color:var(--azul-global);font-weight:var(--font-weight-black);font-size:var(--font-size-2xl);letter-spacing:var(--letter-spacing-tight)}

.plan-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.plan-actions .btn{padding:10px 14px;flex:1 1 auto;justify-content:center}

/* ========== INTENT CARDS (Contacto) ========== */
.contact-intent{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto}
.intent-card{display:flex;align-items:center;gap:16px;padding:28px 24px;background:var(--bg);border:2px solid var(--border);border-radius:var(--r-xl);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-align:left;min-height:120px}
.intent-card:hover,.intent-card:focus{border-color:var(--color-educativos);box-shadow:var(--shadow-lg);transform:translateY(-4px);outline:none}
.intent-card:focus-visible{box-shadow:var(--shadow-lg),0 0 0 3px rgba(0,135,220,0.3)}
.intent-card:hover .intent-arrow,.intent-card:focus .intent-arrow{opacity:1;transform:translateX(4px)}

.intent-icon{width:56px;height:56px;border-radius:var(--r-lg);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.intent-icon .ms{font-size:var(--font-size-5xl);color:#fff}

.intent-content{flex:1;min-height:48px;display:flex;flex-direction:column;justify-content:center}
.intent-content strong{display:block;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text);margin-bottom:6px;line-height:var(--line-height-normal)}
.intent-content span{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:var(--line-height-normal)}

.intent-arrow{color:var(--color-educativos);font-size:var(--font-size-4xl);opacity:0.4;transition:all var(--duration-normal) var(--ease-out)}

/* Contact panel */
.contact-panel{animation:fadeInPanel 0.3s ease}
@keyframes fadeInPanel{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.panel-back{display:inline-flex;align-items:center;gap:10px;background:var(--bg-alt);border:2px solid var(--border);color:var(--text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;padding:12px 20px;margin-bottom:28px;transition:all var(--duration-normal) var(--ease-out);border-radius:var(--r-full)}
.panel-back:hover,.panel-back:focus{background:var(--bg);border-color:var(--color-educativos);color:var(--color-educativos);outline:none}
.panel-back:focus-visible{box-shadow:0 0 0 3px rgba(0,135,220,0.3)}
.panel-back .ms{font-size:var(--font-size-4xl)}

.contact-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-panel-info h3{margin:0 0 12px;font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--text)}
.contact-panel-info>p{margin:0 0 24px;color:var(--muted);font-size:var(--font-size-xl);line-height:var(--line-height-extra-loose)}

.contact-benefits{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.contact-benefit{display:flex;align-items:center;gap:10px;font-size:var(--font-size-lg);color:var(--text)}
.contact-benefit .ms{color:#22c55e;font-size:var(--font-size-3xl)}

.contact-trust{display:flex;gap:12px;flex-wrap:wrap}
.trust-badge{display:inline-flex;align-items:center;gap:6px;background:var(--bg-alt);border:1px solid var(--border);padding:8px 14px;border-radius:var(--r-full);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text)}
.trust-badge .ms{font-size:var(--font-size-xl);color:var(--color-educativos)}

/* ========== SOLUTION CARDS ========== */
.solutions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.solution-card{padding:0;position:relative;overflow:hidden;transition:all 0.3s ease;scroll-margin-top:110px}
.solution-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;transition:all 0.3s ease}
.solution-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -8px rgba(0,0,0,0.15)}
.solution-card .card-body{padding:24px;position:relative;z-index:1}

.solution-card .ic{margin-bottom:16px;width:64px;height:64px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;position:relative;overflow:hidden}
.solution-card .ic::before{content:'';position:absolute;inset:0;opacity:0.1;transition:opacity 0.3s ease}
.solution-card:hover .ic{transform:scale(1.05)}
.solution-card .ic .ms{font-size:var(--font-size-8xl);color:#fff;transition:all 0.3s ease;position:relative;z-index:1}

.solution-card h3{margin:0 0 10px;letter-spacing:var(--letter-spacing-tight);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}
.solution-card p{margin:0 0 12px;color:var(--muted)}

/* Solution card product colors */
#educativos::before{background:linear-gradient(90deg,var(--color-educativos),rgba(0,135,220,0.6))}
#educativos .ic{background:linear-gradient(135deg,var(--color-educativos),#006bb3)}
#educativos .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#educativos .tag{background:rgba(0,135,220,0.08);color:var(--color-educativos);border:1px solid rgba(0,135,220,0.15);font-weight:var(--font-weight-bold)}

#vida::before{background:linear-gradient(90deg,var(--color-vida),rgba(220,35,25,0.6))}
#vida .ic{background:linear-gradient(135deg,var(--color-vida),#a81d14)}
#vida .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#vida .tag{background:rgba(220,35,25,0.08);color:var(--color-vida);border:1px solid rgba(220,35,25,0.15);font-weight:var(--font-weight-bold)}

#accidentes::before{background:linear-gradient(90deg,var(--color-accidentes),rgba(190,45,85,0.6))}
#accidentes .ic{background:linear-gradient(135deg,var(--color-accidentes),#8e2340)}
#accidentes .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#accidentes .tag{background:rgba(190,45,85,0.08);color:var(--color-accidentes);border:1px solid rgba(190,45,85,0.15);font-weight:var(--font-weight-bold)}

#pension::before{background:linear-gradient(90deg,var(--color-pension),rgba(0,180,120,0.6))}
#pension .ic{background:linear-gradient(135deg,var(--color-pension),#008a5a)}
#pension .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#pension .tag{background:rgba(0,180,120,0.08);color:var(--color-pension);border:1px solid rgba(0,180,120,0.15);font-weight:var(--font-weight-bold)}

#renta-vitalicia::before{background:linear-gradient(90deg,var(--color-renta-vitalicia),rgba(240,160,0,0.6))}
#renta-vitalicia .ic{background:linear-gradient(135deg,var(--color-renta-vitalicia),#c78600)}
#renta-vitalicia .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#renta-vitalicia .tag{background:rgba(240,160,0,0.08);color:var(--color-renta-vitalicia);border:1px solid rgba(240,160,0,0.15);font-weight:var(--font-weight-bold)}

#rentas::before{background:linear-gradient(90deg,var(--color-rentas),rgba(155,80,145,0.6))}
#rentas .ic{background:linear-gradient(135deg,var(--color-rentas),#733b6b)}
#rentas .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#rentas .tag{background:rgba(155,80,145,0.08);color:var(--color-rentas);border:1px solid rgba(155,80,145,0.15);font-weight:var(--font-weight-bold)}

#previsional::before{background:linear-gradient(90deg,var(--color-previsional),rgba(140,95,70,0.6))}
#previsional .ic{background:linear-gradient(135deg,var(--color-previsional),#6b4733)}
#previsional .ic::before{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.3),transparent)}
#previsional .tag{background:rgba(140,95,70,0.08);color:var(--color-previsional);border:1px solid rgba(140,95,70,0.15);font-weight:var(--font-weight-bold)}

.solution-details{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.solution-details summary{list-style:none;cursor:pointer;font-weight:var(--font-weight-extrabold);color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between;gap:12px}
.solution-details summary::-webkit-details-marker{display:none}
.solution-details summary::after{content:'expand_more';font-family:'Material Symbols Rounded';font-weight:var(--font-weight-medium);font-size:var(--font-size-4xl);line-height:var(--line-height-tight);opacity:0.9;transition:transform var(--transition)}
.solution-details[open] summary::after{transform:rotate(180deg)}
.solution-details .details-body{margin-top:10px}
.solution-details ul{margin:0;padding-left:18px}

/* ========== CHIPS & TAGS ========== */
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.chip{border:1px solid var(--border);background:var(--bg);border-radius:var(--r-full);padding:8px 12px;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);color:var(--text-secondary);display:inline-flex;gap:6px;align-items:center;transition:all var(--duration-normal) var(--ease-out)}
.chip:hover{border-color:var(--color-educativos);box-shadow:var(--shadow-md)}
.chip:focus{outline:none;box-shadow:var(--focus-ring)}
.chip:focus-visible{box-shadow:0 0 0 3px rgba(0,135,220,0.3)}

.tag{display:inline-flex;align-items:center;gap:6px;font-size:var(--typography-pill-size);font-weight:var(--font-weight-extrabold);padding:6px 10px;border-radius:var(--r-full);transition:all var(--duration-normal) var(--ease-out)}

.product-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}

/* ========== RESPONSIVE ========== */
@media (max-width:980px){
  .solutions-grid{grid-template-columns:1fr}
  .solution-card{scroll-margin-top:96px}
  .contact-intent{grid-template-columns:1fr}
  .contact-panel-grid{grid-template-columns:1fr}
}

@media (max-width:560px){
  .chip{font-size:var(--typography-pill-size)}
  .solution-card .card-body{padding:16px 16px 14px}
  .solution-card{scroll-margin-top:84px}
  .intent-card{padding:20px 16px;min-height:100px}
  .intent-icon{width:48px;height:48px}
  .intent-icon .ms{font-size:var(--font-size-4xl)}
  .intent-content strong{font-size:var(--font-size-xl)}
  .intent-content span{font-size:var(--font-size-md)}
}
