/** Shopify CDN: Minification failed

Line 1767:3 Expected identifier but found "."
Line 2193:0 Unexpected "{"

**/
/* =========================================================
   chullbuli — clean theme stylesheet
   Cleaned from duplicated header/preloader experiments.
   Active CSS-only preloader remains in the preloader snippet.
   ========================================================= */

/* =========================
   1. DESIGN TOKENS
   ========================= */
:root {
  --pink: #e73281;
  --blush: #fbd0d6;
  --wine: #602730;
  --cream: #fff3ed;
  --yellow: #f4c45b;
  --ink: #453437;
  --white: #fffaf7;
  --radius: 28px;
  --shadow: 7px 8px 0 var(--wine);
}

/* =========================
   2. BASE
   ========================= */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--cream);
  color: var(--wine);
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

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

.page-width {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

.ch-heading {
  margin: 0;
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  line-height: 0.93;
  letter-spacing: -0.045em;
}

.ch-kicker {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: lowercase;
}

/* =========================
   3. BUTTONS
   ========================= */
.ch-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 25px;
  border: 3px solid var(--wine);
  border-radius: 999px;
  background: var(--pink);
  color: #fff;
  box-shadow: 5px 6px 0 var(--wine);
  font-family: 'Fredoka', sans-serif;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ch-btn:hover {
  transform: translate(3px, 3px);
  box-shadow: 2px 3px 0 var(--wine);
}

.ch-btn--light {
  background: var(--cream);
  color: var(--wine);
}

/* =========================
   4. ANNOUNCEMENT BAR
   ========================= */
.ch-announcement {
  min-height: 30px;
  padding: 5px 12px;
  overflow: hidden;
  background: var(--pink);
  color: #fff;
  border-bottom: 3px solid var(--wine);
  font-weight: 700;
  line-height: 1.15;
}

.ch-announcement__track {
  display: flex;
  gap: 34px;
  width: max-content;
  padding: 10px 0;
  animation: chMarquee 22s linear infinite;
}

.ch-announcement__track span {
  white-space: nowrap;
}

/* =========================
   5. HEADER — FINAL
   FeelWorthy-style transparent overlay
   ========================= */
.ch-header {
  position: relative;
  z-index: 100;
  width: 100%;
  min-height: 68px;
  margin-bottom: -68px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ch-header::before,
.ch-header::after {
  display: none;
  content: none;
  background: none;
}

.ch-header__inner {
  display: grid;
  grid-template-columns: 1fr 220px 1fr;
  align-items: center;
  gap: 28px;
  width: 100%;
  max-width: none;
  min-height: 68px;
  padding: 0 50px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ch-nav {
  display: flex;
  align-items: center;
  gap: 30px;
  font-weight: 600;
  text-transform: lowercase;
}

.ch-nav:first-child {
  justify-content: flex-start;
}

.ch-nav--right {
  justify-content: flex-end;
  gap: 22px;
}

.ch-nav a {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  opacity: 1;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.ch-nav a:hover {
  opacity: 0.65;
}

.ch-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 58px;
  margin: 0 auto;
  overflow: visible;
  background: transparent;
}

.ch-logo img {
  display: block;
  width: 205px;
  max-width: 205px;
  max-height: 58px;
  height: auto;
  object-fit: contain;
}

.ch-menu-btn {
  display: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 700;
  text-transform: lowercase;
  cursor: pointer;
}

/* Right-side icon support */
.ch-header__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  background: transparent;
  color: #fff;
  transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.ch-header__icon:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

.ch-header__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ch-header__bag {
  position: relative;
}

.ch-header__bag-count,
.ch-cart-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--pink);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
}

.ch-header__bag-count {
  position: absolute;
  top: -8px;
  right: -10px;
}

.ch-cart-count {
  position: static;
  margin-left: 4px;
}

.ch-header__mobile-right {
  display: none;
}

/* Keep normal hover transparent — no blur, no pink haze */
.ch-header:hover {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Optional solid state for a real dropdown/open menu */
.ch-header.is-menu-open {
  background: var(--blush);
}

.ch-header.is-menu-open .ch-nav a,
.ch-header.is-menu-open .ch-header__icon,
.ch-header.is-menu-open .ch-menu-btn {
  color: var(--wine);
}

.ch-mobile-menu {
  display: none;
  position: relative;
  z-index: 110;
  padding: 18px 24px 24px;
  border-top: 2px solid var(--wine);
  background: var(--blush);
  color: var(--wine);
}

.ch-mobile-menu.is-open {
  display: grid;
  gap: 15px;
}

/* =========================
   6. HERO — FINAL MOVEABLE
   Theme editor controls position, width, alignment and colours
   ========================= */

.ch-hero,
.ch-hero--moveable {
  position: relative;
  width: 100%;
  height: min(820px, 88vh);
  min-height: 680px;
  overflow: hidden;
  background: var(--blush);
  border: 0;
}

/* Full-bleed hero image */
.ch-hero--moveable .ch-hero__media {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
}

.ch-hero--moveable .ch-hero__image,
.ch-hero--moveable .ch-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Moveable content block */
.ch-hero--moveable .ch-hero__copy {
  position: absolute;
  z-index: 4;

  left: calc(var(--hero-x, 8) * 1%);
  top: calc(var(--hero-y, 55) * 1%);

  transform:
    translate(
      calc(var(--hero-x, 8) * -1%),
      calc(var(--hero-y, 55) * -1%)
    );

  width: min(
    var(--hero-copy-width, 700px),
    calc(100% - 70px)
  );

  min-height: 0;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;

  text-align: var(--hero-text-align, left);
}

/* Pill */
.ch-hero--moveable .ch-pill {
  display: inline-flex;
  width: max-content;
  margin: 0 0 26px;
  padding: 10px 19px;

  border: 2px solid var(--wine);
  border-radius: 999px;

  background: var(--yellow);
  color: var(--hero-pill-color, var(--wine));

  box-shadow: 4px 5px 0 var(--wine);

  font-family: 'Fredoka', sans-serif;
  font-size: 15px;
  font-weight: 700;

  transform: rotate(-3deg);
}

/* Hero heading */
.ch-hero--moveable h1 {
  width: 100%;
  max-width: none;
  margin: 0;

  color: var(--hero-heading-color, #ffffff);

  font-family: 'Fredoka', sans-serif;
  font-size: clamp(5rem, 8.4vw, 9rem);
  font-weight: 700;
  line-height: 0.84;
  letter-spacing: -0.055em;

  text-align: inherit;
  text-transform: lowercase;
}

/* Hero body */
.ch-hero--moveable .ch-hero__text {
  max-width: 520px;
  margin: 27px 0 30px;

  color: var(--hero-body-color, #ffffff);

  font-size: 17px;
  line-height: 1.55;

  text-align: inherit;
}

/* Hero button */
.ch-hero--moveable .ch-btn {
  margin: 0;
  padding: 13px 24px;

  border: 2px solid var(--wine);

  background: var(--hero-button-bg, var(--pink));
  color: var(--hero-button-color, #ffffff);

  box-shadow: 4px 5px 0 var(--wine);
}

/* Old sticker not used in the new hero */
.ch-hero--moveable .ch-sticker {
  display: none;
}

/* Mobile hero */
@media (max-width: 900px) {
  .ch-hero,
  .ch-hero--moveable {
    height: 760px;
    min-height: 680px;
  }

  .ch-hero--moveable .ch-hero__copy {
    left: calc(var(--hero-mobile-x, 7) * 1%);
    top: calc(var(--hero-mobile-y, 88) * 1%);

    transform:
      translate(
        calc(var(--hero-mobile-x, 7) * -1%),
        calc(var(--hero-mobile-y, 88) * -1%)
      );

    width: min(
      var(--hero-mobile-copy-width, 360px),
      calc(100% - 32px)
    );
  }

  .ch-hero--moveable h1 {
    font-size: clamp(4rem, 18vw, 6.5rem);
    line-height: 0.85;
  }

  .ch-hero--moveable .ch-hero__text {
    max-width: 100%;
    margin: 20px 0 24px;
    font-size: 15px;
  }

  .ch-hero--moveable .ch-pill {
    margin-bottom: 20px;
    font-size: 13px;
  }
}

/* =========================
   7. MARQUEE
   ========================= */
.ch-marquee {
  overflow: hidden;
  background: var(--wine);
  color: var(--cream);
  border-bottom: 3px solid var(--wine);
}

.ch-marquee__track {
  display: flex;
  gap: 34px;
  width: max-content;
  padding: 16px 0;
  font-family: 'Fredoka', sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  animation: chMarquee 18s linear infinite;
}

.ch-marquee__track span {
  white-space: nowrap;
}

@keyframes chMarquee {
  to {
    transform: translateX(-50%);
  }
}

/* =========================
   8. GENERIC SECTIONS
   ========================= */
.ch-section {
  padding: 88px 0;
  border-bottom: 3px solid var(--wine);
}

.ch-section__top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}

.ch-section__title {
  color: var(--wine);
  font-size: clamp(2.8rem, 5.5vw, 5.3rem);
}

.ch-section__sub {
  max-width: 460px;
  color: #71595d;
  line-height: 1.6;
}

/* =========================
   9. MOOD CARDS
   ========================= */
.ch-moods {
  background: var(--cream);
}

.ch-mood-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.ch-mood-card {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 3px solid var(--wine);
  border-radius: 34px;
  background: var(--blush);
}

.ch-mood-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ch-mood-card__overlay {
  position: absolute;
  inset: auto 18px 18px;
  padding: 18px;
  border: 3px solid var(--wine);
  border-radius: 22px;
  background: rgba(255, 243, 237, 0.92);
  box-shadow: 4px 5px 0 var(--wine);
}

.ch-mood-card__title {
  margin: 0 0 4px;
  font-family: 'Fredoka', sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
}

.ch-mood-card__small {
  color: #755d60;
  font-size: 0.88rem;
}

/* =========================
   10. PRODUCTS
   ========================= */
.ch-products {
  background: var(--blush);
}

.ch-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.ch-product-card {
  overflow: hidden;
  border: 3px solid var(--wine);
  border-radius: 28px;
  background: var(--cream);
}

.ch-product-card__media {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-bottom: 3px solid var(--wine);
  background: #f2e5df;
}

.ch-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.ch-product-card:hover img {
  transform: scale(1.025);
}

.ch-product-card__body {
  padding: 18px;
}

.ch-product-card__name {
  font-family: 'Fredoka', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
}

.ch-product-card__price {
  margin: 6px 0 15px;
}

.ch-quick {
  width: 100%;
  padding: 11px;
  border: 2px solid var(--wine);
  border-radius: 999px;
  background: var(--pink);
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.ch-placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  padding: 30px;
  color: #7a6366;
  text-align: center;
}

/* =========================
   11. EDITORIAL
   ========================= */
.ch-editorial {
  padding: 0;
  background: var(--yellow);
}

.ch-editorial__grid {
  display: grid;
  grid-template-columns: 58% 42%;
  min-height: 640px;
}

.ch-editorial__media {
  border-right: 3px solid var(--wine);
}

.ch-editorial__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ch-editorial__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px;
}

.ch-editorial__copy h2 {
  margin-bottom: 25px;
  color: var(--wine);
  font-size: clamp(3.2rem, 6vw, 6rem);
}

.ch-editorial__copy p {
  max-width: 440px;
  font-size: 1.15rem;
  line-height: 1.6;
}

/* =========================
   12. JEWELLERY BOX
   ========================= */
.ch-box {
  background: var(--cream);
}

.ch-box-shell {
  overflow: hidden;
  border: 3px solid var(--wine);
  border-radius: 34px;
  background: var(--white);
  box-shadow: 10px 11px 0 var(--wine);
}

.ch-box-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 3px solid var(--wine);
  background: var(--blush);
}

.ch-dots {
  display: flex;
  gap: 8px;
}

.ch-dots i {
  display: block;
  width: 12px;
  height: 12px;
  border: 2px solid var(--wine);
  border-radius: 50%;
  background: var(--yellow);
}

.ch-box-slider {
  position: relative;
}

.ch-box-slide {
  display: none;
  grid-template-columns: 55% 45%;
  min-height: 560px;
}

.ch-box-slide.is-active {
  display: grid;
}

.ch-box-slide__media {
  border-right: 3px solid var(--wine);
}

.ch-box-slide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ch-box-slide__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 55px;
}

.ch-box-slide__copy h3 {
  margin: 0 0 14px;
  font-family: 'Fredoka', sans-serif;
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.95;
}

.ch-box-controls {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
}

.ch-box-control {
  padding: 10px 16px;
  border: 2px solid var(--wine);
  border-radius: 999px;
  background: var(--cream);
  font-weight: 700;
  cursor: pointer;
}

/* =========================
   13. SHOP THE LOOK
   ========================= */
.ch-look {
  background: var(--blush);
}

.ch-look-grid {
  display: grid;
  grid-template-columns: 60% 40%;
  overflow: hidden;
  border: 3px solid var(--wine);
  border-radius: 34px;
  background: var(--cream);
}

.ch-look-media {
  position: relative;
  min-height: 640px;
  border-right: 3px solid var(--wine);
}

.ch-look-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ch-hotspot {
  position: absolute;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 3px solid var(--wine);
  border-radius: 50%;
  background: var(--yellow);
  box-shadow: 3px 4px 0 var(--wine);
  font-size: 1.4rem;
  font-weight: 700;
}

.ch-look-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px;
}

