:root{--ink:#11110f;--paper:#f3f0e8;--paper2:#e7e1d6;--muted:#756f66;--line:#cbc4b7;--white:#fff;--accent:#c14d2b;--good:#2f6c4d;--warn:#9a6d16;--danger:#a83c35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}.site-header{height:82px;padding:0 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:42px;position:sticky;top:0;background:rgba(243,240,232,.94);backdrop-filter:blur(16px);z-index:20}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.2em;font-weight:800}.brand-mark{width:42px;height:42px;background:var(--ink);color:var(--paper);display:grid;place-items:center;letter-spacing:-.05em}.site-header nav{display:flex;gap:28px}.site-header nav a,.cart-link{font-size:13px;color:var(--ink);text-decoration:none}.site-header nav a.active{font-weight:800}.cart-link{margin-left:auto}.cart-link b{display:inline-grid;place-items:center;background:var(--ink);color:#fff;border-radius:100%;width:24px;height:24px;margin-left:6px}.hero{min-height:650px;padding:7vw 6vw;display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr);align-items:center;gap:5vw}.hero-copy h1,.content-page h1,.editor-head h1,.cart-page h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,116px);font-weight:400;line-height:.88;letter-spacing:-.06em;margin:22px 0 30px}.hero-copy p{font-size:19px;line-height:1.65;color:var(--muted);max-width:560px;margin-bottom:34px}.eyebrow{font-size:11px;letter-spacing:.28em;font-weight:800;color:var(--muted)}.button,.upload-button{appearance:none;border:1px solid var(--ink);background:transparent;color:var(--ink);padding:14px 20px;text-decoration:none;font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.button.primary,.upload-button{background:var(--ink);color:#fff}.button:disabled{opacity:.35;cursor:not-allowed}.button.wide{width:100%}.hero-layout{height:510px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(145deg,#dad3c7,#aea597);padding:55px;box-shadow:0 35px 80px rgba(48,40,30,.18)}.hero-layout i{display:block;width:18%;background:linear-gradient(145deg,#1d1e1c,#816858 48%,#d8bd9f);box-shadow:0 20px 34px rgba(0,0,0,.25)}.hero-layout i:nth-child(1),.hero-layout i:nth-child(5){height:55%}.hero-layout i:nth-child(2),.hero-layout i:nth-child(4){height:78%}.hero-layout i:nth-child(3){height:100%}.trust-strip{border-block:1px solid var(--line);padding:18px 6vw;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.catalogue{padding:8vw 5vw}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading h2,.quality-explainer h2{font-family:Georgia,serif;font-size:clamp(40px,5vw,76px);font-weight:400;line-height:1;margin:15px 0 0;letter-spacing:-.04em;max-width:760px}.filters{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid var(--line);background:transparent;padding:9px 12px;cursor:pointer}.filter.active{background:var(--ink);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{color:var(--ink);text-decoration:none;background:#f8f5ef;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-4px);box-shadow:0 22px 55px rgba(57,49,39,.14)}.layout-thumb{height:245px;background:#d9d2c7;position:relative;padding:30px;overflow:hidden}.layout-thumb i{position:absolute;background:linear-gradient(145deg,#222,#776252 50%,#d0af89);border:3px solid #d9d2c7;box-shadow:0 8px 16px rgba(0,0,0,.2);transform:scale(.82);transform-origin:center}.product-meta{padding:20px}.product-meta span{font-size:10px;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.product-meta h3{font-family:Georgia,serif;font-weight:400;font-size:22px;min-height:52px;margin:10px 0 20px}.quality-explainer{margin:0 5vw 8vw;background:var(--ink);color:#fff;padding:6vw}.quality-explainer .eyebrow,.quality-explainer p{color:#aaa69e}.quality-explainer p{max-width:720px;font-size:18px;line-height:1.7}.site-footer{padding:60px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px}.site-footer strong{letter-spacing:.2em}.site-footer p{color:var(--muted)}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{color:var(--ink);text-decoration:none;font-size:13px}.content-page{max-width:960px;margin:0 auto;padding:9vw 5vw;min-height:70vh}.content-page h1{font-size:clamp(58px,8vw,110px)}.content-body{font-family:Georgia,serif;font-size:25px;line-height:1.65;max-width:800px}.editor-page{padding:34px 4vw 6vw}.editor-head{display:grid;grid-template-columns:160px 1fr auto;align-items:end;gap:30px;padding:25px 0 35px}.editor-head>a{color:var(--ink);text-decoration:none;font-size:13px}.editor-head h1{font-size:clamp(42px,5vw,78px);margin:9px 0 0}.editor-head>strong{font-size:28px}.editor-shell{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.5fr);gap:24px;align-items:start}.editor-stage-wrap{position:sticky;top:106px}.canvas-wrap{position:relative;background:#ddd6ca;border:1px solid var(--line)}.canvas-wrap.dragover{outline:4px solid var(--ink);outline-offset:4px}#designCanvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}.empty-state{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.empty-state[hidden]{display:none}.empty-state b{font-family:Georgia,serif;font-size:34px;font-weight:400}.empty-state span{color:var(--muted);margin-top:8px}.canvas-note{font-size:12px;color:var(--muted);padding:12px 0}.editor-tools{border:1px solid var(--line);background:#f8f5ef}.tool-block{padding:25px;border-bottom:1px solid var(--line)}.tool-block:last-child{border:0}.tool-block.disabled{opacity:.35;pointer-events:none}.step{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--muted)}.tool-block h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:8px 0 18px}.upload-button{width:100%}.upload-button input{position:absolute;opacity:0;pointer-events:none}.file-list{display:grid;gap:6px;margin-top:10px}.file-list button{font-size:11px;text-align:left;border:1px solid var(--line);padding:8px;background:#fff;cursor:pointer}.tool-block label:not(.upload-button):not(.ack){display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px;margin-top:16px}.tool-block input[type=range]{grid-column:1/-1;width:100%}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:16px}.button-row button{padding:10px;border:1px solid var(--line);background:#fff;cursor:pointer}.tool-hint{font-size:12px;line-height:1.5;color:var(--muted)}.quality-card{border:1px solid var(--line);padding:15px}.quality-card strong,.quality-card span{display:block}.quality-card span{font-size:12px;line-height:1.45;color:var(--muted);margin-top:5px}.quality-card[data-level=low]{border-color:var(--line)}.quality-card[data-level=fair]{border-color:var(--warn)}.quality-card[data-level=good],.quality-card[data-level=excellent]{border-color:var(--good)}.quality-bar{height:6px;background:var(--paper2);margin-top:13px}.quality-bar i{display:block;height:100%;background:var(--ink);width:0;transition:width .2s}.ack{font-size:12px;line-height:1.4;margin-top:13px;display:flex;gap:8px}.hidden{display:none!important}.save-status{font-size:12px;color:var(--danger);min-height:16px}.cart-page{padding:7vw 6vw;min-height:70vh}.cart-page h1{font-size:clamp(55px,8vw,100px)}.cart-list{display:grid;gap:12px}.cart-list article{display:grid;grid-template-columns:180px 1fr auto auto;gap:25px;align-items:center;border:1px solid var(--line);padding:14px;background:#f8f5ef}.cart-list img{width:180px;height:120px;object-fit:cover}.cart-list h2{font-family:Georgia,serif;font-weight:400;margin:5px 0}.cart-list p,.cart-list span{font-size:12px;color:var(--muted)}.remove-line{border:0;background:transparent;text-decoration:underline;cursor:pointer}.cart-summary{margin-left:auto;width:min(460px,100%);padding:35px 0}.cart-summary>div{display:flex;justify-content:space-between;font-size:23px;margin-bottom:20px}.cart-summary .button{width:100%}.empty-cart{padding:50px 0}.notice{padding:14px;border:1px solid var(--line);margin-bottom:20px}.admin-body{background:#ece8e0}.admin-header{height:66px;padding:0 3vw;background:#111;color:#fff;display:flex;align-items:center;gap:28px}.admin-header a{color:#fff;text-decoration:none;font-size:12px}.admin-header a:first-of-type{margin-left:auto}.admin-main{padding:50px 3vw}.admin-main section{margin-bottom:80px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-card,.admin-login{background:#fff;border:1px solid var(--line);padding:25px}.admin-card label,.admin-login label{display:grid;gap:6px;font-size:12px;margin-bottom:12px}.admin-card input,.admin-card textarea,.admin-login input,.product-admin-list input{font:inherit;padding:10px;border:1px solid var(--line);width:100%}.admin-login{width:min(480px,calc(100% - 40px));margin:10vh auto}.admin-login h1{font-family:Georgia,serif;font-size:58px;font-weight:400}.product-admin-list{display:grid;gap:5px}.product-admin-list form{display:grid;grid-template-columns:100px 1fr 110px 100px 70px;gap:8px;align-items:center;background:#fff;padding:8px}.inline-check{display:flex!important;align-items:center;gap:6px}.inline-check input{width:auto}.order-admin-list article{display:grid;grid-template-columns:1.3fr 1fr .5fr .5fr 1fr;gap:12px;background:#fff;border-bottom:1px solid var(--line);padding:13px;font-size:12px}.order-ref{font-family:monospace;margin:30px 0}.success-page .button{margin-top:30px}@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr}.hero-layout{max-width:700px}.editor-shell{grid-template-columns:1fr}.editor-stage-wrap{position:static}.admin-grid{grid-template-columns:1fr}}@media(max-width:760px){.site-header{height:auto;padding:16px 20px;flex-wrap:wrap;gap:18px}.site-header nav{order:3;width:100%;overflow:auto;gap:18px}.hero{padding:70px 20px;grid-template-columns:1fr}.hero-layout{height:340px;padding:35px}.trust-strip{overflow:auto;justify-content:flex-start}.trust-strip span{white-space:nowrap}.catalogue{padding:70px 20px}.section-heading{display:block}.filters{justify-content:flex-start;margin-top:25px}.product-grid{grid-template-columns:repeat(2,1fr)}.layout-thumb{height:180px}.site-footer{display:block}.footer-links{margin-top:30px}.editor-page{padding:20px}.editor-head{grid-template-columns:1fr}.cart-page{padding:55px 20px}.cart-list article{grid-template-columns:100px 1fr}.cart-list img{width:100px;height:85px}.cart-list strong,.remove-line{grid-column:2}.product-admin-list form{grid-template-columns:1fr}.order-admin-list article{grid-template-columns:1fr 1fr}}@media(max-width:480px){.product-grid{grid-template-columns:1fr}.hero-copy h1{font-size:58px}.site-header nav a{font-size:12px}.hero-layout{height:290px}.content-body{font-size:21px}}
.file-list button{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;width:100%}.file-list button img{display:block;width:54px;height:42px;object-fit:cover;background:#ddd6ca}.file-list button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list button small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.empty-state b,.empty-state span{max-width:520px}.canvas-wrap.is-loading #designCanvas{opacity:.72}

.save-actions{display:grid;gap:8px}.save-actions .button{width:100%}.save-status[data-state="ok"]{color:var(--good)}.save-status[data-state="dirty"]{color:var(--warn)}.price-admin{display:grid;gap:3px}.price-admin small{font-size:10px;color:var(--muted)}

/* v05 proposition, live variants and saved-design library */
.site-header nav a em{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--line);border-radius:20px;font-size:10px;margin-left:3px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.steps-section,.why-section,.use-cases{padding:8vw 5vw}.steps-section{border-top:1px solid var(--line)}.step-grid,.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.step-grid article,.why-grid article{border:1px solid var(--line);background:#f8f5ef;padding:30px;min-height:270px}.step-grid article>b{font-size:11px;letter-spacing:.2em;color:var(--muted)}.step-grid h3,.why-grid h3,.use-cases h2,.mission-section h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.step-grid h3,.why-grid h3{font-size:30px;margin:45px 0 15px}.step-grid p,.why-grid p,.section-intro,.mission-section p,.use-cases p{color:var(--muted);line-height:1.7}.section-intro{max-width:680px;font-size:16px;margin:18px 0 0}.why-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.why-grid article{min-height:240px}.why-grid h3{margin:0 0 18px}.mission-section{margin:0 5vw 8vw;padding:6vw;background:#d9d2c7;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:end}.mission-section h2,.use-cases h2{font-size:clamp(42px,5vw,78px);line-height:.96;margin:15px 0 0}.mission-section p,.use-cases p{font-size:18px;max-width:760px}.use-cases{padding-top:0}.use-cases h2{max-width:850px}.variant-block label{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.variant-block select{width:100%;padding:12px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:13px}.editor-head-price{display:grid;justify-items:end;gap:9px}.editor-head-price a{color:var(--ink);font-size:12px}.saved-designs-page{padding:7vw 5vw;min-height:72vh}.saved-designs-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}.saved-designs-head h1{font-family:Georgia,serif;font-size:clamp(58px,8vw,110px);font-weight:400;line-height:.9;letter-spacing:-.055em;margin:18px 0 25px}.saved-designs-head p{color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}.saved-design-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.saved-design-card{border:1px solid var(--line);background:#f8f5ef;display:grid;grid-template-rows:auto 1fr auto}.saved-design-preview{display:block;background:#d8d2c8}.saved-design-preview img{display:block;width:100%;aspect-ratio:1.54/1;object-fit:cover}.saved-design-copy{padding:22px}.saved-design-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.saved-design-copy h2{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.1;margin:10px 0 22px}.design-facts{display:flex;justify-content:space-between;align-items:center;gap:12px}.design-facts small{color:var(--muted)}.saved-design-actions{padding:0 22px 22px;display:grid;gap:8px}.saved-design-status{font-size:12px;color:var(--danger);min-height:16px;margin:0}.saved-design-note{font-size:12px;color:var(--muted);margin-top:24px}.cart-list a{color:var(--ink)}
@media(max-width:1100px){.why-grid{grid-template-columns:repeat(2,1fr)}.saved-design-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.step-grid,.why-grid,.mission-section{grid-template-columns:1fr}.saved-designs-head{display:block}.saved-designs-head>.button{margin-top:15px}.saved-design-grid{grid-template-columns:1fr}.editor-head-price{justify-items:start}.steps-section,.why-section,.use-cases{padding:70px 20px}.mission-section{margin:0 20px 70px;padding:45px 30px}.site-header nav a em{display:none}}

/* v06 live 3D room preview */
.view-3d-float{position:absolute;right:18px;bottom:18px;z-index:3;letter-spacing:.12em;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.view-3d-float:disabled{opacity:.42;background:rgba(17,17,15,.72);color:#fff}
.a2c-3d-open,.a2c-3d-open body{overflow:hidden}
.a2c-3d-modal{position:fixed;inset:0;z-index:1000;background:rgba(20,18,15,.76);backdrop-filter:blur(14px);padding:2.5vw}
.a2c-3d-modal[hidden]{display:none}
.a2c-3d-shell{width:100%;height:100%;background:#11110f;color:#f5f1e8;border:1px solid rgba(255,255,255,.18);display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-shadow:0 40px 120px rgba(0,0,0,.5)}
.a2c-3d-head{display:flex;align-items:start;justify-content:space-between;gap:30px;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.14);background:#11110f}
.a2c-3d-head span{font-size:10px;letter-spacing:.24em;color:#aaa59d;font-weight:800}
.a2c-3d-head h2{font-family:Georgia,serif;font-size:clamp(28px,3vw,46px);font-weight:400;letter-spacing:-.035em;margin:5px 0 2px;line-height:1}
.a2c-3d-head p{margin:0;color:#aaa59d;font-size:12px}
.a2c-3d-close{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;width:46px;height:46px;font-size:30px;line-height:1;cursor:pointer}
.a2c-3d-stage{position:relative;min-height:0;overflow:hidden;background:#cfc8bd}
.a2c-3d-stage canvas{display:block;width:100%;height:100%;outline:none}
.a2c-3d-help{position:absolute;left:18px;bottom:18px;z-index:3;display:grid;gap:3px;max-width:min(520px,calc(100% - 36px));padding:10px 13px;background:rgba(17,17,15,.76);border:1px solid rgba(255,255,255,.16);color:#f5f1e8;backdrop-filter:blur(8px);pointer-events:none;opacity:1;transform:translateY(0);transition:opacity .35s ease,transform .35s ease}
.a2c-3d-help strong{font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.a2c-3d-help span{font-size:11px;color:#d3cec6;white-space:normal}
.a2c-3d-help.is-used{opacity:.34;transform:translateY(2px)}
.a2c-3d-loading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;text-align:center;padding:30px;background:rgba(17,17,15,.72);color:#fff;font-family:Georgia,serif;font-size:26px;pointer-events:none}
.a2c-3d-loading[hidden]{display:none}
.a2c-3d-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.14);background:#11110f}
.a2c-3d-foot>div:first-child{display:grid;gap:4px}
.a2c-3d-foot span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.a2c-3d-foot small{font-size:10px;color:#8f8b84}
.a2c-3d-actions{display:flex;gap:8px}
.a2c-3d-foot .button{border-color:#f5f1e8;color:#f5f1e8}
.a2c-3d-foot .button.primary{background:#f5f1e8;color:#11110f}
@media(max-width:760px){.a2c-3d-modal{padding:0}.a2c-3d-head{padding:16px}.a2c-3d-head h2{font-size:30px}.a2c-3d-help{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:9px 11px}.a2c-3d-help span{font-size:10px}.a2c-3d-foot{padding:12px 16px;display:grid}.a2c-3d-actions{display:grid;grid-template-columns:1fr 1fr}.a2c-3d-foot .button{padding:11px 12px}.view-3d-float{right:10px;bottom:10px}.a2c-3d-foot>div:first-child{display:none}}

/* v11 3D configurator with corrected production room GLB */
.a2c-3d-shell{grid-template-rows:auto auto minmax(0,1fr) auto}
.a2c-3d-config{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(250px,1fr) minmax(220px,.7fr);align-items:end;gap:12px;padding:12px 24px;background:#191816;border-bottom:1px solid rgba(255,255,255,.14)}
.a2c-3d-config label{display:grid;gap:6px;min-width:0}
.a2c-3d-config label>span,.a2c-3d-config-price>span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#918d86;font-weight:800}
.a2c-3d-config select{width:100%;min-width:0;border:1px solid rgba(255,255,255,.22);background:#11110f;color:#f5f1e8;padding:11px 38px 11px 12px;font:inherit;font-size:12px;outline:none}
.a2c-3d-config select:focus{border-color:#f5f1e8}
.a2c-3d-config select:disabled{opacity:.45}
.a2c-3d-config-price{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:end;border-left:1px solid rgba(255,255,255,.14);padding-left:18px;min-width:0}
.a2c-3d-config-price strong{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1;color:#f5f1e8}
.a2c-3d-config-price small{grid-column:1/-1;color:#aaa59d;font-size:10px;line-height:1.35;min-height:14px}
@media(max-width:900px){.a2c-3d-config{grid-template-columns:1fr 1fr}.a2c-3d-config-price{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:9px 0 0}}
@media(max-width:760px){.a2c-3d-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.a2c-3d-config{padding:10px 16px;grid-template-columns:1fr 1fr;gap:8px}.a2c-3d-config select{padding:9px 28px 9px 9px;font-size:11px}.a2c-3d-config-price{display:none}}

.button.danger{border-color:var(--danger);color:var(--danger);background:transparent}.button.danger:hover{background:var(--danger);color:#fff}

/* v13 — 3D atmosphere and focus-flight controls */
.a2c-3d-config{grid-template-columns:minmax(170px,.7fr) minmax(230px,1fr) minmax(170px,.7fr) minmax(220px,.72fr)}
.a2c-3d-actions{flex-wrap:wrap;justify-content:flex-end}
.a2c-3d-actions .button:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:1080px){
  .a2c-3d-config{grid-template-columns:1fr 1fr 1fr}
  .a2c-3d-config-price{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:9px 0 0}
}
@media(max-width:760px){
  .a2c-3d-config{grid-template-columns:1fr 1fr}
  .a2c-3d-config label:nth-child(3){grid-column:1/-1}
  .a2c-3d-actions{grid-template-columns:1fr 1fr 1fr}
}

/* v14 — Art2Canvas brand system, light/dark themes and decision guide */
:root{
  --brand-cyan:#2cc5e8;
  --brand-amber:#ffbd3d;
  --brand-coral:#ff5d55;
  --brand-charcoal:#252c34;
  /* Compatibility aliases used by established Art2Canvas components. */
  --cyan:var(--brand-cyan);
  --amber:var(--brand-amber);
  --coral:var(--brand-coral);
  --paper:#f4f6f7;
  --paper2:#e8edf0;
  --surface:#ffffff;
  --surface2:#eef2f4;
  --ink:#20272e;
  --muted:#69737c;
  --line:#cfd7dc;
  --header-bg:rgba(244,246,247,.91);
  --shadow:rgba(30,45,54,.14);
  --accent:var(--brand-cyan);
}
html[data-theme="dark"]{
  --paper:#11171c;
  --paper2:#192128;
  --surface:#182027;
  --surface2:#202a32;
  --ink:#f1f5f6;
  --muted:#a8b3ba;
  --line:#35424b;
  --header-bg:rgba(17,23,28,.92);
  --shadow:rgba(0,0,0,.4);
  --good:#77c39a;
  --warn:#e5b85a;
  --danger:#ef817a;
}
body{background:var(--paper);color:var(--ink);transition:background .22s ease,color .22s ease}
.site-header{height:88px;background:var(--header-bg);border-color:var(--line);gap:34px;padding:0 3.2vw;box-shadow:0 1px 0 rgba(255,255,255,.04)}
.brand{gap:11px;min-width:max-content;color:var(--ink);letter-spacing:0}
.brand-logo{display:block;width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(25,39,49,.18))}
.brand-wordmark{display:flex;align-items:baseline;font-size:22px;line-height:1;letter-spacing:.085em;font-weight:300}
.brand-wordmark strong{font-weight:800;letter-spacing:.035em;color:var(--ink)}
.brand-wordmark span{color:var(--muted);font-weight:300}
.site-header nav{gap:22px;align-items:center}
.site-header nav a,.cart-link{color:var(--ink)}
.site-header nav a{position:relative;padding:8px 0}
.site-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber),var(--brand-coral))}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:9px}
.language-control{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:7px 9px;background:var(--surface)}
.language-control>span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.language-control select{border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:800;outline:none;cursor:pointer}
.theme-toggle{height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:flex;align-items:center;gap:7px;padding:0 11px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}
.theme-icon{font-size:17px;color:var(--brand-cyan)}
.cart-link{margin-left:0;display:flex;align-items:center;padding-left:4px}
.cart-link b{background:var(--brand-charcoal);color:#fff}
.hero{position:relative;overflow:hidden;min-height:690px;background:radial-gradient(circle at 86% 18%,rgba(44,197,232,.14),transparent 24%),radial-gradient(circle at 72% 88%,rgba(255,93,85,.12),transparent 26%),var(--paper)}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--brand-cyan) 0 33%,var(--brand-amber) 33% 66%,var(--brand-coral) 66%)}
.hero-copy{position:relative;z-index:2}
.hero-copy h1,.content-page h1,.editor-head h1,.cart-page h1,.section-heading h2,.quality-explainer h2,.mission-section h2,.use-cases h2{font-family:Georgia,"Times New Roman",serif}
.eyebrow{color:var(--muted)}
.button,.upload-button{border-color:var(--ink);color:var(--ink)}
.button.primary,.upload-button{background:var(--brand-charcoal);border-color:var(--brand-charcoal);color:#fff}
.button.primary:hover,.upload-button:hover{background:#111820;border-color:#111820}
html[data-theme="dark"] .button.primary,html[data-theme="dark"] .upload-button{background:var(--brand-cyan);border-color:var(--brand-cyan);color:#0a161b}
.hero-layout{position:relative;background:linear-gradient(145deg,var(--surface2),#b9c4ca);border:1px solid var(--line);box-shadow:0 35px 80px var(--shadow);overflow:hidden}
html[data-theme="dark"] .hero-layout{background:linear-gradient(145deg,#26323a,#11171c)}
.hero-layout i{position:relative;z-index:2;background:linear-gradient(155deg,#1e2830,#536570 48%,#9aa8b0);border:1px solid rgba(255,255,255,.16)}
.hero-brand-mark{position:absolute;width:54%;max-width:310px;aspect-ratio:1;object-fit:contain;opacity:.12;z-index:1;filter:saturate(1.15)}
html[data-theme="dark"] .hero-brand-mark{opacity:.19}
.hero-colour{position:absolute;z-index:3;width:72px;height:6px;bottom:30px;border-radius:9px}
.hero-colour.cyan{background:var(--brand-cyan);left:32px}.hero-colour.amber{background:var(--brand-amber);left:108px}.hero-colour.coral{background:var(--brand-coral);left:184px}
.trust-strip{background:var(--surface);border-color:var(--line)}
.catalogue-stats{display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw;border-bottom:1px solid var(--line);background:var(--surface)}
.catalogue-stats>div{min-height:145px;padding:30px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:8px}
.catalogue-stats>div:last-child{border-right:1px solid var(--line)}
.catalogue-stats strong{font-family:Georgia,serif;font-size:42px;font-weight:400;letter-spacing:-.04em}
.catalogue-stats span{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.catalogue-stats>div:nth-child(1) strong{color:var(--brand-cyan)}.catalogue-stats>div:nth-child(2) strong{color:var(--brand-amber)}.catalogue-stats>div:nth-child(3) strong{color:var(--brand-coral)}
.steps-section,.why-section,.use-cases,.catalogue,.wall-choice-section{background:var(--paper)}
.step-grid article,.why-grid article,.product-card,.saved-design-card,.editor-tools,.cart-list article{background:var(--surface);border-color:var(--line)}
.step-grid article,.why-grid article{position:relative;overflow:hidden}
.step-grid article:before,.why-grid article:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber),var(--brand-coral))}
.wall-choice-section{padding:8vw 5vw 4vw}
.wall-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.wall-choice-grid article{position:relative;min-height:300px;padding:30px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.wall-choice-grid article:after{content:attr(data-range);position:absolute;right:-5px;bottom:-24px;font-family:Georgia,serif;font-size:72px;letter-spacing:-.06em;color:var(--surface2);white-space:nowrap;pointer-events:none}
.wall-choice-grid article>b{font-size:11px;letter-spacing:.16em;color:var(--muted)}
.wall-choice-grid article:nth-child(1)>b{color:var(--brand-cyan)}.wall-choice-grid article:nth-child(2)>b{color:var(--brand-amber)}.wall-choice-grid article:nth-child(3)>b{color:var(--brand-coral)}
.wall-choice-grid h3{position:relative;z-index:1;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.05;margin:52px 0 18px}
.wall-choice-grid p{position:relative;z-index:1;color:var(--muted);line-height:1.65}
.product-card{box-shadow:0 0 0 rgba(0,0,0,0)}
.product-card:hover{box-shadow:0 22px 55px var(--shadow);border-color:var(--brand-cyan)}
.layout-thumb{background:var(--surface2)}
.layout-thumb i{border-color:var(--surface2)}
.filter{border-color:var(--line);color:var(--ink);background:var(--surface)}
.filter.active{background:var(--brand-charcoal);border-color:var(--brand-charcoal);color:#fff}
.mission-section{background:linear-gradient(135deg,rgba(44,197,232,.16),rgba(255,189,61,.12) 48%,rgba(255,93,85,.13));border:1px solid var(--line)}
.quality-explainer{position:relative;background:var(--brand-charcoal);overflow:hidden}
.quality-explainer:after{content:"DPI";position:absolute;right:3vw;bottom:-5vw;font:400 min(22vw,300px)/1 Georgia,serif;color:rgba(255,255,255,.035);pointer-events:none}
.site-footer{background:var(--surface);border-color:var(--line)}
.footer-brand{max-width:470px}.footer-logo{width:max-content}.footer-brand p{max-width:430px;line-height:1.6}
.brand-spectrum{display:flex;gap:5px;margin-top:18px}.brand-spectrum i{width:44px;height:4px}.brand-spectrum i:nth-child(1){background:var(--brand-cyan)}.brand-spectrum i:nth-child(2){background:var(--brand-amber)}.brand-spectrum i:nth-child(3){background:var(--brand-coral)}
.footer-links a{color:var(--ink)}
.canvas-wrap{background:var(--surface2);border-color:var(--line)}
.editor-tools{background:var(--surface)}
.tool-block,.quality-card{border-color:var(--line)}
.variant-block select,.button-row button,.file-list button{background:var(--surface);color:var(--ink);border-color:var(--line)}
.quality-bar{background:var(--paper2)}
.editor-head-price a,.editor-head>a,.cart-list a{color:var(--ink)}
.product-spec-section,.product-decision-section{padding:7vw 0 0}
.product-spec-section .section-heading,.product-decision-section .section-heading{margin-bottom:34px}
.product-spec-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}
.product-spec-stats article{min-height:165px;padding:24px;border-right:1px solid var(--line);display:grid;align-content:center;gap:8px}
.product-spec-stats article:last-child{border-right:0}
.product-spec-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}
.product-spec-stats strong{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.05}
.product-spec-stats small{color:var(--muted);line-height:1.4}
.product-spec-grid,.decision-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.product-spec-grid article,.decision-fact-grid article{position:relative;padding:28px;border:1px solid var(--line);background:var(--surface);min-height:245px;overflow:hidden}
.product-spec-grid h3,.decision-fact-grid h3{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.1;margin:20px 0 14px}
.product-spec-grid p,.decision-fact-grid p{color:var(--muted);line-height:1.65;margin:0}
.fact-accent{display:block;width:42px;height:4px}.fact-accent.cyan{background:var(--brand-cyan)}.fact-accent.amber{background:var(--brand-amber)}.fact-accent.coral{background:var(--brand-coral)}
.spec-breakdown{font-family:Georgia,serif;font-size:23px!important;color:var(--ink)!important;line-height:1.45!important}
.spec-confidence{display:block;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);line-height:1.45}
.spec-confidence.exact{color:var(--good)}
.a2c-3d-config select{color-scheme:dark}
html[data-theme="dark"] .a2c-3d-modal{background:rgba(0,0,0,.78)}
html[data-theme="dark"] .admin-body{color:#111}
@media(max-width:1180px){
  .site-header{gap:22px}.site-header nav{gap:14px}.brand-wordmark{font-size:19px}.brand-logo{width:43px;height:43px}.header-tools{gap:6px}.theme-toggle [data-theme-label]{display:none}
  .wall-choice-grid{grid-template-columns:repeat(2,1fr)}
  .product-spec-stats{grid-template-columns:repeat(2,1fr)}.product-spec-stats article:nth-child(2){border-right:0}.product-spec-stats article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media(max-width:860px){
  .site-header{height:auto;padding:14px 20px;flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow:auto;padding-top:2px}.header-tools{margin-left:auto}.language-control>span{display:none}
  .catalogue-stats{grid-template-columns:repeat(2,1fr);padding:0 20px}.catalogue-stats>div:nth-child(2){border-right:1px solid var(--line)}.catalogue-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .product-spec-grid,.decision-fact-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .brand-wordmark{font-size:17px}.brand-logo{width:40px;height:40px}.language-control{padding:5px 7px}.theme-toggle{padding:0 9px}.cart-link>span{display:none}
  .hero{padding-top:54px}.catalogue-stats{grid-template-columns:1fr}.catalogue-stats>div{min-height:110px;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}
  .wall-choice-grid,.product-spec-stats,.product-spec-grid,.decision-fact-grid{grid-template-columns:1fr}
  .product-spec-stats article{border-right:0;border-bottom:1px solid var(--line)!important}.product-spec-stats article:last-child{border-bottom:0!important}
  .wall-choice-grid article{min-height:250px}.wall-choice-grid article:after{font-size:56px}
}

/* v15 paid-order production preparation */
.production-page{padding:6vw 5vw 8vw;min-height:75vh}.production-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5vw;align-items:end;margin-bottom:42px}.production-hero h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,105px);font-weight:400;line-height:.9;letter-spacing:-.055em;margin:18px 0 25px}.production-hero p{max-width:830px;color:var(--muted);font-size:18px;line-height:1.7}.production-hero aside{border:1px solid var(--line);padding:22px;min-width:280px;display:grid;gap:7px}.production-hero aside span,.production-hero aside small{color:var(--muted);font-size:11px}.production-hero aside strong{font-family:monospace;font-size:13px;overflow-wrap:anywhere}.production-progress{list-style:none;margin:0 0 48px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.production-progress li{min-height:105px;padding:20px;border-right:1px solid var(--line);display:grid;align-content:center;gap:12px;color:var(--muted);font-size:12px}.production-progress li:last-child{border-right:0}.production-progress i{width:18px;height:18px;border:1px solid var(--line);border-radius:50%}.production-progress li.complete{color:var(--ink);background:color-mix(in srgb,var(--cyan) 7%,var(--surface))}.production-progress li.complete i{background:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 0 0 4px var(--surface)}.production-ready{padding:38px;margin-bottom:24px;border:1px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 7%,var(--surface))}.production-ready h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:10px 0}.production-ready p{color:var(--muted);line-height:1.65;max-width:780px}.production-image-list{display:grid;gap:24px}.production-image-card{border:1px solid var(--line);background:var(--surface);padding:32px}.production-image-head{display:flex;justify-content:space-between;gap:30px;align-items:start}.production-image-head h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:10px 0 8px;overflow-wrap:anywhere}.production-image-head p{color:var(--muted);margin:0}.dpi-badge{font-size:20px;padding:12px 16px;border:1px solid var(--line);white-space:nowrap}.dpi-badge[data-level=excellent]{border-color:var(--cyan)}.dpi-badge[data-level=good]{border-color:var(--good)}.dpi-badge[data-level=fair]{border-color:var(--amber)}.dpi-badge[data-level=low]{border-color:var(--coral)}.production-facts{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:26px 0}.production-facts>div{padding:18px;border-right:1px solid var(--line);display:grid;gap:8px}.production-facts>div:last-child{border-right:0}.production-facts span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.production-facts b{font-size:14px}.production-quality-message,.production-lock,.production-preparing,.production-compare-copy{padding:26px;border:1px solid var(--line);margin:22px 0}.production-quality-message h3,.production-lock h3,.production-preparing h3,.production-compare-copy h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 12px}.production-quality-message p,.production-lock p,.production-preparing p,.production-compare-copy p{color:var(--muted);line-height:1.65;margin:0}.production-quality-message.improve{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 7%,var(--surface))}.production-quality-message.strong{border-color:var(--cyan)}.production-lock{position:relative}.production-source-preview{background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;min-height:380px;overflow:hidden}.production-source-preview img{display:block;max-width:100%;max-height:680px;object-fit:contain}.production-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.production-actions .button{min-width:220px}.production-error,.production-card-status{color:var(--danger);font-size:12px;min-height:16px}.production-preparing{display:flex;align-items:center;gap:22px}.production-spinner{width:36px;height:36px;border:3px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:a2c-spin .9s linear infinite;flex:0 0 auto}@keyframes a2c-spin{to{transform:rotate(360deg)}}.production-compare{border:1px solid var(--line);background:var(--surface-2)}.compare-stage{height:min(62vw,720px);min-height:430px;position:relative;overflow:hidden;touch-action:none;background:#161b20}.compare-pan{position:absolute;inset:0;transform-origin:center;will-change:transform}.compare-pan>img,.compare-enhanced-wrap,.compare-enhanced-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.compare-enhanced-wrap{overflow:hidden;will-change:clip-path}.compare-label{position:absolute;top:16px;padding:8px 10px;background:rgba(10,13,16,.72);color:#fff;font-size:11px;z-index:3}.compare-label.original{left:16px}.compare-label.enhanced{right:16px}.compare-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:18px}.compare-controls label{display:grid;gap:8px;font-size:12px}.compare-controls input{width:100%}.production-contact{color:var(--muted);font-size:12px;margin-top:28px}
@media(max-width:900px){.production-hero{grid-template-columns:1fr}.production-progress{grid-template-columns:1fr}.production-progress li{min-height:70px;border-right:0;border-bottom:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center}.production-progress li:last-child{border-bottom:0}.production-facts{grid-template-columns:1fr 1fr}.production-facts>div:nth-child(2){border-right:0}.production-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.production-image-card{padding:20px}.production-image-head{display:grid}.production-facts{grid-template-columns:1fr}.production-facts>div{border-right:0!important;border-bottom:1px solid var(--line)}.production-facts>div:last-child{border-bottom:0}.compare-controls{grid-template-columns:1fr}.compare-stage{min-height:340px}.production-actions .button{width:100%;min-width:0}}
.production-ready.production-blocked{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 7%,var(--surface))}

/* Customer accounts and production administration */
.account-page{max-width:1280px;margin:0 auto}.account-page>h1,.account-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(48px,7vw,96px);letter-spacing:-.05em;margin:14px 0 22px}.account-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.account-card,.account-order{border:1px solid var(--line);background:var(--surface);padding:30px}.account-card{display:grid;gap:18px}.account-card h2,.account-order h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0}.account-card label,.account-form label{display:grid;gap:8px;font-size:12px;color:var(--muted)}.account-card input,.account-form input{width:100%;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:13px 14px;font:inherit}.account-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.account-heading p{color:var(--muted)}.account-orders{display:grid;gap:22px}.account-order{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px}.account-order-total{font-family:Georgia,serif;font-size:32px}.account-order-items{grid-column:1/-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.account-order-items p{display:flex;justify-content:space-between;gap:20px;margin:8px 0}.account-order-items span,.account-line small{color:var(--muted)}.account-order .production-actions{grid-column:1/-1}.account-order-detail{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:30px 0}.account-order-detail>div{padding:20px;border-right:1px solid var(--line);display:grid;gap:8px}.account-order-detail>div:last-child{border-right:0}.account-order-detail span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.account-line{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(90px,.5fr));gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.account-line:last-child{border-bottom:0}.account-line div{display:grid;gap:5px}.notice.success{border-color:var(--good)}.notice.error{border-color:var(--danger)}.account-forgot-link{justify-self:start;color:var(--muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}.account-forgot-link:hover{color:var(--ink)}
@media(max-width:800px){.account-auth-grid{grid-template-columns:1fr}.account-heading{display:block}.account-order{grid-template-columns:1fr}.account-order-total{justify-self:start}.account-order-detail{grid-template-columns:1fr 1fr}.account-order-detail>div:nth-child(2){border-right:0}.account-line{grid-template-columns:1fr 1fr}.account-line div{grid-column:1/-1}}

.production-cost-guard{margin:.75rem 0 0;padding:.8rem 1rem;border:1px solid color-mix(in srgb,var(--brand-amber,#f1b84b) 55%,transparent);border-radius:12px;background:color-mix(in srgb,var(--brand-amber,#f1b84b) 10%,transparent);font-size:.92rem}

/* v21 enhancement recovery and explicit approval choices */
.production-actions.compare-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.production-actions.compare-decisions .button{width:100%;min-width:0;justify-content:center;text-align:center}
@media(max-width:600px){.production-actions.compare-decisions{grid-template-columns:1fr}}
.production-recovery-form{display:grid;gap:10px;margin-top:18px;padding:18px;border:1px solid var(--line);background:var(--surface-2)}.production-recovery-form label{display:grid;gap:8px;font-size:12px}.production-recovery-form input{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}.production-recovery-form .small{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.production-recovery-form .button{justify-self:start}

/* v24: true side-by-side production comparison */
.production-compare.side-by-side{border:0;background:transparent}
.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.compare-pane{min-width:0;border:1px solid var(--line);background:var(--surface-2);display:grid;grid-template-rows:auto clamp(390px,34vw,650px) auto}
.compare-pane.enhanced{border-color:color-mix(in srgb,var(--cyan) 55%,var(--line))}
.compare-pane-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.compare-pane-head strong{font-family:Georgia,serif;font-size:23px;font-weight:400}
.compare-pane-head span{font:11px/1.2 monospace;color:var(--muted);white-space:nowrap}
.production-compare.side-by-side .compare-stage{height:auto;min-height:390px;position:relative;overflow:hidden;touch-action:none;background:#11161b}
.production-compare.side-by-side .compare-pan{position:absolute;inset:0;transform-origin:center;will-change:transform}
.production-compare.side-by-side .compare-pan img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.compare-choice{margin:14px;width:calc(100% - 28px)!important;min-width:0!important;justify-content:center;text-align:center}
.compare-controls.linked{margin-top:14px;border:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px 18px;padding:16px}
.compare-controls.linked label{display:grid;gap:8px;font-size:12px}
.compare-controls.linked input{width:100%}
.compare-controls.linked .button.small{min-width:130px;padding:11px 15px}
.compare-controls.linked p{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:900px){.compare-grid{grid-template-columns:1fr}.compare-pane{grid-template-rows:auto clamp(360px,68vw,620px) auto}.production-compare.side-by-side .compare-stage{min-height:360px}}
@media(max-width:600px){.compare-pane{grid-template-rows:auto clamp(300px,82vw,520px) auto}.production-compare.side-by-side .compare-stage{min-height:300px}.compare-controls.linked{grid-template-columns:1fr}.compare-controls.linked .button.small{width:100%}}

/* v26: native enhancement and producer reference workflow */
.producer-queue{display:grid;gap:14px}.producer-queue-card{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(130px,.7fr)) auto;gap:16px;align-items:center;border:1px solid var(--line);background:var(--surface);padding:18px}.producer-queue-card>div:first-child{display:grid;gap:5px}.producer-queue-card small{color:var(--muted)}.producer-status{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.producer-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}.producer-admin-grid .admin-card h2,.producer-generate-form h2,.producer-status-form h2,.producer-settings-form h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-top:0}.producer-generate-form,.producer-status-form{margin-top:18px}.producer-settings-form{max-width:980px}.producer-settings-form>label,.producer-status-form>label,.producer-settings-grid label{display:grid;gap:8px;font-size:12px;color:var(--muted)}.producer-settings-form input,.producer-settings-form textarea,.producer-status-form input,.producer-status-form textarea,.producer-status-form select,.producer-settings-grid input,.producer-settings-grid select{width:100%;padding:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit}.producer-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.producer-admin-section{margin-top:50px;border-top:1px solid var(--line);padding-top:44px}.producer-admin-section .notice{margin-top:18px}.product-admin-list form{grid-template-columns:110px minmax(220px,1.6fr) minmax(140px,.7fr) minmax(170px,.7fr) auto auto}
@media(max-width:1200px){.producer-queue-card{grid-template-columns:1fr 1fr 1fr}.producer-queue-card .production-actions{grid-column:1/-1}.producer-admin-grid{grid-template-columns:1fr}.producer-settings-grid{grid-template-columns:1fr 1fr}.product-admin-list form{grid-template-columns:90px 1fr 1fr}}
@media(max-width:700px){.producer-queue-card{grid-template-columns:1fr}.producer-settings-grid{grid-template-columns:1fr}.product-admin-list form{grid-template-columns:1fr}}

/* v26 production and producer reference workflow */
.production-note {
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border-left: 4px solid var(--a2c-cyan, #19a7c8);
  background: color-mix(in srgb, var(--surface, #fff) 88%, var(--a2c-cyan, #19a7c8));
  border-radius: .5rem;
}
.admin-design-reference {
  display: grid;
  gap: .7rem;
  margin: .8rem 0 1rem;
}
.admin-design-reference img {
  display: block;
  width: 100%;
  max-height: 310px;
  object-fit: contain;
  border: 1px solid var(--line, #d8dfe3);
  border-radius: .65rem;
  background: #fff;
  padding: .55rem;
}
.producer-reference-thumb {
  display: block;
  width: 130px;
  min-width: 130px;
  align-self: stretch;
}
.producer-reference-thumb img {
  width: 100%;
  height: 92px;
  object-fit: contain;
  border-radius: .55rem;
  border: 1px solid var(--line, #d8dfe3);
  background: #fff;
}
@media (max-width: 760px) {
  .producer-reference-thumb { width: 100%; }
  .producer-reference-thumb img { height: 150px; }
}

/* v29: enhanced production image in the 3D room */
.compare-pane-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.compare-pane-actions .button{width:100%;min-width:0;justify-content:center;text-align:center;margin:0!important}
.production-lock-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.production-lock-actions .button{min-width:220px}
@media(max-width:600px){.compare-pane-actions{grid-template-columns:1fr}.production-lock-actions .button{width:100%;min-width:0}}

/* v30: optional OpenAI old-photo colourization before Leonardo print upscale */
.production-upgrade-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);gap:22px;align-items:center;margin-top:18px;padding:22px;border:1px solid var(--line);background:var(--surface2)}
.production-upgrade-copy h4{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.08;margin:8px 0 10px}
.production-upgrade-copy p{margin:0;color:var(--muted);line-height:1.55}
.production-filter-option{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 7%,var(--surface));cursor:pointer}
.production-filter-option input{width:20px;height:20px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--cyan)}
.production-filter-option span{display:grid;gap:6px}
.production-filter-option strong{font-size:14px;line-height:1.3}
.production-filter-option small{color:var(--muted);font-size:11px;line-height:1.5}
.production-filter-option input:disabled{cursor:not-allowed}
.production-filter-option:has(input:disabled){cursor:not-allowed;opacity:.76}
.production-upgrade-unavailable{margin:18px 0 0;padding:15px 17px;border:1px solid var(--amber);background:color-mix(in srgb,var(--amber) 7%,var(--surface));color:var(--muted);font-size:12px;line-height:1.55}
@media(max-width:800px){.production-upgrade-options{grid-template-columns:1fr}}

/* v31: locked processing progress, final panel previews, and admin 3D review */
.production-page.is-processing button:disabled,
.production-page.is-processing input:disabled,
.production-page.is-processing select:disabled,
.production-page.is-processing textarea:disabled{cursor:not-allowed;opacity:.55}
.production-page[data-production-busy="1"] button,
.production-page[data-production-busy="1"] input,
.production-page[data-production-busy="1"] select,
.production-page[data-production-busy="1"] textarea,
.production-page[data-production-busy="1"] a.button{pointer-events:none}
.production-upgrade-progress{margin:24px 0;padding:18px;border:1px solid var(--line);background:var(--surface-2)}
.production-upgrade-progress[hidden]{display:none!important}
.production-upgrade-progress-track{height:18px;overflow:hidden;border:1px solid var(--line);background:color-mix(in srgb,var(--ink) 7%,var(--surface));position:relative}
.production-upgrade-progress-track i{display:block;height:100%;min-width:0;background:linear-gradient(90deg,var(--cyan),color-mix(in srgb,var(--cyan) 58%,var(--amber)));transition:width .65s ease;position:relative}
.production-upgrade-progress-track i:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.35) 48%,transparent 58% 100%);transform:translateX(-120%);animation:a2c-progress-shine 1.6s linear infinite}
@keyframes a2c-progress-shine{to{transform:translateX(120%)}}
.production-ready-previews,.admin-production-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),960px));justify-content:center;gap:24px;margin:0 0 30px}
.production-ready-preview,.admin-production-preview{width:100%;max-width:960px;justify-self:center}
.production-ready-preview{border:1px solid var(--line);background:var(--surface);padding:26px}
.production-ready-preview header h2,.admin-production-preview h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:8px 0 18px}
.production-panel-canvas-wrap{border:1px solid var(--line);background:#e9e5dd;overflow:hidden}
.production-panel-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:1200/780}
.production-ready-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.production-approved-image{margin-top:20px;border:1px solid var(--line);background:var(--surface-2);padding:12px;display:grid;place-items:center}
.production-approved-image img{display:block;max-width:100%;max-height:620px;object-fit:contain}
.admin-production-preview-section{margin:34px 0}
.admin-production-preview-grid{margin-top:22px}
.admin-approved-production-image{margin:16px 0 18px;border:1px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 6%,var(--surface));padding:14px}
.admin-approved-production-image.pending{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 6%,var(--surface))}
.admin-approved-production-head{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:12px;font-size:12px}
.admin-approved-production-head strong{font-size:14px}
.admin-approved-production-head span{font-family:monospace;color:var(--muted)}
.admin-approved-production-image img{display:block;width:100%;max-height:520px;object-fit:contain;background:#11161b}
.admin-image-3d-actions{margin:0 0 18px}
.admin-production-preview.preview-error,.production-ready-preview.preview-error{border-color:var(--danger)}
@media(max-width:700px){.production-ready-preview{padding:18px}.admin-approved-production-head{display:grid}.production-upgrade-progress{padding:13px}}

/* v34: non-destructive crop, image correction and post-enhancement finishing */
.adjustment-block{display:grid;gap:14px}
.adjustment-block>label,.production-post-controls>label{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;font-size:12px}
.adjustment-block>label input[type=range],.production-post-controls>label input[type=range]{grid-column:1/-1;width:100%}
.adjustment-block output,.production-post-controls output{font-family:monospace;color:var(--muted)}
.adjustment-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.adjustment-presets button,.production-post-controls .button-row button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 10px;cursor:pointer;font-size:11px}
.button-row button.is-active,.adjustment-presets button:active,.production-post-controls .button-row button.is-active{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 10%,var(--surface))}
.colour-input-label input[type=color]{width:54px;height:34px;padding:2px;border:1px solid var(--line);background:var(--surface);cursor:pointer}
.production-post-editor{margin:24px 0;border:1px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 4%,var(--surface));padding:24px}
.production-post-editor-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:20px}
.production-post-editor-head h3{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:7px 0 8px}
.production-post-editor-head p{margin:0;color:var(--muted);line-height:1.55;max-width:760px}
.production-post-editor-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:22px;align-items:start}
.production-post-canvas-wrap{border:1px solid var(--line);background:#15191c;padding:10px;overflow:hidden}
.production-post-canvas-wrap canvas{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;touch-action:none;cursor:grab;background:#e9e5dd}
.production-post-canvas-wrap canvas:active{cursor:grabbing}
.production-post-canvas-wrap p{margin:9px 2px 0;color:var(--muted);font-size:11px}
.production-post-controls{display:grid;gap:12px;max-height:720px;overflow:auto;padding-right:4px}
.production-post-controls select{width:100%;grid-column:1/-1;padding:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.production-post-controls .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
@media(max-width:900px){.production-post-editor-grid{grid-template-columns:1fr}.production-post-controls{max-height:none}.production-post-editor-head{display:grid}.production-post-editor-head .button{width:100%}}
@media(max-width:600px){.adjustment-presets,.production-post-controls .button-row{grid-template-columns:1fr}.production-post-editor{padding:16px}}


/* Homepage product-panel slideshow. The same source image is clipped through every
   panel, preserving one continuous composition across all panel gaps. */
.hero-layout[data-hero-panel-slideshow]{display:block;padding:0;isolation:isolate;background:linear-gradient(145deg,var(--surface2),#b9c4ca)}
.hero-panel-slides{position:absolute;inset:0;z-index:2}
.hero-panel-slide{position:absolute;inset:0;display:grid;place-items:center;padding:48px 48px 72px;opacity:0;transform:scale(.985);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
.hero-panel-slide.is-active{opacity:1;transform:scale(1)}
.hero-panel-stage{position:relative;width:min(88%,680px);max-height:390px;perspective:1250px;transform-style:preserve-3d;transform:rotateX(1.2deg) rotateY(-1.1deg);filter:drop-shadow(0 27px 29px rgba(4,15,23,.34));transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .65s ease}
.hero-layout[data-hero-panel-slideshow]:hover .hero-panel-stage{transform:translateY(-3px) rotateX(-.35deg) rotateY(.8deg);filter:drop-shadow(0 32px 34px rgba(4,15,23,.4))}
.hero-panel{--panel-gap:clamp(3px,.38vw,5px);position:absolute;display:block;overflow:visible;transform-style:preserve-3d;transform:translate3d(var(--panel-shift-x,0),var(--panel-shift-y,0),var(--panel-depth,6px)) rotateX(var(--panel-rotate-x,0deg)) rotateY(var(--panel-rotate-y,0deg));transform-origin:center center;backface-visibility:hidden;filter:drop-shadow(0 9px 9px rgba(4,12,18,.28));transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .65s ease}
.hero-layout[data-hero-panel-slideshow]:hover .hero-panel{filter:drop-shadow(0 12px 12px rgba(4,12,18,.34))}
.hero-panel-image{position:absolute;inset:0;display:block;overflow:hidden;clip-path:inset(var(--panel-gap));background:#dce7ee}
.hero-panel-image img{position:absolute;display:block;max-width:none;object-fit:cover;user-select:none;-webkit-user-drag:none}
.hero-panel-frame{position:absolute;inset:var(--panel-gap);display:block;pointer-events:none;border:3px solid rgba(248,250,251,.96);box-shadow:inset -2px -2px 0 rgba(8,20,29,.12),inset 1px 1px 0 rgba(255,255,255,.8),6px 8px 0 -1px rgba(36,43,47,.8),10px 14px 18px rgba(3,12,18,.32);transform:translateZ(2px)}
.hero-panel-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.2),transparent 24%,transparent 74%,rgba(4,13,20,.12));mix-blend-mode:soft-light}
.hero-panel-caption{position:absolute;left:32px;right:32px;bottom:30px;z-index:5;display:flex;justify-content:flex-end;align-items:center;gap:13px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.55);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.hero-panel-dots{display:flex;gap:5px}
.hero-panel-dots i{display:block!important;position:static!important;width:19px!important;height:3px!important;background:rgba(255,255,255,.42)!important;border:0!important;box-shadow:none!important;transition:background .25s ease,width .25s ease}
.hero-panel-dots i.is-active{width:31px!important;background:#fff!important}
.hero-layout[data-hero-panel-slideshow] .hero-brand-mark{z-index:1;opacity:.08}
.hero-layout[data-hero-panel-slideshow] .hero-colour{z-index:6}
@media(max-width:760px){.hero-panel-slide{padding:32px 24px 62px}.hero-panel-stage{width:94%;max-height:255px}.hero-panel{--panel-gap:3px}.hero-panel-frame{border-width:2px;box-shadow:inset -1px -1px 0 rgba(8,20,29,.12),inset 1px 1px 0 rgba(255,255,255,.75),4px 5px 0 -1px rgba(36,43,47,.78),7px 9px 12px rgba(3,12,18,.28)}.hero-panel-caption{left:24px;right:24px;bottom:23px}.hero-layout[data-hero-panel-slideshow] .hero-colour{bottom:22px}}
@media(prefers-reduced-motion:reduce){.hero-panel-slide{transition:none}}

/* v36: all panel layouts cycle continuously in a deliberately mixed sequence. */
.hero-panel-slide{will-change:opacity,transform}
.hero-panel-counter{display:inline-flex;align-items:baseline;gap:3px;min-width:52px;justify-content:flex-end;font-family:monospace;font-size:10px;letter-spacing:.08em}
.hero-panel-counter b{font-size:12px;color:#fff}
.collage-upload-hint{margin:12px 0 0}.file-list button.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}.file-list button.is-empty{grid-template-columns:54px 1fr;min-height:60px;border-style:dashed;background:rgba(255,255,255,.55)}.file-list button.is-empty .file-slot-number{display:grid;place-items:center;width:54px;height:42px;background:#ddd6ca;color:var(--muted);font-family:Georgia,serif;font-size:20px}.file-list button.is-drop-target{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:#fff7f2}.canvas-wrap.dragover{outline-color:var(--accent)}
.file-list button[draggable="true"]{grid-template-columns:54px minmax(0,1fr) 28px;cursor:grab;user-select:none}.file-list button[draggable="true"]:active{cursor:grabbing}.file-list button.is-dragging{opacity:.45;transform:scale(.985)}.file-drag-handle{display:grid!important;place-items:center;align-self:stretch;min-width:28px;overflow:visible!important;color:var(--muted);font-size:18px;line-height:1;letter-spacing:-3px;white-space:normal!important}.file-list button.is-drop-target .file-drag-handle{color:var(--accent)}.canvas-wrap.reordering{outline-style:dashed}.canvas-wrap.reordering #designCanvas{cursor:copy}

/* A2C v002 — floating-frame finishes are reserved for a later sales stage.
   Keep the implementation intact, but hide buyer-facing frame selection/export. */
.a2c-3d-frame-control,.a2c-3d-actions [data-3d-frame-specs]{display:none!important}

/* v42 — dynamic floating-frame preview and buyer-facing specification export */
.a2c-3d-config{grid-template-columns:minmax(145px,.72fr) minmax(210px,1fr) minmax(145px,.72fr) minmax(190px,.72fr)}
.a2c-3d-frame-control small{display:block;order:2;color:#aaa59d;font-size:9px;line-height:1.35;min-height:24px}.a2c-3d-frame-control select{order:3}
.a2c-3d-actions [data-3d-frame-specs]{border-color:rgba(245,241,232,.55)}
.a2c-3d-actions [data-3d-frame-specs]:not(:disabled){background:rgba(255,255,255,.07)}
@media(max-width:1180px){
  .a2c-3d-config{grid-template-columns:1fr 1fr 1fr}
  .a2c-3d-config-price{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.12);padding:9px 0 0}
}
@media(max-width:760px){
  .a2c-3d-config{grid-template-columns:1fr 1fr}
  .a2c-3d-config label:nth-child(3),.a2c-3d-config label:nth-child(4){grid-column:auto}
  .a2c-3d-frame-control small{display:block;min-height:0;font-size:8px;line-height:1.3}
  .a2c-3d-actions{grid-template-columns:1fr 1fr}
}


/* v52 — full-screen editorial bedroom hero. Scoped to the homepage only. */
.hero.hero-bedroom-full{
  position:relative;
  display:block;
  min-height:calc(100svh - 82px);
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background:#111820;
  color:#fff;
}
.hero-bedroom-media{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#242b2d;
}
.hero-bedroom-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
  transform:none;
}
.hero-bedroom-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,13,17,.94) 0%,rgba(8,13,17,.83) 22%,rgba(8,13,17,.44) 38%,rgba(8,13,17,.08) 58%,rgba(8,13,17,.02) 100%),
    linear-gradient(180deg,rgba(4,8,11,.24),transparent 34%,rgba(4,8,11,.16));
}
.hero-bedroom-slides{position:absolute;inset:0;z-index:3}
.hero-cycle-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;background:#000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s}
.hero-intro-slides{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-intro-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility 0s linear .55s;overflow:hidden}
.hero-intro-slide.is-active{opacity:1;visibility:visible;transition-delay:0s}
.hero-intro-slide .hero-bedroom-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.hero-intro-slide::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,13,17,.88) 0%,rgba(8,13,17,.76) 20%,rgba(8,13,17,.42) 38%,rgba(8,13,17,.12) 58%,rgba(8,13,17,.03) 77%,rgba(8,13,17,.10) 100%),linear-gradient(180deg,rgba(4,8,11,.22) 0%,rgba(4,8,11,.04) 36%,rgba(4,8,11,.03) 68%,rgba(4,8,11,.18) 100%),radial-gradient(ellipse at 68% 34%,transparent 0%,transparent 34%,rgba(6,9,11,.05) 68%,rgba(6,9,11,.18) 100%)}
.hero-cycle-video-mask{z-index:2;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.hero-bedroom-media.is-video-active .hero-cycle-video,.hero-bedroom-media.is-video-active .hero-cycle-video-mask{opacity:1;visibility:visible;transition-delay:0s}
.hero-bedroom-media.is-video-active .hero-bedroom-caption,.hero-bedroom-media.is-intro-active .hero-bedroom-caption{opacity:0;visibility:hidden}
.hero-panel-slide.hero-bedroom-slide{position:absolute;inset:0;padding:0;display:block}
.hero-bedroom-artwork{
  position:absolute;
  left:55.6%;
  top:15.1%;
  width:31.8%;
  height:23.2%;
  transform:none;
  transition:left .12s ease,top .12s ease,width .12s ease,height .12s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  perspective:1500px;
}
.hero-panel-stage.hero-bedroom-stage{
  position:relative;
  max-width:100%;
  max-height:100%;
  transform-style:preserve-3d;
  transform:rotateX(.15deg) rotateY(-.4deg);
  filter:drop-shadow(0 16px 16px rgba(0,0,0,.36));
  transition:transform .65s cubic-bezier(.2,.75,.25,1),filter .65s ease;
}
.hero-panel-stage.hero-bedroom-stage.is-wide{width:100%;height:auto}
.hero-panel-stage.hero-bedroom-stage.is-tall{height:100%;width:auto}
.hero-bedroom-media:hover .hero-bedroom-stage{transform:translateY(-2px) rotateX(-.25deg) rotateY(.65deg);filter:drop-shadow(0 21px 20px rgba(0,0,0,.42))}
.hero-bedroom-full .hero-panel{--panel-gap:clamp(2px,.25vw,4px)}
.hero-bedroom-full .hero-panel-image{clip-path:inset(var(--panel-gap));background:#dce7ee}
.hero-bedroom-full .hero-panel-frame{
  inset:var(--panel-gap);
  border:2px solid rgba(249,251,252,.94);
  box-shadow:inset -1px -1px 0 rgba(8,20,29,.12),inset 1px 1px 0 rgba(255,255,255,.82),4px 5px 0 -1px rgba(35,41,45,.74),7px 10px 15px rgba(0,0,0,.3);
}
.hero-bedroom-caption{
  left:auto;
  right:clamp(18px,3vw,48px);
  bottom:clamp(18px,3vw,42px);
  width:auto;
  max-width:52%;
  justify-content:flex-end;
  gap:13px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(9,14,18,.58);
  color:#fff;
  backdrop-filter:blur(14px);
  text-shadow:none;
}
.hero-bedroom-content{
  position:relative;
  z-index:6;
  width:min(560px,43vw);
  min-height:calc(100svh - 82px);
  margin-left:clamp(28px,6vw,112px);
  padding:clamp(64px,9vh,120px) 0 clamp(54px,8vh,92px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.hero-bedroom-rule{display:block;width:58px;height:2px;margin-bottom:26px;background:linear-gradient(90deg,var(--cyan),var(--coral))}
.hero-bedroom-content .eyebrow{color:rgba(236,244,248,.67);font-size:10px;letter-spacing:.32em}
.hero-bedroom-title{
  display:grid;
  gap:.02em;
  margin:18px 0 24px;
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(44px,4.3vw,70px);
  font-weight:760;
  line-height:.96;
  letter-spacing:-.058em;
  max-width:9.8ch;
  text-wrap:balance;
}
.hero-bedroom-title span{display:block}
.hero-bedroom-content>p{max-width:48ch;margin:0 0 30px;color:rgba(229,237,242,.76);font-size:clamp(15px,1.05vw,18px);line-height:1.72}
.hero-bedroom-content .hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-bedroom-content .button{min-height:50px;padding:0 22px;border-radius:999px;border-color:rgba(255,255,255,.72);color:#fff;background:rgba(10,16,21,.22);backdrop-filter:blur(10px)}
.hero-bedroom-content .button.primary{border-color:var(--cyan);background:var(--cyan);color:#041016;box-shadow:0 16px 36px rgba(43,195,230,.2)}
.hero-bedroom-content .button:hover{transform:translateY(-2px)}
.hero-bedroom-proof{display:flex;gap:0;margin-top:clamp(34px,5vh,56px);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.hero-bedroom-proof span{min-width:118px;padding:14px 20px 14px 0;display:grid;gap:3px;color:rgba(230,238,243,.62);font-size:9px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.hero-bedroom-proof span+span{padding-left:20px;border-left:1px solid rgba(255,255,255,.16)}
.hero-bedroom-proof strong{color:#fff;font-size:17px;letter-spacing:-.02em}
.hero-bedroom-scroll{position:absolute;z-index:7;left:50%;bottom:20px;width:32px;height:48px;border:1px solid rgba(255,255,255,.32);border-radius:999px;transform:translateX(-50%)}
.hero-bedroom-scroll span{position:absolute;left:50%;top:10px;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateX(-50%);animation:a2c-hero-scroll 1.8s ease-in-out infinite}
@keyframes a2c-hero-scroll{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,18px)}}

/* Keep header controls readable regardless of theme. */
.language-control{border-color:#e7edf1!important;background:#fff!important;color:#101820!important;border-radius:999px!important;box-shadow:0 8px 24px rgba(0,0,0,.09)}
.language-control>span{color:#52606a!important}
.language-control select{background:#fff!important;color:#101820!important;color-scheme:light!important;font-weight:800!important}
.language-control select option{background:#fff!important;color:#101820!important}
.theme-toggle{border-radius:999px!important}
.cart-link{border-radius:999px}

@media(max-width:1180px){
  .hero-bedroom-content{width:min(510px,47vw);margin-left:4vw}
  .hero-bedroom-title{font-size:clamp(42px,5vw,62px)}
}
@media(max-width:900px){
  .hero.hero-bedroom-full{min-height:900px}
  .hero-bedroom-image{object-position:center center}
  .hero-bedroom-shade{background:linear-gradient(180deg,rgba(8,13,17,.88) 0%,rgba(8,13,17,.67) 38%,rgba(8,13,17,.05) 68%,rgba(8,13,17,.18) 100%)}
  .hero-bedroom-content{width:auto;min-height:auto;margin:0;padding:54px 28px 0;justify-content:flex-start}
  .hero-bedroom-title{font-size:clamp(42px,10vw,62px);max-width:12ch}
  .hero-bedroom-content>p{max-width:52ch}
  .hero-bedroom-caption{right:16px;bottom:16px;max-width:76%;font-size:8px}
  .hero-bedroom-scroll{display:none}
}
@media(max-width:600px){
  .hero.hero-bedroom-full{min-height:780px}
  .hero-bedroom-image{object-position:center center}
  .hero-bedroom-content{padding:42px 20px 0}
  .hero-bedroom-title{font-size:clamp(38px,12vw,52px)}
  .hero-bedroom-content .hero-actions{width:100%}
  .hero-bedroom-content .button{flex:1 1 150px}
  .hero-bedroom-proof{width:100%}
  .hero-bedroom-proof span{min-width:0;flex:1;padding-right:10px}
  .hero-bedroom-proof span+span{padding-left:10px}
  .hero-bedroom-caption>span:first-child{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-bedroom-scroll span{animation:none}}


/* v61 — smarter utility navigation */
.saved-design-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:6px 8px 6px 10px;
  border:1px solid color-mix(in srgb,var(--line) 78%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  color:var(--ink);
  text-decoration:none;
  box-shadow:0 8px 24px rgba(9,18,25,.06);
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.saved-design-link:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--brand-cyan) 58%,var(--line));
  box-shadow:0 12px 28px rgba(9,18,25,.11);
}
.saved-design-link.active{
  border-color:var(--brand-cyan);
  background:color-mix(in srgb,var(--brand-cyan) 10%,var(--surface));
}
.saved-design-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:color-mix(in srgb,var(--brand-cyan) 12%,var(--surface-2));
}
.saved-design-icon svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.saved-design-text{font-size:11px;font-weight:800;white-space:nowrap}
.saved-design-link b{
  min-width:22px;
  height:22px;
  padding:0 6px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:var(--brand-charcoal);
  color:#fff;
  font-size:10px;
  line-height:1;
}
html[data-theme="dark"] .saved-design-link{
  background:rgba(18,25,31,.88);
  border-color:rgba(255,255,255,.14);
  color:#f5f8fb;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
}
html[data-theme="dark"] .saved-design-icon{background:rgba(43,195,230,.14)}
@media(max-width:1180px){
  .saved-design-text{display:none}
  .saved-design-link{padding:7px}
  .saved-design-link b{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 4px;border:2px solid var(--surface);font-size:9px}
}
@media(max-width:600px){
  .saved-design-link{min-height:34px;padding:6px}
  .saved-design-icon{width:18px;height:18px}
}

/* Refined catalogue filters: type, finished wall size and price. */
.catalogue-heading{margin-bottom:30px}
.catalogue-filter-shell{position:relative;margin:0 0 34px;background:var(--surface);border:1px solid var(--line);overflow:hidden;box-shadow:0 24px 70px var(--shadow)}
.catalogue-filter-shell::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber) 48%,var(--brand-coral));z-index:2}
.catalogue-filter-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;padding:30px 32px 26px;border-bottom:1px solid var(--line)}
.catalogue-filter-head h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,3vw,46px);font-weight:400;letter-spacing:-.035em;margin:9px 0 8px}
.catalogue-filter-head p{max-width:680px;margin:0;color:var(--muted);line-height:1.6}
.catalogue-filter-status{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap;text-align:right}
.catalogue-filter-status strong{font-size:12px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.catalogue-filter-status button,.catalogue-empty button{appearance:none;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--muted);padding:4px 0;font:inherit;font-size:12px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s,color .2s}
.catalogue-filter-shell.has-active-filters .catalogue-filter-status button{opacity:1;pointer-events:auto}
.catalogue-filter-status button:hover,.catalogue-empty button:hover{color:var(--ink)}
.catalogue-filter-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr}
.catalogue-filter-group{min-width:0;margin:0;padding:26px 28px 30px;border:0;border-right:1px solid var(--line)}
.catalogue-filter-group:last-child{border-right:0}
.catalogue-filter-group legend{display:flex;align-items:center;gap:10px;width:100%;padding:0;margin:0 0 18px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.catalogue-filter-group legend span{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:100%;font-size:9px;letter-spacing:0;color:var(--ink);background:var(--paper)}
.catalogue-filter-options{display:flex;flex-wrap:wrap;gap:8px}
.catalogue-filter-option{position:relative;display:block;cursor:pointer;min-width:0}
.catalogue-filter-option input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.catalogue-filter-option>span{position:relative;display:flex;align-items:center;gap:9px;min-height:46px;border:1px solid var(--line);background:var(--paper);padding:9px 12px;color:var(--ink);transition:border-color .18s,background .18s,color .18s,transform .18s,box-shadow .18s}
.catalogue-filter-option:hover>span{border-color:var(--ink);transform:translateY(-1px)}
.catalogue-filter-option input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--brand-cyan) 38%,transparent);outline-offset:2px}
.catalogue-filter-option input:checked+span{background:var(--brand-charcoal);border-color:var(--brand-charcoal);color:#fff;box-shadow:0 9px 24px rgba(0,0,0,.16)}
.catalogue-filter-option em{font-style:normal;font-size:12px;font-weight:750;white-space:nowrap}
.catalogue-filter-option small{display:grid;place-items:center;min-width:21px;height:21px;margin-left:auto;border-radius:100%;background:color-mix(in srgb,var(--ink) 8%,transparent);font-size:10px;font-style:normal;color:var(--muted)}
.catalogue-filter-option input:checked+span small{background:rgba(255,255,255,.14);color:#fff}
.catalogue-filter-option.is-empty:not(:has(input:checked))>span{opacity:.42}
.type-options{gap:7px}
.type-option>span{padding-left:10px}
.catalogue-type-glyph{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:27px;height:24px;padding:4px 3px;border:1px solid currentColor;opacity:.76}
.catalogue-type-glyph b{display:block;width:3px;height:12px;background:currentColor}
.catalogue-type-glyph.glyph-2 b:nth-child(2),.catalogue-type-glyph.glyph-3 b:nth-child(2),.catalogue-type-glyph.glyph-4 b:nth-child(2),.catalogue-type-glyph.glyph-5 b:nth-child(2),.catalogue-type-glyph.glyph-4 b:nth-child(3),.catalogue-type-glyph.glyph-5 b:nth-child(3){height:16px}
.catalogue-type-glyph.glyph-3 b:first-child,.catalogue-type-glyph.glyph-3 b:last-child,.catalogue-type-glyph.glyph-5 b:first-child,.catalogue-type-glyph.glyph-5 b:last-child{height:9px}
.catalogue-type-glyph.glyph-all{align-items:center}
.catalogue-type-glyph.glyph-all b{width:5px;height:5px}
.catalogue-type-glyph.glyph-collage{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);align-content:center;gap:2px}
.catalogue-type-glyph.glyph-collage b{width:5px;height:5px}
.stacked-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stacked-options .catalogue-filter-option>span{min-height:57px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:9px;align-content:center}
.stacked-options .catalogue-filter-option em{grid-column:1;grid-row:1}
.stacked-options .catalogue-filter-option i{grid-column:1;grid-row:2;font-style:normal;font-size:10px;color:var(--muted);white-space:nowrap}
.stacked-options .catalogue-filter-option small{grid-column:2;grid-row:1/3;align-self:center}
.stacked-options .catalogue-filter-option input:checked+span i{color:rgba(255,255,255,.68)}
.price-option>span{min-height:52px!important}
.catalogue-empty{margin:0 0 24px;padding:45px;border:1px dashed var(--line);background:var(--surface);text-align:center}
.catalogue-empty span{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 14px;border-radius:100%;background:var(--brand-charcoal);color:#fff;font-family:Georgia,serif;font-size:22px}
.catalogue-empty p{margin:0 0 12px;color:var(--muted)}
.catalogue-empty button{opacity:1;pointer-events:auto}
.product-grid .product-card[hidden]{display:none!important}

@media(max-width:1100px){
  .catalogue-filter-grid{grid-template-columns:1fr 1fr}
  .catalogue-filter-group:first-child{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line)}
  .catalogue-filter-group:nth-child(2){border-right:1px solid var(--line)}
}
@media(max-width:760px){
  .catalogue-filter-head{display:block;padding:26px 20px 22px}
  .catalogue-filter-status{justify-content:space-between;text-align:left;margin-top:20px}
  .catalogue-filter-grid{grid-template-columns:1fr}
  .catalogue-filter-group,.catalogue-filter-group:first-child,.catalogue-filter-group:nth-child(2){grid-column:auto;padding:22px 20px 24px;border-right:0;border-bottom:1px solid var(--line)}
  .catalogue-filter-group:last-child{border-bottom:0}
  .type-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .type-option>span{width:100%}
}
@media(max-width:430px){
  .stacked-options,.type-options{grid-template-columns:1fr}
  .catalogue-filter-option>span{width:100%}
}


/* Physical product thumbnails: the stage keeps the exact width/height ratio. */
.layout-thumb{
  display:grid;
  place-items:center;
  padding:27px;
}
.layout-thumb-stage{
  position:relative;
  display:block;
  flex:none;
  max-width:100%;
  max-height:100%;
  filter:drop-shadow(0 10px 13px rgba(20,18,15,.22));
}
.layout-thumb-stage i{
  position:absolute;
  display:block;
  margin:0;
  box-sizing:border-box;
  background:linear-gradient(145deg,#252321 0%,#725f52 49%,#cfad86 100%);
  border:2px solid var(--surface2,#d9d2c7);
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.13),inset -1px -1px 0 rgba(0,0,0,.16);
  transform:none;
  transform-origin:center;
}
.layout-thumb > i{display:none}
@media(max-width:760px){
  .layout-thumb{padding:23px}
}


/* v99 — concise resolution messaging and portrait-safe bedroom hero. */
.upload-resolution-note{margin:11px 0 0;max-width:34ch}
.cart-production-note{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}
@media(max-width:900px) and (orientation:portrait){
  .hero.hero-bedroom-full{min-height:calc(100svh - 74px)}
  .hero-bedroom-content{position:absolute;inset:auto 0 0;width:100%;min-height:0;margin:0;padding:0 22px max(24px,env(safe-area-inset-bottom));justify-content:flex-end}
  .hero-bedroom-rule,.hero-bedroom-content>.eyebrow,.hero-bedroom-content>p,.hero-bedroom-proof,.hero-bedroom-content .hero-secondary,.hero-bedroom-caption{display:none!important}
  .hero-bedroom-title{max-width:9ch;margin:0 0 16px;font-size:clamp(36px,11vw,50px);line-height:.92;text-shadow:0 3px 24px rgba(0,0,0,.42)}
  .hero-bedroom-content .hero-actions{width:auto}
  .hero-bedroom-content .button.primary{min-height:44px;padding:0 19px}
}
@media(max-width:520px) and (orientation:portrait){
  .hero-bedroom-title{font-size:clamp(34px,10.5vw,44px)}
  .hero-bedroom-content{padding-inline:18px}
}

/* v103 — premium, operations-first CMS shell and visual bedroom placement editor */
.admin-body{
  --admin-bg:#f3f5f7;
  --admin-panel:#ffffff;
  --admin-panel-soft:#f8fafb;
  --admin-ink:#101820;
  --admin-muted:#66727d;
  --admin-line:#dfe5e9;
  --admin-dark:#0d151c;
  --admin-cyan:#2bc3e6;
  --admin-coral:#e26f52;
  --admin-good:#177a4c;
  --admin-warn:#a9650d;
  --admin-danger:#b42318;
  background:var(--admin-bg);
  color:var(--admin-ink);
  min-height:100vh;
}
.admin-shell-header{
  position:sticky;top:0;z-index:80;min-height:76px;padding:10px clamp(18px,3vw,46px);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:30px;
  color:#eef5f8;background:rgba(13,21,28,.96);border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 50px rgba(6,13,18,.18);backdrop-filter:blur(18px);
}
.admin-shell-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:max-content}
.admin-shell-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:linear-gradient(145deg,rgba(43,195,230,.2),rgba(226,111,82,.12));font-size:10px;font-weight:900;letter-spacing:.08em}
.admin-shell-brand>span:last-child{display:grid;gap:2px}.admin-shell-brand strong{font-size:12px;letter-spacing:.18em}.admin-shell-brand small{font-size:9px;color:#8fa1ad;letter-spacing:.12em;text-transform:uppercase}
.admin-shell-nav{display:flex;justify-content:center;gap:5px;min-width:0}
.admin-shell-nav a{position:relative;display:flex;align-items:center;min-height:42px;padding:0 15px;border-radius:11px;color:#aebdc6;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap;transition:.18s ease}
.admin-shell-nav a:hover{background:rgba(255,255,255,.07);color:#fff}.admin-shell-nav a.is-active{background:#fff;color:var(--admin-dark);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.admin-shell-nav a.is-active:after{content:"";position:absolute;left:18px;right:18px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--admin-cyan),var(--admin-coral))}
.admin-shell-actions{display:flex;align-items:center;gap:8px}.admin-shell-actions a{padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#dbe6eb;text-decoration:none;font-size:11px;font-weight:750;white-space:nowrap}.admin-shell-actions a:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}.admin-shell-actions .admin-shell-logout{color:#ffb6a5}
.admin-shell-main{width:min(1680px,100%);margin:0 auto;padding:clamp(28px,4vw,62px) clamp(18px,3vw,48px) 90px}
.admin-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 0 30px}
.admin-page-heading h1{margin:9px 0 0;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.045em;font-weight:760}.admin-page-heading p{max-width:780px;margin:13px 0 0;color:var(--admin-muted);font-size:14px;line-height:1.65}
.admin-body .eyebrow{color:#73818b;font-size:9px;letter-spacing:.25em}.admin-body .notice{border-radius:13px;background:#fff;box-shadow:0 8px 25px rgba(12,24,33,.05)}.admin-body .notice.success{border-color:rgba(23,122,76,.32);background:#f1fbf6}.admin-body .notice.error{border-color:rgba(180,35,24,.28);background:#fff5f3}
.admin-body .button{border-color:#cbd4da;border-radius:10px;background:#fff;color:var(--admin-ink);min-height:40px;padding:10px 15px;box-shadow:0 4px 13px rgba(10,25,35,.04);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.admin-body .button:hover{transform:translateY(-1px);border-color:#9aa9b2;box-shadow:0 8px 20px rgba(10,25,35,.09)}.admin-body .button.primary{border-color:var(--admin-dark);background:var(--admin-dark);color:#fff}.admin-body .button.danger{border-color:rgba(180,35,24,.28);color:var(--admin-danger);background:#fff8f7}.admin-body .button.danger:hover{background:#fff0ed;border-color:rgba(180,35,24,.5)}
.admin-body input,.admin-body textarea,.admin-body select{font:inherit;color:var(--admin-ink);background:#fff;border:1px solid #cad4da;border-radius:9px;padding:10px 11px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.admin-body input:focus,.admin-body textarea:focus,.admin-body select:focus{border-color:#58b8cf;box-shadow:0 0 0 3px rgba(43,195,230,.13)}.admin-body input[type=checkbox],.admin-body input[type=radio]{width:auto;accent-color:#178aa5}.admin-body input[type=range]{padding:0;border:0;box-shadow:none;accent-color:#178aa5}
.admin-card,.admin-section-card{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:18px;box-shadow:0 15px 50px rgba(14,28,38,.055)}
.admin-card{padding:clamp(20px,2vw,30px)}.admin-section-card{padding:clamp(22px,2.5vw,38px);margin:0 0 30px}.admin-shell-main>section{margin-bottom:30px}
.admin-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 0 25px}.admin-section-heading h2{margin:7px 0 0;font-size:clamp(27px,3vw,42px);line-height:1.02;letter-spacing:-.035em}.admin-section-heading p{max-width:760px;margin:10px 0 0;color:var(--admin-muted);font-size:13px;line-height:1.6}.admin-section-actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-status-badge{display:inline-flex;align-items:center;width:max-content;min-height:26px;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;background:#eef2f4;color:#52616b}.admin-status-badge:before{content:"";width:6px;height:6px;margin-right:7px;border-radius:50%;background:currentColor}.admin-status-badge.is-good{background:#eaf8f0;color:var(--admin-good)}.admin-status-badge.is-warn{background:#fff5e6;color:var(--admin-warn)}.admin-status-badge.is-danger{background:#ffefed;color:var(--admin-danger)}
.admin-metric-grid,.admin-order-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 30px}.admin-metric-grid article,.admin-order-overview article{min-width:0;padding:21px 22px;border:1px solid var(--admin-line);border-radius:16px;background:linear-gradient(145deg,#fff,#f8fafb);box-shadow:0 10px 30px rgba(12,24,33,.045);display:grid;gap:8px}.admin-metric-grid article>span,.admin-order-overview article>span{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--admin-muted)}.admin-metric-grid strong,.admin-order-overview strong{font-size:clamp(22px,2.2vw,35px);line-height:1;letter-spacing:-.035em;overflow-wrap:anywhere}.admin-metric-grid small,.admin-order-overview small{color:var(--admin-muted);font-size:11px;line-height:1.45}.admin-metric-grid article.needs-attention{border-color:rgba(180,35,24,.25);background:linear-gradient(145deg,#fff,#fff4f2)}
.admin-order-filters{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(190px,.5fr) auto;gap:12px;align-items:end;margin:0 0 14px;padding:15px;border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-panel-soft)}.admin-order-filters label{display:grid;gap:6px;margin:0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-muted)}.admin-filter-result{align-self:center;padding:10px 2px;font-size:11px;font-weight:800;color:var(--admin-muted);white-space:nowrap}
.order-bulk-toolbar{position:sticky;top:86px;z-index:12;display:flex;align-items:center;gap:12px;min-height:54px;margin:0 0 10px;padding:8px 12px;border:1px solid var(--admin-line);border-radius:13px;background:rgba(255,255,255,.93);box-shadow:0 10px 28px rgba(10,24,34,.08);backdrop-filter:blur(14px)}.order-bulk-select-all{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;cursor:pointer}.order-bulk-select-all input,.order-select-cell input{width:17px;height:17px;margin:0}.order-bulk-count{margin-right:auto;color:var(--admin-muted);font-size:11px}
.admin-order-table{overflow:auto;border:1px solid var(--admin-line);border-radius:15px;background:#fff}.admin-order-table-head,.order-admin-list article{display:grid;grid-template-columns:32px minmax(185px,1.2fr) minmax(94px,.55fr) minmax(130px,.75fr) minmax(105px,.65fr) minmax(140px,.85fr) minmax(85px,.55fr) minmax(170px,1fr) minmax(145px,.75fr);gap:13px;align-items:center;min-width:1280px}.admin-order-table-head{padding:11px 14px;background:#f6f8f9;border-bottom:1px solid var(--admin-line);color:#71808a;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.order-admin-list article{padding:13px 14px;border:0;border-bottom:1px solid #edf0f2;background:#fff;font-size:11px;transition:background .16s ease,box-shadow .16s ease}.order-admin-list article:last-child{border-bottom:0}.order-admin-list article:hover{background:#fbfdfe}.order-admin-list article.is-selected{background:#f1fbfd;box-shadow:inset 3px 0 0 var(--admin-cyan)}.order-admin-list article[hidden]{display:none}.order-select-cell{display:grid;place-items:center;min-height:48px;cursor:pointer}.admin-order-primary{display:grid;gap:5px}.admin-order-primary a{color:var(--admin-ink);text-decoration:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.admin-order-primary small,.admin-production-cell small{color:var(--admin-muted);font-size:9px}.admin-production-cell{display:grid;gap:5px}.order-admin-list time,.admin-order-email{color:var(--admin-muted);font-size:10px;overflow-wrap:anywhere}.order-image-thumbnails{display:flex;align-items:center;gap:5px;min-height:48px}.order-image-thumbnail{position:relative;display:block;flex:0 0 46px;width:46px;height:46px;border:1px solid #d7dfe3;border-radius:9px;overflow:hidden;background:#edf1f3}.order-image-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.order-image-thumbnail span{display:none;position:absolute;inset:0;place-items:center;padding:3px;text-align:center;font-size:7px;color:var(--admin-muted)}.order-image-thumbnail.is-missing img{display:none}.order-image-thumbnail.is-missing span{display:grid}.admin-no-artwork{font-size:9px;color:var(--admin-muted)}.order-admin-actions{display:flex;justify-content:flex-end;gap:6px}.order-admin-actions form{margin:0}.order-admin-actions .button{min-height:34px;padding:7px 10px;font-size:10px}.admin-empty-state{padding:45px;text-align:center}.admin-empty-state strong{font-size:20px}.admin-empty-state p{color:var(--admin-muted)}
.admin-workspace-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-workspace-links a{position:relative;display:grid;gap:8px;padding:22px;border:1px solid var(--admin-line);border-radius:16px;background:#fff;color:var(--admin-ink);text-decoration:none;box-shadow:0 10px 30px rgba(12,24,33,.04);transition:transform .18s ease,border-color .18s ease}.admin-workspace-links a:hover{transform:translateY(-2px);border-color:#a9c6cf}.admin-workspace-links span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--admin-muted);font-weight:850}.admin-workspace-links strong{font-size:18px}.admin-workspace-links small{color:var(--admin-muted);line-height:1.5}
.admin-disclosure{margin:24px 0 0}.admin-disclosure>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid var(--admin-line);border-radius:15px;background:#fff;cursor:pointer;box-shadow:0 8px 25px rgba(12,24,33,.04)}.admin-disclosure>summary::-webkit-details-marker{display:none}.admin-disclosure>summary>span:first-child{display:grid;gap:3px}.admin-disclosure>summary b{font-size:16px}.admin-disclosure>summary small{color:var(--admin-muted)}.admin-disclosure>summary>span:last-child{font-size:10px;font-weight:800;color:var(--admin-muted)}.admin-disclosure[open]>summary{border-radius:15px 15px 0 0}.admin-disclosure>.admin-section-card{border-top:0;border-radius:0 0 18px 18px;box-shadow:none}
.product-admin-list{display:grid;gap:6px}.product-admin-list form{display:grid;grid-template-columns:minmax(92px,.5fr) minmax(200px,1.4fr) minmax(130px,.7fr) minmax(150px,.7fr) 82px auto;gap:9px;align-items:center;padding:10px;border:1px solid #edf0f2;border-radius:11px;background:#fbfcfd}.product-admin-list code{font-size:10px}.product-admin-list button{min-height:38px}.price-admin{display:grid;gap:4px}.price-admin small{font-size:9px;color:var(--admin-muted)}
.admin-grid{gap:16px}.admin-card h2{margin-top:0;font-size:22px;letter-spacing:-.02em}.admin-card h3{font-size:15px}.admin-card label{color:#53616b;font-weight:700}.admin-card p{color:#4e5b64;line-height:1.55}.admin-card code{overflow-wrap:anywhere}
.admin-order-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:20px;align-items:center;margin-bottom:30px}.admin-order-meta>div{display:grid;gap:6px}.admin-order-meta span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-muted)}.admin-order-meta strong{font-size:12px;overflow-wrap:anywhere}.admin-order-meta-actions{display:flex!important;flex-direction:row;justify-content:flex-end;gap:8px}
.admin-production-preview-grid{display:grid;grid-template-columns:1fr;gap:22px;margin:0}.admin-wall-editor{overflow:hidden;border:1px solid var(--admin-line);border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(12,24,33,.07)}.admin-wall-editor-head{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;border-bottom:1px solid var(--admin-line);background:#fbfcfd}.admin-wall-editor-head h3{margin:5px 0 3px;font-size:23px;letter-spacing:-.025em}.admin-wall-editor-head p{margin:0;color:var(--admin-muted);font-size:11px}.admin-kicker,.admin-control-label{display:block;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#73818b}.admin-wall-device-switch{display:flex;padding:4px;border:1px solid var(--admin-line);border-radius:11px;background:#f3f6f8}.admin-wall-device-switch button{border:0;border-radius:8px;background:transparent;padding:8px 11px;color:#66747e;font-size:10px;font-weight:800;cursor:pointer}.admin-wall-device-switch button.is-active{background:#fff;color:var(--admin-ink);box-shadow:0 4px 12px rgba(10,24,34,.1)}
.admin-wall-editor-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr)}.admin-wall-preview-column{min-width:0;padding:20px;background:#111a21}.admin-wall-stage{--wall-desktop-ratio:2048 / 946;position:relative;width:100%;aspect-ratio:var(--wall-desktop-ratio);overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:#19242c;box-shadow:0 22px 55px rgba(0,0,0,.22)}.admin-wall-editor[data-device="mobile"] .admin-wall-stage{width:min(430px,100%);aspect-ratio:9/16;margin-inline:auto}.admin-wall-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;user-select:none;-webkit-user-drag:none}.admin-wall-stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 -80px 100px rgba(4,9,12,.07)}.admin-wall-artwork{position:absolute;z-index:3;display:grid;place-items:center;touch-action:none;cursor:grab;filter:drop-shadow(0 13px 14px rgba(0,0,0,.38));outline:1px dashed transparent;outline-offset:5px}.admin-wall-artwork:hover{outline-color:rgba(43,195,230,.8)}.admin-wall-artwork.is-dragging{cursor:grabbing;outline-color:var(--admin-cyan)}.admin-wall-artwork-stage,.admin-wall-artwork canvas{display:block;width:100%;height:100%}.admin-wall-drag-label{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:rgba(7,16,22,.78);color:#dff7fc;font-size:8px;font-weight:800;white-space:nowrap;opacity:0;transition:opacity .15s}.admin-wall-artwork:hover .admin-wall-drag-label,.admin-wall-artwork.is-dragging .admin-wall-drag-label{opacity:1}.admin-wall-preview-footer{display:flex;justify-content:space-between;gap:20px;padding:11px 2px 0;color:#94a5af;font-size:9px}.admin-wall-preview-footer span:first-child{font-weight:800;color:#d5e1e7}.admin-wall-editor.has-cropped-artwork .admin-wall-preview-footer span:first-child{color:#ffbe85}
.admin-wall-controls{display:grid;align-content:start;background:#fff;border-left:1px solid var(--admin-line)}.admin-control-group{display:grid;gap:11px;padding:18px 20px;border-bottom:1px solid var(--admin-line)}.admin-control-group label{display:grid;gap:6px;margin:0;color:#56646e;font-size:10px;font-weight:750}.admin-control-group select,.admin-control-group input[type=number]{width:100%}.admin-range-head{display:flex;justify-content:space-between;align-items:center;font-size:10px}.admin-range-head output{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:850;color:#167f98}.admin-compact-field{grid-template-columns:1fr 95px!important;align-items:center}.admin-coordinate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-nudge-pad{display:grid;grid-template-columns:repeat(3,42px);justify-content:center;gap:4px}.admin-nudge-pad button{width:42px;height:36px;border:1px solid var(--admin-line);border-radius:9px;background:#f8fafb;font-weight:900;cursor:pointer}.admin-nudge-pad button:hover{border-color:#83bdcb;background:#eef9fb}.admin-inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.admin-inline-actions .button{font-size:9px;padding:8px}.admin-wall-save{position:sticky;bottom:0;display:grid;gap:9px;padding:17px 20px;background:rgba(255,255,255,.95);box-shadow:0 -10px 28px rgba(10,24,34,.07);backdrop-filter:blur(12px)}.admin-wall-save a{text-align:center;color:#65737d;font-size:9px;text-decoration:none}.admin-wall-save .button{width:100%}
.admin-production-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-production-source-grid>.admin-card{min-width:0}.production-panel-canvas-wrap{position:relative;min-height:260px;display:grid;place-items:center;overflow:hidden;background:#e9e5dd;border-radius:14px}.production-panel-canvas-wrap canvas{position:relative;z-index:2;display:block;width:100%;height:auto;max-height:640px}.production-panel-canvas-wrap .production-preview-fallback{position:absolute;z-index:1;inset:7%;width:86%;height:86%;object-fit:contain;display:none}.production-panel-canvas-wrap.preview-fallback-active canvas{display:none}.production-panel-canvas-wrap.preview-fallback-active .production-preview-fallback{display:block}
.producer-admin-section{padding:clamp(22px,2.5vw,38px);border:1px solid var(--admin-line);border-radius:18px;background:#fff;box-shadow:0 15px 50px rgba(14,28,38,.055)}.producer-admin-section>h1{margin:8px 0 25px;font-size:36px;letter-spacing:-.035em}.producer-admin-grid{gap:14px}.producer-queue{display:grid;gap:10px}.producer-queue-card{border-radius:14px;border-color:var(--admin-line);box-shadow:0 8px 25px rgba(12,24,33,.04)}
.background-admin-grid{display:grid;gap:18px}.background-admin-card{background:#fff;border:1px solid var(--admin-line)!important;border-radius:18px!important;padding:clamp(20px,2.5vw,32px)!important;box-shadow:0 15px 50px rgba(14,28,38,.055)}.background-admin-card>img{border-radius:14px!important;box-shadow:0 12px 35px rgba(10,24,34,.12)}.background-admin-actions{gap:9px}.background-form-grid label{display:grid;gap:6px;color:#56646e;font-size:10px}.background-helper{color:var(--admin-muted)!important;line-height:1.55}
.admin-login{overflow:hidden;width:min(470px,calc(100% - 30px));margin:9vh auto;padding:38px;border:1px solid var(--admin-line);border-radius:22px;background:#fff;box-shadow:0 35px 100px rgba(8,18,25,.16)}.admin-login:before{content:"A2C";display:grid;place-items:center;width:52px;height:52px;margin:0 0 24px;border-radius:14px;background:var(--admin-dark);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}.admin-login h1{margin:8px 0 26px;font-family:Inter,Arial,sans-serif;font-size:43px;font-weight:760;letter-spacing:-.045em}.admin-login .button{width:100%;margin-top:8px}.admin-login .muted{margin-top:20px;color:var(--admin-muted);font-size:10px}
@media(max-width:1200px){
  .admin-shell-header{grid-template-columns:auto 1fr}.admin-shell-actions{display:none}.admin-shell-nav{justify-content:flex-end;overflow:auto}.admin-order-table-head,.order-admin-list article{min-width:1160px}.admin-wall-editor-grid{grid-template-columns:minmax(0,1.3fr) minmax(285px,.7fr)}.admin-production-source-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .admin-shell-header{display:flex;align-items:center;overflow-x:auto;gap:18px}.admin-shell-nav{justify-content:flex-start}.admin-shell-nav a{padding:0 11px}.admin-shell-brand>span:last-child{display:none}.admin-page-heading{display:block}.admin-metric-grid,.admin-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-order-filters{grid-template-columns:1fr 1fr}.admin-filter-result{grid-column:1/-1}.admin-workspace-links{grid-template-columns:1fr}.admin-order-meta{grid-template-columns:1fr 1fr}.admin-order-meta-actions{grid-column:1/-1;justify-content:flex-start}.admin-wall-editor-grid{grid-template-columns:1fr}.admin-wall-controls{border-left:0;border-top:1px solid var(--admin-line)}.admin-wall-save{position:static}.product-admin-list form{grid-template-columns:1fr 1fr}.product-admin-list form>*{min-width:0}.product-admin-list form code{grid-column:1/-1}
}
@media(max-width:600px){
  .admin-shell-header{min-height:66px;padding:8px 12px}.admin-shell-mark{width:38px;height:38px}.admin-shell-nav a{min-height:38px;font-size:10px}.admin-shell-main{padding:24px 13px 70px}.admin-page-heading h1{font-size:34px}.admin-metric-grid,.admin-order-overview{grid-template-columns:1fr 1fr;gap:8px}.admin-metric-grid article,.admin-order-overview article{padding:16px}.admin-order-filters{grid-template-columns:1fr}.order-bulk-toolbar{top:72px;flex-wrap:wrap}.order-bulk-count{order:3;flex-basis:100%}.admin-section-card{padding:18px 13px}.admin-section-heading{display:block}.admin-section-actions{margin-top:14px}.admin-order-meta{grid-template-columns:1fr}.admin-order-meta-actions{display:grid!important;grid-template-columns:1fr 1fr}.admin-wall-editor-head{display:grid}.admin-wall-device-switch{width:max-content}.admin-wall-preview-column{padding:10px}.admin-wall-preview-footer{display:grid;gap:4px}.admin-coordinate-grid{grid-template-columns:1fr}.admin-inline-actions{grid-template-columns:1fr}.product-admin-list form{grid-template-columns:1fr}.product-admin-list form code{grid-column:auto}.admin-grid{grid-template-columns:1fr}
}
.admin-system-grid{display:grid;gap:8px}.admin-system-grid article{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:14px 16px;border:1px solid #e8edef;border-radius:12px;background:#fbfcfd}.admin-system-grid article>div{display:grid;gap:5px;min-width:0}.admin-system-grid article strong{font-size:12px}.admin-system-grid article span{color:var(--admin-muted);font-size:10px;line-height:1.5;overflow-wrap:anywhere}.admin-check-state{flex:0 0 auto;padding:6px 9px;border-radius:999px;font-size:9px;letter-spacing:.08em}.admin-check-state.is-ok{background:#eaf8f0;color:var(--admin-good)}.admin-check-state.is-failed{background:#ffefed;color:var(--admin-danger)}.admin-check-state.is-optional{background:#fff5e6;color:var(--admin-warn)}
.admin-production-page .producer-queue-card{display:grid;grid-template-columns:86px minmax(180px,1.2fr) minmax(120px,.65fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(140px,.7fr) auto;gap:14px;align-items:center;padding:14px;background:#fff;border:1px solid var(--admin-line)}.admin-production-page .producer-reference-thumb{display:block;width:86px;height:62px;border-radius:9px;overflow:hidden;background:#eef1f3}.admin-production-page .producer-reference-thumb img{display:block;width:100%;height:100%;object-fit:cover}.admin-production-page .producer-queue-card>div:nth-child(2){display:grid;gap:5px}.admin-production-page .producer-queue-card a{color:var(--admin-ink)}.admin-production-page .producer-queue-card small,.admin-production-page .producer-queue-card>span{color:var(--admin-muted);font-size:10px}.admin-production-page .production-actions{display:flex;gap:6px;justify-content:flex-end}.admin-production-page .production-actions .button{font-size:9px;padding:8px 10px;white-space:nowrap}
@media(max-width:1200px){.admin-production-page .producer-queue-card{grid-template-columns:86px 1fr 1fr}.admin-production-page .producer-queue-card>span,.admin-production-page .production-actions{grid-column:2/-1}.admin-production-page .production-actions{justify-content:flex-start}}
@media(max-width:650px){.admin-system-grid article{align-items:flex-start}.admin-production-page .producer-queue-card{grid-template-columns:72px 1fr}.admin-production-page .producer-reference-thumb{width:72px;height:58px}.admin-production-page .producer-queue-card>div:nth-child(n+3),.admin-production-page .producer-queue-card>span,.admin-production-page .production-actions{grid-column:1/-1}}

/* v007 internationalisation: keep interface direction logical without mirroring artwork. */
html[dir="rtl"] body {
  direction: rtl;
  text-align: start;
}

html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select {
  direction: rtl;
  text-align: start;
}

html[dir="rtl"] canvas,
html[dir="rtl"] svg,
html[dir="rtl"] video,
html[dir="rtl"] .panel-layout,
html[dir="rtl"] .canvas-preview,
html[dir="rtl"] .a2c-3d-stage,
html[dir="rtl"] .production-preview-canvas {
  direction: ltr;
}

html[dir="rtl"] .language-control select,
html[dir="rtl"] [data-language-switch] {
  direction: rtl;
}

html[dir="rtl"] .site-header,
html[dir="rtl"] .header-tools,
html[dir="rtl"] .button-row,
html[dir="rtl"] .production-actions,
html[dir="rtl"] .basket-line,
html[dir="rtl"] .account-order-head {
  text-align: start;
}

/* Accented callouts use logical borders in component rules. Keep ordinary
   notices fully bordered instead of converting their right edge to an accent. */
html[dir="rtl"] .tip,
html[dir="rtl"] .callout {
  border-inline-start-width: 4px;
}

/* v46 — market/currency selectors and FX fallback notice. */
.market-control select{min-width:104px}
.currency-control select{min-width:104px}
.market-notice{padding:9px 20px;text-align:center;font-size:.82rem;background:var(--surface-2,#eef2f4);border-bottom:1px solid var(--line,#d9e0e4);color:var(--muted,#52606a)}
@media(max-width:900px){.market-control span,.currency-control span{display:none}.market-control select,.currency-control select{min-width:86px}}

/* v47 — modular checkout, dark-safe delivery panel and payment providers */
.cart-checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:28px;align-items:start}
.checkout-panel{position:sticky;top:96px;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--surface);color:var(--ink);box-shadow:0 18px 45px var(--shadow)}
.checkout-panel h2{margin:0 0 18px;color:var(--ink)}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-fields label{display:grid;gap:6px;font-size:.88rem;color:var(--ink)}
.checkout-fields label>span{color:var(--muted)}
.checkout-fields label.wide{grid-column:1/-1}
.checkout-fields input,.checkout-fields select{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--surface2);color:var(--ink);font:inherit;color-scheme:light dark}
.checkout-fields input::placeholder{color:var(--muted);opacity:.85}
.checkout-fields input:focus,.checkout-fields select:focus{outline:2px solid color-mix(in srgb,var(--brand-cyan) 60%,transparent);outline-offset:1px;border-color:var(--brand-cyan)}
.checkout-address-note{font-size:.82rem;color:var(--muted)}
.payment-methods{border:0;padding:0;margin:20px 0 0;display:grid;gap:9px}
.payment-methods legend{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.payment-method{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:13px;background:var(--surface2);cursor:pointer}
.payment-method:has(input:checked){border-color:var(--brand-cyan);box-shadow:inset 0 0 0 1px var(--brand-cyan)}
.payment-method input{margin-top:4px;accent-color:var(--brand-cyan)}
.payment-method span{display:grid;gap:3px}.payment-method strong{color:var(--ink)}.payment-method small{color:var(--muted);line-height:1.4}
.payment-method.is-unavailable{opacity:.55;cursor:not-allowed}.payment-method[hidden]{display:none!important}
.cart-summary{margin-top:20px}.cart-summary>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}
.cart-summary .pricing-total{font-size:1.12rem;border-bottom:0;padding-top:16px}.cart-summary .button{width:100%;margin-top:14px}
.cart-remove-form{margin:0;display:flex;justify-content:flex-end}.cart-remove-form .remove-line{font:inherit;color:var(--danger);padding:8px 0}
html[data-theme="dark"] .checkout-panel{background:var(--surface);color:var(--ink)}
html[data-theme="dark"] .checkout-fields input,html[data-theme="dark"] .checkout-fields select,html[data-theme="dark"] .payment-method{background:var(--surface2);color:var(--ink)}
@media(max-width:920px){.cart-checkout-grid{grid-template-columns:1fr}.checkout-panel{position:static}}
@media(max-width:560px){.checkout-fields{grid-template-columns:1fr}.checkout-fields label.wide{grid-column:auto}}
@media(max-width:760px){.cart-remove-form{grid-column:2;justify-content:flex-start}}

/* v47 — internal USDC checkout */
.usdc-payment-page{max-width:880px;margin:0 auto}.usdc-payment-card{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:clamp(24px,5vw,56px);box-shadow:0 24px 70px var(--shadow)}
.usdc-payment-card h1{font-family:Georgia,serif;font-size:clamp(46px,7vw,82px);font-weight:400;letter-spacing:-.05em;margin:14px 0 18px}.usdc-intro{color:var(--muted);font-size:17px;line-height:1.65;max-width:680px}
.usdc-payment-facts{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;border:1px solid var(--line)}.usdc-payment-facts>div{padding:18px;display:grid;gap:8px;border-right:1px solid var(--line)}.usdc-payment-facts>div:last-child{grid-column:1/-1;border-right:0;border-top:1px solid var(--line)}
.usdc-payment-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.usdc-payment-facts strong{font-size:20px}.usdc-payment-facts code{font-size:12px;overflow-wrap:anywhere;color:var(--ink)}
.usdc-actions{display:flex;gap:10px;flex-wrap:wrap}.usdc-actions .button[hidden]{display:none!important}.usdc-mobile-wallets{margin:14px 0 0;padding:16px;border:1px solid var(--line);background:var(--surface2)}.usdc-mobile-wallets[hidden]{display:none!important}.usdc-mobile-wallets>p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.usdc-mobile-wallet-actions{display:flex;gap:10px;flex-wrap:wrap}.usdc-mobile-wallets .usdc-wallet-handoff-note{margin:10px 0 0;font-size:11px}.usdc-wallet,.usdc-note{color:var(--muted);font-size:12px}.usdc-status{margin:22px 0 8px;padding:15px;border:1px solid var(--line);background:var(--surface2)}.usdc-status[data-state="confirmed"]{border-color:var(--good);color:var(--good)}.usdc-status[data-state="error"]{border-color:var(--danger);color:var(--danger)}
.usdc-progress{height:5px;background:var(--surface2);overflow:hidden}.usdc-progress i{display:block;height:100%;width:0;background:var(--brand-cyan);transition:width .3s ease}
@media(max-width:640px){.usdc-payment-facts{grid-template-columns:1fr}.usdc-payment-facts>div{border-right:0;border-bottom:1px solid var(--line)}.usdc-payment-facts>div:last-child{grid-column:auto;border-top:0;border-bottom:0}.usdc-actions,.usdc-mobile-wallet-actions{display:grid}.usdc-actions .button,.usdc-mobile-wallet-actions .button{width:100%}}

/* v48 — payment operations and refund workflow */
.admin-payment-list{display:grid;gap:12px}.admin-payment-row,.admin-refund-row{display:grid;grid-template-columns:minmax(160px,1.05fr) minmax(120px,.65fr) minmax(130px,.65fr) minmax(220px,1.45fr) auto;gap:16px;align-items:center;padding:18px}.admin-payment-row>div,.admin-refund-row>div{display:grid;gap:5px;min-width:0}.admin-payment-row span,.admin-refund-row span,.admin-refund-request label>span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-muted)}.admin-payment-row code,.admin-refund-row code{font-size:11px;overflow-wrap:anywhere}.admin-payment-row small,.admin-refund-row small{color:var(--admin-muted);overflow-wrap:anywhere}.admin-payment-actions{display:flex!important;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.admin-payment-actions form{margin:0}.admin-usdc-refund-form{display:flex;gap:7px;align-items:center}.admin-usdc-refund-form input{min-width:250px}.admin-payment-events{display:grid;gap:8px}.admin-payment-events article{display:grid;grid-template-columns:155px minmax(190px,1fr) minmax(150px,.8fr) minmax(150px,.8fr);gap:12px;align-items:center;padding:11px 13px;border:1px solid var(--admin-line);border-radius:11px;background:var(--admin-panel-soft,#f7f9fa)}.admin-payment-events time,.admin-payment-events span,.admin-payment-events small{font-size:11px;color:var(--admin-muted);overflow-wrap:anywhere}.admin-payment-events small{grid-column:2/-1}.admin-refund-request{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(180px,.7fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--admin-line)}.admin-refund-request label{display:grid;gap:6px}.admin-refund-request input,.admin-refund-request select,.admin-usdc-refund-form input{border:1px solid var(--admin-line);border-radius:9px;padding:10px;background:#fff;color:var(--admin-ink);font:inherit}.admin-order-payments .admin-order-meta{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}
@media(max-width:1100px){.admin-payment-row,.admin-refund-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-payment-row>form,.admin-refund-row>.admin-payment-actions{grid-column:1/-1;justify-content:flex-start}.admin-refund-request{grid-template-columns:1fr 1fr}.admin-refund-request .admin-refund-note{grid-column:1/-1}}
@media(max-width:680px){.admin-payment-row,.admin-refund-row,.admin-refund-request,.admin-payment-events article,.admin-order-payments .admin-order-meta{grid-template-columns:1fr}.admin-payment-events small{grid-column:auto}.admin-usdc-refund-form{display:grid;width:100%}.admin-usdc-refund-form input{min-width:0;width:100%}}

/* v49 — payment eligibility, compliance audit and final commerce reporting */
.payment-eligibility-notice{margin:18px 0 0;border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}
#checkoutButton:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.45)}
.admin-compliance-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.65fr) minmax(170px,.85fr) minmax(160px,.8fr) minmax(180px,1fr);gap:16px;align-items:center;padding:18px}
.admin-compliance-row>div{display:grid;gap:5px;min-width:0}.admin-compliance-row span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-muted)}.admin-compliance-row code,.admin-compliance-row small{font-size:11px;color:var(--admin-muted);overflow-wrap:anywhere}
@media(max-width:1050px){.admin-compliance-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.admin-compliance-row{grid-template-columns:1fr}}

/* Catalogue pricing modes (v016). */
.catalogue-pricing-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.catalogue-pricing-legend span{padding:12px 14px;border:1px solid var(--admin-line);border-radius:10px;background:var(--surface);font-size:11px;line-height:1.45;color:var(--admin-muted)}.catalogue-pricing-legend b{display:block;color:var(--ink);margin-bottom:3px}.product-pricing-list{gap:10px}.product-admin-list .product-pricing-card{display:grid;grid-template-columns:minmax(125px,.7fr) minmax(230px,1.35fr) minmax(135px,.7fr) minmax(170px,.9fr) minmax(150px,.72fr) minmax(165px,.78fr) minmax(165px,.8fr) auto auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--admin-line);border-radius:13px;background:var(--surface)}.product-pricing-card label{display:grid;gap:5px;min-width:0;font-size:10px;font-weight:750;color:var(--admin-muted)}.product-pricing-card input,.product-pricing-card select{width:100%;min-width:0;min-height:39px;padding:9px 10px;border:1px solid var(--admin-line);border-radius:8px;background:var(--surface-2);color:var(--ink);font:inherit}.product-pricing-card .inline-check{display:flex;align-items:center;gap:6px;min-height:39px;color:var(--ink)}.product-pricing-card .inline-check input{width:auto;min-height:0}.product-pricing-identity{display:grid;align-self:stretch;align-content:center;gap:3px}.product-pricing-identity code{font-size:10px}.product-pricing-identity strong{font-size:12px}.product-pricing-identity small{font-size:9px;line-height:1.35;color:var(--admin-muted)}.product-pricing-result{display:grid;gap:3px;align-self:stretch;align-content:center;padding:8px 10px;border:1px solid var(--admin-line);border-radius:9px;background:var(--surface-2)}.product-pricing-result span,.product-pricing-result small{font-size:9px;color:var(--admin-muted)}.product-pricing-result strong{font-size:15px}.product-pricing-card [data-pricing-field][hidden]{display:none!important}.product-pricing-card .button{min-height:39px;white-space:nowrap}
@media(max-width:1500px){.product-admin-list .product-pricing-card{grid-template-columns:minmax(110px,.6fr) minmax(220px,1.3fr) repeat(3,minmax(145px,.8fr)) minmax(160px,.8fr) auto}.product-pricing-card .product-pricing-identity{grid-row:span 2}.product-pricing-card .product-pricing-title{grid-column:span 2}.product-pricing-card .product-pricing-result{grid-column:span 2}}
@media(max-width:1050px){.catalogue-pricing-legend{grid-template-columns:1fr}.product-admin-list .product-pricing-card{grid-template-columns:repeat(2,minmax(0,1fr))}.product-pricing-card .product-pricing-identity,.product-pricing-card .product-pricing-title,.product-pricing-card .product-pricing-result{grid-column:1/-1;grid-row:auto}}
@media(max-width:620px){.product-admin-list .product-pricing-card{grid-template-columns:1fr}.product-pricing-card>*{grid-column:1!important}}

/* v019 commerce operations */
.account-payment-timeline-card>div:first-child p{margin:7px 0 0;color:var(--muted)}
.payment-timeline{list-style:none;margin:0;padding:0;display:grid}
.payment-timeline li{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.payment-timeline li:last-child{border-bottom:0}.payment-timeline-marker{width:13px;height:13px;border:3px solid var(--surface);border-radius:50%;background:var(--muted);box-shadow:0 0 0 1px var(--line);justify-self:center}.payment-timeline li:before{content:"";position:absolute;left:12px;top:-1px;bottom:calc(50% + 7px);width:1px;background:var(--line)}.payment-timeline li:after{content:"";position:absolute;left:12px;top:calc(50% + 7px);bottom:-1px;width:1px;background:var(--line)}.payment-timeline li:first-child:before,.payment-timeline li:last-child:after{display:none}.payment-timeline li.is-good .payment-timeline-marker{background:var(--good)}.payment-timeline li.is-danger .payment-timeline-marker{background:var(--danger)}.payment-timeline li.is-current .payment-timeline-marker{box-shadow:0 0 0 1px var(--line),0 0 0 5px color-mix(in srgb,var(--ink) 8%,transparent)}.payment-timeline li>div{display:grid;gap:4px}.payment-timeline small,.payment-timeline time{font-size:11px;color:var(--muted)}.payment-timeline-current{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:5px 8px;border-radius:999px}
.admin-payment-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-payment-health-grid>div{display:grid;gap:7px;padding:15px;border:1px solid var(--admin-line);border-radius:12px;background:var(--admin-panel-soft)}.admin-payment-health-grid span,.admin-alert-row>div:first-child>span{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--admin-muted)}.admin-payment-health-grid strong{font-size:12px;overflow-wrap:anywhere}.admin-alert-list{display:grid;gap:10px}.admin-alert-row{display:grid;grid-template-columns:minmax(320px,1.5fr) minmax(180px,.8fr) auto auto;gap:14px;align-items:center;padding:17px;border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-panel-soft)}.admin-alert-row.is-critical{border-color:rgba(180,35,24,.35);background:#fff5f3}.admin-alert-row.is-warning{border-color:rgba(181,117,0,.3);background:#fffaf0}.admin-alert-row>div:first-child{display:grid;gap:5px}.admin-alert-row small{color:var(--admin-muted)}.admin-alert-references{display:grid;gap:4px;min-width:0}.admin-alert-references code,.admin-alert-references a{font-size:11px;overflow-wrap:anywhere}.admin-payment-filters{grid-template-columns:minmax(220px,1.4fr) minmax(130px,.45fr) minmax(150px,.5fr) auto auto auto}.admin-payment-filters input,.admin-payment-filters select{width:100%;border:1px solid var(--admin-line);border-radius:9px;padding:10px;background:#fff;color:var(--admin-ink);font:inherit}.admin-payment-attention-toggle{display:flex!important;align-items:center;gap:8px;padding-bottom:10px}.admin-payment-attention-toggle input{width:auto}.admin-payment-row.needs-attention{border-color:rgba(180,35,24,.28)}
@media(max-width:1100px){.admin-payment-health-grid{grid-template-columns:1fr 1fr}.admin-alert-row{grid-template-columns:1fr auto}.admin-alert-references{grid-column:1/-1}.admin-payment-filters{grid-template-columns:1fr 1fr 1fr}.admin-payment-filters .admin-section-actions,.admin-payment-filters .admin-filter-result{grid-column:auto}}
@media(max-width:680px){.payment-timeline li{grid-template-columns:24px minmax(0,1fr);align-items:start}.payment-timeline time,.payment-timeline-current{grid-column:2}.admin-payment-health-grid,.admin-alert-row,.admin-payment-filters{grid-template-columns:1fr}.admin-alert-references,.admin-payment-filters .admin-section-actions,.admin-payment-filters .admin-filter-result{grid-column:auto}}

/* v52 production legal/checkout */
.checkout-legal-acceptance{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:16px 0 4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.checkout-legal-acceptance input{margin-top:4px;accent-color:var(--brand-cyan)}
.checkout-legal-acceptance span{font-size:.82rem;line-height:1.5;color:var(--ink)}
.checkout-legal-acceptance a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.checkout-order-obligation{margin:9px 0 0;font-size:.78rem;line-height:1.45;color:var(--muted);text-align:center}
.content-body{white-space:normal}
.legal-page{max-width:1080px;padding-top:7vw}.legal-page h1{font-size:clamp(48px,7vw,88px);max-width:900px}.legal-page .content-body{max-width:900px;font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.78;color:var(--ink)}

/* v010/v012 — one-time Art2Canvas newsletter promotion used as a hero-media overlay. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.newsletter-promo-card{position:relative;overflow:hidden;padding:24px;border-bottom:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--brand-charcoal) 96%,var(--brand-cyan)),var(--brand-charcoal));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.newsletter-promo-card:after{content:"15";position:absolute;right:-6px;top:-34px;font:400 128px/1 Georgia,serif;color:rgba(255,255,255,.035);pointer-events:none}
.newsletter-promo-spectrum{position:absolute;left:0;right:0;top:0;height:4px;display:grid;grid-template-columns:1fr 1fr 1fr}.newsletter-promo-spectrum i:nth-child(1){background:var(--brand-cyan)}.newsletter-promo-spectrum i:nth-child(2){background:var(--brand-amber)}.newsletter-promo-spectrum i:nth-child(3){background:var(--brand-coral)}
.newsletter-promo-eyebrow{position:relative;z-index:1;display:block;margin-top:5px;font-size:9px;font-weight:800;letter-spacing:.22em;color:rgba(255,255,255,.58)}
.newsletter-promo-title{position:relative;z-index:1;display:flex;align-items:baseline;gap:9px;margin:5px 0 8px}.newsletter-promo-title strong{font:400 45px/1 Georgia,serif;letter-spacing:-.055em}.newsletter-promo-title span{font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--brand-amber)}
.newsletter-promo-card>p{position:relative;z-index:1;margin:0 0 16px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.55;max-width:290px}
.newsletter-promo-form{position:relative;z-index:1;display:grid;gap:11px}.newsletter-email-field{display:block!important;margin:0!important}.newsletter-email-field input{width:100%;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff;padding:12px 13px;font:inherit;outline:none}.newsletter-email-field input::placeholder{color:rgba(255,255,255,.48)}.newsletter-email-field input:focus{border-color:var(--brand-cyan);box-shadow:0 0 0 2px rgba(44,197,232,.12)}
.newsletter-consent{display:flex!important;grid-template-columns:none!important;gap:9px!important;align-items:flex-start!important;margin:0!important;color:rgba(255,255,255,.66);font-size:10px!important;line-height:1.45}.newsletter-consent input{margin:2px 0 0;accent-color:var(--brand-cyan);flex:0 0 auto}.newsletter-consent a{color:#fff;text-decoration-color:var(--brand-cyan);text-underline-offset:2px}
.newsletter-promo-button{width:100%;border-color:transparent!important;background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber) 52%,var(--brand-coral))!important;color:#101316!important;letter-spacing:.08em}.newsletter-promo-button:hover{filter:brightness(1.06)}
.newsletter-promo-result{position:relative;z-index:1;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.06);padding:13px}.newsletter-promo-result>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.58)}.newsletter-promo-result>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.newsletter-promo-result code{font-size:15px;font-weight:800;letter-spacing:.05em;color:#fff}.newsletter-promo-result button{border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:6px 8px;font-size:10px;cursor:pointer}.newsletter-promo-result small{display:block;color:rgba(255,255,255,.6);line-height:1.45}
.newsletter-promo-status{position:relative;z-index:1;min-height:15px;margin:10px 0 0!important;font-size:10px!important;color:rgba(255,255,255,.65)!important}.newsletter-promo-status.is-error{color:#ff9e98!important}
@media(max-width:760px){.newsletter-promo-card{padding:20px}.newsletter-promo-card>p{max-width:none}.newsletter-promo-title strong{font-size:40px}}


/* v012 — newsletter CTA lives inside the homepage hero media, over both slides and video. */
.hero-newsletter-cta{position:absolute;z-index:12;top:clamp(20px,4vh,46px);right:clamp(18px,3vw,48px);width:min(410px,calc(100% - 36px));pointer-events:auto}
.hero-newsletter-cta .newsletter-promo-card{width:100%;border:1px solid color-mix(in srgb,var(--brand-cyan) 38%,rgba(255,255,255,.22));border-radius:16px;background:linear-gradient(145deg,rgba(18,29,36,.94),rgba(11,17,22,.91));box-shadow:0 22px 60px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.035);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.hero-bedroom-media.is-video-active .hero-newsletter-cta{opacity:1;visibility:visible}
@media(max-width:900px){.hero-newsletter-cta{top:16px;right:16px;width:min(390px,calc(100% - 32px))}.hero-newsletter-cta .newsletter-promo-card{padding:18px}.hero-newsletter-cta .newsletter-promo-title strong{font-size:38px}.hero-newsletter-cta .newsletter-promo-card>p{margin-bottom:12px}}
@media(max-width:600px){.hero-newsletter-cta{top:12px;right:12px;width:calc(100% - 24px)}.hero-newsletter-cta .newsletter-promo-card{padding:16px;border-radius:13px}.hero-newsletter-cta .newsletter-promo-eyebrow{font-size:8px}.hero-newsletter-cta .newsletter-promo-title{margin:3px 0 6px}.hero-newsletter-cta .newsletter-promo-title strong{font-size:34px}.hero-newsletter-cta .newsletter-promo-card>p{font-size:11px;line-height:1.4;margin-bottom:10px}.hero-newsletter-cta .newsletter-promo-form{gap:8px}.hero-newsletter-cta .newsletter-consent{font-size:9px!important}.hero-newsletter-cta .newsletter-promo-status{margin-top:7px!important}}

/* v019: compact desktop header; locale/market/currency preferences live in the footer. */
.footer-meta{display:grid;justify-items:end;gap:22px;max-width:min(760px,60vw)}
.footer-meta .footer-links{justify-content:flex-end}
.footer-preferences{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
@media(max-width:860px){.footer-meta{max-width:none;justify-items:start}.footer-meta .footer-links,.footer-preferences{justify-content:flex-start}}

/* v020 — successful newsletter signup dismisses after 10 seconds; global creator credit. */
.hero-newsletter-cta{transition:opacity .4s ease,transform .4s ease,visibility .4s ease}
.hero-newsletter-cta.is-closing{opacity:0;transform:translateY(-8px);visibility:hidden;pointer-events:none}
.site-footer{flex-wrap:wrap}
.site-creator-credit{flex:0 0 100%;width:100%;padding-top:18px;margin-top:8px;border-top:1px solid var(--line);text-align:right;font-size:11px;letter-spacing:.05em;color:var(--muted)}
.site-creator-credit a{color:var(--ink);text-decoration:none;font-weight:700}.site-creator-credit a:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:860px){.site-creator-credit{text-align:left}}


/* v022 Newsletter CMS */
.admin-newsletter-filters{display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(150px,.6fr) minmax(150px,.6fr) auto auto auto;gap:10px;align-items:end;margin:18px 0;padding:14px;border:1px solid var(--admin-line);border-radius:14px;background:var(--admin-panel-soft)}
.admin-newsletter-filters label{display:grid;gap:6px;margin:0;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--admin-muted)}
.admin-newsletter-filters input,.admin-newsletter-filters select{min-height:40px;border:1px solid var(--admin-line);border-radius:9px;padding:9px 10px;background:#fff;color:var(--admin-ink);font:inherit}
.admin-newsletter-table{overflow:auto;border:1px solid var(--admin-line);border-radius:15px;background:#fff}
.admin-newsletter-table-head,.admin-newsletter-list article{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(150px,.8fr) minmax(210px,1.05fr) minmax(170px,.8fr) minmax(135px,.65fr) minmax(165px,.8fr) minmax(210px,1fr);gap:14px;align-items:center;min-width:1280px}
.admin-newsletter-table-head{padding:11px 14px;background:#f6f8f9;border-bottom:1px solid var(--admin-line);color:#71808a;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.admin-newsletter-list article{padding:14px;border-bottom:1px solid #edf0f2;font-size:11px}.admin-newsletter-list article:last-child{border-bottom:0}.admin-newsletter-list article:hover{background:#fbfdfe}
.admin-newsletter-list article>div{display:grid;gap:5px;min-width:0}.admin-newsletter-list strong,.admin-newsletter-list code,.admin-newsletter-list small,.admin-newsletter-list time{overflow-wrap:anywhere}.admin-newsletter-list small,.admin-newsletter-list time{color:var(--admin-muted);font-size:10px}
.admin-newsletter-subscriber .admin-status-badge{width:max-content}.admin-newsletter-code code{font-size:11px;font-weight:800}.admin-newsletter-actions{display:flex!important;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap}.admin-newsletter-actions form{margin:0}.admin-newsletter-actions .button{min-height:34px;padding:7px 9px;font-size:10px}.admin-muted-text{color:var(--admin-muted)}
.admin-order-promotion .admin-order-meta{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}.admin-order-promotion code{font-size:11px;overflow-wrap:anywhere}
@media(max-width:1100px){.admin-newsletter-filters{grid-template-columns:1fr 1fr 1fr}.admin-newsletter-filters .admin-search-field{grid-column:1/-1}.admin-order-promotion .admin-order-meta{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.admin-newsletter-filters{grid-template-columns:1fr}.admin-newsletter-filters .admin-search-field{grid-column:auto}.admin-order-promotion .admin-order-meta{grid-template-columns:1fr}}

/* v023 first-party analytics consent + CMS visitor statistics */
.analytics-consent{position:fixed;left:22px;right:22px;bottom:22px;z-index:1200;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:980px;margin:0 auto;padding:18px 20px;border:1px solid color-mix(in srgb,var(--line,#cbd4d9) 72%,#2cc5e8 28%);border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 94%,transparent);box-shadow:0 18px 55px rgba(0,0,0,.18);backdrop-filter:blur(16px)}
.analytics-consent strong{display:block;margin-bottom:5px;font-size:15px}.analytics-consent p{margin:0;max-width:700px;font-size:13px;line-height:1.55;color:var(--muted,#67727a)}.analytics-consent a{color:inherit;text-decoration:underline}.analytics-consent-actions{display:flex;gap:9px;flex:0 0 auto}.analytics-consent button,.analytics-settings-button{appearance:none;border:1px solid var(--line,#cbd4d9);border-radius:999px;background:var(--surface,#fff);color:var(--text,#172027);font:inherit;font-size:12px;font-weight:700;padding:9px 13px;cursor:pointer}.analytics-consent button.primary{border-color:transparent;background:linear-gradient(110deg,#2cc5e8,#ffbd3d 52%,#ff5d55);color:#11171c}.analytics-settings-button{position:fixed;left:12px;bottom:12px;z-index:1180;padding:6px 9px;font-size:10px;opacity:.72}.analytics-settings-button:hover{opacity:1}
.admin-range-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.admin-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-analytics-bars{height:220px;display:flex;align-items:flex-end;gap:5px;padding:20px 4px 0;overflow-x:auto}.admin-analytics-day{min-width:24px;flex:1;height:100%;display:grid;grid-template-rows:1fr auto auto;align-items:end;text-align:center;gap:4px}.admin-analytics-day i{display:block;width:100%;min-height:4px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#2cc5e8,#ffbd3d 62%,#ff5d55)}.admin-analytics-day span,.admin-analytics-day small{font-size:10px;color:var(--muted,#67727a)}.admin-analytics-table{display:grid;gap:2px}.admin-analytics-row{display:grid;grid-template-columns:minmax(180px,1fr) 70px 70px 110px;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line,#dce3e7);font-size:12px}.admin-analytics-row.is-head{font-weight:700;color:var(--muted,#67727a)}.admin-analytics-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-analytics-list{display:grid;gap:7px}.admin-analytics-list>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line,#dce3e7)}.admin-refund-provider-note{margin:12px 0 16px;padding:14px 16px;border:1px solid var(--line,#dce3e7);border-radius:14px;background:color-mix(in srgb,var(--surface,#fff) 96%,#2cc5e8 4%)}.admin-refund-provider-note strong{display:block;margin-bottom:4px}.admin-refund-provider-note p{margin:0;color:var(--muted,#67727a);font-size:13px;line-height:1.55}
@media(max-width:780px){.analytics-consent{left:10px;right:10px;bottom:10px;display:block}.analytics-consent-actions{margin-top:12px;justify-content:flex-end}.admin-analytics-grid{grid-template-columns:1fr}.admin-analytics-row{grid-template-columns:minmax(140px,1fr) 54px 54px 86px;font-size:11px}}

/* v027 customer login OTP */
.account-otp-grid{max-width:920px}.account-otp-input{font-size:30px!important;letter-spacing:.28em;text-align:center;font-variant-numeric:tabular-nums}.account-otp-actions form{margin:0}.account-otp-actions .text-button{background:transparent;border:0;padding-left:0;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.account-otp-actions .text-button:hover{color:var(--ink)}

/* v037 — CMS live/upgrading switch + Art2Canvas social footer. */
.footer-social-block{display:grid;gap:9px;margin-top:22px}
.footer-social-title{font-size:9px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.footer-socials{display:flex;flex-wrap:wrap;gap:7px}
.footer-socials a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--surface) 92%,var(--brand-cyan) 8%);color:var(--ink);text-decoration:none;box-shadow:0 7px 18px rgba(20,30,38,.035);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.footer-socials a span{display:grid;place-items:center;min-width:18px;font-size:11px;font-weight:850;line-height:1;letter-spacing:-.03em}
.footer-socials a:nth-child(3n+1):hover{border-color:var(--brand-cyan);background:color-mix(in srgb,var(--brand-cyan) 14%,var(--surface));transform:translateY(-2px)}
.footer-socials a:nth-child(3n+2):hover{border-color:var(--brand-amber);background:color-mix(in srgb,var(--brand-amber) 15%,var(--surface));transform:translateY(-2px)}
.footer-socials a:nth-child(3n):hover{border-color:var(--brand-coral);background:color-mix(in srgb,var(--brand-coral) 13%,var(--surface));transform:translateY(-2px)}
.footer-socials a:focus-visible{outline:2px solid var(--brand-cyan);outline-offset:3px}
.footer-socials .social-instagram-mark{width:15px;height:15px;min-width:15px;border:1.6px solid currentColor;border-radius:4px;position:relative}
.footer-socials .social-instagram-mark:before{content:"";position:absolute;width:5px;height:5px;border:1.4px solid currentColor;border-radius:50%;left:3.3px;top:3.3px}
.footer-socials .social-instagram-mark:after{content:"";position:absolute;width:2.2px;height:2.2px;background:currentColor;border-radius:50%;right:2px;top:2px}
.admin-site-mode-card{overflow:hidden;position:relative}
.admin-site-mode-card:after{content:"LIVE";position:absolute;right:20px;bottom:-30px;font:700 96px/1 Georgia,serif;color:rgba(44,197,232,.055);pointer-events:none}
.admin-site-mode-form{margin:0}
.admin-site-mode-state{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px;border:1px solid var(--admin-line);border-radius:14px;background:linear-gradient(135deg,#fff,#f6f9fa)}
.admin-site-mode-state>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 12px;min-width:0}
.admin-site-mode-state>div strong{font-size:16px}
.admin-site-mode-state>div small{grid-column:1/-1;color:var(--admin-muted);line-height:1.5}
.admin-site-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;user-select:none;white-space:nowrap}
.admin-site-toggle input{position:absolute;opacity:0;pointer-events:none}
.admin-site-toggle-track{width:54px;height:30px;padding:3px;border:1px solid #c7d0d5;border-radius:999px;background:#d9dfe2;display:block;transition:.18s ease}
.admin-site-toggle-track i{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 9px rgba(20,30,38,.18);transition:transform .18s ease}
.admin-site-toggle input:checked+.admin-site-toggle-track{background:var(--brand-cyan);border-color:var(--brand-cyan)}
.admin-site-toggle input:checked+.admin-site-toggle-track i{transform:translateX(24px)}
.admin-site-toggle input:focus-visible+.admin-site-toggle-track{outline:2px solid var(--brand-cyan);outline-offset:3px}
.admin-site-toggle b{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:700px){.admin-site-mode-state{align-items:flex-start;flex-direction:column}.footer-socials{max-width:360px}}


/* v039 — unified premium CMS layout, alignment and SEO social-image workspace */
.admin-body{
  --admin-shadow:0 18px 55px rgba(15,27,36,.07);
  --admin-shadow-soft:0 8px 24px rgba(15,27,36,.045);
  --admin-radius:18px;
  --admin-radius-sm:12px;
  --admin-header-offset:138px;
  background:
    radial-gradient(circle at 92% -10%,rgba(43,195,230,.08),transparent 28%),
    linear-gradient(180deg,#f7f9fa 0,#f2f5f6 360px,#f3f5f7 100%);
}
.admin-shell-header{
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:"brand spacer actions" "nav nav nav";
  row-gap:8px;column-gap:26px;
  min-height:126px;padding:12px clamp(18px,3vw,46px) 10px;
  background:linear-gradient(180deg,rgba(11,19,26,.985),rgba(13,23,31,.97));
}
.admin-shell-brand{grid-area:brand}.admin-shell-nav{grid-area:nav;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:2px 0}.admin-shell-nav::-webkit-scrollbar{display:none}.admin-shell-actions{grid-area:actions;justify-self:end}
.admin-shell-nav a{min-height:38px;padding:0 13px;border:1px solid transparent;border-radius:10px;font-size:11px}.admin-shell-nav a:hover{border-color:rgba(255,255,255,.08)}.admin-shell-nav a.is-active{border-color:#fff}
.admin-shell-main{width:min(1600px,100%);padding-top:clamp(34px,4vw,56px)}
.admin-shell-main section{margin-bottom:0}.admin-shell-main>section,.admin-shell-main>.admin-section-card{margin-bottom:24px}
.admin-page-heading{padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid rgba(120,139,151,.22)}
.admin-page-heading h1{max-width:980px;font-size:clamp(36px,4vw,56px);font-weight:720}.admin-page-heading p{max-width:850px;font-size:13px;line-height:1.7}
.admin-section-card,.admin-card{border-color:#dce4e8;box-shadow:var(--admin-shadow);overflow:visible}
.admin-section-card{padding:clamp(22px,2.4vw,34px);border-radius:var(--admin-radius)}.admin-card{padding:clamp(18px,2vw,26px);border-radius:15px;box-shadow:var(--admin-shadow-soft)}
.admin-section-heading{align-items:flex-start;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #edf1f3}.admin-section-heading h2{font-size:clamp(25px,2.6vw,38px);font-weight:690}.admin-section-heading p{max-width:800px}.admin-section-actions{align-items:center;justify-content:flex-end}
.admin-body .button{border-radius:10px;font-weight:750;letter-spacing:.005em}.admin-body .button.primary{background:linear-gradient(180deg,#18242d,#0e171e);box-shadow:0 8px 18px rgba(11,22,30,.13)}
.admin-body .button.primary:hover{background:#0c151c}.admin-body .button:focus-visible,.admin-shell-nav a:focus-visible,.admin-shell-actions a:focus-visible{outline:3px solid rgba(43,195,230,.25);outline-offset:2px}
.admin-body label{min-width:0;color:#50606b}.admin-body label>span:first-child,.admin-body label>b:first-child{font-size:10px;font-weight:800;letter-spacing:.045em;color:#576772}.admin-body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),.admin-body textarea,.admin-body select{width:100%;min-height:42px;border-color:#cbd6dc;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.admin-body textarea{min-height:94px;resize:vertical;line-height:1.55}.admin-body input[readonly],.admin-body textarea[readonly]{background:#f5f7f8;color:#75828b}
.admin-body code{max-width:100%;overflow-wrap:anywhere;white-space:normal;border-radius:7px;background:#f2f5f6;padding:2px 6px;color:#32434e}.admin-body pre{max-width:100%;overflow:auto;border:1px solid #dde5e9;border-radius:13px;background:#f7f9fa;padding:16px;color:#263740}
.admin-body details{border-radius:13px}.admin-body details>summary{cursor:pointer}
.admin-grid{gap:18px}.admin-grid>.admin-card{height:100%}
.admin-metric-grid,.admin-order-overview{gap:12px}.admin-metric-grid article,.admin-order-overview article{min-height:118px;padding:20px;border-radius:15px;box-shadow:var(--admin-shadow-soft)}
.admin-metric-grid strong,.admin-order-overview strong{font-weight:720}
.admin-order-filters,.admin-newsletter-filters,.admin-payment-filters{padding:16px;gap:12px;border-color:#dce4e8;background:#f8fafb}
.admin-empty-state{padding:36px;border:1px dashed #cbd8de;border-radius:14px;background:#fafcfc;text-align:center}.admin-empty-state strong{display:block;font-size:15px}.admin-empty-state p{margin:8px auto 0;max-width:620px;color:var(--admin-muted);font-size:12px;line-height:1.6}
.admin-note,.small,.muted{color:var(--admin-muted);line-height:1.55}.admin-note{margin-top:14px;padding:12px 14px;border:1px solid #e3e9ec;border-radius:11px;background:#f8fafb;font-size:11px}
.admin-payment-list,.producer-queue,.admin-analytics-list{gap:10px}.admin-payment-row,.admin-refund-row,.admin-compliance-row,.admin-analytics-row{border-color:#e0e7ea!important;background:#fff!important}
.admin-payment-row>div,.admin-refund-row>div,.admin-compliance-row>div{min-width:0}.admin-payment-row span,.admin-refund-row span,.admin-compliance-row span{color:#71808a}.admin-payment-row strong,.admin-refund-row strong,.admin-compliance-row strong{overflow-wrap:anywhere}
.product-admin-list{gap:8px}.product-admin-list form{padding:12px;border:1px solid #e0e7ea;border-radius:12px;background:#fff;box-shadow:var(--admin-shadow-soft)}
.background-admin-grid{gap:20px}.background-admin-card{overflow:hidden}.background-admin-card h2{margin:0 0 6px;font-size:24px}.background-admin-card>img{width:100%;max-height:440px;object-fit:cover;margin:14px 0 22px}.background-form-grid{gap:13px!important}.background-form-grid label{min-width:0}.background-admin-actions{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:18px!important}
.producer-settings-form{display:grid;gap:20px}.producer-settings-grid{gap:14px!important}.producer-settings-grid label,.producer-generate-form label,.producer-status-form label{display:grid;gap:7px}
.admin-system-grid{gap:10px}.admin-system-grid article{min-height:72px;background:#fff;box-shadow:var(--admin-shadow-soft)}
.admin-disclosure{border:1px solid #e0e7ea;border-radius:14px;background:#fff;overflow:hidden}.admin-disclosure summary{padding:14px 16px;font-weight:750}.admin-disclosure[open] summary{border-bottom:1px solid #e9eef0}
.order-bulk-toolbar{top:calc(var(--admin-header-offset) + 8px)}

/* SEO */
.seo-layout{display:grid;grid-template-columns:minmax(250px,310px) minmax(0,1fr);gap:20px;align-items:start}.seo-targets{position:sticky;top:calc(var(--admin-header-offset) + 18px);max-height:calc(100vh - var(--admin-header-offset) - 36px);overflow:auto;padding:18px}.seo-targets .admin-section-heading{margin-bottom:8px;padding-bottom:12px}.seo-targets a{display:block;padding:11px 12px;border:1px solid transparent;border-radius:10px;color:var(--admin-ink);text-decoration:none;transition:.15s ease}.seo-targets a+a{margin-top:3px}.seo-targets a:hover{background:#f5f8f9;border-color:#e3e9ec}.seo-targets a.is-active{background:#eef9fb;border-color:#ccebf2;box-shadow:inset 3px 0 0 #2bc3e6}.seo-targets small{display:block;margin-top:4px;color:#788690;font-size:9px;word-break:break-all}
.seo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.seo-form-grid label{display:grid;gap:7px}.seo-form-grid .wide{grid-column:1/-1}.seo-status-row,.seo-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.seo-actions form{margin:0}.seo-preview{overflow:hidden;border:1px solid #dce4e8;border-radius:16px;background:#fff;box-shadow:var(--admin-shadow-soft)}.seo-preview img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;background:#eef2f4}.seo-preview-copy{padding:18px}.seo-preview-copy small{display:block;color:#7a8790;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seo-preview-copy strong{display:block;margin:7px 0 5px;font-size:20px;line-height:1.25}.seo-preview-copy span{display:block;color:#67757e;font-size:12px;line-height:1.55}.seo-social-workspace{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:18px;align-items:start}.seo-upload-panel{display:grid;gap:12px}.seo-upload-block{padding:18px;border:1px solid #dfe7ea;border-radius:14px;background:#fafcfc}.seo-upload-block.is-secondary{background:#f5f8f9}.seo-upload-block h3{margin:7px 0 7px;font-size:17px}.seo-upload-block p{margin:0 0 14px;color:var(--admin-muted);font-size:11px;line-height:1.6}.seo-upload-form{display:grid;gap:10px}.admin-file-drop{position:relative;display:flex!important;align-items:center!important;min-height:86px;padding:13px!important;border:1px dashed #aebdc5;border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}.admin-file-drop:hover{border-color:#56b8ce;background:#f3fbfd}.admin-file-drop input[type=file]{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}.admin-file-drop span{display:grid!important;gap:3px!important}.admin-file-drop strong{color:#20323d;font-size:12px}.admin-file-drop small{color:#73818a;font-size:10px}.seo-current-source{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#edf3f5}.seo-current-source strong{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6f7d86}.seo-current-source span{font-size:11px;overflow-wrap:anywhere}.seo-inline-form{margin-top:9px}.seo-generation-actions{margin-top:16px;padding-top:16px;border-top:1px solid #edf1f3}

/* Common responsive alignment */
@media(max-width:1200px){
  .admin-shell-header{grid-template-columns:auto 1fr;grid-template-areas:"brand actions" "nav nav"}.admin-shell-actions{display:flex}.seo-social-workspace{grid-template-columns:1fr}.seo-upload-panel{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .admin-body{--admin-header-offset:114px}.admin-shell-header{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"brand actions" "nav nav";min-height:106px}.admin-shell-actions{display:flex}.admin-shell-actions a:first-child{display:none}.admin-shell-nav{width:100%}.admin-section-heading{display:block}.admin-section-actions{justify-content:flex-start;margin-top:14px}.seo-layout{grid-template-columns:1fr}.seo-targets{position:static;max-height:340px}.seo-form-grid{grid-template-columns:1fr}.seo-form-grid .wide{grid-column:auto}.seo-upload-panel{grid-template-columns:1fr}.background-form-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:600px){
  .admin-body{--admin-header-offset:106px}.admin-shell-header{min-height:98px;grid-template-columns:auto 1fr}.admin-shell-actions{gap:5px}.admin-shell-actions a{padding:8px 9px}.admin-shell-actions .admin-shell-logout{display:block}.admin-shell-main{padding-top:26px}.admin-page-heading{padding-bottom:20px}.admin-section-card{border-radius:15px}.admin-metric-grid,.admin-order-overview{grid-template-columns:1fr}.admin-metric-grid article,.admin-order-overview article{min-height:0}.background-form-grid{grid-template-columns:1fr!important}.background-admin-actions{justify-content:flex-start}.seo-targets{max-height:280px}.seo-preview-copy{padding:14px}.seo-generation-actions{display:grid}.seo-generation-actions form,.seo-generation-actions .button{width:100%}
}

/* v040 — OpenAI image creation + credit library */
.source-tool-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.source-tool-heading h2{margin:0}.source-tool-heading>span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.source-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.source-choice-grid.is-single{grid-template-columns:1fr}.source-choice{min-height:116px;border:1px solid var(--line);background:#fff;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;text-align:left;cursor:pointer;transition:.2s ease;position:relative}.source-choice:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(20,30,36,.08);border-color:#aab8bf}.source-choice b{font-family:Georgia,serif;font-weight:400;font-size:24px}.source-choice small{color:var(--muted);line-height:1.45}.source-choice input{position:absolute;opacity:0;pointer-events:none}.ai-source-choice{font:inherit;color:var(--ink);background:linear-gradient(135deg,#fff 0%,#f4fbfb 65%,#fff7e9 100%)}
.ai-image-dialog{width:min(1060px,calc(100% - 28px));max-height:92vh;border:0;border-radius:22px;padding:0;background:#f4f1ea;color:var(--ink);box-shadow:0 30px 90px rgba(10,20,27,.3)}.ai-image-dialog::backdrop{background:rgba(9,16,21,.64);backdrop-filter:blur(5px)}.ai-dialog-shell{padding:clamp(20px,4vw,44px);position:relative}.ai-dialog-close{position:absolute;right:18px;top:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:20px}.ai-dialog-head{padding-right:55px;margin-bottom:24px}.ai-dialog-head h2,.ai-create-card h2,.ai-credit-card h2,.ai-library-section h2{font-family:Georgia,serif;font-weight:400}.ai-dialog-head h2{font-size:clamp(32px,4vw,50px);margin:4px 0 8px}.ai-dialog-head p{color:var(--muted);max-width:720px;line-height:1.6}
.ai-studio-grid,.ai-dialog-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px}.ai-create-card,.ai-credit-card,.ai-library-section{background:#fff;border:1px solid var(--line);padding:clamp(20px,3vw,34px)}.ai-create-card form{display:grid;gap:15px}.ai-create-card label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}.ai-create-card textarea,.ai-create-card select{width:100%;border:1px solid var(--line);padding:13px;background:#fbfaf7;color:var(--ink);font:inherit}.ai-create-card textarea{min-height:150px;resize:vertical}.ai-toggle{grid-template-columns:auto 1fr!important;align-items:start!important;gap:10px!important}.ai-toggle input{margin-top:3px}.ai-status{min-height:18px;margin:4px 0 0;font-size:12px;color:var(--muted)}.ai-status.is-error{color:#a9342a}.ai-credit-balance{min-width:130px;border:1px solid var(--line);background:#fff;padding:15px 20px;text-align:right}.ai-credit-balance span{display:block;font-size:9px;letter-spacing:.16em;font-weight:800;color:var(--muted)}.ai-credit-balance strong{font-family:Georgia,serif;font-weight:400;font-size:32px}
.ai-package-grid{display:grid;gap:10px;margin-top:18px}.ai-package-grid article{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;border:1px solid var(--line);padding:16px}.ai-package-grid article>strong{font-size:28px}.ai-package-grid article>span{font-size:11px;color:var(--muted)}.ai-package-grid article>b{font-size:16px}.ai-package-actions{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap}.ai-package-actions .button{flex:1;min-width:120px}.ai-library-page{padding-bottom:90px}.ai-library-page .account-heading{align-items:end}.ai-library-section{margin-top:24px}.ai-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ai-library-empty{grid-column:1/-1;padding:34px;text-align:center;border:1px dashed var(--line);color:var(--muted)}.ai-library-item{min-width:0;border:1px solid var(--line);background:#fbfaf7;display:flex;flex-direction:column}.ai-library-item>img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#e8e5de}.ai-library-copy{padding:13px 14px 8px;min-height:92px}.ai-library-copy span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.ai-library-copy p{font-size:12px;line-height:1.45;margin:7px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ai-library-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 12px 14px;margin-top:auto}.ai-library-actions .button{padding:10px 11px;text-align:center}.ai-library-actions .primary:first-child{grid-column:1/-1}
.ai-admin-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.ai-admin-settings{display:grid;gap:24px}.ai-admin-toggle-row{display:grid;grid-template-columns:minmax(250px,1.1fr) repeat(2,minmax(220px,.7fr));gap:12px}.admin-switch,.ai-admin-provider{border:1px solid var(--admin-line);border-radius:14px;background:#f8fafb;padding:18px}.admin-switch{display:grid!important;grid-template-columns:48px 1fr;align-items:center;gap:12px!important;cursor:pointer;margin:0!important}.admin-switch input{position:absolute;opacity:0}.admin-switch span{width:46px;height:25px;border-radius:999px;background:#aab6bd;position:relative;transition:.2s}.admin-switch span:after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s}.admin-switch input:checked+span{background:#173d3b}.admin-switch input:checked+span:after{transform:translateX(21px)}.admin-switch b{font-size:13px}.ai-admin-provider{display:grid;gap:4px}.ai-admin-provider span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--admin-muted);font-weight:800}.ai-admin-provider strong{font-size:17px}.ai-admin-provider small{color:var(--admin-muted)}.ai-admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ai-admin-form-grid label,.ai-admin-package-row label{display:grid;gap:6px;color:#53616b;font-size:11px;font-weight:700}.ai-admin-form-grid input,.ai-admin-form-grid select,.ai-admin-package-row input{width:100%;padding:12px;border:1px solid var(--admin-line);border-radius:9px;background:#fff;font:inherit}.ai-admin-checks{display:flex;gap:18px;flex-wrap:wrap;border-top:1px solid var(--admin-line);border-bottom:1px solid var(--admin-line);padding:16px 0}.ai-admin-checks label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.admin-section-heading.compact{margin:0}.admin-section-heading.compact h3{font-size:22px;margin:4px 0}.ai-admin-package-table{display:grid;gap:9px}.ai-admin-package-row{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr 1fr;gap:12px;align-items:end;border:1px solid var(--admin-line);border-radius:12px;padding:14px;background:#fbfcfc}.ai-admin-package-row>strong{align-self:center}.ai-admin-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ai-admin-library article{border:1px solid var(--admin-line);border-radius:13px;background:#fff;overflow:hidden}.ai-admin-library img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eef1f2}.ai-admin-library article>div{padding:12px}.ai-admin-library span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#52616b}.ai-admin-library p{font-size:12px;line-height:1.45;margin:8px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ai-admin-library small{font-size:9px;color:var(--admin-muted);overflow-wrap:anywhere}.admin-table-wrap{overflow:auto}.admin-data-table{width:100%;border-collapse:collapse;min-width:850px}.admin-data-table th,.admin-data-table td{padding:12px 10px;border-bottom:1px solid var(--admin-line);text-align:left;font-size:11px;vertical-align:middle}.admin-data-table th{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--admin-muted)}.admin-data-table code{font-size:10px}
@media(max-width:1200px){.ai-admin-metrics{grid-template-columns:repeat(3,1fr)}.ai-admin-toggle-row{grid-template-columns:1fr 1fr}.admin-switch{grid-column:1/-1}.ai-admin-library{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.ai-studio-grid,.ai-dialog-grid{grid-template-columns:1fr}.ai-library-grid{grid-template-columns:repeat(2,1fr)}.ai-admin-form-grid{grid-template-columns:1fr 1fr}.ai-admin-library{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.source-choice-grid,.ai-library-grid,.ai-admin-metrics,.ai-admin-toggle-row,.ai-admin-form-grid,.ai-admin-library{grid-template-columns:1fr}.ai-admin-package-row{grid-template-columns:1fr}.ai-image-dialog{width:calc(100% - 12px);max-height:96vh}.ai-dialog-shell{padding:18px 13px 25px}.ai-package-grid article{grid-template-columns:auto 1fr}.ai-package-grid article>b{grid-column:1/-1}.ai-credit-balance{text-align:left}.ai-library-page .account-heading{align-items:start}.ai-library-actions{grid-template-columns:1fr}}
/* v040 dialog markup alignment */
.ai-image-dialog-shell{padding:clamp(20px,4vw,42px);position:relative}.ai-image-dialog-shell>header{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:24px;padding-right:54px}.ai-image-dialog-shell>header h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,48px);font-weight:400;margin:5px 0 8px}.ai-image-dialog-shell>header p{max-width:700px;color:var(--muted);line-height:1.55}.ai-signin-gate{border:1px solid var(--line);background:#fff;padding:30px}.ai-signin-gate h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 8px}.ai-signin-gate p{color:var(--muted);margin:0 0 18px}.ai-editor-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:18px;position:relative}.ai-editor-balance{grid-column:1/-1;display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#fff;padding:12px 16px}.ai-editor-balance>span{font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--muted)}.ai-editor-balance>strong{font-size:20px}.ai-editor-balance>a,.ai-editor-balance>small{margin-left:auto;font-size:11px}.ai-editor-form{border:1px solid var(--line);background:#fff;padding:22px;display:grid;gap:14px}.ai-editor-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--muted)}.ai-editor-form textarea,.ai-editor-form select{width:100%;padding:13px;border:1px solid var(--line);background:#fbfaf7;color:var(--ink);font:inherit}.ai-editor-form textarea{min-height:170px;resize:vertical}.ai-dialog-library-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:12px}.ai-dialog-library-head h3{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:3px 0 0}.ai-dialog-library-head a{font-size:11px}.ai-editor-app>.ai-dialog-library-head,.ai-editor-app>.ai-library-grid,.ai-editor-app>[data-ai-library-status]{grid-column:2}.ai-editor-app>.ai-dialog-library-head{grid-row:2}.ai-editor-app>.ai-library-grid{grid-row:3}.ai-editor-app>.ai-editor-form{grid-column:1;grid-row:2/5}.ai-library-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;max-height:470px;overflow:auto;padding-right:3px}.ai-library-grid.compact .ai-library-copy{min-height:72px}.ai-library-grid.compact .ai-library-actions{grid-template-columns:1fr}.ai-library-grid.compact .ai-library-actions .button{grid-column:auto}
@media(max-width:850px){.ai-editor-app{grid-template-columns:1fr}.ai-editor-app>.ai-editor-form,.ai-editor-app>.ai-dialog-library-head,.ai-editor-app>.ai-library-grid,.ai-editor-app>[data-ai-library-status]{grid-column:1;grid-row:auto}.ai-library-grid.compact{max-height:none}.ai-image-dialog-shell>header{padding-right:45px}}
@media(max-width:620px){.ai-image-dialog-shell{padding:18px 13px 25px}.ai-image-dialog-shell>header{display:block}.ai-library-grid.compact{grid-template-columns:1fr}}

/* v302 — contrast-safe premium UI system */
:root{
  --ui-radius:14px;
  --ui-radius-lg:20px;
  --ui-shadow:0 16px 42px rgba(24,38,47,.10);
  --ui-shadow-hover:0 22px 58px rgba(24,38,47,.16);
  --ui-focus:0 0 0 4px rgba(44,197,232,.20);
  --ui-control:#ffffff;
  --ui-control-hover:#f7fafb;
  --ui-control-text:#1f2b33;
  --ui-muted-strong:#58656e;
}
html[data-theme="dark"]{
  --ui-shadow:0 18px 44px rgba(0,0,0,.24);
  --ui-shadow-hover:0 24px 62px rgba(0,0,0,.34);
  --ui-control:#202a32;
  --ui-control-hover:#28343d;
  --ui-control-text:#f4f7f8;
  --ui-muted-strong:#bac4ca;
}

/* Readability guardrails */
body{font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:0;box-shadow:var(--ui-focus);border-color:var(--brand-cyan)!important}
::placeholder{color:color-mix(in srgb,var(--muted) 78%,var(--ink) 22%);opacity:1}
button,input,textarea,select{font-family:inherit}
button{color:var(--ink)}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]),textarea,select{
  color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:11px;min-height:44px;padding:11px 13px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):hover,textarea:hover,select:hover{border-color:color-mix(in srgb,var(--line) 56%,var(--ink) 44%)}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):focus,textarea:focus,select:focus{background:var(--surface);border-color:var(--brand-cyan);box-shadow:var(--ui-focus);outline:0}
select option{background:var(--surface);color:var(--ink)}
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand-cyan)}
.button,.upload-button{
  min-height:44px;border-radius:11px;border:1px solid color-mix(in srgb,var(--line) 75%,var(--ink) 25%);background:var(--surface);color:var(--ink);font-weight:800;letter-spacing:.01em;box-shadow:0 5px 15px rgba(22,35,44,.055);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease
}
.button:hover,.upload-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--line) 45%,var(--ink) 55%);background:var(--ui-control-hover);box-shadow:0 9px 22px rgba(22,35,44,.10)}
.button.primary,.upload-button:not(.source-choice){border-color:#18242c;background:linear-gradient(180deg,#25323b 0%,#121b21 100%);color:#fff;box-shadow:0 11px 25px rgba(16,27,34,.17)}
.button.primary:hover,.upload-button:not(.source-choice):hover{border-color:#0c151b;background:#0d171d;color:#fff;box-shadow:0 14px 30px rgba(16,27,34,.24)}
.button:disabled,.upload-button:has(input:disabled){opacity:.58;filter:saturate(.7);cursor:not-allowed;transform:none;box-shadow:none}
html[data-theme="dark"] .button:not(.primary){background:var(--surface2);color:var(--ink);border-color:#46545e}
html[data-theme="dark"] .button:not(.primary):hover{background:#2b3740;border-color:#667681;color:#fff}

/* Header/navigation controls */
.site-header nav a,.cart-link,.theme-toggle,.language-control{font-weight:700}
.site-header nav a{border-radius:8px;padding:9px 4px}
.site-header nav a:hover{color:color-mix(in srgb,var(--ink) 80%,var(--brand-cyan) 20%)}
.language-control,.theme-toggle{border-radius:11px;box-shadow:0 4px 13px rgba(25,39,48,.05)}
.theme-toggle:hover,.language-control:hover{border-color:color-mix(in srgb,var(--line) 45%,var(--ink) 55%)}

/* Premium cards and content surfaces without changing the editorial identity */
.product-card,.saved-design-card,.account-card,.account-order,.checkout-panel,.production-image-card,.quality-card,.admin-card,.admin-section-card{
  border-radius:var(--ui-radius);overflow:hidden
}
.product-card,.saved-design-card,.account-card,.account-order,.checkout-panel,.production-image-card{box-shadow:0 9px 28px rgba(29,42,50,.055)}
.product-card:hover,.saved-design-card:hover{box-shadow:var(--ui-shadow-hover)}
.notice{border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--paper2) 8%);color:var(--ink);line-height:1.55}
.notice.success{background:color-mix(in srgb,var(--good) 8%,var(--surface));color:color-mix(in srgb,var(--good) 84%,var(--ink) 16%)}
.notice.error{background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:color-mix(in srgb,var(--danger) 86%,var(--ink) 14%)}

/* Editor */
.editor-tools{border-radius:var(--ui-radius-lg);overflow:hidden;box-shadow:var(--ui-shadow);border-color:color-mix(in srgb,var(--line) 85%,var(--ink) 15%)}
.tool-block{padding:27px 25px;background:var(--surface)}
.tool-block+.tool-block{border-top:1px solid color-mix(in srgb,var(--line) 84%,transparent);border-bottom:0}
.tool-block.disabled{opacity:.5}
.tool-block h2{color:var(--ink);letter-spacing:-.025em}
.tool-hint,.canvas-note{color:var(--ui-muted-strong)}
.variant-block select,.tool-block select{background:var(--surface2);color:var(--ink)}
.button-row{gap:9px}.button-row button,.adjustment-presets button,.file-list button{border:1px solid var(--line);border-radius:10px;background:var(--surface2);color:var(--ink);font-weight:700;transition:.16s ease}
.button-row button:hover,.adjustment-presets button:hover,.file-list button:hover{background:color-mix(in srgb,var(--surface2) 72%,var(--brand-cyan) 28%);border-color:color-mix(in srgb,var(--line) 50%,var(--brand-cyan) 50%);color:var(--ink)}
.quality-card{background:var(--surface2);color:var(--ink)}
.quality-card span{color:var(--ui-muted-strong)}
.quality-bar{border-radius:99px;overflow:hidden}.quality-bar i{background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber),var(--brand-coral))}
.save-status{font-weight:650}

/* Source chooser — fixes inherited white text on a white card and makes both paths first-class */
.source-tool-heading{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.source-tool-heading h2{margin-bottom:10px}.source-tool-heading>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.source-choice-grid{gap:15px;margin-top:10px}
.source-choice{
  min-height:164px;border:1px solid color-mix(in srgb,var(--line) 78%,var(--ink) 22%);border-radius:18px;padding:20px 20px 18px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 72%,var(--surface) 28%));color:var(--ink)!important;box-shadow:0 10px 26px rgba(22,34,42,.07);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;overflow:hidden
}
.source-choice:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--brand-cyan),var(--brand-amber),var(--brand-coral));opacity:.7}
.source-choice:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--brand-cyan) 45%,var(--line));background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--brand-cyan) 7%,var(--surface2)));box-shadow:var(--ui-shadow-hover);color:var(--ink)!important}
.source-choice-top{display:flex;align-items:center;gap:9px;margin-bottom:17px;color:var(--ink)}
.source-choice-icon{width:34px;height:34px;border:1px solid color-mix(in srgb,var(--line) 70%,var(--ink) 30%);border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:17px;line-height:1;color:var(--ink);box-shadow:0 4px 12px rgba(20,32,40,.06)}
.source-choice-kicker{font-size:9px;line-height:1;letter-spacing:.16em;font-weight:850;color:var(--ui-muted-strong)}
.source-choice-copy{display:grid;gap:7px;text-align:left}
.source-choice-copy b,.source-choice b{font-family:Georgia,serif;font-size:25px;line-height:1.05;font-weight:400;color:var(--ink)!important}
.source-choice-copy small,.source-choice small{font-size:11px;line-height:1.5;color:var(--ui-muted-strong)!important}
.source-choice-meta{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding-top:16px;font-size:9px;line-height:1;letter-spacing:.115em;font-weight:850;color:var(--ink)}
.source-choice-upload{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--brand-cyan) 6%,var(--surface2)));color:var(--ink)!important}
.ai-source-choice{font:inherit;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--brand-amber) 8%,var(--surface2)));color:var(--ink)!important}
.ai-source-choice .source-choice-icon{background:color-mix(in srgb,var(--brand-amber) 18%,var(--surface));border-color:color-mix(in srgb,var(--brand-amber) 48%,var(--line))}
.source-choice-upload .source-choice-icon{background:color-mix(in srgb,var(--brand-cyan) 14%,var(--surface));border-color:color-mix(in srgb,var(--brand-cyan) 42%,var(--line))}
html[data-theme="dark"] .source-choice,html[data-theme="dark"] .source-choice-upload,html[data-theme="dark"] .ai-source-choice{background:linear-gradient(145deg,#202a32,#182027);color:var(--ink)!important;border-color:#3d4a54}
html[data-theme="dark"] .source-choice:hover{background:linear-gradient(145deg,#27343d,#1d2931);border-color:#5c7785}
html[data-theme="dark"] .source-choice-icon{background:#26323b;border-color:#50606b;color:#f5f8fa}

/* AI Studio */
.ai-image-dialog{border:1px solid color-mix(in srgb,var(--line) 70%,var(--ink) 30%);border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 34px 100px rgba(8,17,23,.36)}
.ai-image-dialog-shell{background:radial-gradient(circle at 95% 3%,rgba(44,197,232,.10),transparent 28%),var(--paper)}
.ai-dialog-close{border-radius:12px;background:var(--surface);color:var(--ink);font-weight:800;box-shadow:0 6px 18px rgba(23,35,43,.10)}
.ai-dialog-close:hover{background:var(--surface2);border-color:color-mix(in srgb,var(--line) 50%,var(--ink) 50%)}
.ai-editor-balance,.ai-editor-form,.ai-create-card,.ai-credit-card,.ai-library-section,.ai-signin-gate{border-radius:18px;border-color:color-mix(in srgb,var(--line) 82%,var(--ink) 18%);background:var(--surface);color:var(--ink);box-shadow:0 12px 34px rgba(24,38,47,.07)}
.ai-editor-balance{padding:15px 18px;background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--brand-cyan) 7%,var(--surface2)))}
.ai-editor-balance>span,.ai-credit-balance span{color:var(--ui-muted-strong)}
.ai-editor-balance>strong,.ai-credit-balance strong{color:var(--ink)}
.ai-editor-balance>a{font-weight:800;color:color-mix(in srgb,var(--brand-cyan) 65%,var(--ink) 35%)}
.ai-editor-form,.ai-create-card{padding:25px}
.ai-editor-form label,.ai-create-card label{color:var(--ui-muted-strong)}
.ai-editor-form textarea,.ai-editor-form select,.ai-create-card textarea,.ai-create-card select{border-radius:12px;background:var(--surface2);color:var(--ink);border-color:var(--line)}
.ai-toggle{padding:12px 13px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--brand-cyan) 5%,var(--surface));color:var(--ink)!important}
.ai-toggle span{color:var(--ink)!important;line-height:1.4}
.ai-status{color:var(--ui-muted-strong)}
.ai-package-grid article{border-radius:14px;background:var(--surface2);color:var(--ink);border-color:var(--line)}
.ai-package-grid article>span{color:var(--ui-muted-strong)}
.ai-library-item{border-radius:15px;overflow:hidden;background:var(--surface);color:var(--ink);box-shadow:0 8px 22px rgba(23,36,44,.07)}
.ai-library-item>img{background:var(--surface2)}
.ai-library-copy span{color:var(--ui-muted-strong)}
.ai-library-copy p{color:var(--ink)}
.ai-library-empty{border-radius:14px;background:var(--surface2);color:var(--ui-muted-strong)}

/* Account/cart/checkout */
.account-card,.account-order{background:var(--surface);color:var(--ink)}
.account-card input,.account-form input{border-radius:11px;background:var(--surface2);color:var(--ink)}
.account-order-detail,.cart-list article{border-radius:14px;overflow:hidden;background:var(--surface);color:var(--ink)}
.cart-list p,.cart-list span,.account-line small{color:var(--ui-muted-strong)}
.checkout-panel{color:var(--ink);background:var(--surface)}
.checkout-fields input,.checkout-fields select,.payment-method{background:var(--surface2);color:var(--ink);border-color:var(--line)}
.payment-method:hover{border-color:color-mix(in srgb,var(--line) 45%,var(--brand-cyan) 55%);background:color-mix(in srgb,var(--brand-cyan) 6%,var(--surface2))}

/* Production UI */
.production-progress,.production-facts,.production-image-card,.production-ready,.production-quality-message,.production-lock,.production-preparing,.compare-controls.linked{border-radius:14px;overflow:hidden}
.production-progress li{background:var(--surface);color:var(--ui-muted-strong)}
.production-progress li.complete{color:var(--ink)}
.production-facts span,.production-image-head p,.production-quality-message p,.production-lock p,.production-preparing p,.production-compare-copy p{color:var(--ui-muted-strong)}

/* CMS: explicit light-on-light protection and stronger hierarchy */
.admin-body{color:#18252d;--ink:#18252d;--muted:#63727c;--surface:#fff;--surface2:#f2f6f7;--line:#d6e0e5}
.admin-body,.admin-body main,.admin-body section,.admin-body article,.admin-body div{color-scheme:light}
.admin-body .admin-section-card,.admin-body .admin-card,.admin-body .admin-metric-grid article,.admin-body .admin-order-overview article,.admin-body .admin-system-grid article{background:#fff;color:#18252d}
.admin-body h1,.admin-body h2,.admin-body h3,.admin-body h4,.admin-body strong,.admin-body b{color:#18252d}
.admin-body p,.admin-body small,.admin-body .small,.admin-body .muted,.admin-body .admin-note{color:#61717b}
.admin-body a:not(.button):not(.admin-shell-nav a):not(.admin-shell-actions a){color:#176f84;font-weight:700}
.admin-body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),.admin-body textarea,.admin-body select{background:#fff!important;color:#18252d!important;border-color:#c7d4da!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.admin-body input::placeholder,.admin-body textarea::placeholder{color:#7d8b94!important;opacity:1}
.admin-body select option{background:#fff!important;color:#18252d!important}
.admin-body .button:not(.primary){background:#fff;color:#20313b;border-color:#c7d4da}
.admin-body .button:not(.primary):hover{background:#f3f7f8;color:#14232c;border-color:#8fa5b0}
.admin-body .button.primary{background:linear-gradient(180deg,#26343d,#111b22);color:#fff!important;border-color:#111b22}
.admin-body .button.primary:hover{background:#0b151b;color:#fff!important}
.admin-body table,.admin-body .admin-payment-row,.admin-body .admin-refund-row,.admin-body .admin-compliance-row,.admin-body .admin-analytics-row,.admin-body .product-admin-list form{background:#fff;color:#18252d}
.admin-body code{background:#eef3f5;color:#2c414c}
.admin-body pre{background:#f7f9fa;color:#263b46}
.admin-body .admin-empty-state{background:#f9fbfc;color:#253640}
.admin-body .admin-empty-state p{color:#65757f}

/* Mobile tap targets and density */
@media(max-width:760px){
  .button,.upload-button,button{min-height:44px}
  .source-choice{min-height:150px;padding:18px}
  .source-choice-copy b,.source-choice b{font-size:23px}
  .tool-block{padding:23px 20px}
  .editor-tools{border-radius:16px}
}

/* v302 — Alt+P clean screenshot mode (front end only). */
html.a2c-screenshot-mode,
html.a2c-screenshot-mode body{
  overflow:hidden!important;
  overscroll-behavior:none;
}
html.a2c-screenshot-mode .site-header,
html.a2c-screenshot-mode .market-notice,
html.a2c-screenshot-mode .site-footer,
html.a2c-screenshot-mode .analytics-consent,
html.a2c-screenshot-mode .analytics-settings-button,
html.a2c-screenshot-mode .newsletter-promo-card,
html.a2c-screenshot-mode .hero-newsletter-cta,
html.a2c-screenshot-mode .hero-panel-caption,
html.a2c-screenshot-mode .hero-bedroom-content,
html.a2c-screenshot-mode .hero-bedroom-scroll,
html.a2c-screenshot-mode .editor-head,
html.a2c-screenshot-mode .editor-tools,
html.a2c-screenshot-mode .canvas-note,
html.a2c-screenshot-mode .view-3d-float,
html.a2c-screenshot-mode .empty-state,
html.a2c-screenshot-mode .admin-wall-editor,
html.a2c-screenshot-mode .a2c-3d-head,
html.a2c-screenshot-mode .a2c-3d-config,
html.a2c-screenshot-mode .a2c-3d-foot,
html.a2c-screenshot-mode .a2c-3d-help,
html.a2c-screenshot-mode .a2c-3d-loading{
  display:none!important;
}

/* Homepage: keep only the currently rendered room/art composition. */
html.a2c-screenshot-mode body:has(.hero.hero-bedroom-full) main{
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
html.a2c-screenshot-mode .hero.hero-bedroom-full{
  position:fixed!important;
  inset:0!important;
  z-index:900!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:0!important;
  margin:0!important;
}
html.a2c-screenshot-mode .hero.hero-bedroom-full .hero-bedroom-media{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
html.a2c-screenshot-mode .hero-bedroom-design-link{
  pointer-events:none!important;
}

/* Product editor: remove the tool chrome and center the actual design canvas. */
html.a2c-screenshot-mode .editor-page{
  position:fixed!important;
  inset:0!important;
  z-index:900!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:var(--paper)!important;
}
html.a2c-screenshot-mode .editor-shell{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
html.a2c-screenshot-mode .editor-stage-wrap{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  background:var(--paper)!important;
}
html.a2c-screenshot-mode .editor-stage-wrap .canvas-wrap{
  width:min(100vw,153.846dvh)!important;
  max-width:100vw!important;
  max-height:100dvh!important;
  border:0!important;
  box-shadow:none!important;
}

/* 3D preview: the renderer becomes the entire viewport, with no modal chrome. */
html.a2c-screenshot-mode .a2c-3d-modal:not([hidden]){
  inset:0!important;
  padding:0!important;
  background:#000!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.a2c-screenshot-mode .a2c-3d-modal:not([hidden]) .a2c-3d-shell{
  width:100vw!important;
  height:100dvh!important;
  display:block!important;
  border:0!important;
  box-shadow:none!important;
}
html.a2c-screenshot-mode .a2c-3d-modal:not([hidden]) .a2c-3d-stage{
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
}

/* v305 — slim footer locale controls. */
.footer-preferences{gap:6px;align-items:center}
.footer-preferences .language-control{
  height:34px!important;
  min-height:34px!important;
  padding:0 8px!important;
  gap:5px!important;
  border-radius:8px!important;
  box-shadow:0 2px 8px rgba(25,39,48,.045)!important;
  overflow:hidden;
}
.footer-preferences .language-control>span{
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.12em!important;
  white-space:nowrap;
}
.footer-preferences .language-control select{
  height:30px!important;
  min-height:0!important;
  width:auto!important;
  max-width:150px;
  padding:0 18px 0 2px!important;
  border:0!important;
  border-radius:0!important;
  font-size:11px!important;
  line-height:30px!important;
  box-shadow:none!important;
}
.footer-preferences .market-control select,
.footer-preferences .currency-control select{min-width:78px!important}
.contact-email-link{font-weight:750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.contact-email-link:hover{color:color-mix(in srgb,var(--ink) 72%,var(--brand-cyan) 28%)}
@media(max-width:700px){
  .footer-preferences .language-control{height:32px!important;min-height:32px!important;padding:0 6px!important}
  .footer-preferences .language-control>span{display:none}
  .footer-preferences .language-control select{height:28px!important;line-height:28px!important;max-width:132px;font-size:10px!important}
}

/* v310 — CMS-controlled European commerce scope and free-shipping messaging */
.commerce-notice{display:flex;justify-content:center;align-items:center;gap:9px 16px;flex-wrap:wrap;padding:8px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,var(--brand-cyan) 10%);font-size:11px;line-height:1.35;letter-spacing:.025em;text-align:center}.commerce-notice strong{font-weight:800;color:var(--ink)}.commerce-notice span{color:var(--muted)}
.checkout-free-shipping-note,.editor-shipping-note{color:var(--muted);font-size:11px;line-height:1.45}.checkout-free-shipping-note{margin:8px 0 2px;padding:9px 11px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,var(--brand-cyan) 6%);font-weight:700}.editor-shipping-note{display:block;margin-top:3px;font-weight:700}.commerce-policy-callout{display:grid;gap:6px;margin:18px 0 26px;padding:15px 17px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 93%,var(--brand-cyan) 7%);font-size:12px;line-height:1.5}.commerce-policy-callout strong{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.commerce-policy-callout span{color:var(--muted)}
.commerce-settings-form{display:grid;gap:18px}.commerce-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.commerce-setting{grid-template-columns:48px minmax(0,1fr)!important;align-content:start}.commerce-setting small{grid-column:2;color:var(--admin-muted);font-size:11px;font-weight:500;line-height:1.45}.commerce-settings-summary{display:flex;gap:8px;flex-wrap:wrap}.commerce-settings-summary>span{border:1px solid var(--admin-line);border-radius:999px;background:#f8fafb;padding:7px 10px;color:var(--admin-muted);font-size:10px}.commerce-settings-summary strong{color:var(--admin-ink);margin-left:3px}.admin-commerce-settings .admin-section-actions{justify-content:flex-end}
html.a2c-screenshot-mode .commerce-notice{display:none!important}
@media(max-width:760px){.commerce-notice{padding:7px 12px;font-size:10px}.commerce-settings-grid{grid-template-columns:1fr}}
.ai-payment-scope-note{margin:10px 0 0;padding:9px 11px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,var(--brand-cyan) 6%);color:var(--muted);font-size:11px;line-height:1.45}

/* v313 — worldwide free-shipping promotion, auditable print acceptance and CMS frame exposure. */
.commerce-notice.is-prominent{
  position:relative;
  min-height:46px;
  padding:10px 24px;
  border-bottom-color:rgba(255,255,255,.13);
  background:linear-gradient(100deg,#17242c,#213842 52%,#17242c);
  color:#fff;
  box-shadow:0 8px 24px rgba(13,27,34,.08);
}
.commerce-notice.is-prominent .commerce-notice-message{
  max-width:min(1100px,calc(100vw - 48px));
  color:#fff;
  font-size:12px;
  font-weight:850;
  line-height:1.45;
  letter-spacing:.035em;
  text-wrap:balance;
}
.commerce-notice-message[hidden]{display:none!important}
.commerce-notice.is-prominent .commerce-notice-scope{color:rgba(255,255,255,.68);font-size:10px}

.admin-body .commerce-select-setting{
  display:grid;
  align-content:start;
  gap:8px;
  min-height:96px;
  padding:14px 15px;
  border:1px solid var(--admin-line,#d6e0e5);
  border-radius:12px;
  background:#fff;
  color:#18252d;
}
.admin-body .commerce-select-setting>b{font-size:13px}
.admin-body .commerce-select-setting select{width:100%;min-height:40px}
.admin-body .commerce-select-setting small{color:var(--admin-muted,#63727c);font-size:11px;line-height:1.45}

.production-quality-audit{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:start;
  gap:11px;
  margin:18px 0 22px;
  padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--cyan) 48%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--cyan) 6%,var(--surface));
  color:var(--ink);
  font-size:12px;
  font-weight:700;
  line-height:1.55;
  cursor:pointer;
}
.production-quality-audit input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink);cursor:pointer}
.production-quality-audit:has(input:focus-visible){outline:2px solid var(--cyan);outline-offset:2px}
.production-audit-recorded{margin-top:10px!important;font-size:11px!important;font-weight:750;color:color-mix(in srgb,var(--cyan) 55%,var(--ink))!important}

/* The old frame implementation remains hidden by default. Only the CMS flag
   causes view3d.js to remove [hidden], and these later rules then expose it. */
.a2c-3d-frame-control:not([hidden]){display:grid!important}
.a2c-3d-actions [data-3d-frame-specs]:not([hidden]){display:inline-flex!important}
.a2c-3d-config.has-frame-options{grid-template-columns:minmax(135px,.66fr) minmax(195px,1fr) minmax(135px,.66fr) minmax(150px,.72fr) minmax(175px,.72fr)}
@media(max-width:1180px){
  .a2c-3d-config.has-frame-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .a2c-3d-config.has-frame-options .a2c-3d-config-price{grid-column:1/-1}
}
@media(max-width:760px){
  .commerce-notice.is-prominent{min-height:44px;padding:9px 13px}
  .commerce-notice.is-prominent .commerce-notice-message{max-width:100%;font-size:10px;line-height:1.4}
  .a2c-3d-config.has-frame-options{grid-template-columns:1fr 1fr}
  .a2c-3d-actions [data-3d-frame-specs]:not([hidden]){display:flex!important}
  .production-quality-audit{grid-template-columns:20px minmax(0,1fr);padding:13px 14px;font-size:11px}
}


/* v314 — make the active free-shipping promise genuinely prominent on the
   homepage, start hero playback with video, and move the 15% card with the
   active hero medium without changing its slideshow position. */
.commerce-notice.is-prominent.is-home{
  min-height:62px;
  padding:13px clamp(18px,4vw,56px);
  background:
    radial-gradient(circle at 18% 50%,rgba(44,197,232,.18),transparent 30%),
    radial-gradient(circle at 82% 50%,rgba(244,179,66,.13),transparent 32%),
    linear-gradient(100deg,#101a20,#1a3039 52%,#101a20);
  border-bottom-color:rgba(255,255,255,.16);
  box-shadow:0 10px 30px rgba(7,18,24,.16);
}
.commerce-notice.is-prominent.is-home .commerce-notice-message{
  max-width:min(1280px,calc(100vw - 48px));
  letter-spacing:.045em;
}
.commerce-notice.is-prominent.is-home .commerce-notice-shipping{
  font-size:clamp(16px,1.35vw,21px);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.085em;
}
.commerce-notice.is-prominent.is-home .commerce-notice-quality{
  font-size:clamp(12px,1.05vw,15px);
  font-weight:760;
  letter-spacing:.025em;
}

/* Slideshow = existing top-right position. Video = bottom-right. */
.hero-newsletter-cta{
  transition:top .35s ease,bottom .35s ease,opacity .4s ease,transform .4s ease,visibility .4s ease;
}
.hero-bedroom-media.is-video-active .hero-newsletter-cta,
.hero-bedroom-media.is-intro-active .hero-newsletter-cta{
  top:auto;
  bottom:var(--a2c-video-newsletter-bottom,clamp(20px,4vh,46px));
  right:clamp(18px,3vw,48px);
}

@media(max-width:900px){
  .commerce-notice.is-prominent.is-home{min-height:54px;padding:11px 16px}
  .commerce-notice.is-prominent.is-home .commerce-notice-shipping{font-size:14px}
  .commerce-notice.is-prominent.is-home .commerce-notice-quality{font-size:11px;line-height:1.4}
  .hero-bedroom-media.is-video-active .hero-newsletter-cta,.hero-bedroom-media.is-intro-active .hero-newsletter-cta{top:auto;bottom:16px;right:16px}
}
@media(max-width:600px){
  .commerce-notice.is-prominent.is-home{min-height:50px;padding:9px 12px}
  .commerce-notice.is-prominent.is-home .commerce-notice-message{max-width:100%}
  .commerce-notice.is-prominent.is-home .commerce-notice-shipping{font-size:12px;letter-spacing:.065em}
  .commerce-notice.is-prominent.is-home .commerce-notice-quality{font-size:10px}
  .hero-bedroom-media.is-video-active .hero-newsletter-cta,.hero-bedroom-media.is-intro-active .hero-newsletter-cta{top:auto;bottom:12px;right:12px}
}


/* v324 — lock the rotating homepage commerce banner to a deterministic
   height so switching between shipping and quality copy never shifts the page. */
.commerce-notice.is-prominent.is-home{
  box-sizing:border-box;
  height:44px;
  min-height:44px;
  max-height:44px;
  padding:7px clamp(18px,4vw,56px);
  overflow:hidden;
}
.commerce-notice.is-prominent.is-home .commerce-notice-message{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  max-height:100%;
  margin:0;
}
.commerce-notice.is-prominent.is-home .commerce-notice-message[hidden]{display:none!important}
@media(max-width:900px){
  .commerce-notice.is-prominent.is-home{height:40px;min-height:40px;max-height:40px;padding:6px 16px}
}
@media(max-width:600px){
  .commerce-notice.is-prominent.is-home{height:40px;min-height:40px;max-height:40px;padding:5px 12px}
  .commerce-notice.is-prominent.is-home .commerce-notice-message{line-height:1.35}
}

/* v316 — phone-first homepage/media flow and compact preference controls.
   Desktop keeps the established full-screen hero. On phones the promotional
   media becomes a normal full-width 16:9 block, the 15% signup becomes an
   integrated strip directly below it, and the hero copy follows naturally. */
.hero-bedroom-full.is-video-active .hero-newsletter-cta,
.hero-bedroom-full.is-intro-active .hero-newsletter-cta{
  top:auto;
  bottom:var(--a2c-video-newsletter-bottom,clamp(20px,4vh,46px));
  right:clamp(18px,3vw,48px);
}

@media(max-width:700px){
  html,body{max-width:100%;overflow-x:clip}
  .site-header{
    padding:10px 12px 8px;
    gap:8px 10px;
  }
  .brand-logo{width:36px;height:36px}
  .brand-wordmark{font-size:15px}
  .header-tools{gap:5px;min-width:0}
  .saved-design-link{min-height:34px;padding:6px}
  .theme-toggle{height:34px;padding:0 8px}
  .cart-link{min-height:34px;padding-left:2px}
  .cart-link b{width:22px;height:22px;margin-left:3px}
  .site-header nav{
    gap:15px;
    padding:3px 0 1px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .site-header nav::-webkit-scrollbar{display:none}
  .site-header nav a{flex:0 0 auto;font-size:11px;white-space:nowrap}

  .commerce-notice.is-prominent.is-home{
    min-height:34px;
    padding:6px 10px;
  }
  .commerce-notice.is-prominent.is-home .commerce-notice-shipping{font-size:11px;line-height:1.25}
  .commerce-notice.is-prominent.is-home .commerce-notice-quality{font-size:9.5px;line-height:1.3}

  .hero.hero-bedroom-full{
    display:block;
    min-height:0;
    padding:0;
    overflow:hidden;
    background:#111820;
  }
  .hero-bedroom-media{
    position:relative;
    inset:auto;
    width:100%;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16 / 9!important;
    overflow:hidden;
    background:#05080a;
  }
  /* v342: intro images, video and bedroom/product presentations all occupy
     the exact same 16:9 mobile media box. No slide is allowed to contribute
     intrinsic image height or alter the hero block between cycle modes. */
  .hero-bedroom-media>.hero-intro-slides,
  .hero-bedroom-media>.hero-panel-slides,
  .hero-bedroom-media>.hero-cycle-video,
  .hero-bedroom-media>.hero-cycle-video-mask,
  .hero-bedroom-media .hero-intro-slide,
  .hero-bedroom-slides,
  .hero-panel-slide.hero-bedroom-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  .hero-bedroom-image{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
  .hero-cycle-video{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
    background:#000;
  }
  .hero-cycle-video-mask{inset:0;width:100%;height:100%}
  /* v321: on phones the promo video must stay undimmed. Intro/background
     images keep their readability treatment, but the video gets no overlay. */
  .hero-bedroom-media.is-video-active .hero-cycle-video-mask{opacity:0!important;visibility:hidden!important}
  /* v325: phones get the hero media itself with no readability/dimming layer.
     This overrides both the linked stylesheet and the homepage inline hero CSS. */
  .hero.hero-bedroom-full .hero-bedroom-media .hero-bedroom-background-mask,
  .hero.hero-bedroom-full .hero-bedroom-media .hero-bedroom-shade,
  .hero.hero-bedroom-full .hero-bedroom-media .hero-cycle-video-mask{
    background:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .hero.hero-bedroom-full .hero-bedroom-media .hero-bedroom-background-mask::after,
  .hero.hero-bedroom-full .hero-bedroom-media .hero-intro-slide::after{
    content:none!important;
    background:none!important;
    opacity:0!important;
  }
  .hero-bedroom-caption{
    right:8px;
    bottom:8px;
    max-width:none;
    padding:6px 8px;
    font-size:7px;
    border-radius:999px;
  }
  .hero-bedroom-caption>span:first-child{display:none}
  .hero-panel-counter{min-width:40px;font-size:8px}
  .hero-panel-counter b{font-size:9px}

  /* The newsletter is now a page section, not a floating card. */
  .hero-newsletter-cta,
  .hero-bedroom-full.is-video-active .hero-newsletter-cta{
    position:relative;
    inset:auto;
    top:auto;
    right:auto;
    bottom:auto;
    left:auto;
    width:100%;
    margin:0;
    z-index:8;
    transform:none;
  }
  .hero-newsletter-cta.is-closing{transform:none}
  .hero-newsletter-cta .newsletter-promo-card{
    width:100%;
    padding:13px 14px 14px;
    border:0;
    border-radius:0;
    background:linear-gradient(100deg,#111b21,#182930 58%,#111b21);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .hero-newsletter-cta .newsletter-promo-card:after{display:none}
  .hero-newsletter-cta .newsletter-promo-spectrum{height:3px}
  .hero-newsletter-cta .newsletter-promo-eyebrow{display:none}
  .hero-newsletter-cta .newsletter-promo-title{
    display:flex;
    align-items:baseline;
    gap:7px;
    margin:0 0 4px;
  }
  .hero-newsletter-cta .newsletter-promo-title strong{font-size:29px;line-height:1}
  .hero-newsletter-cta .newsletter-promo-title span{font-size:10px;letter-spacing:.12em}
  .hero-newsletter-cta .newsletter-promo-card>p{
    max-width:none;
    margin:0 0 9px;
    font-size:10px;
    line-height:1.35;
  }
  .hero-newsletter-cta .newsletter-promo-form{
    grid-template-columns:minmax(0,1fr) minmax(96px,34%);
    gap:7px;
    align-items:stretch;
  }
  .hero-newsletter-cta .newsletter-email-field{grid-column:1}
  .hero-newsletter-cta .newsletter-email-field input{
    min-width:0;
    min-height:44px;
    height:44px;
    padding:10px 11px;
    border-radius:8px;
    font-size:16px;
  }
  .hero-newsletter-cta .newsletter-promo-button{
    grid-column:2;
    grid-row:1;
    width:100%;
    min-width:0;
    min-height:44px;
    height:auto;
    padding:8px 9px;
    border-radius:8px;
    font-size:10px;
    line-height:1.15;
    white-space:normal;
  }
  .hero-newsletter-cta .newsletter-consent{
    grid-column:1 / -1;
    margin:0!important;
    font-size:8.5px!important;
    line-height:1.35!important;
  }
  .hero-newsletter-cta .newsletter-consent input{width:16px;height:16px;flex:0 0 16px}
  .hero-newsletter-cta .newsletter-promo-status{
    min-height:0;
    margin:5px 0 0!important;
    font-size:9px!important;
  }
  .hero-newsletter-cta .newsletter-promo-result{margin-top:6px;padding:10px}

  .hero-bedroom-content{
    position:relative;
    width:100%;
    min-height:0;
    margin:0;
    padding:28px 16px 32px;
    justify-content:flex-start;
  }
  .hero-bedroom-rule{width:42px;margin-bottom:17px}
  .hero-bedroom-content>.eyebrow{font-size:9px;letter-spacing:.22em}
  .hero-bedroom-title{
    margin:11px 0 15px;
    max-width:13ch;
    font-size:clamp(34px,10.5vw,46px);
    line-height:.98;
  }
  .hero-bedroom-content>p{
    margin:0 0 18px;
    font-size:14px;
    line-height:1.55;
  }
  .hero-bedroom-content .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:8px;
  }
  .hero-bedroom-content .button{
    min-width:0;
    min-height:44px;
    padding:9px 10px;
    font-size:11px;
  }
  .hero-bedroom-proof{
    width:100%;
    margin-top:22px;
  }
  .hero-bedroom-proof span{
    min-width:0;
    padding:10px 6px 10px 0;
    font-size:7.5px;
    letter-spacing:.07em;
  }
  .hero-bedroom-proof span+span{padding-left:7px}
  .hero-bedroom-proof strong{font-size:14px}
  .hero-bedroom-scroll{display:none}

  .trust-strip{
    padding:12px 14px;
    gap:17px;
    font-size:9px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .trust-strip::-webkit-scrollbar{display:none}

  .site-footer{padding:38px 14px 24px;min-width:0}
  .footer-brand,.footer-meta{width:100%;max-width:100%;min-width:0}
  .footer-links{gap:12px 16px;margin-top:24px}
  .footer-links a{font-size:11px}
  .footer-meta{gap:18px}
  .footer-preferences{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(0,.94fr) minmax(0,.88fr);
    width:100%;
    max-width:100%;
    gap:4px;
    align-items:center;
  }
  .footer-preferences .language-control{
    width:100%;
    min-width:0;
    height:32px!important;
    min-height:32px!important;
    padding:0 4px!important;
    border-radius:7px!important;
  }
  .footer-preferences .language-control>span{display:none}
  .footer-preferences .language-control select,
  .footer-preferences .market-control select,
  .footer-preferences .currency-control select{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:28px!important;
    line-height:28px!important;
    padding:0 13px 0 3px!important;
    font-size:9px!important;
    text-overflow:ellipsis;
  }
  .site-creator-credit{width:100%;margin-top:12px;font-size:10px}
}

@media(max-width:360px){
  .site-header{padding-inline:9px}
  .brand-logo{width:34px;height:34px}
  .brand-wordmark{font-size:14px}
  .footer-preferences{gap:3px}
  .footer-preferences .language-control select,
  .footer-preferences .market-control select,
  .footer-preferences .currency-control select{font-size:8.5px!important;padding-right:10px!important}
  .hero-newsletter-cta .newsletter-promo-form{grid-template-columns:minmax(0,1fr) minmax(90px,36%)}
  .hero-newsletter-cta .newsletter-promo-button{font-size:9px}
}

/* v317 — make the primary mobile hero action unmistakable and readable. */
@media(max-width:700px){
  .hero-bedroom-content .hero-actions{
    grid-template-columns:1fr;
    gap:8px;
  }
  .hero-bedroom-content .button.primary{
    width:100%;
    min-height:52px;
    padding:11px 16px;
    border:2px solid #8be7f7;
    border-radius:11px;
    background:linear-gradient(180deg,#53d5ef 0%,var(--brand-cyan) 100%);
    color:#061218!important;
    box-shadow:0 12px 28px rgba(44,197,232,.30),inset 0 1px 0 rgba(255,255,255,.58);
    font-size:15px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.01em;
    text-align:center;
    text-shadow:none;
    white-space:normal;
  }
  .hero-bedroom-content .button.primary:hover,
  .hero-bedroom-content .button.primary:active{
    border-color:#b5f1fb;
    background:#65daf1;
    color:#061218!important;
  }
  .hero-bedroom-content .button.primary:focus-visible{
    outline:3px solid #fff;
    outline-offset:3px;
    box-shadow:0 0 0 6px rgba(44,197,232,.35),0 12px 28px rgba(44,197,232,.30);
  }
  .hero-bedroom-content .hero-secondary{
    width:100%;
    min-height:44px;
    background:#fff;
    border-color:#d7e1e6;
    color:#152028;
    font-weight:800;
  }
}


/* v318 — installed PWA refinements. Keep browser presentation unchanged while
   respecting device safe areas when Art2Canvas runs as a standalone app. */
@media (display-mode:standalone){
  body{overscroll-behavior-y:none}
  .site-header{
    padding-left:max(3.2vw,env(safe-area-inset-left));
    padding-right:max(3.2vw,env(safe-area-inset-right));
  }
  .site-footer{
    padding-left:max(5vw,env(safe-area-inset-left));
    padding-right:max(5vw,env(safe-area-inset-right));
    padding-bottom:max(60px,env(safe-area-inset-bottom));
  }
}
@media (display-mode:standalone) and (max-width:700px){
  .site-header{
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
  }
  .site-footer{padding-bottom:max(38px,env(safe-area-inset-bottom))}
}

/* v322 — Reown-free USDC wallet bridge. Installed browser wallets are
   discovered with EIP-6963; mobile wallet apps use the existing one-time
   Art2Canvas handoff and their native dapp-browser links. */
.usdc-wallet-picker{margin-top:12px;padding:14px;border:1px solid var(--line);background:var(--surface);box-shadow:0 14px 34px var(--shadow)}
.usdc-wallet-picker[hidden]{display:none!important}
.usdc-wallet-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.usdc-wallet-picker-head strong{font-size:14px;letter-spacing:.01em}
.usdc-wallet-picker-close{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface2);color:var(--ink);font:700 22px/1 Arial,sans-serif;cursor:pointer}
.usdc-wallet-picker-label{display:block;margin:10px 0 8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.usdc-wallet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.usdc-wallet-grid .button{min-width:0;min-height:46px;justify-content:flex-start;text-align:left}
.usdc-detected-wallet-button{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:2px}
.usdc-detected-wallet-button strong{font-size:13px}
.usdc-detected-wallet-button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:9px;font-weight:600;white-space:nowrap}
@media(max-width:640px){
  .usdc-wallet-picker{padding:12px}
  .usdc-wallet-grid{grid-template-columns:1fr}
  .usdc-wallet-grid .button{width:100%;min-height:50px}
}

/* v329 — public social sharing rail. Desktop/tablet uses a slim vertically
   centered right-edge rail. Phones keep one native-share tab and only reveal
   the fallback services when the OS share sheet is unavailable. */
.social-share-rail{
  --share-rail-shift:0px;
  position:fixed;
  top:50%;
  right:0;
  z-index:46;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  transform:translateY(calc(-50% + var(--share-rail-shift)));
  border:1px solid rgba(255,255,255,.16);
  border-right:0;
  border-radius:14px 0 0 14px;
  overflow:visible;
  background:rgba(19,25,31,.92);
  color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
  backdrop-filter:blur(15px) saturate(125%);
  -webkit-backdrop-filter:blur(15px) saturate(125%);
  transition:transform .2s ease,box-shadow .2s ease;
}
.social-share-handle,
.social-share-options button{
  appearance:none;
  width:46px;
  height:46px;
  min-width:46px;
  min-height:46px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.11);
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:800 18px/1 Inter,Arial,sans-serif;
  -webkit-tap-highlight-color:transparent;
}
.social-share-handle{
  border-radius:13px 0 0 0;
  background:linear-gradient(180deg,rgba(44,197,232,.24),rgba(44,197,232,.08));
  color:#dff9ff;
}
.social-share-options{display:flex;flex-direction:column;align-items:stretch}
.social-share-options button:last-child{border-bottom:0;border-radius:0 0 0 13px}
.social-share-handle svg,
.social-share-options button svg{width:21px;height:21px;display:block;fill:currentColor}
.social-share-options button span{display:block;line-height:1}
.social-share-options .social-share-threads{font-size:23px;font-family:Arial,sans-serif;font-weight:800;transform:translateY(-1px)}
.social-share-handle:hover,
.social-share-options button:hover,
.social-share-handle:focus-visible,
.social-share-options button:focus-visible{
  background:rgba(44,197,232,.18);
  color:#fff;
  outline:0;
}
.social-share-handle:focus-visible,
.social-share-options button:focus-visible{box-shadow:inset 0 0 0 2px #7ce3f6}
.social-share-feedback{
  position:absolute;
  top:50%;
  right:calc(100% + 9px);
  transform:translateY(-50%) translateX(5px);
  width:max-content;
  max-width:170px;
  padding:7px 9px;
  border-radius:8px;
  background:#172028;
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 9px 24px rgba(0,0,0,.2);
  font-size:11px;
  font-weight:750;
  line-height:1.25;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.social-share-feedback.is-visible{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);transition-delay:0s}
html.a2c-screenshot-mode .social-share-rail{display:none!important}
.a2c-3d-open .social-share-rail{display:none!important}
@media (hover:hover) and (pointer:fine){
  .social-share-rail:hover{box-shadow:0 20px 48px rgba(0,0,0,.28)}
}
@media(max-width:700px){
  .social-share-rail{
    right:0;
    border-radius:13px 0 0 13px;
    transform:translateY(calc(-50% + var(--share-rail-shift)));
    box-shadow:0 12px 30px rgba(0,0,0,.20);
  }
  .social-share-handle{width:48px;height:48px;min-width:48px;min-height:48px;border:0;border-radius:12px 0 0 12px}
  .social-share-options{display:none}
  .social-share-rail.is-mobile-expanded .social-share-options{display:flex}
  .social-share-rail.is-mobile-expanded .social-share-handle{border-bottom:1px solid rgba(255,255,255,.11);border-radius:12px 0 0 0}
  .social-share-options button{width:48px;height:48px;min-width:48px;min-height:48px}
  .social-share-feedback{right:calc(100% + 7px);max-width:145px}
}
@media(prefers-reduced-motion:reduce){
  .social-share-rail,.social-share-feedback{transition:none}
}


/* v331 — AI library images can be assigned directly to the active canvas/panel. */
.ai-dialog-library-head .ai-library-target-hint{margin:6px 0 0;max-width:430px;font-size:11px;line-height:1.45;color:var(--ui-muted-strong,var(--muted))}
.ai-library-grid.compact .ai-library-actions [data-ai-use]{min-height:44px;font-weight:800;white-space:normal;line-height:1.2}
.ai-library-grid.compact .ai-library-actions [data-ai-use]:disabled{opacity:.72;cursor:progress}
@media(max-width:620px){.ai-dialog-library-head{align-items:flex-start}.ai-dialog-library-head .ai-library-target-hint{font-size:12px}.ai-library-grid.compact .ai-library-actions [data-ai-use]{min-height:48px}}


/* v332 — MY LIBRARY is a real chooser: the image itself is the primary action. */
.ai-library-grid.compact .ai-library-item{overflow:hidden}
.ai-library-pick{position:relative;display:block;width:100%;padding:0;border:0;background:var(--surface2,#e8e5de);color:#fff;text-decoration:none;cursor:pointer;overflow:hidden;text-align:left;-webkit-tap-highlight-color:transparent}
.ai-library-pick>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface2,#e8e5de);transition:transform .18s ease,filter .18s ease}
.ai-library-pick-label{position:absolute;left:8px;right:8px;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 10px;border-radius:10px;background:rgba(7,20,27,.92);border:1px solid rgba(255,255,255,.32);box-shadow:0 8px 24px rgba(0,0,0,.25);color:#fff;font-size:10px;font-weight:900;letter-spacing:.02em;line-height:1.2;text-align:center;backdrop-filter:blur(8px)}
.ai-library-pick::after{content:"";position:absolute;inset:auto 0 0;height:42%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(3,10,14,.45));z-index:1}
.ai-library-pick:hover>img,.ai-library-pick:focus-visible>img{transform:scale(1.018);filter:brightness(.92)}
.ai-library-pick:focus-visible{outline:3px solid var(--brand-cyan,#2fc3df);outline-offset:-3px}
.ai-library-pick:disabled{cursor:progress}
.ai-library-pick:disabled>img{filter:brightness(.7)}
.ai-library-grid.compact .ai-library-copy{min-height:0;padding:9px 11px 5px}
.ai-library-grid.compact .ai-library-copy p{margin:5px 0 0;-webkit-line-clamp:1;font-size:10px;line-height:1.3}
.ai-library-grid.compact .ai-library-actions-secondary{grid-template-columns:1fr 1fr;padding:6px 10px 10px;gap:5px}
.ai-library-grid.compact .ai-library-actions-secondary .button{min-height:34px;padding:7px 8px;font-size:9px}
@media(max-width:620px){.ai-library-pick-label{min-height:44px;font-size:11px;left:9px;right:9px;bottom:9px}.ai-library-grid.compact .ai-library-copy p{font-size:11px}.ai-library-grid.compact .ai-library-actions-secondary .button{min-height:42px;font-size:10px}}

/* v333 — prompt review gate + voice-to-prompt controls. */
.ai-prompt-field textarea.is-enhanced-review{
  border-color:color-mix(in srgb,var(--brand-cyan,#2cc5e8) 68%,var(--line) 32%);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-cyan,#2cc5e8) 16%,transparent);
  background:color-mix(in srgb,var(--paper,#f3f0e8) 92%,var(--brand-cyan,#2cc5e8) 8%);
}
.ai-prompt-voice-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--paper,#f3f0e8) 94%,#fff 6%);
}
.ai-voice-button{
  flex:0 0 auto;
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--line) 75%,var(--ink) 25%);
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
  font:800 11px/1 Inter,Arial,sans-serif;
  letter-spacing:.02em;
  cursor:pointer;
}
.ai-voice-button:hover{filter:brightness(1.08)}
.ai-voice-button:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-cyan,#2cc5e8) 65%,white 35%);outline-offset:2px}
.ai-voice-button:disabled{opacity:.52;cursor:not-allowed}
.ai-voice-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--brand-cyan,#2cc5e8);
  box-shadow:0 0 0 0 rgba(44,197,232,.3);
}
.ai-voice-button.is-recording{
  background:#491b1b;
  border-color:#b64f4f;
  color:#fff;
}
.ai-voice-button.is-recording .ai-voice-dot{
  background:#ff6b6b;
  animation:a2cVoicePulse 1.05s ease-out infinite;
}
@keyframes a2cVoicePulse{
  0%{box-shadow:0 0 0 0 rgba(255,107,107,.5)}
  70%{box-shadow:0 0 0 8px rgba(255,107,107,0)}
  100%{box-shadow:0 0 0 0 rgba(255,107,107,0)}
}
.ai-voice-help{
  min-width:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
}
.ai-voice-help kbd{
  display:inline-block;
  padding:2px 6px;
  border:1px solid color-mix(in srgb,var(--line) 82%,var(--ink) 18%);
  border-bottom-width:2px;
  border-radius:5px;
  background:#fff;
  color:var(--ink);
  font:800 9px/1.2 Inter,Arial,sans-serif;
  letter-spacing:.06em;
}
.ai-enhanced-review{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--brand-cyan,#2cc5e8) 45%,var(--line) 55%);
  border-radius:12px;
  background:color-mix(in srgb,var(--brand-cyan,#2cc5e8) 8%,var(--paper,#f3f0e8) 92%);
}
.ai-enhanced-review[hidden]{display:none!important}
.ai-enhanced-review strong{
  color:var(--ink);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ai-enhanced-review span{
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
.ai-prompt-redo-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--line) 78%,var(--ink) 22%);
  border-radius:12px;
  background:color-mix(in srgb,var(--paper,#f3f0e8) 96%,#fff 4%);
}
.ai-prompt-redo-row[hidden]{display:none!important}
.ai-prompt-redo-row .button{white-space:nowrap}
.ai-prompt-redo-help{
  min-width:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
@media(max-width:620px){
  .ai-prompt-redo-row{flex-direction:column;align-items:stretch}
  .ai-prompt-redo-row .button{width:100%}
  .ai-prompt-redo-help{text-align:center;font-size:11px}
  .ai-prompt-voice-row{align-items:stretch;flex-direction:column;padding:10px}
  .ai-voice-button{width:100%;justify-content:center;min-height:46px;font-size:12px}
  .ai-voice-help{font-size:11px;text-align:center}
}
@media(prefers-reduced-motion:reduce){.ai-voice-button.is-recording .ai-voice-dot{animation:none}}


/* v340 — mobile homepage hero fullscreen viewer.
   The viewer is opened only from the mobile JS path, but these fullscreen rules
   deliberately have NO max-width breakpoint. A phone rotated to landscape can
   expose a CSS viewport wider than 700px; the contain rules must remain active. */
@media(max-width:700px){
  .hero-bedroom-media[data-hero-panel-slideshow]{cursor:zoom-in;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
}
html.a2c-hero-fullscreen-open,
body.a2c-hero-fullscreen-open{overflow:hidden!important;overscroll-behavior:none}
.a2c-hero-fullscreen{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#000!important;
  color:#fff;
  cursor:zoom-out;
  isolation:isolate;
}
.a2c-hero-fullscreen-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#000!important;
  transform-origin:center center;
}
.a2c-hero-fullscreen-fit{
  position:relative!important;
  flex:none!important;
  width:auto;
  height:auto;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#000!important;
}
.a2c-hero-fullscreen-image,
.a2c-hero-fullscreen-video{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:#000!important;
  cursor:zoom-out;
}
.a2c-hero-fullscreen-video{z-index:2}
.a2c-hero-fullscreen-product.hero-panel-slide{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
/* The room/product slide itself is treated as one complete composition. Its
   background therefore fits inside the computed box instead of being enlarged
   with cover. */
.a2c-hero-fullscreen-product>.hero-bedroom-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  background:#000!important;
}
.a2c-hero-fullscreen-product .hero-bedroom-background-mask,
.a2c-hero-fullscreen-product .hero-bedroom-background-mask::after{display:none!important;content:none!important}
.a2c-hero-fullscreen-product .hero-bedroom-artwork{pointer-events:none!important}
.a2c-hero-fullscreen-product .hero-bedroom-design-link{pointer-events:none!important}
.a2c-hero-fullscreen-close{
  position:absolute!important;
  top:max(12px,env(safe-area-inset-top))!important;
  right:max(12px,env(safe-area-inset-right))!important;
  z-index:20!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  background:rgba(7,13,18,.72)!important;
  color:#fff!important;
  font:400 30px/1 Arial,sans-serif!important;
  box-shadow:0 8px 30px rgba(0,0,0,.32);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
}
.a2c-hero-fullscreen-close:focus-visible{outline:3px solid var(--brand-cyan,#2cc5e8);outline-offset:2px}

/* Fallback only for browsers that keep the device in portrait because they
   refuse orientation locking. Once the viewport is genuinely landscape this
   rule no longer applies and the media uses the full landscape viewport. */
@media(orientation:portrait){
  .a2c-hero-fullscreen-stage{
    inset:auto!important;
    left:50%!important;
    top:50%!important;
    width:100dvh!important;
    height:100vw!important;
    transform:translate(-50%,-50%) rotate(90deg)!important;
  }
  .a2c-hero-fullscreen-close{
    top:auto!important;
    right:auto!important;
    left:max(12px,env(safe-area-inset-left))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
}

/* v343 — mobile newsletter state reset + non-floating analytics preferences.
   Intro mode previously inherited the older desktop `.is-intro-active` bottom/right
   offsets because the v316 mobile reset only named video mode. That made the 15%
   block shift upward while the first intro slides were active. Reset every hero mode
   to the same in-flow mobile position. */
@media(max-width:700px){
  .hero.hero-bedroom-full .hero-newsletter-cta,
  .hero.hero-bedroom-full.is-video-active .hero-newsletter-cta,
  .hero.hero-bedroom-full.is-intro-active .hero-newsletter-cta{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    margin:0!important;
    transform:none!important;
  }
}

/* Analytics preferences remain available from the Cookies page, but never as a
   persistent floating/ghost control after the visitor has made a choice. */
.analytics-settings-inline{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:20px 0 4px;
  padding:10px 15px;
  border:1px solid var(--line,#cbd4d9);
  border-radius:999px;
  background:var(--surface,#fff);
  color:var(--ink,#172027);
  font:700 12px/1.2 Inter,Arial,sans-serif;
  cursor:pointer;
}
.analytics-settings-inline:hover{border-color:var(--brand-cyan,#2cc5e8)}
.analytics-settings-inline:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-cyan,#2cc5e8) 55%,white);outline-offset:2px}


/* v345 — use the supplied transparent PNG as-is, with no plaque behind it.
   On desktop the logo is optically aligned to the centreline of the two hero
   CTA buttons; JS supplies the exact action-row centre after layout/fonts settle. */
.hero-corner-brand{
  position:absolute;
  z-index:11;
  right:clamp(18px,3vw,48px);
  bottom:clamp(18px,2.5vw,34px);
  width:clamp(190px,15vw,260px);
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:none;
  user-select:none;
}
.hero-corner-brand.is-action-aligned{
  top:var(--hero-brand-action-center-y);
  bottom:auto;
  transform:translateY(-50%);
}
.hero-corner-brand img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  background:transparent;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.24));
}
/* With the logo lifted to the CTA centreline on desktop, the product caption can
   return to its natural lower-right position instead of reserving a tall plaque. */
.hero-bedroom-caption{bottom:clamp(18px,3vw,42px)}
html.a2c-screenshot-mode .hero-corner-brand{display:none!important}
@media(max-width:900px){
  .hero-corner-brand,
  .hero-corner-brand.is-action-aligned{
    top:auto;
    right:16px;
    bottom:14px;
    width:clamp(156px,25vw,205px);
    transform:none;
  }
  .hero-bedroom-caption{right:16px;bottom:64px}
}
@media(max-width:600px){
  .hero-corner-brand,
  .hero-corner-brand.is-action-aligned{right:12px;bottom:10px;width:145px}
  .hero-bedroom-caption{right:12px;bottom:54px}
}
