/* Rose d'Auxois · contenus ajoutés le 19/10/2026 : bandeau, cadeaux d'entreprise, avis clients, notre histoire.
   Chargé après styles.css et boutique.css, mêmes couleurs et mêmes polices. */

/* Bandeau : visible partout. La livraison offerte vient de « Ma boutique » (seuil réglable). */
.bandeau { display: block; text-wrap: balance; }
.bandeau > span + span::before { content: "·"; margin: 0 .7em; }
@media (max-width: 959px) {
  .bandeau { letter-spacing: .1em; }
  .bandeau:has(.bandeau__offerte:not([hidden])) .bandeau__retrait { display: none; }
}
@media (max-width: 639px) {
  .bandeau:has(.bandeau__offerte:not([hidden])) .bandeau__envoi { display: none; }
  .bandeau:has(.bandeau__offerte:not([hidden])) .bandeau__offerte::before { content: none; }
}

.titre-section h1 {
  font-family: var(--f-titre); font-weight: 600; font-size: clamp(32px, 4vw, 44px); line-height: 1.05; color: var(--titre);
  text-wrap: balance;
}

/* Textes de l'histoire : pas de mot seul sur la dernière ligne */
.maison__fr, .maison__note, .histoire__en p { text-wrap: pretty; }

/* Accueil · cadeaux d'entreprise ------------------------------------ */

.pro { padding-top: 72px; }
.pro__cadre {
  padding: 26px clamp(8px, 3vw, 40px) 34px;
  display: flex; align-items: center; gap: 30px 48px;
}
.pro__visuel { flex: 1 1 520px; min-width: 0; }
.pro__visuel img { display: block; width: 100%; height: auto; }
.pro__texte {
  flex: 1 1 440px; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px;
}
.pro h2 {
  font-family: var(--f-titre); font-weight: 600; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.12; color: var(--titre);
  text-wrap: balance; max-width: 520px;
}
.pro .en { margin-top: 4px; font-family: var(--f-titre); font-weight: 500; font-size: 18px; letter-spacing: .08em; color: var(--bordeaux-en); text-wrap: balance; }
.pro .coeur { margin: 10px 0; }
.pro__fr { font-size: 21px; line-height: 1.4; color: var(--titre); max-width: 480px; text-wrap: balance; }
.pro__en { margin-top: 6px; font-size: 18px; line-height: 1.4; font-style: italic; color: var(--bordeaux-en); max-width: 480px; text-wrap: balance; }
.pro__quantites { margin-top: 18px; font-family: var(--f-main); font-weight: 500; font-size: 28px; line-height: 1.2; color: var(--bordeaux-en); }
.pro .ra-btn { margin-top: 20px; }

@media (max-width: 959px) {
  .pro__cadre { flex-direction: column; }
  .pro__visuel, .pro__texte { flex: 0 0 auto; width: 100%; }
  .pro__visuel { max-width: 600px; }
}
@media (max-width: 639px) {
  .pro { padding-top: 48px; }
  .pro__cadre { padding: 14px 4px 22px; gap: 22px; }
  .pro .en { font-size: 16px; }
  .pro__fr { font-size: 19px; }
  .pro__en { font-size: 17px; }
  .pro__quantites { font-size: 25px; }
  .pro .ra-btn { width: 100%; }
}

/* Accueil · avis clients (donnees/avis.json) ------------------------ */

.avis { padding-top: 72px; padding-bottom: 48px; }
.avis__contenu { margin-top: 26px; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.avis__note { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; }
.avis__chiffre { font-family: var(--f-titre); font-weight: 600; font-size: 54px; line-height: 1; color: var(--bordeaux); }
.avis__etoiles { display: block; width: 136px; height: auto; }
.avis__total { font-size: 20px; color: var(--gris); }
.avis__liste {
  list-style: none; margin: 0; padding: 0; width: 100%;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 20px;
}
.avis__carte { padding: 22px 24px 20px; display: flex; flex-direction: column; gap: 12px; }
.avis__carte blockquote { margin: 0; font-size: 19px; line-height: 1.45; font-style: italic; color: var(--titre); }
.avis__qui { font-family: var(--f-titre); font-weight: 500; font-size: 14px; letter-spacing: .06em; color: var(--bordeaux-en); }
.avis__mention { max-width: 560px; text-align: center; font-size: 15px; line-height: 1.4; font-style: italic; color: var(--gris); text-wrap: balance; }
@media (max-width: 639px) {
  .avis { padding-top: 48px; }
  .avis__chiffre { font-size: 46px; }
  .avis__contenu .ra-btn { width: 100%; }
}

/* Notre histoire (histoire.html) ------------------------------------ */

.histoire { padding-top: 28px; padding-bottom: 80px; }
.histoire__corps { margin-top: 40px; display: flex; align-items: flex-start; gap: 40px 64px; }
.histoire__visuel { flex: 1 1 420px; min-width: 0; padding: 6px; position: sticky; top: calc(var(--entete-h) + 24px); }
.histoire__visuel img { display: block; width: 100%; height: auto; }
.histoire__texte { flex: 1 1 480px; min-width: 0; }
.histoire__texte > p { margin-top: 14px; font-size: 21px; line-height: 1.6; color: var(--titre); max-width: 34em; text-wrap: pretty; }
.histoire__texte > .histoire__date { margin-top: 30px; font-family: var(--f-main); font-weight: 500; font-size: 36px; line-height: 1; color: var(--bordeaux-en); }
.histoire__texte > .histoire__date:first-child { margin-top: 0; }
.histoire__en { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--filet); max-width: 34em; }
.histoire__en p { margin-top: 10px; font-size: 18px; line-height: 1.5; font-style: italic; color: var(--bordeaux-en); }
.histoire__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px 16px; }
@media (max-width: 959px) {
  .histoire__corps { flex-direction: column; align-items: center; }
  .histoire__visuel { position: static; flex: 0 0 auto; width: 100%; max-width: 560px; }
  .histoire__texte { flex: 0 0 auto; width: 100%; max-width: 640px; }
}
@media (max-width: 639px) {
  .histoire__corps { margin-top: 28px; gap: 28px; }
  .histoire__texte > p { font-size: 19px; }
  .histoire__texte > .histoire__date { font-size: 32px; }
  .histoire__actions .ra-btn { width: 100%; }
}

