/* ---------------------------------------------------------------
   OSMOW PARIS — comportements non gérés par theme.json
   Chaque bloc est commenté pour que vous puissiez repérer
   facilement ce qui pilote quoi.
   --------------------------------------------------------------- */

:root {
  --osmow-noir: #241F1F;
  --osmow-or: #d4af37;
  --osmow-blanc: #faf8f5;
  --osmow-perle: #e8e6e3;
  --osmow-or-texte: #d4af37;
  --osmow-bord: clamp(22px, 2.4vw, 40px);
}

body { -webkit-font-smoothing: antialiased; }

/* --- Bandeau d'annonce ---------------------------------------- */
.osmow-annonce {
  position: relative;
  padding: 11px var(--osmow-bord);
  text-align: center;
}
.osmow-annonce p {
  margin: 0;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
  line-height: 1.5;
}
.osmow-annonce__x {
  position: absolute;
  right: var(--osmow-bord);
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: 0;
  padding: 4px;
  line-height: 0;
  cursor: pointer;
  color: inherit;
  opacity: .62;
  transition: opacity .3s;
}
.osmow-annonce__x:hover { opacity: 1; }
.osmow-annonce__x svg { width: 13px; height: 13px; }
body.osmow-annonce-fermee .osmow-annonce { display: none; }

/* --- En-tête collant ------------------------------------------ */
/* Sans ceci, l'en-tête est enfermé dans le div de l'élément de modèle
   et décroche dès qu'on dépasse sa hauteur. */
.wp-site-blocks > .wp-block-template-part { display: contents; }

.osmow-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--osmow-blanc);
  border-bottom: 1px solid var(--osmow-perle);
}
.osmow-header .wp-block-group.osmow-bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
  padding-left: var(--osmow-bord);
  padding-right: var(--osmow-bord);
  min-height: 70px;
}
.osmow-header .osmow-bar > *:nth-child(1) { justify-self: start; }
.osmow-header .osmow-bar > *:nth-child(2) { justify-self: center; }
.osmow-header .osmow-bar > *:nth-child(3) { justify-self: end; }
.osmow-header .wp-block-navigation { font-weight: 400; }
.osmow-header .wp-block-navigation a { text-decoration: none; }
.osmow-header .wp-block-navigation .wp-block-navigation-item__content {
  padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: border-color .4s;
}
.osmow-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.osmow-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
  border-bottom-color: var(--osmow-or);
}
.osmow-header .wp-block-site-logo img { max-width: 138px; height: auto; }
@media (max-width: 900px) {
  .osmow-header .wp-block-site-logo img { max-width: 110px; }
}

/* --- Icônes utilitaires (recherche, compte, panier) ----------- */
.osmow-ico {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--osmow-noir);
  transition: color .35s;
}
.osmow-ico:hover { color: var(--osmow-or); }
.osmow-ico svg { width: 17px; height: 17px; }
.osmow-ico .osmow-compteur {
  font-size: 10px;
  letter-spacing: .1em;
  font-weight: 400;
}
.osmow-ico .osmow-compteur:empty { display: none; }

/* --- Bandeau d'accueil ---------------------------------------- */
.osmow-hero { position: relative; overflow: hidden; max-height: 560px; }
.osmow-hero img { object-position: 72% center; }
.osmow-hero .osmow-hero__texte { max-width: min(52%, 620px); }
@media (max-width: 900px) {
  .osmow-hero .osmow-hero__texte { max-width: none; padding-right: 34%; }
}
@media (max-width: 560px) {
  .osmow-hero .osmow-hero__texte {
    padding-right: 0;
    background: linear-gradient(90deg, rgba(250,248,245,.88) 0%, rgba(250,248,245,.55) 62%, rgba(250,248,245,0) 100%);
  }
}

/* --- Carte produit : bascule d'image au survol ----------------- */
.osmow-carte { text-align: center; cursor: pointer; }
.osmow-carte .osmow-visuel {
  display: block;
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  max-width: 300px;
  margin: 0 auto;
  background: #f4f1ec;
}
.osmow-carte .osmow-visuel img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.osmow-carte .osmow-visuel .osmow-survol {
  display: block;
  position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease;
}
.osmow-carte a { text-decoration: none; }
.osmow-carte h3 { margin-top: 22px; }
.osmow-carte:hover .osmow-visuel .osmow-survol { opacity: 1; }
.osmow-carte .osmow-prix {
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .45;
  margin-top: 10px;
}
@media (max-width: 900px) {
  .osmow-carte .osmow-visuel { max-width: 260px; }
}

/* --- Pyramide olfactive --------------------------------------- */
.osmow-pyramide { max-width: 620px; margin: 0 auto; }
.osmow-pyramide .osmow-ligne {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid rgba(36,31,31,.14);
}
.osmow-pyramide .osmow-ligne:last-child { border-bottom: 1px solid rgba(36,31,31,.14); }
.osmow-pyramide .osmow-etage {
  font-size: 10px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--osmow-noir);
  white-space: nowrap;
}
.osmow-pyramide .osmow-notes { text-align: right; font-size: 13px; }

