.tool-card{
  background:#fff;
  border:1px solid rgba(52,21,71,.08);
  border-radius:20px;
  padding:28px;
  margin:24px 0;
  box-shadow:var(--shadow-soft);
}
.tool-form label{
  display:block;
  font-weight:600;
  color:var(--plum-deep);
  margin-bottom:8px;
  font-size:15px;
}
.tool-form input[type="date"],
.tool-form input[type="text"],
.tool-form input[type="tel"],
.tool-form select{
  width:100%;
  max-width:420px;
  padding:14px 16px;
  border:1.5px solid rgba(52,21,71,.15);
  border-radius:12px;
  font-size:16px;
  font-family:inherit;
  color:var(--charcoal);
  background:#fff;
  margin-bottom:16px;
}
.tool-form input[type="date"]{max-width:320px;margin-bottom:0;}
.date-field-wrap{
  position:relative;
  width:100%;
  max-width:340px;
  margin:0 auto;
}
.date-field-wrap input[type="date"]{
  width:100%;
  max-width:none;
  margin:0;
  padding-right:52px;
  box-sizing:border-box;
  color-scheme:light;
}
.date-field-icon{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  pointer-events:none;
  color:var(--plum-deep);
  opacity:.9;
}
.date-field-wrap input[type="date"]::-webkit-calendar-picker-indicator{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}
.date-field-wrap input[type="date"]::-webkit-date-and-time-value{
  text-align:left;
}
.tool-form input[type="date"]:focus,
.tool-form input[type="text"]:focus,
.tool-form input[type="tel"]:focus,
.tool-form select:focus{
  outline:2px solid var(--gold);
  outline-offset:2px;
  border-color:var(--gold);
}
.tool-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:center;}
.tool-actions .btn,
.tool-actions a.btn,
.tool-actions button.btn{
  margin-left:0;
  text-align:center;
  line-height:1.35;
}
.tool-actions .btn-ghost{margin-left:0;}
.tool-result{display:none;margin-top:28px;}
.tool-result.visible{display:block;}
.result-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
  margin:20px 0;
}
.result-stat{
  background:var(--blush);
  border-radius:14px;
  padding:16px;
  text-align:center;
}
.result-stat b{
  display:block;
  font-size:22px;
  color:var(--plum-deep);
  font-family:'Petrona','Noto Sans Telugu',serif;
  margin-bottom:4px;
}
.result-stat span{font-size:13px;color:var(--charcoal-soft);}
.trimester-badge{
  display:inline-block;
  background:var(--plum-deep);
  color:var(--cream-text);
  padding:8px 16px;
  border-radius:100px;
  font-size:14px;
  font-weight:600;
  margin-bottom:16px;
}
.guide-block{
  background:var(--paper);
  border-left:4px solid var(--gold);
  border-radius:0 14px 14px 0;
  padding:20px 22px;
  margin:18px 0;
}
.guide-block h3{font-size:18px;margin-bottom:10px;}
.guide-block ul{padding-left:20px;margin:0;}
.guide-block li{margin-bottom:8px;color:var(--charcoal-soft);font-size:15px;}
.red-flags{
  background:#fff5f5;
  border:1px solid rgba(199,34,31,.15);
  border-radius:14px;
  padding:20px 22px;
  margin:24px 0;
}
.red-flags h3{color:#9b1c1c;font-size:17px;margin-bottom:10px;}
.red-flags li{color:var(--charcoal);font-size:15px;}
.reason-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:20px;
}
.reason-label{
  display:block;
  font-weight:600;
  color:var(--plum-deep);
  margin-bottom:10px;
  font-size:15px;
}
.reason-chip{
  padding:12px 20px;
  border:2px solid rgba(52,21,71,.12);
  border-radius:100px;
  background:#fff;
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  color:var(--plum-deep);
  cursor:pointer;
  transition:border-color .2s,background .2s,color .2s;
  line-height:1.3;
  text-align:center;
}
.reason-chip:hover,.reason-chip:focus{
  border-color:var(--gold);
  outline:none;
}
.reason-chip.is-selected{
  background:var(--plum-deep);
  border-color:var(--plum-deep);
  color:var(--cream-text);
}
.appt-calendar-wrap{margin:8px 0 20px;}
.cal-hint{
  font-size:14px;
  color:var(--charcoal-soft);
  margin:-4px 0 14px;
  line-height:1.5;
}
.appt-calendar{
  background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);
  border:1.5px solid rgba(52,21,71,.1);
  border-radius:18px;
  padding:16px;
  max-width:420px;
  box-shadow:0 8px 32px -12px rgba(52,21,71,.15);
}
.cal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.cal-month-label{
  font-family:'Petrona','Noto Sans Telugu',serif;
  font-size:17px;
  color:var(--plum-deep);
  flex:1;
  text-align:center;
}
.cal-nav{
  width:44px;
  height:44px;
  border-radius:12px;
  border:1.5px solid rgba(52,21,71,.12);
  background:#fff;
  color:var(--plum-deep);
  font-size:22px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  touch-action:manipulation;
  transition:border-color .2s,background .2s,color .2s;
}
.cal-nav:hover:not(:disabled),.cal-nav:focus:not(:disabled){
  border-color:var(--gold);
  outline:none;
}
.cal-nav:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.cal-weekdays,.cal-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}
.cal-weekdays{margin-bottom:8px;}
.cal-weekday{
  text-align:center;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--charcoal-soft);
  padding:4px 0;
}
.cal-day{
  aspect-ratio:1;
  min-height:40px;
  border:none;
  border-radius:12px;
  background:#fff;
  color:var(--charcoal);
  font-family:inherit;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  touch-action:manipulation;
  transition:transform .15s,background .15s,color .15s,box-shadow .15s;
}
.cal-day:hover:not(:disabled):not(.cal-day--empty){
  background:var(--blush);
  transform:scale(1.04);
}
.cal-day--empty{background:transparent;pointer-events:none;}
.cal-day--disabled{
  opacity:.28;
  cursor:not-allowed;
  background:transparent;
}
.cal-day--today{
  box-shadow:inset 0 0 0 2px var(--gold);
}
.cal-day--selected{
  background:var(--plum-deep);
  color:var(--cream-text);
  box-shadow:0 6px 16px -4px rgba(52,21,71,.35);
}
.cal-day--selected.cal-day--today{
  box-shadow:inset 0 0 0 2px var(--gold-light,#E6C687),0 6px 16px -4px rgba(52,21,71,.35);
}
.cal-selected{
  margin-top:14px;
  padding:12px 16px;
  background:var(--blush);
  border-radius:12px;
  font-size:14px;
  font-weight:600;
  color:var(--plum-deep);
  text-align:center;
  line-height:1.45;
}
.urgent-banner{
  background:#fff5f5;
  border:1px solid rgba(199,34,31,.2);
  border-radius:14px;
  padding:16px 20px;
  margin:0 0 20px;
}
.urgent-banner h3{color:#9b1c1c;font-size:16px;margin-bottom:6px;}
.urgent-banner p{font-size:14px;color:var(--charcoal);margin:0 0 12px;}
.tool-disclaimer{
  font-size:13px;
  color:var(--charcoal-soft);
  border-top:1px solid rgba(52,21,71,.08);
  padding-top:18px;
  margin-top:28px;
}
.lang-picker-card{text-align:center;max-width:520px;margin:0 auto;}
.lang-picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
@media(max-width:520px){.lang-picker-grid{grid-template-columns:1fr;}}
.lang-choice{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:28px 20px;border:2px solid rgba(52,21,71,.12);border-radius:18px;
  background:#fff;cursor:pointer;font-family:inherit;text-align:center;
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.lang-choice:hover,.lang-choice:focus{
  border-color:var(--gold);transform:translateY(-2px);
  box-shadow:var(--shadow-soft);outline:none;
}
.lang-choice strong{font-size:22px;color:var(--plum-deep);}
.lang-choice span{font-size:13px;color:var(--charcoal-soft);line-height:1.4;}
.tools-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px;
  margin:32px 0;
}
.tools-grid a.tool-link{
  display:block;
  background:#fff;
  border:1px solid rgba(52,21,71,.08);
  border-radius:18px;
  padding:24px;
  box-shadow:var(--shadow-soft);
  transition:transform .25s,border-color .25s;
}
.tools-grid a.tool-link:hover{
  transform:translateY(-3px);
  border-color:var(--gold);
}
.tools-grid .tool-tag{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--gold);
  font-weight:700;
  margin-bottom:8px;
  display:block;
}
.tools-grid h2{font-size:20px;margin-bottom:8px;}
.tools-grid p{font-size:14px;color:var(--charcoal-soft);margin:0;}

/* Mobile — Care Corner tools */
@media (max-width:640px){
  .hero.wrap{
    padding:40px 0 28px;
    text-align:center;
  }
  .hero.wrap .eyebrow{margin-left:auto;margin-right:auto;}
  .hero.wrap h1{margin-left:auto;margin-right:auto;}
  .hero.wrap .hero-lead{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .tool-card{padding:20px 16px;margin:16px auto;border-radius:16px;max-width:480px;}
  .tool-form{text-align:center;}
  .tool-form label,
  .tool-form .reason-label,
  .appt-calendar-wrap .cal-hint,
  .tool-form #lmp-hint{
    text-align:center;
    display:block;
  }
  .date-field-wrap{
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
  .date-field-wrap input[type="date"]{
    min-height:52px;
    padding-right:56px;
    font-size:16px;
  }
  .date-field-icon{
    right:16px;
    width:32px;
    height:32px;
  }
  .date-field-icon svg{width:24px;height:24px;}
  .appt-calendar{
    max-width:none;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    padding:14px 12px;
  }
  .cal-day{
    min-height:44px;
    font-size:14px;
    border-radius:10px;
  }
  .cal-nav{width:40px;height:40px;border-radius:10px;}
  .cal-selected{font-size:13px;}
  .tool-form input[type="date"],
  .tool-form input[type="text"],
  .tool-form input[type="tel"],
  .tool-form select{
    max-width:none;
    width:100%;
    min-height:48px;
    text-align:left;
    margin-left:auto;
    margin-right:auto;
  }
  .tool-form input[type="date"]{margin-bottom:0;}
  .date-field-wrap{margin-bottom:16px;}
  .reason-chips{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    justify-items:stretch;
    margin-left:auto;
    margin-right:auto;
    max-width:100%;
  }
  .reason-chip{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:12px 8px;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .reason-chip:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:100%;
  }
  .tool-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:20px;
    width:100%;
  }
  .tool-actions .btn,
  .tool-actions a.btn,
  .tool-actions button.btn{
    width:100%;
    max-width:100%;
    justify-content:center;
    margin:0;
    min-height:50px;
    padding:14px 16px;
    font-size:15px;
    white-space:normal;
  }
  .tool-actions .btn-whatsapp{
    font-size:14px;
    line-height:1.35;
    padding:14px 12px;
  }
  .lang-choice{
    min-height:48px;
    padding:22px 16px;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .lang-choice:hover,.lang-choice:focus{transform:none;}
  .lang-picker-card{margin:0 auto;}
  .result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .result-stat{padding:12px 8px;}
  .result-stat b{font-size:18px;}
  .result-stat span{font-size:12px;}
  .trimester-badge{
    font-size:13px;
    padding:8px 14px;
    display:block;
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .guide-block,.red-flags,.urgent-banner{padding:16px;text-align:left;}
  .guide-block li,.red-flags li{font-size:14px;}
  .tools-grid{grid-template-columns:1fr;margin:24px 0;}
  .tools-grid a.tool-link{
    padding:20px 18px;
    text-align:center;
  }
  .tool-disclaimer{
    font-size:12px;
    line-height:1.6;
    text-align:center;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
  }
  .tool-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 10px;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .tool-meta .btn-ghost{margin-top:0;}
  .related-links a{text-align:center;}
  #lang-picker.content{padding-top:32px!important;}
  #lang-picker .wrap{padding-left:16px;padding-right:16px;}
  .content.wrap{padding-left:16px;padding-right:16px;}
}
.tool-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  align-items:center;
}
