/* ==========================================================
   The Caregiver Village — Front End Styles
   ========================================================== */
:root{
  --cgv-cream:#faf6f1;
  --cgv-orange:#f2703e;
  --cgv-orange-dark:#e4602e;
  --cgv-text:#2b2b2b;
  --cgv-muted:#8a8a8a;
  --cgv-border:#e7e0d8;
  --cgv-radius:14px;
}

.cgv-wrap{
  font-family:'Poppins',sans-serif;
  color:var(--cgv-text);
  max-width:560px;
  margin:40px auto;
  padding:0 16px;
  box-sizing:border-box;
}
.cgv-wrap *{ box-sizing:border-box; }

.cgv-card{
  background:var(--cgv-cream);
  border-radius:20px;
  padding:40px 36px;
}

.cgv-script{
  font-family:'Dancing Script',cursive;
  font-size:32px;
  color:var(--cgv-orange);
  text-align:center;
  margin:0 0 4px;
}
.cgv-title{
  text-align:center;
  font-size:24px;
  font-weight:700;
  margin:0 0 20px;
  letter-spacing:.3px;
}
.cgv-title.cgv-center{ text-align:center; }
.cgv-subtitle{
  text-align:center;
  color:var(--cgv-muted);
  font-size:14px;
  margin:-10px 0 24px;
  line-height:1.5;
}

.cgv-form label{
  display:block;
  font-weight:600;
  font-size:14px;
  margin:16px 0 6px;
}
.cgv-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}
.cgv-full-row{ grid-column:1/-1; }

.cgv-input-icon{
  position:relative;
  display:flex;
  align-items:center;
  background:#fff;
  border:1px solid var(--cgv-border);
  border-radius:10px;
  padding:0 14px;
}
.cgv-input-icon .dashicons{
  color:var(--cgv-orange);
  font-size:18px;
  width:18px;height:18px;
  margin-right:8px;
}
.cgv-input-icon input{
  border:none;
  outline:none;
  background:transparent;
  padding:12px 4px;
  width:100%;
  font-size:14px;
  font-family:inherit;
}
.cgv-toggle-pass{
  cursor:pointer;
  color:var(--cgv-muted) !important;
}
.cgv-hint{ color:var(--cgv-orange); font-size:11px; }

.cgv-select{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--cgv-border);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:14px;
  color:var(--cgv-text);
}

.cgv-row-between{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:16px 0;
  font-size:13px;
}
.cgv-checkbox{
  display:flex;
  align-items:center;
  gap:6px;
  font-weight:400 !important;
  font-size:13px;
  margin:0 !important;
  cursor:pointer;
}
.cgv-checkbox-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 20px;
  margin-top:6px;
}
.cgv-link{ color:var(--cgv-orange); text-decoration:none; font-weight:600; }

