/* Presentation-only layer: homepage, map geometry, routes and actions stay unchanged. */
.wt-warm{--wt-ink:var(--wt-secondary);--wt-sun:var(--wt-primary);--wt-sea:var(--wt-surface-muted);--wt-paper:var(--wt-background);--wt-rest:var(--wt-surface-rest);--wt-line:#411c3c24;--wt-shadow:0 2px 8px #411c3c0a;--wt-soft-shadow:0 2px 8px #411c3c08;color:var(--wt-ink)}
.wt-warm main{background:var(--wt-paper)}
.wt-warm main .wt-button{border:1px solid var(--wt-ink);background:var(--wt-ink);color:var(--wt-paper);box-shadow:3px 3px 0 var(--wt-sun);transition:box-shadow .16s ease,background-color .16s ease}
.wt-warm main .wt-button:hover:not(:disabled){background:var(--wt-sun);color:var(--wt-ink);box-shadow:1px 1px 0 var(--wt-ink)}
.wt-warm main .wt-button:disabled{box-shadow:none;opacity:.55;cursor:not-allowed}
.wt-warm main :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--wt-ink);outline-offset:3px}
.wt-warm main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){background:#fff;color:var(--wt-ink);border-color:var(--wt-line);border-radius:6px}
.wt-warm main .text-link{color:var(--wt-ink);text-decoration-thickness:2px;text-underline-offset:5px}
.wt-warm main .wt-notice{background:#fff;border:1px solid var(--wt-ink);border-left:6px solid var(--wt-sun);border-radius:4px;color:var(--wt-ink)}
.wt-warm .wtp-map-notice{background:#fff;border:1px solid var(--wt-ink);border-left:7px solid var(--wt-sun);box-shadow:3px 3px 0 var(--wt-sea);border-radius:4px}
.wt-warm .wtp-map-search{background:#fff;border:1px solid var(--wt-line);padding:12px 12px 12px 26px;border-radius:999px}
.wt-warm .wtp-map-search .wt-button{background:var(--wt-sun);color:var(--wt-ink);box-shadow:3px 3px 0 var(--wt-ink)}
.wt-warm .wtp-nearby button{background:#fff;box-shadow:2px 2px 0 var(--wt-sea)}
.wt-warm .wtp-map-panel .wtp-map-zone-search{background:var(--wt-paper);color:var(--wt-ink);box-shadow:3px 3px 0 var(--wt-ink)}
.wt-warm .wtp-place{background:#fff;border:1px solid var(--wt-line);border-top:4px solid var(--wt-sun);border-radius:8px;transition:border-color .16s ease}
.wt-warm .wtp-place:hover{border-color:var(--wt-ink)}
.wt-warm .wtp-place .wtp-category-picto{background:var(--wt-paper);border:0;border-radius:50%}
.wt-warm .wtp-favorite-icon{background:var(--wt-paper);box-shadow:none}
.wt-warm .wtp-favorite-icon.is-saved{background:var(--wt-sun);border-color:var(--wt-ink)}
.wt-warm .wt-e-category>span{background:var(--wt-sea);padding:6px 12px;border-radius:4px;color:var(--wt-ink)}
.wt-warm .wt-e-trust{background:#fff;border:1px solid var(--wt-line);border-left:4px solid var(--wt-sun)}
.wt-warm .wt-e-content>section:first-child{background:var(--wt-rest);border:1px solid var(--wt-line);padding:24px;border-radius:4px}
.wt-warm .wt-e-action{background:var(--wt-sun);border:1px solid var(--wt-ink);box-shadow:var(--wt-shadow)}
.wt-warm .wt-e-action .wt-button{background:var(--wt-paper);color:var(--wt-ink);box-shadow:3px 3px 0 var(--wt-ink)}
.wt-warm .wt-e-action h2{font-size:24px}
.wt-warm .wt-e-professional{border-top:3px solid var(--wt-sea);margin-top:28px}
.wt-warm .wt-e-placeholder{background:var(--wt-rest);border:1px solid var(--wt-line)}
.wt-warm .wt-e-photo{border:1px solid var(--wt-line)}
.wt-warm .wt-e-photo-label{border:1px solid var(--wt-ink);box-shadow:2px 2px 0 var(--wt-sun)}
.wt-warm .wt-e-share summary{background:#fff;box-shadow:2px 2px 0 var(--wt-sea)}
.wt-warm .wt-e-share-panel{border-color:var(--wt-ink);box-shadow:var(--wt-soft-shadow)}
.wt-warm .wtp-auth-hero{background:var(--wt-sea);border:1px solid var(--wt-ink);padding:clamp(24px,4vw,44px);border-radius:6px;box-shadow:5px 5px 0 var(--wt-sun)}
.wt-warm .wtp-auth-hero .section-label{display:inline-block;padding:7px 12px;background:var(--wt-paper);border:1px solid var(--wt-ink);box-shadow:3px 3px 0 var(--wt-ink);color:var(--wt-ink)}
.wt-warm .wtp-auth-hero p:last-child{color:var(--wt-ink)}
.wt-warm :is(.wtp-account-entry>section,.wtp-login-card){border:1px solid var(--wt-ink);border-radius:6px;background:#fff;box-shadow:var(--wt-soft-shadow)}
.wt-warm .wtp-member-card{border-top:7px solid var(--wt-sun)!important}
.wt-warm .wtp-pro-card{border-top:7px solid var(--wt-sea)!important}
.wt-warm .wtp-login-card{border-top:7px solid var(--wt-sun)}
.wt-warm .wtp-member-hero{border:1px solid var(--wt-ink);border-radius:6px;box-shadow:5px 5px 0 var(--wt-ink)}
.wt-warm .wtp-dashboard>section{border:1px solid var(--wt-line);border-radius:6px;background:#fff;border-top:6px solid var(--wt-sea)}
.wt-warm .wtp-dashboard #favoris,.wt-warm .wtp-dashboard #chiens{border-top-color:var(--wt-sun)}
.wt-warm .wtp-dashboard #contributions{border-top-color:var(--wt-ink)}
.wt-warm .wtp-tabs a{background:#fff;border:1px solid var(--wt-line);color:var(--wt-ink)}
.wt-warm .wtp-tabs a:hover{background:var(--wt-sea)}
.wt-warm .wtp-chip{background:var(--wt-paper);border:1px solid var(--wt-line);color:var(--wt-ink)}
.wt-warm .wtp-contribution-list>li{border-left:4px solid var(--wt-sea);padding-left:16px}
.wt-warm-espace-pro main section>h2{border-left:5px solid var(--wt-sun);padding-left:14px}
.wt-warm .article-card{background:#fff;border:1px solid var(--wt-line);border-bottom:5px solid var(--wt-sea);border-radius:6px;overflow:hidden}
.wt-warm .article-card:hover{border-bottom-color:var(--wt-sun)}
.wt-warm .article-category{background:var(--wt-sun);color:var(--wt-ink);padding:6px 12px;border-radius:4px}
.wt-warm .article-heading{border-bottom:3px solid var(--wt-sea);padding-bottom:28px}
.wt-warm .article-prose blockquote{background:var(--wt-rest);border-left:3px solid var(--wt-sun);padding:20px;color:var(--wt-ink)}
@media(max-width:760px){.wt-warm .wtp-map-search{padding:12px}.wt-warm .wtp-auth-hero{box-shadow:3px 3px 0 var(--wt-sun)}.wt-warm .wt-e-action{box-shadow:3px 3px 0 var(--wt-ink)}.wt-warm .wt-e-content>section:first-child{padding:20px}}
@media(prefers-reduced-motion:reduce){.wt-warm main .wt-button,.wt-warm .wtp-place{transition:none}}
/* Refined surfaces: neutral accents; category artwork retains its own colours. */
.wt-warm main .wt-button,.wt-warm main .wt-button:hover:not(:disabled){box-shadow:none}
.wt-warm .wtp-auth-hero,.wt-warm .wtp-member-hero{box-shadow:none}
.wt-warm :is(.wtp-member-card,.wtp-pro-card,.wtp-login-card,.wtp-dashboard>section){border-top-width:2px!important}
.wt-warm .article-card{border-bottom-width:2px}
.wt-warm .wtp-place{border-top:1px solid var(--wt-line);padding:20px;gap:10px}
.wt-warm .wtp-map-notice{background:none;border:0;box-shadow:none;padding:0 12px;margin:10px 0;font-size:12px;line-height:1.5;font-weight:400;color:#706970}
.wt-warm .wtp-map-search{align-items:center;gap:24px;flex-wrap:nowrap;margin:0;box-shadow:0 3px 8px #411c3c08}
.wt-warm .wtp-map-search label{font-size:12px;font-weight:700;gap:2px;min-width:0}
.wt-warm .wtp-map-search label:first-of-type{border-right:1px solid var(--wt-line);padding-right:24px}
.wt-warm main .wtp-map-search :is(input:not([type=hidden]),select){border:0;border-radius:0;background:transparent;padding:0;min-height:30px;height:30px;font-size:14px;box-shadow:none}
.wt-warm .wtp-map-search .wt-button{background:var(--wt-ink);color:var(--wt-paper);padding:14px 24px;min-height:46px;font-size:14px;flex-shrink:0}
.wt-warm .wtp-nearby button{box-shadow:none;font-size:13px;padding:8px 14px}
.wt-warm .wtp-nearby p{font-size:12px;color:#706970}
.wt-warm .wtp-map-panel .wtp-map-zone-search,.wt-warm .wtp-map-panel .wtp-map-zone-search:hover,.wt-warm .wtp-map-panel .wtp-map-zone-search:active{transform:translateX(-50%);box-shadow:0 2px 8px #411c3c18;font-weight:600}
.wt-warm-carte .wtp-map-results .wtp-place{gap:8px 12px;grid-template-columns:44px minmax(0,1fr)}
.wt-warm-carte .wtp-map-results .wtp-place>*{grid-column:1/-1}
.wt-warm-carte .wtp-map-results .wtp-place .wtp-category-picto{position:static;width:32px;height:32px;padding:6px;border-radius:50%;grid-column:1;grid-row:1}
.wt-warm-carte .wtp-map-results .wtp-place h3{grid-column:2;grid-row:1;padding-left:0;padding-right:64px;min-height:44px;display:flex;align-items:center;font-size:19px;line-height:1.3;margin:0}
.wt-warm-carte .wtp-map-results .wtp-place:has(.wtp-place-photo) .wtp-place-photo{grid-row:1}
.wt-warm-carte .wtp-map-results .wtp-place:has(.wtp-place-photo) .wtp-category-picto,.wt-warm-carte .wtp-map-results .wtp-place:has(.wtp-place-photo) h3{grid-row:2}
.wt-warm-carte .wtp-map-results .wtp-place:has(.wtp-place-photo) h3{padding-right:0}
.wt-warm-carte .wtp-map-results .wtp-place h3+p{font-size:14px;margin:0}
.wt-warm-carte .wtp-map-results .wtp-place>p{line-height:1.5}
.wt-warm-carte .wtp-favorite-icon,.wt-warm-carte .wtp-nearby button{background:#f3f3f3;color:#411c3c;border:2px solid #411c3c;border-radius:12px;box-shadow:4px 6px 0 #411c3c;transform:none;transition:transform .16s ease,box-shadow .16s ease}
.wt-warm-carte .wtp-favorite-icon.is-saved{background:#f3f3f3;border-color:#411c3c}
.wt-warm-carte .wtp-nearby{gap:16px;margin-bottom:16px}
.wt-warm-carte .wtp-nearby button{min-height:44px;padding:9px 16px;font-weight:700}
.wt-warm-carte .wtp-place:hover .wtp-favorite-icon,.wt-warm-carte .wtp-favorite-icon:hover,.wt-warm-carte .wtp-nearby button:hover:not(:disabled){background:#f3f3f3;transform:rotate(-2deg)}
.wt-warm-carte .wtp-place .wtp-favorite-icon:active,.wt-warm-carte .wtp-nearby button:active:not(:disabled){transform:translate(3px,4px) rotate(-2deg);box-shadow:1px 2px 0 #411c3c}
.wt-warm-carte .wtp-nearby button:disabled{transform:none;box-shadow:1px 2px 0 #411c3c;opacity:.6}
@media(prefers-reduced-motion:reduce){.wt-warm-carte .wtp-favorite-icon,.wt-warm-carte .wtp-nearby button{transition:none!important;transform:none!important}}
@media(max-width:760px){.wt-warm .wtp-map-search{padding:16px;border-radius:22px;gap:14px}.wt-warm .wtp-map-search label:first-of-type{border-right:0;border-bottom:1px solid var(--wt-line);padding:0 0 12px}.wt-warm .wtp-map-notice{padding:0 4px}.wt-warm .wtp-map-search .wt-button{width:100%}}
