/** Shopify CDN: Minification failed

Line 1692:0 Unexpected "}"

**/
/* YOBF - Your Obsession Boyfriends - Dawn Theme Override */

/* ?? FONTS ?? */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&family=DM+Sans:ital,wght@0,200;0,300;0,400;1,300&family=Cormorant+Upright:wght@300;400;500&display=swap');

/* ?? DESIGN TOKENS ?? */
:root {
  --yobf-ink:        #05060F;
  --yobf-blood:      #4A1118;
  --yobf-electric:   #1A5CFF;
  --yobf-gold:       #A8895C;
  --yobf-ivory:      #E8E6F0;
  --yobf-smoke:      #0C0E1E;
  --yobf-smoke-light:#151829;
  --yobf-ivory-dim:  #A8A6C0;
  --yobf-gold-dim:   #4A70CC;

  --yobf-serif:   'Cormorant Garamond', Georgia, serif;
  --yobf-sans:    'DM Sans', Helvetica, sans-serif;
  --yobf-display: 'Cormorant Upright', Georgia, serif;

  --yobf-slow: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --yobf-med:  0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --yobf-fast: 0.2s ease;
}

/* ?? GLOBAL ?? */
body {
  background-color: var(--yobf-ink) !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  font-weight: 300 !important;
  -webkit-font-smoothing: antialiased;
}

::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--yobf-ink); }
::-webkit-scrollbar-thumb { background: var(--yobf-gold-dim); }

#MainContent { padding-top: 80px; }

/* ?? NAV OVERRIDE ?? */
.header {
  background: transparent !important;
  border-bottom: none !important;
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 100;
  padding: 24px 48px !important;
  transition: background var(--yobf-med), padding var(--yobf-med);
}

.header--has-menu.header--top-center .header__inline-menu,
.header--middle-left .header__inline-menu {
  /* ensure nav links are visible */
}

.shopify-section-group-header-group .header.scrolled-past-header {
  background: rgba(5,6,15,0.92) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(26,92,255,0.15) !important;
  padding: 14px 48px !important;
}

.header__heading-link,
.header__heading-link:link,
.header__heading-link:visited,
.header__heading-link .h2,
.header__heading-link span.h2,
a.header__heading-link,
a.header__heading-link .h2,
a.link--text.header__heading-link,
a.link--text.header__heading-link .h2,
.header__heading a,
.header__heading .h2 {
  font-family: var(--yobf-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.28em !important;
  color: var(--yobf-electric) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.header__menu-item span,
.header__menu-item {
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--yobf-ivory-dim) !important;
  transition: color var(--yobf-fast);
}

.header__menu-item:hover span { color: var(--yobf-gold) !important; }

.header__icon { color: var(--yobf-ivory-dim) !important; }
.header__icon:hover { color: var(--yobf-gold) !important; }
.header__icon svg { fill: currentColor !important; }

/* ?? FOOTER OVERRIDE ?? */
.footer { background: var(--yobf-smoke) !important; border-top: 1px solid rgba(26,92,255,0.15) !important; }
.footer__heading { font-family: var(--yobf-sans) !important; font-size: 10px !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--yobf-gold) !important; }
.footer a { color: var(--yobf-ivory-dim) !important; transition: color var(--yobf-fast); }
.footer a:hover { color: var(--yobf-ivory) !important; }
.footer__content-bottom { border-top: 1px solid rgba(26,92,255,0.1) !important; color: var(--yobf-ivory-dim) !important; opacity: 0.5; font-size: 11px !important; }

/* ?? PRODUCT CARDS OVERRIDE ?? */
.card-wrapper { background: transparent !important; }
.card { background: var(--yobf-smoke) !important; border-color: rgba(168,137,92,0.1) !important; border-radius: 0 !important; }
.card__inner { border-radius: 0 !important; }
.card__heading, .card__heading a { font-family: var(--yobf-serif) !important; font-size: 22px !important; font-weight: 400 !important; color: var(--yobf-ivory) !important; transition: color var(--yobf-fast); }
.card__heading a:hover { color: var(--yobf-gold) !important; }
.card__information { border-top: 1px solid rgba(168,137,92,0.1) !important; }
.price { color: var(--yobf-ivory) !important; font-family: var(--yobf-sans) !important; font-weight: 300 !important; }
.badge { border-radius: 0 !important; font-family: var(--yobf-sans) !important; font-size: 9px !important; letter-spacing: 0.2em !important; background: var(--yobf-blood) !important; color: var(--yobf-ivory) !important; }

/* ?? BUTTONS OVERRIDE ?? */
.button, button.shopify-payment-button__button--unbranded {
  background: transparent !important;
  border: 1px solid rgba(232,230,240,0.35) !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important; font-weight: 400 !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all var(--yobf-med) !important;
}
.button:hover { background: var(--yobf-blood) !important; border-color: var(--yobf-blood) !important; }
.button--primary { background: var(--yobf-blood) !important; border-color: var(--yobf-blood) !important; }
.button--primary:hover { background: #3a0d14 !important; border-color: #3a0d14 !important; }

/* ?? COLOR SCHEME OVERRIDES ?? */
.color-scheme-1, [class*="color-scheme-"] { background-color: var(--yobf-ink) !important; color: var(--yobf-ivory) !important; }

/* ?? PRODUCT PAGE OVERRIDE ?? */
.product__title { font-family: var(--yobf-serif) !important; font-weight: 300 !important; color: var(--yobf-ivory) !important; }
.product__description p { font-family: var(--yobf-serif) !important; font-style: italic !important; color: var(--yobf-ivory-dim) !important; }

/* ?? COLLECTION PAGE OVERRIDE ?? */
.collection-hero__title { font-family: var(--yobf-serif) !important; font-weight: 300 !important; color: var(--yobf-ivory) !important; }

/* ===================================================
   CUSTOM HOMEPAGE SECTIONS
   =================================================== */

/* HERO */
.yobf-hero {
  position: relative;
  height: 100vh; min-height: 700px;
  display: flex; align-items: flex-end;
  padding: 0 80px 100px;
  overflow: hidden; margin-top: -80px;
}

.yobf-hero__bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 65% 45%, rgba(0,80,220,0.28) 0%, transparent 60%),
    radial-gradient(ellipse at 20% 90%, rgba(0,30,100,0.25) 0%, transparent 50%),
    #05060F;
}

