/* Altura Country Day Counter - tool styles */
.cc-hero { background: var(--color-midnight); color: #fff; padding: 6.5rem 1.25rem 2.5rem; }
.cc-hero-inner { max-width: 1080px; margin: 0 auto; }
.cc-hero .cc-kicker { color: var(--color-gold); font-size: 0.78rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.cc-hero h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 700; margin: 0.6rem 0 0.8rem; line-height: 1.15; }
.cc-hero p { color: #aeb6c0; max-width: 640px; line-height: 1.6; margin: 0; font-size: 1.02rem; }
.cc-tool-section { padding: 2.5rem 0 3rem; background: var(--color-bone); }
.cc-section-cta { background: var(--color-stone); padding: 3rem 1.25rem; text-align: center; }
.cc-section-cta-inner { max-width: 680px; margin: 0 auto; }
.cc-section-cta h2 { font-size: 1.6rem; color: var(--color-midnight); margin: 0 0 0.6rem; }
.cc-section-cta p { color: var(--color-text-light); line-height: 1.6; margin: 0 0 1.5rem; }
.cc-section-cta .cc-cta-btns { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

.cc-wrap { max-width: 1080px; margin: 0 auto; padding: 0 1.25rem; }
.cc-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 1.75rem; align-items: start; }
@media (max-width: 860px) { .cc-grid { grid-template-columns: 1fr; } }

.cc-card {
  background: var(--color-white);
  border: 1px solid #e7e9ec;
  border-radius: 14px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(19, 28, 40, 0.05);
}
.cc-card + .cc-card { margin-top: 1.25rem; }
.cc-card h3 {
  font-size: 1.05rem; font-weight: 700; color: var(--color-midnight);
  margin: 0 0 0.35rem;
}
.cc-card .cc-sub { font-size: 0.82rem; color: var(--color-text-light); margin: 0 0 1.1rem; line-height: 1.5; }

/* form */
.cc-field { margin-bottom: 0.9rem; }
.cc-field label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--color-midnight); margin-bottom: 0.35rem; }
.cc-field input, .cc-field select {
  width: 100%; padding: 0.7rem 0.85rem; font-size: 0.95rem; font-family: inherit;
  border: 1px solid #d7dbe0; border-radius: 9px; background: var(--color-white); color: var(--color-midnight);
}
.cc-field input:focus, .cc-field select:focus { outline: none; border-color: var(--color-gold); box-shadow: 0 0 0 3px rgba(218, 180, 109, 0.18); }
.cc-field input:disabled { background: #f3f4f6; color: #9aa3ad; }
.cc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.cc-check { display: flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--color-midnight); margin-bottom: 1rem; }
.cc-check input { width: auto; }
.cc-actions { display: flex; gap: 0.6rem; align-items: center; }
.cc-btn {
  border: none; cursor: pointer; font-family: inherit; font-weight: 600; font-size: 0.9rem;
  padding: 0.7rem 1.3rem; border-radius: 9px; background: var(--color-midnight); color: #fff; transition: background .15s;
}
.cc-btn:hover { background: #0c121b; }
.cc-btn-gold { background: var(--color-gold); color: var(--color-midnight); }
.cc-btn-gold:hover { background: var(--color-gold-light); }
.cc-cancel { background: none; border: none; color: var(--color-text-light); cursor: pointer; font-family: inherit; font-size: 0.85rem; text-decoration: underline; }
.cc-error { display: none; background: #fdecec; color: #b42318; border: 1px solid #f5c6c6; border-radius: 8px; padding: 0.6rem 0.8rem; font-size: 0.85rem; margin-bottom: 0.9rem; }

/* summary stats */
.cc-stats { display: flex; gap: 0.75rem; margin-bottom: 1.25rem; }
.cc-stat { flex: 1; background: var(--color-midnight); color: #fff; border-radius: 12px; padding: 0.9rem 1rem; text-align: center; }
.cc-stat-num { display: block; font-size: 1.7rem; font-weight: 700; color: var(--color-gold); line-height: 1; }
.cc-stat-lbl { display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: #aeb6c0; margin-top: 0.35rem; }

/* schengen + window */
.cc-window-row { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; margin-bottom: 0.4rem; }
.cc-window-row label { font-size: 0.8rem; font-weight: 600; color: var(--color-midnight); }
.cc-window-row select, .cc-window-row input {
  padding: 0.5rem 0.7rem; border: 1px solid #d7dbe0; border-radius: 8px; font-family: inherit; font-size: 0.85rem; color: var(--color-midnight); background: #fff;
}
.cc-sch-head { display: flex; align-items: baseline; justify-content: space-between; margin: 0.2rem 0 0.5rem; }
.cc-sch-num { font-size: 2rem; font-weight: 700; color: var(--color-midnight); }
.cc-sch-num small { font-size: 1rem; color: var(--color-text-light); font-weight: 500; }
.cc-sch-state { font-size: 0.85rem; font-weight: 600; color: #2f855a; }
.cc-sch-window { font-size: 0.75rem; color: var(--color-text-light); margin: 0.5rem 0 0; }

/* bars */
.cc-bar { height: 9px; background: #eceef1; border-radius: 6px; overflow: hidden; }
.cc-bar-fill { height: 100%; background: var(--color-gold); border-radius: 6px; transition: width .25s; }
.cc-bar-fill.cc-warn { background: #e0a200; }
.cc-bar-fill.cc-over { background: #d6492f; }

/* per-country list */
.cc-country { padding: 0.7rem 0; border-bottom: 1px solid #f0f1f3; }
.cc-country:last-child { border-bottom: none; }
.cc-country-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.4rem; }
.cc-country-name { font-weight: 600; color: var(--color-midnight); font-size: 0.95rem; }
.cc-country-days { font-weight: 700; color: var(--color-midnight); }
.cc-country-days small { font-weight: 500; color: var(--color-text-light); font-size: 0.78rem; }
.cc-note { display: inline-block; margin-top: 0.4rem; font-size: 0.74rem; font-weight: 600; padding: 0.15rem 0.5rem; border-radius: 5px; }
.cc-note-over { background: #fdecec; color: #b42318; }
.cc-note-warn { background: #fff5e0; color: #9a6b00; }

/* trips list */
.cc-trip { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0; border-bottom: 1px solid #f0f1f3; }
.cc-trip:last-child { border-bottom: none; }
.cc-trip-flag { font-size: 1.4rem; }
.cc-trip-main { flex: 1; display: flex; flex-direction: column; }
.cc-trip-main strong { color: var(--color-midnight); font-size: 0.95rem; }
.cc-trip-dates { font-size: 0.78rem; color: var(--color-text-light); }
.cc-trip-actions { display: flex; gap: 0.75rem; }
.cc-link { background: none; border: none; cursor: pointer; font-family: inherit; font-size: 0.8rem; color: var(--color-text-light); text-decoration: underline; padding: 0; }
.cc-link:hover { color: var(--color-midnight); }
.cc-link-danger:hover { color: #d6492f; }

.cc-empty { color: var(--color-text-light); font-size: 0.9rem; text-align: center; padding: 1.5rem 0; }

/* tools row */
.cc-tools { display: flex; gap: 0.6rem; flex-wrap: wrap; margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid #f0f1f3; }
.cc-tools button { background: none; border: 1px solid #d7dbe0; color: var(--color-text-light); border-radius: 8px; padding: 0.45rem 0.9rem; font-family: inherit; font-size: 0.8rem; cursor: pointer; }
.cc-tools button:hover { border-color: var(--color-midnight); color: var(--color-midnight); }
.cc-tools .cc-reset { margin-left: auto; }
.cc-tools .cc-reset:hover { border-color: #d6492f; color: #d6492f; }

.cc-privacy { font-size: 0.76rem; color: var(--color-text-light); margin-top: 1rem; line-height: 1.55; }
.cc-privacy strong { color: var(--color-midnight); }
.cc-disclaimer { font-size: 0.74rem; color: var(--color-text-light); line-height: 1.55; margin-top: 1.5rem; text-align: center; max-width: 760px; margin-left: auto; margin-right: auto; }
