/* Custom Theme: White background with black text */

/* Body and main content - white background, black text */
body {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* Main content areas */
.site-wrap,
.site-container,
.site-content,
main {
  background-color: #ffffff !important;
  color: #000000 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Header - transparent gradient background, black text */
.site-header,
.js-site-header {
  background: linear-gradient(to top, rgba(255, 255, 255, 0.00), rgba(153, 153, 153, 0.90)) !important;
  color: #000000 !important;
  z-index: 9999 !important;
  height: 40px !important;
}

.header-placeholder {
  height: 40px !important;
}

.logo-image img {
  max-height: 40px !important;
}

/* Header navigation links */
.site-header a,
.site-header .logo a,
.site-header .nav-container a,
.site-header .gallery-title a,
.site-header .page-title a {
  color: #000000 !important;
}

/* Header social icons */
.site-header .social svg path,
.site-header .social svg {
  fill: #000000 !important;
}

/* Responsive navigation (mobile menu) - white background, black text */
.responsive-nav {
  background-color: #ffffff !important;
  color: #000000 !important;
}

.responsive-nav a {
  color: #000000 !important;
}

.responsive-nav .social svg path,
.responsive-nav .social svg {
  fill: #000000 !important;
}

/* Hamburger menu icon - black */
.hamburger i {
  background-color: #000000 !important;
}

/* Close button in responsive menu */
.close-responsive-button::before,
.close-responsive-button::after {
  background-color: #000000 !important;
}

/* Project covers and cards */
.project-cover,
.project-covers {
  background-color: #ffffff !important;
}

.project-cover .title,
.project-cover .date,
.project-cover .details {
  color: #000000 !important;
}

.project-cover .title {
  padding-bottom: 4px !important;
}

.project-cover .date {
  margin-top: 0 !important;
  padding-top: 0px !important;
}

/* Page titles and headings */
h1, h2, h3, h4, h5, h6,
.title,
.page-title,
.gallery-title {
  color: #000000 !important;
}

/* Links */
a {
  color: #000000 !important;
}

/* Masthead text */
.masthead-text {
  color: #000000 !important;
}

.masthead-text h1,
.masthead-text h2 {
  color: #000000 !important;
}

/* Frosted Glass Tags - macOS style */
.glass-tag {
  position: absolute;
  z-index: 1;
  padding: 0px 16px;
  height: 32px;
  display: flex;
  align-items: center;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: none;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.3px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
  cursor: default;
}

.image-container-with-tags {
  position: relative;
  display: inline-block;
  width: 100%;
}

.glass-tag.tag-1 {
  top: 20px;
  right: 20px;
}

.glass-tag.tag-2 {
  top: 88px;
  right: 20px;
}

/* Glass tags for project covers */
.project-cover .cover-image-wrap {
  position: relative;
}

.project-cover .glass-tag {
  position: absolute;
  z-index: 1;
  padding: 0px 15.6px;
  height: 41.6px;
  display: flex;
  align-items: center;
  border-radius: 20.8px;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: none;
  color: #ffffff;
  font-size: 14.3px;
  font-weight: 500;
  letter-spacing: 0.3px;
  box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.15);
  cursor: default;
}

.project-cover .glass-tag.tag-1 {
  top: 15px;
  right: 15px;
}

.project-cover .glass-tag.tag-2 {
  top: 63px;
  right: 15px;
}

/* Page content */
.page-content,
.page-container {
  background-color: #ffffff !important;
  color: #000000 !important;
}

/* Back to top button */
.back-to-top,
.back-to-top-fixed {
  color: #000000 !important;
}

.back-to-top,
.back-to-top-fixed {
  display: none !important;
}

.back-to-top svg,
.back-to-top-fixed svg {
  fill: #000000 !important;
}

/* Footer - KEEP BLACK with WHITE text - Full Width Design */
.site-footer-fullwidth {
  background-color: #000000 !important;
  color: #ffffff !important;
  width: 100vw !important;
  min-height: calc(100vh - 52px) !important;
  margin-left: calc(-50vw + 50%) !important;
  padding: 80px 36px 32px 36px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

.footer-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: calc(100vh - 52px - 112px);
}


.footer-title {
  font-size: 24px !important;
  font-weight: 400 !important;
  margin-bottom: 60px !important;
  color: #ffffff !important;
}

.footer-title p {
  margin: 0 0 16px !important;
}

.footer-title p:last-child {
  margin-bottom: 0 !important;
}

.footer-columns {
  display: flex;
  gap: 120px;
  margin-bottom: 80px;
}

.footer-column {
  flex: 0 0 auto;
}

.footer-column-title {
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  margin-bottom: 20px !important;
  color: #ffffff !important;
  opacity: 0.7;
}

.footer-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.footer-links li {
  margin-bottom: 12px !important;
}

.footer-links a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 1rem !important;
  transition: opacity 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-links a:hover {
  opacity: 0.7;
}

.footer-links a .arrow-icon {
  width: 16px;
  height: 16px;
  filter: invert(1) brightness(100%);
  opacity: 0.7;
}

.footer-email {
  font-size: 1rem !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.footer-credits {
  display: flex;
  gap: 40px;
  font-size: 0.85rem !important;
  opacity: 0.5;
}

.footer-credits--bottom {
  margin-top: auto;

}

.footer-credits p {
  margin: 0 !important;
  color: #ffffff !important;
}

/* Old footer styles for backwards compatibility */
.site-footer {
  background-color: #000000 !important;
  color: #ffffff !important;
}

.site-footer a {
  color: #ffffff !important;
}

.site-footer .social svg path,
.site-footer .social svg {
  fill: #ffffff !important;
}

.site-footer .footer-text {
  color: #ffffff !important;
}

/* Responsive footer */
@media (max-width: 768px) {
  .site-footer-fullwidth {
    padding: 60px 30px 30px 30px !important;
  }

  .footer-title {
    font-size: 2rem !important;
    margin-bottom: 40px !important;
  }

  .footer-columns {
    flex-direction: column;
    gap: 40px;
    margin-bottom: 60px;
  }

  .footer-credits {
    flex-direction: column;
    gap: 10px;
  }
}

/* Logo text */
.logo-text a {
  color: #000000 !important;
}

/* Active page indicator */
.page-title a.active {
  color: #000000 !important;
  text-decoration: underline;
}

/* Header placeholder should be transparent */
.header-placeholder {
  background-color: transparent !important;
}

/* Hero section */
.hero-section {
  padding: 0 0 40px;
  background-color: #ffffff !important;
}

.hero-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 0 32px;
}

.hero-image {
  width: calc(100% + 64px);
  margin-left: -32px;
  margin-right: -32px;
}

.hero-text {
  width: 100%;
  display: grid;
  grid-template-columns: 45% 1fr 1fr;
  column-gap: 48px;
  align-items: start;
}

.hero-text-col {
  padding: 0;
}

.hero-text-col:first-child {
  padding-left: 0;
}

.hero-text-col:last-child {
  padding-right: 0;
}

.hero-line-1 {
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.3;
  margin: 0 0 8px 0 !important;
  color: #000000 !important;
}

.hero-line-2 {
  font-size: 0.875rem !important;
  line-height: 1.6;
  color: #000000 !important;
  opacity: 0.8;
  margin: 0 !important;
}

.hero-col-title {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  margin: 0 0 8px 0 !important;
  color: #000000 !important;
}

.hero-col-body {
  font-size: 0.8rem !important;
  line-height: 1.6;
  color: #000000 !important;
  opacity: 0.7;
  margin: 0 !important;
}

.hero-image {
  width: 100%;
}

.hero-image img,
.hero-image video {
  width: 100%;
  height: auto;
  display: block;
}

/* Responsive hero section */
@media (max-width: 768px) {
  .hero-section {
    padding: 0 0 40px;
  }

  .hero-content {
    gap: 24px;
    padding: 0 16px;
    align-items: flex-start;
  }

  .hero-image {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-right: -16px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
  }

  .hero-image video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
  }

  .hero-text {
    grid-template-columns: 1fr;
    width: 100%;
    align-self: flex-start;
  }

  .hero-text-col:not(:first-child) {
    display: block;
    margin-top: 32px;
  }

  .hero-line-1 {
    font-size: 0.9rem !important;
  }
}

/* Project covers spacing */
.project-covers {
  padding-left: 32px !important;
  padding-right: 32px !important;
  padding-bottom: 64px !important;
}

.related-projects .project-covers {
  padding-top: 32px !important;
}

.project-cover {
  width: calc(50% - 8px) !important;
  margin-right: 16px !important;
  margin-bottom: 16px !important;
}

.project-cover:nth-child(2n) {
  margin-right: 0 !important;
}

.project-cover .cover-content-container {
  margin: 0 !important;
}

/* Square aspect ratio for project covers */
.project-cover.hold-space .cover-image:before {
  padding-bottom: 100% !important;
}

.project-cover .cover-image-wrap {
  aspect-ratio: 1 / 1 !important;
}

.project-cover .cover-image,
.project-cover .cover {
  aspect-ratio: 1 / 1 !important;
}

.project-cover .cover__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 768px) {
  .project-covers {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .site-footer-fullwidth {
    padding-left: 16px !important;
    padding-right: 16px !important;
    min-height: calc(100vh - 42px) !important;
  }

  .project-cover {
    width: 100% !important;
    margin-right: 0 !important;
  }
}

