/* Targeted home adjustments from the supplied Clem's Bijoux references. */
@font-face {
  font-family: 'Gloria Hallelujah';
  src: url('/fonts/gloria-hallelujah.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.seasonal-hero-copy {
  position: relative;
  inset: auto;
  transform: none;
  width: 100%;
  padding: 30px clamp(20px, 3vw, 56px);
  text-align: center;
}
.seasonal-hero h1 {
  font-size: clamp(52px, 6.8vw, 112px);
  line-height: 1.2;
  margin-bottom: 16px;
}
.seasonal-subtitle {
  font-size: clamp(24px, 2.65vw, 44px);
  line-height: 1.2;
}
.seasonal-caption {
  max-width: none;
  font-size: clamp(15px, 1.6vw, 26px);
  line-height: 1.5;
  margin-top: 12px;
}
.seasonal-promises strong { color: #f8bd18; }

.shop-the-look {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(18px, 2vw, 28px);
  width: 100%;
  max-width: 1600px;
  padding: 0 clamp(20px, 2.5vw, 40px);
  margin-inline: auto;
}
.look-heading {
  min-width: 0;
  padding: clamp(20px, 2.4vw, 36px) clamp(20px, 2.4vw, 36px);
  border: 1px solid rgba(173, 118, 94, .12);
  border-radius: clamp(24px, 3vw, 44px);
  background: #fcebe7;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #dcbcb4 transparent;
}
.look-heading h2 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: clamp(14px, 1.4vw, 22px);
  width: max-content;
  min-width: 100%;
  max-width: none;
  margin: 0;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.5;
}
.look-title-main {
  flex-shrink: 0;
  font: 400 clamp(38px, 5.05vw, 78px)/1.3 Anton, Impact, sans-serif;
  color: var(--seasonal-olive);
}
.look-title-script {
  flex-shrink: 0;
  font: 400 clamp(16px, 1.85vw, 29px)/1.8 'Gloria Hallelujah', cursive;
  color: #bf8583;
}
.look-gallery {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 28px);
}
.look-photo { width: 100%; max-width: none; }

