/* === 1962 COLLECTIVE  EDITORIAL AESTHETIC === */

/* --- Color Variables --- */
:root {
	  --cream: #F5F0E8;
	  --navy: #1B2A4A;
	  --orange: #E8732A;
	  --light-gray: #E8E4DC;
	  --dark-cream: #EDE8DF;
}

/* --- Global Body --- */
body {
	  background-color: var(--cream) !important;
	  color: var(--navy) !important;
}

/* --- Navigation Styling --- */
.wp-block-navigation a {
	  color: var(--navy) !important;
	  text-decoration: none !important;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	  font-size: 0.9rem !important;
	  letter-spacing: 0.12em !important;
	  text-transform: uppercase !important;
	  font-weight: 500 !important;
	  transition: color 0.3s ease !important;
}

.wp-block-navigation a:hover {
	  color: var(--orange) !important;
}

/* --- Headings  Serif Editorial --- */
h1:not(.has-text-color), h2:not(.has-text-color), h3:not(.has-text-color),
h4:not(.has-text-color), h5:not(.has-text-color), h6:not(.has-text-color),
.wp-block-heading:not(.has-text-color) {
	  color: var(--navy) !important;
	  letter-spacing: 0.02em;
}

/* --- Body Text --- */
p, li, td, th, label, span,
.wp-block-paragraph {
	  color: var(--navy);
	  line-height: 1.7;
}

/* --- Links --- */
a {
	  color: var(--navy);
	  transition: color 0.3s ease;
}

a:hover {
	  color: var(--orange) !important;
}

/* --- Buttons --- */
.wp-block-button__link,
.wp-element-button,
button[type="submit"],
input[type="submit"],
.wpforms-submit {
	  background-color: var(--navy) !important;
	  color: var(--cream) !important;
	  border: none !important;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	  font-size: 0.8rem !important;
	  letter-spacing: 0.15em !important;
	  text-transform: uppercase !important;
	  padding: 14px 36px !important;
	  transition: background-color 0.3s ease !important;
	  border-radius: 0 !important;
	  font-weight: 500 !important;
}

.wp-block-button__link:hover,
.wp-element-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wpforms-submit:hover {
	  background-color: var(--orange) !important;
	  color: var(--cream) !important;
}

/* --- Separator / Divider --- */
.wp-block-separator,
hr {
	  border-color: var(--orange) !important;
	  border-top-width: 2px !important;
	  opacity: 1 !important;
}

/* --- Footer Area --- */
.wp-block-template-part footer,
footer.wp-block-template-part,
.site-footer,
footer {
	  background-color: var(--light-gray) !important;
}

footer h2, footer h3, footer h4,
footer p, footer a, footer span {
	  color: var(--navy) !important;
}

footer a:hover {
	  color: var(--orange) !important;
}

