/* ==========================================================================
   Boulangerie Martin — habillage du site de démonstration WP Feex.
   Chargé par le mu-plugin demo-boulangerie.php.

   ⚠ Les règles marquées « ANOMALIE n° » sont VOLONTAIRES : ce sont les défauts
   que les prospects doivent trouver pendant la démo. Ne pas les corriger.
   La liste complète est documentée dans demo-boulangerie.php.
   ========================================================================== */

.bk{
  --crust:#B5651D; --deep:#2E1B10; --cream:#FBF5EC; --accent:#C2410C;
  --line:#E9DCC9; --muted:#7A6553; --gold:#E8A33D;
  color:var(--deep);
  font-size:17px; line-height:1.65;
}
.bk *{box-sizing:border-box}
.bk h1,.bk h2,.bk h3{font-family:Georgia,'Iowan Old Style','Times New Roman',serif;color:var(--deep);letter-spacing:-.01em}
.bk h1{font-size:clamp(34px,5vw,52px);line-height:1.1;margin:0 0 18px}
.bk h2{font-size:clamp(26px,3.4vw,36px);line-height:1.2;margin:0 0 14px}
.bk h3{font-size:20px;line-height:1.3;margin:0 0 8px}
.bk p{margin:0 0 16px}
.bk a{color:var(--accent)}
.bk .lead{font-size:19px;color:var(--muted)}
.bk .sec{padding:56px 0;border-top:1px solid var(--line)}
.bk .sec:first-child{border-top:0;padding-top:28px}
.bk .eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--crust);margin-bottom:10px}

/* Boutons */
.bk .btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.bk .btn-p{background:var(--accent);color:#fff}
.bk .btn-p:hover{background:#a3350c}
.bk .btn-s{background:transparent;color:var(--deep);border:2px solid var(--line)}
.bk .btn-s:hover{border-color:var(--crust)}

/* Héro */
.bk .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:26px 0 46px}
.bk .hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.bk .hero svg{width:100%;height:auto;display:block}

/* Cartes produits */
.bk .grid{display:grid;gap:22px}
.bk .g3{grid-template-columns:repeat(3,1fr)}
.bk .g2{grid-template-columns:repeat(2,1fr)}
.bk .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 6px 24px rgba(46,27,16,.05)}
.bk .card .ill{background:var(--cream);border-radius:12px;padding:16px;margin-bottom:16px}
.bk .card .ill svg{width:100%;height:auto;display:block}
.bk .price{font-family:Georgia,serif;font-size:22px;font-weight:700;color:var(--crust);white-space:nowrap}
.bk .row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line)}
.bk .row:last-child{border-bottom:0}
.bk .row .n{font-weight:700}
.bk .row .d{color:var(--muted);font-size:15px}

/* Bandeau crème */
.bk .band{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:34px 30px;text-align:center}

/* Horaires */
.bk .hours{width:100%;border-collapse:collapse;margin:8px 0 18px}
.bk .hours td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:16px}
.bk .hours td:last-child{text-align:right;color:var(--muted)}

/* Équipe */
.bk .team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bk .team figure{margin:0}
.bk .team img{width:100%;border-radius:14px;display:block}
.bk .team figcaption{margin-top:10px;font-size:15px}
.bk .team figcaption b{display:block;font-size:16px}

/* Actualités */
.bk .news{display:grid;gap:18px}
.bk .news article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.bk .news time{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--crust)}

/* Formulaire de contact */
.bk .form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.bk .form label{display:block;font-weight:700;font-size:15px;margin:0 0 6px}
.bk .form input,.bk .form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:16px;margin-bottom:16px;background:#fff}
.bk .form textarea{min-height:130px}

@media(max-width:860px){
  .bk .hero{grid-template-columns:1fr}
  .bk .g3,.bk .g2,.bk .team{grid-template-columns:1fr}
}

