:root {
  /* Colors */
  --color-white: #f4f4f5;
  --color-black: #231f20;
  --color-gray: #c2c2bf;
  --color-dark: #2c3337;
  --color-blue: #249cd1;
  --color-yellow: #eec21b;
  --color-blue-light: #4dc3f7;
  --color-blue-dark: #1b7ca8;
  --color-yellow-light: #f7dc6f;
  --color-yellow-dark: #cba715;
  --color-border: rgba(0, 0, 0, 0.1);
  --color-shadow: rgba(0, 0, 0, 0.15);

  /* Font Sizes */
  --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;

  --mx-width: 1366px;



  /* Letter Spacing */
  --letter-spacing-shore: 0.73px;
  --letter-spacing-medium: 1.1px;
  --letter-spacing-large: 1.5px;

  
  /* Spacing */
  --space-s: 1rem;
  --space-m: 1.5rem;
  --space-l: 2rem;

  /* 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);
  --box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;

  /* Transitions */
  --transition-normal: 0.3s ease-in-out;

  /* Line Height */
  --line-height-normal: 1.5;

  /* 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);
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: 'font-text', sans-serif;
}

/* Full page layout */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* ensures the page fills the viewport */
}

main {
  min-height: calc(100vh - 50px - 50px); /* 100vh minus header (50px) and footer (50px, adjust if needed) */
  padding-top: 50px; /* header height */
  display: flex;
  justify-content: center; /* center horizontally */
  align-items: center;     /* center vertically */
}
/* Header */
.sicgbor_header_general {
  width: 100%;
  height: 50px;
  background-color: var(--color-white);
  box-shadow: var(--shadow-medium);
  position: fixed;
  top: 0;
  flex-shrink: 0; /* prevent shrinking */
  left: 0;
  z-index: var(--z-header);
  display: flex;
  justify-content: center;
}

/* Navigation container */
.sicgbor_navigation {
  width: 100%;
  padding: 0; /* ensure no inner padding */
  max-width: var(--mx-width);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-m);
}

.sicgbor_logo {
  margin-left: 0; /* remove any default margin */
}

/* Logo */
.sicgbor_logo img {
  height: 48px;
  margin-left: 15px;
  display: block;
}

/* Menu icon (mobile) */
.menu-icon {
  display: none;
  font-size: 30px;
  color: var(--color-blue);
  cursor: pointer;
  line-height: 1;
}

/* Desktop Navigation */
.sicgbor_navigation_ul {
  list-style: none;
  display: flex;
  gap: var(--space-m);
  margin: 0;
  padding: 0;
}

.sicgbor_navigation_ul li a {
  color: var(--color-dark);
  text-decoration: none;
  font-family: var(--fonts-navigation);
  font-size: var(--font-s-medium);
  letter-spacing: var(--letter-spacing-shore);
  transition: var(--transition-normal);
}

.sicgbor_navigation_ul li a:hover {
  color: var(--color-yellow);
}

/* Mobile */
.menu-toggle {
  display: none;
}

@media (max-width: 768px) {
  .menu-icon {
    display: block;
  }

  .sicgbor_navigation_ul {
    position: fixed;
    top: 50px; /* ✅ match header height */
    right: -100%;
    width: 100%;
    height: calc(100vh - 50px);
    background-color: var(--color-white);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    transition: var(--transition-normal);
  }

  .menu-toggle:checked ~ .sicgbor_navigation_ul {
    right: 0;
  }

  .open-icon { display: inline; }
  .close-icon { display: none; }

  .menu-toggle:checked + .menu-icon .open-icon {
    display: none;
  }

  .menu-toggle:checked + .menu-icon .close-icon {
    display: inline;
    
  }
}

/* Prevent content from hiding under header */
main {
  padding-top: 50px;
}