.ch-look-copy h2 {
  color: var(--pink);
  font-size: clamp(3rem, 5vw, 5.2rem);
}

.ch-look-products {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.ch-look-product {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 2px solid rgba(96, 39, 48, 0.2);
}

/* =========================
   14. MANIFESTO
   ========================= */
.ch-manifesto {
  padding: 110px 20px;
  background: var(--wine);
  color: var(--cream);
  text-align: center;
}

.ch-manifesto h2 {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--cream);
  font-size: clamp(3.6rem, 8vw, 8rem);
}

.ch-manifesto strong {
  color: var(--yellow);
}

.ch-manifesto p {
  max-width: 700px;
  margin: 30px auto 0;
  color: #f8dfe3;
  font-size: 1.15rem;
  line-height: 1.7;
}

/* =========================
   15. REVIEWS
   ========================= */
.ch-reviews {
  background: var(--cream);
}

.ch-review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.ch-review {
  padding: 28px;
  border: 3px solid var(--wine);
  border-radius: 28px;
  background: var(--blush);
  box-shadow: 5px 6px 0 var(--wine);
  transform: rotate(var(--rot, 0deg));
}

.ch-review__quote {
  font-family: 'Fredoka', sans-serif;
  font-size: 1.55rem;
  line-height: 1.2;
}

