/* ── Shared portfolio styles ─────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

/* ── Base ── */
body { font-family: Arial, sans-serif; margin: 0; background: #f5f7fa; color: #333; }
a { color: #1f3a5f; text-decoration: none; }
a:hover { text-decoration: underline; }
h2 { border-bottom: 2px solid #1f3a5f; padding-bottom: 5px; }

/* ── Header ── */
header { background: #1f3a5f; color: white; padding: 20px; text-align: center; }
.header-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}
.header-logo {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background: white;
  padding: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
  flex-shrink: 0;
}
.header-text { text-align: left; }
.header-text h1 { margin: 0 0 4px; }
.header-text p  { margin: 0; }
.header-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 18px;
  background: rgba(255,255,255,0.15);
  color: white;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 6px;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s;
}
.header-btn:hover { background: rgba(255,255,255,0.25); text-decoration: none; }
.header-btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }

/* ── Footer ── */
footer { text-align: center; padding: 20px; font-size: 14px; color: #777; }

/* ── Print – shared base ── */
@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  body { background: white; color: #000; font-size: 11pt; margin: 0; }

  header {
    background: #1f3a5f !important;
    color: white !important;
    padding: 14px;
    text-align: center;
  }
  header h1 { font-size: 18pt; margin: 0 0 4px; }
  header p  { font-size: 11pt; margin: 0; }

  h2 { font-size: 13pt; border-bottom: 1.5pt solid #1f3a5f; padding-bottom: 3px; }

  .header-logo { width: 70px; height: 70px; }

  footer { font-size: 9pt; color: #555; text-align: center; padding: 8px 0; }

  /* Hide shared UI elements */
  .header-btns,
  #gdpr-banner,
  .gdpr-overlay,
  #cookie-settings-btn { display: none !important; }
}
