/*
Theme Name: Seda Balance Point
Theme URI:
Author:
Author URI:
Description: Luxury dark landing theme for Seda Balance Point.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seda-balance-point-theme
*/

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */

:root {
  /* Colors */
  --color-bg: #0a0908;
  --color-text: #c8c0bc;
  --color-text-dim: #888;
  --color-gold: #ac9779;
  --color-white: #fff;

  /* Typography */
  --font-sans: "Montserrat", Arial, sans-serif;
  --font-serif: "Playfair Display", serif;
  --font-hero: Helvetica, Arial, sans-serif;

  /* Layout */
  --header-h: 96px;
  --footer-h: 136px;
  --content-h: calc(100vh - var(--header-h) - var(--footer-h));
  --content-h-d: calc(100dvh - var(--header-h) - var(--footer-h));
  --max-width: 1320px;

  /* Motion */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition: 0.6s var(--ease);
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */

html,
body,
#page,
#content,
.site,
.site-content,
.wp-site-blocks {
  background: var(--color-bg);
}

/* Clip horizontal scroll from full-bleed trick; only on html — avoids iOS BFC issues on body */
html {
  overflow-x: hidden;
  /* Prevent iOS Safari from auto-scaling fonts — keeps rendering consistent with DevTools */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* iPhone notch / home bar safe areas */
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

body {
  color: var(--color-text);
  font-family: var(--font-sans);
  margin: 0;
  padding: 0;
  line-height: 1.7;
}

/* 100vh layout ONLY for contact page on desktop (> 900px) */
@media (min-width: 901px) {
  body.page-template-page-contact {
    --footer-h: 260px;
    --content-h: calc(100vh - var(--header-h) - var(--footer-h));
    --content-h-d: calc(100dvh - var(--header-h) - var(--footer-h));
  }

  body.page-template-page-contact html,
  body.page-template-page-contact {
    overflow-y: hidden;
    height: 100vh;
    height: 100dvh;
  }

  body.page-template-page-contact #page,
  body.page-template-page-contact .site {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
  }

  body.page-template-page-contact .site-header {
    flex-shrink: 0;
    height: var(--header-h);
  }

  body.page-template-page-contact #content,
  body.page-template-page-contact .site-content,
  body.page-template-page-contact main {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
  }

  body.page-template-page-contact .seda-footer {
    flex-shrink: 0;
    height: var(--footer-h);
    min-height: var(--footer-h);
    max-height: var(--footer-h);
    overflow: visible;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 90px !important;
  }
}

/* WordPress admin bar shifts body down \u2014 compensate in height calculations */
.admin-bar {
  --admin-bar-h: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar {
    --admin-bar-h: 46px;
  }
}
.admin-bar .seda-hero {
  height: calc(var(--content-h) - var(--admin-bar-h, 0px));
  height: calc(var(--content-h-d) - var(--admin-bar-h, 0px));
}

/* ============================================================
   3. HEADER
   ============================================================ */

.site-header {
  background: var(--color-bg) !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  /* env() pushes header below iOS status bar when viewport-fit=cover is set */
  padding: calc(1.5rem + env(safe-area-inset-top, 0px)) 2vw 1rem;
  position: relative;
  min-height: var(--header-h);
  z-index: 100;
}
@media (max-width: 900px) {
  .site-header {
    justify-content: space-around;
  }
}

/* Branding */
.site-logo {
  flex: 0 0 30%;
  display: flex;
  align-items: center;
}

.site-logo img {
  max-height: 60px;
  width: auto;
  height: auto;
  display: block;
}

.site-name {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-white);
  text-decoration: none;
}

/* Navigation — mobile-first: hidden by default, shown on desktop */

.site-nav {
  display: none;
  background: var(--color-bg);
  padding: 0;
  margin: 0;
}

@media (min-width: 901px) {
  .site-nav {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    width: 40%;
    max-width: 600px;
    min-width: 0;
    height: auto;
    background: var(--color-bg);
    padding: 0;
    margin: 0;
    gap: 0;
    overflow: visible;
    flex-wrap: nowrap;
  }
  .site-nav-menu,
  .site-nav > ul,
  .site-nav ul {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 2rem;
    flex-wrap: nowrap;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-type: none;
  }
  .site-nav li {
    display: flex !important;
    align-items: center;
    margin: 0 1.5rem 0 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    list-style: none !important;
    list-style-type: none !important;
    line-height: 1 !important;
    min-width: 0;
    max-width: 100%;
  }
  .site-nav li:last-child {
    margin-right: 0 !important;
  }
  .site-nav a,
  .site-nav li a {
    color: var(--color-white) !important;
    text-decoration: none !important;
    font-size: 0.9em !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    transition: color var(--transition) !important;
    display: inline-block !important;
    white-space: nowrap !important;
    padding: 0.5em 0.8em;
  }
}

.site-nav-menu,
.site-nav > ul,
.site-nav ul {
  display: flex;
  flex-direction: row;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
  gap: 2rem;
  align-items: center;
  flex-wrap: nowrap;
  width: auto;
  height: auto;
}

.site-nav li,
.site-nav ul li,
.site-nav-menu li {
  display: inline-flex !important;
  margin: 0 3rem 0 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  list-style: none !important;
  list-style-type: none !important;
  line-height: 1 !important;
}

.site-nav li:last-child,
.site-nav ul li:last-child,
.site-nav-menu li:last-child {
  margin: 0 !important;
}

.site-nav li::before,
.site-nav li::after,
.site-nav-menu li::before,
.site-nav-menu li::after {
  content: none !important;
  display: none !important;
}

.site-nav a,
.site-nav li a,
.site-nav ul li a,
.site-nav-menu li a {
  color: var(--color-white) !important;
  text-decoration: none !important;
  font-size: 0.9em !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  transition: color var(--transition) !important;
  display: inline-block !important;
  white-space: nowrap !important;
  padding: 0.5rem 0 !important;
  border: none !important;
  background: none !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.site-nav a:hover,
.site-nav a:focus,
.site-nav li a:hover,
.site-nav li a:focus,
.site-nav ul li a:hover,
.site-nav ul li a:focus,
.site-nav-menu li a:hover,
.site-nav-menu li a:focus {
  color: var(--color-gold) !important;
  background: none !important;
  text-decoration: none !important;
}

/* Mobile toggle */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  gap: 7px;
  z-index: 1001;
}

.nav-toggle span {
  display: block;
  height: 3px;
  width: 100%;
  background: var(--color-white);
  border-radius: 2px;
  transition: all 0.3s ease;
}

@media (max-width: 900px) {
  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #ac9779;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 1.5rem 1rem;
    gap: 1.2rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    z-index: 200;
    box-sizing: border-box;
  }

  .site-nav.active {
    display: flex;
  }

  .site-nav-menu,
  .site-nav > ul,
  .site-nav ul {
    flex-direction: column;
    gap: 0;
    width: 100%;
    align-items: center;
  }

  .site-nav li,
  .site-nav ul li,
  .site-nav-menu li {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    justify-content: center;
  }

  .site-nav li:last-child,
  .site-nav ul li:last-child,
  .site-nav-menu li:last-child {
    margin: 0 !important;
  }

  .nav-toggle {
    display: flex;
  }

  .nav-toggle span {
    background: var(--color-gold);
  }

  .nav-toggle.active span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }

  .nav-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .nav-toggle.active span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }

  .site-nav a:hover,
  .site-nav a:focus,
  .site-nav li a:hover,
  .site-nav li a:focus,
  .site-nav ul li a:hover,
  .site-nav ul li a:focus,
  .site-nav-menu li a:hover,
  .site-nav-menu li a:focus {
    color: #000 !important;
  }
}

/* ============================================================
   4. FOOTER
   ============================================================ */

.seda-footer {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  min-height: var(--footer-h);
  background: var(--color-bg);
  color: var(--color-text-dim);
  text-align: center;
  padding: 2rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}

.seda-footer-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 0.75rem;
}

.seda-footer-email {
  color: var(--color-text-dim);
  text-decoration: none;
  margin-left: 0.5rem;
}

.seda-footer-links {
  margin-bottom: 0 rem;
}

.seda-footer-links a {
  color: var(--color-white) !important;
  margin: 0 0.625rem;
  text-decoration: none;
  font-size: 0.8125rem;
  transition: color var(--transition);
}

.seda-footer-links a:hover {
  color: var(--color-gold) !important;
}

.seda-footer-disclaimer {
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

@media (max-width: 600px) {
  .seda-footer-content {
    flex-direction: column;
    gap: 0.5rem;
  }

  .seda-footer-links {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
}

/* ============================================================
   5. HERO — FRONT PAGE
   ============================================================ */

.seda-hero {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  height: var(--content-h);
  height: var(--content-h-d);
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  background: var(--color-bg);
}

.seda-hero-content {
  flex: 0 0 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1rem, 3vh, 3rem) 2rem clamp(1rem, 3vh, 3rem) 6vw;
  position: relative;
  z-index: 3;
  margin-right: -4vw;
  box-shadow: none;
}

.seda-hero-title {
  font-family: var(--font-hero);
  font-size: clamp(2.5rem, 4vw, 3rem);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: 0.12em;
  line-height: 1.25;
  margin: 0 0 clamp(0.8rem, 2vh, 2rem);
  text-transform: uppercase;
  word-spacing: 0.1em;
  white-space: pre-line;
  overflow-wrap: break-word;
  word-break: break-word;
}

.seda-hero-text {
  font-size: 1.05rem;
  line-height: 1.9;
  margin-bottom: clamp(0.8rem, 2vh, 2.5rem);
  max-width: 480px;
}

.seda-hero-text p {
  margin: 0;
}

.seda-hero-btn {
  display: inline-block;
  align-self: flex-start;
  background: transparent;
  border: 2px solid var(--color-gold);
  color: var(--color-gold);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 1rem 2rem;
  text-decoration: none;
  cursor: pointer;
  /* Removes 300ms tap delay and enables :active on iOS Safari */
  touch-action: manipulation;
  /* Removes iOS blue tap highlight so our :active style shows */
  -webkit-tap-highlight-color: transparent;
  transition:
    background 0.4s ease,
    color 0.4s ease,
    border-color 0.4s ease;
}

.seda-hero-content .seda-hero-btn:hover,
.seda-hero-content .seda-hero-btn:active,
.seda-hero-content .seda-hero-btn:focus-visible,
.seda-hero-btn:hover,
.seda-hero-btn:active,
.seda-hero-btn:focus-visible {
  background: #ac9779 !important;
  color: #0a0908 !important;
  border-color: #ac9779 !important;
  border-width: 2px !important;
}

.seda-hero-image {
  flex: 0 0 50%;
  position: relative;
  overflow: hidden;
  background: var(--color-bg);
  margin-left: -3vw;
}

.seda-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to right, rgba(10, 9, 8, 0.95) 0%, rgba(10, 9, 8, 0) 40%),
    linear-gradient(to left, rgba(10, 9, 8, 0.7) 0%, rgba(10, 9, 8, 0) 18%),
    linear-gradient(to bottom, rgba(10, 9, 8, 0.7) 0%, rgba(10, 9, 8, 0) 18%),
    linear-gradient(to top, rgba(10, 9, 8, 0.7) 0%, rgba(10, 9, 8, 0) 18%);
  pointer-events: none;
  z-index: 1;
}

