/* BATI-NET • Extension V2 • devis, paiements, assistance et contact */
[hidden]{display:none!important}
.announcement{flex-wrap:wrap;min-height:38px;height:auto;padding:6px 12px;gap:10px 18px}
.announcement .announcement-direct{color:#f0fff7;font-size:11px;margin-left:0;letter-spacing:0}
.announcement .announcement-direct:hover{color:#ffa863}
.hero-direct{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:21px}
.hero-direct a{font-family:var(--font);font-weight:800;font-size:12px;color:#146350;background:#e9f5ef;border-radius:9px;padding:9px 14px}
.hero-direct a:last-child{background:#e7f9ec;color:#087b38}
.hero-trust{margin-top:24px}
.direct-contact{display:flex;flex-direction:column;gap:9px;margin-top:24px;padding:22px;background:#fff;border:1px solid #e1e8e0;border-radius:16px;box-shadow:0 12px 28px #0a392b0d}
.direct-contact span{font:800 10px var(--font);letter-spacing:1.2px;color:#ff7617}
.direct-contact a{font:750 14px var(--font);overflow-wrap:anywhere;color:#0c4b3d}
.direct-contact a:hover{color:#ff7714}
.assistant-feature{background:#f2f7f1}
.assistant-feature-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}
.assistant-feature h2,.payment-explainer h2{font:850 clamp(31px,3.9vw,54px)/1.19 var(--font);letter-spacing:-2px;color:#093b34;margin:0 0 22px}
.assistant-feature p{color:#687c72;font-size:14px;line-height:1.9;max-width:530px}
.assistant-topics{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.assistant-topics button{border:1px solid #d2e4d7;border-radius:100px;background:#fff;padding:10px 15px;color:#0d5143;font-size:12px;font-weight:700}
.assistant-topics button:hover{border-color:#fc7914}
.assistant-feature .assist-disclaimer{font-size:11px;color:#81958b}
.assistant-preview{border-radius:25px;box-shadow:0 24px 65px #0b42321c;padding:35px;max-width:480px;width:100%;background:#fff;border:1px solid #d8e8db}
.assistant-preview .bot-icon{display:grid;place-items:center;background:#073d35;color:#ff941e;width:50px;height:50px;border-radius:13px;font-size:29px;margin-bottom:18px}
.label-small{font:800 10px var(--font);letter-spacing:2px;color:#d9741f}
.assistant-preview h3{font:800 25px/1.3 var(--font);margin:10px 0 24px;color:#0b4236}
.fake-chat{background:#e1f0e7;border-radius:16px 16px 2px 16px;margin-left:14%;padding:13px 15px;font-size:12px;color:#145742;line-height:1.6}
.fake-answer{background:#f4f6f3;border-radius:16px 16px 16px 2px;margin:12px 10% 22px 0;padding:13px 15px;font-size:12px;color:#546b5e;line-height:1.6}
.payment-explainer{padding:72px 0;background:#073a31;color:#e3f2e8}
.payment-explainer-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.payment-explainer h2{color:white}
.payment-explainer p{font-size:14px;max-width:540px;color:#bed5c8;line-height:1.85}
.payment-steps{display:grid;gap:11px;background:#0d4c3f;border-radius:18px;padding:25px}
.payment-steps div{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:11px;padding:13px 15px;display:flex;align-items:center;gap:14px}
.payment-steps div span{color:#ff9e48;font-size:18px;font-weight:800}
.payment-steps div strong{font-size:12px}
.payment-steps small{color:#b4d3c4;line-height:1.6}
.whatsapp-float{position:fixed;bottom:22px;left:20px;z-index:70;display:flex;align-items:center;gap:8px;background:#19a85b;color:white;border:2px solid white;border-radius:40px;padding:12px 16px;font:800 12px var(--font);box-shadow:0 10px 30px #065c3b57}
.assistant-launch{position:fixed;right:22px;bottom:22px;z-index:71;background:#fa7914;color:white;border:2px solid white;border-radius:35px;box-shadow:0 12px 30px #fa791467;padding:13px 19px;font:800 12px var(--font);display:flex;align-items:center;gap:9px}
.assistant-launch span{font-size:20px}
.assistant-panel{position:fixed;bottom:82px;right:21px;z-index:72;display:flex;flex-direction:column;width:min(400px,calc(100vw - 26px));height:min(590px,calc(100dvh - 105px));background:#fff;border:1px solid #e1e7de;border-radius:20px;overflow:hidden;box-shadow:0 28px 80px #092f2b5c}
.assistant-panel-header{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;background:#073f34;color:white}
.assistant-panel-header>div{display:grid;grid-template-columns:30px auto;grid-template-rows:1fr 1fr;column-gap:10px;align-items:center}
.assistant-panel-header>div span{grid-row:span 2;display:grid;place-items:center;background:#ffffff20;border-radius:10px;font-size:20px;width:30px;height:30px;color:#ff9d40}
.assistant-panel-header strong{font:800 14px var(--font)}.assistant-panel-header small{font-size:10px;color:#b0d8ca}
.assistant-panel-header button{background:transparent;border:0;color:white;font-size:28px;line-height:1}
.assistant-messages{flex:1;overflow:auto;padding:20px;background:#fcfdfb;display:flex;flex-direction:column;gap:13px}
.assistant-bubble{font-size:13px;white-space:pre-wrap;line-height:1.7;max-width:90%;padding:13px 15px;overflow-wrap:anywhere}
.assistant-bubble.bot{background:#f0f4ef;border-radius:16px 16px 16px 2px;color:#244f3f;align-self:flex-start}
.assistant-bubble.visitor{background:#0a5440;color:#fff;align-self:flex-end;border-radius:16px 16px 2px 16px}
.assistant-bubble.warning{background:#fff1e3;color:#8d4a0b}
.assistant-form{border-top:1px solid #e7ede8;padding:15px 18px;background:white}
.assistant-form>label:first-child{font:800 11px var(--font);color:#0b4a3b}
.assistant-form textarea{display:block;margin:6px 0 10px;border:1px solid #ccddd2;width:100%;padding:12px;border-radius:9px;resize:vertical;min-height:57px;font-size:12px}
.assistant-consent{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.4;color:#6b8074}.assistant-consent input{accent-color:#0b5440;margin-top:3px}
.assistant-form .btn{width:100%;margin:12px 0 5px}.assistant-form p{margin:3px 0 0;font-size:10px;color:#7c8a82;text-align:center}
.back-top{right:20px;bottom:92px}
.payment-page{min-height:72vh;display:grid;place-items:center;padding:60px 15px}
.payment-sheet{background:#fff;max-width:660px;width:100%;padding:38px;border:1px solid #dae7dc;border-radius:22px;box-shadow:0 15px 70px #0b40321c}
.payment-sheet h1{color:#073e34;font-size:35px;margin-bottom:10px}.payment-sheet h2{color:#304b40;font-size:21px}
.payment-total{margin:20px 0;padding:23px;background:#eef6ef;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:15px}.payment-total span{font-size:13px;color:#496d56}.payment-total strong{font-size:29px;color:#0b5c45}
.payment-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}
.payment-actions form{background:#fbfdfb;border:1px solid #e0e9df;border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:13px}
.payment-actions .btn{width:100%;white-space:normal}.btn-paypal{background:#073e7e;color:#fff}
.payment-small{font-size:12px;color:#758a7f;line-height:1.8;margin-top:20px}.payment-small a{color:#f47415;text-decoration:underline}
.payment-sheet .consent{font-size:12px}
@media(max-width:1000px){.assistant-feature-grid,.payment-explainer-grid{gap:30px}.announcement .announcement-direct{font-size:10px}.main-nav{gap:14px}}
@media(max-width:900px){.assistant-feature-grid,.payment-explainer-grid{grid-template-columns:1fr}.assistant-preview{max-width:600px}}
@media(max-width:620px){.announcement .announcement-direct:last-child{display:none}.announcement{font-size:9px}.hero-direct{gap:8px}.hero-direct a{font-size:11px;padding:8px}.assistant-feature h2,.payment-explainer h2{font-size:34px}.assistant-preview{padding:23px}.whatsapp-float span{display:none}.whatsapp-float{width:49px;height:49px;justify-content:center;font-size:22px;padding:0}.assistant-launch{padding:12px;font-size:11px;right:12px;bottom:14px}.assistant-panel{right:10px;bottom:76px;width:calc(100vw - 20px)}.payment-actions{grid-template-columns:1fr}.payment-sheet{padding:24px}.payment-sheet h1{font-size:28px}.payment-total{flex-direction:column;align-items:flex-start}.back-top{right:14px;bottom:84px}}
/* V4 PWA — installation optionnelle et statut hors-ligne */
.pwa-install[hidden],.offline-state[hidden]{display:none!important}
.pwa-install{position:fixed;z-index:65;left:18px;bottom:20px;display:flex;align-items:center;gap:11px;max-width:min(450px,calc(100vw - 36px));background:#fff;color:#143c32;box-shadow:0 13px 46px #09291f36;border:1px solid #e1eee4;border-radius:15px;padding:12px 14px}
.pwa-install img{border-radius:9px;flex:none}.pwa-install div{display:flex;flex-direction:column;gap:2px}.pwa-install strong{font-size:13px;line-height:1.25}.pwa-install span{font-size:11px;color:#60776a}.pwa-install button{border:0;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:800;color:white;background:#f77812;cursor:pointer}.pwa-install button.pwa-dismiss{background:transparent;color:#547066;font-size:19px;padding:3px 7px}
.offline-state{position:fixed;left:50%;transform:translateX(-50%);top:8px;z-index:100;background:#173e34;color:white;padding:9px 16px;border-radius:9px;font-size:12px;text-align:center;max-width:calc(100vw - 22px);box-shadow:0 9px 24px #173e3440}
@media(max-width:520px){.pwa-install{bottom:83px;left:8px;max-width:calc(100vw - 16px);gap:6px;padding:10px}.pwa-install span{display:none}.pwa-install strong{font-size:11px}.pwa-install button{padding:8px}.pwa-install img{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){.pwa-install{animation:none}}

/* V5 — Images nettes, galerie adaptable, promotion mobile */
.hero-photo,.service-photo img,.concept-picture img,.project-image img{
  display:block;max-width:100%;image-rendering:auto;object-fit:cover;
  backface-visibility:hidden;transform:translateZ(0);
}
/* Limite le zoom sur les visuels compressés, surtout sur les écrans haute densité. */
.project-card:hover .project-image img{transform:scale(1.025)}
.footer-app-promo{border-top:1px solid rgba(210,241,225,.17);padding:36px 0 42px;background:linear-gradient(112deg,#06352d,#0b453a 80%)}
.footer-app-inner{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:center;gap:40px}
.footer-app-kicker{display:inline-block;font:800 10px/1.6 var(--font);letter-spacing:2px;color:#ffa15c;margin-bottom:10px}
.footer-app-copy h2{font:800 clamp(22px,2.3vw,31px)/1.25 var(--font);margin:0 0 10px;color:#fff;letter-spacing:-.7px}
.footer-app-copy h2 span{color:#ff9d44}
.footer-app-copy>p{font-size:12px;line-height:1.8;color:#c8dfd3;margin:0;max-width:620px}
.footer-app-copy .app-store-status{color:#f2d3ac;margin-top:11px;font-size:11px}
.store-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.store-tile{min-width:0;border-radius:12px;background:#081d20;border:1px solid #528172;min-height:78px;padding:13px;display:flex;align-items:center;gap:11px;text-decoration:none;color:white;box-shadow:0 10px 28px #01281f42;position:relative}
.store-tile-icon{width:40px;height:40px;flex:0 0 40px;object-fit:contain}
.store-tile-text{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.store-tile-text small{font:600 10px var(--font);color:#c6d7d5;margin-bottom:4px}
.store-tile-text strong{font:800 16px var(--font);color:white;letter-spacing:-.3px;white-space:nowrap}
.store-soon-tag{font:700 9px var(--font);color:#ffbd84;position:absolute;right:10px;bottom:6px}
.store-tile.is-upcoming{background:#092e2a;border-color:#3c7568;cursor:default}
.store-tile.is-live{transition:border-color .2s,transform .2s;background:#101e1f}
.store-tile.is-live:hover,.store-tile.is-live:focus-visible{transform:translateY(-2px);border-color:#ff9d44}
.store-tile-arrow{font-size:18px;color:#ff9d44;margin-left:auto}
@media(max-width:1080px){.footer-app-inner{grid-template-columns:1fr;gap:24px}.store-tiles{max-width:550px}}
@media(max-width:600px){.footer-app-promo{padding:32px 0}.footer-app-copy h2{font-size:24px}.store-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-tile{padding:10px 9px;min-height:73px;gap:8px}.store-tile-icon{width:30px;height:30px;flex-basis:30px}.store-tile-text small{font-size:9px}.store-tile-text strong{font-size:12px}.store-soon-tag{font-size:8px;right:6px;bottom:5px}}
@media(max-width:360px){.store-tiles{grid-template-columns:1fr}.store-tile-text strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.store-tile.is-live{transition:none}.store-tile.is-live:hover{transform:none}}

/* Badges officiels seulement après renseignement des URLs publiques. */
.store-official{display:flex;align-items:center;justify-content:center;min-height:78px;border-radius:12px;outline-offset:3px;overflow:hidden}
.store-official img{display:block;width:auto;height:54px;max-width:100%;object-fit:contain}
.store-official:hover{filter:brightness(1.08)}
.official-link-backup{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:600px){.store-official{min-height:73px}.store-official img{height:48px;max-width:100%}}
