:root { --muted: #5F7375; }

/* Readability and layout refinements */
.hero-copy { max-width: 1040px; }
.hero-copy h1 { font-size: clamp(50px, 6.7vw, 88px); }

.search-label { font-size: 10.5px; }
.search-field input, .search-field select { font-size: 14px; }
.hero-quick-links > span, .hero-quick-links a { font-size: 11.5px; }
.hero-proof { font-size: 11.5px; }
.trust-item strong { font-size: 13px; }
.trust-item p { font-size: 11.5px; }
.trust-icon { width: 40px; height: 40px; }

.category-card-content small { font-size: 10.5px; }
.category-card-content strong { font-size: 22px; }
.category-card-content > span { font-size: 11.5px; }
.direction-count { font-size: 10.5px; }
.direction-content strong { font-size: 20px; }
.direction-content small { font-size: 11px; }
.seasonal-content p { font-size: 12.5px; }
.organizer-benefits span { font-size: 11.5px; }
.footer-brand > p { font-size: 13px; }
.footer-column a { font-size: 12.5px; }
.footer-column h2 { font-size: 11.5px; }
.footer-bottom { font-size: 10.5px; }

.tour-card-body { padding: 17px 18px 16px; }
.tour-card-location { font-size: 11.5px; }
.tour-card-terms { font-size: 10px; }
.tour-card-title { font-size: 21px; }
.tour-card-summary { font-size: 12px; }
.organizer-name { font-size: 12px; }
.verified-pill { font-size: 10.5px; }
.unverified-pill { font-size: 10.5px; }
.tour-card-facts { font-size: 11px; gap: 6px 13px; }
.tour-card-facts .icon { width: 13px; height: 13px; }
.tour-price { font-size: 10.5px; }
.tour-price strong { font-size: 21px; }
.tour-price small { font-size: 10px; }
.tour-card-link { font-size: 12px; }
.tour-card-link .icon { width: 14px; height: 14px; }
.tour-card-date-chip { font-size: 10.5px; }
.badge { font-size: 11px; }

.catalog-head-row p { font-size: 14px; }
.catalog-head-aside > span { font-size: 11px; }
.catalog-map-link { font-size: 11px; }
.catalog-quick-search input, .catalog-quick-search select { font-size: 12.5px; }
.filter-label { font-size: 12px; }
.filter-form input[type="search"], .filter-form input[type="text"], .filter-form input[type="number"], .filter-form input[type="date"], .filter-form select { font-size: 12px; height: 40px; }
.checkbox-row { font-size: 11.5px; }
.checkbox-row small { font-size: 10px; }
.chip-checkboxes label span { font-size: 10.5px; }
.switch-row strong { font-size: 11.5px; }
.switch-row small { font-size: 10px; }
.filter-date-row label > span { font-size: 10px; }
.filter-actions .btn { font-size: 12px; }
.filter-reset { font-size: 11px; }
.results-count span { font-size: 11.5px; }
.sort-form label { font-size: 11px; }
.sort-form select, .sort-form-mobile select { font-size: 11.5px; }
.active-filters-label { font-size: 10.5px; }
.filter-chip { font-size: 10.5px; }
.filter-clear { font-size: 10.5px; }
.tour-gallery-show-all, .gallery-show-all { font-size: 11px; }

.tour-lede { font-size: 15.5px; }
.tour-location-line { font-size: 11.5px; }
.key-fact small { font-size: 10px; }
.key-fact strong { font-size: 12px; }
.content-section > h2 { font-size: 31px; }
.rich-text p { font-size: 15px; line-height: 1.85; }
.program-line p { font-size: 13.5px; }
.program-day p { font-size: 14px; }
.included-card h3 { font-size: 14px; }
.included-card li { font-size: 12px; }
.info-panel h3 { font-size: 13.5px; }
.info-panel p { font-size: 12px; }
.organizer-intro-copy h3 { font-size: 17px; }
.organizer-intro-copy p { font-size: 12px; }
.organizer-intro-meta { font-size: 10.5px; }
.reviews-placeholder h3 { font-size: 14px; }
.reviews-placeholder p { font-size: 11.5px; }
.contact-section-head p { font-size: 12px; }
.contact-secure { font-size: 10px; }
.direct-contact-card > h3 { font-size: 16px; }
.direct-contact-card > p { font-size: 11.5px; }
.direct-contact-list small { font-size: 9px; }
.direct-contact-list strong { font-size: 11.5px; }
.contact-note { font-size: 9.5px; }
.inquiry-footer small { font-size: 9.5px; }
.form-field > span, .form-label { font-size: 12px; }
.form-field input, .form-field select, .form-field textarea { font-size: 13px; }
.form-field small { font-size: 10px; }
.consent-row { font-size: 11px; }
.price-card-head span { font-size: 10.5px; }
.price-card-next > span { font-size: 10.5px; }
.price-card-next strong { font-size: 11.5px; }
.price-card-dates > span { font-size: 10px; }
.price-card-dates > div { font-size: 10.5px; }
.price-card-dates > small { font-size: 9.5px; }
.price-card-organizer small { font-size: 9px; }
.price-card-organizer a { font-size: 11.5px; }
.price-card-note { font-size: 9px; }
.related-section h2 { font-size: 31px; }
.price-card-actions .action-pill { font-size: 11px; }

.auth-form-inner h1 { font-size: 39px; }
.auth-intro { font-size: 13px; }
.auth-form .form-field > span { font-size: 11.5px; }
.auth-form .form-field input { height: 46px; font-size: 13.5px; }
.auth-form-row .text-link { font-size: 11px; }
.auth-small-note { font-size: 10px; }
.auth-switch { font-size: 12.5px; }
.demo-accounts > summary { font-size: 11px; }
.demo-account strong { font-size: 10.5px; }
.demo-account span, .demo-account small { font-size: 9.5px; }
.auth-security-note { font-size: 9.5px; }
.auth-visual-copy > p { font-size: 13px; }
.account-type-switch strong { font-size: 11.5px; }
.account-type-switch small { font-size: 9.5px; }
.auth-footer { font-size: 10px; }

.account-nav nav a { font-size: 12px; padding: 10px; }
.account-nav-head strong { font-size: 12.5px; }
.account-nav-head small { font-size: 9.5px; }
.dashboard-switch { font-size: 11px; }
.dashboard-page-head p { font-size: 13px; }
.stat-card-label { font-size: 10.5px; }
.stat-card small { font-size: 10px; }
.account-section-head h2 { font-size: 20px; }
.account-section-head p { font-size: 11.5px; }
.dashboard-callout h2 { font-size: 15px; }
.dashboard-callout p { font-size: 11px; }
.inquiry-mini-item strong { font-size: 11.5px; }
.inquiry-mini-item span { font-size: 10px; }
.saved-mini-item strong { font-size: 11.5px; }
.saved-mini-item small { font-size: 10px; }
.inquiry-item-title h2 { font-size: 16px; }
.inquiry-item-title p { font-size: 10px; }
.inquiry-item-body > p { font-size: 12.5px; }
.inquiry-details { font-size: 10px; }
.saved-search-head h2 { font-size: 16px; }
.saved-search-head small, .alert-state { font-size: 10px; }
.saved-search-tags span { font-size: 10px; }
.notification-title h2 { font-size: 14px; }
.notification-item p { font-size: 11.5px; }
.settings-card-head h2 { font-size: 16px; }
.settings-card-head p, .settings-row p { font-size: 10.5px; }
.settings-row strong { font-size: 12px; }
.form-errors p { font-size: 12px; }
.info-box { font-size: 11.5px; }

/* Dashboards */
.dashboard-area-label { font-size: 9px; }
.dashboard-company strong { font-size: 12px; }
.dashboard-company small { font-size: 10px; }
.dashboard-nav-label { font-size: 9px; }
.dashboard-nav a { font-size: 12.5px; padding: 9px 10px; }
.dashboard-nav .icon { width: 16px; height: 16px; }
.sidebar-back, .dashboard-sidebar-footer .text-button { font-size: 10.5px; }
.dashboard-page-head p { font-size: 13px; }
.dashboard-banner strong { font-size: 12px; }
.dashboard-banner p { font-size: 11px; }
.stat-card-label { font-size: 10.5px; }
.stat-card small { font-size: 10px; }
.stat-card strong { font-size: 31px; }
.account-section-head h2 { font-size: 20px; }
.account-section-head p { font-size: 11px; }
.chart-legend { font-size: 10px; }
.bar-chart-label { font-size: 8px; }
.chart-footnote { font-size: 9px; }
.dashboard-tour-info a { font-size: 12px; }
.dashboard-tour-info span { font-size: 9.5px; }
.status-breakdown a { font-size: 11px; }
.status-breakdown a strong { font-size: 12px; }
.tip-card h3 { font-size: 13px; }
.tip-card p { font-size: 11px; }
.status-tabs a { font-size: 11.5px; padding: 8px 11px; }
.status-tabs a span { font-size: 9px; }
.offer-title { font-size: 12px; }
.offer-meta { font-size: 9.5px; }
.offer-meta.muted { font-size: 9px; }
.offer-term strong { font-size: 10.5px; }
.offer-term span { font-size: 9.5px; }
.offer-stats span { font-size: 10px; }
.offers-table-head { font-size: 9px; }
.offer-actions > .btn { font-size: 10px; }
.offer-actions .icon-button, .dashboard-tour-actions .icon-button { width: 32px; height: 32px; }
.action-menu-panel a, .action-menu-panel button, .moderation-menu-panel a, .moderation-menu-panel button { font-size: 10.5px; }
.moderation-menu-panel label { font-size: 9.5px; }
.moderation-menu-panel textarea { font-size: 10.5px; }
.inquiry-person-name h2 { font-size: 14px; }
.inquiry-person p { font-size: 10px; }
.inquiry-tour-line { font-size: 10px; }
.organizer-inquiry-body blockquote { font-size: 12px; }
.inquiry-meta-grid > div > span { font-size: 9px; }
.inquiry-meta-grid strong, .inquiry-meta-grid a { font-size: 10px; }
.organizer-inquiry-footer .btn { font-size: 10px; }
.company-main .form-field > span { font-size: 12px; }
.company-main .form-field input, .company-main .form-field textarea { font-size: 13px; }
.checklist-card li { font-size: 10.5px; }
.verification-card > p { font-size: 11px; }
.admin-search .input-with-icon input { font-size: 11.5px; }
.admin-offer-title > a { font-size: 12.5px; }
.admin-offer-meta { font-size: 9.5px; }
.admin-offer-updated { font-size: 9px; }
.admin-category-row, .admin-user-row { font-size: 10px; }
.admin-category-name strong { font-size: 11px; }
.admin-user-identity strong { font-size: 11px; }
.admin-user-identity span { font-size: 9.5px; }
.admin-user-activity { font-size: 9.5px; }
.admin-company-title h2 { font-size: 13.5px; }
.admin-company-details > p:nth-child(2) { font-size: 11px; }
.admin-company-stats { font-size: 9.5px; }
.admin-report-head h2 { font-size: 13.5px; }
.admin-report-body > p { font-size: 11.5px; }
.queue-item a { font-size: 11px; }
.queue-item span { font-size: 9.5px; }
.category-stat-row strong { font-size: 11px; }
.message-head h2 { font-size: 13.5px; }
.message-body { font-size: 12px; }

/* Wizard */
.wizard-steps-head span { font-size: 9px; }
.wizard-steps-head strong { font-size: 16px; }
.wizard-step-link { padding: 8px 7px; }
.wizard-step-link strong { font-size: 11px; }
.wizard-step-link small { font-size: 9px; }
.wizard-help-card strong { font-size: 11px; }
.wizard-help-card p { font-size: 9.5px; }
.wizard-step-kicker { font-size: 9.5px; }
.wizard-step-head h2 { font-size: 28px; }
.wizard-step-head p { font-size: 12px; }
.category-picker label > span strong { font-size: 10px; }
.category-picker input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}
.form-field input, .form-field select, .form-field textarea { font-size: 13px; }
.form-field > span { font-size: 12px; }
.date-row .form-field input { font-size: 11.5px; }
.date-row .form-field > span { font-size: 9.5px; }
.image-upload-card p { font-size: 10.5px; }
.current-image span { font-size: 8px; }
.wizard-summary-main h3 { font-size: 24px; }
.wizard-summary-main > p { font-size: 11.5px; }
.summary-facts { font-size: 10px; }
.summary-label { font-size: 9px; }
.summary-status small { font-size: 8.5px; }
.publish-checklist h3 { font-size: 12.5px; }
.publish-checklist label { font-size: 10.5px; }
.publish-note { font-size: 10px; }
.wizard-footer .btn { font-size: 11px; min-height: 38px; padding: 9px 14px; }
.wizard-autosave-note { font-size: 9px; }
.wizard-topbar-status { font-size: 10px; }
.back-link { font-size: 11.5px; }
.wizard-page-head p { font-size: 12.5px; }