/* Mobile version link separators */
@media (max-width: 768px) {
  .sicgbor_navigation_ul li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--color-gray); /* line under each link */
  }

  .sicgbor_navigation_ul li:last-child {
    border-bottom: none; /* no line under last link */
    margin-bottom: 0;
  }

  .sicgbor_navigation_ul li a {
    display: block;
    width: 100%;
    padding: 10px 0; /* vertical padding for better touch area */
    color: var(--color-dark);
  }

  .sicgbor_navigation_ul li a:hover {
    color: var(--color-yellow); /* hover color */
  }
}


/* ✅ LOGIN BUTTON — Desktop + Mobile */
.sicgbor_navigation_ul li a.sicgbor_login_index {
  background-color: var(--color-blue);
  color: var(--color-white);
  padding: 6px 18px;
  border-radius: 5px;
  letter-spacing: var(--letter-spacing-shore);
  transition: var(--transition-normal);
}

.sicgbor_navigation_ul li a.sicgbor_login_index:hover {
  background-color: var(--color-yellow-dark);
  color: var(--color-white);
}


/* ✅ MOBILE STYLES */
@media (max-width: 768px) {
  .sicgbor_navigation_ul li:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }

  .sicgbor_navigation_ul li a.sicgbor_login_index {
  padding-left: 0;
}

  .sicgbor_navigation_ul li a {
    display: block;
  }

   .sicgbor_navigation_ul li a:hover {
    background-color: var(--color-gray);
    color: var(--color-dark);
    transform: translateY(-2px); /* subtle lift */
  }
}
  .sicgbor_navigation_ul li a.sicgbor_login_index {
    width: 100%; /* full width */
    background: var(--color-blue);
    
  }


.menu-toggle {
  display: none;
}

.menu-icon {
  display: none;
  font-size: 32px;
  cursor: pointer;
  padding-right: 15px;
}

@media (max-width: 768px) {
  .menu-icon {
    display: block;
  }

  .sicgbor_navigation_ul {
    position: fixed;
    top: 50px;
    right: -100%;
    width: 100%;
    height: calc(100vh - 50px);
    background-color: var(--color-white);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
    transition: var(--transition-normal);
  }

  .menu-toggle:checked ~ .sicgbor_navigation_ul {
    right: 0;
  }

  .sicgbor_navigation_ul li {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid var(--color-gray);
  }

  .sicgbor_navigation_ul li:last-child {
    border-bottom: none;
  }

  .sicgbor_navigation_ul li a {
    display: block;
    width: 100%;
    padding: 12px 0;
  }
}

/* Header color when scrolling (mobile only if needed) */
.sicgbor_header_scrolled {
  background-color: var(--color-yellow) !important;
  box-shadow: var(--shadow-medium);
}

/* Change nav text when scrolled */
.sicgbor_header_scrolled .sicgbor_navigation_ul li a {
  color: var(--color-dark) !important;
}

/* Change logo or menu icon color if needed */
.sicgbor_header_scrolled .menu-icon {
  color: var(--color-dark) !important;
}




/* FOOTER - Desktop and Mobile */
footer {
  height: 50px;
  background-color: var(--color-blue);
  color: var(--color-white);
  width: 100%;
  display: flex;
  flex-shrink: 0; /* prevent shrinking */
  justify-content: center; /* footer container */
  align-items: center;
}

footer ul {
  display: flex;
  gap: 20px;
  width: 100%;
  max-width: var(--mx-width);
  margin: 0;
  list-style: none;
  padding: 0 20px; /* padding for desktop */
}

footer ul li a {
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.3s ease;
}

footer ul li a:hover {
  color: var(--color-yellow);
  text-decoration: underline; /* optional hover effect */
}

/* MOBILE VERSION - links horizontal aligned left */
@media (max-width: 768px) {
  footer ul {
    flex-direction: row; /* horizontal */
    justify-content: flex-start; /* align left */
    gap: 15px;
    padding: 0 15px; /* small padding on sides */
  }
    .sicgbor_search_description {
    margin-bottom: 15px;
  }
}




