/* ==========================================================================
   ll-components.css — composants La Lilloise des VTC (agent design)
   1. Palette : remplace l'or #caa64f, les gris et le #F6F6F6 d'AutoRide
   2. Texte : titres, paragraphes, listes, liens
   3. Boutons : .ll-btn et tous les boutons du thème / WPBakery / plugins
   4. Champs de formulaire
   5. Sections WPBakery : rythme vertical, alternance blanc / pierre
   6. Nettoyage des signes « gabarit » : eyebrows, capitales espacées,
      ombres, pilules, cartes à icône, filets, couleurs d'origine
   7. Bandeaux CTA (inc/ll-cta.php)
   Ne touche ni à l'en-tête ni au pied de page (ll-header.css / ll-footer.css).
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Palette — mêmes sélecteurs que multisite/1/style/style.css d'AutoRide,
      chargé avant ce fichier : à spécificité égale, ces règles gagnent.
   -------------------------------------------------------------------------- */

a,
a:hover,
.ui-selectmenu-button .ui-icon.ui-icon-triangle-1-s,
.widget_search .theme-icon-meta-search,
.widget_product_search .theme-icon-meta-search,
.wp-block-search .theme-icon-meta-search,
.woocommerce .star-rating,
.theme-component-blockquote>span,
.theme-component-call-to-action .theme-component-call-to-action-box .theme-component-call-to-action-icon,
.theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-value,
.theme-component-feature-carousel>ul>li>div>span>span,
.theme-component-feature-circle .theme-component-feature-circle-circle>span:first-child,
.theme-component-feature-circle .theme-component-feature-circle-circle .theme-component-feature-circle-item>span.theme-component-feature-circle-item-circle>span:before,
.theme-component-feature.theme-component-feature-style-1 .theme-component-feature-item>.theme-component-feature-item-icon,
.theme-component-feature.theme-component-feature-style-3 .theme-component-feature-item>.theme-component-feature-item-icon,
.theme-component-feature-image-list .theme-component-feature-image-list-item .theme-component-feature-image-list-item-content>h4,
.theme-component-feature-image-list .theme-component-feature-image-list-item .theme-component-feature-image-list-item-content>h4>a,
.theme-component-feature-image-list .theme-component-feature-image-list-item .theme-component-feature-image-list-item-content>h4>a:hover,
.theme-component-header-subheader .theme-component-header-subheader-subheader,
.theme-component-list.theme-component-list-style-1 ul li>span:first-child,
.theme-component-list.theme-component-list-style-2 ul li>span:first-child,
.theme-component-notice>.theme-component-notice-icon>span:before,
.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-hover a>span:first-child::before,
.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-active a>span:first-child::before,
.theme-component-testimonial-list.theme-component-testimonial-list-style-1 .theme-component-testimonial-list-item>span:before,
.theme-component-testimonial-list.theme-component-testimonial-list-style-2 .theme-component-testimonial-list-item>span:before,
.theme-post .theme-post-date,
.theme-post .theme-post-date>a,
#theme-full-screen-search-form>form>div>span,
#theme-full-screen-search-form #theme-full-screen-search-form-close-button:hover,
.theme-vehicle-list-search .ui-menu .ui-menu-item:hover,
.theme-text-color-1,
.theme-header-style-1
{
	color:var(--ll-gold-ink);
}

body,
select,
input,
html .woocommerce-MyAccount-navigation ul li>a,
html .woocommerce .button:hover,
html .woocommerce .button.alt:hover,
html .woocommerce .button.alt.disabled:hover,
html .woocommerce .button:disabled[disabled],
html .woocommerce .button:disabled[disabled]:hover,
html .woocommerce #respond input#submit,
html .woocommerce #respond input#submit:hover,
html .woocommerce ul.products li.product .woocommerce-LoopProduct-link span.price,
html .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link span.price,
html .woocommerce ul.products li.product .woocommerce-LoopProduct-link span.price>*,
html .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link span.price>*,
html .woocommerce div.product div.summary .price,
html .woocommerce div.product div.summary .price>*,
html .woocommerce-grouped-product-list-item__price,
html .woocommerce-grouped-product-list-item__price>*,
html .woocommerce nav.woocommerce-pagination ul li a,
html .woocommerce nav.woocommerce-pagination ul li span,
input.theme-component-button.theme-component-button-style-1:hover,
input.theme-component-button.theme-component-button-style-3,
.theme-menu.theme-menu-responsive .theme-menu-responsive-button,
.widget_nav_menu ul li>a,
.theme-gutenberg-block .wp-block-file .wp-block-file__button:hover,
.theme-component-button.theme-component-button-style-1>a:hover,
.theme-component-button.theme-component-button-style-3>a,
.theme-component-list.theme-component-list-style-3 ul li>span:first-child,
.theme-component-meta-icon-list.theme-component-meta-icon-list-style-2>li,
.theme-component-meta-icon-list.theme-component-meta-icon-list-style-2>li a,
.theme-component-meta-icon-list.theme-component-meta-icon-list-style-2>li a:hover,
.theme-component-meta-icon-list.theme-component-meta-icon-list-style-3>li a:hover,
.theme-component-social-profile.theme-component-social-profile-style-1>li>a:hover,
.theme-component-social-profile.theme-component-social-profile-style-2>li>a:hover,
.theme-component-social-profile.theme-component-social-profile-style-1>li>a:hover,
.theme-component-counter-list .theme-component-counter-list-item>span,
.theme-component-tab.ui-tabs .ui-tabs-nav li a,
.theme-component-tab.ui-tabs .ui-tabs-nav li a:hover,
.theme-component-work-experience-list>ul>li>div:first-child+div>span:first-child+span,
.theme-menu.theme-menu-default>ul>li>a,
.theme-menu.theme-menu-default>ul>li>a:hover,
.theme-menu-responsive-list li>a,
.theme-menu-responsive-list li>a:hover,
.theme-pagination a,
.theme-text-copyright,
.theme-text-copyright a,
.theme-text-copyright a:hover,
.theme-text-color-2
{
	color:var(--ll-ink);
}

