/*
 Theme Name:     Property Sellwise
 Theme URI:      https://propertysellwise.com
 Description:    Main website for Property Sellwise
 Author:         Douglas Franklin
 Template:       kadence
 Version:        1.0.0
*/

/* Add your custom CSS below */

/***************************************************
 * PROPERTY SELLWISE – KADENCE CHILD THEME
 * Global Styling to Approximate Carrot Look & Feel
 ***************************************************/

/* ------------------------------
   0. Base Resets & Typography
   ------------------------------ */

html {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

*, *::before, *::after {
  box-sizing: inherit;
}

body {
  margin: 0;
  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  color: #212529;
  background-color: #ffffff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-weight: 700;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 0.75em;
}

h1,
.wp-block-heading:is(h1, .has-larger-font-size) {
  font-size: clamp(2.2rem, 3vw, 2.8rem);
}

h2,
.is-style-h2 {
  font-size: var(--h2-font-size, 2rem);
}

h3,
.is-style-h3 {
  font-size: 1.75rem;
}

h4,
.is-style-h4 {
  font-size: 1.5rem;
}

/* Body text inside .entry-content */
.entry-content p {
  margin-top: 0;
  margin-bottom: 1em;
}

/* Lists */
.entry-content ul,
.entry-content ol {
  padding-left: 1.25rem;
  margin-bottom: 1em;
}

/* Links */
a {
  color: var(--psw-button);
  text-decoration: none;
  text-underline-offset: 0.15em;
}

a:hover,
a:focus {
  color: var(--psw-button-hover);
}

/* Images */
img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.phone-orange a {
  color:#ff6308 !important;
  font-weight:700;
  font-size:18px;
}

.iframe-group iframe {
  min-height:532px !important;
}
#psw-lead-gen-banner .psw-banner-form iframe{
  min-height: 0 !important;
  max-height: 70px !important;
}
#psw-lead-gen-banner.is-active .psw-banner-form iframe{
  max-height: 360px !important;
  height: 360px !important;
}


.main-menu-button {
  border-radius:20px;
  background-color:#ff6308;
  color:white;
  padding-left:20px;
  padding-right:20px;
}
.main-menu-button:hover,
.main-menu-button:active {
  background:initial !important;
}
@media screen and (min-width: 820px) {
  .main-banner-row .mb-0 {
    width:35%;
  }
  .main-banner-row .ep-iFrameContainer {
    width:64%;
  }
}

.is-style-card-shadow .wp-block-column, .is-style-card-shadow.wp-block-carrot-card {
  box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;
}

mark {
  background-color:initial !important;
}

.is-provider-youtube div iframe {
  border-radius:20px;
}

/* ------------------------------
   1. Color System & Utilities
   ------------------------------ */

:root {
  --psw-brand-primary: #069b81;
  --psw-brand-primary-dark: #046a58;
  --psw-secondary: #000000;
  --psw-secondary-light: #f0fbfe;
  --psw-gray-100: #f8f9fa;
  --psw-button: #ff5a28;
  --psw-button-hover: #f43900;
  --h2-font-size: 2rem;
  --color-text-on-primary: #ffffff;
}

