/* FTS Editable Hover Effects */

.fts_editable_trigger:hover {

  background: linear-gradient(

    135deg,

    rgba(255, 140, 0, 0.08) 0%,

    rgba(255, 165, 0, 0.12) 100%

  );

  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.2),

    0 2px 8px rgba(255, 140, 0, 0.15);

  border-radius: 4px;

  padding: 2px 4px;

  margin: -2px -4px;

}



.fts_editable_trigger:active {

  transform: translateY(1px);

  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.3), 0 1px 4px rgba(255, 140, 0, 0.2);

}



.fts_editable {

  position: relative;

  display: inline-block;

}



.fts_editable:hover {

  background: linear-gradient(

    135deg,

    rgba(255, 140, 0, 0.08) 0%,

    rgba(255, 165, 0, 0.12) 100%

  );

  box-shadow: 0 0 0 3px rgba(255, 140, 0, 0.2);

  border-radius: 4px;

}



/* Prevent link behavior for editable links */

a.fts_editable {

  pointer-events: none;

}



a.fts_editable .fts_editable_trigger {

  pointer-events: auto;

}



.language_switcher button {

  margin-top: 10px;

  color: white;

  border: none;

}



/* Bootstrap 5 dropdown on hover */

@media (min-width: 992px) {

  .navbar .dropdown-hover:hover > .dropdown-menu {

    display: block;

    margin-top: 0;

  }

  .navbar .dropdown-hover > .dropdown-toggle::after {

    transition: transform 0.2s ease;

  }

  .navbar .dropdown-hover:hover > .dropdown-toggle::after {

    transform: rotate(180deg);

  }

}


/* ============================================
   Bošnjaković Agrar — Global Styles
   Generated from Design System
   ============================================ */

/* --- Google Fonts Import --- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* --- CSS Custom Properties --- */
:root {
    /* Colors */
    --color-primary: #1E3A6E;
    --color-secondary: #5A9E2F;
    --color-accent: #F58B20;
    --color-dark: #111B0B;
    --color-light: #F5F7F2;
    --color-neutral: #6B7280;
    --color-success: #22C55E;
    --color-warning: #F59E0B;
    --color-error: #EF4444;

    /* Typography */
    --font-heading: 'Poppins', sans-serif;
    --font-body: 'Poppins', sans-serif;

    /* Spacing */
    --space-xs: 4px;
    --space-sm: 8px;
    --space-md: 16px;
    --space-lg: 24px;
    --space-xl: 32px;
    --space-2xl: 48px;
    --space-3xl: 64px;
    --space-4xl: 96px;
    --space-5xl: 128px;

    /* Shadows */
    --shadow-none: none;
    --shadow-subtle: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-medium: 0 4px 12px rgba(0,0,0,0.1);
    --shadow-large: 0 8px 24px rgba(0,0,0,0.12);

    /* Border Radius — ZERO (industrial / sharp) */
    --radius: 0;

    /* Transitions */
    --transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Base Reset & Typography --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.625;
    color: var(--color-dark);
    background-color: var(--color-light);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 { font-family: var(--font-heading); color: var(--color-primary); }
h1 { font-size: 38px; line-height: 46px; font-weight: 700; letter-spacing: -0.02em; }
h2 { font-size: 30px; line-height: 38px; font-weight: 700; letter-spacing: -0.01em; }
h3 { font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -0.01em; }
h4 { font-size: 20px; line-height: 28px; font-weight: 600; }
p { margin-bottom: 1em; max-width: 75ch; }
a { color: var(--color-secondary); text-decoration: none; transition: color var(--transition-base); }
a:hover { color: var(--color-accent); }
img { max-width: 100%; height: auto; display: block; }

/* === REVEAL ANIMATION (CSS only, no GSAP) === */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.25,.46,.45,.94), transform .7s cubic-bezier(.25,.46,.45,.94); }
.reveal.is_visible { opacity:1; transform:translateY(0); }
.reveal_delay_1 { transition-delay:.1s; }
.reveal_delay_2 { transition-delay:.2s; }
.reveal_delay_3 { transition-delay:.3s; }

/* === TOP BAR === */
.top_bar { background: var(--color-primary); color:rgba(255,255,255,.8); font-size:13px; padding:8px 0; position:relative; z-index:1001; }
.top_bar .container { display:flex; justify-content:space-between; align-items:center; }
.top_bar_left { display:flex; align-items:center; gap:24px; }
.top_bar_item { display:flex; align-items:center; gap:6px; color:rgba(255,255,255,.8); text-decoration:none; transition:color var(--transition-base); }
.top_bar_item:hover { color:var(--color-secondary); }
.top_bar_item svg { width:14px; height:14px; flex-shrink:0; }
.top_bar_right { display:flex; align-items:center; gap:16px; }
.top_bar_social { display:inline-flex; align-items:center; gap:6px; color:rgba(255,255,255,.8); text-decoration:none; transition:color var(--transition-base); font-size:13px; }
.top_bar_social:hover { color:var(--color-accent); }
.top_bar_social svg { width:16px; height:16px; }
@media(max-width:767px){ .top_bar{display:none;} }