h1,
h1 a,
h1 a:hover,
h2,
h2 a,
h2 a:hover,
h3,
h3 a,
h3 a:hover,
h4,
h4 a,
h4 a:hover,
h5,
h5 a,
h5 a:hover,
h6,
h6 a,
h6 a:hover,
html .woocommerce ul.products li.product .woocommerce-LoopProduct-link h3,
html .woocommerce-page ul.products li.product .woocommerce-LoopProduct-link h3,
tml .woocommerce nav.woocommerce-pagination ul li a:focus,
html .woocommerce nav.woocommerce-pagination ul li a:hover,
html .woocommerce nav.woocommerce-pagination ul li span.current,
html .woocommerce select,
html .woocommerce textarea,
html .woocommerce input[type="tel"],
html .woocommerce input[type="text"],
html .woocommerce input[type="email"],
html .woocommerce input[type="search"],
html .woocommerce input[type="password"],
html .woocommerce .woocommerce-product-attributes tr>td,
.theme-component-attribute-table>ul>li>div:first-child+div,
.ui-selectmenu-button .ui-selectmenu-text,
.widget_recent_entries>ul>li>a,
ul.wp-block-latest-posts.wp-block-latest-posts__list>li a,
.widget_recent_comments>ul>li>a,
ol.wp-block-latest-comments>li .wp-block-latest-comments__comment-link,
.widget_rss>ul>li>a,
.widget_rss>ul>li>a:hover,
.wp-block-rss>li.wp-block-rss__item>.wp-block-rss__item-title>a,
.wp-block-rss>li.wp-block-rss__item>.wp-block-rss__item-title>a:hover,
.widget_products>ul.product_list_widget>li>a,
.widget_products>ul.product_list_widget>li>a,
.widget_recent_reviews>ul.product_list_widget>li>a,
.widget_recent_reviews>ul.product_list_widget>li>a,
.widget_top_rated_products>ul.product_list_widget>li>a,
.widget_top_rated_products>ul.product_list_widget>li>a,
.widget_recently_viewed_products>ul.product_list_widget>li>a,
.widget_recently_viewed_products>ul.product_list_widget>li>a,
.widget_search input[type="text"],
.widget_product_search input[type="search"],
.wp-block-search input[type="search"],
.theme-component-feature.theme-component-feature-style-2 .theme-component-feature-item>p,
.theme-component-feature-circle .theme-component-feature-circle-item>span.theme-component-feature-circle-item-label,
.theme-component-work-experience-list>ul>li>div:first-child>span:first-child,
.theme-form-field select,
.theme-form-field textarea,
.theme-form-field input[type="tel"],
.theme-form-field input[type="text"],
.theme-form-field input[type="email"],
.theme-form-field input[type="search"],
.theme-form-field input[type="password"],
.theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-text>h1,
#theme-full-screen-search-form>form>div>input[type="text"],
.theme-pagination>.current,
.theme-pagination>*:hover,
.theme-text-color-8
{
	color:var(--ll-ink);
}

.theme-text-color-10
{
	color:var(--ll-grey);
}

html .woocommerce .button,
html .woocommerce .button.alt,
html .woocommerce .button.alt.disabled,
html .woocommerce .button:disabled[disabled],
html .woocommerce #respond input#submit,
.theme-gutenberg-block .wp-block-file .wp-block-file__button,
input.theme-component-button.theme-component-button-style-1,
input.theme-component-button.theme-component-button-style-2:hover,
input.theme-component-button.theme-component-button-style-3,
.slick-dots>li.slick-active>button,
.theme-component-button.theme-component-button-style-1>a,
.theme-component-button.theme-component-button-style-2>a:hover,
.theme-component-button.theme-component-button-style-3>a,
.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-hover,
.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-active,
.theme-width-480.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-hover,
.theme-width-300.theme-component-tab.ui-tabs .ui-tabs-nav li.ui-state-active,
.widget_tag_cloud .tagcloud a:hover,
.widget_product_tag_cloud .tagcloud a:hover,
.wp-block-tag-cloud a:hover,
.theme-border-color-1
{
	border-color:var(--ll-gold);
}

.theme-qtip,
.theme-border-color-2
{
	border-color:var(--ll-black);
}

.theme-component-button.theme-component-button-style-4>a,
.theme-component-button.theme-component-button-style-4>a:hover,
.theme-border-color-3
{
	border-color:var(--ll-line);
}

.slick-dots>li>button,
.theme-border-color-6
{
	border-color:var(--ll-line);
}

.theme-border-color-7
{
	border-color:var(--ll-line);
}

.theme-border-color-8
{
	border-color:var(--ll-black);
}

