/*
Theme Name: Rose & Thorn
Theme URI: https://example.com/rose-and-thorn
Author: ChatGPT 5.4
Description: A bespoke WooCommerce-ready theme for Rose & Thorn, adapted from the original static demos.
Version: 1.0.139
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: rose-thorn
*/

:root {
  --ink: #1a1614;
  --cream: #fff9ef;
  --warm-white: #fffdf8;
  --gold: #b8945a;
  --gold-light: #d4af7a;
  --ash: #8a8278;
  --blush: #f4ece4;
  --line: rgba(184, 148, 90, 0.18);
  --line-strong: rgba(184, 148, 90, 0.3);
  --shadow: 0 18px 48px rgba(26, 22, 20, 0.08);
  --nav-h: 64px;
  --content: 1280px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--warm-white);
  color: var(--ink);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  background-color: var(--warm-white);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.42)),
    url(/wp-content/themes/roseandthorn/pattern-bg.png?v=1.0.6);
  background-size: 100% 100%, auto;
  background-repeat: no-repeat, repeat;
  background-attachment: fixed, fixed;
}

/* Non-home pages: wash the wallpaper lighter so content reads more clearly.
   (Home keeps the fuller pattern for the portal circles.) */
body:not(.home) {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.72)),
    url(/wp-content/themes/roseandthorn/pattern-bg.png?v=1.0.6);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}

.site-shell {
  position: relative;
  z-index: 1;
  min-height: 100vh;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--nav-h);
  /*background: linear-gradient(135deg, #1aec8a 0%, #058c4d 40%, #14e666 70%, #0cfb8b 100%);*/
  /*background: rgba(250, 248, 244, 0.94);*/
  background: #1aec8a;
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  transition: height 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}

/* Condensed state — toggled by JS once the page is scrolled. The header and
   logo shrink and the tagline folds away, all smoothly via transitions. */
.site-header.is-condensed {
  height: 48px;
  box-shadow: 0 10px 28px rgba(26, 22, 20, 0.14);
}

.site-header.is-condensed .site-header__inner {
  min-height: 48px;
}

.site-header.is-condensed .branding img {
  width: 108px;
}

.site-header.is-condensed .site-header__tagline {
  opacity: 0;
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  overflow: hidden;
}

.site-header__inner,
.site-footer__inner,
.section-wrap,
.page-section,
.page-header__inner,
.content-wrap {
  width: min(calc(100% - 40px), var(--content));
  margin: 0 auto;
}

.site-header__inner {
  min-height: var(--nav-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  transition: min-height 0.3s ease;
}

.branding {
  flex: 0 0 auto;
}

.branding a {
  text-decoration: none;
}

.branding img {
  width: 156px;
  transition: width 0.3s ease;
}

.branding__text {
  font-family: "Cinzel", serif;
  font-size: 1.25rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.site-header__tagline {
  max-width: 260px;
  margin: 0 auto -12px 0;
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  max-height: 60px;
  transition: opacity 0.3s ease, max-height 0.3s ease, margin 0.3s ease;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

.site-nav .menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 28px;
}

.site-nav a {
  text-decoration: none;
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ash);
  transition: color 0.25s ease;
}

.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current_page_parent > a,
.site-nav .current_page_ancestor > a {
  color: var(--gold);
}

/* Mobile menu toggle — hidden on desktop, revealed in the header media query. */
.nav-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 4px;
  background: transparent;
  border: 0;
  color: var(--ink);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nav-toggle__box {
  position: relative;
  display: block;
  width: 26px;
  height: 18px;
}

.nav-toggle__bar {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.2s ease, top 0.3s ease;
}

.nav-toggle__bar:nth-child(1) {
  top: 0;
}

.nav-toggle__bar:nth-child(2) {
  top: 8px;
}

.nav-toggle__bar:nth-child(3) {
  top: 16px;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
  top: 8px;
  transform: rotate(-45deg);
}

.site-main {
  display: block;
}

.hero {
  position: relative;
  min-height: calc(100vh - var(--nav-h));
  color: var(--ink);
  overflow: hidden;
}

/* Canvas redraws the matching wallpaper patch with a light procedural ripple. */
.hero-panel__ripple {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
  z-index: 0;
}

.hero__inner {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 40px), var(--content));
  margin: 0 auto;
  min-height: calc(100vh - var(--nav-h));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0;
}

.hero__center {
  text-align: center;
  align-self: center;
  margin: 80px auto 0;
}

/* Wide wordmark area; the canvas behind is masked to the letterforms. */
.hero__logo-wrap {
  position: relative;
  width: min(380px, 78vw);
  margin: 0 auto 20px;
}

/* Invisible sizer + alt text; the PNG's alpha is the mask for the canvas. */
.hero__logo {
  width: 100%;
  display: block;
  visibility: hidden;
}

/* The selected psychedelic disc rotates behind the wordmark. The wrapper is
   clipped to the logo letterforms so the artwork shows through the text. */
.hero__logo-fx {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  background: #000;
  -webkit-mask-image: url(/wp-content/themes/roseandthorn/logo1.png);
          mask-image: url(/wp-content/themes/roseandthorn/logo1.png);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

/* Square, sized to cover the whole wordmark at every rotation angle. */
.hero__logo-disc {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(440px, 92vw);
  height: min(440px, 92vw);
  border-radius: 50%;
  background-color: #000;
  background-image: var(--rt-disc-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translate(-50%, -50%) rotate(0deg);
  transform-origin: center center;
  animation: rt-logo-spin var(--rt-disc-duration, 40s) linear infinite;
  animation-delay: var(--rt-disc-delay, 0s);
  animation-direction: var(--rt-disc-direction, normal);
  will-change: transform;
}

.hero__logo-fx.is-motion-2 .hero__logo-disc {
  --rt-disc-duration: 52s;
  --rt-disc-direction: reverse;
}

.hero__logo-fx.is-motion-3 .hero__logo-disc {
  --rt-disc-duration: 27s;
}

.hero__logo-fx.is-motion-4 .hero__logo-disc {
  --rt-disc-duration: 68s;
  --rt-disc-direction: reverse;
}

@keyframes rt-logo-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__logo-disc {
    animation: none;
  }
}

.lede {
  max-width: 480px;
  margin: 0 auto;
  color: var(--ash);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
}

.hero-panels {
  position: relative;
  z-index: 3;
  margin: auto 0 40px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 250px));
  gap: 40px;
  justify-content: center;
}

.hero-panel {
  position: relative;
  min-height: 250px;
  overflow: hidden;
  text-decoration: none;
  text-align: center;
  background: transparent !important;
  border: none;
  border-radius: 50%;
}

.hero-panels > .hero-panel {
  aspect-ratio: 1;
  width: 100%;
  min-height: 0;
  max-width: 250px;
}


/* Rectangle-fill linear gradients — difference blend directly against the video beneath */
.hero-panel__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  transform: scale(1.04);
  transition: transform 0.5s ease;
  mix-blend-mode: difference;
  pointer-events: none;
}

.hero-panel:hover .hero-panel__bg {
  transform: scale(1);
}

/* Products — forest / emerald green */
.hero-panel__bg--products {
  background: linear-gradient(160deg, #284a34 0%, #3fc874 40%, #35624d 100%);
}

/* Creators — deep teal / cyan */
.hero-panel__bg--creators {
  background: linear-gradient(160deg, #588c8c 0%, #2b5151 40%, #6dccd0 100%);
}

/* Collections — magenta / plum */
.hero-panel__bg--collections {
  background: linear-gradient(160deg, #572a50 0%, #b52da0 40%, #421637 100%);
}

.hero-panel__content {
  position: relative;
  z-index: 3;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px;
  text-align: center;
}

.hero-panels > .hero-panel .hero-panel__content {
  height: 100%;
  min-height: 0;
}

/* Text floats above the dark portal interior */
.hero-panel__title,
.hero-panel__text,
.hero-panel__number {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

.hero-panel__number {
  font-family: "Cormorant Garamond", serif;
  font-size: 0.9rem;
  letter-spacing: 0.22em;
  color: var(--gold);
  margin-bottom: 12px;
}

.hero-panel__title,
.section-title,
.page-title,
.editorial-card__title,
.creator-card__title,
.showcase-card__title,
.archive-card__title,
.collab-banner__title,
.cta-block__title,
.entry-title {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  line-height: 1;
}

.hero-panel__title {
  margin: 0 0 14px;
  font-size: 1.68rem;
  letter-spacing: 0.14em;
  color: var(--cream);
}

.hero-panel__text {
  color: rgba(245, 240, 232, 0.72);
  font-size: 0.88rem;
  letter-spacing: 0.05em;
}

.muted {
  color: rgba(245, 240, 232, 0.65);
  font-size: 0.88rem;
  letter-spacing: 0.05em;
}

.page-header {
  display:none;
  background: var(--ink);
  color: var(--cream);
  padding: 72px 0 48px;
}

.page-header--background {
  display: block;
  position: relative;
  overflow: hidden;
  min-height: clamp(260px, 34vw, 430px);
  padding: clamp(76px, 10vw, 126px) 0 clamp(48px, 7vw, 88px);
  background-color: var(--ink);
  background-image: var(--rt-page-background-image);
  background-position: center;
  background-size: cover;
}

.page-header--background::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(26, 22, 20, 0.76) 0%, rgba(26, 22, 20, 0.48) 46%, rgba(26, 22, 20, 0.18) 100%);
  pointer-events: none;
}

.page-header--background::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(to top, rgba(26, 22, 20, 0.44), rgba(26, 22, 20, 0.06));
  pointer-events: none;
}

.page-header__inner {
  position: relative;
  z-index: 1;
}

.page-header__eyebrow {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 0.66rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.page-title {
  margin: 0;
  font-size: clamp(2.8rem, 7vw, 4.8rem);
}

.page-title em,
.section-title em,
.hero-copy__title em,
.collab-banner__title em,
.cta-block__title em,
.entry-title em {
  color: var(--gold-light);
  font-style: italic;
}

.page-header__copy {
  max-width: 680px;
  margin-top: 18px;
  color: rgba(245, 240, 232, 0.6);
}

.rose-thorn-woocommerce .page-title {
  width: 100%;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line-strong);
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rose-thorn-woocommerce .page-header--background .page-title {
  max-width: 760px;
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.7rem, 6vw, 5rem);
  font-weight: 300;
  letter-spacing: 0;
  line-height: 0.95;
  text-transform: none;
}

.rose-thorn-woocommerce .page-header--background .page-header__copy {
  color: rgba(245, 240, 232, 0.78);
}

.page-header--custom-color .page-title,
.page-header--custom-color .page-header__copy,
.page-header--custom-color .page-header__copy a {
  color: var(--rt-page-font-color);
}

body.rt-has-context-background .site-main {
  background-image:
    linear-gradient(to bottom, rgba(255, 253, 248, 0.16), var(--warm-white) 520px),
    var(--rt-page-background-image);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 520px, 100% 520px;
}

body.home.rt-has-context-background .site-main {
  background-image: var(--rt-page-background-image);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 520px;
}

body.tax-product_cat.rt-has-context-background .site-main {
  background-image: none;
}

.page-content {
  padding: 72px 0;
}

.section-wrap,
.page-section {
  padding: 12px 0;
}

.section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.section-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: 0.02em;
}

.section-link,
.text-link {
  text-decoration: none;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--ash);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}

.section-link:hover,
.text-link:hover {
  color: var(--gold);
}

.collections-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 2px;
  background: rgba(184, 148, 90, 0.12);
}

.showcase-card,
.editorial-card,
.creator-card,
.archive-card {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  background: var(--warm-white);
  text-decoration: none;
  color: inherit;
}

.showcase-card {
  min-height: 260px;
}

.showcase-card--large {
  grid-row: span 2;
  min-height: 524px;
}

.showcase-card__bg,
.editorial-card__bg,
.creator-card__bg,
.archive-card__bg {
  position: absolute;
  inset: 0;
  transition: transform 0.5s ease;
}

.showcase-card:hover .showcase-card__bg,
.editorial-card:hover .editorial-card__bg,
.creator-card:hover .creator-card__bg,
.archive-card:hover .archive-card__bg {
  transform: scale(1.04);
}

