/* Prima Decor — Vision v3 */
:root{
    --v3-ink:#103744;
    --v3-ink-dark:#082832;
    --v3-red:#e2442f;
    --v3-red-dark:#c93422;
    --v3-sand:#f3efe8;
    --v3-sand-light:#faf8f4;
    --v3-line:rgba(16,55,68,.12);
    --v3-muted:#5e6e74;
    --v3-white:#ffffff;
    --v3-shadow:0 24px 70px rgba(11,43,53,.11);
    --v3-shadow-soft:0 12px 36px rgba(11,43,53,.08);
}

/* Colours, catalogues and advice */
.main-nav a[aria-current="page"]{
    color:var(--v3-red);
}

.colour-guide-v3 main{
    overflow:hidden;
}

.colour-guide-hero{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
    align-items:center;
    gap:70px;
    min-height:610px;
    padding:90px max(30px,calc((100vw - 1220px)/2));
    color:#fff;
    background:
        radial-gradient(circle at 83% 20%,rgba(124,180,203,.28),transparent 31%),
        linear-gradient(125deg,#082832 0%,#103744 57%,#1a4c60 100%);
}

.colour-guide-kicker,
.guide-section-head > span,
.guide-visit span{
    display:block;
    margin-bottom:13px;
    color:#f1a798;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.colour-guide-hero h1{
    max-width:720px;
    margin:0 0 24px;
    color:#fff;
    font-size:clamp(46px,5.2vw,76px);
    line-height:1.02;
    letter-spacing:-2.8px;
}

.colour-guide-hero-copy > p{
    max-width:680px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:19px;
    line-height:1.75;
}

.colour-guide-actions{
    display:flex;
    align-items:center;
    gap:27px;
    margin-top:35px;
}

.colour-guide-text-link{
    color:#fff;
    font-size:15px;
    font-weight:800;
    text-decoration:none;
}

.colour-guide-palette{
    position:relative;
    min-height:430px;
}

.palette-orbit{
    position:absolute;
    display:flex;
    justify-content:flex-end;
    flex-direction:column;
    width:245px;
    height:245px;
    padding:34px;
    border:1px solid rgba(255,255,255,.23);
    border-radius:50%;
    box-shadow:0 26px 55px rgba(0,0,0,.18);
}

.palette-orbit span{
    margin-bottom:5px;
    color:rgba(255,255,255,.72);
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
}

.palette-orbit strong{
    color:#fff;
    font-size:16px;
}

.palette-orbit-one{
    top:3px;
    left:38px;
    color:#143a4b;
    background:#7898a8;
}

.palette-orbit-two{
    z-index:2;
    right:0;
    bottom:4px;
    background:#123d80;
}

.palette-orbit-three{
    bottom:0;
    left:0;
    background:#132c44;
}

.guide-section{
    padding:105px max(30px,calc((100vw - 1220px)/2));
    background:#fff;
}

.guide-section-alt{
    background:var(--v3-sand);
}

.guide-section-head{
    max-width:820px;
    margin:0 auto 55px;
    text-align:center;
}

.guide-section-head > span{
    color:var(--v3-red);
}

.guide-section-head h2{
    margin:0 0 16px;
    color:var(--v3-ink);
    font-size:clamp(36px,4.2vw,56px);
    line-height:1.08;
    letter-spacing:-1.8px;
}

.guide-section-head p{
    margin:0;
    color:var(--v3-muted);
    font-size:17px;
    line-height:1.75;
}

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

.guide-topic-card{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    min-height:225px;
    padding:30px;
    color:var(--v3-ink);
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-radius:17px;
    text-decoration:none;
    transition:.3s;
}

.guide-topic-card:hover{
    color:var(--v3-ink);
    border-color:rgba(226,68,47,.28);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-4px);
}

.guide-topic-card > span{
    margin-bottom:30px;
    color:rgba(226,68,47,.42);
    font-size:42px;
    font-weight:800;
    line-height:1;
}

.guide-topic-card h3{
    margin:0 0 10px;
    color:var(--v3-ink);
    font-size:21px;
}

.guide-topic-card p{
    margin:0;
    color:var(--v3-muted);
    font-size:14px;
    line-height:1.65;
}

.catalog-grid,
.advice-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.catalog-card{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    min-height:375px;
    padding:33px;
    overflow:hidden;
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-radius:18px;
    transition:.3s;
}

.catalog-card:hover,
.advice-card:hover{
    border-color:rgba(226,68,47,.25);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-4px);
}

.catalog-colours{
    display:flex;
    width:100%;
    height:94px;
    margin-bottom:27px;
    overflow:hidden;
    border-radius:12px;
}

.catalog-colours i{
    flex:1;
}