/* Text colors matching Carrot-style utility classes */
.has-c-brand-primary-color { color: var(--psw-brand-primary) !important; }
.has-c-brand-primary-darker-color { color: var(--psw-brand-primary-dark) !important; }
.has-c-secondary-color { color: #6c757d !important; }
.has-c-secondary-dark-color { color: #1a2733 !important; }
.has-c-button-color { color: var(--psw-button) !important; }
.has-black-color { color: #000000 !important; }
.has-white-color { color: #ffffff !important; }

/* Background color utilities */
.has-c-brand-primary-background-color { background-color: var(--psw-brand-primary) !important;
    color: var(--color-text-on-primary);
}
.has-c-secondary-background-color { background-color: var(--psw-secondary) !important; }
.has-gray-100-background-color { background-color: var(--psw-gray-100) !important; }
.has-c-button-background-color { background-color: var(--psw-button) !important; }

/* Link color helpers used in blocks */
.has-link-color a,
.has-c-link-color a {
  color: var(--psw-brand-primary);
}

.has-link-color a:hover,
.has-c-link-color a:hover {
  color: var(--psw-brand-primary-dark);
}

.margin_center {
  margin:auto;
}

/* Spacing / margin helpers from Carrot content */
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.mt-10 { margin-top: 10px !important; }
.mb-10 { margin-bottom: 10px !important; }

.text-uppercase { text-transform: uppercase; }

/* For the “HOW IT WORKS / WHO WE ARE” labels */
p[style*="letter-spacing:8px"] {
  font-weight: 600;
  text-transform: uppercase;
}

p[style*="letter-spacing:8px"].has-text-align-center {
  margin-bottom: 8px;
}

/* Step labels “STEP 1/2/3” */
p[style*="letter-spacing:3px"] {
  text-transform: uppercase;
  font-weight: 600;
}

/* Gutenberg spacer */
.wp-block-spacer {
  display: block;
}

/* ------------------------------
   2. Layout & Gutenberg Structure
   ------------------------------ */


#primary,
.entry-content-wrap {
  margin-top:0px;
  padding-top:0px !important;
}

/* Main container widths (Kadence-friendly) */
.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.alignfull {
  width: 100%;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* Full-width groups – give breathing room */
.wp-block-group.alignfull {
  padding-top: 40px;
  padding-bottom: 40px;

}

/* Make nested constrained layout not too narrow */
.wp-block-group.alignfull .wp-block-group {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Full-width covers – inner container sizing */
.wp-block-cover.alignfull .wp-block-cover__inner-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px;
}

/* Columns */
.wp-block-columns.alignwide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Separator styling */
.wp-block-separator.is-style-wide {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Centered images */
.wp-block-image.aligncenter {
  text-align: center;
}

.wp-block-image.aligncenter img {
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------
   3. HERO – CASH FOR HOUSE
   ------------------------------ */

/* Native hero we built to replace carrot/hero */
.ps-hero {
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.ps-hero .wp-block-cover__background {
  background-color: #212529 !important; /* match Carrot overlay */
}

.ps-hero .wp-block-cover__image-background {
  object-fit: cover;
  object-position: 50% 70%;
}

/* Hero inner container */
.ps-hero .wp-block-cover__inner-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Hero columns */
.ps-hero .wp-block-columns {
  gap: 40px;
}

/* Text column */
.ps-hero__text {
  color: #ffffff;
}

.ps-hero__title {
  margin: 0 0 0.75rem;
  line-height: 1.1;
}

.ps-hero__subtitle,
.ps-hero__strapline {
  margin: 0 0 0.4rem;
  color: #ffffff;
}

.ps-hero__subtitle strong,
.ps-hero__strapline strong {
  color: #ffffff;
}

/* Form column as hero card */
.ps-hero__form .gform_wrapper,
.ps-hero__form .gform_wrapper.gravity-theme {
  background: #ffffff;
  padding: 1.75rem 1.75rem 1.5rem;
  border-radius: 10px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.35);
}

/* Tighten Gravity Forms in hero */
.ps-hero__form .gform_wrapper .gfield_label,
.ps-hero__form .gform_wrapper.gravity-theme .gfield_label {
  font-size: 0.9rem;
  font-weight: 600;
  color: #212529;
}

.ps-hero__form .gform_wrapper .gfield,
.ps-hero__form .gform_wrapper.gravity-theme .gfield {
  margin-bottom: 0.75rem;
}

.ps-hero__form .gform_wrapper input[type="text"],
.ps-hero__form .gform_wrapper input[type="tel"],
.ps-hero__form .gform_wrapper input[type="email"],
.ps-hero__form .gform_wrapper select,
.ps-hero__form .gform_wrapper textarea {
  font-size: 0.95rem;
  border-radius: 4px;
  border: 1px solid #d6dde5;
  box-shadow: none;
}

/* Hero submit button */
.ps-hero__form .gform_wrapper .gform_footer input[type="submit"],
.ps-hero__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
  background-color: var(--psw-button);
  border-radius: 999px;
  border: none;
  color: #ffffff;
  font-weight: 700;
  padding: 0.8rem 1.75rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  width: 100%;
}

.ps-hero__form .gform_wrapper .gform_footer input[type="submit"]:hover,
.ps-hero__form .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
  background-color: var(--psw-button-hover);
}

/* Hero responsiveness */
@media (max-width: 1024px) {
  .ps-hero {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

@media (max-width: 781px) {
  .ps-hero .wp-block-columns {
    flex-direction: column;
  }

  .ps-hero__form {
    margin-top: 1.75rem;
  }

  .ps-hero .wp-block-cover__inner-container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .ps-hero__title,
  .ps-hero__subtitle,
  .ps-hero__strapline {
    text-align: center;
  }
}

/* ------------------------------
   4. Credibility Bar / Logos
   ------------------------------ */

.wp-block-cover.alignfull .wp-block-columns.alignwide img {
  width: auto;
  max-width:initial;
}

/* ------------------------------
   5. “Cash Home Buyers in Utah” / Bryan Block (.bryanblock)
   ------------------------------ */

.bryanblock {
  padding: 40px 20px;
  background-color: #f0fbfe;
}

/* Left column card with text + form */
.bryanblock .wp-block-column:first-child {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 30px 30px 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

/* Image above label */
.bryanblock .wp-block-image img {
  margin-bottom: 10px;
}

/* Gravity Forms in this band */
.bryanblock .gform_wrapper,
.bryanblock .gform_wrapper form {
  margin-top: 16px;
}

.bryanblock .gform_wrapper .gform_footer input[type="submit"] {
  width: 100%;
  border-radius: 999px;
  font-weight: 600;
}

/* ------------------------------
   6. “How It Works” Step Cards (.columnshadow)
   ------------------------------ */

.columnshadow {
  height: 100%;
}

.columnshadow > .wp-block-group {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 24px 22px 26px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* Icons at top of cards */
.columnshadow .wp-block-image img {
  margin-bottom: 10px;
}

/* Step label “STEP X” */
.columnshadow p[style*="letter-spacing:3px"] {
  font-size: 12px;
  letter-spacing: 3px !important;
  margin-bottom: 6px;
}

/* Card headings */
.columnshadow h3.wp-block-heading {
  font-size: 20px;
  margin-top: 0;
  margin-bottom: 8px;
}

/* Card body */
.columnshadow p:not([style*="letter-spacing:3px"]) {
  font-size: 15px;
  line-height: 1.6;
}

/* ------------------------------
   7. Image Shadows / Gray Images
   ------------------------------ */

/* Shadow style used on many photos */
.is-style-img-shadow img,
.wp-block-image.is-style-img-shadow img {
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

/* Shadowed gallery images */
.wp-block-gallery.is-cropped {
  gap: 16px;
}

.wp-block-gallery.is-cropped .wp-block-image img {
  border-radius: 18px;
}

/* “Gray” utility to desaturate images slightly */
.ps-img-gray img {
  filter: grayscale(1);
  opacity: 0.9;
}

/* If Carrot applied this via img-gray class */
.img-gray img {
  filter: grayscale(1);
  opacity: 0.9;
}

/* ------------------------------
   8. “NEED TO SELL FAST?” Blue CTA (.peakblock)
   ------------------------------ */

.peakblock {
  padding: 40px 20px;
  align-items: stretch;
}

/* Left text column */
.peakblock .wp-block-column:first-child h1.wp-block-heading {
  line-height: 1.05;
}

.peakblock .wp-block-column:first-child h1.wp-block-heading:nth-of-type(2) {
  margin-bottom: 4px;
}

/* Right form card */
.peakblock .wp-block-column:nth-child(2) {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 24px 22px 26px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.14);
}

/* Form styling */
.peakblock .gform_wrapper .gfield_label {
  font-weight: 600;
}

.peakblock .gform_wrapper input[type="text"],
.peakblock .gform_wrapper input[type="tel"],
.peakblock .gform_wrapper input[type="email"],
.peakblock .gform_wrapper textarea {
  border-radius: 8px;
}

/* Button full width */
.peakblock .gform_wrapper .gform_footer input[type="submit"] {
  width: 100%;
  border-radius: 999px;
  font-weight: 600;
}

/* ------------------------------
   9. “We Buy Homes In Any Condition” Icon Grid
   ------------------------------ */

.wp-block-cover .wp-block-columns.alignwide .wp-block-column {
  text-align: center;
}

.wp-block-cover .wp-block-column .wp-block-image img {
  display: inline-block;
  margin-bottom: 10px;
}

/* Titles under icons */
.wp-block-cover .wp-block-column .is-style-h4 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px !important;
}

/* Supporting text */
.wp-block-cover .wp-block-column p.has-normal-font-size {
  font-size: 14px;
  line-height: 1.6;
}

/* ------------------------------
   10. Comparison Section (Cash Offer vs Traditional)
   ------------------------------ */

/* Blue background comparison wrapper (cover with #00d0ff overlay) */
.wp-block-group.alignfull [style*="background-color:#00d0ff"] .wp-block-columns {
  gap: 40px;
}

/* Each comparison column as card */
.wp-block-group.alignfull [style*="background-color:#00d0ff"] .wp-block-column {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 24px 22px 26px;
}

/* Column titles */
.wp-block-group.alignfull [style*="background-color:#00d0ff"] .is-style-h4 {
  font-size: 17px;
  font-weight: 700;
}

/* Bullet rows with check / x icons */
.wp-block-group.alignfull [style*="background-color:#00d0ff"] p img {
  margin-right: 6px;
  vertical-align: middle;
}

.wp-block-group.alignfull [style*="background-color:#00d0ff"] p {
  font-size: 14px;
  line-height: 1.6;
}

/* ------------------------------
   11. “Options for Selling Your House Fast” Triple Cards
   ------------------------------ */

.wp-block-group.alignfull[style*="#e8f2ff91"] .wp-block-columns.alignwide {
  gap: 30px;
}

/* Each option column card */
.wp-block-group.alignfull[style*="#e8f2ff91"] .wp-block-column {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 24px 22px 26px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.wp-block-group.alignfull[style*="#e8f2ff91"] .wp-block-image img {
  margin-bottom: 10px;
}

.wp-block-group.alignfull[style*="#e8f2ff91"] p {
  font-size: 14px;
  line-height: 1.6;
}

/* ------------------------------
   12. Dark Secondary CTA Bands
   ------------------------------ */

.wp-block-group.alignfull.has-c-secondary-background-color {
  text-align: center;
  padding:1em;
}

.wp-block-group.alignfull.has-c-secondary-background-color h2,
.wp-block-group.alignfull.has-c-secondary-background-color h1 {
  margin-bottom: 12px;
}

/* Bottom forms in dark bands */
.wp-block-group.alignfull.has-c-secondary-background-color .gform_wrapper {
  max-width: 640px;
  margin: 0 auto;
}

/* ------------------------------
   13. Misc Forms (Global Gravity Forms Baseline)
   ------------------------------ */

.gform_wrapper.gravity-theme .gfield_label {
  font-weight: 600;
}

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
  border-radius: 6px;
  border: 1px solid #d6dde5;
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
  background-color: var(--psw-button);
  color: #ffffff;
  font-weight: 600;
  border-radius: 999px;
  border: none;
  padding: 0.7rem 1.6rem;
  cursor: pointer;
}

.gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover {
  background-color: var(--psw-button-hover);
}









/* ===== Top Lead Banner ===== */

#psw-lead-gen-banner {
  background: #000000;             /* solid black bar */
  color: #ffffff;
  width: 100%;
  z-index: 9999;
  position: relative;
  padding: 10px 0;
  font-size: 15px;
  line-height: 1.3;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}

.psw-banner-inner {
  max-width: 1180px;               /* match main site width */
  margin: 0 auto;
  padding: 0 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.psw-banner-text {
  font-weight: 700;
  white-space: nowrap;
}

#psw-lead-gen-banner .psw-banner-form{
  position: relative;
  flex: 1 1 auto;
  height: 70px;
}

#psw-lead-gen-banner .psw-banner-form iframe{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 70px !important;
  min-height: 0 !important;
  max-height: 70px !important;
  border: 0 !important;
}


/* Close "X" */
.psw-banner-close {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 66px;
  line-height: .7;
  cursor: pointer;
  margin-left: 16px;
  padding: 0px 0px 14px 0px;
  z-index:99999999;
}

.psw-banner-close:hover {
  opacity: 0.8;
}

/* Hidden state when closed */
#psw-lead-gen-banner.psw-banner-hidden {
  max-height: 0;
  opacity: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
}

/* ===== Responsive ===== */
@media (max-width: 991px) {
  .psw-banner-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .psw-banner-text {
    text-align: center;
    white-space: normal;
  }

  .psw-banner-close {
    position: absolute;
    right: 20px;
    top: 8px;
  }
}


#psw-lead-gen-banner { position: relative; z-index: 500; }
#psw-lead-gen-banner.is-active { z-index: 99999; }


/* ---- Lead banner stacking behavior ---- */
#psw-lead-gen-banner {
  position: relative;
  z-index: 500;                 /* default: below header/nav */
}

/* When active, lift above everything so dropdown can overlay */
#psw-lead-gen-banner.is-active {
  z-index: 99999;
}

/* Keep form slot consistent */
#psw-lead-gen-banner .psw-banner-form {
  position: relative;
  flex: 1 1 auto;
  height: 70px;                 /* black bar height */
  overflow: visible;
}

/* Iframe is tall enough for dropdown, but we control interaction */
#psw-lead-gen-banner .psw-banner-form iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;

  height: 360px !important;     /* tall enough for full dropdown */
  min-height: 0 !important;

  border: 0 !important;
  overflow: visible !important;

  /* CRITICAL: when not active, iframe won't steal clicks */
  pointer-events: none;
}

/* When active, iframe becomes interactive */
#psw-lead-gen-banner.is-active .psw-banner-form iframe {
  pointer-events: auto;
}