.ch-review__name {
  margin-top: 24px;
  font-weight: 700;
}

/* =========================
   16. SOCIAL
   ========================= */
.ch-social {
  background: var(--yellow);
}

.ch-social-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ch-social-card {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border: 3px solid var(--wine);
  border-radius: 26px;
  background: var(--cream);
}

.ch-social-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================
   17. NEWSLETTER
   ========================= */
.ch-newsletter {
  padding: 88px 0;
  border-bottom: 3px solid var(--wine);
  background: var(--pink);
  color: #fff;
}

.ch-newsletter__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 50px;
}

.ch-newsletter h2 {
  color: #fff;
  font-size: clamp(3.2rem, 6vw, 6rem);
}

.ch-newsletter p {
  max-width: 520px;
  font-size: 1.1rem;
  line-height: 1.6;
}

.ch-newsletter form {
  display: flex;
  gap: 12px;
}

.ch-newsletter input {
  flex: 1;
  min-width: 0;
  padding: 16px 20px;
  border: 3px solid var(--wine);
  border-radius: 999px;
  background: var(--cream);
  color: var(--wine);
  font: inherit;
}

/* =========================
   18. FOOTER
   ========================= */
.ch-footer {
  padding: 60px 0 30px;
  background: var(--cream);
}

.ch-footer__big {
  margin: 25px 0 55px;
  color: var(--wine);
  font-family: 'Fredoka', sans-serif;
  font-size: clamp(5rem, 16vw, 13rem);
  font-weight: 700;
  line-height: 0.8;
  letter-spacing: -0.06em;
  text-align: center;
}

.ch-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  padding-top: 32px;
  border-top: 3px solid var(--wine);
}

.ch-footer__links {
  display: grid;
  gap: 9px;
}

.ch-footer__note {
  color: #745b5f;
  line-height: 1.6;
}

/* =========================
   19. RESPONSIVE — TABLET
   ========================= */
@media (max-width: 900px) {
  .page-width {
    width: min(calc(100% - 28px), 1280px);
  }

  .ch-header {
    min-height: 60px;
    margin-bottom: -60px;
  }

  .ch-header__inner {
    grid-template-columns: 1fr auto 1fr;
    gap: 10px;
    min-height: 60px;
    padding: 0 16px;
  }

  .ch-nav {
    display: none;
  }

  .ch-menu-btn {
    display: block;
  }

  .ch-logo {
    width: 150px;
    height: 48px;
  }

  .ch-logo img {
    width: 145px;
    max-width: 145px;
    max-height: 46px;
  }

  .ch-header__mobile-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    color: #fff;
    font-weight: 700;
  }

  .ch-hero__grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ch-hero__copy {
    padding: 86px 18px 45px;
  }

  .ch-hero h1 {
    font-size: clamp(4.2rem, 19vw, 6.2rem);
  }

  .ch-hero__media {
    min-height: 520px;
    border-top: 3px solid var(--wine);
    border-left: 0;
  }

  .ch-sticker {
    width: 105px;
    height: 105px;
    font-size: 0.85rem;
  }

  .ch-section {
    padding: 64px 0;
  }

  .ch-section__top {
    flex-direction: column;
    align-items: flex-start;
  }

  .ch-mood-grid,
  .ch-product-grid,
  .ch-social-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ch-mood-card {
    min-height: 360px;
  }

  .ch-editorial__grid,
  .ch-look-grid,
  .ch-newsletter__inner {
    grid-template-columns: 1fr;
  }

  .ch-editorial__media,
  .ch-look-media {
    border-right: 0;
    border-bottom: 3px solid var(--wine);
  }

  .ch-editorial__copy,
  .ch-look-copy {
    padding: 40px 24px;
  }

  .ch-box-slide.is-active {
    grid-template-columns: 1fr;
  }

  .ch-box-slide__media {
    min-height: 420px;
    border-right: 0;
    border-bottom: 3px solid var(--wine);
  }

  .ch-box-slide__copy {
    padding: 35px 24px;
  }

  .ch-review-grid {
    grid-template-columns: 1fr;
  }

  .ch-newsletter form {
    flex-direction: column;
  }

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

  .ch-footer__grid > div:first-child {
    grid-column: 1 / -1;
  }
}

/* =========================
   20. RESPONSIVE — MOBILE
   ========================= */
@media (max-width: 560px) {
  .ch-announcement {
    min-height: 28px;
    padding: 4px 8px;
  }

  .ch-announcement__track {
    font-size: 0.82rem;
  }

  .ch-mood-grid,
  .ch-product-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .ch-product-card__body {
    padding: 13px;
  }

  .ch-product-card__name {
    font-size: 1rem;
  }

  .ch-mood-card {
    min-height: 310px;
  }

  .ch-mood-card__overlay {
    inset: auto 10px 10px;
    padding: 13px;
  }

  .ch-mood-card__title {
    font-size: 1.15rem;
  }

  .ch-social-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-snap-type: x mandatory;
  }

  .ch-social-card {
    min-width: 72vw;
    scroll-snap-align: start;
  }

  .ch-look-media {
    min-height: 520px;
  }

  .ch-newsletter {
    padding: 64px 0;
  }

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

  .ch-footer__big {
    margin-bottom: 35px;
  }
}


/* =========================================================
   CURRENT HOMEPAGE PATCHES — merged from the latest work
   ========================================================= */

/* movable hero: Theme Editor height + separate responsive image */
.ch-hero.ch-hero--moveable{
  height:var(--hero-height,720px)!important;
  min-height:0!important;
}
.ch-hero--moveable .ch-hero__media{
  height:100%!important;
  min-height:0!important;
}
.ch-hero__picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.ch-hero__picture .ch-hero__image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.ch-hero--moveable .ch-hero__copy--left{align-items:flex-start!important}
.ch-hero--moveable .ch-hero__copy--center{align-items:center!important}
.ch-hero--moveable .ch-hero__copy--right{align-items:flex-end!important}

