.tcc-calculator {
  --tcc-ink: #13251f;
  --tcc-muted: #60716b;
  --tcc-line: #dce7e2;
  --tcc-soft: #f3f8f6;
  --tcc-accent: #0c7a5a;
  --tcc-accent-dark: #075d45;
  box-sizing: border-box;
  max-width: 820px;
  margin: 32px auto;
  overflow: hidden;
  border: 1px solid var(--tcc-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(19, 37, 31, .11);
  color: var(--tcc-ink);
  font-family: inherit;
}

.tcc-calculator *, .tcc-calculator *::before, .tcc-calculator *::after { box-sizing: border-box; }
.tcc-header, .tcc-form, .tcc-result, .tcc-hotels { padding: 28px 32px; }
.tcc-header { background: linear-gradient(135deg, #eaf7f2 0%, #f8fbfa 60%, #fff5df 100%); }
.tcc-eyebrow { display: block; margin-bottom: 8px; color: var(--tcc-accent); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tcc-header h2 { margin: 0 0 8px; color: var(--tcc-ink); font-size: clamp(26px, 4vw, 38px); line-height: 1.15; }
.tcc-header p, .tcc-note, .tcc-disclosure { color: var(--tcc-muted); }
.tcc-header p { margin: 0; font-size: 16px; }
.tcc-form { padding-bottom: 22px; }
.tcc-grid { display: grid; gap: 18px; }
.tcc-grid-numbers { grid-template-columns: repeat(3, 1fr); }
.tcc-grid-levels { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
.tcc-field span { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 700; }
.tcc-field input, .tcc-field select { width: 100%; min-height: 48px; margin: 0; border: 1px solid #bdccc6; border-radius: 11px; background: #fff; color: var(--tcc-ink); font: inherit; padding: 10px 13px; box-shadow: none; }
.tcc-field input:focus, .tcc-field select:focus { border-color: var(--tcc-accent); outline: 3px solid rgba(12, 122, 90, .14); }
.tcc-result { margin: 0 32px; padding: 24px; border-radius: 17px; background: var(--tcc-soft); }
.tcc-breakdown { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.tcc-breakdown div { padding: 15px 16px; border: 1px solid var(--tcc-line); border-radius: 12px; background: #fff; }
.tcc-breakdown span, .tcc-total span { display: block; color: var(--tcc-muted); font-size: 13px; }
.tcc-breakdown strong { display: block; margin-top: 4px; font-size: 20px; }
.tcc-total { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 21px 2px 5px; border-top: 1px solid var(--tcc-line); margin-top: 20px; }
.tcc-total strong { color: var(--tcc-accent-dark); font-size: clamp(28px, 5vw, 40px); line-height: 1; }
.tcc-note { margin: 13px 2px 0; font-size: 12px; }
.tcc-hotels { padding-top: 26px; }
.tcc-hotels h3 { margin: 0 0 15px; font-size: 20px; }
.tcc-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.tcc-button { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 11px 15px; border: 1px solid var(--tcc-line); border-radius: 11px; background: #fff; color: var(--tcc-ink); font-size: 14px; font-weight: 750; line-height: 1.25; text-decoration: none !important; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.tcc-button:hover, .tcc-button:focus { border-color: var(--tcc-accent); color: var(--tcc-accent-dark); box-shadow: 0 7px 20px rgba(19, 37, 31, .1); transform: translateY(-2px); }
.tcc-button span { margin-left: 6px; }
.tcc-disclosure { margin: 13px 0 0; font-size: 11px; }

@media (max-width: 640px) {
  .tcc-calculator { margin: 22px 0; border-radius: 17px; }
  .tcc-header, .tcc-form, .tcc-hotels { padding: 22px 18px; }
  .tcc-grid-numbers { grid-template-columns: repeat(2, 1fr); }
  .tcc-grid-numbers .tcc-field:first-child { grid-column: 1 / -1; }
  .tcc-grid-levels, .tcc-actions { grid-template-columns: 1fr; }
  .tcc-result { margin: 0 18px; padding: 18px; }
  .tcc-total { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (max-width: 380px) {
  .tcc-grid-numbers, .tcc-breakdown { grid-template-columns: 1fr; }
  .tcc-grid-numbers .tcc-field:first-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .tcc-button { transition: none; }
}