/* Make sure the close button stays clickable */
#psw-lead-gen-banner .psw-banner-close {
  position: relative;
  z-index: 10;
  pointer-events: auto;
}


/* Hide iframe scrollbar when inactive */
#psw-lead-gen-banner .psw-banner-form iframe {
  overflow-y: hidden !important;
}

/* Allow dropdown to overflow when active */
#psw-lead-gen-banner.is-active .psw-banner-form iframe {
  overflow-y: visible !important;
}

#psw-lead-gen-banner .psw-banner-form {
  overflow: hidden;
}

#psw-lead-gen-banner.is-active .psw-banner-form {
  overflow: visible;
}

/* --------------------------------------------------
   FORCE REMOVE ALL SCROLLBARS FROM LEAD BANNER IFRAME
   -------------------------------------------------- */

/* Disable iframe scrolling entirely */
#psw-lead-gen-banner iframe {
  overflow: hidden !important;
  scrollbar-width: none !important;       /* Firefox */
  -ms-overflow-style: none !important;    /* IE / Edge legacy */
}

/* WebKit scrollbar kill (Chrome, Safari) */
#psw-lead-gen-banner iframe::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Also prevent wrapper from creating scrollbars */
#psw-lead-gen-banner,
#psw-lead-gen-banner .psw-banner-form {
  overflow: visible !important;
}