/* fully editable pink/white sticker marquee */
.ch-brand-marquee{width:100%;overflow:hidden;background:var(--marquee-bg);color:var(--marquee-text)}
.ch-brand-marquee__viewport{width:100%;overflow:hidden}
.ch-brand-marquee__track{
  display:flex;align-items:center;width:max-content;will-change:transform;
  animation:chBrandMarqueeScroll var(--marquee-speed) linear infinite
}
.ch-brand-marquee--reverse .ch-brand-marquee__track{animation-direction:reverse}
.ch-brand-marquee__group{
  display:flex;align-items:center;flex-shrink:0;gap:var(--marquee-gap);
  padding:var(--marquee-padding) var(--marquee-gap) var(--marquee-padding) 0
}
.ch-brand-marquee__item{
  flex-shrink:0;white-space:nowrap;color:var(--marquee-text);
  font-family:'DM Sans',sans-serif;font-size:var(--marquee-font-size);font-weight:600;line-height:1;text-transform:lowercase
}
.ch-brand-marquee__sticker{
  flex-shrink:0;width:var(--marquee-sticker-size);height:var(--marquee-sticker-size);
  display:flex;align-items:center;justify-content:center
}
.ch-brand-marquee__sticker-image{display:block;width:100%;height:100%;object-fit:contain}
.ch-brand-marquee__sticker-fallback{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  font-size:calc(var(--marquee-sticker-size)*.9);line-height:1
}
.ch-brand-marquee--pauseable:hover .ch-brand-marquee__track{animation-play-state:paused}
@keyframes chBrandMarqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* shop by mood: all real collections, manual swipe only */
.ch-moods-swipe{overflow:hidden}
.ch-moods-swipe__viewport{
  width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 24px 28px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity
}
.ch-moods-swipe__viewport::-webkit-scrollbar{display:none}
.ch-moods-swipe__track{display:flex;align-items:stretch;width:max-content;gap:var(--mood-gap)}
.ch-moods-swipe__card{
  position:relative;flex:0 0 var(--mood-card-width);width:var(--mood-card-width);scroll-snap-align:start
}
.ch-moods-swipe__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .4s ease}
.ch-moods-swipe__card:hover .ch-moods-swipe__image{transform:scale(1.035)}
.ch-moods-swipe__placeholder{display:block;width:100%;height:100%}

/* chullbuli edit: all real products, manual swipe only */
.ch-products-swipe{overflow:hidden}
.ch-products-swipe__viewport{
  width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 24px 30px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity
}
.ch-products-swipe__viewport::-webkit-scrollbar{display:none}
.ch-products-swipe__track{display:flex;align-items:stretch;width:max-content;gap:var(--product-gap)}
.ch-products-swipe__card{
  flex:0 0 var(--product-card-width);width:var(--product-card-width);scroll-snap-align:start
}
.ch-products-swipe .ch-product-card__media{
  position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;overflow:hidden
}
.ch-products-swipe .ch-product-card__real-image{
  display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .35s ease
}
.ch-products-swipe .ch-product-card__media:hover .ch-product-card__real-image{transform:scale(1.035)}
.ch-product-card__badge{
  position:absolute;top:12px;left:12px;z-index:2;padding:7px 11px;border-radius:999px;
  background:var(--wine);color:#fff;font-size:.75rem;font-weight:700
}
.ch-product-card__compare-price{margin-left:7px;opacity:.55;text-decoration:line-through}

/* interactive chullbuli reminder */
.ch-reminders{position:relative;width:100%;min-height:var(--reminders-height);background:var(--reminders-bg);overflow:hidden}
.ch-reminders__inner{position:relative;width:min(1400px,100%);min-height:var(--reminders-height);margin:0 auto;padding:40px 24px}
.ch-reminders__center{
  position:absolute;top:50%;left:50%;z-index:2;width:min(560px,calc(100% - 40px));
  text-align:center;transform:translate(-50%,-50%)
}
.ch-reminders__heading{
  margin:0;color:var(--reminders-heading);font-family:'Fredoka',sans-serif;
  font-size:clamp(42px,5.5vw,72px);line-height:.95;font-weight:700;letter-spacing:-.04em;text-transform:lowercase;
  transition:opacity .18s ease,transform .18s ease
}
.ch-reminders__subtext{
  margin:18px 0 0;color:var(--reminders-heading);font-family:'DM Sans',sans-serif;
  font-size:clamp(16px,1.6vw,22px);line-height:1.35;font-weight:500;
  transition:opacity .18s ease,transform .18s ease
}
.ch-reminders__helper{margin:16px 0 0;color:var(--reminders-subtext);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.4}
.ch-reminders.is-changing .ch-reminders__heading,.ch-reminders.is-changing .ch-reminders__subtext{opacity:0;transform:translateY(6px)}
.ch-reminders__sticker{
  position:absolute;top:var(--sticker-y);left:var(--sticker-x);z-index:1;
  display:flex;align-items:center;justify-content:center;width:var(--sticker-size);height:var(--sticker-size);
  padding:0;margin:0;border:0;background:transparent;cursor:pointer;
  transform:translate(-50%,-50%) rotate(var(--sticker-rotate));
  transition:transform .22s ease,filter .22s ease,opacity .22s ease
}
.ch-reminders__sticker:hover{transform:translate(-50%,-50%) rotate(var(--sticker-rotate)) scale(1.08)}
.ch-reminders__sticker.is-active{transform:translate(-50%,-50%) rotate(var(--sticker-rotate)) scale(1.1)}
.ch-reminders__sticker-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.10))}
.ch-reminders__sticker-fallback{
  display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  font-size:calc(var(--sticker-size)*.8);line-height:1
}

@media(max-width:900px){
  .ch-hero.ch-hero--moveable{height:var(--hero-mobile-height,700px)!important;min-height:0!important}
  .ch-reminders{min-height:var(--reminders-mobile-height)}
  .ch-reminders__inner{min-height:var(--reminders-mobile-height);padding:24px 14px}
  .ch-reminders__center{width:min(92%,420px)}
  .ch-reminders__heading{font-size:clamp(34px,10vw,52px)}
  .ch-reminders__subtext{font-size:16px}
  .ch-reminders__helper{font-size:14px}
  .ch-reminders__sticker{
    top:var(--sticker-mobile-y);left:var(--sticker-mobile-x);
    width:var(--sticker-mobile-size);height:var(--sticker-mobile-size)
  }
  .ch-reminders__sticker-fallback{font-size:calc(var(--sticker-mobile-size)*.8)}
}

@media(max-width:749px){
  .ch-brand-marquee__item{font-size:var(--marquee-mobile-font-size)}
  .ch-brand-marquee__sticker{width:var(--marquee-mobile-sticker-size);height:var(--marquee-mobile-sticker-size)}
  .ch-brand-marquee__sticker-fallback{font-size:calc(var(--marquee-mobile-sticker-size)*.9)}
  .ch-moods-swipe__viewport,.ch-products-swipe__viewport{padding-left:16px;padding-right:16px}
  .ch-moods-swipe__card{flex-basis:var(--mood-mobile-width);width:var(--mood-mobile-width)}
  .ch-products-swipe__card{flex-basis:var(--product-mobile-width);width:var(--product-mobile-width)}
}

/* =========================================================
   ROUGH COMPLETE STORE — inner pages only
   ========================================================= */
