:root {
    --primary: #c22034;
    --primary-dark: #9f1829;
    --secondary: #444444;
    --secondary-dark: #2f2f31;
    --navy: #303030;
    --ink: #1f1f1f;
    --muted: #6b6b70;
    --line: #e5e5e7;
    --bg: #f7f7f8;
    --white: #ffffff;
    --shadow: 0 18px 45px rgba(31, 31, 31, .12);

    /* Compatibility alias - postojeće klase i dalje koriste --blue */
    --blue: var(--primary);
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: Poppins, Arial, sans-serif;
    color: var(--ink);
    background: #fff;
    top: 0 !important;
}

a { text-decoration: none; color: inherit; }

.container {
    width: min(1180px, 92vw);
    margin: auto;
}

/* Top bar */
.topbar {
    height: 44px;
    background: #f6f8fb;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
}

.topbar-in {
    display: flex;
    align-items: center;
    gap: 24px;
    height: 44px;
}

.desktop-langs { margin-left: auto; }

/* Header */
.site-header {
    background: #fff;
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 50;
}

.nav {
    min-height: 92px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.logo img {
    height: 92px;
    max-width: 190px;
    object-fit: contain;
}

.nav nav {
    display: flex;
    align-items: center;
    gap: 24px;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
}

.nav a.active,
.nav nav a:hover { color: var(--blue); }

/* Languages */
.langs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.langs a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 5px 8px;
    border-radius: 7px;
    color: #444444;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    transition: .2s ease;
}

.langs a:hover,
.langs a.active {
    background: rgba(194, 32, 52, .10);
    color: var(--blue);
}

.langs img {
    width: 24px;
    height: 18px;
    display: block;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}

.mobile-langs { display: none; }

/* Mobile menu */
.menu-btn {
    display: none;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 8px;
    background: #f3f7fb;
    cursor: pointer;
    padding: 10px;
}

.menu-btn span {
    display: block;
    height: 2px;
    background: var(--navy);
    margin: 6px 0;
    border-radius: 2px;
    transition: .2s ease;
}

.menu-btn.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-btn.is-open span:nth-child(2) { opacity: 0; }
.menu-btn.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Hero */
.hero {
    min-height: 590px;
    background: linear-gradient(90deg, rgba(48,48,48,.98) 0%, rgba(48,48,48,.85) 38%, rgba(48,48,48,.08) 63%), url('../img/hero-grifon.webp') center/cover no-repeat;
    display: flex;
    align-items: center;
    color: #fff;
}

.hero .inner { max-width: 620px; }

.eyebrow {
    color: #f3b1ba;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-size: 13px;
}

.hero h1 {
    font-size: 58px;
    line-height: 1.05;
    margin: 15px 0 22px;
}

.hero p {
    font-size: 18px;
    line-height: 1.8;
}

/* Buttons */
.btns {
    display: flex;
    gap: 14px;
    margin-top: 32px;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--blue);
    color: #fff;
    padding: 15px 24px;
    border-radius: 4px;
    font-weight: 700;
}

.btn.secondary {
    background: transparent;
    border: 1px solid rgba(255,255,255,.75);
}

.btns.dark { margin-top: 28px; }

.btn.outline-blue {
    background: transparent;
    color: var(--blue);
    border: 1px solid rgba(194,32,52,.45);
}

.btn.outline-blue:hover {
    background: var(--blue);
    color: #fff;
}

/* Benefits */
.benefits {
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}

.benefit {
    padding: 28px 25px;
    border-right: 1px solid var(--line);
    display: flex;
    gap: 16px;
}

.benefit:last-child { border-right: 0; }

.ico {
    font-size: 34px;
    color: var(--blue);
}

.benefit h3 {
    font-size: 14px;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.benefit p {
    font-size: 13px;
    line-height: 1.65;
    color: var(--muted);
    margin: 0;
}

/* Sections */
.section { padding: 80px 0; }
.section.alt { background: var(--bg); }
.center { text-align: center; }

.section h2 {
    font-size: 36px;
    line-height: 1.2;
    margin: 0 0 14px;
}

.lead {
    color: var(--muted);
    font-size: 17px;
    line-height: 1.8;
    max-width: 760px;
}

.center .lead { margin: 0 auto 35px; }
.section-action { margin-top: 34px; }

/* Cards */
.cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}

.card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,.05);
    transition: .25s;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.card-body { padding: 24px; }
.card h3 { margin: 0 0 10px; }

.card p {
    color: var(--muted);
    line-height: 1.7;
    font-size: 14px;
}

/* Homepage brand section */
.brand-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    margin-top: 38px;
    text-align: left;
}

.brand-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 26px;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
    transition: .25s ease;
}

.brand-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow);
}

.brand-card span {
    display: block;
    color: var(--blue);
    font-weight: 800;
    letter-spacing: .08em;
    font-size: 13px;
    margin-bottom: 10px;
}

.brand-card strong {
    display: block;
    font-size: 18px;
    line-height: 1.35;
    margin-bottom: 12px;
}

.brand-card p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

/* Split/trust/CTA */
.split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 34px;
    box-shadow: var(--shadow);
}

.list {
    display: grid;
    gap: 15px;
    margin: 24px 0;
}

.list div {
    padding-left: 30px;
    position: relative;
}

.list div::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--blue);
    font-weight: 800;
}

.trust-panel {
    background: linear-gradient(135deg, rgba(48,48,48,.95), rgba(194,32,52,.82)), url('../img/about-hero.jpg') center/cover no-repeat;
    color: #fff;
    border-radius: 18px;
    padding: 42px;
    box-shadow: var(--shadow);
}

.trust-number {
    width: 86px;
    height: 86px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50%;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 24px;
}

.trust-panel h3 {
    font-size: 30px;
    line-height: 1.25;
    margin: 0 0 18px;
}

