/* The Towbar Man – design A. Colours/fonts live in theme.json; this file adds layout details. */
:root{--tbm-r:12px;--tbm-line:var(--wp--preset--color--line);--tbm-brand:var(--wp--preset--color--brand);--tbm-muted:var(--wp--preset--color--muted)}
body{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
:where(.wp-block-post-content) p,:where(.wp-block-post-content) h1,:where(.wp-block-post-content) h2,:where(.wp-block-post-content) h3{margin-top:0}
/* sections */
.tbm-section{padding-top:40px;padding-bottom:40px}
.tbm-section.page-hero{padding-top:28px;padding-bottom:28px}
.wp-block-post-content>.tbm-section{margin-top:0!important;margin-bottom:0}
.wp-block-post-content>.tbm-section+.tbm-section{margin-top:0}
main#main{margin-top:0}
.sec-lead,.lead,.note{color:var(--tbm-muted)}
.lead{font-size:1.12rem}
.note{font-size:.9rem}
.kicker{display:inline-block;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tbm-brand);margin-bottom:.25rem}
.stars{color:#f5a400;letter-spacing:1px}
.badge a{display:inline-flex;gap:.5em;align-items:center;background:#fff;border:1px solid var(--tbm-line);border-radius:999px;padding:.35em .9em;font-weight:600;font-size:.95rem;color:inherit;text-decoration:none}
/* buttons */
.wp-block-button.is-style-call .wp-block-button__link{background:var(--tbm-brand);color:#fff}
.wp-block-button.is-style-call .wp-block-button__link:hover{background:var(--wp--preset--color--brand-dark)}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:inherit;border:2px solid currentColor}
.wp-block-button__link{white-space:nowrap}
.wp-block-buttons{gap:10px}
/* lists */
.ticks,.is-style-ticks{list-style:none;padding-left:0;display:grid;gap:6px}
.ticks li,.is-style-ticks li{padding-left:1.6em;position:relative}
.ticks li::before,.is-style-ticks li::before{content:"✓";position:absolute;left:0;color:var(--tbm-brand);font-weight:800}
.brands{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.brands li{border:1px solid var(--tbm-line);border-radius:999px;padding:.4em 1em;font-weight:700;background:#fff}
.areas{list-style:none;padding:0;columns:2}
.areas li{break-inside:avoid;padding:.25em 0}
.areas a{color:inherit}
/* cards & grids */
.wp-block-group.is-style-card{background:#fff;border:1px solid var(--tbm-line);border-radius:var(--tbm-r);padding:18px}
.is-style-card h3 a{color:inherit;text-decoration:none}
.is-style-card>*+*{margin-top:.6rem}
.tbm-grid{gap:16px}
.steps{counter-reset:s}
.step{counter-increment:s;position:relative;padding-left:64px!important}
.step::before{content:counter(s);position:absolute;left:16px;top:16px;width:34px;height:34px;border-radius:50%;background:var(--tbm-brand);color:#fff;font-weight:800;display:grid;place-items:center}
/* images */
.hero-img img{border-radius:var(--tbm-r);width:100%;aspect-ratio:4/3;object-fit:cover}
.map img{border-radius:var(--tbm-r);border:1px solid var(--tbm-line)}
.diagram img{border-radius:8px;max-width:270px}
.town-cols .wp-block-image img{border-radius:var(--tbm-r)}
.wp-block-gallery.has-nested-images{gap:8px}
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img{border-radius:8px;aspect-ratio:4/3;object-fit:cover;height:auto;flex:none;contain:none!important}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:static;background:none;color:var(--tbm-muted);font-size:.85rem;text-align:left;padding:4px 2px;margin:0;text-shadow:none;max-height:none;overflow:visible}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{display:none}
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){flex-direction:column;flex-grow:0}
@media (max-width:719px){.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(50% - 4px)}}
@media (min-width:720px) and (max-width:979px){.wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image){width:calc(33.333% - 5.34px)}}
/* header */
.top{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--tbm-line)}
.top-row{min-height:64px;gap:10px}
.top .wp-block-site-logo img{width:150px;height:auto}
.top .main-nav{flex:1;justify-content:flex-end}
.top .main-nav .wp-block-navigation-item__content{font-weight:600;font-size:.95rem;padding:.5em .55em;border-radius:6px}
.top .main-nav .wp-block-navigation-item__content:hover{background:var(--wp--preset--color--soft)}
.top .main-nav .wp-block-navigation__submenu-container{border:1px solid var(--tbm-line)!important;border-radius:10px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.15);min-width:260px!important}
.top .main-nav a{color:var(--wp--preset--color--ink);text-decoration:none}
.top-btns{flex-wrap:nowrap;gap:8px}
.top-btns .wp-block-button__link{padding:.55em .95em;font-size:.95rem}
.top-btns .wp-block-button:not(.is-style-call){display:none}
.wp-block-navigation__responsive-container-open{border:1px solid var(--tbm-line);border-radius:8px;padding:6px}
@media (max-width:420px){.top .wp-block-site-logo img{width:118px}.top-btns .wp-block-button__link{padding:.5em .75em;font-size:.9rem}}
/* reviews (Site Reviews plugin output) */
.tbm-reviews .glsr-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:16px}
.tbm-reviews.one-col .glsr-reviews{grid-template-columns:1fr}
.tbm-reviews .glsr-review{background:#fff;border:1px solid var(--tbm-line);border-radius:var(--tbm-r);padding:18px;margin:0!important;display:flex;flex-direction:column;gap:6px}
.tbm-reviews .glsr-review-title h4,.tbm-reviews .glsr-review-title h3{font-size:1.05rem;margin:0}
.tbm-reviews .glsr-review-author{font-weight:700}
.tbm-reviews .glsr-review-date{color:var(--tbm-muted);font-size:.85rem}
.tbm-reviews .glsr-pagination{grid-column:1/-1}
/* CTA band & footer */
.cta-band{text-align:center}
.cta-band .wp-block-buttons{justify-content:center}
.cta-band .wp-block-button:not(.is-style-call):not(.is-style-ghost) .wp-block-button__link{background:#fff;color:var(--wp--preset--color--ink)}
.cta-band .wp-block-button.is-style-call .wp-block-button__link{background:var(--wp--preset--color--ink)}
.site-footer{padding-top:36px;padding-bottom:24px;font-size:.95rem;color:#cfd6dc!important}
.site-footer a{color:#fff}
.site-footer h2{font-size:1.05rem;color:#fff}
.site-footer ul{list-style:none;padding:0}
.site-footer li a{display:inline-block;padding:6px 0}
.site-footer .legal{border-top:1px solid #2c333b;margin-top:24px;padding-top:14px;font-size:.85rem;color:#8f9aa4}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid!important;grid-template-columns:1fr 1fr auto;margin:0!important}
.mbar p{margin:0}
.mbar a{display:block;padding:14px;text-align:center;font-weight:800;text-decoration:none}
.mbar .c a{background:var(--tbm-brand);color:#fff}
.mbar .q a{background:var(--wp--preset--color--accent);color:var(--wp--preset--color--ink)}
body{padding-bottom:52px}
/* forms (WPForms) */
.wpforms-container input,.wpforms-container select,.wpforms-container textarea{border-radius:8px!important}
.wpforms-container .wpforms-submit{background:var(--wp--preset--color--accent)!important;color:var(--wp--preset--color--ink)!important;border-radius:999px!important;font-weight:700!important;border:0!important;padding:.75em 1.4em!important}
.callback .wpforms-container .wpforms-submit{background:var(--tbm-brand)!important;color:#fff!important}
@media (min-width:720px){
 .areas{columns:3}
 .two-col{grid-template-columns:1fr 1fr}
}
@media (min-width:980px){
 body{padding-bottom:0}.mbar{display:none!important}
 .top-btns .wp-block-button:not(.is-style-call){display:block}
 .hero .wp-block-columns{gap:40px}
 .tbm-section.hero{padding-top:48px;padding-bottom:56px}
 .areas{columns:4}
}
@media (min-width:980px) and (max-width:1180px){.top .main-nav .wp-block-navigation-item__content{padding:.5em .4em;font-size:.9rem}.top-btns .wp-block-button__link{font-size:.9rem;padding:.5em .8em}}
/* editor: never show the fixed bar over the canvas */
.editor-styles-wrapper .mbar{position:static}
.editor-styles-wrapper{padding-bottom:0}
/* top strip with email */
.topbar{gap:12px;font-size:.82rem;color:var(--tbm-muted);padding:4px 0;border-bottom:1px solid var(--tbm-line)}
.topbar p{margin:0}
.topbar a{color:var(--wp--preset--color--ink);font-weight:700}
@media (max-width:719px){.topbar-where{display:none}.topbar{justify-content:center!important}}
.mbar .e a{background:var(--wp--preset--color--dark);color:#fff;padding-left:18px;padding-right:18px}
/* privacy note under forms */
.form-note{font-size:.85rem;color:var(--tbm-muted);margin-top:.5rem}
.form-note a{color:inherit}
/* Instagram feed: below the static gallery, not rendered until scrolled near */
.tbm-insta{content-visibility:auto;contain-intrinsic-size:auto 900px;margin-top:2rem}
.tbm-insta #sb_instagram{padding-bottom:0!important}
/* privacy notice */
.privacy h2{margin-top:2rem}
.privacy table{width:100%;border-collapse:collapse;font-size:.92rem}
.privacy th,.privacy td{border:1px solid var(--tbm-line);padding:8px 10px;text-align:left;vertical-align:top}
.privacy th{background:var(--wp--preset--color--soft)}
mark.tbm-fill{background:#fff3b0;color:var(--wp--preset--color--ink);padding:0 .2em;border-radius:3px;font-weight:700}
body:not(.logged-in) #sbi_mod_error{display:none}
