/* === GLOBAL BASE STYLES (FORCED) === */

* {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        scroll-behavior: smooth;
      }

      main {
        max-width: 1600px;
        margin-inline: auto;
        width: 100%;
      }

      body {
        overflow-x: hidden;
      }

      section {
        width: 100%;
      }

      /* --- SVG icons (local sprite) --- */
      .icon {
        width: 1.25rem;
        height: 1.25rem;
        display: inline-block;
        vertical-align: middle;
        flex: 0 0 auto;
      }


/* --- Accessibility and semantic polish --- */
main{display:block}
.site-header nav[aria-label]{display:flex}
body{font-size:16px}
address{font-style:normal}
button,input,textarea{font:inherit}

/* Better visible text on light sections */
html[data-page="contact.html"] main,
html[data-page="privacy-policy.html"] main,
html[data-page="terms-conditions.html"] main{
  color: var(--text-color);
}
html[data-page="contact.html"] #contact,
html[data-page="contact.html"] #contact h2,
html[data-page="contact.html"] #contact h3,
html[data-page="contact.html"] #contact p,
html[data-page="contact.html"] #contact label,
html[data-page="contact.html"] #contact address,
html[data-page="contact.html"] #contact a:not(.btn-primary){
  color: var(--text-color);
}
html[data-page="contact.html"] .contact-form-card{
  background:#fff;
}
html[data-page="contact.html"] .contact-form-card .btn-primary,
html[data-page="index.html"] form .btn-primary{
  color: var(--dark-brown);
}
html[data-page="contact.html"] .contact-form-card input,
html[data-page="contact.html"] .contact-form-card textarea,
html[data-page="index.html"] form input,
html[data-page="index.html"] form textarea{
  background:#fff;
  color:var(--text-color);
}
html[data-page="index.html"] form input,
html[data-page="index.html"] form textarea{
  background:#1E120D;
  color:#F5EFE6;
}
html[data-page="index.html"] form input::placeholder,
html[data-page="index.html"] form textarea::placeholder{
  color:rgba(245,239,230,.62);
}

/* Light-section contrast on products/contact/legal */
html[data-page="produits.html"] .bg-white,
html[data-page="contact.html"] .bg-white,
html[data-page="privacy-policy.html"] .bg-white,
html[data-page="terms-conditions.html"] .bg-white{
  color:var(--text-color);
}
html[data-page="produits.html"] .bg-white h1,
html[data-page="produits.html"] .bg-white h2,
html[data-page="produits.html"] .bg-white h3,
html[data-page="produits.html"] .bg-white p,
html[data-page="contact.html"] .bg-white h1,
html[data-page="contact.html"] .bg-white h2,
html[data-page="contact.html"] .bg-white h3,
html[data-page="contact.html"] .bg-white p,
html[data-page="privacy-policy.html"] .bg-white h1,
html[data-page="privacy-policy.html"] .bg-white h2,
html[data-page="privacy-policy.html"] .bg-white p,
html[data-page="terms-conditions.html"] .bg-white h1,
html[data-page="terms-conditions.html"] .bg-white h2,
html[data-page="terms-conditions.html"] .bg-white p{
  color:inherit;
}

/* Legal page spacing */
.legal-shell{max-width:56rem;margin:0 auto;padding:4rem 1rem 1rem}
.legal-card{background:#fff;border:1px solid #e8dfd0;border-radius:14px;padding:2rem;box-shadow:0 10px 32px rgba(18,9,4,.08)}
.legal-intro{color:rgba(18,9,4,.72);margin-bottom:1.5rem}
.legal-section + .legal-section{margin-top:2rem}
.legal-section h2{font-size:1.25rem;color:var(--dark-brown);margin-bottom:.75rem}
.legal-section p,.legal-section li{color:rgba(18,9,4,.88)}
.legal-section ul{padding-left:1.2rem}
.legal-contact-list{list-style:none;padding-left:0}
.legal-contact-list li + li{margin-top:.5rem}
@media (min-width:768px){.legal-shell{padding-top:5rem}.legal-card{padding:2.5rem}}
