/* Cure4Pain header + footer without Elementor (Claude). Same look as Elementor templates 19213 (header) / 5960 (footer).
   Colours from the Elementor kit: teal #183A37, sage #7C9287, cream #E4E2D8, off-white #F8F6F3, leaf #6A973D. */
/* Montserrat (button + footer list) used to arrive with Elementor; self-hosted here, latin, weights 400-600 in one variable file. */
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/montserrat-latin-var.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.c4p-hf{--c4p-teal:#183A37;--c4p-sage:#7C9287;--c4p-cream:#E4E2D8;--c4p-off:#F8F6F3;--c4p-leaf:#6A973D}
/* Kept from the shop era: Astra added .woocommerce-js h2{margin-bottom:.7em} on every page while WooCommerce was on.
   WooCommerce is off since D26; this keeps every h2 spaced exactly as before (same selector strength). */
.c4p-hf h2{margin-bottom:.7em}
.c4p-hf .c4p-ico{width:1em;height:1em;display:inline-block;vertical-align:-.125em}

/* ---------- Header ---------- */
/* Astra puts overflow-x:hidden on body and #page, which turns them into scroll boxes and stops the sticky header. "clip" cuts the same overflow without that side effect. */
body.c4p-hf,.c4p-hf #page{overflow-x:clip;overflow-y:visible}
.c4p-hdr{position:sticky;top:0;z-index:100;background:linear-gradient(255deg,var(--c4p-sage) 24%,var(--c4p-cream) 100%);padding:20px 0;font-family:"Open Sans",sans-serif}
.admin-bar .c4p-hdr{top:32px}
.c4p-hdr__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-inline:30px}
.c4p-hdr__logo{justify-self:start;display:block;margin-left:max(0px,calc((100vw - 1200px) / 2 - 14px));line-height:0}
.c4p-hdr__logo img{width:112px;height:auto;display:block}
.c4p-hdr__cta{justify-self:end;display:inline-flex;align-items:center;gap:4px;padding:17px 34px;border-radius:5px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;line-height:1;text-transform:uppercase;text-decoration:none;color:var(--c4p-teal);background:linear-gradient(134deg,var(--c4p-sage) 11%,var(--c4p-cream) 100%);box-shadow:0 0 3px rgba(0,0,0,.5);transition:background .3s}
.c4p-hdr__cta:hover,.c4p-hdr__cta:focus-visible{color:var(--c4p-teal);background:linear-gradient(134deg,var(--c4p-cream) 11%,var(--c4p-sage) 100%)}

.c4p-hdr__cta{white-space:nowrap}
/* Menu (desktop) */
.c4p-menu,.c4p-menu ul{list-style:none;margin:0;padding:0}
.c4p-menu{display:flex;align-items:center}
.c4p-menu li{position:relative;margin:0}
.c4p-menu>li{display:flex;align-items:center}
.c4p-menu a{display:block;text-decoration:none}
.c4p-menu>li>a{padding:7px 20px;font-size:16px;font-weight:600;line-height:20px;text-transform:uppercase;color:var(--c4p-teal)}
.c4p-menu>li.menu-item-has-children>a{padding-right:4px}
.c4p-menu>li.current-menu-item>a{color:var(--c4p-off)}
.c4p-hf .c4p-hdr .c4p-sub,.c4p-hf .c4p-hdr .c4p-nav__toggle{all:unset;box-sizing:border-box;cursor:pointer;color:var(--c4p-teal)}
.c4p-hf .c4p-hdr .c4p-sub:is(:hover,:focus,:active),.c4p-hf .c4p-hdr .c4p-nav__toggle:is(:hover,:focus,:active){background:none;border:0;box-shadow:none;color:var(--c4p-teal)}
.c4p-menu .dropdown-menu-toggle,.c4p-menu .ast-icon,.c4p-menu .ast-menu-toggle{display:none!important}
.c4p-hf .c4p-hdr .c4p-sub{display:inline-flex;align-items:center;justify-content:center;padding:0 20px 0 2px;color:var(--c4p-teal);font-size:12px;height:34px}
.c4p-hf .c4p-hdr .c4p-sub:focus-visible,.c4p-hf .c4p-hdr .c4p-nav__toggle:focus-visible{outline:2px solid var(--c4p-teal);outline-offset:2px}
.c4p-menu .sub-menu{position:absolute;top:100%;left:0;min-width:220px;background:var(--c4p-cream);border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,.38);visibility:hidden;opacity:0;z-index:10}
.c4p-menu .sub-menu .sub-menu{top:0;left:100%}
/* Long ailment lists (D41): the third level scrolls instead of running off the screen. */
.c4p-menu .sub-menu .sub-menu{max-height:calc(100vh - 160px);overflow-y:auto}
.c4p-menu li:hover>.sub-menu,.c4p-menu li.is-open>.sub-menu{visibility:visible;opacity:1}
.c4p-menu .sub-menu li{display:flex;align-items:center}
.c4p-menu .sub-menu a{flex:1;padding:13px 20px;font-size:14px;font-weight:400;line-height:20px;color:var(--c4p-teal);white-space:nowrap}
.c4p-menu .sub-menu li:hover,.c4p-menu .sub-menu li:focus-within,.c4p-menu .sub-menu .current-menu-item{background:var(--c4p-sage)}
.c4p-menu .sub-menu li:first-child{border-radius:10px 10px 0 0}
.c4p-menu .sub-menu li:last-child{border-radius:0 0 10px 10px}
.c4p-menu .sub-menu li:only-child{border-radius:10px}
.c4p-hf .c4p-hdr .c4p-menu .sub-menu .c4p-sub{height:auto;padding:0 14px 0 0}
.c4p-hf .c4p-hdr .c4p-menu .sub-menu .c4p-sub .c4p-ico{transform:rotate(-90deg)}
/* D178: the last tab (Workshops) opens leftwards and wraps its long workshop titles, so it stays on screen */
.c4p-menu>li:last-child>.sub-menu{left:auto;right:0;width:340px}
.c4p-menu>li:last-child>.sub-menu a{white-space:normal}
.c4p-hf .c4p-hdr .c4p-nav__toggle{display:none}

