.button-whatsapp { display:inline-flex; justify-content:center; align-items:center; gap:12px; background:#14804a; color:#fff; border:1px solid #14804a; text-decoration:none; font-weight:700; }
.button-whatsapp:hover { background:#0f6a3c; border-color:#0f6a3c; }
.button-whatsapp svg { width:20px; height:20px; }
.success-view .button { margin:9px 5px; }
.success-view .status-small { display:block; max-width:440px; margin:7px auto 20px; font-size:12px; line-height:1.7; color:#718164; }
.cart-summary .summary-row.total { align-items:flex-start; gap:16px; }
.cart-summary .summary-row.total>span:last-child { text-align:right; font-size:19px; }
.form-total { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.form-total strong { font-size:20px; }
#product-form[data-price-mode=on_request] .variant-row { grid-template-columns:minmax(0,2fr) minmax(0,1fr) 40px; }
#product-form [data-price-field-label][hidden],#product-form label[hidden] { display:none; }
.variant-grid .admin-note { font-size:13px; }
.admin-dialog .button-whatsapp { width:100%; min-height:52px; margin:6px 0 22px; border-radius:12px; font-size:14px; box-shadow:0 8px 20px #14804a2e; }
@media(max-width:800px) { #product-grid .price { font-size:19px; }.cart-summary .summary-row.total>span:last-child { font-size:17px; }.success-view .button-whatsapp { width:100%; margin-left:0; margin-right:0; } }
@media(max-width:520px) { #product-form[data-price-mode=on_request] .variant-row { grid-template-columns:minmax(0,1fr) 80px 30px; gap:9px; }.form-total strong { font-size:18px; } }

/* ---- Écran « Commande enregistrée » ---- */
.success-view .success-next { margin:6px 0 16px; font-size:15px; font-weight:600; color:#2f4a38; }
.success-view .success-message { margin:0 0 6px; font-size:14px; color:#6c7c66; }
.success-view .button-whatsapp-large { display:flex; width:100%; max-width:420px; min-height:60px; margin:0 auto; padding:14px 22px; border-radius:12px; font-size:16px; gap:12px; box-shadow:0 10px 24px #14804a38; }
.button-whatsapp-large .icon { width:26px; height:26px; }
.success-links { display:flex; justify-content:center; flex-wrap:wrap; gap:6px 24px; margin-top:20px; }
.link-button { padding:6px 2px; background:none; color:#4e6c3a; font-size:13px; font-weight:650; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.link-button:hover { color:#2d5239; }

/* ---- Icône de discussion WhatsApp flottante ---- */
.whatsapp-float { position:fixed; right:22px; bottom:calc(22px + env(safe-area-inset-bottom)); z-index:90; display:flex; flex-direction:column; align-items:flex-end; gap:14px; pointer-events:none; }
.whatsapp-float[hidden] { display:none; }
.whatsapp-float>* { pointer-events:auto; }
.whatsapp-fab { position:relative; display:inline-flex; align-items:center; justify-content:center; min-width:62px; height:62px; padding:0 17px; border-radius:31px; background:#1a9b4b; color:#fff; text-decoration:none; overflow:hidden; box-shadow:0 12px 30px #0b3d2255,0 2px 6px #0b3d2240; animation:whatsapp-ring 3.2s ease-out infinite; transition:background .2s,transform .2s,box-shadow .2s; }
.whatsapp-fab:hover,.whatsapp-fab:focus-visible { background:#14804a; transform:translateY(-2px); }
.whatsapp-fab .icon { width:30px; height:30px; }
.whatsapp-fab-label { max-width:0; overflow:hidden; white-space:nowrap; font-size:14px; font-weight:700; opacity:0; transition:max-width .3s,opacity .2s,margin .3s; }
@media(hover:hover) { .whatsapp-fab:hover .whatsapp-fab-label,.whatsapp-fab:focus-visible .whatsapp-fab-label { max-width:210px; margin-left:12px; opacity:1; } }
@keyframes whatsapp-ring { 0% { box-shadow:0 12px 30px #0b3d2255,0 0 0 0 #1a9b4b66; } 70%,100% { box-shadow:0 12px 30px #0b3d2255,0 0 0 18px #1a9b4b00; } }
.whatsapp-greeting { position:relative; display:flex; align-items:stretch; width:min(270px,calc(100vw - 44px)); background:#fff; border:1px solid #dde7d6; border-radius:16px; box-shadow:0 16px 40px #12301f2e; animation:whatsapp-pop .35s ease both; }
.whatsapp-greeting[hidden] { display:none; }
.whatsapp-greeting::after { content:''; position:absolute; right:24px; bottom:-7px; width:14px; height:14px; background:#fff; border-right:1px solid #dde7d6; border-bottom:1px solid #dde7d6; transform:rotate(45deg); }
.whatsapp-greeting-text { display:block; flex:1; padding:14px 8px 14px 16px; color:#26402f; text-decoration:none; font-size:13px; line-height:1.55; }
.whatsapp-greeting-text strong { display:block; font-size:14px; color:#16432b; }
.whatsapp-greeting-text span { color:#5f7367; }
.whatsapp-greeting-close { align-self:flex-start; display:grid; place-items:center; width:34px; height:34px; margin:6px 6px 0 0; border-radius:50%; background:none; color:#7a8b80; }
.whatsapp-greeting-close:hover { background:#eef3e9; color:#26402f; }
.whatsapp-greeting-close .icon { width:16px; height:16px; }
@keyframes whatsapp-pop { from { opacity:0; transform:translateY(8px) scale(.97); } to { opacity:1; transform:none; } }
@media(max-width:800px) {
  .success-view { padding:4px 0 0; }
  .success-view .success-icon { width:52px; height:52px; margin-bottom:12px; }
  .success-view .success-icon .icon { width:24px; height:24px; }
  .success-view h2 { font-size:26px; }
  .success-view .reference-box { margin:14px 0; padding:11px; font-size:17px; }
}
@media(max-width:800px) { .whatsapp-float { right:16px; bottom:calc(16px + env(safe-area-inset-bottom)); } .whatsapp-fab { min-width:58px; height:58px; padding:0 15px; border-radius:29px; } }
@media(prefers-reduced-motion:reduce) { .whatsapp-fab,.whatsapp-greeting { animation:none; } }
@media print { .whatsapp-float { display:none; } }

/* ---- Coordonnées de l’entreprise (pied de page, barre du haut, fenêtre de contact) ---- */
.topbar .topbar-contact { gap:20px; }
.topbar .topbar-contact[hidden] { display:none; }
.topbar .topbar-contact a,.topbar .topbar-contact span { display:inline-flex; align-items:center; gap:7px; color:inherit; }
.contact-list { display:grid; gap:12px; margin:18px 0 22px; padding:0; list-style:none; }
.contact-list li { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.55; color:#34503f; white-space:pre-line; overflow-wrap:anywhere; }
.contact-list .icon { width:19px; height:19px; margin-top:2px; color:#5f8447; }
.contact-list li:has(.icon path[fill]) .icon { color:#14804a; }
.contact-list a { color:inherit; text-decoration:none; }
.contact-list a:hover { color:#14804a; text-decoration:underline; text-underline-offset:3px; }
.contact-actions { display:flex; flex-wrap:wrap; gap:10px; }
.contact-actions .button { flex:1 1 220px; margin:0; }
.footer-main { grid-template-columns:1.2fr .8fr .95fr 1.4fr; }
.footer-identity { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.footer-identity .footer-brand { margin-inline-start:-9px; }
.footer-identity .footer-brand .brand-logo { width:clamp(184px, 45vw, 218px); max-height:none; }
.footer-main > .footer-identity > .footer-tagline { margin:0; }
.footer-contact h3 { margin-bottom:16px; }
.footer-contact .contact-list { gap:11px; margin:0 0 18px; }
.footer-contact .contact-list li { font-size:13.5px; color:#566a5b; }
.footer-contact .contact-list .icon { width:16px; height:16px; margin-top:3px; }
.footer-contact .footer-contact-button { display:inline-flex; align-items:center; gap:10px; margin:0; padding:10px 16px; border-radius:999px; background:#e7edda; color:#335b3d; font-size:13px; font-weight:700; }
.footer-contact .footer-contact-button:hover { background:#dbe5c6; }
.footer-contact .footer-contact-button .icon { width:15px; height:15px; }
@media(max-width:1050px) {
  .footer-main { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .footer-main>div:first-child { grid-column:1/-1; }
}
@media(max-width:800px) {
  .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main .footer-contact { grid-column:1/-1; }
}

/* Footer: keep legal links clear of the floating WhatsApp button */
.footer-bottom { padding-right:88px; }
@media(max-width:800px){ .footer-bottom { padding-right:76px; padding-bottom:24px; flex-wrap:wrap; } }

.footer-credit { color:#24382b; font-size:12px; }
.footer-credit a { font-weight:650; text-decoration:underline; text-underline-offset:3px; }
.footer-credit .footer-github-icon { width:16px; height:16px; margin-inline-start:5px; vertical-align:-3px; }

@media(max-width:800px) {
  .footer-main > .footer-identity > .footer-tagline { font-size:13px; line-height:1.65; }
}
