
:root{--red:#ef1b24;--dark:#171717;--text:#080808}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.75}a{color:inherit}.wrap{width:calc(100% - 28px);max-width:1140px;margin:0 auto}.topbar{height:22px;background:#ce2130;border-top:2px solid #e52c38;color:#fff}.topbar .wrap{height:100%;display:flex;align-items:center;justify-content:flex-end}.topbar .wrap>span{display:none}.langs{display:flex;gap:5px;align-items:center}.langs a{display:block;width:20px;height:14px;overflow:hidden;line-height:0;border:1px solid rgba(255,255,255,.7)}.langs img{display:block;width:100%;height:100%;object-fit:cover}.header{background:#fff;border-bottom:0;position:relative;z-index:10}.header .wrap{height:108px;display:flex;align-items:flex-start;justify-content:space-between;position:relative}.logo{display:block;margin-top:10px}.logo img{width:292px;height:auto;display:block}.nav{display:flex;align-items:center;gap:30px;position:absolute;left:7px;bottom:16px}.nav a{text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.01em;padding:0;border:0}.nav a.active,.nav a:hover{color:#f03022}.menu-btn{display:none;border:0;background:transparent;font-size:19px;padding:0;position:absolute;right:0;bottom:14px;line-height:1;color:#111}.home-slider{width:calc(100% - 28px);max-width:1140px;aspect-ratio:800/355;height:auto;margin:0 auto;position:relative;overflow:hidden;background:#ddd}.slide{position:absolute;inset:0;z-index:0;opacity:0;transform:translateZ(0);background-size:cover;background-position:center;will-change:opacity;backface-visibility:hidden;pointer-events:none}.slide.active{pointer-events:auto}.slide-caption{position:absolute;left:0;right:0;bottom:0;min-height:92px;display:flex;align-items:center;background:rgba(44,42,42,.68);color:#fff;padding:24px 39px 22px;border-top:1px solid #ff3029;border-bottom:1px solid #ff3029;font-family:'Courier New',Courier,monospace;font-size:14px;font-weight:700;letter-spacing:1.8px;line-height:1.48;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.28);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.slide-prev,.slide-next{position:absolute;top:47%;width:35px;height:35px;transform:translateY(-50%);border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:35px 35px;font-size:0;cursor:pointer;padding:0}.slide-prev{left:8px;background-image:url('prev.png')}.slide-next{right:8px;background-image:url('next.png')}.slide-progress{--slide-duration:5500ms;position:absolute;z-index:12;left:0;top:0;bottom:auto;width:0;height:4px;background:linear-gradient(to bottom,#b6b6b6 0%,#929292 55%,#666 100%);box-shadow:0 1px 0 rgba(0,0,0,.35);pointer-events:none}.slide-progress.running{animation:slideProgress var(--slide-duration) linear forwards}@keyframes slideProgress{from{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.slide-progress.running{animation:none;width:100%}}.slide-dots{display:none}.section{padding:34px 0 51px}.title{text-align:center;text-transform:uppercase;font-size:18px;line-height:1.2;margin:5px 0 53px;font-weight:700}.title:after{content:'';display:block;width:134px;border-bottom:2px solid #ff3029;margin:19px auto 0}.content{max-width:none;margin:0 7px;font-size:13px}.content hr{display:none}.content p{text-align:justify;margin:0;line-height:1.85}.content br+br{line-height:2.8}.footer{margin-top:auto;background:#171717;color:#9ca0ad;text-align:center;padding:23px 0 24px;margin:0;font-size:10px;letter-spacing:2px;text-transform:uppercase;line-height:2.5}.footer strong{display:none}.footer .wrap>div:first-of-type:before{content:'Baltiks d.o.o. Ivanjica, '}.footer-bottom{border:0;margin:0;padding:0}.footer-bottom:before{content:'Centrala tel: +381 (0) 32 640 311, služba prodaje tel: +381 (0) 32 641 041, tel/faks: +381 (0) 32 640 310';font-size:10px}.footer-bottom{font-size:0}.page-hero{height:230px;background:url('../images/intro-bg-m.jpg') center/cover;display:grid;place-items:center;position:relative;color:#fff}.page-hero:before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45)}.page-hero h1{z-index:1;font-size:32px;text-transform:uppercase}.gallery-slider{position:relative;max-width:900px;margin:35px auto 0;background:#111}.gallery-slider .gallery-slide{display:none}.gallery-slider .gallery-slide.active{display:block}.gallery-slider img{display:block;width:100%;max-height:620px;object-fit:contain;background:#111}.gallery-controls{display:flex;justify-content:center;gap:8px;margin-top:12px}.gallery-controls button{border:1px solid #ccc;background:#fff;padding:7px 12px;cursor:pointer}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{width:100%;height:100%;object-fit:cover}.map-image{display:block;width:100%;max-width:1000px;margin:auto}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.form input,.form textarea{width:100%;padding:10px;border:1px solid #ccc;margin-bottom:10px}.form textarea{min-height:140px}.button{background:#ef1b24;color:white;border:0;padding:11px 18px}.lightbox{display:none}.note{padding:10px;border-left:3px solid #ef1b24;background:#faf5f5}
@media(min-width:1000px){.header .wrap{height:108px}}
@media(max-width:700px){.header .wrap{height:94px}.menu-btn{display:block}.logo img{width:210px}.nav{display:none;position:absolute;left:0;right:0;top:94px;background:#fff;z-index:20;flex-direction:column;gap:0;box-shadow:0 5px 14px #0003}.nav.open{display:flex}.nav a{width:100%;padding:12px 15px;border-bottom:1px solid #eee}.menu-btn{bottom:18px}.home-slider{aspect-ratio:800/355;height:auto}.slide-caption{font-size:11px;min-height:78px;padding:19px 25px 17px;letter-spacing:1.25px;line-height:1.42}.content{font-size:10px}.contact-grid{grid-template-columns:1fr}}

/* v16: use the original Joomla language flag artwork without stretching it. */
.langs a{width:auto;height:auto;overflow:visible;border:0;background:transparent}
.langs img{width:auto;height:auto;max-width:none;image-rendering:auto}

/* v18: original-style framed language flags. */
.topbar{height:26px}
.langs{gap:4px;align-items:center}
.langs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:18px;
  padding:2px;
  overflow:visible;
  line-height:0;
  background:#fff;
  border:1px solid rgba(255,255,255,.98);
  border-radius:1px;
  box-shadow:0 1px 1px rgba(0,0,0,.28);
}
.langs img{
  display:block;
  width:18px;
  height:12px;
  max-width:none;
  object-fit:fill;
}


/* v20 flag refinement */
.lang img,
.language img,
.languages img,
.mod-languages img,
.langswitcher img,
img.flag,
li.lang img{
  padding:2px !important;
  background:#fff !important;
  border:1px solid #fff !important;
  border-radius:2px !important;
  box-shadow:
    0 0 0 1px rgba(0,0,0,.35),
    0 1px 2px rgba(0,0,0,.18) !important;
  outline:none !important;
  box-sizing:content-box !important;
}


/* v21: visible thin black edge around framed flags */
.lang img,
.language img,
.languages img,
.mod-languages img,
.langswitcher img,
img.flag,
li.lang img {
  padding: 2px !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  border-radius: 2px !important;
  outline: 1px solid rgba(0,0,0,.72) !important;
  outline-offset: 0 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.18) !important;
  box-sizing: content-box !important;
}


/* v22: black edge around the actual flag image, inside the white frame */
.langs img {
    outline: 1px solid rgba(0,0,0,.78) !important;
    outline-offset: 0 !important;
}


/* v23: keep slider arrows always visible */
.slider-prev,
.slider-next,
.prev,
.next,
.swiper-button-prev,
.swiper-button-next,
[class*="prev"],
[class*="next"]{
    opacity:1 !important;
    visibility:visible !important;
    display:flex !important;
    pointer-events:auto !important;
    transition:opacity .25s ease !important;
}
.slider:hover .slider-prev,
.slider:hover .slider-next,
.slider-container:hover .slider-prev,
.slider-container:hover .slider-next{
    opacity:1 !important;
}


/* v24: keep home-slider arrows above all slide layers */
.home-slider .slide-prev,
.home-slider .slide-next {
    z-index: 30 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    pointer-events: auto !important;
}


/* v25: thinner always-visible slider arrows with subtle hover motion */
.home-slider .slide-prev,
.home-slider .slide-next {
    width: 30px !important;
    height: 46px !important;
    line-height: 46px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 0 !important;
    font-weight: 300 !important;
    opacity: .78 !important;
    background: rgba(0,0,0,.08) !important;
    border-radius: 2px !important;
    transform: translateY(-50%) scale(.96) !important;
    transition:
        transform .2s ease-out,
        opacity .2s ease-out,
        background-color .2s ease-out !important;
    will-change: transform, opacity;
}

.home-slider .slide-prev::before,
.home-slider .slide-next::before {
    display: block;
    font-family: "Times New Roman", Georgia, serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 44px;
    text-align: center;
    color: #fff;
}

.home-slider .slide-prev::before {
    content: "‹";
}

.home-slider .slide-next::before {
    content: "›";
}

.home-slider .slide-prev:hover {
    opacity: 1 !important;
    background: rgba(0,0,0,.18) !important;
    transform: translateY(-50%) translateX(2px) scale(1.05) !important;
}

.home-slider .slide-next:hover {
    opacity: 1 !important;
    background: rgba(0,0,0,.18) !important;
    transform: translateY(-50%) translateX(-2px) scale(1.05) !important;
}

.home-slider .slide-prev:active {
    transform: translateY(-50%) translateX(2px) scale(.97) !important;
}

.home-slider .slide-next:active {
    transform: translateY(-50%) translateX(-2px) scale(.97) !important;
}


/* ===== v26 Modernized ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@300;400;500;600&display=swap');

body{
    font-family:'Inter',Arial,sans-serif !important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

header,.header,#header{
    padding-top:10px!important;
    padding-bottom:10px!important;
}

nav a,.menu a{
    letter-spacing:.08em!important;
    font-weight:500!important;
    transition:color .2s ease;
    position:relative;
}

nav a::after,.menu a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-6px;
    width:0;
    height:2px;
    background:#b30018;
    transform:translateX(-50%);
    transition:width .22s ease;
}
nav a:hover::after,.menu a:hover::after,
nav .active::after,.menu .active::after{
    width:100%;
}

h1,h2,.hero-title,.slide-title{
    font-family:"Cormorant Garamond",serif!important;
    font-weight:600!important;
    letter-spacing:.02em;
    line-height:1.1!important;
}

.hero-title,.slide-title{
    font-size:clamp(44px,4vw,64px)!important;
}

.hero-content,.slide-content{
    gap:14px!important;
}

.hero::before,.slider::before,.home-slider::before{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.18);
    pointer-events:none;
}

.btn,button,input[type=submit]{
    border-radius:4px!important;
    padding:12px 24px!important;
    transition:all .2s ease!important;
}

.btn:hover,button:hover,input[type=submit]:hover{
    transform:translateY(-2px);
}

footer{
    padding-top:28px!important;
    padding-bottom:28px!important;
}

section{
    scroll-margin-top:90px;
}


/* ===== v27: stronger enterprise modernization ===== */

:root{
    --red:#d7192d;
    --dark:#151515;
    --muted:#5e626b;
}

/* Larger, more comfortable base typography */
body{
    font-size:16px !important;
    line-height:1.72 !important;
    color:#171717 !important;
}

/* More spacious and premium header */
.header{
    border-bottom:1px solid rgba(0,0,0,.07) !important;
    box-shadow:0 8px 28px rgba(0,0,0,.045);
}
.header .wrap{
    height:132px !important;
}
.logo{
    margin-top:17px !important;
}
.logo img{
    width:315px !important;
}

/* More confident enterprise navigation */
.nav{
    bottom:22px !important;
    gap:42px !important;
}
.nav a{
    font-family:'Inter',Arial,sans-serif !important;
    font-size:14px !important;
    font-weight:600 !important;
    letter-spacing:.11em !important;
    color:#272727 !important;
    padding:7px 0 !important;
    transition:color .22s ease, transform .22s ease !important;
}
.nav a:hover,
.nav a.active{
    color:var(--red) !important;
}
.nav a:hover{
    transform:translateY(-1px);
}
.nav a::after{
    bottom:0 !important;
    height:2px !important;
    border-radius:2px;
}

/* Hero treatment: stronger contrast and more editorial caption */
.home-slider{
    box-shadow:0 22px 55px rgba(0,0,0,.15);
}
.home-slider::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(0,0,0,.18),transparent 45%),
        linear-gradient(0deg,rgba(0,0,0,.18),transparent 40%);
}
.slide-caption{
    z-index:8 !important;
    min-height:128px !important;
    padding:29px 54px 27px !important;
    background:rgba(22,22,22,.74) !important;
    border-top:1px solid rgba(215,25,45,.95) !important;
    border-bottom:0 !important;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);

    font-family:'Inter',Arial,sans-serif !important;
    font-size:clamp(19px,2vw,27px) !important;
    font-weight:500 !important;
    letter-spacing:.075em !important;
    line-height:1.38 !important;
    text-transform:uppercase !important;
    text-shadow:0 2px 9px rgba(0,0,0,.45) !important;
}

