/* VSGYM Élan 1.4.26 — Tarifs / cotisations, strictement limités à .vsgym-tarifs */
.vsgym-tarifs{--vt-blue:#009eff;--vt-ink:#071b2a;--vt-muted:#496575;--vt-line:#d8e7f1;color:var(--vt-ink);max-width:1160px;margin:64px auto 54px;padding:0 24px;font-family:Barlow,Arial,sans-serif;font-size:16px;line-height:1.55}
.vsgym-tarifs *{box-sizing:border-box}
.vsgym-tarifs__head{max-width:850px;margin:0 0 27px}
.vsgym-tarifs__head h2{font:400 clamp(37px,5vw,68px)/1.06 "Bebas Neue",Impact,sans-serif;letter-spacing:.01em;margin:13px 0 15px;color:#000}
.vsgym-tarifs__head h2 span{color:var(--vt-blue)}
.vsgym-tarifs__head>p:last-child{font-size:clamp(17px,1.7vw,20px);color:var(--vt-muted);margin:0}
.vsgym-tarifs__eyebrow{margin:0;font:700 13px/1.5 Barlow,Arial,sans-serif;letter-spacing:.14em;color:#006f9e;text-transform:uppercase}
.vsgym-tarifs__benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--vt-line);border:1px solid var(--vt-line);margin:26px 0 24px;overflow:hidden;border-radius:8px}
.vsgym-tarifs__benefits>div{background:#f5faff;padding:19px 21px;display:flex;flex-direction:column;gap:5px;min-width:0}
.vsgym-tarifs__benefits strong{font-weight:800;color:#062b40;font-size:16px}
.vsgym-tarifs__benefits span{color:#476071;font-size:14px}
.vsgym-tarifs__table-wrap{overflow:auto;border:1px solid var(--vt-line);border-radius:7px}
.vsgym-tarifs__table{border-collapse:collapse;width:100%;border-spacing:0;min-width:690px;background:#fff;margin:0;table-layout:auto}
.vsgym-tarifs__table caption{font-size:13px;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.vsgym-tarifs__table th,.vsgym-tarifs__table td{padding:18px 15px;text-align:center;border:0;border-bottom:1px solid var(--vt-line);vertical-align:middle;line-height:1.35}
.vsgym-tarifs__table thead{background:#082c43;color:#fff}
.vsgym-tarifs__table thead th{font-size:13px;font-weight:750;white-space:normal}
.vsgym-tarifs__table thead small{display:block;font-weight:400;font-size:12px;color:#d2e9f4}
.vsgym-tarifs__table tbody th{font-size:20px;font-weight:800}
.vsgym-tarifs__table tbody tr:nth-child(even){background:#f6fafc}
.vsgym-tarifs__table tbody tr:last-child>*{border-bottom:0}
.vsgym-tarifs__table .vsgym-tarifs__price{font-weight:800;font-size:19px;color:#006b9e;white-space:nowrap}
.vsgym-tarifs__mobile{display:none}
.vsgym-tarifs__fine{font-size:14px;color:var(--vt-muted);margin:15px 0 16px}
.vsgym-tarifs__adult{background:#f1f8fd;border-left:4px solid var(--vt-blue);padding:15px 18px;margin:18px 0;border-radius:0 5px 5px 0}
.vsgym-tarifs__special{margin:27px 0}
.vsgym-tarifs__special h3{font-size:23px;margin:0 0 9px;font-weight:800}
.vsgym-tarifs__special ul{padding-left:20px}
.vsgym-tarifs__example{display:grid;grid-template-columns:1fr 1fr;gap:38px;background:#f1f8fd;padding:28px;border-radius:8px;margin:30px 0 33px;align-items:start}
.vsgym-tarifs__example h3{font-size:clamp(23px,2.4vw,31px);line-height:1.18;letter-spacing:-.02em;margin:11px 0 13px;font-weight:800}
.vsgym-tarifs__example>div>p:last-child{color:var(--vt-muted);margin:0}
.vsgym-tarifs__example dl{margin:0}
.vsgym-tarifs__example dl>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #cfdeea}
.vsgym-tarifs__example dt{color:#3e596a}
.vsgym-tarifs__example dd{font-weight:800;margin:0;white-space:nowrap}
.vsgym-tarifs__example dl>.vsgym-tarifs__example-total{border-top:2px solid #79b9e0;border-bottom:0;margin-top:9px;padding-top:14px}
.vsgym-tarifs__example-total dt,.vsgym-tarifs__example-total dd{color:#006b9e!important;font-weight:800!important;font-size:19px}
.vsgym-tarifs__disclosure{background:#fff;border:1px solid var(--vt-line);border-left:4px solid var(--vt-blue);border-radius:0 6px 6px 0;padding:20px 24px;margin:18px 0 32px}
.vsgym-tarifs__disclosure h3{font-size:23px;line-height:1.3;margin:0 0 9px}
.vsgym-tarifs__disclosure p{margin:8px 0}
.vsgym-tarifs__faq{border-top:2px solid #071b2a;padding-top:15px}
.vsgym-tarifs__faq>h3{font:400 34px/1.1 "Bebas Neue",Impact,sans-serif;margin:8px 0 17px;color:#000}
.vsgym-tarifs__faq details{border-bottom:1px solid var(--vt-line);padding:0;margin:0}
.vsgym-tarifs__faq summary{position:relative;cursor:pointer;list-style:none;padding:18px 32px 18px 0;font-size:17px;font-weight:750;color:var(--vt-ink)}
.vsgym-tarifs__faq summary::-webkit-details-marker{display:none}
.vsgym-tarifs__faq summary::after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:25px;font-weight:400;color:#007db8}
.vsgym-tarifs__faq details[open] summary::after{content:'−'}
.vsgym-tarifs__faq details>div{padding:0 15px 18px 0;color:#425c6a}
.vsgym-tarifs__faq a{color:#006c9b;text-decoration:underline}
.vsgym-tarifs--empty{background:#f1f8fd;border:1px solid var(--vt-line);padding:24px}
.vsgym-tarifs--empty h2{font-size:24px;margin:0 0 10px}
/* Back-office intentionally uses the same public renderer */
.vsgym-admin .vsgym-tarifs-admin__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:20px}
.vsgym-admin .vsgym-tarifs-admin__field{display:flex;flex-direction:column;gap:6px}
.vsgym-admin .vsgym-tarifs-admin__field input{max-width:180px;width:100%}
.vsgym-admin .vsgym-tarifs-admin__field small{font-size:12px;color:#506776}
.vsgym-admin .vsgym-tarifs-admin__scroll{overflow:auto}
.vsgym-admin .vsgym-tarifs-admin__table th,.vsgym-admin .vsgym-tarifs-admin__table td{padding:12px 10px;vertical-align:middle}
.vsgym-admin .vsgym-tarifs-admin__table input{max-width:170px;width:100%;min-width:80px}
.vsgym-admin .vsgym-tarifs-admin__total-in,.vsgym-admin .vsgym-tarifs-admin__total-out{font-size:16px;font-weight:750;color:#005f8e}
.vsgym-admin .vsgym-tarifs-admin__special-row{display:grid;grid-template-columns:2fr 1fr 2fr auto;gap:10px;align-items:center;margin:0 0 10px}
.vsgym-admin .vsgym-tarifs-admin__special-row>input{width:100%;min-width:0}
.vsgym-admin .vsgym-tarifs-admin__publish{display:flex;align-items:center;gap:10px;padding:14px;background:#fff6ed;border:1px solid #f0d1a8;font-weight:700}
.vsgym-admin .vsgym-tarifs-admin__status{padding:10px 15px;background:#f1f7fb;border-left:4px solid #009eff}
.vsgym-admin .vsgym-tarifs-admin__preview{padding:18px 0 12px;overflow:hidden}
.vsgym-admin .vsgym-tarifs-admin__preview>h2,.vsgym-admin .vsgym-tarifs-admin__preview>p{padding:0 24px}
.vsgym-admin .vsgym-tarifs-admin__preview>.vsgym-tarifs{margin:20px auto 0}
@media(max-width:760px){.vsgym-tarifs{margin:40px auto;padding:0 18px}.vsgym-tarifs__benefits{grid-template-columns:1fr;gap:1px}.vsgym-tarifs__benefits>div{padding:14px 17px}.vsgym-tarifs__benefits span{font-size:13px}.vsgym-tarifs__head h2{font-size:47px}.vsgym-tarifs__table-wrap{display:none}.vsgym-tarifs__mobile{display:grid;grid-template-columns:1fr;gap:11px}.vsgym-tarifs__rate{border:1px solid var(--vt-line);border-radius:6px;padding:15px 17px;background:#fff}.vsgym-tarifs__rate h3{font-size:21px;margin:0 0 13px;line-height:1.1;font-weight:800}.vsgym-tarifs__rate h3 small{font-size:13px;font-weight:500;color:var(--vt-muted)}.vsgym-tarifs__rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vsgym-tarifs__rate-grid>div{background:#f1f8fd;padding:11px 13px;border-radius:4px}.vsgym-tarifs__rate-grid small{display:block;color:#4d6776;font-size:12px;line-height:1.3}.vsgym-tarifs__rate-grid strong{font-weight:800;font-size:23px;color:#006f9f}.vsgym-tarifs__rate p{margin:12px 0 0;color:#607584;font-size:12px}.vsgym-tarifs__example{grid-template-columns:1fr;gap:18px;padding:21px}.vsgym-tarifs__faq>h3{font-size:31px}.vsgym-tarifs__faq summary{font-size:16px}.vsgym-admin .vsgym-tarifs-admin__special-row{grid-template-columns:1fr 110px}.vsgym-admin .vsgym-tarifs-admin__special-row>input:nth-child(3){grid-column:1/-1}.vsgym-admin .vsgym-tarifs-admin__special-row>button{grid-column:1/-1;justify-self:start}}
@media(max-width:360px){.vsgym-tarifs{padding:0 12px}.vsgym-tarifs__head h2{font-size:40px}.vsgym-tarifs__rate-grid strong{font-size:20px}.vsgym-tarifs__example{padding:16px}.vsgym-tarifs__example-total dt,.vsgym-tarifs__example-total dd{font-size:16px}}