:root{--muted:#71595d}
/* product page */
.ch-main-product{padding:58px 0 86px}.ch-product-page{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:54px;align-items:start}.ch-product-page__gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ch-product-page__media{overflow:hidden;border-radius:24px;background:#F2E5DF}.ch-product-page__media:first-child{grid-column:1/-1}.ch-product-page__media img,.ch-product-page__media video{display:block;width:100%;height:auto;object-fit:contain}.ch-product-page__info{position:sticky;top:24px;padding:10px 0}.ch-product-page__title{font-size:clamp(3rem,5vw,5.4rem);margin:8px 0 18px}.ch-product-page__price{display:flex;gap:12px;align-items:center;font-size:1.35rem;margin-bottom:24px}.ch-product-page__price-current{font-weight:700}.ch-product-page__price-compare{text-decoration:line-through;opacity:.5}.ch-product-page__description{color:var(--muted);margin-bottom:24px}.ch-product-form{margin:22px 0}.ch-product-page__add{width:100%;margin-top:22px}.ch-dynamic-checkout{margin-top:12px}.ch-product-page__trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.ch-product-page__trust div{padding:11px 9px;border:1px solid rgba(96,39,48,.22);border-radius:15px;text-align:center;font-size:.82rem}.ch-accordion{border-top:1px solid rgba(96,39,48,.22);padding:15px 0}.ch-accordion:last-child{border-bottom:1px solid rgba(96,39,48,.22)}.ch-accordion summary{cursor:pointer;font-family:'Fredoka',sans-serif;font-weight:650;font-size:1.05rem}.ch-accordion .rte{padding-top:12px;color:var(--muted)}.ch-related-products{margin-top:84px}.ch-related-products__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

/* collection pages */
.ch-main-collection,.ch-list-collections,.ch-search-page,.ch-cart-page,.ch-blog-page{padding:42px 0 82px}.ch-collection-hero{display:grid;grid-template-columns:1fr minmax(240px,420px);gap:36px;align-items:end;padding:40px 0}.ch-collection-hero h1{font-size:clamp(3.5rem,7vw,7rem);margin:6px 0 14px}.ch-collection-description{max-width:720px;color:var(--muted)}.ch-collection-hero__image{border:3px solid var(--wine);border-radius:28px;overflow:hidden;aspect-ratio:4/3}.ch-collection-hero__image img{width:100%;height:100%;object-fit:cover}.ch-collection-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:18px 0 24px;border-top:1px solid rgba(96,39,48,.18)}.ch-collection-toolbar__count{margin-right:auto;color:var(--muted)}.ch-sort-label{font-weight:700;font-size:.86rem}.ch-collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.ch-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:42px}.ch-pagination a{font-weight:700}.ch-pagination span{color:var(--muted)}
.ch-collections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ch-collection-card{overflow:hidden;border:3px solid var(--wine);border-radius:28px;background:var(--blush)}.ch-collection-card__media{aspect-ratio:4/3;overflow:hidden;border-bottom:3px solid var(--wine);background:#F2E5DF}.ch-collection-card__media img,.ch-collection-card__media svg{width:100%;height:100%;object-fit:cover}.ch-collection-card__body{padding:18px}.ch-collection-card__body h2{font-family:'Fredoka',sans-serif;margin:0 0 5px;font-size:1.6rem}.ch-collection-card__body span{color:var(--muted);font-size:.9rem}

/* cart */
.ch-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}.ch-cart-items{display:grid;gap:18px}.ch-cart-item{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px;border:2px solid var(--wine);border-radius:24px;background:#fff}.ch-cart-item__image{aspect-ratio:1/1;background:#F2E5DF;border-radius:16px;overflow:hidden}.ch-cart-item__image img{width:100%;height:100%;object-fit:contain}.ch-cart-item__title{font-family:'Fredoka',sans-serif;font-size:1.3rem;font-weight:650}.ch-cart-item__variant{color:var(--muted);font-size:.9rem;margin-top:4px}.ch-cart-item__price{font-weight:700;margin:8px 0}.ch-cart-item__remove{display:inline-block;margin-top:8px;text-decoration:underline;font-size:.88rem;color:var(--muted)}.ch-cart-summary{position:sticky;top:24px;padding:26px;border:3px solid var(--wine);border-radius:28px;background:var(--blush);box-shadow:6px 7px 0 var(--wine)}.ch-cart-summary h2{font-size:2.5rem;margin-bottom:22px}.ch-cart-summary__row{display:flex;justify-content:space-between;gap:20px;font-size:1.15rem}.ch-cart-summary__note{color:var(--muted);line-height:1.5;font-size:.9rem}.ch-cart-summary__update,.ch-cart-summary__checkout{width:100%;margin-top:12px}.ch-cart-summary__update{background:var(--cream);color:var(--wine)}

/* search */
.ch-search-form{display:flex;gap:12px;max-width:820px;margin-bottom:28px}.ch-search-input{border-radius:999px;padding-inline:20px}.ch-search-meta{color:var(--muted);margin-bottom:24px}

/* content/contact/blog/article */
.ch-content-page{padding:42px 0 86px}.ch-content-page__inner{max-width:900px}.ch-page-rte{font-size:1.05rem}.ch-contact-page{padding:70px 0 90px}.ch-contact-page__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.ch-contact-page h1{font-size:clamp(4rem,7vw,7rem);margin:8px 0 20px}.ch-contact-page__intro{max-width:520px;color:var(--muted);line-height:1.65}.ch-contact-card{padding:28px;border:3px solid var(--wine);border-radius:28px;background:var(--blush);box-shadow:7px 8px 0 var(--wine)}.ch-contact-card .ch-btn{margin-top:20px;width:100%}
.ch-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ch-blog-card{border:2px solid var(--wine);border-radius:24px;overflow:hidden;background:#fff}.ch-blog-card__media{display:block;aspect-ratio:4/3;background:#F2E5DF;overflow:hidden}.ch-blog-card__media img,.ch-blog-card__media svg{width:100%;height:100%;object-fit:cover}.ch-blog-card__body{padding:18px}.ch-blog-card__body h2{font-family:'Fredoka',sans-serif;line-height:1.1}.ch-blog-card__body p{color:var(--muted);line-height:1.55}.ch-article-page{padding:60px 0 90px}.ch-article-page__inner{max-width:980px}.ch-article-page__header h1{font-size:clamp(3.5rem,7vw,7rem);margin:8px 0 28px}.ch-article-page__image{border-radius:28px;overflow:hidden;margin-bottom:34px}.ch-article-page__content{font-size:1.08rem;margin-bottom:38px}
.ch-empty-state{padding:100px 20px;text-align:center}.ch-empty-state__emoji{font-size:3rem;margin-bottom:14px}.ch-empty-state h1,.ch-empty-state h2{max-width:760px;margin:0 auto 16px;font-size:clamp(3rem,6vw,6rem)}.ch-empty-state p{color:var(--muted);margin-bottom:28px}

@media(max-width:900px){
  .page-width{width:min(100% - 28px,1380px)}
  .ch-header{min-height:60px}.ch-header-wrap--home .ch-header{margin-bottom:-60px}
  .ch-header__inner{min-height:60px;grid-template-columns:1fr 150px 1fr;padding:0 14px}.ch-nav{display:none}.ch-menu-btn{display:block}.ch-logo{width:150px;height:52px}.ch-logo img{width:145px;max-height:50px}.ch-header__mobile-right{display:flex}.ch-header__icon{width:28px;height:28px}
  .ch-hero{height:var(--hero-mobile-height,700px)}
  .ch-hero__copy{left:calc(var(--hero-mobile-x,7)*1%);top:calc(var(--hero-mobile-y,78)*1%);transform:translate(calc(var(--hero-mobile-x,7)*-1%),calc(var(--hero-mobile-y,78)*-1%));width:min(var(--hero-mobile-copy-width,360px),calc(100% - 28px))}
  .ch-hero h1{font-size:clamp(3.5rem,17vw,6rem)}.ch-hero__text{font-size:.98rem;margin:16px 0 22px}.ch-pill{padding:8px 14px;margin-bottom:16px;font-size:.85rem}.ch-hero .ch-btn{min-height:44px;padding:11px 18px}
  .ch-brand-marquee__item{font-size:var(--marquee-mobile-font-size,18px)}.ch-brand-marquee__sticker{width:var(--marquee-mobile-sticker-size,30px);height:var(--marquee-mobile-sticker-size,30px)}.ch-brand-marquee__sticker-fallback{font-size:calc(var(--marquee-mobile-sticker-size,30px)*.9)}
  .ch-section{padding:62px 0}.ch-section__top{align-items:flex-start;flex-direction:column;margin-bottom:26px}.ch-section__title{font-size:clamp(2.6rem,10vw,4.6rem)}
  .ch-moods-swipe__viewport,.ch-products-swipe__viewport{padding-left:14px;padding-right:14px}.ch-mood-card{flex-basis:var(--mood-mobile-width,230px);width:var(--mood-mobile-width,230px);min-height:340px}.ch-products-swipe__card{flex-basis:var(--product-mobile-width,220px);width:var(--product-mobile-width,220px)}
  .ch-editorial__grid,.ch-look-grid,.ch-newsletter__inner{grid-template-columns:1fr}.ch-editorial__media,.ch-look-media{border-right:0;border-bottom:3px solid var(--wine)}.ch-editorial__media{min-height:460px}.ch-editorial__copy,.ch-look-copy{padding:40px 24px}
  .ch-reminders,.ch-reminders__inner{min-height:var(--reminders-mobile-height,720px)}.ch-reminders__inner{padding:24px 14px}.ch-reminders__center{width:min(92%,420px)}.ch-reminders__heading{font-size:clamp(34px,10vw,52px)}.ch-reminders__subtext{font-size:16px}.ch-reminders__helper{font-size:14px}.ch-reminders__sticker{top:var(--sticker-mobile-y);left:var(--sticker-mobile-x);width:var(--sticker-mobile-size);height:var(--sticker-mobile-size)}.ch-reminders__sticker-fallback{font-size:calc(var(--sticker-mobile-size)*.8)}
  .ch-box-slide.is-active{grid-template-columns:1fr}.ch-box-slide__media{border-right:0;border-bottom:3px solid var(--wine);min-height:420px}.ch-box-slide__copy{padding:35px 24px}.ch-look-media{min-height:520px}
  .ch-review-grid{grid-template-columns:1fr}.ch-social-grid{grid-template-columns:repeat(2,1fr)}.ch-newsletter form{flex-direction:column}
  .ch-footer__grid{grid-template-columns:1fr 1fr}.ch-footer__grid>div:first-child{grid-column:1/-1}
  .ch-product-page{grid-template-columns:1fr;gap:30px}.ch-product-page__gallery{grid-template-columns:1fr 1fr}.ch-product-page__info{position:static}.ch-related-products__grid,.ch-collection-grid{grid-template-columns:repeat(2,1fr)}.ch-product-page__trust{grid-template-columns:1fr 1fr 1fr}
  .ch-collection-hero{grid-template-columns:1fr}.ch-collection-hero__image{max-width:520px}.ch-collections-grid{grid-template-columns:repeat(2,1fr)}
  .ch-cart-layout{grid-template-columns:1fr}.ch-cart-summary{position:static}.ch-contact-page__grid{grid-template-columns:1fr}.ch-blog-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:560px){
  .ch-announcement__track span{font-size:.78rem}.ch-announcement__track{padding:7px 0}
  .ch-mood-card__overlay{left:10px;right:10px;bottom:10px;padding:13px}.ch-mood-card__title{font-size:1.15rem}
  .ch-product-card__body{padding:13px}.ch-product-card__name{font-size:1rem}.ch-product-card__price{font-size:.9rem}
  .ch-editorial__media{min-height:380px}.ch-editorial__copy h2{font-size:3.4rem}
  .ch-social-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.ch-social-card{min-width:72vw;scroll-snap-align:start}
  .ch-newsletter{padding:64px 0}.ch-footer__grid{grid-template-columns:1fr}.ch-footer__big{margin-bottom:35px}.ch-footer__bottom{flex-direction:column}.ch-footer__tagline{font-size:1.7rem}
  .ch-product-page__gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px}.ch-product-page__media{min-width:90%;scroll-snap-align:start}.ch-product-page__media:first-child{grid-column:auto}.ch-product-page__title{font-size:3.3rem}.ch-product-page__trust{grid-template-columns:1fr}.ch-related-products__grid,.ch-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ch-related-products__grid .ch-product-card__body,.ch-collection-grid .ch-product-card__body{padding:11px}.ch-related-products__grid .ch-product-card__name,.ch-collection-grid .ch-product-card__name{font-size:.95rem}
  .ch-collection-toolbar{flex-wrap:wrap;justify-content:flex-start}.ch-collection-toolbar__count{width:100%;margin-right:0}.ch-select--small{width:100%}.ch-collections-grid{grid-template-columns:1fr}
  .ch-cart-item{grid-template-columns:105px 1fr;padding:12px;gap:13px}.ch-cart-summary{padding:20px}.ch-search-form{flex-direction:column}.ch-search-form .ch-btn{width:100%}
  .ch-blog-grid{grid-template-columns:1fr}.ch-contact-card{padding:20px}.ch-page-heading{padding:38px 0 24px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.ch-announcement__track,.ch-brand-marquee__track{animation:none!important}.ch-product-card__real-image,.ch-moods-swipe__image,.ch-btn,.ch-reminders__sticker{transition:none!important}
}

/* about + faq */
.ch-about-page,.ch-faq-page{padding:64px 0 90px}
.ch-about-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ch-about-hero__copy h1{font-size:clamp(4rem,7vw,7rem);margin:10px 0 22px}
.ch-about-hero__text{font-size:1.08rem;color:var(--muted);max-width:620px}
.ch-about-hero__media{min-height:620px;border:3px solid var(--wine);border-radius:34px;overflow:hidden;background:var(--blush);box-shadow:8px 9px 0 var(--wine)}
.ch-about-hero__media img{width:100%;height:100%;object-fit:cover}
.ch-about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}
.ch-about-value{padding:28px;border:3px solid var(--wine);border-radius:28px;background:var(--blush);box-shadow:5px 6px 0 var(--wine)}
.ch-about-value__icon{font-size:2rem}.ch-about-value h2{font-family:'Fredoka',sans-serif;font-size:1.6rem;margin:12px 0 8px}.ch-about-value p{margin:0;color:var(--muted);line-height:1.55}
.ch-faq-page__inner{max-width:900px}.ch-faq-page .ch-page-heading p{max-width:620px;color:var(--muted);line-height:1.6}
.ch-faq-list{border-top:2px solid var(--wine)}.ch-faq-item{border-bottom:2px solid var(--wine);padding:0}.ch-faq-item summary{cursor:pointer;list-style:none;padding:22px 0;font-family:'Fredoka',sans-serif;font-size:1.35rem;font-weight:650}.ch-faq-item summary::-webkit-details-marker{display:none}.ch-faq-item summary::after{content:'+';float:right;font-size:1.5rem}.ch-faq-item[open] summary::after{content:'−'}.ch-faq-item .rte{padding:0 0 22px;color:var(--muted)}

@media(max-width:900px){.ch-about-hero{grid-template-columns:1fr}.ch-about-hero__media{min-height:500px}.ch-about-values{grid-template-columns:1fr;gap:14px}}
@media(max-width:560px){.ch-about-page,.ch-faq-page{padding:46px 0 70px}.ch-about-hero__copy h1{font-size:3.8rem}.ch-about-hero__media{min-height:420px}.ch-about-values{margin-top:48px}.ch-faq-item summary{font-size:1.15rem}}

/* =========================================================
   ACCOUNT / CUSTOMER PAGES — full-site support
   ========================================================= */
.ch-account-page{padding:58px 0 90px;background:var(--cream)}
.ch-account-page__narrow{max-width:720px}
.ch-account-card,.ch-account-panel{padding:26px;border:3px solid var(--wine);border-radius:28px;background:var(--blush);box-shadow:6px 7px 0 var(--wine)}
.ch-account-card--secondary{margin-top:34px;background:#fff}
.ch-account-card--secondary h2,.ch-account-panel h2{font-size:2.2rem;margin-bottom:14px}
.ch-account-card__button{width:100%;margin-top:18px}
.ch-account-links{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:18px;font-weight:700}
.ch-account-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:26px;align-items:start}
.ch-account-panel--side{display:grid;gap:14px;position:sticky;top:24px}
.ch-order-list{display:grid;gap:10px;margin-top:18px}
.ch-order-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:center;padding:16px;border:2px solid var(--wine);border-radius:18px;background:#fff}
.ch-address-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:34px}
.ch-account-card--address{max-width:900px}
.ch-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ch-form-grid__full{grid-column:1/-1}
.ch-text-button{border:0;background:transparent;color:var(--wine);font:700 1rem 'DM Sans',sans-serif;text-decoration:underline;cursor:pointer;padding:0}
.ch-order-items{display:grid;gap:14px}.ch-order-item{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;padding-bottom:14px;border-bottom:2px solid rgba(96,39,48,.18)}
.ch-order-item img{width:90px;height:90px;object-fit:cover;border-radius:16px}.ch-order-total{display:flex;justify-content:space-between;gap:20px;padding-top:20px;font-size:1.25rem}
@media(max-width:900px){.ch-account-layout{grid-template-columns:1fr}.ch-account-panel--side{position:static}.ch-address-grid{grid-template-columns:1fr 1fr}.ch-order-row{grid-template-columns:1fr 1fr}.ch-order-row strong{justify-self:end}}
@media(max-width:560px){.ch-account-page{padding:42px 0 70px}.ch-account-card,.ch-account-panel{padding:20px}.ch-address-grid,.ch-form-grid{grid-template-columns:1fr}.ch-form-grid__full{grid-column:auto}.ch-order-row{grid-template-columns:1fr}.ch-order-row strong{justify-self:start}.ch-order-item{grid-template-columns:72px 1fr}.ch-order-item>strong{grid-column:2}.ch-order-item img{width:72px;height:72px}}