/* More visible progress line */
.slide-progress{
    height:5px !important;
    z-index:40 !important;
    background:linear-gradient(90deg,#ececec,#8d8d8d) !important;
}

/* Slightly more refined arrows */
.home-slider .slide-prev,
.home-slider .slide-next{
    width:34px !important;
    height:56px !important;
    background:rgba(10,10,10,.22) !important;
    border:1px solid rgba(255,255,255,.2) !important;
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
.home-slider .slide-prev::before,
.home-slider .slide-next::before{
    font-size:28px !important;
    line-height:53px !important;
}

/* Modern content spacing and larger text */
.section{
    padding:72px 0 82px !important;
}
.title{
    margin:0 0 48px !important;
    font-family:'Cormorant Garamond',Georgia,serif !important;
    font-size:clamp(32px,3.1vw,46px) !important;
    font-weight:600 !important;
    letter-spacing:.035em !important;
    line-height:1.08 !important;
    text-transform:none !important;
}
.title::after{
    width:74px !important;
    border-bottom:3px solid var(--red) !important;
    margin-top:20px !important;
}
.content{
    max-width:980px !important;
    margin:0 auto !important;
    padding:0 20px;
    font-size:17px !important;
    color:#3b3f46 !important;
}
.content p{
    line-height:1.9 !important;
    text-align:left !important;
}

/* Footer: more substantial, less cramped */
.footer{
    padding:34px 0 36px !important;
    font-size:11px !important;
    line-height:2.1 !important;
    letter-spacing:.16em !important;
    color:#aeb2bc !important;
    border-top:1px solid rgba(255,255,255,.06);
}
.footer-bottom::before{
    font-size:11px !important;
}

/* Page headings */
.page-hero{
    height:310px !important;
}
.page-hero h1{
    font-family:'Cormorant Garamond',Georgia,serif !important;
    font-size:clamp(42px,5vw,68px) !important;
    font-weight:600 !important;
    letter-spacing:.04em;
}

/* Mobile tuning */
@media(max-width:700px){
    body{
        font-size:15px !important;
    }
    .header .wrap{
        height:102px !important;
    }
    .logo{
        margin-top:14px !important;
    }
    .logo img{
        width:225px !important;
    }
    .slide-caption{
        min-height:94px !important;
        padding:20px 28px 18px !important;
        font-size:15px !important;
        letter-spacing:.055em !important;
        line-height:1.4 !important;
    }
    .section{
        padding:48px 0 58px !important;
    }
    .title{
        font-size:34px !important;
        margin-bottom:34px !important;
    }
    .content{
        font-size:15.5px !important;
        padding:0 18px !important;
    }
}


/* v28 refinement */

/* Slider caption slightly smaller */
.slide-caption{
    font-size:clamp(16px,1.55vw,22px)!important;
    line-height:1.34!important;
    letter-spacing:.06em!important;
    padding:24px 50px 22px!important;
}

/* Page hero title (e.g. O NAMA) reduced */
.page-hero h1{
    font-size:clamp(34px,4vw,52px)!important;
    letter-spacing:.03em!important;
}

/* More separation between logo and navigation */
.header .wrap{
    height:142px!important;
}
.logo{
    margin-top:14px!important;
}
.nav{
    bottom:14px!important;
    gap:46px!important;
}

/* Slightly smaller navigation for balance */
.nav a{
    font-size:13px!important;
    letter-spacing:.12em!important;
}


/* v29: improve typography proportions */

/* Slider caption closer to original */
.slide-caption{
    font-size:clamp(14px,1.15vw,18px)!important;
    line-height:1.32!important;
    letter-spacing:.045em!important;
    font-weight:500!important;
    padding:20px 42px 18px!important;
}

/* Reduce page hero titles like "O NAMA" */
.page-hero h1{
    font-size:clamp(28px,2.8vw,40px)!important;
    line-height:1.1!important;
    letter-spacing:.02em!important;
    font-weight:600!important;
}

/* Keep section headings visually larger than page hero */
.title{
    font-size:clamp(30px,2.5vw,42px)!important;
}


/* ===== v30: cleaner industrial enterprise typography ===== */

/* Slider caption: technical, restrained, less editorial */
.slide-caption{
    font-family:'Inter',Arial,sans-serif !important;
    font-size:clamp(13px,1vw,16px) !important;
    font-weight:500 !important;
    line-height:1.45 !important;
    letter-spacing:.085em !important;
    text-transform:uppercase !important;
    padding:18px 40px 17px !important;
    min-height:96px !important;
}

/* Internal page hero title, e.g. O NAMA */
.page-hero h1{
    font-family:'Inter',Arial,sans-serif !important;
    font-size:clamp(24px,2.2vw,32px) !important;
    font-weight:600 !important;
    line-height:1.15 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
}

/* Slightly reduce the page hero itself so the title feels integrated */
.page-hero{
    height:250px !important;
}

/* Keep serif only for section headings, where it adds character */
.title{
    font-family:'Cormorant Garamond',Georgia,serif !important;
    font-size:clamp(29px,2.3vw,38px) !important;
    font-weight:600 !important;
    line-height:1.12 !important;
    letter-spacing:.02em !important;
}

/* Body remains clean and readable */
.content{
    font-family:'Inter',Arial,sans-serif !important;
    font-size:16.5px !important;
    line-height:1.85 !important;
}

/* Mobile balance */
@media(max-width:700px){
    .slide-caption{
        font-size:12px !important;
        line-height:1.45 !important;
        letter-spacing:.07em !important;
        padding:15px 24px 14px !important;
        min-height:82px !important;
    }

    .page-hero{
        height:205px !important;
    }

    .page-hero h1{
        font-size:24px !important;
        letter-spacing:.07em !important;
    }

    .title{
        font-size:31px !important;
    }
}


/* v31: perfectly center slider arrow glyphs */
.home-slider .slide-prev,
.home-slider .slide-next{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
}

.home-slider .slide-prev::before,
.home-slider .slide-next::before{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
    line-height:1 !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    transform:translateY(-1px) !important;
    flex:1 1 auto !important;
}


/* v32: responsive/mobile menu background */
@media (max-width: 900px){
  .mobile-menu,
  .responsive-menu,
  .menu-mobile,
  .nav-mobile,
  .menu.open,
  .nav.open,
  .mobile-nav,
  .hamburger-menu,
  .menu-panel{
    background:#171717 !important;
    background-color:#171717 !important;
    color:#fff !important;
    box-shadow:0 12px 30px rgba(0,0,0,.35) !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }

  .mobile-menu a,
  .responsive-menu a,
  .menu-mobile a,
  .nav-mobile a,
  .mobile-nav a,
  .menu.open a,
  .nav.open a,
  .menu-panel a{
    color:#fff !important;
    background:transparent !important;
  }

  .mobile-menu a:hover,
  .responsive-menu a:hover,
  .menu-mobile a:hover,
  .nav-mobile a:hover,
  .mobile-nav a:hover,
  .menu.open a:hover,
  .nav.open a:hover,
  .menu-panel a:hover{
    background:rgba(255,255,255,.08) !important;
  }
}


/* ===== v33: redesigned responsive navigation ===== */
@media (max-width:700px){

    .header{
        position:relative !important;
        z-index:100 !important;
        box-shadow:0 8px 24px rgba(0,0,0,.08) !important;
    }

    .header .wrap{
        height:100px !important;
        align-items:flex-start !important;
    }

    .logo{
        margin-top:13px !important;
    }

    .logo img{
        width:220px !important;
    }

    /* Modern hamburger button */
    .menu-btn{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        position:absolute !important;
        right:2px !important;
        bottom:17px !important;
        width:42px !important;
        height:42px !important;
        padding:0 !important;
        border:1px solid rgba(0,0,0,.11) !important;
        border-radius:4px !important;
        background:#fff !important;
        color:transparent !important;
        font-size:0 !important;
        cursor:pointer !important;
        z-index:102 !important;
        box-shadow:0 5px 16px rgba(0,0,0,.08) !important;
        transition:
            background-color .22s ease,
            border-color .22s ease,
            box-shadow .22s ease !important;
    }

    .menu-btn::before,
    .menu-btn::after{
        content:"" !important;
        position:absolute !important;
        left:11px !important;
        width:18px !important;
        height:2px !important;
        border-radius:2px !important;
        background:#202020 !important;
        transition:
            transform .24s ease,
            top .24s ease,
            box-shadow .24s ease !important;
    }

    .menu-btn::before{
        top:14px !important;
        box-shadow:0 6px 0 #202020 !important;
    }

    .menu-btn::after{
        top:26px !important;
    }

    .menu-btn:hover{
        border-color:rgba(215,25,45,.42) !important;
        box-shadow:0 7px 20px rgba(0,0,0,.12) !important;
    }

    /* Hamburger becomes an X */
    .menu-btn[aria-expanded="true"]{
        background:#181818 !important;
        border-color:#181818 !important;
    }

    .menu-btn[aria-expanded="true"]::before{
        top:20px !important;
        background:#fff !important;
        box-shadow:none !important;
        transform:rotate(45deg) !important;
    }

    .menu-btn[aria-expanded="true"]::after{
        top:20px !important;
        background:#fff !important;
        transform:rotate(-45deg) !important;
    }

    /* Full-width modern dropdown panel */
    .header .nav{
        display:flex !important;
        flex-direction:column !important;
        align-items:stretch !important;
        gap:0 !important;
        position:absolute !important;
        top:100px !important;
        left:-14px !important;
        right:-14px !important;
        bottom:auto !important;
        width:auto !important;
        padding:10px 14px 14px !important;
        margin:0 !important;
        background:rgba(23,23,23,.985) !important;
        border-top:3px solid #d7192d !important;
        box-shadow:0 20px 35px rgba(0,0,0,.32) !important;
        backdrop-filter:blur(10px) !important;
        -webkit-backdrop-filter:blur(10px) !important;
        z-index:101 !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(-10px) !important;
        transition:
            opacity .22s ease,
            visibility .22s ease,
            transform .22s ease !important;
    }

    .header .nav.open{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateY(0) !important;
    }

    .header .nav a{
        display:flex !important;
        align-items:center !important;
        min-height:51px !important;
        width:100% !important;
        padding:13px 16px !important;
        margin:0 !important;
        border:0 !important;
        border-bottom:1px solid rgba(255,255,255,.09) !important;
        border-radius:0 !important;
        background:transparent !important;
        color:#f3f3f3 !important;
        font-family:'Inter',Arial,sans-serif !important;
        font-size:13px !important;
        font-weight:500 !important;
        line-height:1.35 !important;
        letter-spacing:.085em !important;
        text-decoration:none !important;
        text-transform:uppercase !important;
        transform:none !important;
        transition:
            color .18s ease,
            background-color .18s ease,
            padding-left .18s ease !important;
    }

    .header .nav a:last-child{
        border-bottom:0 !important;
    }

    .header .nav a::after{
        display:none !important;
    }

    .header .nav a:hover,
    .header .nav a:focus-visible{
        color:#fff !important;
        background:rgba(255,255,255,.075) !important;
        padding-left:22px !important;
    }

    .header .nav a.active{
        position:relative !important;
        color:#fff !important;
        background:rgba(215,25,45,.16) !important;
        padding-left:22px !important;
        font-weight:600 !important;
    }

    .header .nav a.active::before{
        content:"" !important;
        position:absolute !important;
        left:0 !important;
        top:10px !important;
        bottom:10px !important;
        width:3px !important;
        border-radius:0 3px 3px 0 !important;
        background:#d7192d !important;
    }
}


/* ===== v34: product-program hero slider ===== */

.product-showcase{
    max-width:1040px;
    margin:0 auto 62px;
}

.product-slider{
    position:relative;
    width:100%;
    aspect-ratio:16/8.1;
    overflow:hidden;
    background:#151515;
    border-top:3px solid #d7192d;
    box-shadow:0 18px 46px rgba(0,0,0,.16);
}

.product-stage{
    position:absolute;
    inset:0;
}

.prod-slide{
    position:absolute;
    inset:0;
    display:block;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .75s ease, visibility .75s ease;
}

.prod-slide.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    z-index:2;
}

.prod-slide img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.product-slider::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(0,0,0,.12),transparent 24%,transparent 76%,rgba(0,0,0,.12)),
        linear-gradient(0deg,rgba(0,0,0,.22),transparent 25%);
}

