/*
 * mm_custom (mat configurator) in the MatBuilder look (yellow #ffe91a, Anton caps for titles / buttons / tabs, Montserrat
 * for labels and running text, 6px corners: tokens --rg-* of custom.css).
 * Loaded by the module after its own CSS (priority 200) when this file exists. Everything is scoped to the configurator
 * body (body#module-mm_custom-customModule); dark scheme (rgDarkPages in layouts/layout-both-columns.tpl), tokens
 * --rg-* from custom.css. Layout validated on the mockup of 2026-10-15: full page without the site header/footer, the
 * mat on a dark stage, glass tool panel on the left, tool dock at the bottom, price + add to cart card bottom right.
 * The dock, the zone chips, the tag and the close button are added by assets/js/custom.js.
 */

/* ---------- Module variables ---------- */
:root{
  --mm-accent:var(--rg-brand);
  --mm-accent-soft:rgba(var(--rg-brand-rgb),.6);
  --mm-accent-dark:var(--rg-brand-hover);
  --mm-action:var(--rg-brand);
  --mm-text-btn:var(--rg-on-brand);
  --mm-text-btn-cart:var(--rg-on-brand);
  --mm-text-btn-hover:var(--rg-on-brand);
  --mm-border:rgba(255,255,255,.3);
  --mm-text:#fff;
  --mm-radius:var(--rg-radius);
  --mm-panel-w:21.25rem;
  --mm-gutter:1.75rem;
  --mm-glass:rgba(22,22,22,.82);
}

/* ---------- Page shell: full page, no site header / footer ---------- */
body#module-mm_custom-customModule{overflow:hidden;background:var(--rg-bg);color:var(--rg-text)}
body#module-mm_custom-customModule>header#header,body#module-mm_custom-customModule>footer#footer,body#module-mm_custom-customModule #back-to-top,body#module-mm_custom-customModule .breadcrumb,body#module-mm_custom-customModule .rg-cursor{display:none!important}
body#module-mm_custom-customModule .module-page{position:fixed;inset:0;z-index:1100;max-width:none;overflow:hidden;color:var(--rg-text);background:radial-gradient(ellipse at 58% 36%,rgba(255,255,255,.085),rgba(255,255,255,0) 98%),var(--rg-bg)}
body#module-mm_custom-customModule .module-page p,
body#module-mm_custom-customModule .module-page label,
body#module-mm_custom-customModule .module-page h2{color:inherit}
body#module-mm_custom-customModule .module-container{display:contents}
body#module-mm_custom-customModule #loading-page{background:var(--rg-bg)}
body#module-mm_custom-customModule #loading-page .loading-block p{font-family:var(--rg-caps);font-size:.75rem!important;letter-spacing:.2em}

/* ---------- Top bar: tag, title, variants | save, close ---------- */
body#module-mm_custom-customModule .module-top-bar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;align-items:center;gap:1.25rem;padding:1.125rem var(--mm-gutter);border:0;background:transparent}
body#module-mm_custom-customModule .rg-config-logo{display:block;width:2.125rem;height:2.125rem;flex:0 0 auto}
body#module-mm_custom-customModule .rg-config-logo img{display:block;width:100%;height:100%}
body#module-mm_custom-customModule .module-top-bar .module-title{flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:.375rem}
body#module-mm_custom-customModule .module-top-bar .module-title h1{margin:0;font-family:var(--rg-font);font-size:1.375rem;font-weight:400;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;color:var(--rg-text)}
body#module-mm_custom-customModule .module-top-bar .module-title .module-attributes{display:flex;gap:.5rem;margin:0;font-size:0;font-style:normal}
body#module-mm_custom-customModule .module-top-bar .module-title .module-attribute{padding:.25rem .625rem;border:1px solid var(--rg-border);border-radius:var(--rg-radius);font-family:var(--rg-caps);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-top-bar .save-custom{margin-right:3.75rem;background:rgba(0,0,0,.35);border-color:var(--rg-border-strong);color:var(--rg-text);backdrop-filter:blur(8px)}
body#module-mm_custom-customModule .module-top-bar .save-custom:hover{background:var(--rg-text);border-color:var(--rg-text);color:var(--rg-bg)}
body#module-mm_custom-customModule .rg-config-close{position:absolute;z-index:11;top:1.125rem;right:var(--mm-gutter);display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-radius);background:rgba(0,0,0,.35);backdrop-filter:blur(8px);color:var(--rg-text);text-decoration:none;font-size:1.5rem;line-height:1;transition:background-color .2s,color .2s}
body#module-mm_custom-customModule .rg-config-close:hover{background:var(--rg-text);color:var(--rg-bg)}

/* ---------- Buttons ---------- */
body#module-mm_custom-customModule .mm-btn,
body#module-mm_custom-customModule .mm-btn-cart{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.25rem 1.25rem;border:1px solid var(--mm-accent);border-radius:var(--rg-pill);background:var(--mm-accent);color:var(--rg-on-brand);font-family:var(--rg-font);font-size:1.0625rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
body#module-mm_custom-customModule .mm-btn:hover,
body#module-mm_custom-customModule .mm-btn-cart:hover{background:var(--mm-accent-dark);border-color:var(--mm-accent-dark);color:var(--rg-on-brand)}
body#module-mm_custom-customModule .mm-btn-alt{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.25rem 1.25rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-pill);background:transparent;color:var(--rg-text);font-family:var(--rg-font);font-size:1.0625rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase}
body#module-mm_custom-customModule .mm-btn-alt:hover{background:var(--rg-text);color:var(--rg-bg)}

/* ---------- Stage: the mat, centered in the area right of the panel ---------- */
body#module-mm_custom-customModule .module-container .template{position:absolute;z-index:1;top:5.5rem;bottom:7.5rem;left:calc(var(--mm-panel-w) + var(--mm-gutter) * 2);right:var(--mm-gutter);width:auto!important;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:none}
body#module-mm_custom-customModule .module-container .template .mat-pattern{outline:0;box-shadow:0 1.875rem 4.375rem rgba(0,0,0,.65)}
/* the module sets other widths per breakpoint for the mat and its texture: one value for both so the texture always matches the SVG */
body#module-mm_custom-customModule .module-container .template .mat-pattern,
body#module-mm_custom-customModule .module-container .template svg:not(#logo_group svg){width:min(90%,160vh)!important}

/* ---------- Tool panel: glass card on the left ---------- */
body#module-mm_custom-customModule .module-container .info{position:absolute;z-index:9;left:var(--mm-gutter);top:6rem;width:var(--mm-panel-w);max-height:calc(100vh - 13rem);overflow-y:auto;overscroll-behavior:contain;background:var(--mm-glass);backdrop-filter:blur(16px);border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);scrollbar-width:thin;scrollbar-color:var(--rg-border-strong) transparent}
body#module-mm_custom-customModule .module-container .info::-webkit-scrollbar{width:6px}
body#module-mm_custom-customModule .module-container .info::-webkit-scrollbar-thumb{border-radius:3px;background:var(--rg-border-strong)}
body#module-mm_custom-customModule .module-container .tools{height:auto;min-height:0;margin:0;padding:1.5rem 1.5rem .75rem;background:none;border:0;border-radius:0}
body#module-mm_custom-customModule .module-container .tools .colors-design,
body#module-mm_custom-customModule .module-container .tools .text-design,
body#module-mm_custom-customModule .module-container .tools .text-choice,
body#module-mm_custom-customModule .module-container .tools .logos-choice{padding:0!important}

/* Introduction (before any tool is chosen) */

/* Titles and helper texts */
body#module-mm_custom-customModule .module-container .tools .mm-tools-title{display:block;margin:0 0 .5rem;font-family:var(--rg-caps);font-size:.65625rem!important;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rg-text)!important}
body#module-mm_custom-customModule .module-container .tools .colors-design-first-p,
body#module-mm_custom-customModule .module-container .tools .text-design-first-p,
body#module-mm_custom-customModule .module-container .tools .logo-choice-title{margin-bottom:.375rem;font-family:var(--rg-font);font-size:1.5rem!important;font-weight:400;letter-spacing:.005em;text-transform:uppercase}
body#module-mm_custom-customModule .module-container .tools .text-design-subtext,
body#module-mm_custom-customModule .module-container .tools .logo-design-subtext{margin:0 0 1.25rem;font-size:.78125rem!important;line-height:1.5;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .colors-section,
body#module-mm_custom-customModule .module-container .tools .fonts,
body#module-mm_custom-customModule .module-container .tools .font-colors,
body#module-mm_custom-customModule .module-container .tools .slider-text-width-container,
body#module-mm_custom-customModule .module-container .tools .slider-text-position-container,
body#module-mm_custom-customModule .module-container .tools .logo-design{margin-top:1.375rem}