.trust-panel p {
    color: rgba(255,255,255,.86);
    line-height: 1.8;
}

.trust-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.trust-tags span {
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    padding: 8px 13px;
    font-size: 13px;
    font-weight: 700;
}

.b2b-cta {
    background: linear-gradient(90deg, rgba(48,48,48,.96), rgba(194,32,52,.82)), url('../img/hero-grifon.jpg') center/cover no-repeat;
    color: #fff;
}

.cta-box {
    display: grid;
    grid-template-columns: 1.5fr .8fr;
    gap: 40px;
    align-items: center;
}

.cta-box h2 { max-width: 820px; }

.cta-box p {
    color: rgba(255,255,255,.82);
    line-height: 1.8;
    font-size: 17px;
}

.cta-actions {
    display: grid;
    gap: 14px;
    justify-items: start;
}

/* Page heroes */
.page-hero,
.page-hero-kontakt {
    padding: 86px 0;
    color: #fff;
}

.page-hero {
    background: linear-gradient(90deg, rgba(48,48,48,.94), rgba(21,94,168,.78)), url('../img/hero-grifon.jpg') center/cover;
}

.page-hero-kontakt {
    background: linear-gradient(90deg, rgba(48,48,48,.94), rgba(21,94,168,.78)), url('../img/grifon-kontakt-pvc-alu-profili.webp') center/cover;
}

.page-hero h1,
.page-hero-kontakt h1 {
    font-size: 48px;
    margin: 0 0 12px;
}

/* Grids/forms */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.form {
    display: grid;
    gap: 15px;
}

.form input,
.form textarea,
.form select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 8px;
    font: inherit;
}

.form textarea { min-height: 130px; }
.form button { border: 0; cursor: pointer; }

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 32px;
}

.map {
    border: 0;
    width: 100%;
    height: 420px;
    border-radius: 14px;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.gallery img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 12px;
}

/* Footer */
footer {
    background: #303030;
    color: #f0f0f0;
    padding-top: 55px;
    margin-top: 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 40px;
}

.footer-logo {
    height: 78px;
    max-width: 190px;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
    padding: 6px;
}

footer a {
    display: block;
    margin: 8px 0;
    color: #f0f0f0;
}

.copy {
    border-top: 1px solid rgba(255,255,255,.12);
    text-align: center;
    padding: 18px;
    margin-top: 35px;
}

.copy a {
    display: inline;
    color: #fff;
    font-weight: 700;
}

/* Admin login */
.admin-login {
    min-height: 100vh;
    display: grid;
    place-items: center;
    background: var(--bg);
}

.admin-box {
    width: min(420px, 92vw);
    background: #fff;
    padding: 35px;
    border-radius: 16px;
    box-shadow: var(--shadow);
}

/* Google Translate cleanup */
#google_translate_element {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.goog-te-banner-frame,
.goog-te-balloon-frame,
.skiptranslate iframe,
body > .skiptranslate {
    display: none !important;
}

/* Responsive */
@media (max-width: 1100px) {
    .nav nav {
        gap: 16px;
        font-size: 13px;
    }

    .logo img {
        height: 82px;
    }
}

@media (max-width: 900px) {
    .topbar,
    .desktop-langs {
        display: none;
    }

    .nav {
        min-height: 82px;
    }

    .logo img {
        height: 74px;
    }

    .menu-btn {
        display: block;
        position: relative;
        z-index: 80;
    }

    .nav nav {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: 82px;
        z-index: 70;
        background: #fff;
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
        box-shadow: 0 18px 35px rgba(48,48,48,.12);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 0;
    }

    .nav nav.open {
        display: flex;
    }

    .nav nav a {
        display: block;
        padding: 14px 24px;
        border-bottom: 1px solid #f0f3f7;
    }

    .mobile-langs {
        display: block;
        margin-left: 0;
        padding: 18px 24px 8px;
        border-left: 0;
    }

    .mobile-langs > span {
        display: block;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
        margin-bottom: 12px;
    }

    .mobile-langs .langs {
        justify-content: flex-start;
    }

    .hero { min-height: 520px; }
    .hero h1 { font-size: 42px; }

    .benefit-grid,
    .cards,
    .brand-grid,
    .grid-3,
    .split,
    .contact-grid,
    .footer-grid,
    .cta-box {
        grid-template-columns: 1fr;
    }

    .benefit {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .gallery {
        grid-template-columns: 1fr;
    }

    .trust-panel {
        padding: 30px;
    }
}

@media (max-width: 560px) {
    .container {
        width: min(100% - 32px, 1180px);
    }

    .hero h1 {
        font-size: 34px;
    }

    .hero p,
    .lead {
        font-size: 16px;
    }

    .section {
        padding: 58px 0;
    }

    .section h2 {
        font-size: 30px;
    }

    .btns {
        flex-direction: column;
        align-items: flex-start;
    }
}

.cf-turnstile{
    margin:15px 0;
    overflow:hidden;
}

@media(max-width:480px){

    .cf-turnstile{
        transform:scale(.95);
        transform-origin:left top;
    }

}

.alert-success{
    background:#eaf8ee;
    color:#157347;
    border:1px solid #badbcc;
    padding:14px 16px;
    border-radius:8px;
    margin-bottom:15px;
    font-weight:600;
}

.alert-error{
    background:#fff1f2;
    color:#b42318;
    border:1px solid #f4c7c3;
    padding:14px 16px;
    border-radius:8px;
    margin-bottom:15px;
    font-weight:600;
}

/* GRIFON footer, cookie banner and legal page */
.site-footer {
    background: #303030;
    color: #f0f0f0;
    margin-top: 0;
}

.footer-main {
    padding: 64px 0 44px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 42px;
}

.footer-brand p,
.site-footer p {
    color: rgba(216, 230, 247, .82);
    line-height: 1.8;
    margin: 16px 0 0;
}

.footer-logo {
    height: 82px;
    max-width: 200px;
    object-fit: contain;
    background: #fff;
    border-radius: 10px;
    padding: 7px;
}

.site-footer h4 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 16px;
}

