/* Garage du Folgoët: design layer over the migrated Kadence/Elementor markup (loaded by src/lib/enhance.ts). */
:root{
 --g-yellow:#ffcd00;--g-yellow-deep:#b98f00;--g-ink:#111111;--g-text:#272726;--g-muted:#5c5c5a;--g-soft:#f9f7f7;--g-line:#e7e4e0;--g-radius:12px;
 --g-shadow:0 1px 2px rgba(17,17,17,.05),0 12px 30px -14px rgba(17,17,17,.22);
 --g-shadow-lg:0 2px 4px rgba(17,17,17,.06),0 28px 56px -24px rgba(17,17,17,.38);
 --g-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Typography ---------- */
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
p,li{text-wrap:pretty}
h1,h2,h3,h4,.elementor-heading-title{text-wrap:balance}
#inner-wrap .elementor-widget-text-editor{line-height:1.7}
#inner-wrap .elementor-widget-text-editor p:last-child{margin-bottom:0}
::selection{background:var(--g-yellow);color:#000}

/* Links on white were yellow on white (1.5:1): dark text with a yellow underline instead */
#inner-wrap .elementor-widget-text-editor a:not(.elementor-button),#inner-wrap .elementor-post__read-more,.prism-legal a{color:var(--g-ink)!important;text-decoration:underline;text-decoration-color:var(--g-yellow);text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .15s}
#inner-wrap .elementor-widget-text-editor a:not(.elementor-button):hover,#inner-wrap .elementor-post__read-more:hover,.prism-legal a:hover{text-decoration-color:var(--g-ink)}
#inner-wrap .elementor-widget-text-editor a b,#inner-wrap .elementor-widget-text-editor a strong{color:inherit!important}
#inner-wrap .elementor-post__read-more{font-weight:700;letter-spacing:.04em}
/* Dark sections keep light links */
.elementor-element-579b60d7 .elementor-widget-text-editor a:not(.elementor-button){color:#fff!important}

/* ---------- Header ---------- */
#masthead{box-shadow:0 1px 0 rgba(0,0,0,.06),0 8px 24px -18px rgba(0,0,0,.3)}
#mobile-header .brand>.site-description{display:none}
.header-button{display:inline-flex!important;align-items:center;gap:8px;font-weight:700;border-radius:8px;transition:background .2s,color .2s,transform .2s var(--g-ease)}
.header-button:hover,.header-button:focus-visible{background:var(--g-ink)!important;color:#fff!important;transform:translateY(-1px)}
#primary-menu>li>a{position:relative;text-decoration:none}
#primary-menu>li>a::after{content:"";position:absolute;left:.6em;right:.6em;bottom:2px;height:3px;border-radius:2px;background:var(--g-yellow);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
#primary-menu>li>a:hover::after,#primary-menu>li:focus-within>a::after{transform:scaleX(1)}
.header-navigation .header-menu-container ul ul.sub-menu{background:#fff;padding:8px;border-radius:10px;box-shadow:var(--g-shadow-lg),0 0 0 1px rgba(0,0,0,.05);min-width:270px}
.header-navigation .header-menu-container ul ul li.menu-item>a{width:auto;color:var(--g-text)!important;font-size:15px;padding:11px 14px;border:0;border-radius:6px;transition:background .15s,padding .15s}
.header-navigation .header-menu-container ul ul li.menu-item>a:hover,.header-navigation .header-menu-container ul ul li.menu-item>a:focus-visible{background:var(--g-soft);color:#000!important;padding-left:18px}
#mobile-menu .drawer-nav-drop-wrap>a{cursor:pointer;flex:1}

/* ---------- Buttons ---------- */
.elementor-button{font-weight:700!important;border-radius:8px!important;transition:background .2s,color .2s,transform .2s var(--g-ease),box-shadow .2s!important}
.elementor-button:hover,.elementor-button:focus-visible{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(0,0,0,.5)}
:focus-visible{outline:2px solid var(--g-ink);outline-offset:3px}
.elementor-element-579b60d7 :focus-visible,#colophon :focus-visible{outline-color:var(--g-yellow)}

/* ---------- Home ---------- */
/* Three promises under the hero as cards */
.elementor-element-36655bc4 .elementor-widget-icon-box>.elementor-widget-container{height:100%;background:#fff;border-radius:var(--g-radius);box-shadow:var(--g-shadow);padding:22px 22px!important;transition:transform .3s var(--g-ease),box-shadow .3s}
.elementor-element-36655bc4 .elementor-widget-icon-box:hover>.elementor-widget-container{transform:translateY(-4px);box-shadow:var(--g-shadow-lg)}
.elementor-element-36655bc4 .elementor-widget-icon-box .elementor-icon{transition:transform .3s var(--g-ease)}
.elementor-element-36655bc4 .elementor-widget-icon-box:hover .elementor-icon{transform:scale(1.12) rotate(-6deg)}
.elementor-element-36655bc4{margin-top:-28px;position:relative;z-index:2}
.elementor-element-432f405{display:none}
.elementor-element-63b6292b{padding-top:56px!important}

/* Vehicle cards (home and listing): framed photo, lift on hover */
.elementor-posts .elementor-post{border-radius:var(--g-radius);overflow:hidden;background:#fff;box-shadow:var(--g-shadow)!important;transition:transform .3s var(--g-ease),box-shadow .3s}
.elementor-posts .elementor-post:hover{transform:translateY(-6px);box-shadow:var(--g-shadow-lg)!important}
.elementor-posts .elementor-post__thumbnail{position:relative;padding-bottom:0!important;aspect-ratio:4/3;overflow:hidden;background:var(--g-soft)}
.elementor-posts .elementor-post__thumbnail img{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;max-width:none!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 40%;transform:none!important;transition:transform .6s var(--g-ease)!important}
.elementor-posts .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.05)!important}
.elementor-posts .elementor-post__title,.elementor-posts .elementor-post__title a{color:var(--g-ink)!important}
.elementor-posts .elementor-post__excerpt p{color:var(--g-muted)!important;line-height:1.55}

/* Service cards */
.elementor-element-456256fc .elementor-column>.elementor-widget-wrap,.elementor-element-456256fc .elementor-column>.elementor-column-wrap{transition:transform .3s var(--g-ease),box-shadow .3s}
.elementor-element-456256fc .elementor-widget-image{overflow:hidden}
.elementor-element-456256fc .elementor-widget-image img{transition:transform .6s var(--g-ease)}
.elementor-element-456256fc .elementor-column:hover .elementor-widget-image img{transform:scale(1.05)}

/* Service list: yellow markers */
.elementor-element-5cc4a29f .elementor-icon-list-icon i,.elementor-element-5cc4a29f .elementor-icon-list-icon svg{color:var(--g-yellow-deep)!important;fill:var(--g-yellow-deep)!important}
.elementor-element-5cc4a29f .elementor-icon-list-item{transition:transform .2s var(--g-ease)}
.elementor-element-5cc4a29f .elementor-icon-list-item:hover{transform:translateX(4px)}

/* Brand logos and quote */
.elementor-element-ccfd54f .elementor-widget-image img{transition:transform .3s var(--g-ease)}
.elementor-element-ccfd54f .elementor-column:hover .elementor-widget-image img{transform:scale(1.05)}
.elementor-element-fb735e2 .elementor-testimonial-wrapper{position:relative}
.elementor-element-821e597{display:none}

/* Call-to-action band: readable over the photo */
.elementor-element-579b60d7>.elementor-background-overlay{opacity:1!important;background:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.6))!important}

/* ---------- Inner pages ---------- */
#inner-wrap .elementor-widget-image img{border-radius:10px}
.elementor-widget-google_maps iframe{border-radius:var(--g-radius);box-shadow:var(--g-shadow)}
/* Forms */
#inner-wrap form input[type=text],#inner-wrap form input[type=email],#inner-wrap form input[type=tel],#inner-wrap form input[type=number],#inner-wrap form select,#inner-wrap form textarea{border:1.5px solid var(--g-line)!important;border-radius:8px!important;padding:12px 14px!important;font-size:16px!important;transition:border-color .15s,box-shadow .15s}
#inner-wrap form input:focus,#inner-wrap form select:focus,#inner-wrap form textarea:focus{border-color:var(--g-ink)!important;box-shadow:0 0 0 4px rgba(255,205,0,.45)!important;outline:none}
#inner-wrap form button[type=submit],#inner-wrap .ff-btn-submit{font-weight:700!important;border-radius:8px!important;padding:13px 28px!important;transition:background .2s,color .2s,transform .2s}
#inner-wrap form button[type=submit]:hover,#inner-wrap .ff-btn-submit:hover{background:var(--g-ink)!important;color:#fff!important;transform:translateY(-2px)}

/* Legal pages */
.prism-page-hero{margin:8px 20px 0;padding:72px 24px;border-radius:10px;background:var(--g-yellow)}
.prism-page-hero h1{max-width:1140px;margin:0 auto;font-size:clamp(32px,4.4vw,56px);line-height:1.1;color:#000}
.prism-legal{max-width:820px;margin:0 auto;padding:56px 24px 88px}
.prism-legal-section{padding:28px 0;border-bottom:1px solid var(--g-line)}
.prism-legal-section:first-child{padding-top:0}
.prism-legal-section h2{margin:0 0 14px;font-size:clamp(21px,2.3vw,26px);color:#000}
.prism-legal-section h2::before{content:"";display:inline-block;width:22px;height:4px;margin:0 12px 0 0;vertical-align:middle;border-radius:2px;background:var(--g-yellow)}
.prism-legal-section p,.prism-legal-section li{font-size:16.5px;line-height:1.75;color:var(--g-text)}
.prism-legal-section ul{padding-left:1.2em}
.prism-legal-section li{margin:.4em 0}
.prism-legal-updated{margin:24px 0 0;font-size:14px;color:var(--g-muted)}


/* Google Maps: click-to-load panel */
.prism-map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:320px;padding:32px 24px;background:var(--g-soft);border-radius:var(--g-radius);text-align:center;color:var(--g-ink)}
.elementor-widget-google_maps .prism-map-consent{background:#fff;box-shadow:var(--g-shadow)}
.prism-map-consent svg{color:var(--g-ink);background:var(--g-yellow);border-radius:50%;padding:12px;width:64px;height:64px}
.prism-map-consent p{margin:0;max-width:36ch;line-height:1.55;font-size:15px;color:var(--g-text)}
.prism-map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
.prism-map-actions button,.prism-map-actions a{display:inline-flex;align-items:center;min-height:46px;padding:12px 20px!important;border:0;border-radius:6px!important;font:inherit;font-weight:700;font-size:15px!important;line-height:1.2!important;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.prism-map-actions button{background:var(--g-yellow);color:#000}
.prism-map-actions button:hover,.prism-map-actions button:focus-visible{background:var(--g-ink);color:#fff}
.prism-map-actions a{background:transparent;color:var(--g-ink)!important;box-shadow:inset 0 0 0 2px var(--g-ink);text-decoration:none!important}
.prism-map-actions a:hover,.prism-map-actions a:focus-visible{background:var(--g-ink);color:#fff!important}
iframe[data-prism-map][hidden]{display:none!important}

/* ---------- Footer ---------- */
#colophon a{transition:color .15s}
#colophon .textwidget a:hover{color:var(--g-yellow)!important}
.prism-legal-links{display:inline-flex;gap:16px;margin-left:16px}
.prism-legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.prism-legal-links a:hover{color:var(--g-yellow)}

/* ---------- Motion ---------- */
html{scroll-behavior:smooth}
.prism-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s var(--g-ease)}
.prism-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.prism-reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- Mobile ---------- */
.prism-call{display:none}
@media (max-width:767px){
 .prism-call{display:flex;position:fixed;left:16px;bottom:16px;z-index:999;align-items:center;gap:8px;padding:13px 20px;background:var(--g-yellow);color:#000;font-weight:700;font-size:16px;text-decoration:none;border-radius:999px;box-shadow:0 8px 22px -6px rgba(0,0,0,.45)}
 .elementor-element-36655bc4{margin-top:16px}
 .elementor-element-36655bc4 .elementor-widget-icon-box>.elementor-widget-container{padding:18px!important}
 .prism-page-hero{margin:8px 8px 0;padding:48px 20px}
 .prism-legal{padding:36px 20px 64px}
 .prism-legal-links{display:flex;margin:10px 0 0;justify-content:center}
}
