/* Hand-authored fixes, intentionally separate from the legacy generated bundle. */
.banner__content { position:absolute; z-index:2; padding:16px; }
.banner__title { line-height:1.2; }
.banner__text { line-height:1.35; }
.destination-toggle { border:0; padding:0; background:transparent; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; min-height:24px; }
.destination-toggle:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:2px solid #a41360; outline-offset:3px; }
.destinaceMenu--dropdown.is-open > .destinaceMenu--dropdown-content { display:flex; }
.destinaceMenu--dropdown.is-closed > .destinaceMenu--dropdown-content { display:none; }
.destinaceMenu--dropdown-content { max-width:calc(100vw - 30px); }
.tour__detail img { max-width:100%; height:auto; }
@media(max-width:767.98px) {
    .banner { overflow:hidden; }
    .banner__content { position:absolute; }
    .banner__title { font-size:clamp(1.3rem,6vw,2rem); margin-bottom:20px; }
    .destination-toggle { min-height:44px; }
    .destinaceMenu--dropdown-content { max-height:65vh; overflow-y:auto; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Keep Bootstrap row gutters inside the scrollable destination panel. */
.destinaceMenu--dropdown-content > .row { width:100%; margin-left:0; margin-right:0; min-width:0; }
.destinaceMenu--dropdown-content a { white-space:normal; overflow-wrap:anywhere; }

.copyright a[href="https://www.machin.cz"] { text-decoration-line:underline; text-decoration-style:dashed; text-underline-offset:4px; }

/* Cards choose columns by their own width, avoiding cramped tablet footers. */
.tour__item--footer > .row { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr)); margin:0; }
.tour__item--footer > .row > .col-12 { width:auto; max-width:none; min-width:0; padding:0; }
.tour__item--price { padding:12px 16px; white-space:nowrap; text-align:center; }
.tour__item--more { margin-left:0; padding:12px; gap:8px; white-space:nowrap; min-height:48px; }
.tour__item--more::before { position:static; flex:0 0 22px; width:22px; height:15px; margin:0; }