/* this is the main section  */
/* on the inde page */


/* MAIN SECTION - full viewport height */
.sicgbor_main_index {
  flex: 1; /* takes all remaining vertical space */
  display: flex;
  flex-direction: column;
  justify-content: center; /* center content vertically */
  align-items: center;     /* center content horizontally */
  padding: 20px;
  box-sizing: border-box;
}

/* MAIN TEXT / DESCRIPTION */
.sicgbor_search_texts_index {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 130px;
  gap: 1px; /* smaller gap between description and easyp section */
}

.sicgbor_search_description {
  font-size: var(--font-s-normal);
  color: var(--color-gray);
  max-width: 600px;       /* limit width for readability */
  margin: 0 auto 15px;    /* center and spacing below */
  line-height: 1.6;
  color: var(--color-gray);
  letter-spacing: var(--letter-spacing-shore);
  max-width: 600px;
  margin: 0; /* remove extra bottom spacing */
  line-height: 1.5;
  margin-bottom: 5px;
}

.sicgbor_search_easyp_index {
  font-size: 1.6rem; /* bigger and more visible */
  color: var(--color-dark);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1px; /* spacing between words and links */
}

.sicgbor_search_easyp_index {
  font-size: var(--font-s-gigantte);
  color: var(--color-dark);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;       /* minimal gap between words/links */
  margin-top: 5px;  /* remove extra spacing if any */
}

.sicgbor_search_easyp_index span {
  font-size: var(--font-s-gigantte);
  font-family: var(--fonts-title);
  font-weight: 600; /* a bit bolder */
  color: var(--color-gray);
  font-size: var(--font-s-gigantte); /* match main easyp font */
}

.sicgbor_search_link_post {
  text-decoration: none;
  transition: color 0.3s ease;  
  font-weight: 500;
  color: var(--color-yellow);
  font-size: var(--font-s-gigantte);
  font-family: var(--fonts-title);
}

.sicgbor_search_link_post:hover {
  color: var(--color-yellow);
}


/* Mobile adjustments */
@media (max-width: 768px) {
  .sicgbor_search_easyp_index span {
    font-size: 1.2rem; /* smaller font on mobile */
  }

  .sicgbor_search_link_post {
    font-size: 1.2rem; /* also reduce the link text */
  }

  .sicgbor_search_texts_index {
    gap: 1px; /* tighten spacing for mobile */
  }

  .sicgbor_search_description {
    font-size: 1rem; /* smaller description text */
    line-height: 1.3;
  }
}

/* Services Section Container */
.sicgbor_services_index {
  text-align: center;
  margin: 40px 0; /* space from other sections */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* Portfolio Icon + Text */
.sicgbor_services_index p {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.2rem;
  color: var(--color-dark);
}

.sicgbor_services_index p a {
  color: var(--color-blue);
  text-decoration: none;
  font-size: 1.6rem;
  transition: color 0.3s ease;
}

.sicgbor_services_index p a:hover {
  color: var(--color-yellow);
}

.sicgbor_portfolio {
  font-weight: 600;
  font-family: var(--fonts-title);
}


/* Services Buttons / Links */
.sicgbor_services_buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin-top: 0; /* optional: remove extra spacing */
}

.sicbgor_services_buttons_index {
  color: var(--color-gray);
  padding: 10px 20px;
  border-radius: var(--radius-medium);
  text-decoration: none;
  letter-spacing: var(--letter-spacing-shore);
  font-weight: 500;
  font-family: var(--fonts-navigation);
  transition: all 0.3s ease;
}

.sicbgor_services_buttons_index:hover {
  background-color: var(--color-yellow-light);
  color: var(--color-dark);
  transform: translateY(-3px);
}

.sicgbor_services_buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px; /* slightly smaller gap between buttons */
  margin-top: 0; /* remove extra spacing */
}


