@import url("/assets/css/styles.css");
/* Shop-only controls are scoped so the shared site shell is never restyled. */
@scope (.bc-shop-content) {
:root{--shop-bg:#fbfaff;--shop-panel:#fff;--shop-ink:#18132e;--shop-muted:#625878;--shop-line:#ddd5eb;--shop-purple:#7827d0;--shop-light:#f0e9fc;--shop-green:#176c3c;color-scheme:light}
[hidden]{display:none!important}
.coupon-bar .actions{flex-wrap:nowrap;align-items:center;margin:8px 0}.coupon-bar label{flex:1;min-width:0;margin:0}.coupon-bar h3{font-size:.9rem}.coupon-bar button{flex:none}.coupon-bar .status:empty{display:none}
:root[data-shop-theme=dark]{--shop-bg:#140e20;--shop-panel:#21182e;--shop-ink:#f8f4ff;--shop-muted:#d7cbe5;--shop-line:#574268;--shop-purple:#bd8aff;--shop-light:#352345;--shop-green:#85edac;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--shop-bg);color:var(--shop-ink);font:16px/1.55 system-ui,sans-serif}a{color:var(--shop-purple)}button,input,select,textarea{font:inherit}button,a.button{min-height:46px;padding:10px 16px;border:1px solid var(--shop-line);border-radius:10px;background:var(--shop-panel);color:var(--shop-ink);cursor:pointer;font-weight:700;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--shop-purple);color:#fff;border-color:var(--shop-purple)}:root[data-shop-theme=dark] .primary{color:#21182e}.green{background:#176c3c;color:#fff}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--shop-purple);outline-offset:3px}h1,h2,h3,p{overflow-wrap:anywhere}header{background:var(--shop-panel);border-bottom:1px solid var(--shop-line);padding:16px max(16px,calc((100vw - 1350px)/2));display:flex;gap:16px;align-items:center;flex-wrap:wrap}header .brand{font-size:1.55rem;font-weight:900;color:var(--shop-ink);text-decoration:none}header nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-left:auto}.notice{padding:8px 16px;background:var(--shop-light);text-align:center;font-weight:700;font-size:.9rem}.hero{max-width:1350px;margin:auto;padding:48px 24px 36px;background:linear-gradient(135deg,var(--shop-panel),var(--shop-light));border-radius:0 0 24px 24px}.hero h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.1;margin:0 0 12px}.hero h1 span{color:var(--shop-purple)}.hero p{max-width:700px;font-size:1.15rem}.trust{display:flex;flex-wrap:wrap;gap:12px}.trust span{border:1px solid var(--shop-line);background:var(--shop-panel);padding:8px 12px;border-radius:30px;font-size:.9rem}.shop-layout{max-width:1350px;margin:30px auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;padding:0 24px}.categories{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:12px}.categories button{text-align:left}.categories .selected{background:var(--shop-light);border-color:var(--shop-purple);color:var(--shop-purple)}.ideas{padding:18px;background:var(--shop-light);border-radius:14px;margin-top:18px}.catalogue-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.catalogue-header input{max-width:260px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{min-width:0;border:1px solid var(--shop-line);background:var(--shop-panel);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.product img{width:100%;height:245px;object-fit:contain;background:#fff;padding:12px;cursor:zoom-in}.product .info{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1}.product h3{font-size:1rem;margin:0}.product .material{color:var(--shop-muted);font-size:.9rem}.product .price{font-weight:800}.product button{width:100%;margin-top:auto}.section{max-width:1200px;margin:32px auto;padding:24px}.panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.panel,.order-line{background:var(--shop-panel);border:1px solid var(--shop-line);border-radius:14px;padding:20px}details{padding:14px 0;border-bottom:1px solid var(--shop-line)}summary{cursor:pointer;min-height:44px;font-weight:700}.policy-links{display:flex;gap:16px;flex-wrap:wrap}footer{border-top:1px solid var(--shop-line);padding:28px 24px}.footer-inner{max-width:1300px;margin:auto}label{display:block;font-weight:650;margin:12px 0 5px}input:not([type=checkbox]),select,textarea{width:100%;min-height:46px;border:1px solid var(--shop-line);border-radius:8px;background:var(--shop-panel);color:var(--shop-ink);padding:10px}textarea{min-height:75px;resize:vertical}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}.help{font-size:.88rem;color:var(--shop-muted)}.warning{padding:12px;border-radius:10px;background:var(--shop-light);font-weight:650}.error{color:#ab1936}:root[data-shop-theme=dark] .error{color:#ffafc2}dialog{width:min(1160px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--shop-line);border-radius:16px;background:var(--shop-panel);color:var(--shop-ink)}dialog::backdrop{background:#160a2d9c}.dialog-header{position:sticky;top:0;background:var(--shop-panel);z-index:5;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--shop-line)}.dialog-header h2{font-size:1.3rem;margin:0}.dialog-body{padding:20px}.custom-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px}.custom-product{display:flex;align-items:center;gap:14px}.custom-product img{width:105px;height:105px;object-fit:contain;background:#fff;border-radius:10px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.preview-gallery{display:flex;gap:8px;flex-wrap:wrap}.summary-box{border:1px solid var(--shop-line);padding:20px;border-radius:12px;align-self:start;position:sticky;top:85px}.money-row{display:flex;justify-content:space-between;gap:12px;margin:10px 0}.money-row.total{border-top:1px solid var(--shop-line);padding-top:12px;font-size:1.3rem;font-weight:800}.quantity{display:flex;gap:8px;align-items:center}.quantity input{width:70px;text-align:center}.quantity button{min-width:44px}.basket-line{display:grid;grid-template-columns:85px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--shop-line)}.basket-line img{width:85px;height:85px;object-fit:contain;background:#fff}.basket-line pre{white-space:pre-wrap;font:inherit;font-size:.9rem}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.lightbox{width:min(850px,calc(100vw - 24px));overflow:hidden}.lightbox img{display:block;width:100%;height:calc(100dvh - 125px);object-fit:contain;background:#fff}.status{min-height:24px;overflow-wrap:anywhere}.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px}.order-details{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--shop-light);padding:12px;border-radius:8px}#wallets{display:grid;gap:8px;margin-top:12px}.wallet{min-height:48px}.admin-wrap{max-width:1200px;margin:24px auto;padding:0 20px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap}.admin-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;margin:24px 0}.admin-product-list{display:flex;flex-direction:column;gap:8px}.admin-form{background:var(--shop-panel);border:1px solid var(--shop-line);padding:20px;border-radius:14px}.admin-form textarea.json{font-family:monospace;min-height:230px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-order{margin:18px 0}.admin-order img{width:90px;height:90px;object-fit:contain;background:#fff}.admin-order pre{white-space:pre-wrap;font:inherit}.test-box{border:2px solid var(--shop-purple);padding:20px;border-radius:12px}.policy{max-width:850px;margin:30px auto;padding:24px}.policy h2{margin-top:28px}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-layout{grid-template-columns:170px minmax(0,1fr)}}@media(max-width:720px){header nav{margin-left:0}.hero{padding:28px 18px}.shop-layout{display:block;padding:0 16px}.categories{position:static;flex-direction:row;flex-wrap:wrap;margin-bottom:20px}.categories button{flex:1 1 125px}.ideas{display:none}.custom-layout,.checkout-grid,.admin-grid,.panels{grid-template-columns:1fr}.summary-box{position:static}.product img{height:190px}.product .info{padding:12px}.dialog-body{padding:14px}.field-grid{grid-template-columns:1fr}.admin-product-list{flex-direction:row;flex-wrap:wrap}.admin-product-list button{flex:1 1 140px}}@media(max-width:390px){.grid{gap:10px}.product img{height:155px}.product h3{font-size:.9rem}.product button{padding:10px 6px}.choice-grid{grid-template-columns:1fr}header{padding:12px}.custom-product img{width:80px;height:80px}}
/* --- Branding: the shop header must look like the main BeamCraft site --- */
header .brand{display:inline-flex;align-items:center;gap:10px}
header .brand-logo{width:44px;height:44px;flex:none;object-fit:contain;background:#fff;border-radius:10px;padding:2px}
/* --- Checkout clarity: make it obvious where to type name, email and telephone --- */
#checkout-form h3{font-size:1.05rem;letter-spacing:.04em;margin:22px 0 6px;color:var(--shop-ink);border-bottom:2px solid var(--shop-line);padding-bottom:6px}
#checkout-form label{font-weight:800;font-size:1rem;margin-top:14px}
#checkout-form .field-label{display:block;color:var(--shop-ink)}
#checkout-form label.field-required .field-label{color:var(--shop-purple)}
#checkout-form input:not([type=checkbox]),#checkout-form select,#checkout-form textarea{border:2px solid #8d78b3;background:#fff;min-height:50px;box-shadow:inset 0 1px 3px #2a174512}
#checkout-form input:not([type=checkbox]):hover,#checkout-form select:hover,#checkout-form textarea:hover{border-color:var(--shop-purple)}
#checkout-form input:not([type=checkbox]):focus-visible,#checkout-form select:focus-visible,#checkout-form textarea:focus-visible{border-color:var(--shop-purple);background:#fff}
#checkout-form input::placeholder{color:#6b5d86;opacity:1}
#checkout-form .field-error{margin:6px 0 0;font-weight:700}
.coupon-bar{border:2px solid var(--shop-purple);border-radius:12px;padding:14px;background:var(--shop-light)}
.coupon-bar label{margin-top:0}
.coupon-bar .help{margin:4px 0 10px}
:root[data-shop-theme=dark] #checkout-form input:not([type=checkbox]),:root[data-shop-theme=dark] #checkout-form select,:root[data-shop-theme=dark] #checkout-form textarea{background:#2c2140;border-color:#a08cc4}
:root[data-shop-theme=dark] #checkout-form input:not([type=checkbox]):focus-visible,:root[data-shop-theme=dark] #checkout-form select:focus-visible,:root[data-shop-theme=dark] #checkout-form textarea:focus-visible{background:#2c2140}
:root[data-shop-theme=dark] #checkout-form input::placeholder{color:#b5a4d1}
:root[data-shop-theme=dark] .coupon-bar{background:#2c2140}
/* Use the existing site's palette and typography without changing checkout behaviour. */
:root[data-shop-theme]{--shop-bg:var(--bc-bg);--shop-panel:var(--bc-surface);--shop-ink:var(--bc-white);--shop-muted:var(--bc-muted);--shop-line:var(--bc-border);--shop-purple:var(--bc-purple);--shop-light:var(--bc-panel);--shop-green:var(--bc-green)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65}
header{position:sticky;top:0;z-index:100;min-height:74px;background:var(--bc-header-bg);padding:14px max(24px,calc((100vw - 1200px)/2));gap:20px}
header .brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;letter-spacing:.02em;gap:12px}
header .brand-logo{background:transparent;border-radius:0;padding:0}
header nav{gap:4px}header nav a{padding:10px 12px;font-size:.88rem;font-weight:600;color:var(--bc-silver);text-decoration:none;border-radius:8px}
header nav a:hover{background:var(--shop-light)}header nav a[aria-current=page]{color:var(--shop-purple);text-decoration:underline;text-underline-offset:8px}
header nav button{font-size:.85rem}
.hero{max-width:1200px;background:linear-gradient(135deg,var(--bc-bg),var(--bc-panel));padding:48px 36px;border-radius:0 0 22px 22px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;font-size:clamp(2.3rem,5vw,4.3rem)}
.hero h1 span{font-style:italic}.hero .warning{padding:0;background:transparent;font-size:.8rem;letter-spacing:.12em;color:var(--shop-purple)}
.hero .trust{margin-top:24px}.hero .button{display:inline-flex;margin-top:20px;align-items:center}
.shop-layout{max-width:1200px;grid-template-columns:180px minmax(0,1fr)}.catalogue-header{margin-bottom:20px}
.catalogue-header h2,.section>h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem)}
.product{border-radius:22px}.product .info{padding:20px}.product .info p{margin:0}.product .price{font-size:1.15rem}
.primary,button.primary,a.button.primary{background:var(--bc-cta);border-color:var(--bc-cta);color:#fff}
.primary:hover{background:var(--bc-cta-deep)}.green{background:#17633f;color:#fff}
#checkout-form h3{font-family:inherit;font-weight:750;letter-spacing:.04em}
#checkout-form .help{margin:8px 0 14px}#checkout-form .coupon-bar{margin:24px 0;padding:20px;border-color:var(--bc-border-strong);background:var(--shop-light)}
#checkout-form .coupon-bar h3{margin:0 0 8px;border:0;padding:0}#checkout-form .coupon-bar label{margin:0}
#checkout-form input:not([type=checkbox]),#checkout-form select,#checkout-form textarea{background:var(--shop-panel);border-color:var(--bc-border-strong)}
#checkout-form input:not([type=checkbox]):focus-visible,#checkout-form select:focus-visible,#checkout-form textarea:focus-visible{background:var(--shop-panel)}
#checkout-form input::placeholder{color:var(--bc-placeholder)}
.checkout-grid{align-items:start}.checkout-grid>div{min-width:0}
.money-row{margin:12px 0}.money-row.total{font-size:1.4rem}.dialog-header h2{font-family:inherit;font-weight:700}
@media(max-width:720px){header{position:static;padding:16px;gap:12px}header nav{width:100%;gap:4px}header nav a{padding:8px;font-size:.82rem}.hero{padding:30px 20px}.shop-layout{display:block}.product .info{padding:14px}.coupon-bar .actions{flex-wrap:wrap}.coupon-bar .actions label{flex-basis:100%}.coupon-bar button{width:100%}}
}
:root{--shop-bg:var(--bc-bg);--shop-panel:var(--bc-surface);--shop-ink:var(--bc-white);--shop-muted:var(--bc-muted);--shop-line:var(--bc-border);--shop-purple:var(--bc-purple);--shop-light:var(--bc-panel);--shop-green:var(--bc-green)}
.bc-shop-content{width:min(var(--bc-max),calc(100% - 48px));margin:0 auto 64px}
.bc-shop-content .shop-layout{padding:0;max-width:100%;margin-top:24px}
.bc-shop-content .categories{top:100px}.bc-shop-content .categories h2{font-family:inherit;font-size:.85rem;font-weight:700;line-height:1.5;letter-spacing:.05em}
.bc-shop-content dialog:not(.lightbox){position:static;width:100%;max-width:none;max-height:none;overflow:visible;margin:24px auto;border:0;border-radius:0;background:var(--bc-bg);color:var(--bc-white)}
.bc-shop-content .dialog-header{position:static;padding:18px 0;background:transparent}
.bc-shop-content .dialog-body{padding:20px 0}
.bc-shop-content .checkout-grid{display:block}
.bc-shop-content #checkout-form{max-width:760px;margin:auto}
.bc-shop-content .summary-box{position:static;max-width:760px;margin:20px auto;background:var(--bc-surface)}
.bc-shop-content .shop-progress{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;padding:14px;border:1px solid var(--bc-border);border-radius:var(--bc-radius-sm)}
.shop-progress button{flex:1 1 140px;min-height:44px;padding:8px;font-size:.85rem}
.shop-progress [aria-current=step]{background:var(--bc-panel);color:var(--bc-purple);border-color:var(--bc-border-strong)}
.bc-shop-content .step-actions{display:flex;justify-content:space-between;gap:16px;margin:24px auto;max-width:760px}
.bc-shop-content .dimension-notice{font-size:.88rem;font-weight:400}
.bc-shop-content .dimension-notice p{margin:10px 0;line-height:1.6}
.bc-shop-content .dimension-notice summary{font-size:.82rem;font-weight:700}
.bc-shop-content .coupon-bar{margin:24px 0;border-color:var(--bc-border-strong);background:var(--bc-panel)}
.bc-shop-content #basket-totals{max-width:760px;margin:24px auto}
.bc-shop-content #coupon-status{white-space:pre-line}
.bc-shop-content .help{color:var(--bc-muted)}
.bc-shop-content #checkout-form input:not([type=checkbox]),.bc-shop-content #checkout-form select,.bc-shop-content #checkout-form textarea{color:var(--bc-white);background:var(--bc-surface);border-color:var(--bc-border-strong)}
.bc-shop-content #checkout-form input::placeholder{color:var(--bc-placeholder)}
.bc-shop-content .product img{height:220px}.bc-shop-content .product h3{line-height:1.4}
@media(max-width:720px){.bc-shop-content{width:calc(100% - 32px)}.bc-shop-content .grid{grid-template-columns:1fr}.bc-shop-content .categories{position:static}.bc-shop-content .custom-layout{display:block}.bc-shop-content .dialog-header{align-items:start}.shop-progress button{flex-basis:95px}.bc-shop-content .summary-box{padding:16px}}