.prod-prev,
.prod-next{
    position:absolute;
    top:50%;
    z-index:6;
    display:flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:58px;
    padding:0;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.22);
    border-radius:3px;
    background:rgba(15,15,15,.28);
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:29px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    transition:
        background-color .2s ease,
        transform .2s ease,
        border-color .2s ease;
}

.prod-prev{ left:18px; }
.prod-next{ right:18px; }

.prod-prev:hover{
    transform:translateY(-50%) translateX(2px);
    background:rgba(15,15,15,.62);
    border-color:rgba(255,255,255,.45);
}

.prod-next:hover{
    transform:translateY(-50%) translateX(-2px);
    background:rgba(15,15,15,.62);
    border-color:rgba(255,255,255,.45);
}

.prod-controls{
    position:absolute;
    right:18px;
    bottom:17px;
    z-index:6;
    display:flex;
    align-items:center;
    min-height:34px;
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:3px;
    background:rgba(15,15,15,.58);
    color:#fff;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.prod-controls button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:24px;
    padding:0 !important;
    border:0;
    border-radius:2px !important;
    background:transparent;
    color:#fff;
    font-size:11px;
    line-height:1;
    cursor:pointer;
    transform:none !important;
}

.prod-controls button:hover{
    background:rgba(255,255,255,.13);
    transform:none !important;
}