/* Tablet + mobile: hamburger, dropdown panel under the header (Elementor breakpoint 1024px) */
/* Between the burger menu and 1280 px: tighter tabs so the Book Appointment button stays on one line (D160). */
@media (min-width:1025px) and (max-width:1279px){
  .c4p-menu>li>a{padding:7px 12px}
  .c4p-hf .c4p-hdr .c4p-sub{padding:0 12px 0 2px}
  .c4p-hdr__cta{padding:17px 22px}
}
@media (min-width:1025px) and (max-width:1120px){
  .c4p-menu>li>a{padding:7px 8px}
  .c4p-hf .c4p-hdr .c4p-sub{padding:0 8px 0 2px}
}
@media (max-width:1024px){
  .c4p-hdr{padding:10px 0}
  .c4p-hdr__in{grid-template-columns:1fr auto;padding-inline:20px 16px}
  .c4p-hdr__logo{margin-left:0}
  .c4p-hdr__logo img{width:95px}
  .c4p-hdr__cta{display:none}
  .c4p-hf .c4p-hdr .c4p-nav__toggle{display:block;position:relative;width:45px;height:45px;color:var(--c4p-teal)}
  .c4p-burger,.c4p-burger::before,.c4p-burger::after{position:absolute;left:50%;top:50%;width:24px;height:2px;background:currentColor;transition:transform .3s ease-in-out,opacity .3s}
  .c4p-burger{transform:translate(-50%,-50%)}
  .c4p-burger::before,.c4p-burger::after{content:"";left:0;top:0}
  .c4p-burger::before{transform:translateY(-8px)}
  .c4p-burger::after{transform:translateY(8px)}
  .c4p-nav.is-open .c4p-burger{background:transparent}
  .c4p-nav.is-open .c4p-burger::before{transform:rotate(-45deg);background:var(--c4p-teal)}
  .c4p-nav.is-open .c4p-burger::after{transform:rotate(45deg);background:var(--c4p-teal)}
  .c4p-menu{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:var(--c4p-cream);border-radius:10px;border-block:10px solid transparent;box-shadow:0 0 10px rgba(0,0,0,.38);max-height:calc(100vh - 90px);overflow:auto}
  .c4p-nav.is-open .c4p-menu{display:flex}
  .c4p-menu li{flex-wrap:wrap;justify-content:center}
  .c4p-menu>li>a,.c4p-menu .sub-menu a{flex:0 1 auto;padding:10px 0;font-size:14px;font-weight:600;line-height:20px;text-transform:uppercase;text-align:center;color:var(--c4p-teal);white-space:normal}
  .c4p-menu .sub-menu li,.c4p-menu .sub-menu li:hover,.c4p-menu .sub-menu li:focus-within{background:transparent}
  .c4p-menu>li.current-menu-item,.c4p-menu .sub-menu li.current-menu-item{background:var(--c4p-sage)}
  .c4p-menu>li.current-menu-item>a{color:var(--c4p-teal)}
  .c4p-menu>li.menu-item-has-children>a{padding-right:0}
  .c4p-hf .c4p-hdr .c4p-sub,.c4p-hf .c4p-hdr .c4p-menu .sub-menu .c4p-sub{height:40px;padding:0 0 0 8px}
  .c4p-hf .c4p-hdr .c4p-menu .sub-menu .c4p-sub .c4p-ico{transform:none}
  .c4p-menu .sub-menu,.c4p-menu .sub-menu .sub-menu{position:static;flex-basis:100%;min-width:0;box-shadow:none;border-radius:0;background:rgba(124,146,135,.18);display:none;visibility:visible;opacity:1}
  .c4p-menu .sub-menu .sub-menu{max-height:none;overflow:visible}
  .c4p-menu>li:last-child>.sub-menu{width:auto}
  .c4p-menu>li:last-child>.sub-menu a{padding:10px 20px}
  .c4p-menu li:hover>.sub-menu{display:none}
  .c4p-menu li.is-open>.sub-menu{display:block}
  .c4p-menu .sub-menu li,.c4p-menu .sub-menu li:first-child,.c4p-menu .sub-menu li:last-child{border-radius:0}
  .c4p-hdr{position:sticky}
  .c4p-nav{position:static}
  .c4p-hdr__in{position:relative}
}
@media (max-width:782px){.admin-bar .c4p-hdr{top:46px}}
@media (max-width:600px){.admin-bar .c4p-hdr{top:0}}

