/* ==========================================================================
   MEDICO Core — widget styles. Selectors carry two classes (or element+class)
   on purpose: Elementor's kit emits `.elementor-kit-N h3` / `.elementor-kit-N a`
   after this sheet, and a single-class rule loses to it. Values are the approved design's, exposed as
   --mdc-* custom properties so the Elementor style controls can override them
   without touching this file.
   ========================================================================== */

:root{
  --mdc-petrol:#24400E; --mdc-petrol-400:#557435;
  --mdc-green:#4A8519; --mdc-green-text:#3F7016; --mdc-green-light:#8BB656;
  --mdc-orange:#C75300;
  --mdc-tint:#EEF3E3; --mdc-line:#E3E5DA; --mdc-muted:#4A4A46;
  --mdc-radius:14px; --mdc-radius-lg:22px;
}

/* ------------------------------------------------------------ sticky header
   The theme-builder header lives in <div data-elementor-type="header"> which
   Elementor leaves static, so `position:sticky` on the container inside it
   never sticks. Make the wrapper itself sticky; the admin bar is fixed too. */
.elementor-location-header{ position:sticky; top:0; z-index:60; }
body.admin-bar .elementor-location-header{ top:32px; }
@media (max-width:782px){ body.admin-bar .elementor-location-header{ top:46px; } }
.elementor-location-header > .e-con{ transition:border-color .25s ease,box-shadow .25s ease; }
.elementor-location-header.mdc-stuck > .e-con{
  border-bottom-color:var(--mdc-line); box-shadow:0 6px 22px -18px rgba(36,64,14,.5);
}

