/* ===============================
   GLOBAL VARIABLES & FONTS
=============================== */
:root {
  /* Colors */
  --color-white: #f4f4f5;
  --color-black: #231f20;
  --color-gray: #c2c2bf;
  --color-dark: #2c3337;
  --color-blue: #249cd1;
  --color-yellow: #eec21b;
  --color-border: rgba(0, 0, 0, 0.1);
  --color-shadow: rgba(0, 0, 0, 0.15);

  /* Typography */
  --font-s-small: 0.7rem;
  --font-s-medium: 0.9rem;
  --font-s-normal: 1.1rem;
  --font-s-large: 1.4rem;
  --font-s-gigantte: 1.8rem;

  --fonts-nav: font-nav;
  --fonts-italic: font-italic;
  --fonts-text: font-text;
  --fonts-title: font-title;
  --fonts-subtitle: font-subtitle;
  --fonts-navigation: font-navigation;

  /* Layout */
  --mx-width: 1366px;

  /* Spacing */
  --letter-spacing-shore: 0.73px;
  --letter-spacing-medium: 1.1px;
  --letter-spacing-large: 1.5px;

  /* Border Radius */
  --radius-small: 5px;
  --radius-medium: 10px;
  --radius-large: 20px;

  /* Shadows */
  --shadow-light: 0 2px 4px rgba(0, 0, 0, 0.1);
  --shadow-medium: 0 4px 8px rgba(0, 0, 0, 0.15);

  /* Animation */
  --transition-normal: 0.3s ease-in-out;

  /* Z-index */
  --z-header: 1000;
  --z-modal: 2000;
}

@font-face {
  font-family: 'font-nav';
  src: url(../fonts/font-nav.ttf);
}
@font-face {
  font-family: 'font-navigation';
  src: url(../fonts/font-navigation.OTF);
}
@font-face {
  font-family: 'font-italic';
  src: url(../fonts/font-italic.OTF);
}
@font-face {
  font-family: 'font-text';
  src: url(../fonts/font-texts.OTF);
}
@font-face {
  font-family: 'font-title';
  src: url(../fonts/font-title.OTF);
}
@font-face {
  font-family: 'font-subtitle';
  src: url(../fonts/font-subtitle.OTF);
}

.body_general {
    background-color: var(--color-white);
}

/* ===============================
   PORTFOLIO INTRO
=============================== */
.sicgbor_portfolio_intro {
  text-align: center;
  padding: 40px 20px 20px;
  background: #f9f3e7;
}

.portfolio_title {
  font-family: var(--fonts-title);
  font-size: 2.2rem;
  color: var(--color-dark);
  text-align: center;
  margin-bottom: 1rem;
}

.portfolio_intro_text {
  max-width: var(--mx-width);
  margin: auto;
  font-family: var(--fonts-text);
  font-size: var(--font-s-normal);
  color: var(--color-dark);
  line-height: 1.6;
  letter-spacing: 0.73px;
  margin-bottom: 1.5rem;
}

/* ===============================
   FILTER BUTTONS
=============================== */
.sicgbor_portfolio_buttons {
  text-align: center;
  margin: 40px 0;
}

.buttons-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
}

.portfolio_filter {
  background: var(--color-yellow);
  color: var(--color-dark);
  border: 2px solid var(--color-yellow);
  padding: 10px 25px;
  border-radius: 50px;
  cursor: pointer;
  font-weight: 600;
  font-size: 16px;
  transition: var(--transition-normal);
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

.portfolio_filter:hover,
.portfolio_filter.active {
  background: #d4a70a;
  border-color: #d4a70a;
  transform: translateY(-2px);
}

/* ===============================
   MASONRY GRID
=============================== */
.sicgbor_portfolio_masonry {
  max-width: var(--mx-width);
  margin: auto;
}

.sicgbor_portfolio_masonry .container {
  column-count: 2;
  column-gap: 20px;
  padding: 20px;
}

.portfolio_item {
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  transition: var(--transition-normal);
}

.portfolio_item img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  transition: transform 0.3s;
}

.portfolio_item:hover img {
  transform: scale(1.05);
}

.portfolio_item h3 {
  position: absolute;
  bottom: 1px;
  left: 10px;
  font-family: var(--fonts-subtitle);
  right: 10px;
  background: rgba(228,227,224,0.6);
  padding: 8px;
  text-align: center;
  border-radius: 5px;
  color: var(--color-dark);
  letter-spacing: var(--letter-spacing-shore);
  font-size: var(--font-s-normal);
  backdrop-filter: blur(4px);
}

/* ===============================
   RESPONSIVE
=============================== */
@media (max-width: 768px) {
  .sicgbor_portfolio_masonry .container {
    column-count: 1;
  }
  .portfolio_item h3 {
    font-size: 1rem;
  }
  .portfolio_intro_text {
    font-size: 1rem;
    padding: 0 10px;
  }
  .portfolio_item {
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .portfolio_item h3 {
    font-size: 0.9rem;
  }
  .portfolio_intro_text {
    font-size: 0.95rem;
  }
}