/* En-tête et pied de page du thème (hors .bk).
   Le starter Blocksy livrait une barre sombre façon SaaS avec un bouton
   « Get started » : on la repasse en crème. Ces retouches ne sont PAS des
   anomalies — au contraire, elles évitent que le prospect signale l'habillage
   du starter au lieu des huit défauts que l'on a semés pour lui. */
.site-title,.site-title a{font-family:Georgia,'Iowan Old Style',serif!important;font-weight:700!important;letter-spacing:-.01em;color:#2E1B10!important}
.site-description{font-style:italic;color:#7A6553}
.ct-header [data-row] > .ct-container{background:#FBF5EC!important;border:1px solid #E9DCC9;box-shadow:0 6px 22px rgba(46,27,16,.06)}
.ct-header .ct-header-cta{display:none}
.ct-header a,.ct-header .site-title a{color:#2E1B10!important}
.ct-header .menu a{text-transform:none!important;font-weight:600}
.ct-header .menu .current-menu-item > a{color:#C2410C!important}
/* L'en-tête flotte au-dessus du contenu : sans cette marge, il masque le titre. */
.bk{padding-top:122px}
@media(max-width:860px){.bk{padding-top:104px}}

/* Pied de page du starter : masqué, remplacé par celui du mu-plugin. */
.ct-footer{display:none!important}

.bk-footer{background:#2E1B10;color:#E9DCC9;padding:52px 24px 26px;font-size:15.5px;line-height:1.6}
.bk-fin{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1fr;gap:34px}
.bk-fbrand{font-family:Georgia,'Iowan Old Style',serif;font-size:21px;font-weight:700;color:#fff;margin-bottom:10px}
.bk-footer h4{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E8A33D;margin:0 0 10px}
.bk-footer p{margin:0 0 10px;color:#CBB49C}
.bk-footer a{color:#E9DCC9;text-decoration:none}
.bk-footer a:hover{color:#fff;text-decoration:underline}
.bk-fbot{max-width:1120px;margin:34px auto 0;padding-top:20px;border-top:1px solid #4A3323;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#9C8570}
@media(max-width:860px){.bk-fin{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bk-fin{grid-template-columns:1fr}}

/* ==========================================================================
   ANOMALIES VOLONTAIRES — NE PAS CORRIGER
   ========================================================================== */

/* ANOMALIE 9 — l'image du tourteau ne charge pas (fichier inexistant).
   On lui réserve sa place pour que l'icône d'image manquante soit bien visible
   plutôt que réduite à quelques pixels. */
.bk .card img.ph{width:100%;height:120px;object-fit:cover;border-radius:12px;margin-bottom:14px;background:#FBF5EC}

/* ANOMALIE 1 — « Commander » ne réagit pas au clic.
   Le bouton est un <button> sans gestionnaire : rien ne se passe. On garde le
   curseur « main » pour qu'il ait l'air actif — c'est tout l'intérêt du piège. */
.bk .btn-cmd{cursor:pointer}

/* ANOMALIE 2 — la photo d'équipe de Camille est étirée.
   Ratio forcé sur une seule figure : l'image est écrasée en hauteur. */
.bk .team .is-stretched img{height:150px;object-fit:fill}

/* ANOMALIE 7 — le tableau des horaires déborde sous 380 px.
   Le thème masquant le débordement (overflow-x hidden), la colonne des heures
   est coupée net : les horaires deviennent illisibles sur petit téléphone.
   Visible uniquement en dessous de 380 px de large. */
@media(max-width:380px){
  .bk .hours td{white-space:nowrap;padding:11px 18px}
  .bk .hours{min-width:420px}
}

/* ANOMALIE 8 — contraste illisible.
   Texte jaune pâle sur fond crème dans le bandeau « Commandes de fêtes ».
   Ratio ≈ 1.6:1, très en dessous du minimum WCAG de 4.5:1. */
.bk .band-lowcontrast{background:#FFFDF5}
.bk .band-lowcontrast h2,.bk .band-lowcontrast p{color:#F2DFA0}
