/* Lawgical "On this page" v2 (Nov 2026) */
.lgx-toc{margin:20px 0 28px}
.lgx-toc-d{border:1px solid #DCE4E7;border-left:4px solid #336B86;border-radius:8px;background:#F4F8FA}
.lgx-toc-d>summary{list-style:none;cursor:pointer;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-height:48px;padding:10px 44px 10px 16px;position:relative;font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:700;font-size:16px;line-height:1.3;color:#293133}
.lgx-toc-d>summary::-webkit-details-marker{display:none}
.lgx-toc-d>summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid #336B86;border-bottom:2px solid #336B86;transform:rotate(45deg);transition:transform .2s}
.lgx-toc-d[open]>summary::after{margin-top:-2px;transform:rotate(-135deg)}
.lgx-toc-d>summary:focus-visible{outline:2px solid #336B86;outline-offset:2px;border-radius:6px}
.lgx-toc-n{font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:600;font-size:15px;color:#55606E}
.lgx-toc-list{margin:0 !important;padding:0 16px 10px !important;list-style:none !important;counter-reset:lgx}
body.single-post .lgx-toc-list li,.lgx-toc-list li{counter-increment:lgx;display:flex;gap:10px;align-items:baseline;margin:0 !important;padding:0;border-top:1px solid #E3E9EC;font-size:16px !important;line-height:1.4 !important}
.lgx-toc-list li::before{content:counter(lgx);flex:none;min-width:1.4em;font-weight:700;color:#336B86;font-variant-numeric:tabular-nums}
.lgx-toc-list a{display:block;flex:1;min-width:0;padding:10px 0;color:#2D6079 !important;text-decoration:none !important;font-weight:600}
.lgx-toc-list a:hover{text-decoration:underline !important}
.lgx-toc-list a[aria-current="true"]{color:#293133 !important;font-weight:700}

/* Variant B: sticky sidebar on wide screens */
.lgx-side{display:none}
@media (min-width:1100px){
  body.lgx-toc-b .site-main{max-width:1140px !important;display:grid;grid-template-columns:minmax(0,1fr) 272px;column-gap:56px;align-items:start}
  body.lgx-toc-b .site-main>.page-header{grid-column:1 / -1}
  body.lgx-toc-b .site-main>.page-content{grid-column:1;grid-row:2;min-width:0}
  body.lgx-toc-b .lgx-side{display:block;grid-column:2;grid-row:2;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding:4px 0 12px}
  body.lgx-toc-b .page-content .lgx-toc{display:none}
}
.lgx-side-h{margin:0 0 6px !important;font-family:"Source Sans 3",system-ui,sans-serif !important;font-size:13px !important;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#55606E !important}
.lgx-side .lgx-toc-list{padding:0 !important}
body.single-post .lgx-side .lgx-toc-list li{border-top:0;border-left:3px solid #E3E9EC;padding-left:10px;font-size:15px !important}
.lgx-side .lgx-toc-list a{padding:7px 0}
body.single-post .lgx-side .lgx-toc-list li:has(a[aria-current="true"]){border-left-color:#336B86;background:#F4F8FA}

/* Floating pill: sits above .lawgical-mbar (height measured by JS into --lgx-mbar-h) */
:root{--lgx-mbar-h:0px}
@media (max-width:720px){:root{--lgx-mbar-h:76px}}
.lgx-pill{position:fixed;right:16px;bottom:calc(var(--lgx-mbar-h) + var(--lgx-safe, env(safe-area-inset-bottom, 0px)) + 12px);z-index:9998;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px !important;border:1px solid #336B86 !important;border-radius:999px !important;background:#FFFFFF !important;color:#1F4659 !important;font:700 15px/1 "Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif !important;box-shadow:0 6px 20px rgba(41,49,51,.18);cursor:pointer}
.lgx-pill:hover,.lgx-pill:focus{background:#EEF4F7 !important;color:#1F4659 !important}
.lgx-pill[hidden]{display:none !important}

/* Bottom sheet (phones) / floating panel (>=768px) */
.lgx-sheet{position:fixed;inset:0;z-index:10001}
.lgx-sheet[hidden]{display:none}
.lgx-sheet-bg{position:absolute;inset:0;background:rgba(27,36,48,.45)}
.lgx-sheet-p{position:absolute;left:0;right:0;bottom:0;max-height:78vh;overflow:auto;background:#FFFFFF;border-radius:16px 16px 0 0;padding:6px 16px calc(14px + env(safe-area-inset-bottom, 0px));box-shadow:0 -8px 30px rgba(41,49,51,.2);font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif}
.lgx-sheet-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.lgx-sheet-h p{margin:0 !important;font:700 16px/1.3 Montserrat,system-ui,sans-serif;color:#293133}
.lgx-sheet-x{flex:none;width:44px;height:44px;padding:0 !important;border:0 !important;border-radius:999px !important;background:#F4F8FA !important;color:#293133 !important;font-size:26px !important;line-height:44px !important}
.lgx-sheet .lgx-toc-list{padding:0 !important}
.lgx-sheet .lgx-toc-list li{font-size:17px !important}
@media (min-width:768px){.lgx-sheet-p{left:auto;right:24px;bottom:24px;width:400px;border-radius:12px}}
html.lgx-noscroll{overflow:hidden}
/* Lawgical booking card + short enquiry form on problem posts (trial, Nov 2026, v2: card above "On this page") */
.lgx-form{margin:20px 0 16px;border:2px solid #336B86;border-radius:12px;background:#FFFFFF;box-shadow:0 2px 10px rgba(41,49,51,.07);font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;scroll-margin-top:16px;overflow:hidden}
/* Card header: a link to the booking page without JS, a <button aria-expanded> with JS (same classes, same box) */
.lgx-card-h,button.lgx-card-h{box-sizing:border-box;display:grid !important;grid-template-columns:40px minmax(0,1fr);grid-template-areas:"ic t" "s s";align-items:center;column-gap:12px;row-gap:8px;width:100% !important;margin:0 !important;padding:12px 14px !important;border:0 !important;border-radius:0 !important;background:#FFFFFF !important;color:#293133 !important;font:inherit !important;text-align:left !important;text-decoration:none !important;white-space:normal !important;cursor:pointer;transition:background .15s !important;-webkit-tap-highlight-color:transparent}
.lgx-card-h:hover,.lgx-card-h:focus,button.lgx-card-h:hover,button.lgx-card-h:focus{background:#F4F8FA !important;color:#293133 !important}
.lgx-card-h:focus-visible{outline:3px solid #336B86 !important;outline-offset:-5px !important;box-shadow:none !important;border-radius:10px !important}
.lgx-card-ic{grid-area:ic;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#E6EFF3;color:#336B86}
.lgx-card-t{grid-area:t;font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:700;font-size:16px;line-height:1.25;color:#293133}
.lgx-card-row{grid-area:s;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.lgx-card-s{font-size:15px;line-height:1.3;color:#3C4756}
.lgx-card-s .lgx-wide{display:none}
.lgx-card-s .lgx-click{display:none}
.lgx-s-open,.lgx-form.is-open .lgx-s-closed{display:none}
.lgx-form.is-open .lgx-s-open{display:inline}
.lgx-form a[href^="tel:"]{white-space:nowrap}
@media (min-width:1100px){body.lgx-toc-b .lgx-form{margin-bottom:32px}}
@media (hover:hover) and (pointer:fine){.lgx-card-s .lgx-tap{display:none}.lgx-card-s .lgx-click{display:inline}}
.lgx-card-cta{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px 0 14px;border-radius:999px;background:#336B86;color:#FFFFFF;font-weight:700;font-size:15px;line-height:1}
.lgx-card-cta svg{transition:transform .25s}
.lgx-form.is-open .lgx-card-cta{background:#FFFFFF;color:#2D6079;box-shadow:inset 0 0 0 2px #336B86}
.lgx-form.is-open .lgx-card-cta svg{transform:rotate(180deg)}
@media (min-width:600px){
  .lgx-card-h,button.lgx-card-h{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"ic t cta" "ic s cta";row-gap:2px;column-gap:14px;padding:14px 18px !important}
  .lgx-card-ic{width:44px;height:44px}
  .lgx-card-t{font-size:18px}
  .lgx-card-row{display:contents}
  .lgx-card-s{grid-area:s}
  .lgx-card-s .lgx-wide{display:inline}
  .lgx-card-cta{grid-area:cta;min-height:40px;padding:0 14px 0 16px}
}
/* Panel (the form). Hidden until opened; height animated by lgx-form.js */
.lgx-card-p{overflow:hidden;border-top:1px solid #DCE4E7;transition:height .3s ease}
.lgx-card-p[hidden]{display:none}
.lgx-card-in{padding:18px 16px 20px}
@media (min-width:768px){.lgx-card-in{padding:22px 24px 26px}}
@media (prefers-reduced-motion:reduce){.lgx-card-p,.lgx-card-cta svg{transition:none}}
body.single-post .site-main .lgx-form .lgx-sub{margin:0 0 16px !important;font-size:16px !important;line-height:1.5 !important;color:#3C4756 !important}
.lgx-form form{display:flex;flex-direction:column;gap:16px;margin:0}
.lgx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.lgx-lbl{display:block;font-size:15px;font-weight:600;color:#293133;margin-bottom:6px}
.lgx-opt{font-weight:400;color:#55606E}
.lgx-fld{box-sizing:border-box;width:100%;min-height:46px;padding:10px 12px;border:1px solid #B9C3CC;border-radius:6px;background:#FFFFFF;font:inherit;font-size:16px;color:#1B2430;scroll-margin-top:96px}
.lgx-fld:focus{outline:2px solid #336B86;outline-offset:1px;border-color:#336B86}
textarea.lgx-fld{resize:vertical;min-height:84px}
.lgx-consent{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:#3C4756;cursor:pointer}
.lgx-consent input{width:20px;height:20px;margin-top:2px;accent-color:#336B86;flex:none}
.lgx-submit{width:100%;min-height:52px;padding:10px 16px !important;border:0 !important;border-radius:6px !important;background:#336B86 !important;color:#FFFFFF !important;font:inherit;font-weight:700 !important;font-size:18px !important;white-space:normal !important;cursor:pointer}
.lgx-submit:hover,.lgx-submit:focus{background:#2D6079 !important;color:#FFFFFF !important}
.lgx-thanks{display:flex;flex-direction:column;gap:12px;padding:8px 0}
.lgx-thanks[hidden]{display:none}
body.single-post .site-main .lgx-thanks h2{margin:0 !important;font-size:24px !important}
body.single-post .site-main .lgx-thanks p{margin:0 !important;color:#3C4756 !important}
.lgx-form .form-err{margin:0;padding:12px 14px;border-radius:6px;background:#FDECEC;color:#8A1F1F;font-size:15px;font-weight:600}
.lgx-form a{color:#2D6079 !important}
/* "Ready to book?" link at the end of the post */
body.single-post .site-main .lgx-end{margin:28px 0 20px !important;padding:14px 16px;border-radius:8px;background:#F4F8FA;font-size:17px !important;line-height:1.4 !important}
.lgx-end a{color:#2D6079 !important;font-weight:700;text-decoration:underline !important;text-underline-offset:3px}

/* Nov 8, 2026: FAQ accordions (plain <details> in post content) */
.single-post .site-main details:not([style]):not([class]){border:1px solid #d9dee5;border-radius:8px;background:#fff;margin:10px 0;padding:0}
.single-post .site-main details:not([style]):not([class])>summary{cursor:pointer;font-weight:600;color:#1d2a3a;padding:12px 44px 12px 14px;position:relative;list-style:none}
.single-post .site-main details:not([style]):not([class])>summary::-webkit-details-marker{display:none}
.single-post .site-main details:not([style]):not([class])>summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.25em;line-height:1;color:#1f4e79}
.single-post .site-main details[open]:not([style]):not([class])>summary::after{content:"\2013"}
.single-post .site-main details:not([style]):not([class])>:not(summary){margin:0 14px 12px}