/* separator after chullbuli reminder */
.ch-reminders {
  border-bottom: 3px solid var(--wine);
}

/* =========================================================
   chullbuli dressing room
========================================================= */

.ch-dressing-room {
  width: 100%;
  padding: 24px;
  background: var(--dress-bg);
  color: var(--dress-text);
}

.ch-dressing-room__window {
  overflow: hidden;
  width: 100%;
  border: 2px solid var(--dress-accent);
  border-radius: 22px;
  background: var(--dress-bg);
}

.ch-dressing-room__bar {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 18px;
  border-bottom: 2px solid var(--dress-accent);
  color: var(--dress-text);
  font-family: 'DM Sans', sans-serif;
}

.ch-dressing-room__brand {
  font-weight: 800;
  text-transform: lowercase;
}

.ch-dressing-room__status {
  font-size: 14px;
  text-transform: lowercase;
}

.ch-dressing-room__scene {
  position: relative;
  min-height: var(--dress-height);
  overflow: hidden;
  background: var(--dress-bg);
}

.ch-dressing-room__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ch-dressing-room__background--mobile {
  display: none;
}

.ch-dressing-room__looks {
  position: relative;
  z-index: 2;
  min-height: var(--dress-height);
}

.ch-dressing-room__look {
  position: absolute;
  inset: 0;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px 105px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(24px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0.35s ease;
}

.ch-dressing-room__look.is-active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.ch-dressing-room__visual {
  display: flex;
  width: min(var(--dress-image-width), 80vw);
  max-height: calc(var(--dress-height) - 230px);
  align-items: center;
  justify-content: center;
}

.ch-dressing-room__look-image {
  display: block;
  width: 100%;
  max-height: calc(var(--dress-height) - 230px);
  object-fit: contain;
  filter: drop-shadow(0 18px 25px rgba(0, 0, 0, 0.12));
}

.ch-dressing-room__placeholder {
  display: flex;
  min-height: 260px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border: 2px dashed var(--dress-accent);
  border-radius: 24px;
  background: rgba(255,255,255,0.55);
  font-family: 'DM Sans', sans-serif;
}

.ch-dressing-room__info {
  margin-top: 18px;
  text-align: center;
}

.ch-dressing-room__product-title {
  margin: 0;
  color: var(--dress-text);
  font-family: 'Fredoka', sans-serif;
  font-size: 24px;
  line-height: 1.05;
  text-transform: lowercase;
}

.ch-dressing-room__price {
  margin-top: 7px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
}

.ch-dressing-room__compare {
  margin-left: 7px;
  opacity: 0.55;
  text-decoration: line-through;
}

.ch-dressing-room__shop {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 13px;
  padding: 10px 22px;
  border: 2px solid var(--dress-accent);
  border-radius: 999px;
  background: var(--dress-button-bg);
  color: var(--dress-button-text);
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  text-transform: lowercase;
}

.ch-dressing-room__controls {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
}

.ch-dressing-room__arrow {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--dress-accent);
  border-radius: 50%;
  background: #FFF3ED;
  color: var(--dress-text);
  cursor: pointer;
  font-size: 22px;
  transition: transform 0.18s ease;
}

