/* =========================
   BRAND TOKENS (single source)
   ========================= */
:root{
  --brand-1:#003C01; /* deep green */
  --brand-2:#F2ACB3; /* rose */
  --acc-1:#FCCFD6;   /* blush */
  --acc-2:#A0B16A;   /* sage/olive */
  --acc-3:#878F87;   /* cool gray */
  --acc-4:#C0B6B3;   /* taupe */

  --ink:#111;
  --muted:#5e645e;
  --bg:#fff;
  --card:#fff;
  --border:#e7eaeb;
  --radius:18px;
  --shadow:0 10px 24px rgba(0,0,0,.07);
}

/* =========================
   OUR VETERINARIANS
   ========================= */
.vets-wrap{max-width:1140px;margin:0 auto;padding:clamp(24px,4vw,48px) 16px;color:var(--ink);}
.vets-header{text-align:center;margin-bottom:clamp(20px,3vw,36px);}
.vets-header h1{font-size:clamp(28px,4.4vw,42px);line-height:1.15;margin:0 0 8px;color:var(--brand-1);}
.vets-sub{font-size:clamp(16px,2.2vw,18px);color:var(--muted);margin:0;}
.vets-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.6vw,28px);}
.vet-card{grid-column:span 12;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;border-top:6px solid var(--acc-2);}
.vet-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}
@media (min-width:640px){.vet-card{grid-column:span 6;}}
@media (min-width:1024px){.vet-card{grid-column:span 4;}}
.vet-media{aspect-ratio:4/5;overflow:hidden;margin:0;background:#f6f7f9;}
.vet-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.vet-card:hover .vet-media img{transform:scale(1.03);}
.vet-body{padding:18px 18px 20px;}
.vet-name{font-size:20px;line-height:1.25;margin:0;}
.vet-role{margin:6px 0 12px;color:var(--brand-1);font-weight:700;}
.vet-meta{list-style:none;padding:0;margin:0 0 12px;font-size:15px;color:var(--ink);}
.vet-meta li+li{margin-top:6px;}
.vet-meta strong{color:var(--muted);font-weight:600;}
.vet-details summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:600;background:rgba(242,172,179,.18);border:1px solid rgba(242,172,179,.45);transition:background .2s,border-color .2s,color .2s;}
.vet-details[open] summary{background:rgba(242,172,179,.28);border-color:rgba(242,172,179,.6);}
.vet-details p{margin:12px 0 0;color:var(--muted);}

/* =========================
   OUR SERVICES
   ========================= */