/* Colors: zone chips, custom color first (round swatch + hex, the wheel opens on the swatch), then the swatches */
body#module-mm_custom-customModule .module-container .tools .colors-design,
body#module-mm_custom-customModule .module-container .tools .font-colors{display:flex;flex-direction:column}
body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-design-first-p{order:-4}
body#module-mm_custom-customModule .module-container .tools .colors-design>.rg-zones{order:-3}
body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-wheel,
body#module-mm_custom-customModule .module-container .tools .font-colors>.colors-section-wheel{order:-1}
body#module-mm_custom-customModule .module-container .tools .font-colors>label.mm-tools-title{order:-4}
body#module-mm_custom-customModule .module-container .tools .font-colors>.font-colors-buttons{order:-3}
body#module-mm_custom-customModule .module-container .tools .font-colors>.slider-input-border{order:-2}
body#module-mm_custom-customModule .rg-zones{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}
body#module-mm_custom-customModule .rg-zones button{flex:1 1 auto;padding:.625rem .75rem;border:1px solid var(--rg-border);border-radius:var(--rg-radius);background:transparent;color:var(--rg-text-2);font-family:var(--rg-caps);font-size:.65625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s}
body#module-mm_custom-customModule .rg-zones button:hover{border-color:var(--rg-border-strong);color:var(--rg-text)}
/* a single zone: no zone chips (nor Zone column on desktop), at every width */
body#module-mm_custom-customModule .module-container .tools .colors-design:not(:has(.rg-zones button:nth-child(2)))>.rg-zones{display:none!important}
body#module-mm_custom-customModule .rg-zones button.on{border-color:var(--mm-accent);background:rgba(var(--rg-brand-rgb),.1);color:var(--mm-accent)}
body#module-mm_custom-customModule .module-container .tools .colors-section-brands:not(:has(.brand-color)){display:none}
body#module-mm_custom-customModule .mm-wheel{flex-direction:column-reverse;gap:.75rem}
body#module-mm_custom-customModule .mm-wheel-preview{gap:.875rem;padding-left:.25rem}
body#module-mm_custom-customModule .mm-wheel-swatch{width:3.5rem;height:3.5rem;border:2px solid var(--rg-text);border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.12);cursor:pointer;transition:transform .2s}
body#module-mm_custom-customModule .mm-wheel-swatch:hover{transform:scale(1.05)}
body#module-mm_custom-customModule .mm-wheel-hex{width:7.25rem;margin-left:0;padding:.625rem 1rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-radius);background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:.8125rem;letter-spacing:.06em}
body#module-mm_custom-customModule .mm-wheel-hex:focus{outline:0;border-color:var(--mm-accent);box-shadow:0 0 0 .2rem rgba(var(--rg-brand-rgb),.25)}
body#module-mm_custom-customModule .mm-wheel-canvas-box{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease}
body#module-mm_custom-customModule .mm-wheel.is-open .mm-wheel-canvas-box{max-height:14rem;opacity:1}
body#module-mm_custom-customModule .mm-wheel-canvas{border-radius:calc(var(--rg-radius) * 2)}
body#module-mm_custom-customModule .module-container .tools .colors-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;padding:.25rem}
body#module-mm_custom-customModule .module-container .tools .colors-grid .colors-color,
body#module-mm_custom-customModule .module-container .tools .colors-grid .font-color{aspect-ratio:1;border-radius:50%;border:1px solid var(--rg-border-strong)!important;transition:transform .15s}
body#module-mm_custom-customModule .module-container .tools .colors-grid .colors-color:hover,
body#module-mm_custom-customModule .module-container .tools .colors-grid .font-color:hover{transform:scale(1.1)}
body#module-mm_custom-customModule .module-container .tools .colors-grid .picked{outline:2px solid var(--mm-accent);outline-offset:3px}
body#module-mm_custom-customModule .module-container .tools .brand-color::before{border-radius:8px;background:var(--rg-surface-3);font-family:var(--rg-caps);font-size:.6875rem}

/* Add text / add logo: dashed drop zones */
body#module-mm_custom-customModule .module-container .tools .text-choice-buttons,
body#module-mm_custom-customModule .module-container .tools .logos-choice-buttons{margin-top:1.25rem;display:flex;flex-direction:column;align-items:stretch;gap:0}
body#module-mm_custom-customModule .module-container .tools .logos-choice .add-logo,
body#module-mm_custom-customModule .module-container .tools .leave-empty-button{display:flex;flex-direction:column;align-items:center;gap:.625rem;width:100%;min-width:0;margin:0;transform:none;padding:1.5rem 1rem;border:1px dashed var(--rg-border-strong);border-radius:calc(var(--rg-radius) * 2);background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:border-color .2s,background-color .2s}
body#module-mm_custom-customModule .module-container .tools .logos-choice .add-logo:hover,
body#module-mm_custom-customModule .module-container .tools .leave-empty-button:hover{border-color:var(--mm-accent);background:rgba(var(--rg-brand-rgb),.06)}
body#module-mm_custom-customModule .module-container .tools .text-choice-buttons img,
body#module-mm_custom-customModule .module-container .tools .logos-choice-buttons img{width:2rem;margin:0;transform:none}


/* Logo tool (custom.js): import drop zone | library quick picks | your logo. The module's title, subtext and "Add logo"
   button (which opened its "Change the logo" modal) are hidden; its size slider and hide switch live in the third block */
body#module-mm_custom-customModule .module-container .tools .logos-choice>.logo-choice-title,
body#module-mm_custom-customModule .module-container .tools .logos-choice>.logo-design-subtext,
body#module-mm_custom-customModule .module-container .tools .logos-choice>.logos-choice-buttons{display:none!important}
body#module-mm_custom-customModule .module-container .tools .rg-logo{display:flex;flex-direction:column;gap:.875rem;min-width:0;padding:1.25rem 0;border-bottom:1px solid var(--rg-border)}
body#module-mm_custom-customModule .module-container .tools .rg-logo:last-child{border-bottom:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo>.mm-tools-title{margin:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo__hint{margin:0;font-size:.6875rem!important;line-height:1.5;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .rg-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;flex:1;min-height:6.5rem;padding:1rem;border:1px dashed var(--rg-border-strong);border-radius:calc(var(--rg-radius) * 2);background:rgba(255,255,255,.02);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
body#module-mm_custom-customModule .module-container .tools .rg-drop:hover,body#module-mm_custom-customModule .module-container .tools .rg-drop.is-over,body#module-mm_custom-customModule .module-container .tools .rg-drop:focus-visible{border-color:var(--mm-accent);background:rgba(var(--rg-brand-rgb),.07);outline:0}
body#module-mm_custom-customModule .module-container .tools .rg-drop svg{width:1.75rem;height:1.75rem;fill:none;stroke:var(--mm-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body#module-mm_custom-customModule .module-container .tools .rg-drop strong{font-family:var(--rg-caps);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rg-text)}
body#module-mm_custom-customModule .module-container .tools .rg-drop span{font-size:.6875rem;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .rg-drop span u{text-decoration:underline;text-underline-offset:.2em;color:var(--rg-text)}
body#module-mm_custom-customModule .module-container .tools .rg-drop span em{font-style:normal}
body#module-mm_custom-customModule .module-container .tools .rg-picks{display:grid;grid-template-columns:repeat(4,minmax(0,100px));gap:.5rem}
body#module-mm_custom-customModule .module-container .tools .rg-pick{display:grid;place-items:center;aspect-ratio:1;padding:.5rem;border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);background:#fff;color:var(--rg-text-2);cursor:pointer;transition:border-color .2s,transform .2s}
body#module-mm_custom-customModule .module-container .tools .rg-pick img{width:100%;height:100%;object-fit:contain}
body#module-mm_custom-customModule .module-container .tools .rg-pick:hover{border-color:var(--mm-accent);transform:translateY(-1px)}
body#module-mm_custom-customModule .module-container .tools .rg-pick--dark{background:#1b1b1b;border-color:var(--rg-border-strong)}
body#module-mm_custom-customModule .module-container .tools .rg-pick--more{background:transparent;border-style:dashed;font-family:var(--rg-caps);font-size:.625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
body#module-mm_custom-customModule .module-container .tools .rg-lib-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;align-self:flex-start;min-height:2.5rem;padding:.25rem 1.25rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-pill);background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
body#module-mm_custom-customModule .module-container .tools .rg-lib-btn:hover{background:var(--rg-text);border-color:var(--rg-text);color:var(--rg-bg)}
body#module-mm_custom-customModule .module-container .tools .rg-lib-btn svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body#module-mm_custom-customModule .module-container .tools .rg-current{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:1rem;align-items:center}
body#module-mm_custom-customModule .module-container .tools .rg-thumb{display:grid;place-items:center;width:4.5rem;height:4.5rem;padding:.375rem;border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);background:var(--rg-surface-2);overflow:hidden}
body#module-mm_custom-customModule .module-container .tools .rg-thumb img,body#module-mm_custom-customModule .module-container .tools .rg-thumb svg{width:100%;height:100%;object-fit:contain}
body#module-mm_custom-customModule .module-container .tools .rg-thumb--empty{padding:0;background:transparent;border-style:dashed;color:var(--rg-text-2);font-family:var(--rg-caps);font-size:.5625rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;line-height:1.4}
body#module-mm_custom-customModule .module-container .tools .rg-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}
body#module-mm_custom-customModule .module-container .tools .rg-meta b{max-width:100%;font-size:.8125rem;font-weight:500;color:var(--rg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body#module-mm_custom-customModule .module-container .tools .rg-meta small{font-size:.6875rem;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .rg-remove{padding:0;border:0;background:transparent;color:var(--mm-accent);font-family:var(--rg-caps);font-size:.6875rem;letter-spacing:.06em;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
body#module-mm_custom-customModule .module-container .tools .rg-remove[hidden]{display:none}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size{display:flex;flex-direction:column;gap:.375rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.375rem .5rem;margin:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>.slider-logo-pixel-top{grid-column:2;grid-row:1}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>input[type=range]{grid-column:1/-1;margin:0!important}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>.slider-logo-pixel-top{position:static!important;display:flex;align-items:center;height:1.0625rem;margin:0!important;padding:0!important;transform:none!important}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>label{display:flex;align-items:center;height:1.0625rem;margin:0!important}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos__row{height:1.0625rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-sliders{align-items:start}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size,body#module-mm_custom-customModule .module-container .tools .rg-logo-pos{gap:.375rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size input[type=range],body#module-mm_custom-customModule .module-container .tools .rg-logo-pos input[type=range]{appearance:none;-webkit-appearance:none;background:transparent;height:1.125rem;margin:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>.mm-tools-title{margin:0 0 .25rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design>.logo-design-subtext{display:none}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size .logo-design .slider-logo-pixel-top p{margin:0!important;font-family:var(--rg-caps);font-size:.6875rem!important;color:var(--rg-text-2);white-space:nowrap}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size>.logo-design.hide+.rg-logo-size__empty,body#module-mm_custom-customModule .module-container .tools .rg-logo-size>.rg-logo-size__empty:first-child{display:flex}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size__empty{display:none;flex-direction:column;gap:.375rem;opacity:.45}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size__empty .mm-tools-title{display:flex;align-items:center;height:1.0625rem;margin:0;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .rg-logo-size__empty input{height:1.125rem;margin:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo--current .leave-empty-logo{margin:0;padding:0;border-top:0;width:auto;flex:0 0 auto}
body#module-mm_custom-customModule .module-container .tools .rg-logo-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos{display:flex;flex-direction:column;gap:.375rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos__row .mm-tools-title{margin:0}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos__val{font-family:var(--rg-caps);font-size:.6875rem;color:var(--rg-text-2);white-space:nowrap}
body#module-mm_custom-customModule .module-container .tools .rg-logo-pos input:disabled{opacity:.35}
body#module-mm_custom-customModule .module-container .tools .rg-logo-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
body#module-mm_custom-customModule .module-container .tools .rg-logo-hint{padding:0;border:0;background:transparent;color:var(--mm-accent);font-family:var(--rg-caps);font-size:.6875rem;letter-spacing:.06em;text-align:left;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
body#module-mm_custom-customModule .module-container .tools .rg-logo-hint[hidden]{display:none}

