/*
Theme Name: Odotech’Air
Description: Thème de blocs pour le traitement des odeurs et de l’H₂S, adapté du modèle HTML fourni par Odotech’Air.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Odotech’Air
Text Domain: odotechair
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:180px}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5f5f2;color:#0d0f11;line-height:1.5}
img{max-width:100%;height:auto}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid #0d3b66;outline-offset:5px}
.odo-footer a:focus-visible,.odo-topbar a:focus-visible{outline-color:#b5dcc0}
.wp-site-blocks{padding:0}
.wp-site-blocks>.wp-block-template-part{margin:0}
.odo-container{width:min(1320px,calc(100% - 40px));margin-inline:auto!important}
.odo-home h1,.odo-home h2,.odo-home h3,.odo-home h4,.odo-home p,.odo-home ul,.odo-site-header p,.odo-footer p,.odo-footer h2{margin-block-start:0}
.odo-home section,.odo-footer{scroll-margin-top:12px}
.odo-site-header{position:sticky;top:0;z-index:40;background:#fff}
.admin-bar .odo-site-header{top:32px}
.odo-topbar{background:#082845;color:#fff;font-size:.94rem}
.odo-topbar-inner{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-block:10px}
.odo-topbar p{margin:0}
.odo-topbar a{text-decoration:none}
.odo-topbar a:hover{text-decoration:underline}
.odo-nav-shell{background:rgba(255,255,255,.97);border-bottom:1px solid #e7ebe7}
.odo-navbar{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px;padding-block:14px}
.odo-brand{width:240px;flex-shrink:0;margin:0}
.odo-brand img{width:100%;display:block}
.odo-navigation{font-weight:700;color:#111}
.odo-navigation .wp-block-navigation__container{gap:26px}
.odo-navigation .wp-block-navigation-item__content{font-size:1rem;text-decoration:none;white-space:nowrap}
.odo-navigation .wp-block-navigation-item__content:hover{color:#087b2a;text-decoration:underline;text-underline-offset:5px}
.odo-navigation .odo-nav-cta>.wp-block-navigation-item__content{display:inline-flex;align-items:center;justify-content:center;background:#087b2a;color:#fff;padding:14px 26px;border-radius:999px;text-decoration:none}
.odo-navigation .odo-nav-cta>.wp-block-navigation-item__content:hover{background:#01530e;color:#fff}
.odo-navigation .wp-block-navigation__responsive-container.is-menu-open{padding:28px;background:#fff}
.odo-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch;padding-top:72px}
.odo-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{width:100%;gap:14px;align-items:flex-start}
.odo-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{white-space:normal;display:flex;align-items:center;min-height:44px;padding-block:10px}
.odo-navigation .wp-block-navigation__responsive-container.is-menu-open .odo-nav-cta>.wp-block-navigation-item__content{padding:14px 26px;min-height:48px}
.odo-navigation .wp-block-navigation__responsive-container-open,.odo-navigation .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;align-items:center;justify-content:center}
.odo-hero-shell{padding-top:18px}
.odo-hero{position:relative;isolation:isolate;min-height:340px;padding:40px 24px;border-radius:0 0 28px 28px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#33596a,#466e66)}
.odo-hero-photo{position:absolute;inset:0;z-index:-1}
.odo-hero-photo:after{content:"";position:absolute;inset:0;background:rgba(6,37,53,.35);pointer-events:none}
.odo-hero h1{color:#fff;font-size:clamp(2.8rem,6vw,5rem);line-height:.98;letter-spacing:-.04em;text-shadow:0 5px 20px #0003;max-width:10ch;margin:0;position:relative}
.odo-about{padding:32px 6px 24px}
.odo-about h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;color:#0d3b66;margin-bottom:12px}
.odo-about p{max-width:850px;margin-bottom:0;color:#38515b}
.odo-green-section{background:#9ccfad;border-radius:28px;padding:24px 20px 20px;margin-block:8px 20px}
.odo-section-title{font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;letter-spacing:-.04em;margin-bottom:22px}
.odo-section-subtitle{font-size:clamp(2rem,3vw,3rem);line-height:1.05;letter-spacing:-.03em;margin:34px 0 18px!important}
.odo-text p{font-size:1rem;margin-bottom:18px}
.odo-photo{position:relative;overflow:hidden}
.odo-photo>.wp-block-image{margin:0;width:100%;height:100%;position:absolute;inset:0}
.odo-photo>.wp-block-image img{width:100%;height:100%;object-fit:cover;display:block}
.odo-feature{border-radius:26px;min-height:360px;background:linear-gradient(135deg,#73858e,#c3d4dc);margin-top:18px}
.odo-feature.odo-alt{min-height:420px;background:linear-gradient(135deg,#7e9096,#d5dddd)}
.odo-overlay{position:absolute;left:0;bottom:0;width:min(560px,100%);background:#01530e;color:#fff;padding:28px 30px;border-radius:0 28px 0 0}
.odo-overlay h3{font-size:clamp(2rem,3vw,3rem);line-height:1.03;letter-spacing:-.03em;margin-bottom:18px}
.odo-overlay p{margin-bottom:0}
.odo-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:26px}
.odo-info{padding:10px 6px 0}
.odo-info h3,.odo-advantages h3{font-size:clamp(2rem,3vw,2.8rem);line-height:1.04;letter-spacing:-.03em;margin-bottom:18px}
.odo-info p,.odo-info li,.odo-advantages li{font-size:1rem;margin-bottom:18px}
.odo-info ul+h3,.odo-info p+h3{margin-top:32px}
.odo-services{padding-left:0;list-style:none}
.odo-advantages{background:rgba(83,126,92,.42);border-radius:26px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:20px;align-items:start}
.odo-checklist{list-style:none;padding:0}
.odo-checklist li{font-weight:700;font-size:.98rem;padding-left:20px;position:relative;margin-bottom:12px}
.odo-checklist li:before{content:"●";position:absolute;left:0;top:2px;font-size:.85rem;color:#032f0a}
.odo-side{width:100%;min-height:244px;border-radius:18px;background:linear-gradient(135deg,#d4d9dc,#aab9bf)}
.odo-apps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:24px}
.odo-app{border:1.6px solid rgba(85,102,91,.55);border-radius:24px;padding:16px;min-height:170px;display:flex;flex-direction:column;gap:18px}
.odo-app .odo-app-num{width:54px;height:54px;border-radius:16px;background:#049f33;color:#032709;font-weight:800;font-size:1.15rem;display:grid;place-items:center;margin:0;flex-shrink:0}
.odo-app h4{font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.08;letter-spacing:-.02em;max-width:20ch;margin:0}
.odo-footer{background:#012f09;color:#fff;border-radius:28px 28px 0 0;margin-top:20px;padding-top:56px;overflow:hidden}
.odo-footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:26px;align-items:center;padding-bottom:44px}
.odo-footer-logo{width:240px;max-width:80%;background:#fff;padding:12px;border-radius:12px;margin:0 0 28px}
.odo-footer-logo img{display:block;width:100%}
.odo-footer-brand h2{font-size:clamp(2rem,3vw,3rem);line-height:1.06;max-width:17ch;margin-bottom:0}
.odo-contact h2{color:#47dc7c;font-size:1.9rem;margin-bottom:20px}
.odo-contact p{font-size:1.05rem;font-weight:700;margin-bottom:16px;overflow-wrap:anywhere}
.odo-contact a{ text-decoration:underline;text-underline-offset:4px}
.odo-contact .wp-block-button__link{text-decoration:none}
.wp-block-button__link:hover{background:#01530e;color:#fff}
.odo-footer .wp-block-button__link{background:#fff;color:#01530e}
.odo-footer .wp-block-button__link:hover{background:#b5dcc0;color:#012f09}
.odo-footer-bottom{border-top:1px solid #ffffff24;padding-block:18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.95rem;color:#ffffffdb}
.odo-footer-bottom p{margin:0}
.odo-footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.odo-document{padding-block:48px;min-height:50vh;overflow-wrap:anywhere}
.odo-document h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;margin-bottom:28px}
.odo-document p{margin-bottom:20px;max-width:900px}
/* Keep empty native image blocks selectable while editing. */
.editor-styles-wrapper .odo-photo>.wp-block-image{position:relative;min-height:180px}
.editor-styles-wrapper .odo-hero-photo{position:relative;width:100%;min-height:180px;z-index:0}
.editor-styles-wrapper .odo-hero{display:block}
.editor-styles-wrapper .odo-hero h1{margin-inline:auto}
.editor-styles-wrapper .odo-overlay{position:relative;margin-top:0}
.editor-styles-wrapper .odo-site-header{position:relative}
@media(max-width:1100px){
 .odo-navbar{min-height:96px}
 .odo-navigation .wp-block-navigation__responsive-container-open{display:flex}
 .odo-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
 .odo-two-col,.odo-advantages{grid-template-columns:minmax(0,1fr)}
 .odo-apps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .odo-side{min-height:280px}
}
@media(max-width:782px){.admin-bar .odo-site-header{top:46px}}
@media(max-width:720px){
 .odo-container{width:calc(100% - 26px)}
 .odo-address{display:none}
 .odo-topbar-inner{justify-content:center;font-size:.76rem}
 .odo-navbar{gap:12px;min-height:92px}
 .odo-brand{width:min(220px,65vw)}
 .odo-hero{min-height:260px}
 .odo-hero h1{max-width:9ch}
 .odo-green-section{padding:20px 14px 16px}
 .odo-section-title{font-size:2.3rem}
 .odo-apps-grid{grid-template-columns:minmax(0,1fr)}
 .odo-overlay{position:relative;margin-top:190px;width:100%;border-radius:0;padding:24px}
 .odo-feature,.odo-feature.odo-alt{min-height:0}
 .odo-advantages{padding:20px}
 .odo-footer-main{grid-template-columns:minmax(0,1fr);gap:36px}
 .odo-footer{padding-top:36px}
 .odo-footer-bottom{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
