/* ====================================================
   Responsive + polish  (loads AFTER style.css)
==================================================== */

/* ---------- Base: smooth, safe defaults ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a, button, .btn, .ltn__feature-item-6, .ltn__product-item-4, .ltn__search-by-place-item {
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
:focus-visible { outline: 2px solid var(--ltn__secondary-color, #ff5a3c); outline-offset: 3px; }
::selection { background: #ff5a3c; color: #fff; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Uniform, tidy image crops (no more stretched / uneven cards) */
.ltn__product-item-4 .product-img img,
.ltn__search-by-place-item .search-by-place-img img,
.ltn__gallery-item-img img {
    width: 100%; display: block; aspect-ratio: 4 / 3; object-fit: cover;
}
.ltn__testimonial-item-5 .ltn__testimonial-image img,
.ltn__testimonial-item-7 .ltn__testimoni-img img,
.ltn__testimonial-quote-menu li img { border-radius: 50%; object-fit: cover; }

/* Gentle hover lift on desktop only */
@media (hover: hover) {
    .ltn__product-item-4:hover, .ltn__search-by-place-item:hover { transform: translateY(-4px); }
}

/* Section headings scale smoothly instead of jumping */
.section-title { font-size: clamp(26px, 3.6vw, 40px); }
.slide-title   { font-size: clamp(30px, 5.2vw, 56px); line-height: 1.2; }
.slide-brief p { font-size: clamp(15px, 1.6vw, 18px); max-width: 620px; margin-left: auto; margin-right: auto; }
.text-end .slide-brief p { margin-right: 0; }
.text-left .slide-brief p { margin-left: 0; }
.ltn__feature-item-6 .ltn__feature-info p { margin-bottom: 18px; }

