/* TopArt component styles. Keep critical layout outside Atomic custom CSS. */
/* Native typography, backgrounds, sizing and grid are stored in Elementor. */
.elementor .topart-page-title { text-wrap: balance; overflow-wrap: anywhere; }
.elementor .topart-home-hero { isolation: isolate; }
.elementor .topart-hero-star { transform: translateY(-50%); }
#faq .topart-faq-question { white-space: normal; overflow-wrap: anywhere; }
#faq button[aria-controls]::after { right: 8px; width: 24px; text-align: center; }
#faq [id^='faq-answer-'][hidden] { display: none !important; }
#faq .text-label { color: #0c4da2; }

/* Each row scrolls natively, so dragging never fights a transform animation. */
.topart-gallery-viewport {
    overflow-x: auto !important; overflow-y: hidden !important;
    overscroll-behavior-x: contain; scrollbar-width: none; cursor: grab;
}
.topart-gallery-viewport::-webkit-scrollbar { display: none; }
.topart-gallery-viewport:active { cursor: grabbing; }
#gallery-track-one, #gallery-track-two { will-change: auto; }
#gallery-track-one img, #gallery-track-two img { user-select: none; -webkit-user-drag: none; }
.topart-gallery-controls { display: flex; justify-content: center; padding: 8px 16px; }
.topart-gallery-toggle {
    min-height: 44px; padding: 10px 20px; border: 1px solid #0c4da2;
    border-radius: 24px; background: #07122f; color: #fff;
    font: 700 16px/1.3 'TopArt Instrument',sans-serif; cursor: pointer;
}
.topart-gallery-toggle:hover { background: #0c4da2; }
header .topart-language-switcher > a { min-width: 44px; min-height: 44px; }
#topart-mobile-nav a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; }
#topart-mobile-nav { max-height: calc(100dvh - 80px); overflow-y: auto; }

@media (max-width: 1024px) {
    #topart-contact-form :is(input,select,textarea) { font-size: 16px; }
}
@media (max-width: 767px) {
    .elementor .topart-hero-star { transform: none; margin-left: -28px; margin-bottom: -54px; }
    .elementor .topart-hero-background { object-position: 68% center; }
    header .boxed-container { column-gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    #flag-track { transform: none !important; }
}

footer.elementor-location-footer .e-paragraph-link-base { display: inline-flex; min-height: 44px; align-items: center; }
#moove_gdpr_cookie_info_bar button, #moove_gdpr_cookie_modal button { min-height: 44px; }