.seda-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right 10%;
  display: block;
  transform: scale(1.12);
}

@media (max-width: 900px) {
  .seda-hero {
    flex-direction: column !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .seda-hero-content {
    flex: 0 0 auto;
    padding: 2.5rem 1.5rem 1.5rem;
    margin-right: 0;
    box-shadow: none;
    align-items: center;
    text-align: center;
    justify-content: center;
  }

  .seda-hero-title {
    white-space: normal;
    font-size: clamp(1.6rem, 5.5vw, 2.4rem);
    margin-bottom: 0.8rem;
  }

  .seda-hero-text {
    margin-bottom: 1rem;
  }

  .seda-hero-image {
    width: 100%;
    height: auto;
    overflow: visible;
    position: relative;
  }

  .seda-hero-image img {
    width: 100%;
    height: auto;
    object-fit: unset;
    display: block;
  }

  .seda-hero-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      linear-gradient(to bottom, rgba(10, 9, 8, 0.7) 0%, rgba(10, 9, 8, 0) 18%),
      linear-gradient(to top, rgba(10, 9, 8, 0.7) 0%, rgba(10, 9, 8, 0) 18%);
    pointer-events: none;
    z-index: 1;
  }

  .seda-hero-btn {
    align-self: center;
    font-size: 0.85rem;
    padding: 0.8rem 1.5rem;
  }

  .seda-hero-btn:active,
  .seda-hero-btn:focus-visible {
    background: #ac9779 !important;
    color: #0a0908 !important;
    border-color: #ac9779 !important;
  }
}

@media (max-width: 600px) {
  .seda-hero-title {
    font-size: clamp(1.4rem, 6vw, 1.9rem);
  }

  .seda-hero-content {
    padding: 2rem 1.2rem 1rem;
  }

  .seda-hero-btn {
    max-width: 90%;
    font-size: 0.78rem;
    letter-spacing: 0.1em;
    padding: 0.7rem 1.2rem;
  }

  .seda-hero-btn:active,
  .seda-hero-btn:focus-visible {
    background: #ac9779 !important;
    color: #0a0908 !important;
    border-color: #ac9779 !important;
  }
  .seda-architect-page {
    width: 100% !important;
  }
}

/* ============================================================
   6. CONTACT PAGE
   ============================================================ */

.seda-contact-intro {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 3rem;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.8;
}

.seda-contact-intro p {
  margin-bottom: 1rem;
}

.seda-contact-intro a {
  color: var(--color-gold);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s;
}

.seda-contact-intro a:hover {
  color: var(--color-white);
  text-decoration: underline;
}

.seda-contact-note {
  color: var(--color-text-dim);
  font-size: 0.9rem;
  margin: 0;
  line-height: 1.7;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

.seda-contact .seda-contact-note {
  text-align: center !important;
}

.seda-contact-form {
  max-width: 700px;
  margin: 0 auto;
  width: 100%;
}

/* Form fields - left aligned */
.seda-contact-form .wpforms-form {
  text-align: left !important;
}

.seda-contact-form .wpforms-field-label {
  text-align: left !important;
}

/* Contact form confirmation styling - centered */
.seda-contact-form .wpforms-confirmation-container-full,
.seda-contact-form .wpforms-confirmation-scroll {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  padding-left: 0 !important;
  margin: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
  color: var(--color-white) !important;
  font-size: 1.15rem !important;
  line-height: 1.8 !important;
}

div.wpforms-confirmation-container-full,
div.wpforms-confirmation-scroll {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.seda-contact-form .wpforms-confirmation-container-full p,
.seda-contact-form .wpforms-confirmation-scroll p {
  text-align: left !important;
  color: var(--color-gold) !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.seda-contact-form .wpforms-container {
  background: transparent !important;
  border: none !important;
}

.seda-contact-form .wpforms-container-full {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

@media (max-width: 768px) {
  .seda-contact-intro {
    font-size: 0.95rem;
    margin-bottom: 2rem;
  }

  .seda-contact-note {
    font-size: 0.85rem;
  }
}

/* Legacy contact styles (if needed) */
.seda-contact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: var(--content-h);
  height: var(--content-h-d);
  max-height: var(--content-h);
  max-height: var(--content-h-d);
  padding: 2rem 1.5rem;
  background: var(--color-bg);
  overflow-y: auto;
  box-sizing: border-box;
  gap: 2rem;
}

/* Desktop 100vh layout for contact page */
@media (min-width: 901px) {
  .seda-contact {
    height: calc(100vh - 96px - 260px);
    height: calc(100dvh - 96px - 260px);
    max-height: calc(100vh - 96px - 260px);
    max-height: calc(100dvh - 96px - 260px);
  }
}

.seda-contact-title {
  font-size: 2.2rem;
  color: var(--color-white);
  letter-spacing: 0.12em;
  font-weight: 500;
  margin: 0;
  text-transform: uppercase;
}

.seda-contact-info {
  font-size: 1.15rem;
  margin: 0;
}

.seda-contact-email {
  display: block;
  color: var(--color-white);
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  margin: 0;
  text-decoration: none;
  transition: color 0.3s;
}

.seda-contact-email:hover {
  color: var(--color-gold);
}

.seda-contact-disclaimer {
  color: var(--color-text-dim);
  font-size: 1rem;
  margin: 0;
}

@media (max-width: 600px) {
  .seda-contact-title {
    font-size: 1.4rem;
  }
  .seda-contact-info {
    font-size: 1rem;
  }
  .seda-contact-email {
    font-size: 1.1rem;
  }
  .seda-contact-note,
  .seda-contact-disclaimer {
    font-size: 0.95rem;
  }
}

/* ============================================================
   7. CONTENT PAGES (about, the-architect, the-system,
                     privacy, terms, refund)
   ============================================================ */

.seda-page {
  background: var(--color-bg);
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  padding: 4rem 2rem;
}

.seda-page-inner {
  max-width: 800px;
  margin: 0 auto;
}

.seda-page-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-white);
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 0 2.5rem;
  font-family: var(--font-sans);
}

.seda-page-content {
  font-size: 1rem;
  line-height: 1.9;
}

.seda-page-content h2 {
  color: var(--color-gold);
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 2.5rem 0 1rem;
  font-weight: 600;
}

.seda-page-content h3 {
  color: #dbd4d1;
  font-size: 1rem;
  letter-spacing: 0.05em;
  margin: 1.5rem 0 0.5rem;
  font-weight: 600;
}

.seda-page-content p {
  margin: 0 0 1.2rem;
}

.seda-page-content a {
  color: var(--color-gold);
  text-decoration: none;
  transition: color 0.3s;
}

.seda-page-content a:hover {
  color: var(--color-white);
}

.seda-page-content ul,
.seda-page-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.2rem;
}

.seda-page-content li {
  margin-bottom: 0.4rem;
}

@media (max-width: 600px) {
  .seda-page {
    padding: 2.5rem 1.2rem;
  }
}

/* ============================================================
   8. THE SYSTEM PAGE
   ============================================================ */

.seda-system-page {
  background: var(--color-bg) !important;
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  padding: 4rem 2rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.seda-system-header {
  text-align: center;
  margin-bottom: 3rem;
}

.seda-system-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 1.2rem;
}

.seda-system-subtitle {
  color: var(--color-text);
  font-size: 1.05rem;
  margin: 0;
}

.seda-system-divider {
  width: 100%;
  height: 1px;
  background: var(--color-gold);
  opacity: 0.35;
  margin: 2.5rem 0;
}

.seda-system-divider--short {
  width: 40%;
  margin-left: auto;
  margin-right: auto;
}

.seda-system-cols {
  display: flex !important;
  gap: 0 !important;
  align-items: flex-start !important;
}

.seda-system-col {
  flex: 1;
  padding: 0 2.5rem;
}

.seda-system-col:first-child {
  padding-left: 0;
}

.seda-system-col:last-child {
  padding-right: 0;
}

.seda-system-col-divider {
  width: 1px;
  align-self: stretch;
  background: var(--color-gold);
  opacity: 0.35;
  flex-shrink: 0;
}

.seda-system-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 1rem;
}

.seda-system-offer-title {
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 600;
  color: var(--color-white);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
}

.seda-system-col p {
  color: var(--color-text);
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 0 0 1rem;
}

.seda-system-col .seda-hero-btn {
  margin: 1.5rem 0;
}

.seda-system-footnote {
  color: var(--color-text-dim) !important;
  font-size: 0.88rem !important;
  line-height: 1.7;
}

.seda-system-cta {
  text-align: center;
  padding: 1rem 0 2rem;
}

.seda-system-cta-title {
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 0 0 1rem;
}

.seda-system-cta-link {
  color: var(--color-gold);
  font-size: 0.95rem;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: color 0.3s;
}

.seda-system-cta-link:hover {
  color: var(--color-white);
}

@media (max-width: 700px) {
  .seda-system-cols {
    flex-direction: column;
  }

  .seda-system-col {
    padding: 0;
  }

  .seda-system-col-divider {
    width: 100%;
    height: 1px;
    align-self: auto;
    margin: 2rem 0;
  }
}

@media (max-width: 600px) {
  .seda-system-page {
    padding: 2.5rem 1.2rem;
  }
}

/* ============================================================
   9. THE ARCHITECT PAGE
   ============================================================ */