/* --- Liens : soulignement maitrise ---------------------------- */
.osmow-header a,
.osmow-annonce a,
footer a,
.osmow-trio a,
.osmow-carte a,
.osmow-lien,
.wp-block-post-content .osmow-trio a {
  text-decoration: none;
}
footer a:hover, .osmow-trio a:hover { color: var(--osmow-or); }

footer ul, footer ol {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.osmow-lien {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--osmow-perle);
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: border-color .4s;
}
.osmow-lien:hover { border-bottom-color: var(--osmow-or); }

/* --- Surtitres et filets -------------------------------------- */
.osmow-surtitre {
  font-size: 12px;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--osmow-or-texte);
  font-weight: 400;
}
.osmow-surtitre--grand { font-size: 13px; }
footer .osmow-surtitre, .fgrid h4 { color: var(--osmow-or-texte); }
.wp-block-separator.osmow-filet {
  width: 38px;
  border: 0;
  border-top: 1px solid var(--osmow-or);
  margin-inline: 0;
}

/* --- Savoir-faire : trois volets ------------------------------ */
.osmow-trio { gap: clamp(28px, 5.5vw, 90px) !important; }
.osmow-trio figure, .osmow-trio .wp-block-image { margin: 0; }
.osmow-trio img { transition: transform 1.4s ease; }
.osmow-trio .wp-block-column > p { margin-top: 22px; }
.osmow-trio .wp-block-column > p a {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  color: var(--osmow-noir);
  border-bottom: 1px solid transparent;
  padding-bottom: 4px;
  transition: border-color .4s;
}
.osmow-trio .wp-block-column > p a:hover { border-bottom-color: var(--osmow-or); color: var(--osmow-noir); }
.osmow-trio .wp-block-column:hover img { transform: scale(1.04); }

/* --- Réseaux sociaux ------------------------------------------ */
.osmow-social { display: flex; gap: 20px; margin-top: 6px; }
.osmow-social a { display: inline-flex; color: var(--osmow-noir); transition: color .35s; }
.osmow-social a:hover { color: var(--osmow-or); }
.osmow-social svg { width: 26px; height: 26px; }

/* --- FAQ (blocs Détails natifs) ------------------------------- */
.osmow-faq .wp-block-details {
  border-bottom: 1px solid var(--osmow-perle);
  padding: 6px 0;
}
.osmow-faq .wp-block-details summary {
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  color: var(--osmow-noir);
  font-size: 15px;
}
.osmow-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.osmow-faq .wp-block-details summary::after {
  content: "+";
  float: right;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  line-height: 1;
  color: var(--osmow-or);
}
.osmow-faq .wp-block-details[open] summary::after { content: "—"; }
.osmow-faq .wp-block-details p { padding-bottom: 18px; font-size: 14px; }

/* --- Panneau de recherche ------------------------------------- */
.osmow-recherche {
  position: absolute;
  left: 0; right: 0; top: 100%;
  background: var(--osmow-blanc);
  border-bottom: 0;
  padding: 0 var(--osmow-bord);
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height .4s ease, visibility 0s linear .4s;
}
.osmow-recherche.est-ouvert {
  max-height: 160px;
  visibility: visible;
  border-bottom: 1px solid var(--osmow-perle);
  transition: max-height .4s ease, visibility 0s;
}
.osmow-recherche form {
  display: flex;
  gap: 16px;
  align-items: center;
  max-width: 720px;
  margin: 0 auto;
  padding: 26px 0;
}
.osmow-recherche input[type="search"] {
  flex: 1;
  border: 0;
  border-bottom: 1px solid var(--osmow-perle);
  background: transparent;
  padding: 12px 0;
  font: inherit;
  font-size: 16px;
  outline: none;
}
.osmow-recherche input[type="search"]:focus { border-bottom-color: var(--osmow-or); }
.osmow-recherche button[type="submit"] {
  border: 1px solid var(--osmow-noir);
  background: transparent;
  color: var(--osmow-noir);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 13px 26px;
  cursor: pointer;
  transition: background .4s, color .4s;
}
.osmow-recherche button[type="submit"]:hover { background: var(--osmow-noir); color: var(--osmow-blanc); }
.osmow-ico[data-osmow-search] { background: none; border: 0; padding: 0; cursor: pointer; }

/* --- Recherche dans la barre ---------------------------------- */
.osmow-header .wp-block-search__button {
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--osmow-noir);
}
.osmow-header .wp-block-search__button svg { width: 18px; height: 18px; }
.osmow-header .wp-block-search .wp-block-search__input {
  border: 0;
  border-bottom: 1px solid var(--osmow-perle);
  border-radius: 0;
  background: transparent;
  font-size: 13px;
  padding: 6px 0;
}

/* --- Formulaires ---------------------------------------------- */
.osmow-champ,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--osmow-perle);
  background: transparent;
  padding: 13px 0;
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .35s;
}
.osmow-champ:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus { border-bottom-color: var(--osmow-or); }

/* --- Apparition au défilement --------------------------------- */
.osmow-reveal { opacity: 0; transform: translateY(18px); }
.osmow-reveal.est-visible {
  opacity: 1;
  transform: none;
  transition: opacity 1s ease, transform 1s ease;
}

