.elementor-1020 .elementor-element.elementor-element-1687b421{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-4b645406 *//* ===== Village Care — Mockups (Search & Profile) ===== */
:root { --vc-green:#86c440; --vc-orange:#e29a25; --vc-purple:#6a1b9a; --vc-text:#333; --vc-muted:#6b7280; --vc-border:#e6e6e6; }
.vc-title{ text-align:center; color:var(--vc-purple); margin:0 0 16px; }

/* Buttons */
.vc-btn, .vc-btn-outline{
  display:inline-block; text-decoration:none; cursor:pointer; padding:10px 14px;
  border-radius:999px; font-weight:600; transition:.25s ease;
}
.vc-btn{ background:var(--vc-green); color:#fff; border:1px solid var(--vc-green); }
.vc-btn:hover{ background:var(--vc-orange); border-color:var(--vc-orange); }
.vc-btn-outline{ background:#fff; color:#444; border:1px solid var(--vc-border); }
.vc-btn-outline:hover{ border-color:#ccc; }
.vc-wide{ width:100%; }

/* ---------------------------------- */
/* Search Results */
.vc-sr .vc-filters{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 18px; }
.vc-sr .vc-input,.vc-sr .vc-select{
  padding:10px 12px; border:1px solid var(--vc-border); border-radius:8px; min-width:180px;
}
.vc-sr .vc-grid{ display:grid; gap:18px; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.vc-card{ background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.05); padding:16px; }
.vc-sr .vc-card{ padding:0; overflow:hidden; display:flex; flex-direction:column; }
.vc-sr .vc-photo{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.vc-sr .vc-card-body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.vc-card-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.vc-name{ margin:0; font-size:18px; color:var(--vc-text); }
.vc-badge{ color:var(--vc-green); font-size:.9em; margin-left:6px; }
.vc-rate{ font-weight:700; color:var(--vc-text); }
.vc-meta{ margin:0; color:var(--vc-muted); font-size:14px; }
.vc-services{ margin:0; padding-left:18px; color:#444; }
.vc-actions{ display:flex; gap:8px; margin-top:6px; }

/* ---------------------------------- */
/* Profile Layout */
.vc-profile .vc-columns{ display:grid; grid-template-columns:340px 1fr; gap:22px; }
.vc-profile .vc-left .vc-card + .vc-card{ margin-top:14px; }
.vc-name-lg{ margin:10px 0 0; font-size:24px; line-height:1.2; }
.vc-loc{ color:var(--vc-muted); margin:4px 0 12px; }

.vc-picwrap img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; }

/* Metrics pill (two boxes) */
.vc-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0 12px; }
.vc-metric{ background:#fafafa; border:1px solid var(--vc-border); border-radius:12px; padding:10px; text-align:center; }
.vc-metric strong{ display:block; font-size:18px; }
.vc-metric span{ display:block; color:var(--vc-muted); font-size:12px; }

/* Info rows */
.vc-infos{ margin:8px 0 14px; color:#444; }
.vc-info{ margin:6px 0; }
.vc-info .i{ margin-right:6px; }

/* Right column cards */
.vc-right .vc-card + .vc-card{ margin-top:14px; }
.vc-card h2{ margin:0 0 8px; color:var(--vc-purple); }
.vc-card h3{ margin:0 0 6px; color:var(--vc-purple); }
.vc-sub{ margin:6px 0 8px; color:#444; }

/* Tabs */
.vc-tabs{ display:flex; gap:18px; border-bottom:1px solid var(--vc-border); margin:-4px -4px 10px; padding:0 4px 0; }
.vc-tabs button{
  background:none; border:none; padding:10px 2px; cursor:pointer; color:#444; position:relative; font-weight:600;
}
.vc-tabs button.active{ color:#000; }
.vc-tabs button.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#000; border-radius:2px;
}

/* Checklists, chips, table */
.vc-checks{ list-style:none; padding:0; margin:0; columns:2; column-gap:28px; }
.vc-checks li{ break-inside:avoid; margin:6px 0; padding-left:22px; position:relative; }
.vc-checks li::before{ content:"✓"; color:var(--vc-green); position:absolute; left:0; top:0; }
.vc-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.vc-chip{ padding:6px 10px; border:1px solid var(--vc-border); border-radius:999px; background:#f5f5f5; font-size:14px; }

.vc-table{ border:1px solid var(--vc-border); border-radius:10px; overflow:hidden; }
.vc-table .row{ display:grid; grid-template-columns:1fr 140px; padding:10px 12px; }
.vc-table .row + .row{ border-top:1px solid var(--vc-border); }
.vc-table .head{ background:#f7f7f7; font-weight:600; }

.vc-muted{ color:var(--vc-muted); }
.vc-card-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; }

/* Safety block */
.vc-safe{ list-style:none; padding:0; margin:0 0 10px; }
.vc-safe li{ display:flex; align-items:center; gap:8px; margin:8px 0; }
.ok{ color:var(--vc-green); } .pend{ color:#bbb; }
.vc-pill{ display:inline-block; padding:6px 10px; border:1px solid var(--vc-border); border-radius:999px; text-decoration:none; color:#444; font-size:14px; }
.vc-muted-link{ color:var(--vc-muted); text-decoration:underline; font-size:14px; }

/* Responsive */
@media (max-width:1024px){
  .vc-profile .vc-columns{ grid-template-columns:1fr; }
  .vc-checks{ columns:1; }
}
/* Sub-headings purple; simple spacing; no dividers */
.vc-details-card h3 { 
  color: var(--vc-purple, #6a1b9a);
  margin: 0 0 6px;
}
.vc-detail-row + .vc-detail-row { margin-top: 12px; }
.vc-bullets { margin: 0; padding-left: 18px; }

/* Add top spacing before Rates and Availability */
.vc-right .vc-card .vc-block + .vc-block { 
  margin-top: 18px;           /* space above "Rates" and above "Availability" */
}

/* If your headings use the .vc-sub class (Rates/Availability), bump them too */
.vc-right .vc-card h3.vc-sub {
  margin-top: 6px;            /* small cushion between the block edge and the heading */
}

/* ===== Working Tabs (no JS) ===== */
.vc-tabs { --b:#e6e6e6; --active:#000; }
.vc-tabs input[type="radio"] { position:absolute; left:-9999px; }

.vc-tab-labels {
  display:flex; gap:18px; border-bottom:1px solid var(--b);
  margin:-4px -4px 12px; padding:0 4px 0;
}
.vc-tab-labels label{
  cursor:pointer; padding:10px 2px; position:relative; color:#444; font-weight:600;
}
#vc-tab-senior:checked ~ .vc-tab-labels label[for="vc-tab-senior"],
#vc-tab-child:checked  ~ .vc-tab-labels label[for="vc-tab-child"]{
  color:var(--active);
}
#vc-tab-senior:checked ~ .vc-tab-labels label[for="vc-tab-senior"]::after,
#vc-tab-child:checked  ~ .vc-tab-labels label[for="vc-tab-child"]::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:var(--active); border-radius:2px;
}

/* Panels */
.vc-panels .vc-tab-panel { display:none; }
#vc-tab-senior:checked ~ .vc-panels #vc-panel-senior { display:block; }
#vc-tab-child:checked  ~ .vc-panels #vc-panel-child  { display:block; }

/* In-panel styling (reuse your existing styles) */
.vc-block { padding:18px 0; border-top:1px solid var(--b); }
.vc-block:first-of-type { border-top:none; }
.vc-block h2 { color: var(--vc-purple, #6a1b9a); margin:0 0 10px; }
.vc-checks { list-style:none; padding:0; margin:0; columns:2; column-gap:28px; }
.vc-checks li{ break-inside:avoid; margin:6px 0; padding-left:22px; position:relative; }
.vc-checks li::before{ content:"✓"; color: var(--vc-green, #86c440); position:absolute; left:0; top:0; }
@media (max-width: 768px){ .vc-checks{ columns:1; } }



/* --- Fix: keep tabs ABOVE content, aligned with card padding --- */
.vc-tabs{ 
  margin: 0 0 12px !important;   /* remove negative side margins */
  display: block;
}

.vc-tab-labels{
  display: flex;
  gap: 18px;
  align-items: flex-end;
  justify-content: flex-start;   /* use center if you want centered tabs */
  border-bottom: 1px solid var(--vc-border, #e6e6e6);
  padding: 0 !important;
  margin: 0 !important;          /* was: -4px -4px 12px */
}

.vc-tab-labels label{
  display: inline-block;         /* keeps underline sized to label */
  padding: 10px 2px;
  position: relative;
  color: #444;
  font-weight: 600;
}

/* Active state stays the same — keep your existing rules *//* End custom CSS */