/* 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%}}

/* V6 — Photos PNG source 100 % qualité et cadrage responsive */
@media (min-width:901px){.concept-picture img{object-position:center 35%}}
@media (max-width:900px){.concept-picture img{object-position:center 32%}.hero-photo{object-position:52% center}}
@media (max-width:520px){.hero-photo{object-position:55% center}.project-image img{object-position:center}}

/* V7 - WhatsApp : messages préremplis et accusé de réception facultatif */
.whatsapp-float{background:#168e51}
.whatsapp-float img{display:block;width:22px;height:22px;object-fit:contain;flex-shrink:0}
.wa-followup{margin:14px 0 24px;display:flex;gap:14px;padding:17px 18px;border:1px solid #a9dcc0;border-radius:15px;background:#eefaf2;color:#164a33}
.wa-followup-icon{flex-shrink:0;width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#158b4d;color:white;font-weight:850;font-size:20px}
.wa-followup strong{font-size:15px;line-height:1.4}
.wa-followup p{font-size:12px;line-height:1.7;margin:7px 0 11px;color:#426b52}
.wa-followup-link{display:inline-flex;padding:10px 14px;border-radius:10px;background:#168e51;color:white!important;font-size:12px;font-weight:800;text-decoration:none}
.wa-followup-link:hover{background:#0d7340}
.wa-feedback{font-size:12px;color:#60736a;line-height:1.7;margin:0 0 18px}
.wa-optin{background:#f2f8f4;border:1px solid #dbe9df;border-radius:12px;padding:12px;margin:11px 0}
.wa-quick-form{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#557264}
.wa-quick-form a{color:#147b47;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.wa-service-shortcuts{background:#eaf4ed;padding:64px 0 70px}
.wa-shortcut-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}
.wa-shortcut-head small{color:#ee781d;font-weight:850;font-size:10px;letter-spacing:2px}
.wa-shortcut-head h2{margin:10px 0;font:800 clamp(25px,3.2vw,40px)/1.2 var(--font);letter-spacing:-.8px;color:#093f35}
.wa-shortcut-head p{font-size:13px;line-height:1.8;color:#5a7364;max-width:620px}
.wa-shortcut-badge{background:white;border:1px solid #c8e7d2;padding:12px 15px;border-radius:30px;font-size:12px;font-weight:750;color:#16653a}
.wa-shortcut-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.wa-shortcut-grid a{display:flex;gap:5px;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #d8e8df;border-radius:15px;padding:21px 23px;transition:transform .2s ease,box-shadow .2s ease}
.wa-shortcut-grid a:hover,.wa-shortcut-grid a:focus-visible{transform:translateY(-2px);box-shadow:0 15px 35px #0d472021}
.wa-shortcut-grid strong{color:#0c4536;font-size:17px}
.wa-shortcut-grid small{color:#218753;font-size:12px;margin-top:9px;font-weight:750}
.wa-shortcut-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;color:white;background:#199a58;margin-bottom:13px;font-size:20px}
@media(max-width:780px){.wa-shortcut-head{flex-direction:column;align-items:flex-start}.wa-shortcut-grid{grid-template-columns:1fr}.wa-service-shortcuts{padding:38px 0}}
@media(prefers-reduced-motion:reduce){.wa-shortcut-grid a{transition:none}.wa-shortcut-grid a:hover{transform:none}}

/* BATI-NET V8 : coordonnées vérifiées, carte et crédit de développement. */
.footer-address{font-style:normal;margin:10px 0 3px;line-height:1.7}
.footer-address a{display:block;white-space:normal;overflow-wrap:anywhere}
.footer-website{font-weight:700;overflow-wrap:anywhere}
.footer-credit a{font-weight:800;color:#ffae75;text-decoration:underline;text-decoration-color:rgba(255,174,117,.5);text-underline-offset:3px}
.footer-credit a:hover,.footer-credit a:focus-visible{color:#fff;text-decoration-color:#fff}
