/*
 * Integrity Trawlers - subtle refresh (Sennik, 2026)
 *
 * Loaded after app.css (the LESS sources of app.css are no longer in the project).
 * Overrides only: calmer typography, consistent spacing, and a working mobile layout.
 * Remove the <link> in resources/views/app/index.blade.php to go back to the original look.
 */

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
body {
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

p, .wrapper ul, .wrapper ol {
    margin-bottom: 1em;
}

h1, h2, h3, h4 {
    line-height: 1.25;
}

.wrapper h2 {
    margin-top: 0.4em;
    margin-bottom: 0.6em;
}

.wrapper h3 {
    margin-top: 0.6em;
    margin-bottom: 0.5em;
}

/* Long URLs and file names in texts must never widen the page */
.wrapper p, .wrapper li, .wrapper td, .wrapper h2, .wrapper h3, .thumbnail, .well {
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.wrapper img {
    max-width: 100%;
    height: auto;
}

/* --------------------------------------------------------------------------
   Page title band
   -------------------------------------------------------------------------- */
.page-header {
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.page-header .padded.padded-xl {
    padding-top: 26px;
    padding-bottom: 22px;
}

.page-header h2 {
    font-size: 28px;
    letter-spacing: 0.03em;
    color: #555;
}

.page-header h2 i {
    color: #ff8001;
    margin-right: 4px;
}

/* --------------------------------------------------------------------------
   Sections and spacing
   -------------------------------------------------------------------------- */
.wrapper.bg-white > .container > .row > .padded.padded-xl,
.wrapper.homepage > .container > .row > .padded.padded-xl,
.wrapper.products > .container > .row > .padded.padded-xl {
    padding-top: 44px;
    padding-bottom: 44px;
}

.wrapper.homepage + .wrapper.homepage > .container > .row:first-child > .padded.padded-xl {
    padding-top: 36px;
}

.gap.gap-xl {
    height: 24px;
}

hr {
    border-top-color: #ececec;
    margin: 28px 0;
}

/* Wells / side panels */
.well {
    padding: 26px 30px;
    margin-bottom: 24px;
    border: none;
    border-radius: 6px;
    box-shadow: none;
}

.well > :first-child {
    margin-top: 0;
}

.well > :last-child {
    margin-bottom: 0;
}

/* Buttons */
.btn {
    border-radius: 4px;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.btn-primary {
    padding: 9px 18px;
}

.btn-primary:hover, .btn-primary:focus {
    box-shadow: 0 2px 8px rgba(255, 128, 1, 0.25);
}

/* --------------------------------------------------------------------------
   Cards (models overview, news overview)
   -------------------------------------------------------------------------- */
.products.browse a.thumbnail {
    padding: 0 0 14px;
    margin-bottom: 22px;
    border: 1px solid #ececec;
    border-radius: 6px;
    overflow: hidden;
    background-color: #fff;
}

.products.browse a.thumbnail:hover,
.products.browse a.thumbnail:focus {
    border-color: #ff8001;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.products.browse a.thumbnail > img {
    width: 100%;
    margin-bottom: 0;
}

.products.browse a.thumbnail h3 {
    margin: 12px 14px 10px;
    font-size: 17px;
}

.products.browse a.thumbnail > div {
    padding: 0 14px;
}

.products.browse a.thumbnail .btn-xs {
    padding: 6px 10px;
    font-size: 13px;
}

/* News cards: image left, text right, inside the same card */
.products.browse a.thumbnail .row {
    margin: 0;
}

.products.browse a.thumbnail .row > .image {
    padding: 0;
}

.products.browse a.thumbnail .row > [class*="col-md-15"] {
    padding: 12px 16px 0 !important;
}

.products.browse a.thumbnail .row > [class*="col-md-15"] h3 {
    margin: 0 0 4px;
}

.products.browse a.thumbnail .small {
    color: #999;
    margin-bottom: 8px;
}

/* --------------------------------------------------------------------------
   Model detail
   -------------------------------------------------------------------------- */
.swiper-container.inpage {
    margin-bottom: 26px;
    border-radius: 6px;
    overflow: hidden;
}

/* Gallery thumbnails: clean tiles with an even gap */
a.thumbnail.gallery {
    padding: 0;
    margin-bottom: 15px;
    border: none;
    border-radius: 4px;
    overflow: hidden;
    background: none;
}

a.thumbnail.gallery img {
    display: block;
    width: 100%;
    transition: opacity .2s ease, transform .3s ease;
}

a.thumbnail.gallery:hover img {
    opacity: .9;
    transform: scale(1.03);
}

.products.detail .specs ul li ul li {
    padding: 4px 0;
}

.products.detail h3 {
    margin-top: 0;
}

/* --------------------------------------------------------------------------
   News / calendar detail sidebar
   -------------------------------------------------------------------------- */
.wrapper ul.list.list-unstyled li {
    margin-bottom: 10px;
}

/* Off-canvas mobile menu: top bar pages below a separator */
.navmenu .navmenu-subnav {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.footer .padded.padded-xl {
    padding-top: 40px;
    padding-bottom: 28px;
}

.footer h3 {
    font-size: 21px;
    margin-bottom: 14px;
}

.footer ul.list.list-unstyled li {
    margin-bottom: 6px;
}

.footer ul.list.list-unstyled li a {
    font-size: 16px;
    line-height: 1.5;
}

.footer p {
    font-size: 15px;
}

/* --------------------------------------------------------------------------
   Tablet and mobile (< 992px: the mobile menu bar is visible)
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
    /* The mobile bar is position:fixed; keep page content from sliding under it */
    body {
        padding-top: 50px;
    }

    .wrapper.bg-white > .container > .row > .padded.padded-xl,
    .wrapper.homepage > .container > .row > .padded.padded-xl,
    .wrapper.products > .container > .row > .padded.padded-xl {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    /* News/calendar detail: the article first, the list of other items below it */
    .detail-row {
        display: flex;
        flex-direction: column;
    }

    .detail-row > .detail-aside {
        order: 2;
        border-top: 1px solid #ececec;
    }
}

/* --------------------------------------------------------------------------
   Phones (< 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body {
        font-size: 15px;
    }

    /* Bootstrap's 15px gutter (7.5px each side) rounds to 1-2px of sideways scroll on phones */
    .wrapper {
        overflow-x: clip;
    }

    /* Images floated in the CMS texts (inline style): on phones above the text, centred */
    .wrapper img[style*="float"] {
        float: none !important;
        display: block;
        margin: 0 auto 16px !important;
        height: auto !important;
    }

    /* Header slider: landscape photos stay recognisable instead of a tall crop */
    .swiper-container:not(.inpage),
    .swiper-container:not(.inpage) .swiper-wrapper,
    .swiper-container:not(.inpage) .swiper-slide {
        height: 62vw !important;
        max-height: 420px;
    }

    .page-header .padded.padded-xl {
        padding-top: 18px;
        padding-bottom: 16px;
    }

    .page-header h2 {
        font-size: 22px;
    }

    .wrapper.bg-white > .container > .row > .padded.padded-xl,
    .wrapper.homepage > .container > .row > .padded.padded-xl,
    .wrapper.products > .container > .row > .padded.padded-xl,
    .wrapper .padded.padded-xl {
        padding-left: 12px;
        padding-right: 12px;
    }

    .wrapper.bg-white > .container > .row > .padded.padded-xl,
    .wrapper.homepage > .container > .row > .padded.padded-xl,
    .wrapper.products > .container > .row > .padded.padded-xl {
        padding-top: 24px;
        padding-bottom: 24px;
    }

    .wrapper h2 {
        font-size: 24px;
    }

    .wrapper h3 {
        font-size: 20px;
    }

    .well {
        padding: 20px;
    }

    blockquote {
        padding: 18px 20px;
        font-size: 16px;
    }

    /* Tables scroll inside their own box instead of widening the page */
    .wrapper table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    /* Cards two per row: smaller titles and buttons */
    .products.browse a.thumbnail h3 {
        font-size: 15px;
        margin: 10px 10px 8px;
    }

    .products.browse a.thumbnail > div {
        padding: 0 10px;
    }

    .products.browse a.thumbnail .btn-xs {
        white-space: normal;
        font-size: 12px;
    }

    /* News card: image on top, text below */
    .products.browse a.thumbnail .row > [class*="col-md-15"] {
        padding: 12px 14px 0 !important;
    }

    a.thumbnail.gallery {
        margin-bottom: 10px;
    }

    /* Inline image in a news article: full width above the text */
    .wrapper .pull-right.padded.padded-xl {
        float: none !important;
        padding: 0 0 12px;
    }

    .footer .padded.padded-xl {
        padding-top: 28px;
        padding-bottom: 8px;
    }

    .footer h3 {
        font-size: 18px;
    }

    .footer ul.list.list-unstyled li a {
        font-size: 15px;
    }
}
