/* ----------------- */
/* MOBILE-FIRST BASE */
/* ----------------- */
body {
  margin: 0;
  padding: 20px 20px;
  font-family: Arial, sans-serif;
  background: #fff;
}

.navbar {
  position: fixed;     /* fix the navbar to top */
  top: 0;              /* stick to top */
  left: 0;
  width: 100%;         /* full width */
  height: 60px;        /* adjust to your liking */

  box-sizing: border-box;   /* include border in height */
  display: flex;            /* align logo inside */
  align-items: center;      /* vertically center logo */
  padding-left: 40px;       /* keep logo spacing as before */
  background: #fff;    /* add background so content behind doesn't show */
  z-index: 100;        /* ensure navbar is above other content */
}

.logo {
  position: fixed;
  top: 10px;
  left: 40px;
  width: 180px;
  z-index: 100;
}

.main-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 90px auto 0 auto; /* top 90px, left/right auto */
  max-width: 1000px;          /* smaller width to create space on page edges */
  margin-top: 90px;
}

/* IMAGE CONTROL */
.images-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.image-wrapper img {
  width: 100%;
  max-height: 500px;   /* LIMIT IMAGE SIZE */
  object-fit: cover;
  border-radius: 8px;
}

/* PRODUCT INFO */
.product-info {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: flex-start;

  position: sticky;
  top: 120px;
  align-self: flex-start;
}

.product-name,
.price {
  font-size: 1.8rem;
   margin: 0;
}

.size-options {
  display: flex;
  gap: 15px;
}

.size-options input[type="radio"] {
  display: none;
}

.size-options label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 45px;
  height: 45px;
  border: 2px solid #000;
  cursor: pointer;
  font-weight: bold;
  border-radius: 6px;
}
.size-options label:hover {
  border-color: orange; /* highlight border on hover */
}

.size-options input[type="radio"]:checked + label {
  background-color: black; /* keeps background black when selected */
  color: white;            /* text remains white */
  border-color: orange;    /* border shows brand orange */
}

.fixed-button {
  background: red;
  color: white;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 15px 25px;
  border: none;
  border-radius: 12px;
  cursor: pointer;
}

.fixed-button:hover {
  background: black;
}

.mobile-product-info {
  display: flex;             /* make it a flex container */
  flex-direction: column;    /* stack items vertically */
  align-items: center;       /* center horizontally */
  justify-content: center;   /* center vertically */
  min-height: 250px;         /* gives vertical space to center in */
  text-align: center;        /* center text inside */
  gap: 15px;                 /* spacing between items */
}

.product-info {
  display: none;
}

/* ----------------- */
/* DESKTOP */
/* ----------------- */
@media (min-width: 769px) {

  .main-container {
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
    justify-content: center; /* center both columns together */
  }

  /* CONTROL WIDTHS (KEY FIX) */
  .images-column {
    flex: 1;
  }

  .product-info {
    flex: 1;
    display: flex; /* ADD THIS */
    align-items: center;   /* CENTER CHILD ELEMENTS HORIZONTALLY */
  }
  /* CENTER THE SIZE OPTIONS */
  .product-info .size-options {
    justify-content: center;  /* CENTER SIZE BUTTONS */
  }

  .product-info .fixed-button {
    width: 100%;           /* stretch button across the right column */
    max-width: 300px;
    box-sizing: border-box; /* keep padding inside */
  }
  .mobile-product-info {
    display: none; /* ADD THIS */
  }

  .product-name,
  .price {
    font-size: 2.5rem;
  }
}

.popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
}
/* ADD EVERYTHING BELOW THIS */
.popup-box {
  background: #fff;
  padding: 30px 25px;
  border-radius: 12px;
  width: 90%;
  max-width: 400px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

.popup-logo {
  width: 120px;
}

.close-popup {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 20px;
  cursor: pointer;
  font-weight: bold;
}

.order-form {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.order-form input {
  padding: 12px;
  border: 2px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
}

.order-form input:focus {
  border-color: black;
}

.input-error {
  border-color: red !important;
}

.error-message {
  font-size: 0.85rem;
  color: red;
  display: none;
}

.order-button {
  background: red;
  color: white;
  padding: 14px;
  font-size: 1.1rem;
  border: none;
  border-radius: 10px;
  cursor: pointer;
}

.order-button:hover {
  background: black;
}

@keyframes shake-horizontal {
  0% { transform: translateX(0); }
  20% { transform: translateX(-6px); }
  40% { transform: translateX(6px); }
  60% { transform: translateX(-6px); }
  80% { transform: translateX(6px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake-horizontal 0.6s ease infinite;
}

.bottom-banner {
  width: 100%;
  height: 360px;
  box-sizing: border-box;
  margin-top: 40px;
  font-size: 20px;

  display: flex;
  justify-content: center;   /* center the group */
  align-items: center;       /* vertical centering */
  gap: 80px;                 /* small space between columns */
  padding: 30px;

  background: black; /* added */
  color: white;      /* added */
}

.bottom-left,
.bottom-right,
.bottom-social {
  width: auto;              /* shrink to content */
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.bottom-left strong,
.bottom-right strong,
.bottom-social strong
 {
  text-decoration: underline;
  margin-bottom: 5px; /* small clean space under titles */
  color: orange; /* ADD THIS */
}
.footer-links {
  display: flex;
  flex-direction: column;
  gap: 20px; /* increase space between the 3 lines */
}

@media (max-width: 768px) {

  .bottom-banner {
    flex-direction: column;   /* stack vertically */
    height: auto;             /* remove fixed height */
    gap: 30px;                /* reduce big spacing */
    padding: 25px 15px;       /* better spacing for small screens */
    text-align: center;       /* center all text */
  }

  .bottom-left,
  .bottom-right {
    align-items: center;      /* center content inside each block */
  }

  .footer-links {
    gap: 10px;                /* tighter spacing between links */
  }

}

.social-icons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.social-icons a {
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

.social-icons a:hover {
  color: orange;
}

.social-title {
  margin-top: 10px;
  font-weight: bold;
  color: orange;
}

.social-icons a i {
  color: inherit;
}

.social-icons a i.fa-facebook-f {
  color: #1877F2;
}

.social-icons a i.fa-instagram {
  color: #E4405F;
}