/*
Theme Name: Aidan Theme
Theme URI:  https://aidankavanagh.com
Author:     tuantaimta
Description: WordPress theme cho portfolio của Aidan Kavanagh
Version:    1.0
Text Domain: aidan-theme
*/

/* Reset & Base */
* { margin:0; padding:0; box-sizing:border-box; }
body { 
  font-family: Arial, sans-serif; 
  background:#f9fbf7; 
  color:#000; 
  line-height: normal;
}

/* Font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
  font-family: 'UTM Avo';
  src: url('./assets/fonts/UTMAvoBold.woff2') format('woff2'),
      url('./assets/fonts/UTMAvoBold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'UTM Avo';
  src: url('./assets/fonts/UTMAvo.woff2') format('woff2'),
      url('./assets/fonts/UTMAvo.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('./assets/fonts/Montserrat-Regular.woff2') format('woff2'),
      url('./assets/fonts/Montserrat-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./assets/fonts/Montserrat-Bold.woff2') format('woff2'),
      url('./assets/fonts/Montserrat-Bold.woff') format('woff');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}



/* Typography */
body {
    font-family: "Montserrat", sans-serif;
    font-weight: normal;
  font-style: normal;
    font-size: 17px;
    letter-spacing: 0%;
}
form label {
  font-family: Georgia;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 34px;
}
form p {
  margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6 {
  /* font-family: 'UTM Avo', sans-serif; */
  font-weight: bold;
}
h1 {
  font-family: 'UTM Avo', sans-serif;
  font-size: 35px;
  line-height: 1.2;
  margin-bottom: 1rem;
  @media (min-width: 768px) {
    font-size: 60px;
    line-height: 72px;

  }
}
h3 {
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 1rem;
  font-family: 'UTM Avo', sans-serif;
  @media (min-width: 768px) {
    font-size: 25px;
  }
}
h4 {
  font-family: 'UTM Avo', sans-serif;
  font-size: 16px;
  line-height: 1.2;
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  font-weight: 700;
  @media (min-width: 768px) {
    font-size: 17px;
  }
} 
p {
  font-family: 'Montserrat', sans-serif;
  margin-bottom: 1rem;
  line-height: normal;
  font-size: 15px;
  @media (min-width: 768px) {
    font-size: 17px;
  }
}
.text {
  font-family: 'Montserrat', sans-serif;
}
a {
  color: var(--primary-color);
  text-decoration: none;
}



/* Variables */
:root {
  --primary-color: #67B351;
  --secondary-color: #667085;
  /* --accent-color: #f8f9fa; */
  --text-color-dark: #000000;
  --text-color-light: #FFFFFF;
  --back-ground-color: #67B3511A;
}


/* Container */
.container {
    width: 100%;
    max-width: 1240px;   /* Giới hạn desktop */
    margin: 0 auto;      /* Căn giữa */
    padding: 0 1rem;     /* Padding 2 bên cho mobile/tablet */
  }

/* Home */
/* Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  
/* Header */
    /* Navigation Tabs */
    .site-header  {
  position: sticky;   /* hoặc fixed nếu muốn luôn dính */
  top: 0;             /* dính trên cùng */
  z-index: 999;       /* đảm bảo nằm trên các phần tử khác *//* nền trắng để không bị trong suốt */
  background: transparent;
  border-bottom: none;
}
    nav { 
      /* margin-top: 30px!important; */
      display: flex;
    justify-content: center;
    /* padding: 15px; */
    position: sticky;
    top: 0;
    z-index: 1000;
    width: fit-content;
    margin: auto;
    border-radius: none;
    background: #67B351;
    gap: 10px;
   padding: 15px 1rem;
   @media (min-width: 768px) {
    padding: 15px 3rem;
  }
    }
    nav button {
      background: transparent;
      border:none; 
      padding:5px 0 ; 
      margin:0 8px; 
      cursor:pointer; 
      font-weight:bold; 
      color:#fff;
      font-family: "Montserrat", sans-serif;
      font-weight: 600;
      font-size: 14px;
      transition: border-color 0.3s ease; /* hiệu ứng mượt */
      border-bottom: 2px solid transparent;
      @media (min-width: 768px) {
        font-size: 16px;
      }
    }
    nav button:hover { 
        border-bottom: 2px solid #fff;
     }
    nav button.active {  
      border-bottom: 2px solid #fff; 
    }

/* Header */
#home {
  background-color: #67B3511A;
}
.hero {
    text-align: center;
    padding: 2rem 1rem;
    background: #fff;
	background-size: cover;
	height: 80vh;
	position: relative;
	@media (max-width: 768px) {

   background-position: center right 71%;
  background-repeat: no-repeat;
  
  max-height: 50vh;
}
	@media (min-width: 1600px) {
		height: 85vh;
}
  }
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,               /* từ dưới lên */
    rgba(0, 0, 0, 0.9) 0%,  /* đậm dưới */
    rgba(0, 0, 0, 0.4) 40%, /* mờ dần */
    rgba(0, 0, 0, 0) 100%   /* trong suốt trên */
  );
  z-index: 1;
}
.hero h1, .hero p {
	position: relative;
    z-index: 2;
	@media (max-width: 768px) {
		display : none;
}
	
}
  .hero .avatar {
	  visibility: hidden;
    margin-top: 20%; 
    /* @media (max-width: 768px) {
       
      } */
    @media (min-width: 768px) {
      margin-top: 8%;
    }
    @media (min-width: 1024px) {
      margin-top: 6%;
    }
    
  }
  .hero .avatar img {
    @media (max-width: 768px) {
      width: 200px;
      height: 200px;
    }
    @media (min-width: 768px) {
      width: 250px;
      height: 250px;
    }
    @media (min-width: 1024px) {
      width: 362px;
      height: 362px;
    }
    /* border-radius: 50%; */
    object-fit: cover;
    margin-bottom: 1rem;
  }
  
  .hero h1 {
    color: #fff;
  }
  
  .hero h1 span {
    color: #fff;
    font-weight: bold;
  }
  
  .hero p {
    max-width: 705px;
    margin: 0.5rem auto;
    color: #fffall-scroll;
    font-size: 0.95rem;
    @media (min-width: 768px){
      font-size: 18px;
    }
  }
  
  /* Sub Banner */
  .sub-banner {
    background: #67B351;
    color: #fff;
    text-align: center;
    padding: 2rem;
    font-weight: bold;
  }
  
  /* Portfolio Grid */
  .portfolio {
    display: grid;
    grid-template-columns: 1fr; /* Mobile mặc định 1 cột */
    gap: 1.5rem;
    padding: 2rem;
    @media (max-width: 768px){
      padding: 1rem;
    }
  }
  
  /* Card */
  .card {
    background: #fff;
    border-radius: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    padding: 1rem;
    display: flex;
    flex-direction: column;
  }
  @media (min-width: 768px) {
  .card:last-child:nth-child(odd) {
    grid-column: 1 / -1;     /* chiếm toàn bộ hàng */
    justify-self: center;    /* căn giữa ngang */
    width: 50%;              /* cho card nhỏ lại, ví dụ chiếm 50% hàng */
  }
  }
  /* Header trong card */
  .card-header {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
  }
  
  .card-header .card-logo {
    max-width: 190px;
    height: auto;
    overflow: hidden;
    object-fit: contain;
	    min-height: 52px;
    max-height: 52px;
    /* margin-left: 30%;  */
    @media (min-width: 768px) {
      max-height: 110px;
      max-width: 300px;
	  min-height: 61px;
	max-height: 61px;
      /* margin-left: 37%; */
    }
	  @media (min-width: 768px) {
      max-height: 110px;
      max-width: 300px;
	  min-height: 84px;
	max-height: 84px;
      /* margin-left: 37%; */
    }
  }
  
  .card-header h2 {
    font-size: 1.1rem;
    color: #222;
    margin: 0;
  }
  
  /* Body */
  .card-body .card-image {
    width: 140px;
    height:auto;
    object-fit: cover;
    /* border-radius: 9px; */
    margin-bottom: 0.8rem;
    padding-top: 20%;
    @media (min-width: 768px) {
      width: 200px;
      padding-top: 18%;
    }
    @media (min-width: 1024px) {
      width: 227px;
      padding-top: 19%;;
    }
  }
  
  .card-body p {
    font-family: "Montserrat", sans-serif;
    text-align: justify;
    font-size: 0.9rem;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
    @media (min-width: 768px) {
      font-size: 17px;
    }
  }
  
  /* Footer */
  .card-footer {
    margin-top: auto;
  }
  
  .card-footer a {
    text-decoration: none;
    color: #67B351;
    /* padding: 0.5rem 0.8rem; */
    /* border-radius: 4px; */
    transition: background 0.3s;
    display: inline-block;
  }
  
  .card-footer a:hover {
    text-decoration: underline;
    /* color: #fff; */
  }
  
  /* Responsive: Tablet và Desktop (≥768px) */
  @media (min-width: 768px) {
    .portfolio {
      grid-template-columns: repeat(2, 1fr); /* 2 cột */
    }
  }

  /* About me */
  .mission-vision {
    background-color: #67B3511A;
    padding : 2rem 1rem;
  }
  .mission-vision .h3 {
    font-size: 24px;
    @media (min-width: 768px) {
      font-size: 32px;
      line-height: 36px;
    }
  }
  .mission-vision .section {
    background: #fff;
    /* border-radius: 39px; */
    padding: 2rem;
    border-left: solid 14px #67B351;
    @media (max-width: 768px) {
      padding: 1rem;
    }
  }
  .text-center {
    text-align: center;
  }
  .flex {
    display: flex;
    gap: 1rem;
    @media (max-width: 768px) {
      flex-direction: column;
      gap: 20px;
    }
  }
  .flex-reverse {
    @media (min-width: 768px) {
      flex-direction: row-reverse;
    }
  }
  #about h4 {
    color: #67B351;
  }
  #about .text {
    font-size: 1rem;
    line-height: normal;
    text-align: justify;
    @media (min-width: 768px) {
     max-width: fit-content;
     font-size: 17px;
     line-height: 24px;
    }

  } 
  #about .text li {
    color: #67B351;
  }
  #about .image {
    border-bottom: 1px solid #67B351;
  }
  #about .sub-banner {