.prod-count{
    min-width:56px;
    padding:0 7px;
    font-family:'Inter',Arial,sans-serif;
    font-size:11px;
    font-weight:500;
    letter-spacing:.08em;
    text-align:center;
}

.product-showcase + .title{
    margin-top:0 !important;
}

@media(max-width:700px){
    .product-showcase{
        margin-bottom:42px;
    }

    .product-slider{
        aspect-ratio:4/3;
    }

    .prod-slide img{
        object-fit:contain;
        background:#151515;
    }

    .prod-prev,
    .prod-next{
        width:31px;
        height:48px;
        font-size:25px;
    }

    .prod-prev{ left:9px; }
    .prod-next{ right:9px; }

    .prod-controls{
        right:9px;
        bottom:9px;
    }
}


/* ===== v35: two-image automatic product slider ===== */

.product-slider{
    aspect-ratio:16/6.7 !important;
}

.product-stage{
    display:block !important;
}

.prod-slide{
    top:0 !important;
    bottom:0 !important;
    width:50% !important;
    opacity:0 !important;
    visibility:hidden !important;
    transform:translateX(0) !important;
    transition:opacity .7s ease, visibility .7s ease !important;
}

.prod-slide.active{
    left:0 !important;
    right:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:2 !important;
}

.prod-slide.active-secondary{
    left:50% !important;
    right:auto !important;
    opacity:1 !important;
    visibility:visible !important;
    z-index:2 !important;
}

