/* Taevaskoja – base fixes (review 2026-10-12).
   Breakdance global classes set display:flex/inline-flex on buttons, cards and FAQ rows, which silently
   overrides the HTML hidden attribute the scripts rely on ("Vaata rohkem pilte", "Loe kõiki küsimusi",
   extra FAQ rows, empty-state notes). Make hidden always win. */
[hidden] { display: none !important; }

/* ---- Review 2026-10-12: layout ---- */
/* Lastelaager "icon-grid" pairs: both cards of a row share the row height (was align-items:center). */
body .icon-grid { align-items: stretch; }
body .icon-grid .why-card { height: auto; }

/* Enquiry option cards beside the summary sidebar: 4 columns are too narrow below 1440px (titles broke
   mid-word) – use 3 until the sidebar drops below the form at 1023px. */
@media (min-width: 1024px) and (max-width: 1439px) {
  body .enquiry-layout .option-grid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* "Rohkem infot" text inside a card is centred like the rest of the card. */
body .option-card__more { text-align: center; }

/* Enquiry step bar: the finished line was solid AND dashed at once; the done-check icon is forced square. */
body .stepbar__line[data-state="done"] { background-image: none; }

/* ---- Review 2026-10-12: hover states from the design (Figma "Parandused / Deskdop") ---- */
/* Stroke buttons (Keidi 13.10.2026 example): hover = stroke at 20%, background stays transparent. */
body .button.button--outline:hover,
body .button.button--outline:focus-visible { background-color: transparent; border-color: rgba(17, 54, 23, .2); }
/* White buttons on dark/yellow backgrounds: hover = white with 8% green overlay. */
body .button.button--white:hover,
body .button.button--white:focus-visible { background-color: #eceee8; }
/* Filter chips (Galerii, Blogi, Tegevused) – Figma "Filtrite nupu olekud" (Keidi 13.10.2026): transparent background
   in every state; default = no stroke, hover = light stroke, active = dark stroke (also while hovered). */
body .button.filter { background-color: transparent; box-shadow: none; }
body .button.filter:not(.is-active) { border-color: transparent; }
body .button.filter:not(.is-active):hover,
body .button.filter:not(.is-active):focus-visible { background-color: transparent; border-color: rgba(17, 54, 23, .12); box-shadow: none; }
body .button.filter.is-active,
body .button.filter.is-active:hover,
body .button.filter.is-active:focus-visible { background-color: transparent; border-color: var(--g-100); }
/* Slider arrows: light bg F6F5E8 → F4F3D8, on dark/yellow FFFFFA → 8% green overlay. */
body .slider-arrow:hover,
body .slider-arrow:focus-visible,
body .tvk-gallery__arrow:hover { background-color: var(--arrow-bg-hover, #f4f3d8); }

/* ---- Review 2026-10-12: calmer mobile menu ---- */
body .mobile-menu:not([hidden]) { animation: tvk-fade-in .3s ease-out both; }
body .mobile-menu:not([hidden]) .mobile-level[data-level="root"]:not([hidden]),
body .mobile-menu:not([hidden]) .mobile-level--sub:not([hidden]) { animation: tvk-fade-in .25s ease-out both; }
body .mobile-nav__close:active, body .menu-toggle:active { transform: none; }
body .menu-toggle:hover img { transform: none; }

/* Selected option card: the "Valitud" bar keeps the label left and the cancel cross in the top-right corner. */
body .option-card__selected { justify-content: space-between; }
body .option-card__cancel { margin-left: auto; }

/* Tegevused/Matkainfo text cards: body copy is the general 19px body text, not the 14px small text. */
body .info-card__text { font-size: 1.1875rem; line-height: 1.5625rem; }

/* Footer credit logo (Leruul) was exported with transform:scale(0,-1), i.e. zero width – invisible. */
body .footer-credit__logo { transform: none; }
/* The global img{max-width:100%} clipped the done-check to the circle's content box (68px of 71px), so the
   check ring sat 3px off the border ring ("stroke on nihkes"). */
body .stepbar__done { max-width: none; max-height: none; top: -1.5px; left: -1.5px; width: calc(100% + 3px); height: calc(100% + 3px); inset: auto; }

/* Footer info block (Asukoht / Kontakt / Jälgi meid): Figma gives it 4rem top+bottom padding and a 309px
   frame; the live content is taller than the mock-up, so a fixed height swallowed the bottom padding. */
body .footer-info__container { height: auto; min-height: 19.3125rem; }

/* Titles never break inside a word (Breakdance exported word-break:break-word on every title). Body texts keep
   break-word so a long URL cannot blow a card open. */
body [class*="__title"], body .stat, body .travel-card__title { word-break: normal; overflow-wrap: normal; hyphens: manual; }
/* Drive-time cards: 4 in a row below 1440px get less padding and a slightly smaller title so "Tallinnast" fits. */
@media (min-width: 1024px) and (max-width: 1439px) {
  body .travel-card { padding: 2rem 1.5rem; }
  body .travel-card__title { font-size: 1.75rem; }
}

/* ---- [tvk_pildislaider]: photo block with centred text (Figma "Gallery slider - large") ---- */
body .pildislaider .gallery-slide { justify-content: center; padding-bottom: 0; }
body .pildislaider .gallery-slide__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body .pildislaider .gallery-slide__media .tvk-gallery__frame > img { position: absolute; }
body .pildislaider .gallery-slide__caption--center { align-items: center; text-align: center; gap: 2.25rem; width: 42.1875rem; max-width: calc(100% - 2rem); }
body .pildislaider .gallery-slide__title { text-align: center; }
body .pildislaider .button--white { background-color: var(--white); color: var(--g-100); }
body .pildislaider .button--white .button__label { color: var(--g-100); font-size: 1rem; }
body .pildislaider .gallery-dots:empty { display: none; }
/* Arrows: design "Extra small" – 36px, F6F5E8 at 90%, only while hovering the photo or the dots. */
body .pildislaider .tvk-gallery__arrow { width: 2.25rem; height: 2.25rem; font-size: 1rem; background-color: rgba(246, 245, 232, .9); opacity: 0; transition: opacity .2s ease, background-color .2s ease; }
body .pildislaider .gallery-slide__media:hover .tvk-gallery__arrow,
body .pildislaider .gallery-section__container:has(.gallery-dots:hover) .tvk-gallery__arrow { opacity: 1; }
body .pildislaider .gallery-slide__media { pointer-events: auto; }
body .pildislaider .gallery-slide__caption { pointer-events: none; }
body .pildislaider .gallery-slide__caption a { pointer-events: auto; }
@media (max-width: 767px) {
  body .pildislaider .gallery-slide { aspect-ratio: 335 / 520; }
}
