.section{padding:120px 64px;}
.section--tight{padding:110px 64px 70px;}
.section--hero{padding:140px 64px 120px;position:relative;overflow:hidden;}
.section--deep{background:var(--bg-page-deep);}
.section--surface{background:var(--bg-surface);}
.section--glow{background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}
.container{max-width:var(--container-max);margin:0 auto;}
.stack{display:flex;flex-direction:column;gap:24px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.specialty-constat{background:#ffffff;}
.specialty-constat .grid-2{grid-template-columns:1fr 2fr;}
.specialty-constat .section-header__title{color:var(--text-display);white-space:nowrap;}
.specialty-constat[data-page="desinfection"] .section-header__title{white-space:normal;max-width:28ch;}
.specialty-constat .section-lede{color:var(--text-body-dim);}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

/* Hero (homepage + specialty pages) */
.hero{background-size:cover;background-position:center;text-align:center;}
.hero__inner{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px;position:relative;}
.pest-icons-row{
  max-width:960px;margin:48px auto 0;display:flex;justify-content:center;flex-wrap:wrap;gap:16px;position:relative;
}
.pest-icon-card{
  display:flex;flex-direction:column;align-items:center;gap:10px;width:130px;padding:20px 12px;
  background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;
  transition:all var(--duration-med) var(--ease-slow);
  position:relative;overflow:hidden;
}
.pest-icon-card:hover{transform:translateY(-4px);border-color:var(--gold-600);box-shadow:var(--shadow-card);}
.pest-icon-img{width:56px;height:56px;object-fit:contain;display:block;}
.pest-icon-card__label{
  font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:var(--tracking-wide);
  color:var(--brown-900);text-align:center;
}
.pest-icon-card__overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(43,30,5,0.88);color:var(--gold-300);font-family:var(--font-sans);
  font-size:12px;font-weight:600;letter-spacing:var(--tracking-wide);text-transform:uppercase;
  opacity:0;transition:opacity var(--duration-med) var(--ease-slow);
}
.pest-icon-card:hover .pest-icon-card__overlay{opacity:1;}
.hero__ornament{position:absolute;top:24px;height:90px;opacity:.8;}
.hero__ornament--left{left:24px;}
.hero__ornament--right{right:24px;transform:scaleX(-1);}
.hero__title{font-family:var(--font-display);font-weight:600;font-size:var(--text-hero);color:var(--gold-400);margin:0;line-height:var(--leading-tight);text-transform:capitalize;}
.hero__subtitle{font-family:var(--font-sans);font-weight:300;font-size:var(--text-body-lg);color:var(--cream-dim);max-width:560px;margin:0;}
.hero__lede{font-family:var(--font-sans);font-weight:300;font-size:14px;color:var(--cream-dim);max-width:620px;margin:0;line-height:var(--leading-relaxed);}
.hero-logo{height:220px;filter:drop-shadow(0 0 40px rgba(201,162,79,0.45));margin:12px 0;}
.hero__actions{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;}

.hero--split{background:var(--bg-page-deep);text-align:left;display:flex;align-items:center;padding-top:100px;}
.hero--split .hero__split{
  width:100%;max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;
  gap:64px;align-items:center;min-height:520px;
}
.hero--split .hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:28px;text-align:left;}
.hero--split .hero__actions{justify-content:flex-start;}
.hero__actions .btn{border-radius:var(--radius-pill);}