.site-footer a {
    display: block;
    color: rgba(216, 230, 247, .82);
    margin: 9px 0;
    transition: .2s ease;
}

.site-footer a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}

.footer-social a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    margin: 0;
    transform: none;
}

.footer-social a:hover {
    background: var(--blue);
    transform: translateY(-2px);
}

.footer-social svg {
    width: 22px;
    height: 22px;
    fill: #fff;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.12);
    padding: 18px 0;
}

.footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    color: rgba(216, 230, 247, .78);
    font-size: 14px;
}

.footer-bottom a {
    display: inline;
    color: #fff;
    margin: 0;
    font-weight: 800;
}

.cookie-consent {
    position: fixed;
    left: 20px;
    right: 20px;
    bottom: 20px;
    z-index: 9999;
    display: flex;
    justify-content: center;
}

.cookie-consent[hidden] {
    display: none !important;
}

.cookie-card {
    width: min(920px, 100%);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 18px;
    background: #fff;
    color: var(--ink);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(6, 27, 57, .22);
    padding: 22px;
}

.cookie-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    background: #f3f7fb;
    border-radius: 14px;
    font-size: 26px;
}

.cookie-content h3 {
    margin: 0 0 8px;
    font-size: 21px;
}

.cookie-content p {
    margin: 0 0 15px;
    color: var(--muted);
    line-height: 1.7;
}

.cookie-options {
    display: grid;
    gap: 10px;
    margin: 12px 0 16px;
}

.cookie-options label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 700;
}

.cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cookie-btn {
    border: 0;
    border-radius: 8px;
    padding: 11px 16px;
    font-weight: 800;
    cursor: pointer;
    font-family: inherit;
}

.cookie-btn.primary {
    background: var(--blue);
    color: #fff;
}

.cookie-btn.secondary {
    background: #f3f7fb;
    color: var(--navy);
}

.cookie-link {
    display: inline-block;
    margin-top: 12px;
    color: var(--blue);
    font-weight: 700;
}

.legal-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 30px;
    align-items: start;
}

.legal-nav {
    position: sticky;
    top: 120px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
}

.legal-nav a {
    display: block;
    padding: 11px 12px;
    border-radius: 8px;
    color: var(--ink);
    font-weight: 700;
}

.legal-nav a:hover {
    background: #f3f7fb;
    color: var(--blue);
}

.legal-content {
    display: grid;
    gap: 22px;
}

.legal-content .panel {
    scroll-margin-top: 120px;
}

.legal-content h2 {
    margin-top: 0;
}

.legal-content h3 {
    margin-top: 28px;
}

.legal-content p {
    color: var(--muted);
    line-height: 1.85;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
    }

    .cookie-consent {
        left: 12px;
        right: 12px;
        bottom: 12px;
    }

    .cookie-card {
        grid-template-columns: 1fr;
        padding: 18px;
        max-height: 82vh;
        overflow-y: auto;
    }

    .cookie-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .legal-layout {
        grid-template-columns: 1fr;
    }

    .legal-nav {
        position: static;
    }
}

.back-to-top{
    position:fixed;
    right:25px;
    bottom:25px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font-size:22px;
    font-weight:700;
    cursor:pointer;
    z-index:999;
    opacity:0;
    visibility:hidden;
    transform:translateY(15px);
    transition:.25s ease;
    box-shadow:0 10px 25px rgba(0,0,0,.18);
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.back-to-top:hover{
    transform:translateY(-3px);
    background:#9f1829;
}

@media(max-width:768px){

    .back-to-top{
        right:15px;
        bottom:15px;
        width:46px;
        height:46px;
        font-size:20px;
    }

}
/* GRIFON O nama v2 */
.about-hero {
    min-height: 760px;
    display: flex;
    align-items: center;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(3, 17, 40, .98) 0%, rgba(3, 17, 40, .82) 42%, rgba(3, 17, 40, .10) 72%),
        url('../img/about-hero.jpg') center/cover no-repeat;
    position: relative;
}

.about-hero-content {
    max-width: 780px;
    padding: 90px 0;
}

.about-hero h1 {
    font-size: clamp(44px, 5vw, 56px);
    line-height: 1.02;
    margin: 16px 0 24px;
    letter-spacing: -0.04em;
}

.about-hero p {
    max-width: 680px;
    font-size: 19px;
    line-height: 1.8;
    color: rgba(255,255,255,.88);
}

.about-facts-wrap {
    position: relative;
    z-index: 3;
    margin-top: -54px;
}

.about-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 22px 65px rgba(7,28,61,.16);
    overflow: hidden;
}

.about-fact {
    padding: 30px 28px;
    border-right: 1px solid var(--line);
}

.about-fact:last-child {
    border-right: 0;
}

.about-fact strong {
    display: block;
    color: var(--blue);
    font-size: 42px;
    line-height: 1;
    letter-spacing: -0.04em;
}

.about-fact span {
    display: block;
    margin-top: 8px;
    color: var(--muted);
    font-weight: 700;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .08em;
}

.section-head {
    margin-bottom: 40px;
}

.about-story {
    display: grid;
    grid-template-columns: 1fr .95fr;
    gap: 58px;
    align-items: center;
}

.about-copy h2,
.about-why h2,
.about-final-content h2 {
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.08;
    margin: 12px 0 20px;
    letter-spacing: -0.035em;
}

.about-copy p {
    color: var(--muted);
    line-height: 1.9;
    font-size: 16px;
}

