/*
Theme Name: Aetna Geothermal
Theme URI: https://www.aetnageo.com/
Author: Aetna Geothermal
Description: Native WordPress theme for Aetna Geothermal with editable Gutenberg pages, Media Library images, menus, logo/header controls, and a built-in contact form. No plugins required.
Version: 2.0.0
Text Domain: aetna-geothermal
*/

:root {
  --aetna-orange: #e8711c;
  --aetna-bg: #000;
  --aetna-panel: #050505;
  --aetna-text: #fff;
  --aetna-muted: #c6c6c6;
  --aetna-line: #303030;
  --aetna-content: 1100px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--aetna-bg);
  color: var(--aetna-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
a:hover { color: var(--aetna-orange); }

.site-header {
  min-height: 280px;
  background-position: center;
  background-size: cover;
  display: grid;
  place-items: center;
  padding: 28px 20px;
}
.site-branding-panel {
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(4px);
  padding: 18px 28px;
}
.site-branding {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #555;
  text-decoration: none;
}
.site-logo .custom-logo,
.site-logo-fallback { width: 76px; height: auto; }
.site-logo .custom-logo-link { display: block; }
.site-title {
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 700;
  letter-spacing: -1.5px;
  line-height: 1;
  white-space: nowrap;
}
.site-title span { color: var(--aetna-orange); }

.site-shell {
  width: min(var(--aetna-content), calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 54px;
  padding: 48px 0 70px;
}
.site-main { min-width: 0; grid-column: 1; }
.site-sidebar { grid-column: 2; grid-row: 1; }
.primary-navigation { position: sticky; top: 22px; }
.aetna-menu { list-style: none; margin: 0; padding: 0; }
.aetna-menu li { margin: 0; }
.aetna-menu a {
  display: block;
  padding: 7px 12px;
  border-bottom: 1px solid #444;
  background: #000;
  color: #d0d0d0;
  text-decoration: none;
  line-height: 1.25;
}
.aetna-menu a:hover,
.aetna-menu .current-menu-item > a,
.aetna-menu .current_page_item > a {
  background: #fff;
  color: #000;
}

.aetna-page { width: 100%; }
.aetna-title-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 34px;
}
.entry-title,
.aetna-title-row h1 { margin: 0; font-size: 2rem; line-height: 1.2; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content p { color: var(--aetna-muted); }
.entry-content h2,
.entry-content h3 { color: #fff; }
.entry-content h2 { margin-top: 38px; margin-bottom: 15px; font-size: 1.6rem; }
.entry-content h3 { margin-top: 24px; margin-bottom: 7px; font-size: 1.05rem; }
.entry-content ul { color: var(--aetna-muted); padding-left: 1.2em; }
.entry-content .wp-block-image { margin: 0; }
.entry-content .wp-block-image img { width: 100%; }
.aetna-lead { font-size: 1.05rem; }
.aetna-small, .aetna-caption { font-size: .82rem; }
.aetna-accent-text, .aetna-role { color: var(--aetna-orange) !important; }

.aetna-rings {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 3px solid var(--aetna-orange);
  border-radius: 50%;
  position: relative;
  display: inline-block;
}
.aetna-rings::before,
.aetna-rings::after {
  content: "";
  position: absolute;
  border: 3px solid var(--aetna-orange);
  border-radius: 50%;
  inset: 8px;
}
.aetna-rings::after { inset: 16px; }
.aetna-rings-large { width: 68px; height: 68px; flex-basis: 68px; }
.aetna-rings-large::before { inset: 13px; }
.aetna-rings-large::after { inset: 27px; background: var(--aetna-orange); }

.aetna-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
  margin: 0 0 72px;
}
.aetna-feature { text-align: center; display: flex; flex-direction: column; align-items: center; }
.aetna-feature h2 { margin: 16px 0 14px; font-size: 1.8rem; font-weight: 400; }
.aetna-feature p { max-width: 230px; margin-left: auto; margin-right: auto; }
.aetna-feature .wp-block-buttons { justify-content: center; }

.aetna-bordered-section {
  border: 1px solid #aaa;
  background: #000;
  margin: 0 0 72px;
}
.aetna-why { padding: 30px; align-items: center !important; }
.aetna-why h2 { margin-top: 0; }
.aetna-home-section { padding: 0; overflow: hidden; }
.aetna-wide-image img { width: 100%; max-height: 500px; object-fit: cover; }
.aetna-section-body { padding: 34px 44px 42px; text-align: center; }
.aetna-section-body h2 { margin-top: 0; font-size: 2rem; font-weight: 400; }
.aetna-section-body .wp-block-buttons { justify-content: center; }

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button__link {
  border: 1px solid var(--aetna-orange);
  border-radius: 0;
  color: #fff;
  background: transparent;
  padding: 10px 20px;
  text-decoration: none;
}
.wp-block-button__link:hover { background: var(--aetna-orange); color: #000; }

.aetna-service-row {
  margin: 0 !important;
  min-height: 360px;
  align-items: stretch !important;
  border-bottom: 1px solid #191919;
}
.aetna-service-row .wp-block-column { display: flex; flex-direction: column; justify-content: center; margin: 0; }
.aetna-service-row .wp-block-column:not(:has(.aetna-service-image)) { padding: 34px 38px; }
.aetna-service-image,
.aetna-service-image img { height: 100%; min-height: 360px; }
.aetna-service-image img { object-fit: cover; }
.aetna-service-row h2 { margin-top: 0; }

.aetna-project-gallery {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin-top: 20px;
}
.aetna-project-gallery .wp-block-image img { height: 230px; object-fit: cover; }

.aetna-partner-grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-top: 34px;
}
.aetna-partner-card {
  border: 1px solid var(--aetna-line);
  background: var(--aetna-panel);
  padding: 18px;
}
.aetna-partner-card h2 { font-size: 1.12rem; margin: 12px 0 6px; }
.aetna-partner-card p { margin: 8px 0; font-size: .9rem; }
.aetna-partner-logo {
  height: 120px;
  background: #fff;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aetna-partner-logo img { width: auto !important; max-width: 100%; max-height: 96px; object-fit: contain; margin: auto; }

.aetna-team-card,
.aetna-contact-details,
.aetna-contact-box {
  border: 1px solid var(--aetna-line);
  background: var(--aetna-panel);
  padding: 28px;
  margin-bottom: 28px;
}
.aetna-team-card h2 { margin-top: 0; color: var(--aetna-orange); }
.aetna-team-photo img { max-height: 360px; object-fit: cover; }

.aetna-contact-details h3 { margin-top: 22px; }
.aetna-contact-details h3:first-child { margin-top: 0; }
.aetna-contact-box h2 { margin-top: 0; }
.aetna-contact-form p { margin: 0 0 18px; }
.aetna-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.aetna-contact-form label { display: block; color: #bbb; font-size: .9rem; }
.aetna-contact-form input,
.aetna-contact-form textarea {
  width: 100%;
  display: block;
  margin-top: 6px;
  padding: 12px;
  color: #fff;
  background: #111;
  border: 1px solid #666;
  font: inherit;
}
.aetna-contact-form input:focus,
.aetna-contact-form textarea:focus { outline: 1px solid var(--aetna-orange); border-color: var(--aetna-orange); }
.aetna-contact-form button {
  border: 0;
  background: var(--aetna-orange);
  color: #fff;
  padding: 12px 22px;
  font: inherit;
  cursor: pointer;
}
.aetna-contact-form button:hover { filter: brightness(.9); }
.aetna-form-honeypot { position: absolute !important; left: -10000px !important; }
.aetna-form-message { padding: 12px 14px; margin-bottom: 18px; border: 1px solid #666; }
.aetna-form-success { border-color: #6c9; }
.aetna-form-error { border-color: #d77; }

.site-footer {
  margin-top: 72px;
  padding-top: 24px;
  border-top: 1px solid #444;
  text-align: center;
  color: #888;
  font-size: .85rem;
}
.site-footer p { margin: 6px 0; }
.site-footer a { color: #aaa; }

@media (max-width: 850px) {
  .site-shell { grid-template-columns: 1fr; gap: 24px; padding-top: 26px; }
  .site-main, .site-sidebar { grid-column: 1; }
  .site-sidebar { grid-row: 1; }
  .site-main { grid-row: 2; }
  .primary-navigation { position: static; }
  .aetna-menu { display: flex; flex-wrap: wrap; gap: 6px; }
  .aetna-menu a { border: 1px solid #444; }
  .aetna-feature-grid { grid-template-columns: 1fr; gap: 42px; }
  .aetna-partner-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aetna-service-row { flex-direction: column !important; }
  .aetna-service-row .wp-block-column { flex-basis: auto !important; }
  .aetna-service-image, .aetna-service-image img { min-height: 260px; height: 300px; }
}

@media (max-width: 560px) {
  .site-header { min-height: 220px; }
  .site-branding-panel { padding: 14px 18px; }
  .site-logo .custom-logo, .site-logo-fallback { width: 54px; }
  .site-title { white-space: normal; }
  .site-shell { width: min(100% - 24px, var(--aetna-content)); }
  .aetna-menu { display: grid; grid-template-columns: 1fr 1fr; }
  .aetna-why { padding: 20px; }
  .aetna-section-body { padding: 26px 20px 30px; }
  .aetna-project-gallery,
  .aetna-partner-grid,
  .aetna-form-grid { grid-template-columns: 1fr; }
  .aetna-team-card,
  .aetna-contact-details,
  .aetna-contact-box { padding: 20px; }
}
