/* Loaded on every page by the shared footer, with contact.js: "Une question ?" assistant, WhatsApp buttons on the cards,
   listing reference, sold badge, docked header search on phones. Colours fall back for the pages without styles.css (shops). */
:root{--wa-green:#25d366}

.contact-assistant{position:fixed;right:22px;bottom:22px;z-index:60;display:grid;justify-items:end;gap:10px;pointer-events:none}
.assistant-launcher,.assistant-panel{pointer-events:auto}
.assistant-launcher{display:flex;align-items:center;gap:10px;border:2px solid var(--ink,#20231f);border-radius:999px;background:var(--paper,#f4f0e7);padding:12px 17px;color:var(--ink,#20231f);box-shadow:0 10px 30px rgba(20,22,19,.16);font:700 13px var(--sans,"DM Sans",sans-serif);cursor:pointer}
.assistant-bubble{width:17px;height:14px;border:2px solid currentColor;border-radius:5px;position:relative}
.assistant-bubble::after{content:"";position:absolute;left:2px;bottom:-5px;width:5px;height:5px;border-left:2px solid currentColor;transform:skewY(-35deg)}
.assistant-whatsapp{display:none}
.assistant-panel{width:min(370px,calc(100vw - 28px));padding:20px;border:2px solid var(--ink,#20231f);border-radius:var(--radius,18px);background:var(--paper,#f4f0e7);color:var(--ink,#20231f);box-shadow:0 20px 60px rgba(20,22,19,.25);font-family:var(--sans,"DM Sans",sans-serif)}
.assistant-panel[hidden]{display:none}
.assistant-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.assistant-panel header div{display:grid;gap:3px}.assistant-panel header small{color:var(--muted,#70766d);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.assistant-panel header strong{font-size:18px}
.assistant-panel header button{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:inherit}
.assistant-panel>p{margin:14px 0;color:var(--muted,#70766d);font-size:12px;line-height:1.45}
.assistant-panel form{display:grid;gap:10px}.assistant-panel label{font-size:12px;font-weight:700}
.assistant-panel textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:88px;padding:12px;border:1px solid var(--line,#d9d3c7);border-radius:10px;background:#fff;font:400 14px/1.45 var(--sans,"DM Sans",sans-serif);color:var(--ink,#20231f)}
.assistant-panel .button{width:100%}

/* Phones: a round WhatsApp button in black and white (discreet), same height and line as the docked search field */
@media(max-width:700px){
  .contact-assistant{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}
  .assistant-launcher{width:52px;height:52px;padding:0;justify-content:center;background:var(--paper,#f4f0e7);color:var(--ink,#20231f)}
  .assistant-launcher strong,.assistant-bubble{display:none}
  .assistant-whatsapp{display:grid;place-items:center}
  .assistant-panel{max-height:calc(100dvh - 90px);overflow:auto}
}

/* WhatsApp button on the listing cards: on hover with a mouse, always shown on touch screens */
.card-whatsapp{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--ink,#20231f);border-radius:50%;background:var(--wa-green);color:#fff;cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .2s,transform .2s}
.product-card:hover .card-whatsapp,.product-card:focus-within .card-whatsapp,.card-whatsapp:focus-visible{opacity:1;transform:none}
.card-whatsapp:focus-visible{outline:3px solid rgba(215,154,125,.8);outline-offset:2px}
@media(hover:none){.card-whatsapp{opacity:1;transform:none;width:38px;height:38px}}

/* Sold listings */
.card-sold{position:absolute;top:10px;left:10px;z-index:2;padding:7px 11px;border-radius:999px;background:var(--ink,#20231f);color:#fff;font:700 10px var(--sans,"DM Sans",sans-serif);text-transform:uppercase;letter-spacing:.12em}
.product-card.is-sold img{filter:saturate(.8)}
.product-card.is-sold .product-price{color:var(--muted,#70766d)}

/* Listing reference on the product page */
.product-ref{margin:-4px 0 18px;color:var(--muted,#70766d);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* Phones: once the header search has scrolled away it docks at the bottom, left of the WhatsApp button */
@media(max-width:700px){
  /* backdrop-filter on the header would trap the fixed field inside it */
  body.header-search-docked .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  body.header-search-docked .header-search-form{position:fixed;left:14px;right:76px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:55;width:auto;height:52px;margin:0;box-shadow:0 10px 30px rgba(20,22,19,.22)}
  /* Suggestions open upwards above the docked field */
  body.header-search-docked .search-suggest{top:auto;bottom:calc(100% + 8px);max-height:60vh;overflow:auto}
  body.header-search-docked .site-footer{padding-bottom:96px}
}

/* Catalogue pages dock their own search bar (styles.css): same height as the round button */
@media(max-width:700px){body.search-docked .search-wrap{height:52px;box-sizing:border-box}}