.yobf-hero__visual {
  position: absolute; right: 0; top: 0;
  width: 55%; height: 100%; overflow: hidden;
}

.yobf-hero__visual::after {
  content: '';
  position: absolute; left: 0; top: 0;
  width: 40%; height: 100%;
  background: linear-gradient(to right, var(--yobf-ink), transparent);
  z-index: 2;
}

.yobf-hero__visual img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

.yobf-hero__visual-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: repeating-linear-gradient(-45deg,#080b1a 0,#080b1a 4px,#0b0e20 4px,#0b0e20 12px);
  font-family: monospace; font-size: 10px;
  color: rgba(80,130,255,0.3); text-align: center; padding: 20px;
}

.yobf-hero__content {
  position: relative; z-index: 3; max-width: 600px;
}

.yobf-hero__eyebrow {
  font-family: var(--yobf-sans); font-size: 10px;
  letter-spacing: 0.35em; text-transform: uppercase;
  color: var(--yobf-electric); margin-bottom: 28px;
  opacity: 0; animation: yobfFadeUp 1.2s ease 0.3s forwards;
}

.yobf-hero__title {
  font-family: var(--yobf-serif);
  font-size: clamp(52px, 6vw, 88px);
  font-weight: 300; line-height: 1.0;
  color: var(--yobf-ivory); margin-bottom: 32px;
  opacity: 0; animation: yobfFadeUp 1.2s ease 0.6s forwards;
}

.yobf-hero__title em { font-style: italic; color: var(--yobf-electric); }

.yobf-hero__subtitle {
  font-family: var(--yobf-sans); font-size: 14px; font-weight: 300;
  color: var(--yobf-ivory-dim); letter-spacing: 0.05em;
  margin-bottom: 48px; max-width: 360px; line-height: 1.7;
  opacity: 0; animation: yobfFadeUp 1.2s ease 0.9s forwards;
}

.yobf-hero__cta {
  opacity: 0; animation: yobfFadeUp 1.2s ease 1.2s forwards;
}

.yobf-hero__btn {
  display: inline-block; background: transparent;
  border: 1px solid rgba(232,230,240,0.35);
  color: var(--yobf-ivory); font-family: var(--yobf-sans);
  font-size: 11px; font-weight: 400; letter-spacing: 0.22em;
  text-transform: uppercase; padding: 14px 36px;
  cursor: pointer; text-decoration: none;
  transition: all var(--yobf-med);
  position: relative; overflow: hidden;
}

.yobf-hero__btn::before {
  content: ''; position: absolute; inset: 0;
  background: var(--yobf-blood);
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--yobf-med); z-index: -1;
}

.yobf-hero__btn:hover { border-color: var(--yobf-blood); color: var(--yobf-ivory); }
.yobf-hero__btn:hover::before { transform: scaleX(1); }

.yobf-hero__scroll {
  position: absolute; bottom: 40px; left: 50%;
  transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  color: var(--yobf-ivory-dim); opacity: 0;
  animation: yobfFadeUp 1s ease 2s forwards, yobfScrollPulse 2s ease-in-out 3s infinite;
}

.yobf-hero__scroll-line {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--yobf-gold), transparent);
}

.yobf-hero__scroll-label {
  font-size: 9px; letter-spacing: 0.3em;
  text-transform: uppercase; font-family: var(--yobf-sans);
}

@keyframes yobfFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes yobfScrollPulse {
  0%,100% { opacity: 0.4; transform: translateX(-50%) translateY(0); }
  50%     { opacity: 0.7; transform: translateX(-50%) translateY(6px); }
}

/* RITUALS */
.yobf-rituals {
  padding: 140px 80px;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; background: var(--yobf-smoke);
}

.yobf-ritual-door {
  position: relative; overflow: hidden; cursor: pointer;
  min-height: 600px;
}

.yobf-ritual-door__bg {
  position: absolute; inset: 0;
  transition: transform var(--yobf-slow);
}

.yobf-ritual-door:hover .yobf-ritual-door__bg { transform: scale(1.04); }

.yobf-ritual-door__bg--reading {
  background:
    radial-gradient(ellipse at 40% 60%, rgba(0,80,220,0.2) 0%, transparent 60%),
    repeating-linear-gradient(-45deg,#080c1a 0,#080c1a 3px,#0c1020 3px,#0c1020 10px);
}

.yobf-ritual-door__bg--fragrance {
  background:
    radial-gradient(ellipse at 60% 40%, rgba(0,40,160,0.45) 0%, transparent 60%),
    repeating-linear-gradient(45deg,#060814 0,#060814 3px,#090c1a 3px,#090c1a 10px);
}

.yobf-ritual-door__bg img { width: 100%; height: 100%; object-fit: cover; }

.yobf-ritual-door__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,0.8) 0%, transparent 60%);
  z-index: 1;
}

.yobf-ritual-door__content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 48px; z-index: 2;
}

