/* MANAMART Atelier — compact, original festive editorial inspired by a supplied motion reference. */
.mm-festive{
 --mm-fest-cream:#fff0c7;--mm-fest-plum:#321144;--mm-fest-gold:#e8bb78;
 position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;
 width:calc(100% - 42px);max-width:1490px;margin:18px auto 9px;padding:26px 29px 17px;
 border-radius:22px;color:#fff;background:
 radial-gradient(ellipse at 95% 0%,#6a1a8e 0%,transparent 36%),
 radial-gradient(ellipse at 2% 25%,#632088 0%,transparent 35%),
 linear-gradient(110deg,#2a083f 1%,#40085f 48%,#2c0747 100%);
 border:1px solid #762b90;box-shadow:0 15px 33px #320a4f1c;
}
.mm-festive:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:repeating-linear-gradient(115deg,transparent 0 122px,#ffffff03 124px 126px);
}
.mm-festive:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;
 background:linear-gradient(150deg,#ffffff13,transparent 34%);z-index:-1}
.mm-festive-head{position:relative;z-index:2;display:block;padding:0 5px}
.mm-festive-kicker{display:flex;align-items:center;gap:9px;margin-bottom:7px;
 color:#f4d29e;font:850 11px/1.2 'Manrope',Arial,sans-serif;letter-spacing:2.8px}
.mm-festive-kicker:before{content:"✦";font-size:16px;color:#f6bc71}
.mm-festive-title-row{display:flex;align-items:center;gap:28px;justify-content:flex-start}
.mm-festive-title{margin:0;color:var(--mm-fest-cream);font:950 clamp(35px,4.55vw,74px)/1 'Manrope',Arial,sans-serif;
 letter-spacing:-2.6px;text-transform:uppercase;white-space:nowrap;
 text-shadow:0 5px 14px #23003244}
.mm-festive-status{position:relative;display:flex;align-items:center;justify-content:center;flex:none;
 min-width:125px;height:55px;gap:13px;padding:7px 18px;border:2px dotted #f2c68a;
 border-radius:45px;background:#77228e5c;box-shadow:0 0 0 5px #f6c6fd0a}
.mm-festive-status-text{color:#ffe4a4;font:900 clamp(16px,2.3vw,28px)/1 'Manrope',Arial,sans-serif;
 letter-spacing:.25px;white-space:nowrap}
.mm-festive-status-glyph{font-size:26px;color:#fcd39a;text-shadow:0 0 10px #f3ba88}
.mm-festive-subtitle{margin:9px 0 0;color:#ead8ed;font:550 12px/1.45 'Manrope',Arial,sans-serif;letter-spacing:.17px}
.mm-festive-stars{position:absolute;inset:0;pointer-events:none;z-index:1}
.mm-festive-stars span{position:absolute;color:#efc88b;text-shadow:0 0 12px #f4bb8e;font-size:17px}
.mm-festive-stars span:nth-child(1){right:6%;top:9%;font-size:24px}
.mm-festive-stars span:nth-child(2){left:2.3%;top:20%;font-size:13px}
.mm-festive-stars span:nth-child(3){right:24%;top:21%;font-size:13px}
.mm-festive-stars span:nth-child(4){left:44%;top:8%;font-size:13px}
.mm-festive-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:16px;margin-top:20px}
.mm-festive-card{
 position:relative;display:block;box-sizing:border-box;min-width:0;min-height:171px;overflow:hidden;
 border-radius:16px;color:var(--mm-fest-plum);
 background:radial-gradient(circle at 82% 65%,#fae7b9 0%,transparent 45%),
 linear-gradient(125deg,#ffe3a0,#f8ce7d 72%,#ebb96b);
 border:1px solid #ffe6a7;
 box-shadow:inset 0 1px 0 #fff8e8aa,0 7px 17px #1c062e2f;
 text-decoration:none!important;transition:transform .25s ease,box-shadow .25s ease;
}
.mm-festive-card:nth-child(2){background:radial-gradient(circle at 77% 65%,#fbe6b4 0%,transparent 47%),linear-gradient(125deg,#ffdf9c,#f5c982 72%,#e8b875)}
.mm-festive-card:nth-child(3){background:radial-gradient(circle at 86% 50%,#fff1d0 0%,transparent 44%),linear-gradient(125deg,#ffe8b6,#f5d59d 76%,#ebbf83)}
.mm-festive-card:after{content:"";position:absolute;inset:0;pointer-events:none;
 border-radius:inherit;border:1px solid #ffffff82;box-sizing:border-box}
.mm-festive-card:hover,.mm-festive-card:focus-visible{transform:translateY(-3px);box-shadow:0 13px 26px #1c062e45}
.mm-festive-card-copy{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:flex-start;
 justify-content:flex-start;min-width:0;padding:16px 16px 15px}
.mm-festive-card-copy strong{font:900 clamp(15px,1.55vw,24px)/1.06 'Manrope',Arial,sans-serif;
 letter-spacing:-.65px;max-width:78%;text-transform:uppercase}
.mm-festive-card-copy>span{font:800 clamp(9px,.83vw,11px)/1.35 'Manrope',Arial,sans-serif;letter-spacing:.55px;
 margin-top:8px;max-width:65%;color:#6e4266}
.mm-festive-card-copy small{margin-top:auto;color:#4a2256;font:850 10px/1.2 'Manrope',Arial,sans-serif;
 letter-spacing:1px;border-bottom:1px solid #664166;padding-bottom:3px}
.mm-festive-card-copy small span{font-size:15px;line-height:0}
.mm-festive-art{position:absolute;right:0;bottom:-9px;width:min(58%,195px);height:auto;z-index:1;pointer-events:none;
 filter:drop-shadow(0 6px 5px #552a5633);transition:transform .3s ease}
.mm-festive-card:hover .mm-festive-art{transform:translateY(-4px) rotate(2deg)}
.mm-festive-card--1 .mm-festive-art{width:52%;right:2%}
.mm-festive-card--2 .mm-festive-art{width:48%;right:3%}
.mm-festive-card--3 .mm-festive-art{width:52%;right:1%}
.mm-festive-card--photo{background:#e6d6d6!important}
.mm-festive-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;
 z-index:0;transition:transform .4s ease}
.mm-festive-card--photo:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(90deg,#ffe3ad 0%,#ffe3adf2 43%,#ffe3ad2b 94%)}
.mm-festive-card--photo .mm-festive-card-copy{z-index:2}
.mm-festive-card--photo:hover .mm-festive-photo{transform:scale(1.05)}
.mm-festive-signoff{position:relative;z-index:2;text-align:right;color:#f2d7ac;font:750 9px/1.2 'Manrope',Arial,sans-serif;
 letter-spacing:1.8px;margin:15px 3px 1px}
.mm-festive-signoff span{color:#ffe7ae;font-size:12px;margin-right:3px}
@keyframes mm-festive-shine{0%,100%{color:#fff0c7;text-shadow:0 4px 12px #5b2057aa}
 45%{color:#fce4fb;text-shadow:0 5px 18px #f2b0e25e}75%{color:#ffe0a4}}
@keyframes mm-festive-spark{0%,100%{opacity:.45;transform:scale(.75) rotate(-8deg)}
 50%{opacity:1;transform:scale(1.2) rotate(16deg)}}
@keyframes mm-festive-ring{0%,100%{border-color:#f2c68a}50%{border-color:#fff0d0}}
@keyframes mm-festive-rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.mm-festive--motion .mm-festive-title{animation:mm-festive-shine 5s ease-in-out infinite}
.mm-festive--motion .mm-festive-stars span,.mm-festive--motion .mm-festive-status-glyph{animation:mm-festive-spark 2.8s ease-in-out infinite}
.mm-festive--motion .mm-festive-stars span:nth-child(2n){animation-delay:1s}
.mm-festive--motion .mm-festive-status{animation:mm-festive-ring 3.3s ease-in-out infinite}
.mm-festive--motion .mm-festive-card{animation:mm-festive-rise .55s ease-out both}
.mm-festive--motion .mm-festive-card:nth-child(2){animation-delay:.1s}
.mm-festive--motion .mm-festive-card:nth-child(3){animation-delay:.2s}
@media(max-width:1000px){.mm-festive{padding:23px 21px 16px}
 .mm-festive-cards{gap:11px}.mm-festive-card{min-height:160px}
 .mm-festive-card-copy{padding:14px}.mm-festive-card-copy strong{font-size:18px}}
@media(max-width:700px){
 .mm-festive{width:calc(100% - 16px);margin:10px auto 4px;padding:16px 11px 11px;border-radius:17px}
 .mm-festive-head{padding:0}.mm-festive-kicker{font-size:8px;letter-spacing:1.2px;margin-bottom:9px;gap:5px}
 .mm-festive-kicker:before{font-size:11px}
 .mm-festive-title-row{gap:7px;justify-content:space-between}
 .mm-festive-title{font-size:clamp(21px,6.5vw,35px);line-height:1.02;letter-spacing:-.8px;white-space:normal;min-width:0}
 .mm-festive-status{min-width:65px;height:37px;gap:2px;padding:4px 6px;border-width:1.5px;box-shadow:0 0 0 3px #e4bbef14}
 .mm-festive-status-text{font-size:clamp(10px,3.1vw,14px);letter-spacing:-.2px}
 .mm-festive-status-glyph{font-size:13px}
 .mm-festive-subtitle{font-size:9px;margin-top:6px;line-height:1.35}
 .mm-festive-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;
  gap:7px;margin-top:14px;padding:0}
 .mm-festive-card{min-width:0;width:100%;height:144px;min-height:0;border-radius:12px;box-shadow:0 3px 10px #1c062e20}
 .mm-festive-card-copy{padding:10px 8px 10px}
 .mm-festive-card-copy strong{font-size:clamp(10px,2.75vw,14px);line-height:1.12;letter-spacing:-.3px;max-width:100%;overflow-wrap:anywhere}
 .mm-festive-card-copy>span{font-size:clamp(7px,1.85vw,9px);line-height:1.2;letter-spacing:.1px;max-width:100%;margin-top:4px}
 .mm-festive-card-copy small{font-size:7px;letter-spacing:.4px;border-bottom:0;padding:0}
 .mm-festive-card-copy small span{font-size:10px}
 .mm-festive-art,.mm-festive-card--1 .mm-festive-art,.mm-festive-card--2 .mm-festive-art,
 .mm-festive-card--3 .mm-festive-art{width:94%;max-width:145px;right:-12%;bottom:15px;opacity:.88}
 .mm-festive-card--photo .mm-festive-card-copy strong{max-width:100%}
 .mm-festive-signoff{text-align:center;margin:11px 0 1px;font-size:7px;letter-spacing:1.1px}
 .mm-festive-stars span:nth-child(1){right:3%;top:3%;font-size:14px}
 .mm-festive-stars span:nth-child(2){left:1%;top:14%}
}
@media(max-width:375px){
 .mm-festive-title{font-size:clamp(19px,6vw,24px)}
 .mm-festive-card{height:134px}.mm-festive-card-copy{padding:8px 6px}
 .mm-festive-card-copy strong{font-size:10px}.mm-festive-card-copy>span{font-size:7px}
 .mm-festive-status{min-width:59px;height:33px}.mm-festive-status-text{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .mm-festive *, .mm-festive *:before, .mm-festive *:after{animation:none!important;transition:none!important}
}

/* True 3D layer: single product link, physically lit WebGL meshes over SVG fallbacks. */
.mm-festive-webgl{position:absolute;z-index:1;right:-10%;top:0;width:77%;height:100%;
 display:block;pointer-events:none;overflow:hidden;opacity:1}
.mm-festive-3d-canvas{width:100%;height:100%;display:block;pointer-events:none}
.mm-festive-card--webgl .mm-festive-art{opacity:0;visibility:hidden}
.mm-festive-card--webgl .mm-festive-webgl{filter:drop-shadow(0 9px 9px #3012373b)}
.mm-festive-card-copy{z-index:2}
@media(max-width:700px){.mm-festive-webgl{right:-24%;width:116%;top:5px;height:94%}}
@media(max-width:375px){.mm-festive-webgl{width:120%;right:-28%}}
@media(prefers-reduced-motion:reduce){.mm-festive-webgl{transition:none}}


/* MANAMART 8D-style cinematic refinement: editorial layout with protected copy regions.
   Three cards remain visible on mobile. 3D objects NEVER cover headings or CTAs. */
.mm-festive{background:
  radial-gradient(ellipse at 90% 2%,#70397c44 0%,transparent 46%),
  radial-gradient(ellipse at 4% 0%,#77538a40 0%,transparent 42%),
  linear-gradient(124deg,#24112f 0%,#381344 49%,#23122f 100%);
  border:1px solid #91688c6b;
  box-shadow:0 18px 39px #3d204125,inset 0 1px 0 #e3b8e633;
}
.mm-festive-card{
  isolation:isolate;min-height:224px;
  background:radial-gradient(circle at 78% 60%,#fbe0bd 0%,transparent 55%),linear-gradient(135deg,#f6e6d4,#edceb3)!important;
  border:1px solid #d8a985b5;
  box-shadow:inset 0 1px 0 #fff8f0aa,0 14px 25px #1b09241b;
  transition:transform .36s cubic-bezier(.2,.8,.2,1),box-shadow .36s;
  will-change:auto;
}
.mm-festive-card:nth-child(2){background:radial-gradient(circle at 79% 58%,#dfb9cd 0%,transparent 58%),linear-gradient(128deg,#f1e2df,#e9c5ce)!important}
.mm-festive-card:nth-child(3){background:radial-gradient(circle at 78% 63%,#eee3d1 0%,transparent 54%),linear-gradient(125deg,#f2e8da,#d7c2ce)!important}
.mm-festive-card:before{
  content:"";position:absolute;inset:-110% -120%;z-index:3;pointer-events:none;
  opacity:.32;transform:translateX(-58%) rotate(25deg);
  background:linear-gradient(90deg,transparent 45%,#fff7eb67 49%,#ffffff55 51%,transparent 55%);
}
.mm-festive--motion .mm-festive-card:before{animation:mm-festive-highlight-pass 9s linear infinite}
.mm-festive--motion .mm-festive-card:nth-child(2):before{animation-delay:2.3s}
.mm-festive--motion .mm-festive-card:nth-child(3):before{animation-delay:4.8s}
@keyframes mm-festive-highlight-pass{
  0%,19%{transform:translateX(-58%) rotate(25deg);opacity:0}
  31%{opacity:.42}
  45%,100%{transform:translateX(58%) rotate(25deg);opacity:0}
}
.mm-festive-card-copy{
  padding:19px 16px 15px;pointer-events:none;
  text-shadow:0 1px 0 #fff6ed55;
}
.mm-festive-card-copy strong{
  display:block;max-width:46%;color:#361a35;
  font-size:clamp(15px,1.5vw,23px);font-weight:900;
  line-height:1.1;letter-spacing:-.6px;
}
.mm-festive-card-copy>span{
  display:block;max-width:47%;color:#805576;
  font-size:clamp(9px,.78vw,11px);
}
.mm-festive-card-copy small{
  position:relative;z-index:4;display:inline-flex;align-items:center;gap:8px;
  background:#fceee68c;border-radius:4px;padding:5px 8px 4px 0;
  font-size:10px;max-width:52%;
}
.mm-festive-webgl{
  right:0!important;top:0!important;bottom:0!important;
  width:54%!important;height:100%!important;overflow:hidden;
  filter:drop-shadow(0 12px 16px #4a1b3830);
}
.mm-festive-art,.mm-festive-card--1 .mm-festive-art,
.mm-festive-card--2 .mm-festive-art,.mm-festive-card--3 .mm-festive-art{
  right:1%;bottom:12%;width:50%;max-width:220px;
}
.mm-festive-card:hover{transform:translateY(-5px) rotateX(1deg);box-shadow:0 20px 30px #3616382b}
@media(max-width:950px) and (min-width:701px){
  .mm-festive-card-copy strong,.mm-festive-card-copy>span{max-width:50%}
  .mm-festive-webgl{width:50%!important}
  .mm-festive-card{min-height:205px}
}
@media(max-width:700px){
  .mm-festive{padding:16px 11px 13px}
  .mm-festive-card{height:193px;min-height:193px;border-radius:12px}
  .mm-festive-cards{gap:7px}
  .mm-festive-card-copy{padding:9px 7px 9px}
  .mm-festive-card-copy strong{max-width:100%;font-size:clamp(10px,2.7vw,13px);line-height:1.12;letter-spacing:-.23px}
  .mm-festive-card-copy>span{max-width:100%;font-size:clamp(7px,1.85vw,9px);line-height:1.24;margin-top:4px}
  .mm-festive-card-copy small{
    max-width:100%;position:absolute;left:6px;bottom:7px;
    font-size:7px;letter-spacing:.2px;padding:3px 3px 2px 0;
    background:#fcefe9b0;
  }
  .mm-festive-webgl{
    left:0!important;right:0!important;top:70px!important;bottom:23px!important;
    width:100%!important;height:auto!important;
  }
  .mm-festive-art,.mm-festive-card--1 .mm-festive-art,
  .mm-festive-card--2 .mm-festive-art,.mm-festive-card--3 .mm-festive-art{
    top:70px;bottom:23px;right:0;width:100%;max-width:none;height:calc(100% - 93px);
    object-fit:contain;
  }
}
@media(max-width:375px){
  .mm-festive-card{height:188px;min-height:188px}
  .mm-festive-webgl{top:73px!important;bottom:21px!important}
  .mm-festive-art,.mm-festive-card--1 .mm-festive-art,
  .mm-festive-card--2 .mm-festive-art,.mm-festive-card--3 .mm-festive-art{top:73px;height:calc(100% - 94px)}
}
@media(prefers-reduced-motion:reduce){
  .mm-festive--motion .mm-festive-card:before{animation:none;opacity:0}
  .mm-festive-card:hover{transform:none}
}
