/* Ma Guinguette 1.6.15 — styles limités à la page Les autres thèmes. */
body.mg-themes-page { background: #fff; }
body.mg-themes-page section#sp-hero { display: none !important; }
body.mg-themes-page #sp-main-body { padding-top: 0; padding-bottom: 48px; }
body.mg-themes-page #sp-main-body > .container { max-width: 1320px; }
.mgt, .mgt * { box-sizing: border-box; }
.mgt { --mgt-ink: #101f2a; --mgt-gold: #f4c542; --mgt-muted: #54626a; color: var(--mgt-ink); }
.mgt p { margin: 0; }
.mgt a { color: inherit; }
.mgt h1, .mgt h2, .mgt h3 { color: inherit; margin: 0; }
.mgt button, .mgt a { -webkit-tap-highlight-color: transparent; }
.mgt button:focus-visible, .mgt a:focus-visible, .mgt summary:focus-visible { outline: 3px solid #a97600; outline-offset: 5px; }
.mgt-shell { max-width: 1280px; margin-inline: auto; padding-inline: 30px; }
.mgt-kicker { font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mgt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 13px 22px; border-radius: 8px; font-size: 14px; line-height: 1.4; font-weight: 800; text-decoration: none !important; }
.mgt .mgt-btn-gold { background: var(--mgt-gold); color: #17202b; border: 1px solid var(--mgt-gold); }
.mgt .mgt-btn-gold:hover { color: #17202b; background: #ffda6d; transform: translateY(-2px); }
.mgt .mgt-btn-outline { color: #fff; border: 1px solid #ffffff70; background: #07162e30; }
.mgt .mgt-btn-outline:hover { background: #ffffff20; color: #fff; }
.mgt-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.mgt-hero { position: relative; isolation: isolate; min-height: 530px; background: #0d1928; color: white; overflow: hidden; }
.mgt-hero-media { position: absolute; inset: 0; z-index: -2; }
.mgt-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; margin: 0; }
.mgt-slide.is-active { opacity: 1; visibility: visible; }
.mgt-slide picture, .mgt-slide img { display: block; width: 100%; height: 100%; }
.mgt-slide img { object-fit: cover; object-position: center; }
.mgt-slide::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(6,14,25,.92),rgba(6,14,25,.62) 42%,rgba(6,14,25,.08) 80%),linear-gradient(0deg,rgba(6,14,25,.4),transparent 50%); }
.mgt-hero-copy { padding-block: 72px 98px; }
.mgt-hero-copy .mgt-kicker { color: #f9d564; margin-bottom: 22px; }
.mgt-hero h1 { max-width: 710px; color: #fff; font-size: clamp(42px,4.7vw,66px); line-height: 1.04; letter-spacing: -.05em; }
.mgt-hero h1 span { display: block; color: #f9d564; }
.mgt-hero-lead { max-width: 560px; padding-top: 22px; font-size: 17px; line-height: 1.7; color: #f2f0eb; }
.mgt-controls { position: absolute; left: max(30px,calc((100% - 1220px)/2)); bottom: 28px; display: flex; align-items: center; gap: 12px; }
.mgt-controls[hidden] { display: none; }
.mgt-control { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 38px; height: 38px; padding: 0; border: 1px solid #ffffff60; border-radius: 50%; background: #0d192870; color: white; cursor: pointer; font-size: 24px; line-height: 1; }
.mgt-control:hover { background: #fff; color: #132333; }
.mgt-pause { width: auto; min-width: 70px; padding: 0 12px; border-radius: 24px; font-size: 11px; font-weight: 700; }
.mgt-dots { display: flex; align-items: center; gap: 9px; }
.mgt-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 10px; background: #ffffff65; cursor: pointer; position: relative; }
.mgt-dot::before { content: ''; position: absolute; inset: -10px -4px; }
.mgt-dot[aria-current=true] { width: 24px; background: #f4c542; }
.mgt-caption { position: absolute; right: max(30px,calc((100% - 1220px)/2)); bottom: 34px; color: #fff; font-size: 12px; padding: 6px 12px; border-radius: 20px; background: #0918289c; }
.mgt-benefits { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; padding-block: 25px; border-bottom: 1px solid #e9e6dd; }
.mgt-benefit { padding: 3px 22px; border-right: 1px solid #e5e0d3; font-size: 12px; color: var(--mgt-muted); line-height: 1.5; }
.mgt-benefit:first-child { padding-left: 0; }
.mgt-benefit:last-child { border: 0; }
.mgt-benefit strong { display: block; color: var(--mgt-ink); font-size: 14px; margin-bottom: 4px; }
.mgt-intro { padding: 64px 0 48px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 70px; align-items: start; }
.mgt-intro .mgt-kicker, .mgt-section-head .mgt-kicker { margin-bottom: 15px; color: #786024; }
.mgt h2 { font-size: clamp(28px,3vw,41px); letter-spacing: -.04em; line-height: 1.13; }
.mgt-intro h2 { max-width: 440px; }
.mgt-intro-text { font-size: 15px; line-height: 1.85; color: var(--mgt-muted); }
.mgt-intro-text p + p { margin-top: 14px; }
.mgt-intro-text strong { color: var(--mgt-ink); }
.mgt-palette { display: flex; gap: 9px; margin-top: 24px; }
.mgt-palette span { display: block; width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1px #00000012; background: var(--color); }
.mgt-products { padding-block: 18px 32px; scroll-margin-top: 110px; }
.mgt-section-head { margin-bottom: 25px; }
.mgt-section-head > p:last-child { margin-top: 12px; max-width: 700px; font-size: 15px; color: var(--mgt-muted); line-height: 1.75; }
/* The original HikaShop module, links, prices, options and forms stay intact. */
.mgt-products .article-details { padding: 0; }
.mgt-products .article-header, .mgt-products .article-ratings-social-share { display: none; }
.mgt-products .article-can-edit:empty { display: none; }
.mgt-delivery { background: #f8f5ed; border: 1px solid #ece6d9; border-radius: 18px; padding: 38px; display: grid; grid-template-columns: 1.1fr 1fr; gap: 45px; align-items: start; margin: 24px 0 60px; }
.mgt-delivery .mgt-kicker { margin-bottom: 15px; color: #786024; }
.mgt-delivery h2 { font-size: clamp(27px,2.6vw,36px); margin-bottom: 18px; }
.mgt-delivery p { font-size: 15px; line-height: 1.8; color: var(--mgt-muted); }
.mgt-carriers { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.mgt-carriers span { display: inline-block; padding: 7px 12px; border-radius: 6px; border: 1px solid #ded6c5; background: #fff; font-size: 12px; font-weight: 800; }
.mgt-pickup { border-left: 1px solid #ded6c5; padding-left: 38px; }
.mgt-pickup h3 { font-size: 23px; margin: 4px 0 14px; }
.mgt .mgt-text-link { display: inline-block; margin-top: 20px; color: #192737; text-decoration: underline; text-underline-offset: 5px; font-size: 14px; font-weight: 800; }
.mgt-gallery { padding-bottom: 54px; }
.mgt-gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.mgt-photo { display: block; overflow: hidden; border-radius: 12px; text-decoration: none !important; background: #f7f5f0; border: 1px solid #eeeae1; }
.mgt-photo picture { display: block; aspect-ratio: 4/3; overflow: hidden; background: #e9e3d8; }
.mgt-photo img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.mgt-photo:hover img { transform: scale(1.045); }
.mgt-photo span { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; color: #192737; font-size: 13px; font-weight: 800; }
.mgt-photo span::after { content: '↗'; font-size: 18px; font-weight: 400; }
.mgt-photo--portrait picture { background: #180c20; }
.mgt-photo--portrait img { object-fit: contain; }
.mgt-gallery-more { margin-top: 24px; }
.mgt-gallery-more summary { width: fit-content; margin: 0 auto; cursor: pointer; padding: 10px 20px; border: 1px solid #d8d5cd; border-radius: 8px; font-size: 13px; font-weight: 800; }
.mgt-gallery-more[open] summary { margin-bottom: 24px; }
.mgt-cta { padding: 36px 38px; background: #101f30; border-radius: 16px; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.mgt-cta h2 { font-size: clamp(26px,2.8vw,36px); color: #fff; }
.mgt-cta p { margin-top: 12px; color: #dce3e9; font-size: 14px; line-height: 1.7; max-width: 660px; }
.mgt-cta .mgt-btn { flex-shrink: 0; }
.mgt-lightbox { max-width: min(1120px,94vw); max-height: 94dvh; width: 1120px; padding: 48px 54px 18px; border: 0; border-radius: 14px; background: #0c1522; color: #fff; }
.mgt-lightbox::backdrop { background: #040b16df; }
.mgt-lightbox:not([open]) { display: none; }
.mgt-lightbox img { display: block; margin-inline: auto; max-width: 100%; max-height: 73dvh; width: auto; height: auto; object-fit: contain; }
.mgt-lightbox p { text-align: center; margin: 15px 0 0; color: white; font-size: 14px; }
.mgt-close { position: absolute; right: 10px; top: 6px; }
.mgt-prev-photo, .mgt-next-photo { position: absolute; top: calc(50% - 19px); }
.mgt-prev-photo { left: 8px; } .mgt-next-photo { right: 8px; }
.mgt-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 991px) {
 .mgt-intro { gap: 34px; }
 .mgt-delivery { padding: 28px; gap: 28px; }
 .mgt-pickup { padding-left: 28px; }
 .mgt-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .mgt-benefit { padding-inline: 15px; }
 .mgt-cta { align-items: flex-start; flex-direction: column; gap: 20px; }
}
@media (max-width: 600px) {
 .mgt-shell { padding-inline: 20px; }
 .mgt-hero { padding-top: 240px; min-height: 0; }
 .mgt-hero-media { bottom: auto; height: 240px; }
 .mgt-slide::after { background: linear-gradient(0deg,#0d1928,transparent 55%); }
 .mgt-hero-copy { padding-block: 18px 82px; }
 .mgt-hero h1 { font-size: 42px; }
 .mgt-hero-copy .mgt-kicker { margin-bottom: 16px; font-size: 10px; }
 .mgt-hero-lead { font-size: 15px; padding-top: 18px; }
 .mgt-actions { margin-top: 24px; gap: 10px; }
 .mgt-btn { padding-inline: 15px; font-size: 13px; }
 .mgt-controls { bottom: 24px; left: 20px; gap: 11px; }
 .mgt-caption { bottom: auto; top: 198px; right: 16px; font-size: 10px; }
 .mgt-benefits { grid-template-columns: 1fr 1fr; gap: 20px 0; padding-block: 25px; }
 .mgt-benefit { padding: 0 12px; font-size: 11px; }
 .mgt-benefit:nth-child(odd) { padding-left: 0; }
 .mgt-benefit:nth-child(even) { border: 0; }
 .mgt-benefit strong { font-size: 13px; }
 .mgt-intro { padding-block: 42px 25px; grid-template-columns: 1fr; gap: 23px; }
 .mgt-intro h2 { max-width: 360px; }
 .mgt-intro-text { font-size: 14px; }
 .mgt-palette { margin-top: 18px; }
 .mgt-products { padding-block: 15px 10px; }
 .mgt-delivery { grid-template-columns: 1fr; padding: 24px 20px; gap: 25px; margin-block: 25px 40px; }
 .mgt-pickup { border: 0; border-top: 1px solid #ded6c5; padding: 24px 0 0; }
 .mgt-delivery p { font-size: 14px; }
 .mgt-gallery-grid { gap: 12px; }
 .mgt-photo span { padding: 10px; font-size: 11px; }
 .mgt-gallery { padding-bottom: 38px; }
 .mgt-cta { padding: 28px 22px; }
 .mgt-lightbox { padding: 45px 36px 15px; width: 96vw; max-width: 96vw; }
 .mgt-lightbox .mgt-control { width: 30px; height: 34px; }
 .mgt-prev-photo { left: 3px; } .mgt-next-photo { right: 3px; }
}
@media (prefers-reduced-motion: reduce) {
 .mgt *, .mgt *::before, .mgt *::after { transition: none !important; scroll-behavior: auto !important; }
 .mgt-photo:hover img { transform: none; }
}