@media (min-width: 768px) and (max-width: 1100px) {
  .look-photo .look-point {
    width: clamp(24px, 3vw, 34px);
    height: clamp(24px, 3vw, 34px);
    min-width: 24px;
    min-height: 24px;
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .seasonal-hero picture img { height: 145%; object-position: center top; }
  .seasonal-hero h1 { font-size: clamp(42px, 10.5vw, 72px); }
  .seasonal-subtitle { font-size: clamp(25px, 5.6vw, 34px); }
  .seasonal-caption { font-size: clamp(16px, 3.8vw, 21px); }
  .look-heading { overflow:visible; }
  .look-heading h2 { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:8px; width:100%; min-width:0; max-width:100%; white-space:normal; }
  .look-heading h2 > span { max-width:100%; white-space:normal; overflow-wrap:break-word; }
  .look-title-main { font-size: 38px; }
  .look-title-script { font-size: 17px; }
  .look-gallery { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .look-photo { max-width: 480px; justify-self: center; }
  .look-photo .look-point { width: 36px; height: 36px; min-width: 36px; min-height: 36px; font-size: 26px; }
}

/* Mobile reference: broad poster type, two-column cards and compact footer.
   Existing desktop composition and brand assets are preserved. */
.seasonal-mobile-subtitle { display:none; }
.seasonal-storefront .journal-feature {
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  align-items:center; gap:clamp(28px,4vw,64px);
  width:100%; max-width:1600px; min-width:0;
  padding-inline:var(--storefront-gutter); margin-inline:auto;
  scroll-margin-top:100px;
}
.seasonal-storefront .journal-feature .journal-copy {
  display:block; width:100%; min-width:0; margin:0; scroll-margin-top:100px;
}
.seasonal-storefront .journal-feature .journal-letter {
  width:100%; min-width:0; margin:0; padding:clamp(22px,3vw,40px);
}
.seasonal-storefront .journal-feature .journal-body p { max-width:none; }
.seasonal-storefront .journal-feature .story-art {
  grid-column:2; grid-row:1; align-self:center;
}
.seasonal-storefront .journal-feature .story-photo { display:block; }
@media (max-width:900px) {
  .seasonal-storefront .journal-feature { grid-template-columns:minmax(0,1fr); gap:36px; }
  .seasonal-storefront .journal-feature .story-art {
    grid-column:1; grid-row:2; justify-self:center;
    width:68%; max-width:360px; margin-right:18%;
  }
}
@media (max-width:767px) {
  .seasonal-hero { height:calc(100svh - 72px); min-height:560px; max-height:820px; }
  .seasonal-hero picture img { height:125%; object-position:center top; }
  .seasonal-hero-copy { position:absolute; inset:30% 0 auto; width:100%; padding:0 16px; transform:none; }
  @media (max-height:700px) {
    .seasonal-hero-copy { top:25%; }
  }
  .seasonal-hero h1 { font-size:clamp(34px,12vw,64px); line-height:1.15; margin:0 0 10px; letter-spacing:-.025em; white-space:nowrap; }
  .seasonal-subtitle { max-width:none; font-size:clamp(23px,6.15vw,28px); line-height:1.18; text-transform:none; text-wrap:balance; }
  .seasonal-subtitle>.seasonal-desktop-subtitle { display:none; }
  .seasonal-mobile-subtitle { display:inline; }
  .seasonal-caption { max-width:none; margin:10px 0 0; font-size:clamp(14px,4.6vw,20px); font-weight:700; line-height:1.45; text-wrap:wrap; color:var(--seasonal-pink); }
  .seasonal-storefront .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
  .seasonal-storefront .product-card { height:100%; min-width:0; }
  .seasonal-storefront .product-card .product-info { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto 1fr; gap:8px 4px; padding:14px 7px 8px; align-content:start; }
  .seasonal-storefront .product-card .product-info-heading { display:contents; }
  .seasonal-storefront .product-info-heading>p { grid-column:1; grid-row:1; align-self:center; font-size:9px; letter-spacing:.045em; line-height:1.3; }
  .seasonal-storefront .product-info>strong { grid-column:2; grid-row:1; align-self:center; font-size:15px; line-height:1.3; white-space:nowrap; }
  .seasonal-storefront .product-info-heading>h3 { grid-column:1/-1; grid-row:2; min-width:0; min-height:2.3em; max-width:none; margin:0; font-size:21px; line-height:1.15; white-space:normal; overflow:visible; }
  .seasonal-storefront .product-info h3>a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; max-width:none; margin:0; font-size:inherit; line-height:inherit; white-space:normal; text-overflow:ellipsis; overflow-wrap:anywhere; }
  .seasonal-storefront .product-card-options { grid-column:1/-1; grid-row:3; min-width:0; }
  .seasonal-storefront .product-info>small { grid-column:1/-1; grid-row:4; font-size:13px; line-height:1.5; }
  .seasonal-storefront .product-info>.product-stock-status { grid-column:1/-1; grid-row:5; }
  .seasonal-storefront .site-footer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; padding:32px 20px 24px; }
  .seasonal-storefront .site-footer .footer-intro { grid-column:1/-1; margin:0; }
  .seasonal-storefront .site-footer .footer-intro p { margin:0; }
  .seasonal-storefront .site-footer .footer-column { min-width:0; gap:0; margin:0; }
  .seasonal-storefront .site-footer .footer-column>strong { display:block; min-height:36px; margin:0 0 8px; font-size:13px; line-height:1.3; }
  .seasonal-storefront .site-footer .footer-column>a { display:flex; align-items:center; min-height:40px; margin:0; padding:6px 0; font-size:13px; line-height:1.35; }
  .seasonal-storefront .site-footer .footer-bottom { grid-column:1/-1; display:grid; gap:12px; margin:0; padding-top:20px; font-size:12px; line-height:1.5; }
  .seasonal-storefront .site-footer .footer-bottom :is(small,span) { font-size:12px; line-height:1.5; }
}
