/*
Theme Name: Borgia Tiramisu (blocs)
Theme URI: https://tiramisuborgia.com
Author: Borgia Tiramisu
Description: Thème de Borgia Tiramisu, pâtisserie monoproduit à Lyon. Version « blocs » : chaque page se modifie directement dans l'éditeur (textes, photos, ordre des sections), le menu, l'en-tête et le pied de page dans Apparence > Éditeur. Couleurs et polices de la charte graphique v1.02.
Version: 2.2.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: Tous droits réservés
Text Domain: borgia
*/

/* ==========================================================
   Ce fichier ne contient que la « mise en forme » des styles Borgia.
   Les couleurs, polices et tailles se règlent dans Apparence > Éditeur > Styles.
   ========================================================== */

:root {
  --borgia-rayon: 14px;
  color-scheme: light;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
img { max-width: 100%; height: auto; }
:where(h1, h2, h3) { text-wrap: balance; }
:focus-visible { outline: 3px solid var(--wp--preset--color--rouge); outline-offset: 3px; border-radius: 4px; }

/* Couleur du texte courant selon le fond (sert aux listes et aux cartes) */
:root { --borgia-texte: var(--wp--preset--color--brun); }
.has-brun-background-color, .has-rouge-background-color, .has-rouge-fonce-background-color { --borgia-texte: var(--wp--preset--color--creme); }
.has-creme-background-color, .has-papier-background-color, .has-beige-clair-background-color { --borgia-texte: var(--wp--preset--color--brun); }

/* Les grandes sections se touchent, sans espace blanc entre elles */
.wp-site-blocks > * { margin-block-start: 0; }
.borgia-sections > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.borgia-sections { padding-block: 0; }

/* ---------- En-tête ---------- */
.wp-site-blocks > header.wp-block-template-part {
  position: sticky; top: 0; z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.borgia-entete { border-bottom: 2px solid var(--wp--preset--color--rouge); }
.borgia-entete .wp-block-site-logo img { width: clamp(170px, 22vw, 240px); height: auto; }
.borgia-entete .wp-block-site-logo a { display: block; }
.borgia-entete .wp-block-navigation-item__content { padding-block: 6px; border-bottom: 2px solid transparent; }
.borgia-entete .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.borgia-entete .wp-block-navigation-item__content[aria-current="page"] {
  color: var(--wp--preset--color--rouge); border-bottom-color: var(--wp--preset--color--rouge);
}
.borgia-entete .wp-block-navigation__responsive-container-open {
  background: var(--wp--preset--color--rouge); color: var(--wp--preset--color--creme);
  border-radius: 999px; padding: 8px;
}
.borgia-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding-block: 10px; }

/* ---------- Boutons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .15s ease, background-color .15s ease, color .15s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; }
.wp-block-button.is-style-outline > .wp-block-button__link.has-creme-color:hover { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--rouge) !important; }
.wp-block-button.is-style-outline > .wp-block-button__link.has-brun-color:hover { background: var(--wp--preset--color--brun); color: var(--wp--preset--color--creme) !important; }

/* ---------- Coulure : le bas de la section « coule » comme le cœur du logo ---------- */
.wp-block-group.is-style-coulure { position: relative; z-index: 2; overflow: visible; }
.wp-block-group.is-style-coulure::after {
  content: ""; position: absolute; left: 0; right: 0; top: calc(100% - 1px);
  height: clamp(38px, 6vw, 78px);
  background-color: inherit;
  pointer-events: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V16H1180C1160 16 1156 24 1156 40C1156 58 1142 64 1136 64C1128 64 1118 58 1118 44C1118 26 1110 16 1090 16H760C744 16 740 26 740 50C740 70 728 78 718 78C708 78 698 70 698 54C698 30 690 16 672 16H330C314 16 310 22 310 34C310 46 302 52 294 52C286 52 278 46 278 34C278 22 272 16 258 16H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1440V16H1180C1160 16 1156 24 1156 40C1156 58 1142 64 1136 64C1128 64 1118 58 1118 44C1118 26 1110 16 1090 16H760C744 16 740 26 740 50C740 70 728 78 718 78C708 78 698 70 698 54C698 30 690 16 672 16H330C314 16 310 22 310 34C310 46 302 52 294 52C286 52 278 46 278 34C278 22 272 16 258 16H0Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
}
/* La section qui suit une coulure laisse la place aux gouttes */
.wp-block-group.is-style-coulure + * { padding-top: clamp(80px, 9vw, 120px) !important; }

/* ---------- Petits textes ---------- */
p.is-style-surtitre {
  font-family: var(--wp--preset--font-family--texte); font-weight: 700; font-size: .8rem;
  text-transform: uppercase; letter-spacing: .16em; margin-bottom: -.4rem;
}
p.is-style-surtitre:not(.has-text-color) { color: var(--wp--preset--color--rouge); }
.has-rouge-background-color p.is-style-surtitre:not(.has-text-color) { color: var(--wp--preset--color--creme); opacity: .85; }
.has-brun-background-color p.is-style-surtitre:not(.has-text-color) { color: var(--wp--preset--color--beige); }
p.is-style-surtitre.has-creme-color { opacity: .85; }

p.is-style-citation {
  font-family: var(--wp--preset--font-family--titre); font-size: clamp(1.5rem, 3.4vw, 2.3rem);
  line-height: 1.2; text-wrap: balance;
  max-width: var(--wp--style--global--content-size, 1160px) !important; padding-right: min(35%, 420px);
}
@media (max-width: 781px) { p.is-style-citation { padding-right: 0; } }
p.is-style-chiffre {
  font-family: var(--wp--preset--font-family--titre); font-size: 2.6rem; line-height: 1; margin: 0;
}
p.is-style-chiffre:not(.has-text-color) { color: var(--wp--preset--color--rouge); }

p.is-style-pastille {
  display: inline-block; margin: 0; padding: 3px 10px; border-radius: 999px;
  border: 1px solid var(--wp--preset--color--beige);
  font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; line-height: 1.6;
}
p.is-style-pastille:not(.has-text-color) { color: var(--borgia-texte); -webkit-text-fill-color: var(--borgia-texte); }
.borgia-pastilles { margin-top: 4px !important; }

p.is-style-etiquette {
  justify-self: start; display: inline-block; width: fit-content; margin: 0;
  background: var(--wp--preset--color--rose); color: var(--wp--preset--color--creme); -webkit-text-fill-color: var(--wp--preset--color--creme);
  border-radius: 999px; padding: 4px 14px; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .12em;
}

/* Pastille posée sur le coin de la grande photo d'accueil */
p.is-style-pastille-photo {
  position: relative; z-index: 3; display: inline-block; width: fit-content;
  margin-top: -84px !important; margin-left: -18px;
  background: var(--wp--preset--color--creme); color: var(--wp--preset--color--brun);
  border-radius: 999px; padding: 12px 18px; font-weight: 700; font-size: .85rem;
  text-transform: uppercase; letter-spacing: .08em; box-shadow: 0 8px 24px rgba(73, 26, 12, .25);
}
@media (max-width: 781px) { p.is-style-pastille-photo { margin-left: 12px; } }

/* ---------- Images ---------- */
.wp-block-image.is-style-arche img {
  border-radius: 240px 240px var(--borgia-rayon) var(--borgia-rayon) !important;
  aspect-ratio: 4 / 5; object-fit: cover; width: 100%;
  border: 6px solid var(--wp--preset--color--creme);
}
.wp-block-image.is-style-arche { max-width: 520px; margin-inline: auto; }
.wp-block-image.is-style-logo-hero img { border-radius: 0 !important; width: min(100%, 560px); }
.wp-block-image.is-style-logo-hero.aligncenter img { width: min(100%, 440px); }

/* ---------- Point fort (trait rouge au-dessus) ---------- */
.wp-block-group.is-style-engagement {
  border-top: 3px solid var(--wp--preset--color--rouge); padding-top: 18px;
}
.wp-block-group.is-style-engagement > * { margin-block: 0 .6rem; }

/* ---------- Carte arrondie (aperçu des parfums) ---------- */
.wp-block-group.is-style-carte {
  border-radius: var(--borgia-rayon); padding: 22px; border: 2px solid transparent;
  transition: border-color .15s ease, transform .15s ease;
}
.wp-block-group.is-style-carte:hover { border-color: currentColor; transform: translateY(-3px); }
.wp-block-group.is-style-carte > * { margin-block: 0 .5rem; }
.wp-block-group.is-style-carte h3 a { color: inherit; text-decoration: none; }
.wp-block-group.is-style-carte.has-text-color p:not([class*="is-style"]) { color: var(--borgia-texte); font-size: .95rem; }

/* ---------- Cuillère ---------- */
.wp-block-borgia-cuillere, .borgia-cuillere {
  display: block; aspect-ratio: 600 / 244; background-color: currentColor; max-width: 100%;
  -webkit-mask: url("assets/img/cuillere.png") center / contain no-repeat;
          mask: url("assets/img/cuillere.png") center / contain no-repeat;
}
.has-rouge-background-color > .wp-block-borgia-cuillere:not(.has-text-color) { color: var(--wp--preset--color--creme); }

/* ---------- Duo texte + photo (Média & texte) ---------- */
.wp-block-media-text.is-style-duo, .wp-block-media-text.is-style-duo-logo { column-gap: clamp(28px, 5vw, 72px); }
.wp-block-media-text.is-style-duo .wp-block-media-text__content,
.wp-block-media-text.is-style-duo-logo .wp-block-media-text__content { padding: 0; }
.wp-block-media-text.is-style-duo .wp-block-media-text__media img { border-radius: var(--borgia-rayon); aspect-ratio: 1 / 1; object-fit: cover; }
.wp-block-media-text.is-style-duo-logo .wp-block-media-text__media img { max-width: 360px; margin-inline: auto; display: block; }
@media (max-width: 600px) {
  .wp-block-media-text.is-style-duo.is-stacked-on-mobile .wp-block-media-text__content,
  .wp-block-media-text.is-style-duo-logo.is-stacked-on-mobile .wp-block-media-text__content { padding-top: 24px; }
}

/* ---------- Fiche tiramisu ---------- */
.wp-block-media-text.is-style-carte-parfum {
  border-radius: var(--borgia-rayon); padding: 18px; border: 1px solid var(--wp--preset--color--beige-clair);
  column-gap: 22px; align-items: start;
}
.wp-block-media-text.is-style-carte-parfum.has-brun-background-color { border-color: var(--wp--preset--color--brun); }
.wp-block-media-text.is-style-carte-parfum .wp-block-media-text__media img { border-radius: 10px; aspect-ratio: 1 / 1; object-fit: cover; }
.wp-block-media-text.is-style-carte-parfum .wp-block-media-text__content { padding: 4px 0 0; }
.wp-block-media-text.is-style-carte-parfum .wp-block-media-text__content > * { margin-block: 0 .6rem; }
.wp-block-media-text.is-style-carte-parfum .wp-block-media-text__content > p:not([class*="is-style"]) { color: var(--borgia-texte); }
.wp-block-media-text.is-style-carte-parfum .wp-block-media-text__content > .wp-block-borgia-cuillere { margin-bottom: .2rem; }
@media (max-width: 600px) {
  .wp-block-media-text.is-style-carte-parfum.is-stacked-on-mobile .wp-block-media-text__content { padding: 16px 0 0; }
}
.borgia-grille-carte { margin-top: 24px !important; }

/* ---------- Liste à puces rondes colorées ---------- */
ul.is-style-puces { list-style: none; padding: 0; margin-left: 0; display: grid; gap: 4px; font-size: .95rem; }
ul.is-style-puces li { display: flex; gap: 10px; align-items: baseline; -webkit-text-fill-color: var(--borgia-texte); }
ul.is-style-puces li a { -webkit-text-fill-color: currentColor; }
ul.is-style-puces li::before {
  content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: currentColor; transform: translateY(-1px);
}

/* ---------- Horaires ---------- */
.wp-block-table.is-style-horaires table { border-collapse: collapse; width: 100%; font-variant-numeric: tabular-nums; }
.wp-block-table.is-style-horaires td { border: 0; border-bottom: 1px dashed currentColor; padding: 4px 0; }
.wp-block-table.is-style-horaires td + td { text-align: right; }
.borgia-coordonnees h3 { font-size: 1.2rem; }
.borgia-colonne-coordonnees .borgia-coordonnees { grid-template-columns: 1fr !important; gap: 28px !important; }
.borgia-coordonnees > * > * { margin-block: 0 .5rem; }

/* ---------- Pied de page ---------- */
.borgia-pied a { text-decoration: none; }
.borgia-pied a:hover { text-decoration: underline; }
.borgia-pied .wp-block-image img { border-radius: 0; }
.borgia-pied p.is-style-surtitre { margin-bottom: 0; }
.borgia-pied-bas { border-top: 1px solid rgba(247, 243, 227, .25); }

/* ---------- Page liste d'attente ---------- */
body.page-template-page-attente { background: var(--wp--preset--color--rouge); }
.borgia-attente { display: flex; flex-direction: column; justify-content: center; }
.borgia-attente .borgia-discret { opacity: .8; }
.borgia-attente a { color: var(--wp--preset--color--creme); }

/* ---------- Infos à compléter ---------- */
.a-completer { background: #FFF1A8; color: #5A3B00; padding: 0 4px; border-radius: 3px; font-weight: 600; }

/* ---------- WooCommerce ---------- */
.woocommerce .price, .woocommerce-Price-amount { color: var(--wp--preset--color--brun); font-weight: 700; }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
  .wp-block-columns.are-vertically-aligned-center > .wp-block-column { flex-basis: 100% !important; }
}
.borgia-pied ul.borgia-liens { list-style: none; padding: 0; margin-left: 0; display: grid; gap: 6px; }
.borgia-pied .wp-block-column > * { margin-block: 0 .5rem; }

/* ---------- FAQ (questions dépliables) ---------- */
.wp-block-details.is-style-question {
  border-bottom: 1px solid var(--wp--preset--color--beige); padding: 4px 0 4px; margin: 0 !important;
}
.wp-block-details.is-style-question:first-child { border-top: 1px solid var(--wp--preset--color--beige); }
.wp-block-details.is-style-question summary {
  cursor: pointer; list-style: none; position: relative; padding: 18px 44px 18px 0;
  font-family: var(--wp--preset--font-family--titre); font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.25;
}
.wp-block-details.is-style-question summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-question summary::after {
  content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--wp--preset--color--rouge); color: var(--wp--preset--color--creme);
  font-family: var(--wp--preset--font-family--texte); font-weight: 700; font-size: 1.2rem; transition: transform .2s ease;
}
.wp-block-details.is-style-question[open] summary::after { content: "–"; }
.wp-block-details.is-style-question > :not(summary) { margin: 0 0 18px; max-width: 70ch; }
.borgia-faq-fin { margin-top: 40px !important; font-weight: 600; }

/* Cartes d'offres (événements) */
.wp-block-group.is-style-carte .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 10px; }
.wp-block-group.is-style-carte.has-papier-background-color { border-color: var(--wp--preset--color--beige-clair); border-width: 1px; }
.borgia-etapes p.is-style-chiffre:not(.has-text-color) { color: var(--wp--preset--color--rose); }
.borgia-etapes .wp-block-group.is-style-engagement { border-top-color: var(--wp--preset--color--rose); }

/* Façade (page Nous trouver) */
.wp-block-media-text.is-style-duo-facade { column-gap: clamp(28px, 5vw, 72px); }
.wp-block-media-text.is-style-duo-facade .wp-block-media-text__content { padding: 0; }
.wp-block-media-text.is-style-duo-facade .wp-block-media-text__media img { border-radius: var(--borgia-rayon); aspect-ratio: 4 / 5; object-fit: cover; }
p.borgia-discret { opacity: .7; }
@media (max-width: 600px) { .wp-block-media-text.is-style-duo-facade.is-stacked-on-mobile .wp-block-media-text__content { padding-top: 24px; } }
