/* Étape 30 — les sections des catégories reprennent les styles validés de l’accueil.
   Les fonds blancs des produits, titres de collection, filtres et tri sont indépendants. */
body#category .osl-category-reassurance,
body#category .osl-category-seo,
body#category .osl-home-newsletter {
  --osl-home-paper: #fffdf9;
  --osl-home-ink: #3e4640;
  --osl-home-muted: #60655d;
  --osl-home-line: #ddd2c4;
  --osl-home-gold: #b59a7f;
  --osl-home-coral: #7a5140;
  --osl-home-terracotta: #ac866b;
  --osl-home-terracotta-soft: #caa290;
  --osl-home-terracotta-pale: #fde4d0;
  --osl-home-ivory: #e4dcd1;
  color: var(--osl-home-ink);
  font-family: Arial, Helvetica, sans-serif;
}

/* Réassurance : trois repères numérotés, mêmes marges et typographies que l’accueil. */
body#category .osl-category-reassurance {
  padding: 1.7rem max(2rem, calc(50vw - 670px));
  border: 0;
  background: var(--osl-home-terracotta-pale);
}
body#category .osl-category-reassurance > div {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: .45rem 1.25rem;
  gap: 1rem;
  border-right: 1px solid var(--osl-home-terracotta-soft);
  border-bottom: 0;
  text-align: left;
}
body#category .osl-category-reassurance > div:last-child { border: 0; }
body#category .osl-category-reassurance > div::after { display: none; }
body#category .osl-category-reassurance__icon {
  flex: 0 0 auto;
  color: var(--osl-home-coral);
  font: 400 1.55rem/1.5 Georgia, "Times New Roman", serif;
}
body#category .osl-category-reassurance span:not(.osl-category-reassurance__icon) {
  align-items: flex-start;
  gap: .25rem;
}
body#category .osl-category-reassurance strong,
body#category .osl-category-reassurance small {
  margin: 0;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
}
body#category .osl-category-reassurance strong { color: var(--osl-home-ink); font-size: .72rem; }
body#category .osl-category-reassurance small { color: var(--osl-home-muted); font-size: .63rem; line-height: 1.5; }

/* L’univers OSL-Corsica : composition éditoriale et filigrane de l’accueil. */
body#category .osl-category-seo {
  isolation: isolate;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center;
  padding: clamp(5rem, 8vw, 8rem) max(2rem, calc(50vw - 640px));
  gap: clamp(3rem, 7vw, 7rem);
  background: linear-gradient(135deg, var(--osl-home-terracotta-pale), #fff7ef 55%, var(--osl-home-ivory));
}
body#category .osl-category-seo::before,
body#category .osl-category-seo::after {
  display: block;
  z-index: -1;
  border: 0;
}
body#category .osl-category-seo::before {
  left: clamp(-150px, -8vw, -70px);
  width: clamp(280px, 34vw, 540px);
  background: rgba(255, 255, 255, .34);
}
body#category .osl-category-seo::after {
  bottom: -20%;
  width: clamp(100px, 12vw, 180px);
  background: rgba(196, 100, 67, .09);
}
body#category .osl-category-seo__watermark {
  left: clamp(-70px, -2vw, 0px);
  width: clamp(220px, 28vw, 440px);
  opacity: .055;
}
body#category .osl-category-seo__heading { align-self: center; }
body#category .osl-category-seo__heading h2,
body#category .osl-home-newsletter .osl-home-section-title {
  margin: 0;
  color: var(--osl-home-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 2.4vw, 2.75rem);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.03em;
  text-transform: none;
}
body#category .osl-category-seo .osl-eyebrow,
body#category .osl-home-newsletter .osl-home-eyebrow {
  margin: 0 0 1rem;
  color: var(--osl-home-coral);
  font: 800 .65rem/1.3 Arial, Helvetica, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
body#category .osl-category-seo__content {
  align-self: center;
  padding: clamp(1.5rem, 3.5vw, 3rem);
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body#category .osl-category-seo__text,
body#category .osl-category-seo__text p {
  color: var(--osl-home-ink);
  font-size: .86rem;
  line-height: 1.8;
}
body#category .osl-category-seo__text p { max-width: 560px; margin: 0 0 1.15rem; }
body#category .osl-category-seo__links { border-top-color: var(--osl-home-terracotta-soft); }
body#category .osl-category-seo__links a {
  border-bottom-color: var(--osl-home-gold);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: normal;
  text-transform: none;
}