.prod-slide img{
    object-fit:cover !important;
    border:0 !important;
}

.prod-slide.active img{
    border-right:1px solid rgba(255,255,255,.22) !important;
}

.product-slider::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
    width:1px;
    z-index:5;
    background:rgba(255,255,255,.25);
    pointer-events:none;
}

@media(max-width:700px){
    .product-slider{
        aspect-ratio:4/3 !important;
    }

    .prod-slide{
        width:100% !important;
    }

    .prod-slide.active{
        left:0 !important;
    }

    .prod-slide.active-secondary{
        display:none !important;
    }

    .product-slider::before{
        display:none !important;
    }

    .prod-slide.active img{
        border-right:0 !important;
    }
}


/* ===== v36: remove internal page hero and refine double product slider ===== */

/* Internal pages start directly below the header */
.page-hero{
    display:none !important;
}

main,
.main{
    padding-top:0 !important;
}

/* Product showcase closer to original proportions */
.product-showcase{
    max-width:980px !important;
    margin:58px auto 54px !important;
    padding:0 18px !important;
}

.product-slider{
    aspect-ratio:16/6.1 !important;
    overflow:visible !important;
    background:transparent !important;
    border-top:0 !important;
    box-shadow:none !important;
}

.product-stage{
    position:absolute !important;
    inset:0 !important;
}