.svc-wrap{max-width:1140px;margin:0 auto;padding:clamp(20px,4vw,48px) 16px;color:var(--ink);}
.svc-header{margin-bottom:clamp(16px,3vw,28px);}
.svc-intro{font-size:clamp(16px,2.2vw,18px);color:var(--muted);margin:0 0 12px;}
.svc-toc{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0;}
.svc-toc a{display:inline-block;padding:8px 12px;border-radius:999px;text-decoration:none;background:rgba(160,177,106,.18);border:1px solid rgba(160,177,106,.38);color:var(--brand-1);font-weight:600;}
.svc-toc a:hover{background:rgba(160,177,106,.28);}
.svc-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2.6vw,28px);margin-top:20px;}
.svc-card{grid-column:span 12;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:56px 18px 20px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.09);}
@media(min-width:768px){.svc-card{grid-column:span 6;}}
@media(min-width:1200px){.svc-card{grid-column:span 4;}}
.svc-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--acc-2);z-index:1;}
.svc-pill{position:absolute;top:12px;right:12px;z-index:2;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(242,172,179,.18);border:1px solid rgba(242,172,179,.45);color:var(--brand-1);}
.pill-accent{background:rgba(242,172,179,.28);border-color:rgba(242,172,179,.6);}
.svc-title{font-size:clamp(22px,2.6vw,32px)!important;line-height:1.2;margin:0;padding-right:0px;}
.svc-desc{margin:0 0 10px;color:var(--muted);}
.svc-list{margin:0 0 12px;padding-left:18px;}
.svc-list.two-col{columns:2;column-gap:24px;}
.svc-list li{margin:4px 0;}
.svc-more summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-weight:600;background:rgba(252,207,214,.28);border:1px solid rgba(252,207,214,.6);}
.svc-more[open] summary{background:rgba(252,207,214,.38);}
.svc-more p{margin:10px 0 0;color:var(--muted);}
.btn{display:inline-block;margin-top:10px;padding:10px 14px;border-radius:12px;font-weight:700;text-decoration:none;background:var(--brand-1);color:#fff;border:1px solid var(--brand-1);}
.btn:hover{filter:brightness(1.05);}
.btn.outline{background:#fff;color:var(--brand-1);border:1px solid var(--brand-1);}
.btn.ghost{background:#fff;border:1px dashed var(--acc-3);color:var(--brand-1);}
.btn.band-btn{background:var(--brand-2);border-color:var(--brand-2);color:#00230a;}
.svc-faq{margin-top:34px;}
.faq-title{font-size:22px;margin:0 0 8px;color:var(--brand-1);}
.faq-item{border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff;}
.faq-item summary{cursor:pointer;font-weight:700;color:#102a12;}
.faq-item[open]{background:rgba(160,177,106,.08);}
.svc-band{margin-top:26px;border:1px solid var(--border);background:linear-gradient(90deg, rgba(160,177,106,.12), rgba(242,172,179,.12));border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.svc-band p{margin:0;color:#0f2a10;font-weight:700;}

/* =========================
   OUR PARTNERS (no card boxes)
   ========================= */
.pp-wrap{max-width:1140px;margin:0 auto;padding:clamp(20px,4vw,48px) 16px;color:var(--ink);}

/* HERO */
.pp-hero{
  border-radius:24px;
  background:
    linear-gradient(0deg, rgba(0,60,1,.28), rgba(0,60,1,.28)),
    url("https://images.unsplash.com/photo-1558944351-c07b2e1d2c2e?q=80&w=2000&auto=format&fit=crop") center/cover no-repeat;
  color:#fff;min-height:320px;display:flex;align-items:center;overflow:hidden;
}
.pp-hero__inner{padding:28px 22px;max-width:720px;}
.pp-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin:0 0 6px;opacity:.95;}
.pp-kicker{font-size:clamp(30px,3.6vw,48px);line-height:1.1;margin:.1em 0 .25em;}
.pp-sub{margin:0;opacity:.95;}
.pp-wrap > .pp-apply{margin-top:14px;}

/* APPLY BAND */
.pp-apply{
  margin:18px 0 26px;padding:14px 16px;border-radius:16px;
  background:linear-gradient(90deg, rgba(160,177,106,.12), rgba(242,172,179,.12));
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  border:1px solid #e7eaeb;box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.pp-apply__text{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.pp-apply__text strong{color:var(--brand-1);}
.pp-apply__actions .btn{display:inline-block;padding:12px 18px;border-radius:14px;font-weight:800;text-decoration:none;background:var(--brand-2);border:1px solid var(--brand-2);color:#08330e;}
.pp-apply__actions .btn:hover{filter:brightness(1.05);}

/* LOGO RIBBON */
.pp-ribbon{overflow:hidden;border-radius:14px;border:1px solid #eef1f2;margin:8px 0 20px;}
.pp-ribbon__track{display:flex;gap:28px;align-items:center;padding:12px 16px;animation:pp-marquee 38s linear infinite;}
.pp-ribbon img{height:64px;object-fit:contain;filter:grayscale(100%) contrast(1.05) opacity(.85);transition:filter .25s,opacity .25s,transform .25s;}
.pp-ribbon img:hover{filter:none;opacity:1;transform:translateY(-2px);}
@keyframes pp-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* PARTNER ROWS */
.pp-list{margin-top:6px;}
.pp-row{display:grid;grid-template-columns:1.2fr 2fr;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #e9eced;background:linear-gradient(0deg, rgba(252,207,214,.12), rgba(252,207,214,.12)) top/100% 0 no-repeat;}
.pp-row:nth-child(odd){background:linear-gradient(0deg, rgba(160,177,106,.10), rgba(160,177,106,.10)) top/100% 0 no-repeat;}
@media (max-width:860px){.pp-row{grid-template-columns:1fr;}}
@media (min-width:900px){
  .pp-row:nth-child(even) .pp-logo{order:2;}
  .pp-row:nth-child(even) .pp-body{order:1;}
}
.pp-logo{
  background:#fff;border:1px solid #eef1f2;border-radius:12px;padding:14px;aspect-ratio:auto;min-height:110px;display:flex;align-items:center;justify-content:center;
}
.pp-logo img{max-width:100%;max-height:84px;width:auto;height:auto;object-fit:contain;filter:saturate(.95);}
.pp-body{padding-right:6px;}
.pp-name{
  font-size: clamp(18px, 2.1vw, 22px);
  margin-bottom: .25em;
  font-weight: 800;
  letter-spacing: .1px;
  color:var(--brand-1);
}
.pp-desc{margin:0 0 .4em;color:var(--muted);}
.pp-tags{margin:0 0 .4em;color:#2a3d2a;font-variant:all-small-caps;letter-spacing:.5px;font-weight:700;opacity:.9;}
.pp-links .text-link{color:#0e2f11;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;font-weight:700;}
.pp-links .text-link:hover{color:var(--brand-1);opacity:.8;}

/* GALLERY */
.pp-gallery{margin:26px 0 6px;display:grid;grid-template-columns:repeat(12,1fr);gap:10px;}
.pp-gallery figure{margin:0;border-radius:14px;overflow:hidden;position:relative;}
.pp-gallery figure:nth-child(1){grid-column:span 7;}
.pp-gallery figure:nth-child(2){grid-column:span 5;}
.pp-gallery figure:nth-child(3){grid-column:span 5;}
.pp-gallery figure:nth-child(4){grid-column:span 7;}
@media (max-width:860px){.pp-gallery figure{grid-column:span 12;}}
.pp-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1) brightness(.98);}
.pp-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.15), rgba(0,0,0,0));opacity:0;transition:opacity .25s;}
.pp-gallery figure:hover::after{opacity:1;}

/* =========================
   OUR EVENTS (calendar + list)
   ========================= */
.ev-wrap{max-width:1140px;margin:0 auto;padding:clamp(20px,4vw,48px) 16px;color:var(--ink);}
.ev-header{margin-bottom:14px;}
.ev-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:#2a3d2a;margin:0 0 4px;}
.ev-title{font-size:clamp(26px,3vw,38px);margin:.1em 0 .2em;color:var(--brand-1);}
.ev-sub{margin:0 0 8px;color:var(--muted);}
.ev-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;}
/* buttons reuse .btn/.outline above */

/* ---- Grid Calendar (primary) ---- */
.ev-cal{margin-top:12px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 10px 24px rgba(0,0,0,.04);}
.ev-cal__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:10px 12px 8px;border-radius:18px 18px 0 0;background:linear-gradient(90deg, rgba(160,177,106,.12), rgba(242,172,179,.12));}
.ev-month{margin:0;font-size:20px;color:#0f2a10;}
.ev-cal__nav .ev-nav{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:999px;background:#fff;border:1px solid #dfe5e2;text-decoration:none;color:#0f2a10;font-weight:800;margin-left:6px;}
.ev-cal__nav .ev-nav:hover{background:#f7faf7;}

.ev-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.ev-head > div{padding:10px 6px;text-align:center;font-weight:800;color:#2a3d2a;border-bottom:1px solid var(--border);}
.ev-body .day,.ev-body .empty{min-height:88px;padding:6px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;background:#fff;}
.ev-body .day:nth-child(7n){border-right:none;}
.ev-body .empty{background:#fafbfa;}
.num{font-weight:900;color:#224224;}
.day:hover{background:linear-gradient(0deg, rgba(160,177,106,.08), rgba(160,177,106,.08));}

/* Event dots inside day cells */
.dot{--c: var(--brand-1); width:10px;height:10px;border-radius:50%;background:var(--c);display:inline-block;position:absolute;left:8px;bottom:8px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.05);}
.dot + .dot{left:22px;} /* second dot */
.dot.alt{--c:#C95668;} /* Nevada */

/* Legend */
.ev-legend{display:flex;gap:18px;align-items:center;padding:8px 12px;color:#2a3d2a;font-weight:700;}
.key{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-2px;margin-right:6px;}
.key-fl{background:var(--brand-1);}
.key-nv{background:#C95668;}

/* ---- Hardening rules (if theme overrides grids) ---- */
.ev-cal{overflow:hidden;}
.ev-grid{display:grid !important;grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:0 !important;}
.ev-head > div,.ev-body .day,.ev-body .empty{display:block !important;margin:0 !important;padding:10px 6px;}
.ev-body{border-top:1px solid var(--border);}

/* ---- Table Calendar (fallback / optional) ---- */
.ev-cal.ev-cal--table{margin-top:12px;border:1px solid var(--border);border-radius:18px;background:var(--card);box-shadow:0 10px 24px rgba(0,0,0,.04);}
.ev-cal.ev-cal--table .ev-cal__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:10px 12px 8px;border-radius:18px 18px 0 0;background:linear-gradient(90deg, rgba(160,177,106,.12), rgba(242,172,179,.12));}
.ev-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:0 0 18px 18px;overflow:hidden;table-layout:fixed;}
.ev-table th,.ev-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top;background:#fff;}
.ev-table th{padding:10px 6px;text-align:center;font-weight:800;color:#2a3d2a;background:#fafcfa;}
.ev-table td{height:96px;padding:6px;position:relative;}
.ev-table tr th:last-child,.ev-table tr td:last-child{border-right:none;}
.ev-table tr:last-child td{border-bottom:none;}
.ev-table td.empty{background:#fafbfa;}
.ev-table td:hover{background:linear-gradient(0deg, rgba(160,177,106,.08), rgba(160,177,106,.08));}
.dot.fl{background:var(--brand-1);}   /* Florida for table version */
.dot.nv{background:#C95668;}         /* Nevada for table version */

/* ===== Event List ===== */
.ev-list{margin-top:16px;}
.ev-item{border-bottom:1px solid var(--border);padding:14px 4px;}
.ev-item__head{display:flex;gap:10px;align-items:center;margin-bottom:4px;}
.ev-item .date{font-weight:900;color:#284028;}
.chip{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;border:1px solid;display:inline-block;}
.chip-fl{color:var(--brand-1);border-color:rgba(0,60,1,.28);background:rgba(0,60,1,.08);}
.chip-nv{color:#6b2031;border-color:#e7a5ae;background:rgba(201,86,104,.12);}
.ev-item__title{margin:.1em 0 .2em;color:var(--brand-1);font-size:clamp(18px,2.1vw,22px);}
.ev-item__meta{margin:0 0 4px;color:#3c4a3c;}
.ev-item__desc{margin:0 0 6px;color:var(--muted);}
.ev-item__links .text-link{color:#0e2f11;text-decoration:underline;text-underline-offset:3px;font-weight:800;}
.ev-item__links .text-link:hover{opacity:.8;}
.header-top, .top-bar, .site-top-bar, .top-notification-bar {
  background-color: #013e02 !important;
.reposition-img img {
  object-fit: cover;
  object-position: 50% 35% !important;
;
}
/* ===========================
   Parker Pet Clinic – Services
   =========================== */

/* Headings */
.service-page h1,
.service-page h2 {
  color: #003C01;
  letter-spacing: -0.02em;
}

/* Intro Divider */
.service-divider {
  width: 80px;
  height: 3px;
  background: #F2ACB3;
  margin: 24px 0;
}

/* Soft Section Backgrounds */
.bg-blush {
  background-color: #FCCFD6;
}

.bg-sage {
  background-color: rgba(160, 177, 106, 0.25);
}

/* Service Cards */
.service-card {
  background-color: rgba(192, 182, 179, 0.35);
  border-radius: 18px;
  padding: 36px;
  border: 1px solid rgba(0,0,0,0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

/* Buttons */
.btn-primary {
  background-color: #003C01;
  color: #ffffff;
  border-radius: 999px;
  padding: 16px 36px;
}

.btn-primary:hover {
  background-color: #002B01;
}

.btn-secondary {
  background-color: #F2ACB3;
  color: #003C01;
  border-radius: 999px;
  padding: 16px 36px;
}

/* CTA Section */
.service-cta {
  background-color: #003C01;
  color: #ffffff;
  text-align: center;
  padding: 80px 20px;
}

/* Muted Text */
.text-muted {
  color: #878F87;
}
/* ===== STOP MID-WORD BREAKS ON SERVICE TITLES ===== */
.svc-wrap .svc-card h2.svc-title,
.svc-wrap .svc-card .svc-title{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  max-inline-size:100% !important;
  inline-size:auto !important;

  overflow-wrap:normal !important;   /* overrides 'anywhere' */
  word-break:normal !important;       /* overrides break-word */
  hyphens:none !important;            /* no auto hyphenation */
  white-space:normal !important;
}

/* If the theme applies wrapping to ALL headings, kill it only inside services */
.svc-wrap .svc-card,
.svc-wrap .svc-card *{
  overflow-wrap:normal !important;
  hyphens:none !important;
}

/* Optional: give cards a bit more room so long titles wrap nicer */
.svc-wrap .svc-grid{
  grid-template-columns:repeat(auto-fit,minmax(380px,1fr)) !important;
}
@media (max-width: 980px){
  .svc-wrap .svc-grid{
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr)) !important;
  }
}
.svc-wrap .svc-card h2.svc-title{
  font-size: clamp(26px, 2vw, 40px) !important;
  line-height: 1.05 !important;
}
/* 1) Make titles span the full width of the card (key fix) */
.svc-wrap .svc-card .svc-title,
.svc-wrap .svc-card h2.svc-title{
  grid-column: 1 / -1 !important;  /* if the card uses CSS grid */
  width: 100% !important;
  max-width: none !important;
}

/* Often the short description should span too */
.svc-wrap .svc-card .svc-desc{
  grid-column: 1 / -1 !important;
}

/* 2) Stop ugly mid-word breaks */
.svc-wrap .svc-card .svc-title,
.svc-wrap .svc-card h2.svc-title{
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

/* If your theme forces "break anywhere", this overrides it inside Services only */
.svc-wrap .svc-card,
.svc-wrap .svc-card *{
  overflow-wrap: normal !important;
  hyphens: none !important;
}
/* Flex fallback: ensure the title isn't constrained by a side column */
.svc-wrap .svc-card{
  flex-wrap: wrap !important;
}
.svc-wrap .svc-card .svc-title,
.svc-wrap .svc-card .svc-desc{
  flex: 0 0 100% !important;
}
/* FIX: stop titles from wrapping weird */
.svc-card .svc-title{
  padding-right: 0 !important;
}
/* Better: only add space on the right on larger screens */
.svc-card .svc-title{
  padding-right: 0 !important;
}

/* Put the pill in the top-right without stealing title width */
.svc-card{ position: relative; }

.svc-card .svc-pill{
  position: absolute;
  top: 14px;
  right: 14px;
}

.svc-card .svc-title{
  padding-right: 0 !important;
}
/* ===== SERVICES: prevent weird title wrapping ===== */
.svc-wrap .svc-title{
  padding-right: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
/* Blog post titles */
.entry-title,
.entry-title a,
.entry-title a:visited,

/* Elementor posts widget */
.elementor-post__title,
.elementor-post__title a,

/* General post title fallback */
.post-title,
.post-title a {
  color: #003c01 !important;
}

/* Hover color (optional but recommended) */
.entry-title a:hover,
.elementor-post__title a:hover,
.post-title a:hover {
  color: #005a02 !important;
}
body.blog h2 a,
body.blog h3 a,
body.archive h2 a,
body.archive h3 a {
  color: #003c01 !important;
}