/* Newsletter : le bloc natif est déplacé, jamais recréé ; les hooks du footer restent actifs. */
body#category .osl-home-newsletter,
body#category .osl-home-newsletter *,
body#category .osl-home-newsletter *::before,
body#category .osl-home-newsletter *::after { box-sizing: border-box; }
body#category .osl-home-newsletter a { text-decoration: none; }

.osl-home-newsletter {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  width: 100%;
  padding: clamp(4rem, 7vw, 6.5rem) max(2rem, calc(50vw - 640px));
  gap: 6rem;
  background: var(--osl-home-terracotta-soft);
}

.osl-home-newsletter .osl-home-section-title {
  max-width: 660px;
  color: var(--osl-home-ink);
}

.osl-home-newsletter__mount {
  min-width: 0;
}

.osl-home-newsletter__fallback {
  margin: 0;
  color: rgba(48, 54, 48, 0.72);
  font-size: 0.72rem;
}

/*
 * The native newsletter block is rendered with the Classic theme markup.
 * These ID-scoped resets deliberately outrank Classic's newsletter rules.
 */
.osl-home-newsletter #blockEmailSubscription_displayFooterBefore {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  clear: none;
  color: var(--osl-home-ink);
  background: transparent;
  border: 0;
  font-size: inherit;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore > .row,
.osl-home-newsletter #blockEmailSubscription_displayFooterBefore > .row > [class*="col-"],
.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form,
.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form > .row {
  background: transparent;
}

.osl-home-newsletter__native,
.osl-home-newsletter__native > .row,
.osl-home-newsletter__native > .row > [class*="col-"] {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.osl-home-newsletter__native > .row {
  display: block;
}

.osl-home-newsletter #block-newsletter-label,
.osl-home-newsletter__native .osl-home-newsletter__label {
  display: block;
  margin: 0 0 0.65rem;
  padding: 0;
  color: #303630;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.4;
  text-transform: uppercase;
}

.osl-home-newsletter__native form,
.osl-home-newsletter__native form > .row {
  width: 100%;
  margin: 0;
}

.osl-home-newsletter__native form > .row > .col-xs-12 {
  width: 100%;
  max-width: none;
  padding: 0;
}

.osl-home-newsletter__native form > .row > .col-xs-12:first-child {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--osl-home-ink);
}

