:root { --mg-ink:#484543; --mg-brown:#635951; --mg-cream:#efebe5; --mg-coral:#e3877e; --mg-line:#dedee2; }
* { box-sizing: border-box; }
html,body { margin:0; background:#fff; color:var(--mg-ink); font-family: Georgia, "Times New Roman", serif; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
.mg-promo { background:var(--mg-cream); text-align:center; padding:.45rem 1rem; font-size:.85rem; letter-spacing:.03em; color:var(--mg-brown); }
.mg-header { display:grid; grid-template-columns:auto 1fr auto; gap:1rem; align-items:center; padding:.85rem 1.4rem; background:#fff; border-bottom:1px solid var(--mg-line); position:sticky; top:0; z-index:30; }
.mg-logo img { height:42px; width:auto; }
.mg-nav { display:flex; gap:1.1rem; align-items:center; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; }
.mg-nav a, .mg-drop > button { background:none; border:0; font:inherit; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; padding:0; color:var(--mg-brown); }
.mg-drop { position:relative; }
.mg-panel { display:none; position:absolute; left:0; top:100%; background:#fff; border:1px solid var(--mg-line); min-width:220px; padding:.5rem 0; z-index:40; }
.mg-drop:hover .mg-panel, .mg-drop:focus-within .mg-panel { display:flex; flex-direction:column; }
.mg-panel a { padding:.35rem 1rem; text-transform:none; letter-spacing:0; }
.mg-tools { display:flex; gap:.8rem; align-items:center; }
.mg-tools input { border:1px solid var(--mg-line); padding:.35rem .55rem; font-family:inherit; }
.mg-burger { display:none; width:36px; height:36px; border:0; background:none; }
.mg-burger span { display:block; height:2px; background:var(--mg-brown); margin:6px 0; }
.mg-spots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; max-width:1280px; margin:1.6rem auto 2.2rem; padding:0 1.4rem; }
.mg-spot img { width:100%; aspect-ratio:1; object-fit:cover; background:var(--mg-cream); }
.mg-spot p { margin:.75rem 0 .35rem; font-size:.98rem; line-height:1.4; }
.mg-spot span { text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; text-decoration:underline; }
.mg-magic { max-width:40rem; margin:3rem auto; text-align:center; padding:0 1.4rem; }
.mg-magic h2 { font-weight:400; font-size:2rem; color:var(--mg-brown); }
.mg-magic p { line-height:1.65; }
.mg-split { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1200px; margin:3rem auto; padding:0 1.4rem; align-items:center; }
.mg-split h2 { font-weight:400; color:var(--mg-brown); }
.mg-share { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1100px; margin:3rem auto; padding:2.2rem 1.4rem; background:var(--mg-cream); align-items:center; }
.mg-threecol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; max-width:1200px; margin:3rem auto; padding:0 1.4rem; }
.mg-threecol img { width:100%; aspect-ratio:1; object-fit:cover; }
.mg-threecol h2 { font-weight:400; font-size:1.35rem; color:var(--mg-brown); }
.mg-love { text-align:center; padding:3rem 1.4rem 4rem; }
.mg-love h2 { font-weight:400; color:var(--mg-brown); }
.mg-quotes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; max-width:1100px; margin:1.5rem auto 0; text-align:left; }
.mg-quotes blockquote { margin:0; font-size:.95rem; line-height:1.5; }
.mg-quotes cite { display:block; margin-top:.7rem; font-style:normal; }
.mg-btn { display:inline-block; background:var(--mg-brown); color:#fff; padding:.7rem 1.2rem; letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; border:0; cursor:pointer; }
.mg-btn-dark { background:#222; margin-top:.4rem; }
.mg-rail, .mg-plp { padding:2rem 1.4rem; max-width:1280px; margin:0 auto; }
.mg-rail-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:1rem; }
.mg-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; }
.mg-card-media { background:var(--mg-cream); aspect-ratio:1; overflow:hidden; position:relative; }
.mg-card-media img { width:100%; height:100%; object-fit:contain; }
.mg-hover { position:absolute; inset:0; opacity:0; }
.mg-card-media:hover .mg-hover { opacity:1; }
.mg-card h3 { font-size:.95rem; font-weight:400; margin:.6rem 0 .2rem; }
.mg-price del { color:#999; margin-right:.35rem; }
.mg-price ins { text-decoration:none; }
.mg-pdp { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1200px; margin:0 auto; padding:2rem 1.4rem; }
.mg-pdp-main { width:100%; background:var(--mg-cream); }
.mg-thumbs { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.mg-thumbs button { width:64px; height:64px; padding:0; border:1px solid var(--mg-line); background:#fff; }
.mg-thumbs .is-on { border-color:var(--mg-brown); }
.mg-pdp-info .product_name { font-weight:400; font-size:1.6rem; margin-top:0; }
.mg-pdp-info form { display:flex; flex-direction:column; gap:.6rem; max-width:280px; margin:1rem 0; }
.product-block--description { font-size:.95rem; line-height:1.55; color:#555; margin:1rem 0 1.2rem; }
.product-block--title .product_name { font-weight:400; font-size:1.6rem; margin:0 0 .4rem; }
.product-block--form .mg-btn { width:100%; text-align:center; }
.mg-cms { padding:2.5rem 1.4rem 3rem; max-width:900px; margin:0 auto; }
.mg-cms-title { text-align:center; font-weight:400; font-size:2.2rem; color:var(--mg-brown); }
.mg-cms-body { max-width:46rem; margin:0 auto; line-height:1.6; }
.mg-cms-body img.lazyload { opacity:1 !important; }
.mg-cms-body .image-element__wrap { padding-bottom:0 !important; height:auto !important; max-width:100%; }
.mg-cms-body .image-element__wrap img, .mg-cms-body .one-half img { width:100%; height:auto; position:static !important; }
.mg-cms-body .container, .mg-cms-body .section { max-width:46rem; margin:0 auto; }
.mg-cms-body .one-half.column { width:100%; float:none; }
.mg-cms-body .collapsible, .mg-cms-body .faq, .mg-cms-body details { margin: .6rem 0; }
.mg-cms-body h1.mg-cms-title, .mg-cms-body > h1 { text-align:center; font-size:2.2rem; font-weight:400; }
.mg-cms-body .rte h1 { font-size:1.2rem; text-align:left; font-weight:700; }
.accordion-title { cursor:pointer; padding:.8rem 0; border-bottom:1px solid var(--mg-line); display:flex; justify-content:space-between; }
.accordion-content { display:none; padding:.5rem 0 1rem; }
.accordion-title.is-open + .accordion-content, .accordion-content.is-open { display:block; }
.mg-footer { background:var(--mg-cream); padding:2.5rem 1.4rem 1.5rem; color:var(--mg-brown); }
.mg-footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; max-width:1000px; margin:0 auto; }
.mg-footer a { display:block; margin:.25rem 0; }
.mg-copy { text-align:center; margin-top:2rem; opacity:.7; }
.mg-pager { margin-top:1.5rem; }
@media (max-width:900px) {
  .mg-burger { display:block; }
  .mg-nav { display:none; position:absolute; left:0; right:0; top:100%; background:#fff; flex-direction:column; align-items:flex-start; padding:1rem; border-bottom:1px solid var(--mg-line); }
  .mg-nav.is-open { display:flex; }
  .mg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mg-pdp { grid-template-columns:1fr; }
  .mg-pdp-media { order:-1; }
  .mg-footer-grid { grid-template-columns:1fr; }
  .mg-spots, .mg-split, .mg-share, .mg-threecol, .mg-quotes { grid-template-columns:1fr; }
}