/* MOBILE STYLES */
@media (max-width: 768px) {
  .sicgbor_services_index {
    margin: 30px 15px;
  }

  .sicgbor_services_title {
    font-size: 1.3rem;
  }

  .sicbgor_services_buttons_index {
    padding: 8px 15px;
    font-size: 0.9rem;
  }
  .sicgbor_services_title {
  text-align: center;
  margin-bottom: 1px; /* reduce this to bring buttons closer */
  font-size: var(--font-s-medium);
  font-family: var(--fonts-title);
  margin-bottom: 0.1px; /* very small space to bring buttons closer */
  color: var(--color-gray);
  letter-spacing: var(--letter-spacing-shore);
}
}


/* Portfolio link section - ultra compact */
.sicgbor_services_index p {
  display: flex;
  flex-direction: column; /* stack icon and text vertically */
  align-items: center;    /* center horizontally */
  gap: 1px;               /* minimal space between icon and text */
  margin-bottom: 2px;     /* very small space before buttons */
  font-family: var(--fonts-subtitle);
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-gray);
  cursor: pointer;
  transition: all 0.3s ease;
}

.sicgbor_services_index p a {
  color: var(--color-gray);
  text-decoration: none;
  font-size: 1.8rem; /* slightly smaller icon for compact look */
  transition: color 0.3s ease;
}

.sicgbor_services_index p:hover,
.sicgbor_services_index p a:hover {
  color: var(--color-yellow); /* hover effect */
}

.sicgbor_portfolio {
  font-size: 0.95rem;  /* smaller text */
  color: var(--color-gray);
  transition: color 0.3s ease;
}

/* Reduce title margin even more */
.sicgbor_services_title {
  margin-top: 0;
  margin-bottom: 2px;  /* ultra-close to portfolio */
  font-size: var(--font-s-normal);
  color: var(--color-gray);
  letter-spacing: var(--letter-spacing-shore);
  font-family: var(--fonts-title);
}

/* Reduce gap between portfolio and service buttons */
.sicgbor_services_buttons {
  margin-top: 2px;  /* minimal space between portfolio and buttons */
}


/* Add spacing between search box and services section */
.sicgbor_services_index {
  margin-top: 150px; /* increase to create separation */
}

@media (max-width: 768px) {
  .sicgbor_services_index {
    margin-top: 90px; /* smaller gap for mobile */
  }
}

/* SEARCH BOX */
.sicgbor_search_box {
  width: 100%;
  max-width: 600px; /* limit width */
  margin: 20px auto; /* center and spacing */
}

.sicgbor_search_input::placeholder {
  letter-spacing: var(--letter-spacing-shore);
  color: var(--color-gray); /* change to your desired color */
  opacity: 1; /* ensures full color visibility */
}

.sicgbor_search_form {
  display: flex;
  width: 100%;
  border-radius: var(--radius-medium);
  overflow: hidden; /* keep input and button rounded together */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25); /* stronger shadow */
}

.sicgbor_search_input {
  flex: 1; /* take full space */
  padding: 12px 15px;
  font-size: var(--font-s-normal);
  border: none; /* remove border */
  outline: none;
  font-family: var(--fonts-text);
  color: var(--color-dark);
  letter-spacing: var(--letter-spacing-shore);
  box-shadow: none; /* no inner shadow */
}

.sicgbor_search_button_index {
  background-color: var(--color-blue);
  border: none;
  color: var(--color-white);
  padding: 0 20px;
  cursor: pointer;
  font-size: 1.1rem;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.sicgbor_search_button_index:hover {
  background-color: var(--color-yellow-dark);
  transform: translateY(-2px);
}

/* MOBILE VERSION */
@media (max-width: 768px) {
  .sicgbor_search_box {
    margin: 15px auto;
    max-width: 90%;
  }

  .sicgbor_search_input {
    font-size: 0.95rem;
    padding: 10px 12px;
  }

  .sicgbor_search_button_index {
    padding: 0 15px;
  }
}