.showcase-card__bg--1 {
  background: linear-gradient(145deg, #3d2b1f 0%, #5c3d2e 50%, #2e1f16 100%);
}

.showcase-card__bg--2 {
  background: linear-gradient(145deg, #1e2d2a 0%, #2d4038 50%, #182420 100%);
}

.showcase-card__bg--3 {
  background: linear-gradient(145deg, #2d2035 0%, #3d2a4a 50%, #221830 100%);
}

.showcase-card__bg--4 {
  background: linear-gradient(145deg, #2a2020 0%, #3d2d2d 50%, #201818 100%);
}

.showcase-card__bg--5 {
  background: linear-gradient(145deg, #28282a 0%, #3a3535 50%, #201e20 100%);
}

.showcase-card__overlay,
.editorial-card__overlay,
.archive-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(26, 22, 20, 0.84) 0%, transparent 60%);
}

.showcase-card__body,
.editorial-card__body,
.archive-card__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 26px;
}

.showcase-card__eyebrow,
.editorial-card__eyebrow,
.archive-card__eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-size: 0.64rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.showcase-card__title,
.editorial-card__title,
.archive-card__title {
  margin: 0;
  font-size: 1.45rem;
  color: var(--cream);
}

.showcase-card--large .showcase-card__title {
  font-size: 2.2rem;
}

.showcase-card__meta,
.editorial-card__meta,
.archive-card__meta {
  margin: 8px 0 0;
  color: rgba(245, 240, 232, 0.55);
  font-size: 0.72rem;
}

.creators-strip {
  background: var(--cream);
}

.creator-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.creator-card {
  height: 300px;
  border: 0;
  background: rgba(26, 22, 20, 0.16);
  color: var(--cream);
  box-shadow: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.creator-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: var(--line-strong);
}

.creator-card__visual {
  position: absolute;
  inset: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-radius: 0;
}

.creator-card__bg--1 {
  background: linear-gradient(135deg, #4a3228, #8a5a42, #3d2c24);
}

.creator-card__bg--2 {
  background: linear-gradient(135deg, #2d3a2e, #4a6652, #182420);
}

.creator-card__bg--3 {
  background: linear-gradient(135deg, #2a2d3e, #484d6a, #22253a);
}

.creator-card__bg--4 {
  background: linear-gradient(135deg, #3a2d35, #624258, #2e232a);
}

.creator-card__bg--5 {
  background: linear-gradient(135deg, #2c3038, #3e4558, #222530);
}

.creator-card__bg--6 {
  background: linear-gradient(135deg, #362820, #5a4030, #2a2018);
}

.creator-card__body {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 2;
  padding: 10px 12px 11px;
  background: rgba(26, 22, 20, 0.64);
  backdrop-filter: blur(4px);
}

.creator-card__eyebrow {
  margin: 0;
  color: rgba(255, 249, 239, 0.68);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.creator-card__title {
  margin: 5px 0 7px;
  color: var(--cream);
  font-size: 1.2rem;
  line-height: 1.08;
}

.creator-card__text {
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: rgba(255, 249, 239, 0.76);
  font-size: 0.72rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.creator-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 249, 239, 0.2);
  color: rgba(255, 249, 239, 0.72);
  font-size: 0.66rem;
}

.creator-card .text-link {
  color: var(--cream);
}

.hero-copy {
  position: relative;
  overflow: hidden;
  background: var(--ink);
  color: var(--cream);
}

.hero-copy--collections,
.hero-copy--creators {
  margin-top: 0;
}

.hero-copy__backdrop,
.archive-hero__backdrop {
  position: absolute;
  inset: 0;
}

.hero-copy--collections .hero-copy__backdrop {
  background: linear-gradient(135deg, #2c2420 0%, #4a3228 30%, #3d2c24 60%, #251e1b 100%);
}

.hero-copy--creators .hero-copy__backdrop {
  background: linear-gradient(135deg, #1d1917 0%, #342720 55%, #1a1614 100%);
}

.hero-copy__inner {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 40px), var(--content));
  margin: 0 auto;
  padding: 76px 0;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 48px;
  align-items: end;
}

.hero-copy__tag {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 0.66rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.hero-copy__title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 300;
  line-height: 0.95;
}

.hero-copy__text {
  max-width: 540px;
  margin: 18px 0 0;
  color: rgba(245, 240, 232, 0.58);
}

.hero-copy__meta {
  text-align: right;
}

.hero-copy__meta-number {
  font-family: "Cormorant Garamond", serif;
  font-size: 4rem;
  color: rgba(184, 148, 90, 0.3);
  line-height: 1;
}

.hero-copy__meta-label {
  color: rgba(245, 240, 232, 0.4);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 22px 0;
}

.pill-row__item {
  padding: 8px 18px;
  border: 1px solid var(--line-strong);
  background: var(--warm-white);
  color: var(--ash);
  font-size: 0.73rem;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
}

.pill-row__item:hover {
  border-color: var(--gold);
  color: var(--ink);
}

.editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 3px;
  background: rgba(184, 148, 90, 0.08);
}

.editorial-card {
  min-height: 230px;
}

.editorial-card--large {
  grid-column: span 2;
  min-height: 480px;
}

.editorial-card--tall {
  grid-row: span 2;
  min-height: 480px;
}

.editorial-card--wide {
  grid-column: span 2;
}

.editorial-card__bg--1 {
  background: linear-gradient(145deg, #3d2b1f 0%, #6b4a38 40%, #2e1f16 100%);
}

.editorial-card__bg--2 {
  background: linear-gradient(145deg, #1e2d2a 0%, #3a5548 40%, #101e1c 100%);
}

.editorial-card__bg--3 {
  background: linear-gradient(145deg, #2d2035 0%, #4a3468 40%, #1a1220 100%);
}

.editorial-card__bg--4 {
  background: linear-gradient(145deg, #2a1e1e 0%, #4a2e2e 40%, #1e1616 100%);
}

.editorial-card__bg--5 {
  background: linear-gradient(145deg, #20282a 0%, #304040 40%, #181e20 100%);
}

.editorial-card__bg--6 {
  background: linear-gradient(145deg, #2a2c1e 0%, #42442c 40%, #1e2018 100%);
}

.editorial-card__bg--image,
.creator-card__bg--image {
  background-image:
    linear-gradient(145deg, rgba(26, 22, 20, 0.18), rgba(26, 22, 20, 0.56)),
    var(--rt-page-background-image);
  background-position: center;
  background-size: cover;
  filter: saturate(0.95) contrast(1.03);
}

.creator-card__bg--image {
  background-image: var(--rt-page-background-image);
}

.collections-tile-wrap {
  padding-top: 28px;
  padding-bottom: 80px;
}

.collections-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.collections-tile {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  display: block;
  background: rgba(26, 22, 20, 0.16);
  color: var(--cream);
  text-decoration: none;
}

.collections-tile__media,
.collections-tile__media::after {
  position: absolute;
  inset: 0;
}

.collections-tile__media {
  display: block;
  background: linear-gradient(145deg, #1e2d2a 0%, #3a5548 42%, #101e1c 100%);
}

.collections-tile__media::after {
  content: "";
  background: linear-gradient(180deg, rgba(26, 22, 20, 0.05), rgba(26, 22, 20, 0.72));
}

.collections-tile__media--empty {
  background: linear-gradient(145deg, #2a2c1e 0%, #42442c 40%, #1e2018 100%);
}

.collections-tile__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.28s ease;
}

.collections-tile:hover .collections-tile__image,
.collections-tile:focus-visible .collections-tile__image {
  transform: scale(1.04);
}

.collections-tile__body {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 2;
  display: grid;
  gap: 3px;
  padding: 7px 8px;
  background: rgba(26, 22, 20, 0.58);
  backdrop-filter: blur(4px);
}

.collections-tile__eyebrow {
  color: rgba(255, 249, 239, 0.68);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1;
  text-transform: uppercase;
}

.collections-tile__title {
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.05;
}

.collections-tile__count {
  color: rgba(255, 249, 239, 0.72);
  font-size: 0.66rem;
  font-weight: 600;
  line-height: 1;
}

.collection-layout-section {
  width: min(75vw, var(--content));
  padding-top: 32px;
  padding-bottom: 80px;
}

.collection-product-grid {
  display: grid;
  grid-template-columns: repeat(var(--collection-product-grid-columns, 2), minmax(0, 1fr));
  grid-auto-flow: row;
  grid-auto-rows: minmax(170px, 42vw);
  gap: 0;
}

.collection-product-tile {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  color: var(--cream);
  text-decoration: none;
  background: var(--collection-tile-bg);
  border-radius: 0;
  border: 0;
}

.collection-product-tile--wide {
  grid-column: span 2;
}

.collection-product-tile--tall {
  grid-row: span 2;
}

.collection-product-tile--positioned {
  grid-column: var(--collection-tile-column) / span 1;
  grid-row: var(--collection-tile-row) / span 1;
}

.collection-product-tile--positioned.collection-product-tile--wide {
  grid-column: var(--collection-tile-column) / span 2;
}

.collection-product-tile--positioned.collection-product-tile--tall {
  grid-row: var(--collection-tile-row) / span 2;
}

.collection-product-tile__background,
.collection-product-tile__media,
.collection-product-tile__media::after {
  position: absolute;
  inset: 0;
}

.collection-product-tile__background {
  background: var(--collection-tile-bg);
}

.collection-product-tile__media {
  z-index: 1;
}

.collection-product-tile__media::after {
  content: "";
  background:
    linear-gradient(to top, rgba(26, 22, 20, 0.78) 0%, rgba(26, 22, 20, 0.18) 58%, rgba(26, 22, 20, 0.08) 100%);
}

.collection-product-tile__image {
  width: 100%;
  height: 100%;
  background-color: var(--collection-tile-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  object-fit: cover;
  opacity: 0.72;
  mix-blend-mode: screen;
  filter: saturate(0.86) contrast(1.04);
  transition: transform 0.5s ease, opacity 0.3s ease;
}

.collection-product-tile:hover .collection-product-tile__image {
  transform: scale(1.04);
  opacity: 0.82;
}

.collection-product-tile__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  width: 100%;
  padding: clamp(18px, 3vw, 30px);
}

.collection-product-tile__eyebrow {
  color: var(--gold-light);
  font-size: 0.64rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.collection-product-tile__title {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.3rem, 3vw, 2.4rem);
  line-height: 0.96;
}

.collection-product-tile__price {
  color: rgba(245, 240, 232, 0.72);
  font-size: 0.82rem;
}

.rt-favourite-button {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 8;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  color: rgba(255, 249, 239, 0.9);
  background: transparent;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.42);
  transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.rt-favourite-button:hover,
.rt-favourite-button:focus-visible {
  color: #fff9ef;
  background: transparent;
  outline: none;
}

.rt-favourite-button:active {
  transform: scale(0.92);
}

.rt-favourite-button.is-favourite {
  color: #e12636;
}

.rt-favourite-button svg {
  width: 20px;
  height: 20px;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rt-favourite-button.is-favourite svg {
  fill: currentColor;
}

.rt-favourites-drawer {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9400;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: min(720px, 100vw);
  pointer-events: none;
  transform: translateY(calc(100% - 38px));
  transition: transform 0.28s cubic-bezier(0.2, 0.78, 0.2, 1);
}

.rt-favourites-drawer.is-open {
  transform: translateY(0);
}

.rt-favourites-topbar {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 0;
  width: 100%;
  height: 38px;
  pointer-events: auto;
}

.rt-favourites-tab {
  position: relative;
  flex: 0 0 38px;
  width: 104px;
  height: 38px;
  margin: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--ash);
  background: #1aec8a;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 -8px 20px rgba(26, 22, 20, 0.12);
}

.rt-favourites-wishlist-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(230px, 36vw, 340px);
  max-width: calc(100vw - 104px);
  height: 28px;
  padding: 0 16px;
  color: var(--ash);
  background: #1aec8a;
  box-shadow: 0 -8px 20px rgba(26, 22, 20, 0.1);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  pointer-events: auto;
}

.rt-favourites-wishlist-tab:hover,
.rt-favourites-wishlist-tab:focus,
.rt-favourites-wishlist-tab:active,
.rt-favourites-wishlist-tab:visited {
  text-decoration: none;
}

.rt-favourites-tab:hover,
.rt-favourites-tab:focus-visible,
.rt-favourites-wishlist-tab:hover,
.rt-favourites-wishlist-tab:focus-visible {
  color: var(--gold);
}

.rt-favourites-tab__label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.rt-favourites-tab__label--close,
.rt-favourites-tab__caret {
  display: none;
}

.rt-favourites-drawer.is-open .rt-favourites-tab__label--view,
.rt-favourites-drawer.is-open .rt-favourites-tab__icon--heart {
  display: none;
}

.rt-favourites-drawer.is-open .rt-favourites-tab__label--close {
  display: inline;
}

.rt-favourites-tab svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.rt-favourites-tab__icon--heart svg {
  fill: currentColor;
  stroke: currentColor;
}

.rt-favourites-drawer.is-open .rt-favourites-tab__caret {
  display: block;
}

.rt-favourites-tab__caret {
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}

.rt-favourites-panel {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 140px;
  margin-top: 0;
  padding: 12px 42px 0;
  overflow: hidden;
  background: #1aec8a;
  pointer-events: auto;
  box-shadow: 0 -12px 28px rgba(26, 22, 20, 0.12);
}

.rt-favourites-rail {
  display: flex;
  gap: 10px;
  height: 128px;
  overflow-x: auto;
  overflow-y: hidden;
  overflow-anchor: none;
  scroll-snap-type: none;
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  overscroll-behavior-x: contain;
  touch-action: pan-y;
  -webkit-user-select: none;
  user-select: none;
}

.rt-favourites-rail::-webkit-scrollbar {
  display: none;
}

.rt-favourites-rail.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.rt-favourites-scroll {
  position: absolute;
  top: 12px;
  bottom: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  margin: 0;
  padding: 0;
  color: var(--ash);
  background: rgba(26, 22, 20, 0.12);
  border: 0;
  border-radius: 0;
  cursor: pointer;
}

.rt-favourites-scroll:disabled {
  cursor: default;
  opacity: 0.26;
}

.rt-favourites-scroll:not(:disabled):hover,
.rt-favourites-scroll:not(:disabled):focus-visible {
  color: var(--gold);
  background: rgba(26, 22, 20, 0.2);
}

.rt-favourites-scroll--left {
  left: 4px;
}

.rt-favourites-scroll--right {
  right: 4px;
}

.rt-favourites-scroll span {
  width: 10px;
  height: 10px;
  border-bottom: 2px solid currentColor;
}

.rt-favourites-scroll--left span {
  border-left: 2px solid currentColor;
  transform: rotate(45deg);
}

.rt-favourites-scroll--right span {
  border-right: 2px solid currentColor;
  transform: rotate(-45deg);
}

.rt-favourites-rail__item {
  position: relative;
  flex: 0 0 clamp(122px, 22vw, 170px);
  height: 128px;
  overflow: hidden;
  color: var(--cream);
  text-decoration: none;
  background: rgba(26, 22, 20, 0.16);
  scroll-snap-align: start;
  -webkit-user-drag: none;
  user-select: none;
  transition:
    flex-basis 0.32s cubic-bezier(0.18, 0.86, 0.2, 1),
    opacity 0.22s ease,
    outline-color 0.22s ease;
}

.rt-favourites-rail__item.is-receiving {
  outline: 2px solid rgba(26, 22, 20, 0.36);
  outline-offset: -2px;
}

.hf-tile .collection-product-tile__content,
.rt-favourite-flyer .collection-product-tile__content,
.hf-tile .collection-product-tile__title,
.rt-favourite-flyer .collection-product-tile__title,
.hf-tile .collection-product-tile__price,
.rt-favourite-flyer .collection-product-tile__price {
  transition:
    inset 0.22s ease,
    padding 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    font-size 0.22s ease,
    font-weight 0.22s ease,
    line-height 0.22s ease,
    opacity 0.18s ease;
}

.hf-tile .collection-product-tile__image,
.rt-favourite-flyer .collection-product-tile__image {
  transition:
    transform 0.22s ease,
    opacity 0.22s ease,
    filter 0.22s ease,
    mix-blend-mode 0.22s ease;
}

.rt-favourites-rail__drop-slot {
  flex-basis: 0;
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  outline: 2px solid rgba(26, 22, 20, 0);
  background: transparent;
}

.rt-favourites-rail__drop-slot.is-open {
  flex-basis: clamp(122px, 22vw, 170px);
  opacity: 0;
  outline-color: rgba(26, 22, 20, 0);
}

.rt-favourite-flyer {
  position: fixed;
  z-index: 9600;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 0 !important;
  pointer-events: none;
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center;
  transition:
    left 0.26s cubic-bezier(0.18, 0.86, 0.2, 1),
    top 0.26s cubic-bezier(0.18, 0.86, 0.2, 1),
    width 0.26s cubic-bezier(0.18, 0.86, 0.2, 1),
    height 0.26s cubic-bezier(0.18, 0.86, 0.2, 1),
    transform 0.28s cubic-bezier(0.18, 0.86, 0.2, 1),
    opacity 0.24s ease,
    filter 0.24s ease;
  will-change: left, top, width, height, transform, opacity;
  box-shadow: 0 16px 40px rgba(26, 22, 20, 0.24);
}

.rt-favourite-flyer.hf-tile {
  position: fixed;
  z-index: 9600;
  margin: 0 !important;
  pointer-events: none;
  cursor: default;
  border-radius: 0 !important;
  will-change: left, top, width, height, transform, opacity;
}

.rt-favourite-flyer.is-flying {
  opacity: 0.08;
  filter: saturate(1.25) brightness(1.08);
  transform: translate3d(var(--rt-fly-x), var(--rt-fly-y), 0) scale(0.08);
}

.rt-favourite-flyer .rt-favourite-button {
  display: none;
}

.rt-favourite-flyer--slot {
  opacity: 0.94;
  transform: translate3d(0, 0, 0) scale(1);
}

.rt-favourite-flyer--slot.is-fitting {
  opacity: 0.96;
  transform: translate3d(0, 0, 0) scale(1);
}

.rt-favourite-flyer--slot.is-handing-off {
  opacity: 0;
  filter: saturate(1.05) brightness(1.02);
}

.hf-tile.hf-favourite-preview,
.rt-favourite-flyer--slot {
  color: var(--cream);
  background: rgba(26, 22, 20, 0.16);
  border-radius: 0 !important;
  box-shadow: 0 10px 28px rgba(26, 22, 20, 0.2);
  filter: saturate(1.02) contrast(1.02);
}

.hf-tile.hf-favourite-preview *,
.rt-favourite-flyer--slot * {
  border-radius: 0 !important;
}

.hf-tile.hf-favourite-preview::before,
.rt-favourite-flyer--slot::before {
  opacity: 0;
}

.hf-tile.hf-favourite-preview .collection-product-tile__image,
.rt-favourite-flyer--slot .collection-product-tile__image {
  opacity: 1;
  mix-blend-mode: normal;
  filter: none;
  transform: none;
}

.hf-tile.hf-favourite-preview .collection-product-tile__content,
.rt-favourite-flyer--slot .collection-product-tile__content {
  opacity: 0;
}

.hf-tile.hf-favourite-preview .rt-favourite-button,
.rt-favourite-flyer--slot .rt-favourite-button {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.82);
}

.rt-favourite-preview-tag {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 9;
  width: auto;
  display: grid;
  gap: 2px;
  padding: 6px 7px;
  background: rgba(26, 22, 20, 0.56);
  color: var(--cream);
  font-family: "DM Sans", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.08;
  backdrop-filter: blur(4px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(5px);
  transition:
    opacity 0.18s ease 0.1s,
    transform 0.22s ease 0.1s;
}

.rt-favourite-preview-tag__title {
  font-family: "DM Sans", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.08;
}

.rt-favourite-preview-tag__price {
  color: rgba(255, 249, 239, 0.74);
  font-size: 0.68rem;
  font-weight: 600;
}

.hf-tile.hf-favourite-preview .rt-favourite-preview-tag,
.rt-favourite-flyer--slot .rt-favourite-preview-tag {
  opacity: 1;
  transform: translateY(0);
}

.rt-favourites-rail__item img,
.rt-favourites-rail__image-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
}

.rt-favourites-rail__image-placeholder {
  background: linear-gradient(135deg, rgba(26, 22, 20, 0.35), rgba(184, 148, 90, 0.26));
}

.rt-favourites-rail__tag {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  display: grid;
  gap: 2px;
  padding: 6px 7px;
  background: rgba(26, 22, 20, 0.56);
  color: var(--cream);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.08;
  backdrop-filter: blur(4px);
}

.rt-favourites-rail__price {
  color: rgba(255, 249, 239, 0.74);
  font-size: 0.68rem;
  font-weight: 600;
}

@media (max-width: 640px) {
  .rt-favourite-button {
    right: 8px;
    bottom: 8px;
    width: 34px;
    height: 34px;
  }

  .rt-favourites-drawer {
    right: 0;
    bottom: 0;
    width: 100vw;
    transform: translateY(calc(100% - 36px));
  }

  .rt-favourites-drawer.is-open {
    transform: translateY(0);
  }

  .rt-favourites-tab {
    flex-basis: 36px;
    width: 96px;
    height: 36px;
  }

  .rt-favourites-topbar {
    height: 36px;
  }

  .rt-favourites-wishlist-tab {
    width: calc(100vw - 96px);
    max-width: calc(100vw - 96px);
    height: 26px;
    padding: 0 10px;
    font-size: 0.52rem;
  }

  .rt-favourites-panel {
    min-height: 122px;
    margin-top: 0;
    padding: 10px 38px 0;
  }

  .rt-favourites-scroll {
    top: 10px;
    width: 32px;
  }

  .rt-favourites-rail,
  .rt-favourites-rail__item {
    height: 112px;
  }
}

.rt-wishlist-page {
  padding: clamp(32px, 6vw, 72px) 0 clamp(80px, 10vw, 128px);
}

.rt-wishlist-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 18px;
}

.rt-wishlist-header__eyebrow {
  margin: 0 0 8px;
  color: var(--gold);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  line-height: 1;
  text-transform: uppercase;
}

.rt-wishlist-header__title {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.4rem, 7vw, 4.8rem);
  font-weight: 300;
  line-height: 0.96;
}

.rt-wishlist-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  position: relative;
  z-index: 5;
}

.rt-wishlist-action-wrap {
  position: relative;
  display: inline-flex;
}

.rt-wishlist-action {
  min-height: 34px;
  padding: 0 14px;
  color: var(--ash);
  background: #1aec8a;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 34px;
  text-decoration: none;
  text-transform: uppercase;
  transform-origin: center;
  will-change: transform;
}

.rt-wishlist-action:hover,
.rt-wishlist-action:focus-visible,
.rt-wishlist-saved__item:hover,
.rt-wishlist-saved__item:focus-visible,
.rt-wishlist-tile__view:hover,
.rt-wishlist-tile__view:focus-visible,
.rt-wishlist-tile__remove:hover,
.rt-wishlist-tile__remove:focus-visible,
.rt-wishlist-empty a:hover,
.rt-wishlist-empty a:focus-visible {
  color: var(--gold);
  background: #1aec8a;
}

.rt-wishlist-action--link {
  display: inline-flex;
  align-items: center;
}

.rt-wishlist-action.is-animating {
  animation: rt-wishlist-action-tap 0.3s cubic-bezier(0.18, 0.86, 0.2, 1);
}

@keyframes rt-wishlist-action-tap {
  0% {
    transform: translateY(0) scale(1);
  }

  38% {
    transform: translateY(1px) scale(0.94);
  }

  100% {
    transform: translateY(0) scale(1);
  }
}

.rt-wishlist-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 20;
  min-width: 156px;
  padding: 12px;
  color: var(--ash);
  background: #1aec8a;
  border: 1px solid rgba(26, 22, 20, 0.2);
  border-radius: 0;
  box-shadow: 0 14px 38px rgba(26, 22, 20, 0.16);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-5px) scale(0.98);
  transform-origin: top right;
  transition:
    opacity 0.16s ease,
    transform 0.18s cubic-bezier(0.18, 0.86, 0.2, 1);
}

.rt-wishlist-popover[hidden] {
  display: none;
}

.rt-wishlist-popover.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.rt-wishlist-popover::before {
  content: "";
  position: absolute;
  top: -6px;
  right: 18px;
  width: 11px;
  height: 11px;
  background: #1aec8a;
  border-top: 1px solid rgba(26, 22, 20, 0.2);
  border-left: 1px solid rgba(26, 22, 20, 0.2);
  transform: rotate(45deg);
}

.rt-wishlist-popover--save {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.rt-wishlist-popover--share {
  width: min(420px, calc(100vw - 32px));
}

.rt-wishlist-popover--share input {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid rgba(26, 22, 20, 0.28);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.5);
  color: var(--ash);
  font-size: 0.78rem;
}

.rt-wishlist-popover--lists {
  width: min(560px, calc(100vw - 32px));
  padding: 10px;
}

.rt-wishlist-status {
  min-height: 22px;
  margin: 0 0 10px;
  color: var(--ash);
  font-size: 0.78rem;
}

.rt-wishlist-status[data-status="success"] {
  color: #16733d;
}

.rt-wishlist-status[data-status="error"] {
  color: #9f2735;
}

.rt-wishlist-saved__list {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 8px;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 0 0 8px;
  scrollbar-color: var(--ash) rgba(26, 22, 20, 0.12);
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.rt-wishlist-saved__list::-webkit-scrollbar {
  height: 8px;
}

.rt-wishlist-saved__list::-webkit-scrollbar-track {
  background: rgba(26, 22, 20, 0.12);
}

.rt-wishlist-saved__list::-webkit-scrollbar-thumb {
  background: var(--ash);
}

.rt-wishlist-saved__item {
  flex: 0 0 184px;
  display: grid;
  gap: 4px;
  min-height: 54px;
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: rgba(26, 22, 20, 0.1);
  color: var(--ash);
  cursor: pointer;
  text-align: left;
}

.rt-wishlist-saved__item span {
  font-weight: 800;
}

.rt-wishlist-saved__item small,
.rt-wishlist-saved__empty {
  color: rgba(26, 22, 20, 0.66);
}

.rt-wishlist-saved__empty {
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 2px;
  white-space: nowrap;
}

.rt-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  grid-auto-rows: 240px;
  gap: 8px;
  align-items: stretch;
  min-height: 220px;
}

.rt-wishlist-tile {
  position: relative;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background: rgba(26, 22, 20, 0.16);
  border-radius: 0;
  color: var(--cream);
  touch-action: none;
  transition:
    transform 0.22s cubic-bezier(0.18, 0.86, 0.2, 1),
    opacity 0.18s ease,
    box-shadow 0.18s ease;
}

.rt-wishlist-tile.is-dragging {
  z-index: 20;
  opacity: 0.94;
  border-radius: 0 !important;
  box-shadow: 0 18px 42px rgba(26, 22, 20, 0.28);
  transition: none;
}

.rt-wishlist-tile.is-settling {
  opacity: 1;
  box-shadow: 0 10px 28px rgba(26, 22, 20, 0.18);
  pointer-events: none;
}

.rt-wishlist-tile--placeholder {
  min-height: 100%;
  background:
    linear-gradient(135deg, rgba(26, 22, 20, 0.08), rgba(26, 22, 20, 0.02));
  outline: 2px solid rgba(26, 22, 20, 0.24);
  outline-offset: -2px;
  transition: background 0.2s ease, outline-color 0.2s ease;
}

.rt-wishlist-tile__link {
  position: absolute;
  inset: 0;
  display: block;
  color: inherit;
  text-decoration: none;
}

.rt-wishlist-tile__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  pointer-events: none;
  -webkit-user-drag: none;
}

.rt-wishlist-tile__image--empty {
  background: linear-gradient(135deg, rgba(26, 22, 20, 0.35), rgba(184, 148, 90, 0.26));
}

.rt-wishlist-tile__tag {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 2;
  display: grid;
  gap: 2px;
  padding: 6px 7px;
  background: rgba(26, 22, 20, 0.56);
  color: var(--cream);
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.08;
  backdrop-filter: blur(4px);
}

.rt-wishlist-tile__price {
  color: rgba(255, 249, 239, 0.74);
  font-size: 0.68rem;
  font-weight: 600;
}

.rt-wishlist-tile__view {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  max-width: calc(100% - 52px);
  padding: 0 10px;
  overflow: hidden;
  color: var(--ash);
  background: rgba(26, 236, 138, 0.88);
  font-size: 0.56rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 28px;
  text-decoration: none;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.rt-wishlist-tile__remove {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  color: var(--ash);
  background: rgba(26, 236, 138, 0.88);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
}

.rt-wishlist-empty {
  padding: 42px 0;
  color: var(--ash);
}

.rt-wishlist-empty a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  color: var(--ash);
  background: #1aec8a;
  font-weight: 800;
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  line-height: 34px;
  text-decoration: none;
  text-transform: uppercase;
}

@media (min-width: 900px) {
  .rt-wishlist-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 260px;
  }
}

@media (max-width: 640px) {
  .rt-wishlist-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .rt-wishlist-actions {
    justify-content: flex-start;
  }

  .rt-wishlist-action-wrap {
    position: static;
  }

  .rt-wishlist-popover {
    left: 0;
    right: auto;
    transform-origin: top left;
  }

  .rt-wishlist-popover::before {
    left: 24px;
    right: auto;
  }

  .rt-wishlist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 190px;
    gap: 6px;
  }
}

.collab-banner {
  margin-top: 56px;
  padding: 56px;
  background: var(--ink);
  color: var(--cream);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
}

.collab-banner__tag {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: 0.66rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.collab-banner__title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3rem);
}

.collab-banner__text {
  max-width: 640px;
  margin: 14px 0 0;
  color: rgba(245, 240, 232, 0.56);
}

.button,
.wp-block-button__link,
.archive-card__cta,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 24px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: var(--cream);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
  border-radius: 0;
}

.button:hover,
.wp-block-button__link:hover,
.archive-card__cta:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--cream);
}

