/*
Theme Name: Filtractif
Description: Thème personnalisé Filtractif pour WordPress et WooCommerce.
Version: 0.5.11
Text Domain: filtractif
Requires at least: 6.6
Requires PHP: 8.0
*/

:root{--ft-primary:#4c75a0;--ft-hover:#3c5c7d;--ft-heading:#243d57;--ft-text:#62707f;--ft-muted:#f6f9fc;--ft-border:#e8e8e8}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ft-text);font-family:'IBM Plex Sans',Arial,sans-serif;font-size:16px;line-height:1.75}
h1,h2,h3,h4,h5,h6{color:var(--ft-heading);font-family:Heebo,Arial,sans-serif;font-weight:600;line-height:1.3;margin:0 0 20px}
h1{font-size:2.625rem}h2{font-size:2rem}h3{font-size:1.625rem}
a{color:var(--ft-primary);text-underline-offset:.18em}a:hover{color:var(--ft-hover)}
img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid var(--ft-primary);outline-offset:4px}
.wc-block-checkout .ft-vat-spacing{margin-bottom:24px}
.ft-container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:40px}
.ft-header{border-bottom:1px solid var(--ft-border)}
.ft-header-inner{display:flex;align-items:center;gap:28px;min-height:80px}
.ft-brand{flex-shrink:0;color:var(--ft-heading);font-family:Heebo,Arial,sans-serif;font-size:26px;font-weight:600;text-decoration:none}
.custom-logo-link{display:flex;align-items:center}.ft-header-inner .custom-logo{width:149px;height:auto;max-height:70px;object-fit:contain}
.ft-brand-header{display:flex;align-items:center}.ft-brand-header img{display:block;width:149px;height:auto}
.ft-brand-footer{display:block;width:calc((100% - 40px) / 3);max-width:400px}.ft-brand-footer img{display:block;width:100%;height:auto}
.ft-navigation{margin-left:auto}.ft-menu{display:flex;align-items:center;gap:24px;list-style:none;padding:0;margin:0}
.ft-menu a{color:var(--ft-heading);font-family:Heebo,Arial,sans-serif;text-decoration:none}
.ft-menu a:hover,.ft-menu .current-menu-item>a{color:var(--ft-primary)}
.ft-cart{white-space:nowrap;text-decoration:none;font-family:Heebo,Arial,sans-serif}
.ft-menu-toggle{display:none;background:#fff;border:1px solid var(--ft-border);padding:6px 14px;color:var(--ft-heading);border-radius:24px;cursor:pointer}
.ft-main{min-height:50vh;padding-block:50px}.ft-entry{margin-bottom:40px}.ft-entry-content{overflow-wrap:anywhere}
.ft-footer{background:var(--ft-muted);padding-block:40px}.ft-footer-inner{display:flex;align-items:flex-start;gap:40px}.ft-footer nav{margin-left:auto}.ft-footer .ft-menu{flex-wrap:wrap}
.button,.wp-element-button,input[type=submit]{display:inline-block;border:1px solid transparent;border-radius:500px;padding:9px 30px;background:var(--ft-primary);color:#fff;font-family:Heebo,Arial,sans-serif;font-weight:600;text-decoration:none;cursor:pointer}
.button:hover,.wp-element-button:hover,input[type=submit]:hover{background:var(--ft-hover);color:#fff}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{clip-path:none;width:auto;height:auto;margin:0;padding:12px 20px;top:8px;left:8px;background:#fff;z-index:1000}
.alignwide{max-width:100%}.aligncenter{display:block;margin-inline:auto}.wp-caption{max-width:100%}
@media(max-width:959px){.ft-container{padding-inline:30px}h1{font-size:2.23rem}h2{font-size:1.7rem}.ft-header-inner{flex-wrap:wrap;gap:16px;padding-block:10px}.ft-brand,.custom-logo-link{margin-right:auto}.ft-navigation{width:100%;order:4;margin:0}.ft-menu{flex-direction:column;align-items:flex-start;gap:12px}.ft-js .ft-menu-toggle{display:block}.ft-js .ft-navigation:not(.is-open){display:none}.ft-footer-inner{flex-direction:column}.ft-footer nav{margin:0}.ft-main{padding-block:30px}}
@media(max-width:639px){.ft-container{padding-inline:15px}.ft-header-inner{gap:10px}.ft-cart{font-size:14px}}
@media(max-width:959px){.ft-brand-footer{width:100%;max-width:360px}}

.ft-home{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:30px 60px;align-items:start}
.ft-home-content{grid-column:1;grid-row:1 / 3;min-width:0}.ft-account{grid-column:2;grid-row:1}.ft-products{grid-column:2;grid-row:2;min-width:0}
.ft-hero figure.ft-hero-image{margin:0}.ft-hero figure.ft-hero-image img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}
.ft-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:24px}.ft-hero h1{font-size:2.3rem}.ft-hero-image{width:100%;max-height:340px;object-fit:contain}
.ft-eyebrow{font-family:Heebo,Arial,sans-serif;color:var(--ft-primary);margin-top:0}.ft-home-section{margin-top:45px;padding-top:35px;border-top:1px solid var(--ft-border)}
.ft-panel{padding:24px;border:1px solid var(--ft-border);background:#fff}.ft-panel h2{font-size:1.625rem}.ft-benefits{padding-left:22px}.ft-benefits li{margin-block:14px}
.ft-installation{margin:28px 0}.ft-installation img{display:block;margin:auto}.ft-installation figcaption{font-size:14px;margin-top:12px}.ft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.ft-account label{display:block}.ft-account input[type=text],.ft-account input[type=password]{width:100%;min-height:44px;padding:8px;border:1px solid var(--ft-border);border-radius:3px}.ft-account input[type=submit]{max-width:100%;white-space:normal}.ft-account p{margin:0 0 16px}
.ft-product-list{list-style:none;padding:0;margin:0}.ft-product-card{padding:24px 0;text-align:center;border-bottom:1px solid var(--ft-border)}.ft-product-card:last-child{border-bottom:0}.ft-product-card>a{text-decoration:none}.ft-product-image{display:grid;place-items:center;width:min(100%,240px);margin:0 auto 16px}.ft-product-image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.ft-product-card h3{font-size:19px;margin-bottom:10px}.ft-product-price{color:var(--ft-heading);margin-bottom:10px}.ft-product-link{text-decoration:underline!important}
.ft-slider-controls[hidden]{display:none}.ft-slider-controls{display:flex;justify-content:center;align-items:center;gap:20px}.ft-slider-controls button{width:44px;height:44px;border:1px solid var(--ft-primary);border-radius:50%;color:var(--ft-primary);background:#fff;cursor:pointer}.ft-slider-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:959px){.ft-home{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:20px}.ft-home-content{grid-column:1;grid-row:2}.ft-account{grid-column:1;grid-row:3}.ft-products{grid-column:1;grid-row:1}.ft-product-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.ft-product-card{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;padding:10px 12px 20px}.ft-products h2{margin-bottom:12px}.ft-hero h1{font-size:2rem}}
@media(max-width:639px){.ft-hero{grid-template-columns:minmax(0,1fr)}.ft-hero-image{max-height:250px}.ft-panel{padding:18px}.ft-hero h1{font-size:1.85rem}}

/* Modèles éditables : espacement et dimensions, sans figer les couleurs des blocs. */
.wp-site-blocks>header,.wp-site-blocks>footer{margin-block:0}
.ft-block-header-inner{min-height:80px;padding-block:10px;gap:24px}
.ft-header-logo{width:149px;flex-shrink:0;margin:0}.ft-header-logo img{display:block;width:149px;height:auto}
.ft-footer-logo{width:min(100%,360px);margin:0}.ft-footer-logo img{display:block;width:100%;height:auto}
.ft-block-footer-inner{gap:40px;align-items:flex-start}
.ft-home>.wp-block-post-content,.ft-home>.ft-account,.ft-home>.ft-products{margin-block:0}
.wp-block-woocommerce-mini-cart{flex-shrink:0}
.ft-header .wp-block-navigation{font-family:Heebo,Arial,sans-serif}
@media(max-width:639px){.ft-block-header-inner{gap:12px}.ft-header-logo{margin-right:auto}.ft-header .wp-block-navigation{margin-left:auto}}

/* L'en-tête personnalisé WooCommerce reste centré sur les grands écrans. */
@media(min-width:1281px){
  .wp-site-blocks .wc-blocks-pattern-header-essential.wc-blocks-header-pattern{
    width:100%;
    max-width:1280px;
    margin-inline:auto;
    box-sizing:border-box;
  }
}

/* Le logo du bloc conserve sa largeur réglable sur ordinateur et reste compact sur petits écrans. */
@media(max-width:782px){
  .wp-site-blocks .wc-blocks-pattern-header-essential.wc-blocks-header-pattern{padding-inline:24px!important}
  .wp-site-blocks .wc-blocks-pattern-header-essential .wp-block-site-logo img.custom-logo{max-width:min(220px,100%);height:auto}
}
@media(max-width:480px){
  .wp-site-blocks .wc-blocks-pattern-header-essential.wc-blocks-header-pattern{padding-inline:16px!important}
  .wp-site-blocks .wc-blocks-pattern-header-essential .wp-block-site-logo img.custom-logo{max-width:min(180px,100%);height:auto}
}

/* Les photos restent entières dans un emplacement produit vertical 3:4. */
.wc-block-components-product-image img[data-testid="product-image"],
.wc-block-grid__product-image img,
.woocommerce ul.products li.product a img,
.woocommerce-product-gallery__image img{
  width:100%;height:auto;object-fit:contain!important;
}
.woocommerce-product-gallery .flex-control-thumbs img{object-fit:contain}