/* Cadeaux d'entreprise (entreprises.html) --------------------------- */

.pro-page { padding-top: 28px; padding-bottom: 80px; }
.pro-page .titre-section h1 { font-size: clamp(30px, 3.6vw, 42px); max-width: 820px; }
.pro-page .titre-section .en { text-wrap: balance; }
.pro-page__fr { margin: 20px auto 0; max-width: 640px; text-align: center; font-size: 22px; line-height: 1.4; color: var(--titre); text-wrap: balance; }
.pro-page__en { margin: 6px auto 0; max-width: 640px; text-align: center; font-size: 18px; line-height: 1.4; font-style: italic; color: var(--bordeaux-en); text-wrap: balance; }
.pro-page__corps {
  margin-top: 40px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 48px; align-items: start;
}
.pro-page__visuel { position: sticky; top: calc(var(--entete-h) + 24px); text-align: center; }
.pro-page__visuel .ra-card { padding: 6px; }
.pro-page__visuel img { display: block; width: 100%; height: auto; }
.pro-page__nom { margin-top: 18px; font-family: var(--f-titre); font-weight: 600; font-size: 22px; color: var(--titre); }
.pro-page__compo { margin-top: 4px; font-size: 18px; line-height: 1.45; color: var(--gris); text-wrap: balance; }

.pro-devis { padding: 28px clamp(12px, 3vw, 36px) 30px; }
.pro-devis fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.pro-devis legend { padding: 0; margin-bottom: 14px; font-family: var(--f-titre); font-weight: 600; font-size: 20px; color: var(--bordeaux); }
.pro-devis .pro-bloc { margin-top: 32px; }
.pro-quantite__choix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pro-qte {
  position: relative; min-height: 96px; padding: 12px 8px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  background: #fff; border: 1px solid var(--filet); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease;
}
.pro-qte input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pro-qte__nb { font-family: var(--f-titre); font-weight: 600; font-size: 32px; line-height: 1; color: var(--titre); }
.pro-qte__txt { margin-top: 6px; font-size: 17px; color: var(--gris); }
.pro-qte:has(input:checked) { border-color: var(--bordeaux); box-shadow: inset 0 0 0 1px var(--bordeaux); background: var(--creme-l); }
.pro-qte:has(input:checked) .pro-qte__nb { color: var(--bordeaux); }
.pro-qte:has(input:focus-visible) { outline: 2px solid var(--bordeaux); outline-offset: 3px; }
@media (hover: hover) { .pro-qte:hover { border-color: var(--bordeaux-en); } }
.pro-autre { margin-top: 16px; max-width: 280px; }
.pro-devis .devis-rgpd { margin-top: 26px; }
.pro-devis__alerte { display: none; margin-top: 12px; font-size: 17px; font-style: italic; color: var(--bordeaux); }
.pro-devis__alerte.visible { display: block; }
.pro-devis button[type="submit"] { margin-top: 16px; width: 100%; }
.pro-devis__note { margin-top: 10px; text-align: center; font-size: 16px; font-style: italic; color: var(--gris); }
.merci h2 { font-family: var(--f-titre); font-weight: 600; font-size: clamp(40px, 6vw, 56px); line-height: 1; color: var(--bordeaux); }

@media (forced-colors: active) {
  .pro-qte:has(input:checked) { outline: 3px solid Highlight; outline-offset: 2px; }
}
@media (max-width: 959px) {
  .pro-page__corps { grid-template-columns: minmax(0, 1fr); }
  .pro-page__visuel { position: static; width: 100%; max-width: 560px; margin: 0 auto; }
}
@media (max-width: 639px) {
  .pro-page__fr { font-size: 19px; }
  .pro-page__en { font-size: 17px; }
  .pro-quantite__choix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-autre { max-width: none; }
}