.catalog-card > span{
    margin-bottom:8px;
    color:var(--v3-red);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.catalog-card h3{
    margin:0 0 12px;
    color:var(--v3-ink);
    font-size:26px;
}

.catalog-card p{
    margin:0 0 25px;
    color:var(--v3-muted);
    line-height:1.7;
}

.catalog-card a{
    margin-top:auto;
    color:var(--v3-red);
    font-size:14px;
    font-weight:800;
    text-decoration:none;
}

.catalog-vivechrom-2026 .catalog-colours i:nth-child(1),
.catalog-dulux-2026 .catalog-colours i:nth-child(1){background:#7898a8}
.catalog-vivechrom-2026 .catalog-colours i:nth-child(2),
.catalog-dulux-2026 .catalog-colours i:nth-child(2){background:#123d80}
.catalog-vivechrom-2026 .catalog-colours i:nth-child(3),
.catalog-dulux-2026 .catalog-colours i:nth-child(3){background:#132c44}

.catalog-vivechrom-inspiration .catalog-colours i:nth-child(1){background:#e8b947}
.catalog-vivechrom-inspiration .catalog-colours i:nth-child(2){background:#b86859}
.catalog-vivechrom-inspiration .catalog-colours i:nth-child(3){background:#6f8d76}

.catalog-dulux-home .catalog-colours i:nth-child(1){background:#d7c4ad}
.catalog-dulux-home .catalog-colours i:nth-child(2){background:#a88976}
.catalog-dulux-home .catalog-colours i:nth-child(3){background:#6e7c6d}

.screen-colour-note{
    display:grid;
    grid-template-columns:240px 1fr;
    gap:35px;
    margin-top:28px;
    padding:28px 32px;
    color:#fff;
    background:var(--v3-ink);
    border-radius:16px;
}

.screen-colour-note strong{
    font-size:18px;
}

.screen-colour-note p{
    margin:0;
    color:rgba(255,255,255,.75);
    line-height:1.65;
}

.advice-card{
    position:relative;
    min-height:345px;
    padding:36px;
    background:#fff;
    border:1px solid var(--v3-line);
    border-radius:18px;
    transition:.3s;
}

.advice-number{
    margin-bottom:25px;
    color:rgba(226,68,47,.28);
    font-size:54px;
    font-weight:800;
    line-height:1;
}

.advice-card h3{
    margin:0 0 15px;
    color:var(--v3-ink);
    font-size:26px;
}

.advice-card p{
    margin:0;
    color:var(--v3-muted);
    font-size:15px;
    line-height:1.76;
}

.ratio-bar{
    display:flex;
    height:9px;
    margin-top:26px;
    overflow:hidden;
    border-radius:999px;
}

.ratio-bar i:nth-child(1){flex:6;background:#7898a8}
.ratio-bar i:nth-child(2){flex:3;background:#d2b08c}
.ratio-bar i:nth-child(3){flex:1;background:#e2442f}

.advice-tag{
    display:inline-flex;
    margin-top:24px;
    padding:9px 12px;
    color:var(--v3-ink);
    background:var(--v3-sand);
    border-radius:8px;
    font-size:12px;
    font-weight:700;
}

.advice-resource-link{
    display:inline-flex;
    align-items:center;
    margin-top:24px;
    color:var(--v3-red);
    font-size:13px;
    font-weight:800;
    line-height:1.45;
    text-decoration:none;
}

.advice-resource-link:hover{
    color:var(--v3-red-dark);
    text-decoration:underline;
}

.advice-resource-link:focus-visible{
    outline:3px solid rgba(226,68,47,.3);
    outline-offset:4px;
    border-radius:3px;
}

.guide-visit{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);
    align-items:stretch;
    gap:0;
    padding:0;
    color:#fff;
    background:linear-gradient(120deg,#0a2c37,#154658);
}

.guide-visit-media{
    min-height:500px;
    margin:0;
    overflow:hidden;
    background:#07171d;
}

.guide-visit-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.guide-visit-copy{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-direction:column;
    max-width:none;
    padding:70px clamp(35px,6vw,95px);
}

.guide-visit-copy > span{
    margin-bottom:12px;
    color:#ff9d8f;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.guide-visit h2{
    margin:0 0 12px;
    color:#fff;
    font-size:38px;
}

.guide-visit p{
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:16px;
    line-height:1.7;
}

.guide-visit .btn{
    margin:30px 0 0;
}

/* Compact home preview */
.home-guide{
    background:#fff;
}

.home-guide-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.home-guide-card{
    display:block;
    min-height:240px;
    padding:30px;
    color:var(--v3-ink);
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-radius:16px;
    text-decoration:none;
    transition:.3s;
}

.home-guide-card:hover{
    color:var(--v3-ink);
    border-color:rgba(226,68,47,.25);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-4px);
}

.home-guide-swatch{
    display:flex;
    width:100%;
    height:54px;
    margin-bottom:25px;
    overflow:hidden;
    border-radius:9px;
}

.home-guide-swatch i{flex:1}
.home-guide-card:nth-child(1) .home-guide-swatch i:nth-child(1){background:#7898a8}
.home-guide-card:nth-child(1) .home-guide-swatch i:nth-child(2){background:#123d80}
.home-guide-card:nth-child(1) .home-guide-swatch i:nth-child(3){background:#132c44}
.home-guide-card:nth-child(2) .home-guide-swatch i:nth-child(1){flex:6;background:#d8cbbb}
.home-guide-card:nth-child(2) .home-guide-swatch i:nth-child(2){flex:3;background:#7f9a8b}
.home-guide-card:nth-child(2) .home-guide-swatch i:nth-child(3){flex:1;background:#e2442f}
.home-guide-card:nth-child(3) .home-guide-swatch i:nth-child(1){background:#f2c76f}
.home-guide-card:nth-child(3) .home-guide-swatch i:nth-child(2){background:#f3eadb}
.home-guide-card:nth-child(3) .home-guide-swatch i:nth-child(3){background:#7898a8}

.home-guide-card span{
    display:block;
    margin-bottom:7px;
    color:var(--v3-red);
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.home-guide-card h3{
    margin:0 0 10px;
    font-size:22px;
}

.home-guide-card p{
    margin:0;
    color:var(--v3-muted);
    font-size:14px;
    line-height:1.65;
}

.home-guide-action{
    margin-top:32px;
    text-align:center;
}

@media (max-width:980px){
    .colour-guide-hero{
        grid-template-columns:1fr;
        gap:35px;
        padding-top:75px;
        padding-bottom:70px;
    }

    .colour-guide-palette{
        width:min(100%,560px);
        min-height:390px;
        margin:0 auto;
    }

    .catalog-grid,
    .advice-grid,
    .guide-topic-grid,
    .home-guide-grid{
        grid-template-columns:1fr 1fr;
    }

    .guide-topic-card:last-child,
    .home-guide-card:last-child{
        grid-column:1 / -1;
    }

    .guide-visit{
        grid-template-columns:1fr;
    }

    .guide-visit-media{
        min-height:380px;
    }
}

@media (max-width:700px){
    .colour-guide-hero{
        padding:60px 22px;
    }

    .colour-guide-hero h1{
        font-size:43px;
        letter-spacing:-1.6px;
    }

    .colour-guide-actions{
        align-items:flex-start;
        flex-direction:column;
        gap:20px;
    }

    .colour-guide-palette{
        min-height:340px;
    }

    .palette-orbit{
        width:190px;
        height:190px;
        padding:25px;
    }

    .palette-orbit-one{left:28px}
    .palette-orbit-two{right:0}

    .guide-section{
        padding:75px 22px;
    }

    .guide-section-head h2{
        font-size:36px;
    }

    .catalog-grid,
    .advice-grid,
    .guide-topic-grid,
    .home-guide-grid{
        grid-template-columns:1fr;
    }

    .guide-topic-card:last-child,
    .home-guide-card:last-child{
        grid-column:auto;
    }

    .catalog-card,
    .advice-card{
        min-height:0;
        padding:27px 23px;
    }

    .screen-colour-note{
        grid-template-columns:1fr;
        gap:10px;
        padding:25px 22px;
    }

    .guide-visit{
        grid-template-columns:1fr;
    }

    .guide-visit-media{
        min-height:270px;
    }

    .guide-visit-copy{
        padding:55px 22px 60px;
    }

    .guide-visit h2{
        font-size:32px;
    }

    .guide-visit .btn{
        width:100%;
        text-align:center;
    }
}

body{
    background:var(--v3-sand-light);
    color:var(--v3-ink);
    line-height:1.5;
}

body::selection{
    color:#fff;
    background:var(--v3-red);
}

.top-strip{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    min-height:39px;
    padding:8px max(30px, calc((100vw - 1320px)/2));
    color:rgba(255,255,255,.82);
    background:var(--v3-ink-dark);
    font-size:13px;
    font-weight:600;
}

.top-strip a{
    color:#fff;
    text-decoration:none;
}

.top-strip-links{
    display:flex;
    align-items:center;
    gap:22px;
}

.site-header{
    min-height:88px;
    padding:8px max(30px, calc((100vw - 1320px)/2));
    background:rgba(255,255,255,.96);
    border-bottom:1px solid rgba(16,55,68,.08);
    box-shadow:none;
    backdrop-filter:blur(16px);
}

.logo img{
    width:auto;
    height:72px;
}

.main-nav{
    display:flex;
    align-items:center;
    gap:30px;
}

.main-nav a{
    margin:0;
    color:var(--v3-ink);
    font-size:15px;
    font-weight:700;
}

.main-nav a::after{
    bottom:-9px;
    height:2px;
    background:var(--v3-red);
}

.main-nav .nav-contact{
    padding:12px 20px;
    color:#fff;
    background:var(--v3-red);
    border-radius:999px;
}

.main-nav .nav-contact:hover{
    color:#fff;
    background:var(--v3-red-dark);
}

.main-nav .nav-contact::after{
    display:none;
}

.btn{
    padding:15px 27px;
    border-radius:12px;
    background:var(--v3-red);
    box-shadow:none;
    font-size:16px;
    font-weight:800;
}

.btn:hover{
    background:var(--v3-red-dark);
    box-shadow:0 14px 30px rgba(226,68,47,.24);
    transform:translateY(-2px);
}

/* Home hero */
.home-v3 .hero{
    position:relative;
    min-height:700px;
    isolation:isolate;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(7,31,39,.94) 0%,rgba(7,31,39,.82) 42%,rgba(7,31,39,.16) 76%),
        url("images/hero-prima-optimized.webp") center 46% / cover no-repeat;
}

.home-v3 .hero::before{
    position:absolute;
    z-index:-1;
    top:-180px;
    left:-140px;
    width:520px;
    height:520px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    content:"";
}

.home-v3 .hero::after{
    position:absolute;
    z-index:-1;
    bottom:-250px;
    left:180px;
    width:500px;
    height:500px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    content:"";
}

.home-v3 .hero-overlay{
    padding:90px max(30px, calc((100vw - 1320px)/2)) 70px;
}

.hero-shell{
    display:grid;
    grid-template-columns:minmax(0, 760px) 330px;
    justify-content:space-between;
    align-items:end;
    gap:70px;
    max-width:1320px;
    margin:0 auto;
}

.home-v3 .hero-content{
    max-width:760px;
}

.home-v3 .hero-label{
    margin-bottom:22px;
    color:#ff8a76;
    font-size:13px;
    letter-spacing:2.5px;
}

.home-v3 .hero-content h1{
    max-width:720px;
    margin-bottom:25px;
    font-size:clamp(43px, 5.2vw, 72px);
    line-height:1.02;
    letter-spacing:-2.5px;
    text-transform:none;
}

.home-v3 .hero-content p{
    max-width:660px;
    margin-bottom:34px;
    color:rgba(255,255,255,.84);
    font-size:20px;
    line-height:1.65;
}

.home-v3 .btn-outline{
    border-color:rgba(255,255,255,.45);
}

.hero-card{
    padding:28px;
    color:#fff;
    background:rgba(255,255,255,.11);
    border:1px solid rgba(255,255,255,.22);
    border-radius:20px;
    backdrop-filter:blur(13px);
}

.hero-card-label{
    display:block;
    margin-bottom:10px;
    color:#ff9b89;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.hero-card h2{
    margin-bottom:18px;
    font-size:23px;
    line-height:1.25;
}

.hero-card ul{
    display:grid;
    gap:12px;
    margin:0;
    padding:0;
    list-style:none;
}

.hero-card li{
    position:relative;
    padding-left:23px;
    color:rgba(255,255,255,.84);
    font-size:14px;
    line-height:1.5;
}

.hero-card li::before{
    position:absolute;
    top:7px;
    left:0;
    width:8px;
    height:8px;
    background:var(--v3-red);
    border-radius:50%;
    content:"";
}

.hero-trust{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:1320px;
    margin:55px auto 0;
    border-top:1px solid rgba(255,255,255,.18);
}

.hero-trust div{
    padding:22px 25px 0 0;
    color:rgba(255,255,255,.7);
    font-size:13px;
}

.hero-trust strong{
    display:block;
    margin-bottom:5px;
    color:#fff;
    font-size:17px;
}

/* Shared home sections */
.home-v3 .section{
    padding:105px max(30px, calc((100vw - 1320px)/2));
}

.home-v3 .section-head{
    max-width:760px;
    margin-bottom:55px;
}

.home-v3 .section-head span,
.home-v3 .small-title{
    margin-bottom:14px;
    color:var(--v3-red);
    font-size:12px;
    letter-spacing:2.6px;
}

.home-v3 .section-head h2{
    margin-bottom:17px;
    color:var(--v3-ink);
    font-size:clamp(34px, 4vw, 50px);
    line-height:1.12;
    letter-spacing:-1.6px;
}

.home-v3 .section-head p{
    color:var(--v3-muted);
    font-size:18px;
    line-height:1.7;
}

/* Offers */
.home-v3 .products{
    background:var(--v3-sand-light);
}

.home-v3 .product-grid{
    max-width:1320px;
    margin:0 auto;
    gap:18px;
}

.home-v3 .card{
    position:relative;
    min-height:218px;
    padding:28px;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--v3-line);
    border-radius:16px;
    box-shadow:none;
}

.home-v3 .card::after{
    position:absolute;
    right:-30px;
    bottom:-55px;
    width:115px;
    height:115px;
    border:18px solid var(--v3-sand);
    border-radius:50%;
    content:"";
    transition:.35s ease;
}

.home-v3 .card:hover{
    border-color:rgba(226,68,47,.28);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-5px);
}

.home-v3 .card:hover::after{
    border-color:rgba(226,68,47,.10);
    transform:scale(1.12);
}

.offer-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    margin-bottom:25px;
    color:var(--v3-red);
    background:rgba(226,68,47,.09);
    border-radius:13px;
}

.offer-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-linecap:round;
    stroke-linejoin:round;
    stroke-width:1.8;
}

.home-v3 .card h3{
    position:relative;
    z-index:1;
    margin-bottom:9px;
    font-size:20px;
    letter-spacing:-.25px;
}

.home-v3 .card p{
    position:relative;
    z-index:1;
    max-width:240px;
    color:var(--v3-muted);
    font-size:14px;
    line-height:1.6;
}

.home-v3 .card-active{
    cursor:pointer;
}

.home-v3 .card-active .offer-icon{
    color:#fff;
    background:var(--v3-red);
}

.card-link-overlay{
    position:absolute;
    z-index:3;
    inset:0;
    border-radius:inherit;
}

.card-link-overlay:focus-visible{
    outline:3px solid var(--v3-red);
    outline-offset:4px;
}

.card-cta{
    position:absolute;
    z-index:2;
    right:24px;
    bottom:21px;
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--v3-red);
    font-size:13px;
    font-weight:800;
}

.card-cta span{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    color:#fff;
    background:var(--v3-red);
    border-radius:50%;
    transition:.3s;
}

.home-v3 .card-active:hover .card-cta span{
    transform:translateX(4px);
}

/* Renovation services */
.home-v3 .renovation-service{
    background:#fff;
}

.renovation-shell{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);
    max-width:1180px;
    margin:0 auto;
    overflow:hidden;
    color:#fff;
    background:linear-gradient(125deg,var(--v3-ink-dark),var(--v3-ink));
    border-radius:20px;
    box-shadow:var(--v3-shadow-soft);
}

.renovation-copy{
    padding:62px 60px;
}

.renovation-copy > span{
    display:block;
    margin-bottom:10px;
    color:#ff9d8f;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.renovation-copy h2{
    max-width:700px;
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(34px,4vw,52px);
    line-height:1.08;
    letter-spacing:-1.4px;
}

.renovation-copy p{
    max-width:740px;
    margin:0;
    color:rgba(255,255,255,.76);
    font-size:16px;
    line-height:1.75;
}

.renovation-tags{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:26px 0 30px;
}

.renovation-tags span{
    padding:9px 12px;
    color:#fff;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.13);
    border-radius:8px;
    font-size:12px;
    font-weight:700;
}

.renovation-copy .btn{
    margin:0;
}

.renovation-facts{
    display:flex;
    justify-content:center;
    flex-direction:column;
    gap:0;
    padding:34px;
    background:var(--v3-red);
}

.renovation-facts div{
    padding:24px 5px;
    border-bottom:1px solid rgba(255,255,255,.24);
}

.renovation-facts div:last-child{
    border-bottom:0;
}

.renovation-facts strong,
.renovation-facts span{
    display:block;
}

.renovation-facts strong{
    margin-bottom:7px;
    color:#fff;
    font-size:18px;
    line-height:1.3;
}

.renovation-facts span{
    color:rgba(255,255,255,.78);
    font-size:13px;
    line-height:1.55;
}

@media(max-width:900px){
    .renovation-shell{
        grid-template-columns:1fr;
    }

    .renovation-facts{
        display:grid;
        grid-template-columns:repeat(3,1fr);
    }

    .renovation-facts div{
        border-right:1px solid rgba(255,255,255,.24);
        border-bottom:0;
    }

    .renovation-facts div:last-child{
        border-right:0;
    }
}

@media(max-width:700px){
    .renovation-copy{
        padding:45px 25px;
    }

    .renovation-copy h2{
        font-size:34px;
    }

    .renovation-copy .btn{
        width:100%;
        text-align:center;
    }

    .renovation-facts{
        display:flex;
        padding:20px 25px;
    }

    .renovation-facts div{
        padding:19px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.24);
    }
}

/* Before and after project */
.home-v3 .project-showcase{
    padding-top:80px;
    padding-bottom:80px;
    background:var(--v3-sand-light);
}

.home-v3 .project-showcase .section-head{
    margin-bottom:34px;
}

.project-comparisons{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:1120px;
    margin:0 auto;
    gap:18px;
}

.comparison-card{
    padding:14px;
    background:#fff;
    border:1px solid var(--v3-line);
    border-radius:18px;
    box-shadow:var(--v3-shadow-soft);
}

.comparison-card h3{
    margin:2px 2px 16px;
    color:var(--v3-ink);
    font-size:20px;
}

.comparison-visuals{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.project-photo,
.project-result-photo{
    position:relative;
    margin:0;
    overflow:hidden;
    background:var(--v3-sand);
    border-radius:12px;
}

.project-photo{
    aspect-ratio:16/10;
}

.project-photo img,
.project-result-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.project-photo:hover img,
.project-result-photo:hover img{
    transform:scale(1.025);
}

.project-photo figcaption,
.project-result-photo figcaption{
    position:absolute;
    top:12px;
    left:12px;
    padding:7px 11px;
    color:#fff;
    background:rgba(15,45,57,.92);
    border-radius:7px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.project-photo-after figcaption,
.project-result-photo:not(.project-result-before) figcaption{
    background:var(--v3-red);
}

.project-finish{
    display:grid;
    grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);
    max-width:1120px;
    margin:18px auto 0;
    overflow:hidden;
    color:#fff;
    background:var(--v3-ink-dark);
    border-radius:18px;
}

.project-finish-copy{
    display:flex;
    justify-content:center;
    flex-direction:column;
    padding:30px;
}

.project-finish-copy > span{
    margin-bottom:10px;
    color:#ff9d8f;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.project-finish-copy h3{
    margin:0 0 13px;
    color:#fff;
    font-size:28px;
    line-height:1.2;
}

.project-finish-copy p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.7;
}

.project-finish-gallery{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    padding:7px;
}

.project-result-photo{
    min-height:190px;
    border-radius:11px;
}

@media(max-width:820px){
    .project-comparisons{
        grid-template-columns:1fr;
    }

    .project-finish{
        grid-template-columns:1fr;
    }

    .project-finish-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .project-result-photo{
        min-height:180px;
    }
}

@media(max-width:700px){
    .comparison-card{
        padding:12px;
        border-radius:14px;
    }

    .comparison-card h3{
        margin:5px 3px 13px;
        font-size:18px;
    }

    .comparison-visuals{
        gap:6px;
    }

    .project-photo figcaption,
    .project-result-photo figcaption{
        top:8px;
        left:8px;
        padding:6px 8px;
        font-size:9px;
    }

    .project-finish-copy{
        padding:32px 24px;
    }

    .project-finish-copy h3{
        font-size:24px;
    }

    .project-finish-gallery{
        gap:5px;
        padding:5px;
    }

    .project-result-photo{
        min-height:120px;
    }
}

/* Brands */
.home-v3 .brands{
    background:var(--v3-sand);
}

.home-v3 .brand-grid{
    grid-template-columns:repeat(3,1fr);
    max-width:1120px;
    margin:0 auto;
    gap:16px;
}

.home-v3 .brand-card{
    min-height:140px;
    padding:28px;
    background:#fff;
    border:1px solid rgba(16,55,68,.08);
    border-radius:15px;
    box-shadow:none;
}

.home-v3 .brand-card:hover{
    border-color:rgba(226,68,47,.24);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-4px);
}

.home-v3 .brand-card img{
    max-width:165px;
    max-height:75px;
    filter:saturate(.92);
}

/* Toning */
.home-v3 .toning{
    padding:110px max(30px, calc((100vw - 1320px)/2));
    background:var(--v3-ink-dark);
}

.home-v3 .toning-box{
    grid-template-columns:1fr 1fr;
    max-width:1320px;
    gap:85px;
}

.home-v3 .toning h2{
    max-width:630px;
    font-size:clamp(38px,4vw,58px);
    letter-spacing:-1.7px;
}

.home-v3 .toning p{
    max-width:630px;
    color:rgba(255,255,255,.75);
    font-size:18px;
}

.home-v3 .toning-list{
    gap:10px;
}

.home-v3 .toning-list div{
    padding:14px 16px;
    color:rgba(255,255,255,.85);
    border-color:rgba(255,255,255,.11);
    border-radius:11px;
    font-size:14px;
}

.home-v3 .toning-image{
    position:relative;
}

.home-v3 .toning-image::before{
    position:absolute;
    inset:30px -25px -25px 30px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:20px;
    content:"";
}

.home-v3 .toning-image img{
    position:relative;
    max-width:610px;
    height:490px;
    border-radius:18px;
    box-shadow:0 30px 80px rgba(0,0,0,.32);
}

/* About and advantages */
.home-v3 .about{
    background:#fff;
}

.home-v3 .about-box{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    max-width:1180px;
    padding:0;
    overflow:hidden;
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-left:0;
    border-radius:18px;
    box-shadow:none;
}

.about-copy{
    padding:50px;
}

.home-v3 .about-box p{
    color:var(--v3-muted);
    font-size:17px;
    line-height:1.75;
}

.about-focus{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:50px;
    color:#fff;
    background:var(--v3-ink);
}

.about-focus span{
    margin-bottom:13px;
    color:#ff8a76;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.about-focus h3{
    margin-bottom:22px;
    font-size:31px;
    line-height:1.25;
}

.about-focus ul{
    display:grid;
    gap:13px;
    padding:0;
    list-style:none;
}

.about-focus li{
    padding-bottom:13px;
    color:rgba(255,255,255,.78);
    border-bottom:1px solid rgba(255,255,255,.11);
    font-size:15px;
}

.home-v3 .why{
    background:var(--v3-sand-light);
}

.home-v3 .why-grid{
    max-width:1180px;
    margin:0 auto;
    gap:14px;
}

.home-v3 .why-grid div{
    position:relative;
    min-height:145px;
    padding:62px 25px 24px;
    background:#fff;
    border:1px solid var(--v3-line);
    border-radius:14px;
    box-shadow:none;
    font-size:16px;
    text-align:left;
}

.home-v3 .why-grid div::before{
    position:absolute;
    top:23px;
    left:25px;
    color:var(--v3-red);
    font-size:13px;
    font-weight:800;
}

.home-v3 .why-grid div:nth-child(1)::before{content:"01"}
.home-v3 .why-grid div:nth-child(2)::before{content:"02"}
.home-v3 .why-grid div:nth-child(3)::before{content:"03"}
.home-v3 .why-grid div:nth-child(4)::before{content:"04"}

.club-card-banner{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    align-items:center;
    max-width:1180px;
    margin:18px auto 0;
    padding:25px 28px;
    color:var(--v3-ink);
    background:linear-gradient(120deg,#fff 0%,#fff8f5 100%);
    border:1px solid rgba(226,68,47,.22);
    border-radius:16px;
    box-shadow:none;
    gap:24px;
}

.club-card-discount{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:96px;
    height:96px;
    color:#fff;
    background:var(--v3-red);
    border-radius:50%;
    line-height:1;
}

.club-card-discount strong{
    font-size:32px;
    letter-spacing:-1px;
}

.club-card-discount span{
    margin-top:5px;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.club-card-copy > span{
    display:block;
    margin-bottom:7px;
    color:var(--v3-red);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.club-card-copy h3{
    margin:0 0 6px;
    color:var(--v3-ink);
    font-size:22px;
    line-height:1.25;
}

.club-card-copy p{
    margin:0;
    color:var(--v3-muted);
    font-size:15px;
    line-height:1.55;
}

.delivery-banner{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    align-items:center;
    max-width:1180px;
    margin:18px auto 0;
    padding:28px 34px;
    overflow:hidden;
    background:var(--v3-ink);
    border-radius:15px;
    color:#fff;
    gap:24px;
}

.delivery-badge{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:86px;
    height:86px;
    background:var(--v3-red);
    border-radius:50%;
    line-height:1;
}

.delivery-badge strong{
    font-size:25px;
    letter-spacing:-.5px;
}

.delivery-badge span{
    margin-top:6px;
    font-size:9px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.delivery-copy > span{
    display:block;
    margin-bottom:7px;
    color:#ff806f;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

.delivery-copy h3{
    margin:0 0 6px;
    color:#fff;
    font-size:22px;
    line-height:1.25;
}

.delivery-copy p{
    margin:0;
    color:rgba(255,255,255,.74);
    font-size:15px;
    line-height:1.55;
}

.delivery-copy a{
    color:#fff;
    font-weight:800;
    text-decoration:underline;
    text-decoration-color:rgba(255,255,255,.4);
    text-underline-offset:3px;
}

@media(max-width:700px){
    .club-card-banner{
        grid-template-columns:76px minmax(0,1fr);
        padding:22px 20px;
        gap:17px;
    }

    .club-card-discount{
        width:76px;
        height:76px;
    }

    .club-card-discount strong{
        font-size:26px;
    }

    .club-card-copy h3{
        font-size:19px;
    }

    .delivery-banner{
        grid-template-columns:76px minmax(0,1fr);
        padding:22px 20px;
        gap:17px;
    }

    .delivery-badge{
        width:76px;
        height:76px;
    }

    .delivery-badge strong{
        font-size:22px;
    }

    .delivery-copy h3{
        font-size:19px;
    }

}

/* Partners and local service */
.home-v3 .partners{
    background:#fff;
}

.home-v3 .partner-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:1120px;
    margin:0 auto;
    gap:16px;
}

@media(max-width:1050px){
    .home-v3 .partner-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:700px){
    .home-v3 .partner-grid{
        grid-template-columns:1fr;
    }
}

.home-v3 .partner-card{
    display:flex;
    flex-direction:column;
    padding:34px;
    border:1px solid var(--v3-line);
    border-top:0;
    border-radius:15px;
    box-shadow:none;
    text-align:left;
}

.home-v3 .partner-card:hover{
    border-color:rgba(226,68,47,.24);
    box-shadow:var(--v3-shadow-soft);
}

.home-v3 .partner-card h3{
    font-size:23px;
}

.home-v3 .partner-card p{
    min-height:0;
    color:var(--v3-muted);
    font-size:15px;
}

.home-v3 .partner-card .partner-btn,
.home-v3 .partner-card .partner-note{
    align-self:flex-start;
    margin-top:auto;
}

.home-v3 .partner-info{
    max-width:1120px;
    margin-top:16px;
    padding:30px 35px;
    background:var(--v3-sand);
    border-radius:15px;
    box-shadow:none;
    color:var(--v3-ink);
}

.home-v3 .partner-info h3{
    font-size:22px;
}

.home-v3 .partner-info p{
    color:var(--v3-muted);
    font-size:15px;
}

.home-v3 .service-area{
    background:var(--v3-sand);
}

.home-v3 .service-area-box{
    max-width:1180px;
    margin:0 auto;
    gap:14px;
}

.home-v3 .service-area-box > div{
    padding:34px;
    border:1px solid rgba(16,55,68,.09);
    border-radius:15px;
    box-shadow:none;
}

.home-v3 .service-area-box h3{
    font-size:20px;
}

.home-v3 .service-area-box p{
    color:var(--v3-muted);
    font-size:15px;
}

/* Gallery */
.home-v3 .gallery{
    background:#fff;
}

.home-v3 .gallery-grid{
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:220px;
    max-width:1320px;
    margin:0 auto;
    gap:12px;
}

.home-v3 .gallery-grid img{
    height:100%;
    border-radius:12px;
    box-shadow:none;
}

.home-v3 .gallery-grid img:first-child{
    grid-column:span 2;
    grid-row:span 2;
}

.home-v3 .gallery-grid img:nth-child(2){grid-column:span 2}

.home-v3 .gallery-grid img:hover{
    transform:scale(1.01);
}

/* Footer */
footer{
    padding:70px max(30px, calc((100vw - 1320px)/2)) 28px;
    background:var(--v3-ink-dark);
    text-align:left;
}

.footer-container{
    max-width:1320px;
}

.footer-info{
    max-width:none;
    margin:0;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:70px;
}

.footer-brand h2,
.footer-column h3{
    margin-bottom:17px;
    color:#fff;
}

.footer-brand h2{
    font-size:38px;
}

.footer-column h3{
    font-size:17px;
}

footer p{
    color:rgba(255,255,255,.68);
    font-size:15px;
    line-height:1.7;
}

.footer-brand p{
    max-width:410px;
}

.footer-column a{
    color:#fff;
}

.footer-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:20px;
}

.footer-btn{
    margin:0;
    padding:12px 17px;
    border-radius:10px;
    background:var(--v3-red);
    font-size:13px;
}

.footer-btn.instagram{
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.16);
}

.copyright{
    margin-top:55px;
    padding-top:22px;
    color:rgba(255,255,255,.45);
    font-size:13px;
    text-align:left;
}

/* Inner brand pages */
.brand-v3 .brand-page{
    padding:95px 30px 75px;
    background:linear-gradient(180deg,#fff 0%,var(--v3-sand-light) 100%);
}

.brand-v3 .brand-content{
    max-width:920px;
}

.brand-v3 .brand-content > img{
    width:250px;
    max-height:120px;
    margin-bottom:32px;
}

.brand-v3 .brand-content p{
    color:var(--v3-muted);
    font-size:18px;
}

.brand-v3 .products-brand{
    padding:85px max(25px, calc((100vw - 1280px)/2));
    background:var(--v3-sand-light);
}

.brand-v3 .products-brand > h2{
    margin-bottom:60px;
    color:var(--v3-ink);
    font-size:44px;
    letter-spacing:-1px;
}

.brand-v3 .brand-category-title{
    position:relative;
    max-width:1180px;
    margin-top:78px;
    padding:0 0 17px 22px;
    border-bottom:1px solid var(--v3-line);
    font-size:26px;
}

.brand-v3 .brand-category-title::before{
    position:absolute;
    top:3px;
    bottom:20px;
    left:0;
    width:5px;
    border-radius:5px;
    background:var(--v3-red);
    content:"";
}

.brand-v3 .product-brand-card{
    grid-template-columns:280px 1fr;
    max-width:1180px;
    margin-bottom:22px;
    padding:38px;
    background:#fff;
    border:1px solid var(--v3-line);
    border-left:0;
    border-radius:17px;
    box-shadow:none;
}

.brand-v3 .product-brand-card:hover{
    border-color:rgba(226,68,47,.20);
    box-shadow:var(--v3-shadow-soft);
}

.brand-v3 .product-brand-card > img{
    max-height:320px;
}

.brand-v3 .product-brand-text h3{
    color:var(--v3-ink);
    font-size:27px;
}

.brand-v3 .product-brand-text p,
.brand-v3 .product-brand-text li{
    color:var(--v3-muted);
    font-size:16px;
}

.brand-v3 .product-label{
    color:var(--v3-red);
    font-size:12px;
}

.brand-v3 .novamix-category-nav a{
    border-color:var(--v3-line);
    border-radius:10px;
}

.brand-v3 .novamix-category-nav a:hover{
    background:var(--v3-ink);
}

.brand-v3 footer{
    text-align:center;
}

.brand-v3 .footer-info{
    max-width:760px;
    margin:0 auto;
}

.brand-v3 .copyright{
    text-align:center;
}

.novamix-catalog-box{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
    max-width:1180px;
    margin:0 auto 28px;
    padding:30px 34px;
    color:#fff;
    background:var(--v3-ink);
    border-radius:15px;
}

.novamix-catalog-box .product-label{
    margin-bottom:7px;
    color:#ff8c78;
}

.novamix-catalog-box h3{
    margin-bottom:8px;
    color:#fff;
    font-size:23px;
}

.novamix-catalog-box p{
    max-width:690px;
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:14px;
    line-height:1.6;
}

.novamix-catalog-box .btn{
    flex:0 0 auto;
    margin:0;
    white-space:nowrap;
}

/* Category pages */
.category-v3{
    background:var(--v3-sand-light);
}

.category-hero{
    display:grid;
    grid-template-columns:minmax(0,780px) minmax(280px,390px);
    justify-content:space-between;
    align-items:end;
    gap:70px;
    min-height:610px;
    padding:100px max(30px,calc((100vw - 1320px)/2));
    color:#fff;
}

.decorative-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.94) 0%,rgba(6,30,38,.80) 48%,rgba(6,30,38,.28) 100%),
        url("images/loggia-hero-optimized.webp") center/cover no-repeat;
}

.interior-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.95) 0%,rgba(6,30,38,.80) 50%,rgba(6,30,38,.25) 100%),
        url("images/store-paints-optimized.webp") center/cover no-repeat;
}

.facade-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.95) 0%,rgba(6,30,38,.82) 52%,rgba(6,30,38,.30) 100%),
        url("images/store-main-optimized.webp") center/cover no-repeat;
}

.primers-category-hero{
    background:
        radial-gradient(circle at 80% 25%,rgba(226,68,47,.30),transparent 28%),
        linear-gradient(135deg,#082832 0%,#174d5d 100%);
}

.wood-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.95) 0%,rgba(6,30,38,.78) 48%,rgba(6,30,38,.18) 100%),
        url("images/hero-prima-optimized.webp") center 72%/cover no-repeat;
}

.sound-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.96) 0%,rgba(6,30,38,.82) 52%,rgba(6,30,38,.30) 100%),
        url("kraiburg-assets/images/damtec.webp") center/cover no-repeat;
}

.adhesives-category-hero{
    background:
        radial-gradient(circle at 78% 28%,rgba(226,68,47,.32),transparent 27%),
        linear-gradient(135deg,#082832 0%,#185365 100%);
}

.putties-category-hero{
    background:
        linear-gradient(90deg,rgba(6,30,38,.96) 0%,rgba(6,30,38,.80) 52%,rgba(6,30,38,.25) 100%),
        url("images/store-tools-optimized.webp") center/cover no-repeat;
}

.category-hero-content{
    max-width:780px;
}

.category-back{
    display:inline-block;
    margin-bottom:34px;
    color:rgba(255,255,255,.72);
    font-size:13px;
    font-weight:700;
    text-decoration:none;
}

.category-back:hover{
    color:#fff;
}

.category-kicker,
.category-intro > span,
.category-brand-head span,
.category-support-head span,
.category-cta > span{
    display:block;
    margin-bottom:13px;
    color:#ff8c78;
    font-size:12px;
    font-weight:800;
    letter-spacing:2.2px;
    text-transform:uppercase;
}

.category-hero h1{
    max-width:760px;
    margin-bottom:25px;
    font-size:clamp(45px,5.4vw,74px);
    line-height:1.02;
    letter-spacing:-2.4px;
}

.category-hero-content > p{
    max-width:720px;
    margin-bottom:32px;
    color:rgba(255,255,255,.80);
    font-size:19px;
    line-height:1.7;
}

.category-hero-facts{
    display:grid;
    gap:1px;
    overflow:hidden;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.20);
    border-radius:17px;
    backdrop-filter:blur(12px);
}

.category-hero-facts div{
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px 25px;
    background:rgba(4,24,30,.30);
}

.category-hero-facts strong{
    min-width:50px;
    color:#ff8c78;
    font-size:34px;
}

.category-hero-facts span{
    color:rgba(255,255,255,.78);
    font-size:14px;
}

.category-jump{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
    padding:25px 25px;
    background:#fff;
    border-bottom:1px solid var(--v3-line);
}

.category-jump a{
    padding:10px 17px;
    color:var(--v3-ink);
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
    transition:.25s;
}

.category-jump a:hover{
    color:#fff;
    background:var(--v3-ink);
}

.category-intro{
    max-width:830px;
    margin:0 auto;
    padding:100px 30px 80px;
    text-align:center;
}

.category-intro > span{
    color:var(--v3-red);
}

.category-intro h2,
.category-support-head h2,
.category-cta h2{
    margin-bottom:18px;
    color:var(--v3-ink);
    font-size:clamp(34px,4vw,50px);
    line-height:1.14;
    letter-spacing:-1.4px;
}

.category-intro p,
.category-support-head p{
    color:var(--v3-muted);
    font-size:17px;
    line-height:1.75;
}

.category-brand-section{
    padding:85px max(30px,calc((100vw - 1320px)/2));
    background:#fff;
}

.category-brand-alt{
    background:var(--v3-sand);
}

.category-brand-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:40px;
    max-width:1320px;
    margin:0 auto 42px;
    padding-bottom:26px;
    border-bottom:1px solid var(--v3-line);
}

.category-brand-head > div{
    max-width:770px;
}

.category-brand-head span{
    color:var(--v3-red);
}

.category-brand-head h2{
    margin-bottom:10px;
    color:var(--v3-ink);
    font-size:42px;
    letter-spacing:-1px;
}

.category-brand-head p{
    color:var(--v3-muted);
    font-size:16px;
    line-height:1.65;
}

.category-brand-link,
.category-product-link{
    color:var(--v3-red);
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.category-brand-link:hover,
.category-product-link:hover{
    color:var(--v3-red-dark);
}

.category-brand-actions{
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:11px;
    flex:0 0 auto;
}

.category-catalog-link{
    padding:11px 15px;
    color:#fff;
    background:var(--v3-ink);
    border-radius:9px;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    transition:.25s;
}

.category-catalog-link:hover{
    background:var(--v3-red);
}

.category-product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:1320px;
    margin:0 auto;
    gap:16px;
}

.category-product-grid-three{
    grid-template-columns:repeat(3,1fr);
}

.category-product-grid-two{
    grid-template-columns:repeat(2,1fr);
}

.category-product-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:18px 18px 23px;
    background:var(--v3-sand-light);
    border:1px solid var(--v3-line);
    border-radius:15px;
    transition:.3s;
}

