body:has(> .wp-site-blocks) {
  padding-inline: 0;
}

.wp-site-blocks {
  --cg-page-gutter: clamp(1rem, 4vw, 3rem);
  padding-inline: var(--cg-page-gutter);
}

.wp-site-blocks > :is(header, footer).wp-block-template-part {
  --cg-shell-red: var(--wp--preset--color--warm-red);
  --cg-shell-gold: var(--wp--preset--color--golden-yellow);
  --cg-shell-tint: var(--wp--preset--color--pale-yellow);
  --cg-shell-ink: var(--wp--preset--color--ink);
  color: var(--cg-shell-ink);
  margin-inline: calc(-1 * var(--cg-page-gutter));
  padding-inline: var(--cg-page-gutter);
}

body .wp-site-blocks > header.wp-block-template-part:has(.pll-switcher) {
  background-color: var(--wp--preset--color--white-canvas);
  border-block-end: 1px solid var(--cg-shell-gold);
}

body .wp-site-blocks > header.wp-block-template-part > .wp-block-group {
  box-sizing: border-box;
  max-inline-size: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding-block: .75rem;
  gap: .5rem .9rem;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-site-title {
  min-inline-size: 0;
  margin-block: 0;
  font-weight: 750;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-site-title a {
  color: var(--cg-shell-red);
  text-decoration: none;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-page-list li:has(> a[href$="/sample-page/"]) {
  display: none;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation :is(.wp-block-navigation-item__content, .wp-block-pages-list__item__link) {
  font-weight: 650;
  text-underline-offset: .25em;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation :is(a:hover, a[aria-current="page"]) {
  color: var(--cg-shell-red);
  text-decoration: underline;
}

.wp-site-blocks > header.wp-block-template-part .pll-switcher ul {
  display: flex;
  flex-wrap: wrap;
  gap: .2rem;
  padding: .15rem;
  margin: 0;
  list-style: none;
  border: 1px solid var(--cg-shell-gold);
  border-radius: .4rem;
}

.wp-site-blocks > header.wp-block-template-part .pll-switcher a {
  display: flex;
  align-items: center;
  min-block-size: 2.75rem;
  box-sizing: border-box;
  border-radius: .28rem;
  padding: .25rem .6rem;
  color: var(--cg-shell-ink);
  font-weight: 650;
  text-decoration: none;
}

.wp-site-blocks > header.wp-block-template-part .pll-switcher a:is([aria-current], :hover) {
  background-color: var(--cg-shell-tint);
  color: var(--cg-shell-red);
}

.wp-site-blocks > header.wp-block-template-part :is(
  .wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button,
  .wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close
) {
  box-sizing: border-box;
  min-inline-size: 2.75rem;
  min-block-size: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: .35rem;
  color: var(--cg-shell-red);
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation button.wp-block-navigation__responsive-container-open {
  border: 1px solid var(--cg-shell-ink);
  color: var(--cg-shell-ink);
  background: transparent;
}

.wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
  padding: clamp(1rem, 5vw, 2rem);
  color: var(--cg-shell-ink);
  background-color: var(--wp--preset--color--white-canvas);
}

@media (prefers-reduced-motion: no-preference) {
  .wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
    --cg-menu-slide-start: -100%;
  }

  .wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open:not(.cg-menu-closing) {
    animation: cg-menu-slide-in 280ms cubic-bezier(.22, 1, .36, 1);
  }

  [dir="rtl"] .wp-site-blocks > header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
    --cg-menu-slide-start: 100%;
  }
}

@keyframes cg-menu-slide-in {
  from { transform: translateX(var(--cg-menu-slide-start)); }
  to { transform: translateX(0); }
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open .wp-block-navigation__responsive-dialog {
  max-inline-size: 32rem;
  margin-inline: auto;
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open button.wp-block-navigation__responsive-container-close {
  display: flex;
  inset-inline: auto 0;
  border: 1px solid var(--cg-shell-ink);
  background: transparent;
  color: var(--cg-shell-ink);
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: stretch;
  padding-block-start: 3.75rem;
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open .wp-block-navigation__container {
  align-items: stretch;
  gap: .25rem;
  inline-size: 100%;
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
  inline-size: 100%;
  border-block-end: 1px solid #eee7e3;
}

.wp-site-blocks > header.wp-block-template-part .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  inline-size: 100%;
  min-block-size: 3.25rem;
  padding: .55rem .35rem;
  font-size: 1.05rem;
  line-height: 1.4;
}

.wp-site-blocks > :is(header, footer).wp-block-template-part :is(a, button):focus-visible {
  outline: 2px solid var(--cg-shell-red);
  outline-offset: 3px;
}

.wp-site-blocks > footer.wp-block-template-part {
  background-color: #000;
  color: #fff;
  font-weight: 400;
}

.wp-site-blocks > footer.wp-block-template-part > .wp-block-group {
  max-inline-size: var(--wp--style--global--wide-size);
  margin-inline: auto;
  padding-block: clamp(1.5rem, 4vw, 2.5rem);
}

.wp-site-blocks > footer.wp-block-template-part :is(.wp-block-site-title, .wp-block-site-tagline) {
  max-inline-size: none;
}

.wp-site-blocks > footer.wp-block-template-part a {
  color: #fff;
  text-underline-offset: .25em;
}

.wp-site-blocks > footer.wp-block-template-part a:focus-visible {
  outline-color: #fff;
}

.wp-site-blocks > footer.wp-block-template-part .wp-block-site-title {
  margin-block: 0;
  font-size: clamp(1.1rem, 3vw, 1.5rem);
  font-weight: 550;
}

.cg-shop-footer .cg-footer-columns {
  gap: 1.5rem clamp(1.5rem, 4vw, 3.5rem);
  margin-block: 0;
}

.cg-shop-footer .cg-footer-columns > .wp-block-column {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.cg-shop-footer h2 {
  margin-block: 0 .55rem;
  color: inherit;
  font-size: 1rem;
  font-weight: 500;
}

.cg-shop-footer .wp-block-site-title + h2 {
  margin-block-start: .5rem;
}

.cg-shop-footer :is(p, ul) {
  margin-block: .35rem 0;
}

.cg-shop-footer ul {
  list-style: none;
  padding: 0;
}

.cg-shop-footer li + li { margin-block-start: .4rem; }
.cg-shop-footer .wp-block-site-logo { margin-block-end: .5rem; }

@media (max-width: 820px) {
  .wp-site-blocks > header.wp-block-template-part .wp-block-navigation.is-responsive:not(:has(.always-shown)) .wp-block-navigation__responsive-container-open {
    display: flex;
  }

  .wp-site-blocks > header.wp-block-template-part .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open, .always-shown) {
    display: none;
  }
}

@media (max-width: 480px) {
  body .wp-site-blocks > header.wp-block-template-part > .wp-block-group {
    column-gap: .4rem;
  }

  .wp-site-blocks > header.wp-block-template-part > .wp-block-group > .wp-block-site-title {
    flex: 1 1 7rem;
  }

  .wp-site-blocks > header.wp-block-template-part > .wp-block-group > .pll-switcher {
    flex: 0 0 100%;
  }

  .wp-site-blocks > header.wp-block-template-part .pll-switcher ul {
    inline-size: fit-content;
  }
}

body .wp-site-blocks > header.wp-block-template-part > .cg-shop-header {
  display: grid;
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .65rem 1rem;
  padding-block: .85rem;
}

.cg-shop-header > .cg-header-brand {
  min-inline-size: 0;
  gap: .6rem;
}

.cg-header-brand .wp-block-site-logo { flex: none; }

.cg-shop-header .wp-block-site-title {
  font-size: clamp(.95rem, 1.6vw, 1.25rem);
}

.cg-shop-header > .wp-block-navigation {
  justify-self: center;
  font-size: .9rem;
}

.cg-shop-header .wp-block-navigation__container { gap: .55rem 1.1rem; }

.cg-shop-header > .cg-header-utilities {
  justify-self: end;
  gap: .25rem;
}

.cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account, .wc-block-mini-cart) {
  display: grid;
  place-items: center;
  margin: 0;
}

.cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button, .cg-gift-search summary) {
  display: inline-flex;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  padding: 0;
  border-radius: 50%;
  color: var(--cg-shell-ink);
  align-items: center;
  justify-content: center;
}

.cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button, .cg-gift-search summary):hover,
.cg-gift-search[open] summary {
  background: var(--cg-shell-tint);
  color: var(--cg-shell-red);
}

.cg-shop-header .cg-header-utilities :is(.wp-block-woocommerce-customer-account a, .wc-block-mini-cart__button, .cg-gift-search summary) svg {
  inline-size: 1.35rem;
  block-size: 1.35rem;
}

.cg-shop-header .cg-header-utilities .pll-switcher {
  margin-inline-start: .35rem;
}

.cg-gift-search summary {
  cursor: pointer;
  list-style: none;
}

.cg-gift-search summary::-webkit-details-marker { display: none; }
.cg-gift-search summary::marker { content: ""; }

.cg-gift-search-form {
  position: absolute;
  z-index: 10;
  inset-block-start: 100%;
  inset-inline-end: 0;
  box-sizing: border-box;
  inline-size: min(100%, 28rem);
  padding: .85rem;
  border: 1px solid #e8dfd9;
  border-block-start: .2rem solid var(--cg-shell-gold);
  border-radius: .45rem;
  background: var(--wp--preset--color--white-canvas);
  box-shadow: 0 .6rem 1.3rem #24272220;
}

.cg-gift-search-form > div { display: flex; gap: .45rem; }
.cg-gift-search-form label { display: block; margin-block-end: .35rem; font-weight: 700; }
.cg-gift-search-form :is(input[type="search"], button) {
  box-sizing: border-box;
  min-block-size: 2.75rem;
  border: 1px solid #bfb2aa;
  border-radius: .35rem;
  padding: .45rem .65rem;
  font: inherit;
}
.cg-gift-search-form input[type="search"] { flex: 1; min-inline-size: 0; background: #fff; color: var(--cg-shell-ink); }
.cg-gift-search-form button { border-color: var(--cg-shell-red); background: var(--cg-shell-red); color: #fff; cursor: pointer; }
.cg-gift-search :is(summary, input):focus-visible { outline: 2px solid var(--cg-shell-red); outline-offset: 2px; }

@media (max-width: 1040px) {
  body .wp-site-blocks > header.wp-block-template-part > .cg-shop-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .wp-site-blocks > header.wp-block-template-part .cg-shop-header .wp-block-navigation.is-responsive:not(:has(.always-shown)) .wp-block-navigation__responsive-container-open {
    display: flex;
  }

  .wp-site-blocks > header.wp-block-template-part .cg-shop-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open, .always-shown) {
    display: none;
  }
}

@media (max-width: 580px) {
  body .wp-site-blocks > header.wp-block-template-part > .cg-shop-header {
    grid-template-columns: minmax(0, 1fr) repeat(4, auto);
    gap: .3rem .2rem;
    padding-block: .55rem;
  }

  .cg-shop-header > .cg-header-utilities { display: contents; }
  .cg-shop-header .cg-header-utilities .pll-switcher {
    grid-column: 1 / -1;
    justify-self: end;
    margin-inline-start: 0;
  }
}