.about-image-card,
.about-why-image {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
}

.about-image-card img,
.about-why-image img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
}

.about-video-section {
    padding-top: 20px;
}

.video-preview {
    min-height: 440px;
    border-radius: 26px;
    overflow: hidden;
    position: relative;
    display: grid;
    place-items: center;
    color: #fff;
    box-shadow: var(--shadow);
    background:
        linear-gradient(90deg, rgba(48,48,48,.88), rgba(48,48,48,.46)),
        url('../img/about-video-placeholder.jpg') center/cover no-repeat;
}

.video-preview-content {
    position: absolute;
    left: 46px;
    bottom: 42px;
    max-width: 560px;
    z-index: 2;
}

.video-preview-content h2 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.1;
    margin: 10px 0 12px;
}

.video-preview-content p {
    color: rgba(255,255,255,.82);
    line-height: 1.8;
}

.video-preview-content code {
    color: #fff;
    background: rgba(255,255,255,.12);
    border-radius: 6px;
    padding: 2px 6px;
}

.video-play {
    width: 106px;
    height: 106px;
    border: 0;
    border-radius: 50%;
    background: var(--blue);
    display: grid;
    place-items: center;
    cursor: pointer;
    position: relative;
    z-index: 2;
    box-shadow: 0 0 0 0 rgba(194,32,52,.55);
    animation: grifonPulse 1.8s infinite;
}

.video-play span {
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 25px solid #fff;
    margin-left: 7px;
}

@keyframes grifonPulse {
    0% { box-shadow: 0 0 0 0 rgba(194,32,52,.55); }
    70% { box-shadow: 0 0 0 26px rgba(194,32,52,0); }
    100% { box-shadow: 0 0 0 0 rgba(194,32,52,0); }
}

.about-timeline {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.timeline-item {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
}

.timeline-item span {
    display: inline-block;
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 16px;
}

.timeline-item h3 {
    margin: 0 0 10px;
}

.timeline-item p {
    color: var(--muted);
    line-height: 1.7;
    margin: 0;
}

.about-values {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.value-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
    transition: .25s ease;
}

.value-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.value-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    background: rgba(194,32,52,.10);
    border-radius: 16px;
    margin-bottom: 18px;
    color: var(--blue);
    font-size: 30px;
    font-weight: 900;
}

.value-card h3 {
    margin: 0 0 10px;
}

.value-card p {
    color: var(--muted);
    line-height: 1.7;
    margin: 0;
}

.about-why-section {
    background: var(--bg);
}

.about-why {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 58px;
    align-items: center;
}

.about-check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    margin-top: 28px;
}

.about-check-grid div {
    position: relative;
    padding-left: 30px;
    color: var(--ink);
    font-weight: 700;
    line-height: 1.5;
}

.about-check-grid div::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--blue);
    font-weight: 900;
}

.about-partners {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.partner-card {
    display: block;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 28px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0,0,0,.04);
    transition: .25s ease;
}

.partner-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.partner-card strong {
    display: block;
    font-size: 26px;
    color: var(--navy);
    margin-bottom: 8px;
}

.partner-card span {
    color: var(--muted);
    line-height: 1.6;
}

.about-final-cta {
    min-height: 620px;
    display: flex;
    align-items: center;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(48,48,48,.96), rgba(48,48,48,.74), rgba(48,48,48,.30)),
        url('../img/about-cta.jpg') center/cover no-repeat;
}

.about-final-content {
    max-width: 760px;
}

.about-final-content p {
    color: rgba(255,255,255,.84);
    line-height: 1.85;
    font-size: 18px;
}

.about-quote {
    padding: 52px 0;
    text-align: center;
    background: #fff;
}

.about-quote blockquote {
    margin: 0 auto 24px;
    max-width: 900px;
    font-size: clamp(30px, 4vw, 54px);
    line-height: 1.15;
    color: var(--navy);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
}

.video-modal[hidden] {
    display: none !important;
}

.video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(48,48,48,.82);
    backdrop-filter: blur(6px);
}

.video-modal-box {
    position: relative;
    width: min(980px, calc(100vw - 30px));
    margin: 8vh auto 0;
    background: #000;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.video-modal-frame {
    aspect-ratio: 16/9;
}

.video-modal-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.video-modal-placeholder {
    min-height: 420px;
    display: grid;
    place-items: center;
    color: #fff;
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #303030, #c22034);
}

