@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700&family=Playball&display=swap");

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: "Montserrat", sans-serif;
   font-size: 16px;
   width: 100%;
   background-color: #f6f6f6;
}

h1 {
   font-size: 3.5em;
   font-weight: bold;
   line-height: 60px;
}

h2 {
   font-size: 2.2em;
   font-weight: bold;
   text-align: center;
   line-height: 40px;
}

h3 {
   font-size: 1.8em;
   font-weight: bold;
}

h4 {
   font-size: 1.2em;
   font-weight: 600;
}

h5 {
   font-size: 0.9em;
   font-weight: bold;
}

h6 {
   font-size: 0.8em;
   font-weight: 600;
}

p {
   font-size: 1.1em;
   line-height: 30px;
}

.section {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   padding: 50px 50px 25px 50px;
}

.section-content {
   max-width: 1250px;
}

.cards {
   margin-top: 50px;
   width: 100%;
   display: flex;
   flex-direction: row;
   justify-content: space-around;
   flex-wrap: wrap;
   gap: 25px;
}

.logo {
   font-family: "Playball", sans-serif;
   font-size: 1.5em;
   font-weight: 500;
}

#mobile-nav {
   display: none;
}

/* NAVBAR START */

#nav-bg {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 60px;
   background-color: aliceblue;
   padding: 0 50px;
   box-shadow: 0 5px 15px rgb(0, 0, 0, 0.08);
   position: fixed;
   z-index: 999;
}

nav {
   width: 100%;
   max-width: 1250px;
   display: flex;
   align-items: center;
   justify-content: space-between;
}

nav li {
   list-style: none;
   display: inline-block;
}

nav li a {
   text-decoration: none;
   font-size: 0.9em;
   font-weight: 600;
   color: #1a1a1a;
   margin-left: 40px;
   transition: 0.3s ease;
   position: relative;
}

nav li a:hover,
nav li a.active {
   color: #ec840e;
}

nav li a.active::after {
   content: "";
   width: 50%;
   height: 2px;
   position: absolute;
   bottom: -4px;
   left: 0;
   background-color: #ec840e;
}

#close {
   display: none;
}

/* HERO START */

#hero-bg {
   display: flex;
   justify-content: center;
   background-color: #d4dae7;
   height: 100vh;
}

#hero {
   max-width: 1250px;
   min-height: 100%;
   position: relative;
   overflow: hidden;
   padding-top: 30px;
}

#hero .hero-text {
   height: 100%;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   padding: 40px;
}

#hero .hero-text h1 {
   color: #233747;
   width: 60%;
   margin-bottom: 15px;
}

#hero .hero-text p {
   color: #233747;
   width: 50%;
   margin-bottom: 15px;
}

#hero .hero-text button {
   padding: 15px 30px;
   border-radius: 10px;
   font-size: 1em;
   font-weight: bold;
   color: #fff;
   background-color: #ec840e;
   border: none;
   box-shadow: 3px 0 4px rgba(32, 190, 108, 0.08);
   margin-top: 25px;
   cursor: pointer;
}

#hero .hero-text button:hover {
   background-color: #bd6500;
}

#hero img {
   width: 60%;
   position: absolute;
   bottom: 0;
   right: -50px;
}

/* About Section Start */

#about p {
   text-align: center;
   margin-top: 15px;
   font-size: 1.1em;
   font-weight: 500;
   line-height: 40px;
}

#about a {
   text-decoration: none;
   color: #233747;
   font-weight: bold;
}

#about a:hover {
   color: #d47100;
}

/* Featured Section Start */

#featured .feature-card {
   padding: 50px 25px;
   width: min(30%, 300px);
   height: 415px;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
   align-items: center;
   gap: 25px;
   border-radius: 20px;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25);
   background-color: #fff;
}

#featured .feature-card img {
   width: 70%;
   margin-bottom: 25px;
}

#featured .feature-card h4 {
   text-align: center;
   margin-bottom: 10px;
}

#featured .feature-card p {
   text-align: justify;
}

/* Articles Section Start */

#articles {
   margin: 50px 0 25px 0;
   display: flex;
   flex-direction: column;
}

#articles .article {
   display: flex;
   justify-content: center;
   width: 100%;
   background-size: cover;
   background-position: center;
   background-color: #233747;
}

.article-container {
   max-width: 1250px;
}

#articles #cat {
   background-image: url("Images/cat.jpg");
}

#articles #cat .article-content h2 {
   text-align: left;
}

#articles #dog {
   background-image: url("Images/dog.jpg");
}

#articles .article-content {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 55%;
   height: 100%;
   padding: 50px;
   color: white;
}

#articles .article-content p {
   margin-top: 15px;
   font-size: 1em;
   line-height: 35px;
}