/* Toggles (hide text / hide logo) */
body#module-mm_custom-customModule .module-container .tools .leave-empty-logo,
body#module-mm_custom-customModule .module-container .tools .leave-empty-text{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.375rem 0 0;padding:1rem 0 .25rem;border-top:1px solid var(--rg-border)}
body#module-mm_custom-customModule .module-container .tools .leave-empty-logo p,
body#module-mm_custom-customModule .module-container .tools .leave-empty-text p{margin:0;font-family:var(--rg-caps);font-size:.6875rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--rg-text-2)!important}
body#module-mm_custom-customModule .leave-empty-slider{background-color:var(--rg-surface-3)}
body#module-mm_custom-customModule .leave-empty-slider:before{background-color:var(--rg-text)}
body#module-mm_custom-customModule input:checked + .leave-empty-slider{background-color:var(--rg-surface-3)}
body#module-mm_custom-customModule input:not(:checked) + .leave-empty-slider{background-color:var(--mm-accent)}
body#module-mm_custom-customModule input:not(:checked) + .leave-empty-slider:before{background-color:var(--rg-on-brand)}

/* The module's introduction ("click on the design...") is never shown: the page opens on the colours tool */
body#module-mm_custom-customModule .module-container .tools .mm-introduction{display:none!important}

/* Text input: underlined field */
body#module-mm_custom-customModule .inputTextDesign>input{width:100%;padding:.5rem 0 .625rem;border:0;border-bottom:1px solid var(--rg-border-strong);border-radius:0;background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:1.0625rem;font-weight:500;letter-spacing:.04em}
body#module-mm_custom-customModule .inputTextDesign>input:focus{outline:0;border-color:var(--mm-accent);box-shadow:none}

/* Printing note (custom.js), under the colour swatches */
body#module-mm_custom-customModule .rg-note{margin:.5rem 0 0;max-width:30rem;font-size:.6875rem;line-height:1.5;color:var(--rg-text-2)}

/* The module's intermediate "Customize the text" screen is not shown: clicking a text opens the editor (custom.js), the
   "Hide the text" switch lives under the editor toolbar */
body#module-mm_custom-customModule .module-container .tools .text-choice{display:none!important}
body#module-mm_custom-customModule .module-container .tools .rg-text-foot{display:flex;align-items:center;gap:1rem;margin-top:.25rem}
body#module-mm_custom-customModule .module-container .tools .rg-text-foot .leave-empty-text{margin:0!important;padding:0!important;border-top:0!important;width:auto!important;flex:0 0 auto;transform:none}

/* Logo text editor (custom.js): lines, line break, alignment. Replaces the single-line field while the logo text is selected */
/* the module's width / position sliders and font grid are hidden: the toolbar replaces them (font menu, size) */
body#module-mm_custom-customModule .module-container .tools .text-design>.slider-text-width-container,
body#module-mm_custom-customModule .module-container .tools .text-design>.slider-text-position-container,
body#module-mm_custom-customModule .module-container .tools .text-design>.fonts{display:none!important}
body#module-mm_custom-customModule .inputTextDesign{display:flex;flex-direction:column;gap:.75rem}
body#module-mm_custom-customModule .rg-text-editor{display:none}
body#module-mm_custom-customModule.rg-logo-text-sel .inputTextDesign>input{display:none}
body#module-mm_custom-customModule.rg-logo-text-sel .rg-text-editor{display:block}
body#module-mm_custom-customModule .rg-text-editor textarea{width:100%;padding:.375rem 0 .5rem;border:0;border-bottom:1px solid var(--rg-border-strong);border-radius:0;background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:1.0625rem;font-weight:500;letter-spacing:.04em;line-height:1.35;resize:none}
body#module-mm_custom-customModule .rg-text-editor textarea:focus{outline:0;border-color:var(--mm-accent);box-shadow:none}
body#module-mm_custom-customModule .rg-text-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}
body#module-mm_custom-customModule .rg-text-bar__logo{display:none}
body#module-mm_custom-customModule.rg-logo-text-sel .rg-text-bar__logo{display:contents}
body#module-mm_custom-customModule .rg-text-bar .rg-font{appearance:none;-webkit-appearance:none;height:2.125rem;max-width:11rem;padding:0 2rem 0 .875rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-radius);background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center/.875rem;color:var(--rg-text);font-family:var(--rg-caps);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-overflow:ellipsis;cursor:pointer}
body#module-mm_custom-customModule .rg-text-bar .rg-font:hover{border-color:var(--mm-accent)}
body#module-mm_custom-customModule .rg-text-bar .rg-font:focus{outline:0;border-color:var(--mm-accent)}
body#module-mm_custom-customModule .rg-text-bar .rg-font option{background:var(--rg-surface,#1c1c1c);color:var(--rg-text)}
body#module-mm_custom-customModule .rg-text-bar .rg-size{display:inline-flex;align-items:center;gap:.125rem}
body#module-mm_custom-customModule .module-container .tools .text-design .inputTextDesign .rg-size input{flex:none;width:3.25rem;min-width:0;height:2.125rem;padding:0;border:0;border-bottom:1px solid var(--rg-border-strong);border-radius:0;background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:.75rem;font-weight:500;text-align:center;-moz-appearance:textfield}
body#module-mm_custom-customModule .rg-text-bar .rg-size input::-webkit-outer-spin-button,body#module-mm_custom-customModule .rg-text-bar .rg-size input::-webkit-inner-spin-button{appearance:none;margin:0}
body#module-mm_custom-customModule .rg-text-bar .rg-size input:focus{outline:0;border-color:var(--mm-accent)}
body#module-mm_custom-customModule .rg-text-bar .rg-size button{font-family:var(--rg-caps);font-size:1rem;line-height:1}
body#module-mm_custom-customModule .rg-text-bar i{width:1px;height:1.25rem;margin:0 .375rem;background:var(--rg-border-strong)}
body#module-mm_custom-customModule .rg-text-bar button{flex:none;display:grid;place-items:center;width:2.125rem;height:2.125rem;padding:0;border:1px solid var(--rg-border-strong);border-radius:var(--rg-radius);background:transparent;color:var(--rg-text-2);cursor:pointer}
body#module-mm_custom-customModule .rg-text-bar button svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body#module-mm_custom-customModule .rg-text-bar button:hover{border-color:var(--mm-accent);color:var(--mm-accent)}
body#module-mm_custom-customModule .rg-text-bar button.on{border-color:var(--mm-accent);background:var(--mm-accent);color:var(--rg-on-brand)}
body#module-mm_custom-customModule .rg-text-bar button:disabled{opacity:.35;pointer-events:none}
body#module-mm_custom-customModule .rg-text-hint{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--mm-accent);font-family:var(--rg-caps);font-size:.6875rem;letter-spacing:.06em;text-align:left;text-decoration:underline;cursor:pointer}
body#module-mm_custom-customModule .rg-text-hint[hidden]{display:none}