.seda-architect-page {
  background: var(--color-bg) !important;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  padding: 4rem 2rem !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  box-sizing: border-box !important;
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.seda-architect-title {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 500;
  color: var(--color-white);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
}

.seda-architect-subtitle {
  font-size: 1.1rem;
  color: var(--color-text);
  margin: 0 0 2.5rem;
  font-style: italic;
}

.seda-architect-body {
  font-size: 1rem;
  color: var(--color-text);
  line-height: 1.9;
  margin: 0 0 1.8rem;
}

.seda-architect-emphasis {
  font-size: 1.05rem;
  color: var(--color-white);
  font-weight: 600;
  line-height: 1.7;
  margin: 0 0 1.8rem;
}

.seda-architect-cta {
  text-align: center;
  padding: 1rem 0;
}

.seda-architect-cta-note {
  color: var(--color-text-dim);
  font-size: 0.88rem;
  margin: 1rem 0 0;
  letter-spacing: 0.05em;
}

.seda-architect-disclaimer-sm {
  color: var(--color-text-dim);
  font-size: 0.85rem;
  margin: 0 0 0.5rem;
}

.seda-architect-disclaimer-lg {
  color: var(--color-text);
  font-size: 0.95rem;
  margin: 0;
}

@media (max-width: 600px) {
  .seda-architect-page {
    padding: 2.5rem 1.2rem;
    width: 100%;
  }
}

/* ============================================================
   10. LEGAL PAGES (privacy, terms, refund)
   ============================================================ */

.seda-legal-date {
  text-align: center;
  color: var(--color-white);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  margin: 0 0 2rem;
}

.seda-legal-divider {
  width: 100%;
  height: 1px;
  background: var(--color-white);
  opacity: 0.15;
  margin: 2rem 0;
}

.seda-legal-heading {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-white);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin: 0 0 0.8rem;
}

.seda-legal-body {
  font-size: 0.95rem;
  color: var(--color-white);
  line-height: 1.8;
  margin: 0 0 0.8rem;
}

.seda-legal-body a {
  color: var(--color-gold);
  text-decoration: none;
}

.seda-legal-body a:hover {
  color: var(--color-white);
}

.seda-legal-list {
  color: var(--color-white);
  font-size: 0.95rem;
  line-height: 1.8;
  padding-left: 1.5rem;
  margin: 0 0 0.8rem;
}

.seda-legal-intro {
  text-align: center;
  margin-bottom: 0.5rem;
}

.seda-legal-list a {
  color: var(--color-gold);
  text-decoration: none;
}

.seda-legal-list a:hover {
  color: var(--color-white);
}

/* ============================================================
   11. LINKS PAGE
   ============================================================ */

.seda-links-page {
  background: var(--color-bg);
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem 1.5rem;
}

.seda-links-inner {
  width: 100%;
  max-width: 480px;
  text-align: center;
}

.seda-links-title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: var(--color-white);
  letter-spacing: 0.12em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 0 2.5rem;
}

.seda-links-content a {
  display: block;
  width: 100%;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.9rem 1.5rem;
  text-decoration: none;
  margin-bottom: 1rem;
  transition:
    background 0.3s,
    color 0.3s;
}

.seda-links-content a:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

@media (max-width: 600px) {
  .seda-links-page {
    padding: 3rem 1.2rem 2rem;
    align-items: flex-start;
  }
}

/* ============================================================
   12. ARCHIVE / SEARCH / SINGLE / AUTHOR / 404 PAGES
   ============================================================ */

/* Main page wrapper for blog/archive pages */
.seda-page {
  background: var(--color-bg);
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  padding: 4rem 2rem;
}

.seda-page-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* Page titles */
.seda-page-title {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-white);
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 0 2.5rem;
  font-family: var(--font-sans) !important;
}

/* Archive/Search intro text */
.seda-archive-list,
.seda-search-results {
  width: 100%;
}

/* Individual archive/search items */
.seda-archive-item,
.seda-search-item {
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.seda-archive-item:last-child,
.seda-search-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.seda-archive-item h2,
.seda-search-item h2 {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  color: var(--color-white);
  font-family: var(--font-serif);
  font-weight: 700;
}

.seda-archive-item h2 a,
.seda-search-item h2 a {
  color: var(--color-white);
  text-decoration: none;
  transition: color var(--transition);
}

.seda-archive-item h2 a:hover,
.seda-search-item h2 a:hover {
  color: var(--color-gold);
}

.seda-archive-item p,
.seda-search-item p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.8;
}

/* Meta information (date, author, etc.) */
.seda-archive-item p:first-of-type,
.seda-search-item p:first-of-type {
  color: var(--color-text-dim);
  font-size: 0.9rem;
  margin-bottom: 1rem;
  font-style: italic;
}

/* Content excerpt */
.seda-archive-item > div,
.seda-search-item > div {
  color: var(--color-text);
  margin: 1rem 0;
  line-height: 1.8;
}

/* Read more link */
.seda-archive-item a:not(h2 a),
.seda-search-item a:not(h2 a) {
  color: var(--color-gold);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--transition);
}

.seda-archive-item a:not(h2 a):hover,
.seda-search-item a:not(h2 a):hover {
  color: var(--color-white);
}