#articles .article-content a {
   text-decoration: none;
   font-size: 1em;
   font-weight: bold;
   margin-top: 35px;
   color: rgb(205, 205, 205);
}

#articles .article-content a:hover {
   color: rgb(255, 255, 255);
}

#articles #dog .article-content {
   float: right;
}

#articles #dog .article-content h2,
#articles #dog .article-content p,
#articles #dog .article-content a {
   text-align: right;
}

/* REVIEWS SECTION START */

#reviews .review-card {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   width: 300px;
   height: 300px;
   padding: 30px;
   border-radius: 20px;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.25);
   background-color: #fff;
}

#reviews .profile {
   display: flex;
   align-items: flex-start;
   gap: 15px;
   margin-bottom: 30px;
}

#reviews .profile img {
   width: 50px;
   height: 50px;
   border-radius: 50%;
}

#reviews .profile p {
   font-size: 0.8em;
   color: #515151;
   line-height: 25px;
   margin-top: 0;
}

#reviews p {
   font-size: 0.8em;
   line-height: 25px;
   font-weight: 500;
   margin-top: 5px;
}

#reviews .stars {
   display: flex;
   justify-content: flex-start;
   gap: 5px;
   color: #ec840e;
}

#reviews .stars i {
   cursor: pointer;
}

/* BREED PAGE */

/* Header Start */

#breed-hero {
   height: 350px;
   background-image: url("Images/breed-hero.jpg");
   background-size: cover;
   background-position: top;
   padding: 50px 30px 10px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 15px;
   color: #f5f5f5;
   position: relative;
   z-index: -1;
}

#breed-hero p {
   text-align: center;
}

#breed-hero::after {
   content: "";
   position: absolute;
   height: 350px;
   width: 100%;
   background-color: rgba(0, 0, 0, 0.25);
   top: 0;
   right: 0;
   z-index: inherit;
}

/* Search Section Start */

#search {
   min-height: 50vh;
   justify-content: flex-start;
}

#search-container {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 50px;
}

#search-container .shadow-input {
   border: none;
   padding: 10px 16px;
   background-color: #fff;
   color: #333;
   box-shadow: 0 3px 5px rgba(0, 0, 0, 0.25);
}

#search-container .radio-group {
   display: flex;
}

#search-container input[type="radio"] {
   display: none;
}

#search-container label {
   display: inline-block;
   cursor: pointer;
}

#search-container input[type="radio"]:checked + label {
   background-color: #ec840e;
   color: #fff;
}

#search-container input[type="radio"] + label:hover {
   background-color: #d47100;
}

#search-container .cats-label {
   border-radius: 25px 0 0 25px;
}

#search-container .dogs-label {
   border-radius: 0 25px 25px 0;
}

#search-container .all-label {
   z-index: 99;
}

#search-container .text-input {
   position: relative;
}

#search-container input[type="text"] {
   width: 300px;
   border-radius: 25px;
}

#search-container input[type="text"]:focus {
   outline: none;
}

#search-container button {
   width: 45px;
   height: 45px;
   border: none;
   border-radius: 50%;
   background-color: #ec840e;
   color: #f5f5f5;
   box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.1);
   position: absolute;
   top: -5px;
   right: -5px;
}

#pet-cards {
   margin-top: 75px;
   width: 100%;
   max-width: 1250px;
   display: flex;
   justify-content: space-around;
   flex-wrap: wrap;
   gap: 25px;
}

.pet-card {
   width: 250px;
   height: 300px;
   background-color: #fff;
   border-radius: 30px;
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
   margin-bottom: 25px;
   transition: transform 0.3s ease;
}

.pet-card:hover {
   box-shadow: rgba(50, 50, 93, 0.15) 0px 50px 50px -20px,
      rgba(0, 0, 0, 0.25) 0px 30px 60px -30px;
   transform: scale(1.05) translateY(-15px);
}

.pet-card img {
   width: 250px;
   height: 200px;
   border-radius: 30px 30px 0 0;
}

.pet-card h3 {
   text-align: center;
   font-size: 1.3rem;
   padding: 15px;
   line-height: 30px;
}

.skeleton-card {
   width: 250px;
   height: 300px;
   background-color: #d4dae7;
   border-radius: 30px;
   box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
   margin-bottom: 25px;
   transition: transform 0.3s ease;
}

.skeleton-card .image {
   background-color: #a8acb2;
   width: 250px;
   height: 200px;
   border-radius: 30px 30px 0 0;
   margin-bottom: 10px;
}

.skeleton-card .text {
   background-color: #b7bac0;
   margin-inline: auto;
   width: 80%;
   font-size: 1.3rem;
   padding: 15px;
   line-height: 30px;
}

/* Detail Card Section */