/* Two separate image panels with a real gap */
.prod-slide{
    top:0 !important;
    bottom:0 !important;
    width:calc(50% - 12px) !important;
    overflow:hidden !important;
    background:#151515 !important;
    border:1px solid rgba(0,0,0,.12) !important;
    border-radius:3px !important;
    box-shadow:0 12px 28px rgba(0,0,0,.12) !important;
}

.prod-slide.active{
    left:0 !important;
}

.prod-slide.active-secondary{
    left:calc(50% + 12px) !important;
}

.prod-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border:0 !important;
}

/* Remove old central divider/overlay that made them look glued */
.product-slider::before,
.product-slider::after{
    display:none !important;
}

/* Arrow buttons sit over the outer edges, not between the images */
.prod-prev,
.prod-next{
    width:32px !important;
    height:50px !important;
    background:rgba(18,18,18,.45) !important;
    border:1px solid rgba(255,255,255,.2) !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
}

.prod-prev{
    left:10px !important;
}

.prod-next{
    right:10px !important;
}

/* Controls stay compact */
.prod-controls{
    right:12px !important;
    bottom:12px !important;
}

/* Text begins with comfortable separation under the slider */
.product-showcase + .title{
    margin-top:0 !important;
}

@media(max-width:700px){
    .product-showcase{
        margin:34px auto 40px !important;
        padding:0 14px !important;
    }

    .product-slider{
        aspect-ratio:4/3 !important;
    }

    .prod-slide{
        width:100% !important;
        border-radius:2px !important;
    }

    .prod-slide.active-secondary{
        display:none !important;
    }
}