/* ---------- Footer ---------- */
.c4p-ftr{font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.6;color:#333}
.c4p-ftr .c4p-ft-band{position:relative;background:linear-gradient(110deg,var(--c4p-cream) 0%,var(--c4p-sage) 100%);margin:0;isolation:isolate}
.c4p-ftr .c4p-ft-band::before{content:"";position:absolute;inset:0;background:var(--c4p-off);opacity:.25;mix-blend-mode:multiply;z-index:-1;pointer-events:none}
.c4p-ftr .c4p-ft-band>*{position:relative}
.c4p-ftr p{margin:0}

.c4p-ftr .c4p-ft-main{padding:15px 0 25px}
.c4p-ftr .c4p-ft-cols{max-width:1200px;margin:0 auto!important;padding-top:50px;gap:0!important;flex-wrap:nowrap!important}
.c4p-ftr .c4p-ft-cols>.wp-block-column{padding:0 61px 0 0;flex-grow:0!important}
.c4p-ftr .c4p-ft-col1{flex-basis:38.931%!important}
.c4p-ftr .c4p-ft-col2{flex-basis:18.611%!important}
.c4p-ftr .c4p-ft-col3{flex-basis:18.455%!important}
.c4p-ftr .c4p-ft-col4{flex-basis:23.935%!important}
.c4p-ftr .c4p-ft-col1{padding-left:10px!important}
.c4p-ftr .c4p-ft-h{font-family:Poppins,sans-serif;font-size:23px;font-weight:700;line-height:26px;color:var(--c4p-teal);margin:0 0 16px;text-transform:capitalize}
.c4p-ftr .c4p-ft-col4 .c4p-ft-h{margin-bottom:12px}
/* Health Concerns in the 3 groups (D64): same arrow list as Useful Links; group names bold in teal, conditions indented. */
.c4p-ftr .c4p-ft-links.c4p-ft-hc{width:100%;max-width:360px}
.c4p-ftr .c4p-ft-hc li.c4p-ft-grp a{font-weight:600;color:var(--c4p-teal)}
.c4p-ftr .c4p-ft-hc li.c4p-ft-grp:not(:first-child){margin-top:10px}
.c4p-ftr .c4p-ft-hc li.c4p-ft-sub{padding-left:20px}
.c4p-ftr .c4p-ft-hc a:hover,.c4p-ftr .c4p-ft-hc a:focus-visible{color:#fff}

/* Icon lists (Useful Links / Quick Links / Contact) */
.c4p-ftr .c4p-ft-links{list-style:none;margin:24px 0 0;padding:0;width:120.845%;max-width:120.845%}
.c4p-ftr .c4p-ft-contact{margin-top:20px}
/* Appointment-only hours block (D61): icon on the first line, plain inline portal link without the arrow icon. */
.c4p-ftr .c4p-ft-contact li.c4p-ft-hours{align-items:flex-start}
.c4p-ftr .c4p-ft-contact li.c4p-ft-hours::before{margin-top:7px}
.c4p-ftr .c4p-ft-contact li.c4p-ft-hours a{display:inline;flex:none;text-decoration:underline}
.c4p-ftr .c4p-ft-contact li.c4p-ft-hours a::before{display:none}
.c4p-ftr .c4p-ft-links li{position:relative;margin:0;padding:0;line-height:25.6px;color:#000}
.c4p-ftr .c4p-ft-links li:not(:last-child)::after{content:"";position:absolute;left:0;right:0;bottom:0;border-top:1px solid #DDDDDD78}
.c4p-ftr .c4p-ft-links li,.c4p-ftr .c4p-ft-links a{display:flex;align-items:center}
.c4p-ftr .c4p-ft-links a{flex:1;color:#000;text-decoration:none;transition:color .3s}
.c4p-ftr .c4p-ft-links a:hover,.c4p-ftr .c4p-ft-links a:focus-visible{color:#fff}
.c4p-ftr .c4p-ft-links a::before,.c4p-ftr .c4p-ft-contact li::before{content:"";flex:0 0 12px;width:12px;height:12px;margin-right:8px;background:#000;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.c4p-ftr .c4p-ft-links a{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E")}
.c4p-ftr .c4p-ft-contact li:nth-child(1){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.290 24.290 0 0 0-14.01-27.6z'/%3E%3C/svg%3E")}
.c4p-ftr .c4p-ft-contact li:nth-child(2){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.970 99.031-172.268 309.67-9.535 13.774-29.930 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E")}
.c4p-ftr .c4p-ft-contact li:nth-child(3){--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z'/%3E%3C/svg%3E")}

/* Disclaimer band + legal band */
.c4p-ftr .c4p-ft-disclaimer{padding:30px 50px 1px}
.c4p-ftr .c4p-ft-disclaimer p{max-width:1200px;margin:0 auto 28px;text-align:center;line-height:25.6px;color:#333}
.c4p-ftr .c4p-ft-legal{padding:0 0 20px;text-align:center}
.c4p-ftr .c4p-ft-legal p{max-width:1200px;margin:0 auto;padding:4px 0 0;line-height:25.6px;color:var(--c4p-teal)}
.c4p-ftr .c4p-ft-legal .c4p-ft-copy{padding:40px 0 12px;font-family:Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace;line-height:1.2;color:#000}
.c4p-ftr .c4p-ft-copy a{color:#000;text-decoration:none}
.c4p-ftr .c4p-ft-social{justify-content:center;gap:5px!important;margin:0!important;padding:0}
.c4p-ftr .c4p-ft-social .wp-social-link{background:transparent!important;color:#fff!important;border:1px solid #69727D;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0}
.c4p-ftr .c4p-ft-social .wp-social-link a{padding:0!important;color:#fff!important;display:flex}
.c4p-ftr .c4p-ft-social .wp-social-link svg{width:14px;height:14px;fill:#fff}

@media (max-width:1024px){
  .c4p-ftr .c4p-ft-main{padding-inline:30px}
  .c4p-ftr .c4p-ft-col1{flex-basis:30%!important}
  .c4p-ftr .c4p-ft-col2,.c4p-ftr .c4p-ft-col3{flex-basis:20%!important}
  .c4p-ftr .c4p-ft-col4{flex-basis:30%!important}
  .c4p-ftr .c4p-ft-cols>.wp-block-column{padding-right:24px}
  .c4p-ftr .c4p-ft-h{font-size:18px}
  .c4p-ftr .c4p-ft-links{width:100%;max-width:100%}
  .c4p-ftr .c4p-ft-disclaimer{padding:0 30px}
  .c4p-ftr .c4p-ft-disclaimer p{margin-block:28px}
  .c4p-ftr .c4p-ft-legal{padding-inline:30px}
}
@media (max-width:767px){
  .c4p-ftr .c4p-ft-main{padding:50px 20px 20px}
  .c4p-ftr .c4p-ft-cols{flex-direction:column;flex-wrap:wrap!important;padding-top:0}
  .c4p-ftr .c4p-ft-cols>.wp-block-column{flex-basis:auto!important;padding:0!important;margin:0 0 20px}
  .c4p-ftr .c4p-ft-h{text-align:center;max-width:242px;margin-inline:auto}
  .c4p-ftr .c4p-ft-col1 .c4p-ft-h{max-width:212px}
  .c4p-ftr .c4p-ft-links.c4p-ft-hc{width:300px;max-width:100%;margin:24px auto 0}
  .c4p-ftr .c4p-ft-links{width:148px;margin:24px auto 0}
  .c4p-ftr .c4p-ft-links li{padding-block:4.5px}
  .c4p-ftr .c4p-ft-contact{width:238px}
  .c4p-ftr .c4p-ft-disclaimer{padding:30px 20px 20px}
  .c4p-ftr .c4p-ft-disclaimer p{margin:0}
  .c4p-ftr .c4p-ft-legal{padding:30px 20px 20px}
}
@media (prefers-reduced-motion:reduce){.c4p-hf .c4p-hdr *,.c4p-ftr *{transition:none!important}}