.yobf-ritual__number {
  font-family: var(--yobf-serif); font-size: 64px;
  font-weight: 300; color: rgba(168,137,92,0.2);
  line-height: 1; margin-bottom: 8px;
}

.yobf-ritual__category {
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--yobf-gold); font-family: var(--yobf-sans); margin-bottom: 12px;
}

.yobf-ritual__title {
  font-family: var(--yobf-serif); font-size: 36px; font-weight: 400;
  color: var(--yobf-ivory); margin-bottom: 16px; line-height: 1.1;
}

.yobf-ritual__desc {
  font-size: 13px; color: var(--yobf-ivory-dim); font-weight: 300;
  line-height: 1.7; max-width: 300px; margin-bottom: 28px;
}

.yobf-ritual__link {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--yobf-ivory); text-decoration: none;
  display: flex; align-items: center; gap: 12px;
  transition: gap var(--yobf-fast), color var(--yobf-fast);
  font-family: var(--yobf-sans);
}

.yobf-ritual__link::after { content: '-'; color: var(--yobf-gold); }
.yobf-ritual__link:hover { color: var(--yobf-gold); gap: 20px; }

/* QUOTE */
.yobf-quote {
  padding: 160px 80px; background: var(--yobf-smoke);
  text-align: center; position: relative; overflow: hidden;
}

.yobf-quote::before {
  content: '\\\\\\\\201C';
  position: absolute; top: -60px; left: 50%;
  transform: translateX(-50%);
  font-family: var(--yobf-serif); font-size: 400px;
  color: rgba(0,60,200,0.12); line-height: 1; pointer-events: none;
}

.yobf-quote__text {
  font-family: var(--yobf-serif);
  font-size: clamp(24px,3.5vw,44px);
  font-style: italic; font-weight: 300;
  color: var(--yobf-ivory); line-height: 1.5;
  max-width: 800px; margin: 0 auto 32px;
  position: relative; z-index: 1;
}

.yobf-quote__ornament {
  display: flex; align-items: center; gap: 16px;
  width: fit-content; margin: 0 auto 24px;
}

.yobf-quote__ornament::before { content: ''; display: block; width: 60px; height: 1px; background: linear-gradient(to right, transparent, var(--yobf-gold-dim)); }
.yobf-quote__ornament::after  { content: ''; display: block; width: 60px; height: 1px; background: linear-gradient(to left, transparent, var(--yobf-gold-dim)); }
.yobf-quote__ornament-diamond { color: var(--yobf-gold); font-size: 12px; }

.yobf-quote__attribution {
  font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--yobf-gold); font-family: var(--yobf-sans);
}

/* TESTIMONIALS */
.yobf-testimonials {
  padding: 120px 80px; background: var(--yobf-ink);
}

.yobf-section-header { text-align: center; margin-bottom: 72px; }

.yobf-section-eyebrow {
  font-family: var(--yobf-sans); font-size: 10px;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--yobf-gold); margin-bottom: 16px;
}

.yobf-section-title {
  font-family: var(--yobf-serif);
  font-size: clamp(36px,4vw,56px);
  font-weight: 300; color: var(--yobf-ivory); line-height: 1.1;
}

.yobf-testimonials-grid {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 32px;
}

.yobf-testimonial-card {
  background: var(--yobf-smoke); padding: 40px 36px;
  border: 1px solid rgba(168,137,92,0.08);
}

.yobf-testimonial-date {
  font-family: var(--yobf-sans); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--yobf-gold); margin-bottom: 20px; opacity: 0.8;
}

.yobf-testimonial-stars { display: flex; gap: 3px; margin-bottom: 16px; }
.yobf-testimonial-stars span { color: var(--yobf-gold); font-size: 11px; }

.yobf-testimonial-text {
  font-family: var(--yobf-serif); font-style: italic;
  font-size: 16px; color: var(--yobf-ivory);
  line-height: 1.75; margin-bottom: 24px;
}

.yobf-testimonial-author {
  font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--yobf-ivory-dim); font-family: var(--yobf-sans);
}