@media (max-width: 980px) {
  .hero-copy { max-width: 100%; }
  .hero-copy h1 { font-size: clamp(43px, 8vw, 64px); }
  .search-field input, .search-field select { font-size: 12.5px; }
  .footer-column a { font-size: 12px; }
  .dashboard-nav a { font-size: 12.5px; }
  .wizard-step-link { padding: 0; }
}

@media (max-width: 700px) {
  .hero-copy h1 { font-size: clamp(39px, 11vw, 55px); }
  .tour-card-title { font-size: 19px; }
  .tour-card-location { font-size: 10.5px; }
  .tour-card-facts { font-size: 10px; }
  .tour-card-link { font-size: 10.5px; }
  .tour-price strong { font-size: 19px; }
  .form-field > span { font-size: 11.5px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 14px; }
  .auth-form-inner h1 { font-size: 31px; }
  .wizard-step-head p { font-size: 11px; }
  .wizard-footer .btn { font-size: 9.5px; }
  .dashboard-nav a { font-size: 12.5px; }
}


@media (max-width: 980px) {
  .hero-search-grid .search-field:nth-child(5) {
    display: flex;
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 0;
  }
  .hero-search-grid .search-field:nth-child(3),
  .hero-search-grid .search-field:nth-child(4) {
    border-bottom: 1px solid var(--line);
  }
}


