/* =========================================
   WORLD TIME COMPANION
   Project Toolsuite Theme
========================================= */

/* TEXT SHOULD FOLLOW THEME */
body {
  background: var(--bg);
  color: var(--text);
  font-family: "Courier New", monospace;
}

/* ALL BOX TEXT FIX */
.hero,
.clock-card,
.tool-section,
.result-box,
.converter-box,
.form-grid,
.input-group,
.tabs,
.dev-grid button,
.clock-time {
  color: var(--text);
}

/* INPUT TEXT FIX */

/* PLACEHOLDER FIX */
input::placeholder {
  color: gray;
}

/* CLOCK CARD TEXT FIX */
.clock-card h4 {
  color: var(--text);
}

/* BUTTON TEXT ALWAYS VISIBLE */
button {
  color: var(--text);
}

#themeBtn {
            top: 10px;
        }
/* ================= HEADER ================= */

/* =====================================
   HEADER FIX
===================================== */

header {
  width: 100%;

  box-sizing: border-box;

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 18px 35px;

  background: var(--surface);
  border-bottom: 2px solid var(--border);

  position: sticky;

  top: 0;

  z-index: 100;
}

.header-left {
  display: flex;

  align-items: center;

  gap: 25px;
}

/* HOME BUTTON */

.nav-btn {
  background: transparent;

  color: var(--card-hover);

  border: 2px solid var(--card-hover);

  padding: 10px 18px;

  font-family: "Courier New", monospace;

  font-size: 0.85rem;

  font-weight: 900;

  cursor: pointer;

  letter-spacing: 1px;

  transition: 0.25s;
}

.nav-btn:hover {
  background: var(--card-hover);

  color: var(--bg);

  transform: translateY(-2px);

  box-shadow: 0 0 15px rgba(96, 165, 250, 0.4);
}

/* TITLE */

.header-left h1 {
  margin: 0;

  color: var(--card-hover);

  font-size: 1.3rem;

  letter-spacing: 2px;

  font-weight: 900;

  white-space: nowrap;
}

/* RIGHT SIDE BUTTON AREA */

.header-buttons {
  display: flex;

  align-items: center;

  gap: 15px;
}

/* THEME BUTTON */

.action-btn {
  background: var(--surface);
  color: var(--text);

  border: 2px solid var(--card-hover);

  padding: 10px 22px;

  font-family: "Courier New", monospace;

  font-size: 0.85rem;

  font-weight: 900;

  letter-spacing: 1px;

  cursor: pointer;

  transition: 0.25s;
}

.action-btn:hover {
  background: var(--card-hover);

  color: var(--bg);

  transform: translateY(-2px);

  box-shadow: 0 0 20px rgba(96, 165, 250, 0.4);
}

.action-btn:active {
  transform: translateY(1px);
}

/* MOBILE FIX */

@media (max-width: 700px) {
  header {
    flex-direction: column;

    gap: 15px;

    align-items: flex-start;

    padding: 15px;
  }

  .header-left {
    flex-direction: column;

    align-items: flex-start;

    gap: 12px;
  }

  .header-left h1 {
    font-size: 1rem;
  }

  .header-buttons {
    width: 100%;
  }

  .action-btn {
    width: 100%;
  }
}

h1 {
  color: var(--card-hover);

  letter-spacing: 2px;

  font-size: 1.2rem;
}

.nav-btn {
  color: var(--card-hover);
}

/* ================= MAIN ================= */

main {
  padding: 30px;

  max-width: 1400px;

  margin: auto;
}

/* ================= HERO ================= */

.hero {
  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 40px;

  border: 2px solid var(--border);

  background: var(--surface-2);

  box-shadow: var(--shadow);

  border-radius: 18px;
}

.hero h2 {
  font-size: 2.5rem;

  color: var(--card-hover);

  margin-bottom: 15px;
}

.hero p {
  color: var(--muted);

  font-size: 1rem;
}

/* ================= GLOBE ================= */

.globe-box {
  display: flex;

  justify-content: center;

  align-items: center;
}

.globe {
  font-size: 100px;

  animation: rotateGlobe 12s linear infinite;

  filter: drop-shadow(0 0 20px var(--card-hover));
}

@keyframes rotateGlobe {
  from {
    transform: rotateY(0deg);
  }

  to {
    transform: rotateY(360deg);
  }
}

/* ================= TABS ================= */

.tabs {
  display: flex;

  gap: 15px;

  margin: 30px 0;

  flex-wrap: wrap;
}

.tab {
  background: var(--surface);
  color: var(--text);

  border: 2px solid var(--border);

  padding: 12px 25px;

  cursor: pointer;

  font-weight: bold;
}

.tab:hover {
  border-color: var(--card-hover);
}

