/* itbs-search */
/* The site's search results inside the search window (search.js): they take the place of the popular lists. */
.apple-search-overlay.is-searching .itbs-search-popular { display: none; }
.itbs-sq input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.itbs-sq-results { margin: -20px 0 0; }
.itbs-sq-results[hidden] { display: none; }
.itbs-sq-results.is-loading { opacity: .55; transition: opacity .15s ease; }
.itbs-sq-head { margin: 22px 0 8px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9ca3af; }
.itbs-sq-head:first-child { margin-top: 0; }
.itbs-sq-item { display: flex; align-items: center; gap: 14px; margin: 0 -12px; padding: 10px 12px; border-radius: 14px; color: #111827; text-decoration: none; transition: background .15s ease; }
.itbs-sq-item:hover, .itbs-sq-item.is-active { background: #f3f4f6; }
.itbs-sq-item.is-active { box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--itbs-primary, #2563eb) 35%, transparent); }
.itbs-sq-item img { flex: none; width: 56px; height: 56px; border-radius: 12px; object-fit: cover; background: #f3f4f6; }
.itbs-sq-ico { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--itbs-primary, #2563eb) 10%, #fff); color: var(--itbs-primary, #2563eb); }
.itbs-sq-post .itbs-sq-ico { background: #f3f4f6; color: #6b7280; }
.itbs-sq-text { display: grid; gap: 3px; min-width: 0; flex: 1; }
.itbs-sq-text b { font-size: 17px; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.itbs-sq-text small { font-size: 13px; color: #6b7280; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.itbs-sq-text mark { background: color-mix(in srgb, var(--itbs-primary, #2563eb) 16%, transparent); color: inherit; border-radius: 3px; padding: 0 1px; }
.itbs-sq-price { flex: none; font-weight: 700; font-size: 15px; color: var(--itbs-primary, #2563eb); white-space: nowrap; }
.itbs-sq-empty { display: grid; gap: 4px; padding: 18px 0 6px; }
.itbs-sq-empty b { font-size: 18px; color: #111827; }
.itbs-sq-empty span { font-size: 14px; color: #6b7280; }
.itbs-sq-all { display: inline-flex; margin-top: 18px; font-size: 14px; font-weight: 600; color: var(--itbs-primary, #2563eb); text-decoration: none; }
.itbs-sq-all:hover { text-decoration: underline; }
@media (max-width: 640px) {
    .itbs-sq-results { margin-top: -24px; }
    .itbs-sq-item { gap: 12px; padding: 9px 10px; margin: 0 -10px; }
    .itbs-sq-item img { width: 48px; height: 48px; border-radius: 10px; }
    .itbs-sq-ico { width: 40px; height: 40px; }
    .itbs-sq-text b { font-size: 15px; }
    .itbs-sq-price { font-size: 14px; }
}

/* google-fonts */
/* Inter (вариативный, начертания 100–900), свои файлы вместо Google Fonts — 12.10.2026.
   Источник: Google Fonts, лицензия SIL Open Font License 1.1. Браузер качает только нужный алфавит (unicode-range). */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("/wp-content/themes/itbs-theme/assets/fonts/inter/inter-var-cyrillic-ext.woff2") format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("/wp-content/themes/itbs-theme/assets/fonts/inter/inter-var-cyrillic.woff2") format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("/wp-content/themes/itbs-theme/assets/fonts/inter/inter-var-latin-ext.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20BC, U+20BE-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("/wp-content/themes/itbs-theme/assets/fonts/inter/inter-var-latin.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Знак рубля отдельно (2 КБ): иначе ради одного ₽ браузер качал бы всю расширенную латиницу (85 КБ). */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url("/wp-content/themes/itbs-theme/assets/fonts/inter/inter-var-ruble.woff2") format('woff2');unicode-range:U+20BD}
/* Until Inter arrives the text is drawn in a local font sized to Inter's metrics, so lines do not rewrap and blocks do not
   jump when it swaps in (audit 2026-10-27: CLS 0.26 on the home page). Values from Inter vs Arial (as next/font computes). */
@font-face{font-family:'Inter Fallback';src:local('Arial'),local('ArialMT'),local('Helvetica Neue'),local('Roboto');size-adjust:107.06%;ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%}


/* itbs-tailwind */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-bottom-6{bottom:-1.5rem}.-left-6{left:-1.5rem}.-left-\[5000px\]{left:-5000px}.-right-2{right:-.5rem}.-right-24{right:-6rem}.-top-2{top:-.5rem}.-top-20{top:-5rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-5{left:1.25rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[72px\]{top:72px}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10050\]{z-index:10050}.z-\[55\]{z-index:55}.z-\[99999\]{z-index:99999}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-4{grid-column:span 4/span 4}.col-span-5{grid-column:span 5/span 5}.-mx-\[18px\]{margin-left:-18px;margin-right:-18px}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-10{margin-bottom:-2.5rem}.-ml-10{margin-left:-2.5rem}.-mr-1{margin-right:-.25rem}.-mr-16{margin-right:-4rem}.-mr-2{margin-right:-.5rem}.-mt-16{margin-top:-4rem}.-mt-\[18px\]{margin-top:-18px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-4{-webkit-line-clamp:4}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[54px\]{height:54px}.h-\[64px\]{height:64px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-\[250px\]{max-height:250px}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[95vh\]{max-height:95vh}.min-h-\[16px\]{min-height:16px}.min-h-\[18px\]{min-height:18px}.min-h-\[200px\]{min-height:200px}.min-h-\[20px\]{min-height:20px}.min-h-\[520px\]{min-height:520px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[90\%\]{width:90%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[200px\]{min-width:200px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[150px\]{max-width:150px}.max-w-\[95vw\]{max-width:95vw}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.basis-1\/3{flex-basis:33.333333%}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%}.rotate-1{--tw-rotate:1deg}.rotate-1,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[22px\]{border-radius:22px}.rounded-\[26px\]{border-radius:26px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-tl-none{border-top-left-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-\[var\(--itbs-primary\)\]{border-color:var(--itbs-primary)}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-700\/50{border-color:rgba(55,65,81,.5)}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity,1))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity,1))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity,1))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity,1))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/15{border-color:hsla(0,0%,100%,.15)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.border-white\/60{border-color:hsla(0,0%,100%,.6)}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-l-green-500{--tw-border-opacity:1;border-left-color:rgb(34 197 94/var(--tw-border-opacity,1))}.border-l-red-400{--tw-border-opacity:1;border-left-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-l-red-500{--tw-border-opacity:1;border-left-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-l-yellow-400{--tw-border-opacity:1;border-left-color:rgb(250 204 21/var(--tw-border-opacity,1))}.bg-\[\#f4f1e9\]{--tw-bg-opacity:1;background-color:rgb(244 241 233/var(--tw-bg-opacity,1))}.bg-\[\#ff5722\]{--tw-bg-opacity:1;background-color:rgb(255 87 34/var(--tw-bg-opacity,1))}.bg-\[var\(--itbs-primary\)\]{background-color:var(--itbs-primary)}.bg-\[var\(--itbs-secondary\)\]{background-color:var(--itbs-secondary)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/20{background-color:rgba(245,158,11,.2)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/40{background-color:rgba(0,0,0,.4)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-black\/70{background-color:rgba(0,0,0,.7)}.bg-black\/95{background-color:rgba(0,0,0,.95)}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-50\/80{background-color:rgba(239,246,255,.8)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.bg-blue-700\/30{background-color:rgba(29,78,216,.3)}.bg-blue-900\/40{background-color:rgba(30,58,138,.4)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.bg-emerald-500\/20{background-color:rgba(16,185,129,.2)}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/70{background-color:rgba(31,41,55,.7)}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-50\/50{background-color:rgba(240,253,244,.5)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-200\/30{background-color:hsla(32,98%,83%,.3)}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:rgba(249,115,22,.1)}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-50\/50{background-color:hsla(0,86%,97%,.5)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity,1))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-200\/40{background-color:rgba(226,232,240,.4)}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-slate-50\/70{background-color:rgba(248,250,252,.7)}.bg-slate-50\/80{background-color:rgba(248,250,252,.8)}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity,1))}.bg-slate-900\/10{background-color:rgba(15,23,42,.1)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/70{background-color:hsla(0,0%,100%,.7)}.bg-white\/80{background-color:hsla(0,0%,100%,.8)}.bg-white\/85{background-color:hsla(0,0%,100%,.85)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-\[radial-gradient\(circle_at_20\%_20\%\2c rgba\(255\2c 255\2c 255\2c 0\.12\)\2c transparent_35\%\)\2c radial-gradient\(circle_at_80\%_0\%\2c rgba\(255\2c 255\2c 255\2c 0\.1\)\2c transparent_30\%\)\]{background-image:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.12),transparent 35%),radial-gradient(circle at 80% 0,hsla(0,0%,100%,.1),transparent 30%)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#3a1f8c\]{--tw-gradient-from:#3a1f8c var(--tw-gradient-from-position);--tw-gradient-to:rgba(58,31,140,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/50{--tw-gradient-from:rgba(0,0,0,.5) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from:rgba(0,0,0,.8) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:rgba(37,99,235,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-900\/70{--tw-gradient-from:rgba(30,58,138,.7) var(--tw-gradient-from-position);--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-600{--tw-gradient-from:#059669 var(--tw-gradient-from-position);--tw-gradient-to:rgba(5,150,105,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from:#1f2937 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,41,55,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-50{--tw-gradient-from:#f8fafc var(--tw-gradient-from-position);--tw-gradient-to:rgba(248,250,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900{--tw-gradient-from:#0f172a var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-slate-900\/80{--tw-gradient-from:rgba(15,23,42,.8) var(--tw-gradient-from-position);--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#274fb6\]{--tw-gradient-to:rgba(39,79,182,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#274fb6 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.4) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-blue-900\/30{--tw-gradient-to:rgba(30,58,138,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(30,58,138,.3) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-slate-800{--tw-gradient-to:rgba(30,41,59,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#1e293b var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-slate-900\/50{--tw-gradient-to:rgba(15,23,42,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(15,23,42,.5) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#1d85d6\]{--tw-gradient-to:#1d85d6 var(--tw-gradient-to-position)}.to-black\/20{--tw-gradient-to:rgba(0,0,0,.2) var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to:#fb923c var(--tw-gradient-to-position)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to:#f1f5f9 var(--tw-gradient-to-position)}.to-slate-50{--tw-gradient-to:#f8fafc var(--tw-gradient-to-position)}.to-slate-800{--tw-gradient-to:#1e293b var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to:#0f172a var(--tw-gradient-to-position)}.to-teal-500{--tw-gradient-to:#14b8a6 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:.25rem}.pb-12{padding-bottom:3rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-4{padding-left:1rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-10{padding-top:2.5rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.02\]{line-height:1.02}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--itbs-primary\)\]{color:var(--itbs-primary)}.text-\[var\(--itbs-secondary\)\]{color:var(--itbs-secondary)}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity,1))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity,1))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity,1))}.text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity,1))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity,1))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity,1))}.text-sky-50\/90{color:rgba(240,249,255,.9)}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity,1))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity,1))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/85{color:hsla(0,0%,100%,.85)}.text-white\/90{color:hsla(0,0%,100%,.9)}.text-white\/95{color:hsla(0,0%,100%,.95)}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-dashed{text-decoration-style:dashed}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-\[0_-4px_20px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{--tw-shadow:0 -4px 20px rgba(0,0,0,.08);--tw-shadow-colored:0 -4px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_-5px_20px_rgba\(0\2c 0\2c 0\2c 0\.1\)\]{--tw-shadow:0 -5px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 -5px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_25px_60px_-28px_rgba\(0\2c 0\2c 0\2c 0\.65\)\]{--tw-shadow:0 25px 60px -28px rgba(0,0,0,.65);--tw-shadow-colored:0 25px 60px -28px var(--tw-shadow-color)}.shadow-\[0_25px_60px_-28px_rgba\(0\2c 0\2c 0\2c 0\.65\)\],.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-blue-200{--tw-shadow-color:#bfdbfe;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-200{--tw-shadow-color:#a7f3d0;--tw-shadow:var(--tw-shadow-colored)}.shadow-orange-500\/30{--tw-shadow-color:rgba(249,115,22,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-200\/40{--tw-shadow-color:rgba(226,232,240,.4);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-200\/60{--tw-shadow-color:rgba(226,232,240,.6);--tw-shadow:var(--tw-shadow-colored)}.shadow-slate-900\/30{--tw-shadow-color:rgba(15,23,42,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.blur-2xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px)}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.drop-shadow-2xl{--tw-drop-shadow:drop-shadow(0 25px 25px rgba(0,0,0,.15))}.drop-shadow-2xl,.drop-shadow-\[0_8px_16px_rgba\(0\2c 0\2c 0\2c 0\.45\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_8px_16px_rgba\(0\2c 0\2c 0\2c 0\.45\)\]{--tw-drop-shadow:drop-shadow(0 8px 16px rgba(0,0,0,.45))}.drop-shadow-md{--tw-drop-shadow:drop-shadow(0 4px 3px rgba(0,0,0,.07)) drop-shadow(0 2px 2px rgba(0,0,0,.06))}.drop-shadow-md,.drop-shadow-xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow:drop-shadow(0 20px 13px rgba(0,0,0,.03)) drop-shadow(0 8px 5px rgba(0,0,0,.08))}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-md{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-blur-sm,.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:#f8fafc;color:#0f172a}#itbs-language-switcher{background-image:linear-gradient(to bottom right,#1f2937,#111827)}#itbs-language-switcher:hover{background-image:linear-gradient(to bottom right,#374151,#1f2937);border-color:#4b5563}#itbs-language-switcher:focus{background-image:linear-gradient(to bottom right,#1f2937,#111827)}#itbs-language-switcher option{background:#1f2937;color:#fff;padding:.5rem}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:-translate-y-1:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:rotate-0:hover{--tw-rotate:0deg}.hover\:rotate-0:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--itbs-primary\)\]:hover{border-color:var(--itbs-primary)}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.hover\:border-sky-400:hover{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity,1))}.hover\:border-white\/30:hover{border-color:hsla(0,0%,100%,.3)}.hover\:bg-\[\#f4511e\]:hover{--tw-bg-opacity:1;background-color:rgb(244 81 30/var(--tw-bg-opacity,1))}.hover\:bg-\[var\(--itbs-primary-dark\)\]:hover{background-color:var(--itbs-primary-dark)}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity,1))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity,1))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-white\/20:hover{background-color:hsla(0,0%,100%,.2)}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.hover\:from-gray-700:hover{--tw-gradient-from:#374151 var(--tw-gradient-from-position);--tw-gradient-to:rgba(55,65,81,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:from-yellow-500:hover{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-gray-800:hover{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.hover\:to-orange-500:hover{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.hover\:text-\[var\(--itbs-primary\)\]:hover{color:var(--itbs-primary)}.hover\:text-\[var\(--itbs-primary-dark\)\]:hover{color:var(--itbs-primary-dark)}.hover\:text-\[var\(--itbs-secondary\)\]:hover{color:var(--itbs-secondary)}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-\[var\(--itbs-primary\)\]:focus{border-color:var(--itbs-primary)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.focus\:border-blue-500\/50:focus{border-color:rgba(59,130,246,.5)}.focus\:border-orange-500:focus{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity,1))}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.focus\:ring-blue-500\/50:focus{--tw-ring-color:rgba(59,130,246,.5)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-80:disabled{opacity:.8}.group[open] .group-open\:rotate-45{--tw-rotate:45deg}.group:hover .group-hover\:scale-105,.group[open] .group-open\:rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:scale-150{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5}.group:hover .group-hover\:border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.group:hover .group-hover\:text-\[var\(--itbs-secondary\)\]{color:var(--itbs-secondary)}.group:hover .group-hover\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-90{opacity:.9}@media (min-width:640px){.sm\:-right-1{right:-.25rem}.sm\:-top-1{top:-.25rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-12{height:3rem}.sm\:h-14{height:3.5rem}.sm\:h-5{height:1.25rem}.sm\:min-h-\[620px\]{min-height:620px}.sm\:w-12{width:3rem}.sm\:w-14{width:3.5rem}.sm\:w-5{width:1.25rem}.sm\:w-52{width:13rem}.sm\:w-auto{width:auto}.sm\:max-w-\[120px\]{max-width:120px}.sm\:flex-none{flex:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:p-10{padding:2.5rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-24{padding-top:6rem;padding-bottom:6rem}.sm\:pt-20{padding-top:5rem}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:row-span-2{grid-row:span 2/span 2}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:w-1\/3{width:33.333333%}.md\:w-2\/3{width:66.666667%}.md\:max-w-md{max-width:28rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-stretch{align-items:stretch}.md\:justify-start{justify-content:flex-start}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-3{gap:.75rem}.md\:gap-8{gap:2rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:text-left{text-align:left}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-1\/2{width:50%}.lg\:w-1\/3{width:33.333333%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pb-0{padding-bottom:0}.lg\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width:1280px){.xl\:inline{display:inline}}
/* itbs-style */
/*
Theme Name: ITBS Modern Theme
Author: Savin Labs Pte. Ltd.
Author URI: https://savinlabs.com
Description: Легкая тема для системы бронирования на базе Tailwind CSS (CDN).
Version: 1.0
*/

/* Основные стили мы берем из Tailwind, тут только фиксы */
body { font-family: 'Inter', sans-serif; }
.itbs-hero {
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://images.unsplash.com/photo-1552465011-b4e21bf6e79a?q=80&w=2039&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
}
/* itbs-favorites */
.itbs-fav-panel {
    position: absolute;
    z-index: 10030;
    display: none;
    max-width: calc(100vw - 24px);
    color-scheme: light;
    color: #0f172a;
}
.itbs-fav-btn,
.heart-btn.itbs-fav-btn,
.itbs-fav-btn-inline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    padding: 0 !important;
    line-height: 1 !important;
    transform-origin: center;
    transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}
.heart-btn.itbs-fav-btn {
    width: 42px !important;
    height: 42px !important;
}
.itbs-fav-btn-inline {
    width: 44px;
    height: 44px;
    border: 1px solid #fecdd3;
    border-radius: 999px;
    background: #fff;
    color: #ef4444;
}
.itbs-fav-btn svg,
.heart-btn.itbs-fav-btn svg,
.itbs-fav-btn-inline svg {
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 !important;
    transform-origin: center;
    pointer-events: none;
    transition: transform 0.18s ease, color 0.18s ease;
}
.itbs-fav-btn svg path,
.heart-btn.itbs-fav-btn svg path,
.itbs-fav-btn-inline svg path {
    fill: rgba(255, 255, 255, 0);
    stroke: currentColor;
    stroke-width: 1.8;
    transition: fill 0.18s ease, stroke 0.18s ease;
}
.itbs-fav-btn:hover,
.heart-btn.itbs-fav-btn:hover,
.itbs-fav-btn-inline:hover {
    transform: translateY(-1px) scale(1.04);
    box-shadow: 0 14px 30px -18px rgba(239, 68, 68, 0.85);
}
.itbs-fav-btn:active,
.heart-btn.itbs-fav-btn:active,
.itbs-fav-btn-inline:active {
    transform: scale(0.9);
}
.itbs-fav-btn.active,
.heart-btn.itbs-fav-btn.active,
.itbs-fav-btn-inline.active {
    border-color: #fb7185 !important;
    background: #fff1f2 !important;
    color: #ef4444 !important;
    animation: itbs-heart-button-pop 0.36s cubic-bezier(.2, .8, .2, 1);
}
.itbs-fav-btn.active svg,
.heart-btn.itbs-fav-btn.active svg,
.itbs-fav-btn-inline.active svg {
    animation: itbs-heart-icon-pop 0.44s cubic-bezier(.2, .8, .2, 1);
}
.itbs-fav-btn.active svg path,
.heart-btn.itbs-fav-btn.active svg path,
.itbs-fav-btn-inline.active svg path {
    fill: currentColor;
    stroke: currentColor;
}
@keyframes itbs-heart-button-pop {
    0% { transform: scale(0.9); }
    55% { transform: scale(1.12); }
    100% { transform: scale(1); }
}
@keyframes itbs-heart-icon-pop {
    0% { transform: scale(0.65) rotate(-8deg); }
    60% { transform: scale(1.22) rotate(4deg); }
    100% { transform: scale(1) rotate(0); }
}
.itbs-fav-panel.is-open {
    display: block;
}
.itbs-fav-panel__inner {
    overflow: hidden;
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 24px 80px -36px rgba(15, 23, 42, 0.75);
    backdrop-filter: blur(18px);
}
.itbs-fav-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f7;
}
.itbs-fav-panel__title {
    font-weight: 900;
    color: #0f172a;
}
.itbs-fav-panel__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.itbs-fav-clear,
.itbs-fav-close {
    border: 0;
    background: transparent;
    color: #64748b;
    font-weight: 800;
    cursor: pointer;
}
.itbs-fav-list {
    display: grid;
    gap: 8px;
    max-height: min(58vh, 520px);
    overflow: auto;
    padding: 12px;
}
.itbs-fav-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 8px;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    background: #fff;
    text-decoration: none;
    color: inherit;
}
.itbs-fav-item:hover {
    border-color: color-mix(in srgb,var(--itbs-primary) 28%,var(--itbs-paper,#fff));
    background: color-mix(in srgb,var(--itbs-primary) 7%,var(--itbs-paper,#fff));
}
.itbs-fav-thumb {
    width: 72px;
    height: 72px;
    border-radius: 10px;
    object-fit: cover;
    background: #f1f5f9;
}
.itbs-fav-title {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
}
.itbs-fav-sub {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}
.itbs-fav-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 7px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 11px;
    font-weight: 800;
}
.itbs-fav-price {
    color: var(--itbs-primary-dark);
    background: color-mix(in srgb,var(--itbs-primary) 7%,var(--itbs-paper,#fff));
}
.itbs-fav-more {
    margin-top: 6px;
    color: #2563eb;
    font-size: 12px;
    font-weight: 900;
}
.itbs-fav-empty {
    padding: 18px 16px;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
}
.itbs-fav-panel__planner {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0 12px 12px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--itbs-primary), var(--itbs-primary));
    color: #fff !important;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 12px 28px -18px color-mix(in srgb,var(--itbs-primary) 90%,transparent);
}
.itbs-fav-panel__planner:hover {
    background: linear-gradient(135deg, var(--itbs-primary-dark), var(--itbs-primary));
}
.itbs-fav-panel.is-empty .itbs-fav-panel__planner {
    display: none;
}
.itbs-fav-fab {
    position: fixed;
    right: 18px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 10020;
    display: none;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 999px;
    background: #fff;
    color: #ef4444;
    border: 1px solid #fee2e2;
    box-shadow: 0 18px 50px -26px rgba(15, 23, 42, 0.8);
    cursor: pointer;
}
.itbs-fav-fab__icon svg {
    width: 24px;
    height: 24px;
}
.itbs-fav-fab__count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 20px;
    text-align: center;
}
@media (max-width: 1023px) {
    .itbs-fav-fab {
        display: flex;
    }
    .itbs-fav-panel.is-mobile .itbs-fav-panel__inner {
        border-radius: 16px;
    }
}

/* itbs-flatpickr */
.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08);box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,0.08)}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none !important;box-shadow:none !important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:'';height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9);height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:rgba(0,0,0,0.9);fill:rgba(0,0,0,0.9)}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{/*
      /*rtl:begin:ignore*/left:0/*
      /*rtl:end:ignore*/}/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{/*
      /*rtl:begin:ignore*/right:0/*
      /*rtl:end:ignore*/}/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,0.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,0.1)}.numInputWrapper span:active{background:rgba(0,0,0,0.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,0.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,0.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(0,0,0,0.5)}.numInputWrapper:hover{background:rgba(0,0,0,0.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:rgba(0,0,0,0.9)}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:rgba(0,0,0,0.9)}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(0,0,0,0.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,0.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,0.54);line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.dayContainer + .dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:rgba(57,57,57,0.3);background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(57,57,57,0.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(57,57,57,0.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:bold}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:bold;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes fpFadeInDown{from{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
/* itbs-theme-base */
/*
 * Site themes — shared base (every theme but «Классика»). Theme files (showcase.css, immersive.css, journal.css)
 * build on these tokens and components. Colours, fonts, corners and shadows come from the design settings
 * (--itbs-* variables written by inc/design.php), so the owner, Sava and agents change them without code.
 * Audience: 35–55+, 73 % phones at 360–414 px → 16 px+ text, 44 px+ targets, strong contrast, no layout shift.
 */

body.itbs-theme-custom {
    --t-accent: var(--itbs-primary, #186b5c);
    --t-accent-ink: #fff;
    --t-ink: var(--itbs-secondary, #0f172a);
    --t-text: #1f2937;
    --t-muted: #5b6475;
    --t-line: #e3e7ee;
    --t-surface: #fff;
    --t-bg: var(--itbs-bg, #fff);
    --t-soft: var(--itbs-muted-bg, #f6f7f9);
    --t-radius: var(--itbs-radius, 12px);
    --t-radius-lg: var(--itbs-radius-lg, 18px);
    --t-shadow: var(--itbs-shadow, 0 10px 30px -18px rgba(15, 23, 42, .35));
    --t-font-h: var(--itbs-font-heading, 'Inter', 'Inter Fallback', system-ui, sans-serif);
    --t-font: var(--itbs-font-body, 'Inter', 'Inter Fallback', system-ui, sans-serif);
    --t-ok: #15803d;
    --t-warn: #b45309;
    --t-bad: #b91c1c;
    --t-hdr: 64px;
    --t-gutter: 16px;
    background: var(--t-bg);
    color: var(--t-text);
    font-family: var(--t-font);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
@media (min-width: 640px) { body.itbs-theme-custom { --t-gutter: 24px; } }
@media (min-width: 1024px) { body.itbs-theme-custom { --t-gutter: 32px; --t-hdr: 72px; } }

/* Zero-specificity defaults: pages the theme does not redraw (contacts, blog, tickets…) keep their own colours. */
:where(body.itbs-theme-custom) :where(h1, h2, h3, h4) { font-family: var(--t-font-h); letter-spacing: -.01em; }
:where(body.itbs-theme-custom) :where(a) { color: inherit; }
:where(body.itbs-theme-custom) :where(img) { max-width: 100%; }
:where(body.itbs-theme-custom) :where(.itbs-sec-title, .itbs-sec h2, .itbs-sec h3) { color: var(--t-ink); }
body.itbs-theme-custom :focus-visible { outline: 3px solid color-mix(in srgb, var(--t-accent) 60%, transparent); outline-offset: 2px; }
/* Moving between pages without a white flash (owner 2026-10-31, «SPA-переходы»): a cross-document view transition
   (Safari 18.2+, Chrome 126+; other browsers simply load the page). One short crossfade of the whole page: the header and
   bottom bar are the same pixels on both pages, so they stay still (a view-transition-name on them would make them backdrop
   roots and take the blur from their panels). With the page fetched ahead (assets/site-prefetch.js) the tap feels like an app. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .18s; }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }
/* The page never pans sideways on a phone: a header, footer or bar a few pixels too wide let iOS shift the whole page (the
   hero's left corner went off the screen, a strip showed on the right). clip, not hidden: no scroll box, sticky bars stay. */
body.itbs-theme-custom { overflow-x: clip; }
/* A field inside a box that rings itself on focus (the catalogue and home search boxes): the box shows the focus, the
   field adds no square frame of its own inside the rounded one. */
body.itbs-theme-custom :is(.vg-cbar__search, .catalog-sc-search, .home-sc-field__control, .itbs-home-control) :is(input, select, textarea):focus-visible { outline: none; }

/* pages a theme does not redraw (contacts, tickets, blog, vacancies…) were laid out under the classic 64 px header:
   they move down by however much taller the theme's header is (--t-hdr-total: its full height) */
body.itbs-theme-custom { --t-hdr-total: var(--t-hdr); }
body.itbs-theme-plain { padding-top: max(0px, calc(var(--t-hdr-total) - 64px)); }

/* layout */
.itbs-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 var(--t-gutter); box-sizing: border-box; }
.itbs-wrap--narrow { max-width: 980px; }
.itbs-sec { padding: 48px 0; }
@media (min-width: 1024px) { .itbs-sec { padding: 80px 0; } }
.itbs-sec-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin-bottom: 24px; }
.itbs-sec-kicker { margin: 0 0 6px; color: var(--t-accent); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.itbs-sec-title { margin: 0; font-size: clamp(26px, 5.4vw, 40px); line-height: 1.12; font-weight: 800; }
.itbs-sec-lead { margin: 8px 0 0; max-width: 640px; color: var(--t-muted); font-size: 17px; }
.itbs-sec-link { display: inline-flex; align-items: center; gap: 6px; color: var(--t-accent); font-weight: 700; text-decoration: none; white-space: nowrap; }
.itbs-sec-link:hover { text-decoration: underline; }
.itbs-vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* buttons and chips (44 px+ targets) */
.itbs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border: 1.5px solid transparent; border-radius: var(--t-radius); font: 700 16px/1.1 var(--t-font); text-decoration: none; cursor: pointer; transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease; white-space: nowrap; }
.itbs-btn:active { transform: translateY(1px); }
.itbs-btn--primary { background: var(--t-accent); color: var(--t-accent-ink) !important; box-shadow: 0 10px 24px -14px color-mix(in srgb, var(--t-accent) 80%, transparent); }
.itbs-btn--primary:hover { background: color-mix(in srgb, var(--t-accent) 88%, #000); }
.itbs-btn--dark { background: var(--t-ink); color: #fff !important; }
.itbs-btn--ghost { background: transparent; border-color: var(--t-line); color: var(--t-ink) !important; }
.itbs-btn--ghost:hover { border-color: var(--t-accent); color: var(--t-accent) !important; }
.itbs-btn--light { background: #fff; color: var(--t-ink) !important; }
.itbs-btn--lg { min-height: 56px; padding: 0 28px; font-size: 17px; }
.itbs-btn--block { width: 100%; }
.itbs-btn--icon { width: 44px; min-height: 44px; padding: 0; }

.itbs-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
.itbs-chips::-webkit-scrollbar { display: none; }
.itbs-chip-btn { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--t-line); border-radius: 999px; background: var(--t-surface); color: var(--t-ink); font: 700 15px/1 var(--t-font); text-decoration: none; cursor: pointer; white-space: nowrap; transition: border-color .15s, background-color .15s, color .15s; }
.itbs-chip-btn:hover { border-color: var(--t-accent); }
.itbs-chip-btn.is-active, .itbs-chip-btn[aria-pressed="true"] { border-color: var(--t-accent); background: var(--t-accent); color: var(--t-accent-ink); }
.itbs-chip-btn small { font-weight: 600; opacity: .75; }

/* prices: the brand colour unless a theme paints them its own way */
body.itbs-theme-custom .itbs-dynamic-price { color: var(--t-accent); }

/* rating stars: five glyphs, the filled part sized by --itbs-stars */
.itbs-stars { position: relative; display: inline-block; color: #d6dae1; letter-spacing: 1px; line-height: 1; font-size: 14px; }
.itbs-stars::before { content: "★★★★★"; position: absolute; inset: 0; width: var(--itbs-stars, 0%); overflow: hidden; color: #f5a623; white-space: nowrap; }
.itbs-rating-line { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--t-ink); }
.itbs-rating-line small { color: var(--t-muted); font-weight: 500; }
.itbs-icon { flex: none; vertical-align: middle; }

/* horizontal rails (scroll-snap, arrows on desktop) */
.itbs-rail { position: relative; }
.itbs-rail-track { display: grid; grid-auto-flow: column; grid-auto-columns: var(--rail-card, 82%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--t-gutter); padding: 4px var(--t-gutter) 12px; margin: 0 calc(var(--t-gutter) * -1); scrollbar-width: none; overscroll-behavior-x: contain; }
.itbs-rail-track::-webkit-scrollbar { display: none; }
.itbs-rail-track > * { scroll-snap-align: start; min-width: 0; }
@media (min-width: 640px) { .itbs-rail-track { --rail-card: 46%; } }
@media (min-width: 1024px) { .itbs-rail-track { --rail-card: calc((100% - 48px) / 4); margin: 0; padding: 4px 0 12px; scroll-padding: 0; } }
.itbs-rail-nav { display: none; gap: 8px; }
@media (min-width: 1024px) { .itbs-rail-nav { display: inline-flex; } }
.itbs-rail-btn { display: grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid var(--t-line); border-radius: 999px; background: var(--t-surface); color: var(--t-ink); cursor: pointer; }
.itbs-rail-btn:hover:not([disabled]) { border-color: var(--t-accent); color: var(--t-accent); }
.itbs-rail-btn[disabled] { opacity: .35; cursor: default; }
.itbs-rail-btn--prev .itbs-icon { transform: rotate(180deg); }

/* media boxes: space reserved before images load (no layout shift) */
.itbs-media { position: relative; overflow: hidden; background: var(--t-soft); }
.itbs-media > img, .itbs-media > picture > img, .itbs-media > picture { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.itbs-r-1x1 { aspect-ratio: 1 / 1; } .itbs-r-4x3 { aspect-ratio: 4 / 3; } .itbs-r-3x2 { aspect-ratio: 3 / 2; } .itbs-r-4x5 { aspect-ratio: 4 / 5; } .itbs-r-16x9 { aspect-ratio: 16 / 9; } .itbs-r-9x16 { aspect-ratio: 9 / 16; }

/* seat and date pills */
.itbs-date-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 10px; border-radius: 999px; background: color-mix(in srgb, var(--t-ok) 10%, var(--t-surface)); color: var(--t-ok); font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.itbs-date-pill.is-low { background: color-mix(in srgb, var(--t-warn) 12%, var(--t-surface)); color: var(--t-warn); }
.itbs-date-pill.is-full { background: var(--t-soft); color: var(--t-muted); text-decoration: line-through; }
.itbs-date-pill small { font-weight: 600; opacity: .85; }

/* fixed header: hides on scroll down, returns on scroll up (base.js) */
body.itbs-theme-custom #main-header { transition: transform .25s ease, background-color .2s ease, box-shadow .2s ease; }
body.itbs-theme-custom #main-header.is-hidden { transform: translateY(-110%); }
body.itbs-theme-custom.itbs-menu-open #main-header { transform: none; }

/* mobile menu drawer for the theme headers (#mobile-menu toggled by toggleMobileMenu()) */
body.itbs-theme-custom #mobile-menu.itbs-drawer { position: fixed; top: 0; right: 0; bottom: 0; left: auto; z-index: 60; width: min(92vw, 420px); height: 100dvh; padding: 0 0 24px; background: var(--t-surface); box-shadow: -24px 0 60px -30px rgba(15, 23, 42, .55); overflow-y: auto; flex-direction: column; }
body.itbs-theme-custom #mobile-menu.itbs-drawer.hidden { display: none; }
body.itbs-theme-custom #site-overlay.active { z-index: 55; }

/* quick view (catalog #itbs-qv): a bottom sheet on phones, a dialog on desktop */
@media (max-width: 767px) {
    body.itbs-theme-custom #itbs-qv .itbs-qv-dialog, body.itbs-theme-custom #itbs-qv > div > div { border-radius: 22px 22px 0 0 !important; }
}

/* mobile booking bar on the tour page: keeps clear of the home indicator */
body.itbs-theme-custom #mobile-sticky-book { padding-bottom: calc(10px + env(safe-area-inset-bottom)); }

/* swipe gallery (tour page, immersive cards) */
.itbs-swipe { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.itbs-swipe::-webkit-scrollbar { display: none; }
.itbs-swipe > * { flex: 0 0 100%; scroll-snap-align: center; }
.itbs-swipe-count { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(15, 23, 42, .7); color: #fff; font-size: 13px; font-weight: 700; }

/* long lists below the fold render lazily */
.itbs-lazy-sec { content-visibility: auto; contain-intrinsic-size: auto 900px; }

@media (prefers-reduced-motion: reduce) {
    body.itbs-theme-custom *, body.itbs-theme-custom *::before, body.itbs-theme-custom *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* booking widget inside a theme column: the total sits above the button (the widget's desktop two-column row needs
   more width than a theme's sticky booking card has), its fields keep their own focus border only */
body.itbs-theme-custom .itbs-modern-form .itbs-contact-confirmation { grid-template-columns: minmax(0, 1fr) !important; }
body.itbs-theme-custom .itbs-modern-form .itbs-contact-confirmation .final-price-box .price-row { flex: 1 1 auto !important; min-width: 0 !important; flex-wrap: wrap; gap: 4px 10px; }
body.itbs-theme-custom .itbs-modern-form .itbs-contact-confirmation .itbs-btn { min-height: 54px; }
body.itbs-theme-custom .itbs-modern-form :is(input, select, textarea, button):focus-visible { outline: none; }

/* sticky bars follow the header as it hides and shows (page-booking.php sets the offsets) */
body.itbs-theme-custom .tour-jr-tabs-wrap, body.itbs-theme-custom .tour-sc-tabs__bar, body.itbs-theme-custom .itbs-hero-shell > .itbs-hero-booking { transition: top .2s ease; }
@media (prefers-reduced-motion: reduce) { body.itbs-theme-custom .tour-jr-tabs-wrap, body.itbs-theme-custom .tour-sc-tabs__bar, body.itbs-theme-custom .itbs-hero-shell > .itbs-hero-booking { transition: none; } }

/* itbs-site-header */
/*
 * The site header of every theme (owner 2026-10-31: one header, Voyage's functions, each theme's own look). Brand,
 * search, rate, favourites and the cabinet; the destinations, the sections with the tours' mega panel, «More», language
 * · currency; one row from 1280 px; a bottom bar on a phone. Markup inc/site-header.php, panels assets/themes/site-header.js.
 * Its look comes from the --vg-* variables below — a theme sets its own in its stylesheet (and may restyle the parts).
 */

body.itbs-hd {
    --vg-ink: var(--t-ink, #0f172a);
    --vg-text: #334155;
    --vg-muted: #64748b;
    --vg-line: #e2e8f0;
    --vg-soft: #f6f8fb;
    --vg-paper: #fff;
    --vg-night: #0d1b31;
    --vg-accent: var(--t-accent);
    --vg-accent-soft: color-mix(in srgb, var(--t-accent) 10%, #fff);
    --vg-accent-ink: color-mix(in srgb, var(--t-accent) 82%, #000);
    /* --vg-hdr-h: the header's own height; --vg-top: what is fixed above it (the demo bar: itbs-demo-mode.php);
       --vg-hdr: where the page shows under it — sticky bars, panels and anchors use it. A theme sets --vg-hdr-h. */
    --vg-top: 0px;
    --vg-hdr-h: 130px;
    --vg-hdr: calc(var(--vg-hdr-h) + var(--vg-top));
}
@media (max-width: 760px) { body.itbs-hd { --vg-hdr-h: 100px; } }
@media (min-width: 1280px) { body.itbs-hd { --vg-hdr-h: 65px; } }
html:has(body.itbs-hd) { scroll-padding-top: calc(var(--vg-hdr) + 16px); }
body.itbs-hd .vg-nav { --nav-main: 78px; --nav-secondary: 52px; position: sticky; top: var(--vg-top); z-index: 120; border-bottom: 1px solid var(--vg-line); background: var(--vg-paper); color: #292929; font-family: var(--t-font); }
.vg-nav.is-compact { box-shadow: 0 3px 18px rgba(23, 23, 23, .05); }
.vg-nav button, .vg-panel button, .vg-bottom button { font: inherit; cursor: pointer; background: none; border: 0; color: inherit; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; }
.vg-nav a, .vg-panel a { color: inherit; text-decoration: none; }
.vg-nav svg, .vg-panel svg, .vg-bottom svg { flex-shrink: 0; }
.vg-nav button:hover, .vg-nav a:hover, .vg-panel a:hover, .vg-panel button:hover { color: var(--vg-accent-ink); }
.vg-nav :focus-visible, .vg-panel :focus-visible, .vg-bottom :focus-visible { outline: 2px solid var(--vg-accent); outline-offset: 3px; }
.vg-nav__main { height: var(--nav-main); display: flex; align-items: center; gap: 24px; max-width: 1600px; margin: 0 auto; padding: 0 36px; transition: height .18s ease; }
.vg-nav__brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; font-size: 18px; font-weight: 750; letter-spacing: -.5px; white-space: nowrap; }
.vg-nav__brand img { width: 44px; height: 44px; object-fit: contain; border-radius: 10px; }
.vg-nav__brand-copy { display: flex; flex-direction: column; gap: 3px; line-height: 1.1; }
.vg-nav__brand-copy strong { font: inherit; }
.vg-nav__brand-copy small { font-size: 10px; font-weight: 550; letter-spacing: 1.3px; color: #707070; text-transform: uppercase; }
.vg-nav .vg-nav__search { flex: 1; max-width: 340px; min-width: 140px; justify-content: flex-start; border: 1px solid var(--vg-line); border-radius: 9px; background: #f6f6f6; padding: 0 15px; color: #707070; font-size: 13px; }
.vg-nav__search-short { display: none; }
.vg-nav__rate { font-size: 13px !important; white-space: nowrap; }
.vg-nav__rate strong { color: var(--vg-accent-ink); font-weight: 650; }
.vg-nav .vg-nav__rate.is-desktop { margin-left: auto; }
.vg-nav .vg-nav__rate.is-mobile { display: none; }
.vg-nav__main > .vg-nav__fav:first-of-type { margin-left: auto; }
.vg-nav__rate.is-desktop + .vg-nav__fav { margin-left: 0; }
.vg-nav .vg-nav__fav { position: relative; border: 1px solid var(--vg-line); border-radius: 25px; padding: 0 13px; gap: 8px; font-size: 13px; white-space: nowrap; }
.vg-nav__fav svg { color: var(--vg-accent); }
.vg-nav__fav b { display: flex; width: 21px; height: 21px; align-items: center; justify-content: center; border-radius: 50%; background: var(--vg-accent-soft); color: var(--vg-accent-ink); font-size: 11px; opacity: 1 !important; }
.vg-nav__profile { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 9px; flex-shrink: 0; }
.vg-nav .vg-nav__burger { display: none; }
.vg-nav__profile-text { display: none; } /* a theme may show the words next to the icon */
.vg-nav__secondary { height: var(--nav-secondary); display: flex; align-items: center; gap: 32px; padding: 0 max(36px, calc((100% - 1528px) / 2)); border-top: 1px solid var(--vg-line); transition: height .18s ease; }
.vg-nav__region { white-space: nowrap; font-size: 14px !important; font-weight: 600 !important; }
.vg-nav__sections { display: flex; align-items: center; gap: 30px; flex: 1; }
.vg-nav__sections > button, .vg-nav__sections > a { position: relative; display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.vg-nav__sections .is-selected { color: var(--vg-accent-ink); }
.vg-nav__sections .is-selected::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 3px; border-radius: 3px; background: var(--vg-accent); }
.vg-nav__settings { font-size: 13px !important; white-space: nowrap; }
.vg-nav.is-compact .vg-nav__main { height: 60px; }
.vg-nav.is-compact .vg-nav__secondary { height: 46px; }

/* panels */
.vg-scrim { position: fixed; z-index: 119; inset: 0; background: rgba(23, 23, 23, .25); }
body.itbs-hd .vg-panel { position: fixed; z-index: 131; top: calc(var(--vg-hdr) + 4px); right: 36px; width: 430px; max-height: calc(100dvh - var(--vg-hdr) - 20px); overflow: auto; overscroll-behavior: contain; border: 1px solid var(--vg-line); border-radius: 14px; background: var(--vg-paper); color: #292929; box-shadow: 0 18px 45px rgba(23, 23, 23, .13); outline: none; animation: vg-reveal .15s ease; font-family: var(--t-font); }
.vg-panel[hidden], .vg-scrim[hidden] { display: none !important; }
.vg-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 26px 10px; }
body.itbs-hd .vg-panel__heading h2 { margin: 0; color: #292929; font-family: var(--t-font); font-size: 24px; font-weight: 650; letter-spacing: -.6px; line-height: 1.25; }
.vg-panel__heading small { display: block; margin-bottom: 8px; color: #707070; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
.vg-panel__heading button { width: 36px; padding: 0; flex-shrink: 0; }
.vg-panel__content { padding: 0 26px 26px; }
.vg-panel__helper { margin: 6px 0 12px; color: #707070; font-size: 13px; line-height: 1.6; }
body.itbs-hd .vg-panel.is-mega { left: 0; right: 0; width: auto; border-top: 0; border-radius: 0 0 18px 18px; }
.is-mega .vg-panel__heading { max-width: 1600px; margin: 0 auto; padding: 24px 44px 18px; }
.vg-panel__mega { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 45px; max-width: 1600px; margin: 0 auto; padding: 0 44px; }
.vg-panel__groups { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; }
.vg-panel__groups.is-one { grid-template-columns: 1fr; }
.vg-panel__groups h3 { margin: 4px 0 4px; color: var(--vg-accent-ink); font-size: 13px; font-weight: 600; }
.vg-panel__item { display: flex; align-items: center; gap: 16px; min-height: 65px; padding: 12px 0; border-bottom: 1px solid var(--vg-line); }
.vg-panel__item > span:not(.vg-panel__thumb) { flex: 1; min-width: 0; }
.vg-panel__item strong { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; }
.vg-panel__item small { display: block; margin-top: 5px; color: #707070; font-size: 12px; line-height: 1.35; }
.vg-panel__item > svg { color: #aaa; }
.vg-panel__thumb { position: relative; flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; border-radius: 14px; background: #eef2f6; box-shadow: 0 6px 16px -10px rgba(15, 23, 42, .55); }
.vg-panel__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.vg-panel__item:hover .vg-panel__thumb img { transform: scale(1.08); }
body.itbs-hd .vg-panel__all { display: flex; align-items: center; gap: 13px; padding: 18px 0 2px; color: var(--vg-accent-ink); font-size: 13px; font-weight: 600; }
.vg-panel__feature { position: relative; display: block; min-height: 290px; overflow: hidden; border-radius: 12px; background: #292929; }
.vg-panel__feature img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.vg-panel__feature::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(23, 23, 23, .94), transparent); }
body.itbs-hd .vg-panel__feature > span { position: absolute; z-index: 1; left: 24px; right: 16px; bottom: 24px; color: #fff; }
.vg-panel__feature small { font-size: 10px; letter-spacing: 1.5px; }
.vg-panel__feature strong { display: block; margin: 12px 0 22px; font-size: 28px; font-weight: 650; line-height: 1.13; letter-spacing: -.9px; }
.vg-panel__feature em { display: flex; align-items: center; gap: 12px; font-size: 12px; font-style: normal; }
.vg-panel__footer { display: flex; align-items: center; justify-content: space-between; height: 65px; margin: 22px 44px 0; border-top: 1px solid var(--vg-line); font-size: 13px; }
.vg-panel__footer a { display: flex; align-items: center; gap: 12px; }
body.itbs-hd .vg-panel__footer a:last-child { color: var(--vg-accent-ink); }
.vg-panel__regions { grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; padding-bottom: 34px; }
.vg-panel__region-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
body.itbs-hd .vg-panel__region-card { position: relative; display: block; aspect-ratio: 4 / 5; max-height: 340px; overflow: hidden; border-radius: 16px; background: #1f2937; color: #fff; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.vg-panel__region-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.vg-panel__region-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 23, 42, .1) 0%, transparent 35%, rgba(15, 23, 42, .88) 100%); }
body.itbs-hd .vg-panel__region-card:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px rgba(15, 23, 42, .2); }
.vg-panel__region-card:hover img { transform: scale(1.06); }
.vg-panel__region-card > span { position: absolute; z-index: 1; left: 16px; right: 16px; bottom: 16px; display: block; }
.vg-panel__region-card strong { display: block; font-size: 21px; font-weight: 650; letter-spacing: -.4px; line-height: 1.15; }
.vg-panel__region-card small { display: block; margin-top: 6px; font-size: 12.5px; opacity: .9; }
.vg-panel__region-all { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid var(--vg-line); border-radius: 12px; }
.vg-panel__region-all:hover { border-color: var(--vg-accent); }
.vg-panel__region-all strong { display: block; font-size: 15px; font-weight: 600; }
.vg-panel__region-all small { display: block; margin-top: 3px; color: #707070; font-size: 12px; }
.vg-panel__settings { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.vg-panel__settings h3 { margin: 12px 0 8px; color: #707070; font-size: 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.vg-panel__settings a { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: 7px; font-size: 14px; }
.vg-panel__settings a.is-selected { background: #f6f6f6; color: var(--vg-accent-ink); }
.vg-panel__select select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--vg-line); border-radius: 9px; background: #fff; font: 600 14px var(--t-font); }
.vg-panel__row { display: flex !important; width: 100%; justify-content: space-between !important; min-height: 55px; padding: 10px 0; border-bottom: 1px solid var(--vg-line); font-size: 15px; text-align: left; }
body.itbs-hd .vg-panel__primary { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin-top: 18px; padding: 14px 20px; border-radius: 9px; background: var(--vg-accent); color: #fff; font-size: 14px; font-weight: 600; }
body.itbs-hd .vg-panel__primary:hover { color: #fff; filter: brightness(.95); }
.vg-panel__tools { display: none; }
body.itbs-hd #mobile-menu.hidden { display: none !important; }
body.itbs-hd #mobile-menu:not(.hidden) { display: block !important; left: auto; right: 16px; width: min(380px, calc(100vw - 32px)); }
@keyframes vg-reveal { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.vg-bottom { display: none; }

@media (min-width: 761px) and (max-width: 1120px) {
    .vg-nav__main { gap: 15px; padding: 0 24px; }
    .vg-nav__brand { font-size: 16px; }
    .vg-nav__fav > span { display: none; }
    .vg-nav__secondary { gap: 22px; padding: 0 24px; }
    .vg-nav__sections { gap: 20px; }
}
@media (max-width: 760px) {
    body.itbs-hd { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
    body.itbs-hd .vg-nav { --nav-main: 56px; --nav-secondary: 44px; border-bottom: 0; }
    .vg-nav__main, .vg-nav.is-compact .vg-nav__main { height: var(--nav-main); padding: 0 14px; gap: 6px; }
    .vg-nav__brand { gap: 7px; font-size: 14px; }
    .vg-nav__brand img { width: 34px; height: 34px; }
    .vg-nav__brand-copy small { display: none; }
    .vg-nav .vg-nav__search { margin-left: auto; flex: 0 0 40px; min-width: 40px; max-width: none; height: 44px; padding: 0; border: 0; background: transparent; justify-content: center; }
    .vg-nav__search span { display: none !important; }
    .vg-nav .vg-nav__fav { width: 40px; height: 44px; padding: 0; border: 0; border-radius: 0; margin-left: 0 !important; }
    .vg-nav__fav > span { display: none; }
    .vg-nav__fav b { position: absolute; top: 1px; right: 0; width: 16px; height: 16px; background: var(--vg-accent); color: #fff; font-size: 9px; border: 2px solid #fff; }
    .vg-nav__profile { width: 40px; height: 40px; }
    .vg-nav .vg-nav__burger { display: inline-flex; width: 40px; height: 44px; padding: 0; }
    .vg-nav__secondary, .vg-nav.is-compact .vg-nav__secondary { height: var(--nav-secondary); padding: 0 16px; gap: 8px; justify-content: space-between; }
    .vg-nav .vg-nav__rate.is-desktop, .vg-nav__sections { display: none !important; }
    .vg-nav .vg-nav__rate.is-mobile { display: flex; font-size: 12px !important; }
    .vg-nav__region { font-size: 13px !important; gap: 4px !important; }
    .vg-nav__settings { font-size: 12px !important; gap: 4px !important; }
    .vg-bottom { position: fixed; z-index: 140; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-around; height: calc(66px + env(safe-area-inset-bottom, 0px)); padding: 6px 8px calc(8px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--vg-line); background: #fff; color: #292929; font-family: var(--t-font); }
    .vg-bottom button { flex: 1; flex-direction: column; gap: 6px !important; padding: 0 4px; font-size: 10px; }
    .vg-bottom .is-selected { color: var(--vg-accent-ink); }
    body.itbs-hd .vg-panel, body.itbs-hd .vg-panel.is-mega, body.itbs-hd #mobile-menu:not(.hidden) { left: 0 !important; right: 0 !important; top: var(--vg-hdr) !important; bottom: calc(66px + env(safe-area-inset-bottom, 0px)); width: 100% !important; max-height: none; border: 0; border-radius: 0; box-shadow: none; }
    .vg-panel__heading, .is-mega .vg-panel__heading { padding: 18px 22px 12px; }
    .vg-panel__heading small { display: none; }
    .vg-panel__content { padding: 0 22px 25px; }
    .vg-panel__mega { display: block; padding: 0 22px 20px; }
    .vg-panel__groups { display: block; }
    .vg-panel__groups > section { margin-bottom: 28px; }
    .vg-panel__feature { display: none; }
    .vg-panel__footer { margin: 0; padding: 0 22px; }
    .vg-panel__footer a:last-child { display: none; }
    .vg-panel__region-cards { grid-template-columns: 1fr 1fr; gap: 10px; }
    body.itbs-hd .vg-panel__region-card { aspect-ratio: 4 / 3.4; border-radius: 14px; }
    .vg-panel__region-card strong { font-size: 16px; }
    .vg-panel__regions aside { margin-top: 20px; }
    .vg-panel__settings { grid-template-columns: 1fr; gap: 10px; }
    .vg-panel__tools { display: block; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--vg-line); }
    .vg-panel__tool { display: flex !important; width: 100%; justify-content: flex-start !important; gap: 12px !important; min-height: 60px !important; text-align: left; }
    .vg-panel__tool > svg:first-child { color: var(--vg-accent); }
    .vg-panel__tool > span { display: grid; flex: 1; gap: 3px; }
    .vg-panel__tool small { color: #707070; font-size: 11px; }
    .vg-panel__tool strong { font-size: 14px; font-weight: 600; }
    .vg-panel__tool > svg:last-child { transform: rotate(-90deg); color: #707070; }
    body.itbs-hd #mobile-sticky-book { bottom: 0; }
    /* The cookie notice stands above the bottom bar, not on it; it gives way while a panel is open. */
    body.itbs-hd:has(.vg-bottom) .itbs-ck { bottom: calc(66px + 12px + env(safe-area-inset-bottom, 0px)) !important; }
    body.itbs-hd.vg-panel-open .itbs-ck { visibility: hidden !important; }
}

/* A computer (≥1280 px): the two rows become one — brand, destinations, sections, search, rate, language, favourites, cabinet. */
@media (min-width: 1280px) {
    body.itbs-hd .vg-nav { --nav-main: 64px; --nav-secondary: 0px; }
    .vg-nav__rows { display: flex; align-items: center; gap: 18px; height: var(--nav-main); max-width: 1600px; margin: 0 auto; padding: 0 32px; }
    .vg-nav__main, .vg-nav__fold, .vg-nav__secondary { display: contents; }
    .vg-nav__brand { order: 1; font-size: 17px; margin-right: 4px; }
    .vg-nav__brand img { width: 40px; height: 40px; }
    .vg-nav .vg-nav__region { order: 2; min-height: 38px; padding: 0 12px; gap: 6px; border: 1px solid var(--vg-line); border-radius: 25px; }
    .vg-nav__sections { order: 3; flex: 0 1 auto; gap: 22px; }
    .vg-nav .vg-nav__search { order: 4; margin-left: auto; max-width: 260px; min-height: 40px; }
    .vg-nav .vg-nav__rate.is-desktop { order: 5; margin-left: 0; }
    .vg-nav__settings { order: 6; }
    .vg-nav .vg-nav__fav { order: 7; min-height: 40px; margin-left: 0 !important; }
    .vg-nav__profile { order: 8; }
    .vg-nav.is-compact .vg-nav__main { height: auto; }
}
@media (min-width: 1280px) and (max-width: 1439px) {
    .vg-nav__rows { gap: 12px; padding: 0 24px; }
    .vg-nav__sections { gap: 16px; }
    .vg-nav .vg-nav__fav > span, .vg-nav__search-long { display: none; }
    .vg-nav__search-short { display: inline; }
    .vg-nav .vg-nav__search { flex: 0 0 auto; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .vg-nav__main, .vg-nav__secondary { transition: none; } .vg-panel { animation: none; } }

/* itbs-theme-voyage */
/*
 * «Voyage» — a rich travel site: light pages, heavy tight headings with a kicker,
 * big photo cards with round corners, a dark section for contrast, an accent-coloured final call. Colours, fonts and
 * corners come from the design settings and the company profile (--t-accent is the brand colour).
 */

body.itbs-theme-voyage {
    --vg-ink: var(--t-ink, #0f172a);
    --vg-text: #334155;
    --vg-muted: #64748b;
    --vg-line: #e2e8f0;
    --vg-soft: #f6f8fb;
    --vg-soft-2: #fbfcfd;
    --vg-paper: #fff;
    --vg-page: #fff;
    --vg-k: 1; /* corners: the design's «Corners» scale every fixed radius (inc/design.php) */
    --vg-night: #0d1b31;
    --vg-accent: var(--t-accent);
    --vg-accent-soft: color-mix(in srgb, var(--t-accent) 10%, #fff);
    --vg-accent-ink: color-mix(in srgb, var(--t-accent) 82%, #000);
    --vg-wrap: min(1440px, calc(100% - 64px));
    --vg-r: 28px;
    --vg-hdr-h: 130px;
    background: var(--vg-page);
    color: var(--vg-text);
}
@media (max-width: 760px) { body.itbs-theme-voyage { --vg-wrap: min(100% - 32px, 1440px); --vg-r: 22px; --vg-hdr-h: 100px; } }
@media (min-width: 1280px) { body.itbs-theme-voyage { --vg-hdr-h: 65px; } }
body.itbs-theme-voyage html, html:has(body.itbs-theme-voyage) { scroll-padding-top: calc(var(--vg-hdr) + 16px); }

/* ---------- shared section pieces ---------- */
.vg-wrap { width: var(--vg-wrap); margin: 0 auto; }
.vg-sec { padding: 108px 0; }
@media (max-width: 900px) { .vg-sec { padding: 82px 0; } }
.vg-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.vg-kicker { margin: 0 0 14px; color: var(--vg-accent); font-size: 12px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
body.itbs-theme-voyage .vg-title { margin: 0; color: var(--vg-ink); font-family: var(--t-font-h); font-size: clamp(36px, 4vw, 58px); font-weight: 900; letter-spacing: -.05em; line-height: 1.03; }
.vg-lead { max-width: 760px; margin-top: 14px; color: var(--vg-muted); font-size: 17px; line-height: 1.55; }
body.itbs-theme-voyage .vg-head__link { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; color: var(--vg-accent); font-size: 14px; font-weight: 800; text-decoration: none; }
@media (max-width: 760px) { .vg-head { display: block; } .vg-head__link { margin-top: 18px; } }
.vg-dark { background: var(--vg-night); color: #fff; }
.vg-dark .vg-title { color: #fff !important; }
.vg-dark .vg-lead { color: #b7c5da; }
.vg-dark .vg-kicker { color: color-mix(in srgb, var(--t-accent) 70%, #fff); }
body.itbs-theme-voyage .vg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: calc(15px * var(--vg-k, 1)); font: 800 15px/1.1 var(--t-font); text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease; }
body.itbs-theme-voyage .vg-btn:hover { transform: translateY(-2px); }
body.itbs-theme-voyage .vg-btn--accent { background: var(--vg-accent); color: #fff; box-shadow: 0 12px 26px -12px color-mix(in srgb, var(--t-accent) 70%, transparent); }
body.itbs-theme-voyage .vg-btn--ghost { border-color: var(--vg-line); background: #fff; color: var(--vg-ink); }
body.itbs-theme-voyage .vg-btn--light { background: #fff; color: var(--vg-accent-ink); box-shadow: 0 14px 34px rgba(0, 0, 0, .18); }

/* ================================================================== home */
.home-vg { overflow: clip; font-family: var(--t-font); }
.home-vg img { display: block; max-width: 100%; }
.home-vg a { text-decoration: none; }

/* first screen */
.vg-hero { position: relative; padding: 56px 0 44px; background: linear-gradient(180deg, #fff 0%, var(--vg-soft) 100%); }
.vg-hero__image { position: absolute; inset: 0 0 0 auto; width: 46%; overflow: hidden; border-bottom-left-radius: calc(64px * var(--vg-k, 1)); }
.vg-hero__image picture { display: contents; }
.vg-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.vg-hero__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--vg-soft) 0%, color-mix(in srgb, var(--vg-soft) 55%, transparent) 30%, color-mix(in srgb, var(--vg-soft) 0%, transparent) 60%); }
.vg-hero__inner { position: relative; width: var(--vg-wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 28px 56px; align-items: center; }
.vg-hero__eyebrow { margin: 0 0 18px; color: var(--vg-accent); font-size: 12px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
body.itbs-theme-voyage .vg-hero h1 { margin: 0; color: var(--vg-ink); font-family: var(--t-font-h); font-size: clamp(42px, 5vw, 76px); font-weight: 950; letter-spacing: -.055em; line-height: .98; }
.vg-hero__offer { display: block; margin-top: 14px; color: var(--vg-accent); font-size: .52em; letter-spacing: -.035em; line-height: 1.08; }
.vg-hero__sub { max-width: 580px; margin-top: 22px; color: var(--vg-text); font-size: 18px; line-height: 1.55; }
.vg-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 30px; }
.vg-hero__news { display: inline-flex; align-items: center; gap: 7px; margin-left: 6px; color: var(--vg-ink); font-size: 14px; font-weight: 750; }
.vg-hero__news span { color: var(--vg-accent); font-size: 10px; animation: vg-pulse 1.8s ease-in-out infinite; }
@keyframes vg-pulse { 50% { opacity: .25; } }
.vg-hero__side { display: grid; gap: 14px; }
.vg-finder { display: grid; gap: 12px; padding: 22px; border: 1px solid rgba(255, 255, 255, .7); border-radius: var(--vg-r); background: rgba(255, 255, 255, .92); box-shadow: 0 30px 70px -30px rgba(15, 23, 42, .35); backdrop-filter: blur(14px); }
.vg-finder__field { display: grid; gap: 6px; margin: 0; }
.vg-finder__field > span:first-child { color: var(--vg-muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.vg-finder__row { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 14px; border: 1px solid var(--vg-line); border-radius: calc(15px * var(--vg-k, 1)); background: #fff; }
.vg-finder__row > i { display: inline-grid; color: var(--vg-accent); font-style: normal; }
.vg-finder__row select { flex: 1; min-width: 0; height: 52px; border: 0; background: transparent; color: var(--vg-ink); font: 700 16px var(--t-font); outline: none; }
.vg-finder__row .itbs-select { flex: 1; min-width: 0; }
.vg-stepper { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; }
.vg-stepper button { width: 38px; height: 38px; border: 1px solid var(--vg-line); border-radius: 50%; background: #fff; color: var(--vg-ink); font: 700 20px/1 var(--t-font); cursor: pointer; }
.vg-stepper button:hover { border-color: var(--vg-accent); color: var(--vg-accent); }
.vg-stepper input { width: 42px; border: 0; background: transparent; color: var(--vg-ink); font: 800 18px var(--t-font); text-align: center; -moz-appearance: textfield; }
.vg-stepper input::-webkit-inner-spin-button, .vg-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.vg-finder__action { display: grid; gap: 8px; margin-top: 4px; }
.vg-finder__submit { min-height: 58px; border: 0; border-radius: calc(16px * var(--vg-k, 1)); background: var(--vg-accent); color: #fff; font: 850 17px var(--t-font); cursor: pointer; box-shadow: 0 16px 30px -14px color-mix(in srgb, var(--t-accent) 80%, transparent); transition: transform .18s ease; }
.vg-finder__submit:hover { transform: translateY(-2px); }
.vg-finder__action small { color: var(--vg-muted); font-size: 12.5px; text-align: center; }
.vg-ratings { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.vg-ratings__item { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; padding: 12px 14px; border-radius: calc(18px * var(--vg-k, 1)); background: rgba(255, 255, 255, .92); box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35); color: var(--vg-ink); }
.vg-ratings__item > span { grid-row: span 3; display: grid; place-items: center; width: 36px; height: 36px; border-radius: calc(11px * var(--vg-k, 1)); color: #fff; font-size: 15px; font-weight: 900; }
.vg-ratings__item strong { font-size: 19px; font-weight: 900; line-height: 1; }
.vg-ratings__item small { color: var(--vg-text); font-size: 12px; font-weight: 700; }
.vg-ratings__item em { color: var(--vg-muted); font-size: 11.5px; font-style: normal; }
.vg-proofs { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 22px; color: var(--vg-ink); font-size: 14px; font-weight: 700; }
.vg-proofs span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 1px solid rgba(226, 232, 240, .8); border-radius: 999px; background: rgba(255, 255, 255, .94); box-shadow: 0 8px 20px -16px rgba(15, 23, 42, .45); backdrop-filter: blur(8px); }
.vg-proofs b { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--vg-accent-soft); color: var(--vg-accent); font-size: 12px; }
.vg-proofs a { color: inherit; text-decoration: underline; text-decoration-color: var(--vg-line); text-underline-offset: 3px; }
@media (max-width: 1080px) {
    /* The photo is a near-white background under the title, not a picture above it (owner 31.10). */
    .vg-hero { padding-top: 44px; }
    .vg-hero__image { position: absolute; inset: 0 0 auto; width: 100%; height: 640px; border-radius: 0; }
    .vg-hero__image::after { background: linear-gradient(180deg, rgba(255, 255, 255, .62) 0%, rgba(255, 255, 255, .74) 45%, color-mix(in srgb, var(--vg-soft) 92%, transparent) 78%, var(--vg-soft) 100%); }
    .vg-hero__inner { grid-template-columns: 1fr; margin-top: 0; }
}
@media (max-width: 760px) {
    .vg-hero { padding-top: 34px; }
    .vg-hero__image { height: 560px; }
    .vg-hero__sub { font-size: 16px; }
    .vg-hero__actions .vg-btn { flex: 1 1 140px; }
    .vg-finder { padding: 16px; }
    .vg-proofs { font-size: 13px; gap: 6px; }
}

/* how it works */
.vg-ease { padding: 96px 0; background: var(--vg-soft); }
.vg-ease__heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: end; }
.vg-ease__intro { color: var(--vg-muted); font-size: 18px; line-height: 1.6; }
.vg-ease__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 46px; }
.vg-ease__steps article { position: relative; padding: 30px; border: 1px solid var(--vg-line); border-radius: var(--vg-r); background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.vg-ease__steps article:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -30px rgba(15, 23, 42, .35); }
.vg-ease__steps span { color: var(--vg-accent); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
body.itbs-theme-voyage .vg-ease__steps h3 { margin: 18px 0 10px; color: var(--vg-ink); font-size: 23px; font-weight: 850; letter-spacing: -.03em; line-height: 1.15; }
.vg-ease__steps p { margin: 0; color: var(--vg-muted); font-size: 15.5px; line-height: 1.55; }
@media (max-width: 900px) { .vg-ease { padding: 72px 0; } .vg-ease__heading, .vg-ease__steps { grid-template-columns: 1fr; gap: 12px; } .vg-ease__steps { margin-top: 28px; } .vg-ease__steps article { padding: 20px 22px; } body.itbs-theme-voyage .vg-ease__steps h3 { margin: 8px 0 6px; font-size: 20px; } }

/* what is sold */
.vg-products { padding: 108px 0; }
.vg-products__grid { display: grid; gap: 18px; margin-top: 44px; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 250px; }
.vg-product { position: relative; display: block; overflow: hidden; border-radius: var(--vg-r); background: linear-gradient(135deg, color-mix(in srgb, var(--t-accent) 70%, #0d1b31), #142a4b); color: #fff; isolation: isolate; }
.vg-product img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s ease; }
.vg-product::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(13, 27, 49, 0) 35%, rgba(13, 27, 49, .88) 100%); }
.vg-product:hover img { transform: scale(1.05); }
.vg-product__arrow { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .16); backdrop-filter: blur(8px); font-size: 18px; transition: background .2s ease; }
.vg-product:hover .vg-product__arrow { background: var(--vg-accent); }
.vg-product__copy { position: absolute; left: 24px; right: 24px; bottom: 22px; display: grid; gap: 6px; }
.vg-product__copy small { justify-self: start; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, .16); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(6px); }
.vg-product__copy b { font-size: 24px; font-weight: 850; letter-spacing: -.03em; line-height: 1.1; }
.vg-product__copy span { color: #d5deeb; font-size: 14.5px; }
.vg-products__grid.is-4 .vg-product.is-large { grid-column: span 2; grid-row: span 2; }
.vg-products__grid.is-4 .vg-product.is-wide { grid-column: span 2; }
.vg-products__grid.is-4 .vg-product.is-large .vg-product__copy b { font-size: 34px; }
.vg-products__grid.is-3 { grid-template-columns: 2fr 1fr; }
.vg-products__grid.is-3 .vg-product.is-large { grid-row: span 2; }
.vg-products__grid.is-2 { grid-template-columns: 1fr 1fr; grid-auto-rows: 360px; }
@media (max-width: 900px) {
    .vg-products { padding: 76px 0; }
    .vg-products__grid, .vg-products__grid.is-3, .vg-products__grid.is-2 { grid-template-columns: 1fr 1fr; grid-auto-rows: 220px; }
    .vg-products__grid .vg-product.is-large { grid-column: 1 / -1 !important; grid-row: auto !important; }
    .vg-products__grid.is-4 .vg-product.is-wide { grid-column: 1 / -1; }
    .vg-products__grid.is-2 .vg-product { grid-column: 1 / -1; }
}
@media (max-width: 560px) { .vg-products__grid, .vg-products__grid.is-3 { grid-template-columns: 1fr; } .vg-product { grid-column: 1 / -1 !important; } }

/* destinations */
.vg-regions__switch { display: flex; gap: 6px; padding: 5px; border-radius: 999px; background: var(--vg-soft); }
.vg-regions__switch span { padding: 9px 16px; border-radius: 999px; color: var(--vg-muted); font-size: 14px; font-weight: 750; }
.vg-regions__switch span.is-active { background: #fff; color: var(--vg-ink); box-shadow: 0 4px 14px -6px rgba(15, 23, 42, .3); }
.vg-regions__grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 18px; margin-top: 44px; }
.vg-regions__more { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.vg-regions__more.is-2 { grid-template-columns: 1fr 1fr; }
.vg-regions__more.is-1 { grid-template-columns: 1fr; }
.vg-region { position: relative; display: block; height: 460px; overflow: hidden; border-radius: var(--vg-r); background: var(--vg-night); color: #fff; isolation: isolate; }
.vg-region.is-small { height: 230px; }
.vg-region img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s ease; }
.vg-region::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .7) 100%); }
.vg-region:hover img { transform: scale(1.05); }
.vg-region > span { position: absolute; left: 28px; right: 28px; bottom: 24px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
.vg-region b { font-size: clamp(26px, 3vw, 40px); font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.vg-region.is-small b { font-size: 24px; }
.vg-region em { flex: 0 0 auto; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: 13px; font-style: normal; font-weight: 800; backdrop-filter: blur(8px); }
@media (max-width: 900px) {
    .vg-regions__switch { display: none; }
    .vg-regions__grid, .vg-regions__more, .vg-regions__more.is-2 { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
    .vg-regions__more { margin-top: 14px; }
    .vg-region { height: 300px; }
    .vg-region.is-small { height: 200px; }
}

/* popular tours */
.vg-popular { background: var(--vg-soft); }
.vg-popular__tabs { display: flex; gap: 8px; margin-top: 30px; overflow-x: auto; scrollbar-width: none; }
.vg-popular__tabs::-webkit-scrollbar { display: none; }
.vg-popular__tabs button { flex: 0 0 auto; min-height: 44px; padding: 0 18px; border: 1px solid var(--vg-line); border-radius: 999px; background: #fff; color: var(--vg-ink); font: 750 14px var(--t-font); cursor: pointer; transition: all .18s ease; }
.vg-popular__tabs button:hover { border-color: var(--vg-ink); }
.vg-popular__tabs button.is-active { border-color: var(--vg-ink); background: var(--vg-ink); color: #fff; }
.vg-popular__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 28px; }
.vg-popular__more { display: flex; justify-content: center; margin-top: 36px; }
@media (max-width: 1080px) { .vg-popular__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) {
    /* on a phone the tours scroll sideways (snap) instead of a page-long column */
    .vg-popular__grid { display: flex; gap: 14px; margin-right: calc((100vw - 100%) / -2); padding: 4px calc((100vw - 100%) / 2) 18px 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .vg-popular__grid::-webkit-scrollbar { display: none; }
    .vg-popular__grid > .vg-card { flex: 0 0 84%; scroll-snap-align: start; }
    .vg-card:hover { transform: none; }
}

/* a tour card */
.vg-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--vg-line); border-radius: var(--vg-r); background: #fff; transition: transform .22s ease, box-shadow .22s ease; }
.vg-card[hidden] { display: none; }
.vg-card:hover { transform: translateY(-4px); box-shadow: 0 28px 60px -34px rgba(15, 23, 42, .45); }
.vg-card__cover { position: absolute; inset: 0; z-index: 1; }
.vg-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--vg-soft); }
.vg-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vg-card:hover .vg-card__media img { transform: scale(1.05); }
.vg-card__badges { position: absolute; top: 14px; left: 14px; display: flex; flex-wrap: wrap; gap: 6px; }
.vg-card__badge { padding: 6px 11px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--vg-ink); font-size: 12px; font-weight: 800; }
.vg-card__badge.is-deal { background: #f97316; color: #fff; }
.vg-card__badge.is-new { background: var(--vg-accent); color: #fff; }
body.itbs-theme-voyage .vg-card__fav { position: absolute; z-index: 2; top: 12px; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--vg-accent); cursor: pointer; }
.vg-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.vg-card__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--vg-muted); font-size: 13px; font-weight: 700; }
.vg-card__meta span { display: inline-flex; align-items: center; gap: 5px; }
body.itbs-theme-voyage .vg-card__title { margin: 0; color: var(--vg-ink); font-size: 20px; font-weight: 850; letter-spacing: -.025em; line-height: 1.2; }
.vg-card__line { display: -webkit-box; margin: 0; overflow: hidden; color: var(--vg-muted); font-size: 14.5px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vg-card__seats { display: inline-flex; align-items: center; gap: 7px; align-self: start; padding: 6px 11px; border-radius: 999px; background: #ecfdf5; color: #047857; font-size: 12.5px; font-weight: 800; }
.vg-card__seats span { font-size: 9px; }
.vg-card__seats.is-low { background: #fff7ed; color: #c2410c; }
.vg-card__voice { display: flex; gap: 10px; padding: 12px; border-radius: calc(16px * var(--vg-k, 1)); background: var(--vg-soft); }
.vg-card__avatar { flex: 0 0 auto; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--vg-accent-soft); color: var(--vg-accent-ink); font-size: 13px; font-weight: 900; }
.vg-card__voice strong { display: block; color: var(--vg-ink); font-size: 12.5px; font-weight: 800; }
.vg-card__voice strong { color: #f59e0b; }
.vg-card__voice p { display: -webkit-box; margin: 3px 0 0; overflow: hidden; color: var(--vg-text); font-size: 13px; line-height: 1.45; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vg-card__rating { display: flex; align-items: center; gap: 6px; color: #f59e0b; font-size: 13px; }
.vg-card__rating b { color: var(--vg-ink); }
.vg-card__foot { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--vg-line); }
.vg-card__price { color: var(--vg-muted); font-size: 12.5px; line-height: 1.3; }
.vg-card__price b { color: var(--vg-ink); font-size: 22px; font-weight: 900; letter-spacing: -.03em; }
.vg-card__price small:last-child { display: block; }
body.itbs-theme-voyage .vg-card__go { position: relative; z-index: 2; flex: 0 0 auto; padding: 11px 16px; border-radius: calc(13px * var(--vg-k, 1)); background: var(--vg-accent-soft); color: var(--vg-accent-ink); font-size: 14px; font-weight: 800; transition: background .18s ease, color .18s ease; }
.vg-card:hover .vg-card__go { background: var(--vg-accent); color: #fff; }

/* combo offer */
.vg-promo { padding: 0 0 108px; background: var(--vg-soft); }
.vg-promo__banner { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; min-height: 300px; padding: 44px 48px; overflow: hidden; border-radius: calc(34px * var(--vg-k, 1)); background: linear-gradient(110deg, var(--vg-night) 0%, color-mix(in srgb, var(--t-accent) 55%, var(--vg-night)) 100%); color: #fff; isolation: isolate; }
.vg-promo__bg { position: absolute; inset: 0 0 0 auto; width: 55%; height: 100%; object-fit: cover; z-index: -2; opacity: .55; -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); mask-image: linear-gradient(90deg, transparent, #000 60%); }
.vg-promo__copy { display: grid; gap: 14px; }
.vg-promo__copy > small { justify-self: start; padding: 7px 13px; border-radius: 999px; background: var(--vg-accent); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vg-promo__copy > b { max-width: 640px; font-size: clamp(30px, 3.4vw, 48px); font-weight: 950; letter-spacing: -.045em; line-height: 1.02; }
.vg-promo__tours { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-promo__tours > span { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 5px; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: 13.5px; font-weight: 700; backdrop-filter: blur(8px); }
.vg-promo__tours img { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.vg-promo__price { display: grid; gap: 6px; justify-items: end; padding: 24px 28px; border-radius: calc(24px * var(--vg-k, 1)); background: rgba(255, 255, 255, .96); color: var(--vg-ink); text-align: right; }
.vg-promo__price small { color: var(--vg-muted); font-size: 12.5px; font-weight: 700; }
.vg-promo__price b { font-size: 34px; font-weight: 950; letter-spacing: -.04em; }
.vg-promo__price s { color: var(--vg-muted); font-size: 16px; }
.vg-promo__price em { color: var(--vg-accent); font-size: 15px; font-style: normal; font-weight: 850; }
@media (max-width: 900px) { .vg-promo { padding-bottom: 76px; } .vg-promo__banner { grid-template-columns: 1fr; padding: 30px 24px; } .vg-promo__bg { width: 100%; opacity: .3; } .vg-promo__price { justify-items: start; text-align: left; } }

/* payment */
.vg-payment { background: #fff7ef; background: color-mix(in srgb, var(--t-accent) 6%, #fff); }
.vg-payment__inner { width: var(--vg-wrap); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.vg-payment__image { aspect-ratio: 5 / 4; overflow: hidden; border-radius: calc(34px * var(--vg-k, 1)); background: var(--vg-soft); }
.vg-payment__image img { width: 100%; height: 100%; object-fit: cover; }
.vg-payment__list { display: grid; gap: 12px; margin-top: 30px; }
.vg-payment__list > div { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: calc(20px * var(--vg-k, 1)); background: #fff; box-shadow: 0 10px 30px -22px rgba(15, 23, 42, .35); }
.vg-payment__list b { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; border-radius: calc(14px * var(--vg-k, 1)); background: var(--vg-accent-soft); color: var(--vg-accent); }
.vg-payment__list strong { display: block; color: var(--vg-ink); font-size: 16.5px; font-weight: 850; }
.vg-payment__list small { display: block; margin-top: 3px; color: var(--vg-muted); font-size: 14.5px; line-height: 1.45; }
@media (max-width: 900px) { .vg-payment__inner { grid-template-columns: 1fr; gap: 32px; } }

/* guests' photos */
.vg-guests__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; }
.vg-guests__mosaic { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 190px; gap: 12px; }
.vg-guests__mosaic.is-3 { grid-template-columns: 1.4fr 1fr; }
.vg-guests__mosaic.is-4 { grid-template-columns: 1.4fr 1fr 1fr; }
.vg-guests__photo { position: relative; margin: 0; overflow: hidden; border-radius: calc(22px * var(--vg-k, 1)); background: var(--vg-soft); }
.vg-guests__photo.is-main { grid-row: span 2; }
.vg-guests__mosaic.is-4 .vg-guests__photo:nth-child(4) { grid-column: span 2; }
.vg-guests__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vg-guests__photo:hover img { transform: scale(1.05); }
.vg-guests__photo figcaption { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 5px 10px; overflow: hidden; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 12px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.vg-guests__quote { margin: 26px 0; padding: 0 0 0 18px; border-left: 3px solid var(--vg-accent); color: var(--vg-ink); font-size: 17px; font-style: italic; line-height: 1.55; }
@media (max-width: 900px) { .vg-guests__inner { grid-template-columns: 1fr; gap: 32px; } .vg-guests__copy { order: -1; } .vg-guests__mosaic { grid-auto-rows: 130px; } }

/* reviews (dark) */
.vg-reviews__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vg-reviews__chips span { padding: 10px 16px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 750; white-space: nowrap; }
body.itbs-theme-voyage .vg-reviews__sub { display: flex; align-items: center; gap: 10px; margin: 48px 0 18px; color: #fff; font-size: 20px; font-weight: 850; letter-spacing: -.02em; }
.vg-reviews__sub span { padding: 4px 10px; border-radius: 999px; background: var(--vg-accent); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vg-reviews__videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vg-vid { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: calc(22px * var(--vg-k, 1)); background: #000; }
.vg-vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
body.itbs-theme-voyage .vg-vid__play { position: absolute; inset: 0; display: block; width: 100%; padding: 0; border: 0; background: #000; cursor: pointer; }
.vg-vid__play img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .2s ease, transform .6s ease; }
.vg-vid__play:hover img { opacity: 1; transform: scale(1.04); }
.vg-vid__btn { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 50%; background: var(--vg-accent); color: #fff; transform: translate(-50%, -50%); box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.vg-vid__dur { position: absolute; right: 12px; bottom: 12px; padding: 4px 9px; border-radius: calc(8px * var(--vg-k, 1)); background: rgba(0, 0, 0, .65); color: #fff; font-size: 12px; font-weight: 800; }
.vg-reviews__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vg-review { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 24px; border: 1px solid rgba(255, 255, 255, .1); border-radius: calc(22px * var(--vg-k, 1)); background: rgba(255, 255, 255, .05); }
.vg-review small { color: #b7c5da; font-size: 12.5px; font-weight: 700; }
.vg-review small a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .3); }
.vg-review__stars { color: #fbbf24; }
.vg-review blockquote { flex: 1; margin: 0; color: #e6edf7; font-size: 15px; line-height: 1.6; }
.vg-review figcaption { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 14px; font-weight: 800; }
.vg-review figcaption span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--vg-accent); font-size: 13px; }
@media (max-width: 900px) { .vg-reviews__videos, .vg-reviews__grid { grid-template-columns: 1fr; } .vg-reviews__chips { margin-top: 20px; } }
@media (min-width: 640px) and (max-width: 900px) { .vg-reviews__videos { grid-template-columns: 1fr 1fr; } .vg-reviews__videos > :first-child:nth-last-child(odd) { grid-column: 1 / -1; } }

/* ratings on platforms */
.vg-partners { background: var(--vg-soft); }
.vg-partners__heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.vg-partners__ratings { display: grid; gap: 12px; }
.vg-partners__rating { display: flex; align-items: center; gap: 16px; padding: 18px 22px; border: 1px solid var(--vg-line); border-radius: calc(22px * var(--vg-k, 1)); background: #fff; color: var(--vg-ink); transition: transform .18s ease; }
a.vg-partners__rating:hover { transform: translateX(4px); }
.vg-partners__rating > span { flex: 0 0 auto; display: grid; place-items: center; width: 50px; height: 50px; border-radius: calc(15px * var(--vg-k, 1)); color: #fff; font-size: 20px; font-weight: 900; }
.vg-partners__rating strong { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 900; color: var(--vg-ink); }
.vg-partners__rating strong svg, .vg-partners__rating strong span { color: #f59e0b; }
.vg-partners__rating small { display: block; color: var(--vg-text); font-size: 14px; font-weight: 700; }
.vg-partners__rating em { color: var(--vg-muted); font-size: 13px; font-style: normal; }
@media (max-width: 900px) { .vg-partners__heading { grid-template-columns: 1fr; gap: 28px; } }

/* blog */
.vg-blog__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.vg-post { position: relative; display: block; min-height: 300px; overflow: hidden; border-radius: calc(24px * var(--vg-k, 1)); background: var(--vg-night); color: #fff; isolation: isolate; }
.vg-post.is-feature { grid-column: span 2; min-height: 400px; }
.vg-post img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .6s ease; }
.vg-post::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .78) 100%); }
.vg-post:hover img { transform: scale(1.05); }
.vg-post__copy { position: absolute; left: 22px; right: 22px; bottom: 20px; display: grid; gap: 8px; }
.vg-post__copy small { color: #d5deeb; font-size: 12.5px; font-weight: 700; }
.vg-post__copy b { font-size: 18px; font-weight: 850; letter-spacing: -.02em; line-height: 1.2; }
.vg-post.is-feature .vg-post__copy b { font-size: 26px; }
.vg-post__copy em { color: color-mix(in srgb, var(--t-accent) 60%, #fff); font-size: 14px; font-style: normal; font-weight: 800; }
@media (max-width: 900px) { .vg-blog__grid { grid-template-columns: 1fr 1fr; } .vg-post.is-feature { grid-column: 1 / -1; min-height: 300px; } .vg-post { min-height: 240px; } }
@media (max-width: 560px) { .vg-blog__grid { grid-template-columns: 1fr; } .vg-post { grid-column: 1 / -1; } }

/* questions */
.vg-faq__inner { width: var(--vg-wrap); margin: 0 auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.vg-faq__heading { position: sticky; top: calc(var(--vg-hdr) + 24px); }
.vg-faq__heading > span { display: block; margin-top: 14px; color: var(--vg-muted); font-size: 17px; line-height: 1.55; }
.vg-faq__help { display: grid; gap: 8px; margin-top: 30px; padding: 24px; border-radius: calc(24px * var(--vg-k, 1)); background: var(--vg-accent-soft); }
.vg-faq__help strong { color: var(--vg-ink); font-size: 18px; font-weight: 850; }
body.itbs-theme-voyage .vg-faq__help a { color: var(--vg-accent-ink); font-size: 15px; font-weight: 800; }
.vg-faq__list { display: grid; gap: 12px; }
.vg-faq__list details { border: 1px solid var(--vg-line); border-radius: calc(20px * var(--vg-k, 1)); background: #fff; transition: box-shadow .2s ease; }
.vg-faq__list details[open] { box-shadow: 0 20px 40px -30px rgba(15, 23, 42, .4); }
.vg-faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 24px; color: var(--vg-ink); font-size: 17px; font-weight: 800; list-style: none; cursor: pointer; }
.vg-faq__list summary::-webkit-details-marker { display: none; }
.vg-faq__list summary b { position: relative; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: var(--vg-soft); }
.vg-faq__list summary b::before, .vg-faq__list summary b::after { content: ''; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; border-radius: 2px; background: var(--vg-ink); transform: translate(-50%, -50%); transition: transform .2s ease; }
.vg-faq__list summary b::after { transform: translate(-50%, -50%) rotate(90deg); }
.vg-faq__list details[open] summary b { background: var(--vg-accent); }
.vg-faq__list details[open] summary b::before, .vg-faq__list details[open] summary b::after { background: #fff; }
.vg-faq__list details[open] summary b::after { transform: translate(-50%, -50%) rotate(0); }
.vg-faq__list details > div { padding: 0 24px 22px; color: var(--vg-text); font-size: 15.5px; line-height: 1.65; }
.vg-faq__list details > div p { margin: 0 0 10px; }
@media (max-width: 900px) { .vg-faq__inner { grid-template-columns: 1fr; gap: 28px; } .vg-faq__heading { position: static; } }

/* final call */
.vg-cta { width: var(--vg-wrap); margin: 0 auto 108px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 56px 60px; border-radius: calc(36px * var(--vg-k, 1)); background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--t-accent) 65%, #fff) 0%, transparent 55%), linear-gradient(120deg, var(--vg-accent-ink) 0%, var(--vg-accent) 100%); color: #fff; box-shadow: 0 30px 70px -36px color-mix(in srgb, var(--t-accent) 80%, transparent); }
body.itbs-theme-voyage .vg-cta h2 { margin: 0; color: #fff; font-family: var(--t-font-h); font-size: clamp(30px, 3.4vw, 50px); font-weight: 950; letter-spacing: -.045em; line-height: 1.02; }
.vg-cta p { margin: 14px 0 6px; font-size: 18px; opacity: .95; }
.vg-cta small { font-size: 13.5px; opacity: .8; }
body.itbs-theme-voyage .vg-cta__btn { flex: 0 0 auto; padding: 20px 30px; border-radius: calc(18px * var(--vg-k, 1)); background: #fff; color: var(--vg-accent-ink); font-size: 17px; font-weight: 900; box-shadow: 0 14px 34px rgba(0, 0, 0, .18); transition: transform .18s ease; }
.vg-cta__btn:hover { transform: translateY(-2px); }
@media (max-width: 900px) { .vg-cta { flex-direction: column; align-items: stretch; margin-bottom: 76px; padding: 36px 26px; } .vg-cta__btn { text-align: center; } }

/* a single tile (tickets when «products» is off) */
.vg-tile { display: flex; align-items: center; gap: 18px; padding: 28px 32px; border: 1px solid var(--vg-line); border-radius: var(--vg-r); background: #fff; color: var(--vg-ink); }
.vg-tile svg { color: var(--vg-accent); }
.vg-tile b { display: block; font-size: 20px; font-weight: 850; }
.vg-tile small { color: var(--vg-muted); font-size: 15px; }

/* ================================================================== catalog */
body.itbs-theme-voyage #catalog { padding: 0 0 96px; background: var(--vg-soft); backdrop-filter: none; font-family: var(--t-font); }
body.itbs-theme-voyage #catalog > div { max-width: none; width: var(--vg-wrap); padding: 0; }
body.itbs-theme-voyage #catalog > div > .space-y-6 > * + * { margin-top: 22px; }
body.itbs-theme-voyage #tours-grid { gap: 22px; }
@media (min-width: 1440px) { body.itbs-theme-voyage #tours-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* intro */
.vg-chero { position: relative; padding: 34px 0 30px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--vg-soft) 100%); font-family: var(--t-font); }
.vg-chero__photo { position: absolute; inset: 0 0 0 auto; width: 42%; overflow: hidden; border-bottom-left-radius: calc(56px * var(--vg-k, 1)); }
.vg-chero__photo picture { display: block; height: 100%; }
.vg-chero__photo img { width: 100%; height: 100%; object-fit: cover; }
.vg-chero__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--vg-soft-2) 0%, color-mix(in srgb, var(--vg-soft-2) 40%, transparent) 35%, color-mix(in srgb, var(--vg-soft-2) 0%, transparent) 70%); }
.vg-chero__inner { position: relative; }
.vg-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 26px; color: var(--vg-muted); font-size: 13.5px; font-weight: 600; }
body.itbs-theme-voyage .vg-crumbs a { color: var(--vg-muted); text-decoration: none; }
body.itbs-theme-voyage .vg-crumbs a:hover { color: var(--vg-accent); }
.vg-crumbs span:last-child { color: var(--vg-ink); }
body.itbs-theme-voyage .vg-chero__title { max-width: 820px; margin: 0; color: var(--vg-ink); font-family: var(--t-font-h); font-size: clamp(34px, 4.2vw, 60px); font-weight: 950; letter-spacing: -.05em; line-height: 1.02; }
.vg-chero__lead { max-width: 640px; margin: 16px 0 0; color: var(--vg-text); font-size: 17px; line-height: 1.55; }
.vg-chero__dest { display: flex; gap: 10px; margin: 28px calc((100vw - 100%) / -2) 0 0; padding: 4px calc((100vw - 100%) / 2) 6px 0; overflow-x: auto; scrollbar-width: none; }
.vg-chero__dest::-webkit-scrollbar { display: none; }
body.itbs-theme-voyage .vg-dest { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 5px 16px 5px 5px; border: 1px solid var(--vg-line); border-radius: 999px; background: #fff; color: var(--vg-ink); font-size: 14.5px; text-decoration: none; box-shadow: 0 8px 20px -16px rgba(15, 23, 42, .5); transition: border-color .18s ease, transform .18s ease; }
.vg-dest:hover { border-color: var(--vg-ink); transform: translateY(-1px); }
.vg-dest img, .vg-dest__all { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.vg-dest__all { display: grid; place-items: center; background: var(--vg-accent-soft); color: var(--vg-accent); }
.vg-dest b { font-weight: 800; }
.vg-dest small { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--vg-soft); color: var(--vg-muted); font-size: 12px; font-weight: 800; }
body.itbs-theme-voyage .vg-dest.is-active { border-color: var(--vg-ink); background: var(--vg-ink); color: #fff; }
.vg-dest.is-active small { background: rgba(255, 255, 255, .16); color: #fff; }
@media (max-width: 900px) { .vg-chero__photo { display: none; } .vg-chero { padding: 22px 0 18px; } .vg-crumbs { margin-bottom: 16px; } .vg-chero__lead { font-size: 15.5px; } }

/* sticky filter bar */
.vg-cbar { position: sticky; z-index: 40; top: calc(var(--vg-hdr) + 10px); display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 14px; border: 1px solid var(--vg-line); border-radius: calc(24px * var(--vg-k, 1)); background: #fff; box-shadow: 0 18px 40px -30px rgba(15, 23, 42, .45); }
.vg-cbar__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.vg-cbar__days { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 0 1 auto; overflow-x: auto; scrollbar-width: none; }
.vg-cbar__row:first-child { flex-wrap: nowrap; }
.vg-cbar__guests { margin-left: auto; }
.vg-cbar__days::-webkit-scrollbar { display: none; }
body.itbs-theme-voyage .vg-chip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; border: 1px solid var(--vg-line); border-radius: 999px; background: #fff; color: var(--vg-ink); font: 750 14px var(--t-font); text-decoration: none; white-space: nowrap; cursor: pointer; list-style: none; transition: border-color .18s ease, background-color .18s ease; }
.vg-chip::-webkit-details-marker { display: none; }
.vg-chip:hover { border-color: var(--vg-ink); }
body.itbs-theme-voyage .vg-chip.is-active { border-color: var(--vg-accent); background: var(--vg-accent); color: #fff; }
.vg-pick { position: relative; flex: 0 0 auto; }
.vg-pick__panel { position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; display: grid; grid-template-columns: repeat(7, 64px); gap: 6px; padding: 12px; border: 1px solid var(--vg-line); border-radius: calc(18px * var(--vg-k, 1)); background: #fff; box-shadow: 0 24px 50px -24px rgba(15, 23, 42, .4); }
body.itbs-theme-voyage .vg-pick__day { display: grid; place-items: center; gap: 2px; padding: 8px 4px; border-radius: calc(12px * var(--vg-k, 1)); color: var(--vg-ink); text-decoration: none; }
.vg-pick__day b { color: var(--vg-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.vg-pick__day span { font-size: 13.5px; font-weight: 800; }
.vg-pick__day:hover { background: var(--vg-soft); }
body.itbs-theme-voyage .vg-pick__day.is-active { background: var(--vg-accent); color: #fff; }
.vg-pick__day.is-active b { color: rgba(255, 255, 255, .8); }
.vg-cbar__guests { display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--vg-soft); color: var(--vg-muted); }
body.itbs-theme-voyage .vg-cbar__guests a { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--vg-ink); font-size: 14px; font-weight: 800; text-decoration: none; }
body.itbs-theme-voyage .vg-cbar__guests a.is-active { background: var(--vg-ink); color: #fff; }
.vg-cbar__tools { flex-wrap: nowrap; }
.vg-cbar__search { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 48px; padding: 0 16px; border: 1px solid var(--vg-line); border-radius: calc(15px * var(--vg-k, 1)); background: #fff; color: var(--vg-muted); }
.vg-cbar__search:focus-within { border-color: var(--vg-accent); box-shadow: 0 0 0 3px var(--vg-accent-soft); }
.vg-cbar__search input { flex: 1; min-width: 0; height: 46px; border: 0; outline: 0; background: transparent; color: var(--vg-ink); font: 600 15px var(--t-font); }
.vg-cbar__sort { flex: 0 0 auto; }
.vg-cbar__sort select { height: 48px; padding: 0 38px 0 16px; border: 1px solid var(--vg-line); border-radius: calc(15px * var(--vg-k, 1)); background: #fff; color: var(--vg-ink); font: 700 14px var(--t-font); }
.vg-cbar__count { flex: 0 0 auto; color: var(--vg-muted); font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.vg-cbar__count:empty { display: none; }
.vg-cbar__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 12px; border-top: 1px solid var(--vg-line); }
.vg-cbar__summary > span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: var(--vg-accent-soft); color: var(--vg-accent-ink); font-size: 13.5px; font-weight: 800; }
.vg-cbar__summary em { color: var(--vg-muted); font-size: 13.5px; font-style: normal; font-weight: 700; }
body.itbs-theme-voyage .vg-cbar__reset { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; color: #dc2626; font-size: 14px; font-weight: 800; text-decoration: none; }
@media (max-width: 760px) {
    /* on a phone the bar would cover half the screen: it scrolls with the page */
    .vg-cbar { position: relative; top: auto; padding: 10px; border-radius: calc(20px * var(--vg-k, 1)); gap: 10px; }
    .vg-cbar__row:first-child { flex-wrap: wrap; }
    .vg-pick { order: -1; } /* the calendar first, the scrolling days beside it: one row */
    .vg-pick > .vg-chip { padding: 0 13px; }
    .vg-cbar__days { flex: 1 1 0; margin-right: -10px; padding-right: 10px; }
    .vg-cbar__guests { margin-left: 0; }
    .vg-cbar__tools { flex-wrap: wrap; }
    .vg-cbar__search { flex-basis: 100%; min-height: 44px; }
    .vg-cbar__sort { flex: 1; } .vg-cbar__sort select { width: 100%; height: 44px; }
    .vg-pick__panel { width: min(calc(100vw - 32px), 360px); grid-template-columns: repeat(5, 1fr); }
    .vg-cbar__reset { margin-left: 0; }
}

/* catalog card (the home card plus dates, slider and quick view) */
body.itbs-theme-voyage .vg-ccard { height: 100%; }
body.itbs-theme-voyage .vg-ccard .vg-card__media { aspect-ratio: 4 / 3; }
.vg-ccard__slider, .vg-ccard__photo { position: absolute !important; inset: 0; display: block; }
.vg-ccard__photo img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .6s ease; }
.vg-ccard:hover .vg-ccard__photo img { transform: scale(1.05); }
body.itbs-theme-voyage .vg-ccard__arrow { position: absolute; z-index: 3; top: 50%; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--vg-ink); transform: translateY(-50%); opacity: 0; transition: opacity .18s ease; cursor: pointer; }
.vg-ccard__arrow.is-prev { left: 10px; } .vg-ccard__arrow.is-prev svg { transform: rotate(180deg); }
.vg-ccard__arrow.is-next { right: 10px; }
.vg-ccard:hover .vg-ccard__arrow, .vg-ccard__arrow:focus-visible { opacity: 1; }
/* A touch screen has no hover: arrows that appear on hover made iOS spend the first tap on a card showing them (the tap
   did not open the tour, only the second one did). Without a mouse they are not shown at all. */
@media (hover: none) { body.itbs-theme-voyage .vg-ccard__arrow { display: none; } }
body.itbs-theme-voyage .vg-ccard .vg-card__badges { z-index: 3; }
body.itbs-theme-voyage .vg-ccard .vg-card__fav { z-index: 3; }
.vg-card__fav.active svg, .vg-card__fav[aria-pressed="true"] svg { fill: currentColor; }
body.itbs-theme-voyage .vg-card__title a { color: inherit; text-decoration: none; }
body.itbs-theme-voyage .vg-card__title a:hover { color: var(--vg-accent-ink); }
body.itbs-theme-voyage a.vg-card__rating { text-decoration: none; }
.vg-card__rating small { color: var(--vg-muted); font-size: 12.5px; }
.vg-ccard__dates { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.vg-ccard__dates li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 11px; border-radius: calc(12px * var(--vg-k, 1)); background: var(--vg-soft); color: var(--vg-ink); font-size: 13px; font-weight: 750; }
.vg-ccard__dates li.is-open .itbs-catalog-seats { color: #047857; }
.vg-ccard__dates li.is-low .itbs-catalog-seats { color: #c2410c; }
.vg-ccard__dates li.is-full { opacity: .55; }
.vg-ccard__dates li.is-full .itbs-catalog-seats { color: var(--vg-muted); }
.vg-ccard__later { margin: 0; padding: 8px 11px; border-radius: calc(12px * var(--vg-k, 1)); background: var(--vg-soft); color: var(--vg-muted); font-size: 13px; }
.vg-card__price small { display: block; }
.vg-card__price small.is-no { color: #dc2626; font-weight: 700; }
.vg-ccard__actions { display: flex; align-items: center; gap: 8px; }
body.itbs-theme-voyage .vg-ccard__qv { position: static; flex: 0 0 auto; opacity: 1; transform: none; padding: 0; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--vg-line); border-radius: calc(13px * var(--vg-k, 1)); background: #fff; color: var(--vg-ink); cursor: pointer; }
body.itbs-theme-voyage .vg-ccard__qv:hover { border-color: var(--vg-ink); background: #fff; }
body.itbs-theme-voyage #tours-grid > .itbs-card:not(.vg-ccard):not(.vg-ccombo) { border-radius: var(--vg-r); }

/* combo card */
body.itbs-theme-voyage .vg-ccombo { display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--vg-r); background: linear-gradient(160deg, var(--vg-night) 0%, color-mix(in srgb, var(--t-accent) 50%, var(--vg-night)) 100%); color: #fff; }
.vg-ccombo__collage { display: flex; aspect-ratio: 4 / 3; gap: 3px; }
.vg-ccombo__collage span { flex: 1; background: rgba(255, 255, 255, .08) center / cover no-repeat; }
.vg-ccombo__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 22px; }
.vg-ccombo__tag { align-self: start; padding: 6px 11px; border-radius: 999px; background: var(--vg-accent); font-size: 11.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
body.itbs-theme-voyage .vg-ccombo h3 { margin: 0; color: #fff; font-size: 22px; font-weight: 900; letter-spacing: -.03em; line-height: 1.15; }
body.itbs-theme-voyage .vg-ccombo h3 a { color: inherit; text-decoration: none; }
.vg-ccombo p { margin: 0; color: #c9d5e6; font-size: 14px; line-height: 1.5; }
.vg-ccombo__tours { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; counter-reset: vgc; }
.vg-ccombo__tours li { display: flex; gap: 10px; align-items: center; font-size: 13.5px; font-weight: 700; counter-increment: vgc; }
.vg-ccombo__tours li::before { content: counter(vgc); flex: 0 0 auto; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, .14); font-size: 11.5px; }
.vg-ccombo__foot { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); }
.vg-ccombo__price small { display: block; color: #b7c5da; font-size: 12px; }
.vg-ccombo__price b { font-size: 24px; font-weight: 950; }
.vg-ccombo__price s { margin-left: 6px; color: #b7c5da; }
body.itbs-theme-voyage .vg-ccombo__go { padding: 11px 16px; border-radius: calc(13px * var(--vg-k, 1)); background: #fff; color: var(--vg-ink); font-size: 14px; font-weight: 850; text-decoration: none; white-space: nowrap; }

/* ================================================================== tour page */
body.itbs-theme-voyage .bg-gradient-to-b.from-slate-50 { background: linear-gradient(180deg, #fff 0%, var(--vg-soft) 420px) !important; }
body.itbs-theme-voyage .itbs-tour-page { max-width: 1440px; width: var(--vg-wrap); padding: 24px 0 0; box-sizing: border-box; font-family: var(--t-font); }
body.itbs-theme-voyage .vg-t-crumbs { display: flex; gap: 8px; margin: 0 0 18px; overflow-x: auto; color: var(--vg-muted); font-size: 13.5px; font-weight: 600; white-space: nowrap; scrollbar-width: none; }
body.itbs-theme-voyage .vg-t-crumbs::-webkit-scrollbar { display: none; }
body.itbs-theme-voyage .vg-t-crumbs a { color: var(--vg-muted); text-decoration: none; }
body.itbs-theme-voyage .vg-t-crumbs a:hover { color: var(--vg-accent); }
body.itbs-theme-voyage .vg-t-crumbs [aria-current] { overflow: hidden; color: var(--vg-ink); text-overflow: ellipsis; }

body.itbs-theme-voyage .itbs-hero-shell { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "gallery" "intro" "book" "tabs" "content"; gap: 18px; align-items: start; }
body.itbs-theme-voyage .vg-t-intro { grid-area: intro; }
body.itbs-theme-voyage .vg-t-gallery { grid-area: gallery; }
body.itbs-theme-voyage .itbs-hero-shell > .itbs-hero-booking { grid-area: book; }
body.itbs-theme-voyage .itbs-hero-shell > .itbs-hero-tabs { grid-area: tabs; margin: 0 !important; }
body.itbs-theme-voyage .itbs-hero-shell > .itbs-hero-content { grid-area: content; }
body.itbs-theme-voyage .itbs-hero-shell > * { min-width: 0; }
@media (min-width: 1024px) {
    body.itbs-theme-voyage .itbs-hero-shell { grid-template-columns: minmax(0, 1fr) 420px; grid-template-areas: "intro intro" "gallery gallery" "tabs book" "content book"; grid-template-rows: auto auto auto 1fr; column-gap: 36px; row-gap: 24px; }
    /* the full form stays in the flow (it is taller than a screen); the compact card below sticks instead */
    body.itbs-theme-voyage .itbs-hero-shell > .itbs-hero-booking { position: relative; align-self: start; }
}

/* title block */
body.itbs-theme-voyage .vg-t-intro { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; min-width: 0; }
body.itbs-theme-voyage .vg-t-intro > * { min-width: 0; }
body.itbs-theme-voyage .vg-t-intro__kicker { display: inline-flex; align-items: center; gap: 6px; justify-self: start; color: var(--vg-accent); font-size: 12px; font-weight: 900; letter-spacing: .16em; text-decoration: none; text-transform: uppercase; }
body.itbs-theme-voyage .vg-t-intro__title { max-width: 1000px; margin: 0; color: var(--vg-ink); font-family: var(--t-font-h); font-size: clamp(32px, 4.4vw, 62px); font-weight: 950; letter-spacing: -.05em; line-height: 1.02; text-wrap: balance; }
body.itbs-theme-voyage .vg-t-intro__proof { display: grid; gap: 10px; }
body.itbs-theme-voyage .vg-t-intro__rating { display: inline-flex; align-items: center; gap: 8px; justify-self: start; padding: 0; border: 0; background: none; color: var(--vg-ink); font: 700 15px var(--t-font); cursor: pointer; }
body.itbs-theme-voyage .vg-t-intro__rating .itbs-stars { color: #f59e0b; font-size: 16px; }
body.itbs-theme-voyage .vg-t-intro__rating span { color: var(--vg-muted); text-decoration: underline; text-underline-offset: 3px; }
body.itbs-theme-voyage .vg-t-intro__lead { max-width: 860px; margin: 0; color: var(--vg-text); font-size: 18px; line-height: 1.55; }
body.itbs-theme-voyage .vg-t-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 2px 0 0; padding: 0; list-style: none; }
body.itbs-theme-voyage .vg-t-facts li { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 6px 16px 6px 8px; border: 1px solid var(--vg-line); border-radius: 999px; background: #fff; color: var(--vg-ink); font-size: 14.5px; font-weight: 700; }
body.itbs-theme-voyage .vg-t-facts .itbs-icon { box-sizing: content-box; padding: 6px; border-radius: 50%; background: var(--vg-accent-soft); color: var(--vg-accent); }
body.itbs-theme-voyage .vg-t-next { padding: 16px; border: 1px solid var(--vg-line); border-radius: calc(22px * var(--vg-k, 1)); background: #fff; }
body.itbs-theme-voyage .vg-t-next__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; color: var(--vg-ink); font-size: 16px; }
body.itbs-theme-voyage .vg-t-next__all { display: inline-flex; align-items: center; gap: 2px; padding: 0; border: 0; background: none; color: var(--vg-accent); font: 800 14.5px var(--t-font); cursor: pointer; }
body.itbs-theme-voyage .vg-t-next__list { display: flex; gap: 8px; margin: 0 -16px; padding: 0 16px 2px; overflow-x: auto; scrollbar-width: none; }
body.itbs-theme-voyage .vg-t-day { flex: none; display: grid; justify-items: center; gap: 1px; min-width: 92px; padding: 10px 12px; border: 1.5px solid var(--vg-line); border-radius: calc(16px * var(--vg-k, 1)); background: #fff; color: var(--vg-ink); font-family: var(--t-font); cursor: pointer; transition: border-color .15s, background-color .15s, transform .15s; }
body.itbs-theme-voyage .vg-t-day:hover:not([disabled]) { border-color: var(--vg-accent); background: var(--vg-accent-soft); transform: translateY(-2px); }
body.itbs-theme-voyage .vg-t-day b { font-size: 15px; font-weight: 850; }
body.itbs-theme-voyage .vg-t-day span { color: var(--vg-muted); font-size: 13px; }
body.itbs-theme-voyage .vg-t-day small { margin-top: 3px; color: #047857; font-size: 12px; font-weight: 800; }
body.itbs-theme-voyage .vg-t-day.is-low small { color: #c2410c; }
body.itbs-theme-voyage .vg-t-day.is-full { opacity: .5; cursor: default; }
body.itbs-theme-voyage .vg-t-day.is-full small { color: var(--vg-muted); }
@media (min-width: 1024px) { body.itbs-theme-voyage .vg-t-intro { grid-template-columns: minmax(0, 1fr) minmax(320px, 460px); column-gap: 40px; align-items: end; } body.itbs-theme-voyage .vg-t-intro > .vg-t-next { grid-column: 2; grid-row: 1 / span 4; align-self: end; } }

/* gallery: swipe on phones, 1 + 4 mosaic on desktop */
body.itbs-theme-voyage .vg-t-gallery { position: relative; margin: 0 calc((100vw - 100%) / -2); overflow: hidden; background: var(--vg-night); }
body.itbs-theme-voyage .vg-t-gallery__track { aspect-ratio: 4 / 3; max-height: 62vh; }
body.itbs-theme-voyage .vg-t-gallery__item { position: relative; display: block; height: 100%; padding: 0; border: 0; background: var(--vg-night); cursor: zoom-in; }
body.itbs-theme-voyage .vg-t-gallery__item picture, body.itbs-theme-voyage .vg-t-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.itbs-theme-voyage .vg-t-gallery__count { left: auto; right: 12px; bottom: 12px; }
body.itbs-theme-voyage .vg-t-gallery__pills { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: flex; gap: 6px; }
body.itbs-theme-voyage .vg-t-pill { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .95); color: var(--vg-ink); font: 800 13.5px var(--t-font); cursor: pointer; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .5); }
body.itbs-theme-voyage .vg-t-pill .itbs-icon-play { fill: currentColor; }
body.itbs-theme-voyage .vg-t-gallery__pills .vg-t-pill:first-child { display: none; }
@media (min-width: 640px) { body.itbs-theme-voyage .vg-t-gallery { margin: 0; border-radius: var(--vg-r); } }
@media (min-width: 1024px) {
    body.itbs-theme-voyage .vg-t-gallery { background: transparent; border-radius: 0; }
    body.itbs-theme-voyage .vg-t-gallery__track { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: clamp(400px, 34vw, 540px); aspect-ratio: auto; max-height: none; overflow: hidden; scroll-snap-type: none; }
    body.itbs-theme-voyage .vg-t-gallery__item { overflow: hidden; border-radius: calc(18px * var(--vg-k, 1)); }
    body.itbs-theme-voyage .vg-t-gallery__item--0 { grid-row: 1 / 3; border-radius: var(--vg-r); }
    body.itbs-theme-voyage .vg-t-gallery__item:nth-child(n+6) { display: none; }
    body.itbs-theme-voyage .vg-t-gallery__item img { transition: transform .5s ease, filter .2s; }
    body.itbs-theme-voyage .vg-t-gallery__item:hover img { transform: scale(1.04); filter: brightness(.95); }
    body.itbs-theme-voyage .vg-t-gallery.is-three .vg-t-gallery__track { grid-template-columns: 2fr 1fr; }
    body.itbs-theme-voyage .vg-t-gallery.is-three .vg-t-gallery__item:nth-child(n+4) { display: none; }
    body.itbs-theme-voyage .vg-t-gallery.is-few .vg-t-gallery__track { grid-template-columns: 1fr; grid-template-rows: 1fr; }
    body.itbs-theme-voyage .vg-t-gallery.is-few .vg-t-gallery__item--0 { grid-row: auto; }
    body.itbs-theme-voyage .vg-t-gallery.is-few .vg-t-gallery__item:nth-child(n+2) { display: none; }
    body.itbs-theme-voyage .vg-t-gallery__count { display: none; }
    body.itbs-theme-voyage .vg-t-gallery__pills { left: auto; right: 16px; bottom: 16px; }
    body.itbs-theme-voyage .vg-t-gallery__pills .vg-t-pill:first-child { display: inline-flex; }
}

/* booking card */
body.itbs-theme-voyage .itbs-hero-booking { overflow: clip; border: 1px solid var(--vg-line); border-radius: var(--vg-r); background: #fff; box-shadow: 0 30px 70px -40px rgba(15, 23, 42, .45); }
body.itbs-theme-voyage .itbs-hero-booking-head { padding: 18px 20px; border-bottom: 1px solid var(--vg-line); background: linear-gradient(180deg, var(--vg-accent-soft) 0%, #fff 100%); }
body.itbs-theme-voyage .vg-t-buy { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body.itbs-theme-voyage .vg-t-buy__price { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; color: var(--vg-muted); font-size: 14px; font-weight: 600; }
body.itbs-theme-voyage .vg-t-buy__price b { color: var(--vg-ink); font: 950 32px/1.1 var(--t-font-h); letter-spacing: -.035em; }
body.itbs-theme-voyage .vg-t-buy__fav { flex: none; display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid var(--vg-line); border-radius: calc(14px * var(--vg-k, 1)); background: #fff; color: var(--vg-accent); stroke: currentColor; cursor: pointer; }
body.itbs-theme-voyage .vg-t-buy__fav svg { width: 22px; height: 22px; }
body.itbs-theme-voyage .vg-t-buy__fav.active svg { fill: currentColor; }
body.itbs-theme-voyage .vg-t-buy__note { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; color: var(--vg-muted); font-size: 14px; }
body.itbs-theme-voyage .vg-t-buy__note .itbs-icon { color: #047857; }
body.itbs-theme-voyage #booking-form button[type="submit"] { border-radius: calc(15px * var(--vg-k, 1)); }

/* section tabs */
body.itbs-theme-voyage .vg-t-tabs { display: block; }
body.itbs-theme-voyage .vg-t-tabs__bar { position: sticky; z-index: 20; top: var(--vg-hdr); display: block; max-width: none; margin: 0 calc((100vw - 100%) / -2); padding: 0 calc((100vw - 100%) / 2); overflow-x: auto; border: 0; border-bottom: 1px solid var(--vg-line); border-radius: 0; background: rgba(255, 255, 255, .97); box-shadow: none; scrollbar-width: none; }
body.itbs-theme-voyage .vg-t-tabs__inner { display: flex; gap: 4px; }
body.itbs-theme-voyage .vg-t-tabs .itbs-tab { flex: none; height: 54px; padding: 0 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--vg-muted); font: 800 15px var(--t-font); }
body.itbs-theme-voyage .vg-t-tabs .itbs-tab:hover { color: var(--vg-ink); }
body.itbs-theme-voyage .vg-t-tabs .itbs-tab.active { border-bottom-color: var(--vg-accent); color: var(--vg-ink); }
@media (min-width: 1024px) { body.itbs-theme-voyage .vg-t-tabs__bar { margin: 0; padding: 0 8px; border: 1px solid var(--vg-line); border-radius: calc(18px * var(--vg-k, 1)); top: calc(var(--vg-hdr) + 12px); } }

/* content: one calm card style */
body.itbs-theme-voyage .itbs-tour-content-flow { gap: 18px !important; }
body.itbs-theme-voyage .itbs-tour-content-flow > div, body.itbs-theme-voyage #map-section { border-color: var(--vg-line) !important; border-radius: calc(24px * var(--vg-k, 1)) !important; box-shadow: none !important; }
body.itbs-theme-voyage .itbs-tour-content-flow > #overview { border: 0; background: transparent; }
body.itbs-theme-voyage .itbs-tour-time-card { border: 1px solid var(--vg-line) !important; border-radius: calc(22px * var(--vg-k, 1)) !important; background: #fff !important; box-shadow: none !important; }
body.itbs-theme-voyage .itbs-tour-time-value { color: var(--vg-ink); }
body.itbs-theme-voyage .itbs-highlights-section { padding: 22px !important; background: #fff !important; }
body.itbs-theme-voyage .itbs-highlights-section .flex.flex-wrap > span { min-height: 42px; padding: 8px 14px !important; border-color: var(--vg-line) !important; border-radius: 999px !important; background: var(--vg-soft) !important; font-size: 15px !important; }
body.itbs-theme-voyage .itbs-highlights-section .text-yellow-500 { color: var(--vg-accent) !important; }
body.itbs-theme-voyage #cost-section { padding: 22px !important; background: #fff !important; }
body.itbs-theme-voyage .itbs-price-card { border-color: var(--vg-line) !important; border-radius: calc(16px * var(--vg-k, 1)) !important; background: var(--vg-soft) !important; }
body.itbs-theme-voyage .itbs-tour-content-flow h2, body.itbs-theme-voyage .itbs-tour-content-flow h3 { color: var(--vg-ink); letter-spacing: -.025em; }
body.itbs-theme-voyage .itbs-program-copy { color: #1f2937; font-size: 17px; line-height: 1.7; }
body.itbs-theme-voyage .itbs-timeline-dot { border-color: #fff !important; background: var(--vg-accent) !important; box-shadow: 0 0 0 2px var(--vg-accent) !important; }
body.itbs-theme-voyage #faq-section details, body.itbs-theme-voyage #faq-section .faq-item { border-color: var(--vg-line) !important; border-radius: calc(16px * var(--vg-k, 1)) !important; }
body.itbs-theme-voyage #reviews-section, body.itbs-theme-voyage .itbs-tour-questions { background: #fff !important; }

/* phone booking bar */
body.itbs-theme-voyage #mobile-sticky-book.vg-t-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--vg-line); background: rgba(255, 255, 255, .98); box-shadow: 0 -12px 30px -20px rgba(15, 23, 42, .45); transition: transform .28s ease; }
body.itbs-theme-voyage .vg-t-sticky__row { display: flex; align-items: center; gap: 10px; max-width: 560px; margin: 0 auto; }
body.itbs-theme-voyage .vg-t-sticky__price { display: grid; min-width: 0; color: var(--vg-muted); font-size: 12.5px; line-height: 1.15; }
body.itbs-theme-voyage .vg-t-sticky__price b { color: var(--vg-ink); font: 900 20px/1.2 var(--t-font-h); white-space: nowrap; }
body.itbs-theme-voyage .vg-t-sticky__chat { flex: none; display: grid; place-items: center; width: 50px; height: 50px; margin-left: auto; border: 1px solid var(--vg-line); border-radius: calc(15px * var(--vg-k, 1)); color: var(--vg-ink); }
body.itbs-theme-voyage .vg-t-sticky__go { flex: 0 1 auto; min-height: 50px; padding: 0 20px; border-radius: calc(15px * var(--vg-k, 1)); background: var(--vg-accent) !important; color: #fff !important; font-weight: 850; }
body.itbs-theme-voyage .vg-t-sticky__price + .vg-t-sticky__go { margin-left: auto; }
@media (min-width: 1024px) { body.itbs-theme-voyage #mobile-sticky-book.vg-t-sticky { display: none; } }
@media (max-width: 1023px) { body.itbs-theme-voyage .itbs-tour-page { padding-bottom: 84px; } }

/* compact booking card: under the full form in the right column, sticks below the header once the form is gone; it lives
   in the content's rows, so it stops before the footer */
body.itbs-theme-voyage .vg-t-mini { display: none; }
@media (min-width: 1024px) {
    body.itbs-theme-voyage .vg-t-mini { grid-area: book; align-self: stretch; display: block; padding-top: calc(var(--vg-book-h, 100vh) + 24px); pointer-events: none; }
    body.itbs-theme-voyage .vg-t-mini__card { position: sticky; top: calc(var(--vg-hdr) + 18px); display: grid; gap: 12px; padding: 16px; border: 1px solid var(--vg-line); border-radius: calc(22px * var(--vg-k, 1)); background: #fff; box-shadow: 0 24px 50px -30px rgba(15, 23, 42, .45); opacity: 0; transform: translateY(8px); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility 0s .2s; }
    body.itbs-theme-voyage .vg-t-mini.is-on .vg-t-mini__card { pointer-events: auto; opacity: 1; transform: none; visibility: visible; transition: opacity .2s ease, transform .2s ease; }
}
.vg-t-mini__head { display: flex; align-items: center; gap: 12px; }
.vg-t-mini__head img { flex: none; width: 52px; height: 52px; border-radius: calc(14px * var(--vg-k, 1)); object-fit: cover; }
.vg-t-mini__head b { display: -webkit-box; overflow: hidden; color: var(--vg-ink); font-size: 15px; font-weight: 850; line-height: 1.25; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.vg-t-mini__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; color: var(--vg-muted); font-size: 13px; font-weight: 600; }
.vg-t-mini__price b { color: var(--vg-ink); font: 950 26px/1.1 var(--t-font-h); letter-spacing: -.03em; }
.vg-t-mini__next { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; padding: 8px 12px; border-radius: calc(12px * var(--vg-k, 1)); background: #ecfdf5; color: #047857; font-size: 13px; font-weight: 700; }
.vg-t-mini__next span { font-size: 9px; }
.vg-t-mini__actions { display: flex; gap: 8px; }
body.itbs-theme-voyage .vg-t-mini__go { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border: 0; border-radius: calc(14px * var(--vg-k, 1)); background: var(--vg-accent); color: #fff; font: 850 15px var(--t-font); cursor: pointer; box-shadow: 0 12px 24px -14px color-mix(in srgb, var(--t-accent) 80%, transparent); }
body.itbs-theme-voyage .vg-t-mini__go:hover { background: var(--vg-accent-ink); }
body.itbs-theme-voyage .vg-t-mini__chat { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--vg-line); border-radius: calc(14px * var(--vg-k, 1)); color: #16a34a; }

/* tour prices in the theme's look */
body.itbs-theme-voyage .itbs-tier, body.itbs-theme-voyage .itbs-standard-price-grid > .itbs-price-card { border-color: var(--vg-line) !important; border-radius: calc(18px * var(--vg-k, 1)) !important; background: var(--vg-soft) !important; }
body.itbs-theme-voyage .itbs-tier__price { color: var(--vg-ink); }

/* the way to write: the messenger's own mark and colour */
.vg-chat-ico { flex: none; }
.vg-chat-ico.is-whatsapp { color: #25d366; }
.vg-chat-ico.is-telegram { color: #229ed9; }
body.itbs-theme-voyage .vg-t-sticky__chat.is-whatsapp, body.itbs-theme-voyage .vg-t-mini__chat.is-whatsapp { border-color: #25d366; background: #25d366; color: #fff; }
body.itbs-theme-voyage .vg-t-sticky__chat.is-telegram, body.itbs-theme-voyage .vg-t-mini__chat.is-telegram { border-color: #229ed9; background: #229ed9; color: #fff; }
.vg-t-sticky__chat .vg-chat-ico, .vg-t-mini__chat .vg-chat-ico { color: inherit; }
body.itbs-theme-voyage .vg-cta__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.vg-cta__btn .vg-chat-ico.is-whatsapp, .vg-cta__btn .vg-chat-ico.is-telegram { width: 24px; height: 24px; }
body.itbs-theme-voyage .vg-faq__help a { display: inline-flex; align-items: center; gap: 8px; }

/* phone: the booking form is a bottom sheet opened from the bar («Choose a date», the next days) */
.vg-sheet-head, .vg-sheet-scrim { display: none; }
@media (max-width: 1023px) {
    body.itbs-theme-voyage .itbs-hero-shell > .itbs-hero-booking { position: fixed; z-index: 141; left: 0; right: 0; bottom: 0; max-height: min(90dvh, 820px); overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom, 0px); box-shadow: 0 -24px 60px -20px rgba(15, 23, 42, .45); transform: translateY(105%); visibility: hidden; transition: transform .32s cubic-bezier(.2, .8, .2, 1), visibility 0s .32s; }
    body.itbs-theme-voyage.vg-sheet-open .itbs-hero-shell > .itbs-hero-booking { transform: none; visibility: visible; transition: transform .32s cubic-bezier(.2, .8, .2, 1); }
    body.itbs-theme-voyage .vg-sheet-head { position: sticky; z-index: 3; top: 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 18px 18px 12px; background: #fff; border-bottom: 1px solid var(--vg-line); touch-action: none; }
    .vg-sheet-head::before { content: ''; position: absolute; top: 7px; left: 50%; width: 42px; height: 5px; border-radius: 3px; background: #cbd5e1; transform: translateX(-50%); }
    .vg-sheet-head b { overflow: hidden; color: var(--vg-ink); font-size: 16px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
    body.itbs-theme-voyage .vg-sheet-close { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--vg-soft); color: var(--vg-ink); cursor: pointer; }
    body.itbs-theme-voyage .vg-sheet-scrim { position: fixed; z-index: 140; inset: 0; display: block; background: rgba(15, 23, 42, .45); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
    body.itbs-theme-voyage.vg-sheet-open .vg-sheet-scrim { opacity: 1; pointer-events: auto; }
    body.vg-sheet-open { overflow: hidden; }
    /* the bar stays on screen on a phone; floating buttons stand above it */
    body.itbs-theme-voyage #mobile-sticky-book.vg-t-sticky { transform: none !important; }
    body.itbs-theme-voyage.vg-sheet-open #mobile-sticky-book.vg-t-sticky { transform: translateY(100%) !important; }
    body.itbs-theme-voyage:has(#mobile-sticky-book) .itbs-fav-fab { bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* links keep their own colour on hover (the engine's base turns every a:hover into the secondary colour) */
body.itbs-theme-voyage :is(.vg-product, .vg-region, .vg-post, .vg-promo__banner, .vg-ccombo h3 a, .vg-review small a, .vg-dark a):hover { color: #fff; }
body.itbs-theme-voyage :is(.vg-dest, .vg-ratings__item, .vg-partners__rating, .vg-tile, .vg-btn--ghost, .vg-hero__news, .vg-ccombo__go, .vg-pick__day, .vg-chip, .vg-cbar__guests a):hover { color: var(--vg-ink); }
body.itbs-theme-voyage :is(.vg-dest.is-active, .vg-chip.is-active, .vg-pick__day.is-active, .vg-cbar__guests a.is-active, .vg-btn--accent, .vg-t-mini__go, .vg-card:hover .vg-card__go):hover { color: #fff; }
body.itbs-theme-voyage :is(.vg-cta__btn, .vg-faq__help a, .vg-btn--light):hover { color: var(--vg-accent-ink); }
body.itbs-theme-voyage :is(.vg-t-sticky__chat, .vg-t-mini__chat):is(.is-whatsapp, .is-telegram):hover { color: #fff; }
body.itbs-theme-voyage .vg-head__link:hover { color: var(--vg-accent-ink); }
body.itbs-theme-voyage .vg-cbar__reset:hover { color: #b91c1c; }

/* phone: the signed-in admin's buttons (site pill, Sava) stand above the bottom navigation */
@media (max-width: 760px) {
    body.itbs-theme-voyage:has(.vg-bottom) :is(.itbs-pill, .sava-launch, .itbs-fav-fab) { bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* ---------- the catalogue's filters on a computer: one compact row (owner 2026-11-02: «занимают слишком много места и
   перекрывают полезную часть»). Days, other day, guests, search, sort and the count share a line; the summary chips
   repeated what the active filters already show, so only the count and «Clear search» stay, at the end. */
@media (min-width: 1101px) {
    .vg-cbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 10px 12px; }
    .vg-cbar__row, .vg-cbar__summary { display: contents; }
    .vg-cbar__days { gap: 6px; }
    body.itbs-theme-voyage .vg-cbar .vg-chip { min-height: 38px; padding: 0 14px; font-size: 14px; }
    .vg-cbar__guests { margin-left: 0; padding: 2px 2px 2px 10px; }
    body.itbs-theme-voyage .vg-cbar__guests a { width: 32px; height: 32px; font-size: 13.5px; }
    .vg-cbar__search { flex: 1 1 160px; min-height: 40px; padding: 0 14px; }
    .vg-cbar__search input { height: 38px; font-size: 14.5px; }
    .vg-cbar__sort select { height: 40px; max-width: 290px; padding: 0 34px 0 14px; font-size: 13.5px; text-overflow: ellipsis; }
    .vg-cbar__summary > span { display: none; }
    .vg-cbar:has(.vg-cbar__summary) .vg-cbar__count { display: none; }
    .vg-cbar__summary em { white-space: nowrap; }
    body.itbs-theme-voyage .vg-cbar__reset { margin-left: 0; white-space: nowrap; }
}

/* itbs-select */
/* The site's own drop-down list for selects (assets/itbs-select.js). */
.itbs-sel-pop {
    position: fixed; z-index: 2147483000; box-sizing: border-box; min-width: 180px; max-width: min(420px, calc(100vw - 16px));
    max-height: 360px; overflow: auto; overscroll-behavior: contain; padding: 6px;
    background: #fff; border: 1px solid rgba(15, 23, 42, .08); border-radius: 14px;
    box-shadow: 0 24px 48px -18px rgba(15, 23, 42, .38), 0 2px 6px rgba(15, 23, 42, .06);
    color: #0f172a; font-size: 15px; font-weight: 500; line-height: 1.35; text-align: left;
    animation: itbs-sel-in .12s ease-out;
}
.itbs-sel-pop__opt {
    position: relative; padding: 10px 14px 10px 36px; border-radius: 9px; cursor: pointer;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.itbs-sel-pop__opt.is-active { background: color-mix(in srgb, var(--itbs-primary, #186b5c) 10%, var(--itbs-paper,#fff)); }
.itbs-sel-pop__opt[aria-selected="true"] { color: var(--itbs-primary, #186b5c); font-weight: 700; }
.itbs-sel-pop__opt[aria-selected="true"]::before {
    content: ""; position: absolute; left: 13px; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.itbs-sel-pop__opt[aria-disabled="true"] { opacity: .45; cursor: default; }
.itbs-sel-pop__group { padding: 12px 14px 4px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #64748b; }
.itbs-sel-pop__group:first-child { padding-top: 6px; }
select[aria-expanded="true"] { outline: none; }
@keyframes itbs-sel-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .itbs-sel-pop { animation: none; } }

/* itbs-dest */
/* The destination picker (inc/destinations.php, assets/itbs-dest.js): photo cards of the regions, rows of other countries. */
html.itbs-dest-lock { overflow: hidden; }
.itbs-dest { position: fixed; inset: 0; z-index: 2147482000; display: flex; align-items: flex-start; justify-content: center; padding: 72px 24px 24px; box-sizing: border-box; }
.itbs-dest[hidden] { display: none; }
.itbs-dest *, .itbs-dest *::before, .itbs-dest *::after { box-sizing: border-box; }
.itbs-dest__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transition: opacity .18s ease; }
.itbs-dest__panel {
    position: relative; width: min(1120px, 100%); max-height: calc(100dvh - 96px); overflow: auto; overscroll-behavior: contain;
    background: #fff; color: #0f172a; border-radius: 22px; box-shadow: 0 40px 80px -30px rgba(15, 23, 42, .55); outline: none;
    font-family: var(--itbs-font-body, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);
    opacity: 0; transform: translateY(10px) scale(.985); transition: opacity .18s ease, transform .18s ease;
}
.itbs-dest.is-open .itbs-dest__backdrop { opacity: 1; }
.itbs-dest.is-open .itbs-dest__panel { opacity: 1; transform: none; }
.itbs-dest__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 28px 36px 18px; }
.itbs-dest__head small { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--itbs-primary, #186b5c); }
.itbs-dest__head h2 { margin: 0; font-family: var(--itbs-font-heading, inherit); font-size: 30px; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; color: #0f172a; }
.itbs-dest__x { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; padding: 0; border: 0; border-radius: 50%; background: #f1f5f9; color: #0f172a; cursor: pointer; transition: background .15s ease; }
.itbs-dest__x:hover { background: #e2e8f0; }
.itbs-dest svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.itbs-dest__body { display: block; padding: 0 36px 34px; }
.itbs-dest__body.has-side { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; }
.itbs-dest h3 { margin: 4px 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #64748b; }
.itbs-dest__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; }
.itbs-dest a { text-decoration: none; }
.itbs-dest a[hidden] { display: none !important; }
.itbs-dest-card {
    position: relative; display: block; aspect-ratio: 4 / 5; max-height: 340px; overflow: hidden; isolation: isolate; border-radius: 18px;
    background: linear-gradient(150deg, var(--itbs-primary, #186b5c), color-mix(in srgb, var(--itbs-primary, #186b5c) 45%, #0f172a));
    color: #fff; outline: none; transition: transform .2s ease, box-shadow .2s ease;
}
.itbs-dest-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.itbs-dest-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15, 23, 42, .1) 0%, transparent 35%, rgba(15, 23, 42, .86) 100%); }
.itbs-dest-card:hover, .itbs-dest-card:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 32px -12px rgba(15, 23, 42, .45); color: #fff; }
.itbs-dest-card:hover img { transform: scale(1.06); }
.itbs-dest-card:focus-visible, .itbs-dest-card[aria-current] { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--itbs-primary, #186b5c); }
.itbs-dest-card__copy { position: absolute; z-index: 1; left: 18px; right: 18px; bottom: 18px; display: block; }
.itbs-dest-card__copy strong { display: block; font-size: 22px; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; color: #fff; text-shadow: 0 1px 12px rgba(0, 0, 0, .25); }
.itbs-dest-card__copy small { display: inline-block; margin-top: 8px; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: 12.5px; font-weight: 600; color: #fff; }
.itbs-dest-card__badge { position: absolute; z-index: 1; top: 12px; left: 12px; display: none; padding: 6px 10px; border-radius: 999px; background: var(--itbs-primary, #186b5c); color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1; }
.itbs-dest-card[aria-current] .itbs-dest-card__badge { display: block; }
.itbs-dest__side section + section { margin-top: 22px; }
.itbs-dest-row { display: flex; align-items: center; gap: 14px; min-height: 68px; padding: 8px; border-radius: 14px; color: #0f172a; outline: none; transition: background .15s ease; }
.itbs-dest-row:hover, .itbs-dest-row:focus-visible { background: #f1f5f9; color: #0f172a; }
.itbs-dest-row[aria-current] { background: color-mix(in srgb, var(--itbs-primary, #186b5c) 10%, var(--itbs-paper,#fff)); }
.itbs-dest-row > span:nth-child(2) { flex: 1; min-width: 0; }
.itbs-dest-row__thumb { width: 54px; height: 54px; flex-shrink: 0; overflow: hidden; border-radius: 12px; background: color-mix(in srgb, var(--itbs-primary, #186b5c) 14%, var(--itbs-paper,#fff)); }
.itbs-dest-row__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.itbs-dest-row strong, .itbs-dest-all strong { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; color: #0f172a; }
.itbs-dest-row small, .itbs-dest-all small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.35; color: #64748b; }
.itbs-dest-row > svg, .itbs-dest-all > svg { color: #94a3b8; transition: transform .15s ease, color .15s ease; }
.itbs-dest-row:hover > svg, .itbs-dest-all:hover > svg { color: var(--itbs-primary, #186b5c); transform: translateX(3px); }
.itbs-dest-all { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 22px; padding: 16px 18px; border: 1.5px solid #e2e8f0; border-radius: 14px; color: #0f172a; outline: none; transition: border-color .15s ease; }
.itbs-dest-all:hover, .itbs-dest-all:focus-visible, .itbs-dest-all[aria-current] { border-color: var(--itbs-primary, #186b5c); color: #0f172a; }
.itbs-dest:not(.is-pick) .itbs-dest-all[aria-current] { border-color: #e2e8f0; }

/* the header button that opens it */
.itbs-dest-open { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 4px; border: 0; background: none; color: inherit; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.itbs-dest-open svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.itbs-dest-open__chev { opacity: .7; transition: transform .15s ease; }
.itbs-dest-open[aria-expanded="true"] .itbs-dest-open__chev { transform: rotate(180deg); }
.itbs-dest-open span { overflow: hidden; text-overflow: ellipsis; max-width: 220px; }

@media (max-width: 860px) {
    .itbs-dest__body.has-side { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 640px) {
    .itbs-dest { align-items: flex-end; padding: 0; }
    .itbs-dest__panel { width: 100%; max-height: 92dvh; border-radius: 22px 22px 0 0; transform: translateY(24px); }
    .itbs-dest__head { position: sticky; top: 0; z-index: 2; padding: 18px 16px 12px; background: #fff; }
    .itbs-dest__head small { margin-bottom: 4px; }
    .itbs-dest__head h2 { font-size: 24px; }
    .itbs-dest__body { padding: 0 16px calc(24px + env(safe-area-inset-bottom, 0px)); }
    .itbs-dest__cards { grid-template-columns: 1fr 1fr; gap: 10px; }
    .itbs-dest-card { aspect-ratio: 4 / 3.6; border-radius: 14px; }
    .itbs-dest-card:hover { transform: none; }
    .itbs-dest-card__copy { left: 12px; right: 10px; bottom: 11px; }
    .itbs-dest-card__copy strong { font-size: 17px; }
    .itbs-dest-card__copy small { margin-top: 5px; padding: 3px 8px; font-size: 11.5px; }
    .itbs-dest-card__badge { top: 8px; left: 8px; font-size: 10.5px; padding: 5px 8px; }
    .itbs-dest-row { padding: 8px 0; }
}
@media (prefers-reduced-motion: reduce) {
    .itbs-dest__backdrop, .itbs-dest__panel, .itbs-dest-card, .itbs-dest-card img { transition: none; }
}
.itbs-dest a:focus-visible, .itbs-dest button:focus-visible { outline: none; }
.itbs-dest__x:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--itbs-primary, #186b5c) 35%, transparent); }
@media (max-width: 640px) { .itbs-region-trigger .itbs-dest-open { font-size: 14px; gap: 5px; } .itbs-region-trigger .itbs-dest-open span { max-width: 120px; } }

