/* Landing Page Optimized CSS - Only essential styles */

/* Core Layout */
.pca-landing { background: #f8f9fa; }
.pca-landing .container { max-width: 1170px !important; }

/* Typography */
.page-title { font-size: 26px !important; margin-bottom: 0 !important; font-weight: 600; color: #333; }
.page-excerpt { color: #6c757d; font-size: 18px; line-height: 1.7; margin: 1rem 0 1.5rem; max-width: 900px; font-weight: 400; }

/* Cards */
.card { background: #fff; border: 1px solid #e9ecef; border-radius: 8px; overflow: hidden; transition: transform 0.2s ease; }
.card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.card-img-top { height: 200px; object-fit: cover; width: 100%; }
.card-body { padding: 1rem; }
.card-title { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem; }
.card-title a { color: #333; text-decoration: none; }
.card-title a:hover { color: #ff9900; }

/* Buttons */
.btn-primary { background: #ff9900; border: #ff9900; color: #fff; padding: 12px 24px; border-radius: 8px; text-decoration: none; transition: all 0.3s ease; }
.btn-primary:hover { background: #e68a00; border-color: #e68a00; transform: translateY(-2px); }

/* Taxonomy Pills */
.taxonomy-pill { display: inline-flex; align-items: center; padding: 8px 16px; margin-right: 8px; border-radius: 20px; border: 1px solid #e0e0e0; background: #fff; color: #333; text-decoration: none; font-weight: 500; font-size: 14px; transition: all 0.3s ease; }
.taxonomy-pill:hover { border-color: #ff9900; color: #ff9900; }
.taxonomy-pill.pill-active { background: #ff9900; border-color: #ff9900; color: #fff; }

/* Breadcrumbs */
.breadcrumbs-list { display: flex; align-items: center; list-style: none; margin: 0; padding: 0.5rem 0; gap: 0.5rem; }
.breadcrumb-link { color: #6c757d; text-decoration: none; font-size: 13px; padding: 0.25rem 0.5rem; border-radius: 4px; }
.breadcrumb-link:hover { color: #495057; background: rgba(108,117,125,0.1); }

/* FAQ Component */
.tour-landing-faq { padding: 48px 0; background: #fff; }
.tour-landing-faq .faq-container { max-width: 780px; margin: 0; padding: 0 24px; }
.tour-landing-faq .faq-main-title { font-size: 32px; font-weight: 700; color: #0F172A; margin: 0 0 32px; }
.tour-landing-faq .faq-question { font-size: 14px; font-weight: 700; color: #0F172A; margin: 0 0 6px; }
.tour-landing-faq .faq-answer { font-size: 14px; line-height: 1.65; color: #374151; }
.tour-landing-faq .faq-answer a { color: #374151; text-decoration: none; font-size: 13px; }
.tour-landing-faq .faq-answer a:hover { text-decoration: underline; color: #111827; }

/* Hotel Links */
.pca-hotel-pickup .pca-hotel-pickup__chip { font-size: 14px; color: #374151; background: transparent; border: none; padding: 0; text-decoration: none; }
.pca-hotel-pickup .pca-hotel-pickup__chip:hover { text-decoration: underline; color: #1f2937; }

/* Responsive */
@media (max-width: 768px) {
    .page-title { font-size: 18px !important; }
    .page-excerpt { font-size: 15px; margin: 0.75rem 0 1rem; }
    .card-img-top { height: 180px; }
    .taxonomy-pill { font-size: 13px; padding: 6px 12px; }
    .tour-landing-faq .faq-main-title { font-size: 28px; }
    .container { padding: 0 12px; }
}

/* Loading states */
.spinner-border-sm { width: 1rem; height: 1rem; }
.sr-only { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Focus states */
a:focus, button:focus { outline: 2px solid #ff9900; outline-offset: 2px; }