/* Marche de Royan : pages annuaire (categories, recherche) */
.cth{position:relative;overflow:hidden;padding:calc(var(--hdh,90px) + clamp(46px,6vw,80px)) 0 clamp(46px,6vw,70px);color:#fff;background:radial-gradient(70% 90% at 85% 0%,rgba(61,143,214,.28),transparent 70%),linear-gradient(160deg,#13263f 0%,#0d1b2e 55%,#08121f 100%)}
.cth-bc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;font-weight:600;color:rgba(255,255,255,.55)}
.cth-bc a{color:rgba(255,255,255,.82);text-decoration:none}
.cth-bc a:hover{color:#fff}
.cth-bc b{font-weight:700;color:#a9d1f3}
.cth h1{margin:0 0 12px;font-size:clamp(34px,5.4vw,62px);line-height:1.02;color:#fff}
.cth p{max-width:680px;margin:0;font-size:16.5px;line-height:1.65;color:rgba(255,255,255,.8)}
.cth-s{display:flex;gap:8px;max-width:820px;margin-top:28px;padding:7px;border-radius:18px;background:#fff;box-shadow:0 26px 60px -24px rgba(0,0,0,.6)}
.cth-f{position:relative;display:flex;align-items:center;gap:10px;min-width:0;height:52px;padding:0 14px;border-radius:12px;background:#f3f6fa;color:#2b2f36;transition:background .15s,box-shadow .15s}
.cth-f:focus-within{background:#fff;box-shadow:inset 0 0 0 2px #3d8fd6}
.cth-q{flex:1.4;cursor:text}
.cth-c{flex:1;cursor:pointer}
.cth-f svg{flex:none;width:17px;height:17px;color:#3d8fd6}
.cth-f input,.cth-f select{all:unset;flex:1;min-width:0;font-size:15px;font-weight:600;color:#2b2f36;text-align:left}
.cth-f input::placeholder{color:#7c8594;font-weight:500}
.cth-f select{display:block;box-sizing:border-box;-webkit-appearance:none;appearance:none;height:52px;line-height:52px;padding-right:24px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cth-f select option{color:#2b2f36;background:#fff}
.cth-f .cth-ch{position:absolute;right:12px;width:15px;height:15px;color:#7c8594;pointer-events:none}
.cth-s button{all:unset;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:12px;font-size:16px;font-weight:800;color:#fff;background:#3d8fd6;transition:background .15s,transform .15s}
.cth-s button:hover{background:#2f78bd}
.cth-s button:active{transform:scale(.97)}
.ctl{padding:clamp(30px,4vw,50px) 0 clamp(70px,9vw,110px);background:#f3f6fa}
.ctl-pills{display:flex;gap:8px;margin:0 0 28px;padding:2px 0 6px;overflow-x:auto;scrollbar-width:none}
.ctl-pills::-webkit-scrollbar{display:none}
.ctl-pills a{flex:none;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:700;color:#0d1b2e;text-decoration:none;background:#fff;border:1px solid rgba(13,27,46,.1);transition:background .15s,color .15s,border-color .15s}
.ctl-pills a:hover{color:#3d8fd6;border-color:#3d8fd6}
.ctl-pills a.on{color:#fff;background:#0d1b2e;border-color:#0d1b2e}
.ctl-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ctl-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 20px;text-align:center;border-radius:22px;background:#fff;border:1px dashed rgba(13,27,46,.18)}
.ctl-empty svg{width:44px;height:44px;color:#3d8fd6;opacity:.6}
.ctl-empty b{font-size:19px;color:#0d1b2e}
.ctl-empty span{font-size:14.5px;color:rgba(43,47,54,.65)}
.ctl-empty a{display:inline-flex;align-items:center;height:46px;margin-top:10px;padding:0 22px;border-radius:12px;font-weight:700;color:#fff;text-decoration:none;background:#3d8fd6}
@media (max-width:1000px){.ctl-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cth-s{flex-direction:column}.cth-f,.cth-f select,.cth-s button{height:50px;line-height:50px}}
@media (max-width:620px){.ctl-g{grid-template-columns:1fr}}
.mrc{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:#fff;border:1px solid rgba(13,27,46,.07);box-shadow:0 2px 4px rgba(13,27,46,.04),0 18px 36px -24px rgba(13,27,46,.35);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;animation:mrcIn .5s cubic-bezier(.2,.8,.2,1) backwards}
.mrc:hover{transform:translateY(-6px);box-shadow:0 4px 8px rgba(13,27,46,.05),0 28px 50px -24px rgba(13,27,46,.45)}
.mrc-ph{position:relative;aspect-ratio:16/11;overflow:hidden;background:linear-gradient(135deg,#eaf3fb,#d4e6f7)}
.mrc-ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.mrc:hover .mrc-ph img{transform:scale(1.06)}
.mrc-ph0{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#3d8fd6;opacity:.5}
.mrc-ph0 svg{width:60px;height:60px}
.mrc .adh-st{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;color:#5b6370;background:rgba(255,255,255,.95);box-shadow:0 4px 14px -6px rgba(0,0,0,.35)}
.mrc .adh-st i{width:8px;height:8px;border-radius:50%;background:#9aa3ae}
.mrc .adh-st.on b{color:#15803d}
.mrc .adh-st.on i{background:#22c55e;animation:adhP 1.8s infinite}
.mrc .adh-st.off b{color:#b91c1c}
.mrc .adh-st.off i{background:#ef4444}
@keyframes adhP{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@keyframes mrcIn{from{opacity:0;transform:translateY(14px)}}
.mrc-fav{all:unset;cursor:pointer;position:absolute;top:12px;right:12px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;background:rgba(13,27,46,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s,color .2s,transform .15s}
.mrc-fav svg{width:18px;height:18px}
.mrc-fav:hover{background:rgba(13,27,46,.6)}
.mrc-fav:active{transform:scale(.9)}
.mrc-fav[aria-pressed="true"]{color:#e11d48;background:#fff}
.mrc-fav[aria-pressed="true"] svg{fill:currentColor}
.mrc-b{display:flex;flex:1;flex-direction:column;padding:20px 22px 0}
.mrc-b h3{margin:0;font-size:20px;line-height:1.25;color:#0d1b2e}
.mrc-banc{display:flex;align-items:center;gap:7px;margin:9px 0 0;font-size:14px;font-weight:700;color:#3d8fd6}
.mrc-banc svg{width:15px;height:15px}
.mrc-acc{margin:8px 0 0;font-size:14px;line-height:1.5;color:rgba(43,47,54,.72)}
.mrc-b .adh-hr{margin:6px 0 0;font-size:13px;color:rgba(43,47,54,.62)}
.mrc-b .adh-hr:empty{display:none}
.mrc-sp{flex:1;min-height:18px}
.mrc-cat{display:flex;align-items:center;gap:10px;padding:15px 0 18px;border-top:1px solid rgba(13,27,46,.08);font-size:13.5px;font-weight:700;color:#2b2f36}
.mrc-cat span{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:#3d8fd6}
.mrc-cat svg{width:15px;height:15px}
@media (prefers-reduced-motion:reduce){.mrc{animation:none}}