/* Sliders */
body#module-mm_custom-customModule .module-container .tools input[type=range]{accent-color:var(--mm-accent);width:100%;background:transparent}
body#module-mm_custom-customModule .module-container .tools input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:var(--rg-border-strong)}
body#module-mm_custom-customModule .module-container .tools input[type=range]::-moz-range-track{height:2px;border-radius:2px;background:var(--rg-border-strong)}
body#module-mm_custom-customModule .module-container .tools input[type=range]::-webkit-slider-thumb{appearance:none;width:1.125rem;height:1.125rem;margin-top:-.5rem;border:3px solid var(--rg-bg);border-radius:50%;background:var(--mm-accent);box-shadow:0 0 0 1px var(--mm-accent)}
body#module-mm_custom-customModule .module-container .tools input[type=range]::-moz-range-thumb{width:.875rem;height:.875rem;border:3px solid var(--rg-bg);border-radius:50%;background:var(--mm-accent)}
body#module-mm_custom-customModule .module-container .tools [class*=pixel-top] p,
body#module-mm_custom-customModule .module-container .tools .slider-border-pixels p{font-family:var(--rg-caps);font-size:.6875rem!important;color:var(--rg-text-2)}
body#module-mm_custom-customModule .module-container .tools .erase-border{font-size:.75rem!important;color:var(--rg-text-2)!important;text-decoration:underline}

/* Fonts and Text / Border switch */
body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid .font{width:auto;padding:.875rem .5rem;border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);color:var(--rg-text-2);font-size:1.0625rem!important;line-height:1.2;white-space:nowrap}
body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid .font:hover{border-color:var(--rg-border-strong);color:var(--rg-text)}
body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid .active-font{border-color:var(--mm-accent);background:rgba(var(--rg-brand-rgb),.1);color:var(--mm-accent)}
body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons{gap:.5rem}
body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons div{width:auto;flex:1;padding:.5rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-radius);color:var(--rg-text-2);font-family:var(--rg-caps);font-size:.65625rem;letter-spacing:.14em;text-transform:uppercase}
body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons div:hover{border-color:var(--mm-accent);color:var(--mm-accent)}
body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons div.active{border-color:var(--mm-accent);background:var(--mm-accent);color:var(--rg-on-brand)}

/* ---------- Tool dock (bottom, centered under the mat) ---------- */
body#module-mm_custom-customModule .rg-dock{position:absolute;z-index:10;bottom:1.625rem;left:calc(var(--mm-panel-w) + var(--mm-gutter) * 2 + (100% - var(--mm-panel-w) - var(--mm-gutter) * 3) / 2);transform:translateX(-50%);display:flex;gap:.25rem;padding:.3125rem;background:var(--mm-glass);backdrop-filter:blur(14px);border:1px solid var(--rg-border);border-radius:var(--rg-radius)}
body#module-mm_custom-customModule .rg-dock button{display:flex;align-items:center;gap:.5625rem;height:2.875rem;padding:0 1.375rem;border:0;border-radius:var(--rg-radius);background:transparent;color:var(--rg-text-2);font-family:var(--rg-font);font-size:1rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
body#module-mm_custom-customModule .rg-dock button svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
body#module-mm_custom-customModule .rg-dock button:hover{color:var(--rg-text)}
body#module-mm_custom-customModule .rg-dock button.on{background:var(--rg-brand);color:var(--rg-on-brand)}

/* ---------- Price and add to cart: card bottom right ---------- */
body#module-mm_custom-customModule .module-footer{position:absolute;z-index:10;right:var(--mm-gutter);bottom:1.625rem;padding:.75rem .75rem .75rem 1.625rem;background:var(--mm-glass);backdrop-filter:blur(14px);border:1px solid var(--rg-border);border-radius:var(--rg-radius)}
body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{display:flex;align-items:center;gap:1.375rem}
body#module-mm_custom-customModule .module-footer .price{margin:0;font-family:var(--rg-caps);font-size:1.25rem;font-weight:500;color:var(--rg-text)!important}
body#module-mm_custom-customModule .module-footer form{margin:0}
body#module-mm_custom-customModule .module-footer .mm-btn-cart{min-height:3rem;padding:0 1.875rem;font-size:1.125rem;letter-spacing:.02em}

/* ---------- Modals ---------- */
body#module-mm_custom-customModule #modal-logo-choice-content,
body#module-mm_custom-customModule #modal-logos-library-content,
body#module-mm_custom-customModule .mm-modal{background:var(--rg-surface);color:var(--rg-text);border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);box-shadow:0 2rem 5rem rgba(0,0,0,.6)}
body#module-mm_custom-customModule #modal-logo-choice-content p,
body#module-mm_custom-customModule #modal-logo-choice-content label,
body#module-mm_custom-customModule #modal-logos-library-content p,
body#module-mm_custom-customModule .mm-modal p,
body#module-mm_custom-customModule .mm-modal label{color:var(--rg-text)}
body#module-mm_custom-customModule #modal-logo-choice-content .library-title{font-family:var(--rg-font);font-size:1.5rem;font-weight:400;text-transform:uppercase}
body#module-mm_custom-customModule #modal-logo-choice-content hr{border-color:var(--rg-border);opacity:1}
body#module-mm_custom-customModule #modal-logo-choice-content .logo-choice-circle{background:var(--rg-surface-3);color:var(--rg-text);border:1px solid var(--rg-border-strong)}
body#module-mm_custom-customModule #modal-logo-choice-content .logo-choice-info,
body#module-mm_custom-customModule #modal-logo-choice-content .logo-choice-info p{background:transparent;color:var(--rg-text-2)}
body#module-mm_custom-customModule #modal-logo-choice-content a{color:var(--mm-accent)}
body#module-mm_custom-customModule #logos-library,
body#module-mm_custom-customModule #modal-logo-choice-content label[for=import-logo]{border-radius:var(--rg-pill);border:1px solid var(--mm-accent);background:var(--mm-accent);color:var(--rg-on-brand);font-family:var(--rg-font);font-size:1rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase}
body#module-mm_custom-customModule #close-logos-library-modal img,
body#module-mm_custom-customModule .close-logo-modal img{filter:invert(1)}
body#module-mm_custom-customModule #modal-logos-library-content .sort-letters button{border:1px solid var(--rg-border-strong);border-radius:var(--rg-pill);background:transparent;color:var(--rg-text-2);font-family:var(--rg-caps);font-size:.75rem}
body#module-mm_custom-customModule #modal-logos-library-content .sort-letters button.active,
body#module-mm_custom-customModule #modal-logos-library-content .sort-letters button:hover{border-color:var(--mm-accent);background:transparent;color:var(--mm-accent)}
body#module-mm_custom-customModule #modal-logos-library-content .logos-block img{padding:.75rem;border-radius:calc(var(--rg-radius) * 2);background:#fff}
body#module-mm_custom-customModule #modal-logos-library-content .logos-block img[data-ink=wh]{background:#1b1b1b;border:1px solid var(--rg-border-strong)}
body#module-mm_custom-customModule #modal-logos-library-content .logos-block img{height:6rem;object-fit:contain;cursor:pointer}
body#module-mm_custom-customModule .save-auth-form input[type=email],
body#module-mm_custom-customModule .save-auth-form input[type=password],
body#module-mm_custom-customModule .save-auth-form input[type=text]{min-height:3rem;padding:.5rem 1rem;border:1px solid var(--rg-border-strong);border-radius:var(--rg-pill);background:transparent;color:var(--rg-text)}
body#module-mm_custom-customModule .save-auth-tab{color:var(--rg-text-2);font-family:var(--rg-caps);letter-spacing:.1em;text-transform:uppercase}
body#module-mm_custom-customModule .save-auth-tab.active{color:var(--rg-text);border-color:var(--mm-accent)}
body#module-mm_custom-customModule .save-auth-close{color:var(--rg-text)}