/* --- Form Styling --- */
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="url"],
.wpforms-container textarea,
.wpforms-container select {
	  border: 1px solid var(--light-gray) !important;
	  background-color: #fff !important;
	  color: var(--navy) !important;
	  padding: 12px 16px !important;
	  font-size: 0.95rem !important;
	  border-radius: 0 !important;
	  transition: border-color 0.3s ease !important;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus {
	  border-color: var(--orange) !important;
	  outline: none !important;
	  box-shadow: none !important;
}

.wpforms-container .wpforms-field-label {
	  color: var(--navy) !important;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	  font-size: 0.8rem !important;
	  letter-spacing: 0.1em !important;
	  text-transform: uppercase !important;
	  font-weight: 600 !important;
	  margin-bottom: 6px !important;
}

.wpforms-container .wpforms-field-sublabel,
.wpforms-container .wpforms-field-description {
	  color: #8A8578 !important;
	  font-size: 0.8rem !important;
	  font-style: italic !important;
}

/* --- Gallery Grid --- */
.photo-gallery-grid {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: 4px;
}

.photo-gallery-grid img {
	  width: 100%;
	  height: 300px;
	  object-fit: cover;
	  transition: opacity 0.3s ease;
	  cursor: pointer;
}

.photo-gallery-grid img:hover {
	  opacity: 0.85;
}

/* --- Recent Work Grid (Homepage) --- */
.recent-work-grid {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: 4px;
	  margin: 40px auto;
	  max-width: 1200px;
}

.recent-work-grid .wp-block-image {
	  margin: 0 !important;
	  overflow: hidden;
}

.recent-work-grid .wp-block-image img {
	  width: 100%;
	  height: 280px;
	  object-fit: cover;
	  transition: transform 0.4s ease, opacity 0.3s ease;
}

.recent-work-grid .wp-block-image img:hover {
	  transform: scale(1.03);
	  opacity: 0.9;
}

/* --- Section Spacing --- */
.wp-block-group {
	  padding-top: 0;
	  padding-bottom: 0;
}

/* --- "Recent Work" heading style --- */
.section-heading {
	  text-align: center;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	  font-size: 0.75rem !important;
	  letter-spacing: 0.25em !important;
	  text-transform: uppercase !important;
	  color: var(--orange) !important;
	  font-weight: 600 !important;
	  margin-bottom: 10px !important;
}

/* --- About Page Layout --- */
.about-layout {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  gap: 60px;
	  align-items: start;
	  max-width: 1100px;
	  margin: 0 auto;
	  padding: 60px 40px;
}

.about-layout .about-text p {
	  font-size: 1.05rem;
	  line-height: 1.8;
	  margin-bottom: 1.2em;
}

.about-layout .about-photo img {
	  width: 100%;
	  height: auto;
}

/* --- Page Headers --- */
.page-header-title {
	  font-size: 0.75rem !important;
	  letter-spacing: 0.25em !important;
	  text-transform: uppercase !important;
	  color: var(--orange) !important;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
	  font-weight: 600 !important;
	  text-align: center !important;
	  padding-top: 40px !important;
	  margin-bottom: 0 !important;
}

/* --- Lightbox Overlay --- */
.photo-lightbox {
	  position: fixed;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: rgba(27, 42, 74, 0.95);
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  flex-direction: column;
	  z-index: 9999;
	  cursor: pointer;
}

.photo-lightbox img {
	  max-width: 85%;
	  max-height: 80vh;
	  object-fit: contain;
}

.photo-lightbox .caption {
	  color: var(--cream);
	  font-size: 0.85rem;
	  margin-top: 16px;
	  text-align: center;
	  font-style: italic;
	  letter-spacing: 0.02em;
}

.photo-lightbox .credit {
	  color: var(--orange);
	  font-size: 0.7rem;
	  letter-spacing: 0.1em;
	  text-transform: uppercase;
	  margin-top: 6px;
}

/* --- Filter Buttons (Gallery) --- */
.gallery-filters {
	  text-align: center;
	  padding: 20px 0 30px;
}

.gallery-filters button,
.gallery-filters a {
	  background: transparent;
	  border: 1px solid var(--navy);
	  color: var(--navy);
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	  font-size: 0.7rem;
	  letter-spacing: 0.12em;
	  text-transform: uppercase;
	  padding: 8px 20px;
	  margin: 0 4px 8px;
	  cursor: pointer;
	  transition: all 0.3s ease;
	  text-decoration: none;
	  display: inline-block;
}

.gallery-filters button:hover,
.gallery-filters a:hover,
.gallery-filters button.active,
.gallery-filters a.active {
	  background-color: var(--navy);
	  color: var(--cream);
}

/* --- Community Submission Label --- */
.community-badge {
	  display: inline-block;
	  background-color: var(--orange);
	  color: var(--cream);
	  font-size: 0.6rem;
	  letter-spacing: 0.1em;
	  text-transform: uppercase;
	  padding: 3px 10px;
	  font-weight: 600;
	  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	  .photo-gallery-grid,
	.recent-work-grid {
		    grid-template-columns: repeat(2, 1fr);
	}
	  
	.about-layout {
		    grid-template-columns: 1fr;
		    gap: 30px;
		    padding: 30px 20px;
	}
	  
	.wp-block-navigation a {
		    font-size: 0.8rem !important;
	}
}

@media (max-width: 480px) {
	  .photo-gallery-grid,
	.recent-work-grid {
		    grid-template-columns: 1fr;
	}
}

/* --- Hero Section Polish --- */
.wp-block-cover {
	  min-height: 85vh !important;
}

.wp-block-cover .wp-block-cover__inner-container {
	  text-align: center;
}

/* --- Subtle Image Border Accent --- */
.wp-block-image.has-border img {
	  border: 2px solid var(--orange);
}

/* --- Scroll hint animation --- */
@keyframes scrollHint {
	0%, 100% { transform: translateY(0); opacity: 0.6; }
	50% { transform: translateY(8px); opacity: 1; }
}

/* --- Selection Color --- */
::selection {
	  background-color: var(--orange);
	  color: var(--cream);
}

/* --- Header/Nav Container --- */
header .wp-block-group,
.wp-block-template-part[slug="header"] {
	  padding: 20px 40px !important;
}
}
}
}
}
}
}
	}
}
	}
	}
	}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}

/* --- Gallery: full-width centering fix --- */
.foogallery-container {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}