/* SCROLL REVEAL */
.yobf-fade-up {
  opacity: 0; transform: translateY(30px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.yobf-fade-up.yobf-visible { opacity: 1; transform: translateY(0); }

/* ?? MOBILE ?? */
@media (max-width: 900px) {
  .yobf-hero { padding: 0 24px 80px; }

  .yobf-hero__visual {
    display: block;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .yobf-hero__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }

  .yobf-hero__visual::after {
    width: 100%;
    background: linear-gradient(to top, var(--yobf-ink) 30%, rgba(5,6,15,0.7) 70%, rgba(5,6,15,0.3) 100%);
  }

  .yobf-hero__content { position: relative; z-index: 3; }

  .yobf-rituals { grid-template-columns: 1fr; padding: 80px 24px; }
  .yobf-ritual-door { min-height: 480px; }
  .yobf-quote { padding: 100px 24px; }
  .yobf-testimonials { padding: 80px 24px; }
  .yobf-testimonials-grid { grid-template-columns: 1fr; gap: 24px; }
  .header { padding: 20px 24px !important; }
}

/* =============================================
   MOBILE - 600px (phones)
   Touch nothing above this line for desktop
   ============================================= */
@media (max-width: 600px) {

  /* -- HERO -- */
  .yobf-hero {
    padding: 0 20px 56px;
    min-height: 100svh;
    align-items: flex-end;
  }
  .yobf-hero__eyebrow { font-size: 9px; letter-spacing: 0.25em; margin-bottom: 20px; }
  .yobf-hero__title { font-size: clamp(38px, 10vw, 54px); line-height: 1.05; margin-bottom: 20px; }
  .yobf-hero__subtitle { font-size: 13px; max-width: 100%; margin-bottom: 28px; line-height: 1.65; }
  .yobf-hero__btn { padding: 13px 24px; font-size: 10px; display: block; text-align: center; }
  .yobf-hero__cta { width: 100%; }
  .yobf-hero__scroll { display: none; }

  /* -- RITUAL DOORS -- */
  .yobf-rituals { padding: 0; gap: 2px; }
  .yobf-ritual-door { min-height: 340px; }
  .yobf-ritual-door__content { padding: 24px 20px 28px; }
  .yobf-ritual__number { font-size: 36px; margin-bottom: 4px; }
  .yobf-ritual__category { font-size: 9px; margin-bottom: 8px; }
  .yobf-ritual__title { font-size: 24px; margin-bottom: 10px; }
  .yobf-ritual__desc { font-size: 12px; line-height: 1.6; max-width: 100%; margin-bottom: 18px; }
  .yobf-ritual__link { font-size: 10px; }

  /* -- QUOTE -- */
  .yobf-quote { padding: 72px 20px; }
  .yobf-quote::before { font-size: 160px; top: -20px; }
  .yobf-quote__text { font-size: clamp(19px, 5.5vw, 26px); }
  .yobf-quote__ornament::before,
  .yobf-quote__ornament::after { width: 32px; }

  /* -- TESTIMONIALS -- */
  .yobf-testimonials { padding: 56px 20px; }
  .yobf-section-header { margin-bottom: 40px; }
  .yobf-section-title { font-size: clamp(26px, 7.5vw, 38px); }
  .yobf-testimonial-card { padding: 24px 20px; }
  .yobf-testimonial-text { font-size: 15px; line-height: 1.7; }

  /* -- NAV -- */
  .header { padding: 14px 20px !important; }
  .shopify-section-group-header-group .header.scrolled-past-header { padding: 10px 20px !important; }
  .header__heading-link .h2,
  .header__heading-link span.h2 { font-size: 17px !important; letter-spacing: 0.2em !important; }

  /* -- PRODUCT CARDS -- */
  .card__heading, .card__heading a { font-size: 17px !important; }
  .card__information { padding: 16px 16px 20px !important; }

  /* -- LEGAL BAR -- */
  #yobf-legal-bar { padding: 14px 20px; gap: 8px; }
  #yobf-legal-bar .ylb-sep { display: none; }

  /* -- GENERAL -- */
  #MainContent { padding-top: 60px; }
}

/* =============================================
   MOBILE - 480px (small phones)
   ============================================= */
@media (max-width: 480px) {
  .yobf-hero__title { font-size: clamp(34px, 9.5vw, 48px); }
  .yobf-ritual-door { min-height: 300px; }
  .yobf-ritual__title { font-size: 21px; }
  .yobf-quote__text { font-size: clamp(17px, 5vw, 22px); }
  .yobf-hero__btn { letter-spacing: 0.15em; }
}
/* =============================================
   LANGUAGE & COUNTRY SELECTOR - YOBF STYLE
   ============================================= */

/* Bouton s?lecteur */
.localization-form .disclosure__toggle,
.localization-selector.disclosure__toggle {
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--yobf-ivory-dim) !important;
  background: transparent !important;
  border: 1px solid rgba(168,137,92,0.2) !important;
  border-radius: 0 !important;
  padding: 7px 14px !important;
  transition: border-color 0.25s ease, color 0.25s ease !important;
  gap: 8px !important;
}

.localization-form .disclosure__toggle:hover,
.localization-selector.disclosure__toggle:hover {
  border-color: rgba(168,137,92,0.5) !important;
  color: var(--yobf-ivory) !important;
}

/* Icone chevron */
.localization-form .disclosure__toggle svg,
.localization-selector.disclosure__toggle svg {
  color: var(--yobf-gold) !important;
  opacity: 0.6;
}

/* Dropdown */
.disclosure__list-wrapper {
  background: rgba(12,14,30,0.98) !important;
  border: 1px solid rgba(26,92,255,0.15) !important;
  border-radius: 0 !important;
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.5) !important;
}

/* Items */
.disclosure__item a,
.disclosure__item button,
.localization-form .disclosure__item {
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--yobf-ivory-dim) !important;
  background: transparent !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  padding: 10px 16px !important;
}

.disclosure__item a:hover,
.disclosure__item button:hover {
  color: var(--yobf-ivory) !important;
  background: rgba(26,92,255,0.08) !important;
}

/* Item actif */
.disclosure__item--current a,
.disclosure__item--current button {
  color: var(--yobf-electric) !important;
}

/* Mobile - s?lecteur pleine largeur */
@media (max-width: 600px) {
  .localization-form .disclosure__toggle,
  .localization-selector.disclosure__toggle {
    font-size: 9px !important;
    padding: 6px 12px !important;
  }
  .footer__localization { margin-top: 24px; }
}
/* =============================================
   BUTTON FIX - interactivit? garantie
   ============================================= */