/* ---------- Narrow screens: mat on top, tool sheet, price bar, dock ---------- */
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule{--mm-gutter:1rem}
  body#module-mm_custom-customModule .module-top-bar{padding:.75rem 1rem;gap:.75rem}
  body#module-mm_custom-customModule .module-top-bar .module-title h1{font-size:.9375rem}
  body#module-mm_custom-customModule .module-top-bar .module-title .module-attribute{padding:.1875rem .5rem;font-size:.5625rem}
  body#module-mm_custom-customModule .module-top-bar .save-custom{display:none}
  body#module-mm_custom-customModule .rg-config-close{top:.75rem;width:2.25rem;height:2.25rem}
  body#module-mm_custom-customModule .module-container .template{top:4rem;bottom:auto;left:0;right:0;height:34svh}
  body#module-mm_custom-customModule .module-container .template .mat-pattern,
  body#module-mm_custom-customModule .module-container .template svg:not(#logo_group svg){width:min(92%,150vh)!important}
  body#module-mm_custom-customModule .module-container .info{left:0;right:0;top:calc(4rem + 34svh);bottom:7.5rem;width:auto;max-height:none;border-width:1px 0 0;border-radius:calc(var(--rg-radius) * 2) calc(var(--rg-radius) * 2) 0 0}
  body#module-mm_custom-customModule .module-container .tools{padding:1.125rem 1rem .5rem}
  body#module-mm_custom-customModule .module-footer{left:0;right:0;bottom:3.5rem;display:flex;align-items:center;justify-content:space-between;padding:.5rem .875rem .5rem 1.125rem;border-radius:0;border-width:1px 0 0;background:var(--rg-surface);backdrop-filter:none}
  body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{width:100%;justify-content:space-between;gap:.75rem}
  body#module-mm_custom-customModule .module-footer .price{font-size:1.0625rem}
  body#module-mm_custom-customModule .module-footer .mm-btn-cart{min-height:2.75rem;padding:0 1.5rem;font-size:.65625rem}
  body#module-mm_custom-customModule .rg-dock{left:0;right:0;bottom:0;transform:none;justify-content:space-around;height:3.5rem;padding:.375rem .5rem;border-width:1px 0 0;border-radius:0;background:var(--rg-bg);backdrop-filter:none}
  body#module-mm_custom-customModule .rg-dock button{flex:1;justify-content:center;height:2.75rem;padding:0 .75rem;gap:.375rem;font-size:.625rem;letter-spacing:.1em}
}

/* ---------- "You already have saved designs" modal ---------- */
body#module-mm_custom-customModule .mm-existing-overlay{background:rgba(0,0,0,.7);backdrop-filter:blur(6px)}
body#module-mm_custom-customModule .mm-existing-modal{background:var(--rg-surface);border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);box-shadow:0 2rem 5rem rgba(0,0,0,.6);color:var(--rg-text)}
body#module-mm_custom-customModule .mm-existing-title{font-family:var(--rg-font);font-size:1.375rem;font-weight:500;color:var(--rg-text)}
body#module-mm_custom-customModule .mm-existing-close{color:var(--rg-text-2)}
body#module-mm_custom-customModule .mm-existing-close:hover{color:var(--rg-text)}
body#module-mm_custom-customModule .mm-existing-item{border:1px solid var(--rg-border);border-radius:calc(var(--rg-radius) * 2);background:var(--rg-surface-2)}
body#module-mm_custom-customModule .mm-existing-loader{color:var(--rg-text-2)}
/* the module centers these rows with a 50% margin and a translate: reset */
body#module-mm_custom-customModule .module-container .tools .leave-empty-logo,
body#module-mm_custom-customModule .module-container .tools .leave-empty-text{margin:1.375rem 0 0;transform:none;width:100%}
body#module-mm_custom-customModule .module-container .tools .logos-choice .logos-choice-buttons .leave-empty-logo p,
body#module-mm_custom-customModule .module-container .tools .text-choice .text-choice-buttons .leave-empty-text p{margin-right:0}

/* ---------- Adjustments ---------- */
/* Save design on the same line as the close button */
body#module-mm_custom-customModule .module-top-bar .save-custom{position:absolute;top:1.125rem;right:calc(var(--mm-gutter) + 3.25rem);height:2.5rem;min-height:0;margin:0;padding:0 1.25rem}
/* bigger tag: 70px wide on desktop (the tag is 2716 x 2221, so about 57px high, in the 84px header) */
body#module-mm_custom-customModule .rg-config-logo{width:70px;height:auto;aspect-ratio:2716/2221}
body#module-mm_custom-customModule .rg-config-logo img{height:auto}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .rg-config-logo{width:2.5rem;height:2.5rem}
  /* price bar with a fixed height, stacked exactly above the dock */
  body#module-mm_custom-customModule .module-footer{height:3.75rem;bottom:3.5rem;padding-block:.5rem;box-sizing:border-box}
  body#module-mm_custom-customModule .rg-dock{height:3.5rem;box-sizing:border-box}
  body#module-mm_custom-customModule .module-container .info{bottom:7.25rem}
}

/* ---------- Color picker (iro.js popover, see custom.js) ---------- */
body#module-mm_custom-customModule .mm-wheel-canvas-box{display:none!important}
body#module-mm_custom-customModule .mm-wheel{flex-direction:row}
body#module-mm_custom-customModule .mm-wheel-swatch{position:relative}
body#module-mm_custom-customModule .mm-wheel-swatch::after{content:"";position:absolute;right:-.25rem;bottom:-.25rem;width:1.125rem;height:1.125rem;border:2px solid var(--rg-bg);border-radius:50%;background:conic-gradient(#f33,#ff3,#3f3,#3ff,#33f,#f3f,#f33)}
body#module-mm_custom-customModule .rg-pop{position:fixed;z-index:1200;display:none;padding:1rem 1rem .5rem;background:var(--mm-glass);backdrop-filter:blur(16px);border:1px solid var(--rg-border-strong);border-radius:calc(var(--rg-radius) * 2);box-shadow:0 1.5rem 4rem rgba(0,0,0,.6)}
body#module-mm_custom-customModule .rg-pop.is-open{display:block}
body#module-mm_custom-customModule .rg-pop .IroBox{border-radius:calc(var(--rg-radius) * 2)!important}
body#module-mm_custom-customModule .rg-pop .IroSlider{border-radius:20px!important}


/* ======================================================================
   LAYOUT V2 (mockup of 2026-10-15, desktop): header = tag + title | price, add to cart, save (icon), close; mat full
   width; tool tabs as a floating pill between the stage and the tool bar; the tool bar has a FIXED height, each tool
   on one row of groups separated by hairlines (no scroll, no re-layout when switching tool).
   ====================================================================== */