/* ---------- Inner pages: solid header over breadcrumb ---------- */
.inner-page .ltn__header-transparent { background-color: #071c1f; }
.inner-page .ltn__breadcrumb-area { margin-bottom: 90px; padding-top: 220px; padding-bottom: 80px; }
.gallery-gap { height: 90px; }
.ltn__gallery-area .ltn__gallery-item { margin-bottom: 30px; }

/* ---------- Contact ---------- */
.hp-field { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-form-box input, .contact-form-box textarea, .contact-form-box .nice-select { font-size: 16px; } /* stops iOS zoom */
.contact-form-box .btn { min-width: 200px; }
.contact-form-box .btn[disabled] { opacity: .7; cursor: wait; }
.form-messege { font-weight: 600; }
.form-messege.success { color: #1a7f37; }
.form-messege.error { color: #c0392b; }
.ltn__contact-address-item p a { color: inherit; word-break: break-word; }
.ltn__contact-address-item p a:hover { color: var(--ltn__secondary-color, #ff5a3c); }
.ltn__contact-address-item { margin-bottom: 30px; }
.google-map { height: 450px; }
.google-map iframe { width: 100%; height: 100%; display: block; }

/* ---------- Footer ---------- */
.footer-map iframe { width: 100%; height: 320px; border: 0; border-radius: 6px; display: block; }
.footer-widget a { word-break: break-word; }
.ltn__copyright-menu a { text-decoration: underline; }

/* ---------- Mobile drawer & extras ---------- */
.ltn__utilize.ltn__utilize-mobile-menu { max-width: 88vw; }
body.ltn__utilize-open { overflow: hidden; }
.ltn__utilize-menu a { display: block; padding: 6px 0; }
.ltn__utilize-contact { margin: 25px 0 10px; }
.ltn__utilize-contact .btn { width: 100%; text-align: center; }
.ltn__main-menu > ul > li.active > a { color: var(--ltn__secondary-color, #ff5a3c); }

.back-to-top {
    position: fixed; right: 18px; bottom: 18px; z-index: 998; width: 44px; height: 44px; border: 0; border-radius: 50%;
    background: var(--ltn__secondary-color, #ff5a3c); color: #fff; font-size: 20px; line-height: 1; cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.25); opacity: 0; visibility: hidden; transform: translateY(10px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
.back-to-top.show { opacity: 1; visibility: visible; transform: none; }

/* ====================================================
   Breakpoints
==================================================== */

/* Desktop 1200 - up */
@media (min-width: 1200px) {
    .container { max-width: 1200px; }
}

/* Laptop 992 – 1199 */
@media (min-width: 992px) and (max-width: 1199px) {
    h1 { font-size: 30px; }
    h2 { font-size: 26px; }
    h3 { font-size: 22px; }
    h4 { font-size: 20px; }
    h5 { font-size: 18px; }
    h6 { font-size: 16px; }
}

/* Tablet & below (≤ 1199): hero stops being a fixed 750px box */
@media (max-width: 1199px) {
    .ltn__slide-item { height: auto; min-height: 560px; padding: 170px 0 110px; }
    .ltn__slide-item-inner { height: auto; }
    .slide-item-info-inner { margin-bottom: 0; }
}

/* Tablet 768 – 991 */
@media (min-width: 768px) and (max-width: 991px) {
    body { font-size: 14px; }
    h1 { font-size: 26px; }
    h2 { font-size: 22px; }
    h3 { font-size: 20px; }
    h4 { font-size: 18px; }
    h5 { font-size: 16px; }
    h6 { font-size: 15px; }
    p  { font-size: 14px; }
    .inner-page .ltn__breadcrumb-area { padding-top: 170px; padding-bottom: 60px; margin-bottom: 70px; }
}

/* Top info bar only fits on larger screens */
@media (max-width: 991px) {
    .ltn__header-top-area { display: none; }
    .ltn__about-us-img-wrap { margin-bottom: 40px; }
}

/* Phones ≤ 767 */
@media (max-width: 767px) {
    body { font-size: 14px; }
    h1 { font-size: 24px; }
    h2 { font-size: 20px; }
    h3 { font-size: 18px; }
    h4 { font-size: 17px; }
    h5 { font-size: 16px; }
    h6 { font-size: 14px; }
    p  { font-size: 14px; }

    /* tighter section spacing (theme uses 90–120px) */
    .pt-120, .pt-115 { padding-top: 60px !important; }
    .pb-90, .pb-100, .pb-70 { padding-bottom: 45px !important; }
    .mb-120 { margin-bottom: 60px !important; }
    .mb-90 { margin-bottom: 45px !important; }

    /* hero: centred, shorter, readable */
    .ltn__slide-item { min-height: 480px; padding: 130px 0 80px; }
    .ltn__slide-item-inner { text-align: center !important; }
    .slide-title br { display: none; }
    .slide-brief p, .text-end .slide-brief p, .text-left .slide-brief p { margin-left: auto; margin-right: auto; }
    .slide-item-info .btn { padding: 12px 26px; }

    /* inner page header */
    .inner-page .ltn__breadcrumb-area { padding-top: 130px; padding-bottom: 45px; margin-bottom: 50px; }
    .page-title { font-size: 28px; }
    .gallery-gap { height: 50px; }

    /* cards & forms */
    .ltn__feature-item-6 { padding-left: 20px; padding-right: 20px; }
    .contact-form-box { padding: 28px 20px; }
    .contact-form-box .btn { width: 100%; }
    .ltn__contact-address-item { padding: 28px 20px; }
    .google-map { height: 320px; }
    .footer-map iframe { height: 260px; }
    .ltn__testimonial-item-5 .ltn__testimonial-info p { font-size: 16px; }
    .ltn__testimonial-item-5 .ltn__testimonial-info h4 { font-size: 20px; }
    .ltn__testimonial-item-5 .ltn__quote-icon { font-size: 140px; }

    /* footer */
    .footer-widget { margin-bottom: 30px; }
    .ltn__copyright-design, .ltn__copyright-menu { text-align: center !important; }
    .ltn__copyright-menu { margin-top: 6px; }
    .back-to-top { right: 14px; bottom: 14px; }
}

/* Very small phones */
@media (max-width: 380px) {
    .container { padding-left: 16px; padding-right: 16px; }
    .site-logo img { max-width: 140px; }
}
