/* boing-seo: route / hub pages, the footer link block and injected H1s.
   Self-contained (works in the old theme and under the boing skin). */
.bseo, .bseo-foot { --b-ink: #0B1630; --b-sun: #FF6B3D; --b-muted: #5E6A82; --b-line: rgba(11, 22, 48, .14); --b-paper: #F5F3EE;
	--b-sans: "Noto Sans Georgian", system-ui, sans-serif; --b-serif: "Noto Serif Georgian", Georgia, serif; }

/* ---------- route & hub pages ---------- */
.bseo { background: var(--b-paper); color: var(--b-ink); font-family: var(--b-sans); padding: 120px 0 0 !important; }
.bseo-in { width: min(1080px, 100% - 32px); margin: 0 auto; }
.bseo a { color: inherit; }
.bseo-crumbs { font-size: 13px; color: var(--b-muted); margin-bottom: 28px; }
.bseo-crumbs a { text-decoration: none; color: var(--b-muted); } .bseo-crumbs a:hover { color: var(--b-sun); }
.bseo-crumbs span { margin: 0 6px; opacity: .6; } .bseo-crumbs span[aria-current] { margin: 0; opacity: 1; color: var(--b-ink); }

.bseo-hero { padding-bottom: 28px; border-bottom: 2px solid var(--b-ink); }
.bseo-hero__route { display: flex; align-items: center; gap: 14px; max-width: 280px; margin-bottom: 18px; font-family: var(--b-serif); font-weight: 700; font-size: 18px; letter-spacing: .06em; color: var(--b-muted); }
.bseo-hero__route i { flex: 1; height: 0; border-top: 2px dashed rgba(11, 22, 48, .3); position: relative; }
.bseo-hero__route i::after { content: "✈"; position: absolute; left: 50%; top: -13px; transform: translateX(-50%); color: var(--b-sun); font-style: normal; font-size: 16px; }
#st-content-wrapper.bseo h1 { margin: 0 0 14px !important; font-family: var(--b-serif) !important; font-size: clamp(32px, 4.6vw, 56px) !important; font-weight: 900 !important; line-height: 1.08 !important;
	letter-spacing: -.015em; color: var(--b-ink) !important; text-transform: none !important; font-feature-settings: normal !important; }
.bseo-lead { margin: 0 0 22px !important; max-width: 62ch; font-size: 18px; line-height: 1.6; color: #2A3550; }
.bseo-lead strong { color: var(--b-ink); font-weight: 700; }
.bseo-facts { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid var(--b-line); }
.bseo-facts li { margin: 0 !important; padding: 14px 28px 0 0 !important; min-width: 150px; }
.bseo-facts li::before { content: none !important; }
.bseo-facts small { display: block; font-size: 12px; color: var(--b-muted); }
.bseo-facts b { display: block; margin-top: 4px; font-family: var(--b-serif); font-size: 19px; font-weight: 700; }

.bseo-search { margin: 28px 0 8px; min-height: 120px; }
.bseo-sec { padding: 44px 0 8px; }
#st-content-wrapper.bseo h2 { margin: 0 0 14px !important; font-family: var(--b-serif) !important; font-size: clamp(22px, 2.6vw, 30px) !important; font-weight: 700 !important; line-height: 1.2 !important;
	color: var(--b-ink) !important; text-transform: none !important; font-feature-settings: normal !important; }
#st-content-wrapper.bseo h3 { margin: 0 0 8px !important; font-family: var(--b-sans) !important; font-size: 15px !important; font-weight: 700 !important; color: var(--b-ink) !important; text-transform: none !important; }
#st-content-wrapper.bseo p { font-size: 15px; line-height: 1.7; color: #2A3550; margin: 0 0 12px; }

