.wp-site-blocks {
  --cg-evening-black: #140e0c;
  --cg-evening-ivory: #fff2dc;
  --cg-evening-gold: #e6c188;
  --cg-evening-panel: #261a15;
  --cg-evening-highlight: #39281e;
  --cg-evening-line: #806343;
  --cg-evening-serif: Georgia, "Times New Roman", serif;
}

[dir="rtl"] .wp-site-blocks {
  --cg-evening-serif: "Noto Naskh Arabic", "Geeza Pro", "Times New Roman", serif;
}

body .wp-site-blocks > header.wp-block-template-part:has(> .cg-shop-header) {
  background: radial-gradient(ellipse at 85% 0, #392416 0, transparent 48%), var(--cg-evening-black);
  color: var(--cg-evening-ivory);
  border-block-end: 1px solid #b9945e5c;
}

.cg-shop-header :is(.wp-block-site-title, .wp-block-navigation__responsive-container:not(.is-menu-open)) {
  font-family: var(--cg-evening-serif);
}

.wp-site-blocks > header .cg-shop-header .wp-block-site-title a {
  color: var(--cg-evening-gold);
}

.wp-site-blocks > header .cg-shop-header .wp-block-navigation__responsive-container:not(.is-menu-open) a {
  color: var(--cg-evening-ivory);
  font-size: 1rem;
  font-weight: 400;
}

.wp-site-blocks > header .cg-shop-header .wp-block-navigation__responsive-container:not(.is-menu-open) a:is(:hover, [aria-current="page"]) {
  color: var(--cg-evening-gold);
}

.wp-site-blocks > header .cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button, .cg-gift-search summary) {
  color: var(--cg-evening-ivory);
}

.wp-site-blocks > header .cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button, .cg-gift-search summary):hover,
.wp-site-blocks > header .cg-shop-header .cg-gift-search[open] summary {
  background: #503421;
  color: var(--cg-evening-gold);
}