/* --- WooCommerce : alignement sur l'identité ------------------ */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 21px;
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 12px;
  letter-spacing: .06em;
  opacity: .45;
  color: var(--osmow-noir);
}
.woocommerce div.product .product_title { font-weight: 300; }
.woocommerce span.onsale { display: none; }
.woocommerce .star-rating, .woocommerce .woocommerce-product-rating { display: none; }
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: transparent;
  color: var(--osmow-noir);
  border: 1px solid var(--osmow-noir);
  border-radius: 0;
  font-family: Montserrat, Arial, sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 15px 34px;
  transition: background .45s, color .45s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--osmow-noir);
  color: var(--osmow-blanc);
}
.woocommerce .quantity input.qty {
  border: 1px solid var(--osmow-perle);
  border-radius: 0;
  padding: 12px 6px;
}

/* --- Accessibilité et confort --------------------------------- */
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible {
  outline: 1px solid var(--osmow-or);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
  .osmow-reveal { opacity: 1; transform: none; }
}

/* ===============================================================
   VERSION 1.2 — fiche produit, notifications, avis
   =============================================================== */

/* --- Nettoyage WooCommerce ------------------------------------ */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .product_meta,
.woocommerce-products-header__title,
.woocommerce .posted_in,
.woocommerce .tagged_as,
.woocommerce .sku_wrapper { display: none; }

/* --- Notification d'ajout au panier --------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--osmow-blanc);
  border: 0;
  border-top: 1px solid var(--osmow-or);
  color: var(--osmow-noir);
  border-radius: 0;
  padding: 20px 24px;
  font-size: 13px;
  letter-spacing: .04em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: var(--wp--preset--spacing--40, 40px);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message .button,
.woocommerce-info .button {
  float: none;
  margin: 0;
  font-size: 10px;
  letter-spacing: .18em;
  padding: 12px 24px;
}

/* --- Fiche produit -------------------------------------------- */
.woocommerce div.product .product_title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: clamp(30px, 3.4vw, 46px);
  margin-bottom: 14px;
}
.woocommerce div.product .summary { padding-left: clamp(0px, 2vw, 40px); }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 15px;
  letter-spacing: .04em;
  opacity: .55;
  margin-bottom: 26px;
}
.woocommerce div.product form.cart .variations {
  border: 0;
  margin-bottom: 20px;
}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { padding: 8px 0; }
.woocommerce div.product form.cart .variations label {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--osmow-noir);
}
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--osmow-perle);
  border-radius: 0;
  background: transparent;
  padding: 13px 12px;
  font: inherit;
  font-size: 13px;
  width: 100%;
}
.woocommerce div.product form.cart .reset_variations { font-size: 11px; opacity: .6; }
.woocommerce div.product form.cart .button { width: 100%; }
.woocommerce div.product .woocommerce-variation-price { margin-bottom: 18px; }

.osmow-assurances {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.osmow-assurances li {
  list-style: none;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8C857C;
}

/* --- Description longue en pleine largeur --------------------- */
.osmow-fiche-longue {
  margin-top: clamp(48px, 6vw, 96px);
}

/* --- Pyramide sur fiche produit ------------------------------- */
.osmow-notes { max-width: 760px; margin: 0 auto; }
.osmow-notes .osmow-etage-bloc {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 24px;
  padding: 26px 0;
  border-top: 1px solid rgba(36,31,31,.14);
  align-items: baseline;
}
.osmow-notes .osmow-etage-bloc:last-child { border-bottom: 1px solid rgba(36,31,31,.14); }
.osmow-notes .osmow-etage-nom {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 22px;
  color: var(--osmow-noir);
}
.osmow-notes .osmow-etage-liste { font-size: 14px; line-height: 1.9; }
@media (max-width: 700px) {
  .osmow-notes .osmow-etage-bloc { grid-template-columns: 1fr; gap: 8px; }
}

/* --- Blocs dépliables de la fiche ----------------------------- */
.osmow-infos .wp-block-details {
  border-bottom: 1px solid var(--osmow-perle);
}
.osmow-infos .wp-block-details summary {
  padding: 20px 0;
  cursor: pointer;
  list-style: none;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--osmow-noir);
}
.osmow-infos .wp-block-details summary::-webkit-details-marker { display: none; }
.osmow-infos .wp-block-details summary::after {
  content: "+";
  float: right;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  line-height: 1;
  color: var(--osmow-or-texte);
}
.osmow-infos .wp-block-details[open] summary::after { content: "—"; }
.osmow-infos .wp-block-details p { padding-bottom: 20px; font-size: 14px; }

/* --- Avis clients --------------------------------------------- */
.woocommerce #reviews h2,
.woocommerce #reviews h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
}
.woocommerce #review_form input[type="text"],
.woocommerce #review_form input[type="email"],
.woocommerce #review_form textarea {
  border: 0;
  border-bottom: 1px solid var(--osmow-perle);
  border-radius: 0;
  background: transparent;
  padding: 12px 0;
  width: 100%;
  font: inherit;
  font-size: 14px;
}
.woocommerce #review_form label {
  display: block;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 4px;
  color: #8C857C;
}
.woocommerce #reviews .comment-form-rating .stars a { color: var(--osmow-or-texte); }

