/* Self-contained bag shell: it is appended to body, outside page layout wrappers. */
html body dialog.bag-drawer{width:min(660px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:0;border:1px solid #dce5e0;border-radius:12px;background:#fff;color:#20372e;overflow:hidden;margin:auto;max-height:calc(100dvh - 24px)}
html body dialog.bag-drawer .dialog-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);min-width:0}
html body dialog.bag-drawer .dialog-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;gap:16px;padding:18px 22px;border-bottom:1px solid #e3e9e5}
html body dialog.bag-drawer .dialog-head h2{font-size:23px;line-height:1.3;margin:0;overflow-wrap:anywhere}
html body dialog.bag-drawer .close-button{flex:0 0 44px;width:44px;height:44px;min-width:44px;border:0;border-radius:0;background:transparent;color:inherit;line-height:1;font-size:28px;padding:0}
html body dialog.bag-drawer .dialog-body{min-height:0;overflow:auto;padding:22px;overscroll-behavior:contain}
html body dialog.bag-drawer .bc-added-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px}
html body dialog.bag-drawer .bc-added-item img{width:100%;height:auto;max-height:180px;object-fit:contain}
html body dialog.bag-drawer .bc-added-item h3{font-size:17px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
html body dialog.bag-drawer .bc-added-item p,html body dialog.bag-drawer .variation{font-size:13px;line-height:1.6}
html body dialog.bag-drawer .bc-bag-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}
html body dialog.bag-drawer .bc-bag-actions>a,html body dialog.bag-drawer .bc-bag-actions>button{display:flex;align-items:center;justify-content:center;position:static;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 8px;box-sizing:border-box;white-space:normal;text-align:center;text-decoration:none;font:600 13px/1.4 Arial,sans-serif;border:1px solid #155f51;border-radius:0;background:#fff;color:#155f51;cursor:pointer}
html body dialog.bag-drawer .bc-bag-actions>.primary{background:#155f51;color:#fff}
html body dialog.bag-drawer .bc-bag-actions>:hover{background:#eaf4ef;color:#123f34}html body dialog.bag-drawer .bc-bag-actions>.primary:hover{background:#104a40;color:#fff}
html body dialog.bag-drawer :is(button,a):focus-visible{outline:2px solid #155f51;outline-offset:3px}
.bc-customer-dashboard{padding:28px;border:1px solid #dce5df;border-radius:12px;background:#fff}.bc-customer-dashboard h2{font:400 32px/1.25 Georgia,serif}.bc-account-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.bc-account-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border:1px solid #dce5df;border-radius:8px;color:#155f51;min-height:64px;text-decoration:none}.bc-order-scroll{max-width:100%;overflow:auto}.bc-order-scroll table{width:100%;border-collapse:collapse}.bc-order-scroll th,.bc-order-scroll td{padding:12px;white-space:nowrap;text-align:left;border-bottom:1px solid #e0e7e3;font-size:13px}.bc-order-note,.bc-login-help{font-size:12px;line-height:1.7;color:#50665b}.bc-google-login{margin-top:22px}.bc-google-login .nsl-container{padding:0}
.bc-long-story{padding-block:48px 64px}.bc-long-story>header{max-width:700px;margin-bottom:32px}.bc-long-story h2{font:400 clamp(32px,4vw,48px)/1.15 Georgia,serif;color:#163e31}.bc-story-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.bc-story-sections article{padding:28px;background:#f7f8f3;border:1px solid #e0e6dd;border-radius:10px;min-width:0}.bc-story-sections h3{font:400 25px/1.3 Georgia,serif;margin:0 0 14px}.bc-story-sections p{font-size:15px;line-height:1.9;margin:0}.bc-story-next{margin-top:32px;padding:30px;border-top:1px solid #dce4dc}.bc-story-next a{display:inline-flex;margin:8px 12px 0 0;min-height:44px;align-items:center;padding:10px 18px;color:#155f51;border:1px solid #155f51;text-decoration:none}.bc-story-next .primary{background:#155f51;color:#fff}
@media(max-width:680px){html body dialog.bag-drawer{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}html body dialog.bag-drawer .dialog-head,html body dialog.bag-drawer .dialog-body{padding:16px}html body dialog.bag-drawer .bc-bag-actions{grid-template-columns:minmax(0,1fr)}html body dialog.bag-drawer .bc-added-item{grid-template-columns:80px minmax(0,1fr);gap:12px}.bc-account-links,.bc-story-sections{grid-template-columns:minmax(0,1fr)}.bc-customer-dashboard{padding:18px}.bc-story-sections article{padding:22px}.bc-long-story{padding-block:28px 40px}}
/* Unified square commerce controls, including dialogs appended outside page wrappers. */
html body :is(.bc-reference-page,.bc-auth-customer,.woocommerce,.wp-block-woocommerce-checkout,.wp-block-woocommerce-cart,dialog.lux-dialog) :is(button,.button,a.wp-element-button,input[type=submit],.wc-block-components-button){border-radius:0!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.45;letter-spacing:.01em;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere}
html body :is(.bc-reference-page,.bc-auth-customer,.woocommerce,dialog.lux-dialog) :is(button,.button,input[type=submit]){min-height:44px}
html body dialog.lux-dialog :is(.dialog-head,.dialog-body){min-width:0}
html body dialog.lux-dialog .dialog-head{gap:16px}
html body dialog.lux-dialog .dialog-head h2{font-size:clamp(22px,3vw,30px);line-height:1.25;margin:0}
html body dialog.lux-dialog .close-button{width:44px;height:44px;min-width:44px;flex-shrink:0;padding:0;font-size:26px;border-radius:0!important}
html body dialog.lux-dialog :is(.button,button:not(.inline-link):not(.close-button)){padding:12px 18px;text-align:center}
html body dialog.lux-dialog .inline-link{display:inline-flex;align-items:center;background:transparent;border:0;border-bottom:1px solid currentColor;padding:4px 0;margin:8px 20px 8px 0;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;min-height:44px}
html body dialog.lux-dialog .drawer-quantity{display:flex;align-items:center;gap:12px;margin:14px 0 4px}
html body dialog.lux-dialog .drawer-quantity button{width:44px;height:44px;padding:0}
html body dialog.lux-dialog .drawer-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid #dce5e0}
html body dialog.lux-dialog .drawer-item img{width:88px;height:auto;object-fit:contain}
html body dialog.lux-dialog .drawer-item h3{font-size:16px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
html body dialog.lux-dialog .drawer-coupon{display:flex;align-items:end;gap:12px;margin:24px 0}
html body dialog.lux-dialog .drawer-coupon label{flex:1;min-width:0}
html body dialog.lux-dialog .drawer-coupon input{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #9eafa8;border-radius:0;margin-top:8px}
html body dialog.lux-dialog .drawer-summary{display:grid;gap:14px;margin-top:24px}
html body dialog.lux-dialog .drawer-summary :is(a,button,p){margin:0}
html body dialog.lux-dialog .drawer-summary .button{display:flex;align-items:center;justify-content:center;width:100%}
html body dialog.quick-view :is(.added_to_cart,.wc-forward){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;margin:16px 0;border:1px solid #155f51;text-decoration:none;font-size:14px}
html body :is(.pdp-accordions,.product-accordions,.bc-reference-page) details>a.text-link{display:inline-flex;align-items:center;min-height:44px;margin:12px 20px 12px 0}
html body .bc-reference-page details>button[data-beyond-delivery]{display:inline-flex;margin:12px 0;max-width:100%}
html body .bc-auth-customer :is(input[type=email],input[type=text],input[type=password]){border-radius:0!important;min-height:48px;font-size:16px}
@media(max-width:480px){html body dialog.lux-dialog .drawer-item{grid-template-columns:64px minmax(0,1fr);gap:12px}html body dialog.lux-dialog .drawer-item img{width:64px}html body dialog.lux-dialog .drawer-coupon{flex-wrap:wrap}html body dialog.lux-dialog .drawer-coupon label{flex-basis:100%}html body dialog.lux-dialog .drawer-coupon button{width:100%}}