.content-wrap {
  padding: 72px 0;
}

.entry-header {
  margin-bottom: 24px;
  padding: clamp(28px, 5vw, 56px);
  background:
    linear-gradient(135deg, rgba(250, 248, 244, 0.9) 0%, rgba(255, 255, 255, 0.9) 48%, rgba(232, 221, 210, 0.9) 100%);
  border: 1px solid var(--line);
}

.entry-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.entry-content {
  padding: clamp(28px, 5vw, 56px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(250, 248, 244, 0.9) 52%, rgba(232, 221, 210, 0.9) 100%);
  border: 1px solid var(--line);
}

.entry-content > *:first-child {
  margin-top: 0;
}

.entry-content > *:last-child {
  margin-bottom: 0;
}

.archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.archive-grid--compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.archive-card {
  height: 360px;
  border: 0;
  background: rgba(26, 22, 20, 0.16);
  color: var(--cream);
  box-shadow: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.archive-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.archive-card__visual {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: 0;
  color: inherit;
  text-decoration: none;
}

.archive-grid--compact .archive-card__visual {
  min-height: 0;
}

.archive-card__bg--post {
  background: linear-gradient(145deg, #2e2820 0%, #423c30 60%, #23201a 100%);
}

.archive-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.archive-card:hover .archive-card__image {
  transform: scale(1.04);
}

.archive-card .archive-card__overlay {
  background: linear-gradient(180deg, rgba(26, 22, 20, 0.04), rgba(26, 22, 20, 0.32));
}

.archive-card__content {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 2;
  padding: 10px 12px 11px;
  background: rgba(26, 22, 20, 0.66);
  backdrop-filter: blur(4px);
}

.archive-grid--compact .archive-card__content {
  padding: 10px 12px 11px;
}

.archive-card__eyebrow {
  margin: 0;
  color: rgba(255, 249, 239, 0.68);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.archive-card__title {
  margin: 5px 0 7px;
  color: var(--cream);
  font-size: 1.35rem;
  line-height: 1.08;
}

.archive-card__title a {
  color: inherit;
  text-decoration: none;
}

.archive-grid--compact .archive-card__title {
  font-size: 1.2rem;
  line-height: 1.08;
}

.archive-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: rgba(255, 249, 239, 0.76);
  font-size: 0.72rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.archive-card__excerpt p {
  margin: 0;
}

.archive-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 249, 239, 0.2);
  color: rgba(255, 249, 239, 0.72);
  font-size: 0.66rem;
}

.archive-card .text-link,
.archive-grid--compact .text-link {
  color: var(--cream);
  font-size: 0.66rem;
}

.site-footer {
  background: var(--ink);
  color: rgba(245, 240, 232, 0.6);
  padding: 64px 0 36px;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 40px;
}

.site-footer__title {
  margin: 0 0 18px;
  font-family: "Cinzel", serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold);
}