.tab.active {
  background: var(--card-hover);

  color: var(--bg);

  border-color: var(--card-hover);
}

/* ================= SECTIONS ================= */

.tool-section {
  display: none;

  animation: fade 0.3s ease;
}

.tool-section.active {
  display: block;
}

@keyframes fade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.section-title {
  margin-bottom: 25px;
}

.section-title h3 {
  color: var(--card-hover);

  font-size: 1.6rem;
}

.section-title p {
  color: var(--muted);
}

/* ================= SEARCH ================= */

.search-box {
  width: 100%;

  max-width: 400px;

  background: var(--surface);
  color: var(--text);
  border: 2px solid var(--border);

  padding: 14px;

  margin-bottom: 25px;
}

.search-box:focus {
  outline: none;

  border-color: var(--card-hover);
}

/* ================= CLOCK CARDS ================= */

.clock-grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

  gap: 20px;
}

.clock-card {
  background: var(--surface);

  border: 2px solid var(--border);

  padding: 25px;

  border-radius: 14px;

  transition: 0.25s;
}

.clock-card:hover {
  transform: translateY(-8px);

  border-color: var(--card-hover);

  box-shadow: 0 0 25px rgba(96, 165, 250, 0.4);
}

.clock-card h4 {
  color: var(--card-hover);
}

.clock-time {
  font-size: 1.8rem;

  margin-top: 10px;
}

/* ================= FORMS ================= */

.form-grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

  gap: 20px;

  margin-bottom: 25px;
}

label {
  display: block;

  margin-bottom: 8px;

  color: var(--card-hover);
}

input,
select {
  width: 100%;

  box-sizing: border-box;

  padding: 14px;

  background: var(--surface);

  color: var(--text);

  border: 2px solid var(--border);

  border-radius: 8px;

  font-family: "Courier New", monospace;

  font-size: 0.95rem;

  cursor: pointer;
}

select:hover {
  border-color: var(--card-hover);
}

select:focus,
input:focus {
  outline: none;

  border-color: var(--card-hover);

  box-shadow: 0 0 12px rgba(96, 165, 250, 0.25);
}

/* dropdown options */

select option {
  background: var(--surface);
  color: var(--text);

  padding: 10px;
}

input:focus,
select:focus {
  border-color: var(--card-hover);

  outline: none;
}

/* ================= RESULT ================= */

.result-box {
  margin-top: 25px;

  padding: 20px;

  background: var(--surface);

  border: 2px solid var(--border);

  min-height: 30px;

  color: var(--card-hover);

  border-radius: 10px;
}

/* ================= DEV BUTTONS ================= */

.dev-grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 20px;
}

.dev-grid button {
  padding: 20px;

  background: var(--surface);
  color: var(--text);

  border: 2px solid var(--border);

  cursor: pointer;

  font-weight: bold;
}

.dev-grid button:hover {
  border-color: var(--card-hover);

  color: var(--card-hover);
}

/* ================= RESPONSIVE ================= */

@media (max-width: 700px) {
  .hero {
    flex-direction: column;

    text-align: center;
  }

  .hero h2 {
    font-size: 1.8rem;
  }

  main {
    padding: 15px;
  }
}

.input-grid {
  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));

  gap: 20px;

  margin-top: 20px;
}

.input-group {
  display: flex;

  flex-direction: column;

  gap: 8px;
}

.input-group label {
  font-size: 0.8rem;

  color: var(--card-hover);

  text-transform: uppercase;
}

input,
select {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);

  padding: 12px;

  border-radius: 8px;

  font-family: inherit;
}

select option {
  background: var(--surface);
  color: var(--text);
}

.convert-btn {
  margin-top: 25px;

  background: var(--card-hover);

  color: var(--bg);

  border: none;

  padding: 14px 30px;

  font-weight: bold;

  cursor: pointer;

  border-radius: 8px;
}

.convert-btn:hover {
  transform: translateY(-3px);
}

.result-box {
  margin-top: 25px;

  padding: 20px;

  background: var(--surface);

  border-left: 4px solid var(--card-hover);

  font-size: 1.1rem;
}

input[type="date"] {
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--border);

  padding: 12px;

  border-radius: 8px;

  font-family: inherit;
}

/* Chrome date picker icon */

input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1);

  cursor: pointer;
}

input[type="date"]:hover {
  box-shadow: 0 0 10px var(--card-hover);
}

footer {
            margin-top: 60px;
            padding: 30px 20px;
            text-align: center;
            border-radius: 12px 12px 0 0;
        }

        footer a {
            color: var(--text);
            text-decoration: none;
            font-weight: 900;
            border: 2px solid var(--border);
            padding: 8px 16px;
            display: inline-block;
            transition: all 0.2s ease;
        }

        footer a:hover {
            background: var(--text);
            color: var(--bg);
        }