/* Westburry motion system — expressive, lightweight, accessible. */
:root{--wb-motion-fast:180ms;--wb-motion-base:340ms;--wb-motion-slow:620ms;--wb-motion-ease:cubic-bezier(.18,.78,.22,1);--wb-motion-pop:cubic-bezier(.2,1.45,.4,1)}
html{scroll-behavior:smooth}
body.wb-motion-enter{animation:wb-page-in 620ms var(--wb-motion-ease) both}
@keyframes wb-page-in{from{opacity:.45}to{opacity:1}}
body.wb-motion-enter main>*{animation:wb-section-in 650ms var(--wb-motion-ease) both}
body.wb-motion-enter main>*:nth-child(2){animation-delay:55ms}body.wb-motion-enter main>*:nth-child(3){animation-delay:100ms}body.wb-motion-enter main>*:nth-child(4){animation-delay:145ms}
@keyframes wb-section-in{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
body.wb-motion-active .wb-motion-reveal{opacity:0;transform:translate3d(0,24px,0) scale(.985);transition:opacity 560ms var(--wb-motion-ease),transform 560ms var(--wb-motion-ease)}
body.wb-motion-active .wb-motion-reveal.wb-is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
body.wb-motion-active .wb-motion-reveal:nth-child(3n+2){transition-delay:55ms}body.wb-motion-active .wb-motion-reveal:nth-child(3n){transition-delay:95ms}
.site-header{transition:box-shadow 260ms ease,background-color 260ms ease}
.site-header nav a{position:relative;transition:color 180ms ease,transform 180ms ease}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;border-radius:2px;background:var(--accent,#c49a58);transition:right 260ms var(--wb-motion-ease)}
.site-header nav a:hover,.site-header nav a:focus-visible{transform:translateY(-2px)}.site-header nav a:hover::after,.site-header nav a:focus-visible::after,.site-header nav a[aria-current=page]::after{right:0}
button,a,[role=button],input[type=button],input[type=submit],input[type=reset],select{ -webkit-tap-highlight-color:transparent }
button,.solid-action,.primary-link,.page-action,.detail-add-cart,.detail-order-now,.product-popover-trigger,.nav-cart,.cart-pill,.help-section a,.page-card-actions a,.page-card-actions button{position:relative;overflow:hidden;transform:translateZ(0);transition:transform 220ms var(--wb-motion-ease),box-shadow 220ms ease,background-color 220ms ease,color 220ms ease,border-color 220ms ease}
button:hover:not(:disabled),.solid-action:hover,.primary-link:hover,.page-action:hover,.detail-add-cart:hover,.detail-order-now:hover,.nav-cart:hover,.cart-pill:hover,.help-section a:hover,.page-card-actions a:hover,.page-card-actions button:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 9px 22px rgba(20,37,29,.16)}
button:active:not(:disabled),a:active,.solid-action:active,.primary-link:active,.page-action:active,.detail-add-cart:active,.detail-order-now:active{transform:translateY(1px) scale(.965);box-shadow:0 2px 7px rgba(20,37,29,.12)}
.wb-motion-press{animation:wb-button-pop 420ms var(--wb-motion-pop)}
@keyframes wb-button-pop{0%{transform:scale(1)}28%{transform:scale(.94)}62%{transform:scale(1.055)}100%{transform:scale(1)}}
.wb-motion-press::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--wb-ripple-x,50%) var(--wb-ripple-y,50%),rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 22%,transparent 58%);animation:wb-ripple 480ms ease-out both}
@keyframes wb-ripple{from{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.7)}}
.product-card,.page-card,.category-product-card,.resale-card,.help-card,.profile-card,.cart-summary,.login-panel{transition:transform 320ms var(--wb-motion-ease),box-shadow 320ms ease,border-color 320ms ease}
.product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover,.help-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(20,37,29,.14)}
.product-image img,.page-card-image img,.category-product-image img,.product-gallery-main img,.resale-product-photo{transition:transform 560ms var(--wb-motion-ease)}
.product-card:hover .product-image img,.page-card:hover .page-card-image img,.category-product-card:hover .category-product-image img,.product-gallery-main:hover img,.resale-card:hover .resale-product-photo{transform:scale(1.065)}
input,select,textarea{transition:border-color 200ms ease,box-shadow 200ms ease,background-color 200ms ease}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(196,154,88,.18)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid #b68b37;outline-offset:3px}
.nav-cart:hover,.cart-pill:hover{transform:translateY(-2px) scale(1.03)}
#toast{transition:opacity 220ms ease,transform 280ms var(--wb-motion-ease)}#toast.show{animation:wb-toast-in 360ms var(--wb-motion-pop)}
@keyframes wb-toast-in{from{opacity:0;transform:translate(-50%,14px) scale(.94)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(hover:none){.product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover,.help-card:hover{transform:none;box-shadow:inherit}.product-card:hover .product-image img,.page-card:hover .page-card-image img,.category-product-card:hover .category-product-image img,.product-gallery-main:hover img,.resale-card:hover .resale-product-photo{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}body.wb-motion-enter,body.wb-motion-enter main>*,body.wb-motion-active .wb-motion-reveal{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}

/* Ensure reveal state and hover states compose instead of competing. */
body.wb-motion-active .wb-motion-reveal.wb-is-visible:hover{transition:transform 260ms cubic-bezier(.18,.78,.22,1),box-shadow 260ms ease,opacity 560ms ease}
body.wb-motion-active .page-card.wb-motion-reveal.wb-is-visible:hover,body.wb-motion-active .product-card.wb-motion-reveal.wb-is-visible:hover,body.wb-motion-active .category-product-card.wb-motion-reveal.wb-is-visible:hover,body.wb-motion-active .help-card.wb-motion-reveal.wb-is-visible:hover{transform:translateY(-5px)}
@media(max-width:700px){body.wb-motion-active .wb-motion-reveal{transform:translate3d(0,14px,0)}body.wb-motion-active .wb-motion-reveal.wb-is-visible:hover{transform:none}}


/* Site-wide responsive motion polish: desktop hover, touch feedback and keyboard parity. */
@media (hover:hover) and (pointer:fine) {
  .product-card,.page-card,.category-product-card,.resale-card,.help-card,.profile-card,.cart-summary,.login-panel,.faq-item,.accordion-item,.contact-card {
    transition:transform 320ms var(--wb-motion-ease),box-shadow 320ms ease,border-color 320ms ease,background-color 260ms ease;
  }
  .product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover,.help-card:hover,.profile-card:hover,.contact-card:hover {
    transform:translate3d(0,-5px,0);
    box-shadow:0 18px 38px rgba(20,37,29,.13);
  }
  .faq-item:hover,.accordion-item:hover {border-color:rgba(196,154,88,.55)}
  .product-image img,.page-card-image img,.category-product-image img,.product-gallery-main img,.resale-product-photo {
    will-change:transform;
  }
  .site-header .brand:hover img,footer .brand:hover img {transform:translateY(-1px) scale(1.025)}
  .site-header .brand img,footer .brand img {transition:transform 260ms var(--wb-motion-ease)}
  .site-header nav a:hover {color:var(--ink);text-shadow:0 2px 12px rgba(20,37,29,.10)}
  input:hover,select:hover,textarea:hover {border-color:#aab6a5}
}
@media (hover:none), (pointer:coarse) {
  .wb-motion-press {animation:wb-button-pop 360ms ease-out}
  button:active:not(:disabled),a:active,[role=button]:active {filter:brightness(.97)}
  .product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover,.help-card:hover,.profile-card:hover,.contact-card:hover {transform:none}
}
.wb-motion-reveal {backface-visibility:hidden}
.wb-motion-active .wb-motion-reveal.wb-is-visible {will-change:opacity,transform}
@media (max-width:700px) {
  body.wb-motion-active .wb-motion-reveal {transition-duration:420ms}
  body.wb-motion-enter main>* {animation-duration:480ms}
}
@media (min-width:701px) {
  body.wb-motion-active .page-grid>.wb-motion-reveal:nth-child(4n+2),
  body.wb-motion-active .product-grid>.wb-motion-reveal:nth-child(4n+2) {transition-delay:45ms}
  body.wb-motion-active .page-grid>.wb-motion-reveal:nth-child(4n+3),
  body.wb-motion-active .product-grid>.wb-motion-reveal:nth-child(4n+3) {transition-delay:85ms}
  body.wb-motion-active .page-grid>.wb-motion-reveal:nth-child(4n),
  body.wb-motion-active .product-grid>.wb-motion-reveal:nth-child(4n) {transition-delay:125ms}
}


/* Refined signature loading + restored page-intro motion. */
.wb-page-progress{position:fixed;z-index:9999;top:0;left:0;width:100%;height:3px;pointer-events:none;opacity:0;background:rgba(196,154,88,.14);transition:opacity 220ms ease}
.wb-page-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#9e805e,#d5bd91,#9e805e);box-shadow:0 0 10px rgba(196,154,88,.38);transition:width 680ms cubic-bezier(.18,.78,.22,1)}
.wb-page-progress.wb-progress-active{opacity:1}.wb-page-progress.wb-progress-active span{width:78%}.wb-page-progress.wb-progress-done{opacity:0}.wb-page-progress.wb-progress-done span{width:100%}
body.wb-motion-enter main>*,body.wb-motion-enter footer{animation:wb-page-section-arrive 680ms var(--wb-motion-ease) both}
body.wb-motion-enter main>*:nth-child(2){animation-delay:65ms}body.wb-motion-enter main>*:nth-child(3){animation-delay:115ms}body.wb-motion-enter main>*:nth-child(4){animation-delay:165ms}
@keyframes wb-page-section-arrive{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-art img{animation:wb-hero-image-arrive 900ms cubic-bezier(.18,.78,.22,1) both}
@keyframes wb-hero-image-arrive{from{opacity:0;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
.wb-is-loading{position:relative;display:flex;align-items:center;gap:10px;min-height:34px;color:var(--muted,#68736d)}
.wb-is-loading::before{content:"";width:15px;height:15px;flex:0 0 15px;border:2px solid rgba(158,128,94,.22);border-top-color:#9e805e;border-radius:50%;animation:wb-loading-spin 760ms linear infinite}
.wb-is-loading::after{content:"";position:absolute;left:26px;right:0;bottom:0;height:1px;transform-origin:left;background:linear-gradient(90deg,transparent,rgba(196,154,88,.42),transparent);animation:wb-loading-sheen 1.45s ease-in-out infinite}
@keyframes wb-loading-spin{to{transform:rotate(360deg)}}
@keyframes wb-loading-sheen{0%{transform:scaleX(.12);opacity:.2}50%{transform:scaleX(1);opacity:.8}100%{transform:scaleX(.12);opacity:.2}}
.wb-image-loading{position:relative;isolation:isolate;background:linear-gradient(105deg,#eeeee8 25%,#f8f7f2 38%,#e9e9e1 52%,#eeeee8 70%);background-size:220% 100%;animation:wb-image-skeleton 1.35s ease-in-out infinite;overflow:hidden}
.wb-image-loading img{opacity:0!important}
.wb-image-loading img.wb-image-loaded{opacity:1!important;animation:wb-image-settle 460ms var(--wb-motion-ease) both}
.wb-image-loading:has(img.wb-image-loaded){animation:none;background:transparent}
@keyframes wb-image-skeleton{to{background-position-x:-220%}}
@keyframes wb-image-settle{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.wb-motion-active .hero-copy .eyebrow{animation:wb-eyebrow-in 700ms 180ms both}
.wb-motion-active .hero-copy h1{animation:wb-heading-in 760ms 240ms both}
.wb-motion-active .hero-copy .hero-text{animation:wb-heading-in 720ms 320ms both}
.wb-motion-active .hero-copy .primary-link{animation:wb-button-arrive 650ms 400ms both}
@keyframes wb-eyebrow-in{from{opacity:0;letter-spacing:5px}to{opacity:1;letter-spacing:2.2px}}
@keyframes wb-heading-in{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes wb-button-arrive{from{opacity:0;transform:translate3d(0,10px,0) scale(.97)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media (hover:hover) and (pointer:fine){.hero-art:hover img{transform:scale(1.035);transition:transform 800ms var(--wb-motion-ease)}}
@media(prefers-reduced-motion:reduce){.wb-page-progress,.wb-is-loading::before,.wb-is-loading::after,.wb-image-loading,.hero-art img,.wb-motion-active .hero-copy .eyebrow,.wb-motion-active .hero-copy h1,.wb-motion-active .hero-copy .hero-text,.wb-motion-active .hero-copy .primary-link{animation:none!important;transition:none!important}.wb-is-loading::before{display:none}.wb-image-loading{background:transparent}.wb-image-loading img{opacity:1!important}}


/* Westburry expanded interaction layer — consistent, restrained motion on every page. */
body.wb-motion-active .wb-motion-reveal{will-change:opacity,transform}
body.wb-motion-active .wb-motion-reveal.wb-is-visible{will-change:auto}
.section-heading>* , .about-section>* , .help-section>* , .trust-strip>* , .hero-note , .detail-information>* , .product-detail-page>* , .cart-layout>* , .profile-layout>* {transition:transform 380ms var(--wb-motion-ease),opacity 380ms ease}
@media (hover:hover) and (pointer:fine){
  .trust-strip span:hover,.hero-note:hover,.eyebrow:hover{transform:translateY(-2px);transition:transform 220ms ease}
  .section-heading h2,.about-section h2,.help-section h2{transition:letter-spacing 300ms ease,transform 300ms var(--wb-motion-ease)}
  .section-heading h2:hover,.about-section h2:hover,.help-section h2:hover{letter-spacing:.015em;transform:translateY(-2px)}
  a:not(.primary-link):not(.solid-action):not(.page-action):not(.product-card):not(.category-product-card):not(.resale-card){transition:color 220ms ease,opacity 220ms ease,transform 220ms var(--wb-motion-ease)}
  main a:not(.primary-link):not(.solid-action):not(.page-action):hover{transform:translateY(-1px)}
  .faq-item,.accordion-item,.policy-section,.contact-card,.detail-spec-panel,.individual-review-card,.review-summary,.form-field,.form-row,.account-section,.account-panel,.empty-state{transition:transform 280ms var(--wb-motion-ease),box-shadow 280ms ease,border-color 280ms ease}
  .faq-item:hover,.accordion-item:hover,.contact-card:hover,.individual-review-card:hover,.detail-spec-panel:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,37,29,.08)}
  .category-jump a,.category-chip,.filter-chip,.filter-button,.tab-button,.sort-control{transition:transform 200ms var(--wb-motion-ease),background-color 220ms ease,color 220ms ease,box-shadow 220ms ease}
  .category-jump a:hover,.category-chip:hover,.filter-chip:hover,.filter-button:hover,.tab-button:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(20,37,29,.09)}
  .site-header .brand img,footer .brand img{transition:transform 320ms var(--wb-motion-ease),filter 320ms ease}
  .site-header .brand:hover img,footer .brand:hover img{transform:scale(1.04);filter:drop-shadow(0 5px 8px rgba(20,37,29,.12))}
}
button:disabled,[aria-disabled="true"]{cursor:not-allowed}
button:not(:disabled)::before,.solid-action::before,.primary-link::before,.page-action::before{transition:opacity 220ms ease}
input:focus-visible,select:focus-visible,textarea:focus-visible{transform:translateY(-1px)}
.wb-is-loading{min-height:42px;padding:8px 0;font-weight:500;letter-spacing:.01em}
.wb-is-loading::before{width:17px;height:17px;flex-basis:17px;border-width:2px;box-shadow:0 0 0 4px rgba(196,154,88,.08),0 0 14px rgba(196,154,88,.12)}
.wb-is-loading::after{height:2px;bottom:-3px;left:0;border-radius:9px}
.wb-is-loading{animation:wb-status-pulse 1.6s ease-in-out infinite}
@keyframes wb-status-pulse{0%,100%{opacity:.72}50%{opacity:1}}
/* Small animated placeholders while product data is genuinely pending. */
.shop-section:has(#status.wb-is-loading) #productGrid:empty{min-height:clamp(120px,18vw,210px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shop-section:has(#status.wb-is-loading) #productGrid:empty::before{content:"";grid-column:1/-1;display:block;min-height:clamp(120px,18vw,210px);border-radius:14px;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.72) 42%,transparent 64%),linear-gradient(#efeee8 0 0);background-size:220% 100%,100% 100%;animation:wb-skeleton-sweep 1.35s ease-in-out infinite}
@keyframes wb-skeleton-sweep{to{background-position-x:-220%,0}}
@media(max-width:700px){.shop-section:has(#status.wb-is-loading) #productGrid:empty{min-height:130px;grid-template-columns:1fr}.shop-section:has(#status.wb-is-loading) #productGrid:empty::before{min-height:130px}}
@media(prefers-reduced-motion:reduce){.wb-is-loading,.wb-is-loading::before,.wb-is-loading::after,.shop-section:has(#status.wb-is-loading) #productGrid:empty::before{animation:none!important;transition:none!important;transform:none!important}}

/* Calm ordered first reveal: sections enter as a unit; nested headings do not hide independently. */
body.wb-motion-enter main>*,body.wb-motion-enter footer{animation:wb-page-section-arrive 560ms cubic-bezier(.18,.78,.22,1) both!important}
body.wb-motion-enter main>*:nth-child(2){animation-delay:70ms!important}
body.wb-motion-enter main>*:nth-child(3){animation-delay:140ms!important}
body.wb-motion-enter main>*:nth-child(4){animation-delay:210ms!important}
body.wb-motion-enter main>*:nth-child(n+5){animation-delay:260ms!important}
body.wb-motion-active .wb-motion-reveal{transition-duration:420ms!important}
body.wb-motion-active .wb-motion-reveal:nth-child(3n+2),body.wb-motion-active .wb-motion-reveal:nth-child(3n){transition-delay:0ms!important}
body.wb-motion-active .product-grid>.wb-motion-reveal,body.wb-motion-active .page-grid>.wb-motion-reveal,body.wb-motion-active .category-grid>.wb-motion-reveal,body.wb-motion-active .category-product-grid>.wb-motion-reveal{transition-delay:35ms!important}
@media(max-width:700px){body.wb-motion-enter main>*{animation-duration:440ms!important}body.wb-motion-enter main>*:nth-child(n+3){animation-delay:110ms!important}body.wb-motion-active .wb-motion-reveal{transform:translate3d(0,10px,0)}}
@media(prefers-reduced-motion:reduce){body.wb-motion-enter main>*,body.wb-motion-enter footer{animation:none!important;opacity:1!important;transform:none!important}}

/* Minimal reveal: one gentle page fade; no stacked child/card entrance animations. */
@keyframes wb-clean-page-fade{from{opacity:.94}to{opacity:1}}
body.wb-motion-enter{animation:wb-clean-page-fade 420ms ease both!important}
body.wb-motion-enter main>*,body.wb-motion-enter footer{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
body.wb-motion-active .wb-motion-reveal{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}
body.wb-motion-active .hero-copy .eyebrow,body.wb-motion-active .hero-copy h1,body.wb-motion-active .hero-copy .hero-text,body.wb-motion-active .hero-copy .primary-link{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){body.wb-motion-enter{animation:none!important}}

/* Mobile viewport safety: prevent content containers from shrinking into a narrow column. */
@media (max-width:700px) {
  html,body { width:100%; max-width:100%; min-width:320px; overflow-x:hidden; }
  body > header, body > main, body > footer { width:100%; max-width:100%; min-width:0; }
  main.page-shell, .hero, .shop-section, .about-section, .help-section { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
  .hero > *, .shop-section > *, .about-section > *, .help-section > * { min-width:0; }
}

/* Final mobile width guard — loaded after page styles */
@media (max-width:700px) {
  html, body { width:100% !important; max-width:100% !important; min-width:0 !important; overflow-x:hidden !important; }
  body { display:block !important; }
  body > main, main, main.page-shell { display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box !important; }
  .page-shell { padding-left:4vw !important; padding-right:4vw !important; }
  .page-shell > *, .page-intro, .page-toolbar { min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }
  #storeGrid.page-grid, .page-shell > .page-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; width:100% !important; max-width:100% !important; min-width:0 !important; }
  .page-grid:not(#storeGrid) > *, .category-product-grid > * { min-width:0 !important; max-width:100% !important; width:auto !important; }
  #storeGrid.wb-virtual-grid > .wb-virtual-card { min-width:0 !important; max-width:none !important; }
  .category-product-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; width:100% !important; }
  .page-toolbar { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,.72fr) !important; gap:8px !important; }
  .page-toolbar input, .page-toolbar select { width:100% !important; min-width:0 !important; }
}


/* Signature Westburry motion: tactile controls, fluid cart flight and soft feedback. */
.wb-bag-flight{position:fixed;z-index:100000;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#d8bd8d,#a9824e);color:#fff;font:700 19px/1 system-ui;box-shadow:0 12px 32px rgba(24,39,29,.24);pointer-events:none;will-change:transform,opacity}
.wb-bag-success{animation:wb-bag-button 760ms cubic-bezier(.2,.9,.24,1.2)!important}
@keyframes wb-bag-button{0%{transform:scale(1);opacity:1;filter:none}18%{transform:scale(.96,.88);filter:brightness(1.08)}48%{transform:scale(.72,.12);opacity:.12;filter:blur(1px)}72%{transform:scale(1.08,1.08);opacity:1;filter:none}88%{transform:scale(.97)}100%{transform:scale(1)}}
.wb-bag-pop{animation:wb-bag-icon-pop 620ms cubic-bezier(.2,1.4,.35,1)!important;transform-origin:center}
@keyframes wb-bag-icon-pop{0%{transform:scale(1)}35%{transform:scale(1.24) rotate(-5deg)}62%{transform:scale(.92) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
.wb-count-pop{animation:wb-count-pop 520ms cubic-bezier(.2,1.5,.35,1)!important;display:inline-block}
@keyframes wb-count-pop{0%{transform:scale(1)}42%{transform:scale(1.55)}72%{transform:scale(.88)}100%{transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.product-card,.page-card,.category-product-card,.resale-card,.help-card,.contact-card,.faq-item,.accordion-item{transition:transform 420ms cubic-bezier(.18,.78,.22,1),box-shadow 420ms ease,border-color 300ms ease}.product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover,.help-card:hover{transform:translateY(-7px) scale(1.012);box-shadow:0 20px 42px rgba(20,37,29,.16)}.product-image img,.category-product-image img,.product-gallery-main img{transition:transform 700ms cubic-bezier(.18,.78,.22,1),filter 500ms ease}.product-card:hover .product-image img,.category-product-card:hover .category-product-image img{transform:scale(1.075)}}
button:not(:disabled),a,[role=button],select{transition:transform 240ms cubic-bezier(.18,.78,.22,1),box-shadow 240ms ease,background-color 240ms ease}
button:active:not(:disabled),a:active,[role=button]:active{transform:scale(.965)}
input:focus,select:focus,textarea:focus{transition:box-shadow 220ms ease,border-color 220ms ease}
.site-header .nav-cart,.site-header .session-link,.site-header .brand{transition:transform 260ms cubic-bezier(.18,.78,.22,1)}
.site-header .nav-cart:active,.site-header .session-link:active{transform:scale(.92)}
@media(prefers-reduced-motion:reduce){.wb-bag-flight,.wb-bag-success,.wb-bag-pop,.wb-count-pop{animation:none!important;transition:none!important}.wb-bag-flight{display:none!important}}

/* Live bag count and responsive remove-item control */
.site-header #cartCount{display:inline-grid;place-items:center;min-width:1.55em;height:1.55em;padding:0 .32em;margin-left:3px;border-radius:999px;background:#c4a36f;color:#17231e;font-size:.78em;font-weight:750;line-height:1;vertical-align:middle;transform-origin:center}
.site-header #cartCount.wb-count-pop{animation:wb-count-pop 520ms cubic-bezier(.2,1.5,.35,1)!important}
.wb-remove-item{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:10px;padding:8px 13px;border:1px solid rgba(151,76,61,.24);border-radius:999px;background:rgba(151,76,61,.055);color:#914c40;font:600 12px/1.1 system-ui,sans-serif;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;touch-action:manipulation}
.wb-remove-item:hover{background:#914c40;color:#fff;border-color:#914c40;box-shadow:0 7px 18px rgba(145,76,64,.17);transform:translateY(-1px)}
.wb-remove-item:active{transform:scale(.95)}
.wb-remove-icon{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#914c40;color:#fff;font-size:17px;line-height:1}
.wb-remove-item.wb-remove-pending{background:#914c40;color:#fff;pointer-events:none;opacity:.8}
.wb-remove-item.wb-remove-pending .wb-remove-icon{animation:wb-remove-spin 650ms linear infinite}
@keyframes wb-remove-spin{to{transform:rotate(180deg)}}
.cart-line-removing{pointer-events:none}
@media(max-width:700px){.wb-remove-item{min-height:42px;padding:9px 14px;font-size:12px}.cart-line .wb-remove-item{width:max-content;max-width:100%}}
@media(prefers-reduced-motion:reduce){.wb-remove-item,.site-header #cartCount{transition:none!important;animation:none!important}.wb-remove-item.wb-remove-pending .wb-remove-icon{animation:none!important}}

/* Smoother, longer liquid cart interactions — tuned for clear visibility on touch screens. */
.wb-bag-flight{width:48px;height:48px;box-shadow:0 15px 38px rgba(24,39,29,.28),0 0 0 7px rgba(196,154,88,.13);will-change:transform,opacity,filter;contain:layout style}
.wb-bag-success{animation:wb-bag-button-liquid 1120ms cubic-bezier(.16,.78,.18,1)!important;transform-origin:center}
@keyframes wb-bag-button-liquid{0%{transform:scale(1);opacity:1;filter:blur(0)}18%{transform:scale(1.025,.94);filter:brightness(1.08)}38%{transform:scale(.94,.82);filter:brightness(1.12)}55%{transform:scale(.99,1.04);filter:blur(.15px)}72%{transform:scale(1.035,.97);filter:none}88%{transform:scale(.99,1.015)}100%{transform:scale(1);opacity:1;filter:none}}
.wb-remove-liquid-flight{position:fixed;z-index:100001;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 32% 26%,#e4a69a,#914c40 72%);color:#fff;font:700 24px/1 system-ui;box-shadow:0 10px 28px rgba(100,45,37,.25);pointer-events:none;will-change:transform,opacity;contain:layout style}
.wb-remove-item.wb-remove-pending{position:relative;overflow:hidden;box-shadow:0 0 0 4px rgba(145,76,64,.09);transition:background .22s ease,box-shadow .22s ease}
.wb-remove-item.wb-remove-pending .wb-remove-icon{animation:wb-remove-liquid-pulse 620ms cubic-bezier(.2,.9,.24,1) infinite alternate}
@keyframes wb-remove-liquid-pulse{from{transform:scale(.84) rotate(-12deg);border-radius:50%}to{transform:scale(1.12) rotate(12deg);border-radius:38% 62% 50% 50%}}
.cart-line-removing{will-change:opacity,transform,filter;transform-origin:center left}
@media(max-width:700px){.wb-bag-flight{width:46px;height:46px}.wb-remove-liquid-flight{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.wb-remove-liquid-flight{display:none!important}.wb-remove-item.wb-remove-pending .wb-remove-icon{animation:none!important}}


/* WESTBURRY TRANSITION LOADER — shared by every customer page. */
#wb-intro-loader{
  position:fixed;inset:0;z-index:2147483002;display:grid;place-items:center;
  overflow:hidden;opacity:1;visibility:visible;pointer-events:auto;
  background:radial-gradient(ellipse at 50% 42%,#fffaf0 0%,#f1eada 58%,#e9dfcb 100%);
  color:#17231e;transition:opacity .34s cubic-bezier(.2,.7,.2,1),visibility .34s ease;isolation:isolate;
}
#wb-intro-loader:before{
  content:"";position:absolute;inset:-25%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(196,154,88,.14),transparent 34%);
  animation:wb-loader-glow 3.6s ease-in-out infinite alternate;
}
#wb-intro-loader.wb-intro-exit{opacity:0;visibility:hidden;pointer-events:none}
#wb-intro-loader .wb-intro-inner{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;height:100%;padding:28px 20px;gap:0;text-align:center;
}
.wb-loader-emblem{
  position:relative;display:grid;place-items:center;width:86px;height:86px;margin:0 0 27px;
  border-radius:27px;background:linear-gradient(145deg,#20382c,#111d17);
  color:#d8bc8c;box-shadow:0 18px 46px rgba(24,42,31,.18),inset 0 1px 0 rgba(255,255,255,.16);
  transform:translateZ(0);animation:wb-loader-emblem 1.8s cubic-bezier(.2,.8,.2,1) infinite;
}
.wb-loader-emblem>span{font:500 54px/.9 Georgia,serif;letter-spacing:-5px;padding-right:5px}
.wb-loader-emblem:before{
  content:"";position:absolute;inset:-10px;border:1px solid rgba(176,137,78,.5);
  border-radius:32px;transform:rotate(45deg);animation:wb-loader-orbit 4.8s linear infinite;
}
.wb-loader-emblem:after{
  content:"";position:absolute;top:-14px;right:7px;width:7px;height:7px;border-radius:50%;
  background:#cba66e;box-shadow:0 0 14px rgba(203,166,110,.75);
}
.wb-loader-emblem>i{position:absolute;inset:-16px;border:1px solid rgba(176,137,78,.18);border-radius:34px;transform:rotate(-18deg)}
.wb-loader-wordmark{margin:0;color:#17231e;font:600 16px/1.2 Georgia,serif;letter-spacing:5.5px;text-indent:5.5px}
.wb-loader-caption{margin:12px 0 23px;color:#6e756a;font:500 10px/1.5 system-ui,sans-serif;letter-spacing:1.3px;text-transform:uppercase}
.wb-loader-track{position:relative;width:min(190px,54vw);height:2px;overflow:hidden;border-radius:99px;background:rgba(23,35,30,.12)}
.wb-loader-track>span{display:block;width:38%;height:100%;border-radius:99px;background:linear-gradient(90deg,#9b7545,#e0c699,#9b7545);box-shadow:0 0 12px rgba(196,154,88,.5);animation:wb-loader-scan 1.15s cubic-bezier(.4,0,.2,1) infinite}
#wb-intro-loader.wb-nav-outgoing{animation:wb-loader-arrive .22s cubic-bezier(.2,.7,.2,1) both}
html.wb-intro-pending{background:#f1eada}
html.wb-intro-pending:before{content:"";position:fixed;inset:0;z-index:2147483000;background:#f1eada;pointer-events:all}
html[data-wb-theme="dark"].wb-intro-pending{background:#101712}
html[data-wb-theme="dark"].wb-intro-pending:before{background:#101712}
html[data-wb-theme="dark"] #wb-intro-loader{background:radial-gradient(ellipse at 50% 42%,#1c2a21 0%,#111a15 60%,#0b110e 100%);color:#eee8dc}
html[data-wb-theme="dark"] #wb-intro-loader:before{background:radial-gradient(circle at 50% 50%,rgba(196,154,88,.12),transparent 36%)}
html[data-wb-theme="dark"] .wb-loader-wordmark{color:#eee8dc}
html[data-wb-theme="dark"] .wb-loader-caption{color:#b7b9ad}
html[data-wb-theme="dark"] .wb-loader-track{background:rgba(238,232,220,.16)}
@keyframes wb-loader-scan{0%{transform:translateX(-115%)}100%{transform:translateX(280%)}}
@keyframes wb-loader-orbit{to{transform:rotate(405deg)}}
@keyframes wb-loader-emblem{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}
@keyframes wb-loader-glow{from{transform:scale(.9);opacity:.55}to{transform:scale(1.08);opacity:1}}
@keyframes wb-loader-arrive{from{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){
  #wb-intro-loader .wb-intro-inner{padding:22px 16px}
  .wb-loader-emblem{width:78px;height:78px;border-radius:24px;margin-bottom:24px}
  .wb-loader-emblem>span{font-size:49px}
  .wb-loader-wordmark{font-size:15px;letter-spacing:4.6px;text-indent:4.6px}
  .wb-loader-caption{font-size:9px;letter-spacing:1px}
}
@media(prefers-reduced-motion:reduce){
  #wb-intro-loader:before,.wb-loader-emblem,.wb-loader-emblem:before,.wb-loader-track>span{animation:none!important}
  #wb-intro-loader.wb-nav-outgoing{animation:none!important}
  #wb-intro-loader{transition:opacity .12s ease,visibility .12s ease}
}

/* More lively but shorter feedback; touch controls respond immediately. */
:root{--wb-motion-fast:130ms;--wb-motion-base:230ms;--wb-motion-slow:390ms}
button,a,[role=button],select,input[type=button],input[type=submit],input[type=reset]{touch-action:manipulation}
body.wb-motion-enter .site-header{animation:wb-header-arrive .36s cubic-bezier(.18,.78,.22,1) both}
@keyframes wb-header-arrive{from{opacity:.6;transform:translate3d(0,-8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
body.wb-motion-active .wb-motion-reveal:not(.wb-is-visible){
  opacity:0!important;transform:translate3d(0,14px,0) scale(.99)!important;
  transition:opacity .32s cubic-bezier(.18,.78,.22,1),transform .32s cubic-bezier(.18,.78,.22,1)!important;
}
body.wb-motion-active .wb-motion-reveal.wb-is-visible{
  opacity:1!important;transform:translate3d(0,0,0) scale(1)!important;
  transition:opacity .32s cubic-bezier(.18,.78,.22,1),transform .32s cubic-bezier(.18,.78,.22,1)!important;
  will-change:auto!important;
}
body.wb-motion-active .page-grid>.wb-motion-reveal,
body.wb-motion-active .product-grid>.wb-motion-reveal,
body.wb-motion-active .category-grid>.wb-motion-reveal,
body.wb-motion-active .category-product-grid>.wb-motion-reveal{transition-delay:35ms!important}
button:active:not(:disabled),a:active,[role=button]:active{transform:scale(.975)}
.product-card,.category-product-card,.page-card,.resale-card,.help-card,.faq-item,.accordion-item{
  transition:transform .22s cubic-bezier(.18,.78,.22,1),box-shadow .22s ease,border-color .22s ease;
}
@media(hover:hover) and (pointer:fine){
  .product-card:hover,.category-product-card:hover,.page-card:hover,.resale-card:hover,.help-card:hover{
    transform:translate3d(0,-4px,0) scale(1.008);box-shadow:0 14px 30px rgba(20,37,29,.13);
  }
  .product-card:hover .product-image img,.category-product-card:hover .category-product-image img{transform:scale(1.045)}
}
@media(hover:none),(pointer:coarse){
  .product-card:active,.category-product-card:active,.page-card:active,.resale-card:active{transform:scale(.985);transition:transform .12s ease}
  .product-card:hover,.category-product-card:hover,.page-card:hover,.resale-card:hover,.help-card:hover{transform:none;box-shadow:inherit}
}
@media(max-width:700px){
  body.wb-motion-active .wb-motion-reveal:not(.wb-is-visible){transform:translate3d(0,10px,0) scale(.995)!important}
  body.wb-motion-active .wb-motion-reveal{transition-duration:.26s!important}
}
@media(prefers-reduced-motion:reduce){
  body.wb-motion-enter .site-header{animation:none!important}
  body.wb-motion-active .wb-motion-reveal,
  body.wb-motion-active .wb-motion-reveal:not(.wb-is-visible),
  body.wb-motion-active .wb-motion-reveal.wb-is-visible{opacity:1!important;transform:none!important;transition:none!important}
}

/* User-supplied Westburry bag animation: seamless warm-cream loader. */
#wb-intro-loader{background:#f1eada!important;color:#17231e!important}
#wb-intro-loader:before{display:none!important;animation:none!important}
html[data-wb-theme="dark"].wb-intro-pending,html[data-wb-theme="dark"].wb-intro-pending:before{background:#f1eada!important}
html[data-wb-theme="dark"] #wb-intro-loader{background:#f1eada!important;color:#17231e!important}
#wb-intro-loader .wb-intro-inner{gap:0!important}
#wb-intro-loader .wb-intro-video{
  display:block;width:116px;height:116px;max-width:34vw;max-height:34vw;
  aspect-ratio:1/1;object-fit:contain;border:0;border-radius:0;background:#f1eada;
  box-shadow:none;outline:0;flex:0 0 auto;
}
#wb-intro-loader .wb-loader-caption{
  display:block;margin:10px 0 0!important;padding:0!important;
  color:#566052!important;font:500 10px/1.4 system-ui,sans-serif!important;
  letter-spacing:1.2px!important;text-transform:uppercase!important;
}
#wb-intro-loader .wb-loader-emblem,#wb-intro-loader .wb-loader-wordmark,#wb-intro-loader .wb-loader-track{display:none!important}
@media(max-width:600px){
  #wb-intro-loader .wb-intro-video{width:104px;height:104px;max-width:34vw;max-height:34vw}
  #wb-intro-loader .wb-loader-caption{font-size:9px!important;letter-spacing:1px!important}
}
@media(prefers-reduced-motion:reduce){#wb-intro-loader .wb-intro-video{animation:none!important}}
/* Preserve the official tagline's brand casing. */
#wb-intro-loader .wb-loader-caption{text-transform:none!important;letter-spacing:.25px!important}



/* Westburry smooth-catalog system: virtual window + low-cost motion. */
.wb-virtual-grid {
  display: block !important;
  position: relative !important;
  width: 100%;
  min-height: 0 !important;
  overflow: visible;
}
.wb-virtual-grid > .wb-virtual-card {
  position: absolute;
  margin: 0 !important;
  box-sizing: border-box;
  contain: layout style;
  content-visibility: visible !important;
  transition: transform 180ms cubic-bezier(.18,.78,.22,1), box-shadow 180ms ease, border-color 180ms ease;
}
.wb-virtual-grid > .wb-virtual-card.wb-card-enter {
  animation: wb-card-enter 260ms cubic-bezier(.18,.78,.22,1) both;
}
@keyframes wb-card-enter {
  from { opacity: 0; transform: translate3d(0,12px,0) scale(.988); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@media (hover:hover) and (pointer:fine) {
  .wb-virtual-grid > .wb-virtual-card:hover {
    transform: translate3d(0,-4px,0);
    box-shadow: 0 14px 30px rgba(20,37,29,.13);
    border-color: rgba(196,154,88,.48);
  }
  .wb-virtual-grid > .wb-virtual-card .page-card-image img {
    transition: transform 340ms cubic-bezier(.18,.78,.22,1);
  }
  .wb-virtual-grid > .wb-virtual-card:hover .page-card-image img {
    transform: scale(1.035);
  }
}
@media (hover:none), (pointer:coarse) {
  .wb-virtual-grid > .wb-virtual-card:active {
    transform: scale(.994);
  }
}
.wb-virtual-grid .page-card-image {
  position: relative;
  background: #eeeee8;
}
.wb-virtual-grid .page-card-image.wb-image-loading {
  background: linear-gradient(105deg,#eeeee8 24%,#f9f7f0 40%,#e7e6df 54%,#eeeee8 72%);
  background-size: 220% 100%;
  animation: wb-virtual-image-shimmer 1.1s ease-in-out infinite;
}
.wb-virtual-grid .page-card-image.wb-image-loading img {
  opacity: 0;
}
.wb-virtual-grid .page-card-image img.wb-image-loaded {
  animation: wb-virtual-image-in 220ms ease-out both;
}
@keyframes wb-virtual-image-shimmer {
  to { background-position-x: -220%; }
}
@keyframes wb-virtual-image-in {
  from { opacity: 0; transform: scale(1.018); }
  to { opacity: 1; transform: scale(1); }
}
.wb-section-reveal {
  opacity: 0;
  transform: translate3d(0,10px,0);
  transition: opacity 300ms ease, transform 300ms cubic-bezier(.18,.78,.22,1);
}
.wb-section-reveal.wb-section-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}
.wb-page-leaving .site-header,
.wb-page-leaving main,
.wb-page-leaving footer {
  opacity: .92;
  transform: translate3d(0,-2px,0);
  transition: opacity 120ms ease, transform 120ms ease;
}
.wb-nav-overlay {
  animation: wb-nav-overlay-in 160ms ease-out both;
}
.wb-nav-overlay .wb-intro-video {
  width: 104px;
  height: 104px;
  max-width: 34vw;
  max-height: 34vw;
  object-fit: contain;
}
.wb-nav-overlay .wb-loader-caption {
  margin-top: 9px;
  color: #566052;
  font: 500 10px/1.4 system-ui,sans-serif;
  letter-spacing: .25px;
  text-transform: none;
}
@keyframes wb-nav-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.product-card,
.page-card,
.category-product-card,
.resale-card {
  content-visibility: auto;
  contain-intrinsic-size: auto 520px;
}
button:not(:disabled),
a,
[role=button] {
  -webkit-tap-highlight-color: transparent;
}
button:active:not(:disabled),
a:active,
[role=button]:active {
  transition-duration: 90ms !important;
}
@media (max-width:700px) {
  .wb-virtual-grid > .wb-virtual-card {
    border-radius: 6px;
  }
  .wb-section-reveal {
    transition-duration: 240ms;
  }
  .wb-nav-overlay .wb-intro-video {
    width: 96px;
    height: 96px;
  }
  .wb-nav-overlay .wb-loader-caption {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .wb-virtual-grid > .wb-virtual-card,
  .wb-virtual-grid > .wb-virtual-card.wb-card-enter,
  .wb-virtual-grid .page-card-image.wb-image-loading,
  .wb-section-reveal,
  .wb-nav-overlay,
  .wb-page-leaving .site-header,
  .wb-page-leaving main,
  .wb-page-leaving footer {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  .wb-virtual-grid .page-card-image.wb-image-loading {
    background: transparent !important;
  }
}



/* Final responsive loader positioning and quicker success feedback. */
.wb-nav-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483002 !important;
  display: grid !important;
  place-items: center !important;
  width: 100%;
  height: 100%;
  background: #f1eada !important;
  overflow: hidden;
  pointer-events: auto;
}
.wb-nav-overlay .wb-intro-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 24px;
}
.wb-bag-success {
  animation: wb-bag-button-liquid 720ms cubic-bezier(.16,.78,.18,1) !important;
}
@media (max-width:700px) {
  .wb-nav-overlay .wb-intro-video { width: 96px; height: 96px; }
}



/* Hardware-friendly Westburry loader video playback. */
#wb-intro-loader,
.wb-nav-overlay {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
#wb-intro-loader .wb-intro-video,
.wb-nav-overlay .wb-intro-video {
  display: block;
  object-fit: contain;
  background: #f1eada;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
  contain: paint;
  pointer-events: none;
}

/* Westburry loader: instant poster fallback + smooth 60fps video layer. */
#wb-intro-loader .wb-intro-media,.wb-nav-overlay .wb-intro-media{position:relative;display:block;width:116px;height:116px;max-width:34vw;max-height:34vw;aspect-ratio:1/1;overflow:hidden;flex:0 0 auto;background:#f1eada;transform:translate3d(0,0,0);backface-visibility:hidden;-webkit-backface-visibility:hidden}
#wb-intro-loader .wb-intro-poster,#wb-intro-loader .wb-intro-video,.wb-nav-overlay .wb-intro-poster,.wb-nav-overlay .wb-intro-video{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;object-fit:contain;border:0;border-radius:0;background:#f1eada;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#wb-intro-loader .wb-intro-poster,.wb-nav-overlay .wb-intro-poster{z-index:1;opacity:1}
#wb-intro-loader .wb-intro-video,.wb-nav-overlay .wb-intro-video{z-index:2;opacity:0;transform:translate3d(0,0,0);will-change:opacity,transform;transition:opacity 140ms linear;pointer-events:none}
#wb-intro-loader .wb-intro-media.wb-video-playing .wb-intro-video,.wb-nav-overlay .wb-intro-media.wb-video-playing .wb-intro-video{opacity:1}
#wb-intro-loader .wb-intro-media.wb-video-playing .wb-intro-poster,.wb-nav-overlay .wb-intro-media.wb-video-playing .wb-intro-poster{opacity:0}
.wb-nav-overlay .wb-intro-media{width:104px;height:104px}
#wb-intro-loader .wb-loader-caption,.wb-nav-overlay .wb-loader-caption{margin:10px 0 0;color:#566052;font:500 10px/1.4 system-ui,sans-serif;letter-spacing:.25px;text-transform:none}
@media(max-width:600px){#wb-intro-loader .wb-intro-media{width:104px;height:104px}.wb-nav-overlay .wb-intro-media{width:96px;height:96px}#wb-intro-loader .wb-loader-caption,.wb-nav-overlay .wb-loader-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){#wb-intro-loader .wb-intro-video,.wb-nav-overlay .wb-intro-video{display:none!important}#wb-intro-loader .wb-intro-poster,.wb-nav-overlay .wb-intro-poster{opacity:1!important}}
/* Playback-only smoothness tuning; retain the exact supplied loader appearance. */
#wb-intro-loader .wb-intro-video { animation: none !important; transition: none !important; will-change: transform !important; transform: translate3d(0,0,0); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
#wb-intro-loader .wb-intro-media.wb-video-playing .wb-intro-video { opacity: 1 !important; }
#wb-intro-loader .wb-intro-media.wb-video-playing .wb-intro-poster { opacity: 0 !important; transition: none !important; }
.wb-nav-overlay { display: none !important; }
/* Reveal the existing loader artwork only after the video is truly moving. */

@media (prefers-reduced-motion: reduce) {
  #wb-intro-loader .wb-intro-video { display: none !important; }
  #wb-intro-loader .wb-intro-poster { display: block !important; opacity: 1 !important; visibility: visible !important; }
}


/* Start the loader at the beginning of body parsing; reveal video on its first presented frame. */
#wb-intro-loader.wb-intro-preparing .wb-intro-inner { visibility:visible !important; }
#wb-intro-loader.wb-intro-preparing .wb-intro-poster { opacity:0 !important; }
#wb-intro-loader.wb-intro-preparing .wb-intro-video { opacity:0 !important; }


/* Westburry store CTA alignment + lightweight motion */
#storeGrid.wb-virtual-grid .page-card-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 10px 12px !important;
  box-sizing: border-box !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 44px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 9px 5px !important;
  box-sizing: border-box !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  font: 650 11px/1.2 Inter, system-ui, sans-serif !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  cursor: pointer;
  transition: transform 150ms cubic-bezier(.2,.8,.2,1), box-shadow 150ms ease, background-color 150ms ease, border-color 150ms ease !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action:not(.whatsapp-order) {
  background: #172b21 !important;
  color: #fff !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action.whatsapp-order {
  background: #245b43 !important;
  color: #fff !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action:active:not(:disabled) {
  transform: scale(.965) !important;
  box-shadow: 0 2px 6px rgba(20,37,29,.12) !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action:disabled {
  opacity: .72 !important;
  cursor: progress !important;
  transform: none !important;
}
#storeGrid.wb-virtual-grid .page-card-actions > .page-action[aria-busy="true"] {
  position: relative;
  background-image: linear-gradient(100deg,transparent 15%,rgba(255,255,255,.16) 48%,transparent 80%) !important;
  background-size: 220% 100%;
  animation: wb-store-adding-sheen 900ms linear infinite;
}
@keyframes wb-store-adding-sheen {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}
#storeGrid.wb-virtual-grid > .wb-virtual-card.wb-card-enter {
  animation: wb-store-card-arrive 320ms cubic-bezier(.2,.75,.2,1) backwards !important;
}
@keyframes wb-store-card-arrive {
  from { opacity: 0; transform: translate3d(0,9px,0) scale(.99); }
  to { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@media (hover: hover) and (pointer: fine) {
  #storeGrid.wb-virtual-grid > .wb-virtual-card:hover {
    transform: translate3d(0,-3px,0);
    box-shadow: 0 12px 26px rgba(20,37,29,.10);
  }
  #storeGrid.wb-virtual-grid .page-card-actions > .page-action:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 7px 16px rgba(20,37,29,.16);
  }
  #storeGrid.wb-virtual-grid .page-card-image img {
    transition: transform 280ms cubic-bezier(.2,.75,.2,1);
  }
  #storeGrid.wb-virtual-grid > .wb-virtual-card:hover .page-card-image img {
    transform: scale(1.035);
  }
}
@media (max-width: 700px) {
  #storeGrid.wb-virtual-grid .page-card-actions {
    gap: 6px !important;
    padding: 0 8px 9px !important;
  }
  #storeGrid.wb-virtual-grid .page-card-actions > .page-action {
    min-height: 42px !important;
    padding: 8px 3px !important;
    font-size: 10px !important;
    letter-spacing: -.01em;
  }
}
@media (max-width: 360px) {
  #storeGrid.wb-virtual-grid .page-card-actions {
    gap: 5px !important;
    padding: 0 6px 8px !important;
  }
  #storeGrid.wb-virtual-grid .page-card-actions > .page-action {
    min-height: 40px !important;
    padding: 7px 2px !important;
    font-size: 9px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #storeGrid.wb-virtual-grid > .wb-virtual-card.wb-card-enter,
  #storeGrid.wb-virtual-grid .page-card-actions > .page-action[aria-busy="true"] {
    animation: none !important;
  }
  #storeGrid.wb-virtual-grid .page-card-actions > .page-action {
    transition: none !important;
  }
}

/* Westburry joyful loading-caption animation v1 */
#wb-intro-loader .wb-loader-caption {
  position: relative;
  width: fit-content;
  margin: 10px auto 0 !important;
  transform-origin: 50% 50%;
  text-shadow: 0 2px 7px rgba(196,154,88,.16);
  animation: wb-caption-pop 680ms cubic-bezier(.2,1.5,.4,1) both, wb-caption-float 2.4s ease-in-out 680ms infinite;
}
#wb-intro-loader .wb-loader-caption::before,
#wb-intro-loader .wb-loader-caption::after {
  position: absolute;
  top: 50%;
  color: #bd9557;
  font: 700 12px/1 system-ui,sans-serif;
  pointer-events: none;
  transform-origin: 50% 50%;
  animation: wb-caption-twinkle 1.65s ease-in-out infinite;
}
#wb-intro-loader .wb-loader-caption::before {
  content: "✦";
  left: -16px;
}
#wb-intro-loader .wb-loader-caption::after {
  content: "✧";
  right: -16px;
  font-size: 11px;
  animation-delay: 420ms;
}
@keyframes wb-caption-pop {
  0% { opacity: 0; transform: translate3d(0,8px,0) scale(.82); }
  56% { opacity: 1; transform: translate3d(0,-2px,0) scale(1.075); }
  78% { transform: translate3d(0,1px,0) scale(.985); }
  100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
@keyframes wb-caption-float {
  0%,100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(0,-1.5px,0) scale(1.012); }
}
@keyframes wb-caption-twinkle {
  0%,100% { opacity: .35; transform: translate3d(0,-50%,0) scale(.72) rotate(-12deg); }
  50% { opacity: 1; transform: translate3d(0,calc(-50% - 2px),0) scale(1.18) rotate(16deg); }
}
@media (prefers-reduced-motion: reduce) {
  #wb-intro-loader .wb-loader-caption { animation: none !important; transform: none !important; }
  #wb-intro-loader .wb-loader-caption::before,
  #wb-intro-loader .wb-loader-caption::after { display: none !important; animation: none !important; }
}

/* Westburry full-screen loader composition v2 */
#wb-intro-loader .wb-intro-inner { position: relative !important; box-sizing: border-box; min-height: 100svh; min-height: 100dvh; overflow: hidden; isolation: isolate; background-image: radial-gradient(ellipse at 50% 48%, rgba(255,255,255,.54) 0%, rgba(255,255,255,0) 48%), radial-gradient(ellipse at 12% 12%, rgba(214,190,145,.16), transparent 34%), radial-gradient(ellipse at 88% 88%, rgba(180,157,119,.13), transparent 36%); }
#wb-intro-loader .wb-loader-atmosphere { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
#wb-intro-loader .wb-loader-orbit { position: absolute; top: 50%; left: 50%; display: block; width: min(88vw, 900px); aspect-ratio: 1; border: 1px solid rgba(183,145,84,.20); border-radius: 50%; transform: translate(-50%,-50%) scaleY(.66) rotate(-18deg); rotate: 0deg; animation: wb-loader-orbit-turn 24s linear infinite; }
#wb-intro-loader .wb-loader-orbit-one::before, #wb-intro-loader .wb-loader-orbit-two::before { content: ''; position: absolute; top: 12%; left: 18%; width: 8px; height: 8px; border-radius: 50%; background: #c4a16a; box-shadow: 0 0 0 6px rgba(196,161,106,.12), 0 0 18px rgba(196,161,106,.34); }
#wb-intro-loader .wb-loader-orbit-two { width: min(68vw, 700px); border-style: dashed; border-color: rgba(183,145,84,.14); transform: translate(-50%,-50%) scaleY(.72) rotate(38deg); animation-duration: 32s; animation-direction: reverse; }
#wb-intro-loader .wb-loader-orbit-two::before { top: auto; bottom: 13%; left: 76%; width: 5px; height: 5px; }
#wb-intro-loader .wb-loader-spark { position: absolute; display: block; width: 7px; height: 7px; border-radius: 50%; background: #c6a36d; box-shadow: 0 0 0 5px rgba(198,163,109,.10), 0 0 18px rgba(198,163,109,.36); animation: wb-loader-spark-drift 3.8s ease-in-out infinite; }
#wb-intro-loader .wb-loader-spark-one { top: 23%; left: 16%; }
#wb-intro-loader .wb-loader-spark-two { top: 29%; right: 17%; width: 5px; height: 5px; animation-delay: -1.1s; }
#wb-intro-loader .wb-loader-spark-three { bottom: 25%; left: 23%; width: 5px; height: 5px; animation-delay: -.7s; }
#wb-intro-loader .wb-loader-spark-four { right: 20%; bottom: 22%; animation-delay: -1.8s; }
#wb-intro-loader .wb-loader-spark-five { top: 49%; left: 9%; width: 4px; height: 4px; animation-delay: -2.2s; }
#wb-intro-loader .wb-loader-spark-six { top: 57%; right: 10%; width: 4px; height: 4px; animation-delay: -.4s; }
#wb-intro-loader .wb-loader-topline, #wb-intro-loader .wb-loader-footnote { position: absolute; left: 50%; z-index: 2; width: max-content; max-width: calc(100vw - 40px); color: #788071; font: 700 9px/1.3 system-ui,sans-serif; letter-spacing: .24em; text-align: center; text-transform: uppercase; white-space: nowrap; opacity: 0; transform: translate3d(-50%,8px,0); animation: wb-loader-label-in 650ms ease-out 120ms both; }
#wb-intro-loader .wb-loader-topline { top: max(30px, calc(env(safe-area-inset-top) + 18px)); }
#wb-intro-loader .wb-loader-footnote { bottom: max(30px, calc(env(safe-area-inset-bottom) + 18px)); color: #9a8a6d; font-size: 8px; letter-spacing: .22em; animation-delay: 360ms; }
#wb-intro-loader .wb-loader-topline-dot { display: inline-block; padding: 0 7px; color: #bd9557; animation: wb-loader-dot-pulse 1.8s ease-in-out infinite; }
#wb-intro-loader .wb-intro-media { z-index: 1; width: clamp(128px,20vw,184px) !important; height: clamp(128px,20vw,184px) !important; max-width: 48vw !important; max-height: 48vw !important; }
#wb-intro-loader .wb-loader-caption { position: relative; z-index: 2; display: flex !important; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 100%; max-width: calc(100vw - 36px); margin: 18px auto 0 !important; padding: 0 !important; color: #172b21 !important; font: 800 clamp(25px,4.2vw,42px)/.98 system-ui,sans-serif !important; letter-spacing: .055em !important; text-align: center; text-transform: uppercase !important; text-shadow: 0 5px 20px rgba(23,43,33,.08); }
#wb-intro-loader .wb-loader-caption::before, #wb-intro-loader .wb-loader-caption::after { content: none !important; display: none !important; }
#wb-intro-loader .wb-loader-line { display: block; white-space: nowrap; }
#wb-intro-loader .wb-loader-line-one { color: #172b21; animation: wb-loader-title-left 700ms cubic-bezier(.18,.82,.22,1) 120ms both; }
#wb-intro-loader .wb-loader-line-two { color: #a77d43; background: linear-gradient(100deg,#9a7138 0%,#c5a06a 42%,#f0d59d 50%,#b78b4b 58%,#9a7138 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: wb-loader-title-right 760ms cubic-bezier(.18,.82,.22,1) 220ms both, wb-loader-title-shine 3.2s ease-in-out 1.2s infinite; }
#wb-intro-loader .wb-loader-line-two::after { content: ''; display: block; width: 72%; height: 2px; margin: 8px auto 0; border-radius: 9px; background: linear-gradient(90deg,transparent,rgba(190,151,91,.72),transparent); transform: scaleX(0); transform-origin: center; animation: wb-loader-title-underline 700ms cubic-bezier(.18,.82,.22,1) 650ms both; }
@keyframes wb-loader-orbit-turn { to { rotate: 342deg; } }
@keyframes wb-loader-spark-drift { 0%,100% { opacity: .34; transform: translate3d(0,0,0) scale(.78); } 50% { opacity: 1; transform: translate3d(0,-12px,0) scale(1.18); } }
@keyframes wb-loader-label-in { to { opacity: 1; transform: translate3d(-50%,0,0); } }
@keyframes wb-loader-dot-pulse { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes wb-loader-title-left { from { opacity: 0; transform: translate3d(-32px,12px,0) scale(.94); letter-spacing: .14em; } 72% { opacity: 1; transform: translate3d(3px,-2px,0) scale(1.02); } to { opacity: 1; transform: translate3d(0,0,0) scale(1); letter-spacing: .055em; } }
@keyframes wb-loader-title-right { from { opacity: 0; transform: translate3d(32px,12px,0) scale(.94); letter-spacing: .14em; } 72% { opacity: 1; transform: translate3d(-3px,-2px,0) scale(1.02); } to { opacity: 1; transform: translate3d(0,0,0) scale(1); letter-spacing: .055em; } }
@keyframes wb-loader-title-shine { 0%,72%,100% { background-position: 100% 50%; } 34% { background-position: 0% 50%; } }
@keyframes wb-loader-title-underline { to { transform: scaleX(1); } }
@media (max-width: 600px) { #wb-intro-loader .wb-loader-topline { top: max(24px, calc(env(safe-area-inset-top) + 12px)); font-size: 8px; letter-spacing: .18em; } #wb-intro-loader .wb-loader-footnote { bottom: max(24px, calc(env(safe-area-inset-bottom) + 12px)); font-size: 7px; letter-spacing: .16em; } #wb-intro-loader .wb-intro-media { width: clamp(120px,34vw,154px) !important; height: clamp(120px,34vw,154px) !important; max-width: 48vw !important; max-height: 48vw !important; } #wb-intro-loader .wb-loader-caption { margin-top: 16px !important; font-size: clamp(25px,7.4vw,34px) !important; gap: 3px; } #wb-intro-loader .wb-loader-orbit-one { width: 116vw; } #wb-intro-loader .wb-loader-orbit-two { width: 88vw; } #wb-intro-loader .wb-loader-spark-five { left: 5%; } #wb-intro-loader .wb-loader-spark-six { right: 5%; } }
@media (max-height: 560px) { #wb-intro-loader .wb-loader-topline { top: max(14px, calc(env(safe-area-inset-top) + 6px)); } #wb-intro-loader .wb-loader-footnote { bottom: max(14px, calc(env(safe-area-inset-bottom) + 6px)); } #wb-intro-loader .wb-intro-media { width: 104px !important; height: 104px !important; } #wb-intro-loader .wb-loader-caption { margin-top: 10px !important; font-size: 24px !important; } }
@media (prefers-reduced-motion: reduce) { #wb-intro-loader .wb-loader-orbit, #wb-intro-loader .wb-loader-spark, #wb-intro-loader .wb-loader-topline, #wb-intro-loader .wb-loader-footnote, #wb-intro-loader .wb-loader-line, #wb-intro-loader .wb-loader-line-two::after { animation: none !important; transition: none !important; } #wb-intro-loader .wb-loader-topline, #wb-intro-loader .wb-loader-footnote, #wb-intro-loader .wb-loader-line { opacity: 1 !important; transform: none !important; } #wb-intro-loader .wb-loader-line-two { background: none !important; -webkit-text-fill-color: #a77d43 !important; } #wb-intro-loader .wb-loader-line-two::after { transform: none !important; } }

/* Westburry loader headline sizing and video-start retry v3 */
/* Keep the approved full-screen background; only bring the two-line headline down in scale. */
#wb-intro-loader .wb-loader-caption { font-size: clamp(22px,3.2vw,34px) !important; gap: 3px !important; }
@media (max-width:600px) { #wb-intro-loader .wb-loader-caption { font-size: clamp(20px,5.8vw,27px) !important; gap: 2px !important; } }

/* Westburry compact loader caption v4 */
#wb-intro-loader .wb-loader-caption { font-size: clamp(18px,2.6vw,27px) !important; gap: 2px !important; }
@media (max-width:600px) { #wb-intro-loader .wb-loader-caption { font-size: clamp(16px,4.8vw,21px) !important; gap: 1px !important; } }

/* Westburry single-line loader caption + quick motion v5 */
/* One stable inline caption: no competing split-line transforms or staggered reveals. */
#wb-intro-loader .wb-loader-caption { display:block !important; width:max-content !important; max-width:calc(100vw - 36px) !important; margin:13px auto 0 !important; padding:0 !important; overflow:visible; font-size:10px !important; line-height:1.25 !important; letter-spacing:.12em !important; text-align:center !important; white-space:nowrap !important; }
#wb-intro-loader .wb-loader-line-single { display:flex !important; flex-direction:row !important; align-items:center; justify-content:center; gap:.52em; width:max-content; max-width:100%; white-space:nowrap; opacity:0; transform:translate3d(0,6px,0) scale(.985); transform-origin:center; will-change:opacity,transform; animation:wb-loader-caption-single-in 360ms cubic-bezier(.2,.78,.22,1) 50ms both !important; }
#wb-intro-loader .wb-loader-copy-primary { display:inline; color:#172b21 !important; }
#wb-intro-loader .wb-loader-copy-accent { display:inline; color:#a77d43 !important; background:none !important; -webkit-text-fill-color:#a77d43 !important; }
@keyframes wb-loader-caption-single-in { 0% { opacity:0; transform:translate3d(0,6px,0) scale(.985); } 76% { opacity:1; transform:translate3d(0,-1px,0) scale(1.008); } 100% { opacity:1; transform:translate3d(0,0,0) scale(1); } }
/* Quicker background motion and a shorter loader exit; colors and composition stay unchanged. */
#wb-intro-loader { transition:opacity 200ms ease,visibility 200ms ease !important; }
#wb-intro-loader .wb-loader-orbit-one { animation-duration:14s !important; }
#wb-intro-loader .wb-loader-orbit-two { animation-duration:19s !important; }
#wb-intro-loader .wb-loader-spark { animation-duration:2.6s !important; }
#wb-intro-loader .wb-loader-topline { animation-duration:420ms !important; animation-delay:40ms !important; }
#wb-intro-loader .wb-loader-footnote { animation-duration:420ms !important; animation-delay:140ms !important; }
@media (max-width:600px) {
  #wb-intro-loader .wb-loader-caption { margin-top:11px !important; font-size:9px !important; letter-spacing:.095em !important; }
  #wb-intro-loader .wb-loader-line-single { gap:.42em; }
}
@media (prefers-reduced-motion:reduce) {
  #wb-intro-loader .wb-loader-line-single { animation:none !important; opacity:1 !important; transform:none !important; will-change:auto !important; }
  #wb-intro-loader .wb-loader-orbit-one, #wb-intro-loader .wb-loader-orbit-two, #wb-intro-loader .wb-loader-spark, #wb-intro-loader .wb-loader-topline, #wb-intro-loader .wb-loader-footnote { animation:none !important; }
}

/* Westburry video-matched cream and gold loader motion v6 */
/* Match the custom bag animation: warm cream field, forest-green center, one sweeping gold loop and star glints. */
#wb-intro-loader { background:#f1eada !important; color:#172b21 !important; }
#wb-intro-loader .wb-intro-inner { background-color:#f1eada !important; background-image:radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.20) 0%,rgba(255,255,255,0) 58%) !important; }
#wb-intro-loader .wb-loader-orbit-one {
  top:50% !important; left:50% !important; width:min(92vw,560px) !important; height:min(40vw,230px) !important; aspect-ratio:auto !important;
  border:0 !important; border-radius:50% !important;
  background:linear-gradient(105deg,transparent 2%,rgba(177,127,54,.12) 10%,rgba(190,143,66,.66) 22%,rgba(218,177,99,.92) 43%,rgba(231,197,128,.76) 62%,rgba(183,131,58,.68) 82%,transparent 98%) !important;
  -webkit-mask:radial-gradient(ellipse 50% 50% at 50% 50%,transparent 61%,#000 62.2%,#000 63.5%,transparent 64.7%) !important;
  mask:radial-gradient(ellipse 50% 50% at 50% 50%,transparent 61%,#000 62.2%,#000 63.5%,transparent 64.7%) !important;
  transform:translate(-50%,-50%) rotate(-13deg) scaleY(.50) !important;
  opacity:.86; animation:wb-video-gold-sweep 7.5s ease-in-out infinite !important;
}
#wb-intro-loader .wb-loader-orbit-two { display:none !important; }
#wb-intro-loader .wb-loader-orbit-one::before {
  top:31% !important; left:15% !important; width:12px !important; height:12px !important; border-radius:0 !important;
  clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%) !important;
  background:#c49a55 !important; box-shadow:0 0 0 5px rgba(196,154,85,.10),0 0 16px rgba(196,154,85,.48) !important;
  animation:wb-video-star-glint 2.4s ease-in-out infinite !important;
}
#wb-intro-loader .wb-loader-orbit-one::after {
  content:''; position:absolute; top:69%; right:16%; width:8px; height:8px; display:block;
  clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%);
  background:#d5ad69; box-shadow:0 0 13px rgba(196,154,85,.44);
  animation:wb-video-star-glint 2.8s ease-in-out -1.1s infinite;
}
#wb-intro-loader .wb-loader-spark {
  width:8px !important; height:8px !important; border-radius:0 !important;
  clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%) !important;
  background:#c49a55 !important; box-shadow:0 0 12px rgba(196,154,85,.40) !important;
  animation:wb-video-star-glint 2.6s ease-in-out infinite !important;
}
#wb-intro-loader .wb-loader-spark-one { top:35% !important; left:24% !important; width:9px !important; height:9px !important; }
#wb-intro-loader .wb-loader-spark-two { top:34% !important; right:24% !important; width:7px !important; height:7px !important; animation-delay:-.7s !important; }
#wb-intro-loader .wb-loader-spark-three { bottom:34% !important; left:29% !important; width:6px !important; height:6px !important; animation-delay:-1.3s !important; }
#wb-intro-loader .wb-loader-spark-four { right:28% !important; bottom:34% !important; width:8px !important; height:8px !important; animation-delay:-1.9s !important; }
#wb-intro-loader .wb-loader-spark-five { top:49% !important; left:11% !important; width:5px !important; height:5px !important; animation-delay:-.9s !important; }
#wb-intro-loader .wb-loader-spark-six { top:53% !important; right:11% !important; width:5px !important; height:5px !important; animation-delay:-1.6s !important; }
/* One calm caption entrance, followed by a restrained golden shimmer on the second phrase. */
#wb-intro-loader .wb-loader-line-single {
  position:relative !important; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important;
  gap:.48em !important; white-space:nowrap !important; opacity:0;
  transform:translate3d(0,5px,0) scale(.99);
  animation:wb-video-caption-arrive 520ms cubic-bezier(.2,.78,.22,1) 80ms both !important;
}
#wb-intro-loader .wb-loader-copy-primary {
  color:#172b21 !important; -webkit-text-fill-color:#172b21 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.22);
}
#wb-intro-loader .wb-loader-copy-accent {
  color:#a77d43 !important;
  background:linear-gradient(100deg,#9c733b 0%,#bd9456 38%,#f0d9a8 50%,#b78a49 62%,#9c733b 100%) !important;
  background-size:220% 100% !important; background-position:100% 50%;
  -webkit-background-clip:text !important; background-clip:text !important;
  -webkit-text-fill-color:transparent !important;
  animation:wb-video-caption-shine 2.8s ease-in-out 620ms infinite !important;
}
#wb-intro-loader .wb-loader-line-single::after {
  content:''; position:absolute; left:24%; right:24%; bottom:-5px; height:1px; display:block;
  background:linear-gradient(90deg,transparent,rgba(190,145,72,.72),transparent);
  transform:scaleX(.25); transform-origin:center; opacity:.5;
  animation:wb-video-caption-rule 2.2s ease-in-out 450ms infinite;
}
@keyframes wb-video-gold-sweep {
  0%,100% { transform:translate(-50%,-50%) rotate(-14deg) scaleY(.48); opacity:.70; }
  50% { transform:translate(-50%,-50%) rotate(-9deg) scaleY(.53); opacity:.98; }
}
@keyframes wb-video-star-glint {
  0%,100% { opacity:.46; transform:scale(.78) rotate(-8deg); }
  50% { opacity:1; transform:scale(1.16) rotate(8deg); }
}
@keyframes wb-video-caption-arrive {
  0% { opacity:0; transform:translate3d(0,5px,0) scale(.99); }
  72% { opacity:1; transform:translate3d(0,-1px,0) scale(1.006); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes wb-video-caption-shine {
  0%,72%,100% { background-position:100% 50%; }
  36% { background-position:0% 50%; }
}
@keyframes wb-video-caption-rule {
  0%,100% { transform:scaleX(.25); opacity:.3; }
  50% { transform:scaleX(1); opacity:.78; }
}
@media (max-width:600px) {
  #wb-intro-loader .wb-loader-orbit-one { width:108vw !important; height:42vw !important; }
  #wb-intro-loader .wb-loader-spark-five { left:7% !important; }
  #wb-intro-loader .wb-loader-spark-six { right:7% !important; }
  #wb-intro-loader .wb-loader-line-single { gap:.42em !important; }
}
@media (prefers-reduced-motion:reduce) {
  #wb-intro-loader .wb-loader-orbit-one, #wb-intro-loader .wb-loader-orbit-one::before, #wb-intro-loader .wb-loader-orbit-one::after,
  #wb-intro-loader .wb-loader-spark, #wb-intro-loader .wb-loader-line-single,
  #wb-intro-loader .wb-loader-copy-accent, #wb-intro-loader .wb-loader-line-single::after {
    animation:none !important; transition:none !important; transform:none !important;
  }
  #wb-intro-loader .wb-loader-line-single { opacity:1 !important; }
  #wb-intro-loader .wb-loader-copy-accent { background:none !important; -webkit-text-fill-color:#a77d43 !important; }
}


/* Westburry responsive interaction layer v2 — scroll reveals, touch feedback and gentle depth. */
body.wb-motion-active .wb-motion-reveal {
  opacity: 0;
  transform: translate3d(0,18px,0) scale(.992);
  transition: opacity 440ms cubic-bezier(.18,.78,.22,1), transform 440ms cubic-bezier(.18,.78,.22,1);
}
body.wb-motion-active .wb-motion-reveal.wb-is-visible {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}
body.wb-motion-active .wb-motion-reveal:nth-child(4n+2) { transition-delay: 35ms; }
body.wb-motion-active .wb-motion-reveal:nth-child(4n+3) { transition-delay: 65ms; }
body.wb-motion-active .wb-motion-reveal:nth-child(4n) { transition-delay: 95ms; }

.wb-motion-tilt {
  transform-style: preserve-3d;
  transition: transform 300ms cubic-bezier(.18,.78,.22,1), box-shadow 300ms ease;
}
body.wb-motion-active .wb-motion-tilt.wb-is-visible:hover {
  transform: translate3d(0,-5px,0) perspective(900px) rotateX(var(--wb-tilt-x,0deg)) rotateY(var(--wb-tilt-y,0deg)) !important;
  box-shadow: 0 20px 42px rgba(20,37,29,.15);
}
.wb-motion-tilt .page-card-image,
.wb-motion-tilt .product-image,
.wb-motion-tilt .category-product-image {
  overflow: hidden;
}
.wb-motion-tilt .page-card-image img,
.wb-motion-tilt .product-image img,
.wb-motion-tilt .category-product-image img {
  transition: transform 520ms cubic-bezier(.18,.78,.22,1);
}
@media (hover:hover) and (pointer:fine) {
  .wb-motion-tilt:hover .page-card-image img,
  .wb-motion-tilt:hover .product-image img,
  .wb-motion-tilt:hover .category-product-image img {
    transform: scale(1.045);
  }
  .site-header.wb-header-scrolled {
    background: rgba(247,246,241,.97);
    box-shadow: 0 9px 28px rgba(23,35,30,.09);
    border-bottom-color: rgba(196,154,88,.22);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}
.site-header.wb-header-scrolled {
  box-shadow: 0 7px 22px rgba(23,35,30,.075);
  border-bottom-color: rgba(196,154,88,.2);
}

.wb-scroll-progress {
  position: fixed;
  z-index: 1001;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg,#9c7b4f,#d9bd8d,#a7824e);
  box-shadow: 0 0 9px rgba(196,154,88,.22);
  transform: scaleX(0);
  transform-origin: left center;
  pointer-events: none;
  will-change: transform;
}
.wb-scroll-top {
  position: fixed;
  z-index: 1000;
  right: max(18px,env(safe-area-inset-right));
  bottom: max(20px,env(safe-area-inset-bottom));
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  background: #172b21;
  color: #fff;
  font: 600 22px/1 system-ui,sans-serif;
  box-shadow: 0 8px 24px rgba(23,43,33,.2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0,12px,0) scale(.9);
  transition: opacity 220ms ease,transform 260ms cubic-bezier(.2,1.35,.35,1),visibility 220ms ease,box-shadow 220ms ease;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.wb-scroll-top-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0,0,0) scale(1);
}
.wb-scroll-top span { display:block; transform:translateY(-1px); }
@media (hover:hover) and (pointer:fine) {
  .wb-scroll-top-visible:hover {
    transform: translate3d(0,-4px,0) scale(1.06);
    box-shadow: 0 13px 30px rgba(23,43,33,.26);
  }
}
@media (max-width:700px) {
  body.wb-motion-active .wb-motion-reveal {
    transform: translate3d(0,13px,0) scale(.996);
    transition-duration: 360ms;
  }
  body.wb-motion-active .wb-motion-reveal:nth-child(n) { transition-delay: 0ms; }
  .wb-scroll-top {
    right: max(14px,env(safe-area-inset-right));
    bottom: max(16px,env(safe-area-inset-bottom));
    width: 44px;
    height: 44px;
  }
}
@media (hover:none),(pointer:coarse) {
  .wb-motion-tilt { transform:none !important; }
  .wb-motion-tilt:hover { transform:none !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.wb-motion-active .wb-motion-reveal,
  body.wb-motion-active .wb-motion-reveal.wb-is-visible,
  .wb-section-reveal,
  .wb-section-reveal.wb-section-visible,
  .wb-motion-tilt,
  .wb-scroll-top {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
    animation:none !important;
  }
  .wb-scroll-progress { display:none !important; }
  .wb-motion-press { animation:none !important; }
}

/* Westburry circular header brand mark */
.site-header > .brand { width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important; max-height:44px !important; flex:0 0 44px !important; padding:0 !important; overflow:hidden !important; border-radius:50% !important; line-height:0 !important; }
.site-header > .brand img { display:block !important; width:44px !important; height:44px !important; min-width:44px !important; max-width:44px !important; max-height:44px !important; object-fit:contain !important; object-position:center !important; border-radius:50% !important; clip-path:circle(50%) !important; }

 
/* Westburry signature motion layer — editorial, lively and lightweight. */
:root{
 --wb-motion-elastic:cubic-bezier(.16,1.35,.3,1);
 --wb-motion-smooth:cubic-bezier(.2,.75,.2,1);
}
@keyframes wb-soft-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-7px,0)}}
@keyframes wb-gold-glint{0%,100%{background-position:120% 50%;opacity:.82}50%{background-position:-20% 50%;opacity:1}}
@keyframes wb-image-sheen{0%{transform:translateX(-150%) skewX(-18deg);opacity:0}18%{opacity:.5}65%,100%{transform:translateX(240%) skewX(-18deg);opacity:0}}
@keyframes wb-heading-arrive{0%{opacity:0;transform:translate3d(0,16px,0);letter-spacing:.02em}70%{opacity:1;transform:translate3d(0,-2px,0)}100%{opacity:1;transform:translate3d(0,0,0);letter-spacing:inherit}}
@keyframes wb-badge-breathe{0%,100%{box-shadow:0 0 0 0 rgba(196,154,88,0)}50%{box-shadow:0 0 0 5px rgba(196,154,88,.10)}}
@keyframes wb-cta-glow{0%,100%{box-shadow:0 5px 16px rgba(23,43,33,.12)}50%{box-shadow:0 8px 25px rgba(196,154,88,.24)}}
@keyframes wb-icon-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}65%{transform:rotate(6deg)}}
@keyframes wb-line-grow{from{transform:scaleX(0);opacity:.3}to{transform:scaleX(1);opacity:1}}

/* Editorial headings and section transitions. */
body.wb-motion-active .section-heading h2,
body.wb-motion-active .page-intro h1,
body.wb-motion-active .resale-heading h2{
 animation:wb-heading-arrive 650ms var(--wb-motion-smooth) both;
}
body.wb-motion-active .section-heading::after,
body.wb-motion-active .page-intro::after{
 content:"";display:block;width:min(76px,18vw);height:2px;margin:13px 0 0;
 transform-origin:left center;background:linear-gradient(90deg,#a77d43,#e2c58f,transparent);
 animation:wb-line-grow 720ms var(--wb-motion-smooth) 180ms both;
}

/* Cards get a soft image sheen on hover, not a constant heavy animation. */
@media(hover:hover) and (pointer:fine){
 .product-card .product-image,.page-card .page-card-image,.category-product-card .category-product-image,.resale-card .resale-art{
  position:relative;isolation:isolate;
 }
 .product-card .product-image::after,.page-card .page-card-image::after,.category-product-card .category-product-image::after,.resale-card .resale-art::after{
  content:"";position:absolute;z-index:2;top:-25%;bottom:-25%;left:0;width:34%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.32),transparent);
  transform:translateX(-150%) skewX(-18deg);opacity:0;
 }
 .product-card:hover .product-image::after,.page-card:hover .page-card-image::after,.category-product-card:hover .category-product-image::after,.resale-card:hover .resale-art::after{
  animation:wb-image-sheen 850ms ease-out both;
 }
 .product-card:hover,.page-card:hover,.category-product-card:hover,.resale-card:hover{
  border-color:rgba(196,154,88,.46);
 }
}

/* A gentle living brand mark and nav micro-interactions. */
.site-header>.brand img{transition:transform 420ms var(--wb-motion-elastic),filter 320ms ease}
@media(hover:hover) and (pointer:fine){
 .site-header>.brand:hover img{transform:scale(.94) rotate(-5deg);filter:drop-shadow(0 4px 7px rgba(196,154,88,.28))}
 .site-header nav a:hover::after{animation:wb-line-grow 260ms var(--wb-motion-smooth) both}
}
.site-header .profile-avatar-link{transition:transform 320ms var(--wb-motion-elastic),box-shadow 320ms ease}
.site-header .profile-avatar-link:hover{transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 3px rgba(196,154,88,.18)}

/* Gold accent details and call-to-action feedback. */
.solid-action,.primary-link,.detail-add-cart,.detail-order-now,.resale-order{
 background-image:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.11) 42%,transparent 68%);
 background-size:220% 100%;background-position:120% 50%;
}
@media(hover:hover) and (pointer:fine){
 .solid-action:hover,.primary-link:hover,.detail-add-cart:hover,.detail-order-now:hover,.resale-order:hover{
  background-position:-20% 50%;transition:background-position 650ms ease,transform 220ms var(--wb-motion-smooth),box-shadow 220ms ease;
 }
}
.product-badge,.sale-badge,.trust-badge,.category-chip.active{animation:wb-badge-breathe 3.8s ease-in-out infinite}
.nav-cart:hover svg,.cart-pill:hover svg,.help-card:hover .help-card-icon{animation:wb-icon-wiggle 480ms var(--wb-motion-elastic)}

/* Forms, filters, tabs and accordions respond with clear but calm motion. */
input:focus,select:focus,textarea:focus{
 transform:translateY(-1px);border-color:rgba(167,125,67,.68)!important;
 transition:transform 180ms var(--wb-motion-smooth),box-shadow 180ms ease,border-color 180ms ease;
}
details[open]>*:not(summary){animation:wb-section-in 300ms var(--wb-motion-smooth) both}
.product-preview-backdrop,.product-preview-modal,.wb-photo-crop-backdrop,.wb-photo-crop-dialog{
 animation:wb-modal-arrive 300ms var(--wb-motion-elastic) both;
}
@keyframes wb-modal-arrive{from{opacity:0;transform:translate3d(0,12px,0) scale(.975)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}

/* A little movement for editorial trust points and icon-led tiles. */
.trust-strip>*{transition:transform 300ms var(--wb-motion-elastic),color 240ms ease}
@media(hover:hover) and (pointer:fine){
 .trust-strip>*:hover{transform:translateY(-4px)}
 .category-tile:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(20,37,29,.12);border-color:rgba(196,154,88,.45)}
 .category-tile{transition:transform 320ms var(--wb-motion-smooth),box-shadow 320ms ease,border-color 320ms ease}
}

/* Mobile uses touch feedback rather than hover-only movement. */
@media(hover:none),(pointer:coarse){
 .product-card:active,.page-card:active,.category-product-card:active,.category-tile:active{
  transform:scale(.985);transition:transform 120ms ease;
 }
 .site-header>.brand:active img{transform:scale(.92)}
}

/* Never animate continuously when the visitor requests reduced motion. */
@media(prefers-reduced-motion:reduce){
 body.wb-motion-active .section-heading h2,
 body.wb-motion-active .page-intro h1,
 body.wb-motion-active .resale-heading h2,
 .product-badge,.sale-badge,.trust-badge,.category-chip.active,
 .site-header nav a:hover::after,.site-header>.brand:hover img,
 .product-preview-backdrop,.product-preview-modal,.wb-photo-crop-backdrop,.wb-photo-crop-dialog{
  animation:none!important;transition:none!important;transform:none!important;
 }
 body.wb-motion-active .section-heading::after,
 body.wb-motion-active .page-intro::after{animation:none!important;transform:none!important}
}


/* Westburry 2026 motion polish: responsive reveals and tactile micro-interactions. */
:root{--wb-motion-snappy:cubic-bezier(.2,.8,.2,1);--wb-motion-spring:cubic-bezier(.18,1.28,.32,1)}
@keyframes wb-reveal-arrive{0%{opacity:0;transform:translate3d(0,14px,0) scale(.992)}72%{opacity:1;transform:translate3d(0,-1px,0) scale(1)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes wb-section-arrive{0%{opacity:0;transform:translate3d(0,10px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes wb-chip-select{0%{transform:scale(.96)}65%{transform:scale(1.045)}100%{transform:scale(1)}}
@keyframes wb-focus-ring{0%{box-shadow:0 0 0 0 rgba(196,154,88,0)}100%{box-shadow:0 0 0 4px rgba(196,154,88,.16)}}
/* Scroll reveals begin only after the observer confirms the element is in view. */
body.wb-motion-active .wb-motion-reveal.wb-is-visible{animation:wb-reveal-arrive 460ms var(--wb-motion-snappy) both!important;opacity:1!important;transform:none!important}
body.wb-motion-active .wb-section-reveal.wb-section-visible{animation:wb-section-arrive 420ms var(--wb-motion-snappy) both!important;opacity:1!important;transform:none!important}
body.wb-motion-active .product-grid>.wb-motion-reveal.wb-is-visible:nth-child(3n+2),body.wb-motion-active .page-grid>.wb-motion-reveal.wb-is-visible:nth-child(3n+2){animation-delay:35ms!important}
body.wb-motion-active .product-grid>.wb-motion-reveal.wb-is-visible:nth-child(3n),body.wb-motion-active .page-grid>.wb-motion-reveal.wb-is-visible:nth-child(3n){animation-delay:65ms!important}
/* Rich product feedback: a quick lift, image polish, and clear keyboard focus. */
@media(hover:hover) and (pointer:fine){
 .product-card:focus-within,.page-card:focus-within,.category-product-card:focus-within{transform:translate3d(0,-3px,0);box-shadow:0 14px 30px rgba(20,37,29,.12)}
 .product-card .product-image,.category-product-card .category-product-image{overflow:hidden}
 .product-card .product-image img,.category-product-card .category-product-image img{transition:transform 520ms var(--wb-motion-snappy),filter 420ms ease}
 .product-card:hover .product-image img,.category-product-card:hover .category-product-image img{transform:scale(1.055);filter:saturate(1.04)}
 .product-card .product-image::after,.category-product-card .category-product-image::after{content:"";position:absolute;inset:-30% auto -30% -45%;width:34%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:translateX(-140%) skewX(-18deg);opacity:0}
 .product-card:hover .product-image::after,.category-product-card:hover .category-product-image::after{animation:wb-image-sheen 760ms ease-out both}
}
/* Filters, tabs and category chips give immediate state feedback. */
.category-chip,.filter-chip,.filter-button,.tab-button,.sort-control{transition:transform 180ms var(--wb-motion-spring),background-color 200ms ease,color 200ms ease,border-color 200ms ease,box-shadow 200ms ease}
.category-chip:active,.filter-chip:active,.filter-button:active,.tab-button:active{transform:scale(.96)}
.category-chip.active,.filter-chip.active,.tab-button[aria-selected="true"],.filter-button[aria-pressed="true"]{animation:wb-chip-select 260ms var(--wb-motion-spring) both}
/* Keep touch interactions snappy without desktop hover movement. */
@media(hover:none),(pointer:coarse){
 .product-card:active,.page-card:active,.category-product-card:active,.category-tile:active{transform:scale(.985);transition:transform 120ms ease}
 .product-card .product-image::after,.category-product-card .category-product-image::after{display:none}
}
/* Respect the device's motion setting and keep all content visible. */
@media(prefers-reduced-motion:reduce){
 body.wb-motion-active .wb-motion-reveal.wb-is-visible,body.wb-motion-active .wb-section-reveal.wb-section-visible,.category-chip.active,.filter-chip.active,.tab-button[aria-selected="true"],.filter-button[aria-pressed="true"]{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