.hero--light{background-color:#F7F0E6;background-size:contain;background-position:right center;background-repeat:no-repeat;}
.hero--light .hero__title{color:var(--brown-900);}
.hero--light .hero__lede{color:var(--brown-700);}
.hero--light .btn--outline{border-color:var(--brown-800);color:var(--brown-800);}
.hero--light .btn--outline:hover{background:var(--brown-800);color:var(--cream);}

/* Reusable content patterns */
.check-list{display:flex;flex-direction:column;gap:14px;}
.check-list__item{display:flex;align-items:center;gap:14px;}
.check-list__item img{height:22px;width:22px;object-fit:contain;}
.check-list__item span{color:var(--text-body);font-size:14px;}

.section-lede{color:var(--text-body-dim);font-weight:300;line-height:var(--leading-normal);font-size:15px;margin:0;}
.section-lede--centered{margin:-24px auto 0;max-width:640px;text-align:center;}

.trust-points{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.trust-point{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;}
.trust-point__title{font-family:var(--font-display);color:var(--text-display);font-size:18px;margin:0;}
.trust-point__desc{color:var(--text-body-dim);font-size:13px;font-weight:300;margin:0;max-width:240px;}

.contact-cta{max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px;}
.contact-cta__title{font-family:var(--font-display);font-size:var(--text-h1);color:var(--text-display);margin:0;}
.contact-cta__form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:100%;margin-top:12px;}
.contact-cta__meta{display:flex;gap:32px;margin-top:16px;color:var(--text-body-dim);font-size:14px;flex-wrap:wrap;justify-content:center;}
.form-notice{font-family:var(--font-sans);font-size:14px;color:var(--gold-300);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:14px 20px;}
.form-notice--error{color:#e58f8f;}

.homepage-contact-section{background:var(--bg-page-deep);background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}
.homepage-contact-section .contact-cta__title{color:var(--cream-dim);}
.homepage-contact-section .btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-pill);}
.homepage-contact-section .btn--primary:hover{background:var(--btn-primary-bg-hover);}

.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--text-body-dim);font-size:12px;}
.breadcrumb a{color:var(--text-link);}
.breadcrumb__current{color:var(--gold-300);}

.protocol-step{
  display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--bg-surface);
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);
}
.protocol-step__number{font-family:var(--font-display);color:var(--gold-500);font-size:32px;opacity:.6;}
.protocol-step__title{font-family:var(--font-display);color:var(--text-display);font-size:18px;margin:0;}
.protocol-step__desc{color:var(--text-body-dim);font-size:13px;font-weight:300;margin:0;line-height:var(--leading-normal);}