.modal-overlay {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background-color: rgba(0, 0, 0, 0.5);
   display: none;
   justify-content: center;
   align-items: center;
   z-index: 9999;
   transition: 0.5s;
}

#card-container {
   background-color: #fff;
   width: 90%;
   max-width: 1250px;
   height: 85%;
   padding: 20px 25px 35px;
   border-radius: 5px;
   box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

#card-container button {
   background-color: transparent;
   border: none;
   cursor: pointer;
   margin-bottom: 15px;
}

.close-button:hover i {
   color: #ec840e;
}

#card-container button i {
   font-size: 2rem;
   transition: color 0.3s;
}

#card-container #card-detail {
   display: flex;
   justify-content: space-around;
   align-items: center;
   gap: 50px;
   height: 90%;
}

#card-container #card-detail .identify {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   padding-left: 15px;
   width: min(35%, 300px);
}

#card-container #card-detail .identify h3 {
   text-align: center;
}

#card-container #card-detail #image-detail {
   display: flex;
   justify-content: center;
   height: 300px;
   width: 100%;
   border-radius: 15px;
   overflow: hidden;
   margin-bottom: 20px;
}

#card-container #card-detail img {
   height: 300px;
}

#card-container #card-detail .details {
   padding-right: 20px;
   max-height: 100%;
   overflow-y: auto;
   width: 600px;
}

#card-container #card-detail table {
   width: 100%;
   max-height: 100%;
   border-collapse: collapse;
}

#card-container #card-detail table::-webkit-scrollbar {
   width: 10px;
}

#card-container #card-detail table::-webkit-scrollbar {
   width: 6px;
   height: 6px;
}
#card-container #card-detail table::-webkit-scrollbar-track {
   border-radius: 10px;
   background: rgba(0, 0, 0, 0.1);
}
#card-container #card-detail table::-webkit-scrollbar-thumb {
   border-radius: 10px;
   background: rgba(0, 0, 0, 0.2);
}
#card-container #card-detail table::-webkit-scrollbar-thumb:hover {
   background: rgba(0, 0, 0, 0.4);
}

#card-container #card-detail table td {
   padding: 8px;
}

#card-container #card-detail table tr:hover {
   background-color: #f5f5f5;
}

#card-container #card-detail table tr:hover td {
   color: #333;
}

#card-container #card-detail .values {
   display: inline-flex;
   align-items: center;
   gap: 5px;
}

#card-container #card-detail .values i {
   color: #ec840e;
}

#card-container #card-detail table tr td:nth-child(2) {
   text-align: right;
}

/* CONTACT PAGE */

.form-details {
   width: 100%;
   max-width: 1250px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

.form-details h3 {
   margin-bottom: 15px;
}

.form-details form {
   width: 100%;
   max-width: 700px;
   display: flex;
   flex-direction: column;
   gap: 15px;
}

.form-details form input[type="text"],
.form-details form input[type="email"],
.form-details form textarea {
   width: 100%;
   padding: 8px;
   border: 1px solid #515151;
   border-radius: 5px;
}

.form-details form button {
   padding: 10px 20px;
   background-color: rgb(59, 143, 59);
   color: #fff;
   border: none;
   border-radius: 5px;
   cursor: pointer;
}

/* FOOTER */

footer .content {
   display: flex;
   flex-direction: column;
   justify-content: space-evenly;
   align-items: center;
   padding: 25px;
   height: 250px;
   width: 100%;
   background-color: #2b2e33;
   color: #f5f5f5;
   margin-top: 50px;
}

footer .content .logo {
   font-size: 1.6em;
}

footer .content p {
   font-size: 0.9em;
   width: max(50%, 300px);
   text-align: center;
}

footer .content .media {
   display: flex;
   gap: 15px;
}

footer .content .media a {
   text-decoration: none;
   color: #f5f5f5;
}

footer .content .media a:hover {
   color: #979797;
}

footer #copyright-bg {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 50px;
   background-color: #1e2023;
}

footer .copyright {
   width: 100%;
   max-width: 1250px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   color: #f5f5f5;
}

footer .copyright p {
   font-size: 0.85em;
}

footer .copyright li {
   list-style: none;
   display: inline-block;
}

footer .copyright li a {
   color: #f5f5f5;
   text-decoration: none;
   font-size: 0.8rem;
   font-weight: 500;
   margin-left: 40px;
   transition: 0.3s ease;
}

footer .copyright li a:hover {
   color: #979797;
}

/* MEDIA QUERY */