.category-product-card:has(.category-product-link){
    cursor:pointer;
}

.category-product-card .category-product-link::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    border-radius:15px;
}

.category-product-card:focus-within{
    outline:3px solid rgba(226,68,47,.34);
    outline-offset:3px;
}

.category-brand-alt .category-product-card{
    background:#fff;
}

.category-product-card:hover{
    border-color:rgba(226,68,47,.24);
    box-shadow:var(--v3-shadow-soft);
    transform:translateY(-4px);
}

.category-product-image{
    display:grid;
    place-items:center;
    height:255px;
    margin-bottom:21px;
    overflow:hidden;
    background:#fff;
    border-radius:11px;
}

.category-product-image img{
    width:100%;
    height:100%;
    padding:10px;
    object-fit:contain;
}

.category-product-image img[src*="/packshots/"]{
    padding:0;
}

.category-product-image img[src^="https://novamix.gr/"]{
    padding:0;
    transform:scale(.72);
}

.category-product-brand{
    margin-bottom:7px;
    color:var(--v3-red);
    font-size:11px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.category-product-card h3{
    margin-bottom:10px;
    color:var(--v3-ink);
    font-size:20px;
    line-height:1.25;
}

.category-product-card p{
    margin-bottom:20px;
    color:var(--v3-muted);
    font-size:14px;
    line-height:1.6;
}

.category-product-card .category-product-link{
    margin-top:auto;
}

.category-product-wide{
    display:grid;
    grid-template-columns:210px 1fr;
    align-items:center;
    gap:25px;
}

.category-product-wide .category-product-image{
    height:280px;
    margin:0;
}

.category-support{
    padding:100px max(30px,calc((100vw - 1180px)/2));
    background:var(--v3-sand-light);
}

.category-support-head{
    max-width:800px;
    margin-bottom:40px;
}

.category-support-head span{
    color:var(--v3-red);
}

.category-support-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}

