/* RevArt Christmas 1.2 — shared visual layer for every native shop page. */
:root { --xmas-red:#a3213b; --xmas-ink:#382d30; --xmas-ice:#faf0dc; --xmas-cream:#fff8e9; --xmas-gold:#b78543; }
.xmas-welcome { display:flex; gap:12px; align-items:center; justify-content:center; min-height:32px; padding:6px 16px; background:#fff1d6; color:#793040; font-size:12px; line-height:1.5; }
.xmas-welcome > span { color:#91662c; font-size:17px; }
body #header { --rev-header-dark:#941c36; --rev-header-dark-hover:#77182e; --rev-header-accent:#a3213b; --rev-header-accent-hover:#7b172c; --rev-header-border:#eadcca; --rev-header-text:#fff8ee; --rev-header-muted:#755d57; --rev-header-surface:#941c36; }
body #header .rev-header__primary-container::before {content:"";position:absolute;pointer-events:none;inset:0 0 auto;height: 100px;opacity: 0.8;background: url('https://png.pngtree.com/thumb_back/fh260/background/20241126/pngtree-magical-snowflakes-dancing-on-christmas-background-with-winter-charm-image_16659176.jpg') top center / 563px 255px repeat-x;}
body #header .rev-header__primary { position:relative; background:transparent; }
body #header .rev-header__brand .navbar-brand { background:#fffdf7; border-radius:8px; padding:8px 12px; box-shadow:0 3px 14px #50122625; }
body #header .rev-header__brand .navbar-brand.xmas-brand-link { background:transparent; padding:0; box-shadow:none; max-width:min(13.5rem, 42vw); max-height:none; }
body #header .rev-header__brand .navbar-brand .xmas-brand-logo { display:block; width:13.5rem; max-width:100%; height:auto; max-height:none; }
@media(max-width:767px) {
  body #header .rev-header__brand .navbar-brand.xmas-brand-link { max-width:min(9.5rem, calc(100vw - 205px)); }
  body #header .rev-header__brand .navbar-brand .xmas-brand-logo { width:9.5rem; }
}
body #header .rev-header__search .ps-searchbar__input { background:#fffdf7; border:1px solid #efd7b8; color:#3e3033; border-radius:8px; }
body #header .rev-header__language .form-select,
body #header .rev-header__currency .form-select { background-color:#fff9ed; color:#722a37; border-color:#f2d9b6; }
body #header .rev-header__language .form-select option,
body #header .rev-header__currency .form-select option { color:#382d30; }
body #header .rev-header__cart .header-block__action-btn { background:#ffebc6; color:#7d1d33; border-radius:8px; }
body #header .rev-header__cart .header-block__icon { color:inherit; }
body #header .rev-header__navigation { background:#fffaf1; border-bottom:3px solid #bc8748; --rev-header-text:#66313a; }
body #header .rev-header__navigation .menu-toggle { color:#66313a; }
body #header .rev-header__navigation-container { min-height:54px; }
body #header .rev-header__search .ps-searchbar__offcanvas { --rev-header-text:#382d30; }
body #header .rev-header__search .ps-searchbar__offcanvas .offcanvas-header { background:#fffaf1; color:#382d30; }
body #header .rev-header__mobile-actions .header-block__action-btn:hover { color:#7d1d33; }
@media(min-width:1200px) {
  body #header .rev-header__primary { max-width:1320px; margin:auto; }
  body #header .rev-header__primary { grid-template-areas:"brand search actions"; }
  body #header .rev-header__brand { justify-content:flex-start; }
  @layer utilities {
    body #header .rev-header__cart .header-block__action-btn { padding-right:5px !important; }
  }
}
.xmas-hero { margin-block:24px; }
.xmas-anchor { scroll-margin-top:16px; }
.xmas-hero__scene { position:relative; isolation:isolate; overflow:hidden; min-height:490px; background:#f6efe3; border-radius:16px; border:1px solid #e6d7c5; }
.xmas-hero__scene > img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; inset:0; z-index:-1; }
.xmas-hero__copy { padding:55px 0 45px 5%; width:49%; color:var(--xmas-ink); }
.xmas-eyebrow { font-size:11px; letter-spacing:1.5px; font-weight:600; color:#823548; }
.xmas-hero .xmas-eyebrow { display:inline-block; background:#fff8e9e8; padding:8px 12px; border:1px solid #dfc79e; border-radius:5px; }
.xmas-hero h2 { font-size:clamp(34px,3.9vw,56px); letter-spacing:-1.7px; line-height:1.13; margin:18px 0; color:var(--xmas-ink); }
.xmas-hero h2 em { font:italic 1.26em/1.06 Georgia,serif; color:var(--xmas-red); letter-spacing:-2px; }
.xmas-hero__copy > p:not(.xmas-eyebrow) { font-size:15px; line-height:1.8; max-width:370px; }
.xmas-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:49px; padding:12px 22px; border-radius:7px; background:var(--xmas-red); color:white; font-weight:600; font-size:14px; text-decoration:none; box-shadow:0 4px 0 #75162a; }
.xmas-button:hover { background:#7e1930; color:white; }
.xmas-button:focus-visible,.xmas-collection:focus-visible,.xmas-gift-note a:focus-visible { outline:3px solid #ab702a; outline-offset:4px; }
.xmas-hero__footnote { display:block; margin-top:18px; font-size:11px; color:#6c584e; }
.xmas-seal { position:absolute; bottom:23px; right:23px; display:grid; align-content:center; width:96px; height:96px; border-radius:50%; background:#f9dfab; color:#792338; border:5px double #a86e35; text-align:center; transform:rotate(10deg); font-size:11px; line-height:1.3; box-shadow:0 4px 16px #55240f25; }
.xmas-seal em { font:italic 26px Georgia,serif; }
.xmas-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:38px; }
.xmas-intro { margin-block:32px 0; }
.xmas-intro h2 { font-size:30px; color:var(--xmas-ink); }
.xmas-intro em { font:italic 1.12em Georgia,serif; color:var(--xmas-red); }
.xmas-collection { display:flex; align-items:center; gap:14px; min-height:112px; padding:22px 20px; border-radius:11px; border:1px solid #e5d4b5; color:var(--xmas-ink); background:#faf0dc; text-decoration:none; }
.xmas-collection__art { flex:none; font:42px Georgia,serif; color:#aa7538; }
.xmas-collection small { display:block; font-size:9px; letter-spacing:1px; margin-bottom:6px; }
.xmas-collection strong { display:block; font:italic 22px/1.15 Georgia,serif; }
.xmas-collection b { margin-left:auto; }
.xmas-collection--red { background:#98233b; color:#fff8eb; border-color:#98233b; }
.xmas-collection--red .xmas-collection__art { color:#f3d6a1; }
.xmas-collection--gold { background:#fbf0d9; border-color:#efdfbd; color:#734535; }
.xmas-collection:hover { box-shadow:0 6px 20px #522f2512; color:inherit; outline:1px solid #bd9563; }
.xmas-collection--red:hover { color:#fff8eb; }
body:is(#index,#category,#product,#search,#new-products,#prices-drop,#best-sales) { background:#fffdf9; }
body:is(#index,#category,#product,#search,#new-products,#prices-drop,#best-sales) .product-miniature.card { border-color:#e5d8c9; border-radius:12px; }
body:is(#index,#category,#product,#search,#new-products,#prices-drop,#best-sales) .product-miniature .price .new { color:#92263e; }
body:is(#index,#category,#product,#search,#new-products,#prices-drop,#best-sales) .product-miniature .add-to-cart { background:#fae8df; border-color:#e6c5b7; color:#8a233b; }
body:is(#index,#category,#product,#search,#new-products,#prices-drop,#best-sales) .product-miniature .add-to-cart:hover { background:#92263e; color:white; }
.xmas-badge { display:inline-flex; align-items:center; gap:5px; position:relative; padding:5px 10px 5px 9px; margin:0 0 9px; border-radius:3px 7px 7px 3px; background:#a3213b; color:#fff8ec; font-size:10px; font-weight:600; line-height:1.4; }
.xmas-badge::before { content:""; width:4px; height:4px; border-radius:50%; background:#f9d595; }
.xmas-product-note { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:12px 0 18px; color:#765b4f; font-size:12px; }
.xmas-product-note .xmas-badge { margin:0; }
body#category .category__header { position:relative; padding:22px; border:1px solid #e6d6be; border-radius:12px; background:linear-gradient(115deg,#f9edd9,#fff8e9); }
body#category .category__header::before { content:"✧"; float:right; margin-inline-start:12px; font:42px Georgia,serif; color:#ad7635; }
.xmas-gift-note { position:relative; display:flex; align-items:center; justify-content:space-between; overflow:hidden; gap:20px; margin-block:35px; padding:38px 45px; border-radius:14px; background:#922039; color:#fff8e9; }
.xmas-gift-note .xmas-eyebrow { color:#f1d19d; }
.xmas-gift-note h2 { color:inherit; font-size:27px; }
.xmas-gift-note h2 em { font-family:Georgia,serif; color:#ffdfa5; }
.xmas-gift-note a { display:inline-block; padding:8px 0; color:#fff8e9; text-underline-offset:5px; }
.xmas-gift-stack { position:relative; flex:none; width:125px; height:105px; border-radius:6px; background:linear-gradient(90deg,transparent 43%,#b7434e 43% 56%,transparent 56%),linear-gradient(#efc587 0 12%,#ffdeaa 12%); transform:rotate(8deg); margin:12px 30px; box-shadow:-24px 15px 0 -3px #b8c4ad,0 10px 30px #59142230; }
.xmas-gift-stack::before,.xmas-gift-stack::after { position:absolute; content:""; top:-20px; width:42px; height:27px; border:7px solid #e7b261; border-radius:80% 80% 0 80%; left:24px; transform:rotate(12deg); }
.xmas-gift-stack::after { left:60px; transform:scaleX(-1) rotate(12deg); }
@media(max-width:1199px) { .xmas-hero__scene { min-height:440px; } .xmas-hero__copy { width:52%; padding-top:35px; } .xmas-collection { padding:18px 14px; gap:9px; } .xmas-collection strong { font-size:20px; } }
@media(min-width:768px) and (max-width:991px) {
  .xmas-hero__scene > img { z-index:-2; }
  .xmas-hero__scene::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:-1; background:linear-gradient(90deg,#f4ede3ed,#f4ede3db 35%,#f4ede300 70%); }
}
@media(max-width:767px) {
  .xmas-welcome { min-height:27px; font-size:10px; padding:4px 10px; }
  body #header .rev-header__primary-container { padding-top:20px; }
  body #header .rev-header__primary-container::before { background-size:850px auto; height:50px; }
  body #header .rev-header__primary { padding-block:9px; }
  body #header .rev-header__brand .navbar-brand { padding:5px; max-width:calc(100vw - 205px); }
  .xmas-hero { margin-block:16px; }
  .xmas-hero__scene { min-height:0; padding-bottom:280px; border-radius:12px; }
  .xmas-hero__scene > img { top:auto; bottom:0; height:300px; width:100%; object-fit:cover; object-position:right bottom; }
  .xmas-hero__copy { position:relative; width:100%; padding:24px 24px 32px; background:linear-gradient(#f4ede3 88%,#f4ede300); }
  .xmas-hero h2 { font-size:40px; margin:16px 0; }
  .xmas-hero h2 em { font-size:1.18em; }
  .xmas-hero__copy > p:not(.xmas-eyebrow) { font-size:13px; }
  .xmas-seal { width:76px; height:76px; right:14px; bottom:14px; font-size:9px; }
  .xmas-seal em { font-size:21px; }
  .xmas-collections { grid-template-columns:1fr; gap:9px; margin-bottom:24px; }
  .xmas-collection { min-height:80px; padding:14px 20px; }
  .xmas-collection__art { font-size:34px; width:40px; text-align:center; }
  .xmas-gift-note { width:calc(100% - 24px); padding:25px; gap:0; }
  .xmas-gift-note h2 { font-size:25px; max-width:230px; }
  .xmas-gift-stack { width:75px; height:70px; margin:10px 0 10px 15px; }
  .xmas-gift-stack::before { left:3px; } .xmas-gift-stack::after { left:33px; }
  .xmas-badge { font-size:9px; padding:4px 6px; }
}
@media(max-width:359px) { .xmas-hero h2 { font-size:34px; } .xmas-hero__copy { padding-inline:18px; } .xmas-gift-stack { display:none; } }

/* Shared UI. The release also recolours the inherited compiled CSS so that
   nested component states retain their native behaviour without blue flashes. */
:root,[data-bs-theme=light] {
  --bs-primary:#a3213b; --bs-primary-rgb:163,33,59;
  --bs-link-color:#a3213b; --bs-link-color-rgb:163,33,59;
  --bs-link-hover-color:#76172c; --bs-link-hover-color-rgb:118,23,44;
  --bs-primary-text-emphasis:#702035; --bs-primary-bg-subtle:#f8e9e7;
  --bs-primary-border-subtle:#dfb8b2; --bs-body-color:#382d30;
  --bs-body-color-rgb:56,45,48; --bs-body-bg:#fffdf9; --bs-body-bg-rgb:255,253,249;
  --bs-secondary-bg:#f5ebdf; --bs-secondary-bg-rgb:245,235,223;
  --bs-tertiary-bg:#fcf6ec; --bs-tertiary-bg-rgb:252,246,236;
  --bs-border-color:#e5d8c9; --bs-focus-ring-color:rgba(163,33,59,.24);
  --rev-header-accent:#a3213b; --rev-header-accent-hover:#76172c;
}
body { background:#fffdf9; accent-color:var(--xmas-red); }
::selection { background:#f0cfcb; color:#571b2a; }
a { text-underline-offset:3px; }
:focus-visible { outline-color:#a3213b; }
.btn { border-radius:7px; }
.btn-primary { box-shadow:0 2px 0 #641126; }
.btn-primary:active { box-shadow:none; }
.btn-outline-primary { --bs-btn-bg:#fffaf3; }
.form-control,.form-select { border-radius:7px; }
.form-control:focus,.form-select:focus { border-color:#b75466; box-shadow:0 0 0 .2rem #a3213b22; }
.form-check-input:checked { background-color:#a3213b; border-color:#a3213b; }
.card,.accordion-item,.modal-content,.offcanvas { --bs-border-color:#e5d8c9; }
.card,.modal-content { border-radius:12px; }
.dropdown-menu { --bs-dropdown-link-active-bg:#a3213b; --bs-dropdown-link-hover-bg:#fbefe5; --bs-dropdown-link-hover-color:#7d192e; border-color:#e5d8c9; }
.offcanvas-header,.modal-header { background:#fcf3e5; border-color:#e5d8c9; }
.breadcrumb { background:#faf3e8; border-bottom:1px solid #ecdfcd; }
.breadcrumb a { color:#8a283f; }
.page-title-section { position:relative; border-bottom:1px solid #e5d3b9; padding-bottom:18px; }
.page-title-section::after { content:""; display:block; width:70px; height:18px; margin-top:10px; background:url('../img/christmas-flourish.svg') left center / contain no-repeat; }
.page-title-section,.page-header h1 { color:#742037; }
body:not(#index) #wrapper { padding-bottom:32px; }
.product-miniature.card { border:1px solid #e5d8c9; border-radius:12px; box-shadow:0 3px 14px #542b2010; }
.product-miniature.card:hover { border-color:#c9a273; box-shadow:0 6px 18px #542b201a; }
.product-miniature.card .btn.add-to-cart,.product-miniature.card .product-miniature__details { background:#98263b !important; border-radius:6px !important; min-height:36px !important; padding:5px 8px !important; }
.product-miniature.card .btn.add-to-cart:hover:not([disabled]),.product-miniature.card .product-miniature__details:hover { background:#74192d !important; }
.product-miniature .product-flags .product-flag.new { background:#42614e !important; }
.product-miniature .product-flags .product-flag.discount { background:#9b233b !important; }
.product-miniature .price,.product-price { color:#8f2038; }
.products__selection { background:#fcf5eb; border:1px solid #ecdeca; border-radius:10px; padding:14px; gap:12px; }
.category__header { background:#faf0df !important; border-color:#e5d3b9 !important; }
/* Static decorative artwork; content remains native and fully interactive.
   Reserve a separate bottom strip so Santa never covers variable-length copy. */
body#category .category__header {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:32px 28px 170px;
  background:#fff9ef !important;
  border-color:#eadbc7 !important;
  border-radius:16px;
}
body#category .category__header::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  float:none;
  margin:0;
  pointer-events:none;
  background:url('../img/christmas-dream-1200.webp') center / cover no-repeat;
  opacity:.65;
}
body#category .category__header::after {
  content:"";
  position:absolute;
  right:20px;
  bottom:8px;
  width:180px;
  height:165px;
  background:url('../img/christmas-santa-future.webp') center / contain no-repeat;
  pointer-events:none;
}
body#category .category__header .page-title-section { padding-right:130px; }
body#category .category__description { position:relative; background:#fff9efe6; border-radius:8px; padding:8px 10px; margin-inline:-10px; }
body#category .category__cover { overflow:hidden; border-radius:12px; background:#fff; }
body#category .category__header .subcategory { background:#fffaf4ed; }
@media(max-width:767px) {
  body#category .category__header { padding:24px 18px 130px; border-radius:12px; }
  body#category .category__header::before { background-image:url('../img/christmas-dream-720.webp'),radial-gradient(ellipse at bottom left,#e0eae4,transparent 50%); background-size:100% auto,100% 100%; background-position:center top,center; opacity:.5; }
  body#category .category__header::after { width:130px; height:120px; right:10px; bottom:5px; }
  body#category .category__header .page-title-section { padding-right:38px; overflow-wrap:anywhere; }
}
.category-tree { --bs-body-bg:#fffaf2; }
.page-not-found { padding:24px; border:1px solid #ebdcc6; border-radius:12px; background:#fcf5e9; }
.page-not-found::before { content:"✧"; display:block; margin-bottom:12px; color:#a77938; font:38px Georgia,serif; }
.nav-tabs { --bs-nav-link-color:#8b2339; --bs-nav-link-hover-color:#651429; --bs-nav-tabs-link-active-color:#8b2339; }
.nav-pills { --bs-nav-pills-link-active-bg:#a3213b; }
.ps-mainmenu a:hover,.ps-mainmenu .active > a {color: #ffd8d8;background-color: #941c36;border-radius: 20px;}
.ps-mainmenu .submenu__left-item:hover,.submenu__left-item.active {margin-left: 5px;}
.blockreassurance_product .block-reassurance-item svg [fill]:not([fill="none"]),
.block-reassurance svg [fill]:not([fill="none"]) { fill:#a3213b; }
.blockreassurance_product .block-reassurance-item svg { color:#a3213b; }
.reassurance__image svg [fill]:not([fill="none"]) { fill:#a3213b !important; }
.reassurance__image svg { color:#a3213b; }
.cart-summary,.checkout__summary-accordion,.address-card { border-color:#e5d8c9; border-radius:12px; }
.checkout-navigation { background:#fcf3e5; }

/* The footer retains every native hook, newsletter field and disclosure. */
#footer { margin-top:28px; background:#771b2f; }
#footer .footer__before { background:#fff8eb; border-top:1px solid #ead7b6; }
#footer .ps-socialfollow { position:relative; padding-block:22px !important; background:#fff9ef; }
#footer .ps-socialfollow::before { content:"✧"; display:block; text-align:center; color:#a77b3b; font:24px Georgia,serif; margin-bottom:10px; }
#footer .ps-socialfollow ul { gap:10px !important; }
#footer .ps-socialfollow a { display:flex; width:42px; height:42px; align-items:center; justify-content:center; border:1px solid #d8bca1; border-radius:50%; background:#fffdf9; color:#922039; }
#footer .ps-socialfollow a:hover { background:#922039; color:#fff8e9; border-color:#922039; }
#footer .ps-emailsubscription { background:#f7ead3 !important; border-block:1px solid #e6d0ac; padding-block:30px !important; color:#553a36; }
#footer .ps-emailsubscription .h3 { font-size:21px; line-height:1.4; color:#792238; }
#footer .ps-emailsubscription .form-control { min-height:46px; background:#fffdf8; border-color:#ccb795; }
#footer .ps-emailsubscription .btn { min-height:46px; }
#footer .ps-emailsubscription .text-body-secondary { color:#6d594b !important; }
.xmas-footer-story { position:relative; overflow:hidden; padding:55px 220px 45px; text-align:center; color:#fff5e5; background:#822239 url('../img/christmas-footer.svg') center bottom / 1400px 220px repeat-x; }
.xmas-footer-story .container { position:relative; max-width:720px; }
.xmas-footer-story .xmas-eyebrow { color:#f4d6a4; font-size:10px; letter-spacing:1.8px; }
.xmas-footer-story h2 { color:#fff4df; font:400 34px/1.25 Georgia,serif; margin-bottom:16px; }
.xmas-footer-story h2 em { color:#ffdfa4; }
.xmas-footer-story p:not(.xmas-eyebrow) { font-size:13px; line-height:1.7; color:#f3d8cf; }
.xmas-footer-story a { display:inline-block; min-height:44px; padding:10px 0; color:#ffedc8; font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.xmas-footer-story a:hover { color:white; }
#footer .footer__main { position:relative; background:#771b2f; color:#f7e6d8; border-top:1px solid #b46d6370; padding-top:35px; }
#footer .footer__main .h3,#footer .footer__main .h4,#footer .footer__main h3,#footer .footer__main h4 { color:#ffdfa5; }
#footer .footer__main a { color:#f9e8d9; }
#footer .footer__main a:hover { color:#fff; text-decoration:underline; }
#footer .footer__main .text-body-secondary,#footer .footer__main .text-body { color:#ead1c6 !important; }
#footer .footer__main .collapse-title { color:#ffdfa5; border-color:#b46d6370; }
#footer .footer__main .collapse-title a { color:inherit; }
#footer .footer__main .copyright { color:#edd1c3; border-top:1px solid #b46d6370; margin-top:25px; padding-block:22px; }
#footer .footer__main .copyright a { font-size:12px; color:#edd1c3; }
#footer a:focus-visible { outline:2px solid #e0ad68; outline-offset:4px; }
@media(max-width:991px) {
  .xmas-footer-story { padding:42px 120px; background-size:1100px 173px; }
  .xmas-footer-story h2 { font-size:30px; }
}
@media(max-width:767px) {
  .xmas-footer-story { padding:36px 18px 120px; background-image:url('../img/christmas-footer.svg'),url('../img/christmas-footer.svg'); background-size:800px 126px; background-position:left bottom,right bottom; background-repeat:no-repeat; }
  .xmas-footer-story .container { max-width:470px; }
  .xmas-footer-story h2 { font-size:29px; }
  #footer .ps-emailsubscription { padding-inline:8px; }
  #footer .ps-emailsubscription .h3 { font-size:19px; margin-bottom:18px; }
  #footer .ps-emailsubscription .d-flex { flex-wrap:wrap; }
  #footer .ps-emailsubscription .form-control { flex-basis:180px; width:0; min-width:0; }
  #footer .ps-emailsubscription .btn { flex-grow:1; }
  #footer .footer__main { padding-top:22px; }
  #footer .footer__main .copyright { padding-inline:12px; text-align:center; }
  .page-not-found { padding:18px; }
}

/* Only the Christmas brand slot changes; parent header layout stays intact. */
body #header .rev-header__brand .navbar-brand.xmas-brand-link {
  background: transparent;
  padding: 0;
  box-shadow: none;
  max-width: min(13.5rem, 42vw);
  max-height: none;
}
body #header .rev-header__brand .navbar-brand .xmas-brand-logo {
  display: block;
  width: 13.5rem;
  max-width: 100%;
  height: auto;
  max-height: none;
}
@media (max-width: 767px) {
  body #header .rev-header__brand .navbar-brand.xmas-brand-link {
    max-width: min(11rem, calc(100vw - 185px));
  }
  body #header .rev-header__brand .navbar-brand .xmas-brand-logo {
    width: 11rem;
  }
}

/* Shop2's gift drawer: presentation only; Hummingbird owns the navigation. */
#mobileMenu.ps-mainmenu--mobile {
  --xmas-drawer-ink: #6f2035;
  background-color: #fffaf3;
  background-image: radial-gradient(circle at 28px 38px, #b77b3724 1px, transparent 2px),
    radial-gradient(circle at 145px 118px, #68877720 1px, transparent 2px),
    linear-gradient(165deg, #fffaf3, #fffdf9 58%, #fdf3e8);
  background-size: 174px 174px, 206px 206px, auto;
  color: #422c32;
}

#mobileMenu.ps-mainmenu--mobile > .offcanvas-header {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-start;
  min-height: 128px;
  padding: 26px 18px 30px;
  overflow: hidden;
  color: #fff8e9;
  border: 0;
  border-bottom: 3px solid #c89a50;
  background: radial-gradient(circle at 95% 91%, #f5d69b30, transparent 32%),
    linear-gradient(130deg, #6e1932 0%, #95213d 62%, #ad3750 100%);
}

#mobileMenu.ps-mainmenu--mobile > .offcanvas-header::before {
  content: "";
  position: absolute;
  inset: -9px 0 auto;
  height: 46px;
  background: url('../img/christmas-garland.svg') center top / auto 56px repeat-x;
  opacity: .85;
  pointer-events: none;
  z-index: 0;
}

#mobileMenu.ps-mainmenu--mobile > .offcanvas-header::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: 9px;
  width: 58px;
  height: 15px;
  background: url('../img/christmas-flourish.svg') center / contain no-repeat;
  filter: brightness(0) saturate(100%) invert(82%) sepia(28%) saturate(593%) hue-rotate(344deg);
  opacity: .9;
  pointer-events: none;
}

#mobileMenu .xmas-drawer__welcome {
  display: grid;
  gap: 3px;
  max-width: calc(100% - 30px);
  position: relative;
  z-index: 1;
}

#mobileMenu .xmas-drawer__eyebrow {
  color: #ffdaa0;
  font-size: .6rem;
  font-weight: 750;
  letter-spacing: .13em;
  line-height: 1.4;
}

#mobileMenu .xmas-drawer__title {
  font-size: clamp(1.1rem, 4.5vw, 1.25rem);
  font-weight: 750;
  letter-spacing: -.025em;
  line-height: 1.18;
}

#mobileMenu .xmas-drawer__subtitle {
  color: #ffe9d8;
  font-size: .72rem;
  line-height: 1.4;
}

#mobileMenu.ps-mainmenu--mobile > .offcanvas-header .btn-close {
  position: absolute;
  top: 33px;
  right: 13px;
  z-index: 2;
  flex: none;
  width: 29px;
  height: 29px;
  padding: 6px;
  border-radius: 50%;
  background-color: #fff8eb;
  opacity: 1;
  box-shadow: 0 2px 10px #3c0b2352;
}

#mobileMenu .ps-mainmenu__back-button {
  position: absolute;
  bottom: 6px;
  left: 11px;
  z-index: 2;
}

#mobileMenu .ps-mainmenu__back-button .btn:not(.d-none) {
  color: #fff5e4;
  font-weight: 650;
  text-decoration: none;
}

#mobileMenu .ps-mainmenu__mobile {
  background: transparent;
}

#mobileMenu .menu--mobile .menu__list {
  padding: 17px 14px 12px;
}

#mobileMenu .menu--mobile .menu__list > li {
  position: relative;
  margin-bottom: 8px;
  border: 1px solid #ead9c8;
  border-radius: 12px;
  background: #fffdf9ed;
  box-shadow: 0 3px 12px #6224360b;
}

#mobileMenu .menu--mobile .menu__link {
  color: var(--xmas-drawer-ink);
  font-weight: 650;
  padding-inline: 16px 12px;
}

#mobileMenu .menu--mobile .menu__list > li:hover,
#mobileMenu .menu--mobile .menu__list > li.current {
  border-color: #c99d70;
  background: #fff4e6;
}

#mobileMenu .menu--mobile .menu__toggle-child {
  color: #8b2841;
}

#mobileMenu .menu--mobile .menu__title {
  border: 0;
  background: transparent;
  box-shadow: none;
  color: #78253b;
  font-weight: 750;
  padding-inline: 16px;
}

#mobileMenu .ps-mainmenu__additionnals {
  border-top: 1px solid #ead8c8;
  background: #fff5e9;
}

#mobileMenu .ps-mainmenu__additionnals a { color: #76243a; }
#mobileMenu .menu--mobile .menu__link:focus-visible,
#mobileMenu .menu--mobile .menu__toggle-child:focus-visible,
#mobileMenu .offcanvas-header button:focus-visible {
  outline: 3px solid #e6b15f;
  outline-offset: 2px;
}

@media (max-width: 360px) {
  #mobileMenu.ps-mainmenu--mobile > .offcanvas-header { min-height: 140px; padding-inline: 16px; }
}

/*
 * Header dimensions for the supplied header_html.txt and Christmas CSS.
 * Load AFTER custom.css, christmas-1.2.css and christmas-logo.css,
 * or paste at the end of whichever stylesheet loads last.
 * Desktop only: retain the existing tablet/mobile layouts below 1200px.
 */
@media (min-width: 1200px) {

  body #header .rev-header__primary {
    box-sizing: border-box;
    height: 100px;
    min-height: 100px;
    align-items: center;
  }

  body #header .rev-header__brand .navbar-brand.xmas-brand-link {
    width: auto;
    max-width: 100%;
    height: 56px;
    max-height: 56px;
    padding-block: 0;
  }

  body #header .rev-header__brand .navbar-brand .xmas-brand-logo {
    width: auto;
    max-width: 100%;
    height: 56px;
    max-height: 56px;
    object-fit: contain;
  }

  /* Override the inline height/min-height experiments in the supplied HTML. */
  body #header .rev-header__search .ps-searchbar__input,
  body #header .rev-header__language .form-select,
  body #header .rev-header__cart .header-block__action-btn {
    box-sizing: border-box;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 20px;
    opacity: 0.83;
  }

  body #header .rev-header__language #_desktop_ps_languageselector {
    height: auto !important;
  }

  body #header .rev-header__navigation-container {
    box-sizing: border-box;
    height: 35px;
    min-height: 35px;
  }

  body #header .rev-header__menu .ps-mainmenu__tree-link,
  body #header .rev-header__menu .ps-mainmenu__tree-dropdown-toggle {
    display: flex;
    align-items: center;
    padding-block: 0;
  }

  /* Keep desktop dropdowns below the resized row, including inline top values. */
  body #header .rev-header__menu .ps-mainmenu__tree > li > .submenu {
    top: 34px !important;
  }
  body #header .rev-header__menu .ps-mainmenu__tree{
      
  }
  body #header .rev-header__menu .ps-mainmenu__desktop,
  body #header .rev-header__menu .ps-mainmenu__tree,
  body #header .rev-header__menu .ps-mainmenu__tree > li,
  body #header .rev-header__menu .ps-mainmenu__tree > li > .ps-mainmenu__tree-item-wrapper,
  body #header .rev-header__menu .ps-mainmenu__tree-link,
  body #header .rev-header__menu .ps-mainmenu__tree-dropdown-toggle {
    box-sizing: border-box;
    height: 33px;
    min-height: 0;
  }
 
  .submenu__left.submenu__left-item {
    padding: 0.35rem 1rem;
    font-size: 12px;
  }
    .ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__left-item {
        padding: .35rem 1rem;
        font-size: 12px;
    }
}
    .category-tree__list {
        row-gap: .1rem
    }
    .category-tree__list[data-depth="0"]>.category-tree__item>.category-tree__item-header .category-tree__item-link {
        font-size: 14px;
    }

/* 1. Set up the header container layout context */
.header-bottom.rev-header {
  position: relative; /* Anchor for absolute positioning layers */
}

/* 2. Create the Left and Right Top Corners using pseudo-elements */
.header-bottom.rev-header::before,
.header-bottom.rev-header::after {
  content: "";
  position: absolute;
  top: 0;
  width: 150px;       /* Adjust this size matching your asset's aspect ratio dimensions */
  height: 150px;      /* Adjust this size matching your asset's aspect ratio dimensions */
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 1;         /* Places the graphics above the main background panel layer */
  pointer-events: none; /* CRITICAL: Lets clicks pass right through the images onto underlying buttons */
}

/* Left Top Corner image placement */
.header-bottom.rev-header::before {
  left: 0;
  background-image: url('YOUR_IMAGE_PATH/left-corner.png'); /* Replace with your actual left image URL */
  background-position: top left;
}

/* Right Top Corner image placement */
.header-bottom.rev-header::after {
  right: 0;
  background-image: url('YOUR_IMAGE_PATH/right-corner.png'); /* Replace with your actual right image URL */
  background-position: top right;
}

/* 3. Elevate the Interactive Elements Container */
.rev-header__primary-container.container-xl {
  position: relative;
  z-index: 2; /* Forces the entire grid row layout (buttons, search, icons) on top of the images */
}