/*
Theme Name: Nova Garden
Theme URI: https://www.nova-garden-sa.ch/
Author: Nova Garden SA
Description: Thème bloc pour Nova Garden SA — paysagiste à Cortaillod, Neuchâtel. Design aligné sur le site nova-garden-sa.ch (Playfair Display + Roboto, turquoise #2a9d8f, vert #2b614b).
Version: 1.3.9
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: nova-garden
*/

/* ---------- Base ---------- */
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin-bottom:16px}
p{margin-top:0}
a{text-decoration:none}
.wp-block-image img,.wp-block-media-text__media img,.wp-block-cover img,.wp-block-group article.wp-block-group img{border-radius:0!important}
main .wp-block-group.alignfull{padding-top:53px!important;padding-bottom:53px!important}

/* ---------- En-tête ---------- */
.ng-header{background:#fff;z-index:1000}
header.wp-block-template-part{position:sticky;top:0;z-index:1000;background:#fff}
.admin-bar header.wp-block-template-part{top:32px}
.ng-header.is-position-sticky{position:static}
.ng-header .wp-block-site-logo img{max-width:100%;height:auto}
.wp-block-navigation{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;text-transform:uppercase;line-height:1}
.wp-block-navigation .wp-block-navigation-item__content{padding:11px;border-radius:0;font-weight:400;color:#737373}
.wp-block-navigation .wp-block-navigation-item__content:hover{color:#737373;background:transparent}
.wp-block-navigation .wp-block-navigation-item__content{border:2px solid transparent;border-radius:2px;padding:9px}
.wp-block-navigation .current-menu-item>.wp-block-navigation-item__content,.wp-block-navigation .current-menu-ancestor>.wp-block-navigation-item__content{background:transparent;color:#737373;border-color:#737373}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content{border:0;padding:11px}
.wp-block-navigation .wp-block-navigation__submenu-container{background:#fff;border:0;box-shadow:0 1px 3px rgba(0,0,0,.2);border-radius:0;text-transform:none}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:#f2f2f2}
.wp-block-navigation__responsive-container.is-menu-open{text-transform:none}
.ng-phone{font-weight:700;color:#2a9d8f;text-decoration:none;white-space:nowrap}

/* ---------- Boutons ---------- */
.wp-block-button__link{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;padding:8px 16px!important;border-radius:8px!important;background:#2a9d8f!important;color:#fff!important;line-height:1.6}
.wp-block-button__link:hover{background:#2fb1a1!important}
.has-accent-background-color .wp-block-button__link{background:#fff!important;color:#737373!important}
.has-accent-background-color .wp-block-button__link:hover{background:#f2f2f2!important}

/* ---------- Sections turquoise (accent) ---------- */
.has-accent-background-color h1,.has-accent-background-color h2,.has-accent-background-color h3,.has-accent-background-color p,.has-accent-background-color li,.has-accent-background-color cite{color:#e7f9f6!important}
.has-accent-background-color .wp-block-quote{color:#e7f9f6}

/* ---------- Hero (couverture) ---------- */
.wp-block-cover p{font-family:'Playfair Display',Georgia,serif;font-size:25.4px!important;font-weight:400!important;line-height:1.4;margin-bottom:8px}
.wp-block-cover p strong{font-weight:400}
.wp-block-cover h1.has-small-font-size{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:13px!important;letter-spacing:.12em;opacity:.9}
.wp-block-cover .wp-block-cover__inner-container{max-width:1070px}
.wp-block-cover .wp-block-cover__background.has-contrast-background-color{background-color:#000!important}
.wp-block-cover h1,.wp-block-cover h2,.wp-block-cover h3{color:#fff!important}
.wp-block-cover p{color:#fff!important}

/* ---------- Cartes (services) : image, titre, texte, sans boîte ---------- */
.wp-block-group article.wp-block-group{box-shadow:none;background:transparent!important;border-radius:0;overflow:visible;padding-bottom:0!important}
.wp-block-group article.wp-block-group>*{margin-left:0;margin-right:0}
.wp-block-group article.wp-block-group>.wp-block-image{margin:0 0 12px}
.wp-block-group article.wp-block-group img{border-radius:0;aspect-ratio:1.4286;object-fit:cover;width:100%}
.wp-block-group article.wp-block-group h3{font-size:25.4px;margin-bottom:8px}
.wp-block-group article.wp-block-group .wp-block-buttons{justify-content:flex-start}

/* ---------- Media + texte ---------- */
.wp-block-media-text__media img{border-radius:0}
.wp-block-media-text .wp-block-media-text__content{padding:0 0 0 48px}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{padding:0 48px 0 0}
@media (max-width:600px){.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{padding:24px 0 0}}

/* ---------- Sections image moitié / texte (À propos, etc.) ---------- */
.wp-block-media-text.ng-split{grid-template-columns:50% 1fr;min-height:340px}
.wp-block-media-text.ng-split.has-media-on-the-right{grid-template-columns:1fr 50%}
.wp-block-media-text.ng-split .wp-block-media-text__media{height:100%;min-height:340px}
.wp-block-media-text.ng-split .wp-block-media-text__media img{width:100%;height:100%;object-fit:cover;display:block}
.wp-block-media-text.ng-split .wp-block-media-text__content{padding:53px;max-width:588px;box-sizing:border-box}
.wp-block-media-text.ng-split.has-media-on-the-right .wp-block-media-text__content{padding-left:max(53px,calc(50% - 535px));justify-self:start}
@media (max-width:600px){.wp-block-media-text.ng-split .wp-block-media-text__media{min-height:250px}.wp-block-media-text.ng-split .wp-block-media-text__content,.wp-block-media-text.ng-split.has-media-on-the-right .wp-block-media-text__content{padding:32px 24px;max-width:none}}

/* ---------- Citations / témoignages ---------- */
.wp-block-quote{border:0;padding:0;margin:0}
.wp-block-quote cite{display:block;text-align:center;font-style:normal;letter-spacing:.04em}
.has-primary-background-color .wp-block-quote,.has-primary-background-color .wp-block-quote p,.has-primary-background-color .wp-block-quote cite,.has-primary-background-color h2,.has-primary-background-color p{color:#fff!important}

/* ---------- FAQ ---------- */
.wp-block-details{border-radius:0!important;border:1px solid #d1d1d1}
.wp-block-details summary{cursor:pointer;font-size:17px;color:#2b614b;font-family:'Playfair Display',Georgia,serif}

/* ---------- Formulaires (Contact Form 7) ---------- */
.ng-form{display:flex;flex-direction:column;gap:16px;max-width:468px}
.ng-form label{display:flex;flex-direction:column;gap:6px;font-weight:400;font-size:16px;color:#737373}
.ng-form input,.ng-form textarea,.ng-form select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #73c1a2;border-radius:2px;background:#fff;color:#737373;min-height:42px}
.ng-form label{color:#6f7170;gap:12px}
.ng-form input:focus,.ng-form textarea:focus,.ng-form select:focus{outline:0;border-color:#8f8f8f}
.ng-form input[type=file]{padding:8px 0;border:0;background:transparent}
.ng-form input[type=submit],.ng-form button{align-self:flex-start;width:auto;background:#2a9d8f;color:#fff;border:0;font:inherit;font-weight:400;padding:8px 16px;border-radius:8px;cursor:pointer}
.ng-form input[type=submit]:hover,.ng-form button:hover{background:#2fb1a1}
.ng-form .wpcf7-form-control-wrap{display:block}
.ng-form .wpcf7-spinner{margin:8px 0 0}
.wpcf7 .wpcf7-not-valid-tip{font-weight:400;font-size:13px;color:#c8322c;margin-top:4px}
.wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 16px;border-radius:2px;border:1px solid #b5b5b5;background:#fff}
.wpcf7 form.sent .wpcf7-response-output{border-color:#2a9d8f;color:#1f756a;background:#e4f3ed}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:#c8322c;color:#c8322c}

/* ---------- Carte + réseaux ---------- */
.ng-map{margin:0 0 24px}
.ng-map iframe{display:block;width:100%;height:300px;border:0}
.wp-block-social-links .wp-social-link{border-radius:8px}
.wp-block-social-links .wp-social-link a{padding:9px}
.wp-block-columns.ng-contact{gap:55px}

/* ---------- Pied de page ---------- */
.ng-footer{background:#f0f0f0}
.ng-footer p{color:#6c6c6c;font-size:16px}

/* ---------- Galerie : carrousel (ng-carousel) ---------- */
.wp-block-gallery.ng-carousel--ready{display:block;position:relative;outline:0;gap:0}
.wp-block-gallery.ng-carousel--ready .ng-carousel__stage{position:relative;width:100%;aspect-ratio:2/1;overflow:hidden;background:#f6fbf9}
.wp-block-gallery.ng-carousel--ready .ng-carousel__stage>figure.wp-block-image{position:absolute;inset:0;width:100%!important;max-width:none;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .45s ease;pointer-events:none}
.wp-block-gallery.ng-carousel--ready .ng-carousel__stage>figure.wp-block-image.is-active{opacity:1;pointer-events:auto}
.wp-block-gallery.ng-carousel--ready .ng-carousel__stage>figure.wp-block-image img{width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;cursor:zoom-in}
.wp-block-gallery.ng-carousel--ready .ng-carousel__stage>figure.wp-block-image>a,.wp-block-gallery.ng-carousel--ready .ng-carousel__stage>figure.wp-block-image>.wp-lightbox-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.ng-carousel__arrow{position:absolute;top:calc(25% - 16px);width:32px;height:32px;border:0;border-radius:2px;background:rgba(0,0,0,.35);color:#fff;font:400 28px/30px Roboto,Arial,sans-serif;cursor:pointer;padding:0;z-index:2;transition:background .2s}
.ng-carousel__arrow:hover{background:rgba(0,0,0,.55)}
.ng-carousel__arrow--prev{left:2px}
.ng-carousel__arrow--next{right:2px}
.ng-carousel__arrow.is-disabled{opacity:.35;cursor:default}
.ng-carousel__nav{display:flex;justify-content:center;gap:2px;margin-top:2px;overflow-x:auto;padding:2px}
.ng-carousel__thumb{flex:0 0 91px;width:91px;height:54px;padding:2px;border:2px solid transparent;border-radius:0;background:transparent;cursor:pointer;opacity:.75;transition:opacity .2s}
.ng-carousel__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ng-carousel__thumb:hover{opacity:1}
.ng-carousel__thumb.is-active{opacity:1;border-color:#2a9d8f}
@media (max-width:600px){.ng-carousel__thumb{flex-basis:64px;width:64px;height:40px}}

/* ---------- Galerie : grille carrée cliquable (ng-grid) ---------- */
.wp-block-gallery.ng-grid{--wp--style--unstable-gallery-gap:8px;gap:8px}
.wp-block-gallery.ng-grid.columns-4 figure.wp-block-image{width:calc(25% - 6px)!important;flex-grow:0!important}
.wp-block-gallery.ng-grid figure.wp-block-image img{aspect-ratio:1/1;width:100%;height:auto;object-fit:cover;border-radius:0;cursor:zoom-in}
@media (max-width:600px){.wp-block-gallery.ng-grid.columns-4 figure.wp-block-image{width:calc(50% - 4px)!important}}

/* ---------- Lightbox (agrandissement au clic) ---------- */
.wp-lightbox-overlay .scrim{background-color:#000!important;opacity:.92!important}
.wp-lightbox-overlay .close-button{color:#fff}

/* ---------- Bandeau turquoise étroit (ng-narrow) ---------- */
.ng-narrow .wp-block-image img{width:100%;aspect-ratio:3.3333;object-fit:cover}
.ng-narrow .wp-block-buttons{justify-content:center}

/* ---------- Menu mobile : superposition plein écran ---------- */
.wp-block-navigation__responsive-container.is-menu-open{background:#fff;padding:0 20px 48px!important;overflow-y:auto;text-transform:none}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:28px;width:100%;gap:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100%;gap:0;align-items:stretch}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid #ececec}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child{border-bottom:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;padding:14px 0!important;border:0!important;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.3;text-transform:uppercase;color:#737373}
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item>.wp-block-navigation-item__content,.wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor>.wp-block-navigation-item__content{color:#2b614b;border:0!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent!important;box-shadow:none!important;border:0!important;padding:4px 0 10px 18px!important;width:100%!important;min-width:0!important;gap:0;position:static!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{border-bottom:0;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{width:100%;padding:9px 0!important;font-size:15px;text-transform:none;color:#6f7170}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{background:transparent}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon{padding:0 6px}
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{color:#2b614b}
.wp-block-navigation__responsive-container-open svg,.wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{top:14px;right:14px}