@media (min-width:1101px),(min-width:992px) and (orientation:landscape){
  body#module-mm_custom-customModule{--mm-bar-h:clamp(14.5rem,28vh,18rem);--mm-bar-bottom:1.75rem;--mm-header-h:5.25rem;--mm-pill-h:2.75rem}

  /* header */
  body#module-mm_custom-customModule .module-top-bar{height:var(--mm-header-h);padding:0 var(--mm-gutter)}
  body#module-mm_custom-customModule .rg-config-close{top:calc((var(--mm-header-h) - 2.5rem) / 2)}
  body#module-mm_custom-customModule .module-top-bar .save-custom{top:calc((var(--mm-header-h) - 2.5rem) / 2);right:calc(var(--mm-gutter) + 3.25rem);width:2.5rem;height:2.5rem;padding:0;font-size:0;background:rgba(0,0,0,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h11l3 3v13H5zM8 4v5h7V4M8 20v-6h8v6'/%3E%3C/svg%3E") center/1.0625rem no-repeat}
  body#module-mm_custom-customModule .module-top-bar .save-custom:hover{background-color:rgba(255,255,255,.12);border-color:var(--rg-text);color:var(--rg-text)}
  body#module-mm_custom-customModule .module-footer{top:calc((var(--mm-header-h) - 2.75rem) / 2);bottom:auto;right:calc(var(--mm-gutter) + 6.5rem);padding:0;background:none;border:0;border-radius:0;backdrop-filter:none}
  body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{gap:1.125rem}
  body#module-mm_custom-customModule .module-footer .price{font-size:1.125rem}
  body#module-mm_custom-customModule .module-footer .mm-btn-cart{min-height:2.75rem;padding:0 1.5rem;font-size:.6875rem}

  /* stage */
  body#module-mm_custom-customModule .module-container .template{left:var(--mm-gutter);right:var(--mm-gutter);top:calc(var(--mm-header-h) + .5rem);bottom:calc(var(--mm-bar-bottom) + var(--mm-bar-h) + var(--mm-pill-h) + 1.75rem)}
  body#module-mm_custom-customModule .module-container .template .mat-pattern,
  body#module-mm_custom-customModule .module-container .template svg:not(#logo_group svg){width:min(100%,calc((100vh - var(--mm-header-h) - .5rem - var(--mm-bar-bottom) - var(--mm-bar-h) - var(--mm-pill-h) - 3.75rem) * var(--mb-ratio,6)))!important}

  /* tabs: floating pill between the stage and the tool bar */
  body#module-mm_custom-customModule .rg-dock{left:50%;right:auto;transform:translateX(-50%);bottom:calc(var(--mm-bar-bottom) + var(--mm-bar-h) + .875rem)}

  /* tool bar: fixed height, one row of groups */
  body#module-mm_custom-customModule .module-container .info{left:var(--mm-gutter);right:var(--mm-gutter);top:auto;bottom:var(--mm-bar-bottom);width:auto;height:var(--mm-bar-h);max-height:none;overflow:hidden}
  body#module-mm_custom-customModule .module-container .tools{height:100%;padding:0}
  body#module-mm_custom-customModule .module-container .tools>div:not(.hide){height:100%}
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide),
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide){display:flex;flex-direction:row;align-items:stretch}
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide)>*,
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide)>*{display:flex;flex-direction:column;justify-content:center;gap:.875rem;min-width:0;margin:0!important;padding:0 1.75rem;border-right:1px solid var(--rg-border)}
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide)>*:last-child,
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide)>*:last-child{border-right:0}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-design-first-p,
  body#module-mm_custom-customModule .module-container .tools .text-design>.text-design-first-p,
  body#module-mm_custom-customModule .module-container .tools .text-design>.text-design-subtext{display:none!important}
  body#module-mm_custom-customModule .module-container .tools .mm-tools-title{margin:0}
  /* colors: [Zone] | custom colour | swatches. The two colour blocks sit side by side, centred in the bar (the Zone column
     fills the left, an empty one balances it on the right); a single zone shows no Zone column (the chips of one zone
     are of no use) */
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide){display:grid;grid-template-columns:1fr auto auto 1fr;grid-template-rows:100%;align-items:stretch}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.rg-zones{grid-column:1;grid-row:1}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-wheel{grid-column:2;grid-row:1;border-right:1px solid var(--rg-border)}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-trends{grid-column:3;grid-row:1;border-right:0}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-brands{grid-column:4;grid-row:1;border-right:0}
  /* the titles of the colour tool columns (Zone, Custom color, Colors) share one baseline: the columns start at the same height,
     about the middle of the bar (their content is some 7rem high) */
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide)>*{justify-content:flex-start;padding-top:max(1.25rem,calc((var(--mm-bar-h) - 7rem) / 2))}
  body#module-mm_custom-customModule .module-container .tools .colors-design:not(.hide)>.colors-section{padding-left:2.5rem;padding-right:2.5rem}
  body#module-mm_custom-customModule .rg-zones{display:grid!important;grid-template-columns:repeat(3,auto);justify-content:start;align-content:start;grid-auto-rows:min-content;gap:.625rem .5rem;margin:0}
  body#module-mm_custom-customModule .rg-zones::before{content:attr(data-label);grid-column:1/-1;font-family:var(--rg-caps);font-size:.65625rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rg-text)}
  body#module-mm_custom-customModule .rg-zones button{flex:none}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-trends,
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-brands{flex:1 1 auto}
  body#module-mm_custom-customModule .module-container .tools .colors-grid{grid-template-columns:repeat(auto-fill,2.125rem);gap:.75rem;padding:.25rem}
  body#module-mm_custom-customModule .module-container .tools .colors-design>.colors-section-brands:not(:has(.brand-color)){display:none!important}
  /* text: field | width | position | fonts | colors */
  /* text: two blocks of the same width, editor (field + toolbar) | colours, both starting at the top */
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:100%;align-items:stretch}
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide)>*{justify-content:flex-start;padding-top:1.5rem}
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide)>.inputTextDesign{gap:.75rem}
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide)>.font-colors{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-content:start;gap:.625rem 2rem;overflow-y:auto} /* Text / Outline, then custom colour | brands | colours on one row */
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .colors-section-brands .colors-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:2.125rem}
  /* rows: title / custom colour | brands | colours (no Outline: the Text / Outline buttons and the border slider are hidden) */
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>label.mm-tools-title{grid-column:1/-1;grid-row:1}
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>.font-colors-buttons,
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>.slider-input-border{display:none!important}
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>.colors-section-wheel{grid-column:1;grid-row:2}
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>.colors-section-brands{grid-column:2;grid-row:2}
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors>.colors-section-trends{grid-column:3;grid-row:2}
  body#module-mm_custom-customModule .module-container .tools .text-design>.font-colors:not(:has(.brand-color))>.colors-section-trends{grid-column:2/-1}
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .slider-input-border>label{margin-bottom:.25rem}
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .slider-border-levels{display:none}
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .erase-border{margin:.25rem 0 0}
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons{justify-content:flex-start}
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors .font-colors-buttons div{flex:0 0 auto;padding:.5rem 1.125rem}
  body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid{grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr))}
  body#module-mm_custom-customModule .module-container .tools .text-design .fonts .fonts-grid .font{padding:.625rem .375rem;font-size:.9375rem!important}

  /* several texts / several logo slots: a "Zone" block (chips) first, as in the colour tool */
  body#module-mm_custom-customModule .module-container .tools .text-design:not(.hide):has(>.rg-zones){grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,2fr))}
  body#module-mm_custom-customModule .module-container .tools .logos-choice:not(.hide):has(>.rg-zones){grid-template-columns:minmax(0,.7fr) repeat(3,minmax(0,1fr))}
  body#module-mm_custom-customModule .module-container .tools .logos-choice>.rg-zones{padding:1.5rem 1.75rem;border-right:1px solid var(--rg-border);align-content:start}
  body#module-mm_custom-customModule .module-container .tools .text-design>.rg-zones{align-content:start}

  /* choice screens (add text / add logo) and introduction */
  body#module-mm_custom-customModule .module-container .tools .text-choice:not(.hide){display:grid;grid-template-columns:minmax(14rem,1fr) minmax(14rem,22rem) minmax(12rem,1fr);gap:.5rem 2.5rem;align-items:center;align-content:center;padding:0 1.75rem!important}
  body#module-mm_custom-customModule .module-container .tools .leave-empty-logo,
  body#module-mm_custom-customModule .module-container .tools .leave-empty-text{margin:0;border-top:0;padding:0;width:auto;flex:1;justify-content:flex-start}
  /* logo: three blocks of the same width, import | library | your logo (custom.js), starting at the top */
  body#module-mm_custom-customModule .module-container .tools .logos-choice:not(.hide){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:100%;align-items:stretch;padding:0!important}
  body#module-mm_custom-customModule .module-container .tools .rg-logo{padding:1.5rem 1.75rem;border-right:1px solid var(--rg-border);border-bottom:0}
  body#module-mm_custom-customModule .module-container .tools .rg-logo:last-child{border-right:0}
  body#module-mm_custom-customModule .module-container .tools .rg-logo--current .rg-logo-foot{margin-top:auto}
  body#module-mm_custom-customModule .module-container .tools .rg-logo{gap:.625rem}
}

/* Short desktop screens (the tool bar is at its minimum height, 14.5rem): the library's explanatory line gives its room to the 100 px tiles */
@media (min-width:901px) and (max-height:829px){body#module-mm_custom-customModule .module-container .tools .rg-logo--library .rg-logo__hint{display:none}}

/* ---------- Narrow screens (v2): header compact, mat, tab pill, tool sheet, price bar ---------- */
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .module-top-bar .save-custom{display:flex;position:absolute;top:.75rem;right:calc(var(--mm-gutter) + 2.75rem);width:2.25rem;height:2.25rem;min-height:0;margin:0;padding:0;font-size:0;background:rgba(0,0,0,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h11l3 3v13H5zM8 4v5h7V4M8 20v-6h8v6'/%3E%3C/svg%3E") center/1rem no-repeat}
  body#module-mm_custom-customModule .module-container .template{top:4rem;height:30svh}
  body#module-mm_custom-customModule .rg-dock{left:50%;right:auto;bottom:auto;transform:translateX(-50%);top:calc(4rem + 30svh + .25rem);justify-content:center;height:auto;padding:.25rem;border:1px solid var(--rg-border);border-radius:var(--rg-radius);background:var(--mm-glass);backdrop-filter:blur(14px)}
  body#module-mm_custom-customModule .rg-dock button{flex:none;height:2.5rem;padding:0 1rem}
  body#module-mm_custom-customModule .module-container .info{top:calc(4rem + 30svh + 3.75rem);bottom:3.75rem}
  body#module-mm_custom-customModule .module-footer{bottom:0;height:3.75rem;box-sizing:border-box}
}


/* ---------- Actions cluster (JS groups price + add to cart, save design, close) and manufacturing time ---------- */
@media (min-width:1101px),(min-width:992px) and (orientation:landscape){
  body#module-mm_custom-customModule .rg-actions{position:absolute;z-index:11;top:calc((var(--mm-header-h) - 2.75rem) / 2);right:var(--mm-gutter);display:flex;align-items:center;gap:.75rem}
  body#module-mm_custom-customModule .rg-actions .module-footer{position:static;inset:auto;margin-right:.5rem;padding:0}
  body#module-mm_custom-customModule .rg-actions .save-custom{position:static;width:auto;height:2.75rem;min-height:0;margin:0;padding:0 1.25rem;font-size:.6875rem;background:rgba(0,0,0,.35);border:1px solid var(--rg-border-strong);color:var(--rg-text);backdrop-filter:blur(8px);white-space:nowrap}
  body#module-mm_custom-customModule .rg-actions .save-custom:hover{background:var(--rg-text);border-color:var(--rg-text);color:var(--rg-bg)}
  body#module-mm_custom-customModule .rg-actions .rg-config-close{position:static;width:2.75rem;height:2.75rem}
}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .rg-actions{display:contents}
  body#module-mm_custom-customModule .rg-actions .save-custom{display:flex;position:absolute;top:.75rem;right:calc(var(--mm-gutter) + 2.75rem);width:2.25rem;height:2.25rem;min-height:0;margin:0;padding:0;font-size:0;background:rgba(0,0,0,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h11l3 3v13H5zM8 4v5h7V4M8 20v-6h8v6'/%3E%3C/svg%3E") center/1rem no-repeat}
}
body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:1.125rem;row-gap:.125rem}
body#module-mm_custom-customModule .module-footer .add-to-shopping-cart .price{grid-column:1;grid-row:1;justify-self:end;line-height:1.1}
body#module-mm_custom-customModule .module-footer .add-to-shopping-cart form{grid-column:2;grid-row:1/span 2}
body#module-mm_custom-customModule .rg-lead{grid-column:1;grid-row:2;justify-self:end;font-family:var(--rg-caps);font-size:.625rem;font-weight:400;letter-spacing:.04em;line-height:1.2;color:var(--rg-text-2);white-space:nowrap}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{width:100%;grid-template-columns:1fr auto}
  body#module-mm_custom-customModule .module-footer .add-to-shopping-cart .price,
  body#module-mm_custom-customModule .rg-lead{justify-self:start}
}