@media (max-width: 768px) {
   body {
      font-size: 14px;
   }

   #navbar {
      display: flex;
      flex-direction: column;
      align-items: center;
      position: fixed;
      top: 0;
      right: -300px;
      height: 100vh;
      width: 300px;
      background-color: aliceblue;
      box-shadow: 0 40px 60px rgba(0, 0, 0, 0.25);
      padding: 60px 0 25px;
      transition: 0.3s ease-out;
   }

   #navbar.active {
      right: 0px;
   }

   nav li {
      padding: 15px 0px;
   }

   nav li a {
      margin-left: 0;
      font-size: 0.9rem;
   }

   #mobile-nav {
      display: inline;
   }

   #close {
      display: initial;
      position: absolute;
      top: 30px;
      left: 30px;
      font-size: 1.4rem;
   }

   #hero {
      height: 95vh;
   }

   #hero img {
      width: 70%;
      position: absolute;
      bottom: 0;
      right: -50px;
   }

   #hero .hero-text {
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      padding: 20px;
   }

   #hero .hero-text h1 {
      width: 80%;
      margin-bottom: 15px;
      font-size: 2.7rem;
      line-height: normal;
   }

   #featured .feature-card {
      width: 100%;
      height: 170px;
      padding: 25px;
      flex-direction: row;
   }

   #featured .feature-card img {
      width: 25%;
      margin-bottom: 20px;
   }

   #featured .feature-card h4 {
      text-align: left;
   }

   #articles .article-content {
      width: 65%;
      padding: 25px;
   }

   #reviews .review-card {
      width: 100%;
      height: 230px;
      padding: 30px;
   }

   #reviews .profile {
      margin-bottom: 20px;
   }

   #search-container {
      flex-direction: column;
      gap: 30px;
   }

   #search {
      padding: 50px 25px;
   }

   .pet-card {
      width: 200px;
      height: 240px;
      margin-bottom: 25px;
   }

   .pet-card img {
      width: 200px;
      height: 160px;
   }

   .pet-card h3 {
      text-align: center;
      font-size: 1rem;
      padding: 15px;
      line-height: 20px;
   }

   .skeleton-card {
      width: 200px;
      height: 240px;
      margin-bottom: 25px;
   }

   .skeleton-card .image {
      width: 200px;
      height: 160px;
   }

   .skeleton-card .text {
      text-align: center;
      font-size: 1rem;
      padding: 15px;
      line-height: 20px;
   }

   #card-container {
      height: 90%;
   }

   #card-container #card-detail {
      flex-direction: column;
      justify-content: flex-start;
      gap: 25px;
   }

   #card-container #card-detail .identify {
      padding-left: 0px;
      width: 100%;
   }

   #card-container #card-detail #image-detail {
      height: 150px;
      width: min(225px, 100%);
   }

   #card-container #card-detail img {
      height: 150px;
   }

   #card-container #card-detail .details {
      width: 100%;
   }

   #form-details form {
      width: 70%;
   }

   /* FOOTER */

   footer .copyright {
      padding: 10px 30px;
   }

   footer .copyright li a {
      font-weight: 400;
      margin-left: 20px;
      font-size: 0.7rem;
   }
}

@media (max-width: 500px) {
   body {
      font-size: 12px;
   }

   #hero {
      height: 80vh;
   }

   #hero .hero-text h1 {
      width: 100%;
      margin-bottom: 10px;
      font-size: 2.4rem;
      z-index: 99;
   }

   #hero .hero-text p {
      font-weight: 500;
      width: 70%;
      margin-bottom: 10px;
      z-index: 99;
   }

   #hero img {
      width: 150%;
      position: absolute;
      bottom: 0;
      right: -300px;
      opacity: 0.9;
   }

   #hero .hero-text button {
      padding: 10px 20px;
   }

   #about p {
      line-height: 25px;
   }

   .cards {
      flex-direction: column;
      gap: 25px;
   }

   #featured .feature-card {
      height: 280px;
      flex-direction: column;
   }

   #featured .feature-card img {
      width: 50%;
      margin-bottom: 10px;
   }

   #featured .feature-card h4 {
      text-align: center;
   }

   #reviews .review-card {
      height: 250px;
   }

   #search-container {
      width: 90%;
   }

   #search-container .text-input {
      width: 100%;
   }

   #search-container input[type="text"] {
      width: 100%;
   }

   .pet-card {
      width: 300px;
      height: 310px;
      margin-bottom: 25px;
   }

   .pet-card img {
      width: 100%;
      height: 240px;
   }

   .skeleton-card {
      width: 300px;
      height: 310px;
      margin-bottom: 25px;
   }

   .skeleton-card .image {
      width: 100%;
      height: 240px;
   }

   #form-details form {
      width: 100%;
   }

   /* FOOTER */

   footer .copyright {
      padding: 10px 20px;
   }

   footer .copyright li a {
      margin-left: 10px;
      font-size: 0.6rem;
   }
}
