/* ROSBRI DESIGN — authoritative homepage styles (2026-08-17). */

body[data-page="index"] {
  overflow-x: clip;
  background: var(--color-background-soft);
}

body[data-page="index"] .section {
  padding-block: 48px;
}

body[data-page="index"] .section-header {
  max-width: 690px;
}

body[data-page="index"] .section-header-flex,
body[data-page="index"] .products-header-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 32px;
}

body[data-page="index"] .eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  color: #8a621f;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body[data-page="index"] .section-title {
  max-width: 780px;
  margin: 0;
  color: var(--color-black);
  font-family: var(--font-heading);
  font-size: clamp(2.35rem, 4.6vw, 4.5rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.035em;
}

body[data-page="index"] .section-intro {
  max-width: 650px;
  margin: 16px 0 0;
  color: #51483f;
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
  line-height: 1.75;
}

body[data-page="index"] .link-arrow,
body[data-page="index"] .btn-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #6f4b13;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

body[data-page="index"] .link-arrow {
  min-height: 44px;
  flex: 0 0 auto;
  border-bottom: 1px solid rgba(111, 75, 19, 0.35);
}

body[data-page="index"] .link-arrow:hover,
body[data-page="index"] .btn-link:hover {
  color: var(--color-black);
}

/* Hero */
.hero {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: clamp(620px, 67vw, 790px);
  overflow: hidden;
  background: #eadfce;
}

.hero__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(246, 239, 229, 0.96) 0%, rgba(246, 239, 229, 0.82) 31%, rgba(246, 239, 229, 0.18) 53%, transparent 69%);
  pointer-events: none;
}

.hero__container {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: inherit;
  padding-block: clamp(48px, 6vw, 80px);
}

.hero__content {
  position: relative;
  z-index: 2;
  width: min(540px, 43vw);
}

.home-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 19px;
  color: #79551d;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.21em;
}

.home-hero__eyebrow-line {
  width: 42px;
  height: 1px;
  background: currentColor;
}

.home-hero__title {
  display: flex;
  flex-direction: column;
  margin: 0;
  color: var(--color-black);
  font-family: var(--font-heading);
  font-size: clamp(4.25rem, 6.9vw, 7.2rem);
  font-weight: 500;
  line-height: 0.73;
  letter-spacing: -0.055em;
}

.home-hero__title-accent-gold {
  color: #a8701f;
}

.home-hero__title-script {
  margin: 0.34em 0 0 1.35em;
  color: #5c3b11;
  font-family: var(--font-script);
  font-size: 0.54em;
  font-weight: 400;
  letter-spacing: 0;
  transform: rotate(-4deg);
}

.home-hero__description {
  max-width: 500px;
  margin: 30px 0 0;
  color: #443b33;
  font-size: clamp(0.96rem, 1.15vw, 1.08rem);
  line-height: 1.72;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.home-hero__actions .button-primary,
.home-hero__actions .button-secondary {
  min-height: 48px;
  padding-inline: 22px;
}

.home-hero__actions .button-secondary {
  background: rgba(255, 250, 243, 0.78);
  border-color: rgba(42, 34, 28, 0.32);
}

.home-hero__commitments {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  max-width: 510px;
  margin-top: 26px;
  color: #55493e;
  font-size: 0.72rem;
  line-height: 1.45;
}

.home-hero__commitments-divider {
  color: #a8701f;
}

.hero-composition {
  display: none;
}

.hero-layer--bag {
  object-fit: contain !important;
}

/* Featured selection */
.home-products {
  position: relative;
  overflow: hidden;
  background: #fffdf9;
}
.home-products>.site-container { width:min(calc(100% - 72px),1320px); }

body[data-page="index"] .home-products.section {
  min-height: 0;
  padding-top: 40px;
}

.home-products > .site-container {
  position: relative;
  z-index: 1;
}

.home-products__watermark {
  position: absolute;
  z-index: 0;
  top: -40px;
  right: -60px;
  width: clamp(420px, 40vw, 700px);
  height: auto;
  opacity: 0.05;
  transform: rotate(-4deg);
  pointer-events: none;
  user-select: none;
  -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 0.5) 70%, transparent 100%);
  mask-image: linear-gradient(to left, rgba(0, 0, 0, 1) 35%, rgba(0, 0, 0, 0.5) 70%, transparent 100%);
}

.home-products .products-header-wrap {
  position: relative;
  isolation: isolate;
  min-height: 0;
  margin-bottom: 32px;
  padding: 0;
}

.home-products .eyebrow {
  margin-bottom: 12px;
}

.home-products__title {
  font-size: clamp(2.55rem, 4.2vw, 4rem) !important;
  line-height: 1.01 !important;
}

.home-products__title span {
  display: block;
}

.home-products .section-intro {
  margin-top: 16px;
}

.home-products .products-header-wrap > .link-arrow {
  position: relative;
  margin-bottom: 2px;
  overflow: hidden;
  border-bottom: 0;
  transition: color 220ms ease;
}

.home-products .products-header-wrap > .link-arrow::after {
  position: absolute;
  bottom: 4px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #9a6b30;
  content: "";
  transform: scaleX(0.42);
  transform-origin: left;
  transition: transform 260ms ease;
}

.home-products .products-header-wrap > .link-arrow span {
  transition: transform 220ms ease;
}

.home-products .products-header-wrap > .link-arrow:hover::after,
.home-products .products-header-wrap > .link-arrow:focus-visible::after {
  transform: scaleX(1);
}

.home-products .products-header-wrap > .link-arrow:hover span,
.home-products .products-header-wrap > .link-arrow:focus-visible span {
  transform: translateX(3px);
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
}

.product-card {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  border: 1px solid #e8dac7;
  border-radius: 16px;
  background: #fffdfc;
  box-shadow: 0 8px 28px rgba(55, 38, 20, 0.045);
  transition: transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease;
}

.product-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.product-card__image-container {
  position: relative;
  aspect-ratio: 4 / 4.3;
  overflow: hidden;
  background: linear-gradient(145deg, #f7f0e6, #fffaf3);
}

.product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 450ms ease;
}

.product-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 7px;
  padding: 6px 13px;
  border-radius: var(--radius-pill);
  background: rgba(32, 24, 16, 0.94);
  color: #faf7f1;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-badge__icon {
  font-size: 0.78rem;
  line-height: 1;
}

