/* ================================
   UNIVERSAL CSS (light grey palette)
   ================================ */

/* Import Google Font Inter (Latin Extended covers EN, PT, ES, FR, IT) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap&subset=latin-ext');

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Base */
html { font-size: 100%; }

body {
  font-family: 'Inter', Arial, Helvetica, sans-serif;
  line-height: 1.6;
  background: #f5f5f5; /* very light grey page background */
  color: #222;
  font-size: 14px;
}

@media screen and (min-width: 720px) {
  body { font-size: 15px; }
}

/* Headings */
h1, h2, h3, h4 {
  color: #2a2a2a;
  margin-bottom: 0.5em;
  font-weight: 600;
}

p { margin-bottom: 1em; }

/* Layout */
.wrap, section {
  max-width: 960px;
  margin: 0 auto;
  padding: 1rem;
}

/* Header */
header {
  border-bottom: 2px solid #ddd;
  margin-bottom: 1.5rem;
  text-align: center;
}

/* Hero */
.hero {
  background: #e9e9e9; /* slightly darker grey box */
  padding: 2rem 1rem;
  border-radius: 8px;
  margin-bottom: 1.5rem;
}

.hero h1, .hero h2 { color: #111; }

/* Cards */
.card {
  background: #ffffff; /* white cards for contrast */
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.card h3 { margin-top: 0; color: #222; }

/* Package boxes */
.pkg.card {
  background: #f9f9f9;   /* very light grey, distinct from white cards */
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 1rem;
}

/* Tables */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

th, td {
  border: 1px solid #ccc;
  padding: 0.5rem;
  text-align: left;
}

th {
  background: #e0e0e0;
  color: #111;
}

tr:nth-child(even) { background: #f9f9f9; }

/* Lists */
ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1rem; }
ul li { margin-bottom: 0.5rem; }

/* Buttons (anchor styled as button) */
.btn, .button, .blue-btn {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background: #444;       /* dark grey */
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;  /* remove underline */
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background 0.2s ease;
}

.btn:hover, .button:hover, .blue-btn:hover {
  background: #222;
}

.btn:active, .button:active, .blue-btn:active {
  background: #333;
}

/* Secondary button */
.btn.secondary {
  background: #f0f0f0; /* light grey background */
  color: #222;
  border: 1px solid #bbb;
}

.btn.secondary:hover {
  background: #e0e0e0;
}

/* Footer */
footer {
  border-top: 2px solid #ddd;
  margin-top: 2rem;
  padding-top: 1rem;
  color: #555;
  text-align: center;
}

/* Responsive helper: 2-column grid */
@media screen and (min-width: 600px) {
  .grid-2 {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .grid-2 > * {
    flex: 1 1 45%;
  }
}