.ch-dressing-room__arrow:hover {
  transform: scale(1.07);
}

.ch-dressing-room__shop-mobile {
  display: none;
  min-height: 48px;
  padding: 10px 24px;
  border: 2px solid var(--dress-accent);
  border-radius: 999px;
  background: var(--dress-button-bg);
  color: var(--dress-button-text);
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  font-weight: 800;
  text-transform: lowercase;
}


@media (max-width: 749px) {

  .ch-dressing-room {
    padding: 12px;
  }

  .ch-dressing-room__window {
    border-radius: 16px;
  }

  .ch-dressing-room__bar {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
  }

  .ch-dressing-room__status {
    font-size: 12px;
  }

  .ch-dressing-room__scene,
  .ch-dressing-room__looks {
    min-height: var(--dress-mobile-height);
  }

  ..ch-dressing-room__background--mobile {
  display: block;
}

.ch-dressing-room__background--mobile + * {
  position: relative;
}

  .ch-dressing-room__background--mobile {
    display: block;
  }

  .ch-dressing-room__look {
    min-height: var(--dress-mobile-height);
    padding: 38px 16px 105px;
  }

  .ch-dressing-room__visual {
    width: min(var(--dress-mobile-image-width), 82vw);
    max-height: calc(var(--dress-mobile-height) - 220px);
  }

  .ch-dressing-room__look-image {
    max-height: calc(var(--dress-mobile-height) - 220px);
  }

  .ch-dressing-room__product-title {
    font-size: 21px;
  }

  .ch-dressing-room__shop {
    display: none;
  }

  .ch-dressing-room__shop-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

}

