/* ===== BASE STYLES ===== */
/* Core styles used across all pages: variables, resets, typography, links */

/* ===== IMPORTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* ===== CSS VARIABLES ===== */
* {
  /* Layout Variables */
  --side_gap: max(4vw, 1rem);
  --masonry-gap: max(1vw, 12px);
  --img-text-gap: max(1vw, 1rem);
  --top_gap: max(0.75vw, 1rem);
  --bottom-gap: max(4vw, 1rem);
  --header-gap: max(0.5vw, 1rem);

  /* Color Variables */
  --background-color: #ffffff;
  --text-color: #000000;
  --accent-color: #be654b;
  --tag-color: #be664b7a;

  /* Typography Variables */
  --standard-font-weight: 300;
  --bold-font-weight: 600;
  --paragraph-size: max(0.8vw, 16px);
  --navigation-font-size: max(0.9vw, 18px);
  --header1-size: max(1.2vw, 21px);
  --header2-size: max(1vw, 18px);
  --header3-size: var(--paragraph-size);

  /* Animation Variables */
  --transition-time: 0.3s;

  /* Base Styles */
  box-sizing: border-box;
  color: var(--text-color);
  font-family: 'Poppins', Arial, sans-serif;
  line-height: 1.2;
  font-weight: normal;
  padding: 0;
  margin: 0;

  -webkit-tap-highlight-color: transparent;
}

/* ===== HTML & BODY RESETS ===== */
html,
body {
  margin: 0 var(--side_gap);
  background-color: var(--background-color);
}

body {
  margin: 0;
  padding: 0;
  visibility: hidden;
}

body.has-loaded {
  visibility: visible;
}

figure {
  margin: 0;
  padding: 0;
  position: relative;
}

/* ===== TYPOGRAPHY ===== */
button,
p {
  font-size: var(--paragraph-size);
  font-weight: var(--standard-font-weight);
}

mark {
  text-decoration: none;
  background: none;
  text-align: center;
  font-weight: var(--regular-font-weight);
}

p:has(mark) {
  margin-bottom: var(--img-text-gap);
  margin-top: var(--img-text-gap);
  text-align: center;
}

h2 {
  font-size: var(--header2-size);
  color: var(--accent-color);
  font-weight: var(--standard-font-weight);
}

h3 {
  font-size: var(--header3-size);
  color: var(--accent-color);
  font-weight: var(--standard-font-weight);
}

h4 {
  font-size: var(--paragraph-size);
  margin-bottom: var(--header-gap);
}

/* ===== LINKS ===== */
a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  font-weight: var(--standard-font-weight);
}

.has-hover a:hover {
  color: var(--accent-color);
}

span {
  border: none;
}
