/* Flor & Déco: design layer over the migrated Kadence/Elementor markup (loaded by src/lib/enhance.ts). */
:root{
 --f-green:#00802f;--f-green-deep:#00602a;--f-ink:#0c3b1b;--f-yellow:#dedc00;--f-cream:#fffbe3;--f-text:#262836;--f-muted:#4d5562;--f-line:#dfe6d6;--f-radius:14px;
 --f-shadow:0 1px 2px rgba(12,59,27,.06),0 14px 30px -16px rgba(12,59,27,.28);
 --f-shadow-lg:0 2px 4px rgba(12,59,27,.08),0 28px 50px -24px rgba(12,59,27,.42);
 --f-ease:cubic-bezier(.2,.7,.2,1);
}
/* The brand green was a shade too light for white text on it (4.3:1): a slightly deeper tone passes WCAG AA everywhere. */
:root,body.prism-enhanced,body.prism-enhanced.elementor-kit-10{--global-palette1:#00802f;--e-global-color-kadence1:#00802f;--global-palette-highlight:#00802f}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.prism-enhanced{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.prism-enhanced h1,.prism-enhanced h2,.prism-enhanced h3{text-wrap:balance}
.prism-enhanced #inner-wrap p{text-wrap:pretty}
.prism-enhanced ::selection{background:var(--f-yellow);color:var(--f-ink)}

/* Keyboard focus was switched off by the theme. */
.prism-enhanced a:focus-visible,.prism-enhanced button:focus-visible,.prism-enhanced [role=button]:focus-visible,.prism-enhanced input:focus-visible,.prism-enhanced textarea:focus-visible,.prism-enhanced .elementor-tab-title:focus-visible{outline:3px solid var(--f-ink)!important;outline-offset:2px;box-shadow:0 0 0 6px var(--f-yellow)!important;border-radius:4px}

/* ---------- Header ---------- */
.elementor-location-header .elementor-nav-menu--main .elementor-item{transition:color .2s}
/* Current page and hover were yellow text on white (1.5:1): keep the yellow underline, write in deep green. */
.prism-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.prism-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.prism-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted,
.prism-enhanced .elementor-location-header .elementor-nav-menu--main .elementor-item:focus{color:var(--f-green-deep)!important;fill:var(--f-green-deep)!important}
.prism-enhanced .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.prism-enhanced .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover{color:var(--f-green-deep)!important;background:var(--f-cream)!important}
.elementor-location-header .elementor-sticky--effects{box-shadow:0 6px 20px -12px rgba(12,59,27,.35)}
.elementor-location-header .elementor-widget-theme-site-logo img{transition:transform .3s var(--f-ease)}
.elementor-location-header .elementor-widget-theme-site-logo a:hover img{transform:scale(1.04)}

/* ---------- Buttons ---------- */
.prism-enhanced .elementor-button,.prism-enhanced .ff-btn-submit{transition:background-color .2s,color .2s,transform .2s var(--f-ease),box-shadow .2s!important}
.prism-enhanced #inner-wrap .elementor-button:hover,.prism-enhanced .elementor-location-header .elementor-button:hover,.prism-enhanced .ff-btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(12,59,27,.55)}
.prism-enhanced .elementor-button:active,.prism-enhanced .ff-btn-submit:active{transform:none}
/* Yellow shortcut buttons on the services page: green text on yellow was 3:1. */
.prism-page-prestations-entretien-jardin-tours-fondettes .elementor-element-0ee71ae .elementor-button,
.prism-page-prestations-entretien-jardin-tours-fondettes .elementor-element-f918057 .elementor-button,
.prism-page-prestations-entretien-jardin-tours-fondettes .elementor-element-5474000 .elementor-button,
.prism-page-prestations-entretien-jardin-tours-fondettes .elementor-element-f4eb4b8 .elementor-button,
.prism-page-prestations-entretien-jardin-tours-fondettes .elementor-element-dfbc3b1 .elementor-button{color:var(--f-ink)!important;fill:var(--f-ink)!important}
.prism-enhanced #inner-wrap .elementor-icon-list-item>a{transition:color .2s,transform .2s var(--f-ease)}
.prism-enhanced #inner-wrap .elementor-icon-list-item>a:hover{transform:translateX(3px)}

/* ---------- Content ---------- */
.prism-enhanced #inner-wrap .elementor-widget-text-editor a:not(.elementor-button){color:var(--f-green-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prism-enhanced #inner-wrap .elementor-widget-text-editor a:not(.elementor-button):hover{color:var(--f-ink);text-decoration-thickness:2px}
.prism-enhanced #inner-wrap .elementor-widget-image img{transition:transform .5s var(--f-ease),box-shadow .3s}
.prism-enhanced #inner-wrap .elementor-widget-image a:hover img{transform:scale(1.02)}
.prism-enhanced .elementor-toggle .elementor-tab-title{cursor:pointer}
.prism-enhanced .elementor-toggle .elementor-tab-title:hover .elementor-toggle-title{text-decoration:underline;text-underline-offset:3px}
/* Home hero tagline: yellow on the photo was hard to read on phones. */
@media (max-width:767px){
 .prism-page-accueil .elementor-element-dd8ae06{background:rgba(12,59,27,.72);border-radius:10px;padding:10px 14px;text-shadow:none}
 .prism-page-accueil .elementor-element-dd8ae06 p{margin:0}
}

/* ---------- Project listing ---------- */
.prism-enhanced .elementor-posts .elementor-post{transition:transform .3s var(--f-ease),box-shadow .3s;border-radius:var(--f-radius)}
.prism-enhanced .elementor-posts .elementor-post:hover,.prism-enhanced .elementor-posts .elementor-post:focus-within{transform:translateY(-5px);box-shadow:var(--f-shadow-lg)}
.prism-enhanced .elementor-posts .elementor-post__thumbnail{overflow:hidden;border-radius:10px}
.prism-enhanced .elementor-posts .elementor-post__thumbnail img{transition:transform .6s var(--f-ease)}
.prism-enhanced .elementor-posts .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.05)}
.prism-enhanced .elementor-posts .elementor-post-date{color:var(--f-muted)!important}
.prism-enhanced .elementor-posts .elementor-post__excerpt p{color:#3d4450!important}
.prism-enhanced .elementor-posts .elementor-post__read-more,.prism-enhanced .elementor-posts .elementor-post__title a{color:var(--f-green-deep)!important}
.prism-enhanced .elementor-posts .elementor-post__read-more:hover{text-decoration:underline;text-underline-offset:3px}
.prism-page-category-realisations .elementor-element-aacf603 .elementor-heading-title{color:var(--f-green-deep)}
.prism-page-contact-paysagiste-tours-fondettes .elementor-element-12a37d7 .elementor-heading-title{color:var(--f-green-deep)}
.prism-enhanced .elementor-element-9d7cae8 .elementor-icon-list-text,.prism-enhanced .elementor-element-e973008 .elementor-heading-title{color:var(--f-green-deep)!important}

/* ---------- Project pages ---------- */
.prism-project #inner-wrap .elementor-widget-theme-post-content h2.elementor-heading-title{font-family:Bitter,serif;font-weight:600;color:var(--f-green)!important;line-height:1.25}
.prism-project #inner-wrap .elementor-widget-theme-post-content .elementor-widget-image img{border-radius:var(--f-radius);box-shadow:var(--f-shadow)}
.prism-project img.prism-zoom{cursor:zoom-in}
.prism-project img.prism-zoom:hover{transform:scale(1.015);box-shadow:var(--f-shadow-lg)}
.prism-project .elementor-post-navigation{gap:16px}
.prism-project .elementor-post-navigation a{transition:color .2s}
.prism-project .elementor-post-navigation a:hover .post-navigation__prev--title,.prism-project .elementor-post-navigation a:hover .post-navigation__next--title{text-decoration:underline;text-underline-offset:3px}

/* Click-to-load video panel. */
.prism-video{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:16/9;width:100%;margin:0 auto;padding:24px;border-radius:var(--f-radius);background:linear-gradient(160deg,var(--f-green) 0%,var(--f-ink) 100%);color:#fff;text-align:center;overflow:hidden;box-shadow:var(--f-shadow)}
.prism-video.is-short{aspect-ratio:9/16;max-width:300px}
.prism-video.is-loaded{padding:0;background:#000}
.prism-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.prism-video button{display:grid;place-items:center;width:72px;height:72px;border:0;border-radius:50%;background:var(--f-yellow);color:var(--f-ink);cursor:pointer;transition:transform .25s var(--f-ease),background .2s;padding:0 0 0 4px}
.prism-video button:hover{transform:scale(1.08);background:#fff}
.prism-video p{margin:0;font-size:14px;line-height:1.5;max-width:26ch;color:#fff}
.prism-video p strong{display:block;font-family:Bitter,serif;font-size:19px;margin-bottom:4px}
.prism-video a{color:#fff!important;font-size:14px;text-decoration:underline;text-underline-offset:3px}

/* Photo viewer. */
.prism-lb{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:56px 16px 24px;background:rgba(6,24,12,.93);animation:prism-fade .25s ease}
.prism-lb[hidden]{display:none}
.prism-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%}
.prism-lb img{max-width:min(1200px,100%);max-height:calc(100vh - 140px);width:auto;height:auto;border-radius:8px;box-shadow:0 30px 60px -20px #000;object-fit:contain}
.prism-lb figcaption{color:#fff;font-size:15px;text-align:center}
.prism-lb button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:background .2s;padding:0 0 4px}
.prism-lb button:hover{background:var(--f-yellow);color:var(--f-ink)}
.prism-lb-close{top:12px;right:12px}
.prism-lb-prev{left:12px;top:50%;margin-top:-24px}
.prism-lb-next{right:12px;top:50%;margin-top:-24px}
html.prism-lb-open{overflow:hidden}
@keyframes prism-fade{from{opacity:0}to{opacity:1}}

/* ---------- Contact ---------- */
.prism-enhanced .frm-fluent-form .ff-el-form-control{border:1px solid #c9d3bd!important;border-radius:8px!important;background:#fff!important;color:var(--f-text)!important;transition:border-color .2s,box-shadow .2s}
.prism-enhanced .frm-fluent-form .ff-el-form-control::placeholder{color:#5d6470;opacity:1}
.prism-enhanced .frm-fluent-form .ff-el-form-control:hover{border-color:var(--f-green)!important}
.prism-enhanced .frm-fluent-form .ff-el-form-control:focus{border-color:var(--f-green)!important;box-shadow:0 0 0 3px rgba(0,128,47,.22)!important;outline:0!important}
.prism-enhanced .frm-fluent-form .ff-el-form-check-input{width:18px;height:18px;accent-color:var(--f-green)}
.prism-enhanced .frm-fluent-form .ff-btn-submit{cursor:pointer}
.prism-form-notice{margin-top:14px;padding:14px 16px;border-radius:8px;font-size:15px;line-height:1.5}
.prism-form-notice:empty{display:none}
.prism-form-notice.ff-message-success{background:#e7f4ea;color:var(--f-ink);border:1px solid #b9dcc2}
.prism-form-notice.ff-message-errors{background:#fdecea;color:#8a1c12;border:1px solid #f3c2bc}
.prism-map-consent{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:320px;padding:32px 24px;background:var(--f-cream);border-radius:var(--f-radius);text-align:center;color:var(--f-text);box-shadow:var(--f-shadow)}
.prism-map-consent svg{color:#fff;background:var(--f-green);border-radius:50%;padding:12px;width:64px;height:64px}
.prism-map-consent p{margin:0;max-width:38ch;line-height:1.55;font-size:15px;color:var(--f-text)}
.prism-map-consent p strong{font-family:Bitter,serif;font-size:17px}
.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:8px!important;font:inherit;font-weight:700;font-size:15px!important;line-height:1.2!important;text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s}
.prism-map-actions button{background:var(--f-green);color:#fff}
.prism-map-actions button:hover{background:var(--f-ink)}
.prism-map-actions a{background:transparent;color:var(--f-ink)!important;box-shadow:inset 0 0 0 2px var(--f-green)}
.prism-map-actions a:hover{background:var(--f-green);color:#fff!important}
iframe[data-prism-map][hidden]{display:none!important}
iframe[data-prism-map]{width:100%;min-height:360px;border:0;border-radius:var(--f-radius)}

/* ---------- Reviews ---------- */
.prism-enhanced .wp-gr .grw-header .rpi-stars{color:#a04a00!important}
.prism-enhanced .wp-gr .wp-google-powered,.prism-enhanced .wp-gr .wp-google-based,.prism-enhanced .wp-gr .wp-google-time{color:#4d5562!important}
.prism-enhanced .wp-gr .grw-review-inner{transition:transform .3s var(--f-ease),box-shadow .3s}
.prism-enhanced .wp-gr .grw-review-inner:hover{transform:translateY(-3px);box-shadow:var(--f-shadow)}

/* ---------- Legal pages and "page not found" ---------- */
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor{max-width:820px;margin:0 auto;font-size:16px;line-height:1.7;color:var(--f-text)}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor h2,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor h2{font-family:Bitter,serif;font-size:24px;line-height:1.3;font-weight:600;text-transform:none;letter-spacing:0;color:var(--f-green);margin:36px 0 12px;padding-top:22px;border-top:1px solid var(--f-line);scroll-margin-top:110px}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor h2:first-child,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor p,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor p{margin:0 0 12px}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor ul,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor ul{margin:0 0 14px;padding-left:22px}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor li,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor li{margin-bottom:8px}
.prism-page-mentions-legales #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor em,.prism-page-politique-de-confidentialite #inner-wrap .elementor-widget-theme-post-content .elementor-widget-text-editor em{font-size:14px;color:var(--f-muted)}
.prism-page-introuvable .error .page-content{text-align:center;padding:72px 20px}
.prism-page-introuvable .page-title{font-family:Bitter,serif;color:var(--f-green)}
.prism-404-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.prism-404-links a{display:inline-flex;align-items:center;min-height:46px;padding:10px 20px;border-radius:8px;background:var(--f-green);color:#fff!important;font-family:Bitter,serif;font-weight:700;text-decoration:none!important;transition:background .2s,transform .2s var(--f-ease)}
.prism-404-links a:hover{background:var(--f-ink);transform:translateY(-2px)}

/* ---------- Footer ---------- */
.elementor-location-footer a{transition:color .2s,opacity .2s}
.elementor-location-footer .elementor-icon-list-text a{color:inherit!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45);text-underline-offset:3px}
.elementor-location-footer .elementor-icon-list-item>a:hover .elementor-icon-list-text,.elementor-location-footer .elementor-icon-list-text a:hover{color:var(--f-yellow)!important;text-decoration-color:var(--f-yellow)}
.elementor-location-footer .elementor-element-8cb21af,.elementor-location-footer .elementor-element-8cb21af p{font-size:15px;font-weight:400;color:#fff}
.elementor-location-footer .elementor-element-8cb21af p{margin:0;line-height:1.7}
.elementor-location-footer .elementor-element-1eb7071{margin-top:14px}
@media (min-width:768px){.elementor-location-footer .elementor-element-1eb7071{margin-top:18px}.elementor-location-footer .elementor-element-1eb7071 .elementor-heading-title,.elementor-location-footer .elementor-element-8cb21af{text-align:start}}

/* ---------- Cookie banner ---------- */
#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p{font-size:14px!important;line-height:1.5!important}
#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
#moove_gdpr_cookie_info_bar .moove-gdpr-button-holder{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
#moove_gdpr_cookie_info_bar .mgbutton{min-height:44px;margin:0!important;border-radius:8px!important;font-weight:700!important}
#moove_gdpr_cookie_info_bar .mgbutton.moove-gdpr-infobar-reject-btn{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 2px #fff!important}
#moove_gdpr_cookie_info_bar .mgbutton.moove-gdpr-infobar-reject-btn:hover{background:#fff!important;color:#202020!important}

/* ---------- Scroll reveal ---------- */
.prism-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .8s var(--f-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}}
@media print{.prism-reveal{opacity:1;transform:none}#moove_gdpr_cookie_info_bar,.prism-lb{display:none!important}}
.prism-enhanced .wp-gr .wp-google-wr a{background:#1a56c4!important;color:#fff!important}