html .select2-container--default .select2-selection--single,
html .select2-container--open .select2-dropdown--above,
html .select2-container--open .select2-dropdown--below,
html .select2-container--default .select2-search--dropdown .select2-search__field,
select,
textarea,
input[type="tel"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
select,
html .woocommerce div.quantity .input-text,
table,
table td,
table th,
.wp-block-table td,
.wp-block-table th,
html .woocommerce table.shop_table,
html .woocommerce table.shop_table td,
html .woocommerce table.shop_table th,
html .woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,
html .woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child,
html .woocommerce address,
html .woocommerce .woocommerce-customer-details address,
html #add_payment_method table.cart td.actions .coupon .input-text,
html .woocommerce-cart table.cart td.actions .coupon .input-text,
html .woocommerce-checkout table.cart td.actions .coupon .input-text,
html .woocommerce .widget_rating_filter ul>li.wc-layered-nav-rating,
html .woocommerce .woocommerce-widget-layered-nav ul>li.woocommerce-widget-layered-nav-list__item,
html .woocommerce #review_form #respond #commentform>p,
html .woocommerce #review_form #respond #commentform>div,
html .chbs-wc-order-view .chbs-wc-order-view-section>div,
input.theme-component-button.theme-component-button-style-2,
#theme-full-screen-search-form>form>div>input[type="text"],
.widget_rss>ul>li,
.wp-block-rss>li.wp-block-rss__item,
.widget_meta ul>li a,
.widget_pages ul>li a,
.widget_recent_entries>ul>li,
ul.wp-block-latest-posts.wp-block-latest-posts__list>li,
.widget_recent_comments>ul>li,
ol.wp-block-latest-comments>li,
.widget_archive ul>li a,
.wp-block-archives li a,
.widget_categories ul>li a,
.widget_product_categories ul>li a,
.widget_tag_cloud .tagcloud a,
.wp-block-tag-cloud a,
.widget_product_tag_cloud .tagcloud a,
.widget_products>ul.product_list_widget>li,
.widget_recent_reviews>ul.product_list_widget>li,
.widget_top_rated_products>ul.product_list_widget>li,
.widget_recently_viewed_products>ul.product_list_widget>li,
.widget_calendar>.calendar_wrap>table th,
.widget_calendar>.calendar_wrap>table td,
.wp-block-calendar table th,
.wp-block-calendar table td,
.widget_search form,
.widget_product_search form,
.wp-block-search,
.theme-menu.theme-menu-responsive .theme-menu-responsive-button,
.theme-component-call-to-action.theme-component-call-to-action-style-2 .theme-component-call-to-action-box,
.theme-component-button.theme-component-button-style-2>a,
.theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-circle-1,
.theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-circle-2,
.theme-component-counter-box .vc_row .vc_column_container+.vc_column_container,
.theme-component-feature-carousel>ul>li>div>span,
.theme-component-feature-circle .theme-component-feature-circle-circle,
.theme-component-feature-circle .theme-component-feature-circle-circle .theme-component-feature-circle-item,
.theme-component-feature-circle .theme-component-feature-circle-circle .theme-component-feature-circle-item>span.theme-component-feature-circle-item-circle>span,
.theme-component-list.theme-component-list-style-2 ul li>span:first-child,
.theme-component-tab.ui-tabs .ui-tabs-nav li a>span:first-child,
.theme-width-480.theme-component-tab.ui-tabs .ui-tabs-nav li,
.theme-width-300.theme-component-tab.ui-tabs .ui-tabs-nav li,
.theme-column-style-6,
.theme-form-field,
.theme-page-header-bottom-style-1,
.theme-page-header-bottom-style-2,
.theme-post-navigation>a,
.theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-meta,
.theme-vehicle-list .theme-vehicle-list-item .theme-vehicle-list-item-meta .theme-circle,
.theme-vehicle-list .theme-vehicle-list-search .chbs-form-field,
.theme-menu-responsive-list a,
.theme-vehicle-list-search .ui-selectmenu-menu,
.theme-vehicle-list-search .ui-menu .ui-menu-item,
.theme-border-color-9
{
	border-color:var(--ll-line);
}

html .woocommerce .woocommerce-product-attributes tr>td,
html .woocommerce .woocommerce-product-attributes tr>th,
.theme-component-attribute-table>ul>li>div,
.theme-component-work-experience-list>ul>li>div:first-child+div,
.theme-border-color-11
{
	border-color:var(--ll-line);
}

.theme-border-color-12
{
	border-color:var(--ll-line);
}

mark,
html .woocommerce .button,
html .woocommerce .button.alt,
html .woocommerce .button.alt.disabled,
html .woocommerce .button:disabled[disabled],
html .woocommerce #respond input#submit,
.theme-gutenberg-block .wp-block-file .wp-block-file__button,
input.theme-component-button.theme-component-button-style-1,
input.theme-component-button.theme-component-button-style-2:hover,
input.theme-component-button.theme-component-button-style-3:hover,
html .woocommerce-MyAccount-navigation ul li>a:hover,
html .woocommerce-MyAccount-navigation ul li.is-active>a,
html .woocommerce span.onsale,
html .woocommerce ul.products li.product .onsale,
html .woocommerce div.quantity .plus:hover,
html .woocommerce div.quantity .minus:hover,
.widget_nav_menu ul li>a:hover,
.widget_nav_menu ul li.current-menu-item>a,
.widget_nav_menu ul li.current_page_item>a,
.theme-component-button.theme-component-button-style-1>a,
.theme-component-button.theme-component-button-style-2>a:hover,
.theme-component-button.theme-component-button-style-3>a:hover,
.theme-component-counter-list .theme-component-counter-list-item>div>div,
.theme-image-style-1 .vc_single_image-wrapper::after,
.theme-menu.theme-menu-default>ul>li>a>span:last-child,
.theme-menu.theme-menu-default>ul>li:hover>a>span:last-child,
.theme-menu.theme-menu-default>ul>li.sfHover>a>span:last-child,
.theme-widget .theme-widget-header>span,
.widget_tag_cloud .tagcloud a:hover,
.widget_product_tag_cloud .tagcloud a:hover,
.wp-block-tag-cloud a:hover,
.theme-background-color-1
{
	background-color:var(--ll-gold);
}

.theme-qtip,
.theme-component-google-map.theme-component-google-map-type-1 .theme-component-google-map-map-box,
.theme-component-google-map.theme-component-google-map-type-2 .theme-component-google-map-map-box,
.theme-component-process-list .theme-component-process-list-item.theme-component-process-list-item-even,
.theme-component-button.theme-component-button-style-4>a,
.theme-background-color-2
{
	background-color:var(--ll-black);
}

.widget_nav_menu ul li>a,
html .woocommerce div.quantity .plus,
html .woocommerce div.quantity .minus,
html .woocommerce-MyAccount-navigation ul li>a,
.theme-blog.theme-blog-classic>ul>li.theme-post.sticky,
.page-template.page-template-blog-column-2 .theme-blog.theme-blog-column .theme-post .theme-post-layout-right,
.theme-component-call-to-action.theme-component-call-to-action-style-1 .theme-component-call-to-action-box,
.theme-component-driver-list.theme-component-driver-list-style-2 .theme-component-driver-list-item,
.theme-component-testimonial-list.theme-component-testimonial-list-style-1 .theme-component-testimonial-list-item,
.theme-component-testimonial-list.theme-component-testimonial-list-style-2 .theme-component-testimonial-list-item,
.theme-component-work-experience-list>ul>li,
.theme-page .theme-page-header .theme-page-header-top,
.theme-page-header-bottom-style-2,
.theme-post-related .theme-post .theme-post-layout-right,
.theme-background-color-7
{
	background-color:var(--ll-stone);
}

.theme-background-color-8
{
	background-color:var(--ll-black);
}

#comments #comments_list>ul>li .theme-comment-divider,
input.theme-component-button.theme-component-button-style-2,
html .woocommerce nav.woocommerce-pagination ul li a:focus,
html .woocommerce nav.woocommerce-pagination ul li a:hover,
html .woocommerce nav.woocommerce-pagination ul li span.current,
html .woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content,
.theme-menu.theme-menu-responsive .theme-menu-responsive-button:hover,
.theme-component-call-to-action.theme-component-call-to-action-style-2 .theme-component-call-to-action-box .theme-component-call-to-action-icon>span,
.theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-tick,
.theme-component-counter-list .theme-component-counter-list-item>div,
.theme-component-button.theme-component-button-style-2>a,
.theme-component-feature-circle  .theme-component-feature-circle-circle:first-child,
.theme-component-feature.theme-component-feature-style-1 .theme-component-feature-item>.theme-component-feature-item-icon>span,
.theme-component-feature.theme-component-feature-style-3 .theme-component-feature-item>.theme-component-feature-item-icon>span,
.theme-component-notice,
.theme-component-social-profile.theme-component-social-profile-style-2>li>a,
.theme-component-work-experience-list>ul>li>div:first-child>span:first-child+span,
.theme-page .theme-page-footer .theme-page-footer-top,
.theme-page .theme-page-footer .theme-page-footer-middle,
.theme-pagination>.current,
.theme-pagination>*:hover,
.theme-post-gallery .slick-prev,
.theme-post-gallery .slick-next,
.theme-post .theme-post-divider,
.theme-menu-responsive-list ul>li>a,
.theme-background-color-9
{
	background-color:var(--ll-stone);
}

.theme-background-color-11
{
	background-color:var(--ll-line);
}

.theme-background-color-12
{
	background-color:var(--ll-stone);
}

/* --------------------------------------------------------------------------
   2. Texte
   -------------------------------------------------------------------------- */

body h1, body h1 a,
body h2, body h2 a,
body h3, body h3 a,
body h4, body h4 a,
body h5, body h5 a,
body h6, body h6 a {
	color: var(--ll-ink);
	font-weight: 400;
	text-transform: none;
	letter-spacing: var(--ll-tracking-head);
	text-wrap: balance;
}

body h1, body h1 a,
.theme-page .theme-page-header .theme-page-header-title.theme-page-header-title-type-text > h1 {
	font-size: var(--ll-step-display);
	line-height: var(--ll-leading-display);
	letter-spacing: var(--ll-tracking-display);
}
body h2, body h2 a,
body .theme-component-header-subheader h2.theme-component-header-subheader-header {
	font-size: var(--ll-step-head);
	line-height: var(--ll-leading-head);
	font-weight: 400;
	letter-spacing: var(--ll-tracking-head);
}
/* Titres H2 longs placés dans une demi-colonne à côté d'une photo */
body .vc_col-sm-6 h2,
body .vc_col-sm-6 .theme-component-header-subheader h2.theme-component-header-subheader-header {
	font-size: clamp(1.5rem, 1rem + 0.85vw, 1.75rem);
	line-height: 1.12;
}
body h3, body h3 a {
	font-size: var(--ll-step-lead);
	line-height: 1.2;
	font-weight: 500;
}
body h4, body h5, body h6 { font-weight: 500; }
body h4, body h4 a,
body h5, body h5 a,
body h6, body h6 a {
	font-size: var(--ll-step-body);
	line-height: 1.35;
	letter-spacing: 0;
}

body p,
body li,
body .wpb_text_column {
	font-size: var(--ll-step-body);
	line-height: var(--ll-leading-body);
	font-weight: 400;
	color: inherit;
}
body strong, body b { font-weight: 600; }

body .theme-page-content p,
body .theme-page-content li { color: var(--ll-ink); }

body .theme-page-content .wpb_text_column p,
body .theme-page-content .wpb_text_column li { max-width: var(--ll-measure); }
body .theme-page-content .aligncenter .wpb_text_column p,
body .theme-page-content .wpb_text_column p[style*="center"] { margin-inline: auto; }

/* Liens dans le texte : or foncé lisible, souligné */
body .theme-page-content .wpb_text_column a,
body .theme-page-content p a:not(.ll-btn) {
	color: var(--ll-gold-ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color .2s var(--ll-ease);
}
body .theme-page-content .wpb_text_column a:hover,
body .theme-page-content p a:not(.ll-btn):hover { color: var(--ll-ink); }

/* Grand paragraphe du thème : taille « lead » */
body .theme-component-paragraph-large,
body p.theme-component-paragraph-large {
	font-size: var(--ll-step-lead);
	line-height: 1.4;
	font-weight: 400;
	color: var(--ll-ink);
}

/* Listes du thème : coche or simple, sans cercle */
body .theme-component-list ul li {
	font-size: var(--ll-step-body);
	color: var(--ll-ink);
	border: 0;
}
body .theme-component-list ul li > span:first-child {
	border: 0 !important;
	background: none !important;
	border-radius: 0 !important;
	color: var(--ll-gold) !important;
	box-shadow: none !important;
}

/* Le texte de corps ne descend jamais sous 14px */
body small,
body .theme-page-content [style*="font-size: 12px"],
body .theme-page-content [style*="font-size:12px"],
body .theme-page-content [style*="font-size: 11px"] {
	font-size: var(--ll-step-small) !important;
}

/* --------------------------------------------------------------------------
   3. Boutons — carrés, or plein / texte noir ; survol noir / texte blanc
   -------------------------------------------------------------------------- */

.ll-btn,
body .theme-component-button > a,
body input.theme-component-button,
body .vc_btn3,
body a.vc_btn3,
body .vc_general.vc_btn3,
body .wp-block-button__link,
body .wpcf7 input[type="submit"],
body .wpcf7-submit,
body .ff-btn-submit,
body .fluentform .ff-btn,
body #theme-go-to-top {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 48px;
	padding: 13px 26px;
	border: 2px solid var(--ll-gold);
	border-radius: var(--ll-radius) !important;
	background: var(--ll-gold);
	background-image: none !important;
	color: var(--ll-black) !important;
	font-family: var(--ll-font);
	font-size: 1rem !important;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	text-align: center;
	box-shadow: none !important;
	text-shadow: none !important;
	cursor: pointer;
	transition: background-color .2s var(--ll-ease), color .2s var(--ll-ease), border-color .2s var(--ll-ease), transform .2s var(--ll-ease);
	-webkit-appearance: none;
	appearance: none;
}

.ll-btn:hover,
.ll-btn:focus-visible,
body .theme-component-button > a:hover,
body .theme-component-button > a:focus-visible,
body input.theme-component-button:hover,
body .vc_btn3:hover,
body .vc_btn3:focus-visible,
body .wp-block-button__link:hover,
body .wpcf7 input[type="submit"]:hover,
body .wpcf7-submit:hover,
body .ff-btn-submit:hover,
body .fluentform .ff-btn:hover,
body #theme-go-to-top:hover {
	background: var(--ll-black);
	border-color: var(--ll-black);
	color: var(--ll-white) !important;
}