/* Import coming soon */
.soon-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 5px;
  margin-left: auto;
  border-radius: 999px;
  background: var(--accent-soft);
  color: #86571F;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.dashboard-nav a .soon-badge { margin-left: auto; }
.import-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 15px; align-items: start; }
.import-main { padding: 27px; }
.import-hero { max-width: 690px; }
.import-icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; border-radius: 14px; background: var(--teal-soft); color: var(--teal); }
.import-icon .icon { width: 22px; height: 22px; }
.import-hero .badge { margin-bottom: 12px; }
.import-hero h2 { margin-bottom: 8px; font-size: 26px; }
.import-hero p { color: var(--muted); font-size: 12px; line-height: 1.7; }
.import-form-preview { display: flex; align-items: flex-end; gap: 8px; margin-top: 22px; padding: 16px; border: 1px dashed var(--line-strong); border-radius: 12px; background: #FBFCFC; }
.import-form-preview .form-field { flex: 1; margin: 0; }
.import-form-preview .btn:disabled { opacity: .55; cursor: not-allowed; }
.import-steps { display: grid; margin-top: 22px; }
.import-steps > div { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.import-steps > div:first-child { border-top: 1px solid var(--line); }
.import-steps > div > span { color: var(--accent-dark); font-family: var(--serif); font-size: 17px; font-style: italic; }
.import-steps h3 { margin-bottom: 3px; font-size: 13px; }
.import-steps p { color: var(--muted); font-size: 10.5px; line-height: 1.6; }
.import-aside { display: grid; gap: 12px; position: sticky; top: 95px; }
.import-aside h2 { margin-bottom: 11px; font-size: 16px; }
.import-rules { list-style: none; display: grid; gap: 8px; }
.import-rules li { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 10.5px; }
.import-rules .icon { width: 13px; height: 13px; color: var(--success); }
.import-legal > span { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; border-radius: 9px; background: var(--teal-mist); color: var(--teal); }
.import-legal .icon { width: 15px; height: 15px; }
.import-legal p { color: var(--muted); font-size: 10px; line-height: 1.65; }
@media (max-width: 900px) {
  .import-layout { grid-template-columns: 1fr; }
  .import-aside { position: static; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .import-main { padding: 18px; }
  .import-form-preview { align-items: stretch; flex-direction: column; }
  .import-aside { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .filter-panel { visibility: hidden; }
  .filter-panel.is-open { visibility: visible; }
}

@media (max-width: 420px) {
  .direction-grid { grid-template-columns: 1fr 1fr; }
  .direction-card { min-height: 190px; }
}