.site-footer__brand {
  font-family: "Cinzel", serif;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cream);
  margin-bottom: 14px;
}

.site-footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer li + li {
  margin-top: 10px;
}

.site-footer a {
  color: rgba(245, 240, 232, 0.6);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--gold-light);
}

.site-footer__bottom {
  border-top: 1px solid rgba(184, 148, 90, 0.15);
  padding-top: 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 0.74rem;
}

.shop-shell,
.blog-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 40px;
  padding: 56px 0 80px;
}

/* Give the shop grid the full shell width and let the page background show. */
.shop-shell {
  position: relative;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 18px;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.shop-sidebar {
  align-self: start;
  position: sticky;
  top: calc(var(--nav-h) + 24px);
}

.shop-sidebar .widget {
  margin-bottom: 30px;
}

.shop-sidebar .widget_product_categories,
.shop-sidebar .rose-thorn-taxonomy-filter--product_cat,
.shop-sidebar .rose-thorn-taxonomy-filter--product_collection,
.shop-sidebar .rose-thorn-taxonomy-filter--product_brand,
.shop-sidebar .rose-thorn-taxonomy-filter--pwb-brand,
.shop-sidebar .rose-thorn-taxonomy-filter--yith_product_brand,
.shop-sidebar .rose-thorn-taxonomy-filter--pa_brand,
.shop-sidebar .rose-thorn-taxonomy-filter--product_tag,
.blog-sidebar .rose-thorn-blog-widget {
  --shop-filter-accent: var(--gold);
  --shop-filter-border: rgba(184, 148, 90, 0.28);
  --shop-filter-gradient-start: rgba(184, 148, 90, 0.32);
  --shop-filter-gradient-end: rgba(255, 253, 248, 0.82);
  position: relative;
  overflow: hidden;
  padding: 16px 16px 18px;
  border: 1px solid var(--shop-filter-border);
  border-left: 4px solid var(--shop-filter-accent);
  border-radius: 0;
  background: linear-gradient(90deg, var(--shop-filter-gradient-start), var(--shop-filter-gradient-end));
}

.rt-shop-dust {
  position: absolute;
  inset: 0;
  z-index: 0 !important;
  overflow: hidden;
  color: var(--shop-filter-accent);
  pointer-events: none;
}

.rt-shop-dust__particle {
  position: absolute;
  top: var(--dust-y);
  left: 0;
  width: var(--dust-size);
  height: var(--dust-size);
  animation: rt-shop-dust-travel var(--dust-duration) linear infinite;
  animation-delay: var(--dust-delay);
  will-change: transform;
}

.rt-shop-dust__particle::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 4px 1px currentColor;
  opacity: 1;
  animation: rt-shop-dust-breathe var(--dust-twinkle) ease-in-out infinite alternate;
  animation-delay: var(--dust-twinkle-delay);
}

.rt-shop-dust__particle.is-flash::before {
  animation-name: rt-shop-dust-flash;
  animation-duration: var(--dust-flash);
  animation-timing-function: ease-in-out;
}

.shop-sidebar .widget_product_categories > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--product_cat > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--product_collection > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--product_brand > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--pwb-brand > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--yith_product_brand > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--pa_brand > :not(.rt-shop-dust),
.shop-sidebar .rose-thorn-taxonomy-filter--product_tag > :not(.rt-shop-dust) {
  position: relative;
  z-index: 1;
}

@keyframes rt-shop-dust-travel {
  0% {
    transform: translate3d(var(--dust-x-0), var(--dust-drift-0), 0);
  }
  17% {
    transform: translate3d(var(--dust-x-1), var(--dust-drift-1), 0);
  }
  39% {
    transform: translate3d(var(--dust-x-2), var(--dust-drift-2), 0);
  }
  63% {
    transform: translate3d(var(--dust-x-3), var(--dust-drift-3), 0);
  }
  83% {
    transform: translate3d(var(--dust-x-4), var(--dust-drift-4), 0);
  }
  100% {
    transform: translate3d(var(--dust-x-5), var(--dust-drift-5), 0);
  }
}

@keyframes rt-shop-dust-breathe {
  0% {
    opacity: 1;
    filter: brightness(0.82);
  }
  48% {
    opacity: 1;
    filter: brightness(1.28);
  }
  100% {
    opacity: 1;
    filter: brightness(1);
  }
}

@keyframes rt-shop-dust-flash {
  0%, 42%, 54%, 100% {
    border-radius: 50%;
    opacity: 1;
    filter: brightness(0.95);
    transform: rotate(0deg) scale(1);
  }
  47% {
    opacity: 1;
  }
  49.5% {
    border-radius: 0;
    opacity: 1;
    filter: brightness(1.75);
    transform: rotate(45deg) scale(1.8);
  }
  52% {
    border-radius: 50%;
    opacity: 1;
    transform: rotate(90deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rt-shop-dust__particle {
    left: var(--dust-rest-x);
    transform: none;
    animation: none;
  }

  .rt-shop-dust__particle::before {
    animation: none;
    opacity: 1;
  }
}

.shop-sidebar .widget_product_categories,
.shop-sidebar .rose-thorn-taxonomy-filter--product_cat {
  --shop-filter-accent: #3fc874;
  --shop-filter-border: rgba(63, 200, 116, 0.36);
  --shop-filter-gradient-start: rgba(63, 200, 116, 0.35);
  --shop-filter-gradient-end: rgba(26, 236, 138, 0.055);
}

.shop-sidebar .rose-thorn-taxonomy-filter--product_collection {
  --shop-filter-accent: #b52da0;
  --shop-filter-border: rgba(181, 45, 160, 0.34);
  --shop-filter-gradient-start: rgba(181, 45, 160, 0.32);
  --shop-filter-gradient-end: rgba(87, 42, 80, 0.045);
}

.shop-sidebar .rose-thorn-taxonomy-filter--product_brand,
.shop-sidebar .rose-thorn-taxonomy-filter--pwb-brand,
.shop-sidebar .rose-thorn-taxonomy-filter--yith_product_brand,
.shop-sidebar .rose-thorn-taxonomy-filter--pa_brand {
  --shop-filter-accent: #2b5151;
  --shop-filter-border: rgba(43, 81, 81, 0.36);
  --shop-filter-gradient-start: rgba(43, 81, 81, 0.31);
  --shop-filter-gradient-end: rgba(109, 204, 208, 0.05);
}

.shop-sidebar .rose-thorn-taxonomy-filter--product_tag {
  --shop-filter-accent: #d4af3f;
  --shop-filter-border: rgba(212, 175, 63, 0.42);
  --shop-filter-gradient-start: rgba(212, 175, 63, 0.34);
  --shop-filter-gradient-end: rgba(255, 239, 177, 0.06);
}

.blog-sidebar .rose-thorn-blog-widget--journal {
  --shop-filter-accent: #3fc874;
  --shop-filter-border: rgba(63, 200, 116, 0.36);
}

.blog-sidebar .rose-thorn-taxonomy-filter--category {
  --shop-filter-accent: #b52da0;
  --shop-filter-border: rgba(181, 45, 160, 0.34);
}

.blog-sidebar .rose-thorn-blog-widget--recent {
  --shop-filter-accent: #2b5151;
  --shop-filter-border: rgba(43, 81, 81, 0.36);
}

.blog-sidebar .rose-thorn-taxonomy-filter--post_tag {
  --shop-filter-accent: #d4af3f;
  --shop-filter-border: rgba(212, 175, 63, 0.42);
}

.shop-sidebar .widget:last-child {
  margin-bottom: 0;
}

.shop-sidebar .widget-title {
  margin: 0 0 14px;
  font-family: "Cinzel", serif;
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}

.shop-sidebar .widget_product_categories .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--product_cat .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--product_collection .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--product_brand .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--pwb-brand .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--yith_product_brand .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--pa_brand .widget-title,
.shop-sidebar .rose-thorn-taxonomy-filter--product_tag .widget-title,
.blog-sidebar .rose-thorn-blog-widget .widget-title {
  color: var(--shop-filter-accent);
}

.rose-thorn-filter-list,
.shop-sidebar .product-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rose-thorn-filter-list li + li,
.shop-sidebar .product-categories li + li {
  margin-top: 8px;
}

.rose-thorn-filter-list a,
.shop-sidebar .product-categories a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--ink);
  font-size: 0.84rem;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.rose-thorn-filter-list a:hover,
.rose-thorn-filter-list a[aria-current="page"],
.shop-sidebar .product-categories a:hover,
.shop-sidebar .product-categories .current-cat > a {
  color: var(--shop-filter-accent, var(--gold));
}

.rose-thorn-filter-list__count,
.shop-sidebar .product-categories .count {
  color: var(--muted);
  font-size: 0.72rem;
}

.shop-sidebar .product-categories .children {
  list-style: none;
  margin: 8px 0 0 14px;
  padding: 0;
}

.rose-thorn-filter-list--children {
  margin: 6px 0 0 14px !important;
  padding-left: 0;
}

.rose-thorn-filter-list--children a {
  font-size: 0.78rem;
  color: var(--muted);
}

.rose-thorn-filter-list--children a:hover,
.rose-thorn-filter-list--children a[aria-current="page"] {
  color: var(--shop-filter-accent, var(--gold));
}

.shop-main {
  padding: 0;
}

.shop-toolbar {
  --shop-filter-accent: #3fc874;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  max-width: 100%;
  margin: 0 0 18px auto;
  padding: 9px 12px 9px 16px;
  border: 1px solid rgba(184, 148, 90, 0.18);
  border-radius: 999px;
  overflow: hidden;
  background: rgba(26, 236, 138, 0.055);
  box-shadow: 0 10px 26px rgba(26, 22, 20, 0.06);
}

.shop-toolbar > :not(.rt-shop-dust) {
  position: relative;
  z-index: 1;
}

.shop-toolbar .woocommerce-result-count {
  margin: 0;
  font-size: 0.78rem;
  color: #000;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.shop-toolbar .woocommerce-ordering {
  margin: 0;
}

.shop-toolbar .woocommerce-ordering select {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  font-size: 0.72rem;
  color: #000;
  letter-spacing: 0.04em;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--line-strong);
}

