/* Fiche produit — design system maquettes */
#fiche{padding:34px 0 70px}
#fiche .crumb{font-size:12.5px;color:var(--ink-soft);margin-bottom:22px}
#fiche .crumb a{color:var(--ink-soft);text-decoration:none}
#fiche .crumb a:hover{color:var(--brand)}
#fiche .crumb span{color:var(--ink)}

.fiche-lay{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:start}
@media(max-width:900px){.fiche-lay{grid-template-columns:1fr;gap:22px}}

/* Galerie WooCommerce native, habillée charte */
.fiche-media .woocommerce-product-gallery{border-radius:18px;overflow:hidden;box-shadow:var(--sh-sm);background:#fff}
.fiche-media .woocommerce-product-gallery__wrapper{margin:0}
.fiche-media .woocommerce-product-gallery img{width:100%;height:auto;display:block}
.fiche-media .flex-control-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0 10px 10px;list-style:none}
.fiche-media .flex-control-thumbs li{width:calc(20% - 7px);margin:0}
.fiche-media .flex-control-thumbs img{border-radius:8px;cursor:pointer;opacity:.55;border:2px solid transparent;transition:.2s}
.fiche-media .flex-control-thumbs img.flex-active,.fiche-media .flex-control-thumbs img:hover{opacity:1;border-color:var(--brand)}
.fiche-sw{border-radius:18px;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-align:center;padding:30px;box-shadow:var(--sh-sm)}
.fiche-sw span{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:19px}
.fiche-sw small{opacity:.85;font-size:12.5px}
.fiche-fallback{width:100%;border-radius:18px;box-shadow:var(--sh-sm)}

/* Colonne infos */
.fiche-info .badge{position:static;display:inline-block;margin-bottom:14px}
.fiche-tag{display:inline-block;background:var(--sand);color:var(--brand-d);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12px;margin-bottom:14px}
.fiche-info h1{font-size:clamp(26px,3.4vw,38px);line-height:1.08;margin:0 0 6px}
.fiche-dim{color:var(--ink-soft);font-size:14px;margin-bottom:18px}
.fiche-prix{margin:0 0 18px}
.fiche-prix b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(26px,3vw,34px);color:var(--brand-d)}
.fiche-prix small{color:var(--steel);font-size:13px}
.fiche-info .chips{margin-bottom:16px}
.fiche-excerpt{color:var(--ink-soft);font-size:14.5px;line-height:1.65;margin-bottom:20px}
.fiche-cta{margin-bottom:10px}
.fiche-trust{font-size:12.5px;color:var(--steel)}

/* Blocs bas de page */
.fiche-bloc{margin-top:46px;padding-top:34px;border-top:1px solid var(--line)}
.fiche-bloc h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 16px}
.fiche-desc{max-width:760px;color:var(--ink-soft);line-height:1.7}
.fiche-specs{width:100%;max-width:760px;border-collapse:collapse;font-size:14.5px}
.fiche-specs th{width:220px;text-align:left;padding:10px 14px;background:var(--sand);border:1px solid var(--line);font-family:'Bricolage Grotesque',sans-serif;font-weight:700}
.fiche-specs td{padding:10px 14px;border:1px solid var(--line);background:#fff}
@media(max-width:640px){.fiche-specs th{width:130px}}

/* Tableau LOA (rendu par tylers_loa_table) */
.loa-bloc h2{font-size:clamp(20px,2.4vw,26px);margin:0 0 16px}
.loa-grid{width:100%;max-width:760px;border-collapse:collapse;font-size:14.5px}
.loa-grid th{background:var(--espresso);color:#fff;padding:11px 14px;text-align:left;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:13px}
.loa-grid td{padding:11px 14px;border:1px solid var(--line);background:#fff}
.loa-grid td b{color:var(--brand-d);font-family:'Bricolage Grotesque',sans-serif}
.loa-note{max-width:760px;font-size:12.5px;color:var(--ink-soft);margin-top:12px;line-height:1.6}

/* Zone réservation */
#reserver .fiche-resa-note{max-width:680px;color:var(--ink-soft);line-height:1.65;margin-bottom:18px}
.fiche-contact{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}

/* B3 — formulaire devis sur fiche unité */
.fiche-form{margin-top:26px;max-width:520px}
.fiche-form-intro{margin:0 0 10px;color:var(--ink-soft)}
.fiche-form label{display:block;margin:0 0 14px;font-weight:600}
.fiche-form input[type=text],.fiche-form input[type=tel],.fiche-form input[type=email],.fiche-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
.fiche-form textarea{min-height:96px}
.fiche-form .wpcf7-response-output{margin:12px 0 0;padding:10px 12px;border-radius:8px;border:1px solid var(--line)}
.fiche-form .wpcf7-not-valid-tip{display:block;margin-top:4px;font-size:13px;font-weight:400;color:#b3261e}
