/* Global styles extracted from Sample/traveltaxi-tour-list.txt */
body { font-family: 'Outfit', system-ui, sans-serif; }
h1,h2,h3,h4 { font-family: 'Fraunces', Georgia, serif; }

/* Scrollbar */
::-webkit-scrollbar { width:4px; height:4px; }
::-webkit-scrollbar-thumb { background:#F77F00; border-radius:2px; }
.scrollbar-none::-webkit-scrollbar { display:none; }
.scrollbar-none { scrollbar-width:none; }

/* Ann bar */
.ann { background: linear-gradient(90deg,#1a1a2e,#2d2d5e,#1a1a2e); }

/* Header scroll */
.hdr.sc { box-shadow: 0 2px 24px rgba(0,0,0,.07); }

/* Mobile nav */
.mob-nav.open { left:0; }
.mob-overlay.open { opacity:1; visibility:visible; }

/* Scroll reveal */
.rv { opacity:0; transform:translateY(20px); transition:opacity .55s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.22,1,.36,1); }
.rv.vis { opacity:1; transform:translateY(0); }

/* Tour card list view */
#toursContainer.list-view { grid-template-columns: 1fr !important; }
#toursContainer.list-view .tour-card { display:flex !important; flex-direction:row; }
#toursContainer.list-view .tour-card > div:first-child { width:240px; min-width:240px; flex-shrink:0; }

/* FAQ states */
.faq.op { border-color:#F77F00; }
.faq.op .faq-q { background:rgba(247,127,0,.06); color:#F77F00; }
.faq.op .faq-ar { transform:rotate(45deg); background:#F77F00; color:#fff; }

/* View btn */
.view-btn.active { background:#fff; color:#0D3B66; box-shadow:0 1px 4px rgba(0,0,0,.1); }

/* Animations */
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes slideUp { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.15)} }
.animate-pulse { animation:pulse 2s infinite; }

#modal.show, #compareModal.show { display:flex; animation:fadeIn .2s ease; }

/* Range input */
input[type="range"] { -webkit-appearance:none; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:16px; height:16px; border-radius:50%; background:#0D3B66; cursor:pointer; }

/* Line clamp */
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Reduced motion */
@media(prefers-reduced-motion:reduce) { *{animation-duration:.01ms!important;transition-duration:.01ms!important} }