.ll-btn:active,
body .theme-component-button > a:active,
body .vc_btn3:active { transform: translateY(1px); }

/* Secondaire : contour noir */
.ll-btn--secondary,
body .theme-component-button.theme-component-button-style-3 > a,
body .theme-component-button.theme-component-button-style-2 > a,
body .vc_btn3.vc_btn3-style-outline,
body .vc_btn3.vc_btn3-style-outline-custom {
	background: transparent;
	border-color: var(--ll-black);
	color: var(--ll-black) !important;
}
.ll-btn--secondary:hover,
.ll-btn--secondary:focus-visible,
body .theme-component-button.theme-component-button-style-3 > a:hover,
body .theme-component-button.theme-component-button-style-2 > a:hover,
body .vc_btn3.vc_btn3-style-outline:hover {
	background: var(--ll-black);
	border-color: var(--ll-black);
	color: var(--ll-white) !important;
}

.ll-btn--primary {
	background: var(--ll-gold);
	border-color: var(--ll-gold);
	color: var(--ll-black) !important;
}

/* Sur fond noir : primaire or, survol blanc ; secondaire contour or */
.ll-btn--on-dark,
.ll-btn--on-dark.ll-btn--primary {
	background: var(--ll-gold);
	border-color: var(--ll-gold);
	color: var(--ll-black) !important;
}
.ll-btn--on-dark:hover,
.ll-btn--on-dark:focus-visible {
	background: var(--ll-white);
	border-color: var(--ll-white);
	color: var(--ll-black) !important;
}
.ll-btn--on-dark.ll-btn--secondary {
	background: transparent;
	border-color: var(--ll-gold);
	color: var(--ll-gold-light) !important;
}
.ll-btn--on-dark.ll-btn--secondary:hover,
.ll-btn--on-dark.ll-btn--secondary:focus-visible {
	background: var(--ll-gold);
	border-color: var(--ll-gold);
	color: var(--ll-black) !important;
}