/* --- Grille de fiches savoir-faire ---------------------------- */
.osmow-personnes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(28px, 4vw, 64px);
}
.osmow-personnes .wp-block-column > p:first-of-type { margin-top: 20px; }

/* ===============================================================
   Espace client : connexion, inscription, tableau de bord
   =============================================================== */

.woocommerce-account .woocommerce {
  max-width: 1100px;
  margin: 0 auto;
}

/* --- Connexion et inscription --------------------------------- */
.woocommerce-account:not(.logged-in) .woocommerce > .u-columns,
.woocommerce-account .u-columns.col2-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(30px, 5vw, 80px);
  width: 100%;
}
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2 { width: 100%; float: none; }
.woocommerce-account .u-columns .col-2 {
  border-left: 1px solid var(--osmow-perle);
  padding-left: clamp(20px, 3vw, 44px);
}
@media (max-width: 820px) {
  .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
  .woocommerce-account .u-columns .col-2 {
    border-left: 0;
    border-top: 1px solid var(--osmow-perle);
    padding-left: 0;
    padding-top: 34px;
  }
}
.woocommerce-account h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: clamp(24px, 2.4vw, 32px);
  margin-bottom: 26px;
}
.woocommerce form.login,
.woocommerce form.register {
  border: 0;
  padding: 0;
  margin: 0;
  border-radius: 0;
}
.woocommerce form .form-row { padding: 0; margin-bottom: 24px; }
.woocommerce form .form-row label {
  display: block;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8C857C;
  margin-bottom: 6px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-account input[type="password"] {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--osmow-perle);
  border-radius: 0;
  background: transparent;
  padding: 12px 0;
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color .35s;
  box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { border-bottom-color: var(--osmow-or); }
.woocommerce form .form-row .password-input,
.woocommerce form .form-row .input-text { box-shadow: none; }
.woocommerce form.login .woocommerce-form-login__rememberme,
.woocommerce form .woocommerce-form__label-for-checkbox {
  font-size: 12px;
  color: #8C857C;
  text-transform: none;
  letter-spacing: 0;
}
.woocommerce-LostPassword a { font-size: 12px; }

/* --- Tableau de bord du compte -------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 26%;
  padding-right: clamp(20px, 3vw, 44px);
}
.woocommerce-account .woocommerce-MyAccount-content {
  width: 74%;
  border-left: 1px solid var(--osmow-perle);
  padding-left: clamp(20px, 3vw, 44px);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--osmow-perle);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block;
  padding: 15px 0;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--osmow-noir);
  text-decoration: none;
  transition: color .3s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--osmow-or); }
.woocommerce-account .woocommerce-MyAccount-content p { font-size: 14px; }
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--osmow-noir); }
@media (max-width: 820px) {
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
  .woocommerce-account .woocommerce-MyAccount-content {
    border-left: 0;
    border-top: 1px solid var(--osmow-perle);
    padding-left: 0;
    padding-top: 34px;
    margin-top: 34px;
  }
}

/* --- Panier et commande --------------------------------------- */
.woocommerce table.shop_table {
  border: 0;
  border-radius: 0;
}
.woocommerce table.shop_table th {
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 400;
  color: #8C857C;
  border-bottom: 1px solid var(--osmow-perle);
  padding: 14px 12px;
}
.woocommerce table.shop_table td {
  border-top: 0;
  border-bottom: 1px solid var(--osmow-perle);
  padding: 20px 12px;
  font-size: 14px;
}
.woocommerce table.shop_table .product-name a { color: var(--osmow-noir); text-decoration: none; }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: 26px;
}
.woocommerce .cart_totals table.shop_table { font-size: 14px; }
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: 1px solid var(--osmow-perle);
  padding: 0 0 20px;
}
.woocommerce-checkout #payment div.form-row { padding: 20px 0 0; }
.woocommerce .woocommerce-customer-details address {
  border: 1px solid var(--osmow-perle);
  border-radius: 0;
  font-style: normal;
  padding: 20px;
}

/* ===============================================================
   VERSION 1.3 — corrections fiche produit et notifications
   =============================================================== */

/* --- Catégorie et produits similaires : masqués --------------- */
.woocommerce div.product .product_meta,
.woocommerce .posted_in,
.woocommerce .tagged_as,
.woocommerce .sku_wrapper,
.woocommerce .related.products,
.woocommerce .upsells.products,
.woocommerce-breadcrumb { display: none !important; }

/* --- Notification d'ajout au panier --------------------------- */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message,
.woocommerce-info,
.wc-block-components-notice-banner {
  background: var(--osmow-blanc) !important;
  border: 0 !important;
  border-top: 1px solid var(--osmow-or) !important;
  border-bottom: 1px solid var(--osmow-perle) !important;
  border-radius: 0 !important;
  color: var(--osmow-noir) !important;
  box-shadow: none !important;
  padding: 20px clamp(20px, 3vw, 40px) !important;
  font-size: 13px !important;
  letter-spacing: .04em;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-message::after,
.wc-block-components-notice-banner > svg { display: none !important; }
.woocommerce-message .button,
.woocommerce-info .button {
  float: none !important;
  margin: 0 !important;
  background: transparent !important;
  border: 1px solid var(--osmow-noir) !important;
  color: var(--osmow-noir) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  padding: 12px 24px !important;
  text-decoration: none !important;
}
.woocommerce-message .button:hover {
  background: var(--osmow-noir) !important;
  color: var(--osmow-blanc) !important;
}

/* --- Sélecteur de contenance ---------------------------------- */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  text-align: left;
}
.woocommerce div.product form.cart table.variations th.label { margin-bottom: 8px; }
.woocommerce div.product form.cart table.variations td.value { margin-bottom: 6px; }
.woocommerce div.product form.cart table.variations select {
  width: 100% !important;
  max-width: none;
  min-height: 52px;
  line-height: 1.4;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--osmow-noir) 50%),
                    linear-gradient(135deg, var(--osmow-noir) 50%, transparent 50%);
  background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 40px;
}
.woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  margin-top: 4px;
}

