:root{ --xp-primary:#0ea5e9; --xp-accent:#22d3ee; --xp-text:#1f2937; --xp-border:#e5e7eb; }
.xtravel-libro .xp-label{ display:block; font-size:.85rem; font-weight:600; color:var(--xp-text); margin-bottom:.25rem; }
.xtravel-libro .xp-input{ width:100%; border:1px solid var(--xp-border); border-radius:.375rem; padding:.45rem .6rem; font-size:.95rem; }
.xtravel-libro .xp-input:focus{ outline:none; border-color:var(--xp-primary); box-shadow:0 0 0 3px rgba(14,165,233,.25); }
.xtravel-libro .xp-error{ display:none; font-size:.75rem; color:#dc2626; margin-top:.25rem; }
.xtravel-libro .xp-badge{ display:inline-block; padding:.12rem .45rem; border-radius:9999px; font-size:.72rem; background:rgba(14,165,233,.08); color:#0369a1; border:1px solid rgba(14,165,233,.35); }
.xtravel-libro .xp-badge--info{ background:rgba(14,165,233,.12); color:#075985; border-color:rgba(14,165,233,.35); }
.xtravel-libro h1, .xtravel-libro h2, .xtravel-libro h3, .xtravel-libro h4{ color:#0f172a; }
.xtravel-libro .libro-header h1{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.xtravel-libro .xp-legal-alert{ border-left:4px solid #f59e0b; background:rgba(245,158,11,.08); }
.xtravel-libro .xp-legal-alert strong{ color:#92400e; }
.xtravel-libro .xp-legal-alert span{ color:#92400e; }
.xp-btn-primary{ display:inline-flex; align-items:center; gap:.4rem; background:linear-gradient(135deg,var(--xp-primary),var(--xp-accent)); padding:.55rem 1rem; color:#fff; border-radius:.5rem; box-shadow:0 6px 14px rgba(14,165,233,.25); }
.xp-btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 20px rgba(14,165,233,.35); }
.xtravel-libro .xp-list{ padding-left:1.1rem; }
.xtravel-libro .xp-list li{ margin:.35rem 0; }
.xtravel-libro .text-muted{ color:#6b7280; }
.xtravel-libro .section-title{ display:flex; align-items:center; gap:.5rem; color:#0f172a; }
.xtravel-libro .section-title i{ color:var(--xp-primary); }
/* Minimal utilities (in case Tailwind not available) */
.max-w-4xl{ max-width:56rem; }
.max-w-5xl{ max-width:64rem; }
.max-w-6xl{ max-width:72rem; }
.mx-auto{ margin-left:auto; margin-right:auto; }
.p-6{ padding:1.5rem; }
.bg-white{ background:#fff; }
.border{ border:1px solid var(--xp-border); }
.rounded-lg{ border-radius:.5rem; }
.shadow-sm{ box-shadow:0 1px 2px rgba(0,0,0,.05); }
.mb-6{ margin-bottom:1.5rem; }
.mt-6{ margin-top:1.5rem; }
.text-2xl{ font-size:1.5rem; line-height:2rem; }
.text-xl{ font-size:1.25rem; line-height:1.75rem; }
.font-semibold{ font-weight:600; }
.text-gray-600{ color:#4b5563; }
.text-gray-700{ color:#374151; }
.text-primary{ color: var(--xp-primary); }
.flex{ display:flex; }
.items-center{ align-items:center; }
.items-start{ align-items:flex-start; }
.gap-3{ gap:.75rem; }
.gap-4{ gap:1rem; }
.grid{ display:grid; }
.sm\:grid-cols-3{ grid-template-columns:repeat(1,minmax(0,1fr)); }
.sm\:grid-cols-2{ grid-template-columns:repeat(1,minmax(0,1fr)); }
@media (min-width:640px){
	.sm\:grid-cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
	.sm\:grid-cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
	.sm\:col-span-2{ grid-column: span 2 / span 2; }
}
.ml-2{ margin-left:.5rem; }
.mr-2{ margin-right:.5rem; }
