/* Bosna Heritage V22 — additive styles; all colours follow the existing theme. */
.v22-reservation,.v22-content,.v22-flight{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:22px;margin-block:28px;padding:clamp(20px,3vw,34px);min-width:0;scroll-margin-top:150px}
.v22-reservation{border-top:4px solid var(--primary);box-shadow:var(--shadow)}
.v22-reservation-header{display:flex;align-items:center;gap:24px;justify-content:space-between;margin-bottom:24px}
.v22-reservation-header>div{max-width:790px}.v22-reservation h2,.v22-content h2,.v22-flight h2{font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.18;letter-spacing:-.02em;margin:5px 0 14px}
.v22-reservation p,.v22-content p,.v22-flight p{max-width:100%;overflow-wrap:anywhere}
.v22-panel-mark{display:grid;place-items:center;flex:none;width:66px;height:66px;border-radius:20px;color:var(--primary-ink);background:var(--primary);font-weight:850;font-size:1.4rem}
.v22-reservation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;align-items:stretch}
.v22-choices{display:grid;gap:16px;align-content:start}.v22-choices label{font-weight:750;display:grid;gap:7px;color:var(--ink)}
.v22-choices select{display:block;width:100%;min-width:0;min-height:49px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;padding:11px 13px;color-scheme:inherit}
.v22-result{background:var(--soft);border-radius:16px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.v22-result>p:first-child{margin:0 0 14px}.v22-result .btn{max-width:100%;text-align:center;overflow-wrap:anywhere;line-height:1.4}
.v22-disclosure{font-size:.86rem;line-height:1.5;color:var(--muted);margin:13px 0 5px}.v22-guide-link{margin-top:10px;font-weight:750;color:var(--link)}
.v22-direct-links{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.v22-direct-links summary{font-weight:750;cursor:pointer;min-height:32px}.v22-direct-links>div{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:12px}.v22-direct{color:var(--link);text-decoration:underline;text-underline-offset:3px;padding:5px 0}
.v22-actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 8px}.v22-actions>*{max-width:100%;text-align:center;line-height:1.4}
.v22-advice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v22-advice-grid>div,.v22-local-stay{min-width:0;background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:19px}
.v22-advice-grid h3{font-size:1.08rem;line-height:1.35;margin:4px 0 10px}.v22-advice-grid p{font-size:.97rem;line-height:1.65;margin:0}
.v22-step{font-weight:850;color:var(--link);font-size:.87rem}.v22-source-note{font-size:.87rem;line-height:1.6;color:var(--muted);padding-top:14px}.v22-source-note a{color:var(--link);text-decoration:underline}
.article .v22-advice-grid{grid-template-columns:1fr}.v22-local-stay{display:flex;flex-direction:column;gap:8px;color:var(--ink)}.v22-local-stay:hover{border-color:var(--link);text-decoration:none}.v22-local-stay>span{color:var(--link);font-weight:850}.v22-local-stay b{font-size:1.05rem;line-height:1.4}.v22-local-stay small{color:var(--muted)}
.v22-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}.v22-table-wrap table{border-collapse:collapse;width:100%;font-size:.94rem;background:var(--surface);color:var(--ink)}.v22-table-wrap th,.v22-table-wrap td{text-align:start;vertical-align:top;padding:15px;border-bottom:1px solid var(--line);min-width:150px}.v22-table-wrap thead{background:var(--soft)}.v22-table-wrap tbody tr:last-child>*{border-bottom:0}
.v22-checklist>div{display:grid;gap:10px}.v22-checklist label{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;background:var(--soft);border-radius:12px;cursor:pointer}.v22-checklist input{width:20px;height:20px;margin-top:4px;flex:none;accent-color:var(--primary)}.v22-checklist [data-trip-progress]{font-weight:800;margin-bottom:0}
.v22-toc{border:1px solid var(--line);border-radius:16px;background:var(--soft);padding:17px 20px;margin:18px 0 24px}.v22-toc>div{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:9px}.v22-toc a{font-size:.91rem;text-decoration:underline;text-underline-offset:3px;line-height:1.7}
.v22-byline{font-size:.87rem;border-top:1px solid var(--line);padding-top:16px;color:var(--muted)}.v22-generic-link{display:block!important;margin:12px 0;color:var(--link)!important;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.v22-side-booking{padding:19px;background:var(--soft);border:1px solid var(--line);border-radius:18px;margin-bottom:18px}.v22-side-booking .btn{width:100%;line-height:1.4;text-align:center}
.v22-reservation :focus-visible,.v22-content :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(max-width:900px){.v22-reservation-grid{grid-template-columns:1fr}.v22-advice-grid{grid-template-columns:1fr}.v22-panel-mark{display:none}.v22-reservation-header{margin-bottom:15px}.v22-reservation h2{font-size:1.6rem}}
@media(max-width:620px){.v22-reservation,.v22-content,.v22-flight{padding:20px 17px;margin-block:22px;border-radius:18px}.v22-result{padding:17px}.v22-actions{display:grid;grid-template-columns:1fr}.v22-reservation-grid{gap:17px}.v22-reservation select{font-size:16px}.v22-table-wrap th,.v22-table-wrap td{font-size:.9rem;min-width:125px;padding:12px}.v22-reservation .btn{width:100%}}
@media print{.v22-reservation,.v22-checklist{break-inside:avoid}.v22-choices{display:none}}