.button, .btn, [type="submit"],
.card__cta .button, .product-form__submit {
  position: relative !important;
  z-index: 1 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
/* Add to cart / primary actions */
.product-form__submit,
.button--primary {
  background: var(--yobf-blood) !important;
  border-color: var(--yobf-blood) !important;
  color: var(--yobf-ivory) !important;
}
.product-form__submit:hover,
.button--primary:hover {
  background: #3a0d14 !important;
  border-color: #3a0d14 !important;
}
/* Boutons outline secondaires */
.button:not(.button--primary):not(.product-form__submit) {
  background: transparent !important;
  border: 1px solid rgba(232,230,240,0.3) !important;
  color: var(--yobf-ivory) !important;
}
.button:not(.button--primary):not(.product-form__submit):hover {
  background: var(--yobf-blood) !important;
  border-color: var(--yobf-blood) !important;
}
/* Rb-btn (ritual bundle) */
.rb-btn {
  cursor: pointer !important;
  pointer-events: auto !important;
  user-select: none !important;
}
.rb-btn:disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
/* =============================================
   DAWN COLOR SCHEME BACKGROUNDS - FORCE DARK
   ============================================= */

/*
  Dawn injects per-section RGB color variables.
  These selectors override the section background
  and foreground for all scheme classes.
*/
.color-scheme-1,
.color-scheme-2,
.color-scheme-3,
.color-scheme-4,
.color-scheme-5 {
  --color-background: 5, 6, 15 !important;
  --color-foreground: 232, 230, 240 !important;
  --color-base-background-1: 5, 6, 15 !important;
  --color-base-background-2: 12, 14, 30 !important;
  --color-base-text: 232, 230, 240 !important;
  background-color: var(--yobf-ink) !important;
  color: var(--yobf-ivory) !important;
}

/* Gradient overlay class Dawn uses for scheme backgrounds */
.gradient {
  background-color: var(--yobf-ink) !important;
}

/* Cards inside scheme sections */
.color-scheme-2 .card,
.color-scheme-1 .card {
  background: var(--yobf-smoke) !important;
}

/* =============================================
   HEADINGS - FORCE IVORY (fixes gray titles)
   ============================================= */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--yobf-ivory) !important;
}

/* Product page title specifically */
.product__title,
.product__title h1 {
  font-family: var(--yobf-serif) !important;
  font-size: clamp(28px, 3.5vw, 48px) !important;
  font-weight: 400 !important;
  color: var(--yobf-ivory) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.02em !important;
}

/* Collection page title */
.collection__title,
.main-collection-banner__title h1,
.main-collection-banner__title {
  font-family: var(--yobf-serif) !important;
  color: var(--yobf-ivory) !important;
}

/* =============================================
   PRODUCT PAGE - IMAGE FIX
   ============================================= */
.product__media-container,
.product__media-item,
.product__media {
  background: var(--yobf-smoke) !important;
}

/* Fix Dawn "contain" sizing - use cover so images fill */
.product__media img,
.product__media .media img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.product__media-item--image {
  aspect-ratio: 3 / 4 !important;
}

/* Product info text */
.product__vendor {
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: var(--yobf-gold) !important;
}

.product__description,
.product__description p {
  font-family: var(--yobf-sans) !important;
  font-size: 14px !important;
  color: var(--yobf-ivory-dim) !important;
  line-height: 1.8 !important;
}

/* Price */
.price__regular .price-item,
.price__sale .price-item {
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
}

/* Variant buttons */
.swatch-input__button,
.variant-input-wrapper .button {
  border-color: rgba(168,137,92,0.3) !important;
  color: var(--yobf-ivory) !important;
  background: transparent !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  border-radius: 0 !important;
}

.swatch-input__button:checked,
.swatch-input__button[aria-checked="true"],
.variant-input-wrapper .button.selected {
  border-color: var(--yobf-gold) !important;
  color: var(--yobf-gold) !important;
}

/* =============================================
   COLLECTION PAGE SPECIFIC
   ============================================= */
.main-collection-product-grid,
.main-collection-banner {
  background: var(--yobf-ink) !important;
}

.collection-filters-mobile,
.facets-wrap {
  background: var(--yobf-smoke) !important;
  color: var(--yobf-ivory) !important;
}

.facets__summary,
.active-facets__button,
.facet-filters__label {
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
}

.facets__checkbox:checked + .facets__label {
  color: var(--yobf-gold) !important;
}