/* ---------- Smaller tab pill ---------- */
body#module-mm_custom-customModule .rg-dock{gap:.125rem;padding:.25rem}
body#module-mm_custom-customModule .rg-dock button{height:2.25rem;padding:0 1rem;gap:.4375rem;font-size:.625rem;letter-spacing:.12em}
body#module-mm_custom-customModule .rg-dock button svg{width:.9375rem;height:.9375rem}
@media (min-width:1101px),(min-width:992px) and (orientation:landscape){
  body#module-mm_custom-customModule .rg-dock{bottom:calc(var(--mm-bar-bottom) + var(--mm-bar-h) + .75rem)}
}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .rg-dock button{height:2rem;padding:0 .75rem;font-size:.5625rem}
  body#module-mm_custom-customModule .module-container .info{top:calc(4rem + 30svh + 3.25rem)}
}

/* Close button: white background */
body#module-mm_custom-customModule .rg-config-close{background:#fff;border-color:#fff;color:var(--rg-on-brand);backdrop-filter:none}
body#module-mm_custom-customModule .rg-config-close:hover{background:#e6e6e3;border-color:#e6e6e3;color:var(--rg-on-brand)}


/* "Your design here": label laid over the empty logo slot (custom.js), not part of the SVG; vertical like the logo */
body#module-mm_custom-customModule .rg-slot-label{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;padding:.25rem;pointer-events:none;writing-mode:vertical-rl;text-align:center;font-family:var(--rg-caps);font-size:clamp(.5rem,.8vw,.75rem);font-weight:500;letter-spacing:.18em;text-transform:uppercase;line-height:1.3;color:rgba(255,255,255,.72);text-shadow:0 1px 2px rgba(0,0,0,.45)}
body#module-mm_custom-customModule .rg-slot-label--ccw{transform:rotate(180deg)}
body#module-mm_custom-customModule .rg-slot-label--flat{writing-mode:horizontal-tb}
/* Logo drag and drop: grab cursor on the placed logo, yellow guide where it catches on the slot's edges / centre */
body#module-mm_custom-customModule svg [id^="logo_group"]>image,body#module-mm_custom-customModule svg [id^="logo_group"]>svg,body#module-mm_custom-customModule svg#template text{cursor:grab}
body#module-mm_custom-customModule.rg-logo-dragging,body#module-mm_custom-customModule.rg-logo-dragging *{cursor:grabbing!important;user-select:none}
body#module-mm_custom-customModule .rg-snap-guide{position:absolute;z-index:2;pointer-events:none;background:var(--rg-brand);box-shadow:0 0 6px rgba(var(--rg-brand-rgb),.7)}
body#module-mm_custom-customModule .rg-snap-guide[hidden]{display:none}
body#module-mm_custom-customModule .rg-slot-label[hidden]{display:none}

/* ---------- Mat zoom (viewport added by custom.js: .rg-viewport > .template, controls .rg-zoom) ---------- */
body#module-mm_custom-customModule .module-container .rg-viewport{position:absolute;z-index:1;overflow:hidden;touch-action:none;overscroll-behavior:contain}
body#module-mm_custom-customModule .module-container .rg-viewport.is-zoomed{cursor:grab}
/* Desktop: the mat fits its stage, so the viewport only clips once zoomed; until then the drop shadow of the mat (30px down, 70px blur) is not cut at the bottom */
@media (min-width:1101px),(min-width:992px) and (orientation:landscape){
  body#module-mm_custom-customModule .module-container .rg-viewport:not(.is-zoomed){overflow:visible}
}
body#module-mm_custom-customModule .module-container .rg-viewport.is-dragging{cursor:grabbing}
body#module-mm_custom-customModule .module-container .rg-rot{display:contents}
body#module-mm_custom-customModule .module-container .rg-viewport .template{position:absolute;inset:0;transform-origin:50% 50%}
body#module-mm_custom-customModule .module-container .rg-viewport.is-moving .template{will-change:transform}
body#module-mm_custom-customModule .module-container .rg-viewport.is-dragging .template{transition:none}
body#module-mm_custom-customModule .rg-zoom{position:absolute;z-index:5;right:.875rem;bottom:.875rem;display:flex;align-items:center;gap:.125rem;padding:.25rem;background:var(--mm-glass);backdrop-filter:blur(14px);border:1px solid var(--rg-border);border-radius:var(--rg-radius)}
body#module-mm_custom-customModule .rg-zoom button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--rg-radius);background:transparent;color:var(--rg-text);font-family:var(--rg-caps);font-size:1.0625rem;line-height:1;cursor:pointer;transition:background-color .2s}
body#module-mm_custom-customModule .rg-zoom button:hover{background:rgba(255,255,255,.14)}
body#module-mm_custom-customModule .rg-zoom__value{min-width:2.75rem;text-align:center;font-family:var(--rg-caps);font-size:.625rem;font-weight:500;letter-spacing:.08em;color:var(--rg-text-2)}
@media (min-width:1101px),(min-width:992px) and (orientation:landscape){
  body#module-mm_custom-customModule .module-container .rg-viewport{left:var(--mm-gutter);right:var(--mm-gutter);top:calc(var(--mm-header-h) + .5rem);bottom:calc(var(--mm-bar-bottom) + var(--mm-bar-h) + var(--mm-pill-h) + 1.75rem)}
}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .module-container .rg-viewport{top:4rem;left:0;right:0;height:30svh}
  body#module-mm_custom-customModule .rg-zoom{right:.5rem;bottom:.375rem}
}
body#module-mm_custom-customModule .module-container .rg-viewport .template{top:0!important;bottom:0!important;left:0!important;right:0!important;height:auto!important}

/* ---------- Mat printing: the SVG is inlaid (overlay) over the fabric texture, slightly blurred like ink on felt ---------- */
body#module-mm_custom-customModule{--mm-mat-ink:.95}
body#module-mm_custom-customModule .module-container .template:not(.barnum) svg:not([id*="logo_group"] svg){mix-blend-mode:overlay;opacity:var(--mm-mat-ink);filter:none}
/* The border (group "fixed") is printed flat: no inlay over the texture. custom.js draws it again in a second SVG
   (.mm-frame, same size and place, normal blend) over the inlaid one; the original stays in the template (saved design,
   cart) and is only hidden here */
body#module-mm_custom-customModule .module-container .template svg#template #fixed{visibility:hidden}
/* The logo is blurred a little (SVG filter #mb-logo-blur, built by custom.js: url() works in Safari, blur() does not on SVG elements) and 5 % transparent so that its inlay looks like ink on felt */
body#module-mm_custom-customModule .module-container .template svg#template #logo_group{filter:url(#mb-logo-blur);opacity:.95}
body#module-mm_custom-customModule .module-container .template:not(.barnum) svg.mm-frame:not([id*="logo_group"] svg){position:absolute;top:50%;left:50%;height:auto;transform:translate(-50%,-50%);mix-blend-mode:normal;opacity:1;filter:none;pointer-events:none}
body#module-mm_custom-customModule .module-container .template .mat-pattern{object-fit:cover}