.specialty-cta{max-width:560px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;}
.specialty-cta__title{font-family:var(--font-display);font-size:var(--text-h2);color:#ffffff;margin:0;}
.specialty-protocol-section .section-header__title{color:#ffffff;}
.specialty-cta__actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}

/* Même charte que .homepage-contact-section, adaptée à la CTA finale des pages spécialité */
.specialty-cta-section{background:var(--bg-page-deep);background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}
.specialty-cta-section .specialty-cta{max-width:720px;}
.specialty-cta-section .specialty-cta__title{color:var(--cream-dim);font-size:var(--text-h1);white-space:nowrap;}
.specialty-cta-section .section-lede{color:#ffffff;}
.specialty-cta-section .btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-radius:var(--radius-pill);}
.specialty-cta-section .btn--primary:hover{background:var(--btn-primary-bg-hover);}
.specialty-cta-section .btn--outline{border-radius:var(--radius-pill);}

/* FAQ accordion (native <details>/<summary>, no JS needed) */
.faq-section{background:#ffffff;}
.faq-section .section-header__title{color:var(--text-display);}
.faq-list{display:flex;flex-direction:column;gap:2px;}
.faq-item{border-bottom:1px solid var(--border-subtle);padding:20px 0;}
.faq-item__question{
  font-family:var(--font-display);color:var(--text-display);font-size:16px;font-weight:600;
  cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
  transition:color var(--duration-med) var(--ease-slow);
}
.faq-item__question::-webkit-details-marker{display:none;}
.faq-item__question::after{
  content:'+';font-family:var(--font-sans);font-size:20px;font-weight:300;color:var(--gold-500);
  flex:none;transition:transform var(--duration-med) var(--ease-slow);
}
.faq-item[open] .faq-item__question::after{transform:rotate(45deg);}
.faq-item:hover .faq-item__question{color:var(--gold-200);}
.faq-item__answer{color:var(--text-body-dim);font-weight:300;font-size:14px;line-height:var(--leading-relaxed);margin:14px 0 0;}

/* Tarifs page */
.tarifs-hero{background:#F5EDE5;background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}
.tarifs-hero .section-header__eyebrow{color:var(--brown-700);}
.tarifs-hero .hero__title{color:var(--brown-900);}
.tarifs-hero .hero__subtitle{color:var(--brown-700);}
.tarifs-hero .tarifs-tab{border-color:var(--brown-700);color:var(--brown-800);}
.tarifs-hero .breadcrumb a{color:var(--brown-700);}
.tarifs-hero .breadcrumb__current{color:var(--brown-900);}
.tarifs-formules-section{background:var(--bg-surface);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:64px;}
.tarifs-formules-section .tarifs-note{margin-top:0;}
.tarifs-desinsectisation-section{background:var(--bg-page-deep);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:64px;}
.tarifs-desinsectisation-section .tarifs-note{margin-top:0;}

/* Désinsectisation — couleurs des éléments internes */
.tarifs-desinsectisation-section .section-header__eyebrow{color:var(--text-body-dim);}
.tarifs-desinsectisation-section .section-header__title{color:var(--cream-dim);}
.tarifs-desinsectisation-section .section-header__rule{background:var(--gold-500);}
.tarifs-desinsectisation-section .tarifs-table-wrap{background:var(--bg-surface);border-color:var(--border-subtle);}
.tarifs-desinsectisation-section .tarifs-table th{color:var(--text-body-dim);border-color:var(--border-subtle);}
.tarifs-desinsectisation-section .tarifs-table td{color:var(--text-body);border-color:var(--border-subtle);}
.tarifs-desinsectisation-section .tarifs-table td.is-centered{color:var(--gold-600);}
.tarifs-desinsectisation-section .tarifs-note{color:var(--cream-dim);}
.tarifs-subheading{font-family:var(--font-display);font-size:20px;font-weight:600;margin:0;color:var(--cream-dim);}
.tarifs-desinsectisation-section .tarifs-subheading{color:var(--gold-300);}
.tarifs-table--unified .group-start td{padding-top:22px;}
.tarifs-table--unified .treatment-name{display:block;font-family:var(--font-display);color:var(--text-display);font-size:18px;font-weight:600;}

.tarifs-desinfection-section{background:var(--bg-surface);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:64px;}
.tarifs-desinfection-section .tarifs-note{margin-top:0;}

/* Désinfection — couleurs des éléments internes */
.tarifs-desinfection-section .section-header__eyebrow{color:var(--text-body-dim);}
.tarifs-desinfection-section .section-header__title{color:var(--text-display);}
.tarifs-desinfection-section .section-header__rule{background:var(--gold-500);}
.tarifs-desinfection-section .section-lede{color:var(--text-body-dim);}
.tarifs-desinfection-section .tarifs-table-wrap{background:#ffffff;border-color:var(--border-subtle);}
.tarifs-desinfection-section .tarifs-table th{color:var(--brown-700);border-color:var(--border-subtle);}
.tarifs-desinfection-section .tarifs-table td{color:var(--brown-900);border-color:var(--border-subtle);}
.tarifs-desinfection-section .tarifs-table td.is-centered{color:var(--gold-700);}
.tarifs-desinfection-section .tarifs-note{color:var(--text-body-dim);}
.tarifs-desinfection-section .badge--gold{color:var(--gold-300);border-color:var(--border-subtle);background:rgba(201,162,79,0.08);}
.tarifs-table--unified .treatment-desc{display:block;font-size:11px;color:var(--text-body-dim);font-weight:300;margin-top:2px;}

.tarifs-conditions-section{background:var(--cream-dim);width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:64px;}

/* Conditions Communes — couleurs des éléments internes */
.tarifs-conditions-section .section-header__eyebrow{color:var(--text-body-dim);}
.tarifs-conditions-section .section-header__title{color:var(--text-display);}
.tarifs-conditions-section .section-header__rule{background:var(--gold-500);}
.tarifs-conditions-section .tarifs-table-wrap{background:var(--bg-surface);border-color:var(--border-subtle);}
.tarifs-conditions-section .tarifs-table th{color:var(--text-body-dim);border-color:var(--border-subtle);}
.tarifs-conditions-section .tarifs-table td{color:var(--text-body);border-color:var(--border-subtle);}
.tarifs-conditions-section .tarifs-table td.is-centered{color:var(--gold-600);}
.tarifs-conditions-section .badge--gold{color:var(--gold-300);border-color:var(--border-subtle);background:rgba(201,162,79,0.08);}
.tarifs-conditions-section .btn--primary{border-radius:var(--radius-pill);}
.tarifs-conditions-note{font-size:13px;font-weight:300;}
.tarifs-conditions-section .tarifs-conditions-note{color:var(--text-body-dim);}
.tarifs-tabs{display:flex;justify-content:center;gap:16px;margin-top:40px;flex-wrap:wrap;}
.tarifs-tab{
  font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:var(--tracking-wider);
  text-transform:uppercase;padding:11px 28px;border-radius:var(--radius-pill);cursor:pointer;
  border:1px solid var(--gold-600);background:transparent;color:var(--gold-300);
  transition:all var(--duration-med) var(--ease-slow);
}
.tarifs-tab--active{border-color:transparent;background:var(--btn-primary-bg);color:var(--brown-950);}
.tarifs-panel{display:none;}
#tarifs-particulier{padding-top:0;}
#tarifs-particulier.tarifs-panel--active{display:flex;}
#tarifs-professionnel.tarifs-panel--active{display:block;}
#tarifs-professionnel{background:var(--cream-dim);}

.tarifs-table-wrap{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-card);}
.tarifs-table{width:100%;border-collapse:collapse;}
.tarifs-table th{font-family:var(--font-sans);font-size:12px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-body-dim);padding:18px 20px;text-align:left;border-bottom:1px solid var(--border-subtle);}
.tarifs-table th.is-centered{text-align:center;}
.tarifs-table td{padding:20px;border-bottom:1px solid var(--border-subtle);color:var(--text-body);font-size:15px;}
.tarifs-table td.is-centered{text-align:center;font-family:var(--font-display);color:var(--gold-300);font-size:17px;}

.pro-quote-badge{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;border:1px solid var(--gold-500);border-radius:var(--radius-pill);padding:10px 22px;}
.pro-quote-badge__price{font-family:var(--font-display);color:var(--gold-300);font-size:16px;letter-spacing:.04em;}
.pro-quote-badge__note{font-size:12px;color:var(--text-body-dim);}
.pro-form{background:#F7F0E6;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:40px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:20px;}
.pro-form .btn{border-radius:var(--radius-pill);justify-content:center;}
.pro-form .input-group__field{border-radius:var(--radius-md);}
.pro-form__title{font-family:var(--font-display);color:var(--text-display);font-size:20px;margin:0;}
.pro-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* Contact page */
.contact-hero{background:#F5EDE5;background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}

/* Contact — hero : couleurs des éléments internes */
.contact-hero .breadcrumb a{color:var(--brown-700);}
.contact-hero .breadcrumb__current{color:var(--brown-900);}
.contact-hero .section-header__eyebrow{color:var(--brown-700);}
.contact-hero .hero__title{color:var(--brown-900);}
.contact-hero .hero__subtitle{color:var(--brown-700);}

/* Contact — message de confirmation/erreur */
.contact-page-notice .form-notice{color:var(--gold-300);}
.contact-page-notice .form-notice--error{color:#e58f8f;}

/* Contact — formulaire : couleurs des éléments internes */
.contact-page-section .pro-form__title{color:var(--text-display);}
.contact-page-section .input-group__label{color:var(--text-body-dim);}
.contact-page-section .input-group__field{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-body);}
.contact-page-section .input-group__field:focus{border-color:var(--gold-500);}
.contact-page-section .btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);}
.contact-page-section .btn--primary:hover{background:var(--btn-primary-bg-hover);}

/* Contact — carte d'infos : couleurs des éléments internes */
.contact-page-section .contact-info-card__label{color:var(--text-body-dim);}
.contact-page-section .contact-info-card__value{color:var(--gold-300);}
.contact-page-section .contact-info-card__value--static{color:var(--text-body);}
.contact-page-section .badge--gold{color:var(--gold-300);border-color:var(--border-subtle);background:rgba(201,162,79,0.08);}
.contact-page-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start;}
.contact-info-card{
  display:flex;flex-direction:column;gap:24px;background:var(--bg-surface-raised);border:1px solid var(--border-subtle);
  border-radius:var(--radius-md);padding:40px;box-shadow:var(--shadow-card);
}
.contact-info-card__block{display:flex;flex-direction:column;gap:6px;color:#ffffff;}
.contact-info-card__label{font-family:var(--font-sans);font-size:11px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-body-dim);}
.contact-info-card__value{font-family:var(--font-display);color:var(--gold-300);font-size:17px;}
.contact-info-card__value--static{color:var(--text-body);font-family:var(--font-sans);font-weight:300;font-size:14px;line-height:var(--leading-normal);}
.contact-info-card__value:not(.contact-info-card__value--static):hover{color:var(--gold-200);}

.section-photo{width:100%;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card);}