.video-modal-close {
    position: absolute;
    right: 12px;
    top: 10px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

@media (max-width: 1000px) {
    .about-facts,
    .about-timeline,
    .about-values,
    .about-partners {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-story,
    .about-why {
        grid-template-columns: 1fr;
    }

    .about-image-card img,
    .about-why-image img {
        height: 420px;
    }
}

@media (max-width: 700px) {
    .about-hero {
        min-height: 680px;
    }

    .about-hero-content {
        padding: 70px 0;
    }

    .about-facts {
        grid-template-columns: 1fr;
    }

    .about-fact {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .about-timeline,
    .about-values,
    .about-partners,
    .about-check-grid {
        grid-template-columns: 1fr;
    }

    .video-preview {
        min-height: 520px;
        place-items: center;
    }

    .video-preview-content {
        left: 22px;
        right: 22px;
        bottom: 24px;
    }

    .video-play {
        width: 86px;
        height: 86px;
    }

    .about-final-cta {
        min-height: 560px;
    }
}

.pvc-hero,.product-hero{min-height:680px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(48,48,48,.96) 0%,rgba(48,48,48,.80) 44%,rgba(48,48,48,.15) 74%),url('../img/pvc-hero.jpg') center/cover no-repeat}.pvc-hero-content,.product-hero-copy{max-width:760px;padding:90px 0}.pvc-hero h1,.product-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.04;letter-spacing:-.04em;margin:14px 0 22px}.pvc-hero p,.product-hero p{max-width:680px;font-size:19px;line-height:1.82;color:rgba(255,255,255,.86)}.pvc-intro{padding:70px 0;background:#fff}.pvc-intro-grid{display:grid;grid-template-columns:.95fr 1fr;gap:52px;align-items:center}.pvc-intro h2{font-size:clamp(32px,4vw,50px);line-height:1.1;margin:10px 0 0}.pvc-intro p{color:var(--muted);line-height:1.9;font-size:17px}.pvc-products-section{background:var(--bg)}.pvc-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.pvc-product-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.04);transition:.25s ease}.pvc-product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.pvc-product-image{height:235px;overflow:hidden}.pvc-product-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.45s ease}.pvc-product-card:hover .pvc-product-image img{transform:scale(1.06)}.pvc-product-body{padding:26px}.pvc-product-body span{display:block;color:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}.pvc-product-body h3{margin:0 0 12px;font-size:22px;line-height:1.25}.pvc-product-body p{color:var(--muted);line-height:1.7;font-size:14px}.pvc-product-link{color:var(--blue);font-weight:800;margin-top:18px}.pvc-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.pvc-benefit{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.pvc-benefit strong{display:block;color:var(--navy);font-size:20px;margin-bottom:10px}.pvc-benefit p{color:var(--muted);line-height:1.7;margin:0}.pvc-cta,.product-final-cta{min-height:560px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(48,48,48,.96),rgba(48,48,48,.76),rgba(48,48,48,.22)),url('../img/pvc-cta.jpg') center/cover no-repeat}.pvc-cta-content,.product-final-content{max-width:760px}.pvc-cta h2,.product-final-content h2{font-size:clamp(34px,4vw,56px);line-height:1.08;margin:12px 0 18px}.pvc-cta p,.product-final-content p{color:rgba(255,255,255,.84);line-height:1.85;font-size:18px}.product-hero{background:linear-gradient(90deg,rgba(48,48,48,.96),rgba(48,48,48,.78)),url('../img/pvc-hero.jpg') center/cover no-repeat}.product-hero-grid{display:grid;grid-template-columns:1fr .82fr;gap:54px;align-items:center}.product-hero-image{border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.18)}.product-hero-image img{width:100%;height:430px;object-fit:cover;display:block}.product-detail-grid{display:grid;grid-template-columns:310px 1fr;gap:42px;align-items:start}.product-sticky-card{position:sticky;top:125px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 8px 25px rgba(0,0,0,.04)}.product-sticky-card p{color:var(--muted);line-height:1.7}.product-text{background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;box-shadow:0 8px 25px rgba(0,0,0,.04);color:var(--muted);line-height:1.85;font-size:16px}.product-text h2,.product-text h3{color:var(--navy);line-height:1.2}.product-text h2{font-size:34px;margin:0 0 18px}.product-text h3{font-size:24px;margin:30px 0 12px}.product-text ul{padding-left:20px}.product-text li{margin:8px 0}.product-gallery-section{margin-top:50px}.product-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-gallery a{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 25px rgba(0,0,0,.04)}.product-gallery img{width:100%;height:240px;object-fit:cover;display:block;transition:.35s ease}.product-gallery a:hover img{transform:scale(1.05)}@media(max-width:1100px){.pvc-product-grid,.pvc-benefit-grid{grid-template-columns:repeat(2,1fr)}.product-hero-grid,.product-detail-grid{grid-template-columns:1fr}.product-sticky-card{position:static}}@media(max-width:760px){.pvc-hero,.product-hero{min-height:650px}.pvc-intro-grid,.pvc-product-grid,.pvc-benefit-grid,.product-gallery{grid-template-columns:1fr}.product-text{padding:26px}.product-hero-image img{height:300px}}



/* ==========================================================
   GRIFON UI KIT v1.0 - red / gray corporate system
   Primary: #c22034 | Secondary: #444444
   Ovaj dio je namjerno na kraju CSS-a da pregazi starije stilove.
   ========================================================== */

:root {
    --primary: #c22034;
    --primary-dark: #9f1829;
    --secondary: #444444;
    --secondary-dark: #2f2f31;
    --navy: #303030;
    --ink: #1f1f1f;
    --muted: #6b6b70;
    --line: #e5e5e7;
    --bg: #f7f7f8;
    --white: #ffffff;
    --shadow: 0 18px 45px rgba(31,31,31,.12);
    --shadow-strong: 0 24px 70px rgba(31,31,31,.18);
    --blue: var(--primary);
}

/* Global polish */
::selection {
    background: var(--primary);
    color: #fff;
}

body {
    color: var(--ink);
    background: #fff;
}

a,
button,
.card,
.brand-card,
.benefit,
.partner-card,
.value-card,
.pvc-product-card,
.product-gallery a {
    transition: all .25s ease;
}

/* Header / navigation */
.topbar {
    background: #f7f7f8;
    border-bottom: 1px solid var(--line);
}

.site-header {
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 24px rgba(31,31,31,.04);
}

.nav nav a {
    position: relative;
}

.nav nav a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 2px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.nav nav a:hover::after,
.nav nav a.active::after {
    transform: scaleX(1);
}

.nav a.active,
.nav nav a:hover {
    color: var(--primary);
}

.langs a {
    color: var(--secondary);
}

.langs a:hover,
.langs a.active {
    background: rgba(194,32,52,.10);
    color: var(--primary);
}

/* Eyebrow */
.eyebrow {
    color: var(--primary);
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.eyebrow::before {
    content: '';
    width: 28px;
    height: 2px;
    background: var(--primary);
    display: inline-block;
}

/* On dark hero/CTA sections keep eyebrow readable */
.hero .eyebrow,
.page-hero .eyebrow,
.page-hero-kontakt .eyebrow,
.about-hero .eyebrow,
.pvc-hero .eyebrow,
.product-hero .eyebrow,
.b2b-cta .eyebrow,
.pvc-cta .eyebrow,
.product-final-cta .eyebrow,
.about-final-cta .eyebrow,
.trust-panel .eyebrow {
    color: #ffd8dd;
}

.hero .eyebrow::before,
.page-hero .eyebrow::before,
.page-hero-kontakt .eyebrow::before,
.about-hero .eyebrow::before,
.pvc-hero .eyebrow::before,
.product-hero .eyebrow::before,
.b2b-cta .eyebrow::before,
.pvc-cta .eyebrow::before,
.product-final-cta .eyebrow::before,
.about-final-cta .eyebrow::before,
.trust-panel .eyebrow::before {
    background: #ffd8dd;
}

/* Premium buttons */
.btn,
button.btn,
.form button,
.cookie-btn.primary {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--primary);
    color: #fff !important;
    border: 1px solid var(--primary);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(194,32,52,.24);
    text-decoration: none;
    transform: translateY(0);
}

.btn::before,
button.btn::before,
.form button::before,
.cookie-btn.primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 42%);
    opacity: .65;
    z-index: -1;
}

