/* MEDEX MASTER WEBSITE DESIGN v1.0
   Shared styles only; no images or image URLs are hardcoded. */
:root {
 --medex-purple:#452B52; --medex-lilac:#A692AD; --medex-grey:#BFC1C2;
 --medex-divider:#E1E2E4; --medex-ink:#1D1D1F; --medex-white:#FFFFFF;
 --medex-width:1180px; --medex-radius:16px;
}
.medex-hero,.medex-section,.medex-intro,.medex-directory-group,.medex-cta-section {
 box-sizing:border-box; max-width:var(--medex-width); margin-inline:auto!important;
 padding:clamp(32px,5vw,72px) clamp(18px,3vw,36px);
 color:var(--medex-ink);
}
.medex-hero {background:#fff; border-bottom:2px solid var(--medex-divider);padding-block:clamp(64px,9vw,126px);}
.medex-hero h1{font-size:clamp(38px,5.8vw,76px);line-height:1.08;letter-spacing:-.035em;color:var(--medex-purple);max-width:950px;margin-block:14px 22px}
.medex-eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--medex-purple)!important}
.medex-lead{font-size:clamp(17px,2vw,22px)!important;line-height:1.6;max-width:780px}
.medex-intro h2,.medex-section h2,.medex-directory-group h2,.medex-cta-section h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.025em;color:var(--medex-purple)}
.medex-card-grid{max-width:var(--medex-width);margin:0 auto 22px!important;gap:22px!important;padding-inline:clamp(18px,3vw,36px)}
.medex-card-grid>.wp-block-column{min-width:0}
.medex-service-card,.medex-info-card{height:100%;box-sizing:border-box;background:#fff;border:1px solid var(--medex-divider);border-radius:var(--medex-radius);padding:24px;transition:transform .2s ease,box-shadow .2s ease}
.medex-service-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(29,29,31,.09)}
.medex-service-card h3{font-size:clamp(19px,2vw,25px);line-height:1.2;color:var(--medex-purple);margin-top:18px}
.medex-service-card p{line-height:1.6}
.medex-card-link a{display:inline-flex;align-items:center;gap:8px;color:var(--medex-purple);font-weight:700;text-decoration:none}
.medex-card-link a:hover{text-decoration:underline}
.medex-card-link a:focus-visible,.medex-service-links a:focus-visible{outline:3px solid var(--medex-lilac);outline-offset:4px}
.medex-editable-image{min-height:140px;background:#f5f5f6;border-radius:10px;overflow:hidden}
.medex-editable-image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.medex-directory-group{border-bottom:2px solid var(--medex-divider);padding-block:36px}
.medex-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;padding-left:20px}
.medex-service-links li{padding:5px 0}
.medex-service-links a{color:var(--medex-ink);text-decoration:none;border-bottom:1px solid var(--medex-divider)}
.medex-service-links a:hover{color:var(--medex-purple);border-bottom-color:var(--medex-purple)}
.medex-cta-section{background:#f7f5f8;border-radius:var(--medex-radius);margin-block:35px!important}
.medex-section+.medex-section{border-top:2px solid var(--medex-divider)}
@media(max-width:782px){
 .medex-card-grid{flex-direction:column!important}
 .medex-card-grid>.wp-block-column{flex-basis:auto!important}
 .medex-service-links{grid-template-columns:1fr}
 .medex-service-card{padding:18px}
}
@media(prefers-reduced-motion:reduce){.medex-service-card{transition:none}.medex-service-card:hover{transform:none}}

/* v1.1 Rehabilitation directory refinement — applies to already-inserted patterns too */
.medex-hero {padding-block:clamp(40px,6vw,82px)!important;}
.medex-hero h1 {margin-block:10px 14px!important;}
.medex-hero .medex-lead {max-width:760px;margin-bottom:0!important;}
.medex-intro {padding-block:clamp(28px,4vw,48px)!important;}
.medex-directory-group {padding-block:clamp(30px,4vw,52px)!important;}
.medex-directory-group h2 {margin:0 0 12px!important;}
.medex-group-intro {max-width:800px;color:var(--medex-ink)!important;margin-bottom:24px!important;}
.medex-directory-group .medex-service-links {
  list-style:none!important;padding:0!important;margin:22px 0 0!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.medex-directory-group .medex-service-links li {
  list-style:none!important;margin:0!important;padding:0!important;min-width:0;
}
.medex-directory-group .medex-service-links li::marker {content:'';}
.medex-directory-group .medex-service-links a {
  display:flex!important;align-items:center;justify-content:space-between;gap:12px;
  box-sizing:border-box;min-height:82px;padding:18px 18px!important;
  background:#fff;border:1px solid var(--medex-divider)!important;
  border-radius:12px;color:var(--medex-ink)!important;
  text-decoration:none!important;font-size:clamp(15px,1.2vw,17px);font-weight:600;
  line-height:1.35;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease;
}
.medex-directory-group .medex-service-links a::after {
  content:'↗';color:var(--medex-purple);font-size:22px;font-weight:500;flex:none;
}
.medex-directory-group .medex-service-links a:hover {
  border-color:var(--medex-lilac)!important;box-shadow:0 10px 22px rgba(69,43,82,.09);transform:translateY(-2px);
}
.medex-cta-section {background:#f7f5f8!important;padding:clamp(30px,5vw,60px)!important;}
.medex-cta-section .medex-card-link a {
  display:inline-flex;background:var(--medex-purple);color:#fff!important;
  border-radius:999px;padding:14px 24px;text-decoration:none!important;
}
.medex-cta-section .medex-card-link a:hover {background:#35203f;}
.medex-hero-media {padding-top:0!important;padding-bottom:20px!important;}
.medex-hero-media .medex-editable-image {margin:0;min-height:0;}
.medex-hero-media .medex-editable-image:empty {display:none;}
.medex-hero-media .medex-editable-image img {aspect-ratio:16/7;object-fit:cover;border-radius:12px;}
/* Editor preview: avoid inherited low-opacity text in MedEx blocks */
.editor-styles-wrapper .medex-intro,.editor-styles-wrapper .medex-directory-group,
.editor-styles-wrapper .medex-intro h2,.editor-styles-wrapper .medex-directory-group h2,
.editor-styles-wrapper .medex-directory-group p,
.editor-styles-wrapper .medex-directory-group li,
.editor-styles-wrapper .medex-directory-group a {opacity:1!important;filter:none!important;}
.editor-styles-wrapper .medex-intro h2,.editor-styles-wrapper .medex-directory-group h2 {color:var(--medex-purple)!important;}
.editor-styles-wrapper .medex-intro p,.editor-styles-wrapper .medex-directory-group p {color:var(--medex-ink)!important;}
@media(max-width:900px){.medex-directory-group .medex-service-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:600px){
 .medex-directory-group .medex-service-links{grid-template-columns:1fr!important;}
 .medex-directory-group .medex-service-links a{min-height:66px;}
 .medex-hero-media .medex-editable-image img{aspect-ratio:4/3;}
}
@media(prefers-reduced-motion:reduce){.medex-directory-group .medex-service-links a{transition:none!important;transform:none!important;}}

/* v2.1 final shared refinements: scoped to MedEx-generated blocks */
.medex-hero { padding-block:clamp(30px,4.5vw,62px)!important; }
.medex-hero h1 { overflow-wrap:anywhere; }
.medex-v21-image-area { max-width:var(--medex-width);margin:0 auto!important;padding:0 clamp(18px,3vw,36px)!important; }
.medex-v21-image-area .medex-editable-image { min-height:0!important;margin:0!important; }
.medex-v21-image-area .medex-editable-image:empty { display:none!important; }
.medex-v21-image-area .medex-editable-image img { display:block;width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:12px; }
.medex-v21-image-area:has(.medex-editable-image:empty) { display:none; }
.medex-section { padding-block:clamp(24px,3.5vw,44px)!important; }
.medex-section h2 { margin-top:0!important; }
.medex-section p { max-width:860px;line-height:1.65; }
.medex-cta-section { margin-block:28px!important; }
.medex-directory-group { scroll-margin-top:105px; }
@media(max-width:600px) {
 .medex-hero h1 { font-size:clamp(34px,9vw,52px)!important; }
 .medex-v21-image-area .medex-editable-image img { aspect-ratio:4/3; }
}

/* v2.2: optional editable image regions, only visible once an image is selected */
.medex-v22-secondary-photo{max-width:var(--medex-width);margin:0 auto!important;padding:0 clamp(18px,3vw,36px)!important}
.medex-v22-secondary-photo .medex-editable-image:empty{display:none!important}
.medex-v22-secondary-photo:has(.medex-editable-image:empty){display:none}
.medex-v22-secondary-photo .medex-editable-image img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:8px}