/* =========================================================
   spotted being chullbuli
   native reels + autoplay slider
========================================================= */

.ch-social-native {
  overflow: hidden;
}


/* VIEWPORT */

.ch-reels__viewport {
  width: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  padding: 5px 0 28px;

  scrollbar-width: none;

  -webkit-overflow-scrolling: touch;

  scroll-behavior: smooth;

  overscroll-behavior-inline: contain;
}


.ch-reels__viewport {
  width: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  padding: 5px 0 26px;

  scrollbar-width: none;

  -webkit-overflow-scrolling: touch;

  overscroll-behavior-inline: contain;
}


/* TRACK */

.ch-reels__track {
  display: flex;

  align-items: stretch;

  width: max-content;

  gap: var(--reel-gap);
}


/* REEL CARD */

.ch-reel-card {
  position: relative;

  flex: 0 0 var(--reel-card-width);

  width: var(--reel-card-width);

  overflow: hidden;

  border: 3px solid var(--wine);

  border-radius: 34px;

  background: #111;

  scroll-snap-align: start;

  isolation: isolate;
}


/* VIDEO AREA */

.ch-reel-card__media {
  position: relative;

  display: block;

  width: 100%;

  aspect-ratio: 9 / 16;

  overflow: hidden;

  background: #111;
}


.ch-reel-card__video,
.ch-reel-card__fallback-image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  background: #111;
}


/* SUBTLE HOVER */

.ch-reel-card__video {
  transition:
    transform 0.4s ease,
    filter 0.3s ease;
}


@media (hover: hover) {

  .ch-reel-card:hover
  .ch-reel-card__video {
    transform: scale(1.015);
  }

}


/* CONTROLS */

.ch-reel-card__controls {
  position: absolute;

  right: 12px;
  bottom: 12px;

  z-index: 8;

  display: flex;

  align-items: center;

  gap: 8px;

  opacity: 0;

  transform: translateY(7px);

  pointer-events: none;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}


@media (hover: hover) {

  .ch-reel-card:hover
  .ch-reel-card__controls {
    opacity: 1;

    transform: translateY(0);

    pointer-events: auto;
  }

}


/* MOBILE / TOUCH CONTROLS ALWAYS VISIBLE */

@media (hover: none) {

  .ch-reel-card__controls {
    opacity: 1;

    transform: none;

    pointer-events: auto;
  }

}


/* ROUND CONTROL */

.ch-reel-card__control {
  display: flex;

  width: 44px;
  height: 44px;

  align-items: center;
  justify-content: center;

  padding: 0;

  border: 2px solid var(--wine);

  border-radius: 50%;

  background: rgba(255, 243, 237, 0.94);

  color: var(--wine);

  cursor: pointer;

  text-decoration: none;

  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);

  transition:
    transform 0.18s ease,
    background 0.18s ease;
}


.ch-reel-card__control:hover {
  transform: scale(1.08);

  background: #fff3ed;
}


.ch-reel-card__control svg {
  display: block;

  width: 21px;
  height: 21px;

  fill: none;

  stroke: currentColor;

  stroke-width: 1.8;

  stroke-linecap: round;

  stroke-linejoin: round;
}


.ch-reel-card__instagram
.ch-ig-dot {
  fill: currentColor;

  stroke: none;
}


/* LABEL */

.ch-reel-card__label {
  padding: 10px 14px 12px;

  background: #fff3ed;

  color: var(--wine);

  font-family: 'DM Sans', sans-serif;

  font-size: 13px;

  font-weight: 700;

  line-height: 1.25;
}


/* EMPTY CARD */

.ch-reel-card__empty {
  display: flex;

  width: 100%;

  aspect-ratio: 9 / 16;

  align-items: center;
  justify-content: center;

  padding: 30px;

  background: #fff3ed;

  color: var(--wine);

  font-family: 'Fredoka', sans-serif;

  font-size: 20px;

  text-align: center;
}


.ch-reels__empty-section {
  padding: 60px 20px;

  color: var(--wine);

  font-family: 'DM Sans', sans-serif;

  text-align: center;
}


/* MOBILE */

@media (max-width: 749px) {

  .ch-reels__viewport {
    padding-bottom: 20px;

    scroll-snap-type: x mandatory;
  }


  .ch-reels__track {
    gap: 14px;
  }


  .ch-reel-card {
    flex-basis: var(--reel-mobile-width);

    width: var(--reel-mobile-width);

    border-width: 2px;

    border-radius: 26px;
  }


  .ch-reel-card__control {
    width: 40px;
    height: 40px;
  }


  .ch-reel-card__control svg {
    width: 19px;
    height: 19px;
  }


  .ch-reel-card__controls {
    right: 9px;
    bottom: 9px;
  }

}


/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

  .ch-reels__viewport {
    scroll-behavior: auto;
  }


  .ch-reel-card__video,
  .ch-reel-card__controls,
  .ch-reel-card__control {
    transition: none;
  }

}

/* =========================================================
   REELS — FORCE AUTO SLIDER OVERFLOW
========================================================= */

.ch-reels__viewport {
  scroll-behavior: smooth;
}

{

  .ch-reel-card {
    flex: 0 0 max(var(--reel-card-width), 350px) !important;
    width: max(var(--reel-card-width), 350px) !important;
  }

}



/* =========================================================
   INNER POLICY PAGES — chullbuli styling only
========================================================= */
.shopify-policy__container{max-width:920px!important;margin:0 auto!important;padding:64px 24px 90px!important;color:#602730!important}
.shopify-policy__title h1{font-family:'Fredoka',sans-serif!important;font-size:clamp(3rem,7vw,6.5rem)!important;line-height:.92!important;letter-spacing:-.04em!important;color:#602730!important;margin-bottom:34px!important}
.shopify-policy__body{padding:28px!important;border:2px solid #602730!important;border-radius:28px!important;background:#FFF3ED!important;box-shadow:6px 7px 0 #602730!important;line-height:1.7!important}
.shopify-policy__body h2,.shopify-policy__body h3{font-family:'Fredoka',sans-serif!important;color:#602730!important}
.shopify-policy__body a{color:#E73281!important;text-decoration:underline!important;font-weight:700!important}
@media(max-width:700px){.shopify-policy__container{padding:42px 16px 70px!important}.shopify-policy__body{padding:20px!important;border-radius:22px!important;box-shadow:4px 5px 0 #602730!important}}