/* --- Quantité et bouton --------------------------------------- */
.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .woocommerce-variation,
.woocommerce div.product form.cart .osmow-assurances,
.woocommerce div.product form.cart .osmow-infos--fiche { flex: 0 0 100%; }
.woocommerce div.product form.cart .quantity { flex: 0 0 84px; }
.woocommerce div.product form.cart .quantity input.qty {
  height: 100%;
  min-height: 52px;
  width: 100%;
  text-align: center;
}
.woocommerce div.product form.cart button.single_add_to_cart_button {
  flex: 1;
  min-height: 52px;
  min-width: 220px;
}

/* --- Boutons WooCommerce : jamais de aplat noir par défaut ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce ul.products li.product .button,
.woocommerce #respond input#submit {
  background: transparent !important;
  color: var(--osmow-noir) !important;
  border: 1px solid var(--osmow-noir) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: 15px 28px !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--osmow-noir) !important;
  color: var(--osmow-blanc) !important;
}
.woocommerce button.button:disabled,
.woocommerce button.button.disabled { opacity: .35; }

/* --- Bloc de service sous le bouton --------------------------- */
.osmow-infos--fiche { margin-top: 30px; }
.osmow-infos--fiche details { border-bottom: 1px solid var(--osmow-perle); }
.osmow-infos--fiche summary {
  padding: 18px 0;
  cursor: pointer;
  list-style: none;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--osmow-noir);
}
.osmow-infos--fiche summary::-webkit-details-marker { display: none; }
.osmow-infos--fiche summary::after {
  content: "+";
  float: right;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  line-height: 1;
  color: var(--osmow-or);
}
.osmow-infos--fiche details[open] summary::after { content: "—"; }
.osmow-infos--fiche p { padding-bottom: 18px; font-size: 13px; margin: 0; }

/* --- Galerie produit ------------------------------------------ */
.woocommerce div.product div.images { margin-bottom: 40px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 22%; margin: 0 3% 3% 0; }

/* ===============================================================
   VERSION 1.4 — fiche produit pilotée par les attributs
   =============================================================== */

/* --- Fond de page uniforme ------------------------------------ */
html, body,
.wp-site-blocks,
.woocommerce-page,
.woocommerce { background-color: var(--osmow-blanc); }

/* --- Sections ajoutées sous la fiche -------------------------- */
.osmow-section-notes {
  background: var(--osmow-perle);
  padding: clamp(56px, 6.5vw, 104px) clamp(22px, 4vw, 60px);
  margin: clamp(48px, 6vw, 96px) 0 0;
  text-align: center;
}
.osmow-section-notes h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: clamp(24px, 2.7vw, 36px);
  margin: 18px 0 44px;
}
.osmow-section-notes .osmow-notes { text-align: left; }

.osmow-mot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  margin-top: 0;
}
.osmow-mot__texte { padding: clamp(40px, 5vw, 88px) clamp(22px, 4vw, 60px); }
.osmow-mot__texte blockquote {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: clamp(19px, 1.8vw, 25px);
  color: var(--osmow-noir);
  border: 0;
  margin: 22px 0;
  padding: 0;
  line-height: 1.5;
}
.osmow-mot__signature {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8C857C;
}
.osmow-mot__image img {
  width: 100%;
  height: 100%;
  max-height: 620px;
  object-fit: cover;
  display: block;
}
@media (max-width: 820px) {
  .osmow-mot { grid-template-columns: 1fr; }
  .osmow-mot__image { order: -1; }
}

/* Le doublon de bandeau se règle en effaçant la personnalisation
   de l'en-tête, pas en le masquant. */

/* ===============================================================
   VERSION 1.4.1 — robustesse de l'en-tête
   =============================================================== */

/* L'en-tête ne doit jamais se retrouver au milieu du contenu.
   On repasse par un positionnement qui ne dépend pas du wrapper. */
.wp-site-blocks > .wp-block-template-part { display: contents; }

header.osmow-header {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  background: var(--osmow-blanc);
  border-bottom: 1px solid var(--osmow-perle);
}

/* Trois colonnes strictes : rien ne peut se dédoubler ni glisser. */
.osmow-header .osmow-bar {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
}
.osmow-header .osmow-bar__gauche { justify-self: start; }
.osmow-header .osmow-bar__logo   { justify-self: center; }
.osmow-header .osmow-bar__droite { justify-self: end; }