.cgv-btn{
  display:inline-block;
  width:100%;
  text-align:center;
  padding:13px 18px;
  border-radius:12px;
  font-weight:600;
  font-size:15px;
  cursor:pointer;
  border:none;
  text-decoration:none;
  font-family:inherit;
  transition:.15s ease;
}
.cgv-btn-primary{ background:var(--cgv-orange); color:#fff; }
.cgv-btn-primary:hover{ background:var(--cgv-orange-dark); color:#fff; }
.cgv-btn-outline{ background:transparent; color:var(--cgv-orange); border:1.5px solid var(--cgv-orange); }
.cgv-btn-outline:hover{ background:#fdece4; }
.cgv-btn-sm{ width:auto; padding:8px 16px; font-size:13px; }
.cgv-btn-stack{ display:flex; flex-direction:column; gap:10px; margin-top:22px; }

.cgv-divider{
  text-align:center;
  border-top:1px solid var(--cgv-border);
  margin:26px 0 18px;
  position:relative;
}
.cgv-divider span{
  position:relative; top:-11px;
  background:var(--cgv-cream);
  padding:0 12px;
  color:var(--cgv-muted);
  font-size:12px;
}
.cgv-social-row{ display:flex; gap:12px; }
.cgv-social-row .cgv-btn{ display:flex; align-items:center; justify-content:center; gap:8px; }

.cgv-switch{ text-align:center; font-size:13px; color:var(--cgv-muted); margin-top:20px; }
.cgv-switch a{ color:var(--cgv-orange); font-weight:600; text-decoration:none; }

.cgv-form-msg{ text-align:center; font-size:13px; margin-top:10px; min-height:18px; }
.cgv-form-msg.error{ color:#d9534f; }
.cgv-form-msg.success{ color:#3c9d5c; }

.cgv-note{ text-align:center; padding:40px 20px; }

/* Panels toggle */
.cgv-panel{ display:none; }
.cgv-panel.active{ display:block; }
.cgv-step{ display:none; }
.cgv-step.active{ display:block; }

/* ---------------- Onboarding ---------------- */
.cgv-onboarding-card{ max-width:640px; }
.cgv-interest-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:10px 0 6px;
}
.cgv-interest-card{
  display:flex;
  align-items:center;
  gap:10px;
  background:#fff;
  border:1px solid var(--cgv-border);
  border-radius:12px;
  padding:16px 14px;
  font-size:14px;
  font-weight:500;
  cursor:pointer;
  position:relative;
}
.cgv-interest-card input{ position:absolute; right:14px; }
.cgv-interest-card:has(input:checked){
  border-color:var(--cgv-orange);
  background:#fdf1eb;
}
.cgv-interest-icon{ color:var(--cgv-orange); }

.cgv-success-icon{
  width:70px;height:70px;
  background:var(--cgv-orange);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 20px;
}
.cgv-success-icon .dashicons{ color:#fff; font-size:34px; width:34px; height:34px; }

/* ---------------- Profile Dashboard ---------------- */
.cgv-profile-wrap{ max-width:900px; }
.cgv-profile-header{
  position:relative;
  border-radius:18px;
  background-size:cover;
  background-position:center;
  min-height:170px;
  padding:20px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}
.cgv-cover-edit{
  position:absolute; top:14px; right:14px;
  background:#fff; border:none; border-radius:50%;
  width:36px;height:36px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.cgv-profile-identity{ display:flex; align-items:flex-end; gap:14px; }
.cgv-avatar-wrap{ position:relative; }
.cgv-avatar{
  width:76px; height:76px; border-radius:50%;
  border:3px solid #fff; object-fit:cover; display:block;
}
.cgv-avatar-edit{
  position:absolute; bottom:0; right:0;
  background:var(--cgv-orange); border:2px solid #fff; border-radius:50%;
  width:26px;height:26px; cursor:pointer; color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.cgv-avatar-edit .dashicons{ font-size:14px; width:14px; height:14px; }
.cgv-online-dot{
  position:absolute; top:2px; left:2px;
  width:12px;height:12px; background:#3fcf6e; border:2px solid #fff; border-radius:50%;
}
.cgv-identity-text h2{ color:#fff; margin:0; font-size:20px; text-shadow:0 1px 4px rgba(0,0,0,.35); }
.cgv-identity-text p{ color:#f2f2f2; margin:2px 0 6px; font-size:12px; text-shadow:0 1px 3px rgba(0,0,0,.3); }
.cgv-badges{ display:flex; gap:6px; flex-wrap:wrap; }
.cgv-badge{
  background:rgba(255,255,255,.9);
  color:var(--cgv-orange-dark);
  font-size:10px; font-weight:600;
  padding:4px 9px; border-radius:20px;
}
.cgv-birthday-card{
  background:#fff; border-radius:12px; padding:8px 14px;
  display:flex; align-items:center; gap:8px; font-size:12px;
}
.cgv-birthday-card .dashicons{ color:var(--cgv-orange); }

.cgv-profile-body{ background:var(--cgv-cream); border-radius:18px; margin-top:16px; padding:20px 24px 30px; }
.cgv-tabs{ display:flex; gap:22px; border-bottom:1px solid var(--cgv-border); margin-bottom:20px; flex-wrap:wrap; }
.cgv-tab{
  background:none; border:none; cursor:pointer;
  padding:10px 2px; font-weight:600; font-size:14px; color:var(--cgv-muted);
  display:flex; align-items:center; gap:6px;
  border-bottom:2px solid transparent;
}
.cgv-tab.active{ color:var(--cgv-orange); border-color:var(--cgv-orange); }
.cgv-tab-panel{ display:none; }
.cgv-tab-panel.active{ display:block; }

.cgv-panel-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; flex-wrap:wrap; gap:10px; }
.cgv-panel-head h3{ margin:0 0 4px; }
.cgv-panel-head p{ margin:0; color:var(--cgv-muted); font-size:13px; }

.cgv-section-label{ margin:18px 0 8px; font-size:13px; text-transform:uppercase; letter-spacing:.5px; color:var(--cgv-muted); }
.cgv-folder-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:12px; }
.cgv-folder-card{
  background:#fff; border:1px solid var(--cgv-border); border-radius:12px;
  padding:16px; display:flex; flex-direction:column; gap:4px;
}
.cgv-folder-card span{ font-size:12px; color:var(--cgv-muted); }
.cgv-folder-new{
  align-items:center; justify-content:center; color:var(--cgv-orange);
  border-style:dashed; cursor:pointer; font-weight:600;
}

.cgv-resource-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; margin-top:10px; }
.cgv-resource-card{ background:#fff; border:1px solid var(--cgv-border); border-radius:12px; overflow:hidden; padding-bottom:12px; }
.cgv-resource-img{ height:100px; background-size:cover; background-position:center; position:relative; }
.cgv-resource-cat{
  position:absolute; top:8px; left:8px; background:#fff; color:var(--cgv-orange-dark);
  font-size:10px; font-weight:600; padding:3px 8px; border-radius:20px;
}
.cgv-resource-card strong,.cgv-resource-card p,.cgv-resource-card button{ margin:8px 12px 0; display:block; }
.cgv-resource-card p{ font-size:12px; color:var(--cgv-muted); }
.cgv-empty{ color:var(--cgv-muted); font-size:13px; }
.cgv-center-btn{ text-align:center; margin-top:20px; }
.cgv-center-btn .cgv-btn{ width:auto; padding-left:30px; padding-right:30px; }

.cgv-info-list{ background:#fff; border-radius:12px; border:1px solid var(--cgv-border); }
.cgv-info-row{
  display:grid; grid-template-columns:26px 160px 1fr; align-items:center;
  padding:14px 18px; border-bottom:1px solid var(--cgv-border); gap:10px;
}
.cgv-info-row:last-of-type{ border-bottom:none; }
.cgv-info-row .dashicons{ color:var(--cgv-orange); }
.cgv-info-row label{ font-weight:600; font-size:13px; margin:0; }
.cgv-info-val{ font-size:13px; color:var(--cgv-text); }
.cgv-info-input{
  border:1px solid var(--cgv-border); border-radius:8px; padding:8px 10px; font-size:13px; width:100%;
}
#cgv-info-save-row{ padding:14px 18px; }

.cgv-help-card{
  margin-top:20px; background:linear-gradient(135deg,#fdece1,#fbe0d6);
  border-radius:14px; padding:18px 20px; display:flex; align-items:center; gap:14px;
}
.cgv-help-card .dashicons{ font-size:26px; width:26px; height:26px; color:var(--cgv-orange); }
.cgv-help-card p{ margin:2px 0 0; font-size:12px; color:var(--cgv-muted); }
.cgv-help-card .cgv-btn{ margin-left:auto; width:auto; padding-left:20px; padding-right:20px; }

/* ==========================================================
   Resource Cards (grid) — matches "Care Providers / Featured Resources"
   ========================================================== */
.cgv-resources-section{ max-width:1100px; margin:30px auto; padding:0 16px; font-family:'Poppins',sans-serif; }
.cgv-section-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.cgv-section-head h3{ margin:0; font-size:18px; }
.cgv-viewall{ color:var(--cgv-orange); font-weight:600; font-size:13px; text-decoration:none; }

.cgv-rcard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:20px;
}
.cgv-rcard{
  background:#fff;
  border:1px solid var(--cgv-border);
  border-radius:16px;
  overflow:hidden;
  position:relative;
  transition:box-shadow .15s ease;
}
.cgv-rcard:hover{ box-shadow:0 6px 18px rgba(0,0,0,.06); }
.cgv-rcard-imgwrap{
  display:block;
  height:140px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.cgv-rcard-badge{
  position:absolute; top:10px; left:10px;
  font-size:11px; font-weight:700;
  padding:5px 12px; border-radius:20px;
}
.cgv-rcard-save{
  position:absolute; top:10px; right:10px;
  width:32px; height:32px; border-radius:9px;
  background:#fff; border:1px solid var(--cgv-border);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  color:var(--cgv-muted);
}
.cgv-rcard-save.saved{ color:var(--cgv-orange); border-color:var(--cgv-orange); }
.cgv-rcard-save .dashicons{ font-size:16px; width:16px; height:16px; }
.cgv-rcard-body{ padding:14px 16px 16px; }
.cgv-rcard-title{
  display:flex; align-items:center; gap:6px;
  font-weight:700; font-size:15px; color:var(--cgv-text);
  text-decoration:none; margin-bottom:4px;
}
.cgv-rcard-title:hover{ color:var(--cgv-orange); }
.cgv-verified{ color:#3b82f6; font-size:16px; width:16px; height:16px; }
.cgv-rcard-desc{ font-size:12.5px; color:var(--cgv-muted); line-height:1.5; margin:0 0 10px; }
.cgv-rcard-meta{ display:flex; justify-content:space-between; align-items:center; font-size:12px; flex-wrap:wrap; gap:6px; }
.cgv-rcard-rating{ display:flex; align-items:center; gap:4px; color:var(--cgv-text); font-weight:600; }
.cgv-rcard-rating .dashicons{ color:#f5b400; font-size:14px; width:14px; height:14px; }
.cgv-rcard-loc{ color:var(--cgv-muted); }

/* ==========================================================
   Single Resource Page
   ========================================================== */
.cgv-single-resource{ max-width:960px; margin:30px auto; font-family:'Poppins',sans-serif; }
.cgv-hero{
  height:320px; border-radius:18px;
  background-size:cover; background-position:center;
  margin-bottom:18px;
}
.cgv-single-topline{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.cgv-readtime{ font-size:12px; color:var(--cgv-muted); }
.cgv-single-title{ font-size:28px; font-weight:700; margin:0 0 10px; }
.cgv-single-excerpt{ color:var(--cgv-muted); font-size:15px; line-height:1.6; max-width:720px; }

.cgv-single-authorrow{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 0; border-top:1px solid var(--cgv-border); border-bottom:1px solid var(--cgv-border);
  margin:18px 0 26px;
}
.cgv-author{ display:flex; align-items:center; gap:10px; }
.cgv-author img{ width:38px; height:38px; border-radius:50%; object-fit:cover; }
.cgv-author small{ color:var(--cgv-muted); }
.cgv-save-toggle{ width:auto; padding-left:22px; padding-right:22px; }
.cgv-save-toggle.saved{ background:#3c9d5c; }

.cgv-single-columns{ display:grid; grid-template-columns:2fr 1fr; gap:24px; align-items:flex-start; }
.cgv-box{
  background:#fff; border:1px solid var(--cgv-border); border-radius:14px;
  padding:20px 22px; margin-bottom:20px;
}
.cgv-box h3{ margin:0 0 10px; font-size:16px; }
.cgv-box p{ color:#4a4a4a; font-size:14px; line-height:1.6; margin:0; }
.cgv-check-list{ list-style:none; margin:0; padding:0; }
.cgv-check-list li{ font-size:14px; padding:6px 0 6px 24px; position:relative; color:#4a4a4a; }
.cgv-check-list li::before{
  content:"✓"; position:absolute; left:0; color:var(--cgv-orange); font-weight:700;
}
.cgv-download-item{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0; border-bottom:1px solid var(--cgv-border); font-size:13px;
}
.cgv-download-item:last-child{ border-bottom:none; }
.cgv-download-item .dashicons{ color:var(--cgv-orange); margin-right:6px; }

.cgv-detail-row{ display:flex; justify-content:space-between; font-size:13px; padding:8px 0; border-bottom:1px solid var(--cgv-border); }
.cgv-detail-row:last-child{ border-bottom:none; }
.cgv-related-link{ display:block; font-size:13px; color:var(--cgv-text); text-decoration:none; padding:7px 0; border-bottom:1px solid var(--cgv-border); }
.cgv-related-link:last-child{ border-bottom:none; }
.cgv-related-link:hover{ color:var(--cgv-orange); }
.cgv-help-box{ background:linear-gradient(135deg,#fdece1,#fbe0d6); border:none; }
.cgv-help-box p{ font-size:12.5px; margin-bottom:12px; }

@media(max-width:760px){
  .cgv-single-columns{ grid-template-columns:1fr; }
  .cgv-hero{ height:200px; }
  .cgv-single-authorrow{ flex-direction:column; align-items:flex-start; gap:12px; }
}

/* ---------------- Responsive ---------------- */
@media(max-width:640px){
  .cgv-form-grid{ grid-template-columns:1fr; }
  .cgv-social-row{ flex-direction:column; }
  .cgv-interest-grid{ grid-template-columns:1fr; }
  .cgv-info-row{ grid-template-columns:22px 1fr; }
  .cgv-info-row .cgv-info-val,.cgv-info-row .cgv-info-input{ grid-column:1/-1; margin-left:32px; margin-top:-4px;}
  .cgv-help-card{ flex-direction:column; align-items:flex-start; }
  .cgv-help-card .cgv-btn{ margin-left:0; width:100%; }
}
