/* ============================================================
   PRECIOS — tucartelpdf
   ============================================================ */
.precios-hero { padding:72px 0 64px; }
.precios-hero h1 { margin:14px 0 16px; }
.precios-hero p { font-size:1.12rem; max-width:540px; margin:0 auto; }

/* ── Planes ──────────────────────────────────────────────── */
.planes-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; align-items:stretch; }
.plan-card { position:relative; display:flex; flex-direction:column; padding:32px 28px; border-radius:var(--radius-lg); border:1px solid var(--gray-200); background:var(--white); transition:transform var(--transition),box-shadow var(--transition); }
.plan-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.plan-card--destacado { border:2px solid var(--red); box-shadow:var(--shadow-red); }
.plan-badge-popular { position:absolute; top:-13px; left:50%; transform:translateX(-50%); display:inline-flex; align-items:center; gap:5px; background:var(--red); color:#fff; font-size:.76rem; font-weight:700; padding:5px 14px; border-radius:30px; white-space:nowrap; }
.plan-nombre { font-size:1.15rem; font-weight:700; color:var(--black); margin-bottom:14px; }
.plan-precio { display:flex; align-items:baseline; gap:4px; margin-bottom:24px; }
.plan-precio-num { font-size:3rem; font-weight:800; color:var(--black); letter-spacing:-.03em; line-height:1; }
.plan-precio-cur { font-size:1.1rem; font-weight:600; color:var(--gray-600); }
.plan-precio-cur small { font-size:.9rem; font-weight:500; }
.plan-features-list { list-style:none; display:flex; flex-direction:column; gap:12px; margin-bottom:28px; flex:1; }
.plan-features-list li { display:flex; align-items:center; gap:10px; font-size:.92rem; color:var(--gray-800); }
.plan-features-list svg { flex:none; }
.feat-yes svg { color:var(--success); }
.feat-no { color:var(--gray-400); }
.feat-no svg { color:var(--gray-300); }
.feat-soon { color:var(--gray-500); }
.feat-soon svg { color:var(--orange); }
.plan-cta { margin-top:auto; }
.planes-nota { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 4px; margin-top:32px; font-size:.9rem; color:var(--gray-600); }
.planes-nota svg { color:var(--success); vertical-align:middle; }

/* ── Packs ───────────────────────────────────────────────── */
.packs-section { margin-top:80px; }
.packs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:22px; margin-top:44px; }
.pack-card { text-align:center; padding:32px 24px; border-radius:var(--radius-lg); border:1px solid var(--gray-200); background:var(--gray-50); transition:transform var(--transition),box-shadow var(--transition); }
.pack-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); background:var(--white); }
.pack-creditos { font-size:2.6rem; font-weight:800; color:var(--red); line-height:1; letter-spacing:-.03em; }
.pack-label { font-size:.85rem; color:var(--gray-500); text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px; }
.pack-precio { font-size:1.5rem; font-weight:800; color:var(--black); }
.pack-unit { font-size:.82rem; color:var(--gray-500); margin-bottom:14px; }
.pack-perks { display:flex; align-items:center; justify-content:center; gap:6px; font-size:.82rem; color:var(--gray-700); margin-bottom:20px; }
.pack-perks svg { color:var(--success); }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-section { max-width:720px; margin:80px auto 0; }
.faq-item { border:1px solid var(--gray-200); border-radius:var(--radius); margin-bottom:12px; overflow:hidden; transition:border-color var(--transition); }
.faq-item[open] { border-color:var(--red); }
.faq-q { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; font-weight:600; color:var(--black); cursor:pointer; list-style:none; }
.faq-q::-webkit-details-marker { display:none; }
.faq-icon { color:var(--red); transition:transform var(--transition); flex:none; }
.faq-item[open] .faq-icon { transform:rotate(90deg); }
.faq-a { padding:0 22px 20px; color:var(--gray-600); font-size:.95rem; }

/* ── Modal ───────────────────────────────────────────────── */
.modal-overlay { position:fixed; inset:0; background:rgba(13,13,13,.6); backdrop-filter:blur(4px); display:none; align-items:center; justify-content:center; z-index:200; padding:20px; }
.modal-overlay.active { display:flex; }
.modal { background:var(--white); border-radius:var(--radius-lg); padding:34px; width:100%; max-width:520px; box-shadow:var(--shadow-lg); max-height:90vh; overflow-y:auto; }
.modal-checkout h2 { margin-bottom:6px; }
.modal-sub { margin-bottom:24px; color:var(--gray-500); font-size:.95rem; }
.modal-secure { display:flex; align-items:center; gap:7px; font-size:.84rem; color:var(--gray-500); margin-bottom:20px; }
.modal-secure svg { color:var(--success); }
.modal-actions { display:flex; gap:12px; }

@media (max-width:600px){
    .modal { padding:24px; }
    .modal-actions { flex-direction:column; }
}
