body { font-family: 'Prompt', 'Inter', sans-serif; background-color: #FAFAFC; color: #0F172A; }
.hero-custom-gradient { background: linear-gradient(180deg, #F3F1FE 0%, #FFFFFF 100%); }
.custom-card-shadow { box-shadow: 0 20px 40px -15px rgba(91, 76, 220, 0.08); }
.orange-glow { box-shadow: 0 8px 25px -5px rgba(255, 107, 0, 0.35); }
.indigo-glow { box-shadow: 0 8px 25px -5px rgba(91, 76, 220, 0.30); }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #F3F1FE; }
::-webkit-scrollbar-thumb { background: #FF6B00; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #FF5200; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Form fields */
.field { background:#fff; padding:.75rem; border-radius:1rem; border:1px solid #E4E0FD; transition:.15s; }
.field:focus-within { border-color:#5B4CDC; box-shadow:0 0 0 3px rgba(91,76,220,.15); }
.field label { display:block; font-size:11px; font-weight:800; color:#5B4CDC; text-transform:uppercase; letter-spacing:.05em; }
.field input, .field select, .field textarea { width:100%; background:transparent; font-size:.875rem; font-weight:700; color:#0F172A; outline:none; margin-top:2px; }
.input { width:100%; padding:.65rem .9rem; border-radius:.75rem; border:1px solid #E2E8F0; font-size:.875rem; background:#fff; }
.input:focus { outline:none; border-color:#5B4CDC; box-shadow:0 0 0 3px rgba(91,76,220,.15); }
.label { display:block; font-size:.75rem; font-weight:700; color:#334155; margin-bottom:.25rem; }
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem 1.5rem; background:#FF6B00; color:#fff; font-weight:800; border-radius:1rem; transition:.15s; box-shadow:0 8px 25px -5px rgba(255,107,0,.35); }
.btn-primary:hover { background:#FF5200; }
.btn-primary:disabled { opacity:.5; cursor:not-allowed; }
.btn-ghost { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.6rem 1.2rem; background:#F3F1FE; color:#5B4CDC; font-weight:700; border-radius:.9rem; transition:.15s; }
.btn-ghost:hover { background:#E4E0FD; }
.card { background:#fff; border:1px solid #E4E0FD; border-radius:1.5rem; }
.prose-puntrip p { margin-bottom:.75rem; line-height:1.75; }
.line-clamp-1 { overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; }
.line-clamp-2 { overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.pkg-option:has(input:checked) { border-color:#FF6B00; background:#FFF7F0; box-shadow:0 0 0 2px rgba(255,107,0,.25); }
.pay-option:has(input:checked) { border-color:#5B4CDC; background:#F3F1FE; }