/* ------------------------------------------------------------------ buttons */
.mdc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-size:.95rem; font-weight:600; letter-spacing:.005em; line-height:1.68;
  padding:15px 30px; border-radius:999px; text-decoration:none; border:1.5px solid transparent;
  cursor:pointer; transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease;
}
a.mdc-btn.mdc-btn-primary,.mdc-btn.mdc-btn-primary{ background:var(--mdc-btn-bg,var(--mdc-green)); color:#fff; }
a.mdc-btn.mdc-btn-primary:hover,.mdc-btn.mdc-btn-primary:hover{ background:var(--mdc-btn-hover-bg,var(--mdc-green-text)); color:#fff; transform:translateY(-2px); }
a.mdc-btn.mdc-btn-ghost,.mdc-btn.mdc-btn-ghost{ border-color:rgba(36,64,14,.22); color:var(--mdc-petrol); background:transparent; }
a.mdc-btn.mdc-btn-ghost:hover,.mdc-btn.mdc-btn-ghost:hover{ border-color:var(--mdc-petrol); background:rgba(36,64,14,.05); color:var(--mdc-petrol); }
.mdc-btn .mdc-arw{ transition:transform .18s ease; }
.mdc-btn:hover .mdc-arw{ transform:translateX(3px); }

/* --------------------------------------------------------------- trust band */
.mdc-trust{ display:grid; grid-template-columns:repeat(var(--mdc-cols,4),1fr); gap:34px; color:#fff; }
.mdc-trust .mdc-trust-item h3{
  font-size:1rem; font-weight:600; line-height:1.2; letter-spacing:-.02em;
  margin:0 0 7px; color:var(--mdc-trust-title,#fff);
}
.mdc-trust .mdc-trust-item p{ margin:0; font-size:.9rem; line-height:1.6; color:var(--mdc-trust-text,rgba(255,255,255,.72)); }
.mdc-trust-ico{
  width:38px; height:38px; border-radius:10px; background:var(--mdc-trust-icon-bg,rgba(255,255,255,.1));
  display:grid; place-items:center; margin-bottom:16px; color:var(--mdc-trust-icon,var(--mdc-green-light));
}
.mdc-trust-ico svg{ width:19px; height:19px; }
@media (max-width:980px){ .mdc-trust{ gap:28px; } }

/* ------------------------------------------------------------------ pricing */
.mdc-price-grid{ display:grid; grid-template-columns:repeat(var(--mdc-cols,3),1fr); gap:22px; align-items:stretch; }
.mdc-price{
  background:var(--mdc-price-bg,#fff); border:1px solid var(--mdc-price-border,var(--mdc-line));
  border-radius:var(--mdc-radius-lg); padding:36px 32px; display:flex; flex-direction:column; position:relative;
}
.mdc-price.feat{ background:var(--mdc-price-feat-bg,var(--mdc-petrol)); border-color:var(--mdc-price-feat-bg,var(--mdc-petrol)); color:#fff; }
.mdc-price-grid .mdc-price h3{ font-size:1rem; font-weight:600; line-height:1.35; letter-spacing:.02em; margin:0; color:var(--mdc-muted); }
.mdc-price-amt{ font-size:2.6rem; font-weight:600; letter-spacing:-.02em; color:var(--mdc-price-amt,var(--mdc-petrol)); margin:12px 0 4px; line-height:1; }
.mdc-price-grid .mdc-price p{ font-size:.93rem; color:var(--mdc-muted); margin:0 0 26px; }
.mdc-price-grid .mdc-price.feat h3,.mdc-price-grid .mdc-price.feat .mdc-price-amt{ color:#fff; }
.mdc-price-grid .mdc-price.feat p{ color:rgba(255,255,255,.74); }
.mdc-price .mdc-btn{ margin-top:auto; width:100%; }
.mdc-price-tag{
  position:absolute; top:-13px; left:32px; background:var(--mdc-price-tag-bg,var(--mdc-orange)); color:#fff;
  font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; line-height:1.45;
  padding:6px 14px; border-radius:999px; white-space:nowrap;
}
.mdc-price-note{ text-align:center; font-size:.88rem; color:var(--mdc-muted); margin:26px 0 16px; }

/* ------------------------------------------------------------------ reviews */
.mdc-rev-top{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:38px; }
.mdc-eyebrow{
  font-size:.72rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:var(--mdc-green-text);
  margin:0 0 14px; display:flex; align-items:center; gap:10px; line-height:1.68;
}
.mdc-eyebrow::after{ content:""; height:1px; width:34px; background:currentColor; opacity:.45; flex:0 0 34px; }
.mdc-rev-top .mdc-rev-head h2{ margin:0; }
.mdc-rev-score{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.mdc-score-num{ font-size:2.1rem; font-weight:600; line-height:1; letter-spacing:-.02em; color:var(--mdc-petrol); }
.mdc-score-meta p{ margin:0; font-size:.9rem; color:var(--mdc-petrol-400); }
.mdc-score-meta p b{ display:block; color:var(--mdc-petrol); font-weight:600; font-size:.95rem; }
.mdc-rev-score .mdc-btn{ white-space:nowrap; }
.mdc-stars{ display:flex; gap:3px; color:var(--mdc-star,var(--mdc-orange)); }
.mdc-stars svg{ width:19px; height:19px; }
.mdc-rev-masonry{ columns:2; column-gap:20px; }
.mdc-rev{
  break-inside:avoid; display:inline-block; width:100%; margin:0 0 20px;
  background:var(--mdc-rev-bg,#fff); border-radius:var(--mdc-radius-lg); padding:30px 28px;
  box-shadow:0 1px 2px rgba(36,64,14,.04); box-sizing:border-box;
}
.mdc-rev .mdc-stars{ margin-bottom:14px; }
.mdc-rev-masonry .mdc-rev p{ font-size:.97rem; color:var(--mdc-rev-text,var(--mdc-petrol)); margin:0 0 18px; font-style:italic; }
.mdc-rev-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  border-top:1px solid var(--mdc-line); margin-top:16px; padding-top:14px;
}
.mdc-rev cite{ font-style:normal; font-size:.86rem; font-weight:600; color:var(--mdc-muted); }
a.mdc-rev-src{ font-size:.82rem; color:var(--mdc-petrol-400); text-decoration:none; }
a.mdc-rev-src:hover{ color:var(--mdc-green); }
@media (max-width:820px){ .mdc-rev-masonry{ columns:1; } }

/* ------------------------------------------------------------- contact list */
.mdc-contact-list{ list-style:none; padding:0; margin:26px 0 0; }
.mdc-contact-list li{ display:flex; gap:14px; margin-bottom:22px; font-size:.98rem; color:var(--mdc-contact-text,var(--mdc-muted)); }
.mdc-contact-list li > span:last-child{ line-height:1.68; }
.mdc-contact-list b{ display:block; color:var(--mdc-contact-label,var(--mdc-petrol)); font-weight:600; font-size:.86rem; letter-spacing:.02em; margin-bottom:2px; }
.mdc-contact-list li a{ color:var(--mdc-contact-text,var(--mdc-muted)); text-decoration:none; }
.mdc-contact-list li a:hover{ color:var(--mdc-green); }
.mdc-c-ico{
  flex:0 0 38px; height:38px; border-radius:10px; background:var(--mdc-contact-icon-bg,var(--mdc-tint));
  display:grid; place-items:center; color:var(--mdc-contact-icon,var(--mdc-green));
}
.mdc-c-ico svg{ width:18px; height:18px; }
