:root {
  --peach: #FFF3EE;
  --orange: #FF6B35;
  --orange2: #ff8c5a;
  --yellow: #FFD166;
  --green: #06D6A0;
  --text: #2D3748;
  --muted: #718096;
  --warm: #FFF9F5;
}

body { background: linear-gradient(135deg, #FFF9F5 0%, #FFF3EE 100%); }
::-webkit-scrollbar { display: none; }
.sidebar-gradient { background: linear-gradient(180deg, #fff9f5 0%, #fff3ee 100%); }
.nav-active { background: linear-gradient(135deg, #FF6B35, #ff8c5a); box-shadow: 0 4px 15px rgba(255, 107, 53, .35); }
.card-hover { transition: transform .2s ease, box-shadow .2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(255, 107, 53, .15); }
.sunny-badge { background: linear-gradient(135deg, #FFD166, #ffb830); }
.tab-link-active { background: linear-gradient(135deg, #FF6B35, #ff8c5a); color: #fff; font-weight: 600; box-shadow: 0 4px 15px rgba(255, 107, 53, .25); }
.keyword-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.keyword-chip { display: inline-flex; align-items: center; padding: .25rem .75rem; border-radius: 9999px; background: #fff; border: 1px solid #FFE3D6; font-size: .75rem; font-weight: 600; color: #FF6B35; transition: border-color .15s; }
.keyword-chip:hover { border-color: #FF6B35; }
.pagination-nav { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.5rem; }
.pagination-link { font-size: .875rem; font-weight: 600; color: #FF6B35; text-decoration: none; padding: .5rem .9rem; border-radius: .75rem; background: #fff; border: 1px solid #FFE3D6; }
.pagination-link:hover { border-color: #FF6B35; }
.pagination-link-disabled { color: #c9beb8; cursor: default; pointer-events: none; }
.pagination-status { font-size: .8125rem; color: #8a7f7a; }
.text-outline-black { -webkit-text-stroke: .2px #000; letter-spacing: .04em; }

/* Utilities used by templates but absent from the prebuilt Tailwind file. */
.col-span-2 { grid-column: span 2 / span 2; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.h-book { height: calc(var(--spacing) * 70); }
.flex-wrap { flex-wrap: wrap; }
.right-6 { right: 1.5rem; }
.top-6 { top: 1.5rem; }
.max-w-2xl { max-width: 42rem; }
.pl-9 { padding-left: 2.25rem; }
.pr-3 { padding-right: .75rem; }
.px-1 { padding-left: .25rem; padding-right: .25rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.bg-orange-50 { background-color: #fff7ed; }
.bg-orange-50\/40 { background-color: rgba(255, 247, 237, .4); }
.space-y-6 > * + * { margin-top: 1.5rem; }
.mt-3 { margin-top: .75rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.mt-1\.5 { margin-top: .375rem; }
@media (min-width: 768px) { .md\:col-span-4 { grid-column: span 4 / span 4; } }