.shop-main .woocommerce-products-header,
.shop-main .page-title {
  display: none;
}

.shop-main ul.products {
  padding: 16px 0 0;
}

.blog-main {
  padding: 0;
}

.blog-main .entry-header {
  margin-bottom: 30px;
  padding: clamp(24px, 4vw, 42px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(250, 248, 244, 0.9) 52%, rgba(232, 221, 210, 0.9) 100%);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.entry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 14px;
  color: var(--gold);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.entry-meta a {
  color: inherit;
  text-decoration: none;
}

.entry-meta a:hover {
  color: var(--ink);
}

.single-post .page-header--background {
  min-height: clamp(320px, 38vw, 480px);
}

.single-post .page-header--background::before {
  background: linear-gradient(90deg, rgba(26, 22, 20, 0.82) 0%, rgba(26, 22, 20, 0.54) 48%, rgba(26, 22, 20, 0.16) 100%);
}

.single-post .page-header--background .page-header__copy {
  color: rgba(255, 249, 239, 0.78);
}

.blog-main .entry-title {
  font-size: clamp(2.2rem, 4.5vw, 4rem);
}

.single-post__media {
  margin: 0 0 32px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.single-post__media img {
  width: 100%;
  display: block;
}

.blog-main .entry-content {
  padding: clamp(28px, 5vw, 56px);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(250, 248, 244, 0.9) 52%, rgba(232, 221, 210, 0.9) 100%);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.blog-main .entry-content > .entry-meta:first-child {
  margin: 0 0 26px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.blog-main .entry-footer {
  margin-top: 42px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.blog-main .post-navigation .nav-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.blog-main .post-navigation .nav-next {
  text-align: right;
}

.blog-main .post-navigation a {
  display: block;
  min-height: 100%;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  text-decoration: none;
  background: rgba(250, 248, 244, 0.9);
}

.blog-main .post-navigation a:hover {
  border-color: var(--line-strong);
  color: var(--gold);
}

.blog-main .nav-subtitle {
  display: block;
  margin-bottom: 6px;
  color: var(--ash);
  font-size: 0.66rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.blog-main .nav-title {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.24rem;
  line-height: 1.1;
}

.shop-main .woocommerce-result-count,
.shop-main .woocommerce-ordering {
  flex: 0 0 auto;
  float: none;
  margin: 0 0 16px;
}

.shop-main .woocommerce,
.shop-main .content-area > .site-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0 14px;
}

.shop-main .woocommerce-notices-wrapper,
.shop-main .woocommerce-products-header,
.shop-main .woocommerce-breadcrumb,
.shop-main .woocommerce ul.products,
.shop-main .woocommerce nav.woocommerce-pagination,
.shop-main .content-area > .site-main > ul.products,
.shop-main .content-area > .site-main > nav.woocommerce-pagination {
  flex: 0 0 100%;
}

.woocommerce-shop .shop-main .woocommerce-products-header__title.page-title,
.post-type-archive-product .shop-main .woocommerce-products-header__title.page-title {
  display: none;
}

.woocommerce-shop .shop-main .woocommerce-products-header,
.post-type-archive-product .shop-main .woocommerce-products-header {
  display: none;
}

.shop-main .woocommerce-breadcrumb {
  margin: 0 0 6px;
}

.shop-main .woocommerce-result-count {
  margin-left: auto;
  color: var(--ash);
  font-size: 0.76rem;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.shop-main .woocommerce-ordering {
  width: auto;
  margin-left: 0;
  text-align: right;
}

.shop-main .woocommerce-ordering select {
  width: auto;
  min-width: 168px;
  min-height: 36px;
  padding: 7px 34px 7px 10px;
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--ink);
  font-size: 0.76rem;
}

.shop-main .shop-toolbar {
  position: absolute;
  top: 4px;
  right: 0;
  z-index: 4;
  flex: 0 1 auto;
  margin: 0;
}

.shop-main .shop-toolbar .woocommerce-result-count,
.shop-main .shop-toolbar .woocommerce-ordering {
  margin: 0;
}

.shop-main .shop-toolbar .woocommerce-result-count {
  margin-left: 0;
  color: #000;
}

.shop-main .shop-toolbar .woocommerce-ordering select {
  min-width: 154px;
  min-height: 0;
  padding: 2px 4px 2px 12px;
  border: 0;
  background: transparent;
  color: #000;
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-underline-offset: 3px;
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 16px 0;
}

.shop-main ul.products {
  padding-top: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  float: none;
  width: auto;
  height: 260px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: rgba(26, 22, 20, 0.16);
  border: none;
  border-radius: 0;
  transition: opacity 0.2s ease;
}

.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
  width: auto;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  opacity: 0.82;
}

.shop-main ul.products li.product > a.woocommerce-LoopProduct-link,
.shop-main ul.products li.product > a.woocommerce-loop-product__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: var(--cream);
  text-decoration: none;
}

.shop-main ul.products li.product a img {
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
  background-color: var(--ink);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  object-fit: cover;
}

.shop-main ul.products li.product .woocommerce-loop-product__title {
  position: absolute;
  right: 8px;
  bottom: 8px;
  left: 8px;
  z-index: 2;
  min-height: 0;
  margin: 0;
  padding: 6px 7px;
  overflow: hidden;
  background: rgba(26, 22, 20, 0.56);
  color: var(--cream);
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: normal;
  line-height: 1.08;
  text-transform: none;
  backdrop-filter: blur(4px);
}

.shop-main ul.products li.product .price {
  position: absolute;
  top: 8px;
  right: 8px;
  bottom: auto;
  left: auto;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  margin: 0;
  padding: 7px;
  overflow: hidden;
  background: #1aec8a;
  color: var(--ash);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.1;
  text-align: right;
  white-space: normal;
  backdrop-filter: blur(4px);
}

.shop-main ul.products li.product .star-rating,
.shop-main ul.products li.product > a.button,
.shop-main ul.products li.product > .button,
.shop-main ul.products li.product .added_to_cart {
  display: none;
}

.woocommerce span.onsale {
  top: 14px;
  left: 14px;
  min-width: 0;
  min-height: 0;
  padding: 6px 12px;
  border-radius: 0;
  background: var(--gold);
  color: var(--cream);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
  pointer-events: none;
}

.woocommerce div.product {
  padding: 0 0 80px;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
  margin-bottom: 32px;
}

.woocommerce div.product div.images img {
  background-color: var(--ink);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
}

.woocommerce div.product div.summary {
  --shop-filter-accent: #3fc874;
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(26, 236, 138, 0.055);
  color: #000;
}

.woocommerce div.product div.summary > :not(.rt-shop-dust) {
  position: relative;
  z-index: 1;
}

.woocommerce div.product div.summary a {
  color: #000;
}

.woocommerce div.product .product_title {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 300;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ink);
}

.woocommerce div.product form.cart .single_add_to_cart_button.button,
.woocommerce div.product form.cart button.single_add_to_cart_button {
  border-color: #b52da0;
  background: #b52da0;
  color: var(--cream);
}

.woocommerce div.product form.cart .single_add_to_cart_button.button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button.button:focus-visible,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:focus-visible {
  border-color: #572a50;
  background: #572a50;
  color: var(--cream);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #421637;
  color: var(--cream);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #b52da0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  display: block;
  padding: 12px 20px;
  color: inherit;
  text-decoration: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active) a:focus-visible {
  background: #572a50;
  color: var(--cream);
}

.woocommerce div.product .woocommerce-tabs .panel {
  margin: 0 0 2em;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid rgba(26, 236, 138, 0.18);
  border-radius: 0;
  background: linear-gradient(135deg, rgba(26, 236, 138, 0.075), rgba(26, 236, 138, 0.015));
}

.woocommerce div.product .woocommerce-tabs #tab-description {
  --shop-filter-accent: #3fc874;
  position: relative;
  overflow: hidden;
  background: rgba(26, 236, 138, 0.055);
  color: #000;
}

.woocommerce div.product .woocommerce-tabs #tab-description > :not(.rt-shop-dust) {
  position: relative;
  z-index: 1;
}

.woocommerce div.product .woocommerce-tabs #tab-description a {
  color: #000;
}

.woocommerce div.product .woocommerce-tabs #reviews #respond input#submit {
  border-color: #b52da0;
  background: #b52da0;
  color: var(--cream);
}

.woocommerce div.product .woocommerce-tabs #reviews #respond input#submit:hover,
.woocommerce div.product .woocommerce-tabs #reviews #respond input#submit:focus-visible {
  border-color: #572a50;
  background: #572a50;
  color: var(--cream);
}

@media (min-width: 900px) {
  .woocommerce div.product .woocommerce-tabs #tab-description > h2:first-child {
    font-size: 1.25rem;
  }
}

.woocommerce .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  min-height: 46px;
  border: 1px solid var(--line-strong);
  background: transparent;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a {
  color: var(--ash);
}

.woocommerce nav.woocommerce-pagination ul {
  border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border-right: 0;
  margin: 0 4px;
}

.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a {
  min-width: 40px;
  min-height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #b52da0;
  background: #b52da0;
  color: var(--cream);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
  background: #572a50;
  color: var(--cream);
  border-color: #572a50;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--gold);
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--gold);
}

.empty-state {
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--cream);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 900px) {
  .collection-product-grid {
    grid-auto-rows: 230px;
    gap: 0;
  }
}

@media (max-width: 1080px) {
  .creator-grid,
  .archive-grid,
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__grid,
  .hero-copy__inner,
  .collab-banner,
  .shop-shell {
    grid-template-columns: 1fr;
  }

  .hero-copy__meta {
    text-align: left;
  }

  .shop-sidebar {
    position: static;
  }
}