/* ---------- Exit confirmation (unsaved changes) ---------- */
body#module-mm_custom-customModule .rg-exit .rg-exit__title{margin:0 0 .5rem;font-family:var(--rg-font);font-size:1.375rem;font-weight:500;color:var(--rg-text)}
body#module-mm_custom-customModule .rg-exit .save-success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.625rem;margin-top:1.25rem}

/* ---------- Variant switcher in the header (size, hand) ---------- */
body#module-mm_custom-customModule .module-top-bar .module-attributes.is-switcher{display:block}
body#module-mm_custom-customModule .rg-variants{display:flex;flex-wrap:wrap;gap:.5rem}
body#module-mm_custom-customModule .rg-variant{display:inline-flex;gap:.125rem;padding:.125rem;border:1px solid var(--rg-border);border-radius:var(--rg-radius)}
body#module-mm_custom-customModule .rg-variant button{padding:.3125rem .75rem;border:0;border-radius:var(--rg-radius);background:transparent;color:var(--rg-text-2);font-family:var(--rg-caps);font-size:.625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}
body#module-mm_custom-customModule .rg-variant button:hover{color:var(--rg-text)}
body#module-mm_custom-customModule .rg-variant button.on{background:var(--rg-text);color:#111}
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule .rg-variant button{padding:.25rem .5rem;font-size:.5625rem;letter-spacing:.08em}
}

/* Manufacturing time: uppercase, light */
body#module-mm_custom-customModule .rg-lead{font-size:.5625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--rg-text-soft)}


/* ======================================================================
   PHONES (<= 600px) AND TABLETS IN PORTRAIT (601 to 991px; mockup of 2026-10-17). Same page as the desktop (the module's standalone mobile page is not used any
   more, see MM_CUSTOM_MOBILE_PAGE in the controller): the mat stands vertical in the left quarter (target at the top,
   RHYTHM mark at the bottom: custom.js turns .rg-rot 90° clockwise), the tools take the right three quarters (tabs on
   top, content scrolls), the price and Add to cart sit in a fixed bar at the bottom. The desktop (>= 992px) and the
   narrow windows in landscape (601 to 991px) stay as they were.
   ====================================================================== */
@media (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule{--mm-top:5.5rem;--mm-foot:3.5rem;--mm-rail:clamp(7rem,33.333%,12rem);--mm-bottom:calc(var(--mm-foot) + env(safe-area-inset-bottom,0px))}
  /* header, two rows: tag + title, then the size / hand pills across; save and close at the right of the first row */
  body#module-mm_custom-customModule .module-top-bar{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:.625rem;row-gap:.5rem;height:var(--mm-top);padding:.5rem .75rem;border-bottom:1px solid var(--rg-border)}
  body#module-mm_custom-customModule .module-top-bar .rg-config-logo{grid-column:1;grid-row:1;width:2.25rem;height:2.25rem}
  body#module-mm_custom-customModule .module-top-bar .module-title{display:contents}
  body#module-mm_custom-customModule .module-top-bar .module-title h1{grid-column:2;grid-row:1;margin:0;padding-right:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem}
  body#module-mm_custom-customModule .module-top-bar .module-title .module-attributes{grid-column:1/-1;grid-row:2;margin:0}
  body#module-mm_custom-customModule .rg-variants{flex-wrap:nowrap;gap:.375rem}
  body#module-mm_custom-customModule .rg-variant button{padding:.25rem .5rem;font-size:.5rem;letter-spacing:.06em}
  body#module-mm_custom-customModule .rg-config-close{top:.5rem;right:.75rem;width:2.25rem;height:2.25rem}
  body#module-mm_custom-customModule .rg-actions .save-custom,
  body#module-mm_custom-customModule .module-top-bar .save-custom{top:.5rem;right:calc(.75rem + 2.25rem + .5rem);z-index:12}
  /* the title spans under the two buttons (its right padding): it must not catch their taps */
  body#module-mm_custom-customModule .module-top-bar .module-title h1{pointer-events:none}
  /* rail: the vertical mat */
  body#module-mm_custom-customModule .module-container .rg-viewport{top:var(--mm-top);left:0;right:auto;width:var(--mm-rail);height:auto;bottom:var(--mm-bottom);border-right:1px solid var(--rg-border);container-type:size}
  body#module-mm_custom-customModule .module-container .rg-rot{display:block;position:absolute;left:50%;top:50%;width:100cqh;height:100cqw;transform:translate(-50%,-50%) rotate(90deg)}
  body#module-mm_custom-customModule .module-container .rg-viewport .template .mat-pattern,
  body#module-mm_custom-customModule .module-container .rg-viewport .template svg:not(#logo_group svg){width:min(88%,calc(var(--mb-ratio,6.8) * 100cqw))!important}
  body#module-mm_custom-customModule .rg-zoom{left:50%;right:auto;bottom:.5rem;transform:translateX(-50%);padding:.125rem;gap:0}
  body#module-mm_custom-customModule .rg-zoom button{width:1.625rem;height:1.625rem;font-size:.9375rem}
  body#module-mm_custom-customModule .rg-zoom button:last-child{display:none}
  body#module-mm_custom-customModule .rg-zoom__value{min-width:1.875rem;font-size:.5rem;letter-spacing:.02em}
  /* tabs on top of the right column, tool panel below */
  body#module-mm_custom-customModule .rg-dock{top:calc(var(--mm-top) + .5rem);left:calc(var(--mm-rail) + .625rem);right:.625rem;bottom:auto;transform:none;width:auto;justify-content:stretch;height:auto;padding:.1875rem;border:1px solid var(--rg-border);border-radius:var(--rg-radius);background:var(--mm-glass);backdrop-filter:blur(14px)}
  body#module-mm_custom-customModule .rg-dock button{flex:1;justify-content:center;height:1.875rem;padding:0 .25rem;gap:.25rem;font-size:.5625rem;letter-spacing:.06em}
  body#module-mm_custom-customModule .rg-dock button svg{width:.8125rem;height:.8125rem}
  body#module-mm_custom-customModule .module-container .info{left:var(--mm-rail);right:0;top:calc(var(--mm-top) + 3.25rem);bottom:var(--mm-bottom);width:auto;max-height:none;border-width:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}
  body#module-mm_custom-customModule .module-container .tools{padding:.625rem .625rem 1.25rem}
  /* compact tool content in the narrow column */
  body#module-mm_custom-customModule .module-container .tools .colors-design-first-p,
  body#module-mm_custom-customModule .module-container .tools .text-design-first-p,
  body#module-mm_custom-customModule .module-container .tools .text-design-subtext{display:none!important}
  body#module-mm_custom-customModule .module-container .tools .mm-tools-title{font-size:.5625rem!important;letter-spacing:.16em}
  /* no Outline on phones either (as on the desktop): the Text / Outline buttons and the border slider are hidden */
  body#module-mm_custom-customModule .module-container .tools .text-design .font-colors-buttons,
  body#module-mm_custom-customModule .module-container .tools .text-design .slider-input-border{display:none!important}
  body#module-mm_custom-customModule .rg-zones{gap:.3125rem}
  body#module-mm_custom-customModule .rg-zones button{flex:0 0 auto;padding:.3125rem .5rem;font-size:.5rem;letter-spacing:.06em}
  body#module-mm_custom-customModule .mm-wheel-hex{width:5.75rem;padding:.4375rem .75rem;font-size:.625rem}
  body#module-mm_custom-customModule .mm-wheel-swatch{width:2.75rem;height:2.75rem}
  body#module-mm_custom-customModule .module-container .tools .colors-grid{grid-template-columns:repeat(auto-fill,1.75rem);gap:.5rem;padding:.125rem}
  /* the tool blocks scroll (overflow: auto): a little room at the sides so the ring of the chosen swatch is not cut */
  body#module-mm_custom-customModule .module-container .tools .colors-design,
  body#module-mm_custom-customModule .module-container .tools .text-design{padding-inline:.4375rem!important}
  /* fixed bar at the bottom: price and manufacturing time, Add to cart */
  body#module-mm_custom-customModule .module-footer{left:0;right:0;bottom:0;height:var(--mm-bottom);padding:.375rem .75rem calc(.375rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;align-items:center;z-index:12}
  body#module-mm_custom-customModule .module-footer .add-to-shopping-cart{width:100%;grid-template-columns:1fr auto;column-gap:.75rem}
  body#module-mm_custom-customModule .module-footer .price{font-size:1rem}
  body#module-mm_custom-customModule .module-footer .mm-btn-cart{min-height:2.25rem;min-width:8rem;padding:0 1rem;font-size:.5625rem;letter-spacing:.14em}
  body#module-mm_custom-customModule .rg-lead{font-size:.4375rem;letter-spacing:.08em}
}

/* Tablets in portrait (iPad mini and up, 601 to 991px): the two columns are split 50 / 50 (the mat's side gets room to zoom) */
@media (min-width:601px) and (max-width:991.98px),(min-width:992px) and (max-width:1100px) and (orientation:portrait){
  body#module-mm_custom-customModule{--mm-rail:50%}
}
