/* EnseigneToiBien — Lot 17 — page Enseigniste, styles exclusivement dédiés. */
.etb-enseigniste-hero.lumi_hero_section { min-height: 450px; background-color: #171617; }
.etb-enseigniste-hero.lumi_hero_section::before {
  background: linear-gradient(96deg, rgba(16,17,20,.94) 0%, rgba(18,18,20,.81) 41%, rgba(19,19,22,.24) 100%);
}
.etb-enseigniste-hero .about_content { padding: clamp(90px, 10vw, 136px) 0; }
.etb-enseigniste-hero .about_heading {
  max-width: 850px;
  margin: 12px 0 0;
  padding: 0;
  color: #fff;
  font-family: Outfit, sans-serif;
  font-size: clamp(2.6rem, 5.4vw, 5rem);
  font-weight: 780;
  line-height: 1.08;
  letter-spacing: -.058em;
  text-wrap: balance;
}
.et17-hero-eyebrow { margin: 0; color: #ffbfb3; font: 800 .83rem/1.4 Outfit, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.et17-hero-sub { max-width: 685px; margin: 23px 0 0; color: #f2e9e6; font: 400 clamp(1.05rem, 2.1vw, 1.22rem)/1.68 Outfit, sans-serif; }

.etb-enseigniste-content {
  --et17-ink: #252326;
  --et17-muted: #605a5c;
  --et17-accent: #b32938;
  --et17-blush: #fbf4f1;
  --et17-border: #ebe2df;
  font-family: Outfit, sans-serif;
  color: var(--et17-ink);
}
.etb-enseigniste-content *, .etb-enseigniste-content *::before, .etb-enseigniste-content *::after { box-sizing: border-box; }
.etb-enseigniste-content h2, .etb-enseigniste-content h3, .etb-enseigniste-content p, .etb-enseigniste-content figure { margin-top: 0; }
.etb-enseigniste-content h2 { margin-bottom: 18px; color: var(--et17-ink); font-size: clamp(1.9rem, 3.2vw, 2.85rem); font-weight: 770; line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
.etb-enseigniste-content h3 { margin-bottom: 9px; color: var(--et17-ink); font-size: clamp(1.12rem, 2vw, 1.38rem); font-weight: 750; line-height: 1.3; letter-spacing: -.018em; }
.etb-enseigniste-content p, .etb-enseigniste-content li { color: var(--et17-muted); font-size: 1.025rem; line-height: 1.77; }
.etb-enseigniste-content p { margin-bottom: 18px; }
.etb-enseigniste-content strong { color: var(--et17-ink); font-weight: 760; }
.etb-enseigniste-content a:not(.btn) { color: #2b2528; text-decoration: underline; text-decoration-color: #bd4951; text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s, border-color .2s, background .2s; }
.etb-enseigniste-content a:not(.btn):hover { color: #a32634; text-decoration-color: currentColor; }
.etb-enseigniste-content a:focus-visible, .etb-enseigniste-content button:focus-visible, .etb-enseigniste-content summary:focus-visible { outline: 3px solid #d98379; outline-offset: 4px; }
.et17-section { margin-top: clamp(75px, 8.6vw, 112px); }
.et17-eyebrow, .et17-overline { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; color: var(--et17-accent); font-size: .79rem; font-weight: 830; line-height: 1.4; letter-spacing: .16em; text-transform: uppercase; }
.et17-eyebrow > span { font-size: 1.43rem; line-height: 1; }
.et17-section-heading { margin-bottom: 31px; }
.et17-section-heading > p { max-width: 750px; }
.etb-enseigniste-content .et17-lead { color: #353034; font-size: clamp(1.1rem, 1.8vw, 1.2rem); line-height: 1.78; }

/* Avant-propos et photographie d'ouverture. */
.et17-intro h2 { max-width: 800px; font-size: clamp(2.05rem, 3.3vw, 3.1rem); }
.etb-enseigniste-content .et17-intro-photo { overflow: hidden; margin: 31px 0 24px; background: #252124; border: 1px solid #e5ddda; border-radius: 25px; box-shadow: 0 25px 46px rgba(33,26,24,.14); }
.et17-intro-photo img { display: block; width: 100%; height: 430px; max-height: none; object-fit: cover; border-radius: 0; }
.etb-enseigniste-content .et17-intro-photo figcaption { margin: 0; padding: 15px 20px 17px; color: #f8f1ee; background: #282124; font-size: .9rem; }
.et17-micro-values { display: flex; flex-wrap: wrap; gap: 10px; margin: 25px 0 0; }
.et17-micro-values span { display: inline-flex; gap: 10px; align-items: center; padding: 10px 14px; border: 1px solid #eadfdb; border-radius: 100px; background: #fcf7f4; color: #4c4040; font-size: .83rem; font-weight: 680; }
.et17-micro-values b { color: var(--et17-accent); font-weight: 820; }

/* Citation-signature. */
.et17-manifesto { position: relative; overflow: hidden; padding: clamp(35px, 5vw, 60px); border-radius: 26px; background: linear-gradient(125deg, #211d21, #353033); isolation: isolate; }
.et17-manifesto::after { content: ""; position: absolute; width: 250px; height: 250px; right: -95px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(204,60,77,.31), rgba(204,60,77,0) 70%); z-index: -1; }
.et17-manifesto-mark { height: 54px; color: #f19a98; font: 800 5rem/1 Georgia, serif; }
.etb-enseigniste-content .et17-manifesto p { max-width: 700px; margin: 14px 0 19px; color: #fff; font-size: clamp(1.55rem, 2.65vw, 2.4rem); font-weight: 610; line-height: 1.43; letter-spacing: -.035em; }
.et17-manifesto strong { color: #ffc8bb !important; }
.et17-manifesto > span { color: #e5cdca; font-size: .83rem; font-weight: 690; letter-spacing: .08em; text-transform: uppercase; }

/* Cartes savoir-faire. */
.et17-expertise-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px; }
.et17-card { min-width: 0; overflow: hidden; border: 1px solid #eee5e1; border-radius: 23px; background: #fff; box-shadow: 0 13px 30px rgba(39,27,27,.055); transition: transform .24s ease, box-shadow .24s ease; }
.et17-card:hover { transform: translateY(-5px); box-shadow: 0 20px 37px rgba(39,27,27,.12); }
.etb-enseigniste-content .et17-card .etb-inline-photo { margin: 0; }
.et17-card img { display: block; width: 100%; height: 255px; max-height: none; object-fit: cover; border-radius: 0; transition: transform .35s ease; }
.et17-card:hover img { transform: scale(1.035); }
.et17-card-copy { padding: 23px 23px 25px; }
.et17-card-copy > span { display: block; margin-bottom: 9px; color: var(--et17-accent); font-size: .73rem; font-weight: 840; letter-spacing: .15em; }
.et17-card-copy h3 { margin-bottom: 10px; }
.et17-card-copy p { margin: 0; font-size: .95rem; line-height: 1.7; }

/* Photographie et explication des contraintes de pose. */
.et17-split { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); align-items: center; gap: clamp(26px, 4vw, 40px); }
.etb-enseigniste-content .et17-split-photo { margin: 0; }
.et17-split-photo img { display: block; width: 100%; height: 465px; max-height: none; object-fit: cover; border-radius: 22px; }
.et17-split-photo figcaption { margin: 13px 1px 0; font-size: .85rem; }
.et17-split-copy h2 { font-size: clamp(1.72rem, 2.7vw, 2.42rem); }
.et17-split-copy p { font-size: .97rem; }
.et17-check-list { padding: 0; margin: 14px 0 0; list-style: none; }
.et17-check-list li { position: relative; padding: 6px 0 6px 26px; font-size: .94rem; line-height: 1.6; }
.et17-check-list li::before { content: "✓"; position: absolute; left: 0; top: 7px; color: var(--et17-accent); font-weight: 850; }

/* Histoire et mosaïque de réalisations. */
.et17-story > h2 { max-width: 800px; }
.et17-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; gap: 14px; margin-top: 33px; }
.etb-enseigniste-content .et17-gallery figure { min-width: 0; overflow: hidden; margin: 0; border-radius: 18px; background: #fcf8f6; }
.et17-gallery img { display: block; width: 100%; height: 245px; max-height: none; object-fit: cover; border-radius: 0; transition: transform .35s; }
.et17-gallery figure:hover img { transform: scale(1.03); }
.et17-gallery figcaption { padding: 11px 13px 14px; color: #544c4b; font-size: .81rem; line-height: 1.45; }
.et17-gallery figure.et17-gallery-tall { grid-row: span 2; }
.et17-gallery .et17-gallery-tall img { height: 570px; }
.et17-gallery figure.et17-gallery-wide { grid-column: span 2; }
.et17-gallery .et17-gallery-wide img { height: 275px; }
.etb-enseigniste-content .et17-text-link { display: inline-flex; gap: 10px; align-items: center; margin-top: 22px; color: #a72a36; font-weight: 770; font-size: .96rem; }

/* Catalogue de prestations avec liens internes lisibles. */
.et17-services { padding: clamp(25px, 3.6vw, 39px); border-radius: 26px; background: #fbf5f1; border: 1px solid #eee3dc; }
.et17-services .et17-section-heading { margin-bottom: 18px; }
.et17-services-list { display: grid; gap: 9px; }
.etb-enseigniste-content .et17-services-list > a { display: grid; grid-template-columns: 39px minmax(0, 1fr) 24px; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid #eadfda; border-radius: 14px; background: #fff; color: #30282a; text-decoration: none; }
.et17-services-list > a:hover { background: #fff9f7; border-color: #dda6a5; }
.et17-service-number { color: #b13b49; font-size: .78rem; font-weight: 840; }
.et17-services-list strong { display: block; color: #2b2527; font-size: 1.05rem; line-height: 1.3; }
.et17-services-list small { display: block; margin-top: 4px; color: #70666a; font-size: .85rem; line-height: 1.42; }
.et17-services-list > a > span:last-child { color: var(--et17-accent); text-align: right; font-size: 1.25rem; }
.et17-services-note { margin: 19px 2px 0; }
.et17-services-note p { margin: 0; font-size: .94rem; }

/* Chronologie des cinq étapes. */
.et17-timeline { padding: 8px 0 0; }
.et17-step { display: grid; grid-template-columns: 69px minmax(0, 1fr); gap: 19px; position: relative; padding: 0 0 32px; }
.et17-step:not(:last-child)::before { content: ""; position: absolute; top: 58px; bottom: 6px; left: 27px; width: 1px; background: #e1c9c4; }
.et17-step > span { display: flex; width: 56px; height: 56px; align-items: center; justify-content: center; border-radius: 18px; background: #f6e7e3; color: var(--et17-accent); font-size: 1.01rem; font-weight: 840; }
.et17-step h3 { margin: 3px 0 8px; }
.et17-step p { max-width: 620px; margin: 0; font-size: .97rem; }

/* Réflexion locale et préparation du devis. */
.et17-local { padding: clamp(27px, 4.1vw, 45px); border-radius: 27px; background: #f7f7f7; border: 1px solid #ece8e6; }
.et17-local-box { margin-top: 22px; padding: 22px 24px; border-left: 4px solid var(--et17-accent); border-radius: 0 14px 14px 0; background: #fff; }
.et17-local-box strong { display: block; margin-bottom: 6px; font-size: 1.03rem; }
.et17-local-box p { margin: 0; font-size: .94rem; }

/* Carrousel 5 photos : compatible Bootstrap présent dans le thème. */
.et17-carousel { overflow: hidden; padding: 15px; border: 1px solid #ece4e0; border-radius: 26px; background: #fbf6f3; }
.et17-carousel .carousel-inner { overflow: hidden; border-radius: 16px; }
.etb-enseigniste-content .et17-carousel figure { margin: 0; background: #fff; }
.et17-carousel img, .et17-carousel .etb-inline-photo img { display: block; width: 100%; height: clamp(280px, 38vw, 420px); max-height: none; object-fit: cover; border-radius: 0; }
.et17-carousel figcaption { min-height: 58px; margin: 0; padding: 13px 17px; color: #51494c; font-size: .9rem; }
.et17-carousel .carousel-control-prev, .et17-carousel .carousel-control-next { top: min(190px, 40%); bottom: auto; width: 46px; height: 46px; opacity: 1; border-radius: 50%; background: rgba(31,27,28,.86); }
.et17-carousel .carousel-control-prev { left: 22px; }
.et17-carousel .carousel-control-next { right: 22px; }
.et17-carousel .carousel-control-prev:hover, .et17-carousel .carousel-control-next:hover { background: #ad2c38; }
.et17-carousel .carousel-control-prev-icon, .et17-carousel .carousel-control-next-icon { width: 18px; height: 18px; }
.et17-carousel-bottom { display: flex; justify-content: space-between; gap: 12px; padding: 15px 7px 2px; color: #756e6c; font-size: .81rem; font-weight: 680; letter-spacing: .04em; }

/* Vidéo toujours administrable. */
.et17-video-block { padding: clamp(25px, 3.6vw, 38px); border-radius: 26px; color: #fff; background: #292326; }
.et17-video-block .et17-overline { color: #ffaaa3; }
.et17-video-block h2 { color: #fff; }
.et17-video-block p { color: #e4d8d8; }
.et17-video-frame { overflow: hidden; margin-top: 24px; border: 1px solid #493e40; border-radius: 17px; background: #0d0d0f; }

/* FAQ native accessible sur tous les appareils. */
.et17-faq-list { display: grid; gap: 10px; }
.et17-faq-list details { overflow: hidden; border: 1px solid #e9e0dd; border-radius: 15px; background: #fff; }
.et17-faq-list summary { position: relative; display: block; padding: 20px 53px 20px 22px; cursor: pointer; color: #2b2528; font-size: 1.02rem; font-weight: 720; line-height: 1.43; list-style: none; }
.et17-faq-list summary::-webkit-details-marker { display: none; }
.et17-faq-list summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); color: #bd303e; font-size: 1.65rem; font-weight: 450; }
.et17-faq-list details[open] summary { background: #fcf6f2; }
.et17-faq-list details[open] summary::after { content: "−"; }
.et17-faq-list details p { margin: 0; padding: 3px 22px 23px; font-size: .97rem; }

/* Invitation finale, éloignée des boutons supérieurs. */
.et17-final-cta { position: relative; isolation: isolate; overflow: hidden; padding: clamp(30px, 5vw, 52px); border-radius: 28px; background: #211c20; }
.et17-cta-glow { position: absolute; z-index: -1; width: 430px; height: 430px; right: -205px; bottom: -270px; border-radius: 50%; background: radial-gradient(circle, rgba(235,67,78,.52), rgba(235,67,78,0) 70%); }
.et17-final-cta > span { display: block; margin-bottom: 17px; color: #ffb1a9; font-size: .78rem; font-weight: 830; letter-spacing: .15em; }
.et17-final-cta h2 { max-width: 650px; color: #fff; font-size: clamp(2rem, 3.4vw, 3.05rem); }
.et17-final-cta p { max-width: 625px; color: #ece1df; }
.et17-cta-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.et17-cta-actions a.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 12px 23px; border-radius: 9px; font-size: 1rem; font-weight: 720; text-decoration: none; }
.et17-cta-actions .btn-danger { background: #cf3341; border-color: #cf3341; }
.et17-cta-actions .btn-danger:hover { background: #a92634; border-color: #a92634; }
.et17-cta-actions .btn-outline-light { color: #fff; border-color: #d0bbba; }
.et17-cta-actions .btn-outline-light:hover { color: #211c20; background: #fff; }

@media (max-width: 1199.98px) {
  .et17-split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 23px; }
  .et17-card img { height: 230px; }
}
@media (max-width: 991.98px) {
  .etb-enseigniste-hero .about_content { padding: 80px 0; }
  .et17-split { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
}
@media (max-width: 767.98px) {
  .etb-enseigniste-hero.lumi_hero_section { min-height: 340px; }
  .etb-enseigniste-hero.lumi_hero_section::before { background: linear-gradient(95deg, rgba(14,15,17,.92), rgba(14,15,17,.52)); }
  .etb-enseigniste-hero .about_content { padding: 75px 0 85px; }
  .etb-enseigniste-hero .about_heading { font-size: clamp(2.3rem, 7vw, 3.45rem); }
  .et17-section { margin-top: 67px; }
  .et17-intro-photo img { height: 315px; }
  .et17-expertise-grid { grid-template-columns: 1fr; }
  .et17-card img { height: 285px; }
  .et17-split { grid-template-columns: 1fr; }
  .et17-split-photo img { height: 370px; }
  .et17-gallery .et17-gallery-tall img { height: 390px; }
  .et17-gallery img { height: 215px; }
  .et17-gallery .et17-gallery-wide img { height: 240px; }
  .et17-carousel img, .et17-carousel .etb-inline-photo img { height: 290px; }
  .et17-carousel .carousel-control-prev, .et17-carousel .carousel-control-next { top: 132px; width: 40px; height: 40px; }
  .et17-carousel .carousel-control-prev { left: 23px; }
  .et17-carousel .carousel-control-next { right: 23px; }
  .et17-final-cta { padding: 31px 24px; }
}
@media (max-width: 479.98px) {
  .etb-enseigniste-hero .about_content { padding: 67px 0 78px; }
  .etb-enseigniste-hero .about_heading { font-size: 2.22rem; }
  .et17-hero-sub { font-size: .99rem; }
  .et17-intro-photo img { height: 245px; }
  .et17-manifesto { padding: 29px 25px; }
  .et17-card img { height: 245px; }
  .et17-gallery { gap: 10px; }
  .et17-gallery img { height: 185px; }
  .et17-gallery .et17-gallery-tall img { height: 355px; }
  .et17-gallery .et17-gallery-wide img { height: 205px; }
  .et17-gallery figcaption { padding: 10px; font-size: .75rem; }
  .et17-services { padding: 22px 15px; }
  .etb-enseigniste-content .et17-services-list > a { grid-template-columns: 29px minmax(0, 1fr) 20px; padding: 14px 12px; gap: 8px; }
  .et17-services-list strong { font-size: .96rem; }
  .et17-services-list small { font-size: .8rem; }
  .et17-step { grid-template-columns: 51px minmax(0, 1fr); gap: 14px; }
  .et17-step > span { width: 46px; height: 46px; border-radius: 13px; font-size: .92rem; }
  .et17-step:not(:last-child)::before { left: 22px; top: 48px; }
  .et17-local { padding: 25px 20px; }
  .et17-local-box { padding: 17px 16px; }
  .et17-carousel { padding: 9px; border-radius: 19px; }
  .et17-carousel img, .et17-carousel .etb-inline-photo img { height: 245px; }
  .et17-carousel .carousel-control-prev, .et17-carousel .carousel-control-next { top: 110px; }
  .et17-carousel .carousel-control-prev { left: 17px; }
  .et17-carousel .carousel-control-next { right: 17px; }
  .et17-video-block { padding: 24px 18px; }
  .et17-faq-list summary { padding: 18px 46px 18px 17px; font-size: .96rem; }
  .et17-faq-list details p { padding: 1px 17px 19px; }
  .et17-final-cta { padding: 30px 22px; }
  .et17-cta-actions a.btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .et17-card, .et17-card img, .et17-gallery img, .etb-enseigniste-content a { transition: none !important; }
}