/* === HEADER NAV === */
.site_header { position:sticky; top:0; z-index:1000; width:100%; }
.header_nav { background: white; transition:box-shadow .4s ease; border-bottom:3px solid var(--color-secondary); }
.header_nav.is_scrolled { box-shadow:0 4px 20px rgba(0,0,0,.2); }
.header_nav .container { display:flex; justify-content:space-between; align-items:center; height:72px; }
.header_logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; flex-shrink:0; }
.header_logo_icon { width:42px; height:42px; background:var(--color-secondary); display:flex; align-items:center; justify-content:center; }
.header_logo_icon svg { width:24px; height:24px; }
.header_logo_text { display:flex; flex-direction:column; line-height:1.15; }
.header_logo_name { font-family:var(--font-heading); font-weight:700; font-size:18px; letter-spacing:.02em; text-transform:uppercase; color:#fff; }
.header_logo_tagline { font-size:10px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.header_menu { display:flex; align-items:center; gap:0; list-style:none; margin:0; padding:0; }
.header_menu>li { position:relative; }
.nav_link { display:flex; align-items:center; gap:4px; padding:24px 20px; color: var(--color-primary); font-family:var(--font-body); font-weight:500; font-size:14px; letter-spacing:.03em; text-transform:uppercase; text-decoration:none; transition:all var(--transition-base); border-bottom:3px solid transparent; margin-bottom:-3px; }
.nav_link:hover,.nav_link.nav_active { color: var(--color-primary); border-bottom-color:var(--color-secondary); }
.nav_link svg { width:12px; height:12px; transition:transform .2s ease; }
.nav_dropdown { position:absolute; top:100%; left:0; min-width:280px; background:var(--color-primary); border-top:3px solid var(--color-secondary); box-shadow:0 8px 32px rgba(0,0,0,.3); list-style:none; padding:8px 0; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .25s ease; z-index:100; }
.header_menu>li:hover .nav_dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.header_menu>li:hover .nav_link svg { transform:rotate(180deg); }
.nav_dropdown_link { display:block; padding:12px 24px; color:rgba(255,255,255,.8); font-size:14px; text-decoration:none; transition:all .2s ease; border-left:3px solid transparent; }
.nav_dropdown_link:hover { color:#fff; background:rgba(255,255,255,.05); border-left-color:var(--color-secondary); padding-left:28px; }
.header_cta { margin-left:16px; }
.header_cta .btn_primary { padding:10px 24px; font-size:12px; }
.hamburger { display:none; flex-direction:column; justify-content:center; align-items:center; width:44px; height:44px; background:none; border:none; cursor:pointer; z-index:1002; }
.hamburger_line { display:block; width:24px; height:2px; background:#fff; transition:all .3s ease; margin:3px 0; }
.hamburger.is_active .hamburger_line:nth-child(1){transform:rotate(45deg) translate(4px,4px);}
.hamburger.is_active .hamburger_line:nth-child(2){opacity:0;}
.hamburger.is_active .hamburger_line:nth-child(3){transform:rotate(-45deg) translate(4px,-4px);}
.mobile_menu { display:none; position:fixed; top:0; left:0; width:100%; height:100vh; background:var(--color-primary); z-index:1001; padding:100px 32px 32px; overflow-y:auto; opacity:0; transition:opacity .3s ease; }
.mobile_menu.is_active { opacity:1; }
.mobile_menu_list { list-style:none; padding:0; }
.mobile_menu_list>li { border-bottom:1px solid rgba(255,255,255,.1); }
.mobile_nav_link { display:block; padding:20px 0; color:#fff; font-family:var(--font-heading); font-weight:600; font-size:20px; text-transform:uppercase; letter-spacing:.05em; text-decoration:none; }
.mobile_nav_link:hover { color:var(--color-secondary); }
.mobile_dropdown_list { list-style:none; padding:0 0 12px 16px; display:none; }
.mobile_dropdown_list.is_open { display:block; }
.mobile_dropdown_link { display:block; padding:10px 0; color:rgba(255,255,255,.7); font-size:16px; text-decoration:none; border-left:2px solid var(--color-secondary); padding-left:16px; }
.mobile_dropdown_link:hover { color:#fff; }
.mobile_menu_cta { margin-top:32px; }
.mobile_menu_cta .btn_primary { width:100%; text-align:center; justify-content:center; padding:16px 32px; }
.mobile_menu_contact { margin-top:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.1); }
.mobile_menu_contact a { display:flex; align-items:center; gap:10px; color:rgba(255,255,255,.7); font-size:14px; text-decoration:none; padding:8px 0; }
.mobile_menu_contact a:hover { color:var(--color-secondary); }
.mobile_menu_contact svg { width:16px; height:16px; flex-shrink:0; }
@media(max-width:1023px){ .header_menu,.header_cta{display:none;} .hamburger{display:flex;} .mobile_menu{display:block;pointer-events:none;} .mobile_menu.is_active{pointer-events:all;} }

/* === CTA BAND === */
.section_cta_band { background:var(--color-dark); padding:var(--space-3xl) 0; text-align:center; position:relative; }
.section_cta_band::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--color-accent); }
.cta_band_headline { font-family:var(--font-heading); font-size:28px; font-weight:700; color:#fff; margin-bottom:12px; }
.cta_band_sub { color:rgba(255,255,255,.7); font-size:16px; margin-bottom:28px; }
@media(max-width:767px){ .cta_band_headline{font-size:22px;} }

/* === FOOTER === */
.footer_cta { background:var(--color-primary); padding:var(--space-3xl) 0; text-align:center; position:relative; }
.footer_cta::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--color-secondary); }
.footer_cta_headline { font-family:var(--font-heading); font-size:28px; font-weight:700; color:#fff; margin-bottom:12px; }
.footer_cta_sub { color:rgba(255,255,255,.7); font-size:16px; margin: 30px auto; }
.footer_cta .btn_primary { font-size:14px; padding:16px 40px; }
.site_footer { background:var(--color-dark); color:rgba(255,255,255,.7); padding:var(--space-3xl) 0 0; }
.footer_grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:var(--space-2xl); }
.footer_brand_desc { font-size:14px; line-height:1.7; color:rgba(255,255,255,.6); margin-bottom:20px; max-width:340px; }
.footer_brand_logo { display:flex; align-items:center; gap:12px; margin-bottom:20px; text-decoration:none; }
.footer_brand_logo_icon { width:40px; height:40px; background:var(--color-secondary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.footer_brand_logo_icon svg { width:22px; height:22px; }
.footer_brand_logo_name { font-family:var(--font-heading); font-weight:700; font-size:17px; color:#fff; text-transform:uppercase; }
.footer_heading { font-family:var(--font-heading); font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-bottom:24px; }
.footer_links { list-style:none; padding:0; }
.footer_links li { margin-bottom:12px; }
.footer_links a { color:rgba(255,255,255,.6); font-size:14px; text-decoration:none; transition:all .2s ease; }
.footer_links a:hover { color:var(--color-secondary); padding-left:4px; }
.footer_contact_item { display:flex; align-items:flex-start; gap:10px; color:rgba(255,255,255,.6); font-size:14px; margin-bottom:14px; }
.footer_contact_item svg { width:16px; height:16px; margin-top:2px; flex-shrink:0; color:var(--color-secondary); }
.footer_contact_item a { color:rgba(255,255,255,.6); text-decoration:none; }
.footer_contact_item a:hover { color:var(--color-secondary); }
.footer_bottom { border-top:1px solid rgba(255,255,255,.08); padding:20px 0; display:flex; justify-content:space-between; align-items:center; font-size:13px; color:rgba(255,255,255,.4); }
.footer_bottom a { color:rgba(255,255,255,.4); text-decoration:none; }
.footer_bottom a:hover { color:var(--color-secondary); }
@media(max-width:767px){ .footer_grid{grid-template-columns:1fr;gap:32px;} .footer_bottom{flex-direction:column;gap:8px;text-align:center;} .footer_cta_headline{font-size:22px;} }

/* --- Container --- */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.container_wide { max-width: 1400px; }
.container_narrow { max-width: 960px; }
@media (min-width: 640px) { .container { padding: 0 32px; } }

/* --- Section Spacing --- */
.section_padding { padding: var(--space-3xl) 0; }
@media (min-width: 1024px) { .section_padding { padding: var(--space-4xl) 0; } }

/* --- Buttons --- */
.btn_primary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 14px 32px;
    background: var(--color-secondary);
    color: #fff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--color-secondary);
    border-radius: 0;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
}
.btn_primary:hover {
    background: #4D8A27;
    border-color: #4D8A27;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}
.btn_primary:active {
    background: #437A21;
    border-color: #437A21;
}

.btn_secondary {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 30px;
    background: transparent;
    color: var(--color-primary);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 2px solid var(--color-primary);
    border-radius: 0;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
}
.btn_secondary:hover {
    background: var(--color-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-medium);
}

.btn_ghost {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 8px 0;
    background: transparent;
    color: var(--color-secondary);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: none;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
}
.btn_ghost:hover { color: var(--color-accent); text-decoration: underline; }
.btn_ghost::after { content: '→'; transition: inherit; }

/* --- Scroll Animation Base --- */
.animate_on_scroll {
    opacity: 0; transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.animate_on_scroll.is_visible { opacity: 1; transform: translateY(0); }
.animate_stagger > *:nth-child(1) { transition-delay: 0s; }
.animate_stagger > *:nth-child(2) { transition-delay: 0.1s; }
.animate_stagger > *:nth-child(3) { transition-delay: 0.15s; }
.animate_stagger > *:nth-child(4) { transition-delay: 0.2s; }
.animate_stagger > *:nth-child(5) { transition-delay: 0.25s; }
.animate_stagger > *:nth-child(6) { transition-delay: 0.3s; }

/* --- Utility --- */
.text_center { text-align: center; }
.text_white { color: #fff; }
.text_primary { color: var(--color-primary); }
.text_secondary { color: var(--color-secondary); }
.bg_primary { background-color: var(--color-primary); }
.bg_light { background-color: var(--color-light); }
.bg_dark { background-color: var(--color-dark); }
.bg_white { background-color: #fff; }




/* === HERO === */
.section_hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero_bg { position:absolute; inset:0; background:url('/storage/assets/hero-slider.webp') center/cover no-repeat; z-index:0; }
.hero_overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(30,58,110,.92) 0%,rgba(17,27,11,.85) 100%); z-index:1; }
.hero_content { position:relative; z-index:2; max-width:720px; padding:var(--space-4xl) 0; }
.hero_label { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:var(--color-secondary); margin-bottom:24px; opacity:0; transform:translateY(15px); animation:heroIn .7s .2s forwards; }
.hero_label_line { width:40px; height:2px; background:var(--color-secondary); }
.hero_headline { font-family:var(--font-heading); font-size:48px; line-height:1.12; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:24px; opacity:0; transform:translateY(20px); animation:heroIn .7s .35s forwards; }
.hero_sub { font-size:18px; line-height:1.7; color:rgba(255,255,255,.8); margin-bottom:40px; max-width:560px; font-weight:300; opacity:0; transform:translateY(20px); animation:heroIn .7s .5s forwards; }
.hero_actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; opacity:0; transform:translateY(15px); animation:heroIn .7s .65s forwards; }
@keyframes heroIn { to{opacity:1;transform:translateY(0);} }
.hero_scroll_indicator { position:absolute; bottom:32px; left:50%; transform:translateX(-50%); z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px; color:rgba(255,255,255,.4); font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.hero_scroll_line { width:1px; height:40px; background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent); animation:scrollP 2s ease-in-out infinite; }
@keyframes scrollP { 0%,100%{opacity:.4;transform:scaleY(1);} 50%{opacity:1;transform:scaleY(1.2);} }
@media(max-width:767px){ .hero_headline{font-size:32px;} .hero_sub{font-size:16px;} .hero_content{padding:var(--space-3xl) 0;} .section_hero{min-height:90vh;} }

/* === ABOUT PREVIEW === */
.section_about_preview { padding:var(--space-4xl) 0; background:#fff; }
.about_preview_grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about_preview_label { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:var(--color-secondary); margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.about_preview_label_line { width:32px; height:2px; background:var(--color-secondary); }
.about_preview_text h2 { margin-bottom:24px; color:var(--color-primary); }
.about_preview_text p { color:var(--color-dark); font-size:16px; line-height:1.75; margin-bottom:16px; }
.about_preview_image { position:relative; overflow:hidden; }
.about_preview_image img { width:100%; height:480px; object-fit:cover; transition:transform var(--transition-slow); }
.about_preview_image:hover img { transform:scale(1.03); }
.about_preview_accent { position:absolute; bottom:0; left:0; width:100%; height:4px; background:var(--color-secondary); }
@media(max-width:767px){ .about_preview_grid{grid-template-columns:1fr;gap:32px;} .about_preview_image img{height:300px;} }

/* === SERVICES === */
.section_services { padding:var(--space-4xl) 0; background:var(--color-light); }
.section_headline_center { text-align:center; margin-bottom:16px; }
.section_sub_center { text-align:center; color:var(--color-neutral); font-size:16px; max-width:600px; margin:0 auto var(--space-2xl); }
.services_grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.card_service { background:#fff; border:1px solid rgba(0,0,0,.05); border-bottom:4px solid var(--color-primary); transition:all var(--transition-base); overflow:hidden; display:flex; flex-direction:column; }
.card_service:hover { transform:translateY(-4px); box-shadow:var(--shadow-medium); }
.card_service_image { height:200px; overflow:hidden; }
.card_service_image img { width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); }
.card_service:hover .card_service_image img { transform:scale(1.05); }
.card_service_body { padding:24px; flex:1; display:flex; flex-direction:column; }
.card_service_icon { width:48px; height:48px; background:rgba(30,58,110,.08); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.card_service_icon svg { width:24px; height:24px; color:var(--color-primary); }
.card_service_body h3 { font-size:18px; margin-bottom:12px; color:var(--color-primary); }
.card_service_body p { font-size:14px; color:var(--color-neutral); line-height:1.65; flex:1; }
.card_service_body .btn_ghost { margin-top:16px; font-size:12px; }
@media(max-width:1023px){ .services_grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:639px){ .services_grid{grid-template-columns:1fr;} }

/* === PORTFOLIO (Redesigned — marquee ticker) === */
.section_portfolio { padding:var(--space-4xl) 0; background:var(--color-primary); position:relative; overflow:hidden; }
.section_portfolio::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--color-secondary); }
.section_portfolio h2 { color:#fff; }
.section_portfolio .section_sub_center { color:rgba(255,255,255,.6); }
.portfolio_marquee_wrapper { position:relative; margin-top:var(--space-xl); overflow:hidden; }
.portfolio_marquee_wrapper::before,.portfolio_marquee_wrapper::after { content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2; pointer-events:none; }
.portfolio_marquee_wrapper::before { left:0; background:linear-gradient(to right,var(--color-primary),transparent); }
.portfolio_marquee_wrapper::after { right:0; background:linear-gradient(to left,var(--color-primary),transparent); }
.portfolio_marquee_track { display:flex; width:max-content; animation:mScroll 40s linear infinite; }
.portfolio_marquee_track:hover { animation-play-state:paused; }
@keyframes mScroll { 0%{transform:translateX(0);} 100%{transform:translateX(-50%);} }
.portfolio_item { display:flex; align-items:center; justify-content:center; padding:16px 32px; margin:0 6px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); white-space:nowrap; transition:all .3s ease; cursor:default; }
.portfolio_item:hover { background:var(--color-secondary); border-color:var(--color-secondary); transform:scale(1.05); }
.portfolio_item span { font-family:var(--font-heading); font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.85); }
.portfolio_item:hover span { color:#fff; }
.portfolio_marquee_track_reverse { animation:mScrollR 35s linear infinite; }
@keyframes mScrollR { 0%{transform:translateX(-50%);} 100%{transform:translateX(0);} }
.portfolio_count { display:flex; justify-content:center; align-items:center; gap:48px; margin-top:var(--space-2xl); padding-top:var(--space-xl); border-top:1px solid rgba(255,255,255,.1); }
.portfolio_count_item { text-align:center; }
.portfolio_count_number { font-family:var(--font-heading); font-size:36px; font-weight:800; color:var(--color-secondary); display:block; line-height:1; }
.portfolio_count_label { font-size:13px; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.08em; margin-top:8px; display:block; }
@media(max-width:639px){ .portfolio_count{gap:24px;} .portfolio_count_number{font-size:28px;} }

/* === GALLERY + LIGHTBOX === */
.section_gallery { padding:var(--space-4xl) 0; background:var(--color-light); }
.gallery_grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:var(--space-xl); }
.gallery_item { position:relative; overflow:hidden; cursor:pointer; aspect-ratio:4/3; }
.gallery_item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.gallery_item:hover img { transform:scale(1.06); }
.gallery_item_overlay { position:absolute; inset:0; background:rgba(30,58,110,0); display:flex; align-items:center; justify-content:center; transition:background .3s ease; }
.gallery_item:hover .gallery_item_overlay { background:rgba(30,58,110,.4); }
.gallery_item_icon { width:48px; height:48px; background:rgba(255,255,255,.9); display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(.8); transition:all .3s ease; }
.gallery_item:hover .gallery_item_icon { opacity:1; transform:scale(1); }
.gallery_item_icon svg { width:20px; height:20px; color:var(--color-primary); }
@media(max-width:1023px){ .gallery_grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:639px){ .gallery_grid{grid-template-columns:1fr;} }
.lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); align-items:center; justify-content:center; padding:24px; }
.lightbox.is_open { display:flex; }
.lightbox_img { max-width:90vw; max-height:85vh; object-fit:contain; opacity:0; transform:scale(.95); transition:all .3s ease; }
.lightbox.is_open .lightbox_img { opacity:1; transform:scale(1); }
.lightbox_close { position:absolute; top:24px; right:24px; width:48px; height:48px; background:rgba(255,255,255,.1); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.lightbox_close:hover { background:rgba(255,255,255,.2); }
.lightbox_close svg { width:24px; height:24px; color:#fff; }
.lightbox_nav { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; background:rgba(255,255,255,.1); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.lightbox_nav:hover { background:rgba(255,255,255,.25); }
.lightbox_nav svg { width:24px; height:24px; color:#fff; }
.lightbox_prev { left:24px; }
.lightbox_next { right:24px; }
.lightbox_counter { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:14px; font-family:var(--font-body); }

/* === CTA BAND === */
.section_cta_band { background:var(--color-dark); padding:var(--space-3xl) 0; text-align:center; position:relative; }
.section_cta_band::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--color-accent); }
.cta_band_headline { font-family:var(--font-heading); font-size:28px; font-weight:700; color:#fff; margin-bottom:12px; }
.cta_band_sub { color:rgba(255,255,255,.7); font-size:16px; margin-bottom:28px; }
@media(max-width:767px){ .cta_band_headline{font-size:22px;} }

/* === FOOTER === */
.footer_cta { background:var(--color-primary); padding:var(--space-3xl) 0; text-align:center; position:relative; }
.footer_cta::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--color-secondary); }
.footer_cta_headline { font-family:var(--font-heading); font-size:28px; font-weight:700; color:#fff; margin-bottom:12px; }
.footer_cta_sub { color:rgba(255,255,255,.7); font-size:16px; margin: 30px auto; }
.footer_cta .btn_primary { font-size:14px; padding:16px 40px; }
.site_footer { background:var(--color-dark); color:rgba(255,255,255,.7); padding:var(--space-3xl) 0 0; }
.footer_grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; padding-bottom:var(--space-2xl); }
.footer_brand_desc { font-size:14px; line-height:1.7; color:rgba(255,255,255,.6); margin-bottom:20px; max-width:340px; }
.footer_brand_logo { display:flex; align-items:center; gap:12px; margin-bottom:20px; text-decoration:none; }
.footer_brand_logo_icon { width:40px; height:40px; background:var(--color-secondary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.footer_brand_logo_icon svg { width:22px; height:22px; }
.footer_brand_logo_name { font-family:var(--font-heading); font-weight:700; font-size:17px; color:#fff; text-transform:uppercase; }
.footer_heading { font-family:var(--font-heading); font-weight:600; font-size:14px; text-transform:uppercase; letter-spacing:.1em; color:#fff; margin-bottom:24px; }
.footer_links { list-style:none; padding:0; }
.footer_links li { margin-bottom:12px; }
.footer_links a { color:rgba(255,255,255,.6); font-size:14px; text-decoration:none; transition:all .2s ease; }
.footer_links a:hover { color:var(--color-secondary); padding-left:4px; }
.footer_contact_item { display:flex; align-items:flex-start; gap:10px; color:rgba(255,255,255,.6); font-size:14px; margin-bottom:14px; }
.footer_contact_item svg { width:16px; height:16px; margin-top:2px; flex-shrink:0; color:var(--color-secondary); }
.footer_contact_item a { color:rgba(255,255,255,.6); text-decoration:none; }
.footer_contact_item a:hover { color:var(--color-secondary); }
.footer_bottom { border-top:1px solid rgba(255,255,255,.08); padding:20px 0; display:flex; justify-content:space-between; align-items:center; font-size:13px; color:rgba(255,255,255,.4); }
.footer_bottom a { color:rgba(255,255,255,.4); text-decoration:none; }
.footer_bottom a:hover { color:var(--color-secondary); }
@media(max-width:767px){ .footer_grid{grid-template-columns:1fr;gap:32px;} .footer_bottom{flex-direction:column;gap:8px;text-align:center;} .footer_cta_headline{font-size:22px;} }
    

/* === REVEAL === */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s cubic-bezier(.25,.46,.45,.94), transform .7s cubic-bezier(.25,.46,.45,.94); }
.reveal.is_visible { opacity:1; transform:translateY(0); }
.reveal_delay_1 { transition-delay:.1s; }
.reveal_delay_2 { transition-delay:.2s; }
.reveal_delay_3 { transition-delay:.3s; }
.reveal_delay_4 { transition-delay:.4s; }

/* === PAGE HERO (short) === */
.page_hero {
    position: relative;
    min-height: 45vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.page_hero_bg {
    position: absolute;
    inset: 0;
    background: url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?w=1920&q=80') center/cover no-repeat;
    z-index: 0;
}
.page_hero_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(30,58,110,.92) 0%, rgba(17,27,11,.8) 100%);
    z-index: 1;
}
.page_hero_content {
    position: relative;
    z-index: 2;
    text-align: center;
    width: 100%;
    padding: var(--space-4xl) 0;
}
.page_hero_label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .15em;
    color: var(--color-secondary);
    margin-bottom: 20px;
    opacity: 0;
    animation: heroIn .7s .2s forwards;
}
.page_hero_label_line { width: 32px; height: 2px; background: var(--color-secondary); }
.page_hero_title {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -.02em;
    margin-bottom: 16px;
    opacity: 0;
    animation: heroIn .7s .35s forwards;
}
.page_hero_sub {
    font-size: 17px;
    color: rgba(255,255,255,.75);
    font-weight: 300;
    max-width: 560px;
    margin: 0 auto;
    opacity: 0;
    animation: heroIn .7s .5s forwards;
}
@keyframes heroIn { to { opacity:1; transform:translateY(0); } }
.page_hero_label, .page_hero_title, .page_hero_sub { transform: translateY(15px); }
@media(max-width:767px) {
    .page_hero { min-height: 35vh; }
    .page_hero_title { font-size: 30px; }
    .page_hero_sub { font-size: 15px; }
}

/* === STORY SECTION === */
.section_story { padding: var(--space-4xl) 0; background: #fff; }
.story_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: start;
}
.story_label {
    font-size: 12px; font-weight: 600; text-transform: uppercase;
    letter-spacing: .15em; color: var(--color-secondary);
    margin-bottom: 16px; display: flex; align-items: center; gap: 8px;
}
.story_label_line { width: 32px; height: 2px; background: var(--color-secondary); }
.story_text h2 { margin-bottom: 24px; color: var(--color-primary); }
.story_text p {
    color: var(--color-dark); font-size: 16px; line-height: 1.8; margin-bottom: 16px;
}
.story_image_stack {
    position: relative;
}
.story_image_main {
    width: 100%;
    object-fit: cover;
    position: relative;
    z-index: 1;
}
.story_image_accent {
    position: absolute;
    bottom: -16px;
    right: -16px;
    width: 50%;
    height: 200px;
    background: var(--color-primary);
    z-index: 0;
}
.story_image_badge {
    position: absolute;
    bottom: 24px;
    left: 24px;
    z-index: 2;
    background: var(--color-secondary);
    padding: 16px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.story_image_badge_number {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
}
.story_image_badge_label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,.85);
    margin-top: 4px;
}
@media(max-width:767px) {
    .story_grid { grid-template-columns: 1fr; gap: 32px; }
    .story_image_main { height: 300px; }
    .story_image_accent { display: none; }
}

/* === HIGHLIGHTS / COUNTERS === */
.section_highlights {
    padding: var(--space-4xl) 0;
    background: var(--color-primary);
    position: relative;
}
.section_highlights::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--color-secondary);
}
.highlights_header {
    text-align: center;
    margin-bottom: var(--space-2xl);
}
.highlights_header h2 { color: #fff; margin-bottom: 0; }
.highlights_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}
.highlight_card {
    text-align: center;
    padding: 32px 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    transition: all .3s ease;
}
.highlight_card:hover {
    background: rgba(255,255,255,.1);
    transform: translateY(-4px);
}
.highlight_number {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 800;
    color: var(--color-secondary);
    line-height: 1;
    margin-bottom: 12px;
    display: block;
}
.highlight_label {
    font-size: 14px;
    color: rgba(255,255,255,.7);
    line-height: 1.5;
}
@media(max-width:1023px) { .highlights_grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:639px) { .highlights_grid { grid-template-columns: 1fr; gap: 16px; } .highlight_number { font-size: 32px; } }

/* === WHY US / VALUES === */
.section_values {
    padding: var(--space-4xl) 0;
    background: var(--color-light);
}
.values_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-top: var(--space-2xl);
}
.value_card {
    background: #fff;
    padding: 32px;
    border-bottom: 4px solid var(--color-primary);
    transition: all .3s ease;
}
.value_card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-medium);
}
.value_icon {
    width: 56px;
    height: 56px;
    background: rgba(30,58,110,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.value_icon svg { width: 28px; height: 28px; color: var(--color-primary); }
.value_card h3 { font-size: 18px; margin-bottom: 12px; color: var(--color-primary); }
.value_card p { font-size: 14px; color: var(--color-neutral); line-height: 1.7; }
@media(max-width:767px) { .values_grid { grid-template-columns: 1fr; } }

/* === CTA SECTION === */
.section_about_cta {
    background: var(--color-dark);
    padding: var(--space-3xl) 0;
    text-align: center;
    position: relative;
}
.section_about_cta::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--color-accent);
}
.about_cta_headline {
    font-family: var(--font-heading);
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}
.about_cta_sub {
    color: rgba(255,255,255,.7);
    font-size: 16px;
    margin-bottom: 28px;
    max-width: 100%;
}
@media(max-width:767px) { .about_cta_headline { font-size: 22px; } }


