
:root{
  --cream:#fbf6e8;
  --cream-border:#e8d9a8;
  --orange:#ffaf1c;
  --red:#ed3f27;
  --maroon:#622a14;
  --text:#404040;
  --muted:#666;
  --display:"Fredoka",system-ui,sans-serif;
  --body:"Noto Sans",system-ui,sans-serif;
}
body{font-family:var(--body);font-size:18px;line-height:1.6;color:var(--text);background:#fff;}
a{color:var(--red);text-decoration:none}
a:hover{color:var(--orange)}
h1,h2,h3,h4,.page-title,.welcome-title,.hero-title,.display-font{
  font-family:var(--display);font-weight:700;line-height:1.15;
}
.site-logo{max-width:220px;height:auto;display:block;margin:1.25rem auto .5rem}
.navbar{justify-content:center}
.navbar-toggler{border-color:var(--cream-border)}
.navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(98,42,20,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar .nav-link{color:var(--maroon)!important;font-weight:500;padding:.5rem .9rem!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--red)!important}
.dropdown-menu{border-color:var(--cream-border)}
@media (min-width:992px){
  .navbar .nav-item.dropdown{position:relative}
  .navbar .nav-item.dropdown > .dropdown-menu{
    display:none;margin-top:0;top:100%;
  }
  .navbar .nav-item.dropdown:hover > .dropdown-menu,
  .navbar .nav-item.dropdown:focus-within > .dropdown-menu{
    display:block;
  }
  /* keep hover bridge so the menu does not flicker */
  .navbar .nav-item.dropdown > .dropdown-menu::before{
    content:"";position:absolute;left:0;right:0;top:-.5rem;height:.5rem;
  }
}
.panel{
  background:var(--cream);border:1px solid var(--cream-border);
  border-radius:.25rem;padding:2rem 1.5rem;margin:1.5rem auto 2rem;max-width:960px;
}
.panel-wide{max-width:1100px}
.panel-full{max-width:none;width:100%}
.welcome-title{
  font-size:clamp(2.4rem,6vw,3.5rem);text-align:center;margin-bottom:1rem;color:var(--maroon);
}
.page-title{color:var(--orange);text-align:center;margin:1rem 0 1.5rem;font-size:clamp(2rem,5vw,2.85rem)}
.clinic-phone{color:#ff6600;font-weight:700;font-size:1.15rem}
.vaccine-box{border:2px solid var(--orange);padding:1.25rem;margin-top:1.75rem;background:#fffef8}
.btn-orange,.btn-red{
  font-family:var(--display);font-weight:600;font-size:1.1rem;letter-spacing:.01em;
  background:var(--red);border:1px solid var(--red);color:#fff;border-radius:3px;padding:.55rem 1.25rem;
}
.btn-orange:hover,.btn-red:hover{background:var(--orange);border-color:var(--orange);color:#fff}
.clinic-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:stretch}
.clinic-actions .clinic-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;
  padding:.55rem 1.15rem;border-radius:3px;font-family:var(--body);font-size:.95rem;font-weight:600;
  line-height:1.2;text-decoration:none;border:1px solid transparent;
}
.clinic-actions .clinic-btn-primary{background:var(--red);border-color:var(--red);color:#fff!important}
.clinic-actions .clinic-btn-primary:hover{background:var(--orange);border-color:var(--orange);color:#fff!important}
.clinic-actions .clinic-btn-secondary{background:#fff;border-color:var(--maroon);color:var(--maroon)!important}
.clinic-actions .clinic-btn-secondary:hover{background:var(--maroon);color:#fff!important}
.cta-btn{
  display:inline-block;background:var(--red);color:#fff!important;padding:.7rem 1.35rem;margin:.35rem;
  font-family:var(--display);font-weight:600;font-size:1.15rem;border-radius:3px;line-height:1.2;
}
.cta-btn:hover{background:var(--orange);color:#fff!important}
.clinic-location-btns{--bs-gutter-x:0.75rem;--bs-gutter-y:0.75rem;margin-left:0;margin-right:0}
.clinic-location-btns > [class*="col-"]{padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5)}
.clinic-location-btn{
  display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;
  background:var(--red);color:#fff!important;padding:.75rem .65rem;margin:0;
  font-family:var(--display);font-weight:600;font-size:1.05rem;border-radius:3px;line-height:1.2;
  text-align:center;
}
.clinic-location-btn:hover{background:var(--orange);color:#fff!important}
.feature-card{background:#fff;border:1px solid var(--cream-border);padding:1.25rem;height:100%}
.feature-card h3{color:var(--red);font-size:1.65rem;margin-bottom:.75rem;font-weight:600}
.parents-section{
  background:center/cover no-repeat url("/assets/img/healthy-background-lg.jpg");
  padding:2.5rem 0;margin:2rem 0 0;color:#fff;
}
.parents-section .parents-title{
  font-family:var(--display);font-weight:600;font-size:clamp(2rem,4.5vw,2.6rem);
  color:#fff;margin:0 0 1rem;
}
.parents-section p{color:#fff;text-align:justify;font-size:1.05rem}
.parents-photos{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}
.parents-photos img{width:100%;max-width:300px;height:auto;border-radius:.2rem}
.home-features{padding:2rem 0 2.5rem}
.home-features .feature-card{border:0;box-shadow:none;padding:1rem .75rem}
.home-features .feature-card h3{font-size:clamp(1.5rem,3vw,1.85rem)}
.home-features .feature-card p{text-align:justify;color:#000;font-size:1.05rem}
.clinic-gallery{
  column-count:2;column-gap:.75rem;
}
@media (min-width:992px){.clinic-gallery{column-count:3}}
.clinic-gallery figure{break-inside:avoid;margin:0 0 .75rem;display:block}
.clinic-gallery img{
  width:100%;height:auto;display:block;border-radius:.2rem;border:1px solid var(--cream-border);
}
.clinic-card{background:#fff;border:1px solid var(--cream-border);padding:1.25rem;height:100%}
.clinic-card .clinic-name{
  font-family:var(--display);font-weight:600;font-size:clamp(1.45rem,3.5vw,1.85rem);
  color:var(--maroon);margin:0 0 .75rem;line-height:1.15;
}
.contact-info-card{
  background:#fff;border:1px solid var(--cream-border);padding:1.25rem;height:100%;text-align:center;
}
.contact-info-card .label{
  font-family:var(--display);font-weight:600;font-size:1.35rem;color:var(--red);margin-bottom:.35rem;
}
.footer-block h2,.footer-block h3{font-size:1.5rem;color:var(--maroon);margin-bottom:.75rem}
.site-footer{border-top:1px solid #eee;padding:2rem 0 1.5rem;margin-top:2rem;font-size:.95rem;text-align:left}
.site-footer .footer-main{
  border:1px solid var(--cream-border);background:var(--cream);border-radius:.25rem;
  padding:1.5rem 1.25rem;text-align:left;
}
.site-footer .footer-block{text-align:left}
.site-footer .footer-clinic-col{text-align:left}
.site-footer .footer-clinic{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.25rem;
  margin-bottom:.65rem;text-align:left;justify-content:flex-start;
}
.site-footer .footer-clinic:last-child{margin-bottom:0}
.site-footer .footer-brand{text-align:center;margin-top:1.5rem}
.form-list{width:100%;max-width:720px;margin:0 auto}
.form-list .form-item{
  display:grid;grid-template-columns:minmax(0,1fr) 5.5rem 5.5rem;gap:.75rem 0.65rem;
  align-items:center;padding:1rem 0;border-bottom:2px solid #e67e22;
}
.form-list .form-item:last-child{border-bottom:2px solid #e67e22}
.form-list .form-title{
  font-family:var(--display);font-weight:600;font-size:1.2rem;color:var(--maroon);
  margin:0;line-height:1.25;text-align:left;
}
.form-list .form-lang{
  display:inline-flex;align-items:center;justify-content:center;width:5.5rem;justify-self:end;
  padding:.4rem .5rem;border-radius:3px;font-size:.9rem;font-weight:600;
  background:var(--red);color:#fff!important;border:1px solid var(--red);line-height:1.2;
  text-align:center;
}
.form-list .form-lang:hover{background:var(--orange);border-color:var(--orange);color:#fff!important}
.form-list .form-lang.is-empty{
  visibility:hidden;pointer-events:none;background:transparent;border-color:transparent;
}
@media (max-width:575.98px){
  .form-list .form-item{grid-template-columns:1fr 5.5rem 5.5rem}
  .form-list .form-title{grid-column:1 / -1;text-align:center}
}
.kids-photo{max-width:220px;width:100%;border-radius:50% / 40%;object-fit:cover}
.table-vaccine th{background:var(--red);color:#fff}

/* Shared provider page chrome (listing + detail) */
.page-hero{
  background:center/cover no-repeat url("/assets/img/healthy-background-lg.jpg");
  padding:2.75rem 0 2.5rem;margin-bottom:0;
}
.page-hero .hero-title{
  color:var(--orange);font-size:clamp(2rem,5vw,2.85rem);margin:0;text-align:center;
}
.provider-hero{text-align:center;padding-top:1rem;padding-bottom:.5rem}
.provider-hero .hero-title{margin-bottom:1.25rem}
.provider-photo{
  width:min(100%,360px);aspect-ratio:1;object-fit:cover;display:block;margin:0 auto 1.25rem;
}
.provider-back{
  display:inline-block;background:var(--red);border:1px solid var(--red);color:#fff!important;
  font-family:var(--display);font-size:1.1rem;font-weight:600;padding:.55rem 1.1rem;border-radius:3px;line-height:1.2;
}
.provider-back:hover{background:var(--orange);border-color:var(--orange);color:#fff!important}
.provider-body{padding:2rem 0 2.5rem}
.provider-body .cred-list{list-style:none;padding:0;margin:0 0 1rem;font-weight:600}
.provider-body .aff-list{padding-left:1.1rem;margin:0 0 1rem}
.provider-body h2{font-size:2rem;color:var(--red);margin-top:0;margin-bottom:.75rem}
.provider-body .provider-main{padding-right:1rem}
.provider-body .provider-side{padding-left:1rem}
@media (max-width:767.98px){
  .provider-body .provider-main{padding-right:0;margin-bottom:1.5rem}
  .provider-body .provider-side{padding-left:0}
}

/* Listing grid — matches Oxygen posts grid */
.providers-grid{padding:2.5rem 0 3rem}
.provider-card{
  text-align:center;padding:1rem;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
}
.provider-card > a{display:flex;justify-content:center;width:100%}
.provider-card .thumb{
  width:65%;max-width:240px;aspect-ratio:1;object-fit:cover;margin:0 auto 1rem;display:block;
}
.provider-card .name{
  color:var(--maroon);font-family:var(--display);font-size:1.75rem;font-weight:700;
  line-height:1.15;margin:0 0 1rem;text-align:center;width:100%;
}
.provider-card .more{
  display:inline-block;background:var(--red);color:#fff!important;font-size:.85rem;font-weight:600;
  padding:.75em 1.5em;border-radius:3px;line-height:1;margin-top:auto;
}
.provider-card .more:hover{background:var(--orange);color:#fff!important}

/* Vaccine modal */
.vaccine-modal[hidden]{display:none!important}
.vaccine-modal{
  position:fixed;inset:0;z-index:1050;display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
.vaccine-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.vaccine-modal__dialog{
  position:relative;z-index:1;background:#fff;border-radius:.35rem;max-width:720px;width:100%;
  max-height:min(90vh,820px);overflow:auto;padding:1.5rem 1.25rem 1.25rem;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}
.vaccine-modal__close{
  position:absolute;top:.5rem;right:.5rem;width:2.5rem;height:2.5rem;border:0;background:transparent;
  font-size:1.75rem;line-height:1;color:var(--maroon);cursor:pointer;border-radius:.25rem;
}
.vaccine-modal__close:hover,.vaccine-modal__close:focus{color:var(--red);outline:2px solid var(--orange);outline-offset:2px}
body.modal-open{overflow:hidden}
