/* Additional styles for section dividers */
.inspiration-section .section-divider,
.press-section .section-divider,
.contact-form-section .section-divider {
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* Additional padding utility classes */
.pb-6 {
  padding-bottom: 4rem !important;
}

.pt-6 {
  padding-top: 4rem !important;
}

/* Press item styling */
.press-item-link {
  display: block;
  transition: transform 0.3s ease;
}

.press-item-link:hover img {
  opacity: 0.9;
  transform: scale(1.02);
}

/* Inspiration carousel navigation */
.inspiration-nav-buttons {
  display: flex;
  align-items: center;
  height: 36px;
}

/* Flickity button styles */
.inspiration-nav-buttons .flickity-button {
  background: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  position: static; /* Override Flickity's absolute positioning */
  transform: none;  /* Override Flickity's transform */
  margin-left: 8px;
  color: #1D1C1C;
}

.inspiration-nav-buttons .flickity-button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.inspiration-nav-buttons .flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

/* Hide default SVG and use our custom SVGs */
.inspiration-nav-buttons .flickity-button-icon {
  display: none;
}

.inspiration-nav-buttons .flickity-prev-next-button.previous::before {
  content: '';
  background-image: url('../images/ArrowLeft.svg');
  background-repeat: no-repeat;
  background-position: center;
  width: 26px;
  height: 26px;
  display: block;
}

.inspiration-nav-buttons .flickity-prev-next-button.next::before {
  content: '';
  background-image: url('../images/ArrowRight.svg');
  background-repeat: no-repeat;
  background-position: center;
  width: 26px;
  height: 26px;
  display: block;
}

/* Inspiration carousel styling */
.inspiration-carousel {
  margin-top: 2rem;
}

/* Hide default Flickity buttons inside the carousel */
.inspiration-carousel .flickity-prev-next-button {
  display: none;
}

.inspiration-carousel .carousel-cell {
  width: 33%;
  height: auto;
  margin-right: 20px;
}

.inspiration-carousel .carousel-cell img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  object-fit: cover;
}

.inspiration-carousel .carousel-cell:hover img {
  transform: scale(1.02);
}

@media (max-width: 991px) {
  .inspiration-carousel .carousel-cell {
    width: 45%;
  }
}

@media (max-width: 767px) {
  .inspiration-carousel .carousel-cell {
    width: 80%;
  }
}

/* Gallery main carousel styles */
.gallery-main {
  height: 70vh; /* Fixed height for main carousel */
  overflow: hidden;
  margin-bottom: 0;
}

.gallery-main .carousel-cell {
  width: 100%; /* Full width to ensure single item display */
  height: 100%; /* Full height of container */
  display: flex;
  align-items: flex-start; /* Align to top */
  justify-content: flex-start; /* Left align */
  margin-right: 0;
}

.gallery-main .carousel-cell img {
  height: 100% !important; /* Full height */
  width: auto !important; /* Auto width to maintain aspect ratio */
  max-width: none !important; /* Remove max-width constraint */
  object-fit: contain; /* Show complete image without cropping */
  object-position: left top; /* Left-align the image */
}

/* Hide default Flickity buttons in main gallery */
.gallery-main .flickity-prev-next-button {
  display: none;
}

/* Gallery navigation buttons below carousel */
.gallery-nav-buttons {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding-left: 0;
}

.gallery-nav-buttons .flickity-button {
  background: none;
  border: none; /* Remove border */
  border-radius: 50%;
  width: 36px;
  height: 36px;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  position: static;
  transform: none;
  color: #1D1C1C;
}

.gallery-nav-buttons .flickity-button:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.gallery-nav-buttons .flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

/* Hide default SVG and use custom SVGs */
.gallery-nav-buttons .flickity-button-icon {
  display: none;
}

.gallery-nav-buttons .flickity-prev-next-button.previous::before {
  content: '';
  background-image: url('../images/ArrowLeft.svg');
  background-repeat: no-repeat;
  background-position: center;
  width: 26px;
  height: 26px;
  display: block;
}

.gallery-nav-buttons .flickity-prev-next-button.next::before {
  content: '';
  background-image: url('../images/ArrowRight.svg');
  background-repeat: no-repeat;
  background-position: center;
  width: 26px;
  height: 26px;
  display: block;
}

/* Gallery thumbnail navigation styles */
.gallery-nav {
  margin-top: 2rem;
}

.gallery-nav .carousel-cell {
  margin-right: 1rem;
}

.gallery-nav .carousel-cell img {
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.gallery-nav .carousel-cell img:hover {
  opacity: 0.8;
}

.gallery-nav .carousel-cell.is-nav-selected img {
  opacity: 0.6;
}

/* Single work page navigation and CTA styling */
.project-navigation a.text-decoration-none {
  transition: color 0.2s ease;
  font-weight: 500;
}

.project-navigation a.text-decoration-none:hover {
  color: #6c757d !important;
}

/* CTA section enhanced spacing */
.cta-section.py-6 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.cta-section h2 {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.cta-section p {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .cta-section.py-6 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
  }
  
  .cta-section h2 {
    font-size: 3rem;
  }
}
