/* Minimal overrides on top of the real LT theme CSS (us.css). */
html,body{overflow-x:clip}
.skip{position:absolute;left:-999px;top:0;z-index:1000}
.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px}
.hp{position:absolute!important;left:-9999px}

/* dialogs */
dialog.dlg{background:transparent;border:0;padding:0;max-width:94vw;max-height:94vh;overflow:visible;width:600px}
dialog.dlg .w-popup-box{width:100%!important;max-height:92vh;overflow:auto;background:var(--content-bg-color,#fff)}
dialog.dlg .w-popup-box-h{margin:0}
dialog::backdrop{background:rgba(0,0,0,.85)}
.dlg-x{position:absolute;right:6px;top:2px;z-index:3;font-size:34px;line-height:1;background:none;border:0;cursor:pointer;color:#fff;padding:6px 10px}
dialog.dlg .dlg-x{top:-44px;right:0}

/* lightbox */
dialog.lb{background:transparent;border:0;padding:0;max-width:96vw;max-height:96vh;overflow:visible}
.lb img{display:block;max-width:94vw;max-height:88vh;margin:auto;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lb .dlg-x{top:-44px;right:0}

/* map */
.map{position:relative;min-height:380px;background:#e6e6e2;display:flex;align-items:center;justify-content:center}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* video thumbnail -> YouTube */
.w-video-h[data-yt]{position:relative;cursor:pointer;background:#000;aspect-ratio:16/9}
.w-video-h[data-yt] iframe,.yt-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.yt-play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border:0;border-radius:50%;background:#c14546;cursor:pointer}
.yt-play:before{content:"";position:absolute;left:29px;top:21px;border-left:22px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent}

/* testimonials masonry */
.tms .w-grid-list{display:flex;flex-wrap:wrap;align-items:flex-start}
.tms .w-grid-item{width:33.3333%}
@media(max-width:899px){.tms .w-grid-item{width:50%}}
@media(max-width:599px){.tms .w-grid-item{width:100%}}
.tms .w-grid-list.is-masonry{display:block}

/* back to top arrow (FontAwesome font is not bundled, draw the chevron in CSS) */
.w-toplink{background:rgba(0,0,0,.3);transition:transform .3s,background .2s}
.w-toplink:hover{background:#c14546}
.w-toplink span:after{content:""!important;display:inline-block;width:12px;height:12px;border-left:3px solid #fff;border-top:3px solid #fff;transform:translateY(5px) rotate(45deg);font-size:0!important}

/* cookie consent */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:2000;padding:12px}
.cc-box{max-width:1100px;margin:0 auto;background:#fff;color:#333;box-shadow:0 0 30px rgba(0,0,0,.25);border-radius:.3rem;padding:1.4rem 1.6rem;max-height:92vh;overflow:auto}
.cc h2{font-size:1.3rem;margin:0 0 .5rem;line-height:1.3}
.cc p{margin:0 0 1rem;font-size:.95rem;line-height:1.5}
.cc p a{text-decoration:underline;color:inherit}
.cc-set{margin:0 0 1rem;display:grid;gap:.6rem}
.cc-row{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;line-height:1.4;cursor:pointer}
.cc-row input{margin-top:.25rem;flex:none}
.cc-row small{display:block;color:#666}
.cc-btns{display:flex;flex-wrap:wrap;gap:.6rem}
.cc-b{flex:1 1 140px;border:2px solid #c14546;background:#fff;color:#c14546;font:600 13px/1.2 "DM Sans",sans-serif;text-transform:uppercase;padding:.9em 1.2em;cursor:pointer;border-radius:0}
.cc-b:hover{background:#f6e9e9}
.cc-primary,.cc-primary:hover{background:#c14546;color:#fff}
.cc-primary:hover{filter:brightness(.92)}
@media(min-width:900px){.cc-box{display:grid;grid-template-columns:1fr auto;gap:0 2rem;align-items:end}.cc-set{grid-column:1 / -1;grid-template-columns:repeat(3,1fr)}.cc-btns{flex-wrap:nowrap}.cc-b{flex:none;min-width:150px}}

/* filter state */
.w-grid-item[hidden]{display:none!important}

/* visibility helpers (Impreza utility classes) */
@media(max-width:600px){.hidden_for_mobiles{display:none!important}}
@media(min-width:601px) and (max-width:1023px){.hidden_for_tablets{display:none!important}}
@media(min-width:1024px) and (max-width:1280px){.hidden_for_laptops{display:none!important}}

/* form feedback */
.cf-msg.err{color:#b00020}
