/* Local adaptations: retain the original design without a WordPress/Elementor runtime. */
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 10000; padding: 12px 20px; background: white; color: black; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #b99a73; outline-offset: 4px; }
.elementor-invisible { visibility: visible !important; }
.static-contact { padding: clamp(24px, 4vw, 48px); color: #fff; background: #211c18; border: 1px solid #b99a73; }
.static-contact h3 { color: #fff; font-size: 24px; margin-top: 0; }
.static-contact p { color: #fff; font-size: 16px; line-height: 1.6; }
.static-contact a.static-contact-phone { color: #d7b58a; font-size: clamp(24px, 3vw, 32px); font-weight: 700; }
.not-found { max-width: 900px; margin: 0 auto; padding: 100px 24px; }
/* No slider, tracking, animation, or plugin JavaScript is needed to read the site. */
.static-reviews .swiper, .static-reviews .swiper-container { overflow: visible; }
.static-reviews .swiper-wrapper { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; transform: none !important; height: auto !important; }
.static-reviews .swiper-slide { width: auto !important; height: auto; margin: 0 !important; min-width: 0; }
.static-reviews .elementor-swiper-button, .static-reviews .swiper-pagination { display: none; }
/* The original script calculated thumbnail heights; native CSS keeps every card aligned. */
.elementor-posts-container .elementor-post__thumbnail { aspect-ratio: 3 / 2; padding-bottom: 0 !important; position: relative; }
.elementor-posts-container .elementor-post__thumbnail img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: 100%; object-fit: cover; transform: none !important; }
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu--main .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 1000; min-width: 270px; max-width: min(380px, 90vw); background: #fff; box-shadow: 0 6px 18px #0002; }
.elementor-nav-menu--main li:hover > .sub-menu, .elementor-nav-menu--main li:focus-within > .sub-menu { display: block; }
.elementor-nav-menu--main .sub-menu a { white-space: normal; }
button.elementor-menu-toggle { border: 0; border-radius: 0; }
nav.elementor-nav-menu--dropdown:not(.sub-menu) { display: none; }
nav.elementor-nav-menu--dropdown.menu-open { display: block; max-height: none; transform: none; }
nav.elementor-nav-menu--dropdown .sub-menu { display: block; position: static; }
nav.elementor-nav-menu--dropdown .sub-menu a { padding-left: 32px; white-space: normal; }
/* Elementor's dynamic link tags are replaced with ordinary local links during import. */
@media (max-width: 1024px) {
    .static-reviews .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    header nav.elementor-nav-menu--dropdown.menu-open { position: absolute; top: 100%; left: auto; right: 0; width: min(92vw, 420px); margin-top: 12px; max-height: calc(100dvh - 160px); overflow-y: auto; box-shadow: 0 8px 24px #0003; }
}
@media (max-width: 767px) {
    .static-reviews .swiper-wrapper { grid-template-columns: minmax(0, 1fr); }
    .static-contact { padding: 24px; }
    /* Long article headings and pasted word-processor indents need room on phones. */
    .site-main.type-post { overflow-wrap: anywhere; }
    .site-main.type-post h1 { font-size: clamp(28px, 7vw, 38px); line-height: 1.2; }
    .site-main.type-post h2 { font-size: clamp(24px, 6vw, 32px); line-height: 1.25; text-indent: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