/* Pagination */
.seda-pagination {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.seda-pagination a,
.seda-pagination span {
  display: inline-block;
  padding: 0.75rem 1rem;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  text-decoration: none;
  font-size: 0.9rem;
  font-weight: 600;
  transition: all 0.3s;
}

.seda-pagination a:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

.seda-pagination span.page-numbers {
  border: none;
  color: var(--color-text-dim);
  background: none;
}

.seda-pagination span.current {
  background: var(--color-gold);
  color: var(--color-bg);
  border-color: var(--color-gold);
}

/* ============================================================
   SINGLE POST PAGE
   ============================================================ */

.seda-single-post {
  width: 100%;
}

.seda-single-post article {
  width: 100%;
}

/* Post header */
.seda-single-post > div:first-child {
  color: var(--color-text-dim);
  font-size: 0.9rem;
  margin-bottom: 1rem;
  font-style: italic;
}

/* Post categories */
.seda-single-post .cat-links {
  display: inline-flex;
  gap: 0.5rem;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.seda-single-post .cat-links a {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  background: rgba(172, 151, 121, 0.1);
  color: var(--color-gold);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: all 0.3s;
}

.seda-single-post .cat-links a:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

/* Post content */
.seda-post-content {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.9;
}

.seda-post-content h2,
.seda-post-content h3,
.seda-post-content h4 {
  color: var(--color-white);
  font-family: var(--font-serif);
  margin: 2rem 0 1rem;
}

.seda-post-content h2 {
  font-size: 1.4rem;
}

.seda-post-content h3 {
  font-size: 1.2rem;
}

.seda-post-content p {
  margin-bottom: 1.5rem;
}

.seda-post-content a {
  color: var(--color-gold);
  text-decoration: none;
}

.seda-post-content a:hover {
  text-decoration: underline;
  color: var(--color-white);
}

.seda-post-content blockquote {
  border-left: 4px solid var(--color-gold);
  padding-left: 1.5rem;
  margin: 2rem 0;
  font-style: italic;
  color: var(--color-text-dim);
}

.seda-post-content ul,
.seda-post-content ol {
  margin: 1.5rem 0;
  padding-left: 2rem;
}

.seda-post-content li {
  margin-bottom: 0.75rem;
}

/* Post meta footer */
.seda-single-post > div:last-child {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Tags */
.seda-single-post .tag-links {
  margin-bottom: 2rem;
}

.seda-single-post .tag-links strong {
  color: var(--color-white);
}

.seda-single-post .tag-links a {
  display: inline-block;
  margin: 0.5rem 0.5rem 0.5rem 0;
  padding: 0.4rem 0.8rem;
  background: rgba(172, 151, 121, 0.1);
  color: var(--color-gold);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
  transition: all 0.3s;
}

.seda-single-post .tag-links a:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

/* Post navigation */
.seda-single-post .post-navigation {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2rem;
}

.seda-single-post .nav-previous,
.seda-single-post .nav-next {
  flex: 1;
}

.seda-single-post .nav-previous a,
.seda-single-post .nav-next a {
  display: block;
  padding: 1rem;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  text-decoration: none;
  text-align: center;
  font-weight: 600;
  transition: all 0.3s;
}

.seda-single-post .nav-previous a:hover,
.seda-single-post .nav-next a:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

/* ============================================================
   AUTHOR ARCHIVE PAGE
   ============================================================ */

/* Author info section */
.author-info {
  text-align: center;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.author-info .vcard {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.author-info .avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-bottom: 1rem;
}

.author-info .fn {
  color: var(--color-white);
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.author-info .note {
  color: var(--color-text);
  font-size: 0.95rem;
  max-width: 500px;
}

/* ============================================================
   404 ERROR PAGE
   ============================================================ */

.seda-404 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  padding: 4rem 2rem;
}

.seda-404 h1 {
  font-size: clamp(3rem, 10vw, 6rem);
  color: var(--color-gold);
  font-family: var(--font-hero);
  font-weight: 700;
  margin: 0 0 1rem;
  letter-spacing: 0.1em;
}

.seda-404 .title {
  font-size: clamp(1.5rem, 4vw, 2.2rem);
  color: var(--color-white);
  font-family: var(--font-serif);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
  font-weight: 600;
}

.seda-404 p {
  font-size: 1rem;
  color: var(--color-text);
  line-height: 1.8;
  margin: 0 0 2rem;
  max-width: 600px;
}

.seda-404 .buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

.seda-404 .buttons .seda-hero-btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border: 2px solid var(--color-gold);
  color: var(--color-gold);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: all 0.3s;
}

.seda-404 .buttons .seda-hero-btn:hover {
  background: var(--color-gold);
  color: var(--color-bg);
}

.seda-404 .contact {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.seda-404 .contact p {
  font-size: 0.85rem;
  color: var(--color-text-dim);
  margin-bottom: 0.5rem;
}

.seda-404 .contact a {
  color: var(--color-gold);
  text-decoration: none;
}

.seda-404 .contact a:hover {
  text-decoration: underline;
}

/* ============================================================
   SEARCH FORM
   ============================================================ */

.search-form {
  display: flex;
  gap: 0;
  margin-bottom: 2rem;
}

.search-form .search-field {
  flex: 1;
  padding: 0.75rem 1rem;
  background: transparent;
  border: 2px solid var(--color-gold);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 1rem;
  transition: all 0.3s;
}

.search-form .search-field::placeholder {
  color: var(--color-text-dim);
}

.search-form .search-field:focus {
  outline: none;
  background: rgba(172, 151, 121, 0.05);
}

.search-form .search-submit {
  padding: 0.75rem 1.5rem;
  background: var(--color-gold);
  color: var(--color-bg);
  border: 2px solid var(--color-gold);
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-sans);
  font-size: 1rem;
  transition: all 0.3s;
}

.search-form .search-submit:hover {
  background: transparent;
  color: var(--color-gold);
}

/* ============================================================
   COMMENTS SECTION
   ============================================================ */

.comments-area {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.comments-title {
  color: var(--color-white);
  font-family: var(--font-serif);
  font-size: 1.4rem;
  margin-bottom: 2rem;
}

.comment-list {
  list-style: none;
  padding: 0;
  margin: 0 0 2rem;
}

.comment-list li {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.comment-list li:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.comment-author,
.comment-meta {
  color: var(--color-text-dim);
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
}

.comment-author a {
  color: var(--color-gold);
  text-decoration: none;
}

.comment-author a:hover {
  text-decoration: underline;
}

.comment-content {
  color: var(--color-text);
  font-size: 0.95rem;
  line-height: 1.8;
  margin: 1rem 0;
}

.comment-form {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.comment-form label {
  display: block;
  color: var(--color-white);
  font-weight: 600;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
}

.comment-form input,
.comment-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  background: transparent;
  border: 1px solid rgba(172, 151, 121, 0.3);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  box-sizing: border-box;
  transition: border-color 0.3s;
}

.comment-form input::placeholder,
.comment-form textarea::placeholder {
  color: var(--color-text-dim);
}

.comment-form input:focus,
.comment-form textarea:focus {
  outline: none;
  border-color: var(--color-gold);
}

.comment-form textarea {
  resize: vertical;
  min-height: 150px;
}

.comment-form-submit {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: var(--color-gold);
  color: var(--color-bg);
  border: 2px solid var(--color-gold);
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  transition: all 0.3s;
}

.comment-form-submit:hover {
  background: transparent;
  color: var(--color-gold);
}

/* ============================================================
   RESPONSIVE ADJUSTMENTS
   ============================================================ */

@media (max-width: 768px) {
  .seda-page {
    padding: 3rem 1.5rem;
  }

  .seda-page-inner {
    max-width: 100%;
  }

  .seda-page-title {
    font-size: 1.5rem;
  }

  .seda-single-post .post-navigation {
    flex-direction: column;
    gap: 1rem;
  }

  .seda-404 h1 {
    font-size: 3.5rem;
  }

  .seda-pagination {
    flex-wrap: wrap;
    gap: 0.5rem;
  }

  .search-form {
    flex-direction: column;
    gap: 1rem;
  }

  .search-form .search-submit {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .seda-page {
    padding: 2rem 1rem;
  }

  .seda-page-title {
    font-size: 1.3rem;
    margin-bottom: 1.5rem;
  }

  .seda-archive-item,
  .seda-search-item {
    margin-bottom: 2rem;
  }

  .seda-404 h1 {
    font-size: 2.5rem;
  }

  .seda-404 .title {
    font-size: 1.2rem;
  }

  .seda-404 p {
    font-size: 0.9rem;
  }

  .seda-404 .buttons {
    flex-direction: column;
    gap: 0.75rem;
  }

  .seda-404 .buttons .seda-hero-btn {
    width: 100%;
  }
}

/* ============================================================
   WORDPRESS FORMS STYLING (Contact Form 7, WPForms, etc.)
   ============================================================ */

/* Form Container */
.wpcf7-form,
.wpforms-form,
.gform_wrapper form,
form.contact-form,
.seda-form {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

/* Form Fields Container */
.wpcf7-form p,
.wpforms-field,
.gfield,
.seda-form .form-field {
  margin-bottom: 1.5rem;
  position: relative;
}

/* Labels */
.wpcf7-form label,
.wpforms-field-label,
.gfield_label,
.seda-form label {
  display: block;
  color: var(--color-white);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Required indicator */
.wpcf7-form .wpcf7-form-control-wrap abbr,
.wpforms-required-label,
.gfield_required,
.seda-form .required {
  color: var(--color-gold);
  text-decoration: none;
}

/* Input Fields (text, email, tel, url, number) */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="date"],
.wpforms-field input[type="text"],
.wpforms-field input[type="email"],
.wpforms-field input[type="tel"],
.wpforms-field input[type="url"],
.wpforms-field input[type="number"],
.wpforms-field input[type="date"],
.ginput_container input[type="text"],
.ginput_container input[type="email"],
.ginput_container input[type="tel"],
.seda-form input[type="text"],
.seda-form input[type="email"],
.seda-form input[type="tel"] {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.85rem 1.1rem;
  margin: 0;
  background: transparent;
  border: 1px solid rgba(172, 151, 121, 0.3);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  line-height: 1.5;
  box-sizing: border-box;
  transition: all 0.3s ease;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Textarea */
.wpcf7-form textarea,
.wpforms-field textarea,
.ginput_container textarea,
.seda-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 150px;
  padding: 0.85rem 1.1rem;
  margin: 0;
  background: transparent;
  border: 1px solid rgba(172, 151, 121, 0.3);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  line-height: 1.7;
  box-sizing: border-box;
  resize: vertical;
  transition: all 0.3s ease;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Select Dropdown */
.wpcf7-form select,
.wpforms-field select,
.ginput_container select,
.seda-form select {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0.85rem 1.1rem;
  margin: 0;
  background: transparent;
  border: 1px solid rgba(172, 151, 121, 0.3);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  box-sizing: border-box;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ac9779' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 12px;
  padding-right: 3rem;
}

/* Placeholder styling */
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder,
.wpforms-field input::placeholder,
.wpforms-field textarea::placeholder,
.ginput_container input::placeholder,
.ginput_container textarea::placeholder,
.seda-form input::placeholder,
.seda-form textarea::placeholder {
  color: var(--color-text-dim);
  opacity: 1;
}

/* Focus State */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus,
.wpforms-field input:focus,
.wpforms-field textarea:focus,
.wpforms-field select:focus,
.ginput_container input:focus,
.ginput_container textarea:focus,
.ginput_container select:focus,
.seda-form input:focus,
.seda-form textarea:focus,
.seda-form select:focus {
  outline: none;
  border-color: var(--color-gold);
  background: rgba(172, 151, 121, 0.05);
  box-shadow: 0 0 0 3px rgba(172, 151, 121, 0.1);
}

/* Checkboxes & Radio Buttons */
.wpcf7-form input[type="checkbox"],
.wpcf7-form input[type="radio"],
.wpforms-field input[type="checkbox"],
.wpforms-field input[type="radio"],
.ginput_container input[type="checkbox"],
.ginput_container input[type="radio"],
.seda-form input[type="checkbox"],
.seda-form input[type="radio"] {
  width: auto;
  margin-right: 0.5rem;
  accent-color: var(--color-gold);
  cursor: pointer;
}

.wpcf7-form .wpcf7-list-item,
.wpforms-field-checkbox li,
.wpforms-field-radio li,
.gfield_checkbox li,
.gfield_radio li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

.wpcf7-form .wpcf7-list-item label,
.wpforms-field-checkbox label,
.wpforms-field-radio label {
  display: inline;
  font-weight: 400;
  text-transform: none;
  margin-bottom: 0;
  cursor: pointer;
  letter-spacing: 0;
}

/* File Upload */
.wpcf7-form input[type="file"],
.wpforms-field input[type="file"],
.ginput_container input[type="file"],
.seda-form input[type="file"] {
  color: var(--color-text);
  padding: 0.5rem;
  border: 1px solid rgba(172, 151, 121, 0.3);
  background: transparent;
  cursor: pointer;
}

.wpcf7-form input[type="file"]::-webkit-file-upload-button,
.wpforms-field input[type="file"]::-webkit-file-upload-button {
  padding: 0.5rem 1rem;
  background: var(--color-gold);
  color: var(--color-bg);
  border: none;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-sans);
  margin-right: 1rem;
}

/* Submit Button */
.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"],
.wpforms-submit,
.wpforms-form button[type="submit"],
.gform_button,
.gform_wrapper .gform_footer input[type="submit"],
.seda-form button[type="submit"],
.seda-form input[type="submit"] {
  display: inline-block;
  padding: 1rem 2rem;
  background: transparent;
  border: 2px solid var(--color-gold);
  color: var(--color-gold);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.4s ease;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  margin-top: 0.5rem;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:focus,
.wpcf7-form button[type="submit"]:hover,
.wpcf7-form button[type="submit"]:focus,
.wpforms-submit:hover,
.wpforms-submit:focus,
.wpforms-form button[type="submit"]:hover,
.wpforms-form button[type="submit"]:focus,
.gform_button:hover,
.gform_button:focus,
.seda-form button[type="submit"]:hover,
.seda-form button[type="submit"]:focus,
.seda-form input[type="submit"]:hover,
.seda-form input[type="submit"]:focus {
  background: var(--color-gold);
  color: var(--color-bg);
  border-color: var(--color-gold);
}

/* Success Message */
.wpcf7-response-output,
.wpcf7-mail-sent-ok,
.wpforms-confirmation-container,
.gform_confirmation_message,
.seda-form .success-message {
  padding: 2rem 1.5rem;
  margin: 0;
  background: transparent;
  border: none;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 1.05rem;
  line-height: 1.8;
  border-radius: 0;
  text-align: center;
}

.wpcf7-mail-sent-ok {
  border-color: var(--color-gold);
  background: rgba(172, 151, 121, 0.2);
}

/* Error Messages */
.wpcf7-not-valid-tip,
.wpcf7-validation-errors,
.wpforms-error,
.gfield_error,
.seda-form .error-message {
  color: #ff6b6b;
  font-size: 0.85rem;
  margin-top: 0.4rem;
  display: block;
  font-family: var(--font-sans);
}

.wpcf7-validation-errors {
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  background: rgba(255, 107, 107, 0.1);
  border: 1px solid #ff6b6b;
  border-radius: 0;
}

.wpcf7-form .wpcf7-not-valid {
  border-color: #ff6b6b;
}

/* Spinner/Loading */
.wpcf7-spinner,
.wpforms-submit-spinner {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(172, 151, 121, 0.3);
  border-top-color: var(--color-gold);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin-left: 0.5rem;
  vertical-align: middle;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Acceptance/Terms Checkbox */
.wpcf7-acceptance,
.wpforms-field-gdpr-checkbox {
  margin-top: 1rem;
  margin-bottom: 1.5rem;
}

/* Multi-column Forms */
.wpcf7-form .form-row,
.wpforms-field-row {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}

.wpcf7-form .form-row > *,
.wpforms-field-row > * {
  flex: 1;
  min-width: 250px;
}

/* ============================================================
   FORM RESPONSIVE ADJUSTMENTS
   ============================================================ */

@media (max-width: 768px) {
  .wpcf7-form input[type="submit"],
  .wpcf7-form button[type="submit"],
  .wpforms-submit,
  .wpforms-form button[type="submit"],
  .gform_button,
  .seda-form button[type="submit"],
  .seda-form input[type="submit"] {
    width: 100%;
    padding: 0.85rem 1.5rem;
    font-size: 0.9rem;
  }

  .wpcf7-form .form-row,
  .wpforms-field-row {
    flex-direction: column;
    gap: 0;
  }

  .wpcf7-form .form-row > *,
  .wpforms-field-row > * {
    width: 100%;
    min-width: 100%;
  }
}

@media (max-width: 480px) {
  .wpcf7-form input,
  .wpcf7-form textarea,
  .wpcf7-form select,
  .wpforms-field input,
  .wpforms-field textarea,
  .wpforms-field select,
  .seda-form input,
  .seda-form textarea,
  .seda-form select {
    font-size: 0.9rem;
    padding: 0.75rem 1rem;
  }

  .wpcf7-form label,
  .wpforms-field-label,
  .seda-form label {
    font-size: 0.85rem;
  }
}

/* ============================================================
   WPFORMS SPECIFIC OVERRIDES (stronger selectors)
   ============================================================ */

/* Force transparent backgrounds and gold borders on WPForms */
div.wpforms-container-full .wpforms-form input[type="text"],
div.wpforms-container-full .wpforms-form input[type="email"],
div.wpforms-container-full .wpforms-form input[type="tel"],
div.wpforms-container-full .wpforms-form input[type="url"],
div.wpforms-container-full .wpforms-form input[type="number"],
div.wpforms-container-full .wpforms-form input[type="date"],
div.wpforms-container-full .wpforms-form input[type="password"],
div.wpforms-container-full .wpforms-form select,
div.wpforms-container-full .wpforms-form textarea {
  background-color: transparent !important;
  background: transparent !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  color: var(--color-white) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.95rem !important;
  padding: 0.9rem 1.1rem !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.5 !important;
}

/* WPForms textarea specific */
div.wpforms-container-full .wpforms-form textarea {
  min-height: 120px !important;
  line-height: 1.6 !important;
}

/* WPForms focus state */
div.wpforms-container-full .wpforms-form input:focus,
div.wpforms-container-full .wpforms-form textarea:focus,
div.wpforms-container-full .wpforms-form select:focus {
  background: rgba(172, 151, 121, 0.05) !important;
  border-color: var(--color-gold) !important;
  box-shadow: 0 0 0 3px rgba(172, 151, 121, 0.1) !important;
  outline: none !important;
}

/* WPForms labels */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
  color: var(--color-white) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  margin-bottom: 0.5rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-family: var(--font-sans) !important;
}

/* WPForms sublabels (hints) */
div.wpforms-container-full .wpforms-form .wpforms-field-sublabel {
  color: var(--color-text-dim) !important;
  font-size: 0.85rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* WPForms required asterisk */
div.wpforms-container-full .wpforms-form .wpforms-required-label {
  color: var(--color-gold) !important;
}

/* WPForms checkboxes and radio buttons - match input field styles */
div.wpforms-container-full .wpforms-form input[type="checkbox"],
div.wpforms-container-full .wpforms-form input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin-right: 0.8rem !important;
  cursor: pointer !important;
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  border-radius: 0 !important;
  position: relative !important;
  flex-shrink: 0 !important;
  transition: border-color 0.3s ease !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

/* Checkbox checked state - gold border when checked */
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  border: 1px solid var(--color-gold) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Checkbox checkmark - white color (match text color) */
.wpforms-form input[type="checkbox"]:checked::after,
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 6px !important;
  height: 12px !important;
  border: solid rgba(255, 255, 255, 1) !important;
  border-width: 0 1px 1px 0 !important;
  transform: rotate(45deg) !important;
  display: block !important;
  background: none !important;
  background-color: transparent !important;
}

/* Radio button checked state */
div.wpforms-container-full .wpforms-form input[type="radio"] {
  border-radius: 50% !important;
  background-color: transparent !important;
  background: transparent !important;
}

div.wpforms-container-full .wpforms-form input[type="radio"]:checked {
  border-color: var(--color-gold) !important;
  border-width: 1px !important;
  background-color: transparent !important;
  background: transparent !important;
}

div.wpforms-container-full .wpforms-form input[type="radio"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: var(--color-gold) !important;
  display: block !important;
}

/* Hover states for checkboxes and radio buttons - match input fields */
div.wpforms-container-full .wpforms-form input[type="checkbox"]:hover,
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked:hover,
div.wpforms-container-full .wpforms-form input[type="radio"]:hover {
  border-color: var(--color-gold) !important;
  background: rgba(172, 151, 121, 0.05) !important;
  background-color: rgba(172, 151, 121, 0.05) !important;
  background-image: none !important;
}

/* Focus states for checkboxes and radio buttons - match input fields */
div.wpforms-container-full .wpforms-form input[type="checkbox"]:focus,
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked:focus,
div.wpforms-container-full .wpforms-form input[type="radio"]:focus {
  outline: none !important;
  border-color: var(--color-gold) !important;
  background: rgba(172, 151, 121, 0.05) !important;
  background-color: rgba(172, 151, 121, 0.05) !important;
  background-image: none !important;
  box-shadow: 0 0 0 3px rgba(172, 151, 121, 0.1) !important;
}

/* Force override any default checkbox styles */
div.wpforms-container-full .wpforms-form input[type="checkbox"]:not(:checked),
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked,
div.wpforms-container-full
  .wpforms-form
  .wpforms-field-checkbox
  input[type="checkbox"],
.wpforms-form .wpforms-field-checkbox input[type="checkbox"] {
  background-color: transparent !important;
  background: transparent !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  accent-color: var(--color-gold) !important;
}

/* Remove any blue background on all checkbox states */
div.wpforms-container-full .wpforms-form input[type="checkbox"] {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  border: 1px solid var(--color-gold) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Stronger checkbox override to remove any default browser styles */
.wpforms-form input[type="checkbox"],
.wpforms-container input[type="checkbox"],
div.wpforms-container-full input[type="checkbox"] {
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
}

/* Checkbox when checked - extra specificity - gold border */
.wpforms-form input[type="checkbox"]:checked,
.wpforms-container input[type="checkbox"]:checked,
div.wpforms-container-full input[type="checkbox"]:checked {
  background-color: transparent !important;
  background-image: none !important;
  border: 1px solid var(--color-gold) !important;
}

/* Make sure checkmark is visible and gold */
.wpforms-form input[type="checkbox"]:checked::before,
div.wpforms-container-full
  .wpforms-form
  input[type="checkbox"]:checked::before {
  display: none !important;
}

.wpforms-form input[type="checkbox"]:checked::after,
div.wpforms-container-full .wpforms-form input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 6px !important;
  height: 12px !important;
  border: solid rgba(255, 255, 255, 1) !important;
  border-width: 0 1px 1px 0 !important;
  transform: rotate(45deg) !important;
  display: block !important;
  background: none !important;
  background-color: transparent !important;
}

/* WPForms checkbox/radio list items */
div.wpforms-container-full .wpforms-form ul.wpforms-field-checkbox,
div.wpforms-container-full .wpforms-form ul.wpforms-field-radio {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

div.wpforms-container-full .wpforms-form ul li {
  margin-bottom: 0.8rem !important;
  display: flex !important;
  align-items: center !important;
}

/* WPForms checkbox/radio labels - vertically centered */
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full .wpforms-form .wpforms-field-radio li label {
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 0.95rem !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  color: var(--color-text) !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* WPForms Submit Button */
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-submit {
  background: transparent !important;
  border: 2px solid var(--color-gold) !important;
  color: var(--color-gold) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  cursor: pointer !important;
  transition: all 0.4s ease !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  margin-top: 0.5rem !important;
}

div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:focus {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  border-color: rgba(172, 151, 121, 0.3) !important;
  box-shadow: none !important;
}

/* WPForms field containers */
div.wpforms-container-full .wpforms-form .wpforms-field {
  margin-bottom: 1.5rem !important;
  padding: 0 !important;
}

/* WPForms description text */
div.wpforms-container-full .wpforms-form .wpforms-field-description {
  color: var(--color-text-dim) !important;
  font-size: 0.85rem !important;
  margin-top: 0.3rem !important;
}

/* WPForms error messages */
div.wpforms-container-full .wpforms-form .wpforms-error {
  color: #ff6b6b !important;
  font-size: 0.85rem !important;
  margin-top: 0.4rem !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

/* WPForms success message */
div.wpforms-container-full .wpforms-confirmation-container-full {
  background: transparent !important;
  border: none !important;
  color: var(--color-text) !important;
  padding: 2rem 1.5rem !important;
  margin: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: 1.05rem !important;
  line-height: 1.8 !important;
}

/* Remove WPForms default page indicator styling */
div.wpforms-container-full .wpforms-form .wpforms-page-indicator {
  background: transparent !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
}

/* WPForms placeholder color */
div.wpforms-container-full .wpforms-form input::placeholder,
div.wpforms-container-full .wpforms-form textarea::placeholder {
  color: var(--color-text-dim) !important;
  opacity: 0.8 !important;
}

/* Hide WPForms branding footer */
.wpforms-container .wpforms-footer {
  display: none !important;
}

/* ============================================================
   HIDE BLOG POST NAVIGATION ON PAGES
   ============================================================ */

/* Hide post navigation (Next Post, Previous Post) on static pages */
.page .post-navigation,
.page .nav-links,
.seda-page .post-navigation,
.seda-page .nav-links {
  display: none !important;
}

/* Hide blog-specific elements from pages */
.page .entry-meta,
.page .entry-footer,
.page .cat-links,
.page .tag-links {
  display: none !important;
}

/* ============================================================
   ADDITIONAL WPFORMS STYLING REFINEMENTS
   ============================================================ */

/* Better spacing for numbered questions */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
  line-height: 1.6 !important;
  margin-bottom: 0.7rem !important;
}

/* Checkbox and radio field styling improvements */
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox,
div.wpforms-container-full .wpforms-form .wpforms-field-radio {
  margin-top: 0.5rem !important;
}

div.wpforms-container-full .wpforms-form ul li input[type="checkbox"],
div.wpforms-container-full .wpforms-form ul li input[type="radio"] {
  flex-shrink: 0 !important;
  margin-top: 0 !important;
  margin-right: 0.8rem !important;
  align-self: flex-start !important;
  position: relative !important;
  top: 0.1rem !important;
}

/* Better spacing between form sections */
div.wpforms-container-full
  .wpforms-form
  .wpforms-field-textarea
  + .wpforms-field,
div.wpforms-container-full
  .wpforms-form
  .wpforms-field-checkbox
  + .wpforms-field,
div.wpforms-container-full .wpforms-form .wpforms-field-radio + .wpforms-field {
  margin-top: 2rem !important;
}

/* Style for the first checkbox (acceptance) */
div.wpforms-container-full
  .wpforms-form
  .wpforms-field:first-of-type
  .wpforms-field-checkbox {
  padding-top: 0.5rem !important;
}

/* Improve textarea readability */
div.wpforms-container-full .wpforms-form textarea {
  line-height: 1.7 !important;
  min-height: 100px !important;
}

/* Question numbers styling */
div.wpforms-container-full .wpforms-form .wpforms-field-label:first-line {
  font-weight: 700 !important;
}

/* Submit button container */
div.wpforms-container-full .wpforms-form .wpforms-submit-container {
  margin-top: 2rem !important;
  padding-top: 1rem !important;
  text-align: left !important;
}

/* ============================================================
   FORM PAGE SPECIFIC STYLING (Match The Architect style)
   ============================================================ */

/* Session Application page title - match all page titles */
.seda-page .seda-page-title {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 500 !important;
  color: var(--color-white) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  margin: 0 0 1.5rem !important;
}

/* Left-align form container */
.seda-contact-form {
  max-width: 700px;
  margin: 2rem 0 0;
}

/* Form intro styling */
.seda-contact-intro {
  text-align: left;
  max-width: 700px;
  margin: 0 0 3rem 0;
}

.seda-contact-intro p {
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 1rem;
  text-align: left;
}

.seda-contact-intro a {
  color: var(--color-gold);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.3s;
}

.seda-contact-intro a:hover {
  color: var(--color-white);
}

.seda-contact-note {
  color: var(--color-text-dim);
  font-size: 0.9rem;
  margin-top: 0.8rem;
  line-height: 1.7;
  text-align: left !important;
}

/* Make form labels match page style */
div.wpforms-container-full .wpforms-form .wpforms-field-label {
  color: var(--color-text) !important;
  font-weight: 400 !important;
  font-size: 1rem !important;
  margin-bottom: 0.7rem !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.6 !important;
  display: block !important;
}

/* Question/Label numbers should be bold */
div.wpforms-container-full .wpforms-form .wpforms-field-label strong {
  color: var(--color-white) !important;
  font-weight: 600 !important;
}

/* Enhanced submit button to match REQUEST ACCESS style */
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form .wpforms-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 2px solid var(--color-gold) !important;
  color: var(--color-gold) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 0 2.5rem !important;
  height: 52.8px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition:
    background 0.4s ease,
    color 0.4s ease,
    border-color 0.4s ease !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-decoration: none !important;
  margin-top: 1.5rem !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
div.wpforms-container-full .wpforms-form button[type="submit"]:active,
div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
div.wpforms-container-full .wpforms-form .wpforms-submit:focus,
div.wpforms-container-full .wpforms-form .wpforms-submit:active {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  border-color: rgba(172, 151, 121, 0.3) !important;
  border-width: 1px !important;
  box-shadow: none !important;
}

/* Form field spacing adjustments */
div.wpforms-container-full .wpforms-form .wpforms-field {
  margin-bottom: 2rem !important;
}

/* Better textarea sizing for longer responses */
div.wpforms-container-full .wpforms-form textarea {
  min-height: 100px !important;
  line-height: 1.7 !important;
}

/* Checkbox/Radio styling to match page aesthetic */
div.wpforms-container-full .wpforms-form .wpforms-field-checkbox li,
div.wpforms-container-full .wpforms-form .wpforms-field-radio li {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0.8rem !important;
}

div.wpforms-container-full .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full .wpforms-form .wpforms-field-radio li label {
  color: var(--color-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.4 !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}

/* Section spacing */
div.wpforms-container-full
  .wpforms-form
  .wpforms-field-textarea
  + .wpforms-field,
div.wpforms-container-full
  .wpforms-form
  .wpforms-field-checkbox
  + .wpforms-field,
div.wpforms-container-full .wpforms-form .wpforms-field-radio + .wpforms-field {
  margin-top: 2.5rem !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .seda-contact-form {
    padding: 0;
  }

  .seda-contact-intro {
    text-align: left;
  }

  div.wpforms-container-full .wpforms-form button[type="submit"],
  div.wpforms-container-full .wpforms-form .wpforms-submit {
    width: 100% !important;
    height: 52.8px !important;
    padding: 0 2rem !important;
  }
}

@media (max-width: 480px) {
  div.wpforms-container-full .wpforms-form button[type="submit"],
  div.wpforms-container-full .wpforms-form .wpforms-submit {
    font-size: 0.85rem !important;
    padding: 0 1.5rem !important;
    letter-spacing: 0.12em !important;
    height: 48px !important;
  }
}

/* ============================================================
   FINAL CHECKBOX OVERRIDE - Nuclear Option to Remove Default Blue
   ============================================================ */

/* Force remove ALL default checkbox styling */
input[type="checkbox"].wpforms-field-checkbox,
.wpforms-field input[type="checkbox"],
.wpforms-container input[type="checkbox"],
.wpforms-form input[type="checkbox"],
input[type="checkbox"] {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Checked state - gold border when checked */
input[type="checkbox"]:checked.wpforms-field-checkbox,
.wpforms-field input[type="checkbox"]:checked,
.wpforms-container input[type="checkbox"]:checked,
.wpforms-form input[type="checkbox"]:checked,
input[type="checkbox"]:checked {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
  border: 1px solid var(--color-gold) !important;
}

/* Remove any ::before pseudo-elements that might show checkmarks */
input[type="checkbox"]::before,
.wpforms-form input[type="checkbox"]::before {
  display: none !important;
  content: none !important;
}

/* Ensure our custom checkmark shows - white color */
input[type="checkbox"]:checked::after,
.wpforms-form input[type="checkbox"]:checked::after {
  content: "" !important;
  position: absolute !important;
  left: 5px !important;
  top: 1px !important;
  width: 6px !important;
  height: 12px !important;
  border: solid rgba(255, 255, 255, 1) !important;
  border-width: 0 1px 1px 0 !important;
  transform: rotate(45deg) !important;
  display: block !important;
  background: none !important;
  background-color: transparent !important;
}

/* ============================================================
   ACCEPT STRIPE PAYMENTS (ASP) PLUGIN BUTTON STYLING
   ============================================================ */

/* Remove ASP wrapper borders and styling */
.asp_product,
.asp_product_buy_btn_container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* Hide ASP default product info - we show custom text above button */
.asp_product_name,
.asp_product_price,
.asp_product_price_line,
.asp_product_description,
.asp_product_thumbnail {
  display: none !important;
}

/* ASP Product Button - Match seda-hero-btn design */
.asp_product_buy_button,
.asp-product-buy-btn,
input.asp_product_buy_button,
button.asp_product_buy_button,
a.asp_product_buy_button,
.asp_product .asp_product_buy_button,
.asp_product_buy_btn_container .asp_product_buy_button {
  display: inline-block !important;
  align-self: flex-start !important;
  background: transparent !important;
  border: 2px solid var(--color-gold) !important;
  color: var(--color-gold) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: var(--font-sans) !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
  transition:
    background 0.4s ease,
    color 0.4s ease,
    border-color 0.4s ease !important;
  line-height: 1.2 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 1rem 0 !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
}

/* ASP Button Hover/Active States */
.asp_product_buy_button:hover,
.asp_product_buy_button:active,
.asp_product_buy_button:focus,
.asp-product-buy-btn:hover,
.asp-product-buy-btn:active,
input.asp_product_buy_button:hover,
button.asp_product_buy_button:hover,
a.asp_product_buy_button:hover {
  background: var(--color-gold) !important;
  color: var(--color-bg) !important;
  border-color: var(--color-gold) !important;
  border-width: 2px !important;
}

/* ============================================
   PRODUCT PAGES (Protocol & Session)
   ============================================ */

.seda-product-page {
  min-height: calc(100vh - var(--header-h) - var(--footer-h));
  padding: 4rem 2rem;
}

.seda-product-page .seda-page-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* Product Header */
.seda-product-header {
  text-align: center;
  margin-bottom: 4rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid rgba(172, 151, 121, 0.2);
}

.seda-product-label {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 1rem;
  font-weight: 500;
}

.seda-product-title {
  font-family: var(--font-hero);
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-white);
  margin: 0 0 1.5rem;
  font-weight: 300;
  line-height: 1.2;
}

.seda-product-price {
  font-family: var(--font-serif);
  font-size: 2rem;
  color: var(--color-gold);
  font-weight: 400;
  margin-top: 1rem;
}

/* Product Content */
.seda-product-content {
  display: grid;
  gap: 3rem;
  margin-bottom: 4rem;
}

.seda-product-description {
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text);
}

.seda-product-description p {
  margin-bottom: 1.5rem;
}

.seda-product-description h3 {
  font-family: var(--font-sans);
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-white);
  margin: 2rem 0 1rem;
  font-weight: 500;
}

.seda-product-description ul {
  list-style: none;
  padding-left: 1.5rem;
  margin: 1rem 0 2rem;
}

.seda-product-description ul li {
  position: relative;
  margin-bottom: 0.75rem;
  color: var(--color-text);
}

.seda-product-description ul li:before {
  content: "—";
  position: absolute;
  left: -1.5rem;
  color: var(--color-gold);
}

/* Product Warning Box */
.seda-product-warning {
  background: rgba(172, 151, 121, 0.05);
  border: 1px solid rgba(172, 151, 121, 0.2);
  padding: 1.5rem;
  margin-top: 2rem;
  border-radius: 2px;
}

.seda-product-warning p {
  margin-bottom: 0.75rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

.seda-product-warning p:last-child {
  margin-bottom: 0;
}

.seda-product-warning strong {
  color: var(--color-white);
  font-weight: 500;
}

/* Product Purchase Section */
.seda-product-purchase {
  text-align: center;
  padding: 2rem;
  background: rgba(172, 151, 121, 0.03);
  border: 1px solid rgba(172, 151, 121, 0.15);
  border-radius: 2px;
}

.seda-product-purchase .seda-hero-btn,
.seda-product-purchase .asp_product_buy_button {
  margin: 0 auto;
}

/* Product Footer */
.seda-product-footer {
  text-align: center;
  padding-top: 2rem;
  border-top: 1px solid rgba(172, 151, 121, 0.2);
}

.seda-product-back {
  font-family: var(--font-sans);
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  color: var(--color-text-dim);
  text-decoration: none;
  transition: color 0.2s ease;
}

.seda-product-back:hover {
  color: var(--color-gold);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .seda-product-page {
    padding: 3rem 1.5rem;
  }

  .seda-product-title {
    font-size: 2rem;
  }

  .seda-product-price {
    font-size: 1.5rem;
  }

  .seda-product-content {
    gap: 2rem;
  }
}

/* ============================================================
   SEDA RESET PROTOCOL LANDING PAGE
   ============================================================ */

.seda-protocol-landing {
  width: 100%;
  background: var(--color-bg);
}

.seda-protocol-section {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 2rem;
  position: relative;
}

.seda-protocol-content {
  max-width: 800px;
  text-align: center;
  opacity: 1;
  transform: translateY(0);
}

/* Animation classes - applied by JavaScript */
.seda-protocol-landing.has-animations
  .seda-protocol-section
  .seda-protocol-content {
  opacity: 0;
  transform: translateY(30px);
  transition:
    opacity 0.8s ease-out,
    transform 0.8s ease-out;
}

.seda-protocol-landing.has-animations
  .seda-protocol-section.is-visible
  .seda-protocol-content {
  opacity: 1;
  transform: translateY(0);
}

.seda-protocol-headline {
  font-family: var(--font-hero);
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin: 0 0 1.5rem;
  text-transform: uppercase;
}

.seda-protocol-title {
  font-family: var(--font-hero);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.seda-protocol-text {
  font-size: 1.1rem;
  line-height: 1.9;
  color: var(--color-text);
  margin-bottom: 0;
}

.seda-protocol-text p {
  margin: 0 0 1rem;
}

.seda-protocol-text p:last-child {
  margin-bottom: 0;
}

.seda-protocol-text strong {
  color: var(--color-gold);
  font-weight: 600;
}

.seda-protocol-hero .seda-hero-btn {
  margin-top: 2rem;
}

.seda-protocol-price {
  font-family: var(--font-hero);
  font-size: 4rem;
  font-weight: 700;
  color: var(--color-gold);
  letter-spacing: 0.05em;
  margin: 1rem 0;
}

.seda-protocol-final .seda-hero-btn {
  margin: 1rem 0;
}

.seda-protocol-disclaimer {
  margin-top: 1rem;
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--color-text-dim);
}

.seda-protocol-disclaimer small {
  display: block;
  margin-bottom: 0.5rem;
}

.seda-protocol-disclaimer strong {
  color: var(--color-gold);
}

/* Mobile Responsive */
@media (max-width: 900px) {
  .seda-protocol-section {
    min-height: auto;
    padding: 1.5rem 1.5rem;
  }

  .seda-protocol-headline {
    font-size: clamp(1.5rem, 6vw, 2.2rem);
    margin-bottom: 1rem;
  }

  .seda-protocol-title {
    font-size: clamp(1.4rem, 5vw, 2rem);
    margin-bottom: 0.75rem;
  }

  .seda-protocol-text {
    font-size: 1rem;
    margin-bottom: 0;
  }

  .seda-protocol-text p {
    margin: 0 0 0.75rem;
  }

  .seda-protocol-price {
    font-size: 3rem;
    margin: 1rem 0 0.75rem;
  }

  .seda-protocol-disclaimer {
    margin-top: 1.5rem;
    font-size: 0.85rem;
  }
}

/* ============================================================
   CHECKOUT COMING SOON PAGE
   ============================================================ */

.seda-checkout-soon {
  min-height: var(--content-h);
  min-height: var(--content-h-d);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
}

.seda-checkout-soon-content {
  max-width: 600px;
  text-align: center;
}

.seda-checkout-soon-title {
  font-family: var(--font-hero);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin: 0 0 2rem;
}

.seda-checkout-soon-text {
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--color-text-dim);
  margin-bottom: 3rem;
}

.seda-btn-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 900px) {
  .seda-checkout-soon {
    padding: 3rem 1.5rem;
  }

  .seda-checkout-soon-title {
    font-size: clamp(1.4rem, 5vw, 2rem);
    margin-bottom: 1.5rem;
  }

  .seda-checkout-soon-text {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
}

/* ============================================================
   CHECKOUT PAGE (EDD/Stripe Form Styling)
   ============================================================ */

/* Main Checkout Container */
.edd-blocks__checkout {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 1rem;
}

/* Logged In Message */
.edd-blocks__logged-in {
  color: var(--color-text) !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  margin-bottom: 2rem !important;
  padding: 1rem !important;
  border: 1px solid rgba(172, 151, 121, 0.2) !important;
  background: rgba(0, 0, 0, 0.2) !important;
}

.edd-blocks__logged-in a {
  color: var(--color-gold) !important;
  text-decoration: none !important;
  transition: opacity 0.3s ease !important;
}

.edd-blocks__logged-in a:hover {
  opacity: 0.7 !important;
}

/* Cart Section */
.edd-blocks__cart {
  margin-bottom: 2rem;
}

.edd-blocks-cart {
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  background: rgba(0, 0, 0, 0.2) !important;
}

.edd-blocks-cart__row {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1rem;
  padding: 1.5rem !important;
  border-bottom: 1px solid rgba(172, 151, 121, 0.2) !important;
}

.edd-blocks-cart__row:last-child {
  border-bottom: none !important;
}

/* Cart Header */
.edd-blocks-cart__row-header {
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  color: var(--color-text) !important;
  font-size: 1.1rem !important;
  text-transform: uppercase !important;
}

/* Cart Item */
.edd-blocks-cart__row-item .edd_cart_item_name,
.edd-blocks-cart__row-item .edd_cart_item_price {
  color: var(--color-text) !important;
  font-size: 1rem !important;
}

.edd_checkout_cart_item_title {
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
}

/* Cart Actions (Remove) */
.edd_cart_actions {
  margin-top: 0.5rem;
}

.edd-blocks-cart__action-remove {
  color: rgba(172, 151, 121, 0.6) !important;
  font-size: 0.9rem !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.edd-blocks-cart__action-remove:hover {
  color: var(--color-gold) !important;
}

/* Cart Footer (Total) */
.edd-blocks-cart__row-footer {
  background: rgba(172, 151, 121, 0.1) !important;
}

.edd_cart_total {
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  letter-spacing: 0.08em !important;
}

.edd_cart_amount {
  color: var(--color-gold) !important;
}

/* Purchase Form Section */
.edd-blocks__purchase-form {
  margin-top: 0;
}

/* Fieldsets */
.edd-blocks-form {
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  padding: 2rem !important;
  margin: 0 0 2rem 0 !important;
  background: rgba(0, 0, 0, 0.2) !important;
  border-radius: 0 !important;
}

.edd-blocks-form legend {
  color: var(--color-text) !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  padding: 0 1rem !important;
  text-transform: uppercase !important;
}

/* Form Groups */
.edd-blocks-form__group {
  margin-bottom: 1.5rem;
}

/* Labels */
.edd-label {
  color: var(--color-text) !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 0.5rem !important;
  display: block !important;
  font-weight: 500 !important;
}

.edd-required-indicator {
  color: var(--color-gold) !important;
  margin-left: 0.25rem !important;
}

/* Inputs */
.edd-input {
  width: 100% !important;
  padding: 1rem !important;
  background: #fff !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  color: #000 !important;
  font-size: 1rem !important;
  letter-spacing: 0.02em !important;
  border-radius: 0 !important;
  font-family: var(--font-body) !important;
  transition: border-color 0.3s ease !important;
}

.edd-input::placeholder {
  color: rgba(0, 0, 0, 0.4) !important;
}

.edd-input:focus {
  outline: none !important;
  border-color: var(--color-gold) !important;
  background: #fff !important;
}

/* Field Descriptions */
.edd-description {
  color: rgba(200, 192, 188, 0.6) !important;
  font-size: 0.85rem !important;
  margin-top: 0.5rem !important;
  line-height: 1.6 !important;
}

/* Payment Info Section */
#edd_cc_fields {
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  padding: 2rem !important;
  margin: 2rem 0 !important;
  background: rgba(0, 0, 0, 0.2) !important;
}

/* Secure Site Wrapper */
#edd_secure_site_wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  color: rgba(200, 192, 188, 0.6) !important;
  font-size: 0.85rem !important;
  margin-bottom: 1.5rem !important;
}

#edd_secure_site_wrapper .padlock {
  color: var(--color-gold) !important;
}

/* Stripe Payment Element Container */
#edd-card-wrap {
  margin: 2rem 0;
}

#edd-stripe-payment-element {
  padding: 1.5rem !important;
  background: #fff !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  min-height: 150px !important;
  border-radius: 0 !important;
}

/* Stripe iframe styling override */
#edd-stripe-payment-element iframe {
  border: none !important;
  min-height: 150px !important;
}

.StripeElement {
  padding: 1.5rem !important;
  background: #fff !important;
  border: 1px solid rgba(172, 151, 121, 0.3) !important;
  border-radius: 0 !important;
}

.StripeElement--focus {
  border-color: var(--color-gold) !important;
}

/* Submit Section */
#edd_purchase_submit {
  text-align: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(172, 151, 121, 0.2);
}

/* Purchase Button */
#edd-purchase-button,
.edd-submit {
  padding: 1rem 3rem !important;
  background: transparent !important;
  border: 1px solid var(--color-gold) !important;
  color: var(--color-gold) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  font-family: var(--font-hero) !important;
  border-radius: 0 !important;
  min-width: 200px !important;
}

#edd-purchase-button:hover,
.edd-submit:hover {
  background: var(--color-gold) !important;
  color: #000 !important;
}

#edd-purchase-button:disabled,
.edd-submit:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Loading State */
#edd-purchase-button.edd-loading,
.edd-submit.edd-loading {
  position: relative !important;
}

#edd-purchase-button.edd-loading::after,
.edd-submit.edd-loading::after {
  content: "" !important;
  position: absolute !important;
  right: 1rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 16px !important;
  height: 16px !important;
  border: 2px solid var(--color-gold) !important;
  border-top-color: transparent !important;
  border-radius: 50% !important;
  animation: edd-spin 0.6s linear infinite !important;
}

@keyframes edd-spin {
  to {
    transform: translateY(-50%) rotate(360deg);
  }
}

/* Error Messages */
.edd-alert,
.edd_errors,
.edd-error {
  padding: 1rem !important;
  margin: 1rem 0 !important;
  border: 1px solid rgba(255, 0, 0, 0.3) !important;
  background: rgba(255, 0, 0, 0.1) !important;
  color: #ff6b6b !important;
  font-size: 0.95rem !important;
  line-height: 1.6 !important;
}

/* Success Messages */
.edd-alert-success {
  border-color: rgba(172, 151, 121, 0.5) !important;
  background: rgba(172, 151, 121, 0.1) !important;
  color: var(--color-text) !important;
}

/* Responsive */
@media (max-width: 900px) {
  .edd-blocks__checkout {
    padding: 1.5rem 1rem;
  }

  .edd-blocks-cart__row {
    grid-template-columns: 1fr;
    padding: 1rem !important;
  }

  .edd-blocks-form {
    padding: 1.5rem !important;
  }

  #edd_cc_fields {
    padding: 1.5rem !important;
  }

   #edd-purchase-button,
  .edd-submit {
    padding: 1rem !important;
  }
}

@media (max-width: 600px) {
  .edd-blocks-cart__row {
    font-size: 0.9rem !important;
  }

  .edd-label {
    font-size: 0.9rem !important;
  }

  .edd-input {
    padding: 0.875rem !important;
    font-size: 0.95rem !important;
  }
}

/* ============================================================================
   EDD CONFIRMATION PAGE / RECEIPT STYLES
   ========================================================================= */

/* Confirmation Container */
.edd-blocks__confirmation {
  max-width: 800px;
  margin: 2rem auto;
  padding: 0;
  color: var(--color-text);
}

/* Main Page Title on Confirmation/Receipt */
.edd-blocks__confirmation .seda-page-title,
.edd-blocks__confirmation > h1:first-child {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  color: var(--color-white);
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 0 2.5rem;
  font-family: var(--font-sans);
}

/* Section Headers (Products, etc.) */
.edd-blocks__confirmation h3 {
  color: var(--color-gold);
  font-family: var(--font-hero);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(172, 151, 121, 0.3);
}

/* Receipt Items Container */
.edd-blocks-receipt__items {
  margin-bottom: 2rem;
  padding: 1.5rem;
  border: 1px solid var(--color-gold);
  background: rgba(172, 151, 121, 0.05);
}

/* Individual Receipt Item */
.edd-blocks-receipt__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1.5rem 0;
  border-bottom: 1px solid rgba(172, 151, 121, 0.2);
}

.edd-blocks-receipt__item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.edd-blocks-receipt__item:first-child {
  padding-top: 0;
}

/* Item Details */
.edd-blocks-receipt__item-details {
  flex: 1;
}

.edd-blocks-receipt__item-details .edd-blocks__row-label {
  color: var(--color-text);
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}

/* Download Links - Simple link style (no button styling) */
.edd_purchase_receipt_files {
  list-style: none;
  margin: 0.5rem 0 0 0;
  padding: 0;
}

.edd_purchase_receipt_files li {
  margin: 0.5rem 0;
}

.edd_purchase_receipt_files .edd_download_file_link {
  color: var(--color-gold);
  text-decoration: none;
  transition: opacity 0.3s ease;
  font-size: 0.95rem;
  letter-spacing: 0.05em;
}

.edd_purchase_receipt_files .edd_download_file_link:hover {
  opacity: 0.7;
}

/* Item Price */
.edd-blocks-receipt__item-price {
  color: var(--color-gold);
  font-size: 1.2rem;
  font-weight: 700;
  white-space: nowrap;
  margin-left: 2rem;
}

/* Receipt Totals Section */
.edd-blocks-receipt__totals {
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid var(--color-gold);
  background: rgba(172, 151, 121, 0.05);
}

/* Row Styles */
.edd-blocks__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 0;
}

