/* Good Boy Academy — inner-2026.css (inner page compositions). No motion. */
/* timetable */
.tt-wrap{position:relative;overflow-x:auto;border:1px solid var(--line-strong);background:var(--card)}
.tt{inline-size:100%;border-collapse:collapse;min-inline-size:720px}
.tt th,.tt td{text-align:start;padding:var(--s3) var(--s4);border-block-end:1px dashed var(--line-strong);vertical-align:top}
.tt thead th{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted);border-block-end:2px solid var(--ink)}
.tt tbody th{font-family:var(--f-display);font-weight:400;font-size:1.125rem;white-space:nowrap}
.tt td a:not(.btn){font-weight:700;color:var(--ink)}
.tt td a:not(.btn){display:inline-flex;align-items:center;min-block-size:44px;margin-block-start:-12px}
.tt td a:not(.btn):hover{color:var(--brand-ink)}
.tt__a{display:block;color:var(--muted)}
.tt td:last-child{text-align:end}
.tt-note{margin-block-start:var(--s3)}
/* class list */
.clist{list-style:none;padding:0;display:grid;gap:var(--s8) var(--s6)}
.ccard{display:grid;gap:var(--s4);align-content:start;scroll-margin-top:calc(var(--header) + 24px)}
.ccard__ph{display:block}
.ccard__ph img{inline-size:100%;aspect-ratio:3/2;object-fit:cover}
.ccard__b{display:grid;gap:var(--s3);align-content:start}
.ccard h3 a{text-decoration:none}
.ccard h3 a:hover{color:var(--brand-ink);text-decoration:underline}
.ccard__pr b{font-size:1.5rem}
.ccard--121 .ccard__b{padding:var(--s4);background:var(--biscuit-soft);border:1px solid var(--line-strong)}
@media (min-width:700px){.clist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.clist{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* what to bring */
.bring__in{display:grid;gap:var(--s7);align-items:center}
.bring .lead{margin-block-start:var(--s4)}
@media (min-width:1000px){.bring__in{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
/* class page */
.cls{padding-block:var(--s5) var(--s8)}
.cls__in{display:grid;gap:var(--s7);align-items:start}
.cls .lead{margin-block:var(--s4) var(--s6)}
.ticket{display:grid;gap:var(--s4);padding:var(--s5);background:var(--card);border:1px solid var(--line-strong);border-block-start:4px solid var(--brand);max-inline-size:560px}
.ticket__pr b{font-size:2.5rem;line-height:1}
.ticket__pr span{color:var(--muted);font-weight:600}
.ticket__dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s5);margin:0}
.ticket__dl div{padding-block:var(--s3);border-block-end:1px dashed var(--line-strong)}
.ticket__dl dt{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.ticket__dl dd{margin:0;font-weight:600}
@media (min-width:1000px){.cls__in{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}.cls__ph{order:2}}
@media (max-width:999px){.cls__ph{order:-1}}
.mini{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:var(--s4)}
.mini a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s3);align-items:center;padding:var(--s2);border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;min-block-size:88px}
.mini img{inline-size:72px;block-size:72px;object-fit:cover}
.mini b{display:block;font-family:var(--f-display);font-weight:400;font-size:1.125rem;line-height:1.2}
.mini small{display:block;color:var(--muted);font-size:.9375rem}
.mini a:hover{border-color:var(--brand)}
.mini a:hover b{color:var(--brand-ink);text-decoration:underline}
/* puppies */
.plans{list-style:none;padding:0;display:grid;gap:var(--s7) var(--s6)}
.plan{display:grid;gap:var(--s3);align-content:start;scroll-margin-top:calc(var(--header) + 24px)}
.plan h2{font-size:var(--t-h3)}
.plan__pr{font-size:2.5rem;line-height:1;color:var(--brand)}
@media (min-width:800px){.plans{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wk{display:grid;gap:var(--s3);padding:var(--s5);background:var(--card);border:1px solid var(--line-strong)}
.wk__scale{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-block-end:2px solid var(--ink);font-weight:800;color:var(--muted);font-size:.875rem}
.wk__scale span{padding-block-end:var(--s1);border-inline-start:1px solid var(--line-strong);padding-inline-start:var(--s1)}
.wk__row{display:grid;gap:var(--s1)}
.wk__l{font-weight:700}
.wk__bar{display:block;block-size:20px;inline-size:calc(var(--w) / 12 * 100%);background:var(--brand)}
.wk__row:nth-of-type(2) .wk__bar{background:var(--biscuit);border:1px solid var(--ink)}
.wk__row:nth-of-type(3) .wk__bar{background:var(--sage-2);border:1px solid var(--ink)}
.wk__row:nth-of-type(4) .wk__bar{background:var(--band)}
.first__in{display:grid;gap:var(--s7);align-items:center}
.first__in .lead{margin-block:var(--s4) var(--s6)}
@media (min-width:1000px){.first__in{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}
/* trainers */
.trs{list-style:none;padding:0;display:grid;gap:var(--s9)}
.tr{display:grid;gap:var(--s6);align-items:center}
.tr__b{display:grid;gap:var(--s3);justify-items:start}
.tr__focus{font-family:var(--f-display);font-size:var(--t-lead);line-height:1.35;max-inline-size:32ch;padding-inline-start:var(--s4);border-inline-start:4px solid var(--biscuit)}
.tr__dog{color:var(--muted)}
@media (min-width:900px){.tr{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8)}.tr--r .tr__ph{order:2}.tr--r{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
/* skills */
.skp{display:grid;gap:var(--s7);align-items:start}
.score{display:grid;justify-items:center;gap:var(--s3);padding:var(--s5);background:var(--card);border:1px solid var(--line-strong);text-align:center}
.ring{inline-size:180px;block-size:180px}
.ring__bg{fill:none;stroke:var(--paper-2);stroke-width:10}
.ring__fg{fill:none;stroke:var(--brand);stroke-width:10}
.score__n{display:grid;margin-block-start:-128px;margin-block-end:52px;line-height:1}
.score__n b{font-size:3rem}
.score__n span{font-size:.875rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-block-start:var(--s1)}
.sklist{display:grid;gap:0;border-block-start:2px solid var(--ink)}
.skr{display:grid;gap:var(--s3);padding-block:var(--s5);border-block-end:1px dashed var(--line-strong)}
.skr legend{font-family:var(--f-display);font-size:var(--t-h3);float:left;inline-size:100%;margin-block-end:var(--s3)}
.skr legend .num{color:var(--brand);margin-inline-end:var(--s2)}
.skr__tip{color:var(--muted)}
.skr__tip b{color:var(--ink)}
@media (min-width:1000px){.skp{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.score{position:sticky;inset-block-start:calc(var(--header) + 24px)}}
/* approach */
.three{list-style:none;padding:0;display:grid;gap:var(--s6);counter-reset:none}
.three li{display:grid;gap:var(--s3);align-content:start;padding-block-start:var(--s4);border-block-start:2px solid var(--ink)}
.three__n{font-size:4rem;line-height:1;color:var(--brand)}
@media (min-width:800px){.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.faq__in{display:grid;gap:var(--s7);align-items:start}
.faq__ph{margin-block-start:var(--s6);max-inline-size:360px}
.faq{border-block-start:2px solid var(--ink)}
.faq details{border-block-end:1px dashed var(--line-strong)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-block-size:64px;padding-block:var(--s3);cursor:pointer;font-family:var(--f-display);font-size:1.25rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-sans);font-weight:800;font-size:1.5rem;color:var(--brand);flex:none}
.faq details[open] summary::after{content:"−"}
.faq summary:hover{color:var(--brand-ink)}
.faq details p{padding-block-end:var(--s5);color:var(--muted)}
@media (min-width:1000px){.faq__in{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
/* visit */
.visit{display:grid;gap:var(--s7);align-items:start}
.vcard{padding:var(--s5);background:var(--card);border:1px solid var(--line-strong);border-block-start:4px solid var(--brand)}
.vcard .h-s+p{margin-block-end:var(--s3)}
.vcard__big{font-family:var(--f-display);font-size:1.75rem;line-height:1.2}
.vcard .h-s{margin-block-start:var(--s5)}
.vcard .h-s:first-child{margin-block-start:0}
.hrs{inline-size:100%;border-collapse:collapse;border-block-start:2px solid var(--ink)}
.hrs th,.hrs td{text-align:start;padding:var(--s3) 0;border-block-end:1px dashed var(--line-strong)}
.hrs th{font-weight:600}
.hrs td{text-align:end;font-variant-numeric:tabular-nums}
.hrs tr.is-today th,.hrs tr.is-today td{font-weight:800;color:var(--brand-ink)}
.hrs tr.is-today th::after{content:" · today";font-weight:600;color:var(--muted)}
@media (min-width:900px){.visit{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s9)}}
/* booking */
.bk{display:grid;gap:var(--s7);align-items:start}
.bk__aside{display:grid;gap:var(--s5)}
.cdl{display:grid;gap:0;margin:0;border-block-start:2px solid var(--ink)}
.cdl div{padding-block:var(--s3);border-block-end:1px dashed var(--line-strong)}
.cdl dt{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.cdl dd{margin:0}
@media (min-width:1100px){.bk{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.bk__aside{position:sticky;inset-block-start:calc(var(--header) + 24px)}}
.slots{display:grid;gap:var(--s4)}
.slots__d{display:grid;gap:var(--s2)}
.slots__day{font-weight:700;color:var(--muted)}
.safety{padding:var(--s5);background:var(--biscuit-soft);border:1px solid var(--line-strong)}
.safety p{margin-block-end:var(--s3)}
.errsum:empty{display:none}
.errsum{padding:var(--s4);border:2px solid var(--danger);background:var(--card);color:var(--danger);font-weight:700}
.errsum ul{margin:0;padding-inline-start:var(--s5)}
.c-safe{padding:var(--s4);background:var(--biscuit-soft);border-inline-start:4px solid var(--brand);color:var(--ink)}
.confirm .cdl{inline-size:100%}
.confirm p{color:var(--ink)}
/* credits */
.credits{list-style:none;padding:0;display:grid;gap:var(--s4);margin-block-end:var(--s7)}
.credits li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s4);align-items:center;padding-block-end:var(--s4);border-block-end:1px dashed var(--line-strong)}
.credits img{inline-size:96px;block-size:96px;object-fit:cover}
.credits a{display:inline-flex;align-items:center;min-block-size:44px;color:var(--brand-ink)}
@media (min-width:900px){.credits{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7)}}
.credit-note{margin-block-end:var(--s6);color:var(--muted)}
/* 404 */
.nf{padding-block:var(--s8)}
.nf__in{display:grid;gap:var(--s7);align-items:center}
.nf .lead{margin-block:var(--s4) var(--s6)}
.nf__ph{max-inline-size:420px}
@media (min-width:900px){.nf__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
