/* LSWORLD craft pass. Scope: availability, Black Friday, preferences and cart.
   Direction: precise, calm, tactile. Existing glass and type remain the brand.
   Audit: tiny status pills, competing violet promo, native option menus,
   empty full-height bag and redundant currency badges.
   Informed by unslop, Damir Sokolovsky (@heydamir), CC BY 4.0. */
.product-status-meta{gap:8px 16px;margin:12px 0 16px}
.stock-badge,.product-information>.product-status-meta .stock-badge,.cart-offer .stock-badge,.bf-product .stock-badge{padding:0;border:0;border-radius:0;background:none;font-size:12px;font-weight:600;line-height:20px;letter-spacing:0;gap:8px}
.stock-badge::before{width:14px;height:14px;border-radius:0;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5 6.2 11.5 13 4.5'/%3E%3C/svg%3E") center/contain no-repeat}
.stock-badge[data-stock-state=low],.stock-badge[data-stock-state=out],.stock-badge[data-stock-state=order],.stock-badge[data-stock-state=available]{background:none;border:0}
.stock-badge[data-stock-state=low]::before,.stock-badge[data-stock-state=order]::before,.stock-badge[data-stock-state=available]::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='5.5' fill='none' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M8 4.5V8l2.5 1.5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.stock-badge[data-stock-state=out]::before{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 4 8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.instant-email-label,.cart-offer .instant-email-label{font-size:12px;font-weight:500;line-height:20px;gap:8px}
.instant-email-label svg{width:14px;height:14px}
.stock-badge[hidden],.instant-email-label[hidden]{display:none!important}

/* LSWORLD Black Friday: transparent storefront glass and a blue offer pane. */
.bf-banner{display:grid;grid-template-columns:minmax(0,1fr) 304px;align-items:center;gap:48px;width:100%;min-height:292px;padding:40px 44px;margin:0 0 36px;border:1px solid #ffffffd9;border-radius:32px;background:linear-gradient(115deg,#ffffffba,#f0f5ffc4 55%,#e3edffb8);backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);color:var(--ink);text-align:left;box-shadow:0 16px 44px -28px #7189b461,inset 0 1px 0 #fff;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:border-color 200ms ease,transform 200ms ease}
.bf-banner-copy,.bf-banner-action{display:flex;flex-direction:column;min-width:0}
.bf-banner-copy{align-items:flex-start;gap:12px;position:relative;z-index:1}
.bf-banner-brand{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:750;line-height:1.3;color:var(--ink);letter-spacing:-.025em}
.bf-banner-brand .brand-light{font-weight:450}.bf-banner-brand .brand-dot{color:var(--blue)}
.bf-banner-title{font-size:clamp(40px,4.8vw,58px);font-family:Manrope,sans-serif;font-weight:650;line-height:1.1;letter-spacing:-.045em;color:var(--ink)}
.bf-banner-tagline{font-size:17px;font-weight:400;line-height:1.5;color:var(--muted)}
.bf-banner-offers{display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;font-size:13px;line-height:1.5;color:var(--ink);margin-top:4px}
.bf-banner-offers b{font-weight:600;color:var(--blue);margin-left:4px}
.bf-banner-note{font-size:11px;line-height:1.7;color:var(--muted);max-width:540px}
.bf-banner-action{position:relative;align-items:center;justify-content:center;min-height:212px;padding:24px 20px;gap:20px;white-space:nowrap;isolation:isolate}
.bf-banner-action::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:28px;background:linear-gradient(145deg,#2d7de4,#185bc6);border:1px solid #ffffff99;box-shadow:inset 0 1px 0 #ffffff66,0 14px 28px -20px #114ca78c;transform:rotate(-5deg);pointer-events:none}
.bf-banner-action>strong{display:flex;align-items:baseline;justify-content:center;gap:2px;font-family:Manrope,sans-serif;font-size:104px;font-weight:500;line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums;color:#f4f1eb;text-shadow:0 1px 1px #0d449530}
.bf-banner-percent{font-size:.62em;letter-spacing:-.04em}
.bf-banner-action>span{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:12px 20px;border:1px solid #ffffff9c;border-radius:100px;background:#ffffffed;color:#174b93;box-shadow:0 2px 4px #123e7e1c;font-size:12px;font-weight:600;line-height:20px}
.bf-banner-action svg{width:18px;height:18px;flex:none;transition:transform 200ms ease}
.bf-banner:hover{border-color:#7eaaf080}.bf-banner:hover .bf-banner-action svg{transform:translateX(3px)}
.bf-banner:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.bf-banner:active{transform:translateY(1px)}
.bf-banner[hidden]{display:none!important}
html[data-theme=dark] .bf-banner{background:linear-gradient(115deg,#1b293ee0,#1a2c46c7);border-color:#bdcee83d;box-shadow:inset 0 1px 0 #ffffff14}
html[data-theme=dark] .bf-banner-action::before{background:linear-gradient(145deg,#377fdf,#2059b5);border-color:#b4d6ff80;box-shadow:inset 0 1px 0 #ffffff3d,0 12px 28px -24px #020b1c80}

/* Keep the dialog footprint; give its actual offers more usable space. */
.black-friday-dialog{background:#f2f5faed;border-color:#ffffffb0}
html[data-theme=dark] .black-friday-dialog{background:#152238f5;border-color:#b5c8e633}
.black-friday-dialog .bf-glow{display:none}
.bf-content{padding:32px}
.bf-content h2,html[data-theme=dark] .bf-content h2{color:var(--ink);background:none;-webkit-text-fill-color:currentColor;font-size:clamp(32px,4.6vw,48px);line-height:1.18;padding-bottom:.1em}
.bf-kicker{margin:20px 0 12px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.bf-description{font-size:13px;line-height:1.7;margin:16px auto 24px}
.bf-products{gap:12px}.bf-product{padding:20px 12px 16px;gap:12px;border-color:#ffffffc0;background:#ffffff80;border-radius:20px;box-shadow:none}
.bf-product>a{gap:12px}.bf-product img{width:88px;height:88px;mix-blend-mode:normal}
.bf-product strong{font-size:12px;font-weight:500;line-height:1.5;min-height:54px}
.bf-product .product-status-meta{align-items:center;flex-direction:column;gap:4px;margin:0;width:100%}
.bf-product .stock-badge{font-size:12px;line-height:20px}.bf-product .instant-email-label{font-size:11px;line-height:18px;gap:6px}
.bf-product .bf-discount-badge{font-size:11px;background:#203550;color:#f4f1eb;border-radius:6px;padding:4px 8px}
.bf-discount-price>span{font-size:18px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}.bf-discount-price s{font-size:11px}
.bf-product .button{font-size:12px;min-height:44px;padding:10px 8px}
.bf-footnote{font-size:11px;line-height:1.7}.bf-cta{margin-top:24px}
html[data-theme=dark] .bf-product{background:#ffffff06;border-color:#c3d7ff24}
html[data-theme=dark] .bf-product .bf-discount-badge{background:#a9d0ff1c;color:#b8d8ff}

/* Searchable native-localization controls, progressively enhanced. */
.locale-search{position:relative;margin:0 0 16px}
.locale-search-field{position:relative}
.locale-search input{width:100%;min-height:48px;padding:12px 40px 12px 16px;border:1px solid var(--line);border-radius:14px;background:#ffffff72;color:var(--ink);font:inherit;font-size:14px;line-height:22px;outline-offset:3px}
.locale-search input::-webkit-search-cancel-button{display:none}
.locale-search-field>svg{position:absolute;right:16px;top:16px;width:16px;height:16px;pointer-events:none;color:var(--muted)}
.locale-options{padding:8px;margin:8px 0 0;list-style:none;max-height:208px;overflow-y:auto;border:1px solid var(--line);border-radius:16px;background:#ffffffa6;backdrop-filter:blur(24px);scrollbar-width:thin}
.locale-options [role=option]{padding:10px 12px;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;font-size:14px;line-height:1.5;color:var(--ink);cursor:pointer}
.locale-options [role=option][data-active=true]{background:#1767ed10;outline:1px solid #1767ed33;outline-offset:-1px}
.locale-options [role=option][aria-selected=true]::after{content:'✓';color:var(--blue);font-size:16px}
.locale-options [role=option]:hover{background:#1767ed10}.locale-empty{font-size:13px;color:var(--muted);padding:12px;line-height:1.6}
.locale-options[hidden]{display:none}.localization-form>.field-label{display:block;margin-bottom:8px}
html[data-theme=dark] .locale-search input{background:#1b2b4280}html[data-theme=dark] .locale-options{background:#1b2b42c9}
html[data-theme=dark] .locale-options [role=option][data-active=true],html[data-theme=dark] .locale-options [role=option]:hover{background:#a9d0ff14}

/* Bag is a floating object with content-sized height, rather than a sidebar. */
.ls-cart-widget{inset:24px 24px auto auto;margin:0;width:min(440px,calc(100% - 48px));height:auto;max-height:calc(100dvh - 48px);border-radius:28px;box-shadow:0 20px 64px -24px #14213966}
.ls-cart-widget[open]{display:flex}.widget-head{padding:20px 24px;cursor:grab;user-select:none;touch-action:pan-y}.widget-head:active{cursor:grabbing}.widget-head h2{font-size:24px;line-height:1.35}
.widget-head .icon-button{cursor:pointer}.widget-scroll{flex:0 1 auto;padding:0 24px 16px;overscroll-behavior:contain}
.widget-scroll>[role=status]:empty{display:none}.widget-coupon{margin:16px 0 4px;padding:16px;border-radius:16px}
.widget-coupon-feedback:empty{display:none}.widget-line{padding:20px 0;gap:16px}.widget-line h3{font-size:14px;line-height:1.5;letter-spacing:0}
.widget-controls label,.widget-controls button,.widget-delivery-label{font-size:12px}.widget-controls input{min-height:36px}
.widget-footer{padding:20px 24px;gap:12px}.widget-footer .button{min-height:46px}.widget-footer>.text-link{font-size:12px;line-height:1.5}
.widget-estimate strong{font-size:12px}.widget-estimate p{font-size:11px}.ls-cart-widget[data-dragging=true]{animation:none;user-select:none}
.ls-cart-widget[data-dragging=true] .widget-head{cursor:grabbing}.ls-cart-widget[data-dragging=true] a,.ls-cart-widget[data-dragging=true] button{pointer-events:none}
.ls-cart-widget[data-positioned=true]{animation:none!important}.widget-head:focus-visible{outline:2px solid var(--blue);outline-offset:-4px;border-radius:24px 24px 0 0}
@media(min-width:801px){.widget-head{touch-action:none}}

.announcement,html[data-theme=dark] .announcement{background:#ffffff24;backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);border-bottom:1px solid #8798b614;color:var(--muted)}
html[data-theme=dark] .announcement{background:#14223926;border-bottom-color:#d4ddec0c}
@media(max-width:600px){
 .bf-banner{padding:28px;gap:28px;margin-bottom:28px;grid-template-columns:1fr;border-radius:24px}
 .bf-banner-title{font-size:44px}.bf-banner-tagline{font-size:16px}.bf-banner-copy{gap:12px}
 .bf-banner-action{flex-direction:row;justify-content:space-between;min-height:112px;padding:20px 24px;gap:16px}.bf-banner-action>strong{font-size:72px}
 .bf-banner-action::before{border-radius:22px}.bf-banner-action>span{font-size:0;gap:0;width:48px;min-height:48px;padding:12px}.bf-banner-action svg{width:20px;height:20px}
 .bf-banner-offers{font-size:13px;gap:4px 20px}.bf-banner-note{font-size:11px}.bf-banner-brand{font-size:14px}
 .bf-content{padding:28px 20px}.bf-content h2{font-size:34px}.bf-products{grid-template-columns:1fr;gap:12px}
 .bf-product{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:16px 20px;gap:12px 16px;text-align:left}
 .bf-product>a{grid-column:1/-1;flex-direction:row;gap:16px;align-items:center}.bf-product img{width:64px;height:72px;flex:none}
 .bf-product strong{font-size:14px;min-height:0}.bf-product .product-status-meta{align-items:flex-start;grid-row:2;grid-column:1/-1;gap:4px}
 .bf-product .instant-email-label{font-size:12px}.bf-product .bf-discount-badge{justify-self:start;align-self:center;grid-column:1;grid-row:3}
 .bf-discount-price{grid-column:2;grid-row:3;text-align:right}.bf-product form{grid-column:1/-1}.bf-product .button{font-size:13px}
 .bf-description{font-size:13px}.bf-footnote{font-size:12px}.bf-product .bf-discount-price>span{font-size:18px}
 .preferences-dialog{padding:24px}.locale-search input{font-size:16px}
 .ls-cart-widget{inset:12px 12px auto auto;width:calc(100% - 24px);height:auto;max-height:calc(100dvh - 24px);border-radius:24px}
 .widget-head{padding:16px 20px;cursor:default}.widget-scroll{padding:0 20px 16px}.widget-footer{padding:16px 20px;gap:10px}.widget-head h2{font-size:24px}
 .hero-visual .orbital-two{width:85%}
}
@media(max-width:360px){.bf-banner{padding:24px}.bf-banner-title{font-size:40px}.bf-banner-action{padding:20px}.bf-banner-action>strong{font-size:64px}.bf-content{padding:28px 16px}.bf-product{padding:16px}.bf-product .instant-email-label{font-size:11px}}
@media(max-height:640px){.widget-head{padding:12px 20px}.widget-footer{padding:12px 20px;gap:8px}.widget-coupon{padding:12px}.widget-estimate{padding:8px 12px}.widget-footer .button{min-height:42px}}
@media(min-width:601px) and (max-height:800px){.bf-content{padding:24px 28px}.bf-kicker{margin:12px 0 8px}.bf-content h2,html[data-theme=dark] .bf-content h2{font-size:38px}.bf-description{font-size:12px;line-height:1.6;margin:12px auto 16px}.bf-product{padding:16px 12px;gap:8px}.bf-product img{width:72px;height:72px}.bf-product strong{min-height:36px;font-size:11px}.bf-cta{margin-top:16px;min-height:44px}.bf-footnote{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.bf-banner,.bf-banner-action svg{transition:none}.bf-banner:active,.bf-banner:hover .bf-banner-action svg{transform:none}}

@media(min-width:601px) and (max-width:900px){.bf-banner{grid-template-columns:minmax(0,1fr) 224px;gap:28px;padding:32px}.bf-banner-title{font-size:44px}.bf-banner-action{min-height:184px;padding:20px 12px}.bf-banner-action>strong{font-size:80px}.bf-banner-action>span{padding:12px 16px;gap:12px;font-size:11px}.bf-banner-tagline{font-size:16px}}