.btn:hover,
button.btn:hover,
.form button:hover,
.cookie-btn.primary:hover {
    background: var(--secondary);
    border-color: var(--secondary);
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(31,31,31,.24);
}

.btn.secondary,
.cookie-btn.secondary {
    background: #fff;
    color: var(--secondary-dark) !important;
    border: 1px solid rgba(255,255,255,.75);
    box-shadow: 0 10px 24px rgba(31,31,31,.10);
}

.btn.secondary:hover,
.cookie-btn.secondary:hover {
    background: var(--primary);
    color: #fff !important;
    border-color: var(--primary);
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(194,32,52,.24);
}

.btn.outline-blue,
.btn.outline-red,
.btn.outline {
    background: transparent;
    color: var(--primary) !important;
    border: 1px solid rgba(194,32,52,.50);
    box-shadow: none;
}

.btn.outline-blue:hover,
.btn.outline-red:hover,
.btn.outline:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff !important;
    box-shadow: 0 16px 35px rgba(194,32,52,.22);
}

/* Dark backgrounds: secondary/outline buttons */
.hero .btn.secondary,
.b2b-cta .btn.secondary,
.pvc-cta .btn.secondary,
.product-final-cta .btn.secondary,
.about-final-cta .btn.secondary,
.trust-panel .btn.secondary {
    background: rgba(255,255,255,.10);
    color: #fff !important;
    border-color: rgba(255,255,255,.70);
    backdrop-filter: blur(8px);
}

.hero .btn.secondary:hover,
.b2b-cta .btn.secondary:hover,
.pvc-cta .btn.secondary:hover,
.product-final-cta .btn.secondary:hover,
.about-final-cta .btn.secondary:hover,
.trust-panel .btn.secondary:hover {
    background: #fff;
    color: var(--secondary-dark) !important;
    border-color: #fff;
}

/* Cards and hover system */
.card,
.brand-card,
.benefit,
.panel,
.partner-card,
.value-card,
.pvc-product-card,
.pvc-benefit,
.timeline-item,
.product-sticky-card,
.product-text,
.cookie-card,
.legal-nav {
    border-color: var(--line);
    box-shadow: 0 8px 25px rgba(31,31,31,.05);
}

.card,
.brand-card,
.benefit,
.partner-card,
.value-card,
.pvc-product-card,
.pvc-benefit,
.timeline-item {
    position: relative;
}

.card::before,
.brand-card::before,
.benefit::before,
.partner-card::before,
.value-card::before,
.pvc-product-card::before,
.pvc-benefit::before,
.timeline-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
    z-index: 2;
}

.card:hover::before,
.brand-card:hover::before,
.benefit:hover::before,
.partner-card:hover::before,
.value-card:hover::before,
.pvc-product-card:hover::before,
.pvc-benefit:hover::before,
.timeline-item:hover::before {
    transform: scaleX(1);
}

.card:hover,
.brand-card:hover,
.benefit:hover,
.partner-card:hover,
.value-card:hover,
.pvc-product-card:hover,
.pvc-benefit:hover,
.timeline-item:hover {
    transform: translateY(-7px);
    box-shadow: var(--shadow-strong);
}

.card img,
.pvc-product-image img,
.product-gallery img,
.gallery img {
    transition: transform .45s ease, filter .45s ease;
}

.card:hover img,
.pvc-product-card:hover .pvc-product-image img,
.product-gallery a:hover img,
.gallery a:hover img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.03);
}

/* Benefits / icons */
.ico,
.value-icon,
.benefit .ico {
    color: var(--primary) !important;
    filter: none !important;
}

.benefit .ico {
    font-size: 32px;
    line-height: 1;
    width: 42px;
    display: inline-grid;
    place-items: start center;
}

.benefit:hover .ico {
    transform: scale(1.08);
}

/* Handshake emoji color fix: hide native yellow emoji and draw red icon */
.benefit .ico.handshake-icon,
.benefit .ico.is-red-icon {
    color: transparent !important;
    text-shadow: none;
    position: relative;
}

.benefit .ico.handshake-icon::before,
.benefit .ico.is-red-icon::before {
    content: '✦';
    color: var(--primary);
    font-size: 34px;
}

/* Lists/checks */
.list div::before,
.about-check-grid div::before {
    color: var(--primary);
}

/* Brand and product text accents */
.brand-card span,
.pvc-product-body span,
.pvc-product-link,
.cookie-link,
.legal-nav a:hover,
.timeline-item span,
.about-fact strong,
.partner-card:hover strong {
    color: var(--primary);
}