.category-support-grid-four{
    grid-template-columns:repeat(4,1fr);
}

.category-support-grid-two{
    grid-template-columns:repeat(2,1fr);
}

.category-support-card{
    min-height:145px;
    padding:24px;
    color:var(--v3-ink);
    background:#fff;
    border:1px solid var(--v3-line);
    border-radius:13px;
    text-decoration:none;
    transition:.25s;
}

.category-support-card:hover{
    border-color:rgba(226,68,47,.24);
    transform:translateY(-3px);
}

.category-support-card strong{
    display:block;
    margin-bottom:10px;
    font-size:15px;
}

.category-support-card span{
    color:var(--v3-muted);
    font-size:12px;
    line-height:1.5;
}

.category-cta{
    padding:100px max(30px,calc((100vw - 940px)/2));
    color:#fff;
    background:var(--v3-ink-dark);
    text-align:center;
}

.category-cta h2{
    color:#fff;
}

.category-cta p{
    max-width:760px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.72);
    font-size:17px;
    line-height:1.7;
}

.category-cta > div{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

@media(max-width:1100px){
    .category-hero{
        grid-template-columns:1fr;
        gap:40px;
    }

    .category-hero-facts{
        grid-template-columns:repeat(3,1fr);
    }

    .category-hero-facts div{
        align-items:flex-start;
        flex-direction:column;
    }

    .category-product-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .category-support-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:700px){
    .category-hero{
        min-height:660px;
        padding:70px 22px;
    }

    .category-hero h1{
        font-size:42px;
    }

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

    .category-hero-facts div{
        align-items:center;
        flex-direction:row;
    }

    .category-jump{
        align-items:stretch;
        flex-direction:column;
    }

    .category-jump a{
        text-align:center;
    }

    .category-intro{
        padding:75px 22px 55px;
    }

    .category-brand-section,
    .category-support,
    .category-cta{
        padding:70px 22px;
    }

    .category-brand-head{
        align-items:flex-start;
        flex-direction:column;
        gap:18px;
    }

    .category-brand-actions{
        align-items:flex-start;
    }

    .category-product-grid,
    .category-support-grid{
        grid-template-columns:1fr;
    }

    .category-product-wide{
        grid-template-columns:1fr;
    }

    .category-product-image,
    .category-product-wide .category-product-image{
        height:270px;
    }

    .novamix-catalog-box{
        align-items:flex-start;
        flex-direction:column;
        padding:27px 22px;
    }

    .novamix-catalog-box .btn{
        width:100%;
        white-space:normal;
        text-align:center;
    }
}

@media(max-width:1100px){
    .site-header{
        flex-direction:row;
        padding:10px 25px;
    }

    .main-nav{
        justify-content:flex-end;
        flex-wrap:wrap;
        gap:8px 17px;
    }

    .main-nav a{
        margin:0;
        font-size:13px;
    }

    .hero-shell{
        grid-template-columns:1fr;
        gap:35px;
    }

    .hero-card{
        max-width:600px;
    }

    .home-v3 .product-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .home-v3 .toning-box,
    .home-v3 .about-box{
        grid-template-columns:1fr;
    }

    .home-v3 .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-grid{
        gap:35px;
    }
}

@media(max-width:700px){
    .top-strip{
        justify-content:center;
        padding:8px 16px;
        text-align:center;
    }

    .top-strip > span,
    .top-strip-links a:last-child{
        display:none;
    }

    .site-header{
        align-items:center;
        flex-direction:column;
        padding:10px 16px 15px;
    }

    .logo img{
        height:62px;
    }

    .main-nav{
        justify-content:center;
        gap:9px 15px;
    }

    .main-nav a{
        font-size:12px;
    }

    .main-nav .nav-contact{
        padding:8px 12px;
    }

    .home-v3 .hero{
        min-height:720px;
        background-position:57% center;
    }

    .home-v3 .hero-overlay{
        padding:65px 22px 50px;
    }

    .home-v3 .hero-content h1{
        font-size:40px;
        letter-spacing:-1.3px;
    }

    .home-v3 .hero-content p{
        font-size:17px;
    }

    .home-v3 .hero-buttons .btn{
        width:100%;
        text-align:center;
    }

    .hero-card{
        display:none;
    }

    .hero-trust{
        grid-template-columns:1fr;
        margin-top:40px;
    }

    .hero-trust div{
        padding-top:14px;
    }

    .home-v3 .section,
    .home-v3 .toning{
        padding:75px 22px;
    }

    .home-v3 .section-head{
        margin-bottom:38px;
    }

    .home-v3 .section-head h2{
        font-size:34px;
    }

    .home-v3 .product-grid,
    .home-v3 .brand-grid,
    .home-v3 .why-grid,
    .home-v3 .partner-grid,
    .home-v3 .service-area-box{
        grid-template-columns:1fr;
    }

    .home-v3 .card{
        min-height:190px;
    }

    .home-v3 .toning-image img{
        height:320px;
    }

    .about-copy,
    .about-focus{
        padding:32px 25px;
    }

    .home-v3 .gallery-grid{
        display:grid;
        grid-template-columns:1fr;
        grid-auto-rows:230px;
    }

    .home-v3 .gallery-grid img:first-child,
    .home-v3 .gallery-grid img:nth-child(2){
        grid-column:auto;
        grid-row:auto;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .brand-v3 .brand-page{
        padding:65px 22px 45px;
    }

    .brand-v3 .products-brand{
        padding:65px 18px;
    }

    .brand-v3 .products-brand > h2{
        font-size:34px;
    }

    .brand-v3 .brand-category-title{
        padding-left:0;
        text-align:left;
    }

    .brand-v3 .brand-category-title::before{
        display:none;
    }

    .brand-v3 .product-brand-card{
        grid-template-columns:1fr;
        padding:26px 20px;
    }
}

/* Mobile and tablet navigation */
.menu-toggle{
    display:none;
}

@media(max-width:900px){
    .js .site-header{
        position:relative;
        z-index:1000;
        align-items:center;
        justify-content:space-between;
        flex-direction:row;
        min-height:80px;
        padding:8px 20px;
    }

    .js .site-header .logo img{
        height:62px;
    }

    .js .menu-toggle{
        position:relative;
        z-index:1002;
        display:flex;
        justify-content:center;
        align-items:center;
        flex-direction:column;
        gap:5px;
        width:48px;
        height:48px;
        padding:0;
        color:var(--v3-ink);
        background:#fff;
        border:1px solid var(--v3-line);
        border-radius:12px;
        cursor:pointer;
    }

    .js .menu-toggle span{
        display:block;
        width:23px;
        height:2px;
        background:currentColor;
        border-radius:999px;
        transition:transform .25s,opacity .2s;
    }

    .js .menu-toggle.is-open span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }

    .js .menu-toggle.is-open span:nth-child(2){
        opacity:0;
    }

    .js .menu-toggle.is-open span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

    .js .main-nav{
        position:absolute;
        z-index:1001;
        top:calc(100% - 1px);
        right:16px;
        left:16px;
        display:none;
        align-items:stretch;
        flex-direction:column;
        gap:0;
        max-height:calc(100vh - 105px);
        padding:10px;
        overflow-y:auto;
        background:#fff;
        border:1px solid var(--v3-line);
        border-radius:0 0 15px 15px;
        box-shadow:0 22px 45px rgba(8,40,50,.17);
    }

    .js .main-nav.is-open{
        display:flex;
    }

    .js .main-nav a{
        display:block;
        width:100%;
        margin:0;
        padding:13px 14px;
        border-bottom:1px solid rgba(16,55,68,.08);
        font-size:14px;
        text-align:left;
    }

    .js .main-nav a:last-child{
        border-bottom:0;
    }

    .js .main-nav a::after{
        display:none;
    }

    .js .main-nav .nav-contact{
        margin-top:7px;
        padding:12px 14px;
        text-align:center;
    }

    body.menu-open{
        overflow:hidden;
    }
}