@media (max-width: 820px) {
  .collections-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .collection-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .collection-product-tile--positioned {
    grid-column: var(--collection-tile-mobile-column) / span 1;
    grid-row: var(--collection-tile-mobile-row) / span 1;
  }

  .collection-product-tile--positioned.collection-product-tile--wide {
    grid-column: var(--collection-tile-mobile-column) / span 2;
  }

  .collection-product-tile--positioned.collection-product-tile--tall {
    grid-row: var(--collection-tile-mobile-row) / span 2;
  }

  .site-header,
  .site-header.is-condensed {
    height: auto;
  }

  /* On mobile the header is auto-height so an open menu has room; condensing
     only folds the tagline and shrinks the logo, it must not fix the height. */
  .site-header.is-condensed .site-header__inner {
    min-height: 0;
  }

  .site-header__inner {
    padding: 10px 0;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    gap: 6px 16px;
  }

  .branding {
    order: 1;
  }

  .nav-toggle {
    display: inline-flex;
    order: 2;
    margin-left: auto;
  }

  /* Tagline pulled up directly beneath the logo, ahead of the menu. */
  .site-header__tagline {
    order: 3;
    flex-basis: 100%;
    max-width: none;
    margin: 0;
  }

  /* Collapsible menu. Closed = zero height + hidden + non-interactive, so it
     cannot show through regardless of other rules. Open slides it down. */
  .site-nav {
    order: 4;
    flex-basis: 100%;
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: max-height 0.35s ease, opacity 0.25s ease,
                visibility 0s linear 0.35s;
  }

  .site-nav.is-open {
    max-height: 80vh;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-top: 6px;
    transition: max-height 0.35s ease, opacity 0.25s ease;
  }

  .site-nav .menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-nav .menu > li {
    border-top: 1px solid var(--line);
  }

  .site-nav .menu a {
    display: block;
    padding: 13px 2px;
    font-size: 0.82rem;
  }

  .hero__inner {
    min-height: auto;
    padding-top: 36px;
  }

  .hero-panels,
  .collections-grid,
  .editorial-grid,
  .creator-grid,
  .archive-grid,
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .showcase-card--large,
  .editorial-card--large,
  .editorial-card--tall,
  .editorial-card--wide {
    grid-column: auto;
    grid-row: auto;
    min-height: 260px;
  }

  .collection-layout-section {
    width: min(calc(100% - 40px), var(--content));
  }

  .site-footer__bottom,
  .section-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .collections-tile-grid {
    grid-template-columns: 1fr;
  }

  .collection-product-grid {
    grid-template-columns: 1fr;
  }

  .collection-product-tile--positioned,
  .collection-product-tile--wide,
  .collection-product-tile--positioned.collection-product-tile--wide {
    grid-column: auto / span 1;
  }

  .collection-product-tile--positioned,
  .collection-product-tile--tall,
  .collection-product-tile--positioned.collection-product-tile--tall {
    grid-row: auto / span 1;
  }

  .page-header,
  .page-section,
  .section-wrap,
  .content-wrap,
  .hero-copy__inner {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hero-panel,
  .hero-panel__content,
  .showcase-card,
  .archive-card__visual,
  .editorial-card {
    min-height: 220px;
  }

  .archive-grid--compact .archive-card__visual {
    min-height: 190px;
  }

  .blog-main .post-navigation .nav-links {
    grid-template-columns: 1fr;
  }

  .blog-main .post-navigation .nav-next {
    text-align: left;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }
}

/* Cart controls: header counter and product-tile actions. */
.rt-cart-icon {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-header__cart {
  position: relative;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--cream);
  background: #11613e;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.site-header__cart:hover,
.site-header__cart:focus-visible,
.site-header__cart[aria-current="page"] {
  color: var(--cream);
  background: #0a432b;
  outline: none;
  transform: translateY(-1px);
}

.site-header__cart-count {
  position: absolute;
  top: -7px;
  right: -7px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border: 2px solid #1aec8a;
  border-radius: 999px;
  background: var(--ink);
  color: var(--cream);
  font-size: 0.62rem;
  font-weight: 800;
  line-height: 1;
}

.site-header.is-condensed .site-header__cart {
  width: 34px;
  height: 34px;
}

.collection-product-tile__link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  color: inherit;
  text-decoration: none;
}

.rt-tile-cart,
.woocommerce .rt-tile-cart.button,
.shop-main ul.products li.product > a.rt-tile-cart {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 10;
  display: grid;
  place-items: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(26, 236, 138, 0.92);
  color: var(--ash);
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  backdrop-filter: blur(4px);
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, opacity 0.18s ease;
}

.rt-tile-cart:hover,
.rt-tile-cart:focus-visible,
.woocommerce .rt-tile-cart.button:hover,
.woocommerce .rt-tile-cart.button:focus-visible {
  border: 0;
  background: #1aec8a;
  color: var(--gold);
  outline: none;
  transform: translateY(-1px);
}

.rt-tile-cart.loading {
  opacity: 0.55;
}

.rt-tile-cart.added {
  background: var(--cream);
  color: #16733d;
}

.shop-main ul.products li.product .onsale {
  top: 56px;
  left: 8px;
}

/* Product-page feedback uses the same magenta treatment as Add to cart. */
.single-product .woocommerce-notices-wrapper {
  flex: 0 0 100%;
  width: 100%;
  margin: 0 0 18px;
}

.single-product .woocommerce-notices-wrapper:empty {
  display: none;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-info,
.single-product .woocommerce-notices-wrapper .woocommerce-error {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  min-height: 48px;
  margin: 0;
  padding: 11px 14px;
  border: 1px solid #b52da0;
  border-radius: 0;
  background: #b52da0;
  color: var(--cream);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message::before,
.single-product .woocommerce-notices-wrapper .woocommerce-info::before,
.single-product .woocommerce-notices-wrapper .woocommerce-error::before {
  display: none;
}

.single-product .woocommerce-notices-wrapper .button {
  order: 2;
  min-height: 34px;
  margin: 0 0 0 auto;
  padding: 8px 12px;
  border: 1px solid rgba(255, 249, 239, 0.72);
  border-radius: 0;
  background: transparent;
  color: var(--cream);
  font-size: 0.64rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.single-product .woocommerce-notices-wrapper .button:hover,
.single-product .woocommerce-notices-wrapper .button:focus-visible {
  border-color: var(--cream);
  background: var(--cream);
  color: #572a50;
}

/* Full-width cart with the wishlist's dark tiles and acid-green controls. */
body.woocommerce-cart .content-wrap {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - var(--nav-h));
  margin: 0;
  padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 72px) clamp(64px, 8vw, 112px);
  background: rgba(26, 236, 138, 0.035);
}

body.woocommerce-cart .content-wrap > article,
body.woocommerce-cart .content-wrap .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
  width: 100%;
  max-width: none;
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-items thead,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
.woocommerce-cart .cart-collaterals .cart_totals h2 {
  background: #1aec8a;
  color: var(--ash);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  margin: 0 0 20px;
  padding: 14px clamp(14px, 2vw, 22px);
}

.woocommerce-cart .woocommerce-cart-form table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  border-color: rgba(255, 249, 239, 0.16);
  background: transparent;
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-items td,
.woocommerce-cart .woocommerce-cart-form table.shop_table td,
.woocommerce-cart .cart-collaterals table.shop_table th,
.woocommerce-cart .cart-collaterals table.shop_table td {
  border-color: rgba(255, 249, 239, 0.13);
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-formatted-money-amount,
.woocommerce-cart .woocommerce-cart-form a:not(.button),
.woocommerce-cart .cart-collaterals a:not(.button) {
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-item__remove-link {
  color: rgba(255, 249, 239, 0.68) !important;
}

.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart table.cart .quantity .qty {
  border-color: rgba(255, 249, 239, 0.26);
  background: rgba(26, 236, 138, 0.11);
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-quantity-selector input,
.woocommerce-cart .wc-block-components-quantity-selector button {
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-quantity-selector button {
  background: rgba(26, 236, 138, 0.18);
}

.woocommerce-cart .wc-block-cart__sidebar {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .woocommerce a.checkout-button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-cart .woocommerce a.button {
  border-color: #1aec8a !important;
  background: #1aec8a !important;
  color: var(--ash) !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-cart .woocommerce a.checkout-button:hover,
.woocommerce-cart .woocommerce a.checkout-button:focus-visible,
.woocommerce-cart .woocommerce button.button:hover,
.woocommerce-cart .woocommerce button.button:focus-visible,
.woocommerce-cart .woocommerce input.button:hover,
.woocommerce-cart .woocommerce input.button:focus-visible,
.woocommerce-cart .woocommerce a.button:hover,
.woocommerce-cart .woocommerce a.button:focus-visible {
  border-color: #1aec8a !important;
  background: #1aec8a !important;
  color: var(--gold) !important;
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
  color: var(--cream);
}

@media (max-width: 820px) {
  .site-header__cart {
    order: 2;
    width: 36px;
    height: 36px;
  }

  body.woocommerce-cart .content-wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 420px) {
  .nav-toggle__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .site-header__inner {
    column-gap: 10px;
  }

  .rt-tile-cart,
  .woocommerce .rt-tile-cart.button,
  .shop-main ul.products li.product > a.rt-tile-cart {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
  }
}

/* Home page long-scroll grids and video hero refinements */
.home-grids {
  width: min(calc(100% - 40px), var(--content));
  margin: 0 auto;
  padding: 48px 0 90px;
}

.home-collection {
  margin-bottom: 2px;
}

/* Section headers are hidden on the home page so the grids connect as one
   continuous fabric (titles/links removed, no dividers, no extra spacing). */
.home-grids .section-header {
  display: none;
}

.home-collection .section-title a {
  text-decoration: none;
  color: inherit;
}

.home-collection .section-title a:hover {
  color: var(--gold);
}

.home-collection .collection-product-grid {
  background: none;
  border-radius: 0;
  padding: 0;
}

/* Lower-page grids read as one continuous fabric: tight gaps, no tile borders,
   no gridline tints. Scoped to .home-grids so other pages keep their styling. */
.home-grids .collection-product-grid,
.home-grids .editorial-grid {
  gap: 2px;
  background: none;
}

.home-grids .collection-product-tile {
  border: none;
  border-radius: 0;
}

.home-grids .editorial-card {
  border-radius: 0;
}

/* Keep headings in the compact home-page tiles from overpowering the artwork. */
.home-grids .collection-product-tile__title {
  font-size: clamp(1.05rem, 2vw, 1.65rem);
}

.home-grids .editorial-card__title {
  font-size: 1.2rem;
}

/* Elastic scroll transform applied per-tile by JS (see front-page.php). */
.home-grids .collection-product-tile,
.home-grids .editorial-card {
  transition: none;
  backface-visibility: hidden;
}

.home-categories {
  padding-top: 0;
  border-top: none;
}

/* Looping category sections stack seamlessly; dense flow packs varied tiles. */
.home-loop__section {
  margin-bottom: 2px;
}

.home-category-grid {
  grid-auto-flow: row dense;
}

.home-grids--collections-tiles .home-collections-grid {
  margin-bottom: 2px;
}

/* The engine owns touch gestures over the tiles so a slow
   drag scrolls (springily) while a fast drag can tear a tile off. Also kill
   native text selection / image drag so the gesture isn't hijacked. */
.home-grids .collection-product-tile,
.home-grids .editorial-card,
.hf-tile {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.home-grids .collection-product-tile img,
.home-grids .editorial-card img,
.hf-tile img {
  pointer-events: none;
  -webkit-user-drag: none;
}

/* Ghost copy that renders a torn tile across the wrap seam. Kept interactive so
   both halves are grabbable while the tile straddles the edge. */
.hf-ghost {
  pointer-events: auto;
}

/* Desktop: two sets across — two collections side by side (each a 2-col grid, so
   4 tile columns) and the category loop a full-width 4-column grid. Smaller tiles. */
@media (min-width: 720px) {
  .home-grids {
    max-width: 1120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px;
    align-items: start;
  }
  .home-collection {
    margin-bottom: 0;
  }
  .home-loop {
    grid-column: 1 / -1; /* the category loop spans the full width below */
  }
  /* Category grids go 4 wide; collection grids keep their authored 2-col layout. */
  .home-loop .collection-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .home-grids .collection-product-grid {
    grid-auto-rows: 150px;
  }
}

@media (min-width: 720px) {
  .home-grids--collections-tiles {
    display: block;
  }

  .home-grids--collections-tiles .home-loop .collection-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Background wreckage lives behind the site; torn tiles and foreground wreckage
   live on the front plane below. */
.hf-bg-plane {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

/* Separate physics plane the torn tiles live on, above the page. Itself
   click-through (pointer-events:none); only the tiles on it are interactive. */
.hf-plane {
  position: fixed;
  inset: 0;
  z-index: 9500;
  pointer-events: none;
  overflow: hidden;
}

/* A tile that has been torn off the grid and now floats on the plane. Positioned
   with transform (compositor-only) so the sim is smooth and doesn't relayout. */
.hf-tile {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 !important;
  pointer-events: auto;
  cursor: grab;
  border-radius: 0 !important;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(20, 16, 14, 0.4);
  will-change: transform;
  touch-action: none;
}

.hf-tile:active {
  cursor: grabbing;
}

.hf-score {
  position: fixed;
  top: 88px;
  right: 18px;
  z-index: 9100;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.78);
  color: #fff7e8;
  font: 800 13px/1.1 "DM Sans", sans-serif;
  letter-spacing: 0;
  text-transform: lowercase;
  pointer-events: none;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.hf-score.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hf-score.is-ticking {
  animation: hf-score-pop 0.22s ease-out;
}

@keyframes hf-score-pop {
  0% { transform: scale(1); }
  45% { transform: scale(1.08); }
  100% { transform: scale(1); }
}

.hf-tile.hf-crack-1::after,
.hf-tile.hf-crack-2::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 6;
  pointer-events: none;
  background:
    linear-gradient(118deg, transparent 0 43%, rgba(255, 255, 255, 0.72) 43.4% 44.2%, rgba(45, 33, 30, 0.48) 44.4% 44.9%, transparent 45.3%),
    linear-gradient(35deg, transparent 0 55%, rgba(30, 20, 18, 0.45) 55.2% 55.8%, transparent 56.2%),
    linear-gradient(154deg, transparent 0 62%, rgba(255, 255, 255, 0.58) 62.2% 62.9%, transparent 63.2%);
  mix-blend-mode: screen;
  opacity: 0.74;
}

.hf-tile.hf-crack-2::after {
  background:
    linear-gradient(118deg, transparent 0 40%, rgba(255, 255, 255, 0.78) 40.3% 41.3%, rgba(45, 33, 30, 0.62) 41.6% 42.2%, transparent 42.6%),
    linear-gradient(35deg, transparent 0 51%, rgba(30, 20, 18, 0.54) 51.2% 52.1%, transparent 52.5%),
    linear-gradient(154deg, transparent 0 62%, rgba(255, 255, 255, 0.62) 62.2% 63.1%, transparent 63.4%),
    linear-gradient(78deg, transparent 0 48%, rgba(30, 20, 18, 0.45) 48.2% 48.8%, transparent 49.1%),
    linear-gradient(12deg, transparent 0 68%, rgba(255, 255, 255, 0.55) 68.1% 68.8%, transparent 69.1%);
  opacity: 0.92;
}

.hf-tile.hf-crack-map-2.hf-crack-1::after {
  background:
    linear-gradient(72deg, transparent 0 31%, rgba(255, 255, 255, 0.7) 31.3% 32%, rgba(28, 20, 18, 0.44) 32.2% 32.8%, transparent 33.1%),
    linear-gradient(143deg, transparent 0 58%, rgba(255, 255, 255, 0.58) 58.2% 58.8%, transparent 59.1%),
    linear-gradient(18deg, transparent 0 63%, rgba(35, 24, 22, 0.48) 63.2% 63.7%, transparent 64%);
}

.hf-tile.hf-crack-map-2.hf-crack-2::after {
  background:
    linear-gradient(72deg, transparent 0 29%, rgba(255, 255, 255, 0.78) 29.3% 30.4%, rgba(28, 20, 18, 0.62) 30.6% 31.2%, transparent 31.7%),
    linear-gradient(143deg, transparent 0 54%, rgba(255, 255, 255, 0.66) 54.2% 55%, transparent 55.4%),
    linear-gradient(18deg, transparent 0 63%, rgba(35, 24, 22, 0.56) 63.2% 64%, transparent 64.4%),
    linear-gradient(112deg, transparent 0 45%, rgba(255, 255, 255, 0.48) 45.2% 45.8%, transparent 46.2%),
    linear-gradient(6deg, transparent 0 74%, rgba(35, 24, 22, 0.44) 74.2% 74.9%, transparent 75.3%);
}

.hf-tile.hf-crack-map-3.hf-crack-1::after {
  background:
    linear-gradient(156deg, transparent 0 36%, rgba(255, 255, 255, 0.72) 36.2% 37%, rgba(38, 28, 24, 0.45) 37.2% 37.8%, transparent 38.2%),
    linear-gradient(96deg, transparent 0 49%, rgba(255, 255, 255, 0.5) 49.2% 49.7%, transparent 50.1%),
    linear-gradient(31deg, transparent 0 67%, rgba(38, 28, 24, 0.5) 67.2% 67.8%, transparent 68.1%);
}

.hf-tile.hf-crack-map-3.hf-crack-2::after {
  background:
    linear-gradient(156deg, transparent 0 33%, rgba(255, 255, 255, 0.8) 33.2% 34.3%, rgba(38, 28, 24, 0.64) 34.5% 35.2%, transparent 35.7%),
    linear-gradient(96deg, transparent 0 47%, rgba(255, 255, 255, 0.62) 47.2% 48%, transparent 48.4%),
    linear-gradient(31deg, transparent 0 65%, rgba(38, 28, 24, 0.58) 65.2% 66%, transparent 66.3%),
    linear-gradient(128deg, transparent 0 57%, rgba(255, 255, 255, 0.5) 57.2% 57.9%, transparent 58.3%),
    linear-gradient(46deg, transparent 0 22%, rgba(38, 28, 24, 0.42) 22.2% 22.8%, transparent 23.2%);
}

.hf-tile.is-hit {
  filter: brightness(1.16) contrast(1.06);
}

.hf-shard {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 3px;
  box-shadow: 0 8px 22px rgba(20, 16, 14, 0.25);
  will-change: transform, opacity;
}

.hf-shard::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.45), rgba(255,255,255,0));
  pointer-events: none;
}

.hf-shard__inner {
  transform-origin: 0 0;
}

.hf-shard--enemy {
  filter: drop-shadow(0 0 6px rgba(255, 24, 45, 0.35));
}

.hf-enemy {
  position: absolute;
  top: 0;
  left: 0;
  width: 68px;
  height: 68px;
  pointer-events: none;
  filter: drop-shadow(0 18px 26px rgba(0, 0, 0, 0.48));
  transform-origin: 34px 34px;
  will-change: transform;
}

.hf-enemy__core {
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 3%, 96% 92%, 4% 92%);
  background:
    radial-gradient(circle at 50% 58%, rgba(255, 32, 48, 0.16), transparent 0 16%, rgba(255, 32, 48, 0) 17%),
    linear-gradient(145deg, #0b0b0b, #000 62%, #2b2b2b);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.hf-enemy.is-hit .hf-enemy__core {
  background:
    radial-gradient(circle at 50% 58%, rgba(255, 32, 48, 0.78), transparent 0 18%, rgba(255, 32, 48, 0) 19%),
    linear-gradient(145deg, #1d1d1d, #000 62%, #3a3a3a);
}

.hf-enemy-arrow .hf-arrow__shape {
  animation: hf-enemy-arrow 0.55s steps(2, end) infinite;
}

.hf-enemy-arrow .hf-arrow__num {
  color: #fff;
  text-shadow: 0 0 6px rgba(255, 0, 30, 0.9);
}

@keyframes hf-enemy-arrow {
  0%, 100% { opacity: 1; filter: drop-shadow(0 0 8px rgba(255, 0, 34, 0.9)); }
  50% { opacity: 0.28; filter: drop-shadow(0 0 2px rgba(255, 0, 34, 0.2)); }
}

.hf-shot {
  position: absolute;
  top: -2px;
  left: -10px;
  width: 22px;
  height: 4px;
  border-radius: 999px;
  background: #ff2238;
  box-shadow: 0 0 10px rgba(255, 0, 36, 0.9), 0 0 20px rgba(255, 0, 36, 0.45);
  pointer-events: none;
  transform-origin: 10px 2px;
}

.hf-grid-broken {
  visibility: hidden !important;
  pointer-events: none !important;
}

.hf-red-flash {
  position: fixed;
  inset: 0;
  z-index: 9050;
  pointer-events: none;
  background: rgba(255, 0, 24, 0);
}

.hf-red-flash.is-on {
  animation: hf-red-flash 0.34s ease-out;
}

.hf-floor-cracks {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9040;
  height: 100vh;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.hf-floor-cracks.is-visible {
  opacity: 1;
}

.hf-floor-cracks svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hf-floor-crack-line {
  fill: none;
  stroke: rgba(0, 0, 0, 0.94);
  stroke-width: 4.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.55));
  transition: stroke-dashoffset 0.38s cubic-bezier(.18,.85,.24,1);
}

.hf-floor-crack-line.is-branch {
  stroke-width: 2.6;
  stroke: rgba(0, 0, 0, 0.86);
}

@keyframes hf-red-flash {
  0% { background: rgba(255, 0, 24, 0.42); }
  100% { background: rgba(255, 0, 24, 0); }
}

html.hf-world-black,
html.hf-world-black body {
  background: #000 !important;
}

body.hf-world-ending {
  overflow: hidden;
  background: #000 !important;
}

body.hf-world-fractured .site-shell {
  background: transparent !important;
}

body.hf-world-fractured .site-header,
body.hf-world-fractured .site-main,
body.hf-world-fractured .site-footer {
  visibility: hidden !important;
}

.hf-site-fractured {
  visibility: hidden !important;
}

.hf-site-debris {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: 3px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28), inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  will-change: transform;
}

.hf-site-debris:not(.hf-site-debris--bg) {
  outline: 1px solid rgba(255, 255, 255, 0.08);
}

.hf-site-debris::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.34), rgba(255,255,255,0) 52%);
  pointer-events: none;
}

.hf-site-debris--bg {
  border-radius: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12), 0 12px 28px rgba(0, 0, 0, 0.22);
}

.hf-site-debris--background-stage {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
}

.hf-site-debris--background-stage::after {
  background: none;
}

.hf-site-debris__inner {
  transform-origin: 0 0;
}

.hf-site-skin-piece {
  transform-origin: 0 0;
}

.hf-site-bg-piece {
  background-color: var(--warm-white);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.42)),
    url(/wp-content/themes/roseandthorn/pattern-bg.png?v=1.0.6);
  background-size: 100% 100%, auto;
  background-repeat: no-repeat, repeat;
}

