.mm-personalizer { --mm-accent:#df4438; --mm-ink:#284e38; --mm-border:#dedfdb; color:#30362f; font-size:15px; line-height:1.5; letter-spacing:0; clear:both; margin:20px 0 24px; }
.mm-personalizer *, .mm-medal-stage * { box-sizing:border-box; letter-spacing:0; }
.mm-personalizer fieldset { min-width:0; }
.mm-personalizer .mm-fieldset { border:0; padding:0; margin:0 0 24px; }
.mm-personalizer .mm-fieldset > legend { float:none; width:100%; padding:0; margin:0 0 10px; color:var(--mm-ink); font-size:15px; font-weight:700; }
.mm-color-options { display:flex; flex-wrap:wrap; gap:12px 20px; }
.mm-color-choice { display:flex; align-items:center; gap:8px; cursor:pointer; min-height:44px; position:relative; }
.mm-color-choice input, .mm-font-choice input, .mm-icon-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.mm-swatch { width:30px; height:30px; display:block; border-radius:50%; border:3px solid white; background:var(--mm-color); outline:1px solid #b8bcb6; }
.mm-color-choice input:checked + .mm-swatch { outline:2px solid var(--mm-ink); box-shadow:inset 0 0 0 2px #fff; }
.mm-personalizer :is(.mm-color-choice,.mm-font-choice,.mm-icon-choice):has(input:focus-visible) { outline:2px solid var(--mm-accent); outline-offset:4px; }
.mm-personalizer :is(.mm-color-choice,.mm-font-choice,.mm-icon-choice):has(input:disabled) { opacity:.4; cursor:not-allowed; }
.mm-personalizer .mm-input { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; margin:0 0 24px; width:100%; font-size:14px; }
.mm-personalizer .mm-input > span { color:var(--mm-ink); font-size:15px; font-weight:700; }
.mm-personalizer .mm-input input, .mm-personalizer .mm-input textarea { display:block; width:100%; min-width:0; min-height:48px; margin:0; padding:12px 14px; color:#2d342e; background:#fff; border:1px solid var(--mm-border); border-radius:4px; font:inherit; box-shadow:none; }
.mm-personalizer .mm-input textarea { resize:vertical; }
.mm-personalizer .mm-input input:focus, .mm-personalizer .mm-input textarea:focus { border-color:var(--mm-ink); outline:2px solid #284e3820; outline-offset:1px; }
.mm-font-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mm-font-choice, .mm-icon-choice { min-width:0; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid var(--mm-border); border-radius:4px; background:#fff; cursor:pointer; text-align:center; padding:10px 6px; }
.mm-font-choice { height:85px; }
.mm-font-choice:has(input:checked), .mm-icon-choice:has(input:checked) { border:2px solid var(--mm-ink); background:#f3f7f2; padding:9px 5px; }
.mm-font-sample { display:flex; justify-content:center; align-items:center; width:100%; min-width:0; height:37px; font-size:26px; line-height:1.2; white-space:nowrap; visibility:hidden; }
.mm-choice-label { display:block; width:100%; font-size:11px; line-height:1.3; font-weight:500; font-family:inherit; overflow-wrap:anywhere; }
.mm-icon-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.mm-icon-choice { min-height:82px; }
.mm-icon-choice img { display:block; width:32px!important; height:32px!important; object-fit:contain; filter:brightness(0); margin:0 0 8px!important; }
.mm-no-icon { display:flex; width:32px; height:32px; margin:0 0 8px; align-items:center; justify-content:center; font-size:29px; line-height:1; }
.mm-personalizer .mm-contact-fields .mm-input { margin-bottom:14px; }
.mm-personalizer .mm-confirm { display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:13px; line-height:1.5; margin:0 0 12px; }
.mm-confirm input { flex:0 0 18px; width:18px; height:18px; margin:2px 0 0; accent-color:var(--mm-ink); }
.mm-preview-status { font-size:13px; margin:8px 0; color:#a62b22; }
.mm-preview-status:empty { display:none; }
.mm-medal-stage { position:relative; aspect-ratio:1; width:100%; overflow:hidden; background:#fafbf9; margin:0 0 24px; border-radius:4px; }
.mm-medal-stage .mm-medal-base { position:absolute; inset:0; display:block; width:100%!important; height:100%!important; max-width:none!important; object-fit:contain; margin:0!important; }
.mm-medal-stage .mm-medal-name-box { position:absolute; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; overflow:hidden; margin:0; padding:0; }
.mm-medal-stage .mm-medal-name { display:block; white-space:nowrap; font-weight:400; font-style:normal; line-height:1.1; margin:0; padding:0; text-align:center; }
.mm-medal-stage .mm-data-box,.mm-medal-stage .mm-preview-image-box { position:absolute; display:flex; align-items:center; justify-content:center; transform:translate(-50%,-50%); box-sizing:border-box; padding:0; margin:0; }
.mm-medal-stage .mm-data-box { overflow:hidden; }
.mm-medal-stage .mm-data-text { display:block; white-space:pre-line; line-height:1.1; font-weight:400; font-style:normal; max-width:100%; }
.mm-medal-stage .mm-medal-icon { position:static; display:block; width:100%!important; height:100%!important; transform:none; object-fit:contain; filter:brightness(0) invert(1); margin:0!important; }
.mm-medal-stage .mm-medal-qr { display:block; width:100%!important; height:100%!important; object-fit:contain; margin:0!important; image-rendering:pixelated; }
.mm-medal-stage [data-mm-element="qr"], .mm-medal-stage [data-mm-element="qr"] .mm-medal-qr { background:transparent!important; }
.mm-medal-stage [data-mm-element="qr"] .mm-medal-qr { border:0!important; outline:0!important; box-shadow:none!important; }
.mm-medal-stage .mm-medal-icon[hidden] { display:none!important; }
.mm-medal-stage [data-mm-element][hidden] { display:none!important; }
.mm-face-controls { display:flex; gap:8px; margin:0 0 20px; }
.mm-face-controls button { min-height:44px; padding:8px 18px; border:1px solid #d5dcd2; border-radius:4px; background:#fff; color:#284e38; font:600 14px/1.4 sans-serif; cursor:pointer; }
.mm-face-controls button[aria-pressed=true] { color:#fff; border-color:#284e38; background:#284e38; }
.mm-face-controls button:focus-visible { outline:2px solid #df4438; outline-offset:2px; }
.mm-preview-label { position:absolute; left:16px; bottom:14px; color:#617062; font:500 12px/1.3 sans-serif; }
.mm-preview-active { opacity:1!important; }
.mm-preview-active > :not(.mm-medal-stage) { display:none!important; }
.mm-preview-active > .mm-medal-stage { display:block; margin:0; }
.mm-variation-size label { color:#284e38; font-weight:700; }
.mm-native-color-row, .woocommerce form.cart .variations .mm-native-color-row { display:none!important; }
.mm-variation-reset { margin-top:8px; font-size:12px; }
.mm-mobile-preview-dock { display:none; }
.mm-mobile-preview-spacer[hidden] { display:none!important; }
.mm-mobile-preview-spacer { overflow-anchor:none; }
html.mm-mobile-preview-active { scroll-padding-top:var(--mm-preview-scroll-top,200px)!important; }
@media(max-width:767px) {
 .mm-mobile-preview-dock:not([hidden]) { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; position:fixed; top:var(--mm-dock-top,0px); left:0; right:0; width:100%; padding:0 12px 8px; background:#fff; border-bottom:1px solid #dedfdb; box-shadow:0 3px 12px #26302114; z-index:99980; letter-spacing:0; }
 .mm-mobile-preview-dock[hidden] { display:none!important; }
 .mm-mobile-preview-bar { display:flex; width:100%; height:44px; align-items:center; justify-content:space-between; color:#284e38; font:600 12px/1.3 sans-serif; }
 .mm-mobile-preview-bar > span { flex:1; min-width:0; }
 .mm-mobile-preview-toggle,.mm-mobile-preview-flip { display:flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:4px; color:#284e38; background:#fff; font:400 24px/1 sans-serif; cursor:pointer; }
 .mm-mobile-preview-flip[hidden] { display:none!important; }
 .mm-mobile-preview-toggle:focus-visible,.mm-mobile-preview-flip:focus-visible { outline:2px solid #df4438; outline-offset:-2px; }
 .mm-mobile-preview-dock .mm-medal-stage { flex:none; width:var(--mm-dock-size,144px)!important; height:var(--mm-dock-size,144px)!important; aspect-ratio:1; margin:0!important; }
 .mm-mobile-preview-dock .mm-medal-stage[hidden] { display:none!important; }
 .mm-mobile-preview-dock .mm-preview-label { display:none; }
 .mm-mobile-preview-spacer:not([hidden]) { display:block; width:100%; pointer-events:none; }
}
form.cart:has(.mm-personalizer) .single_add_to_cart_button { min-height:50px; padding:14px 24px; background:#df4438; color:#fff; border:0; border-radius:4px; font-weight:700; }
form.cart:has(.mm-personalizer) .single_add_to_cart_button:disabled { opacity:.45; cursor:not-allowed; }
.mm-personalizer-unavailable { padding:16px; background:#fff3ef; color:#8b332b; margin:16px 0; }
@media(max-width:480px) { .mm-font-options { gap:8px; } .mm-icon-options { grid-template-columns:repeat(3,minmax(0,1fr)); } .mm-personalizer { margin-top:16px; } }
@media(prefers-reduced-motion:reduce) { .mm-personalizer * { scroll-behavior:auto!important; } }