.produit-section{background:#ffffff;}
.produit-section .btn{border-radius:var(--radius-pill);justify-content:center;}
.produit-section__image{width:100%;object-fit:contain;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:32px;}
.produit-section__label{font-family:var(--font-sans);font-size:11px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-body-dim);}
.produit-section__warning{font-family:var(--font-sans);font-size:13px;font-weight:300;color:var(--gold-400);border-left:2px solid var(--gold-600);padding-left:14px;margin:0;}
.specialty-constat .section-photo{object-fit:contain;height:auto!important;}

.expertise-carousel{display:flex;flex-direction:column;gap:20px;}
.expertise-carousel__track{
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;
  scrollbar-width:none;-ms-overflow-style:none;
}
.expertise-carousel__track::-webkit-scrollbar{display:none;}
.expertise-card{
  flex:1 1 0;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;
  height:460px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);overflow:hidden;
  transition:flex-grow var(--duration-slow) var(--ease-slow),border-color var(--duration-slow) var(--ease-slow),opacity var(--duration-slow) var(--ease-slow);
}
.expertise-card__image{height:260px;flex:none;background-image:url('../img/technicien-intervention.jpg');background-size:cover;background-position:center;}
.expertise-card--deratisation .expertise-card__image{background-image:url('../img/expertise-deratisation.jpg');}
.expertise-card--desinfection .expertise-card__image{background-image:url('../img/expertise-desinfection.jpg');}
.expertise-card__content{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:24px 28px;background:var(--cream);}
.expertise-carousel__track:hover .expertise-card{flex-grow:0.85;opacity:0.7;}
.expertise-carousel__track .expertise-card:hover{flex-grow:1.5;opacity:1;border-color:var(--gold-500);}
.expertise-card:hover{border-color:var(--gold-500);opacity:1;}
.expertise-card__title{font-family:var(--font-display);color:var(--brown-900);font-size:19px;margin:0;}
.expertise-card__desc{font-family:var(--font-sans);font-weight:300;font-size:13px;color:var(--brown-700);margin:0;line-height:var(--leading-normal);}
.expertise-card__link{font-family:var(--font-sans);font-size:12px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--brown-800);}

