/* Additions for the 60-day challenge page: bigger CTA, gift values, case studies, calendar */

/* ---- bigger call-to-action ---- */
.btn { padding: 1.25rem 2.8rem; font-size: 1.3rem; border-radius: 0.9rem; }
.btn small { font-size: 0.9rem; }
.hero-cta .btn, .cta-block .btn, .price-box .btn, .final-card .btn { width: min(100%, 30rem); }
@media (max-width: 560px) { .btn { padding: 1.15rem 1.4rem; font-size: 1.15rem; } }

/* ---- gifts with value ---- */
.out .val {
  display: inline-block; margin: 0 0 0.5rem; padding: 0.15rem 0.8rem; border-radius: 999px;
  font-size: 0.8rem; font-weight: 900; background: rgba(30,158,122,0.12); color: #137a5c;
}
.out .val--soft { background: rgba(58,155,208,0.14); color: var(--forest-deep); }
.value-total {
  margin: 1.6rem auto 0; max-width: 40rem; text-align: center; padding: 1.1rem 1.4rem; border-radius: var(--r-lg);
  background: linear-gradient(180deg, var(--navy-2), var(--navy)); color: #fff;
  box-shadow: 0 24px 50px -28px rgba(14,31,63,.8);
}
.value-total b { color: var(--neon); font-size: 1.7rem; font-weight: 900; }
.value-total span { display: block; font-size: 0.95rem; color: rgba(255,255,255,0.78); margin-top: 0.2rem; }

/* ---- case studies ---- */
.cases { display: grid; gap: 1.4rem; }
.case { display: grid; grid-template-columns: 1fr; gap: 1.2rem; padding: 1.2rem; border-radius: var(--r-lg); }
@media (min-width: 860px) { .case { grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: 1.8rem; padding: 1.4rem; } .case:nth-child(even) .case-media { order: 2; } }
.case-media img { width: 100%; border-radius: var(--r-md); border: 1px solid rgba(14,31,63,.1); box-shadow: 0 20px 40px -26px rgba(14,31,63,.6); }
.case-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
.case-shots img { border-radius: 14px; }
.case-tag { display: inline-block; padding: 0.15rem 0.85rem; border-radius: 999px; font-size: 0.78rem; font-weight: 900; background: var(--soft); color: var(--forest-deep); margin-bottom: 0.5rem; }
.case h3 { font-size: 1.25rem; margin-bottom: 0.6rem; }
.case dl { display: grid; gap: 0.7rem; margin: 0 0 0.9rem; }
.case dt { font-weight: 900; font-size: 0.85rem; color: var(--forest); }
.case dd { margin: 0; font-size: 0.97rem; color: #2a3a55; line-height: 1.85; }
.case a.visit { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 900; color: var(--forest-deep); border-bottom: 2px solid var(--neon); padding-bottom: 1px; }

/* ---- consultation calendar ---- */
.consult { max-width: 720px; margin: 0 auto; padding: clamp(1.2rem, 3vw, 1.8rem); border-radius: var(--r-lg); }
.consult .grid3 { display: grid; gap: 0.7rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .consult .grid3 { grid-template-columns: repeat(3, 1fr); } }
.consult label { display: block; font-size: 0.8rem; font-weight: 800; color: var(--muted); }
.consult input {
  width: 100%; margin-top: 4px; border: 1px solid #cfdbe8; border-radius: 10px; padding: 12px 14px; font: inherit; background: #fff; outline: none;
}
.consult input:focus { border-color: var(--neon-dark); box-shadow: 0 0 0 3px rgba(137,207,240,.45); }
.consult h4 { margin: 1.2rem 0 0.5rem; font-size: 0.95rem; font-weight: 900; }
.days-strip { display: flex; gap: 0.5rem; overflow-x: auto; padding-bottom: 0.3rem; scrollbar-width: thin; }
.day-chip, .slot-chip {
  flex: 0 0 auto; cursor: pointer; border: 1.5px solid #cfdbe8; background: #fff; color: var(--ink); border-radius: 12px;
  padding: 0.55rem 0.9rem; font: inherit; font-weight: 800; font-size: 0.9rem; line-height: 1.4; transition: border-color .2s, background .2s;
}
.day-chip small { display: block; font-weight: 600; color: var(--muted); font-size: 0.75rem; }
.day-chip.is-on, .slot-chip.is-on { border-color: var(--forest); background: var(--soft); color: var(--forest-deep); }
.slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 0.5rem; }
.consult-msg { display: none; margin-top: 0.9rem; padding: 0.7rem 1rem; border-radius: 10px; font-size: 0.9rem; font-weight: 700; }
.consult-msg.is-err { display: block; background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.consult-msg.is-ok { display: block; background: #ecfdf5; color: #166534; border: 1px solid #bbf7d0; }
.consult .btn { margin-top: 1.2rem; width: 100%; }
.consult-note { text-align: center; font-size: 0.82rem; color: var(--muted); margin-top: 0.7rem; }