.ll-btn:focus-visible { outline: 2px solid var(--ll-gold-light); outline-offset: 3px; }

/* Bouton « retour en haut » du thème : petit carré noir, flèche or */
body #theme-go-to-top {
	min-height: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	background: var(--ll-black);
	border-color: var(--ll-black);
	color: var(--ll-gold-light) !important;
}

/* Paire de boutons */
.ll-cta-pair {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

/* --------------------------------------------------------------------------
   4. Champs de formulaire (filets autorisés : ce sont de vrais champs)
   -------------------------------------------------------------------------- */

body .theme-page-content input[type="text"],
body .theme-page-content input[type="email"],
body .theme-page-content input[type="tel"],
body .theme-page-content input[type="number"],
body .theme-page-content input[type="search"],
body .theme-page-content input[type="date"],
body .theme-page-content select,
body .theme-page-content textarea {
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #CFC8B8;
	border-radius: var(--ll-radius);
	background: var(--ll-white);
	color: var(--ll-ink);
	font-size: 1rem;
	font-weight: 400;
	box-shadow: none;
	transition: border-color .2s var(--ll-ease);
}
body .theme-page-content textarea { min-height: 140px; }
body .theme-page-content input:focus,
body .theme-page-content select:focus,
body .theme-page-content textarea:focus {
	border-color: var(--ll-gold) !important;
	outline: 2px solid var(--ll-gold);
	outline-offset: 0;
}
body .theme-page-content ::placeholder { color: var(--ll-grey); opacity: 1; }

body .theme-form-field label,
body .wpcf7 label {
	font-size: var(--ll-step-small);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--ll-ink) !important;
}