body.hf-world-ended > *:not(.hf-red-flash):not(.hf-end-panel) {
  visibility: hidden !important;
}

.hf-end-panel {
  position: fixed;
  inset: 0;
  z-index: 9300;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 24px;
  color: #fff7e8;
  background: #000;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.hf-end-panel.is-visible {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.hf-end-panel__total {
  font: 800 clamp(24px, 5vw, 54px)/1.05 "DM Sans", sans-serif;
  letter-spacing: 0;
  text-transform: lowercase;
  text-align: center;
}

.hf-end-panel__button {
  min-width: 132px;
  border: 1px solid rgba(255, 247, 232, 0.45);
  border-radius: 4px;
  padding: 11px 16px;
  background: #fff7e8;
  color: #050505;
  font: 800 13px/1 "DM Sans", sans-serif;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  cursor: pointer;
}

.hf-end-panel__button:hover {
  background: #ffffff;
}

/* ~100px arrow shown at the top edge, pointing to a tile that has flown above
   the viewport. Direction (up/down) and colour (green->yellow) are set by JS. */
.hf-arrow {
  position: absolute;
  top: 6px;
  width: 46px;
  height: 108px;
  pointer-events: none;
}

.hf-arrow__shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 46px;
  height: 100px;
  color: #3ad14b;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.35));
}

.hf-arrow__shape.is-down {
  transform: rotate(180deg);
}

.hf-arrow__shape::before { /* head */
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -13px;
  width: 0;
  height: 0;
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-bottom: 20px solid currentColor;
}

.hf-arrow__shape::after { /* shaft */
  content: '';
  position: absolute;
  left: 50%;
  top: 18px;
  margin-left: -3px;
  width: 6px;
  height: 80px;
  background: currentColor;
  border-radius: 3px;
}

.hf-arrow__num {
  position: absolute;
  top: 42px;
  left: 0;
  width: 100%;
  text-align: center;
  font: 700 13px/1 "DM Sans", sans-serif;
  color: #1a1614;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.75);
}

/* Invisible placeholder left behind so the grid doesn't reflow when a tile tears. */
.hf-hole {
  pointer-events: none !important;
}

@media (max-width: 860px) {
  .hero-panels {
    gap: 28px;
  }
  .hero-panel {
    max-width: 210px;
  }
  .hero-panel__content {
    padding: 18px;
  }
}

