/* Editorial treatment for the three existing House of Charlotte LTK widgets. */
body.mgboutique-ready .title-section { display:none !important; }
body.mgboutique-ready .mg-boutique-intro,
body.mgboutique-ready #mg-shop { max-width:1140px; margin-left:auto; margin-right:auto; }
body.mgboutique-ready .mg-boutique-intro { margin-top:40px; padding:14px 18px 0; text-align:center; }
body.mgboutique-ready .mg-boutique-kicker { margin:0; color:#9d7b63; font:400 10px/1.4 Arial,sans-serif; letter-spacing:.19em; text-transform:uppercase; }
body.mgboutique-ready .mg-boutique-title { margin:5px 0 2px !important; padding:.1em .04em .18em !important; height:auto !important; max-height:none !important; overflow:visible !important; color:#746558 !important; font:400 clamp(45px,5vw,62px)/1.2 'Imperial Script',cursive !important; letter-spacing:0 !important; text-transform:none !important; overflow-wrap:anywhere; }
body.mgboutique-ready .mg-boutique-subtitle { margin:5px 0 0; color:#82776f; font:400 18px/1.35 'Cormorant Garamond',Georgia,serif; }
body.mgboutique-ready #mg-shop { --mg-boutique-line:#d6c4b1; --mg-boutique-wash:#f8f3ed; --mg-boutique-accent:#9d7b63; --mg-boutique-text:#64584e; width:calc(100% - 32px) !important; min-width:0; background:transparent !important; }
body.mgboutique-ready.mgboutique-home #mg-shop { --mg-boutique-line:#cfc2b4; --mg-boutique-wash:#f5f2ec; --mg-boutique-accent:#94755e; --mg-boutique-text:#5c564e; }
body.mgboutique-ready.mgboutique-madison #mg-shop { --mg-boutique-line:#e0c4c4; --mg-boutique-wash:#f8edef; --mg-boutique-accent:#ad7f86; --mg-boutique-text:#66545a; }
body.mgboutique-ready.mgboutique-madison .mg-boutique-title { color:#8c626c !important; }
body.mgboutique-ready.mgboutique-madison .mg-boutique-kicker { color:#ad7f86; }
body.mgboutique-ready #mg-shop,
body.mgboutique-ready #mg-shop * { box-sizing:border-box; }
body.mgboutique-ready #mg-shop .mg-shop-nav { display:flex !important; justify-content:center !important; align-items:stretch !important; gap:clamp(14px,2vw,30px) !important; width:100% !important; height:auto !important; min-height:0 !important; margin:22px 0 0 !important; padding:10px 18px !important; border-top:1px solid var(--mg-boutique-line) !important; border-bottom:1px solid var(--mg-boutique-line) !important; background:transparent !important; }
body.mgboutique-ready #mg-shop .mg-shop-nav br { display:none !important; }
body.mgboutique-ready #mg-shop .mg-shop-nav a { display:inline-block !important; flex:none; width:auto !important; min-width:0; margin:0 !important; padding:2px 0 5px !important; border:0 !important; border-bottom:1px solid transparent !important; background:none !important; color:#9b8776 !important; text-align:center; text-decoration:none !important; font:400 17px/1.2 'Cormorant Garamond',Georgia,serif !important; text-transform:none !important; white-space:normal; }
body.mgboutique-ready #mg-shop .mg-shop-nav a[aria-current="page"] { border-bottom-color:var(--mg-boutique-accent) !important; color:var(--mg-boutique-accent) !important; }
body.mgboutique-ready #mg-shop .mg-shop-nav a:hover { color:#6e5240 !important; }
body.mgboutique-ready #mg-shop .mg-shop-nav a:focus-visible,
body.mgboutique-ready #mg-shop .bo-wrap:focus-visible { outline:2px solid var(--mg-boutique-accent) !important; outline-offset:3px; }
body.mgboutique-ready #mg-shop .mg-boutique-section-label { display:flex; align-items:center; gap:12px; margin:19px 0 11px; color:var(--mg-boutique-accent); font:400 10px/1.3 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
body.mgboutique-ready #mg-shop .mg-boutique-section-label::after { content:''; flex:1; height:1px; background:var(--mg-boutique-line); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-shop-nav.mg-boutique-nav--magic { position:relative !important; overflow:visible !important; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-sitter { position:absolute; z-index:2; top:-73px; right:26px; display:block; width:82px; height:123px; pointer-events:none; transform-origin:52% 59%; filter:drop-shadow(0 4px 7px rgba(173,127,134,.12)); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-sitter-image { display:block; width:100%; height:100%; object-fit:contain; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-magic--playing .mg-boutique-sitter { animation:mgboutique-sit 1.5s cubic-bezier(.19,.73,.33,1) both; }
@keyframes mgboutique-sit { 0% { opacity:0; transform:translate(16px,-10px) rotate(7deg) scale(.88); } 65% { opacity:1; transform:translate(-2px,2px) rotate(-2deg) scale(1.02); } 100% { opacity:1; transform:none; } }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star { position:absolute; z-index:3; width:3px; height:3px; border-radius:50%; background:#c9a673; box-shadow:0 0 4px rgba(174,132,73,.3); opacity:0; pointer-events:none; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--1 { top:49%; left:6%; --dx:-20px; --dy:-14px; animation-delay:.65s; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--2 { top:55%; left:75%; --dx:19px; --dy:-19px; animation-delay:.9s; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--3 { top:40%; left:50%; --dx:4px; --dy:-24px; animation-delay:1.12s; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--4 { top:68%; left:22%; --dx:-12px; --dy:-20px; animation-delay:1.37s; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--1,
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--3 { width:6px; height:6px; clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-magic--playing .mg-boutique-star { animation-name:mgboutique-flecks; animation-duration:8s; animation-timing-function:ease-out; animation-iteration-count:infinite; }
@keyframes mgboutique-flecks { 0% { opacity:0; transform:translate(0,0) scale(.45); } 10% { opacity:.76; } 23% { opacity:.54; } 34%,100% { opacity:0; transform:translate(var(--dx),var(--dy)) scale(.8); } }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-line-glimmer { position:absolute; z-index:2; top:-1px; right:75px; width:47px; height:1px; opacity:0; pointer-events:none; background:linear-gradient(90deg,transparent,#c5a87e 48%,#e3d2b5 58%,transparent); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-magic--playing .mg-boutique-line-glimmer { animation:mgboutique-line-glimmer 8s ease-in-out infinite; }
@keyframes mgboutique-line-glimmer { 0%,4%,31%,100% { opacity:0; transform:translateX(12px); } 11% { opacity:.52; } 24% { opacity:.16; transform:translateX(-9px); } }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-signature { display:flex; align-items:center; justify-content:center; gap:17px; width:100%; margin:9px auto 15px; padding:0 8px; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-line { flex:1; height:1px; background:linear-gradient(90deg,transparent,var(--mg-boutique-line)); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-line:last-child { transform:scaleX(-1); }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-image { display:block; width:100px; height:auto; flex:none; transition:transform .5s ease; }
body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-signature:hover .mg-boutique-swan-image { transform:translateX(7px); }
body.mgboutique-ready #mg-shop .boutique-widget { width:100% !important; height:auto !important; min-height:0 !important; margin:0 !important; padding:0 !important; }
/* Flex rows center the final 1–3 items automatically as the LTK feed changes. */
body.mgboutique-ready #mg-shop .bo-garden { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-items:stretch !important; gap:22px !important; width:100% !important; max-width:none !important; height:auto !important; min-height:0 !important; margin:0 auto !important; padding:13px 8px 18px !important; overflow:visible !important; position:relative !important; background:transparent !important; }
body.mgboutique-ready #mg-shop .bo-con { position:relative !important; inset:auto !important; top:auto !important; left:auto !important; display:flex !important; flex:0 0 calc((100% - 66px)/4) !important; align-self:stretch !important; width:auto !important; max-width:calc((100% - 66px)/4) !important; min-width:0 !important; height:auto !important; margin:0 !important; padding:0 !important; border:1px solid var(--mg-boutique-line) !important; background:#fff !important; box-shadow:0 0 0 7px var(--mg-boutique-wash),0 7px 18px rgba(62,43,30,.055); }
body.mgboutique-ready #mg-shop .bo-box { display:flex !important; flex:1; width:100% !important; height:auto !important; min-width:0 !important; margin:0 !important; padding:8px !important; border:0 !important; background:#fff !important; transition:transform .35s ease,box-shadow .35s ease; }
body.mgboutique-ready #mg-shop .bo-con:hover .bo-box { transform:translateY(-3px); box-shadow:0 10px 19px rgba(62,43,30,.075); }
body.mgboutique-ready #mg-shop .bo-wrap { display:flex !important; flex:1; flex-direction:column; align-items:stretch; width:100% !important; height:auto !important; min-width:0; margin:0 !important; padding:0 !important; background:#fff !important; color:var(--mg-boutique-text) !important; text-decoration:none !important; }
body.mgboutique-ready #mg-shop .bo-img { display:block !important; width:100% !important; height:clamp(175px,17vw,225px) !important; max-height:none !important; margin:0 !important; padding:5px !important; object-fit:contain !important; object-position:center !important; background:#fff !important; }
body.mgboutique-ready #mg-shop .bo-info { display:none !important; }
body.mgboutique-ready #mg-shop .mg-boutique-caption { display:flex; flex:1; flex-direction:column; align-items:center; min-width:0; padding:9px 5px 13px; text-align:center; }
body.mgboutique-ready #mg-shop .mg-boutique-brand { display:block; color:var(--mg-boutique-accent); font:400 9px/1.3 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; overflow-wrap:anywhere; }
body.mgboutique-ready #mg-shop .mg-boutique-name { display:block; margin-top:5px; color:var(--mg-boutique-text); font:400 20px/1.14 'Cormorant Garamond',Georgia,serif; overflow-wrap:anywhere; }
body.mgboutique-ready #mg-shop .mg-boutique-cta { display:inline-flex; align-items:center; justify-content:center; gap:3px; margin-top:auto; padding-top:14px; color:var(--mg-boutique-accent); font:400 10px/1.3 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
body.mgboutique-ready #mg-shop .mg-boutique-cta-arrow { display:block; width:14px; height:14px; flex:none; }
body.mgboutique-ready #mg-shop .mg-boutique-edit { position:absolute; z-index:5; top:5px; right:5px; padding:6px 8px; border:1px solid var(--mg-boutique-line); background:#fffdfa; color:#6d5542; font:11px/1.2 Arial,sans-serif; cursor:pointer; }
body.mgboutique-ready #mg-shop .mg-boutique-edit:focus-visible { outline:2px solid var(--mg-boutique-accent); outline-offset:2px; }
.mg-boutique-editor { width:min(440px,calc(100vw - 28px)); max-width:none; padding:24px; border:1px solid #c6a58d; background:#fffdfa; color:#51443a; box-shadow:0 20px 50px rgba(35,25,18,.18); }
.mg-boutique-editor::backdrop { background:rgba(35,25,18,.42); }
.mg-boutique-editor h2 { margin:0 0 16px; color:#746558; font:400 31px/1.1 'Cormorant Garamond',Georgia,serif; }
.mg-boutique-editor label { display:block; margin-top:12px; color:#6d5542; font:13px/1.4 Arial,sans-serif; }
.mg-boutique-editor input { display:block; width:100%; margin-top:5px; padding:10px; border:1px solid #d6c4b1; color:#51443a; background:#fff; font:16px/1.3 Georgia,serif; }
.mg-boutique-editor-note { margin:15px 0; font:13px/1.45 Georgia,serif; }
.mg-boutique-editor-status { min-height:1.25em; margin:0 0 12px; color:#9b5d51; font:13px/1.4 Arial,sans-serif; }
.mg-boutique-editor-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.mg-boutique-editor-actions button { padding:9px 12px; border:1px solid #c6a58d; background:#fff; color:#6d5542; font:12px/1.2 Arial,sans-serif; cursor:pointer; }
.mg-boutique-editor-actions button[type="submit"] { background:#f4ede5; }
@media(max-width:1000px) {
  body.mgboutique-ready #mg-shop .bo-garden { gap:18px !important; }
  body.mgboutique-ready #mg-shop .bo-con { flex-basis:calc((100% - 36px)/3) !important; max-width:calc((100% - 36px)/3) !important; }
}
@media(max-width:700px) {
  body.mgboutique-ready .mg-boutique-intro { margin-top:22px; padding:12px 12px 0; }
  body.mgboutique-ready .mg-boutique-title { font-size:clamp(36px,10vw,48px) !important; }
  body.mgboutique-ready .mg-boutique-subtitle { font-size:17px; }
  body.mgboutique-ready #mg-shop .mg-shop-nav { gap:8px !important; padding:9px 6px !important; }
  body.mgboutique-ready #mg-shop .mg-shop-nav a { flex:1 !important; font-size:clamp(12px,3.2vw,15px) !important; }
  body.mgboutique-ready #mg-shop .bo-garden { gap:12px !important; padding:9px 7px 14px !important; }
  body.mgboutique-ready #mg-shop .bo-con { flex-basis:calc((100% - 12px)/2) !important; max-width:calc((100% - 12px)/2) !important; box-shadow:0 0 0 3px var(--mg-boutique-wash),0 5px 12px rgba(62,43,30,.045); }
  body.mgboutique-ready #mg-shop .bo-box { padding:5px !important; }
  body.mgboutique-ready #mg-shop .bo-img { height:clamp(120px,37vw,185px) !important; padding:3px !important; }
  body.mgboutique-ready #mg-shop .mg-boutique-caption { padding:8px 4px 11px; }
  body.mgboutique-ready #mg-shop .mg-boutique-name { font-size:17px; }
  body.mgboutique-ready #mg-shop .mg-boutique-brand { font-size:8px; letter-spacing:.08em; }
  body.mgboutique-ready #mg-shop .mg-boutique-cta { font-size:9px; }
  body.mgboutique-ready #mg-shop .mg-boutique-section-label { margin:15px 8px 9px; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-sitter { top:-35px; right:-8px; width:40px; height:60px; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-shop-nav a[aria-current="page"] { margin-right:7px !important; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star { width:2px; height:2px; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--1,
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star--3 { width:4px; height:4px; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-line-glimmer { right:30px; width:29px; }
  body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-swan-image { width:77px; }
}
@media(prefers-reduced-motion:reduce) { body.mgboutique-ready #mg-shop .bo-box, body.mgboutique-ready #mg-shop .mg-boutique-swan-image { transition:none !important; } body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-sitter, body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star, body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-line-glimmer { animation:none !important; } body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-star, body.mgboutique-ready.mgboutique-madison #mg-shop .mg-boutique-line-glimmer { opacity:0 !important; } }