.product-card__info {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.product-card__category {
  color: #76501a;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.product-card__title {
  position: relative;
  min-height: 2.5em;
  margin: 10px 0 25px;
  padding-bottom: 15px;
  font-family: var(--font-heading);
  font-size: clamp(1.38rem, 1.65vw, 1.5rem);
  font-weight: 500;
  line-height: 1.25;
}

.product-card__title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 1px;
  background: #9a6b30;
  content: "";
}

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

.product-card__price {
  margin: auto 0 20px;
  color: #201810;
  font-size: 0.98rem;
  font-weight: 700;
}

.product-card__add-btn {
  width: 100%;
  min-height: 48px;
  margin-top: 0;
  border-radius: 9px;
  background: #201810;
  color: #faf7f1;
  font-size: 0.78rem;
  font-weight: 600;
  transition: transform 225ms ease, background-color 225ms ease;
}

.product-card__button-icon {
  margin-right: 8px;
  font-size: 1rem;
}

.products-assurance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 32px;
  padding: 24px 16px;
  border: 1px solid rgba(232, 218, 199, 0.8);
  border-radius: 14px;
  background: #faf7f1;
}

.products-assurance__item {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
  padding: 0 20px;
}

.products-assurance__item + .products-assurance__item {
  border-left: 1px solid #e8dac7;
}

.products-assurance__icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid #cbae86;
  border-radius: 50%;
  color: #9a6b30;
}

.products-assurance strong,
.products-assurance span {
  display: block;
}

.products-assurance strong {
  color: #201810;
  font-size: 0.82rem;
  font-weight: 650;
}

.products-assurance__item div > span {
  margin-top: 3px;
  color: #6d6257;
  font-size: 0.69rem;
  line-height: 1.4;
}

.catalog-empty-state {
  grid-column: 1 / -1;
  padding: 56px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  text-align: center;
}

.catalog-empty-state .button-primary {
  margin-top: 20px;
}

.catalog-skeleton {
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg);
  background: linear-gradient(100deg, #eee4d6 25%, #f8f1e8 43%, #eee4d6 62%);
  background-size: 300% 100%;
  animation: home-shimmer 1.5s infinite;
}

/* Universes */
.home-collections {
  background: var(--color-background);
}

.collections-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}

.collection-card {
  grid-column: span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #fffaf3;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 8px 30px rgba(49, 34, 20, 0.05);
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.collection-card:nth-child(4),
.collection-card:nth-child(5) {
  grid-column: span 6;
}

.collection-card__image-wrapper {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f1e7d9;
}

.collection-card__image {
  width: 100%;
  height: 100%;
  padding: clamp(18px, 2vw, 30px);
  object-fit: contain;
  transition: transform 320ms ease;
}

.collection-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(22px, 2.4vw, 34px);
}

.collection-card__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 2.8vw, 2.7rem);
  font-weight: 500;
  line-height: 1;
}

.collection-card__desc {
  margin: 14px 0 22px;
  color: #554b42;
  line-height: 1.65;
}

.collection-card .btn-link {
  margin-top: auto;
}

.collection-card--fallback {
  grid-column: 1 / -1;
  min-height: 180px;
  align-items: center;
  justify-content: center;
  padding: 32px;
  color: #5f4317;
  font-family: var(--font-heading);
  font-size: 2rem;
}

/* Editorial and supporting sections */
.home-customization {
  background: #fffdf9;
}

.customization-editorial,
.story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
}

.customization-visual,
.story-image-block {
  position: relative;
  min-height: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: #eee2d2;
}

.customization-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.story-image {
  width: 100%;
  height: 100%;
  padding: 6%;
  object-fit: contain;
}

.customization-content .section-title em {
  color: #9d6a20;
  font-family: var(--font-script);
  font-weight: 400;
}

.customization-steps {
  display: grid;
  gap: 18px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.customization-steps li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(86, 66, 44, 0.14);
}

.customization-steps li > span {
  color: #8b5e1c;
  font-family: var(--font-heading);
  font-size: 1.4rem;
}

.customization-steps strong {
  color: var(--color-black);
}

.customization-steps p {
  margin: 4px 0 0;
  color: #5d534a;
}

.commitments-section {
  background: #1a1714;
  color: #fffaf3;
}

.commitments-section .section-title,
.commitments-section .section-intro {
  color: #fffaf3;
}

.commitments-section .section-intro {
  color: #d8ccbc;
}

.commitments-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 32px;
  background: rgba(255, 255, 255, 0.14);
}

.commitment-card {
  position: relative;
  min-height: 0;
  padding: 32px;
  background: #1a1714;
}

.commitment-card__number {
  color: #d4ad67;
  font-family: var(--font-heading);
  font-size: 1.5rem;
}

.commitment-card__icon {
  display: grid;
  width: 48px;
  height: 48px;
  margin: 32px 0 24px;
  place-items: center;
  border: 1px solid rgba(212, 173, 103, 0.55);
  border-radius: 50%;
  color: #e0bc78;
}

.commitment-card__title {
  color: #fff;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
}

.commitment-card__desc {
  color: #cfc4b8;
  line-height: 1.65;
}

.home-story {
  background: #f3eadf;
}

.story-content > p {
  color: #4f463e;
  font-size: 1.05rem;
  line-height: 1.8;
}

.story-actions {
  margin-top: 24px;
}

.home-b2b {
  background: #fffdf9;
}

.b2b-card {
  overflow: hidden;
  border-radius: var(--radius-lg);
  background: radial-gradient(circle at 80% 15%, rgba(201, 154, 67, 0.27), transparent 35%), #171411;
  color: #fff;
}

.b2b-card__content {
  max-width: 840px;
  padding: clamp(48px, 5vw, 64px);
}

.b2b-card__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(2.65rem, 5vw, 5.2rem);
  font-weight: 500;
  line-height: 0.96;
}

.b2b-card__desc {
  max-width: 680px;
  color: #ddd3c8;
  font-size: 1.05rem;
  line-height: 1.75;
}

.b2b-applications,
.b2b-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.b2b-app-chip {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-pill);
  color: #eee5db;
  font-size: 0.76rem;
}

.home-faq {
  background: var(--color-background);
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 32px;
}

.faq-card {
  padding: 22px;
  border: 1px solid rgba(83, 66, 45, 0.16);
  border-radius: var(--radius-md);
  background: rgba(255, 250, 243, 0.72);
}

.faq-card__header {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
}

.faq-card__number {
  color: #876021;
  font-family: var(--font-heading);
}

.faq-question {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-black);
  font: 600 1rem/1.35 var(--font-body);
  text-align: left;
  cursor: pointer;
}

