/* Hiérarchie commune, chargée après les habillages et leurs variantes mobiles.
   Les surtitres (.eyebrow, .d-tag, .tv-kicker) restent des repères secondaires. */
:root {
  --type-page:clamp(38px,4.3vw,62px);
  --type-section:clamp(30px,3.15vw,44px);
  --type-card:clamp(24px,2.05vw,28px);
  --type-subheading:20px;
}
body h1 {font-size:var(--type-page);line-height:1.1;}
body h2 {font-size:var(--type-section);line-height:1.18;}
body h3 {font-size:var(--type-card);line-height:1.25;}
body :is(h4,h5,h6) {font-size:var(--type-subheading);line-height:1.4;}
body :is(h1,h2,h3,h4,h5,h6) {text-wrap:pretty;overflow-wrap:break-word;}
body .hero h1 {font-size:clamp(38px,5.1vw,73px);line-height:1.06;}
body :is(.card,.catTitle,.step,.verbox,.tv-blog-grid,.r-card-head) h3,
body :is(.tv-page-card,.tv-article,.tv-support-side) h2,
body :is(.tv-page-card,.tv-booking-card,.tv-visit-main,.tv-thread-top) h3 {
  font-size:var(--type-card);line-height:1.25;
}
body .offerContent h3 {font-size:clamp(28px,2.6vw,36px);}
body .r-filter-head h2 {font-size:26px;}
body .r-toolbar h2 {font-size:clamp(28px,2.25vw,32px);line-height:1.25;}
body .r-filter-group>h3 {font-size:18px;line-height:1.4;}
body .tv-page-card h3 {font-size:24px;}
body .d-section h2 {font-size:var(--type-section);}
body #tv-offer-month-name {font-size:var(--type-card);line-height:1.25;}
body :is(#prestations,.d-journeys)>h3 {font-size:var(--type-card);}
body .d-linebox h3 {font-size:20px;line-height:1.4;}
body .d-payment-item h3 {font-size:21px;line-height:1.35;}
body .tv-global-footer h4 {font-size:17px;line-height:1.4;}
body .tv-footer-region-intro h3 {font-size:var(--type-card);}
body :is(.faqrow>summary,.tv-faq-list summary,.d-accord summary) {
  font-size:18px;line-height:1.5;font-weight:650;
}
@media(max-width:700px) {
  body .tv-page-title {font-size:var(--type-page);}
  body .r-filter-head h2 {font-size:24px;}
  body .d-linebox h3 {font-size:19px;}
}
/* Le tarif reste une donnée de la carte, sous le nom du lieu. */
body .r-price .r-reduced {font-size:24px;}
@media(max-width:570px){body .r-price .r-reduced{font-size:22px;}}