/* Collection description */
.collection__description {
  font-family: var(--yobf-sans) !important;
  color: var(--yobf-ivory-dim) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Sort/filter selects */
.select__select,
.facets__select {
  background: var(--yobf-smoke) !important;
  color: var(--yobf-ivory) !important;
  border-color: rgba(168,137,92,0.2) !important;
  font-family: var(--yobf-sans) !important;
  border-radius: 0 !important;
}

/* =============================================
   PREORDER BAR EXTRA STYLING
   ============================================= */
.yobf-preorder-bar {
  animation: coFadeIn 0.8s ease forwards;
}
/* =============================================
   PRODUCT PAGE - FULL YOBF REDESIGN
   ============================================= */

/* Remove top padding gap */
.main-product-section { padding-top: 80px !important; }

/* Image column - fill properly */
.product__media-wrapper {
  background: var(--yobf-smoke) !important;
}
.product__media-item {
  background: transparent !important;
}
.product__media img,
.product__media video {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 85vh !important;
}
.product__media-item--image {
  aspect-ratio: 3 / 4 !important;
  max-height: 85vh !important;
}

/* Info column */
.product__info-wrapper {
  padding: 48px 40px !important;
}
.product__vendor {
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: var(--yobf-gold) !important;
  margin-bottom: 12px !important;
}
.product__title h1,
.product__title {
  font-family: var(--yobf-serif) !important;
  font-size: clamp(26px, 3vw, 44px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--yobf-ivory) !important;
  line-height: 1.15 !important;
  margin-bottom: 24px !important;
}
.product__description p {
  font-family: var(--yobf-sans) !important;
  font-size: 14px !important;
  color: var(--yobf-ivory-dim) !important;
  line-height: 1.85 !important;
  margin-bottom: 16px !important;
}
.product__description em {
  font-family: var(--yobf-serif) !important;
  font-size: 13px !important;
  color: rgba(168,166,192,0.55) !important;
}

/* Variant pill buttons */
.variant-input-wrapper { margin-bottom: 8px !important; }
.variant-input-wrapper label {
  border: 1px solid rgba(168,137,92,0.25) !important;
  border-radius: 0 !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: var(--yobf-ivory-dim) !important;
  background: transparent !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.variant-input-wrapper input:checked + label {
  border-color: var(--yobf-gold) !important;
  color: var(--yobf-ivory) !important;
  background: rgba(168,137,92,0.08) !important;
}

/* Quantity */
.quantity__input {
  background: transparent !important;
  border-color: rgba(168,137,92,0.2) !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  border-radius: 0 !important;
}
.quantity__button {
  background: transparent !important;
  border-color: rgba(168,137,92,0.2) !important;
  color: var(--yobf-ivory-dim) !important;
  border-radius: 0 !important;
}

/* Share link */
.product__share-button,
.share-button { color: var(--yobf-ivory-dim) !important; }

/* Related products heading */
.related-products__heading {
  font-family: var(--yobf-serif) !important;
  font-style: italic !important;
  color: var(--yobf-ivory) !important;
  font-weight: 300 !important;
}

/* =============================================
   COLLECTION PAGE - YOBF REDESIGN
   ============================================= */

/* Banner */
.main-collection-banner__title,
.main-collection-banner .collection__title {
  font-family: var(--yobf-serif) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: clamp(32px, 4vw, 60px) !important;
  color: var(--yobf-ivory) !important;
  letter-spacing: 0.02em !important;
}
.main-collection-banner {
  padding: 100px 80px 60px !important;
  background: var(--yobf-ink) !important;
  border-bottom: 1px solid rgba(168,137,92,0.08) !important;
}
.collection__description p {
  font-family: var(--yobf-sans) !important;
  font-size: 14px !important;
  color: var(--yobf-ivory-dim) !important;
  line-height: 1.75 !important;
  max-width: 600px !important;
  margin-top: 16px !important;
}

/* Facets/filters sidebar */
.facets-vertical .facets__summary,
.facets__summary {
  font-family: var(--yobf-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--yobf-gold) !important;
  background: transparent !important;
  border-color: rgba(168,137,92,0.15) !important;
  padding: 16px 0 !important;
}
.facets__heading {
  font-family: var(--yobf-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--yobf-gold) !important;
}
.facets__label {
  font-family: var(--yobf-sans) !important;
  font-size: 12px !important;
  color: var(--yobf-ivory-dim) !important;
  transition: color 0.2s ease !important;
}
.facets__label:hover { color: var(--yobf-ivory) !important; }
.facets__checkbox { accent-color: var(--yobf-gold) !important; }

/* Sort + filter bar */
.facets-horizontal,
.collection-filters {
  background: transparent !important;
  border-bottom: 1px solid rgba(168,137,92,0.08) !important;
  padding: 20px 80px !important;
}
.filter-and-sort-form__sort .select__select,
.sort-by .select__select {
  background: transparent !important;
  border-color: rgba(168,137,92,0.2) !important;
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
}

/* Product count */
.product-count,
.product-count__text {
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  color: var(--yobf-ivory-dim) !important;
  opacity: 0.5 !important;
}

/* Product grid cards - collection */
.collection .card {
  background: var(--yobf-smoke) !important;
  border: 1px solid rgba(168,137,92,0.06) !important;
  border-radius: 0 !important;
  transition: border-color 0.3s ease, transform 0.3s ease !important;
}
.collection .card:hover {
  border-color: rgba(168,137,92,0.25) !important;
  transform: translateY(-2px) !important;
}
.collection .card__media img {
  object-fit: cover !important;
  transition: transform 0.6s ease !important;
}
.collection .card:hover .card__media img {
  transform: scale(1.03) !important;
}
.collection .card__heading a {
  font-family: var(--yobf-serif) !important;
  font-style: italic !important;
  font-size: 20px !important;
  color: var(--yobf-ivory) !important;
}
.collection .price__regular .price-item {
  color: var(--yobf-gold) !important;
  font-family: var(--yobf-sans) !important;
  font-weight: 300 !important;
  font-size: 16px !important;
}

@media (max-width: 900px) {
  .main-collection-banner { padding: 80px 32px 48px !important; }
  .facets-horizontal, .collection-filters { padding: 16px 32px !important; }
}
@media (max-width: 600px) {
  .main-collection-banner { padding: 72px 20px 40px !important; }
  .product__info-wrapper { padding: 32px 20px !important; }
  .product__media-item--image { aspect-ratio: 4 / 5 !important; max-height: 60vh !important; }
}
/* =============================================
   NOCTUA DESIGN - COLLECTION PAGE
   ============================================= */

/* Grid layout - Noctua 4-col with 2px gaps */
.main-collection-product-grid .product-grid,
.collection-product-grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2px !important;
  padding: 0 !important;
}

/* Product card - Noctua style */
.collection .card,
.collection .card-wrapper .card {
  background: var(--yobf-smoke) !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: none !important;
  transform: none !important;
}

/* Card image - tall portrait with hover zoom */
.collection .card__media,
.collection .card__inner /* ===== COLLECTION CARDS — SHARP + CLEAN ===== */
/* Dawn uses .card__inner.ratio with padding-bottom for height.
   .card__media must fill that container absolutely. */
.card__inner.ratio {
  overflow: hidden !important;
  background: var(--yobf-smoke, #0d0e1a) !important;
}
.card__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  background: var(--yobf-smoke, #0d0e1a) !important;
}
/* Card images — contain (no zoom/crop) */
.card__media img,
.card__media .motion-reduce {
  object-fit: contain !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: var(--yobf-smoke, #0d0e1a) !important;
}
/* Card info section — tighter padding */
.card--standard .card__information {
  padding: 16px 12px 20px !important;
}
/* Grid gap */
.product-grid {
  gap: 16px !important;
}

.collection .card__media img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.collection .card:hover .card__media img {
  transform: scale(1.05) !important;
}

/* Card info section */
.collection .card__information,
.collection .card-information {
  padding: 20px 24px 24px !important;
  border-top: 1px solid rgba(168,137,92,0.1) !important;
  background: var(--yobf-smoke) !important;
}

/* Product type label - gold uppercase tiny */
.collection .card__information .caption-with-letter-spacing,
.collection .card__information > p:first-child {
  font-family: var(--yobf-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--yobf-gold) !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* Product name - serif italic */
.collection .card__heading,
.collection .card__heading a {
  font-family: var(--yobf-serif) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  color: var(--yobf-ivory) !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
  transition: color 0.2s ease !important;
  text-decoration: none !important;
}
.collection .card:hover .card__heading a {
  color: var(--yobf-gold) !important;
}

/* Price - clean sans */
.collection .price__regular .price-item,
.collection .price .price-item--regular {
  font-family: var(--yobf-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: var(--yobf-ivory-dim) !important;
}

/* Badge - blood red */
.collection .card__badge,
.collection .badge {
  background: var(--yobf-blood) !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 9px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 0 !important;
}

/* Filters bar - horizontal pills */
.facets-horizontal {
  padding: 28px 80px !important;
  background: var(--yobf-ink) !important;
  border-bottom: 1px solid rgba(168,137,92,0.12) !important;
  position: sticky !important;
  top: 64px !important;
  z-index: 50 !important;
}

.facets-horizontal .facets__form-vertical {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

/* Trope pill buttons */
.facets-horizontal details summary,
.facets-horizontal .facets__summary {
  background: transparent !important;
  border: 1px solid rgba(168,137,92,0.25) !important;
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  border-radius: 0 !important;
  list-style: none !important;
}
.facets-horizontal details[open] summary,
.facets-horizontal .facets__summary:hover {
  background: var(--yobf-blood) !important;
  border-color: var(--yobf-blood) !important;
  color: var(--yobf-ivory) !important;
}

/* Active filter chips */
.active-facets__button-inner {
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  color: var(--yobf-ivory-dim) !important;
}

/* Sort dropdown */
.filter-and-sort-form__sort select,
.facets-horizontal .select__select {
  background: transparent !important;
  border: 1px solid rgba(168,137,92,0.2) !important;
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  padding: 8px 16px !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
}

/* Product count */
.product-count__text,
.collection-meta .product-count {
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  color: var(--yobf-ivory-dim) !important;
  opacity: 0.45 !important;
  letter-spacing: 0.12em !important;
}

/* =============================================
   NOCTUA DESIGN - PRODUCT PAGE
   ============================================= */

/* Full-page split layout */
.main-product-section > .page-width,
.main-product-section .product {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.main-product-section .product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: calc(100vh - 80px) !important;
  gap: 0 !important;
}

/* Sticky gallery - left column */
.product__media-wrapper {
  position: sticky !important;
  top: 80px !important;
  height: calc(100vh - 80px) !important;
  overflow: hidden !important;
  background: var(--yobf-smoke) !important;
}

.product__media-container {
  height: 100% !important;
}

.product__media-item {
  height: 100% !important;
  aspect-ratio: auto !important;
}

.product__media-item img,
.product__media img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
}

/* Scrollable info - right column */
.product__info-wrapper {
  background: var(--yobf-ink) !important;
  padding: 80px 64px 80px 80px !important;
  overflow-y: auto !important;
}

/* Breadcrumb */
.product__info-wrapper .breadcrumb,
.breadcrumbs {
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  color: var(--yobf-ivory-dim) !important;
  margin-bottom: 28px !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  opacity: 0.6 !important;
}

/* Vendor as trope badge */
.product__vendor {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(74,17,24,0.35) !important;
  border: 1px solid rgba(74,17,24,0.55) !important;
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  margin-bottom: 20px !important;
}
.product__vendor::before {
  content: '' !important;
  width: 5px !important;
  height: 5px !important;
  background: var(--yobf-blood) !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

/* Title - massive serif */
.product__title h1 {
  font-family: var(--yobf-serif) !important;
  font-size: clamp(38px, 4.5vw, 60px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: var(--yobf-ivory) !important;
  line-height: 1.0 !important;
  margin-bottom: 6px !important;
  letter-spacing: 0 !important;
}

/* Price row */
.product__info-container .price {
  margin-bottom: 36px !important;
  padding-bottom: 36px !important;
  border-bottom: 1px solid rgba(168,137,92,0.1) !important;
}
.product__info-container .price__regular .price-item {
  font-family: var(--yobf-sans) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: var(--yobf-ivory) !important;
}

/* Description - narrative italic with blood border */
.product__description {
  font-family: var(--yobf-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  color: var(--yobf-ivory-dim) !important;
  margin-bottom: 40px !important;
  padding-left: 20px !important;
  border-left: 2px solid var(--yobf-blood) !important;
}
.product__description p {
  font-family: var(--yobf-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--yobf-ivory-dim) !important;
  line-height: 1.85 !important;
  margin-bottom: 12px !important;
}
.product__description em {
  font-style: italic !important;
  color: var(--yobf-ivory) !important;
}

/* Variant picker */
.variant-input-wrapper label,
.swatch-input__button {
  border: 1px solid rgba(168,137,92,0.22) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--yobf-ivory-dim) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.variant-input-wrapper input:checked + label {
  border-color: var(--yobf-gold) !important;
  color: var(--yobf-ivory) !important;
  background: rgba(168,137,92,0.08) !important;
}

/* Qty control - Noctua style */
.quantity {
  border: 1px solid rgba(168,137,92,0.25) !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}
.quantity__input {
  background: transparent !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  border: none !important;
  font-size: 14px !important;
}
.quantity__button {
  background: transparent !important;
  color: var(--yobf-ivory) !important;
  border: none !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 18px !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}
.quantity__button:hover { background: rgba(168,137,92,0.1) !important; }

/* Add to cart - blood red fill */
.product-form__submit {
  background: var(--yobf-blood) !important;
  border: 1px solid var(--yobf-blood) !important;
  color: var(--yobf-ivory) !important;
  font-family: var(--yobf-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  height: 52px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background 0.3s ease, border-color 0.3s ease !important;
}
.product-form__submit:hover {
  background: #3a0d14 !important;
  border-color: #3a0d14 !important;
}

/* =============================================
   MOBILE - Noctua responsive
   ============================================= */
@media (max-width: 900px) {
  .main-collection-product-grid .product-grid { grid-template-columns: 1fr 1fr !important; }
  .facets-horizontal { padding: 20px 24px !important; top: 56px !important; }
  .main-product-section .product { grid-template-columns: 1fr !important; }
  .product__media-wrapper { position: relative !important; top: auto !important; height: 60vw !important; }
  .product__info-wrapper { padding: 40px 24px !important; }
}

@media (max-width: 600px) {
  .main-collection-product-grid .product-grid { grid-template-columns: 1fr !important; }
  .product__media-wrapper { height: 80vw !important; }
}
/* =============================================
   FIX - Skip-to-content link (visually-hidden)
   Notre .button { position:relative } cassait .visually-hidden
   ============================================= */
.skip-to-content-link,
.visually-hidden {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}
.skip-to-content-link:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  clip: auto !important;
  overflow: visible !important;
}
/* =============================================
   COLLECTION PAGE - NUCLEAR OVERRIDE
   Cible toutes les structures Dawn possibles
   ============================================= */

/* Section wrapper background */
.main-collection-product-grid-section,
.shopify-section .color-scheme-1.gradient,
#ProductGridContainer,
.collection {
  background: var(--yobf-ink) !important;
  color: var(--yobf-ivory) !important;
}

/* Card wrapper - force dark */
.collection .card-wrapper,
.collection .card-wrapper .card,
.card-wrapper,
li[class*="grid__item"] .card {
  background: var(--yobf-smoke) !important;
  border-radius: 0 !important;
}

/* Card image container - make it visible */
.card__media,
.card .media,
.card__inner .card__media {
  display: block !important;
  overflow: hidden !important;
  aspect-ratio: 3 / 4 !important;
  background: var(--yobf-smoke) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Images - MUST BE VISIBLE */
.card__media img,
.card .media img,
.card__inner img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  transition: transform 0.6s ease !important;
}

.card:hover .card__media img,
.card:hover .media img {
  transform: scale(1.04) !important;
}

/* Card info text */
.card__information {
  background: var(--yobf-smoke) !important;
  padding: 18px 22px 24px !important;
  border-top: 1px solid rgba(168,137,92,0.1) !important;
}

.card__heading { 
  font-family: var(--yobf-serif) !important;
  font-size: 20px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: var(--yobf-ivory) !important;
  margin-bottom: 8px !important;
}

.card__heading a {
  color: var(--yobf-ivory) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.card__heading a:hover { color: var(--yobf-gold) !important; }

.price, .price__regular, .price__regular .price-item {
  font-family: var(--yobf-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: var(--yobf-ivory-dim) !important;
}

/* Grid layout - 2 colonnes au lieu de 4 car seulement 2 produits */
.product-grid.contains-card {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 2px !important;
}

@media (max-width: 600px) {
  .product-grid.contains-card { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════════════════
   ANNOUNCEMENT BAR — YOBF integrated style
═══════════════════════════════════════════ */
.utility-bar,
.utility-bar.gradient {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 10px 0 0 0 !important;
  position: relative;
  z-index: 101;
}
.announcement-bar { background: transparent !important; border: none !important; }
.announcement-bar__message,
.announcement-bar p,
.announcement-bar a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(168,137,92,0.8) !important;
  text-decoration: none !important;
  transition: color 0.4s ease !important;
}
.announcement-bar a:hover { color: var(--yobf-gold, #A8895C) !important; }
.utility-bar { animation: yobf-bar-fadein 1.2s ease forwards; }
@keyframes yobf-bar-fadein {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media screen and (max-width: 749px) {
  .utility-bar { display: none !important; }
}

/* Product description links — always visible */
.product__description a,
.product-description a,
.rte a {
  color: #A8895C !important;
  text-decoration: underline !important;
  opacity: 1 !important;
}
.product__description a:hover,
.product-description a:hover,
.rte a:hover {
  color: #c8a96e !important;
}

/* Remove white separator line between announcement bar and header */
.utility-bar--bottom-border,
.utility-bar--bottom-border-social-only,
.shopify-section-group-header-group .shopify-section:first-child,
.shopify-section-group-header-group .shopify-section:first-child > * {
  border-bottom: none !important;
  border-top: none !important;
  box-shadow: none !important;
}
.header-wrapper,
.header-wrapper--border-bottom {
  border-bottom: none !important;
  box-shadow: none !important;
}
  .shopify-section-group-header-group .header {
    top: 30px !important;
  }
  .utility-bar .announcement-bar__message,
  .utility-bar a {
    font-size: 9px !important;
    letter-spacing: 0.18em !important;
  }
}