/* Hero and CTA overlay colors */
.hero {
    background:
        linear-gradient(90deg, rgba(48,48,48,.98) 0%, rgba(48,48,48,.85) 38%, rgba(48,48,48,.08) 63%),
        url('../img/hero-grifon.webp') center/cover no-repeat;
}

.page-hero {
    background:
        linear-gradient(90deg, rgba(48,48,48,.94), rgba(194,32,52,.72)),
        url('../img/hero-grifon.jpg') center/cover;
}

.page-hero-kontakt {
    background:
        linear-gradient(90deg, rgba(48,48,48,.94), rgba(194,32,52,.72)),
        url('../img/grifon-kontakt-pvc-alu-profili.webp') center/cover;
}

.trust-panel,
.b2b-cta,
.about-final-cta,
.pvc-cta,
.product-final-cta {
    background-color: var(--secondary);
}

.trust-panel {
    background:
        linear-gradient(135deg, rgba(48,48,48,.95), rgba(194,32,52,.78)),
        url('../img/about-cta.jpg') center/cover no-repeat;
}

.b2b-cta {
    background:
        linear-gradient(90deg, rgba(48,48,48,.96), rgba(194,32,52,.78)),
        url('../img/b2b-hero.jpg') center/cover no-repeat;
}

.about-hero {
    background:
        linear-gradient(90deg, rgba(48,48,48,.98) 0%, rgba(48,48,48,.82) 42%, rgba(48,48,48,.10) 72%),
        url('../img/about-hero.jpg') center/cover no-repeat;
}

.about-final-cta {
    background:
        linear-gradient(90deg, rgba(48,48,48,.96), rgba(48,48,48,.72), rgba(48,48,48,.26)),
        url('../img/about-cta.jpg') center/cover no-repeat;
}

.video-preview {
    background:
        linear-gradient(90deg, rgba(48,48,48,.88), rgba(48,48,48,.46)),
        url('../img/about-video-placeholder.jpg') center/cover no-repeat;
}

.video-play {
    background: var(--primary);
    box-shadow: 0 0 0 0 rgba(194,32,52,.55);
}

@keyframes grifonPulse {
    0% { box-shadow: 0 0 0 0 rgba(194,32,52,.55); }
    70% { box-shadow: 0 0 0 26px rgba(194,32,52,0); }
    100% { box-shadow: 0 0 0 0 rgba(194,32,52,0); }
}

.pvc-hero,
.product-hero {
    background:
        linear-gradient(90deg, rgba(48,48,48,.96) 0%, rgba(48,48,48,.80) 44%, rgba(48,48,48,.15) 74%),
        url('../img/pvc-hero.jpg') center/cover no-repeat;
}

.pvc-cta,
.product-final-cta {
    background:
        linear-gradient(90deg, rgba(48,48,48,.96), rgba(48,48,48,.76), rgba(48,48,48,.22)),
        url('../img/pvc-cta.jpg') center/cover no-repeat;
}

/* Footer */
.site-footer,
footer {
    background: var(--secondary-dark);
    color: #f0f0f0;
}

.site-footer a,
footer a,
.footer-brand p,
.site-footer p,
footer p {
    color: rgba(255,255,255,.80);
}

.site-footer a:hover,
footer a:hover {
    color: #fff;
}

.footer-social a {
    background: rgba(194,32,52,.16);
    border-color: rgba(194,32,52,.35);
}

.footer-social a:hover {
    background: var(--primary);
    border-color: var(--primary);
}

.footer-logo {
    background: #fff;
}

/* Back to top */
.back-to-top {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 12px 30px rgba(194,32,52,.25);
}

.back-to-top:hover {
    background: var(--secondary);
}

/* Cookie */
.cookie-icon {
    background: rgba(194,32,52,.10);
}

.cookie-btn.primary {
    background: var(--primary);
}

/* Mobile menu */
.menu-btn {
    background: #f4f4f5;
}

.menu-btn span {
    background: var(--secondary);
}

@media (max-width: 900px) {
    .nav nav a::after {
        display: none;
    }

    .nav nav a:hover,
    .nav nav a.active {
        color: var(--primary);
        background: rgba(194,32,52,.06);
    }
}

/* Scroll reveal - aktivira se kada se body doda klasa ui-reveal-ready */
.ui-reveal-ready .card,
.ui-reveal-ready .brand-card,
.ui-reveal-ready .benefit,
.ui-reveal-ready .panel,
.ui-reveal-ready .pvc-product-card,
.ui-reveal-ready .pvc-benefit,
.ui-reveal-ready .value-card,
.ui-reveal-ready .timeline-item,
.ui-reveal-ready .partner-card {
    opacity: 0;
    transform: translateY(18px);
}