/* ===== v37: tighter spacing + smooth sliding product carousel ===== */

.product-showcase{
    margin:24px auto 48px !important;
}

.product-slider{
    overflow:hidden !important;
}

.product-stage{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    gap:24px !important;
    will-change:transform !important;
    transition:transform .72s cubic-bezier(.22,.61,.36,1) !important;
}

.prod-slide,
.prod-slide.active,
.prod-slide.active-secondary{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    flex:0 0 calc((100% - 24px)/2) !important;
    width:auto !important;
    height:100% !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:none !important;
}

.prod-slide img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

@media(max-width:700px){
    .product-showcase{
        margin:18px auto 36px !important;
    }

    .product-stage{
        gap:0 !important;
    }

    .prod-slide,
    .prod-slide.active,
    .prod-slide.active-secondary{
        flex-basis:100% !important;
        display:block !important;
    }
}


/* ===== v38: tighter slider spacing + play/pause controls only ===== */

/* Match slider spacing more closely to the logo-to-menu rhythm */
.product-showcase{
    margin-top:14px !important;
    margin-bottom:48px !important;
}

/* Keep only play and pause; hide image numbering */
.prod-count{
    display:none !important;
}

.prod-controls{
    right:12px !important;
    bottom:12px !important;
    gap:2px !important;
    min-height:34px !important;
    padding:4px 5px !important;
}