.wp-site-blocks > header .cg-shop-header .pll-switcher ul { border-color: #b9945e7d; }
.wp-site-blocks > header .cg-shop-header .pll-switcher a { color: var(--cg-evening-ivory); }
.wp-site-blocks > header .cg-shop-header .pll-switcher a:is([aria-current], :hover) {
  background: #503421;
  color: var(--cg-evening-gold);
}

.wp-site-blocks > header .cg-shop-header .wp-block-navigation button.wp-block-navigation__responsive-container-open {
  border-color: var(--cg-evening-gold);
  color: var(--cg-evening-ivory);
}

.cg-shop-header .cg-gift-search-form { color: var(--wp--preset--color--ink); }

.wp-site-blocks:has(.cg-home-hero) { overflow-x: clip; }
.wp-site-blocks > main:has(.cg-home-hero) { margin-block-start: 0; }
.cg-homepage:has(.cg-home-hero) { padding-block-start: 0; }

.cg-homepage .cg-home-hero {
  --cg-evening-overlay: to right;
  position: relative;
  isolation: isolate;
  overflow: clip;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  inline-size: 100vw;
  min-block-size: clamp(29rem, 45vw, 40rem);
  margin-inline: calc(50% - 50vw);
  padding-block: clamp(3rem, 8vw, 6rem);
  padding-inline: max(clamp(1rem, 4vw, 3rem), calc((100vw - 72rem) / 2));
  background-color: var(--cg-evening-black);
  color: var(--cg-evening-ivory);
}

[dir="rtl"] .cg-homepage .cg-home-hero { --cg-evening-overlay: to left; }

.cg-homepage .cg-home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(var(--cg-evening-overlay), #140e0cf5 0%, #140e0cc9 30%, #140e0c40 58%, #140e0c14 100%);
  pointer-events: none;
}

.cg-homepage .cg-home-hero > .wp-block-column:has(> .cg-home-photo) {
  position: absolute;
  z-index: -2;
  inset: 0;
  block-size: 100%;
}

.cg-homepage .cg-home-hero .cg-home-photo,
.cg-homepage .cg-home-hero .cg-home-photo img {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  border-radius: 0;
  aspect-ratio: auto;
}

.cg-homepage .cg-home-hero .cg-home-photo { margin: 0; }
.cg-homepage .cg-home-hero .cg-home-photo img { object-fit: cover; object-position: center; }
[dir="rtl"] .cg-homepage .cg-home-hero img:is([src$="/hero-evening.jpg"], [src$="/hero-celebrations.jpg"]) {
  transform: scaleX(-1);
}

.cg-homepage .cg-home-hero .cg-home-copy {
  max-inline-size: 33rem;
  align-self: center;
}

.cg-homepage .cg-home-hero .cg-home-kicker {
  padding: 0;
  background: transparent;
  color: var(--cg-evening-gold);
  font-weight: 650;
}

.cg-homepage .cg-home-hero h1 {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-size: clamp(2.75rem, 5.5vw, 5rem);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.05;
}

[dir="rtl"] .cg-homepage .cg-home-hero h1 { letter-spacing: normal; line-height: 1.25; }
.cg-homepage .cg-home-hero .cg-home-intro { color: #f4e5d0; }

.cg-homepage .cg-home-hero .cg-home-actions .wp-block-button__link {
  border-color: var(--cg-evening-gold);
  border-radius: .2rem;
  color: var(--cg-evening-ivory);
  background: #140e0c77;
}

.cg-homepage .cg-home-hero .cg-home-actions .wp-block-button__link:hover {
  background: var(--cg-evening-gold);
  color: var(--cg-evening-black);
}

.cg-homepage .cg-home-hero .cg-home-actions .wp-block-button__link:focus-visible {
  outline-color: var(--cg-evening-gold);
}

.cg-homepage :is(.cg-home-section:has(> .cg-shopping-paths), .cg-featured-gifts) {
  --cg-evening-card: #261a15;
  --cg-evening-border: #b9945e66;
  padding: clamp(1rem, 3.5vw, 2.5rem);
  border: 1px solid var(--cg-evening-border);
  border-radius: .75rem;
  background: radial-gradient(ellipse at 90% 0%, #382419, transparent 55%), var(--cg-evening-black);
  color: var(--cg-evening-ivory);
}

.cg-homepage :is(.cg-home-section:has(> .cg-shopping-paths), .cg-featured-gifts) > h2 {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-weight: 400;
  letter-spacing: -.025em;
}

[dir="rtl"] .cg-homepage :is(.cg-home-section:has(> .cg-shopping-paths), .cg-featured-gifts) > h2 {
  letter-spacing: normal;
}

.cg-homepage .cg-shopping-paths .cg-shopping-path,
.cg-homepage .cg-featured-gifts .woocommerce ul.products > li.product {
  background: var(--cg-evening-card);
  border-color: var(--cg-evening-border);
  color: var(--cg-evening-ivory);
}

.cg-homepage .cg-shopping-path h3,
.cg-homepage .cg-featured-gifts .woocommerce-loop-product__title {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-weight: 500;
  line-height: 1.35;
}

.cg-homepage .cg-shopping-path p,
.cg-homepage .cg-featured-gifts > p { color: #e5d5c3; }

.cg-homepage .cg-featured-gifts .woocommerce ul.products > li.product .price { color: var(--cg-evening-gold); }
.cg-homepage .cg-featured-gifts .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title { color: var(--cg-evening-gold); }

.cg-homepage .cg-shopping-path .cg-button-text .wp-block-button__link:not(.has-text-color) {
  color: var(--cg-evening-gold);
}

.cg-homepage .cg-featured-gifts :is(.product .button, .cg-button-outline .wp-block-button__link, .cg-featured-controls button) {
  border: 1px solid var(--cg-evening-gold);
  background: transparent;
  color: var(--cg-evening-gold);
}

.cg-homepage .cg-featured-gifts :is(.product .button, .cg-button-outline .wp-block-button__link, .cg-featured-controls button):hover:not([aria-disabled="true"]) {
  background: var(--cg-evening-gold);
  color: var(--cg-evening-black);
}

.cg-homepage :is(.cg-shopping-paths, .cg-featured-gifts) :is(a, button):focus-visible {
  outline-color: var(--cg-evening-gold);
}

@media (max-width: 781px) {
  .cg-homepage .cg-home-hero {
    align-items: flex-start;
    padding-block: 2rem clamp(14rem, 60vw, 24rem);
  }

  .cg-homepage .cg-home-hero .cg-home-copy { align-self: flex-start; }
  .cg-homepage .cg-home-hero > .wp-block-column:has(> .cg-home-photo) {
    inset-block-start: auto;
    block-size: clamp(17rem, 70vw, 27rem);
  }
  .cg-homepage .cg-home-hero::after {
    background: linear-gradient(to bottom, #140e0c 0%, #140e0c 42%, #140e0c00 82%);
  }
  .cg-homepage .cg-home-hero img:is([src$="/hero-evening.jpg"], [src$="/hero-celebrations.jpg"]) {
    object-position: 76% center;
  }
}

body:has(.cg-homepage .cg-home-hero),
body:is(.cg-occasion-page, .cg-preview-shop, .cg-preview-product, .cg-preview-builder, .cg-preview-cart, .cg-preview-checkout) {
  background: #140e0c;
  color: #fff2dc;
}

.cg-homepage.has-white-canvas-background-color:has(.cg-home-hero) {
  background-color: transparent !important;
}

.cg-homepage .cg-delivery-strip.has-pale-yellow-background-color {
  background-color: #2b2018 !important;
  color: var(--cg-evening-ivory);
}

.cg-homepage .cg-delivery-strip strong { color: var(--cg-evening-gold); }

.cg-occasion-page main > .wp-block-post-title {
  max-inline-size: var(--wp--style--global--wide-size);
  margin: 0 auto .55rem;
  padding-block-start: clamp(1.5rem, 5vw, 4rem);
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-size: clamp(2.4rem, 6vw, 4.3rem);
  font-weight: 400;
  line-height: 1.2;
}

.cg-occasion-page main > .wp-block-post-content {
  max-inline-size: var(--wp--style--global--wide-size);
  padding-block-end: clamp(2rem, 6vw, 4rem);
}

.cg-occasion-landing > p { margin-block-start: 0; color: #e5d5c3; }
.cg-occasion-landing .cg-occasion-grid { gap: clamp(.85rem, 2vw, 1.35rem); }

.cg-occasion-landing .cg-occasion-card {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  min-inline-size: 0;
  padding: .85rem;
  border: 1px solid #b9945e66;
  border-radius: .65rem;
  background: #261a15;
}

.cg-occasion-card :is(h2, .wp-block-image, .wp-block-buttons) { margin: 0; }
.cg-occasion-card .wp-block-image a { display: block; }
.cg-occasion-card .wp-block-image img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: .35rem;
}

.cg-occasion-card h2 {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 500;
  line-height: 1.35;
}

.cg-occasion-card .wp-block-buttons { margin-block-start: auto; }
.cg-occasion-card .wp-block-button__link {
  border: 1px solid var(--cg-evening-gold);
  border-radius: .35rem;
  background: transparent;
  color: var(--cg-evening-gold);
}

.cg-occasion-card .wp-block-button__link:hover {
  background: var(--cg-evening-gold);
  color: var(--cg-evening-black);
}

.cg-occasion-landing a:focus-visible {
  outline: 2px solid var(--cg-evening-gold);
  outline-offset: 3px;
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main {
  --cg-border: var(--cg-evening-line);
  --cg-muted: #e5d5c3;
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main h1 {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
  font-weight: 400;
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main a {
  color: var(--cg-evening-gold);
}

body.cg-preview-shop main ul:is(.products, .wc-block-product-template) > li.product {
  background: var(--cg-evening-panel);
  border-color: var(--cg-evening-line);
}

body.cg-preview-shop main ul:is(.products, .wc-block-product-template) li.product :is(.woocommerce-loop-product__title, .wp-block-post-title) {
  color: var(--cg-evening-ivory);
  font-family: var(--cg-evening-serif);
}

body.cg-preview-shop main ul:is(.products, .wc-block-product-template) li.product :is(.price, .wp-block-woocommerce-product-price),
body:is(.cg-preview-product, .cg-preview-builder) main :is(.summary > .price, .wp-block-woocommerce-product-price, .woocommerce-variation-price, .stock.in-stock) {
  color: var(--cg-evening-gold);
}

body.cg-preview-shop main .cg-shop-intro :is(p, nav a) {
  background: var(--cg-evening-highlight);
  border-color: var(--cg-evening-line);
  color: var(--cg-evening-ivory);
}

body.cg-preview-shop main .cg-shop-intro :is(strong, nav a[aria-current]) { color: var(--cg-evening-gold); }
body.cg-preview-shop main .cg-shop-intro nav a[aria-current] { border-color: var(--cg-evening-gold); }

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main :is(
  select, input.qty, input[type="text"], input[type="number"], input[type="email"], input[type="search"], textarea
) {
  color-scheme: dark;
  border-color: var(--cg-evening-line);
  background: var(--cg-evening-black);
  color: var(--cg-evening-ivory);
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main :is(a, button, input, select, textarea):focus-visible {
  outline-color: var(--cg-evening-gold);
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main :is(
  a.button, .wc-block-components-product-button__button, button.single_add_to_cart_button, .wp-block-search__button
) {
  border: 1px solid var(--cg-evening-gold);
  background: transparent;
  color: var(--cg-evening-gold);
}

body:is(.cg-preview-shop, .cg-preview-product, .cg-preview-builder) main :is(
  a.button, .wc-block-components-product-button__button, button.single_add_to_cart_button, .wp-block-search__button
):hover:not(:is(:disabled, .disabled)) {
  background: var(--cg-evening-gold);
  color: var(--cg-evening-black);
}

body:is(.cg-preview-product, .cg-preview-builder) main :is(form.cart, [data-gift-box]) {
  background: var(--cg-evening-panel);
}

body.cg-preview-builder main form.cart {
  padding: clamp(.85rem, 2.5vw, 1.5rem);
  border: 1px solid var(--cg-evening-line);
  border-radius: .65rem;
}

body.cg-preview-product main :is(.cg-personalize-step, form.cart .form-row:has(:is(#cultural-gifts-message, #cultural-gifts-personalization))),
body.cg-preview-builder main :is(.cg-box-total, .cg-box-item:has(:disabled)) {
  background: var(--cg-evening-highlight);
}

body.cg-preview-builder main :is([data-gift-box] legend, .cg-box-total output),
body.cg-preview-product main .cg-personalize-step {
  color: var(--cg-evening-gold);
}

body.cg-preview-builder main [data-gift-box] legend { background: var(--cg-evening-highlight); }
body:is(.cg-preview-product, .cg-preview-builder) main .stock.out-of-stock { color: #f2b2ac; }

body:is(.cg-preview-product, .cg-preview-builder) main .woocommerce-tabs ul.tabs li,
body:is(.cg-preview-product, .cg-preview-builder) main #reviews > :is(#comments, #review_form_wrapper),
body:is(.cg-preview-product, .cg-preview-builder) main #reviews #comments .comment_container {
  border-color: var(--cg-evening-line);
  background: var(--cg-evening-panel);
}

body:is(.cg-preview-product, .cg-preview-builder) main .woocommerce-tabs ul.tabs li.active {
  background: var(--cg-evening-highlight);
}

body:is(.cg-preview-product, .cg-preview-builder) main .woocommerce-tabs ul.tabs li a,
body:is(.cg-preview-product, .cg-preview-builder) main #reviews :is(.woocommerce-Reviews-title, #reply-title) {
  color: var(--cg-evening-ivory);
}

body:is(.cg-preview-product, .cg-preview-builder) main #reviews :is(.star-rating, p.stars a) { color: var(--cg-evening-gold); }

body:is(.cg-preview-product, .cg-preview-builder) main #review_form #respond input#submit {
  background: var(--cg-evening-gold);
  color: var(--cg-evening-black);
}