.ui-reveal-ready .ui-in-view {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* GRIFON O nama - final polish + video mobile fix */
.about-video-section {
    position: relative;
}

.video-preview {
    cursor: default;
}

.video-play {
    z-index: 5;
    pointer-events: auto;
}

.video-preview-content {
    pointer-events: none;
}

.video-preview-content code {
    display: none;
}

.video-preview-content p {
    max-width: 620px;
}

.video-modal-placeholder {
    min-height: 420px;
    display: grid;
    place-items: center;
    color: #fff;
    text-align: center;
    padding: 34px;
    background: linear-gradient(135deg, #303030, #c22034);
}

.video-modal-placeholder h2 {
    margin: 0 0 12px;
}

.video-modal-placeholder p {
    margin: 0;
    color: rgba(255,255,255,.84);
    line-height: 1.7;
}

@media (max-width: 700px) {
    .video-preview {
        min-height: 560px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 34px 22px;
        gap: 24px;
    }

    .video-play {
        width: 82px;
        height: 82px;
        flex: 0 0 auto;
        order: 1;
    }

    .video-play span {
        border-top-width: 14px;
        border-bottom-width: 14px;
        border-left-width: 21px;
    }

    .video-preview-content {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        max-width: 100%;
        text-align: center;
        order: 2;
    }

    .video-preview-content .eyebrow {
        justify-content: center;
    }

    .video-preview-content h2 {
        font-size: 28px;
    }
}


/* ===== Kontakt v3 ===== */
.contact-panel{
    padding-bottom:24px;
}

.contact-grid .map{
    width:100%;
    height:460px;
    margin-top:28px;
    margin-bottom:24px;
    border:0;
    border-radius:18px;
    overflow:hidden;
    display:block;
    box-shadow:0 14px 36px rgba(31,31,31,.10);
}

.contact-hours{
    margin-top:6px;
    padding:18px 20px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fafafa;
}

.contact-hours h4{
    margin:0 0 8px;
    color:var(--primary);
}

.contact-hours p{
    margin:0;
    line-height:1.7;
    color:var(--muted);
}

@media(max-width:900px){
 .contact-grid .map{
   height:340px;
   margin-top:22px;
   margin-bottom:20px;
 }
}

/* ==========================================================
   GRIFON global premium hover patch
   Dodati na kraj /assets/css/style.css
   ========================================================== */

.card,
.brand-card,
.benefit,
.panel,
.partner-card,
.value-card,
.pvc-product-card,
.pvc-benefit,
.timeline-item,
.about-fact,
.b2b-benefit,
.b2b-brand,
.b2b-step,
.b2b-dark-card,
.contact-info-item,
.contact-type-card {
    position: relative;
    overflow: hidden;
    transition: transform .32s cubic-bezier(.2,.8,.2,1),
                box-shadow .32s cubic-bezier(.2,.8,.2,1),
                border-color .32s ease,
                background .32s ease;
}

.card::before,
.brand-card::before,
.benefit::before,
.panel::before,
.partner-card::before,
.value-card::before,
.pvc-product-card::before,
.pvc-benefit::before,
.timeline-item::before,
.about-fact::before,
.b2b-benefit::before,
.b2b-brand::before,
.b2b-step::before,
.b2b-dark-card::before,
.contact-info-item::before,
.contact-type-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 4px;
    background: var(--primary);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .32s cubic-bezier(.2,.8,.2,1);
    z-index: 3;
}

.card:hover::before,
.brand-card:hover::before,
.benefit:hover::before,
.panel:hover::before,
.partner-card:hover::before,
.value-card:hover::before,
.pvc-product-card:hover::before,
.pvc-benefit:hover::before,
.timeline-item:hover::before,
.about-fact:hover::before,
.b2b-benefit:hover::before,
.b2b-brand:hover::before,
.b2b-step:hover::before,
.b2b-dark-card:hover::before,
.contact-info-item:hover::before,
.contact-type-card:hover::before {
    transform: scaleX(1);
}

.card:hover,
.brand-card:hover,
.benefit:hover,
.panel:hover,
.partner-card:hover,
.value-card:hover,
.pvc-product-card:hover,
.pvc-benefit:hover,
.timeline-item:hover,
.about-fact:hover,
.b2b-benefit:hover,
.b2b-brand:hover,
.b2b-step:hover,
.b2b-dark-card:hover,
.contact-info-item:hover,
.contact-type-card:hover {
    transform: translateY(-7px);
    border-color: rgba(194,32,52,.28);
    box-shadow: 0 24px 55px rgba(31,31,31,.16);
}

.b2b-benefit:hover .b2b-benefit-icon,
.pvc-benefit:hover .pvc-benefit-icon,
.benefit:hover .ico,
.value-card:hover .value-icon,
.contact-info-item:hover .contact-info-icon {
    transform: scale(1.08);
}

.b2b-benefit-icon,
.pvc-benefit-icon,
.value-icon,
.contact-info-icon,
.ico {
    transition: transform .32s cubic-bezier(.2,.8,.2,1),
                background .32s ease,
                color .32s ease;
}

.b2b-benefit:hover h3,
.b2b-brand:hover strong,
.b2b-step:hover h3,
.pvc-benefit:hover strong,
.brand-card:hover strong,
.card:hover h3,
.partner-card:hover strong,
.value-card:hover h3 {
    color: var(--primary);
}

/* Tamne kartice na B2B dnu */
.b2b-dark-card {
    overflow: hidden;
}

.b2b-dark-card:hover {
    border-color: rgba(255,255,255,.24);
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
}

/* Dugmad - stabilan premium hover */
.btn,
.form button,
.cookie-btn {
    transition: transform .25s ease,
                box-shadow .25s ease,
                background .25s ease,
                border-color .25s ease,
                color .25s ease;
}

.btn:active,
.form button:active,
.cookie-btn:active {
    transform: translateY(0);
}

/* Slike u karticama */
.card img,
.pvc-product-image img,
.product-gallery img,
.gallery img {
    transition: transform .45s ease, filter .45s ease;
}

.card:hover img,
.pvc-product-card:hover .pvc-product-image img,
.product-gallery a:hover img,
.gallery a:hover img {
    transform: scale(1.055);
    filter: saturate(1.05) contrast(1.03);
}

/* Scroll reveal za nove B2B elemente */
.ui-reveal-ready .b2b-benefit,
.ui-reveal-ready .b2b-brand,
.ui-reveal-ready .b2b-step,
.ui-reveal-ready .b2b-dark-card,
.ui-reveal-ready .contact-info-item,
.ui-reveal-ready .contact-type-card {
    opacity: 0;
    transform: translateY(18px);
}

.ui-reveal-ready .ui-in-view {
    opacity: 1 !important;
    transform: translateY(0) !important;
}