/* Keep all four destinations on one row at tablet and desktop widths. */
@media(min-width:768px) {
 .destinaceMenu { flex:1 1 auto; min-width:0; }
 .destinaceMenu--main { flex:0 0 auto; }
 .destinaceMenu--flex { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
 .destinaceMenu--dropdown { width:auto; min-width:0; }
 .destinaceMenu--dropdown > p { padding-left:0; padding-right:0; }
 .destination-toggle { white-space:nowrap; }
}
.page__files { list-style:none; padding-left:0; }
.page__files > li { position:relative; padding-left:22px; margin-bottom:12px; line-height:1.6; }
.page__files > li::before { content:""; position:absolute; left:0; top:0.6em; width:8px; height:8px; background:#e7318e; }

.newsletter__inner--input .contact-field-label { display:block; font-weight:700; margin-bottom:8px; }
.newsletter__inner--input input { font-weight:600; }
.newsletter__inner--input input::placeholder { font-weight:400; opacity:1; }

.mobile-menu-phone { display:none; }
@media(max-width:991.98px) {
 .header__contact { display:none; }
 .navbar-collapse .mobile-menu-phone { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 14px; padding:15px 18px; margin:12px 0 8px; background:#e7318e; color:#fff; border-radius:4px; text-decoration:none; }
 .mobile-menu-phone span { font-size:13px; }
 .mobile-menu-phone strong { font-size:19px; white-space:nowrap; }
}

/* Add breathing room below the logo and align the globe with the destination row. */
.top { padding-top:12px; padding-bottom:10px; background:#f8f8f8; }
.top > .container > .d-flex { align-items:center; }
.destinaceMenu--main p { background-color:transparent; }
.destinaceMenu--flex { position:relative; }
.destinaceMenu--dropdown { position:static; }
.top .destinaceMenu--dropdown-content { top:100%; left:0; right:auto; }
.destination-label-mobile { display:none; }
@media(max-width:991.98px) {
 .top { padding-top:16px; padding-bottom:8px; }
 .destinaceMenu--main p { padding-top:6px; padding-bottom:6px; background-position:left center; }
 .destination-label-desktop { display:none; }
 .destination-label-mobile { display:inline; }
}

.copyright > .container { display:flex; justify-content:space-between; align-items:center; gap:12px 24px; flex-wrap:wrap; }
.copyright__credit { margin-left:auto; text-align:right; }
@media(max-width:575.98px) {
 .copyright > .container { flex-direction:column; align-items:flex-start; }
 .copyright__credit { margin-left:0; text-align:left; }
}

@media(max-width:991.98px) {
 .destination-toggle { width:100%; }
 .destination-label-mobile { display:block; width:100%; }
 .destination-label-mobile::after { width:100%; left:0; right:0; }
}
.cookie-panel[hidden],.consent-placeholder[hidden] { display:none; }
.cookie-panel { position:fixed; right:24px; bottom:24px; z-index:20000; width:390px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; background:white; color:#303030; border-radius:16px; padding:24px; box-shadow:0 8px 40px #0003; }
.cookie-panel h2,.cookie-dialog h2 { font-size:20px; line-height:1.35; font-weight:700; margin:0 0 16px; padding-right:18px; }
.cookie-panel p,.cookie-dialog p { font-size:14px; line-height:1.6; color:#666; margin-bottom:16px; }
.cookie-panel summary,.cookie-dialog summary { cursor:pointer; font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:grid; gap:8px; margin-top:20px; padding-top:16px; border-top:1px solid #eee; }
.cookie-actions button,.consent-placeholder button { border:1px solid #ddd; border-radius:7px; background:#f1f1f1; color:#333; padding:12px 16px; font-size:14px; font-weight:600; cursor:pointer; min-height:44px; }
.cookie-actions [data-cookie-accept],.cookie-actions [data-cookie-save] { background:#e7318e; border-color:#e7318e; color:white; }
.cookie-dialog { width:610px; max-width:calc(100vw - 32px); max-height:85dvh; overflow:auto; border:0; border-radius:16px; padding:28px; color:#303030; }
.cookie-dialog::backdrop { background:#0008; }
.cookie-close { position:absolute; right:12px; top:8px; background:transparent; border:0; width:40px; height:40px; font-size:28px; cursor:pointer; }
.cookie-category { border-top:1px solid #eee; padding:16px 0 0; }
.cookie-category label { display:flex; align-items:center; gap:12px; cursor:pointer; }
.cookie-category input { width:20px; height:20px; accent-color:#e7318e; flex-shrink:0; }
.cookie-category p { margin-left:32px; }
.cookie-settings-footer { text-align:center; background:#f8f8f8; padding:4px 16px; line-height:18px; }
.cookie-settings-footer button { border:0; background:none; color:#555; text-decoration:underline; text-underline-offset:3px; font-size:11px; cursor:pointer; padding:2px 4px; line-height:18px; }
.consent-placeholder { background:#f6f6f6; border:1px solid #e4e4e4; padding:28px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:180px; }
.consent-map .consent-placeholder { height:100%; }
iframe[data-consent-src]:not([src]) { display:none; }
@media(max-width:575.98px) { .cookie-panel { right:16px; bottom:16px; padding:20px; } .cookie-dialog { padding:24px 20px; } }

.copyright__owner, .copyright__credit { white-space:nowrap; }
.copyright__credit { display:inline-flex; align-items:baseline; gap:5px; }

/* Mobile destinations: four distinct touch buttons, separated by clear gaps. */
@media(max-width:991.98px) {
 .destinaceMenu--flex { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .destinaceMenu--dropdown { min-width:0; }
 .destinaceMenu--dropdown > p { padding:0; font-size:12px; }
 .destinaceMenu--dropdown:hover > p { background:transparent; }
 .destinaceMenu--main p { margin-bottom:10px; }
 .destination-toggle { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:50px; padding:10px 12px; border:1px solid #edb7d2; border-radius:8px; background:#fff; color:#bc216c; line-height:1.4; white-space:normal; }
 .destination-label-mobile { width:auto; }
 .destinaceMenu--dropdown > p span::after { display:none; }
 .destination-toggle::after { display:none; }
 .destination-toggle[aria-expanded="true"] { background:#e7318e; border-color:#e7318e; color:#fff; }
 .top .destinaceMenu--dropdown-content { top:calc(100% + 8px); border-radius:8px; }
}

@media(max-width:991.98px) { .destinaceMenu--dropdown > p { height:100%; } .destination-toggle { height:100%; min-height:58px; } }

/* Desktop contact: one clear, fully clickable phone block. */
@media(min-width:992px) {
 .header__contact { padding-top:14px; gap:16px; }
 .header__contact--telephone { padding-right:0; }
 .header__contact--telephone::before { display:none; }
 .header__contact--telephone .header-call { display:flex; align-items:center; gap:9px; padding:10px 0; background:transparent; border:0; border-radius:0; color:#454545; text-decoration:none; }
 .header__contact--telephone .header-call:hover { background:transparent; }
 .header__contact--telephone .header-call:hover strong { color:#bc216c; }
 .header-call__icon { box-sizing:content-box; width:18px; height:18px; padding:8px; border-radius:50%; background:#e7318e; color:#fff; flex-shrink:0; }
 .header__contact--telephone .header-call__text { display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:0; position:static; line-height:1.25; }
 .header-call__text small { color:#777; font-size:12px; font-weight:400; letter-spacing:.2px; }
 .header-call__text strong { color:#454545; font-size:18px; font-weight:500; letter-spacing:.2px; white-space:nowrap; }
}