/* Nos Domaines — couleurs des textes, indépendantes du reste du site */
.nos-domaines-section .section-header__eyebrow{color:var(--text-body-dim);}
.nos-domaines-section .section-header__title{color:var(--cream-dim);}
.nos-domaines-section .section-header__rule{background:var(--gold-500);}
.nos-domaines-section .section-lede{color:var(--cream-dim);}
.nos-domaines-section .expertise-card__title{color:var(--brown-900);}
.nos-domaines-section .expertise-card__desc{color:var(--brown-700);}
.nos-domaines-section .expertise-card__link{color:var(--brown-800);}
.expertise-carousel__dots{display:flex;justify-content:center;gap:6px;}
.expertise-carousel__dot{width:20px;height:2px;background:var(--border-subtle);display:block;}
.expertise-carousel__dot--active{background:var(--gold-400);width:28px;}

.cgv-hero{background:#F5EDE5;background-image:radial-gradient(60% 50% at 50% 20%, rgba(201,162,79,0.1), transparent 70%);}
.cgv-hero .breadcrumb a{color:var(--brown-700);}
.cgv-hero .breadcrumb__current{color:var(--brown-900);}
.cgv-hero .hero__title{color:var(--brown-900);}
.cgv-hero .section-lede{color:var(--brown-700);}

.cgv-layout{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:flex-start;}
.cgv-toc{position:sticky;top:100px;display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 140px);overflow-y:auto;padding-right:8px;}
.cgv-toc__label{font-size:11px;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-body-dim);margin-bottom:10px;}
.cgv-toc__link{padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-link);border-left:2px solid transparent;transition:all var(--duration-med) var(--ease-slow);}
.cgv-toc__link:hover{color:var(--gold-200);background:var(--bg-surface);}
.cgv-article{display:flex;flex-direction:column;gap:14px;scroll-margin-top:100px;}
.cgv-article__title{font-family:var(--font-display);color:var(--gold-300);font-size:20px;margin:0;padding-bottom:12px;border-bottom:1px solid var(--gold-700);}
.cgv-article__body{color:var(--text-body);font-weight:300;font-size:15px;line-height:var(--leading-relaxed);margin:0;}