.bseo-months, .bseo-hubtable { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 15px; }
.bseo-months th, .bseo-months td, .bseo-hubtable th, .bseo-hubtable td { padding: 11px 6px; border: 0 !important; border-bottom: 1px solid var(--b-line) !important; text-align: left; background: none !important; }
.bseo-months thead th, .bseo-hubtable thead th { font-size: 12px; font-weight: 600; color: var(--b-muted); border-bottom: 2px solid var(--b-ink) !important; }
.bseo-months tbody th { width: 150px; font-weight: 600; white-space: nowrap; }
.bseo-months tbody th small { color: var(--b-muted); font-weight: 400; margin-left: 4px; }
.bseo-num { text-align: right !important; font-family: var(--b-serif); font-weight: 700; white-space: nowrap; width: 110px; }
.bseo-bar { display: block; height: 8px; border-radius: 1px; }
.bseo-bar i { display: block; height: 100%; background: #DCD8CF; border-radius: 1px; }
.bseo-bar.is-none { border-bottom: 1px dotted rgba(11, 22, 48, .35); height: 4px; }
.bseo-months tr.is-low th, .bseo-months tr.is-low .bseo-num { color: var(--b-sun); }
.bseo-months tr.is-low .bseo-bar i { background: var(--b-sun); }
.bseo-hubtable th a { font-family: var(--b-serif); font-weight: 700; font-size: 17px; text-decoration: none; }
.bseo-hubtable th a:hover { color: var(--b-sun); }
.bseo-hubtable th small { display: block; font-weight: 400; font-size: 12px; color: var(--b-muted); }

.bseo-days { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--b-line); }
.bseo-days li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--b-line); }
.bseo-days li::before { content: none !important; }
.bseo-days a { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; padding: 14px 14px 14px 0; text-decoration: none; }
.bseo-days a span { font-weight: 600; } .bseo-days a small { grid-row: 2; font-size: 12px; color: var(--b-muted); }
.bseo-days a b { grid-row: 1 / 3; grid-column: 2; font-family: var(--b-serif); font-size: 22px; font-weight: 900; }
.bseo-days a:hover b { color: var(--b-sun); }

.bseo-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 48px; }
.bseo-faq details { border-bottom: 1px solid var(--b-line); padding: 14px 0; }
.bseo-faq summary { cursor: pointer; font-weight: 600; font-size: 16px; list-style: none; position: relative; padding-right: 30px; }
.bseo-faq summary::-webkit-details-marker { display: none; }
.bseo-faq summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 22px; color: var(--b-sun); transition: transform .25s; }
.bseo-faq details[open] summary::after { transform: rotate(45deg); }
.bseo-faq details p { margin: 10px 0 0; }
.bseo-cal { min-height: 200px; }
.bseo-fine { font-size: 12px !important; color: var(--b-muted) !important; padding: 18px 0 60px; }
.bseo-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* link lists (route pages + footer block) */
.bseo-links { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.bseo-links li { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--b-line); }
.bseo-links li::before { content: none !important; }
.bseo-links a { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; text-decoration: none !important; font-size: 14px; color: var(--b-ink) !important; }
.bseo-links a b { font-family: var(--b-serif); font-weight: 700; white-space: nowrap; }
.bseo-links a:hover span { color: var(--b-sun); }

/* footer block on every page */
.bseo-foot { background: var(--b-paper); padding: 56px 0 64px; font-family: var(--b-sans); }
.bseo-foot__in { width: min(1160px, 100% - 32px); margin: 0 auto; }
html body .bseo-foot h2 { margin: 0 0 18px !important; font-family: var(--b-serif) !important; font-size: 26px !important; font-weight: 700 !important; color: var(--b-ink) !important; text-transform: none !important; font-feature-settings: normal !important; }
.bseo-foot .bseo-links { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--b-ink); }
.bseo-foot__hubs { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 18px; }
.bseo-foot__hubs a { font-size: 14px; font-weight: 600; color: var(--b-ink) !important; text-decoration: none; border-bottom: 2px solid var(--b-sun); padding-bottom: 2px; }

/* H1 injected on landing pages that had none */
.bseo-h1wrap { width: min(1160px, 100% - 32px); margin: 0 auto; padding: 24px 0 4px; }
.bseo-h1 { margin: 0 !important; font-size: clamp(26px, 3.4vw, 40px) !important; line-height: 1.2 !important; font-weight: 800 !important; color: #0B1630 !important; }

@media (max-width: 991px) {
	.bseo-foot .bseo-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bseo-days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.bseo { padding-top: 96px !important; }
	.bseo-lead { font-size: 16px; }
	.bseo-facts li { min-width: 50%; padding-right: 12px !important; }
	.bseo-cols, .bseo-links, .bseo-foot .bseo-links { grid-template-columns: 1fr; }
	.bseo-days { grid-template-columns: 1fr; }
	.bseo-months tbody th { width: auto; }
	.bseo-num { width: 84px; }
}

/* hand-written route guide */
.bseo-guide p { max-width: 72ch; }
.bseo-tips { list-style: none; margin: 6px 0 0 !important; padding: 0 !important; max-width: 72ch; }
.bseo-tips li { position: relative; margin: 0 !important; padding: 10px 0 10px 26px !important; border-bottom: 1px solid var(--b-line); font-size: 15px; line-height: 1.6; color: #2A3550; }
.bseo-tips li::before { content: "✓" !important; position: absolute; left: 2px; top: 10px; color: var(--b-sun); font-weight: 700; }