/* Account, cart, checkout, and order screens */
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .content-wrap {
  padding-top: 48px;
  padding-bottom: 80px;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-content {
  padding: 0;
  border: 0;
  background: transparent;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-content > * {
  max-width: none;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-content h2,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-content h3,
.woocommerce-order-received .entry-content h2,
.woocommerce-order-received .entry-content h3 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  line-height: 1.05;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .entry-content a {
  text-underline-offset: 3px;
}

/* Shared WooCommerce form controls. */
:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row {
  margin: 0 0 16px;
  padding: 0;
}

:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row label {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 0.69rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row input.input-text,
:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row textarea,
:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row select,
:is(.woocommerce-account, .woocommerce-checkout) .select2-container--default .select2-selection--single {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  outline: 0;
  background: rgba(255, 253, 248, 0.9);
  color: var(--ink);
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row textarea {
  min-height: 120px;
  resize: vertical;
}

:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row input.input-text:focus,
:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row textarea:focus,
:is(.woocommerce-account, .woocommerce-checkout) .woocommerce form .form-row select:focus,
:is(.woocommerce-account, .woocommerce-checkout) .select2-container--focus .select2-selection--single,
:is(.woocommerce-account, .woocommerce-checkout) .select2-container--open .select2-selection--single {
  border-color: #b52da0;
  background: var(--warm-white);
  box-shadow: 0 0 0 3px rgba(181, 45, 160, 0.1);
}

:is(.woocommerce-account, .woocommerce-checkout) .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 2px 20px 2px 0;
  color: var(--ink);
  line-height: 26px;
}

:is(.woocommerce-account, .woocommerce-checkout) .select2-container--default .select2-selection--single .select2-selection__arrow {
  top: 10px;
  right: 8px;
}

:is(.woocommerce-account, .woocommerce-checkout) input[type="checkbox"],
:is(.woocommerce-account, .woocommerce-checkout) input[type="radio"] {
  accent-color: #b52da0;
}

:is(.woocommerce-account, .woocommerce-checkout) .required {
  color: #b52da0;
}

/* Sign in, registration, and password recovery. */
.woocommerce-account #customer_login {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
  display: none;
}

.woocommerce-account #customer_login > .col-1,
.woocommerce-account #customer_login > .col-2 {
  float: none;
  width: auto;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.woocommerce-account #customer_login h2,
.woocommerce-account .woocommerce > h2 {
  margin: 0 0 22px;
  font-size: clamp(2rem, 4vw, 3rem);
}

.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.lost_reset_password {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.woocommerce-account .woocommerce > form.login,
.woocommerce-account .woocommerce > form.lost_reset_password {
  max-width: 680px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.woocommerce-account .woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 16px 12px 0 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.woocommerce-account .lost_password {
  margin: 14px 0 0;
  font-size: 0.78rem;
}

/* Logged-in account navigation and content. */
body.logged-in.woocommerce-account .entry-content > .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
  align-items: start;
  gap: 24px;
}

body.logged-in.woocommerce-account .entry-content > .woocommerce::before,
body.logged-in.woocommerce-account .entry-content > .woocommerce::after {
  display: none;
  content: none;
}

body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-notices-wrapper,
body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-message,
body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-info,
body.logged-in.woocommerce-account .entry-content > .woocommerce > .woocommerce-error {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce-MyAccount-content {
  grid-column: 1;
  order: 1;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 2;
  order: 2;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(26, 22, 20, 0.92);
  box-shadow: var(--shadow);
  color: var(--cream);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
  border-top: 1px solid rgba(255, 249, 239, 0.12);
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 12px 14px;
  color: rgba(255, 249, 239, 0.74);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: rgba(255, 249, 239, 0.1);
  color: var(--cream);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: #1aec8a;
  color: var(--ink);
}

.woocommerce-account .woocommerce-MyAccount-content {
  min-width: 0;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
  margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > :last-child {
  margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: #572a50;
}

.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
  display: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: auto;
  padding: 20px;
  border: 1px solid var(--line);
  background: rgba(244, 236, 228, 0.5);
}

.woocommerce-account .woocommerce-Address-title h2 {
  margin: 0 0 12px;
  font-size: 1.65rem;
}

.woocommerce-account .woocommerce-Address-title .edit {
  color: #b52da0;
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.woocommerce-account address {
  color: var(--ash);
  font-style: normal;
}

.woocommerce-account fieldset {
  margin: 28px 0 0;
  padding: 22px;
  border: 1px solid var(--line);
  background: rgba(244, 236, 228, 0.38);
}

.woocommerce-account fieldset legend {
  padding: 0 8px;
  font-family: "Cormorant Garamond", serif;
  font-size: 1.4rem;
}

/* Shared classic tables for account orders and order confirmation screens. */
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table {
  width: 100%;
  margin: 0 0 24px;
  border: 1px solid var(--line);
  border-collapse: collapse;
  border-radius: 0;
  background: rgba(255, 253, 248, 0.84);
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table th,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table td {
  padding: 15px 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table thead th {
  background: var(--ink);
  color: var(--cream);
  font-size: 0.66rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table tbody tr:last-child td,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table tfoot tr:last-child th,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table tfoot tr:last-child td {
  border-bottom: 0;
}

/* Buttons across the customer and ordering journey. */
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce a.button,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce button.button,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce input.button {
  border-color: #b52da0;
  border-radius: 0;
  background: #b52da0;
  color: var(--cream);
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce a.button:hover,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce a.button:focus-visible,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce button.button:hover,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce button.button:focus-visible,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce input.button:hover,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce input.button:focus-visible {
  border-color: #572a50;
  background: #572a50;
  color: var(--cream);
}

/* WooCommerce Cart block. */
.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout {
  align-items: flex-start;
  gap: 24px;
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-main,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.woocommerce-cart .wc-block-cart-items {
  margin: 0;
  border: 1px solid var(--line);
  border-collapse: collapse;
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
}

.woocommerce-cart .wc-block-cart-items thead {
  background: var(--ink);
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-items th {
  padding: 13px 16px;
  border: 0;
  color: inherit;
  font-size: 0.66rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart-items td {
  padding: 20px 16px;
  border-top: 1px solid var(--line);
}

.woocommerce-cart .wc-block-cart-item__image img,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-order-summary-item__image img {
  aspect-ratio: 1 / 1;
  border-radius: 0;
  object-fit: cover;
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  color: var(--ink);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.18rem;
  font-weight: 400;
  line-height: 1.08;
  text-decoration: none;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--ash) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em;
  text-decoration: underline;
  text-transform: uppercase;
  text-underline-offset: 3px;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible {
  color: #b52da0 !important;
}

.woocommerce-cart .wc-block-components-quantity-selector {
  display: inline-flex;
  align-items: stretch;
  width: auto;
  max-width: 116px;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 0;
  background: var(--warm-white);
}

.woocommerce-cart .wc-block-components-quantity-selector input {
  width: 42px;
  min-width: 0;
  border: 0;
  background: transparent;
  text-align: center;
}

.woocommerce-cart .wc-block-components-quantity-selector button {
  width: 34px;
  border: 0;
  background: rgba(244, 236, 228, 0.72);
  color: var(--ink);
  cursor: pointer;
}

.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar {
  padding: 24px !important;
  border: 1px solid rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
  box-shadow: var(--shadow);
  color: var(--cream);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-totals-wrapper,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-panel,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-order-summary {
  border-color: rgba(255, 249, 239, 0.16);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar a,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar button:not(.wc-block-components-button) {
  color: var(--cream);
}

:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-product-name,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-formatted-money-amount,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-totals-item__label,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-totals-item__value,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-text,
:is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar .wc-block-components-checkout-order-summary__title-price {
  color: inherit;
}

.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.65rem;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  width: 100%;
  min-height: 52px;
  margin-top: 14px;
  border: 1px solid #b52da0 !important;
  border-radius: 0 !important;
  background: #b52da0 !important;
  color: var(--cream) !important;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible {
  border-color: #572a50 !important;
  background: #572a50 !important;
}

/* WooCommerce Checkout block. */
.woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
.woocommerce-checkout .wc-block-components-express-payment {
  margin: 0 0 16px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.woocommerce-checkout .wc-block-components-checkout-step__heading-container {
  margin-bottom: 18px;
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
  margin: 0;
  color: var(--ink);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 300;
  line-height: 1.05;
}

.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number {
  padding: clamp(20px, 3vw, 30px);
}

.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before {
  position: static;
  display: inline;
  margin: 0 8px 0 0;
  color: #b52da0;
  transform: none;
}

.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__content::before,
.woocommerce-checkout .wc-block-checkout__form--with-step-numbers .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__description::before {
  display: none;
}

.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.woocommerce-checkout .wc-block-components-address-form select,
.woocommerce-cart .wc-block-components-text-input input {
  min-height: 50px;
  border: 1px solid var(--line-strong) !important;
  border-radius: 0 !important;
  outline: 0;
  background: rgba(255, 253, 248, 0.9) !important;
  color: var(--ink) !important;
  box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus,
.woocommerce-cart .wc-block-components-text-input input:focus {
  border-color: #b52da0 !important;
  box-shadow: 0 0 0 3px rgba(181, 45, 160, 0.1) !important;
}

.woocommerce-checkout .wc-block-components-radio-control,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-components-address-card {
  border-radius: 0;
  background: rgba(244, 236, 228, 0.46);
}

.woocommerce-checkout .wc-block-components-radio-control__option {
  padding: 14px;
  border-bottom-color: var(--line);
}

.woocommerce-checkout .wc-block-components-radio-control__option-checked {
  background: rgba(26, 236, 138, 0.08);
}

.woocommerce-checkout .wc-block-checkout__actions {
  padding: 8px 0 0;
}

.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: var(--ash);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-checkout .wc-block-checkout-empty,
.woocommerce-checkout .wc-block-checkout-error {
  margin: 0;
  padding: clamp(38px, 7vw, 72px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
  text-align: center;
}

.woocommerce-cart .wc-block-cart__empty-cart__title,
.woocommerce-checkout .wc-block-checkout-empty__title,
.woocommerce-checkout .wc-block-checkout-error__title {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 300;
}

/* Classic cart and checkout fallbacks. */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2,
.woocommerce-checkout form.checkout #order_review,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
}

.woocommerce-cart .cart-collaterals .cart_totals {
  float: right;
  width: min(100%, 480px);
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout #order_review_heading {
  margin: 0 0 18px;
  font-size: 2rem;
}

.woocommerce-cart table.cart img {
  width: 88px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce-cart table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  width: 180px;
  min-height: 46px;
  border: 1px solid var(--line-strong);
  background: var(--warm-white);
}

.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  margin-bottom: 20px;
}

.woocommerce-checkout #order_review_heading {
  margin-top: 36px;
}

.woocommerce-checkout #payment {
  border-radius: 0;
  background: rgba(244, 236, 228, 0.54);
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
  border-color: var(--line);
}

.woocommerce-checkout #payment div.payment_box {
  border-radius: 0;
  background: rgba(255, 253, 248, 0.84);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: rgba(255, 253, 248, 0.84);
}

/* Confirmation, order details, and customer addresses. */
.woocommerce-order-received .woocommerce-order,
.woocommerce-view-order .woocommerce-MyAccount-content {
  color: var(--ink);
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 22px;
  padding: 20px 22px;
  border-left: 4px solid #1aec8a;
  background: rgba(26, 236, 138, 0.1);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.45rem, 3vw, 2rem);
}

.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 28px;
  padding: 1px;
  background: var(--line);
}

.woocommerce-order-received .woocommerce-order-overview li {
  float: none;
  margin: 0;
  padding: 16px;
  border: 0;
  background: rgba(255, 253, 248, 0.92);
  color: var(--ash);
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  line-height: 1.35;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
  margin-top: 5px;
  color: var(--ink);
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}

:is(.woocommerce-order-received, .woocommerce-view-order) .woocommerce-order-details,
:is(.woocommerce-order-received, .woocommerce-view-order) .woocommerce-customer-details {
  margin: 24px 0 0;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 248, 0.84);
  box-shadow: var(--shadow);
}

:is(.woocommerce-order-received, .woocommerce-view-order) .woocommerce-order-details__title,
:is(.woocommerce-order-received, .woocommerce-view-order) .woocommerce-column__title {
  margin: 0 0 18px;
  font-size: 1.8rem;
}

:is(.woocommerce-order-received, .woocommerce-view-order) .woocommerce-customer-details address {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(244, 236, 228, 0.44);
  font-style: normal;
}

/* Notices and validation feedback. */
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce-message,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce-info,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce-error,
:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .wc-block-components-notice-banner {
  margin: 0 0 20px;
  padding: 16px 18px 16px 48px;
  border: 1px solid var(--line);
  border-top: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 0;
  background: rgba(255, 253, 248, 0.9);
  color: var(--ink);
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce-error {
  border-left-color: #b52da0;
}

:is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .wc-block-components-notice-banner.is-success {
  border-left-color: #1aec8a;
}

@media (max-width: 900px) {
  .woocommerce-account #customer_login,
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }

  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout {
    display: block;
  }

  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-main,
  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    width: 100% !important;
    max-width: none !important;
  }

  :is(.woocommerce-cart, .woocommerce-checkout) .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    margin-top: 24px;
  }

  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.logged-in.woocommerce-account .entry-content > .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li + li {
    border-top: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 249, 239, 0.12);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(even) {
    border-left: 1px solid rgba(255, 249, 239, 0.12);
  }
}

@media (max-width: 700px) {
  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive thead {
    display: none;
  }

  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive tbody tr {
    display: block;
    padding: 10px 14px;
    border-bottom: 1px solid var(--line);
  }

  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive tbody tr:last-child {
    border-bottom: 0;
  }

  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive tbody td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(184, 148, 90, 0.1);
    text-align: right !important;
  }

  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive tbody td:last-child {
    border-bottom: 0;
  }

  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received) .woocommerce table.shop_table_responsive tbody td::before {
    content: attr(data-title);
    flex: 0 1 48%;
    color: var(--ash);
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
  }
}

@media (max-width: 560px) {
  :is(.woocommerce-account, .woocommerce-cart, .woocommerce-checkout) .content-wrap {
    padding-top: 36px;
    padding-bottom: 56px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(n + 2),
  .woocommerce-account .woocommerce-MyAccount-navigation li:nth-child(even) {
    border-top: 1px solid rgba(255, 249, 239, 0.12);
    border-left: 0;
  }

  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account #customer_login > .col-1,
  .woocommerce-account #customer_login > .col-2,
  .woocommerce-checkout .wc-block-checkout__main .wc-block-components-checkout-step,
  .woocommerce-checkout .wc-block-components-express-payment,
  .woocommerce-cart .wc-block-cart__sidebar,
  .woocommerce-checkout .wc-block-checkout__sidebar {
    padding: 18px !important;
  }

  .woocommerce-cart .wc-block-cart-items th,
  .woocommerce-cart .wc-block-cart-items td {
    padding-right: 10px;
    padding-left: 10px;
  }

  .woocommerce-cart .wc-block-cart-item__image {
    width: 76px;
  }

  .woocommerce-cart table.cart td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .woocommerce-cart table.cart td.actions .coupon .input-text {
    width: 100%;
  }

  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  .woocommerce-order-received .woocommerce-order-overview li {
    width: auto;
  }
}

/* Final cart-page palette: keep this after the shared account/order rules. */
body.woocommerce-cart .content-wrap {
  width: 100%;
  max-width: none;
  min-height: calc(100vh - var(--nav-h));
  margin: 0;
  padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 72px) clamp(64px, 8vw, 112px);
  background: rgba(26, 236, 138, 0.035);
}

body.woocommerce-cart .content-wrap > article,
body.woocommerce-cart .content-wrap .entry-content,
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide {
  width: 100%;
  max-width: none;
}

.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals .cart_totals {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-items thead,
.woocommerce-cart .woocommerce-cart-form table.shop_table thead,
.woocommerce-cart .cart-collaterals .cart_totals h2 {
  background: #1aec8a;
  color: var(--ash);
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  margin: 0 0 20px;
  padding: 14px clamp(14px, 2vw, 22px);
}

.woocommerce-cart .woocommerce-cart-form table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
  border-color: rgba(255, 249, 239, 0.16);
  background: transparent;
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-items td,
.woocommerce-cart .woocommerce-cart-form table.shop_table td,
.woocommerce-cart .cart-collaterals table.shop_table th,
.woocommerce-cart .cart-collaterals table.shop_table td {
  border-color: rgba(255, 249, 239, 0.13);
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-formatted-money-amount,
.woocommerce-cart .woocommerce-cart-form a:not(.button),
.woocommerce-cart .cart-collaterals a:not(.button) {
  color: var(--cream);
}

.woocommerce-cart .wc-block-cart-item__remove-link {
  color: rgba(255, 249, 239, 0.68) !important;
}

.woocommerce-cart .wc-block-components-quantity-selector,
.woocommerce-cart table.cart .quantity .qty {
  border-color: rgba(255, 249, 239, 0.26);
  background: rgba(26, 236, 138, 0.11);
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-quantity-selector input,
.woocommerce-cart .wc-block-components-quantity-selector button {
  color: var(--cream);
}

.woocommerce-cart .wc-block-components-quantity-selector button {
  background: rgba(26, 236, 138, 0.18);
}

.woocommerce-cart .wc-block-cart__sidebar {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .woocommerce a.checkout-button,
.woocommerce-cart .woocommerce button.button,
.woocommerce-cart .woocommerce input.button,
.woocommerce-cart .woocommerce a.button {
  border-color: #1aec8a !important;
  background: #1aec8a !important;
  color: var(--ash) !important;
}

.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-cart .woocommerce a.checkout-button:hover,
.woocommerce-cart .woocommerce a.checkout-button:focus-visible,
.woocommerce-cart .woocommerce button.button:hover,
.woocommerce-cart .woocommerce button.button:focus-visible,
.woocommerce-cart .woocommerce input.button:hover,
.woocommerce-cart .woocommerce input.button:focus-visible,
.woocommerce-cart .woocommerce a.button:hover,
.woocommerce-cart .woocommerce a.button:focus-visible {
  border-color: #1aec8a !important;
  background: #1aec8a !important;
  color: var(--gold) !important;
}

.woocommerce-cart .wc-block-cart__empty-cart__title {
  border-color: rgba(255, 249, 239, 0.16);
  background: rgba(26, 22, 20, 0.94);
  color: var(--cream);
}

@media (max-width: 820px) {
  body.woocommerce-cart .content-wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}
