.tpl-c-vert{--tpl-c:var(--sr-vert,#537c32)}
.tpl-c-bleu{--tpl-c:var(--sr-bleu,#2b67a6)}
.tpl-c-teal{--tpl-c:var(--sr-teal,#507e82)}
.tpl-c-ciel{--tpl-c:var(--sr-th-sports,#3d9ad9)}
.tpl-c-orange{--tpl-c:var(--sr-th-voirie,#e8731a)}
.tpl-c-magenta{--tpl-c:var(--sr-mag,#d60f6e)}
.tpl-c-grenat{--tpl-c:var(--sr-grenat,#9d1b38)}
.tpl-c-anis{--tpl-c:var(--sr-anis,#b9cd2b)}
.tpl-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:28px 0}
.tpl-carte{padding:24px;border:1px solid var(--sr-trait,#d6e2ea);border-radius:16px;background:#fff}
.tpl-carte-pastille{display:block;width:34px;height:34px;margin-bottom:12px;border-radius:10px;background:var(--tpl-c,#537c32)}
.tpl-cartes .tpl-carte>.wp-block-heading{margin:0 0 8px;font-size:1.05rem;letter-spacing:-.01em;line-height:1.3}
.tpl-cartes .tpl-carte>:is(.wp-block-paragraph,.wp-block-list){margin:0 0 10px;font-size:.95rem;line-height:1.6}
.tpl-cartes .tpl-carte>:last-child{margin-bottom:0}
.tpl-pratique{display:grid;gap:1px;margin:28px 0;overflow:hidden;border:1px solid var(--sr-trait,#d6e2ea);border-radius:18px;background:var(--sr-trait,#d6e2ea)}
.tpl-pratique-col{padding:26px 28px;background:#fff}
.tpl-pratique .tpl-pratique-col>.wp-block-heading{margin:0 0 9px;font-size:1.05rem;letter-spacing:-.01em;line-height:1.3}
.tpl-pratique .tpl-pratique-col>:is(.wp-block-paragraph,.wp-block-list){margin:0 0 12px;font-size:.95rem;line-height:1.7}
.tpl-pratique .tpl-pratique-col>:last-child{margin-bottom:0}
.tpl-docs{margin:44px 0 0}
.tpl-docs>.wp-block-heading{margin-top:0}
.tpl-docs-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,calc(50% - 6px))),1fr));gap:12px}
:is(.tpl-docs,.tpl-fichier) .tpl-doc{display:flex;align-items:center;gap:16px;padding:16px 20px 16px 16px;border:1px solid var(--sr-trait,#d6e2ea);border-radius:14px;background:#fff;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--sr-encre,#0f2e3f);transition:border-color .18s,transform .18s,box-shadow .2s}
:is(.tpl-docs,.tpl-fichier) .tpl-docs-liste a.tpl-doc:not(.wp-element-button){text-decoration:none;color:var(--sr-encre,#0f2e3f)}
:is(.tpl-docs,.tpl-fichier) .tpl-docs-liste a.tpl-doc:not(.wp-element-button):hover{text-decoration:none;color:var(--sr-encre,#0f2e3f);border-color:var(--sr-bleu,#2b67a6);box-shadow:0 1px 2px rgba(15,46,63,.06),0 10px 20px -9px color-mix(in srgb,var(--sr-bleu,#2b67a6) 52%,transparent);transform:translateY(-2px)}
:is(.tpl-docs,.tpl-fichier) .tpl-docs-liste a.tpl-doc:focus-visible{outline:3px solid var(--sr-mag,#d60f6e);outline-offset:2px}
.tpl-doc-ic{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:var(--sr-bleu,#2b67a6);color:#fff;transition:transform .2s}
.tpl-doc-ic svg{width:22px;height:22px}
.tpl-doc-ic:empty{background:var(--sr-bleu,#2b67a6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M6 2.5h8l5.5 5.5V21a1.5 1.5 0 0 1-1.5 1.5H6A1.5 1.5 0 0 1 4.5 21V4A1.5 1.5 0 0 1 6 2.5z'/%3E%3Cpath d='M14 2.5V8h5.5'/%3E%3C/svg%3E") center/22px no-repeat}
.tpl-doc:hover .tpl-doc-ic{transform:rotate(-6deg) scale(1.06)}
.tpl-doc-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.tpl-doc-nom{overflow-wrap:anywhere}
.tpl-doc-meta{font-size:.8rem;font-weight:500;color:var(--sr-gris,#4a5f6c)}
.tpl-gpx{margin:32px 0}
.tpl-gpx .sr-gpx-map{height:clamp(320px,60vh,520px);overflow:hidden;border-radius:18px;background:var(--sr-blancgris,#f4f6f8);isolation:isolate}
.tpl-gpx-legende{margin-top:10px;font-size:.9rem;color:var(--sr-gris,#4a5f6c)}
.tpl-fichier{margin:28px 0}
.wp-block-buttons{margin:28px 0}
.wp-block-buttons>.wp-block-button>.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 24px;border:2px solid transparent;border-radius:var(--sr-radius-s,12px);background:var(--sr-mag,#d60f6e);font-family:var(--sr-font-text,inherit);font-size:1rem;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;color:#fff;transition:background-color .18s,color .18s,border-color .18s}
.wp-block-buttons>.wp-block-button>.wp-block-button__link:hover{background:var(--sr-encre,#0f2e3f);color:#fff}
.wp-block-buttons>.wp-block-button>.wp-block-button__link:focus-visible{outline:3px solid var(--sr-mag,#d60f6e);outline-offset:3px}
.wp-block-buttons>.wp-block-button.is-style-secondaire>.wp-block-button__link{background:var(--sr-encre,#0f2e3f)}
.wp-block-buttons>.wp-block-button.is-style-secondaire>.wp-block-button__link:hover{background:var(--sr-mag,#d60f6e)}
.wp-block-buttons>.wp-block-button.is-style-outline>.wp-block-button__link{border-color:var(--sr-encre,#0f2e3f);background:transparent;color:var(--sr-encre,#0f2e3f)}
.wp-block-buttons>.wp-block-button.is-style-outline>.wp-block-button__link:hover{background:var(--sr-encre,#0f2e3f);color:#fff}
@media (min-width:640px){
.tpl-pratique{grid-template-columns:1fr 1fr}
.tpl-pratique-col:last-child:nth-child(odd){grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
:is(.tpl-docs,.tpl-fichier) .tpl-doc,.tpl-doc-ic{transition:none}
:is(.tpl-docs,.tpl-fichier) .tpl-docs-liste a.tpl-doc:not(.wp-element-button):hover,.tpl-doc:hover .tpl-doc-ic{transform:none}
}