.prod-controls .prod-play,
.prod-controls .prod-pause{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:30px !important;
    height:26px !important;
}

/* Ensure no other control elements appear inside the compact box */
.prod-controls > *:not(.prod-play):not(.prod-pause){
    display:none !important;
}

@media(max-width:700px){
    .product-showcase{
        margin-top:12px !important;
        margin-bottom:36px !important;
    }
}


/* ===== v39: match original menu-to-slider spacing ===== */
main.section.product-page{
    padding-top:14px !important;
}

main.section.product-page .product-showcase{
    margin-top:0 !important;
}

@media(max-width:700px){
    main.section.product-page{
        padding-top:10px !important;
    }

    main.section.product-page .product-showcase{
        margin-top:0 !important;
    }
}

/* ===== Final internal-page heading typography fix =====
   Restores the uppercase, clean industrial heading style. */
.title,
.page-hero h1 {
    font-family: 'Inter', Arial, Helvetica, sans-serif !important;
    font-size: clamp(23px, 1.90vw, 31px) !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

.title {
    margin-bottom: 48px !important;
}

@media (max-width: 700px) {
    .title,
    .page-hero h1 {
        font-size: 25px !important;
        letter-spacing: .09em !important;
    }
}


/* ===== Mobile: hide homepage slider caption ===== */
@media (max-width:700px){
    .slide-caption{
        display:none !important;
    }
}


/* ===== Final shared content-width alignment =====
   Desktop content now follows the same 1140px outer grid used by the
   header/navigation and homepage slider. */
@media (min-width:701px){

    /* Standard text areas inside the normal page wrapper */
    main.section > .wrap > .content,
    main.section.product-page > .wrap > .content{
        max-width:none !important;
        width:auto !important;
        margin-left:7px !important;
        margin-right:7px !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    /* Product and product-utilization image showcase */
    main.section.product-page .product-showcase{
        max-width:none !important;
        width:auto !important;
        margin-left:7px !important;
        margin-right:7px !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    /* Google-map block is not inside .wrap in the supplied pages,
       so give it the same outer grid explicitly. */
    main.section.product-page > .content{
        width:calc(100% - 28px) !important;
        max-width:1140px !important;
        margin-left:auto !important;
        margin-right:auto !important;
        padding-left:7px !important;
        padding-right:7px !important;
    }

    /* Static location image below the map */
    main.section.product-page .map-image{
        max-width:none !important;
        width:calc(100% - 14px) !important;
        margin-left:7px !important;
        margin-right:7px !important;
    }

    /* Contact page already uses .wrap; keep its internal layout on
       the same usable horizontal line as the other page content. */
    .contact-shell{
        max-width:1140px !important;
        padding-left:7px !important;
        padding-right:7px !important;
    }
}

/* About Us paragraph separation */
.home-about p + p {
    margin-top: 1.2rem;
}


/* ===== Improve readability: left-align body text ===== */
.content p,
.content li{
    text-align:left !important;
}

.content p{
    line-height:1.75;
}

/* Mobile: avoid stretched spacing */
@media (max-width:700px){
    .content p,
    .content li{
        text-align:left !important;
        word-spacing:normal !important;
        letter-spacing:normal !important;
        hyphens:auto;
    }
}

/* Product Program subsection headings */
.product-subheading{
    margin:1.8rem 0 .8rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.05rem;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:none;
    color:#2f2f2f;
}

/* ===== Product Program: original-style text formatting =====
   Keeps the modern site shell, but restores the straightforward formatting
   used by the original website: full-width paragraphs, simple bold topic
   lines, normal lists, and consistent spacing. */
.product-page .content > p,
.product-page .content > ul{
    max-width:none !important;
    width:auto !important;
}

.product-page .content > p{
    margin-top:0;
    margin-bottom:1rem;
}

.product-page .content > ul{
    margin:.25rem 0 1.15rem 1.35rem;
    padding-left:1.2rem;
}

.product-page .content > ul li{
    margin:0 0 .35rem;
    padding-left:.1rem;
    line-height:1.65;
}

.product-page .content > ul li:last-child{
    margin-bottom:0;
}

.product-page .content .product-topic{
    margin:1.25rem 0 .35rem;
    padding:0;
    border:0;
    font-size:inherit;
    line-height:1.65;
    letter-spacing:normal;
    text-transform:none;
    color:inherit;
}

.product-page .content .product-topic strong{
    font-weight:600;
}

@media (max-width:700px){
    .product-page .content > ul{
        margin:.25rem 0 1.1rem 0;
        padding-left:1.35rem;
    }

    .product-page .content .product-topic{
        margin-top:1.15rem;
    }
}