.edd-blocks__row-header {
  border-bottom: 1px solid rgba(172, 151, 121, 0.3);
  margin-bottom: 0.5rem;
  padding-bottom: 1rem;
}

.edd-blocks-receipt__row-item {
  border-bottom: 1px solid rgba(172, 151, 121, 0.1);
}

.edd-blocks-receipt__row-item:last-child {
  border-bottom: none;
  padding-top: 1rem;
  margin-top: 0.5rem;
  font-weight: 700;
}

/* Row Label & Value */
.edd-blocks__row-label {
  color: var(--color-text);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  opacity: 0.9;
}

.edd-blocks__row-value {
  color: var(--color-text);
  font-size: 0.95rem;
  font-weight: 400;
  text-align: right;
}

.edd-blocks__row-header .edd-blocks__row-label,
.edd-blocks__row-header .edd-blocks__row-value {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-gold);
  letter-spacing: 0.1em;
}

/* Last Row (Total) Styles */
.edd-blocks-receipt__row-item:last-child .edd-blocks__row-label,
.edd-blocks-receipt__row-item:last-child .edd-blocks__row-value {
  color: var(--color-gold);
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}

/* Payment Status - Simple text style with gold color */
.edd_receipt_payment_status {
  display: inline;
  padding: 0;
  border-radius: 0;
  font-size: 0.95rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.edd_receipt_payment_status.complete {
  background: none;
  color: var(--color-gold);
  border: none;
}

/* Confirmation Details (View Order Details Link) */
.edd-blocks__confirmation-details {
  text-align: center;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(172, 151, 121, 0.2);
}

.edd-blocks__confirmation-details a {
  display: inline-block;
  padding: 1rem 3rem;
  background: transparent;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: var(--font-hero);
}

.edd-blocks__confirmation-details a:hover {
  background: var(--color-gold);
  color: #000;
}

/* Thank You Message */
.seda-page-content > p:first-child {
  color: var(--color-text);
  font-size: 1.1rem;
  margin-bottom: 2rem;
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.05em;
}

/* Responsive Styles for Confirmation Page */
@media (max-width: 900px) {
  .edd-blocks__confirmation {
    padding: 0 1rem;
  }

  .edd-blocks-receipt__items,
  .edd-blocks-receipt__totals {
    padding: 1rem;
  }

  .edd-blocks-receipt__item {
    flex-direction: column;
    align-items: flex-start;
  }

  .edd-blocks-receipt__item-price {
    margin-left: 0;
    margin-top: 1rem;
    font-size: 1.1rem;
  }

  .edd-blocks__confirmation-details a {
    padding: 0.875rem 2rem;
    font-size: 0.85rem;
  }
}

@media (max-width: 600px) {
  .edd-blocks__confirmation h3 {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }

  .edd-blocks__row {
    font-size: 0.9rem;
  }

  .edd-blocks__row-label,
  .edd-blocks__row-value {
    font-size: 0.85rem;
  }

  .edd-blocks-receipt__item-details .edd-blocks__row-label {
    font-size: 1rem;
  }

  .edd-blocks__confirmation-details a {
    width: 100%;
    padding: 1rem;
  }
}

/* ============================================================================
   SINGLE DOWNLOAD PAGE - CUSTOM CONTENT STYLING
   ========================================================================= */

/* Hide blog-style elements on download pages */
body.single-download .seda-single-post > div:first-of-type,
body.single-download .cat-links,
body.single-download .post-navigation {
  display: none;
}

/* Download page container */
body.single-download .seda-page {
  max-width: 900px;
  margin: 0 auto;
  padding: 2rem 2rem;
}

body.single-download .seda-page-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* Page title - uppercase SEDA style */
body.single-download .seda-page-title {
  font-family: var(--font-hero);
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text);
  margin-bottom: 2rem;
  text-align: center;
  line-height: 1.2;
}