.osl-home-newsletter__native .input-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  order: -1;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form input[type="email"],
.osl-home-newsletter__native input[name="email"] {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 1rem 0;
  color: var(--osl-home-ink);
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  line-height: 1.4;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form input[type="email"]::placeholder,
.osl-home-newsletter__native input[name="email"]::placeholder {
  color: rgba(62, 70, 64, 0.72);
  opacity: 1;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form input[type="email"]:focus {
  padding: 1rem 0;
  color: var(--osl-home-ink);
  background: transparent;
  border: 0;
  outline: 0;
  box-shadow: none;
}

.osl-home-newsletter__native .osl-home-newsletter__submit {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  margin: 0;
  padding: 0;
  color: #fff;
  background: var(--osl-home-ink);
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  cursor: pointer;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.15rem;
  font-weight: 400;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.osl-home-newsletter__native .osl-home-newsletter__submit:hover,
.osl-home-newsletter__native .osl-home-newsletter__submit:focus-visible {
  color: #fff;
  background: var(--osl-home-coral);
  transform: translateX(3px);
}

.osl-home-newsletter__native .osl-home-newsletter__submit:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
}

.osl-home-newsletter__native .clearfix {
  display: none;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore form > .row > .col-xs-12:last-child,
.osl-home-newsletter__native form > .row > .col-xs-12:last-child {
  margin-top: 0.8rem;
  color: #303630;
  font-size: 0.64rem;
  line-height: 1.5;
}

.osl-home-newsletter__native form > .row > .col-xs-12:last-child > p {
  margin: 0 0 0.65rem;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.osl-home-newsletter__native .gdpr_consent {
  margin: 0;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore .psgdpr_consent_message,
.osl-home-newsletter__native .psgdpr_consent_message {
  display: flex;
  align-items: flex-start;
  margin: 0;
  gap: 0.45rem;
  color: #303630;
  font-size: 0.64rem;
  line-height: 1.5;
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore input[type="checkbox"] {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  margin: 1px 0 0;
}

.osl-home-newsletter__native .psgdpr_consent_message a {
  color: inherit;
  border-bottom: 1px solid rgba(48, 54, 48, 0.55);
}

.osl-home-newsletter__native .psgdpr_consent_message a:hover,
.osl-home-newsletter__native .psgdpr_consent_message a:focus-visible {
  color: var(--osl-home-coral);
  border-color: var(--osl-home-coral);
}

.osl-home-newsletter #blockEmailSubscription_displayFooterBefore .alert,
.osl-home-newsletter__native .alert {
  width: 100%;
  margin: 0 0 0.9rem;
  padding: 0.75rem 0.9rem;
  border: 0;
  border-left: 2px solid currentColor;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.34);
  font-size: 0.72rem;
  line-height: 1.45;
}

@media (max-width: 1050px) {
  body#category .osl-category-reassurance { grid-template-columns: 1fr; }
  body#category .osl-category-reassurance > div {
    border-right: 0;
    border-bottom: 1px solid var(--osl-home-terracotta-soft);
  }
  body#category .osl-category-reassurance > div:last-child { border-bottom: 0; }
  body#category .osl-category-seo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3rem; }
  body#category .osl-home-newsletter { gap: 3.5rem; }
}
@media (max-width: 680px) {
  body#category .osl-category-reassurance { padding: 1rem 1.25rem; }
  body#category .osl-category-reassurance > div { padding: 1rem 1.25rem; }
  body#category .osl-category-seo { grid-template-columns: 1fr; padding: 4.5rem 1.25rem; gap: 1rem; }
  body#category .osl-category-seo__heading { padding: 1.8rem 0 1.3rem 1.1rem; }
  body#category .osl-category-seo__heading::before { top: .65rem; width: 32px; }
  body#category .osl-category-seo__watermark { top: 38%; left: -95px; width: 280px; opacity: .045; }
  body#category .osl-category-seo__content { padding: 1.35rem 0 0; }
  body#category .osl-category-seo__links { flex-direction: column; align-items: flex-start; }
  body#category .osl-category-seo__heading h2,
  body#category .osl-home-newsletter .osl-home-section-title { font-size: 2rem; }
  body#category .osl-home-newsletter { grid-template-columns: 1fr; padding: 4.5rem 1.25rem; gap: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
  body#category .osl-home-newsletter *,
  body#category .osl-home-newsletter *::before,
  body#category .osl-home-newsletter *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; }
}

/* Étape 31 — retour à la bande de services compacte avec les pictogrammes antérieurs. */
body#category .osl-category-reassurance {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: .65rem max(2rem, calc(50vw - 640px));
  background: #f2e7de;
  border: 0;
}
body#category .osl-category-reassurance > div {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 40px;
  min-height: 64px;
  padding: .55rem 1rem;
  gap: 0;
  text-align: center;
  border-right: 1px solid rgba(172, 134, 107, .35);
  border-bottom: 0;
}
body#category .osl-category-reassurance > div::after { display: block; content: ""; width: 40px; }
body#category .osl-category-reassurance__icon { font-size: 1.25rem; }
body#category .osl-category-reassurance span:not(.osl-category-reassurance__icon) { align-items: center; }
body#category .osl-category-reassurance strong,
body#category .osl-category-reassurance small { text-align: center; }
body#category .osl-category-reassurance strong { font-size: .74rem; letter-spacing: .04em; text-transform: uppercase; }
body#category .osl-category-reassurance small { font-size: .7rem; line-height: 1.35; }
@media (max-width: 767.98px) {
  body#category .osl-category-reassurance { grid-template-columns: 1fr; padding: .35rem 1.25rem; }
  body#category .osl-category-reassurance > div { grid-template-columns: 34px minmax(0, 1fr) 34px; min-height: 54px; padding: .5rem 0; border-right: 0; border-bottom: 1px solid rgba(172, 134, 107, .28); }
  body#category .osl-category-reassurance > div::after { width: 34px; }
  body#category .osl-category-reassurance strong { font-size: .67rem; }
  body#category .osl-category-reassurance small { font-size: .64rem; }
}