/* Contact Form 7 : le CSS additionnel du site lui donne arrondi + ombre */
body .wpcf7 form {
	background: var(--ll-stone);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(20px, 4vw, 40px);
}

/* Formulaire de réservation de l'ancien thème (Chauffeur Booking) : sans ombre ni orange */
body .chbs-main .chbs-box-shadow,
body .chbs-box-shadow,
body .chbs-main .chbs-tab {
	box-shadow: none !important;
}
body .chbs-main .chbs-form-field.chbs-form-field-width-50 { border-top-color: #EAECEE !important; }
body .chbs-main .chbs-form-field > label {
	font-size: 13px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-weight: 500 !important;
}
body .chbs-main .chbs-button {
	border-radius: var(--ll-radius) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* --------------------------------------------------------------------------
   5. Sections WPBakery
   -------------------------------------------------------------------------- */

/* Fond gris clair d'origine (#F6F6F6) → pierre */
body .theme-background-color-7,
body .vc_row.theme-background-color-7,
body .wpb_column.theme-background-color-7 > .vc_column-inner {
	background-color: var(--ll-stone) !important;
}

/* Rythme : les sections pleine largeur colorées respirent */
body .theme-page-content .wpb-content-wrapper > .vc_row.theme-background-color-7:not(.vc_row-no-padding) {
	padding-top: var(--ll-section);
	padding-bottom: var(--ll-section);
}

/* Colonnes « moitié texte » à côté d'une photo : marges intérieures régulières */
body .theme-column-style-1 > .vc_column-inner,
body .vc_row-o-equal-height .theme-background-color-7 > .vc_column-inner {
	padding: clamp(48px, 6vw, 112px) clamp(20px, 4.4vw, 64px) !important;
}

/* Tablette : les paires texte / photo s'empilent, la photo garde une hauteur */
@media (min-width: 768px) and (max-width: 959px) {
	body .theme-page-content .vc_row-o-equal-height > .vc_col-sm-6 {
		width: 100%;
		float: none;
	}
	body .theme-page-content .vc_row-o-equal-height > .vc_col-sm-6.vc_col-has-fill > .vc_column-inner {
		min-height: 56vw;
	}
}

/* Bords de l'écran : jamais de texte collé (tablette et téléphone) */
@media (max-width: 1239px) {
	body .theme-page-content .theme-main {
		width: auto !important;
		max-width: 100%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: var(--ll-gutter);
		padding-right: var(--ll-gutter);
		box-sizing: border-box;
	}
	body .theme-page-content .vc_row[data-vc-stretch-content="true"] .wpb_wrapper > .theme-component-header-subheader,
	body .theme-page-content .vc_row[data-vc-stretch-content="true"] .wpb_wrapper > .wpb_text_column {
		padding-left: var(--ll-gutter);
		padding-right: var(--ll-gutter);
	}
}

/* Photos : coins carrés partout */
body .theme-page-content img,
body .vc_single_image-wrapper,
body .vc_single_image-img,
body .vc_box_border_grey {
	border-radius: 0 !important;
}
body .vc_single_image-wrapper.vc_box_border_grey {
	border: 0 !important;
	padding: 0 !important;
	background: none !important;
}

/* --------------------------------------------------------------------------
   6. Nettoyage des signes « gabarit »
   -------------------------------------------------------------------------- */

/* 6a. Eyebrows : le sur-titre AutoRide passe SOUS le titre, à taille de texte,
       sans capitales forcées ni espacement — le texte reste, il devient la phrase
       d'appui du titre. */
body .theme-component-header-subheader {
	display: flex;
	flex-direction: column-reverse;
	gap: 14px;
	margin-bottom: clamp(32px, 4vw, 56px);
}
body .theme-component-header-subheader.aligncenter { align-items: center; text-align: center; }
body .theme-component-header-subheader.alignleft,
body .theme-component-header-subheader:not(.aligncenter) { align-items: flex-start; }
body .theme-component-header-subheader .theme-component-header-subheader-subheader {
	font-size: var(--ll-step-body) !important;
	line-height: 1.4;
	font-weight: 400;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ll-grey) !important;
	max-width: 52ch;
}
body .theme-component-header-subheader .theme-component-header-subheader-subheader + .theme-component-header-subheader-header {
	margin-top: 0;
}
body .theme-component-header-subheader .theme-component-header-subheader-header { max-width: 46ch; }

/* Dans une demi-colonne (texte à côté d'une photo), tout s'aligne à gauche */
body .vc_col-sm-6 .theme-component-header-subheader.aligncenter {
	align-items: flex-start;
	text-align: left !important;
}
body .vc_col-sm-6 .theme-component-button.aligncenter { text-align: left !important; }
@media (max-width: 767px) {
	/* Téléphone : les boutons flottants (téléphone, WhatsApp, e-mail) mordent moins sur le texte */
	body .socializer.sr-followbar.sr-48px > span > a { width: 40px !important; height: 40px !important; line-height: 40px !important; }
}

/* WPBakery « custom heading » vide de démo (« This is custom heading element ») */
body .vc_custom_heading:empty { display: none; }

/* 6b. Petits libellés en capitales espacées → casse normale, taille lisible */
body .theme-component-feature .theme-component-feature-item > .theme-component-feature-item-header,
body .theme-component-testimonial-list .theme-component-testimonial-list-item > div,
body .theme-component-counter-list .theme-component-counter-list-item > span,
body .theme-component-blockquote > div,
body .theme-component-gallery li a > span > span:last-child {
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body .theme-component-feature .theme-component-feature-item > .theme-component-feature-item-header {
	font-size: var(--ll-step-lead);
	font-weight: 500;
	color: var(--ll-ink);
	line-height: 1.25;
	margin-bottom: 8px;
}

/* 6c. Cartes à icône : l'icône décorative part, le texte reste */
body .theme-component-feature .theme-component-feature-item > .theme-component-feature-item-icon,
body .theme-component-call-to-action .theme-component-call-to-action-icon,
body .theme-component-process-list .theme-component-process-list-item > span[class*="theme-icon"] {
	display: none !important;
}
body .theme-component-feature .theme-component-feature-item {
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: none !important;
	text-align: left;
}
body .theme-component-feature .theme-component-feature-item p { color: var(--ll-ink); }

/* 6d. Compteurs : sans cercles ni coche, gros chiffre noir, libellé dessous */
body .theme-component-counter-box .theme-component-counter-box-item {
	border: 0 !important;
	background: none !important;
	height: auto !important;
	width: auto !important;
	padding: 0 !important;
	text-align: left;
}
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-circle-1,
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-circle-2,
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-tick {
	display: none !important;
}
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-value,
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-label {
	position: static !important;
	transform: none !important;
	display: block;
	width: auto !important;
	margin: 0 !important;
	text-align: left;
}
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-value {
	font-size: var(--ll-step-display) !important;
	line-height: 1 !important;
	font-weight: 400 !important;
	letter-spacing: var(--ll-tracking-display);
	color: var(--ll-ink) !important;
	font-variant-numeric: tabular-nums;
}
body .theme-component-counter-box .theme-component-counter-box-item .theme-component-counter-box-item-label {
	font-size: var(--ll-step-body) !important;
	color: var(--ll-grey) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	margin-top: 8px !important;
}
body .theme-component-counter-box .vc_column_container,
body .theme-component-counter-box .wpb_column {
	border: 0 !important;
}
body .theme-component-counter-box .vc_column_container::before,
body .theme-component-counter-box .vc_column_container::after,
body .theme-component-counter-box .wpb_column::before,
body .theme-component-counter-box .wpb_column::after { display: none !important; }

/* 6e. Filets décoratifs */
body .theme-image-style-1 .vc_single_image-wrapper::after,
body .theme-component-gallery li a > span > span:first-child,
body .theme-component-gallery li a > i {
	display: none !important;
}
body .theme-page-content .vc_row[class*="vc_custom_"],
body .theme-page-content .vc_column-inner[class*="vc_custom_"] {
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
}
body .theme-page-content hr,
body .theme-page-content .vc_separator {
	display: none;
}

/* Galerie : légendes lisibles sur un voile neutre, coins carrés */
body .theme-component-gallery li a > span > span:last-child {
	font-size: var(--ll-step-lead) !important;
	font-weight: 500 !important;
	line-height: 1.2;
	color: var(--ll-white) !important;
}

/* 6f. Ombres et coins en pilule sur ce qui ne flotte pas */
body .theme-page-content *:not(.ui-menu):not(.ui-datepicker):not(.ui-selectmenu-menu):not(.chbs-qtip):not(.qtip) {
	box-shadow: none;
}
body .indrevdiv,
body .wprevpro_t1_DIV_2,
body .wprev_preview_bradius_T1,
body .w3_wprs-col,
body .theme-component-call-to-action .theme-component-call-to-action-box {
	box-shadow: none !important;
	border-radius: 0 !important;
}
body .theme-page-content .theme-component-tab.ui-tabs .ui-tabs-nav li,
body .theme-page-content .theme-component-tab.ui-tabs .ui-tabs-nav li a,
body .theme-pagination > *,
body .slick-dots > li > button {
	border-radius: var(--ll-radius) !important;
}

/* Contours 1px sur des blocs → surface pierre (cartes d'avis, encadrés) */
body .theme-component-call-to-action.theme-component-call-to-action-style-2 .theme-component-call-to-action-box,
body .theme-page-content .vc_column-inner[style*="border"],
body .wprevpro_t1_DIV_2 {
	border: 0 !important;
}

/* 6g. Avis Google (WP Google Review Slider) : surface pierre, sans avatar rond */
body .wprevpro_t1_DIV_2,
body .wprev_preview_bg1_T1 {
	background: var(--ll-stone) !important;
	color: var(--ll-ink) !important;
}
body .wprevpro_t1_DIV_2::after,
body .wprevpro_t1_DIV_2::before { display: none !important; }
body .wprevpro_t1_P_3,
body .wprev_preview_tcolor1_T1 { color: var(--ll-ink) !important; font-size: 15px !important; line-height: 1.45 !important; font-style: normal !important; }
body .wprevpro_t1_SPAN_5 { text-transform: none !important; letter-spacing: 0 !important; }
body .wprevpro_t1_SPAN_5,
body .wprev_preview_tcolor2_T1 { color: var(--ll-grey) !important; font-size: var(--ll-step-small) !important; }
body .wprevpro_t1_SPAN_5 span { font-size: var(--ll-step-small) !important; }
body .wprevpro_t1_A_8 { display: none !important; }       /* avatars Google (ronds, souvent cassés) */
body .wprevpro_t1_SPAN_5 { padding-left: 0 !important; margin-left: 0 !important; }
body .svg-wprsp-star { background-color: var(--ll-gold) !important; }
body .wprs_rd_more,
body .wprev_preview_tcolor3_T1 { color: var(--ll-gold-ink) !important; }

/* 6h. Bandeau « call to action » du thème (image + boîte) : boîte noire franche */
body .theme-component-call-to-action .theme-component-call-to-action-box {
	background: var(--ll-black) !important;
	color: var(--ll-white);
	text-align: left;
	padding: clamp(32px, 5vw, 72px) !important;
	max-width: 760px;
}
body .theme-component-call-to-action .theme-component-call-to-action-header {
	color: var(--ll-white) !important;
	font-size: var(--ll-step-lead) !important;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
body .theme-component-call-to-action .theme-component-call-to-action-subheader {
	color: rgba(255, 255, 255, .86) !important;
}
body .theme-component-call-to-action .theme-component-button > a:hover {
	background: var(--ll-white);
	border-color: var(--ll-white);
	color: var(--ll-black) !important;
}

/* 6i. Boutons flottants téléphone / WhatsApp / e-mail (WP Socializer) :
       bleu et vert d'origine → carrés noirs, icône or clair */
body .socializer.sr-followbar > span > a,
body .socializer.sr-followbar .sr-phone a,
body .socializer.sr-followbar .sr-whatsapp a,
body .socializer.sr-followbar .sr-email a {
	background: var(--ll-black) !important;
	color: var(--ll-gold-light) !important;
	border-radius: var(--ll-radius) !important;
	box-shadow: none !important;
}
body .socializer.sr-followbar > span > a:hover { background: var(--ll-gold) !important; color: var(--ll-black) !important; }
body .wpsr-fb-close { border-radius: var(--ll-radius) !important; background: var(--ll-black) !important; }

/* 6j. Couleurs d'origine restantes (orange du slider, bleu du focus CF7) */
body .wpcf7 input:focus,
body .wpcf7 textarea:focus,
body .wpcf7 select:focus { border-color: var(--ll-gold) !important; }
body mark { background: var(--ll-gold-light); color: var(--ll-black); }

/* --------------------------------------------------------------------------
   7. Bandeaux CTA insérés dans le contenu (inc/ll-cta.php)
   -------------------------------------------------------------------------- */

.ll-cta-band {
	position: relative;
	left: 50%;
	width: 100vw;
	margin-left: -50vw;
	margin-top: clamp(40px, 5vw, 96px);
	margin-bottom: clamp(40px, 5vw, 96px);
	background: var(--ll-black);
	color: var(--ll-white);
	clear: both;
}
.ll-cta-band__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 88px) var(--ll-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	box-sizing: border-box;
}
body .ll-cta-band .ll-cta-band__text {
	margin: 0;
	max-width: 26ch;
	color: var(--ll-white);
	font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem);
	line-height: var(--ll-leading-head);
	letter-spacing: var(--ll-tracking-head);
	font-weight: 400;
	text-wrap: balance;
}
@media (max-width: 767px) {
	.ll-cta-band__inner { flex-direction: column; align-items: flex-start; }
	.ll-cta-band .ll-cta-pair { width: 100%; }
	.ll-cta-band .ll-cta-pair .ll-btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
	.ll-btn, body .theme-component-button > a { transition: none; }
}

/* Compteurs : deux par ligne sur tablette et téléphone (au lieu d'une longue pile) */
@media (max-width: 959px) {
	body .theme-component-counter-box > .vc_row > .wpb_column {
		width: 50% !important;
		float: left !important;
		margin-bottom: 32px !important;
	}
	body .theme-component-counter-box > .vc_row { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; }
	body .theme-component-counter-box > .vc_row > .wpb_column { flex: 0 0 50% !important; }
	body .theme-component-counter-box > .vc_row::before,
	body .theme-component-counter-box > .vc_row::after { display: none !important; }
}