.cgv-articles-section{background:#ffffff;}
.cgv-articles-section .cgv-toc__label{color:var(--brown-700);}
.cgv-articles-section .cgv-toc__link{color:var(--brown-800);}
.cgv-articles-section .cgv-toc__link:hover{color:var(--brown-950);background:var(--cream-dim);}
.cgv-articles-section .cgv-article__title{color:var(--brown-900);}
.cgv-articles-section .cgv-article__body{color:var(--brown-800);}
.cgv-article__body--note{font-style:italic;font-size:13px;opacity:0.75;}

.tarifs-note{font-size:13px;color:var(--text-body-dim);font-weight:300;margin:-32px 0 0;max-width:720px;}

.tarifs-cards{align-items:center;gap:0;}
.tarifs-cards .tarifs-card{border-radius:0;}
.tarifs-cards .tarifs-card:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md);}
.tarifs-cards .tarifs-card:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);}
.tarifs-card{
  display:flex;flex-direction:column;gap:14px;padding:32px 28px;background:#fff7e8;
  border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);
  transition:transform var(--duration-slow) var(--ease-slow),border-color var(--duration-slow) var(--ease-slow);
}
.tarifs-card .btn{margin-top:auto;border-radius:var(--radius-pill);justify-content:center;}
.tarifs-card:hover{transform:translateY(-4px);border-color:var(--gold-600);}
.tarifs-card--recommended{background:var(--bg-surface-raised);border-color:var(--gold-500);margin:-16px 0;padding:44px 28px;box-shadow:0 28px 52px -18px rgba(0,0,0,0.75),0 1px 0 rgba(255,220,150,0.08) inset;position:relative;z-index:1;}
.tarifs-card__name{font-family:var(--font-display);font-size:var(--text-h3);margin:0;}
.tarifs-card__desc{font-family:var(--font-sans);font-weight:300;font-size:13px;line-height:var(--leading-normal);margin:0;min-height:52px;}
.tarifs-card__price{font-family:var(--font-display);font-size:32px;display:flex;flex-direction:column;gap:2px;}
.tarifs-card__price-note{font-family:var(--font-sans);font-size:11px;letter-spacing:var(--tracking-wide);text-transform:uppercase;}
.tarifs-card__tiers{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px;}
.tarifs-card__tiers li{display:flex;justify-content:space-between;font-size:13px;}
.tarifs-card__includes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;flex:1;}
.tarifs-card__includes li{position:relative;padding-left:16px;font-size:12px;font-weight:300;line-height:var(--leading-normal);}

/* Carte du milieu (recommandée) — couleurs de texte */
.tarifs-card--recommended .tarifs-card__name{color:var(--gold-400);}
.tarifs-card--recommended .tarifs-card__desc{color:var(--cream-dim);}
.tarifs-card--recommended .tarifs-card__price{color:var(--gold-300);}
.tarifs-card--recommended .tarifs-card__price-note{color:var(--gold-300);}
.tarifs-card--recommended .tarifs-card__tiers li{color:var(--gold-300);}
.tarifs-card--recommended .tarifs-card__tiers li span:last-child{color:var(--gold-300);font-family:var(--font-display);}
.tarifs-card--recommended .tarifs-card__includes li{color:var(--cream-dim);}
.tarifs-card--recommended .tarifs-card__includes li::before{content:'—';position:absolute;left:0;color:var(--gold-500);}

/* Cartes des extrémités (standard) — couleurs de texte */
.tarifs-card--standard .tarifs-card__name{color:var(--text-display);}
.tarifs-card--standard .tarifs-card__desc{color:var(--text-body-dim);}
.tarifs-card--standard .tarifs-card__price{color:var(--gold-300);}
.tarifs-card--standard .tarifs-card__price-note{color:var(--text-body-dim);}
.tarifs-card--standard .tarifs-card__tiers li{color:var(--text-body);}
.tarifs-card--standard .tarifs-card__tiers li span:last-child{color:var(--gold-300);font-family:var(--font-display);}
.tarifs-card--standard .tarifs-card__includes li{color:var(--text-body-dim);}
.tarifs-card--standard .tarifs-card__includes li::before{content:'—';position:absolute;left:0;color:var(--gold-500);}

/* Carte du milieu (recommandée) — couleur du bouton */
.tarifs-card--recommended .btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent;}
.tarifs-card--recommended .btn:hover{background:var(--btn-primary-bg-hover);}

/* Cartes des extrémités (standard) — couleur du bouton */
.tarifs-card--standard .btn{background:var(--text-display);color:var(--btn-outline-text);border-color:var(--text-display);}
.tarifs-card--standard .btn:hover{background:transparent;color:var(--brown-950);}
