/* Styles Mim’s : socle indépendant de Porto et Bootstrap. */
:root { --beige:#e0cebc; --paper:#f8f6f1; --ink:#383f48; --muted:#777; }
* { box-sizing:border-box; }
body { margin:0; background:#fff; color:var(--muted); font:14px/26px Poppins,Arial,sans-serif; }
button,input,textarea { font:inherit; }
a { color:inherit; text-decoration:none; transition:color .15s ease-in-out; }
button,input[type=submit],.home-button,.gift-button { transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
a[href^="mailto:"],a[href^="tel:"] { text-decoration:none; }
a:hover { color:#685343; }
img { vertical-align:middle; }
p { margin:0 0 20px; }
ul { margin:0 0 16px; padding-left:32px; }
li { line-height:24px; }
h1,h2 { color:#212529; }
:focus-visible { outline:2px solid #685343; outline-offset:3px; }
.container { width:100%; margin-inline:auto; padding-inline:12px; }
.d-none,[hidden] { display:none !important; }
/* Cinq icônes : sous-ensembles exacts générés par scripts/build-icon-fonts.py. */
@font-face { font-family:MimsRegular; src:url('../fonts/mims-icons-regular.woff2') format('woff2'); font-display:block; }
@font-face { font-family:MimsSolid; src:url('../fonts/mims-icons-solid.woff2') format('woff2'); font-display:block; }
@font-face { font-family:MimsBrands; src:url('../fonts/mims-icons-brands.woff2') format('woff2'); font-display:block; }
.icon { display:inline-block; font-style:normal; font-weight:400; line-height:1; }
.icon-clock { font-family:MimsRegular; }
.icon-clock::before { content:'\f017'; }
.icon-menu { font-family:MimsSolid; }
.icon-menu::before { content:'\f0c9'; }
.icon-whatsapp,.icon-instagram,.icon-facebook { font-family:MimsBrands; }
.icon-whatsapp::before { content:'\f232'; }
.icon-instagram::before { content:'\f16d'; }
.icon-facebook::before { content:'\f39e'; }
#header { height:173px; }
.header-body { position:fixed; inset:0 0 auto; z-index:100; background:white; border-bottom:1px solid #e9e9e9; }
.header-top { height:110px; padding:4px; display:grid; grid-template-columns:1fr 175px 1fr; align-items:center; transition:height .2s ease; }
.header-logo { display:grid; place-items:center; width:175px; }
.header-logo img { width:175px; height:70px; transition:width .2s ease,height .2s ease; }
.header-hours,.header-actions { display:flex; align-items:center; font-size:.9em; font-weight:600; line-height:1.5; }
.header-hours p { margin:0; }
.header-actions { justify-content:flex-end; gap:15px; }
.header-icon { width:43.1875px; height:43.1875px; display:grid; place-items:center; font-size:32px; flex:none; }
.header-top .header-icon { color:var(--beige); }
.header-hours .header-icon { margin-right:15px; }
.header-phone { white-space:nowrap; }
.header-btn-collapse-nav { display:none; border:1px solid transparent; background:var(--beige); color:white; padding:8.528px 14.928px; font-size:12.8px; font-weight:600; line-height:19.2px; border-radius:4px; cursor:pointer; }
.header-nav-bar { border-top:1px solid #eee; }
#mainNav { display:flex; justify-content:center; gap:2px; height:61px; margin:0; padding:0; list-style:none; }
#mainNav a { display:flex; align-items:center; height:61px; padding:0 14.4px; margin-top:1px; font-weight:600; line-height:24px; letter-spacing:-.5px; text-transform:uppercase; color:#444; }
#mainNav a:hover,#mainNav a[aria-current] { color:var(--beige); }
.is-sticky .header-top { height:70px; }
.is-sticky .header-logo img { width:112px; height:47px; }
/* Garder le cadre de 175 px : seule l'image rétrécit autour de son centre. */
#footer { background:var(--ink); font-size:.9em; display:flow-root; }
.footer-grid { display:grid; grid-template-columns:5fr 3fr 2fr 2fr; padding-block:24px; margin-inline:-12px; margin-bottom:48px; }
.footer-grid > div { padding-inline:12px; }
.logo-footer { width:224px; height:90px; max-width:100%; }
.footer-heading { font-size:1.2em; font-weight:600; line-height:18px; letter-spacing:-.05em; margin:0 0 16px; color:white; text-transform:uppercase; }
.footer-list { padding:0; margin:0 0 16px; list-style:none; color:#a8a8a8; }
.footer-list a { color:#a8a8a8; }
.footer-list a:hover { color:white; text-decoration:none; }
.footer-information li { padding-bottom:4px; margin-bottom:8px; }
.footer-label { display:block; color:white; text-transform:uppercase; line-height:1; }
.footer-links { margin-bottom:0; }
.footer-mobile { display:none; }
.footer-hours { display:flex; align-items:center; }
.footer-hours .header-icon { margin-right:15px; color:white; }
.footer-hours p { font-size:.9em; font-weight:600; line-height:1.5; margin:0; }
.footer-social-title { margin-top:16px; }
.social-links { display:flex; gap:8px; list-style:none; padding:0 8px; margin:0 0 16px; }
.social-links a { width:55px; height:55px; display:grid; place-items:center; border:1px solid #ddd; border-radius:50%; background:white; color:#333; font-size:19.2px; }
.footer-copyright { border-top:1px solid #414750; padding:24px 0 48px; margin-inline:12px; text-align:center; }
.footer-copyright p { margin:0; color:white; font-size:.9em; }
@media(min-width:576px) { .container { max-width:540px; } }
@media(min-width:768px) { .container { max-width:720px; } }
@media(min-width:992px) { .container { max-width:960px; } }
@media(min-width:1200px) { .container { max-width:1140px; } }
@media(max-width:991.98px) {
  #header { height:121px; }
  .header-nav-bar { border-top:0; min-height:10px; }
  .header-phone { display:none; }
  .header-btn-collapse-nav { display:block; }
  .header-actions { gap:15px; }
  #navigation-principale { display:none; padding:20px 15px 26px; max-height:calc(100dvh - 110px); overflow-y:auto; }
  #navigation-principale.show { display:block; }
  #mainNav { display:block; height:auto; }
  #mainNav a { height:auto; min-height:37px; padding:8px; border-bottom:1px solid #e8e8e8; font-size:13px; font-weight:700; line-height:20px; margin:0; color:#000; }
  #mainNav a[aria-current] { background:var(--beige); color:#777; border-radius:0; }
  .footer-grid { grid-template-columns:1fr 1fr; row-gap:16px; }
  .footer-grid > :last-child { margin-bottom:48px; }
}
@media(max-width:767.98px) {
  .header-top { display:flex; justify-content:space-between; }
  .header-hours { display:none; }
  .footer-grid { grid-template-columns:1fr; }
}
@media(min-width:576px) and (max-width:991.98px) { .footer-grid { padding-bottom:40px; } }
@media(max-width:575.98px) {
  body { font-size:13px; }
  .logo-footer { width:112px; height:47px; }
  .footer-mobile { display:block; margin-inline:-12px; }
  .footer-grid > :last-child { margin-bottom:48px; }
}
/* Footer mobile : alignement commun, rubriques lisibles et cibles tactiles. */
@media(max-width:767.98px) {
  #footer > .container { padding-inline:24px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; margin:0; padding:32px 0 28px; }
  .footer-grid > div { min-width:0; padding:0; }
  .footer-grid > :first-child { padding-bottom:24px; border-bottom:1px solid #535b66; }
  .footer-grid > :last-child { margin-bottom:0; }
  .logo-footer { width:144px; height:auto; }
  .footer-heading { margin:0 0 16px; color:var(--beige); font-size:12px; line-height:20px; font-weight:600; letter-spacing:.08em; }
  .footer-list { margin:0; color:#e1e3e6; font-size:14px; line-height:24px; }
  .footer-list a { color:inherit; }
  .footer-information li { margin:0 0 16px; padding:0; line-height:24px; }
  .footer-information li:last-child { margin-bottom:0; }
  .footer-label { color:#bfc5cd; font-size:12px; line-height:20px; margin-bottom:2px; text-transform:none; }
  .footer-information a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; overflow-wrap:anywhere; }
  .footer-links { display:grid; grid-template-columns:1fr 1fr; column-gap:16px; }
  .footer-links li:nth-child(3) { grid-column:1 / -1; }
  .footer-links a { display:flex; align-items:center; min-height:44px; padding-block:8px; line-height:22px; }
  .footer-mobile { display:block; margin:0; padding-top:24px; border-top:1px solid #535b66; }
  .footer-hours { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; color:#e1e3e6; }
  .footer-hours .header-icon { width:24px; height:24px; margin:0; font-size:23px; color:var(--beige); }
  .footer-hours p { font-size:12px; font-weight:400; line-height:24px; }
  .footer-social-title { margin-top:24px; margin-bottom:12px; }
  #footer .social-links { padding:0; margin:0; gap:12px; }
  #footer .social-links a { width:48px; height:48px; background:transparent; border-color:#78818d; color:white; font-size:20px; }
  #footer a:focus-visible { outline-color:var(--beige); }
  .footer-copyright { margin:0; padding:20px 0 24px; border-color:#535b66; }
  .footer-copyright p { color:#bfc5cd; font-size:12px; line-height:20px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; scroll-behavior:auto !important; } }