/* Aucun masquage ici : si des blocs étrangers apparaissent dans la
   barre, ils doivent rester visibles pour être supprimés à la source. */

/* ===============================================================
   VERSION 1.8 — fiche produit, proportions et sobriété
   =============================================================== */

.osmow-produit {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: clamp(30px, 4.5vw, 80px);
  align-items: start;
  padding: 0 0 clamp(90px, 10vw, 170px);
}
@media (max-width: 900px) {
  .osmow-produit { grid-template-columns: 1fr; gap: 30px; }
}

/* --- Visuels : format contenu pour ne pas allonger la page ---- */
.osmow-produit__visuels { display: flex; flex-direction: column; gap: 3px; }
.osmow-visuel { margin: 0; background: #f4f1ec; overflow: hidden; }
.osmow-visuel img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

/* --- Colonne informations, collée pendant le défilement ------- */
.osmow-produit__infos {
  max-width: 460px;
  padding-top: clamp(8px, 2vw, 34px);
}
@media (max-width: 900px) {
  .osmow-produit__infos { max-width: none; }
}

.osmow-produit__nom {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 300;
  font-size: clamp(32px, 3.4vw, 46px);
  line-height: 1.04;
  color: var(--osmow-noir);
  margin: 0 0 10px;
}
.osmow-produit__concentration {
  font-size: 13px;
  letter-spacing: .05em;
  color: #8C857C;
  margin: 0 0 24px;
}
.osmow-produit__chapo { margin-bottom: 30px; }
.osmow-produit__chapo p { font-size: 14.5px; line-height: 1.8; margin: 0 0 14px; }
.osmow-produit__chapo p:last-child { margin-bottom: 0; }

/* --- Contenances : une ligne, la taille puis le prix ---------- */
.osmow-options-actives .variations,
.osmow-options-actives .reset_variations,
.osmow-produit .woocommerce-variation-price,
.osmow-produit .woocommerce-variation-description,
.osmow-produit .woocommerce-variation-availability { display: none !important; }

.osmow-produit .variations th.label {
  display: block;
  text-align: left;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 0 0 8px;
}
.osmow-produit .variations td.value { display: block; padding: 0 0 18px; }
.osmow-produit .variations select {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--osmow-perle);
  border-radius: 0;
  background: transparent;
  padding: 0 14px;
  font: inherit;
  font-size: 14px;
}

.osmow-options {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 2.2vw, 30px);
  margin: 0 0 26px;
  align-items: baseline;
}
.osmow-option {
  background: none;
  border: 0;
  padding: 0 0 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-family: Montserrat, Arial, sans-serif;
  color: #A49C90;
  border-bottom: 1px solid transparent;
  transition: color .3s, border-color .3s;
}
.osmow-option:hover { color: var(--osmow-texte); }
.osmow-option__nom { font-size: 14px; letter-spacing: .02em; }
.osmow-option__prix { font-size: 14px; }
.osmow-option.est-actif {
  color: var(--osmow-noir);
  border-bottom-color: var(--osmow-noir);
}

/* --- Quantité et ajout au panier ------------------------------ */
.osmow-produit form.cart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
  margin: 0;
}
.osmow-produit form.cart .osmow-options,
.osmow-produit form.cart .variations,
.osmow-produit form.cart .osmow-assurances,
.osmow-produit form.cart .osmow-infos--fiche,
.osmow-produit form.cart .woocommerce-variation { flex: 0 0 100%; }
.osmow-produit form.cart { gap: 14px; }
.osmow-produit form.cart .quantity { flex: 0 0 64px; max-width: 64px; }
.osmow-produit form.cart .quantity input.qty {
  width: 100%;
  height: 56px;
  min-height: 56px;
  border: 1px solid var(--osmow-perle);
  border-radius: 8px;
  background: transparent;
  text-align: center;
  font: inherit;
  font-size: 14px;
  padding: 0;
}
.osmow-produit form.cart button.single_add_to_cart_button {
  flex: 1 1 200px;
  min-height: 56px;
  border-radius: 8px !important;
}

/* --- Réassurances --------------------------------------------- */
.osmow-bulle {
  flex: 0 0 100%;
  margin-top: 22px;
  border: 1px solid var(--osmow-perle);
  border-radius: 8px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.osmow-bulle__titre {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--osmow-noir);
}
.osmow-bulle__texte { font-size: 13px; line-height: 1.7; color: #8C857C; }

/* --- Blocs dépliables ----------------------------------------- */
.osmow-produit .osmow-infos--fiche { margin-top: 26px; }
.osmow-infos--fiche details { border-bottom: 1px solid var(--osmow-perle); }
.osmow-infos--fiche details:first-child { border-top: 1px solid var(--osmow-perle); }
.osmow-infos--fiche summary {
  padding: 17px 0;
  cursor: pointer;
  list-style: none;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--osmow-noir);
}
.osmow-infos--fiche summary::-webkit-details-marker { display: none; }
.osmow-infos--fiche summary::after {
  content: "+";
  float: right;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 20px;
  line-height: 1;
  color: var(--osmow-or);
}
.osmow-infos--fiche details[open] summary::after { content: "\2013"; }
.osmow-infos--fiche p { padding-bottom: 16px; font-size: 13px; margin: 0; line-height: 1.8; }
.osmow-logo-tri img { max-width: 150px; height: auto; display: block; margin-top: 6px; }