.faq-icon-wrapper {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
}

.faq-icon {
  width: 16px;
  transition: transform 220ms ease;
}

.faq-question[aria-expanded="true"] .faq-icon {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 14px 0 0 42px;
  color: #51483f;
  line-height: 1.7;
}

.faq-answer p {
  margin: 0;
}

.home-social {
  padding-block: 48px !important;
  background: #fffdf9;
}

.social-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.social-panel p {
  max-width: 620px;
  color: #51483f;
}

.social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.social-links a {
  min-height: 44px;
  padding: 12px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  color: var(--color-black);
  text-decoration: none;
}

.reveal-on-scroll {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: none;
}

@media (hover: hover) and (pointer: fine) {
  .product-card:hover,
  .collection-card:hover {
    transform: translateY(-3px);
    border-color: rgba(157, 106, 32, 0.35);
    box-shadow: 0 20px 46px rgba(49, 34, 20, 0.12);
  }

  .product-card:hover .product-card__image,
  .collection-card:hover .collection-card__image {
    transform: scale(1.03);
  }

  .product-card__add-btn:hover {
    transform: translateY(-2px);
    background: #382619;
  }
}

@media (max-width: 1100px) {
  .home-products__watermark {
    right: -90px;
    width: 450px;
    opacity: 0.04;
  }

  .hero {
    min-height: 650px;
  }

  .hero__content {
    width: min(500px, 46vw);
  }

  .home-hero__title {
    font-size: clamp(4rem, 7.2vw, 5.7rem);
  }

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

  .products-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 0;
  }

  .products-assurance__item:nth-child(3) {
    border-left: 0;
  }

  .collection-card {
    grid-column: span 6;
  }

  .collection-card:last-child {
    grid-column: 4 / span 6;
  }
}

