.mg-site{
  --ink:#080909; --cream:#f7f4ee; --gold:#c99a35; --gold-light:#e6be66;
  --mg-green:#7fa313; --mg-lime:#c6d93a; --mg-gold:#aebe24;
  --mg-gradient:linear-gradient(135deg,#8eae18 0%,#c9d83c 48%,#d2a642 100%);
  --mg-border-gradient:linear-gradient(105deg,#6f9411 0%,#aeca2b 68%,#c2a13c 100%);
  --line:rgba(174,184,44,.38); --muted:#6e6a62;
  margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}
.mg-site *{ box-sizing:border-box; }
.mg-site :where(a){ color:inherit; text-decoration:none; }
.mg-site :where(img){ display:block; width:100%; }
.mg-site :where(h1,h2,h3,p){ margin-top:0; }
.mg-site :where(h1,h2){ font-family:Georgia,"Times New Roman",serif; font-weight:400; }
html{ scroll-behavior:smooth; }
.mg-site{
  --ink:#080909; --cream:#f7f4ee; --gold:#c99a35; --gold-light:#e6be66;
  --mg-green:#7fa313; --mg-lime:#c6d93a; --mg-gold:#aebe24;
  --mg-gradient:linear-gradient(135deg,#8eae18 0%,#c9d83c 48%,#d2a642 100%);
  --mg-border-gradient:linear-gradient(105deg,#6f9411 0%,#aeca2b 68%,#c2a13c 100%);
  --line:rgba(174,184,44,.38); --muted:#6e6a62;
  margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif;
  overflow-x:hidden;
}
.mg-site *{ box-sizing:border-box; }
.mg-site :where(a){ color:inherit; text-decoration:none; }
.mg-site :where(img){ display:block; width:100%; }
.mg-site :where(h1,h2,h3,p){ margin-top:0; }
.mg-site :where(h1,h2){ font-family:Georgia,"Times New Roman",serif; font-weight:400; }
html{ scroll-behavior:smooth; }
.mg-site .site-header { height:86px; padding:0 4.5vw; display:flex; align-items:center; position:absolute; inset:0 0 auto; z-index:30; color:white; border-bottom:1px solid rgba(255,255,255,.18); background:linear-gradient(180deg,rgba(0,0,0,.72),transparent); }
.mg-site .brand { width:166px; flex:0 0 auto; }
.mg-site .brand img { height:70px; object-fit:contain; object-position:left center; filter:drop-shadow(0 2px 5px rgba(0,0,0,.95)) drop-shadow(0 0 12px rgba(0,0,0,.5)); }
.mg-site .nav { display:flex; align-items:center; justify-content:center; gap:26px; margin:auto; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.mg-site .nav a { padding:34px 0 31px; border-bottom:2px solid transparent; transition:.25s; }
.mg-site .nav a:hover { color:var(--gold-light); border-color:var(--gold); }
.mg-site .header-actions { display:flex; align-items:center; gap:22px; }
.mg-site .phone { font-size:13px; font-weight:700; white-space:nowrap; }
.mg-site .phone:before { content:"☎"; color:var(--gold-light); margin-right:8px; }
.mg-site .phone-symbol { color:var(--mg-lime); font-family:Arial,Helvetica,sans-serif; font-style:normal; text-shadow:0 0 12px rgba(174,184,44,.35); }
.mg-site .button { display:inline-flex; align-items:center; justify-content:center; gap:30px; min-height:52px; padding:0 28px; text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:800; border:1px solid var(--mg-gold); transition:.25s; cursor:pointer; }
.mg-site .button:hover { transform:translateY(-2px); filter:brightness(1.08); }
.mg-site .button-gold { color:#111; background:var(--mg-gradient); border-color:var(--mg-gold); box-shadow:0 10px 30px rgba(127,163,19,.22); }
.mg-site .button-gold:hover { box-shadow:0 12px 34px rgba(174,184,44,.35); border-color:var(--mg-lime); }
.mg-site .button-outline { color:#fff; border-color:rgba(255,255,255,.55); background:rgba(0,0,0,.2); }
.mg-site .button.small { min-height:42px; padding:0 18px; font-size:9px; }
.mg-site .menu-button { display:none; background:none; border:0; padding:8px; }
.mg-site .menu-button span { width:25px; height:2px; background:#fff; display:block; margin:5px; }
.mg-site .hero { min-height:760px; height:100vh; max-height:980px; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:white; background:#080909; }
.mg-site .hero-slides { position:absolute; inset:0; }
.mg-site .hero-image { position:absolute; inset:0; height:100%; object-fit:cover; object-position:center; opacity:0; transform:scale(1.06); transition:opacity 1.1s ease,transform 6s ease; }
.mg-site .hero-image.active { opacity:1; transform:scale(1); }
.mg-site .hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.14) 48%,rgba(0,0,0,.03) 74%),linear-gradient(0deg,rgba(0,0,0,.55) 0%,transparent 44%); }
.mg-site .hero-content { position:relative; z-index:2; width:min(760px,88vw); margin-left:6vw; padding:0 0 105px; }
.mg-site .eyebrow { margin-bottom:18px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:800; }
.mg-site .eyebrow.gold { color:#a87b22; }
.mg-site .hero h1 { margin:0 0 20px; font-size:clamp(52px,6vw,88px); line-height:.94; letter-spacing:-.025em; text-transform:uppercase; text-shadow:0 4px 28px rgba(0,0,0,.38); }
.mg-site .hero h1 em { color:var(--gold-light); font-weight:400; font-style:normal; }
.mg-site .hero-copy { width:min(560px,90%); font-size:17px; line-height:1.7; color:rgba(255,255,255,.8); }
.mg-site .hero-buttons { display:flex; flex-wrap:wrap; gap:14px; margin-top:35px; }
.mg-site .hero .hero-buttons .button { color:#fff; background:rgba(0,0,0,.14); border-color:var(--mg-gold); box-shadow:0 0 0 1px rgba(198,217,58,.08),0 8px 26px rgba(0,0,0,.16); backdrop-filter:blur(3px); text-shadow:0 1px 10px rgba(0,0,0,.9); }
.mg-site .hero .hero-buttons .button-outline { border-color:rgba(255,255,255,.72); }
.mg-site .slider-arrow { position:absolute; z-index:5; top:50%; transform:translateY(-50%); width:54px; height:54px; border:1px solid rgba(255,255,255,.6); border-radius:50%; color:#fff; background:rgba(0,0,0,.28); font:40px/1 Georgia,serif; cursor:pointer; backdrop-filter:blur(4px); transition:.25s; }
.mg-site .slider-arrow:hover { background:#080909; border-color:var(--gold-light); color:var(--gold-light); }
.mg-site .slider-prev { left:24px; }
.mg-site .slider-next { right:24px; }
.mg-site .slider-dots { position:absolute; z-index:5; bottom:40px; right:6vw; display:flex; align-items:center; gap:10px; }
.mg-site .slider-dots button { width:34px; height:3px; border:0; padding:0; background:rgba(255,255,255,.52); cursor:pointer; transition:.3s; }
.mg-site .slider-dots button.active { width:58px; background:linear-gradient(90deg,#fff,var(--gold-light),var(--gold)); }
.mg-site .trust-strip { background:#090a0a; color:white; display:grid; grid-template-columns:repeat(4,1fr); padding:25px 4vw; border-bottom:1px solid var(--line); }
.mg-site .trust-strip article { display:flex; gap:16px; align-items:center; padding:8px 25px; border-right:1px solid var(--line); }
.mg-site .trust-strip article:last-child { border:0; }
.mg-site .trust-strip b { color:var(--gold-light); font-size:30px; font-weight:400; }
.mg-site .trust-strip h3 { margin:0 0 5px; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }
.mg-site .trust-strip p { margin:0; color:#aaa; font-size:10px; }
.mg-site .section { padding:105px 5.5vw; }
.mg-site .section-heading { text-align:center; max-width:720px; margin:0 auto 50px; }
.mg-site .section-heading h2, .mg-site .split-heading h2, .mg-site .story h2, .mg-site .service-area h2, .mg-site .quote-section h2 { font-size:clamp(38px,4.5vw,65px); line-height:1.05; margin-bottom:16px; }
.mg-site .section-heading>p:last-child, .mg-site .split-heading>p { color:var(--muted); line-height:1.7; }
.mg-site .material-section { background:#fbfaf7; }
.mg-site .material-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; max-width:1500px; margin:auto; }
.mg-site .material-card { min-height:410px; position:relative; overflow:hidden; color:#fff; }
.mg-site .material-card img { position:absolute; height:100%; object-fit:cover; transition:.6s; }
.mg-site .material-card:hover img { transform:scale(1.06); }
.mg-site .material-card:hover { outline:2px solid var(--gold-light); outline-offset:-2px; }
.mg-site .card-gradient { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.92),rgba(0,0,0,.05) 66%); }
.mg-site .material-label { position:absolute; inset:auto 22px 25px; text-align:center; }
.mg-site .material-label span { font-size:28px; color:var(--gold-light); }
.mg-site .material-label h3 { margin:9px 0 5px; text-transform:uppercase; font-size:15px; }
.mg-site .material-label p { color:#ccc; font-size:11px; }
.mg-site .material-label i { color:var(--gold-light); font-size:10px; font-style:normal; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .tents-section { background:#fff; }
.mg-site .split-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:45px; }
.mg-site .split-heading h2 { margin:0; }
.mg-site .split-heading>p { max-width:480px; margin:0 0 7px; }
.mg-site .tents-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mg-site .tent-card { border:1px solid #e3ded3; background:#fff; transition:.3s; }
.mg-site .tent-card:hover { box-shadow:0 22px 55px rgba(22,18,9,.12); transform:translateY(-5px); }
.mg-site .tent-photo { height:290px; position:relative; overflow:hidden; }
.mg-site .tent-photo img { height:100%; object-fit:cover; }
.mg-site .tent-photo span { position:absolute; top:16px; left:16px; background:#090909; color:#fff; width:72px; height:72px; display:grid; place-items:center; border-radius:50%; font:18px Georgia,serif; }
.mg-site .tent-body { padding:28px; }
.mg-site .capacity { color:#9a7226; text-transform:uppercase; letter-spacing:.08em; font-size:9px; font-weight:bold; }
.mg-site .tent-body h3 { font:30px Georgia,serif; margin-bottom:12px; }
.mg-site .tent-body>p:not(.capacity) { color:#68645d; line-height:1.65; min-height:52px; font-size:14px; }
.mg-site .prices { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #e6e0d4; border-bottom:1px solid #e6e0d4; margin:20px 0; }
.mg-site .prices div { padding:16px 12px 16px 0; }
.mg-site .prices div+div { border-left:1px solid #e6e0d4; padding-left:18px; }
.mg-site .prices small { display:block; color:#7d776d; font-size:9px; text-transform:uppercase; margin-bottom:4px; }
.mg-site .prices strong { font:26px Georgia,serif; }
.mg-site .tent-body button { border:0; background:none; text-transform:uppercase; letter-spacing:.1em; padding:4px 0; font-size:10px; font-weight:bold; color:#9b7226; cursor:pointer; }
.mg-site .tent-body button span { margin-left:15px; }
.mg-site .pricing-note { text-align:center; color:#777167; margin:28px 0 0; font-size:12px; }
.mg-site .barnum-teaser { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; background:#fff; }
.mg-site .barnum-teaser>img { height:430px; object-fit:cover; }
.mg-site .barnum-teaser>div { padding:50px 8vw; }
.mg-site .barnum-teaser h2 { font:clamp(38px,4vw,62px)/1.05 Georgia,serif; margin-bottom:18px; }
.mg-site .barnum-teaser>div>p:not(.eyebrow) { color:#69645c; line-height:1.75; margin-bottom:26px; }
.mg-site .packs-section { padding:100px 4vw; background:#090a0a; color:#fff; }
.mg-site .section-heading.light>p:last-child { color:#aaa; }
.mg-site .packs-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:24px; max-width:1480px; margin:0 auto; }
.mg-site .pack-card { grid-column:span 2; min-height:610px; position:relative; overflow:hidden; display:flex; flex-direction:column; background:#111; border:1px solid #2c2a24; }
.mg-site .pack-card:nth-child(4) { grid-column:2 / span 2; }
.mg-site .pack-card:nth-child(5) { grid-column:4 / span 2; }
.mg-site .pack-card img { height:440px; flex:0 0 440px; object-fit:cover; object-position:center; image-rendering:auto; }
.mg-site .pack-card>.card-gradient { display:none; }
.mg-site .pack-card>div:last-child { position:static; padding:22px 20px 24px; background:#111; flex:1; border-top:2px solid var(--gold); }
.mg-site .pack-card p { color:var(--gold-light); text-transform:uppercase; font-size:8px; letter-spacing:.15em; margin-bottom:7px; }
.mg-site .pack-card h3 { font:27px Georgia,serif; margin-bottom:9px; }
.mg-site .pack-card span { display:block; min-height:42px; font-size:11px; color:#d0d0d0; line-height:1.5; }
.mg-site .pack-card b { display:block; margin-top:13px; color:var(--gold-light); font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .packs-page { background:#f7f4ee; }
.mg-site .packs-page-hero { height:560px; position:relative; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.mg-site .packs-page-hero>img { position:absolute; inset:0; height:100%; object-fit:cover; }
.mg-site .packs-page-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.18)); }
.mg-site .packs-page-hero>div { position:relative; z-index:1; max-width:760px; padding:70px 7vw; }
.mg-site .packs-page-hero h1 { margin:0 0 14px; font:clamp(62px,8vw,112px)/.9 Georgia,serif; text-transform:uppercase; }
.mg-site .packs-page-hero>div>p:last-child { max-width:590px; color:#e5e1d8; line-height:1.7; }
.mg-site .pack-jump { position:sticky; top:0; z-index:20; display:flex; justify-content:center; gap:9px; padding:15px 4vw; background:#090a0a; overflow-x:auto; }
.mg-site .pack-jump a { flex:0 0 auto; padding:10px 15px; border:1px solid #3a3428; color:var(--gold-light); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .pack-detail-list { padding:85px 5vw; }
.mg-site .pack-detail { max-width:1320px; margin:0 auto 75px; display:grid; grid-template-columns:1fr 1fr; background:#fff; box-shadow:0 24px 65px rgba(31,25,15,.09); scroll-margin-top:72px; }
.mg-site .pack-detail.reverse .pack-detail-image { order:2; }
.mg-site .pack-detail-image { min-height:670px; }
.mg-site .pack-detail-image img { height:100%; object-fit:cover; }
.mg-site .pack-detail-copy { padding:55px 55px 48px; }
.mg-site .pack-detail-copy h2 { margin:0 0 18px; font:clamp(42px,4vw,64px)/1 Georgia,serif; }
.mg-site .pack-lead { color:#5f5a52; font-size:14px; line-height:1.75; }
.mg-site .pack-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:28px 0; }
.mg-site .pack-columns h3 { margin:0 0 12px; color:#8c661d; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .pack-columns ul { list-style:none; margin:0; padding:0; }
.mg-site .pack-columns li { padding:8px 0; border-bottom:1px solid #ece7de; color:#4f4b45; font-size:11px; line-height:1.45; }
.mg-site .pack-columns li:before { content:"✓"; margin-right:8px; color:var(--mg-green); font-weight:bold; }
.mg-site .pack-personalise { padding:16px; border-left:3px solid var(--mg-green); background:#f6f8ed; color:#565249; font-size:12px; line-height:1.6; }
.mg-site .pack-personalise b { display:block; color:#20221b; }
.mg-site .pack-seo { color:#858078; font-size:10px; line-height:1.6; }
.mg-site .pack-detail-copy .button { margin-top:12px; }
.mg-site .pack-help { padding:90px 20px; text-align:center; background:#fff; }
.mg-site .pack-help h2 { max-width:850px; margin:0 auto 18px; font:clamp(40px,5vw,70px)/1 Georgia,serif; }
.mg-site .pack-help>p:not(.eyebrow) { max-width:690px; margin:0 auto 28px; color:#68635b; line-height:1.75; }
.mg-site .hero-mobile-actions { display:none; }
.mg-site .story { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:8vw; background:#f7f4ee; }
.mg-site .story-image { position:relative; }
.mg-site .story-image img { height:650px; object-fit:cover; object-position:center center; }
.mg-site .experience { position:absolute; right:-45px; bottom:40px; background:#090909; color:white; width:190px; height:190px; border:1px solid var(--gold); display:grid; place-content:center; text-align:center; }
.mg-site .experience strong { font:52px Georgia,serif; color:var(--gold-light); }
.mg-site .experience span { font-size:10px; text-transform:uppercase; line-height:1.4; }
.mg-site .story-copy>p:not(.eyebrow) { color:#645f57; line-height:1.8; }
.mg-site .story-copy ul { list-style:none; padding:0; margin:25px 0; }
.mg-site .story-copy li { border-top:1px solid #ddd5c6; padding:13px 0; font-size:13px; }
.mg-site .story-copy li:before { content:"✓"; color:#a77b24; margin-right:12px; }
.mg-site .text-link { color:#8f681c; font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:bold; border-bottom:1px solid var(--gold); padding-bottom:6px; }
.mg-site .process { padding:100px 6vw; background:#fff; }
.mg-site .process-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1200px; margin:auto; }
.mg-site .process-grid article { text-align:center; padding:25px 50px; border-right:1px solid #e5dfd4; }
.mg-site .process-grid article:last-child { border:0; }
.mg-site .process-grid span { color:#d0a84d; font:48px Georgia,serif; }
.mg-site .process-grid h3 { font:23px Georgia,serif; margin:15px 0 12px; }
.mg-site .process-grid p { font-size:13px; line-height:1.7; color:#706b62; }
.mg-site .gallery { background:#f7f4ee; }
.mg-site .gallery-slider { height:min(72vh,760px); min-height:560px; position:relative; overflow:hidden; background:#090a0a; box-shadow:0 28px 70px rgba(20,25,9,.18); }
.mg-site .gallery-main-link { display:block; width:100%; height:100%; }
.mg-site .gallery-main-link img { height:100%; object-fit:cover; object-position:center; animation:galleryReveal .55s ease; transition:transform .5s ease; }
.mg-site .gallery-main-link:hover img { transform:scale(1.018); }
.mg-site .gallery-slider:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.82)); pointer-events:none; }
.mg-site .gallery-caption { position:absolute; z-index:3; left:6%; bottom:55px; color:#fff; }
.mg-site .gallery-caption p { color:var(--gold-light); text-transform:uppercase; letter-spacing:.2em; font-size:10px; font-weight:800; }
.mg-site .gallery-caption h3 { font:clamp(34px,4vw,66px)/1 Georgia,serif; margin:0; text-transform:uppercase; }
.mg-site .gallery-caption>a { display:inline-flex; align-items:center; min-height:44px; margin-top:18px; padding:0 18px; color:#fff; border:2px solid transparent; border-image:var(--mg-border-gradient) 1; background:rgba(0,0,0,.2); backdrop-filter:blur(4px); font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.mg-site .gallery-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:10px; }
.mg-site .gallery-thumbs a { border:0; padding:0; height:140px; position:relative; overflow:hidden; background:#111; color:#fff; cursor:pointer; opacity:.78; transition:.25s; }
.mg-site .gallery-thumbs a:hover, .mg-site .gallery-thumbs a.active { opacity:1; outline:3px solid var(--gold-light); outline-offset:-3px; }
.mg-site .gallery-thumbs img { height:100%; object-fit:cover; }
.mg-site .gallery-thumbs span { position:absolute; inset:auto 8px 8px; font-size:9px; text-transform:uppercase; text-shadow:0 2px 6px #000; }
@keyframes galleryReveal {
from  { opacity:.35; transform:scale(1.025) }
to  { opacity:1; transform:scale(1) }
}
.mg-site .reviews { display:grid; grid-template-columns:.8fr 1.5fr 1fr; gap:5vw; align-items:center; padding:90px 6vw; background:#090a0a; color:#fff; }
.mg-site .review-score span { display:block; color:var(--gold-light); letter-spacing:.16em; }
.mg-site .review-score strong { display:block; font:64px Georgia,serif; margin:10px 0; }
.mg-site .review-score p { color:#aaa; font-size:12px; line-height:1.6; }
.mg-site .review-actions { display:grid; gap:8px; margin-top:22px; }
.mg-site .review-actions a { display:flex; align-items:center; justify-content:center; min-height:42px; padding:0 13px; border:1px solid var(--gold); color:var(--gold-light); font-size:9px; text-transform:uppercase; letter-spacing:.08em; font-weight:bold; transition:.2s; }
.mg-site .review-actions a:last-child { color:#101208; background:linear-gradient(135deg,var(--mg-lime),var(--gold-light)); border-color:var(--mg-lime); }
.mg-site .review-actions a:hover { transform:translateY(-2px); }
.mg-site .reviews blockquote { margin:0; font:italic 25px/1.6 Georgia,serif; padding:0 5vw; border-left:1px solid var(--gold); border-right:1px solid var(--gold); }
.mg-site .reviews blockquote footer { font:10px Arial,sans-serif; color:var(--gold-light); text-transform:uppercase; letter-spacing:.12em; margin-top:18px; }
.mg-site .stats { display:grid; gap:25px; }
.mg-site .stats div { display:flex; justify-content:space-between; align-items:baseline; border-bottom:1px solid #323232; padding-bottom:12px; }
.mg-site .stats strong { font:30px Georgia,serif; color:var(--gold-light); }
.mg-site .stats span { color:#aaa; font-size:10px; text-transform:uppercase; }
.mg-site .service-area { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; padding:100px 8vw; background:#fff; }
.mg-site .service-area>div:last-child>p:not(.eyebrow) { color:#676259; line-height:1.8; margin-bottom:30px; }
.mg-site .map-art { height:520px; position:relative; overflow:hidden; background:radial-gradient(circle at 48% 55%,rgba(203,158,60,.2),transparent 8%),repeating-radial-gradient(ellipse at 48% 55%,transparent 0 55px,rgba(201,154,53,.2) 56px 57px,transparent 58px 110px),linear-gradient(145deg,#efede7,#faf9f6); border:1px solid #e4ded2; }
.mg-site .map-art:before, .mg-site .map-art:after { content:""; position:absolute; width:150%; height:1px; background:#d8d2c7; transform:rotate(-28deg); top:40%; left:-20%; box-shadow:0 80px #d8d2c7,0 160px #d8d2c7; }
.mg-site .map-art:after { transform:rotate(35deg); top:48%; }
.mg-site .map-pin { position:absolute; z-index:2; left:calc(48% - 28px); top:calc(55% - 60px); width:58px; height:58px; color:#080808; background:var(--gold-light); border-radius:50% 50% 50% 0; transform:rotate(-45deg); display:grid; place-items:center; font:bold 15px Georgia; box-shadow:0 12px 28px rgba(0,0,0,.22); }
.mg-site .map-pin::first-letter { transform:rotate(45deg); }
.mg-site .city { position:absolute; z-index:3; font-size:10px; font-weight:bold; background:#fff; padding:6px 9px; box-shadow:0 4px 12px #bbb; }
.mg-site .c1 {left:20%;top:15%}
.mg-site .c2 {left:45%;top:42%}
.mg-site .c3 {left:38%;top:67%}
.mg-site .c4 {left:53%;top:78%}
.mg-site .c5 {left:73%;top:28%}
.mg-site .quote-section { display:grid; grid-template-columns:1fr 1.05fr; gap:7vw; padding:110px 8vw; background:#111; color:#fff; }
.mg-site .quote-intro>p:not(.eyebrow) { color:#aaa; line-height:1.8; max-width:560px; }
.mg-site .direct-contact { display:flex; gap:35px; margin-top:40px; }
.mg-site .direct-contact a { border-left:2px solid var(--gold); padding-left:15px; }
.mg-site .direct-contact small { display:block; color:#999; text-transform:uppercase; font-size:8px; letter-spacing:.15em; margin-bottom:5px; }
.mg-site .direct-contact strong { font:22px Georgia,serif; }
.mg-site .client-link { padding:9px 12px; border:1px solid rgba(230,190,102,.6); color:var(--gold-light); font-size:9px; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.mg-site .delivery-calculator { display:grid; grid-template-columns:.9fr 1.1fr; gap:8vw; align-items:center; padding:105px 8vw; background:#f7f4ee; }
.mg-site .delivery-copy h2, .mg-site .client-area-teaser h2 { font:clamp(42px,5vw,68px)/1.03 Georgia,serif; margin-bottom:20px; }
.mg-site .delivery-copy>p:not(.eyebrow) { color:#69645c; line-height:1.8; max-width:580px; }
.mg-site .delivery-benefits { display:grid; gap:12px; margin-top:28px; color:#8f681c; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:bold; }
.mg-site .delivery-box { padding:45px; background:#fff; border-top:4px solid var(--gold); box-shadow:0 24px 60px rgba(28,22,10,.12); }
.mg-site .delivery-box .button { width:100%; }
.mg-site .delivery-result { margin-top:22px; padding:24px; background:#0b0c0c; color:#fff; border-left:3px solid var(--gold); }
.mg-site .delivery-result small { display:block; color:var(--gold-light); text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.mg-site .delivery-result strong { display:block; font:45px Georgia,serif; margin:8px 0; }
.mg-site .delivery-result p { color:#ddd; margin-bottom:8px; }
.mg-site .delivery-result span { color:#8c8c8c; font-size:9px; line-height:1.5; display:block; }
.mg-site .calculator-groups { display:grid; gap:10px; margin:20px 0; }
.mg-site .calculator-group { border:1px solid #ddd5c7; background:#fff; overflow:hidden; }
.mg-site .calculator-group summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 16px; cursor:pointer; list-style:none; background:#fbfaf7; border-left:3px solid transparent; transition:.2s; }
.mg-site .calculator-group summary::-webkit-details-marker { display:none; }
.mg-site .calculator-group summary span b, .mg-site .calculator-group summary span small { display:block; }
.mg-site .calculator-group summary span b { font:21px Georgia,serif; }
.mg-site .calculator-group summary span small { margin-top:4px; color:#777; font-size:9px; }
.mg-site .calculator-group summary i { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border:1px solid #cbbf9f; border-radius:50%; color:var(--mg-green); font:22px/1 Arial,sans-serif; font-style:normal; transition:.25s; }
.mg-site .calculator-group[open] summary { border-left-color:var(--mg-green); background:#f5f7ec; }
.mg-site .calculator-group[open] summary i { transform:rotate(45deg); color:#111; background:var(--mg-lime); border-color:var(--mg-lime); }
.mg-site .calculator-head, .mg-site .calculator-row { display:grid; grid-template-columns:1fr 90px; align-items:center; gap:18px; padding:12px 14px; }
.mg-site .calculator-head { background:#0a0b0b; color:var(--gold-light); font-size:8px; text-transform:uppercase; letter-spacing:.12em; }
.mg-site .calculator-row { margin:0; border-bottom:1px solid #eee9df; text-transform:none; letter-spacing:0; }
.mg-site .calculator-row:last-child { border-bottom:0; }
.mg-site .calculator-row span b { display:block; font-size:11px; }
.mg-site .calculator-row span small { display:block; margin-top:4px; color:#8d681f; font-size:9px; }
.mg-site .calculator-row select { margin-top:9px; padding:8px 7px; border:1px solid #d6cebf; color:#4d4a43; font-size:10px; }
.mg-site .calculator-row input { border:1px solid #d6cebf; padding:10px; text-align:center; }
.mg-site .decoration-option { display:flex; align-items:flex-start; gap:12px; padding:15px; margin:0 0 13px; background:#fbfaf7; border:1px solid #e0d9cc; text-transform:none; letter-spacing:0; }
.mg-site .decoration-group { margin-bottom:13px; }
.mg-site .decoration-group .decoration-option { margin:0; border:0; border-top:1px solid #eee9df; }
.mg-site .decoration-option input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--mg-green); }
.mg-site .decoration-option b, .mg-site .decoration-option small { display:block; }
.mg-site .decoration-option b { font-size:11px; }
.mg-site .decoration-option small { margin-top:4px; color:#777; font-size:9px; line-height:1.5; }
.mg-site .known-delivery-rates { padding:13px; background:#f5f1e8; color:#6e665b; font-size:10px; line-height:1.6; }
.mg-site .loyalty-active, .mg-site .loyalty-invite { padding:13px; margin:0 0 15px; font-size:10px; line-height:1.6; }
.mg-site .loyalty-active { color:#314307; background:#f1f6df; border-left:3px solid var(--mg-green); font-weight:bold; }
.mg-site .loyalty-invite { color:#68635a; border:1px dashed #c8bfaf; }
.mg-site .loyalty-invite a { color:#698709; text-decoration:underline; font-weight:bold; }
.mg-site .result-lines { margin:18px 0; border-block:1px solid #333; }
.mg-site .result-lines p { display:flex; justify-content:space-between; align-items:center; margin:0; padding:11px 0; }
.mg-site .result-lines p+p { border-top:1px solid #282828; }
.mg-site .result-lines span { color:#aaa; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .result-lines b { color:#fff; }
.mg-site .result-lines .discount-line span, .mg-site .result-lines .discount-line b { color:var(--mg-lime); }
.mg-site .better-price { margin:20px 0 15px; padding:20px; background:#fff; color:#111; }
.mg-site .better-price>b { display:block; font:22px Georgia,serif; color:#111; }
.mg-site .better-price p { color:#645f57; font-size:11px; line-height:1.6; margin:8px 0 14px; }
.mg-site .better-price .button { min-height:46px; padding:0 14px; font-size:8px; }
.mg-site .selection-form { padding:0; margin-top:18px; }
.mg-site .selection-form label { color:#262626; }
.mg-site .selection-form textarea { min-height:75px; }
.mg-site .honey-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.mg-site .delivery-result em { display:block; color:#777; font-size:8px; line-height:1.5; font-style:normal; }
.mg-site .client-area-teaser { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; padding:105px 8vw; background:#0a0b0b; color:#fff; }
.mg-site .client-area-teaser>div:first-child>p:not(.eyebrow) { color:#aaa; line-height:1.8; max-width:600px; margin-bottom:30px; }
.mg-site .client-preview { padding:32px; background:#fff; color:#111; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.mg-site .preview-top { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:1px solid #e2ddd2; }
.mg-site .preview-top span { width:44px; height:44px; display:grid; place-items:center; background:#090909; color:var(--gold-light); font:20px Georgia,serif; }
.mg-site .preview-top b { font:25px Georgia,serif; }
.mg-site .client-preview article { margin:25px 0; padding:25px; background:#f5f1e8; border-left:3px solid var(--gold); }
.mg-site .client-preview article small { display:block; color:#966e21; font-size:8px; letter-spacing:.15em; margin-bottom:8px; }
.mg-site .client-preview article strong { display:block; font:25px Georgia,serif; margin-bottom:18px; }
.mg-site .client-preview article span { color:#8e671d; font-size:9px; text-transform:uppercase; font-weight:bold; }
.mg-site .preview-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.mg-site .preview-cards span { padding:17px 8px; border:1px solid #ddd5c6; text-align:center; font-size:9px; text-transform:uppercase; }
.mg-site .footer-contact { display:grid; gap:8px; text-align:right; }
.mg-site .footer-contact a:first-child { color:var(--gold-light); font:26px Georgia,serif; }
.mg-site .footer-contact a:last-child { color:#aaa; font-size:12px; }
.mg-site .client-page { min-height:100vh; background:#f6f3ed; }
.mg-site .client-login { min-height:calc(100vh - 86px); display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:9vw; padding:75px 9vw; background:linear-gradient(90deg,rgba(8,9,9,.97),rgba(8,9,9,.78)),url("https://mg-evenementiel.fr/wp-content/uploads/2026/08/E7E7AAE8-1D6D-4A40-B19B-EF31592B8609.webp") center/cover; color:#fff; }
.mg-site .login-intro h1 { font:clamp(55px,7vw,100px)/.95 Georgia,serif; text-transform:uppercase; margin-bottom:25px; }
.mg-site .login-intro>p:not(.eyebrow) { color:#c6c6c6; max-width:620px; line-height:1.8; }
.mg-site .login-features { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:32px; color:var(--gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .client-login form { padding:45px; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.mg-site .client-login form h2 { font:45px Georgia,serif; margin-bottom:28px; }
.mg-site .login-help { color:#777; text-align:center; font-size:11px; line-height:1.7; margin:20px 0; }
.mg-site .login-help a { color:#8d671f; text-decoration:underline; }
.mg-site .login-switch { padding:4px 0; border:0; background:none; color:#8d671f; font:inherit; font-weight:bold; text-decoration:underline; cursor:pointer; }
.mg-site .demo-note { display:block; padding:12px; background:#f4f0e7; color:#777; font-size:9px; line-height:1.5; }
.mg-site .account-pending { padding:45px; background:#fff; color:#111; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.mg-site .account-pending h2 { font:42px/1.05 Georgia,serif; margin-bottom:18px; }
.mg-site .account-pending>p:not(.eyebrow) { color:#68635b; line-height:1.7; }
.mg-site .pending-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:24px; border-radius:50%; color:#fff; background:linear-gradient(135deg,var(--mg-green),#b2c936); font-size:28px; }
.mg-site .approval-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:28px 0; }
.mg-site .approval-steps span { padding:14px 9px; background:#f5f1e8; color:#68635b; font-size:9px; text-transform:uppercase; }
.mg-site .approval-steps b { display:block; color:#956d21; font:24px Georgia,serif; }
.mg-site .account-pending .button-outline { color:#111; border-color:#aaa; margin-bottom:20px; }
.mg-site .client-dashboard { padding:75px 7vw 100px; }
.mg-site .dashboard-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:45px; }
.mg-site .dashboard-head h1 { font-size:clamp(45px,6vw,76px); margin-bottom:10px; }
.mg-site .dashboard-head>div>p:last-child { color:#777; }
.mg-site .dashboard-head .button-outline { color:#111; border-color:#999; }
.mg-site .dashboard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.mg-site .dashboard-grid article { padding:30px; background:#fff; border:1px solid #e0d9cc; }
.mg-site .dashboard-grid .main-status { grid-column:1/4; padding:40px; background:#0a0b0b; color:#fff; border-top:3px solid var(--gold); }
.mg-site .dashboard-grid .loyalty-card { grid-column:1/4; padding:38px; color:#fff; background:linear-gradient(135deg,#050606 0%,#13170c 62%,#20280d 100%); border:1px solid #a88332; border-radius:18px; box-shadow:0 25px 70px rgba(30,36,10,.18); position:relative; overflow:hidden; }
.mg-site .loyalty-card:after { content:"✦"; position:absolute; right:28px; top:88px; color:rgba(198,217,58,.22); font-size:100px; }
.mg-site .loyalty-card-top { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid rgba(230,190,102,.35); position:relative; z-index:1; }
.mg-site .loyalty-card-top small { display:block; color:var(--gold-light); letter-spacing:.18em; }
.mg-site .loyalty-card-top b { display:block; margin-top:7px; color:var(--mg-lime); font:25px Georgia,serif; }
.mg-site .loyalty-card-top>span { padding:9px 14px; color:#101208; background:linear-gradient(135deg,var(--mg-lime),var(--gold-light)); border-radius:20px; font-size:9px; text-transform:uppercase; font-weight:bold; }
.mg-site .loyalty-card h2 { margin:24px 0 10px; font-size:42px; text-transform:uppercase; position:relative; z-index:1; }
.mg-site .dashboard-grid .loyalty-card>p { color:#c9c9c2; max-width:800px; position:relative; z-index:1; }
.mg-site .loyalty-card>p strong { color:var(--mg-lime); }
.mg-site .loyalty-progress { display:flex; align-items:center; max-width:620px; margin:26px 0; position:relative; z-index:1; }
.mg-site .loyalty-progress span { width:43px; height:43px; display:grid; place-items:center; border:1px solid var(--gold); border-radius:50%; font:bold 12px Arial; }
.mg-site .loyalty-progress .done { color:#101208; background:var(--mg-lime); border-color:var(--mg-lime); }
.mg-site .loyalty-progress .reward { width:70px; height:70px; color:#111; background:linear-gradient(135deg,var(--gold-light),var(--mg-lime)); font-size:16px; }
.mg-site .loyalty-progress i { height:2px; flex:1; background:linear-gradient(90deg,var(--mg-green),var(--gold)); }
.mg-site .loyalty-benefits { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px; position:relative; z-index:1; }
.mg-site .loyalty-benefits span { padding:9px 12px; border:1px solid rgba(198,217,58,.42); color:#e4e6d9; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .loyalty-tiers { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:20px 0 24px; position:relative; z-index:1; }
.mg-site .loyalty-tiers span { padding:12px; border:1px solid #333826; color:#878b7a; font-size:9px; }
.mg-site .loyalty-tiers b { display:block; margin-bottom:4px; color:var(--gold-light); text-transform:uppercase; }
.mg-site .loyalty-tiers .active { border-color:var(--mg-lime); color:#fff; background:rgba(127,163,19,.12); }
.mg-site .loyalty-card .button { position:relative; z-index:1; }
.mg-site .main-status small { color:var(--gold-light); letter-spacing:.16em; }
.mg-site .main-status h2 { font-size:42px; margin:12px 0; }
.mg-site .main-status>p { color:#aaa; }
.mg-site .status-line { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:28px; }
.mg-site .status-line span { padding:14px; border:1px solid #363636; color:#777; font-size:9px; text-transform:uppercase; }
.mg-site .status-line .done { color:#ddd; }
.mg-site .status-line .active { color:#111; background:var(--gold-light); border-color:var(--gold-light); }
.mg-site .dashboard-icon { color:var(--mg-green); font-size:32px; }
.mg-site .dashboard-grid h3 { font:28px Georgia,serif; margin:15px 0 10px; }
.mg-site .dashboard-grid article>p { color:#777; line-height:1.6; font-size:12px; }
.mg-site .dashboard-grid article>b { color:#9a7227; font-size:9px; text-transform:uppercase; }
.mg-site .support-card { display:flex; flex-direction:column; gap:12px; background:#efe9dc!important; }
.mg-site .support-card a { color:#775615; font-size:12px; }
.mg-site .account-packs { margin-top:65px; }
.mg-site .account-packs-head { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:24px; }
.mg-site .account-packs-head h2 { margin:0; font-size:clamp(36px,4vw,58px); }
.mg-site .account-packs-head>a { color:#668408; font-size:10px; text-transform:uppercase; font-weight:bold; border-bottom:1px solid var(--mg-green); padding-bottom:5px; }
.mg-site .account-pack-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mg-site .account-pack { min-height:390px; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#090a0a; }
.mg-site .account-pack>img { position:absolute; inset:0; height:100%; object-fit:cover; transition:.5s; }
.mg-site .account-pack:after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.94)); }
.mg-site .account-pack>div { position:relative; z-index:2; padding:22px; }
.mg-site .account-pack small { color:var(--mg-lime); text-transform:uppercase; letter-spacing:.1em; font-size:8px; }
.mg-site .account-pack h3 { margin:8px 0; font:27px Georgia,serif; }
.mg-site .account-pack p { color:#ddd; font-size:10px; line-height:1.5; }
.mg-site .account-pack b { color:var(--gold-light); font-size:9px; text-transform:uppercase; }
.mg-site .account-pack:hover>img { transform:scale(1.05); }
.mg-site form { background:#fff; color:#111; padding:40px; }
.mg-site label { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.11em; font-weight:bold; margin-bottom:18px; }
.mg-site input, .mg-site select, .mg-site textarea { display:block; width:100%; border:0; border-bottom:1px solid #cbc5b8; padding:12px 0; font:14px Arial,sans-serif; outline:none; background:#fff; border-radius:0; }
.mg-site textarea { resize:vertical; }
.mg-site input:focus, .mg-site select:focus, .mg-site textarea:focus { border-color:var(--gold); }
.mg-site .form-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.mg-site .need-picker { margin:18px 0 24px; border:1px solid #d8d1c4; background:#fff; transition:.25s; }
.mg-site .need-picker[open] { border-color:var(--mg-gold); box-shadow:0 12px 34px rgba(80,77,44,.1); }
.mg-site .need-picker>summary { min-height:66px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:15px; cursor:pointer; list-style:none; border-left:4px solid var(--mg-gold); }
.mg-site .need-picker>summary::-webkit-details-marker { display:none; }
.mg-site .need-picker>summary span { display:grid; gap:5px; }
.mg-site .need-picker>summary b { font-size:10px; text-transform:uppercase; letter-spacing:.11em; }
.mg-site .need-picker>summary small { color:#777166; font-size:11px; }
.mg-site .need-picker>summary em { color:#657c0d; font-size:9px; font-style:normal; font-weight:bold; text-transform:uppercase; white-space:nowrap; }
.mg-site .need-picker>summary:after { content:"+"; width:26px; height:26px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--mg-gold); color:#657c0d; font-size:18px; }
.mg-site .need-picker[open]>summary:after { content:"−"; background:var(--mg-gradient); color:#111; }
.mg-site .need-checklist { margin:0; padding:14px 16px 16px; border:0; border-top:1px solid #e4ded3; }
.mg-site .need-checklist legend { width:100%; margin-bottom:12px; color:#222; font-size:10px; font-weight:bold; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .need-checklist legend small { float:right; color:#8d671f; font-size:9px; letter-spacing:0; text-transform:none; }
.mg-site .need-checklist>div { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.mg-site .need-checklist label { display:flex; align-items:center; gap:10px; min-height:46px; padding:10px 12px; border:1px solid #d8d1c4; background:#fff; color:#5b574f; cursor:pointer; transition:.2s; }
.mg-site .need-checklist label:hover, .mg-site .need-checklist label.selected { border-color:var(--mg-gold); background:linear-gradient(90deg,rgba(198,217,58,.13),rgba(230,190,102,.09)); color:#111; box-shadow:inset 3px 0 var(--mg-green); }
.mg-site .need-checklist input { flex:0 0 auto; width:17px; height:17px; margin:0; padding:0; accent-color:var(--mg-green); }
.mg-site .need-checklist span { font-size:11px; line-height:1.25; }
.mg-site form .button { width:100%; margin-top:10px; border:1px solid var(--mg-gold); }
.mg-site .form-success { color:#2d6d3c; background:#e9f5ec; padding:12px; font-size:12px; line-height:1.5; margin:15px 0 0; }
.mg-site footer { background:#060707; color:white; padding:70px 6vw 20px; }
.mg-site .footer-top { display:grid; grid-template-columns:190px 1fr auto; align-items:center; gap:40px; padding-bottom:40px; border-bottom:1px solid #292929; }
.mg-site .footer-top img { height:110px; object-fit:contain; object-position:left; }
.mg-site .footer-top p { color:#999; margin:0; max-width:420px; line-height:1.6; }
.mg-site .footer-top>a { color:var(--gold-light); font:26px Georgia,serif; }
.mg-site .footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; padding:50px 0; }
.mg-site .footer-links h3 { color:var(--gold-light); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.mg-site .footer-links a, .mg-site .footer-links p { display:block; color:#999; font-size:12px; line-height:2; }
.mg-site .footer-bottom { border-top:1px solid #292929; padding-top:20px; color:#686868; font-size:9px; display:flex; justify-content:space-between; }
.mg-site .whatsapp-float { position:fixed; z-index:40; right:22px; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); background:linear-gradient(#090909,#090909) padding-box,var(--mg-border-gradient) border-box; color:var(--mg-lime); border:3px solid transparent; width:58px; height:58px; border-radius:50%; display:grid; place-items:center; font-size:24px; box-shadow:0 8px 26px rgba(0,0,0,.28),0 0 22px rgba(174,184,44,.18); }
.mg-site .whatsapp-float span { display:none; }
.mg-site .modal-backdrop { position:fixed; z-index:100; inset:0; background:rgba(0,0,0,.78); display:grid; place-items:center; padding:25px; }
.mg-site .modal { max-width:1050px; max-height:90vh; overflow:auto; background:#fff; display:grid; grid-template-columns:1fr 1fr; position:relative; }
.mg-site .modal>img { height:100%; min-height:620px; object-fit:cover; }
.mg-site .modal>div { padding:55px; }
.mg-site .modal h2 { font-size:45px; margin-bottom:18px; }
.mg-site .modal h3 { font:20px Georgia,serif; margin:18px 0 8px; }
.mg-site .modal p, .mg-site .modal li { color:#68635b; line-height:1.65; font-size:13px; }
.mg-site .modal-close { position:absolute; right:14px; top:12px; width:38px; height:38px; border:0; background:#111; color:#fff; font-size:26px; cursor:pointer; }
.mg-site .inner-header { height:86px; padding:0 5vw; display:flex; align-items:center; background:#080909; color:#fff; gap:45px; }
.mg-site .inner-header nav { margin-left:auto; display:flex; gap:28px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .inner-header nav .active { color:var(--gold-light); }
.mg-site .barnums-hero { height:650px; position:relative; display:flex; align-items:center; color:#fff; overflow:hidden; }
.mg-site .barnums-hero>img { position:absolute; inset:0; height:100%; object-fit:cover; }
.mg-site .barnums-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,4,3,.68) 0%,rgba(2,4,3,.4) 39%,rgba(2,4,3,.1) 70%,rgba(2,4,3,.02)),linear-gradient(0deg,rgba(0,0,0,.28),transparent 52%); }
.mg-site .barnums-hero-content { position:relative; z-index:2; width:min(760px,72vw); padding:58px 0 85px 7vw; text-align:left; }
.mg-site .barnums-hero-content:before { content:""; position:absolute; left:7vw; top:25px; width:78px; height:2px; background:linear-gradient(90deg,var(--mg-green),var(--gold-light)); }
.mg-site .barnums-hero h1 { font-size:clamp(62px,7.2vw,108px); line-height:.86; text-transform:uppercase; margin:0 0 24px; letter-spacing:-.035em; text-shadow:0 8px 30px rgba(0,0,0,.3); }
.mg-site .barnums-hero h1 em { color:var(--gold-light); font-weight:normal; text-transform:none; letter-spacing:-.02em; }
.mg-site .barnums-hero-content>p:not(.eyebrow) { max-width:590px; color:#e4e1d9; font:18px/1.65 Georgia,serif; }
.mg-site .barnums-hero-actions { display:flex; gap:11px; margin-top:30px; }
.mg-site .barnums-hero-notes { display:flex; gap:0; margin-top:38px; border-top:1px solid rgba(255,255,255,.24); max-width:650px; }
.mg-site .barnums-hero-notes span { flex:1; padding:17px 18px 0 0; color:#c9c7c0; font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.mg-site .barnums-hero-notes b { display:block; margin-bottom:4px; color:#fff; font:25px Georgia,serif; text-transform:none; letter-spacing:0; }
.mg-site .barnum-price-overview { position:relative; z-index:4; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; width:min(1220px,90vw); margin:-58px auto 20px; }
.mg-site .barnum-price-overview>a { background:#fff; padding:24px; box-shadow:0 18px 45px rgba(0,0,0,.14); border-top:3px solid var(--gold); }
.mg-site .barnum-price-overview>a>span { display:block; font:25px Georgia,serif; margin-bottom:14px; }
.mg-site .barnum-price-overview>a>div { display:flex; justify-content:space-between; gap:15px; padding:8px 0; border-top:1px solid #e6dfd2; }
.mg-site .barnum-price-overview small { color:#777; text-transform:uppercase; font-size:8px; }
.mg-site .barnum-price-overview strong { color:#9a6f1e; font:20px Georgia,serif; }
.mg-site .barnum-price-overview b { display:block; margin-top:13px; color:#8e681f; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .barnums-intro { max-width:820px; text-align:center; padding:85px 20px 60px; margin:auto; }
.mg-site .barnums-intro h2 { font-size:50px; }
.mg-site .barnums-intro>p:last-child { color:#68635b; line-height:1.8; }
.mg-site .barnum-list { padding:0 5.5vw 85px; }
.mg-site .barnum-detail { display:grid; grid-template-columns:1.08fr .92fr; min-height:650px; margin-bottom:45px; background:#f7f4ee; }
.mg-site .barnum-detail.reverse .detail-image { order:2; }
.mg-site .detail-image { position:relative; min-height:620px; }
.mg-site .detail-image img { height:100%; object-fit:cover; }
.mg-site .detail-image.contain-image { background:#e8ece5; }
.mg-site .detail-image.contain-image img { object-fit:contain; }
.mg-site .detail-image>span { position:absolute; left:25px; top:25px; width:90px; height:90px; display:grid; place-items:center; border-radius:50%; background:#090909; color:#fff; font:21px Georgia,serif; }
.mg-site .detail-copy { padding:55px 6vw; }
.mg-site .detail-copy h2 { font-size:51px; }
.mg-site .detail-copy>p:not(.eyebrow) { color:#69645c; line-height:1.75; }
.mg-site .capacities { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid #d9d1c3; margin:24px 0; }
.mg-site .capacities>div { display:flex; gap:14px; align-items:center; padding:18px 0; }
.mg-site .capacities>div+div { border-left:1px solid #d9d1c3; padding-left:20px; }
.mg-site .capacities strong { font:38px Georgia,serif; color:#a77c26; }
.mg-site .capacities span { font-size:9px; text-transform:uppercase; line-height:1.45; }
.mg-site .detail-copy ul { list-style:none; padding:0; margin:22px 0; }
.mg-site .detail-copy li { padding:8px 0; font-size:12px; border-bottom:1px solid #ded7ca; }
.mg-site .detail-copy li:before { content:"✓"; color:#a77c26; margin-right:10px; }
.mg-site .barnums-cta { padding:90px 20px; background:#090a0a; color:white; text-align:center; }
.mg-site .barnums-cta h2 { font-size:clamp(40px,5vw,70px); margin-bottom:15px; }
.mg-site .barnums-cta>p:not(.eyebrow) { color:#aaa; margin-bottom:30px; }
.mg-site .barnums-cta .button { margin:6px; }
.mg-site .mini-footer { display:flex; justify-content:space-between; padding:28px 5vw; background:#030404; color:#777; font-size:10px; }
.mg-site .catalogue-hero { height:470px; position:relative; display:grid; place-items:center; overflow:hidden; color:white; text-align:center; }
.mg-site .catalogue-hero>img { position:absolute; inset:0; height:100%; object-fit:cover; }
.mg-site .catalogue-hero:after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.62); }
.mg-site .catalogue-hero>div { position:relative; z-index:2; max-width:850px; padding:25px; }
.mg-site .catalogue-hero h1 { font-size:clamp(58px,8vw,105px); line-height:.95; text-transform:uppercase; margin-bottom:18px; }
.mg-site .catalogue-hero p:last-child { font:20px/1.5 Georgia,serif; }
.mg-site .catalogue-nav { position:sticky; top:0; z-index:20; display:flex; justify-content:center; gap:8px; padding:15px 20px; background:#090a0a; color:#fff; box-shadow:0 8px 25px rgba(0,0,0,.14); }
.mg-site .catalogue-nav a { padding:10px 17px; border:1px solid #383838; color:#d4b15f; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .catalogue-nav a.active { color:#111; background:var(--mg-gradient); border-color:var(--mg-gold); }
.mg-site .barnum-category-nav { top:0; }
.mg-site .catalogue-group { padding:90px 5.5vw; scroll-margin-top:70px; }
.mg-site .catalogue-group:nth-of-type(even) { background:#f7f4ee; }
.mg-site .catalogue-heading { max-width:720px; margin:0 auto 45px; text-align:center; }
.mg-site .catalogue-heading h2 { font-size:clamp(40px,5vw,67px); margin-bottom:15px; }
.mg-site .catalogue-heading>p:last-child { color:#69645c; line-height:1.7; }
.mg-site .product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.mg-site .product-card { border:1px solid #ddd5c7; background:#fff; overflow:hidden; scroll-margin-top:86px; }
.mg-site .product-card summary { list-style:none; cursor:pointer; }
.mg-site .product-card summary::-webkit-details-marker { display:none; }
.mg-site .product-card summary>img { height:260px; object-fit:cover; }
.mg-site .product-card summary>img.product-image-contain { object-fit:contain; object-position:center; background:#f3eee5; }
.mg-site .product-card summary>div { padding:24px; }
.mg-site .product-card h3 { font:27px Georgia,serif; margin-bottom:10px; }
.mg-site .product-card summary strong { display:block; color:#986f22; font:22px Georgia,serif; margin-bottom:14px; }
.mg-site .product-card summary span { color:#8a651d; font-size:9px; font-weight:bold; text-transform:uppercase; letter-spacing:.1em; }
.mg-site .product-card[open] summary span { font-size:0; }
.mg-site .product-card[open] summary span:after { content:"Réduire les détails −"; font-size:9px; }
.mg-site .product-details { padding:0 24px 26px; border-top:1px solid #e4ded2; }
.mg-site .product-details>p:first-child { padding-top:20px; color:#676159; line-height:1.7; font-size:13px; }
.mg-site .product-details h4 { margin:20px 0 8px; text-transform:uppercase; letter-spacing:.1em; font-size:9px; color:#956d21; }
.mg-site .product-details ul { list-style:none; margin:0 0 20px; padding:0; }
.mg-site .product-details li { padding:7px 0; border-bottom:1px solid #eee9df; font-size:12px; }
.mg-site .product-details li:before { content:"✓"; color:#a77b24; margin-right:9px; }
.mg-site .delivery-note { font-size:10px!important; padding:11px!important; background:#f4f0e7; }
.mg-site .product-details .button { width:100%; margin-top:7px; }
@media (max-width:1100px) {
.mg-site .nav { gap:14px; }
.mg-site .nav a { font-size:9px; }
.mg-site .phone { display:none; }
.mg-site .material-grid { grid-template-columns:repeat(3,1fr); }
.mg-site .packs-grid { grid-template-columns:repeat(2,1fr); }
.mg-site .pack-card, .mg-site .pack-card:nth-child(4), .mg-site .pack-card:nth-child(5) { grid-column:auto; }
.mg-site .trust-strip { grid-template-columns:repeat(2,1fr); }
.mg-site .trust-strip article:nth-child(2) {border-right:0}
.mg-site .trust-strip article { border-bottom:1px solid var(--line); }
.mg-site .trust-strip article:nth-child(n/**/+3) {border-bottom:0}
.mg-site .product-grid { grid-template-columns:repeat(2,1fr); }
.mg-site .client-link { display:none; }
}
@media (max-width:760px) {
.mg-site .site-header { height:72px; padding:0 18px; position:absolute; }
.mg-site .brand { width:124px; }
.mg-site .brand img { height:60px; }
.mg-site .header-actions .button { display:none; }
.mg-site .menu-button { display:block; margin-left:auto; z-index:32; }
.mg-site .nav { position:fixed; z-index:31; inset:0; background:#090a0a; display:flex; flex-direction:column; justify-content:center; gap:2px; transform:translateX(100%); transition:.35s; }
.mg-site .nav.open { transform:translateX(0); }
.mg-site .nav a { font:26px Georgia,serif; text-transform:none; padding:13px; }
.mg-site .hero { min-height:0; height:auto; display:block; padding-top:420px; }
.mg-site .hero-slides { height:420px; bottom:auto; }
.mg-site .hero-image { object-position:center; }
.mg-site .hero-shade { height:420px; bottom:auto; background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 48%,rgba(0,0,0,.22)); }
.mg-site .hero-content { position:relative; margin:0; padding:34px 22px 58px; width:100%; background:#090a0a; min-height:0; }
.mg-site .eyebrow { font-size:9px; line-height:1.6; }
.mg-site .hero h1 { font-size:39px; line-height:.98; }
.mg-site .hero-copy { font-size:14px; }
.mg-site .hero-buttons { display:none; }
.mg-site .hero-mobile-actions { position:absolute; z-index:7; top:350px; left:16px; right:16px; display:grid; grid-template-columns:.85fr 1.15fr; gap:8px; }
.mg-site .hero-mobile-actions a { min-height:48px; display:flex; align-items:center; justify-content:center; padding:0 10px; color:#fff; background:rgba(0,0,0,.12); border:1px solid rgba(255,255,255,.72); backdrop-filter:blur(3px); text-shadow:0 1px 9px rgba(0,0,0,.95); text-transform:uppercase; letter-spacing:.04em; font-size:10px; font-weight:800; }
.mg-site .hero-mobile-actions a:first-child { color:#fff; background:linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.06)) padding-box,var(--mg-border-gradient) border-box; border:2px solid transparent; box-shadow:0 0 22px rgba(145,178,27,.22); }
.mg-site .hero-mobile-actions a:last-child { color:#fff; background:rgba(0,0,0,.12); border-color:rgba(255,255,255,.72); }
.mg-site .slider-arrow {width:42px;height:42px;font-size:30px;top:210px}
.mg-site .slider-prev {left:12px}
.mg-site .slider-next {right:12px}
.mg-site .slider-dots {left:22px;right:auto;bottom:18px}
.mg-site .slider-dots button {width:20px}
.mg-site .slider-dots button.active {width:35px}
.mg-site .hero-mobile-actions a:first-child { color:#111; background:var(--mg-gradient); border:2px solid #b9c92f; border-image:none; text-shadow:none; box-shadow:0 0 22px rgba(145,178,27,.3); }
.mg-site .trust-strip { grid-template-columns:1fr; padding:15px; }
.mg-site .trust-strip article { border-right:0; border-bottom:1px solid var(--line)!important; padding:16px 8px; }
.mg-site .trust-strip article:last-child {border:0!important}
.mg-site .trust-strip b {font-size:24px}
.mg-site .section, .mg-site .packs-section, .mg-site .process { padding:70px 20px; }
.mg-site .section-heading { margin-bottom:35px; }
.mg-site .section-heading h2, .mg-site .split-heading h2, .mg-site .story h2, .mg-site .service-area h2, .mg-site .quote-section h2 { font-size:39px; }
.mg-site .material-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin-right:-20px; padding-right:20px; }
.mg-site .material-card { min-width:78vw; min-height:390px; scroll-snap-align:start; }
.mg-site .barnum-teaser {grid-template-columns:1fr}
.mg-site .barnum-teaser>img {height:300px}
.mg-site .barnum-teaser>div {padding:45px 22px}
.mg-site .split-heading { display:block; }
.mg-site .split-heading>p { margin-top:15px; }
.mg-site .tents-grid { grid-template-columns:1fr; }
.mg-site .tent-photo { height:250px; }
.mg-site .tent-body>p:not(.capacity) {min-height:0}
.mg-site .packs-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; margin-right:-20px; padding-right:20px; gap:16px; }
.mg-site .pack-card, .mg-site .pack-card:nth-child(4), .mg-site .pack-card:nth-child(5) { min-width:88vw; min-height:640px; scroll-snap-align:start; }
.mg-site .pack-card img {height:455px;flex-basis:455px}
.mg-site .pack-card>div:last-child {padding:20px}
.mg-site .story { grid-template-columns:1fr; gap:55px; }
.mg-site .story-image img { height:390px; object-position:center center; }
.mg-site .experience { width:135px; height:135px; right:0; bottom:-25px; }
.mg-site .experience strong {font-size:38px}
.mg-site .story-copy {padding-top:10px}
.mg-site .packs-page-hero {height:440px}
.mg-site .packs-page-hero>div {padding:45px 22px}
.mg-site .packs-page-hero h1 {font-size:58px}
.mg-site .pack-jump {justify-content:flex-start}
.mg-site .pack-detail-list {padding:45px 18px}
.mg-site .pack-detail {grid-template-columns:1fr;margin-bottom:28px}
.mg-site .pack-detail.reverse .pack-detail-image {order:0}
.mg-site .pack-detail-image {min-height:360px}
.mg-site .pack-detail-copy {padding:34px 22px}
.mg-site .pack-detail-copy h2 {font-size:40px}
.mg-site .pack-columns {grid-template-columns:1fr}
.mg-site .pack-help {padding:65px 22px}
.mg-site .pack-help h2 {font-size:41px}
.mg-site .process-grid { grid-template-columns:1fr; }
.mg-site .process-grid article { border-right:0; border-bottom:1px solid #e5dfd4; padding:25px 10px; }
.mg-site .gallery-slider {height:68vh;min-height:480px;margin:0 -20px}
.mg-site .gallery-slider .slider-arrow {top:50%}
.mg-site .gallery-caption {left:22px;right:22px;bottom:32px}
.mg-site .gallery-caption h3 {font-size:34px}
.mg-site .gallery-thumbs {display:flex;overflow-x:auto;margin-right:-20px;padding:4px 20px 5px 0}
.mg-site .gallery-thumbs a {min-width:145px;height:100px}
.mg-site .reviews { grid-template-columns:1fr; padding:70px 24px; }
.mg-site .reviews blockquote { border:0; border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); padding:28px 0; font-size:21px; }
.mg-site .service-area { grid-template-columns:1fr; padding:70px 20px; }
.mg-site .map-art {height:390px;order:2}
.mg-site .quote-section {grid-template-columns:1fr;padding:70px 20px}
.mg-site .direct-contact {flex-direction:column;gap:20px}
.mg-site form {padding:25px 20px}
.mg-site .form-row {grid-template-columns:1fr;gap:0}
.mg-site .delivery-calculator, .mg-site .client-area-teaser { grid-template-columns:1fr; padding:70px 20px; gap:45px; }
.mg-site .delivery-box {padding:28px 22px}
.mg-site .delivery-copy h2, .mg-site .client-area-teaser h2 {font-size:41px}
.mg-site .calculator-head, .mg-site .calculator-row {grid-template-columns:1fr 62px;gap:10px;padding:12px 10px}
.mg-site .calculator-row select {font-size:9px}
.mg-site .delivery-result strong {font-size:34px}
.mg-site .better-price {padding:16px}
.mg-site .selection-form {padding:0}
.mg-site .preview-cards {grid-template-columns:1fr}
.mg-site .footer-contact {text-align:center}
.mg-site .footer-top { grid-template-columns:1fr; text-align:center; gap:18px; }
.mg-site .footer-top img { object-position:center; }
.mg-site .footer-links { grid-template-columns:1fr 1fr; }
.mg-site .footer-links>div:last-child {grid-column:1/3}
.mg-site .footer-bottom {display:block;line-height:1.8}
.mg-site .footer-bottom span {display:block}
.mg-site .client-login {grid-template-columns:1fr;padding:65px 20px;gap:40px}
.mg-site .login-intro h1 {font-size:52px}
.mg-site .client-login form {padding:28px 22px}
.mg-site .client-dashboard {padding:55px 18px}
.mg-site .dashboard-head {display:block}
.mg-site .dashboard-head .button {margin-top:18px}
.mg-site .dashboard-grid {grid-template-columns:1fr}
.mg-site .dashboard-grid .main-status, .mg-site .dashboard-grid .loyalty-card {grid-column:auto;padding:28px 22px}
.mg-site .loyalty-card h2 {font-size:31px}
.mg-site .loyalty-tiers {grid-template-columns:1fr 1fr}
.mg-site .loyalty-card-top {align-items:flex-start}
.mg-site .loyalty-card-top>span {white-space:nowrap}
.mg-site .loyalty-card .button {font-size:8px;padding:0 12px}
.mg-site .main-status h2 {font-size:34px}
.mg-site .status-line {grid-template-columns:1fr 1fr}
.mg-site .account-packs {margin-top:50px}
.mg-site .account-packs-head {display:block}
.mg-site .account-packs-head>a {display:inline-block;margin-top:15px}
.mg-site .account-pack-grid {display:flex;overflow-x:auto;margin-right:-18px;padding-right:18px;scroll-snap-type:x mandatory}
.mg-site .account-pack {min-width:82vw;scroll-snap-align:start}
.mg-site .login-features {grid-template-columns:1fr}
.mg-site .modal { grid-template-columns:1fr; }
.mg-site .modal>img {height:240px;min-height:0}
.mg-site .modal>div {padding:30px 22px}
.mg-site .modal h2 {font-size:36px}
.mg-site .whatsapp-float {right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px))}
.mg-site .inner-header {height:72px;padding:0 18px}
.mg-site .inner-header nav, .mg-site .inner-header>.button {display:none}
.mg-site .barnums-hero {height:590px;align-items:flex-end}
.mg-site .barnums-hero>img {object-position:center}
.mg-site .barnums-hero:after {background:linear-gradient(0deg,rgba(2,4,3,.78) 0%,rgba(2,4,3,.4) 50%,rgba(2,4,3,.04) 100%)}
.mg-site .barnums-hero-content {width:100%;padding:110px 22px 72px}
.mg-site .barnums-hero-content:before {left:22px;top:78px}
.mg-site .barnums-hero h1 {font-size:47px;line-height:.91;margin-bottom:16px}
.mg-site .barnums-hero-content>p:not(.eyebrow) {font-size:14px;line-height:1.5}
.mg-site .barnums-hero-actions {display:grid;margin-top:22px}
.mg-site .barnums-hero-actions .button {width:100%}
.mg-site .barnums-hero-notes {margin-top:24px}
.mg-site .barnums-hero-notes span {padding:14px 7px 0 0;font-size:7px}
.mg-site .barnums-hero-notes b {font-size:20px}
.mg-site .barnum-price-overview {grid-template-columns:1fr;margin:-35px auto 30px}
.mg-site .barnums-intro {padding:45px 22px 40px}
.mg-site .barnums-intro h2 {font-size:38px}
.mg-site .barnum-list {padding:0 18px 55px}
.mg-site .barnum-detail {grid-template-columns:1fr;margin-bottom:25px;scroll-margin-top:25px}
.mg-site .barnum-detail.reverse .detail-image {order:0}
.mg-site .detail-image {min-height:300px}
.mg-site .detail-copy {padding:35px 22px}
.mg-site .detail-copy h2 {font-size:38px}
.mg-site .capacities strong {font-size:30px}
.mg-site .capacities span {font-size:8px}
.mg-site .mini-footer {display:block;text-align:center;line-height:2}
.mg-site .mini-footer span {display:block}
.mg-site .catalogue-hero {height:390px}
.mg-site .catalogue-nav {justify-content:flex-start;overflow-x:auto}
.mg-site .catalogue-nav a {white-space:nowrap}
.mg-site .catalogue-group {padding:65px 18px}
.mg-site .product-grid {grid-template-columns:1fr}
.mg-site .product-card summary>img {height:240px}
}
.mg-site .hero-image { filter:brightness(1.13) saturate(1.07); }
.mg-site .hero-image.hero-primary { filter:brightness(.98) saturate(1.04); }
.mg-site .barnums-hero {
  height:650px;
  display:grid;
  grid-template-columns:42% 58%;
  align-items:stretch;
  background:radial-gradient(circle at 12% 30%,rgba(127,163,19,.12),transparent 34%),#070908;
}
.mg-site .barnums-hero>img {
  position:relative;
  inset:auto;
  grid-column:2;
  grid-row:1;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.mg-site .barnums-hero:after { display:none; }
.mg-site .barnums-hero-content {
  grid-column:1;
  grid-row:1;
  width:auto;
  padding:132px 4vw 78px 5vw;
  background:linear-gradient(120deg,rgba(4,6,5,.98),rgba(9,12,9,.93));
}
.mg-site .barnums-hero-content:before { left:5vw; top:102px; }
.mg-site .barnums-hero h1 { font-size:clamp(52px,5.1vw,78px); }
.mg-site .barnums-hero-content>p:not(.eyebrow) { font-size:16px; }
.mg-site .barnums-hero-actions { flex-direction:column; align-items:flex-start; }
.mg-site .barnums-hero-actions .button { min-width:285px; }
.mg-site .barnums-hero-notes { margin-top:28px; }
@media (max-width:760px) {
.mg-site .hero-image.hero-primary { object-position:68% center; }
.mg-site .site-header { background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.22) 78%,transparent); }
.mg-site .barnums-hero { height:auto; display:flex; flex-direction:column; padding:72px 0 0; background:#070908; }
.mg-site .barnums-hero>img { order:0; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.mg-site .barnums-hero-content { order:1; width:100%; padding:64px 22px 68px; background:linear-gradient(145deg,#070908,#11150e); }
.mg-site .barnums-hero-content:before { left:22px; top:36px; }
.mg-site .barnums-hero h1 { font-size:45px; }
.mg-site .barnums-hero-actions .button { min-width:0; width:100%; }
.mg-site .account-pending { padding:30px 22px; }
.mg-site .account-pending h2 { font-size:34px; }
.mg-site .approval-steps { grid-template-columns:1fr; }
.mg-site .need-checklist>div { grid-template-columns:1fr; }
.mg-site .need-checklist legend small { display:block; float:none; margin-top:5px; }
}
/* ================================================================
   AJOUTS MG (absents de la maquette d'origine) : bandeau cookies,
   modales légales, bouton retour en haut. Mêmes couleurs/polices que
   le reste, pour rester cohérent visuellement.
================================================================= */
.mg-site .mg-sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.mg-site .mg-totop{ position:fixed; left:22px; bottom:calc(22px + env(safe-area-inset-bottom, 0px)); width:46px; height:46px; border-radius:50%; background:var(--ink); color:#fff; z-index:400; display:flex; align-items:center; justify-content:center; font-size:18px; opacity:0; visibility:hidden; transform:translateY(10px); transition:all .35s ease; border:0; cursor:pointer; }
.mg-site .mg-totop.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.mg-site .mg-totop:hover{ background:var(--mg-gold); color:#111; }

.mg-site .mg-cookies{ position:fixed; left:22px; bottom:22px; z-index:1200; width:min(360px, calc(100vw - 44px)); transform:translateY(140%); opacity:0; pointer-events:none; transition:transform .5s ease, opacity .5s ease; }
.mg-site .mg-cookies.is-visible{ transform:translateY(0); opacity:1; pointer-events:auto; }
.mg-site .mg-cookies__bar{ background:#fff; border:1px solid var(--line); box-shadow:0 30px 60px rgba(8,9,9,.16); padding:22px 22px 18px; display:flex; flex-direction:column; gap:14px; }
.mg-site .mg-cookies__text h4{ font-family:Arial,Helvetica,sans-serif; font-size:.95rem; margin-bottom:8px; font-weight:700; }
.mg-site .mg-cookies__text p{ font-size:12.5px; color:var(--muted); }
.mg-site .mg-cookies__text a{ color:#8f681c; text-decoration:underline; }
.mg-site .mg-cookies__actions{ display:flex; flex-direction:column; gap:8px; }
.mg-site .mg-cookies__actions .button{ width:100%; }
.mg-site .mg-cookies__link{ background:none; border:0; font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink); text-decoration:underline; text-align:center; padding:4px 0; cursor:pointer; }

.mg-site .mg-legal-modal{ position:fixed; inset:0; z-index:1300; display:flex; align-items:center; justify-content:center; padding:22px; opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s ease; }
.mg-site .mg-legal-modal.is-open{ opacity:1; visibility:visible; }
.mg-site .mg-legal-modal__overlay{ position:absolute; inset:0; background:rgba(8,9,9,.6); }
.mg-site .mg-legal-modal__panel{ position:relative; z-index:1; width:100%; max-width:660px; max-height:82vh; overflow-y:auto; background:#fff; padding:38px; box-shadow:0 40px 90px rgba(8,9,9,.3); transform:translateY(20px); transition:transform .4s ease; }
.mg-site .mg-legal-modal.is-open .mg-legal-modal__panel{ transform:translateY(0); }
.mg-site .mg-legal-modal__head{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.mg-site .mg-legal-modal__head h3{ font-family:Georgia,serif; font-size:1.3rem; }
.mg-site .mg-modal__close{ width:32px; height:32px; border-radius:50%; border:1px solid var(--line); background:#fff; font-size:16px; color:var(--ink); flex:none; cursor:pointer; }
.mg-site .mg-modal__close:hover{ background:var(--cream); }
.mg-site .mg-legal-modal__body h4{ font-family:Arial,Helvetica,sans-serif; font-size:.9rem; margin:22px 0 8px; font-weight:700; }
.mg-site .mg-legal-modal__body h4:first-child{ margin-top:0; }
.mg-site .mg-legal-modal__body p{ font-size:13.5px; color:var(--muted); line-height:1.7; }
.mg-site .mg-legal-modal__body a{ color:#8f681c; text-decoration:underline; }

.mg-site .mg-form-feedback{ font-size:13px; font-weight:700; min-height:0; }
.mg-site .mg-form-feedback.is-success{ color:#3d7a3d; margin-bottom:14px; }
.mg-site .mg-form-feedback.is-error{ color:#a83a3a; margin-bottom:14px; }

.mg-site .delivery-result{ margin-top:16px; padding:16px 18px; background:var(--cream); border-left:3px solid var(--mg-green); font-size:13px; color:#2c2f22; line-height:1.6; }
.mg-site .delivery-result strong{ font:22px Georgia,serif; color:var(--ink); }

@media (max-width:640px){
  .mg-site .mg-cookies{ left:14px; bottom:14px; width:min(340px, calc(100vw - 28px)); }
  .mg-site .mg-legal-modal__panel{ padding:26px 20px; }
  .mg-site .mg-totop{ left:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- Ajouts propres à l'espace fidélité ---------- */
.mg-site .mg-history-title{ font:32px Georgia,serif; margin:50px 0 20px; padding:0 7vw; }
.mg-site .mg-history-table{ width:100%; border-collapse:collapse; margin:0 0 40px; }
.mg-site .mg-history-table th{ text-align:left; font-family:Arial,Helvetica,sans-serif; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); padding:10px 7vw; border-bottom:1px solid var(--line); }
.mg-site .mg-history-table td{ padding:14px 7vw; border-bottom:1px solid var(--line); font-size:13.5px; color:#2a2c22; }
.mg-site .mg-history-status{ display:inline-block; padding:4px 12px; font-size:10px; font-weight:bold; text-transform:uppercase; letter-spacing:.05em; background:#eee; color:#777; }
.mg-site .mg-history-status.is-paid{ background:linear-gradient(135deg,var(--mg-lime),var(--gold-light)); color:#101208; }
.mg-site .mg-footer-legal{ font-size:11px; }
.mg-site .mg-footer-legal a{ color:inherit; text-decoration:underline; }


/* ---------- Extraits de style.css (thème WordPress) absents de globals.css ---------- */
.mg-site .wp-status-message{ padding:14px 18px; margin-bottom:18px; background:#f3f7df; border-left:4px solid var(--mg-green); color:#27310d; }
.mg-site .gallery-page-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; background:#f7f4ee; }
.mg-site .gallery-page-grid figure{ margin:0; background:#090909; color:#fff; }
.mg-site .gallery-page-grid img{ height:360px; object-fit:cover; }
.mg-site .gallery-page-grid figcaption{ padding:16px 18px; color:var(--gold-light); text-transform:uppercase; letter-spacing:.08em; font-size:10px; }
.mg-site .inner-header .menu-button{ margin-left:auto; }
@media (max-width:760px){
  .mg-site .inner-header .menu-button{ display:block; }
  .mg-site .inner-header .nav{ display:flex; position:fixed; z-index:31; inset:0; background:#090a0a; flex-direction:column; justify-content:center; gap:2px; transform:translateX(100%); transition:.35s; }
  .mg-site .inner-header .nav.open{ transform:translateX(0); }
  .mg-site .inner-header .nav a{ font:26px Georgia,serif; text-transform:none; padding:13px; color:#fff; }
  .mg-site .gallery-page-grid{ grid-template-columns:1fr; padding:55px 18px; }
  .mg-site .gallery-page-grid img{ height:300px; }
}