/* --- Les notes, dans la colonne de droite --------------------- */
.osmow-notes-fiche {
  flex: 0 0 100%;
  padding: 22px 0 4px;
}
.osmow-notes-fiche__titre {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--osmow-noir);
  margin: 0 0 6px;
}
.osmow-notes-fiche .osmow-etage-bloc {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 16px;
  padding: 11px 0;
  align-items: baseline;
  border-top: 1px solid var(--osmow-perle);
}
.osmow-notes-fiche .osmow-etage-nom {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 17px;
  color: var(--osmow-noir);
  white-space: nowrap;
}
.osmow-notes-fiche .osmow-etage-liste {
  font-size: 13px;
  line-height: 1.7;
  color: var(--osmow-texte);
}
@media (max-width: 600px) {
  .osmow-notes-fiche .osmow-etage-bloc { grid-template-columns: 1fr; gap: 3px; }
}

/* --- Le mot du parfumeur -------------------------------------- */
.osmow-mot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  margin: clamp(48px, 6vw, 90px) 0 clamp(80px, 9vw, 150px);
}
.osmow-mot__texte { padding: clamp(34px, 4.5vw, 76px) clamp(22px, 4vw, 60px); }
.osmow-mot__texte blockquote {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: clamp(18px, 1.6vw, 23px);
  color: var(--osmow-noir);
  border: 0;
  margin: 20px 0;
  padding: 0;
  line-height: 1.55;
}
.osmow-mot__signature {
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8C857C;
  margin: 0;
}
.osmow-mot__image img {
  width: 100%;
  height: 100%;
  max-height: 560px;
  object-fit: cover;
  display: block;
}
@media (max-width: 820px) {
  .osmow-mot { grid-template-columns: 1fr; }
  .osmow-mot__image { order: -1; }
}

/* ===============================================================
   VERSION 2.0 — proportions, colonne suiveuse, achat
   =============================================================== */

/* --- Visuels au format carré, façon packshot ------------------ */
.osmow-visuel img { aspect-ratio: 1 / 1 !important; }

/* --- La colonne de droite suit le défilement ------------------ */
.osmow-produit { align-items: start; }
.osmow-produit__infos {
  position: sticky;
  top: 92px;
  align-self: start;
}
@media (max-width: 900px) {
  .osmow-produit__infos { position: static; }
}

/* --- Quantité et bouton : le vrai conteneur ------------------- */
/* Sur un produit à variations, WooCommerce enferme la quantité et
   le bouton dans .woocommerce-variation-add-to-cart. C'est lui
   qu'il faut mettre en ligne, pas le formulaire. */
.osmow-produit .woocommerce-variation-add-to-cart,
.osmow-produit form.cart:not(.variations_form) {
  display: flex !important;
  align-items: stretch;
  gap: 14px;
  flex-wrap: nowrap;
  margin: 0;
}
.osmow-produit .woocommerce-variation-add-to-cart .quantity,
.osmow-produit form.cart .quantity {
  flex: 0 0 52px !important;
  width: 52px !important;
  max-width: 52px !important;
  margin: 0 !important;
}
.osmow-produit .quantity input.qty {
  width: 100% !important;
  height: 52px;
  min-height: 52px;
  padding: 0;
  border: 1px solid var(--osmow-perle);
  border-radius: 6px;
  background: transparent;
  text-align: center;
  font: inherit;
  font-size: 14px;
  -moz-appearance: textfield;
}
.osmow-produit .quantity input.qty::-webkit-outer-spin-button,
.osmow-produit .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.osmow-produit .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.osmow-produit form.cart button.single_add_to_cart_button {
  flex: 1 1 auto !important;
  height: 52px;
  min-height: 52px;
  margin: 0 !important;
  border-radius: 6px !important;
}

/* --- Espacement de la zone d'achat ---------------------------- */
.osmow-produit .osmow-options { margin-bottom: 30px; }
.osmow-produit .osmow-bulle { margin-top: 26px; }
.osmow-produit .osmow-infos--fiche { margin-top: 30px; }

/* ===============================================================
   VERSION 2.1 — zone d'achat simplifiée
   =============================================================== */

/* La quantité quitte la fiche : achat à l'unité, ajustable dans
   le panier. Cela supprime tout risque de désalignement entre le
   champ et le bouton, qui se positionnaient différemment selon
   le type de produit. */
.osmow-produit form.cart .quantity,
.osmow-produit .woocommerce-variation-add-to-cart .quantity { display: none !important; }

.osmow-produit .woocommerce-variation-add-to-cart,
.osmow-produit form.cart:not(.variations_form) {
  display: block !important;
  margin: 0;
}
.osmow-produit .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
.osmow-produit form.cart button.single_add_to_cart_button {
  display: block;
  width: 100% !important;
  height: 54px;
  min-height: 54px;
  margin: 0 !important;
  border-radius: 6px !important;
}

/* --- Bulle échantillon ---------------------------------------- */
.osmow-produit .osmow-bulle {
  margin-top: 22px;
  border-radius: 6px;
}