@media (max-width: 767px) {
  .home-products__watermark {
    top: -10px;
    right: -190px;
    width: 390px;
    opacity: 0.03;
    transform: rotate(-3deg);
  }

  body[data-page="index"] .section {
    padding-block: 48px;
  }

  body[data-page="index"] .section-header-flex,
  body[data-page="index"] .products-header-wrap,
  .social-panel {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }

  .hero {
    display: flex;
    min-height: auto;
    flex-direction: column;
    padding-bottom: 0;
    background: linear-gradient(160deg, #f8f0e5 0%, #eadcc8 100%);
  }

  .hero__background {
    display: none;
  }

  .hero::after {
    display: none;
  }

  .hero__container {
    min-height: 0;
    align-items: flex-start;
    padding-top: 54px;
    padding-bottom: 6px;
  }

  .hero__content {
    width: 100%;
    max-width: 560px;
  }

  .home-hero__title {
    font-size: clamp(3.75rem, 18vw, 5.3rem);
    line-height: 0.76;
  }

  .home-hero__title-script {
    margin-left: 0.8em;
  }

  .home-hero__description {
    max-width: 520px;
    margin-top: 27px;
  }

  .home-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .home-hero__actions .button-primary,
  .home-hero__actions .button-secondary {
    width: 100%;
    justify-content: center;
  }

  .home-hero__commitments {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
  }

  .home-hero__commitments-divider {
    display: none;
  }

  .hero-composition {
    position: relative;
    display: grid;
    width: 100%;
    height: clamp(300px, 96vw, 430px);
    place-items: end center;
    overflow: hidden;
    pointer-events: none;
  }

  .hero-layer--bag {
    display: block;
    width: min(72vw, 310px);
    height: auto;
    max-height: 94%;
    object-fit: contain;
    filter: drop-shadow(0 22px 22px rgba(52, 34, 17, 0.2));
  }

  .products-grid,
  .commitments-grid,
  .faq-grid {
    grid-template-columns: 1fr;
  }

  .products-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
    padding: 22px 10px;
  }

  .products-assurance__item {
    align-items: flex-start;
    padding: 0 12px;
  }

  .collections-grid {
    grid-template-columns: 1fr;
  }

  .collection-card,
  .collection-card:nth-child(4),
  .collection-card:nth-child(5),
  .collection-card:last-child {
    grid-column: auto;
  }

  .collection-card__image-wrapper {
    aspect-ratio: 16 / 11;
  }

  .customization-editorial,
  .story-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .customization-visual,
  .story-image-block {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .story-content {
    order: -1;
  }

  .commitment-card {
    min-height: 0;
  }

  .b2b-card__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .b2b-card__actions a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .home-hero__title {
    font-size: clamp(3.25rem, 17vw, 4.25rem);
  }

  .home-hero__commitments {
    grid-template-columns: 1fr;
  }

  .product-card__info,
  .collection-card__content,
  .faq-card {
    padding: 18px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll,
  .product-card,
  .collection-card,
  .product-card__image,
  .collection-card__image,
  .faq-icon {
    opacity: 1;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}

@keyframes home-shimmer {
  to { background-position: -100% 0; }
}

/* Nos univers — édition premium */
.home-collections{position:relative;overflow:hidden;background:#f7f1e7;color:#2b160e}.home-collections .site-container{position:relative;z-index:1}
.home-collections .universes-intro{position:relative;display:block;max-width:none;margin-bottom:clamp(26px,3vw,36px);padding-right:min(32vw,390px)}
.home-collections .universes-intro .section-header{max-width:760px}.home-collections .eyebrow{color:#a56a24;letter-spacing:.22em}
.home-collections .section-title{max-width:720px;margin-top:12px;color:#2b160e;font-size:clamp(2.9rem,4.7vw,4.35rem);line-height:1.02;letter-spacing:-.035em}
.home-collections .section-intro{max-width:680px;margin-top:24px;color:#684d3d;font-size:clamp(1rem,1.35vw,1.12rem);line-height:1.75}
.home-collections .universes-intro__cta{display:inline-flex;margin-top:24px;padding-bottom:6px;border-bottom:1px solid rgba(165,106,36,.55);color:#a56a24;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase}
.home-collections .universes-intro__cta span{transition:transform 350ms ease}.home-collections .universes-intro__cta:hover span{transform:translateX(4px)}
.universes-motif{position:absolute;top:-118px;right:-86px;width:430px;aspect-ratio:1;opacity:.13;background:repeating-radial-gradient(circle at center,transparent 0 17px,#cdb99c 18px 19px,transparent 20px 34px),conic-gradient(from 22.5deg,transparent 0 7deg,#cdb99c 8deg 10deg,transparent 11deg 37deg,#cdb99c 38deg 40deg,transparent 41deg 45deg);border:1px solid #cdb99c;border-radius:50%;pointer-events:none}
.universes-motif::before,.universes-motif::after{content:"";position:absolute;inset:18%;border:1px solid #cdb99c;border-radius:50%;transform:rotate(45deg)}.universes-motif::after{inset:34%;border-radius:18%}
.home-collections .collections-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,1.5vw,20px)}
.home-collections .collection-card{grid-column:span 2;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:0;border-radius:12px;background:#fffdf8;box-shadow:0 8px 28px rgba(43,22,14,.065);transition:transform 350ms ease,box-shadow 350ms ease}
.home-collections .collection-card:nth-child(4),.home-collections .collection-card:nth-child(5){grid-column:span 3}.home-collections .collection-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(43,22,14,.12)}
.home-collections .collection-card__image-wrapper{aspect-ratio:5/4;overflow:hidden}.home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,.home-collections .collection-card:nth-child(5) .collection-card__image-wrapper{aspect-ratio:16/9}
.home-collections .collection-card__image{width:100%;height:100%;object-fit:cover;transition:transform 380ms ease}.home-collections .collection-card:hover .collection-card__image{transform:scale(1.03)}
.home-collections .collection-card__content{display:flex;flex:1;flex-direction:column;align-items:flex-start;min-height:196px;padding:clamp(20px,2.1vw,28px);background:#fffdf8}
.home-collections .collection-card__title{margin:0;color:#2b160e;font-size:clamp(1.65rem,2.1vw,1.9rem);line-height:1.08}.home-collections .collection-card__accent{width:28px;height:2px;margin:12px 0;background:#a56a24}
.home-collections .collection-card__desc{margin:0 0 18px;color:#5c493e;font-size:.88rem;line-height:1.55}.home-collections .collection-card .btn-link{margin-top:auto;color:#a56a24;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform 350ms ease}.home-collections .collection-card:hover .btn-link{transform:translateX(4px)}
.universes-signature{display:flex;align-items:center;gap:18px;margin-top:clamp(38px,5vw,64px);color:#9a7c63;font-size:.64rem;letter-spacing:.17em;text-align:center}.universes-signature::before,.universes-signature::after{content:"";flex:1;height:1px;background:#dccdb9}.universes-signature p{margin:0}
@media(max-width:900px){.home-collections .universes-intro{padding-right:190px}.universes-motif{width:300px;right:-120px}.home-collections .collections-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-collections .collection-card,.home-collections .collection-card:nth-child(4),.home-collections .collection-card:nth-child(5){grid-column:span 1}.home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,.home-collections .collection-card:nth-child(5) .collection-card__image-wrapper{aspect-ratio:4/3}}
@media(max-width:620px){.home-collections .universes-intro{padding-right:0}.home-collections .section-title{font-size:clamp(2.5rem,12vw,3.45rem)}.universes-motif{top:-70px;right:-145px;width:260px;opacity:.08}.home-collections .collections-grid{grid-template-columns:1fr;gap:26px}.home-collections .collection-card__image-wrapper,.home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,.home-collections .collection-card:nth-child(5) .collection-card__image-wrapper{aspect-ratio:16/10}.universes-signature{gap:8px;font-size:.55rem;line-height:1.7}.universes-signature span{display:none}}

/* Contraste isolé de la section Nos engagements */
#commitments-section {
  background: #1a1714;
  color: #fffaf3;
}

#commitments-section .eyebrow {
  color: #d4ad67;
}

#commitments-section .section-title {
  color: #fffaf3;
}

#commitments-section .section-intro {
  color: #d8ccbc;
}

#commitments-section .commitment-card {
  background: #211d19;
  color: #fffaf3;
}

#commitments-section .commitment-card__title,
#commitments-section .card-title {
  color: #fffaf3;
}

#commitments-section .commitment-card__desc,
#commitments-section .card-description {
  color: #d8ccbc;
}

#commitments-section .commitment-card__number,
#commitments-section .commitment-card__icon {
  color: #e0bc78;
}

/* Contraste isolé du bloc Entreprises & événements */
.home-b2b .b2b-card {
  color: #fffaf3;
}

.home-b2b .b2b-card .eyebrow {
  color: #d4a447;
}

.home-b2b .b2b-card__title {
  color: #fffaf3;
}

.home-b2b .b2b-card__desc {
  color: #e2d8cd;
}

.home-b2b .b2b-app-chip {
  border-color: rgba(255, 250, 243, 0.3);
  color: #f2e9df;
}

.home-b2b .button-secondary-dark {
  border-color: #d4a447;
  background: transparent;
  color: #fffaf3;
}

.home-b2b .button-secondary-dark:hover {
  border-color: #e5bc69;
  background: #fffaf3;
  color: #1a1714;
}

/* Accueil éditorial ivoire — harmonisation des maquettes du 25 août */
body[data-page="index"] {
  background: #f8f1e6;
}

body[data-page="index"] .section {
  position: relative;
  background-color: #f8f1e6;
}

body[data-page="index"] .section::after {
  content: "";
  position: absolute;
  top: -90px;
  right: -90px;
  width: 330px;
  aspect-ratio: 1;
  border: 1px solid rgba(183, 127, 32, .08);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, transparent 0 20px, rgba(183,127,32,.055) 21px 22px, transparent 23px 39px);
  pointer-events: none;
}

body[data-page="index"] .site-container { position: relative; z-index: 1; }
body[data-page="index"] .eyebrow { color: #a66c16; letter-spacing: .2em; }

/* Sélection */
.home-products { background: linear-gradient(135deg,#faf5ec,#f3e8d8); }
.home-products .products-header-wrap { align-items: end; }
.home-products__title { font-size: clamp(3rem,5vw,4.8rem); line-height: 1.02; }
.home-products__title span:last-child { font-style: italic; }
.home-products .product-card { border: 0; border-radius: 12px; box-shadow: 0 12px 32px rgba(59,35,18,.09); }
.home-products .products-assurance { margin-top: 46px; padding: 24px 0 0; border-top: 1px solid rgba(166,108,22,.24); background: transparent; }

/* Univers : image et texte côte à côte comme la maquette */
.home-collections .collection-card {
  display: grid;
  grid-template-columns: 56% 44%;
  min-height: 315px;
}
.home-collections .collection-card__image-wrapper,
.home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,
.home-collections .collection-card:nth-child(5) .collection-card__image-wrapper { height: 100%; aspect-ratio: auto; }
.home-collections .collection-card__content { min-height: 0; padding: 26px 22px; }
.home-collections .collection-card__title { font-size: clamp(1.45rem,1.9vw,1.85rem); }
.home-collections .collection-card__desc { font-size: .85rem; }

/* Création sur mesure */
.home-customization { background: linear-gradient(110deg,#f4eadc,#fffaf1); }
.customization-editorial { gap: clamp(42px,6vw,78px); align-items: center; }
.customization-visual { border-radius: 16px; box-shadow: 0 18px 45px rgba(74,43,20,.12); }
.customization-content .section-title { font-size: clamp(3rem,4.6vw,4.6rem); line-height: 1.02; }
.customization-content .section-title em { text-decoration: underline; text-decoration-color: #c58a28; text-decoration-thickness: 2px; text-underline-offset: 10px; }
.customization-steps { position: relative; }
.customization-steps::before { content:""; position:absolute; left:24px; top:28px; bottom:28px; width:1px; background:#d8a445; }
.customization-steps li { position:relative; grid-template-columns:50px 1fr; gap:24px; border:0; padding:13px 0; }
.customization-steps li>span { position:relative; z-index:1; display:grid; width:50px; height:50px; place-items:center; border:1px solid #d8a445; border-radius:50%; background:#fff9ef; color:#a66c16; font-family:var(--font-heading); font-size:1.15rem; }
.customization-steps strong { font-family:var(--font-heading); font-size:1.35rem; font-weight:500; }

/* Engagements clairs et centrés */
#commitments-section { background: linear-gradient(135deg,#fbf6ed,#f2e7d6); color:#2b160e; }
#commitments-section .section-header { max-width:720px; margin-inline:auto; text-align:center; }
#commitments-section .section-title { color:#2b160e; font-size:clamp(3rem,4.5vw,4.3rem); line-height:1.03; }
#commitments-section .section-intro { color:#59483d; font-size:1rem; }
#commitments-section .commitments-grid { gap:18px; margin-top:48px; background:transparent; }
#commitments-section .commitment-card { display:flex; min-height:420px; flex-direction:column; align-items:center; padding:30px 26px; border:1px solid rgba(166,108,22,.14); border-radius:18px; background:rgba(255,253,248,.72); color:#2b160e; text-align:center; box-shadow:0 14px 36px rgba(74,43,20,.07); }
#commitments-section .commitment-card__number { color:#a66c16; font-size:2rem; }
#commitments-section .commitment-card__icon { width:110px; height:110px; margin:22px 0; border-color:rgba(166,108,22,.32); background:#f3e6d2; color:#7b4b16; }
#commitments-section .commitment-card__icon svg { width:42px; height:42px; }
#commitments-section .commitment-card__title,#commitments-section .card-title { color:#2b160e; font-family:var(--font-heading); font-size:1.35rem; line-height:1.15; letter-spacing:.02em; }
#commitments-section .commitment-card__desc,#commitments-section .card-description { color:#59483d; font-size:.9rem; line-height:1.65; }

/* Maison Rosbri */
.home-story { background:#f8f1e6; }
.story-grid { gap:clamp(48px,7vw,90px); align-items:center; }
.story-image-block { border-radius:18px; box-shadow:0 18px 44px rgba(74,43,20,.11); }
.story-content .section-title { font-size:clamp(3rem,4.5vw,4.5rem); line-height:1.08; }
.story-content>p { color:#554439; font-size:1.05rem; line-height:1.75; }
.story-actions .button-gold { padding-inline:0; border-radius:0; border-bottom:1px solid #a66c16; background:transparent; color:#8a5613; }

/* Entreprises & événements en composition claire */
.home-b2b { background:#f4eadb; }
.home-b2b .b2b-card { display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border:1px solid rgba(166,108,22,.18); border-radius:22px; background:#fffaf1; color:#2b160e; box-shadow:0 18px 50px rgba(74,43,20,.09); }
.home-b2b .b2b-card__content { max-width:none; padding:clamp(44px,5vw,74px); }
.home-b2b .b2b-card__title { color:#2b160e; font-size:clamp(3.1rem,4.8vw,5rem); }
.home-b2b .b2b-card__desc { color:#59483d; }
.home-b2b .b2b-app-chip { border-color:#dcc6a1; background:#fffdf8; color:#4f3d31; }
.home-b2b .button-secondary-dark { border-color:#b77919; color:#8a5613; }
.b2b-card__visual { min-height:680px; overflow:hidden; }
.b2b-card__visual img { width:100%; height:100%; object-fit:cover; }

/* FAQ et réseaux */
.home-faq { background:linear-gradient(135deg,#faf5ec,#f3e8d8); }
.home-faq>.site-container>.section-header { max-width:780px; margin-inline:auto  ; text-align:center; }
.home-faq .section-title { font-size:clamp(3rem,4.5vw,4.35rem); }
.home-faq .faq-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-faq .faq-card { min-height:125px; border:1px solid rgba(166,108,22,.12); border-radius:13px; background:rgba(255,253,248,.78); box-shadow:0 10px 28px rgba(74,43,20,.06); }
.home-faq .faq-card__number { display:none; }
.home-faq .faq-card__header { display:block; width:100%; }
.home-faq .faq-question { display:flex; width:100%; max-width:none; font-family:var(--font-heading); font-size:1.12rem; }
.home-faq .faq-question>span:first-child { flex:1 1 auto; min-width:0; padding-right:12px; }
.home-faq .faq-icon-wrapper { margin-left:auto; }
.home-faq .faq-answer { margin:0; padding:14px 0 0; }
.home-social { padding-top:0; background:#f3e8d8; }
.social-panel { display:grid; grid-template-columns:1.05fr 1.1fr .8fr; gap:34px; align-items:center; overflow:hidden; padding:0; border:1px solid #d8bd91; border-radius:14px; background:#fffaf1; }
.social-panel__visual { height:230px; overflow:hidden; }
.social-panel__visual img { width:100%; height:100%; object-fit:cover; }
.social-panel>div:not(.social-panel__visual) { text-align:center; }
.social-panel .section-title { font-size:2.35rem; }
.social-links { padding:24px 28px 24px 0; }

@media(max-width:900px){
  .home-collections .collection-card{display:flex;min-height:0}.home-collections .collection-card__image-wrapper{height:auto;aspect-ratio:5/4}
  .home-b2b .b2b-card{grid-template-columns:1fr}.b2b-card__visual{min-height:420px;order:-1}
  .home-faq .faq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .social-panel{grid-template-columns:1fr 1fr}.social-panel__visual{grid-row:span 2}.social-links{padding:0 24px 24px}
}
@media(max-width:620px){
  #commitments-section .commitments-grid,.home-faq .faq-grid{grid-template-columns:1fr}
  #commitments-section .commitment-card{min-height:0}
  .social-panel{grid-template-columns:1fr}.social-panel__visual{grid-row:auto}.social-links{padding:0 20px 20px}
}

/* Sélection Rosbri — configuration fidèle à la maquette */
.home-products {
  overflow:hidden;
  padding-block:clamp(74px,7vw,106px);
  background:linear-gradient(125deg,#fbf6ee 0%,#f4eadb 100%);
}
.home-products::after { width:480px!important; top:-190px!important; right:-120px!important; }
.home-products .products-header-wrap { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:38px; }
.home-products .section-header { max-width:720px; }
.home-products .eyebrow { display:flex; align-items:center; gap:16px; margin-bottom:18px; color:#a66c16; font-size:.83rem; }
.home-products .eyebrow::before,.home-products .eyebrow::after { content:""; width:34px; height:1px; background:#b77919; }
.home-products__title { margin:0; color:#2b160e; font-size:clamp(3.3rem,5vw,5rem)!important; line-height:.98!important; letter-spacing:-.035em; }
.home-products__title span:last-child { display:inline-block; position:relative; font-style:italic; }
.home-products__title span:last-child::after { content:""; position:absolute; left:4px; right:0; bottom:-8px; height:3px; border-radius:50%; background:#c8871e; transform:rotate(-1deg); }
.home-products .section-intro { max-width:590px; margin-top:28px; color:#4f3d31; font-size:1rem; line-height:1.55; }
.home-products .products-header-wrap>.link-arrow { margin-bottom:4px; padding-bottom:7px; color:#3b2418; font-family:var(--font-heading); font-size:1.05rem; font-weight:600; text-transform:none; letter-spacing:0; }
.home-products .products-header-wrap>.link-arrow::after { bottom:0; background:#a66c16; transform:scaleX(1); }
.home-products .products-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.home-products .product-card { overflow:hidden; border:0; border-radius:12px; background:#fffaf2; box-shadow:0 12px 28px rgba(74,43,20,.10); }
.home-products .product-card__image-container { aspect-ratio:4/4.55; }
.home-products .product-badge { display:none; }
.home-products .product-card__favorite { position:absolute; top:12px; right:12px; z-index:4; display:grid; width:38px; height:38px; padding:0; place-items:center; border:1px solid rgba(43,22,14,.16); border-radius:50%; background:rgba(255,253,248,.94); color:#3d271c; font-size:1.55rem; line-height:1; cursor:pointer; box-shadow:0 4px 12px rgba(43,22,14,.08); transition:transform .25s ease,color .25s ease; }
.home-products .product-card__favorite:hover { color:#a66c16; transform:scale(1.06); }
.home-products .product-card__favorite[aria-pressed="true"] { border-color:#c8871e; color:#b36f10; }
.home-products .product-card__info { align-items:center; min-height:130px; padding:17px 16px 18px; text-align:center; }
.home-products .product-card__category { display:none; }
.home-products .product-card__title { min-height:0; margin:0 0 6px; padding:0; color:#2b160e; font-size:clamp(1.15rem,1.65vw,1.45rem); line-height:1.25; }
.home-products .product-card__title::after { display:none; }
.home-products .product-card__price { margin:2px 0 16px; color:#2b160e; font-family:var(--font-body); font-size:1.12rem; font-weight:650; line-height:1.3; letter-spacing:.015em; }
.home-products .product-card__discover { margin-top:auto; color:#a66c16; font-size:.68rem; font-weight:750; letter-spacing:.16em; text-decoration:none; }
.home-products .product-card__discover:hover { color:#6f4310; }
.home-products .products-assurance { margin-top:46px; padding:28px 24px 0; border:0; border-top:1px solid rgba(166,108,22,.25); border-radius:0; background:transparent; }
.home-products .products-assurance__item { gap:17px; padding:0 28px; }
.home-products .products-assurance__item:first-child { padding-left:0; }
.home-products .products-assurance__item:last-child { padding-right:0; }
.home-products .products-assurance__icon { width:48px; height:48px; flex-basis:48px; border:0; border-radius:0; color:#a66c16; font-family:var(--font-heading); font-size:1.8rem; }
.home-products .products-assurance__icon svg { width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.home-products .products-assurance strong { font-family:var(--font-heading); font-size:1rem; font-weight:500; }
.home-products .products-assurance__item div>span { font-size:.72rem; }
@media(max-width:900px){.home-products>.site-container{width:min(calc(100% - 36px),1320px)}.home-products .products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-products .products-header-wrap{align-items:flex-start;flex-direction:column}.home-products .products-assurance{grid-template-columns:repeat(2,1fr);gap:24px}.home-products .products-assurance__item:nth-child(3){border-left:0}.home-products .products-assurance__item{padding:0 18px}}
@media(max-width:540px){.home-products__title{font-size:clamp(2.7rem,13vw,3.6rem)!important}.home-products .products-grid{gap:12px}.home-products .product-card__info{min-height:122px;padding:14px 10px}.home-products .product-card__title{font-size:1rem}.home-products .products-assurance{grid-template-columns:1fr}.home-products .products-assurance__item{padding:0;border-left:0!important}}

/* Nos univers : correction ciblée du remplissage des cadres images */
.home-collections .collections-grid {
  align-items: stretch;
}

.home-collections .collection-card {
  align-items: stretch;
  overflow: hidden;
}

.home-collections .collection-card__image-wrapper,
.home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,
.home-collections .collection-card:nth-child(5) .collection-card__image-wrapper {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.home-collections .collection-card__image {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  object-fit: cover;
  object-position: center;
}

.home-collections .collection-card__content {
  width: 100%;
  height: 100%;
  min-width: 0;
  box-sizing: border-box;
}

@media(max-width:900px) {
  .home-collections .collection-card__image-wrapper,
  .home-collections .collection-card:nth-child(4) .collection-card__image-wrapper,
  .home-collections .collection-card:nth-child(5) .collection-card__image-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
  }

  .home-collections .collection-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

/* Fin de page éditoriale : FAQ, social et footer */
body[data-page="index"] .home-faq { padding-bottom:38px; }
body[data-page="index"] .home-faq>.site-container>.section-header { max-width:760px; margin-bottom:34px; }
body[data-page="index"] .home-faq .section-title { margin-top:12px; font-size:clamp(2.8rem,4.2vw,4rem); }
body[data-page="index"] .home-faq .section-intro { max-width:650px; margin:16px auto 0; }
body[data-page="index"] .home-faq .faq-grid { gap:18px; }
body[data-page="index"] .home-faq .faq-card { min-height:118px; padding:26px 28px; }
body[data-page="index"] .home-faq .faq-card.active { min-height:188px; }
body[data-page="index"] .home-faq .faq-question { min-height:42px; font-size:1.12rem; font-weight:500; }
body[data-page="index"] .home-faq .faq-icon-wrapper::before { content:"+"; color:#b77919; font-family:Arial,sans-serif; font-size:1.9rem; font-weight:300; line-height:1; }
body[data-page="index"] .home-faq .faq-question[aria-expanded="true"] .faq-icon-wrapper::before { content:"−"; }
body[data-page="index"] .home-faq .faq-icon { display:none; }
body[data-page="index"] .home-faq .faq-icon-wrapper { border:0; }

body[data-page="index"] .home-social { padding:0 0 32px!important; background:#f3e8d8; }
body[data-page="index"] .social-panel { grid-template-columns:1.15fr 1.05fr .82fr; min-height:212px; }
body[data-page="index"] .social-panel__visual { height:212px; }
body[data-page="index"] .social-panel>div:not(.social-panel__visual) { padding:24px 10px; }
body[data-page="index"] .social-panel .eyebrow { justify-content:center; }
body[data-page="index"] .social-panel .section-title { margin:12px 0; font-size:2.25rem; }
body[data-page="index"] .social-panel p { margin:0 auto; font-size:.9rem; line-height:1.55; }
body[data-page="index"] .social-links { display:grid; gap:10px; padding:22px 30px 22px 0; }
body[data-page="index"] .social-links a { display:grid; grid-template-columns:30px 1fr auto; align-items:center; min-height:46px; padding:10px 14px; border:0; border-radius:7px; background:#fffdf8; color:#3f2b20; }
body[data-page="index"] .social-links a b { color:#b77919; font-family:var(--font-heading); font-size:1.4rem; text-align:center; }
body[data-page="index"] .social-links a .social-icon { display:grid; width:24px; height:24px; place-items:center; }
body[data-page="index"] .social-links a .social-icon svg { display:block; width:20px; height:20px; }
body[data-page="index"] .social-links a span { color:#b77919; }

body[data-page="index"] .site-footer { padding:38px 0 18px; border-top:1px solid rgba(166,108,22,.24); background:#f8f1e6; color:#3e2b20; }
body[data-page="index"] .site-footer .site-container { width:min(calc(100% - 72px),1320px); }
body[data-page="index"] .footer-grid { width:100%; margin-inline:auto; grid-template-columns:1.15fr .8fr .8fr .9fr 1.05fr; justify-content:stretch; align-items:start; gap:38px; padding-bottom:34px; }
body[data-page="index"] .footer-grid > * { min-width:0; }
body[data-page="index"] .footer-logo { width:180px; }
body[data-page="index"] .footer-brand-desc { max-width:235px; color:#5d4a3e; font-size:.8rem; line-height:1.6; }
body[data-page="index"] .footer-socials { display:none; }
body[data-page="index"] .footer-column-title { margin-bottom:18px; color:#9a6116; font-size:.68rem; letter-spacing:.17em; }
body[data-page="index"] .footer-links { gap:8px; }
body[data-page="index"] .footer-links a { color:#4e3b30; font-size:.78rem; }
body[data-page="index"] .footer-contact-list,body[data-page="index"] .footer-whatsapp-button { display:none; }
body[data-page="index"] .footer-newsletter p { margin:0 0 16px; color:#5d4a3e; font-size:.78rem; line-height:1.55; }
body[data-page="index"] .footer-newsletter__form { display:grid; grid-template-columns:1fr 44px; overflow:hidden; border:1px solid #d9c3a1; border-radius:5px; background:#fffdf8; }
body[data-page="index"] .footer-newsletter__form .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body[data-page="index"] .footer-newsletter__form input { min-width:0; height:42px; padding:0 13px; border:0; background:transparent; color:#3e2b20; }
body[data-page="index"] .footer-newsletter__form button { border:0; background:#b77919; color:#fff; font-size:1.15rem; cursor:pointer; }
body[data-page="index"] .footer-bottom { padding:20px 0 0; border-top:1px solid rgba(166,108,22,.18); color:#716054; font-size:.68rem; }
body[data-page="index"] .footer-legal-links { display:none; }
body[data-page="index"] .footer-signature { position:relative; display:flex; align-items:center; justify-content:center; gap:14px; margin-top:-17px; color:#a66c16; font-size:.62rem; letter-spacing:.2em; }
body[data-page="index"] .footer-payments { position:absolute; right:0; display:flex; gap:8px; }
body[data-page="index"] .footer-payments i { display:grid; min-width:48px; min-height:26px; padding:3px 5px; place-items:center; border:1px solid #d9c3a1; border-radius:4px; background:#fff; color:#665247; font:700 .52rem/1 Arial,sans-serif; letter-spacing:0; }

@media(max-width:1000px){body[data-page="index"] .footer-grid{grid-template-columns:repeat(3,1fr)}body[data-page="index"] .footer-brand-block{grid-row:span 2}body[data-page="index"] .social-panel{grid-template-columns:1fr 1fr}.social-panel__visual{grid-row:span 2}.social-links{padding:0 24px 24px!important}}
@media(max-width:700px){body[data-page="index"] .social-panel{grid-template-columns:1fr}body[data-page="index"] .social-panel__visual{grid-row:auto}body[data-page="index"] .footer-grid{grid-template-columns:1fr 1fr}body[data-page="index"] .footer-brand-block{grid-column:1/-1;grid-row:auto}body[data-page="index"] .footer-newsletter{grid-column:1/-1}body[data-page="index"] .footer-signature{margin-top:20px;flex-wrap:wrap;text-align:center}body[data-page="index"] .footer-payments{position:static;width:100%;justify-content:center}body[data-page="index"] .site-footer .site-container{width:min(calc(100% - 36px),1320px)}}

/* Modal Sur Mesure — atelier premium, compact et responsive */
body[data-page="index"] .modal-dialog--gift{max-width:760px;max-height:88vh;padding:30px 34px;background:#faf3e8;border-color:#c58a2b;box-shadow:0 28px 70px rgba(39,23,12,.3)}
body[data-page="index"] .modal-dialog--gift .modal-header{padding-right:40px}
body[data-page="index"] .modal-dialog--gift .modal-title{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.08;letter-spacing:.01em}
body[data-page="index"] .modal-dialog--gift .modal-subtitle{max-width:570px;margin-bottom:18px}
body[data-page="index"] .gift-form{gap:14px}
body[data-page="index"] .modal-section-label,.choice-fieldset .form-label{margin:0 0 6px;color:#9b6718;font-size:.68rem;letter-spacing:.16em;font-weight:700}
body[data-page="index"] .form-row{gap:12px}
body[data-page="index"] .form-label{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}
body[data-page="index"] .form-control{min-height:42px;padding:10px 12px;border-radius:6px;border-color:#dfccb0;background:#fffdf8;font-size:.86rem}
body[data-page="index"] .form-control::placeholder{color:#9c8c7d}
body[data-page="index"] .form-control:focus{border-color:#b77919;box-shadow:0 0 0 3px rgba(183,121,25,.12)}
body[data-page="index"] .choice-fieldset{border:0;padding:0;margin:0}
body[data-page="index"] .choice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
body[data-page="index"] .choice-pill{position:relative;cursor:pointer}
body[data-page="index"] .choice-pill input{position:absolute;opacity:0}
body[data-page="index"] .choice-pill span{display:block;padding:9px 5px;border:1px solid #dfccb0;border-radius:6px;background:#fffdf8;text-align:center;color:#554337;font-size:.74rem;transition:.2s}
body[data-page="index"] .choice-pill input:checked+span{border-color:#b77919;background:rgba(183,121,25,.12);color:#3f2b20;box-shadow:inset 0 0 0 1px #b77919}
body[data-page="index"] .product-choice-grid{grid-template-columns:repeat(4,1fr);padding:0;border:0;background:none;gap:8px}
body[data-page="index"] .product-choice-grid .gift-checkbox-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:74px;padding:11px 12px;border:1px solid #dfccb0;border-radius:7px;background:#fffdf8;cursor:pointer}
body[data-page="index"] .product-choice-grid .gift-checkbox-item input{position:absolute;opacity:0}
body[data-page="index"] .product-choice-grid .gift-checkbox-item > input{position:absolute;opacity:0}
body[data-page="index"] .product-choice-grid .gift-checkbox-item .gift-subcategories input{position:static;width:auto;height:auto;opacity:1;accent-color:#b77919}
body[data-page="index"] .product-choice-grid .gift-checkbox-item strong{font-size:.72rem;letter-spacing:.07em;color:#3f2b20}
body[data-page="index"] .product-choice-grid .gift-checkbox-item small{font-size:.7rem;color:#806f61;line-height:1.25}
body[data-page="index"] .gift-subcategories{display:none;flex-wrap:wrap;gap:4px;margin-top:4px}.product-choice-grid .gift-checkbox-item:has(> input:checked) .gift-subcategories{display:flex}.gift-subcategories label{font-size:.64rem;color:#6f5d4e;white-space:nowrap}.gift-subcategories input{accent-color:#b77919;margin:0 2px 0 0}
body[data-page="index"] .gift-clothing-subcategories{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:-5px;padding:10px 12px;border:1px solid #dfccb0;border-radius:6px;background:rgba(255,253,248,.65)}
body[data-page="index"] .gift-clothing-subcategories[hidden]{display:none}.subcategories-label{width:100%;color:#9b6718;font-size:.66rem;letter-spacing:.1em;font-weight:700}.gift-clothing-subcategories label{font-size:.72rem;color:#5d4a3e;white-space:nowrap}.gift-clothing-subcategories input{accent-color:#b77919;margin-right:3px}.gift-other-text{display:none;min-width:180px;padding:6px 9px;border:1px solid #dfccb0;border-radius:5px;background:#fffdf8;font-size:.74rem}.gift-clothing-subcategories:has(input[value="Autre vêtement"]:checked) .gift-other-text{display:block}
body[data-page="index"] .product-choice-grid .gift-checkbox-item:has(input:checked){border-color:#b77919;background:rgba(183,121,25,.1);box-shadow:inset 0 0 0 1px #b77919}
body[data-page="index"] .choice-check{display:none;position:absolute;right:8px;top:6px;color:#b77919;font-size:.8rem}
body[data-page="index"] .product-choice-grid .gift-checkbox-item:has(input:checked) .choice-check{display:block}
body[data-page="index"] .form-row--compact{align-items:end}
body[data-page="index"] .quantity-control{display:flex;width:128px;height:42px;border:1px solid #dfccb0;border-radius:6px;overflow:hidden;background:#fffdf8}
body[data-page="index"] .quantity-control button{width:40px;border:0;background:transparent;color:#b77919;font-size:1.2rem;cursor:pointer}
body[data-page="index"] .quantity-control output{display:grid;flex:1;place-items:center;color:#3f2b20;font-weight:600}
body[data-page="index"] .budget-fieldset em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;color:#88796c}
body[data-page="index"] .inspiration-upload{display:inline-block;margin-top:8px;color:#a66c16;font-size:.76rem;cursor:pointer}
body[data-page="index"] .inspiration-upload input{position:absolute;width:1px;height:1px;opacity:0}
body[data-page="index"] .gift-previews{display:flex;gap:7px;margin-top:7px}.gift-previews img{width:46px;height:46px;object-fit:cover;border-radius:5px;border:1px solid #dfccb0}
body[data-page="index"] .form-error{margin:0;color:#9e3d2f;font-size:.78rem}.modal-note{margin:8px 0 2px;text-align:center;color:#6c5a4d;font-size:.76rem}.modal-trust{display:block;text-align:center;color:#a0784a;font-size:.66rem;letter-spacing:.04em}
body[data-page="index"] .modal-dialog--gift .modal-footer{margin-top:4px}
body[data-page="index"] .modal-dialog--gift .modal-footer .button-gold{min-height:46px;letter-spacing:.04em}
@media(max-width:620px){body[data-page="index"] .modal-dialog--gift{width:calc(100% - 24px);max-height:92vh;padding:24px 18px}.choice-grid{grid-template-columns:repeat(3,1fr)!important}.product-choice-grid{grid-template-columns:repeat(2,1fr)!important}.form-row--compact{grid-template-columns:1fr}.quantity-control{width:100%}}
