/* Almargen Lumina 5.3 — isolated, mobile-first accessible configurator. */
.lumina{--lm-ink:#1d281e;--lm-muted:#435344;--lm-line:#d6dfd2;--lm-paper:#f6f8f3;--lm-green:#d9ff70;--lm-accent:#263f21;box-sizing:border-box;width:min(100%,1440px);margin:24px auto 46px;padding:clamp(16px,2.6vw,38px);color:var(--lm-ink);background:var(--lm-paper);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;clear:both;isolation:isolate}
.lumina *,.lumina *::before,.lumina *::after{box-sizing:border-box}
.lumina [hidden]{display:none!important}
.lumina button,.lumina input,.lumina select{font:inherit}
.lumina button{cursor:pointer;line-height:1.3}
.lumina button:disabled{opacity:.57;cursor:not-allowed}
.lumina :is(button,input,select):focus-visible{outline:3px solid #527b20!important;outline-offset:3px}
.lumina p{margin:0}.lumina h1,.lumina h2,.lumina h3{color:var(--lm-ink);font-family:inherit;text-transform:none}
.lm-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.lm-eyebrow,.lm-overline{display:block;color:#49633a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.lm-intro h1{font-size:clamp(32px,4vw,57px);font-weight:750;letter-spacing:-.05em;line-height:1.07;margin:9px 0 13px}
.lm-intro h1 em{font-family:Georgia,serif;font-weight:400;color:#476233}
.lm-intro p{color:var(--lm-muted);max-width:670px;font-size:15px;line-height:1.65}
.lm-intro-note{color:#344b2e;background:#e8f3db;border:1px solid #c9ddba;padding:9px 13px;border-radius:30px;font-size:12px;font-weight:700;white-space:nowrap}
.lm-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(345px,.85fr);align-items:start;gap:18px;min-width:0}
.lm-preview{position:sticky;top:18px;min-width:0;height:min(76vh,710px);min-height:515px;background:#e0dfd8;color:#212a22;border:1px solid #d2dacd;border-radius:20px;overflow:hidden;box-shadow:0 14px 45px #2538260d}
.lm-canvas{position:absolute;inset:0}.lm-canvas canvas{display:block;width:100%;height:100%;touch-action:none}
.lm-scene-head,.lm-scene-foot{position:absolute;z-index:3;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.lm-scene-head{top:20px}.lm-scene-foot{bottom:17px}.lm-live{font-size:12px;font-weight:800;color:#1f3521;background:#f7f9f0d9;border:1px solid #d6ddd0;padding:9px 11px;border-radius:30px;backdrop-filter:blur(8px)}
.lm-live i{display:inline-block;width:8px;height:8px;background:#4f9c37;border-radius:50%;margin-right:5px}
.lumina .lm-light,.lumina .lm-reset{border:1px solid #cdd8c8;background:#f7f9f3ed;color:#1d321f;padding:10px 12px;border-radius:30px;font-weight:700;font-size:12px;white-space:nowrap}
.lm-scene-foot>span{font-size:11px;color:#1e3220;background:#f8f9f4df;padding:6px 9px;border-radius:12px}
.lm-dimension{position:absolute;bottom:145px;left:0;right:0;text-align:center;z-index:2;pointer-events:none;font-weight:750;font-size:13px}
.lm-dimension span{background:#f8f9f2e6;border:1px solid #cbd9c4;border-radius:30px;padding:6px 12px}
.lm-view-controls{display:flex;gap:3px;position:absolute;z-index:4;bottom:94px;left:50%;transform:translateX(-50%);padding:4px;border-radius:40px;background:#f6f8f4ec;border:1px solid #cad7c3;box-shadow:0 5px 18px #1a241a13}
.lumina .lm-view{font-size:12px;color:#24402a;background:transparent;border:0;border-radius:28px;padding:9px 15px;font-weight:700;white-space:nowrap}
.lumina .lm-view[aria-pressed=true]{color:#fff;background:#29482b}
.lm-zoom{position:absolute;z-index:3;bottom:59px;right:20px;display:flex;gap:5px}.lumina .lm-zoom button{width:35px;height:35px;border-radius:10px;border:1px solid #b9cbb3;background:#f6f9f0f5;color:#254326;font-size:22px;font-weight:700;padding:0;line-height:1}.lm-wall{position:absolute;bottom:60px;left:20px;display:flex;gap:9px;align-items:center;z-index:3}
.lm-wall span{font-size:11px;font-weight:700;color:#243b2a;background:#f8f9f2d9;border-radius:12px;padding:5px}
.lumina .lm-wall button{width:25px;height:25px;border:2px solid #8e9d8c;border-radius:50%;background:#2f3831;padding:0;flex:none}
.lumina .lm-wall button[data-wall=light]{background:#e9e4da}
.lumina .lm-wall button[aria-pressed=true]{outline:2px solid #32632c;outline-offset:2px}
.lm-loading{position:absolute;inset:40% 12% auto;z-index:5;padding:16px;text-align:center;border-radius:14px;background:#203023eb;color:#f1ffd6;font-weight:700;font-size:14px}
.lm-watermark{position:absolute;z-index:2;top:50%;left:0;width:100%;transform:translateY(-50%);padding:8px 0;background:#ffffff1b;pointer-events:none;user-select:none}
.lm-watermark img{display:block;width:75%;max-width:440px;height:auto;margin:auto;opacity:.17}
.lm-controls{min-width:0;max-width:100%;margin:0!important;padding:clamp(19px,2.4vw,33px);background:#fff;border:1px solid var(--lm-line);border-radius:20px;box-shadow:0 14px 45px #2436250a}
.lm-control-intro h2{font-size:clamp(24px,2vw,31px);font-weight:800;letter-spacing:-.035em;margin:3px 0 5px}
.lm-control-intro p,.lm-step-title p{color:#536254;font-size:13px}
.lm-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:15px 0 18px;margin:11px 0 8px;border-bottom:1px solid var(--lm-line)}
.lumina .lm-step-link{display:flex;gap:7px;align-items:center;justify-content:center;background:#f5f7f2;border:1px solid #e0e6dc;color:#405140;border-radius:10px;font-size:12px;font-weight:750;padding:9px 4px;min-width:0}
.lm-step-link b{width:22px;height:22px;flex:none;display:grid;place-items:center;background:#dce5d6;color:#284327;border-radius:50%;font-size:11px}
.lumina .lm-step-link[aria-current=step]{background:#eaf7d9;border-color:#7c9f60;color:#243b1f}.lumina .lm-step-link.is-complete b{background:#2b5c28;color:#fff}
.lm-step{padding:18px 0 19px;border-bottom:1px solid var(--lm-line);scroll-margin-top:24px}
.lm-step-title{display:flex;align-items:start;gap:12px;margin-bottom:20px}
.lm-step-number{flex:none;display:grid;place-items:center;height:36px;width:36px;border-radius:12px;background:#eff6e5;border:1px solid #cddcbd;color:#335526;font-size:13px;font-weight:800}
.lm-step h3{font-size:19px;font-weight:800;letter-spacing:-.025em;line-height:1.3;margin:0 0 3px}
.lm-label{display:block;font-size:13px;font-weight:750;color:#243826;margin-bottom:7px}
.lumina :is(.lm-shape,.lm-selects select,.lm-text){display:block;width:100%;border:1px solid #adbdab;background:#fff;color:#1e3021;border-radius:10px;min-height:46px;padding:10px 12px;margin:7px 0 0;box-shadow:none}
.lumina :is(.lm-shape,.lm-selects select):hover,.lumina .lm-text:hover{border-color:#62815b}
.lm-mode-label{margin:20px 0 9px}.lm-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}
.lumina .lm-mode-tabs button{border:1px solid #b7c4b0;background:#fff;border-radius:11px;color:#304333;min-height:52px;padding:9px 8px;font-size:13px;font-weight:750}
.lumina .lm-mode-tabs button[aria-pressed=true]{border:2px solid #315923;background:#eff9df;color:#1c3a1e}
.lumina .lm-text{font-size:18px;font-weight:650}.lumina .lm-text[aria-invalid=true]{border:2px solid #b12f32;background:#fffafa}
.lm-count,.lm-logo-size,.lm-width-label{float:right;font-size:13px;font-weight:800;color:#345b2b}
.lm-help{color:#526450;font-size:12px;line-height:1.5;margin-top:8px!important}
.lm-field-error{font-size:12px;color:#a3232b;font-weight:650;margin-top:5px!important;min-height:0}
.lm-field-error:empty{display:none}.lm-field{margin-top:19px}
.lm-logo-panel{padding:14px;border:1px dashed #90ad81;background:#f6faef;border-radius:13px}
.lm-logo-panel.is-dragging{border:2px solid #325b27;background:#e6f4d4}
.lumina .lm-change-logo{width:100%;display:block;border:2px dashed #8bac7b;border-radius:11px;min-height:85px;background:#fff;color:#234a23;padding:16px 12px;font-weight:800;font-size:14px}
.lm-change-logo small{display:block;font-size:11px;color:#435b3c;font-weight:550;margin-top:7px}
.lm-logo-success{display:flex;align-items:center;gap:11px;margin:12px 0;padding:9px;background:#fff;border:1px solid #d8e5d1;border-radius:10px}
.lm-logo-thumb{width:55px;height:55px;object-fit:contain;background:#f0f0ec;border-radius:8px}
.lm-logo-filename{font-size:12px;font-weight:750;overflow-wrap:anywhere}
.lm-upload-status{font-size:12px;font-weight:700;color:#315d2b;margin:8px 0!important}.lm-upload-status.is-error{color:#a3232b}
.lm-logo-size-label{margin-top:13px}.lm-logo-scale{width:100%;display:block;margin:12px 0 4px;accent-color:#335b2e;cursor:pointer}
.lumina .lm-remove-logo,.lumina .lm-start-over{border:0;background:transparent;padding:8px 0;color:#30552b;text-decoration:underline;text-underline-offset:3px;font-weight:750;font-size:12px}
.lm-fonts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lumina .lm-fonts button{display:flex;gap:11px;align-items:center;text-align:left;min-height:58px;padding:10px 12px;background:#fff;color:#2b3c2e;border:1px solid #b7c5b1;border-radius:11px}
.lumina .lm-fonts button[aria-pressed=true]{background:#ecf8e1;border:2px solid #3c642f}
.lm-fonts b{font-size:25px;font-weight:500}.lm-fonts [data-font=dmserif] b{font-family:Georgia,serif}
.lm-fonts span{font-weight:750;font-size:13px}.lm-color-name{float:right;color:#31562b;font-size:13px}
.lm-swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;justify-items:center;gap:8px;margin-top:12px}
.lumina .lm-swatches button{width:34px;height:34px;border-radius:50%;border:2px solid #bac6b6;background:var(--swatch);padding:0;position:relative;min-width:0}
.lumina .lm-swatches button[aria-pressed=true]{outline:2px solid #234c25;outline-offset:3px}
.lumina .lm-swatches button[aria-pressed=true]::after{content:'✓';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#1b241e;font-size:14px;font-weight:900;text-shadow:0 1px 1px #ffffffc0}
.lm-size-adjust{display:flex;align-items:center;gap:12px;margin-top:12px}
.lumina .lm-size-adjust button{width:42px;height:42px;flex:none;background:#f2f7ed;color:#244327;border:1px solid #b7c7b0;border-radius:10px;font-size:24px;font-weight:550;padding:0}
.lumina .lm-width{width:100%;flex:1;min-width:0;margin:0;padding:0;accent-color:#375d28;cursor:pointer}
.lm-range-labels{display:flex;justify-content:space-between;color:#5a6958;font-size:12px;margin:5px 55px 0}
.lm-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:21px}
.lm-selects label{color:#243826;font-size:13px;font-weight:750;min-width:0}
.lumina .lm-selects select{font-size:13px;padding:8px;min-width:0;margin-top:8px}
.lm-backing-label{grid-column:1 / -1}
.lumina .lm-open-preview{display:none;background:#eef7e7;border:1px solid #a0bb92;color:#294329;border-radius:9px;padding:12px;width:100%;margin-top:18px;font-size:13px;font-weight:750}
.lm-step-review{border-bottom:0;padding-bottom:0}.lm-summary{background:#f5f8f1;border:1px solid #d9e4d3;padding:7px 13px;border-radius:13px;margin:0 0 16px}
.lm-summary div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #e0e7da}.lm-summary div:last-child{border-bottom:0}
.lm-summary dt{font-size:12px;font-weight:700;color:#4a594a;flex:0 0 33%}.lm-summary dd{margin:0;font-size:12px;color:#1f3924;font-weight:750;text-align:right;overflow-wrap:anywhere}
.lm-checkout{padding:14px;background:#203a24;color:#fff;border:1px solid #203a24;border-radius:13px}
.lm-checkout-price{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.lm-checkout-price>span{font-size:12px;color:#e9f1e3;font-weight:600}.lm-price{font-size:clamp(19px,2vw,25px);font-weight:850;color:#fff;letter-spacing:-.025em;text-align:right}
.lm-price .woocommerce-Price-amount,.lm-price .woocommerce-Price-currencySymbol{color:inherit}.lm-price small{font-size:10px;display:block}
.lumina .lm-submit{width:100%;background:var(--lm-green);color:#193014;border:0;border-radius:10px;min-height:51px;padding:11px 15px;font-size:14px;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:10px}
.lumina .lm-submit:disabled{opacity:.77;background:#d8e5cc;color:#28372d}
.lm-message{font-size:12px;color:#ffdfb7;line-height:1.5;margin-top:10px!important;font-weight:650}.lm-message:empty{display:none}
.lumina .lm-retry{width:100%;color:#fff;background:#305c36;border:1px solid #90b78a;border-radius:9px;padding:9px;margin-top:10px;font-size:12px;font-weight:750}
.lm-footnote{font-size:12px!important;line-height:1.6;color:#526151;margin-top:12px!important}
.lm-save-status{font-size:11px;color:#53674d;margin-top:12px!important}.lm-save-status:empty{display:none}
.lm-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:19px;color:#3e523d;font-size:13px}
.lumina .lm-download{background:#fff;border:1px solid #aabfa3;border-radius:10px;padding:12px 17px;color:#264526;font-size:13px;font-weight:750}
.almargen-lumina-product-page{box-sizing:border-box;max-width:1480px;width:100%;margin:auto;padding:12px clamp(12px,2vw,26px);min-width:0}
.almargen-lumina-product-page .lumina{margin:0 auto 25px}
.lm-error .lm-loading{background:#522929;color:#fff}
@media(max-width:1080px){.lm-workspace{grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);gap:12px}.lm-preview{min-height:480px;height:min(72vh,660px)}.lm-controls{padding:19px}.lm-scene-foot>span{font-size:10px}}
@media(max-width:780px){.lumina{padding:15px;margin:10px auto}.lm-intro{display:block}.lm-intro h1{font-size:38px}.lm-intro-note{display:inline-block;margin-top:13px}.lm-workspace{grid-template-columns:minmax(0,1fr)}.lm-preview{position:relative;top:auto;height:390px;min-height:390px}.lm-controls{padding:20px}.lumina .lm-open-preview{display:block}.lm-footer{align-items:start}.lm-scene-foot>span{font-size:11px}}
@media(max-width:480px){.lumina{padding:9px;margin:8px auto 28px}.lm-intro{padding:12px 8px 4px}.lm-intro h1{font-size:34px}.lm-intro p{font-size:14px}.lm-intro-note{font-size:11px}.lm-preview{height:360px;min-height:360px;border-radius:14px}.lm-scene-head,.lm-scene-foot{left:10px;right:10px}.lm-scene-head{top:11px}.lm-scene-foot{bottom:11px}.lm-live{font-size:10px;padding:8px}.lumina .lm-light,.lumina .lm-reset{font-size:10px;padding:9px}.lm-scene-foot>span{font-size:9px}.lm-wall{bottom:51px;left:11px}.lm-zoom{bottom:49px;right:10px}.lumina .lm-zoom button{width:32px;height:32px}.lm-wall span{font-size:9px}.lm-view-controls{bottom:84px}.lumina .lm-view{padding:8px 12px;font-size:11px}.lm-dimension{bottom:135px}.lm-controls{padding:16px 14px;border-radius:14px}.lm-step h3{font-size:17px}.lm-step-title{gap:9px}.lm-progress{gap:3px}.lumina .lm-step-link{font-size:10px;gap:3px}.lm-step-link b{width:18px;height:18px}.lm-mode-tabs{gap:6px}.lumina .lm-mode-tabs button{font-size:12px;padding:10px 4px}.lm-swatches{gap:3px}.lumina .lm-swatches button{width:29px;height:29px}.lm-selects{gap:9px}.lm-selects label:first-child{grid-column:1/-1}.lm-backing-label{grid-column:auto}.lm-selects label,.lumina .lm-selects select{font-size:12px}.lm-summary dt,.lm-summary dd{font-size:11px}.lm-footer{display:block;font-size:12px;padding:0 8px}.lumina .lm-download{width:100%;margin-top:11px}.lm-checkout{padding:12px}.lm-price{font-size:19px}}
@media(prefers-reduced-motion:reduce){.lumina *, .lumina *::before,.lumina *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