/* =============================================
   Contact Page Styles — Bošnjaković Agrar
   Add this to your page <style> or app.css
   ============================================= */

/* --- Page Hero --- */
.page_hero { position:relative; min-height:40vh; display:flex; align-items:center; overflow:hidden; }
.page_hero_bg { position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1509391366360-2e959784a276?w=1920&q=80') center/cover no-repeat; z-index:0; }
.page_hero_overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(30,58,110,.92) 0%,rgba(17,27,11,.8) 100%); z-index:1; }
.page_hero_content { position:relative; z-index:2; text-align:center; width:100%; padding:96px 0; }
.page_hero_label { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:#5A9E2F; margin-bottom:20px; }
.page_hero_label_line { width:32px; height:2px; background:#5A9E2F; }
.page_hero_title { font-family:'Poppins',sans-serif; font-size:42px; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:16px; }
.page_hero_sub { font-size:17px; color:rgba(255,255,255,.75); font-weight:300; max-width:560px; margin:0 auto; }
@media(max-width:767px){ .page_hero{min-height:32vh;} .page_hero_title{font-size:30px;} .page_hero_content{padding:64px 0;} }

/* --- Contact Layout (TWO COLUMNS) --- */
.section_contact { padding:96px 0; background:#fff; }
.contact_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
}
@media(max-width:1023px){ .contact_grid{grid-template-columns:1fr;} }

/* --- Contact Info Card --- */
.contact_info_card { background:#F5F7F2; padding:32px; margin-bottom:32px; border-left:4px solid #5A9E2F; }
.contact_info_headline { font-family:'Poppins',sans-serif; font-size:20px; font-weight:700; color:#1E3A6E; margin-bottom:24px; }
.contact_info_item { display:flex; align-items:flex-start; gap:14px; padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06); }
.contact_info_item:last-child { border-bottom:none; }
.contact_info_icon { flex-shrink:0; width:44px; height:44px; background:rgba(30,58,110,.08); display:flex; align-items:center; justify-content:center; }
.contact_info_icon svg { width:20px; height:20px; color:#1E3A6E; }
.contact_info_label { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:#6B7280; margin-bottom:2px; }
.contact_info_value { font-size:15px; color:#111B0B; font-weight:500; }
.contact_info_value a { color:#111B0B; text-decoration:none; transition:color .2s ease; }
.contact_info_value a:hover { color:#5A9E2F; }
.contact_instagram { display:inline-flex; align-items:center; gap:8px; margin-top:16px; padding:10px 20px; background:#1E3A6E; color:#fff; text-decoration:none; transition:all .3s ease; font-size:14px; font-weight:600; }
.contact_instagram:hover { background:#5A9E2F; color:#fff; transform:translateY(-2px); }

/* --- Contact Form Card --- */
.contact_form_card { background:#F5F7F2; padding:32px; }
.contact_form_title { font-family:'Poppins',sans-serif; font-size:20px; font-weight:700; color:#1E3A6E; margin-bottom:8px; }
.contact_form_sub { font-size:14px; color:#6B7280; margin-bottom:24px; }

/* --- Livewire Form Override Styles --- */
.contact_form .form-label {
    display:block; font-size:13px; font-weight:600; text-transform:uppercase;
    letter-spacing:.06em; color:#1E3A6E; margin-bottom:6px;
}
.contact_form .form-control {
    width:100%; padding:12px 16px; font-family:'Poppins',sans-serif; font-size:15px;
    color:#111B0B; background:#fff; border:1px solid rgba(0,0,0,.12);
    border-radius:0 !important; outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.contact_form .form-control:focus {
    border-color:#1E3A6E; box-shadow:0 0 0 3px rgba(30,58,110,.1);
}
.contact_form .form-control::placeholder { color:#6B7280; font-weight:300; }
.contact_form textarea.form-control { min-height:120px; resize:vertical; }
.contact_form .form_row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:639px){ .contact_form .form_row{grid-template-columns:1fr;} }
.contact_form .form-check { display:flex; align-items:flex-start; gap:10px; margin-bottom:24px; }
.contact_form .form-check-input {
    width:18px; height:18px; margin-top:2px; accent-color:#5A9E2F;
    cursor:pointer; flex-shrink:0; border-radius:0 !important;
}
.contact_form .form-check-label { font-size:13px; color:#6B7280; line-height:1.5; }
.contact_form .btn-primary,
.contact_form .btn.btn-primary {
    display:inline-flex; align-items:center; justify-content:center;
    width:100%; padding:14px 32px; background:#5A9E2F !important; color:#fff !important;
    font-family:'Poppins',sans-serif; font-weight:700; font-size:14px;
    text-transform:uppercase; letter-spacing:.1em;
    border:2px solid #5A9E2F !important; border-radius:0 !important;
    cursor:pointer; transition:all .3s ease; text-decoration:none;
}
.contact_form .btn-primary:hover,
.contact_form .btn.btn-primary:hover {
    background:#4D8A27 !important; border-color:#4D8A27 !important; color:#fff !important;
    transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.contact_form .text-danger { color:#EF4444; font-size:13px; margin-top:4px; display:block; }
.contact_form .alert { padding:12px 16px; margin-bottom:16px; font-size:14px; border-radius:0; }
.contact_form .alert-info { background:rgba(30,58,110,.08); color:#1E3A6E; border:1px solid rgba(30,58,110,.15); }
.contact_form .alert-success { background:rgba(90,158,47,.08); color:#2d7a0f; border:1px solid rgba(90,158,47,.2); }
.contact_form .alert-danger { background:rgba(239,68,68,.08); color:#b91c1c; border:1px solid rgba(239,68,68,.2); }

/* --- Map --- */
.contact_map_wrapper { overflow:hidden; margin-bottom:24px; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.contact_map_wrapper iframe { display:block; width:100%; height:400px; border:0; border-radius:0; }

/* --- Working Hours --- */
.contact_hours { background:#1E3A6E; padding:24px; color:#fff; margin-bottom:24px; }
.contact_hours_title { font-family:'Poppins',sans-serif; font-size:16px; font-weight:600; color:#fff; margin-bottom:16px; text-transform:uppercase; letter-spacing:.06em; }
.contact_hours_row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:14px; }
.contact_hours_row:last-child { border-bottom:none; }
.contact_hours_day { color:rgba(255,255,255,.7); }
.contact_hours_time { color:#5A9E2F; font-weight:600; }

/* --- Quick Action Buttons --- */
.contact_quick_actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.contact_quick_btn {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    padding:24px; text-decoration:none; transition:all .3s ease;
}
.contact_quick_btn svg { width:28px; height:28px; color:#fff; margin-bottom:8px; }
.contact_quick_btn span {
    color:#fff; font-family:'Poppins',sans-serif; font-weight:700;
    font-size:13px; text-transform:uppercase; letter-spacing:.08em;
}
.contact_quick_btn:hover { transform:translateY(-2px); opacity:.9; }
.contact_quick_btn_green { background:#5A9E2F; }
.contact_quick_btn_blue { background:#1E3A6E; }


/* =============================================
   Single Service Page Styles — Bošnjaković Agrar
   ============================================= */

/* --- Service Hero --- */
.service_hero { position:relative; min-height:45vh; display:flex; align-items:center; overflow:hidden; }
.service_hero_bg { position:absolute; inset:0; z-index:0; background:#1E3A6E; }
.service_hero_img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.service_hero_overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(30,58,110,.88) 0%,rgba(17,27,11,.8) 100%); z-index:1; }
.service_hero_content { position:relative; z-index:2; text-align:center; width:100%; padding:96px 0; }
.service_hero_label { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:#5A9E2F; margin-bottom:20px; }
.service_hero_label_line { width:32px; height:2px; background:#5A9E2F; }
.service_hero_title { font-family:'Poppins',sans-serif; font-size:42px; font-weight:800; color:#fff; letter-spacing:-.02em; margin-bottom:16px; }
.service_hero_sub { font-size:17px; color:rgba(255,255,255,.75); font-weight:300; max-width:600px; margin:0 auto; }
@media(max-width:767px){ .service_hero{min-height:35vh;} .service_hero_title{font-size:28px;} .service_hero_content{padding:64px 0;} }

/* --- Layout: Content + Sticky Sidebar --- */
.service_section { padding:64px 0; background:#fff; }
.service_layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}
@media(max-width:1023px){
    .service_layout { grid-template-columns:1fr; }
    .service_sidebar { position:static !important; order:2; }
    .service_content { order:1; }
}

/* --- Left: Content --- */
.service_content { min-width:0; }

/* Rich text from description1/description2 */
.service_text { margin-bottom:48px; }
.service_text h2 {
    font-family:'Poppins',sans-serif; font-size:26px; font-weight:700;
    color:#1E3A6E; margin:32px 0 16px; letter-spacing:-.01em;
}
.service_text h3 {
    font-family:'Poppins',sans-serif; font-size:20px; font-weight:600;
    color:#1E3A6E; margin:28px 0 12px;
}
.service_text p {
    font-size:16px; line-height:1.8; color:#111B0B; margin-bottom:16px; max-width:75ch;
}
.service_text strong { font-weight:600; color:#1E3A6E; }
.service_text ul, .service_text ol {
    margin:0 0 20px 0; padding-left:0; list-style:none;
}
.service_text li {
    position:relative; padding:6px 0 6px 24px; font-size:15px; line-height:1.7; color:#111B0B;
}
.service_text li::before {
    content:''; position:absolute; left:0; top:14px;
    width:8px; height:8px; background:#5A9E2F;
}
.service_text a { color:#5A9E2F; text-decoration:underline; transition:color .2s; }
.service_text a:hover { color:#F58B20; }

/* --- Gallery --- */
.service_gallery { margin-bottom:48px; }
.service_gallery_title {
    font-family:'Poppins',sans-serif; font-size:22px; font-weight:700;
    color:#1E3A6E; margin-bottom:20px;
}
.service_gallery_grid {
    display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
}
.service_gallery_item {
    position:relative; overflow:hidden; cursor:pointer; aspect-ratio:4/3;
}
.service_gallery_item img {
    width:100%; height:100%; object-fit:cover; transition:transform .5s ease;
}
.service_gallery_item:hover img { transform:scale(1.06); }
.service_gallery_overlay {
    position:absolute; inset:0; background:rgba(30,58,110,0);
    display:flex; align-items:center; justify-content:center; transition:background .3s ease;
}
.service_gallery_item:hover .service_gallery_overlay { background:rgba(30,58,110,.4); }
.service_gallery_icon {
    width:44px; height:44px; background:rgba(255,255,255,.9);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:scale(.8); transition:all .3s ease;
}
.service_gallery_item:hover .service_gallery_icon { opacity:1; transform:scale(1); }
.service_gallery_icon svg { width:18px; height:18px; color:#1E3A6E; }
@media(max-width:767px){ .service_gallery_grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:480px){ .service_gallery_grid{grid-template-columns:1fr;} }

/* --- Bottom CTA --- */
.service_bottom_cta {
    background:#1E3A6E; padding:40px; text-align:center; margin-top:16px;
}
.service_bottom_cta h3 {
    font-family:'Poppins',sans-serif; font-size:24px; font-weight:700;
    color:#fff; margin-bottom:12px;
}
.service_bottom_cta p { color:rgba(255,255,255,.7); font-size:16px; margin-bottom:24px; }
.service_bottom_cta .btn_primary { font-size:14px; padding:16px 40px; }

/* --- Right: Sticky Sidebar --- */
.service_sidebar {
    align-self: start !important;
    position: sticky !important;
    top: 100px !important;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}
.service_sidebar_inner {
    /* Fallback — if aside sticky doesn't work, inner does */
    position: sticky;
    top: 100px;
}

/* Services Nav */
.sidebar_services {
    background:#F5F7F2; padding:28px; margin-bottom:20px;
    border-left:4px solid #5A9E2F;
}
.sidebar_title {
    font-family:'Poppins',sans-serif; font-size:16px; font-weight:700;
    color:#1E3A6E; text-transform:uppercase; letter-spacing:.06em; margin-bottom:20px;
}
.sidebar_nav { list-style:none; padding:0; margin:0; }
.sidebar_nav li { margin-bottom:0; }
.sidebar_nav_link {
    display:block; padding:12px 16px; font-size:14px; font-weight:500;
    color:#111B0B; text-decoration:none; border-right:3px solid transparent;
    transition:all .2s ease;
}
.sidebar_nav_link:hover {
    color:#1E3A6E; background:rgba(30,58,110,.04); border-right-color:#1E3A6E;
}
.sidebar_nav_active {
    color:#1E3A6E; font-weight:700; background:rgba(90,158,47,.06);
    border-right-color:#5A9E2F !important;
}

/* Contact Block */
.sidebar_contact {
    background:#1E3A6E; padding:28px; color:#fff;
}
.sidebar_contact_title {
    font-family:'Poppins',sans-serif; font-size:16px; font-weight:700;
    color:#fff; margin-bottom:8px;
}
.sidebar_contact_text {
    font-size:14px; color:rgba(255,255,255,.6); margin-bottom:20px; line-height:1.6;
}
.sidebar_contact_item {
    display:flex; align-items:center; gap:10px; padding:10px 0;
    color:rgba(255,255,255,.85); text-decoration:none; font-size:14px; font-weight:500;
    border-bottom:1px solid rgba(255,255,255,.1); transition:color .2s;
}
.sidebar_contact_item:last-of-type { border-bottom:none; }
.sidebar_contact_item:hover { color:#5A9E2F; }
.sidebar_contact_item svg { width:18px; height:18px; flex-shrink:0; color:#5A9E2F; }
.sidebar_cta_btn {
    width:100%; margin-top:20px; text-align:center; justify-content:center;
    font-size:13px; padding:12px 24px;
}

/* --- Lightbox --- */
.service_lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); align-items:center; justify-content:center; padding:24px; }
.service_lightbox.is_open { display:flex; }
.service_lb_img { max-width:90vw; max-height:85vh; object-fit:contain; opacity:0; transform:scale(.95); transition:all .3s ease; }
.service_lightbox.is_open .service_lb_img { opacity:1; transform:scale(1); }
.service_lb_close { position:absolute; top:24px; right:24px; width:48px; height:48px; background:rgba(255,255,255,.1); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.service_lb_close:hover { background:rgba(255,255,255,.2); }
.service_lb_close svg { width:24px; height:24px; color:#fff; }
.service_lb_nav { position:absolute; top:50%; transform:translateY(-50%); width:52px; height:52px; background:rgba(255,255,255,.1); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.service_lb_nav:hover { background:rgba(255,255,255,.25); }
.service_lb_nav svg { width:24px; height:24px; color:#fff; }
.service_lb_prev { left:24px; }
.service_lb_next { right:24px; }
.service_lb_counter { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:14px; font-family:'Poppins',sans-serif; }