/*
Theme Name: Studio 3D Création
Description: Thème WordPress léger pour Studio 3D Création.
Version: 1.1
Author: Studio 3D Création
*/

:root {
    --studio-orange: #ff7a00;
    --studio-yellow: #ffc928;
    --studio-green: #5fbd3e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body,button,input,textarea,select{font-family:'Poppins',sans-serif;color:#171717;background:#fff;line-height:1.6}
h1,h2,h3,.title{font-family:'Poppins',sans-serif;font-weight:700}
a{text-decoration:none;color:inherit} img{max-width:100%;height:auto}
header{position:sticky;top:0;z-index:100;background:#fffffff2;border-bottom:1px solid #eee;backdrop-filter:blur(10px)}
.nav{max-width:1100px;margin:auto;padding:13px 22px;display:flex;justify-content:space-between;align-items:center}
.logo{font-size:21px;font-weight:800;letter-spacing:-.5px}.logo span{font-weight:400;color:#666}
nav ul{display:flex;gap:22px;list-style:none} nav a{font-size:14px;font-weight:600} nav a:hover{color:#666}
.container{max-width:1100px;margin:auto;padding:78px 22px} section{padding:0 22px}
.hero{min-height:620px;display:flex;align-items:center;background:radial-gradient(circle at 80% 20%,#e9e9e9 0,transparent 34%),linear-gradient(135deg,#fff,#f2f2f2)}
.badge{display:inline-block;background:#171717;color:#fff;border-radius:30px;padding:6px 14px;font-size:13px;margin-bottom:22px}
h1{font-size:clamp(44px,7vw,76px);line-height:1;letter-spacing:-3px;max-width:760px;margin-bottom:25px} h1 span{color:#666}
.hero p{max-width:630px;color:#555;font-size:18px;margin-bottom:32px}
.buttons{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:13px 21px;border-radius:9px;font-weight:700;border:0;cursor:pointer}
.primary{background:#171717;color:#fff}.primary:hover{background:#333}.secondary{background:#fff;border:1px solid #ccc}
.title{font-size:40px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:12px}.desc{max-width:680px;color:#666;margin-bottom:40px}
.about{background:#fafafa}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about p{color:#555;margin-bottom:17px}
.about-card{background:#171717;color:#fff;border-radius:18px;padding:40px}.about-card strong{font-size:25px;display:block;margin-bottom:10px}
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service{border:1px solid #e7e7e7;border-radius:15px;padding:28px}.service small{color:#888}
.service h3{font-size:21px;margin:18px 0 8px}.service p{color:#666}
.service-note{margin-top:18px;padding:14px 16px;border-left:4px solid #171717;background:#f7f7f7;color:#555;font-size:14px}
.explain{background:#f5f5f5}.explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.info{background:#fff;border-radius:15px;padding:28px;border:1px solid #e5e5e5}
.info h3{margin-bottom:10px}.info p{color:#666;margin-bottom:12px}.warning{margin-top:18px;padding:18px;border-left:4px solid #171717;background:#fafafa;color:#555}
.gallery{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px}
.gallery-item{flex:0 0 310px;height:260px;background:#e9e9e9;border-radius:15px;overflow:hidden;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;color:#888}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.process{background:#171717;color:#fff}.process .desc{color:#aaa}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{border-top:1px solid #444;padding-top:18px}.step small{color:#aaa}.step h3{margin:14px 0 7px}.step p{color:#aaa;font-size:14px}
.support{background:#fafafa}.support-box{background:#171717;color:#fff;border-radius:18px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.support-box p{color:#aaa;max-width:650px}.reviews{background:#f5f5f5}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{background:#fff;border-radius:15px;padding:25px;border:1px solid #e5e5e5}.stars{letter-spacing:3px;margin-bottom:12px}.review p{color:#555}.review small{display:block;color:#888;margin-top:15px}
.contact-box{background:#f5f5f5;border-radius:18px;padding:42px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact p{color:#666;margin-bottom:17px}.contact-info{margin-top:25px;display:grid;gap:13px}.contact-info a{font-weight:700}.contact-info a:hover{text-decoration:underline}
footer{background:#111;color:#999;padding:55px 22px 25px}.footer-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}footer strong{color:#fff;font-size:16px}.footer-col h4{color:#fff;font-size:13px;margin-bottom:14px;letter-spacing:.5px}.footer-col p{margin-top:8px;line-height:1.6}.footer-col a,.footer-col div{display:block;color:#999;margin-bottom:9px;font-size:14px}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1100px;margin:35px auto 0;padding-top:20px;border-top:1px solid #2a2a2a;font-size:13px}.reviews{background:#f5f5f5}
@media(max-width:760px){nav ul{display:flex}.hero{min-height:590px}.container{padding:65px 20px}section{padding:0 20px}h1{font-size:48px;letter-spacing:-2px}.title{font-size:34px}
.about-grid,.explain-grid,.contact-box{grid-template-columns:1fr}.services,.steps,.review-grid{grid-template-columns:1fr}.contact-box{padding:27px}.gallery-item{flex-basis:82vw;height:230px}
.support-box{display:block;padding:30px}.support-box .btn{margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}}
.important-notice {
    margin: 25px 0;
    padding: 16px 20px;
    border: 1px solid #dc2626;
    border-left: 5px solid #dc2626;
    border-radius: 10px;
    background: #fff5f5;
    color: #7f1d1d;
}

.important-notice strong {
    display: block;
    margin-bottom: 6px;
    color: #b91c1c;
}

.important-notice p {
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 700px) {

    .services-page {
        padding: 60px 0;
    }

    .services-page .services {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .services-page .service {
        padding: 22px;
    }

    .services-page .service img {
        height: 220px;
    }

    .services-page .service h2 {
        font-size: 20px;
    }

    .services-page-link {
        padding: 35px 22px;
    }

}
/* =========================================================
   PAGE SERVICES D'IMPRESSION 3D
========================================================= */

.services-page {
    padding: 0;
}

.services-page > .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 78px 22px;
}

/* INTRODUCTION */

.services-page > .container > .title {
    text-align: center;
    margin-bottom: 20px;
}

.services-page > .container > .desc {
    max-width: 800px;
    margin: 0 auto 50px;
    text-align: center;
    line-height: 1.8;
}

/* CARTES */

.services-page .services {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.services-page .service {
    border: 1px solid #e7e7e7;
    border-radius: 15px;
    padding: 28px;
    background: #fff;
    box-shadow: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

.services-page .service:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,.08);
}

/* IMAGES */

.services-page .service img {
    display: block;
    width: 100%;
    height: 240px;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 20px;
}

/* NUMÉROS */

.services-page .service small {
    display: block;
    margin-bottom: 8px;
    color: #ff7a00;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
}

/* TITRES */

.services-page .service h2 {
    font-size: 21px;
    line-height: 1.3;
    margin: 0 0 12px;
}

/* TEXTE */

.services-page .service p {
    color: #666;
    line-height: 1.7;
    margin-bottom: 16px;
}

/* LIENS */

.services-page .service > a {
    display: inline-block;
    margin-top: 5px;
    color: #ff7a00;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.services-page .service > a:hover {
    color: #e86d00;
}

/* BLOCS DU BAS */

.services-page-link {
    margin-top: 35px;
    padding: 40px 30px;
    border-radius: 18px;
    background: #f7f7f7;
    text-align: center;
}

.services-page-link h2 {
    margin-bottom: 10px;
}

.services-page-link p {
    max-width: 700px;
    margin: 0 auto 22px;
    line-height: 1.7;
    color: #666;
}

/* BOUTONS */

.services-page .btn {
    display: inline-block;
    padding: 13px 21px;
    border-radius: 9px;
    font-weight: 700;
}

.services-page .btn.primary {
    background: #ff7a00;
    color: #fff;
}

.services-page .btn.primary:hover {
    background: #e86d00;
}

.services-page .btn.secondary {
    background: #fff;
    border: 1px solid #ccc;
    color: #171717;
}

/* MOBILE */

@media (max-width: 760px) {

    .services-page > .container {
        padding: 65px 20px;
    }

    .services-page .services {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .services-page .service {
        padding: 22px;
    }

    .services-page .service img {
        height: 210px;
    }

    .services-page .service h2 {
        font-size: 20px;
    }

    .services-page-link {
        padding: 30px 20px;
    }

}
/* =========================================================
   SERVICES — ACCUEIL
========================================================= */

.services-home {
    background: #fff;
}

.services-home .desc {
    max-width: 800px;
}

.services-home .desc a {
    color: #ff7a00;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.services-home .desc a:hover {
    color: #e86d00;
}

.services-home-list {
    max-width: 850px;
    margin: 35px auto 0;
    border-top: 1px solid #e7e7e7;
}

.services-home-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 20px 5px;
    border-bottom: 1px solid #e7e7e7;
}

.services-home-item > span {
    flex: 0 0 35px;
    color: #ff7a00;
    font-size: 13px;
    font-weight: 700;
}

.services-home-item h3 {
    display: block;
    font-size: 17px;
    margin-bottom: 3px;
}

.services-home-item p {
    margin: 0;
    color: #666;
    font-size: 14px;
    line-height: 1.6;
}

.services-home-button {
    text-align: center;
    margin-top: 35px;
}

.services-home-button .btn {
    background: #ff7a00;
    color: #fff;
}

.services-home-button .btn:hover {
    background: #e86d00;
}

@media (max-width: 600px) {

    .services-home-item {
        gap: 14px;
        padding: 17px 0;
    }

    .services-home-item strong {
        font-size: 16px;
    }

    .services-home-item p {
        font-size: 13px;
    }

}
/* =========================================================
   PAGE "POURQUOI CHOISIR L'IMPRESSION 3D ?"
========================================================= */

.why-page,
.why-page-more,
.materials-page,
.limits-page,
.why-page-final {
    padding: 80px 0;
}

/* INTRO */

.why-page {
    background: #fff;
}

.why-page .title,
.materials-page .title,
.limits-page .title {
    text-align: center;
    margin-bottom: 18px;
}

.why-page .desc,
.materials-page .desc,
.limits-page .desc {
    max-width: 800px;
    margin: 0 auto 45px;
    text-align: center;
    line-height: 1.8;
}

/* CARTES */

.why-page-intro,
.why-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

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

.why-page-card {
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 5px 20px rgba(0,0,0,.05);
}

.why-page-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,.08);
}

.why-page-icon {
    display: block;
    font-size: 34px;
    margin-bottom: 15px;
}

.why-page-card h2 {
    font-size: 21px;
    line-height: 1.3;
    margin-bottom: 10px;
}

.why-page-card p {
    color: #666;
    line-height: 1.7;
    margin: 0;
}

/* DEUXIÈME PARTIE */

.why-page-more {
    background: #f7f7f7;
}

/* MATÉRIAUX */

.materials-page {
    background: #fff;
}

.materials-table-wrap {
    max-width: 1000px;
    margin: 0 auto;
    overflow-x: auto;
}

.materials-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,.07);
}

.materials-table th,
.materials-table td {
    padding: 17px 16px;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.materials-table th {
    background: #f7f7f7;
    font-weight: 700;
}

.materials-table tr:last-child td {
    border-bottom: none;
}

.material-help {
    max-width: 1000px;
    margin: 25px auto 0;
    padding: 20px 24px;
    border-radius: 14px;
    background: rgba(255,122,0,.08);
    line-height: 1.6;
}

/* LIMITES */

.limits-page {
    background: #f7f7f7;
}

.limits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}

.limit-card {
    background: #fff;
    border-radius: 18px;
    padding: 28px;
    box-shadow: 0 5px 20px rgba(0,0,0,.05);
}

.limit-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 15px;
}

.limit-label.green {
    color: #4f9f35;
}

.limit-label.orange {
    color: #ff7a00;
}

.limit-label.red {
    color: #dc2626;
}

.limit-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

.limit-card p {
    color: #666;
    line-height: 1.7;
    margin: 0;
}

.limits-note {
    max-width: 1000px;
    margin: 30px auto 0;
    padding: 25px 30px;
    background: #fff;
    border-radius: 14px;
    text-align: center;
}

.limits-note strong {
    display: block;
    margin-bottom: 8px;
}

.limits-note p {
    color: #666;
    line-height: 1.7;
    margin: 0;
}

/* BLOC FINAL */

.why-page-final {
    background: #fff;
}

.why-page-final-box {
    max-width: 850px;
    margin: 0 auto;
    padding: 45px 35px;
    border-radius: 20px;
    background: #f7f7f7;
    text-align: center;
}

.why-page-final-box h2 {
    margin-bottom: 12px;
}

.why-page-final-box p {
    max-width: 700px;
    margin: 0 auto 25px;
    color: #666;
    line-height: 1.7;
}

.why-page-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.why-page-buttons .btn.primary {
    background: #ff7a00;
    color: #fff;
}

.why-page-buttons .btn.primary:hover {
    background: #e86d00;
}

.why-page-buttons .btn.secondary {
    background: #fff;
    border: 1px solid #ccc;
    color: #171717;
}

/* MOBILE */

@media (max-width: 900px) {

    .why-page-intro {
        grid-template-columns: 1fr;
    }

    .why-page-grid {
        grid-template-columns: 1fr 1fr;
    }

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

}

@media (max-width: 600px) {

    .why-page,
    .why-page-more,
    .materials-page,
    .limits-page,
    .why-page-final {
        padding: 60px 0;
    }

    .why-page-grid {
        grid-template-columns: 1fr;
    }

    .why-page-card,
    .limit-card {
        padding: 22px;
    }

    .materials-table {
        min-width: 700px;
    }

    .materials-table th,
    .materials-table td {
        padding: 14px 12px;
    }

    .why-page-final-box {
        padding: 35px 20px;
    }

}
.why-page-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    text-align: center;
}

.why-page-buttons a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    min-height: 50px;

    padding: 12px 24px;
    margin: 0;

    box-sizing: border-box;

    text-align: center;
    line-height: 1.2;

    border-radius: 8px;
    text-decoration: none;

    font-weight: 600;
}

.why-faq-button {
    background: #ffffff;
    color: #171717;
    border: 1px solid #cccccc;
}

.why-devis-button {
    background: #ff7a00;
    color: #ffffff;
    border: 1px solid #ff7a00;
}

.why-faq-button:hover {
    background: #f5f5f5;
}

.why-devis-button:hover {
    background: #e86d00;
}

@media (max-width: 600px) {

    .why-page-buttons {
        flex-direction: column;
    }

    .why-page-buttons a {
        width: 220px;
    }

}
.why-3d-home {
    padding: 90px 0;
}

.why-3d-home-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 40px;
}

.why-3d-home-item {
    display: flex;
    gap: 15px;
    padding: 25px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(0,0,0,.07);
}

.why-3d-home-item > span {
    font-size: 30px;
    flex-shrink: 0;
}

.why-3d-home-item h3 {
    display: block;
    margin-bottom: 6px;
}

.why-3d-home-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
}

.why-3d-home-button {
    margin-top: 35px;
    text-align: center;
}

@media (max-width: 600px) {

    .why-3d-home {
        padding: 60px 0;
    }

    .why-3d-home-list {
        grid-template-columns: 1fr;
    }

}
.hero-dropzone {
    margin-bottom: 22px;
}

.hero-dropzone-link {
    display: flex;
    align-items: center;
    gap: 16px;
    max-width: 480px;
    padding: 18px 22px;
    border: 2px dashed #ccc;
    border-radius: 14px;
    background: #fafafa;
    transition: border-color .2s ease, background .2s ease;
}

.hero-dropzone-link:hover {
    border-color: var(--studio-orange);
    background: rgba(255,122,0,.05);
}

.hero-dropzone-icon {
    font-size: 28px;
    flex-shrink: 0;
}

.hero-dropzone-link strong {
    display: block;
    font-size: 15px;
    margin-bottom: 3px;
}

.hero-dropzone-link small {
    display: block;
    color: #888;
    font-size: 12px;
}

@media (max-width: 600px) {
    .hero-dropzone-link {
        max-width: 100%;
        padding: 14px 16px;
    }
}
.catalogue-teaser {
    padding: 70px 0;
}

.catalogue-teaser-box {
    background: #171717;
    color: #fff;
    border-radius: 20px;
    padding: 50px 45px;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.catalogue-teaser-box .title {
    color: #fff;
}

.catalogue-teaser-box .desc {
    color: #ccc;
    margin: 0 auto 28px;
}

@media (max-width: 600px) {
    .catalogue-teaser-box {
        padding: 35px 25px;
    }
}
.repair-workshop {
    background: #fafafa;
    padding: 80px 0;
    text-align: center;
}

.repair-workshop .badge-light {
    display: inline-block;
    border: 1px solid var(--studio-orange);
    color: var(--studio-orange);
    border-radius: 30px;
    padding: 6px 14px;
    font-size: 13px;
    margin-bottom: 18px;
}

.repair-workshop .desc {
    margin-left: auto;
    margin-right: auto;
}

.repair-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 950px;
    margin: 0 auto 35px;
}

.repair-step {
    background: #fff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 5px 20px rgba(0,0,0,.06);
}

.repair-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--studio-orange);
    color: #fff;
    font-weight: 700;
    margin-bottom: 12px;
}

.repair-step p {
    margin: 0;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

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

@media (max-width: 500px) {
    .repair-steps {
        grid-template-columns: 1fr;
    }
}
.catalogue-page {
    padding: 78px 0;
}

.catalogue-page .title {
    text-align: center;
}

.catalogue-page .desc {
    max-width: 700px;
    margin: 0 auto 35px;
    text-align: center;
}

.catalogue-search {
    display: flex;
    gap: 10px;
    max-width: 500px;
    margin: 0 auto 20px;
}

.catalogue-search input {
    flex: 1;
    padding: 13px 16px;
    border: 1px solid #ccc;
    border-radius: 9px;
    font-size: 15px;
}

.catalogue-suggestions {
    text-align: center;
    margin-bottom: 45px;
    color: #888;
    font-size: 14px;
}

.catalogue-suggestions a {
    color: #ff7a00;
    text-decoration: underline;
    text-underline-offset: 3px;
    margin: 0 4px;
}

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

.catalogue-item {
    border: 1px solid #e7e7e7;
    border-radius: 15px;
    overflow: hidden;
    background: #fff;
}

.catalogue-item img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.catalogue-item h3 {
    font-size: 15px;
    margin: 14px 16px 10px;
    line-height: 1.4;
}

.catalogue-item-actions {
    display: flex;
    gap: 8px;
    padding: 0 16px 16px;
}

.catalogue-item-actions .btn {
    flex: 1;
    text-align: center;
    padding: 10px 12px;
    font-size: 13px;
}

.catalogue-empty {
    text-align: center;
    color: #888;
}

@media (max-width: 900px) {
    .catalogue-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .catalogue-search {
        flex-direction: column;
    }

    .catalogue-grid {
        grid-template-columns: 1fr;
    }
}
.catalogue-hint {
    text-align: center;
    font-size: 12px;
    color: #999;
    margin: -10px 0 25px;
}
.quick-request-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
    padding: 20px;
}

.quick-request-overlay.open {
    opacity: 1;
    visibility: visible;
}

.quick-request-box {
    background: #fff;
    border-radius: 16px;
    padding: 30px;
    max-width: 460px;
    width: 100%;
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
}

.quick-request-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
    color: #888;
}

.quick-request-box h3 {
    margin-bottom: 8px;
}

.quick-request-model {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
}

#quick-request-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 14px;
}

#quick-request-form input,
#quick-request-form textarea {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 11px 13px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
}

#quick-request-form .btn {
    width: 100%;
    border: none;
    margin-top: 6px;
}

.quick-request-status {
    margin-top: 12px;
    font-size: 13px;
    text-align: center;
    color: #555;
}

.nav{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap}
.menu-toggle{display:none}
.studio3d-menu{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.studio3d-menu a{padding:8px 9px;color:#222;font-size:13px;font-weight:600;border-radius:8px;white-space:nowrap;transition:background .2s ease,color .2s ease}
.studio3d-menu a:hover{background:rgba(255,122,0,.1);color:#ff7a00}
.studio3d-menu .menu-devis{margin-left:6px;padding:8px 16px;background:#ff7a00;color:#fff}
.studio3d-menu .menu-devis:hover{background:#e86d00;color:#fff}

/* ===== MENU MOBILE (hamburger + dropdown) ===== */
@media (max-width:1150px){
    .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:8px;border:none;background:transparent;cursor:pointer;z-index:1001}
    .menu-toggle span{display:block;width:100%;height:3px;border-radius:3px;background:#222;transition:transform .25s ease,opacity .25s ease}
    .menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
    .menu-toggle.active span:nth-child(2){opacity:0}
    .menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

    .studio3d-menu{position:fixed;top:75px;left:15px;right:15px;flex-direction:column;align-items:stretch;gap:0;padding:12px;background:#fff;border-radius:18px;box-shadow:0 12px 35px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;max-height:calc(100vh - 95px);overflow-y:auto}
    .studio3d-menu.open{opacity:1;visibility:visible;transform:translateY(0)}
    .studio3d-menu a{padding:15px}
    .studio3d-menu .menu-devis{margin-left:0;margin-top:8px;text-align:center}
}

header{position:sticky;top:0;z-index:1000;background:#fff}
/* Hero trust row */
.hero-trust{display:flex;gap:28px;flex-wrap:wrap;margin-top:38px;padding-top:28px;border-top:1px solid #e5e5e5}
.buttons{margin-bottom:8px}
.hero-trust-item strong{display:block;font-size:16px;margin-bottom:2px}
.hero-trust-item span{display:block;font-size:12px;color:#888;max-width:220px}
@media(max-width:700px){.hero-trust{gap:20px}}

/* Page devis */
.devis-page{padding:78px 0}
.devis-page .title{text-align:center}
.devis-page .desc{max-width:650px;margin:0 auto 40px;text-align:center}
.devis-form{max-width:600px;margin:0 auto}
.devis-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:35px 20px;border:2px dashed #ccc;border-radius:14px;background:#fafafa;cursor:pointer;transition:border-color .2s ease,background .2s ease;margin-bottom:14px}
.devis-dropzone:hover,.devis-dropzone.dragover{border-color:var(--studio-orange);background:rgba(255,122,0,.05)}
.devis-dropzone-icon{font-size:30px}
.devis-dropzone small{color:#888;font-size:12px}
.devis-dropzone input[type="file"]{display:none}
.devis-filelist{list-style:none;margin-bottom:20px}
.devis-filelist li{display:flex;justify-content:space-between;align-items:center;padding:9px 13px;background:#f5f5f5;border-radius:8px;font-size:13px;margin-bottom:6px}
.devis-filelist button{border:none;background:none;color:#888;font-size:17px;cursor:pointer;line-height:1}
.devis-filelist button:hover{color:#dc2626}
.devis-form label{display:block;font-size:13px;font-weight:600;margin-bottom:16px}
.devis-form input,.devis-form textarea{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #ccc;border-radius:8px;font-family:inherit;font-size:14px}
.devis-form .btn{width:100%;border:none}
.devis-status{margin-top:14px;font-size:13px;text-align:center;color:#555}
.logo{display:flex;align-items:center}
.custom-logo-link{display:block;line-height:0}
.custom-logo{display:block;width:auto;height:44px;max-width:220px;object-fit:contain}
.hero-profile-toggle{display:inline-flex;background:#f0f0f0;border-radius:30px;padding:4px;margin-bottom:20px}
.profile-btn{border:none;background:transparent;padding:8px 18px;border-radius:26px;font-size:13px;font-weight:600;cursor:pointer;color:#666}
.profile-btn.active{background:#171717;color:#fff}
.hero-pro-note{max-width:630px;color:#555;font-size:15px;margin-bottom:20px}
.devis-pro-toggle{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}
.devis-pro-toggle input{width:auto;margin:0}
.devis-pro-fields{margin-top:4px}
#accueil,#about,#realisations,#process,#avis,#contact{scroll-margin-top:85px}
.faq-page{padding:78px 0}
.faq-page .title{text-align:center}
.faq-page .desc{max-width:650px;margin:0 auto 50px;text-align:center}
.faq-page .desc a{color:#ff7a00;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.faq-group{max-width:800px;margin:0 auto 45px}
.faq-group h2{font-size:22px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid #f0f0f0}
.faq-item{border:1px solid #e7e7e7;border-radius:12px;padding:4px 20px;margin-bottom:10px;background:#fff}
.faq-item summary{padding:16px 30px 16px 0;cursor:pointer;font-weight:600;font-size:15px;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:0;top:14px;font-size:22px;color:#ff7a00;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding-bottom:18px;margin:0;color:#666;line-height:1.7;font-size:14px}

@media (max-width:600px){
    .faq-page{padding:55px 0}
    .faq-group h2{font-size:19px}
    .faq-item summary{font-size:14px;padding:14px 28px 14px 0}
}
.devis-project-type{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.type-option{flex:1;min-width:150px;position:relative}
.type-option input{position:absolute;opacity:0}
.type-option span{display:block;padding:12px 10px;text-align:center;border:1px solid #ccc;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.type-option input:checked+span{border-color:var(--studio-orange);background:rgba(255,122,0,.08);color:var(--studio-orange)}
.devis-idea-note{font-size:13px;color:#666;background:#f7f7f7;padding:12px 15px;border-radius:10px;margin-bottom:16px;line-height:1.6}
.devis-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.devis-form select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #ccc;border-radius:8px;font-family:inherit;font-size:14px;background:#fff}

@media(max-width:600px){
    .devis-row{grid-template-columns:1fr}
    .type-option{min-width:100%}
}
.reviews-rating {
    font-weight: 700;
    font-size: 15px;
    margin: -6px 0 14px;
    color: #171717;
}

.hero-image {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin-bottom: 25px;
}

.hero h1 span {
    color: var(--studio-orange);
}

.badge {
    border: 1px solid #171717;
}

.btn.primary {
    background: var(--studio-orange);
    color: #fff;
}

.btn.primary:hover {
    background: #e86d00;
}

.service small,
.step small {
    color: var(--studio-orange);
}

.process .desc a {
    color: var(--studio-orange);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.process .desc a:hover {
    opacity: .8;
}

#services .desc a {
    color: #ff7a00;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cta-microcopy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    font-size: 13px;
    color: #666;
}

.cta-microcopy li {
    position: relative;
    padding-left: 14px;
}

.cta-microcopy li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: var(--studio-green);
    font-weight: 700;
}

.cta-microcopy-center {
    justify-content: center;
    margin-top: 18px;
}

.about-guarantee {
    background: #171717;
    color: #fff;
}

.about-guarantee p {
    color: #ddd;
    margin: 0;
}

.about-guarantee em {
    color: var(--studio-yellow);
    font-style: normal;
}

.studio3d-carousel-wrap,
.studio3d-reviews-wrap {
    position: relative;
    width: 100%;
    margin-top: 30px;
}

.studio3d-carousel,
.studio3d-reviews-carousel {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: 4px 2px 14px;
    scrollbar-width: none;
}

.studio3d-carousel::-webkit-scrollbar,
.studio3d-reviews-carousel::-webkit-scrollbar {
    display: none;
}

.studio3d-slide {
    flex: 0 0 min(78%, 420px);
    scroll-snap-align: start;
    border-radius: 14px;
    overflow: hidden;
}

.studio3d-slide a {
    display: block;
}

.studio3d-slide img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

.studio3d-slide-placeholder {
    padding: 40px 20px;
    text-align: center;
}

.studio3d-review-slide {
    flex: 0 0 min(78%, 420px);
    scroll-snap-align: start;
}

.studio3d-review-slide .review {
    height: 100%;
    box-sizing: border-box;
}

.studio3d-arrow,
.studio3d-review-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .18);
}

.studio3d-arrow.prev,
.studio3d-review-arrow.prev {
    left: -10px;
}

.studio3d-arrow.next,
.studio3d-review-arrow.next {
    right: -10px;
}

.google-review-box {
    margin: 20px 0 28px;
    padding: 22px 24px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e7e7e7;
}

.btn-google {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.reviews-notice {
    margin: 18px auto 30px;
    padding: 12px 18px;
    max-width: 600px;
    text-align: center;
    font-size: 14px;
    opacity: .75;
}

.review-photo {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin-top: 15px;
}

.devis-honeypot {
    position: absolute;
    left: -9999px;
    height: 0;
    overflow: hidden;
}

.devis-tunnel-note {
    margin-top: 16px;
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    text-align: center;
}

.devis-file-meta strong {
    display: block;
}

.devis-file-meta small {
    color: #888;
}

.footer-heading {
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
    letter-spacing: .5px;
}

.legal-page {
    padding: 78px 0;
}

.legal-page .title {
    text-align: center;
}

.legal-page .desc,
.legal-page article {
    max-width: 760px;
    margin: 0 auto;
    color: #555;
    line-height: 1.75;
}

.legal-page h2 {
    font-size: 22px;
    margin: 32px 0 12px;
    color: #171717;
}

.legal-placeholder {
    padding: 12px 14px;
    background: #fff8e8;
    border-left: 4px solid var(--studio-yellow);
    border-radius: 8px;
    font-size: 14px;
}

.single-thumb {
    margin-bottom: 30px;
}

#avis .btn.primary {
    margin-bottom: 1cm;
}

.support {
    padding: 80px 0;
}

.support-box {
    background: linear-gradient(135deg, var(--studio-yellow), #f5d85c);
}

.why-3d {
    padding: 90px 0;
}

.why-3d-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 45px;
}

.why-card,
.safety-card {
    padding: 28px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .07);
}

.safety-3d {
    padding: 90px 0;
}

.safety-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
}

@media (max-width: 700px) {
    .studio3d-slide,
    .studio3d-review-slide {
        flex-basis: 88%;
    }

    .studio3d-slide img {
        height: 240px;
    }

    .studio3d-arrow,
    .studio3d-review-arrow {
        display: none;
    }
}

@media (max-width: 900px) {
    .why-3d-grid {
        grid-template-columns: repeat(2, 1fr);
    }

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

/* =========================================================
   REFONTE VISUELLE — Thème sombre Orange / Noir / Blanc / Gris
   Aucun motif de plateau d'impression : dégradés profonds,
   lueurs orange, surélévation (lift) et relief sur les cartes.
========================================================= */
:root {
    --studio-orange: #ff7a00;
    --studio-orange-2: #ff6600;
    --studio-yellow: #ffc928;
    --studio-green: #5fbd3e;

    --bg-page: #121212;
    --bg-surface: #1a1a1a;
    --bg-surface-2: #212121;
    --bg-surface-3: #262626;
    --border-subtle: rgba(255, 255, 255, .09);
    --border-soft: rgba(255, 255, 255, .14);
    --text-primary: #f2f2f2;
    --text-secondary: #b6b6b6;
    --text-muted: #8a8a8a;
    --glow-orange: 0 0 0 1px rgba(255, 122, 0, .25), 0 18px 45px -18px rgba(255, 122, 0, .45);
    --lift-shadow: 0 22px 50px -22px rgba(0, 0, 0, .65);
}

html, body { background: var(--bg-page); }

body, button, input, textarea, select {
    color: var(--text-primary);
    background: var(--bg-page);
}

::selection { background: var(--studio-orange); color: #111; }

a { color: inherit; }

header {
    background: rgba(18, 18, 18, .82);
    border-bottom: 1px solid var(--border-subtle);
    backdrop-filter: blur(14px);
}

.logo { color: var(--text-primary); }
.logo span { color: var(--text-muted); }

.header-actions { display: flex; align-items: center; gap: 6px; margin-left: 8px; }
.header-action {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    transition: background .2s ease, color .2s ease;
}
.header-action:hover { background: rgba(255, 122, 0, .1); color: var(--studio-orange); }
.header-action svg { width: 20px; height: 20px; flex-shrink: 0; color: currentColor; }
.header-action-label { white-space: nowrap; }
.header-cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    padding: 0 3px;
    border-radius: 8px;
    background: var(--studio-orange);
    color: #111;
    font-size: 10px;
    font-weight: 800;
    line-height: 16px;
    text-align: center;
}
@media (max-width: 1150px) {
    .header-actions { margin-left: auto; margin-right: 4px; }
    .header-action-label { display: none; }
    .header-action { padding: 8px; }
}
@media (max-width: 420px) {
    .header-action-cart .header-action-label { display: none; }
}

.studio3d-menu a { color: var(--text-secondary); }
.studio3d-menu a:hover { background: rgba(255, 122, 0, .12); color: var(--studio-orange); }
.studio3d-menu .menu-devis { color: #111; }
@media (max-width: 1150px) {
    .menu-toggle span { background: var(--text-primary); }
    .studio3d-menu {
        background: var(--bg-surface);
        border: 1px solid var(--border-subtle);
        box-shadow: var(--lift-shadow);
    }
}

.hero {
    position: relative;
    min-height: 640px;
    background:
        radial-gradient(circle at 85% 12%, rgba(255, 122, 0, .22), transparent 42%),
        radial-gradient(circle at 5% 95%, rgba(255, 122, 0, .10), transparent 45%),
        linear-gradient(155deg, #171717 0%, #101010 55%, #0c0c0c 100%);
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at top, rgba(255, 255, 255, .04), transparent 60%);
    pointer-events: none;
}

.badge { background: rgba(255, 122, 0, .12); color: var(--studio-orange); border: 1px solid rgba(255, 122, 0, .4); }
.hero p, .hero-pro-note { color: var(--text-secondary); }
h1 span { color: var(--text-muted); }
.hero h1 span { color: var(--studio-orange); }

.title, h1, h2, h3 { color: var(--text-primary); }
.desc { color: var(--text-secondary); }

.primary { background: var(--studio-orange); color: #111; box-shadow: var(--glow-orange); }
.primary:hover { background: var(--studio-orange-2); transform: translateY(-1px); }
.btn.primary { background: var(--studio-orange); color: #111; }
.btn.primary:hover { background: var(--studio-orange-2); }
.secondary { background: var(--bg-surface-2); border: 1px solid var(--border-soft); color: var(--text-primary); }
.secondary:hover { border-color: var(--studio-orange); color: var(--studio-orange); }

.hero-profile-toggle { background: var(--bg-surface-2); }
.profile-btn { color: var(--text-secondary); }
.profile-btn.active { background: var(--studio-orange); color: #111; }

.hero-trust { border-top: 1px solid var(--border-subtle); }
.hero-trust-item span { color: var(--text-muted); }

.hero-dropzone-link { background: var(--bg-surface); border: 2px dashed var(--border-soft); }
.hero-dropzone-link:hover { border-color: var(--studio-orange); background: rgba(255, 122, 0, .07); box-shadow: var(--glow-orange); }
.hero-dropzone-link small { color: var(--text-muted); }

.lift-card, .panier-item, .why-page-card, .limit-card, .repair-step, .catalogue-item,
.services-page .service, .quick-request-box, .review, .materials-table, .why-3d-home-item,
.why-card, .safety-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--lift-shadow);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.services-page .service:hover, .why-page-card:hover, .catalogue-item:hover, .lift-card:hover, .panier-item:hover {
    transform: translateY(-4px);
    border-color: rgba(255, 122, 0, .35);
    box-shadow: var(--lift-shadow), var(--glow-orange);
}

.about, .process, .support, .why-page-more, .limits-page, .services-home, .why-3d-home,
.repair-workshop, .catalogue-teaser, .why-3d, .safety-3d, .explain, .reviews {
    background: linear-gradient(180deg, #141414, #101010);
}

.about-card {
    background: linear-gradient(155deg, #1d1d1d, #141414);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--lift-shadow);
}
.about p, .about-guarantee p { color: var(--text-secondary); }
.about-guarantee { background: linear-gradient(155deg, #201206, #141414); border: 1px solid rgba(255, 122, 0, .3); }

.process { background: linear-gradient(155deg, #171717, #0f0f0f); }
.process .desc { color: var(--text-secondary); }
.step { border-top: 1px solid var(--border-subtle); }
.step small { color: var(--studio-orange); }
.step p { color: var(--text-secondary); }

.info, .warning { background: var(--bg-surface); border: 1px solid var(--border-subtle); color: var(--text-secondary); }
.info h3 { color: var(--text-primary); }

.support-box { background: linear-gradient(135deg, var(--studio-yellow), #c98f12); color: #171717; }
.support-box p { color: #241a00; }

.review { color: var(--text-secondary); }
.review small { color: var(--text-muted); }
.review-photo { border: 1px solid var(--border-subtle); }
.reviews-rating { color: var(--text-primary); }
.google-review-box { background: var(--bg-surface); border: 1px solid var(--border-subtle); }
.reviews-notice { color: var(--text-muted); }
.studio3d-arrow, .studio3d-review-arrow {
    background: var(--bg-surface-2);
    color: var(--text-primary);
    border: 1px solid var(--border-subtle);
    box-shadow: var(--lift-shadow);
}
.studio3d-arrow:hover, .studio3d-review-arrow:hover { color: var(--studio-orange); border-color: rgba(255, 122, 0, .4); }
.studio3d-slide-placeholder { color: var(--text-muted); }

.contact-box { background: linear-gradient(155deg, #1a1a1a, #101010); border: 1px solid var(--border-subtle); }
.contact-info a:hover { color: var(--studio-orange); }

footer { background: #0b0b0b; color: var(--text-muted); border-top: 1px solid var(--border-subtle); }
footer strong { color: var(--text-primary); }
.footer-col a, .footer-col div { color: var(--text-muted); }
.footer-col a:hover { color: var(--studio-orange); }
.footer-heading { color: var(--text-primary); }
.footer-bottom { border-top: 1px solid var(--border-subtle); }

.footer-social { display: flex; gap: 10px; margin-top: 4px; }
.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bg-surface-2);
    border: 1px solid var(--border-subtle);
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.footer-social a:hover { background: var(--studio-orange); border-color: var(--studio-orange); transform: translateY(-2px); }
.footer-social svg { width: 17px; height: 17px; fill: var(--text-primary); }
.footer-social a:hover svg { fill: #111; }

/* Formulaires (devis, panier, catalogue) : surfaces sombres, focus orange */
.devis-form input, .devis-form textarea, .devis-form select,
.panier-form input, .panier-form textarea,
.panier-item-row select, .panier-item-row input,
.catalogue-search input,
#quick-request-form input, #quick-request-form textarea,
.panier-guided-select {
    background: var(--bg-surface-2);
    border: 1px solid var(--border-soft);
    color: var(--text-primary);
}
.devis-form input:focus, .devis-form textarea:focus, .devis-form select:focus,
.panier-form input:focus, .panier-form textarea:focus,
.catalogue-search input:focus,
#quick-request-form input:focus, #quick-request-form textarea:focus {
    outline: none;
    border-color: var(--studio-orange);
    box-shadow: 0 0 0 3px rgba(255, 122, 0, .18);
}
.devis-dropzone, .panier-dropzone { background: var(--bg-surface); border: 2px dashed var(--border-soft); }
.devis-dropzone:hover, .devis-dropzone.dragover,
.panier-dropzone:hover, .panier-dropzone.dragover { border-color: var(--studio-orange); background: rgba(255, 122, 0, .07); }
.devis-filelist li { background: var(--bg-surface-2); }
.panier-summary { background: var(--bg-surface); border: 1px solid var(--border-subtle); box-shadow: var(--lift-shadow); }
.panier-summary-list li { border-bottom: 1px solid var(--border-subtle); }
.panier-summary-line { color: var(--text-muted); }
.panier-empty { color: var(--text-muted); }
.panier-item-header small { color: var(--text-muted); }
.panier-field-label { color: var(--text-secondary); }
.panier-option-pill { background: var(--bg-surface-2); border: 1px solid var(--border-soft); color: var(--text-secondary); }
.panier-option-pill.active { background: rgba(255, 122, 0, .16); border-color: var(--studio-orange); color: var(--studio-orange); }
.panier-item-price { border-top: 1px solid var(--border-subtle); color: var(--text-muted); }
.panier-item-remove { color: var(--text-muted); }
.panier-guided { background: rgba(255, 122, 0, .08); }
.panier-guided-note { color: var(--text-secondary); }
.panier-stl-note, .panier-tv-hint, .catalogue-hint { color: var(--text-muted); }
.panier-status, .devis-status, .quick-request-status { color: var(--text-secondary); }
.type-option span { background: var(--bg-surface-2); border: 1px solid var(--border-soft); color: var(--text-secondary); }
.type-option input:checked + span { border-color: var(--studio-orange); background: rgba(255, 122, 0, .14); color: var(--studio-orange); }
.devis-idea-note { background: var(--bg-surface-2); color: var(--text-secondary); }
.devis-shipping-option {
    background: var(--bg-surface-2);
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 16px;
}
.devis-shipping-note {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 8px 0 0;
}

.devis-reassurance-box {
    margin: 4px 0 18px;
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(255, 122, 0, .08);
    border: 1px solid rgba(255, 122, 0, .22);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.account-devis-reassurance {
    margin: -2px 0 14px;
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.catalogue-page, .panier-page, .devis-page, .faq-page, .legal-page,
.services-page, .why-page, .materials-page {
    background: transparent;
}
.materials-table th { background: var(--bg-surface-2); color: var(--text-primary); }
.materials-table td, .materials-table th { border-bottom: 1px solid var(--border-subtle); color: var(--text-secondary); }
.material-help { background: rgba(255, 122, 0, .1); color: var(--text-secondary); }
.limits-note { background: var(--bg-surface); }
.limits-note p { color: var(--text-secondary); }
.legal-page article, .legal-page .desc { color: var(--text-secondary); }
.legal-page h2 { color: var(--text-primary); }
.legal-placeholder { background: rgba(255, 201, 40, .1); color: #f0d998; }
.important-notice { background: rgba(220, 38, 38, .12); color: #ffb4b4; }
.important-notice strong { color: #ff8080; }

.faq-item { background: var(--bg-surface); border: 1px solid var(--border-subtle); }
.faq-item p { color: var(--text-secondary); }
.faq-group h2 { border-bottom: 2px solid var(--border-subtle); }

.services-page .service p, .why-page-card p, .limit-card p, .repair-step p,
.services-home-item p, .why-3d-home-item p { color: var(--text-secondary); }
.services-page-link, .why-page-final-box { background: var(--bg-surface); }
.services-page-link p, .why-page-final-box p { color: var(--text-secondary); }
.services-home-list { border-top: 1px solid var(--border-subtle); }
.services-home-item { border-bottom: 1px solid var(--border-subtle); }

.catalogue-item { overflow: hidden; }
.catalogue-empty { color: var(--text-muted); }
.catalogue-item-quick {
    display: block;
    width: calc(100% - 32px);
    margin: 0 16px 16px;
    font-size: 12px;
    padding: 8px 10px;
}

.quick-request-overlay { background: rgba(0, 0, 0, .7); }
.quick-request-close { color: var(--text-muted); }
.quick-request-model { color: var(--text-secondary); }

.catalogue-teaser-box, .why-page-final-box {
    background: linear-gradient(155deg, #1d1206, #141414);
    border: 1px solid rgba(255, 122, 0, .25);
}

@media (prefers-color-scheme: light) {
    /* Le thème est volontairement sombre en permanence (identité de marque) : pas de variante claire automatique. */
}

/* =========================================================
   CONTRASTE — passage des gris foncés vers des gris clairs
   lisibles sur fond #121212 (WCAG AA).
========================================================= */
:root {
    --text-secondary: #d1d5db;
    --text-muted: #cccccc;
}

.info p, .review p, .contact p, .service-note, .gallery-item,
.catalogue-suggestions, .cta-microcopy, .devis-tunnel-note, .devis-file-meta small {
    color: var(--text-secondary);
}
.service-note { background: var(--bg-surface-2); border-left: 4px solid var(--studio-orange); }
.catalogue-suggestions a { color: var(--studio-orange); }

/* =========================================================
   VISUELS SUR FOND BLANC — carte sombre + lueur orange +
   fusion du fond blanc dans la carte (mix-blend-mode).
========================================================= */
.catalogue-item, .studio3d-slide, .studio3d-review-slide .review-photo-wrap {
    background: var(--bg-surface);
}
.catalogue-item img,
.studio3d-slide img,
.review-photo {
    background: var(--bg-surface);
    mix-blend-mode: multiply;
    filter: brightness(1.06);
    border-radius: 12px;
}
.catalogue-item {
    padding-bottom: 4px;
    box-shadow: var(--lift-shadow);
}
.catalogue-item:hover img, .studio3d-slide:hover img {
    box-shadow: var(--glow-orange);
}

/* =========================================================
   AVIS GOOGLE — skeleton loader
========================================================= */
.review.skeleton { pointer-events: none; }
.skeleton-line {
    height: 12px;
    border-radius: 6px;
    margin-bottom: 10px;
    background: linear-gradient(90deg, var(--bg-surface-2) 25%, var(--bg-surface-3) 37%, var(--bg-surface-2) 63%);
    background-size: 400% 100%;
    animation: studio3d-shimmer 1.4s ease infinite;
}
.skeleton-line.short { width: 60%; }
.skeleton-line.author { width: 40%; height: 10px; margin-top: 14px; margin-bottom: 0; }
.skeleton-stars { width: 90px; height: 14px; }
@keyframes studio3d-shimmer {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

/* =========================================================
   MON COMPTE
========================================================= */
.account-page { padding: 78px 0; }
.account-page .title { text-align: center; }
.account-page .desc { max-width: 650px; margin: 0 auto 40px; text-align: center; }
.account-auth-grid, .account-dashboard {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
    align-items: start;
}
.account-box {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    padding: 28px;
    box-shadow: var(--lift-shadow);
}
.account-box h2 { font-size: 18px; margin-bottom: 16px; }
.account-box p { color: var(--text-secondary); margin-bottom: 10px; }
.account-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 14px; }
.account-form input {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 11px 13px;
    border: 1px solid var(--border-soft);
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    background: var(--bg-surface-2);
    color: var(--text-primary);
}
.account-form input:focus { outline: none; border-color: var(--studio-orange); box-shadow: 0 0 0 3px rgba(255, 122, 0, .18); }
.account-form .btn { width: 100%; border: none; }
.account-status { margin-top: 10px; font-size: 13px; color: var(--text-secondary); text-align: center; }
.account-security-note { font-size: 12px; color: var(--text-muted); background: var(--bg-surface-2); padding: 10px 12px; border-radius: 8px; margin-bottom: 16px; }
.account-cards-list { list-style: none; margin-bottom: 16px; }
.account-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background: var(--bg-surface-2);
    border-radius: 8px;
    margin-bottom: 8px;
    font-size: 13px;
}
.account-card-remove { border: none; background: none; color: #ff8080; cursor: pointer; font-size: 12px; font-weight: 700; }
.account-card-remove:hover { text-decoration: underline; }
.account-cards-empty { color: var(--text-muted); font-size: 13px; padding: 8px 0; }
.account-cards-skeleton {
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(90deg, var(--bg-surface-2) 25%, var(--bg-surface-3) 37%, var(--bg-surface-2) 63%);
    background-size: 400% 100%;
    animation: studio3d-shimmer 1.4s ease infinite;
    list-style: none;
}
#account-card-element { padding: 12px; background: var(--bg-surface-2); border: 1px solid var(--border-soft); border-radius: 8px; margin-bottom: 12px; }
.panier-account-hint { font-size: 13px; color: var(--text-secondary); background: rgba(255, 122, 0, .08); padding: 10px 12px; border-radius: 8px; margin-bottom: 16px; }
.panier-account-hint a { color: var(--studio-orange); font-weight: 600; }

@media (max-width: 700px) {
    .account-auth-grid, .account-dashboard { grid-template-columns: 1fr; }
}

/* =========================================================
   THÈME CLAIR — style géométrique/technique (Studio 3D Création)
   Remplace la variante sombre : fond très clair, cartes blanches
   distinctes du fond, texte foncé lisible, motif de grille discret.
========================================================= */
:root {
    --bg-page: #f8fafc;
    --bg-surface: #ffffff;
    --bg-surface-2: #eef2f7;
    --bg-surface-3: #e2e8f0;
    --border-subtle: rgba(15, 23, 42, .08);
    --border-soft: rgba(15, 23, 42, .14);
    --text-primary: #0f172a;
    --text-secondary: #1e293b;
    --text-muted: #475569;
    --glow-orange: 0 0 0 1px rgba(255, 122, 0, .18), 0 14px 32px -16px rgba(255, 122, 0, .35);
    --lift-shadow: 0 16px 34px -20px rgba(15, 23, 42, .22);
}

html, body {
    background-color: var(--bg-page);
    background-image:
        linear-gradient(rgba(15, 23, 42, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, .05) 1px, transparent 1px);
    background-size: 42px 42px;
    background-attachment: fixed;
}

::selection { background: var(--studio-orange); color: #fff; }

header {
    background: #ffffff;
    backdrop-filter: none;
    border-bottom: 1px solid var(--border-subtle);
}

.hero {
    background:
        radial-gradient(circle at 88% 10%, rgba(255, 122, 0, .12), transparent 46%),
        radial-gradient(circle at 4% 92%, rgba(255, 122, 0, .07), transparent 42%),
        linear-gradient(rgba(15, 23, 42, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, .06) 1px, transparent 1px),
        linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    background-size: auto, auto, 32px 32px, 32px 32px, auto;
}
.hero::before { background: radial-gradient(ellipse at top, rgba(255, 255, 255, .5), transparent 60%); }

.about, .process, .support, .why-page-more, .limits-page, .services-home, .why-3d-home,
.repair-workshop, .catalogue-teaser, .why-3d, .safety-3d, .explain, .reviews {
    background: var(--bg-page);
}

.about-card {
    background: linear-gradient(155deg, #0f172a, #1e293b);
    color: #f8fafc;
}
.about-card strong { color: #fff; }

.about-guarantee {
    background: #fff7ed;
    border: 1px solid rgba(255, 122, 0, .3);
}
.about-guarantee p { color: var(--text-secondary); }
.about-guarantee em { color: #c2410c; }

.process { background: linear-gradient(180deg, #f1f5f9, #f8fafc); }

footer {
    background: var(--bg-surface);
    color: var(--text-muted);
    border-top: 1px solid var(--border-subtle);
}
footer strong { color: var(--text-primary); }
.footer-logo { display: block; margin-bottom: 14px; }
.footer-logo img { display: block; height: 38px; width: auto; }

.catalogue-teaser-box, .why-page-final-box {
    background: linear-gradient(155deg, #fff7ed, #ffffff);
    border: 1px solid rgba(255, 122, 0, .25);
}
.catalogue-teaser-box .title, .catalogue-teaser-box strong { color: var(--text-primary); }
.catalogue-teaser-box .desc { color: var(--text-secondary); }

.legal-placeholder { background: #fffbeb; color: #92400e; border-left-color: #f59e0b; }
.important-notice { background: #fef2f2; color: #b91c1c; border-color: #fca5a5; }
.important-notice strong { color: #991b1b; }

.account-card-remove { color: #dc2626; }

/* Cartes du configurateur/panier : surface blanche nette, distincte du fond quadrillé */
.panier-item, .panier-summary, .lift-card {
    background: var(--bg-surface);
    box-shadow: var(--lift-shadow);
    border: 1px solid var(--border-subtle);
}
.panier-dropzone, .devis-dropzone { background: var(--bg-surface); }
.panier-option-pill, .type-option span { background: var(--bg-surface-2); }

@media (max-width: 700px) {
    html, body { background-size: 28px 28px; }
}

/* =========================================================
   MES COMMANDES — suivi de statut + téléchargements PDF
========================================================= */
.account-orders { max-width: 900px; margin: 40px auto 0; }
.account-orders h2 { font-size: 18px; margin-bottom: 16px; }
.account-orders-list { display: flex; flex-direction: column; gap: 16px; }
.account-orders-empty { color: var(--text-muted); font-size: 13px; }
.account-orders-skeleton {
    height: 90px;
    border-radius: 14px;
    background: linear-gradient(90deg, var(--bg-surface-2) 25%, var(--bg-surface-3) 37%, var(--bg-surface-2) 63%);
    background-size: 400% 100%;
    animation: studio3d-shimmer 1.4s ease infinite;
}
.account-order {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: var(--lift-shadow);
}
.account-order-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; flex-wrap: wrap; gap: 6px; }
.account-order-header strong { font-size: 15px; }
.account-order-header span { font-size: 12px; color: var(--text-muted); }
.account-order-stepper {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none;
    counter-reset: step;
}
.account-order-stepper li {
    position: relative;
    flex: 1 1 auto;
    min-width: 110px;
    padding: 8px 10px 8px 28px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-muted);
    border-top: 3px solid var(--border-soft);
}
.account-order-stepper li::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: 0;
    top: -13px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--bg-surface-2);
    color: var(--text-muted);
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--bg-surface);
}
.account-order-stepper li.done { border-top-color: var(--studio-orange); color: var(--text-secondary); }
.account-order-stepper li.done::before { background: var(--studio-orange); color: #fff; }
.account-order-stepper li.current { border-top-color: var(--studio-orange); color: var(--studio-orange); }
.account-order-stepper li.current::before { background: #fff; color: var(--studio-orange); border-color: var(--studio-orange); }
.account-order-docs { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.account-order-docs .btn { font-size: 12px; padding: 9px 14px; }
.account-order-stepper-5 li { min-width: 88px; font-size: 10px; padding-left: 24px; }
.account-order-piece-note {
    margin-top: 12px;
    font-size: 13px;
    color: var(--text-secondary);
    background: rgba(255, 201, 40, .1);
    padding: 8px 12px;
    border-radius: 8px;
}

.account-order-delivery {
    margin-top: 12px;
    font-size: 13px;
    color: var(--text-secondary);
}

.account-order-tracking {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255, 122, 0, .1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.account-order-tracking span {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}
.account-order-tracking .btn {
    font-size: 12px;
    padding: 8px 14px;
}

.account-order-alert {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 10px;
    background: #fdecea;
    border-left: 4px solid #d32f2f;
    color: #d32f2f;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.6;
}

.account-devis-cta {
    margin-top: 18px;
    padding: 18px;
    border-radius: 12px;
    background: rgba(255, 102, 0, .07);
    border: 1px solid rgba(255, 102, 0, .25);
}
.account-devis-amount {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 12px;
}
.account-legal-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin-bottom: 14px;
    cursor: pointer;
}
.account-legal-checkbox input {
    margin-top: 3px;
    width: auto;
    flex-shrink: 0;
}
.account-devis-pay-btn {
    width: 100%;
    border: none;
}

@media (max-width: 700px) {
    .account-order-stepper { flex-direction: column; gap: 10px; }
    .account-order-stepper li { border-top: none; border-left: 3px solid var(--border-soft); padding: 4px 0 4px 28px; }
    .account-order-stepper li::before { left: 0; top: 50%; transform: translateY(-50%); }
    .account-order-stepper li.done, .account-order-stepper li.current { border-left-color: var(--studio-orange); border-top-color: transparent; }
}

/* =========================================================
   "MES SERVICES" (accueil) — bloc sombre dédié, texte blanc,
   pour un contraste maximal et une rupture visuelle volontaire.
========================================================= */
.services-home {
    background: linear-gradient(155deg, #0f172a 0%, #1e293b 100%);
    padding-top: 90px;
    padding-bottom: 90px;
}
.services-home .title { color: #ffffff; }
.services-home .desc { color: #cbd5e1; }
.services-home .desc a { color: var(--studio-orange); }
.services-home-list { border-top-color: rgba(255, 255, 255, .14); }
.services-home-item { border-bottom-color: rgba(255, 255, 255, .12); }
.services-home-item > span { color: var(--studio-orange); }
.services-home-item h3 { color: #ffffff; }
.services-home-item p { color: #e2e8f0; }
.services-home-button .btn { background: var(--studio-orange); color: #0f172a; }
.services-home-button .btn:hover { background: #ffb066; }

/* Bouton "Laisser un avis Google" : très visible, style officiel Google (fond blanc, ombre nette) */
.btn-google {
    background: #ffffff !important;
    color: #1f1f1f !important;
    border: 1px solid #dadce0 !important;
    padding: 13px 22px !important;
    font-weight: 700;
    font-size: 14px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .18);
    transition: box-shadow .2s ease, transform .2s ease;
}
.btn-google:hover {
    box-shadow: 0 8px 20px rgba(15, 23, 42, .24);
    transform: translateY(-1px);
}

.panier-payment-notice {
    margin: 0 0 24px;
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.6;
}
.panier-payment-notice-ok { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.panier-payment-notice-cancel { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; }

.merci-page { padding: 90px 0; }
.merci-box {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 18px;
    padding: 48px 36px;
}
.merci-icon { display: block; font-size: 44px; margin-bottom: 14px; }
.merci-box .title { margin-bottom: 14px; }
.merci-box .desc { color: var(--text-secondary); line-height: 1.7; margin-bottom: 22px; }
.merci-box .devis-reassurance-box { text-align: left; margin-bottom: 26px; }
.merci-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 600px) {
    .merci-page { padding: 55px 0; }
    .merci-box { padding: 32px 22px; }
}

/* Avis désactivés : message simple et élégant */
.reviews-disabled { padding-bottom: 40px; }
.reviews-unavailable {
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
    padding: 30px 20px;
    color: var(--text-muted);
    font-size: 15px;
    font-style: italic;
}

/* Avis Google réels (quand la Places API est configurée) */
.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin: 20px 0 30px;
}
@media (max-width: 900px) {
    .review-grid { grid-template-columns: 1fr; }
}
.review-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
    padding: 22px;
}
.review-card-stars { color: var(--studio-yellow, #ffc928); font-size: 15px; margin-bottom: 10px; }
.review-card-text { color: var(--text-secondary); font-size: 14px; line-height: 1.6; margin: 0 0 12px; }
.review-card-author { font-weight: 600; font-size: 13px; color: var(--text-primary); margin: 0; }
.review-card-author span { display: block; font-weight: 400; color: var(--text-muted); font-size: 12px; margin-top: 2px; }

.google-review-cta { text-align: center; margin-top: 10px; }
.google-review-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border-radius: 999px;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.google-review-btn:hover { border-color: var(--studio-orange); box-shadow: var(--glow-orange); }

/* Bloc contact (bas d'accueil) : fond noir, texte blanc pur */
#contact {
    background: #000000;
    padding: 90px 0;
}
#contact .title,
#contact h3 { color: #ffffff; }
#contact .desc,
#contact p,
#contact .contact-info div,
#contact .cta-microcopy { color: #ffffff; }
#contact .contact-info a { color: #ffffff; }
#contact .contact-info a:hover { color: var(--studio-orange); }
#contact .cta-microcopy li::before { color: var(--studio-orange); }

.devis-file-redirect {
    text-align: center;
    padding: 40px 24px;
    margin-bottom: 20px;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 14px;
}
.devis-file-redirect p {
    max-width: 480px;
    margin: 0 auto 18px;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* =========================================================
   BANDEAU COOKIES (RGPD/CNIL) — noir / orange, léger, sans impact PageSpeed
========================================================= */
.s3d-cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 4000;
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding: 18px 22px;
    background: #0d0d0d;
    border: 1px solid rgba(255, 102, 0, .35);
    border-radius: 14px;
    box-shadow: 0 20px 45px -18px rgba(0, 0, 0, .55);
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .3s ease, transform .3s ease;
}
.s3d-cookie-banner.s3d-cookie-visible {
    opacity: 1;
    transform: translateY(0);
}
.s3d-cookie-text {
    flex: 1 1 320px;
    font-size: 13px;
    line-height: 1.6;
    color: #e5e5e5;
}
.s3d-cookie-text a {
    color: #ff6600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.s3d-cookie-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex-shrink: 0;
}
.s3d-cookie-btn {
    border: none;
    border-radius: 9px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.s3d-cookie-accept {
    background: #ff6600;
    color: #111;
}
.s3d-cookie-accept:hover { background: #ff8533; }
.s3d-cookie-refuse {
    background: transparent;
    color: #e5e5e5;
    border: 1px solid rgba(255, 255, 255, .25);
}
.s3d-cookie-refuse:hover { border-color: #ff6600; color: #ff6600; }

@media (max-width: 600px) {
    .s3d-cookie-banner { left: 10px; right: 10px; bottom: 10px; padding: 16px; }
    .s3d-cookie-actions { width: 100%; }
    .s3d-cookie-btn { flex: 1; }
}