/* ===============================================================
   VERSION 2.2 — graisse, bouton d'achat, bandeau fermable
   =============================================================== */

/* --- Texte plus épais, façon D'Orsay -------------------------- */
body,
.osmow-produit__chapo p,
.wp-block-post-content p,
.osmow-infos--fiche p,
.woocommerce p { font-weight: 400; }

.osmow-surtitre,
.osmow-header .wp-block-navigation,
.osmow-infos--fiche summary,
.osmow-bulle__titre,
.osmow-assurances li,
.fgrid h4,
.osmow-lien { font-weight: 500; }

.osmow-option__nom,
.osmow-option__prix { font-weight: 500; }

footer .fgrid li { font-weight: 400; }

/* --- Ajouter au panier : plein, en permanence ----------------- */
.osmow-produit button.single_add_to_cart_button,
.woocommerce div.product button.single_add_to_cart_button {
  background: var(--osmow-noir) !important;
  color: var(--osmow-blanc) !important;
  border: 1px solid var(--osmow-noir) !important;
  font-weight: 500 !important;
}
.osmow-produit button.single_add_to_cart_button:hover,
.woocommerce div.product button.single_add_to_cart_button:hover {
  background: #3A3330 !important;
  border-color: #3A3330 !important;
  color: var(--osmow-blanc) !important;
}
.osmow-produit button.single_add_to_cart_button:disabled {
  opacity: .35;
  cursor: not-allowed;
}

/* --- Croix du bandeau : visible et cliquable ------------------ */
.osmow-annonce { position: relative; }
.osmow-annonce__x {
  position: absolute;
  right: clamp(14px, 2vw, 30px);
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--osmow-blanc);
  opacity: .8;
  transition: opacity .3s;
}
.osmow-annonce__x:hover { opacity: 1; }
.osmow-annonce__x svg { width: 15px; height: 15px; }
.osmow-annonce p { padding-right: 46px; padding-left: 46px; }

/* ===============================================================
   VERSION 2.3 — échelle typographique agrandie
   =============================================================== */

body { font-size: 16px; line-height: 1.75; }

/* --- Barre de navigation -------------------------------------- */
.osmow-header .wp-block-navigation,
.osmow-header .wp-block-navigation a {
  font-size: 12px !important;
  letter-spacing: .14em;
}
.osmow-header .osmow-ico svg { width: 19px; height: 19px; }
.osmow-header .wp-block-site-logo img { max-width: 150px; }
.osmow-header .wp-block-group.osmow-bar { min-height: 78px; }

/* --- Bandeau d'annonce ---------------------------------------- */
.osmow-annonce p { font-size: 12px; letter-spacing: .12em; }

/* --- Surtitres et libellés ------------------------------------ */
.osmow-surtitre { font-size: 12px; letter-spacing: .22em; }
.osmow-surtitre--grand { font-size: 14px; }

/* --- Fiche produit -------------------------------------------- */
.osmow-produit__concentration { font-size: 15px; }
.osmow-produit__chapo p { font-size: 16px; line-height: 1.8; }
.osmow-option__nom,
.osmow-option__prix { font-size: 15px; }
.osmow-infos--fiche summary { font-size: 12px; letter-spacing: .16em; padding: 19px 0; }
.osmow-infos--fiche p { font-size: 15px; line-height: 1.8; padding-bottom: 18px; }
.osmow-bulle__titre { font-size: 12px; letter-spacing: .16em; }
.osmow-bulle__texte { font-size: 14px; }
.osmow-assurances li { font-size: 12px; letter-spacing: .12em; }
.osmow-produit button.single_add_to_cart_button { font-size: 12px !important; letter-spacing: .16em !important; }
.osmow-notes .osmow-etage-nom { font-size: 12px; letter-spacing: .16em; }
.osmow-notes .osmow-etage-liste { font-size: 15px; }

/* --- Cartes du catalogue -------------------------------------- */
.osmow-carte .osmow-prix { font-size: 14px; opacity: .55; }
.woocommerce ul.products li.product .price { font-size: 14px !important; }

/* --- Pied de page --------------------------------------------- */
.fgrid h4 { font-size: 12px !important; letter-spacing: .22em; }
.fgrid li { font-size: 14px !important; line-height: 2; }
.fbot, .fbot p { font-size: 13px; }

/* --- Blocs éditoriaux ----------------------------------------- */
.wp-block-post-content p,
.wp-block-group p { font-size: 16px; line-height: 1.8; }
.osmow-lien { font-size: 12px; letter-spacing: .16em; }

/* --- Boutons WooCommerce -------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit { font-size: 12px !important; letter-spacing: .16em !important; }

/* --- Formulaires et espace client ----------------------------- */
.woocommerce form .form-row label,
.woocommerce-account .woocommerce-MyAccount-navigation li a { font-size: 12px; letter-spacing: .14em; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.osmow-champ { font-size: 15px; }
.woocommerce table.shop_table th { font-size: 12px; letter-spacing: .14em; }
.woocommerce table.shop_table td { font-size: 15px; }

/* --- FAQ ------------------------------------------------------- */
.osmow-faq .wp-block-details summary { font-size: 16px; }
.osmow-faq .wp-block-details p { font-size: 15px; }