/* Content sections */
body.single-download .seda-post-content {
  margin-top: 2rem;
}

body.single-download .seda-post-content > p {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--color-text);
  margin-bottom: 1.5rem;
}

/* Last paragraph (before purchase form) */
body.single-download .seda-post-content > p:last-of-type {
  margin-bottom: 2rem;
}

/* Strong text styling */
body.single-download .seda-post-content strong {
  color: var(--color-gold);
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Purchase form container */
body.single-download .edd_download_purchase_form {
  padding: 0;
  margin-top: 2rem;
  text-align: left;
}

/* Purchase button */
body.single-download .edd-add-to-cart.button {
  background: var(--color-gold);
  color: var(--color-bg);
  border: 2px solid var(--color-gold);
  padding: 1rem 2.5rem;
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s var(--ease);
}

body.single-download .edd-add-to-cart.button:hover,
body.single-download .edd-add-to-cart.button:focus {
  background: transparent;
  color: var(--color-gold);
  transform: translateY(-2px);
}

/* Checkout link */
body.single-download .edd_go_to_checkout {
  display: inline-block;
  margin-top: 1rem;
  color: var(--color-gold);
  text-decoration: none;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  letter-spacing: 0.05em;
  transition: opacity 0.3s var(--ease);
}

body.single-download .edd_go_to_checkout:hover {
  opacity: 0.7;
}

/* Cart added alert */
body.single-download .edd-cart-added-alert {
  color: var(--color-gold);
  margin-top: 1rem;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  body.single-download .seda-page {
    padding: 2rem 1.5rem;
  }

  body.single-download .seda-page-title {
    font-size: 2rem;
  }

  body.single-download .seda-post-content > p {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  body.single-download .edd-add-to-cart.button {
    padding: 0.875rem 2rem;
    font-size: 0.95rem;
  }
}

@media (max-width: 600px) {
  body.single-download .seda-page {
    padding: 1.5rem 1rem;
  }

  body.single-download .seda-page-title {
    font-size: 1.75rem;
    letter-spacing: 0.05em;
  }

  body.single-download .edd-add-to-cart.button {
    padding: 0.875rem 1.5rem;
    font-size: 0.95rem;
  }
}