/*     margin-top: 4rem; */
    @media (min-width: 768px) {
/*       margin-top: 4rem; */
    } 
    @media (min-width: 1024px) {
      
    }
  }

/* Contact */
#contact .sub-banner {
/*   margin-top: 4rem; */
    @media (min-width: 768px) {
/*       margin-top: 4rem; */
    } 
    @media (min-width: 1024px) {
      
    }
}
.contact-wrapper {
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: center;
}
/* 
#contact .image img {
   display: none;
  @media (min-width: 768px) {
    display: block;
  } 
} */
.contact-wrapper {
  display: flex;
  flex-direction: column; /* mobile: xếp dọc */
  gap: 1rem;
}

.contact-wrapper .image,
.contact-wrapper .form {
  flex: 1;
}
.cf7sr-g-recaptcha {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
@media (max-width: 767px)  {
  .contact-wrapper .image img {
    max-width: 100%;     /* cắt ảnh cho vừa */
  }
}
@media (min-width: 767px) and (max-width: 1140px)  {
  .contact-wrapper .image img {
    width: 100%;     /* cắt ảnh cho vừa */
  }
}
/* Màn hình >= 768px */
@media (min-width: 768px) {
  .contact-wrapper {
    flex-direction: row;     /* nằm ngang */
    align-items: stretch;    /* 2 cột equal height */
  }

  .contact-wrapper .image,
  .contact-wrapper .form {
    width: 50%;              /* chia đôi */
  }

  .contact-wrapper .image {
    display: flex;     
    justify-content: center;      /* để ảnh co giãn trong cột */
  }

  .contact-wrapper .image img {
    /* width: 100%; */
    height: 100%;            /* fill theo cột */
    object-fit: cover;       /* cắt ảnh cho vừa */
  }
}


/* Container form */
#contact .form {
  max-width: 100%;
  width: -webkit-fill-available;
}
.wpcf7 form {
  background: #8cc63f; /* màu xanh */
  padding: 2rem;
  /* border-radius: 12px; */
  margin: auto;
  color: white;
  font-family: Arial, sans-serif;
  font-size: 13px;
}

/* Label */
.wpcf7 form label {
  display: block;
  margin-bottom: 8px;
  font-weight: normal;
}
/* .text-center {
  text-align: center;
} */
 .wpcf7-submit {
  margin-left: 24%;
  @media (min-width: 1024px) {
    margin-left: 40%;
  }
 
 }
/* Input & textarea */
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form textarea {
  width: 100%;
  padding: 10px;
  border: none;
  /* border-radius: 4px; */
  margin-bottom: 15px;
  background: rgba(255, 255, 255, 0.4);
  color: #000;
}
.wpcf7 form input[type="text"], .wpcf7 form input[type="email"] {
  height: 60px;
}
.wpcf7 form textarea {
  height: 110px;
}

/* Checkbox (reCAPTCHA placeholder style) */
.wpcf7 form input[type="checkbox"] {
  margin-right: 6px;
}

/* Submit button */
.wpcf7 form input[type="submit"] {
    background: #fff;
    color: #8cc63f;
    padding: 12px 40px;
    border: none;
    /* border-radius: 4px; */
    font-weight: bold;
    cursor: pointer;
    font-size: 20px;
    margin : auto;
}

.wpcf7 form input[type="submit"]:hover {
  background: #f1f1f1;
}

