/* colors 
swf-black: #171c1e
swf-ivory: #e4e1d9
swf-navy: #142930
swf-sage: #435252
swf-brown: #a27b5b
swf-copper: #d19f75
*/

/* header / footer */

body.responsive #masthead .container {
  max-width: none;
  padding: 0px 60px;
}

body.responsive #masthead {
  padding-bottom: 0px;
}

body.single-product.responsive #masthead {
  padding-bottom: 30px;
}

@media screen and (max-width: 650px) {
  body.responsive #masthead .container {
    max-width: none;
    padding: 0px 30px;
  }
}

.main-navigation a:not(.ubermenu-responsive-toggle) {
  padding-left: 30px;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 3px;
  padding-right: 0px;
}

#colophon .site-info {
  font-size: 10px;
}

#colophon p {
  font-size: 12px;
  line-height: 1.2;
}

#colophon a {
  text-decoration: none;
  line-height: 2;
}

#masthead .site-branding img {
  width: 75px;
}

/* typography */

a {
  text-decoration: none;
}

p {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  font-size: 14px;
  font-style: normal;
  line-height: 2 !important;
}

.medium {
  font-weight: 500;
  font-style: normal;
}

h1,
h2 {
  font-family: "Italiana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 70px;
  line-height: 1.2;
}

@media screen and (max-width: 650px) {
  h1,
  h2 {
    font-size: 50px;
    line-height: 1.2 !important;
  }
}

h3 {
  font-family: "Italiana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 32px;
  line-height: 1.2;
  margin-bottom: 0px;
}

h4 {
  font-family: "Italiana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 48px;
  line-height: 1.2;
  margin-bottom: 0px;
}

h5 {
  font-family: "Italiana", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  line-height: 1.2;
}

h6 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.2;
  font-style: normal;
  margin-bottom: 15px;
}

.hero-copy * {
  max-width: 900px;
  margin: 30px auto 0px 0px;
}

.copper-text {
  color: #d19f75;
}

.brown-text {
  color: #a27b5b;
}

ul {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  font-size: 14px;
  font-style: normal;
  line-height: 1.2 !important;
}

li {
  margin-bottom: 15px;
}

/* buttons */

.white-button-50 {
  padding: 10px 20px;
  background: rgba(255,255,255, 0.5);
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 40px;
  letter-spacing: 2px;
  transition: background 0.25s;
}

.white-button-75 {
  padding: 10px 20px;
  background: rgba(255,255,255, 0.75);
  color: #171c1e;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 40px;
  letter-spacing: 2px;
  transition: background 0.25s;
}

.white-button-50:hover,
.white-button-75:hover {
  background: rgba(255,255,255, 1);
  color: #171c1e;
  transition: background 0.25s;
}

.swf-brown-button-40 {
  padding: 10px 20px;
  background: rgba(162,123,91, 0.4);
  color: #171c1e;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 40px;
  letter-spacing: 2px;
  transition: background 0.25s;
}

.swf-brown-button-40:hover {
  background: rgba(162,123,91, 1);
  color: #ffffff;
  transition: background 0.25s;
}

.white-button-nobox {
  padding: 10px 0px;
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 40px;
  letter-spacing: 2px;
  transition: color 0.25s;
}

.white-button-nobox:hover {
  color: #a27b5b;
  transition: color 0.25s;
}

.navy-to-sage-button {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 0;
  border: none;
  background-color: #142930;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}

.navy-to-sage-button:hover {
  background-color: #435252;
  text-decoration: none;
  color: #ffffff;
}

/* forms */

.wpcf7 textarea.wpcf7-form-control.wpcf7-textarea {
  padding: 10px;
  margin-bottom: 20px;
  background: transparent;
  border: solid 1px #ffffff;
  color: #ffffff;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 400;
}

.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel {
  padding: 10px;
  background: transparent;
  border: solid 1px #ffffff;
  color: #ffffff;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 400;
}

.wpcf7-form-control.wpcf7-text.wpcf7-email.wpcf7-validates-as-required.wpcf7-validates-as-email {
  padding: 10px;
  background: transparent;
  border: solid 1px #ffffff;
  color: #ffffff;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 400;
}

.wpcf7 input.wpcf7-form-control.wpcf7-text {
  padding: 10px;
  background: transparent;
  border: solid 1px #ffffff;
  color: #ffffff;
  border-radius: 0px;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 2px;
}

.wpcf7-form-control.has-spinner.wpcf7-submit {
  background-color: transparent;
  padding: 18px;
  border: solid 1px #ffffff;
  border-radius: 0px;
  text-decoration: none;
  text-transform: none;
  color: #ffffff;
  font-size: 12px;
  margin: 0px auto 30px 0px;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
  background-color: #ffffff;
  color: #171c1e;
  transition: 0.5s;
}

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: rgba(0, 0, 0, 0.0);
  /* Dark Gray 800 */
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0px;
  margin: 0px 24px;
  position: relative;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

.wpcf7-spinner::before {
  content: '';
  position: absolute;
  background-color: #000000;
  /* Light Gray 100 */
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  transform-origin: 8px 8px;
  animation-name: spin;
  animation-duration: 1000ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
  .wpcf7-spinner::before {
    animation-name: blink;
    animation-duration: 2000ms;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes blink {
  from {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

/*.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2;
  /* Blue 
}

.wpcf7 form.init .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  border: none;
  text-align: center;
  font-size: 24px;
  background: transparent;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  color: #dc3232;
  /* Red 
  border: none;
  text-align: center;
  font-size: 24px;
  background: transparent;
}

.wpcf7 form.spam .wpcf7-response-output {
  color: #f56e28;
  border: none;
  text-align: center;
  font-size: 24px;
  background: transparent;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  /* Yellow 
  text-align: center;
  font-size: 24px;
  background: transparent;
} */

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
  outline: none;
  border-color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff;
}

form[action*="wpcf7-f1212"] input,
form[action*="wpcf7-f1212"] textarea {
  border-color: #000 !important;
  color: #000 !important;
}

/* security */

.grecaptcha-badge {
  visibility: hidden;
}

.cf-turnstile {
    display: none !important;
}


/* =========================
   HERO BACKGROUND VIDEOS
========================= */

.swf-video-hero {
  position: relative;
}

.swf-hero-inner {
  position: relative;
  isolation: isolate;
}

/* video layer behind copy */

.swf-video-bg {
  position: relative;
  z-index: 1;
}

/* copy layer above video */

.hero-copy {
  position: relative !important;
  z-index: 10 !important;
}

/* side label above video too */

.swf-side-label {
  z-index: 20;
}

/* =========================
   SIDE LABELS
========================= */

.swf-side-label-row {
  position: relative;
  overflow: visible;
}

.swf-side-label {
  position: absolute;
  top: 60px;
  bottom: 60px;
  right: 24px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 10px;
  letter-spacing: 3px;
  line-height: 1;
}

.swf-side-label::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: #d19f75;
  transform: translateX(-50%);
  z-index: 1;
}

.swf-side-label p {
  margin: 0;
  padding: 0 0 10px 0;
  display: inline-block;
  position: relative;
  z-index: 2;
  font-size: 10px;
  letter-spacing: 3px;
}

.swf-black p {
  color: #ffffff;
  background: #171c1e;
  box-shadow: 0 0 0 6px #171c1e;
}

.swf-ivory p {
  color: #142930;
  background: #e4e1d9;
  box-shadow: 0 0 0 6px #e4e1d9;
}

.swf-navy p {
  color: #ffffff;
  background: #142930;
  box-shadow: 0 0 0 6px #142930;
}

.swf-sage p {
  color: #ffffff;
  background: #435252;
  box-shadow: 0 0 0 6px #435252;
}

@media screen and (max-width: 760px) {
  .swf-side-label {
    display: none;
  }
}

/* =========================
   SQUARE THUMBS
========================= */

.square-thumb {
  aspect-ratio: 1 / 1;
  position: relative;
  overflow: hidden;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 2px;
}

/* dark overlay */

.square-thumb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    200deg,
    rgba(0, 0, 0, 0) 30%,
    rgba(0, 0, 0, 1) 100%
  );
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: 1;
  pointer-events: none;
}

.square-thumb:hover::before {
  opacity: 0.5;
}

/* remove paragraph spacing */

.square-thumb p {
  margin: 0;
  height: 100%;
}

/* full clickable link WITH padding */

.square-thumb a {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 20px;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  z-index: 2;
  line-height: 1.2;
}

/* background gradients */

.rtl-45-background-gradient {
  background: linear-gradient(105deg,rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 1) 90%);
}

.ltr-45-background-gradient {
  background: linear-gradient(230deg,rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 1) 90%);
}

@media screen and (max-width: 650px) {
  .rtl-45-background-gradient,
  .ltr-45-background-gradient {
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 1) 90%);
  }
}

/* arrow button */

.brown-arrow-button {
  filter: invert(54%) sepia(18%) saturate(500%) hue-rotate(10deg);
  transition: filter 0.3s ease;
}

.brown-arrow-button:hover {
  filter: invert(10%) sepia(10%) saturate(200%) hue-rotate(180deg);
}

#content.site-content {
  margin-bottom: -15px;
}

/* sliders */

.sow-slider-pagination {
  display: none !important;
}

/* posts */

.entry-content {
  margin-top: 0px !important;
}

article.post,
article.page {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* =========================================================
   GLD / Southwest Livemesh Grids
   ========================================================= */

.lsow-taxonomy-filter a[data-value="*"] {
  display: none !important;
}

.lsow-portfolio-wrap .lsow-portfolio {
  margin: 0 !important;
}

.lsow-portfolio-wrap .lsow-portfolio .lsow-portfolio-item {
  padding: 5px !important;
  margin: 0 !important;
  background: transparent !important;
  box-sizing: border-box;
}

.lsow-portfolio-wrap .lsow-portfolio .lsow-portfolio-item article {
  height: 100%;
  padding: 10px;
  background: rgba(255,255,255,0.25);
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
  transition: background 0.25s;
}

.lsow-portfolio-wrap .lsow-portfolio .lsow-portfolio-item:hover {
  background: transparent !important;
}

.lsow-portfolio-wrap .lsow-portfolio .lsow-portfolio-item:hover article {
  background: rgba(255,255,255,0.75);
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.lsow-portfolio-item:hover .lsow-project-image img {
  opacity: 1 !important;
  filter: none !important;
}

.lsow-portfolio-wrap .lsow-project-image {
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #333333;
  display: block;
}

.lsow-portfolio-wrap .lsow-project-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.lsow-entry-text-wrap {
  padding: 10px 20px 20px 20px;
  margin-top: 0 !important;
  min-height: 100px;
  box-sizing: border-box;
  transition: 0.5s;
}

.lsow-portfolio-wrap .lsow-portfolio .lsow-portfolio-item .entry-title a {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2 !important;
  letter-spacing: 0.2px;
  color: #171c1e;
  text-decoration: none;
}

.entry-summary {
  font-size: 12px;
  line-height: 1.5;
}

.lsow-terms a {
  font-size: 10px;
  text-align: left;
  color: #142930 !important;
}

.lsow-portfolio-wrap .lsow-taxonomy-filter .lsow-filter-item a {
  text-decoration: none;
  font-size: 14px !important;
  padding: 5px 25px !important;
  margin: 0 5px;
}

.lsow-portfolio-wrap .lsow-taxonomy-filter .lsow-filter-item.lsow-active:after {
  border-bottom: 3px solid #142930 !important;
}

.lsow-read-more {
  display: inline-block;
  padding: 10px 20px;
  background: rgba(162,123,91,0.4);
  color: #171c1e;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 2px;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transition: background 0.25s, color 0.25s;
}

.lsow-read-more:hover,
.lsow-read-more:focus {
  background: rgba(162,123,91,1);
  color: #ffffff;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.post.type-post.status-publish.format-standard.has-post-thumbnail {
  margin-bottom: 0;
}


/* =========================================================
   Southwest Careers Only
   Add class "swf-careers" to the Livemesh Portfolio widget
   ========================================================= */

.job-title p {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2 !important;
}

.swf-careers .lsow-entry-text-wrap {
  min-height: 300px;
  display: flex !important;
  flex-direction: column !important;
}

.swf-careers .entry-summary {
  flex: 1 1 auto;
}

.swf-careers .lsow-read-more {
  margin-top: auto;
}

.swf-careers .entry-title a {
  font-size: clamp(14px, 2vw, 18px) !important;
  line-height: 1.2 !important;
  font-weight: 600;
}

@media (max-width: 767px) {
  .swf-careers .lsow-entry-text-wrap {
    min-height: 0;
  }

  .swf-careers .lsow-read-more {
    margin-top: 20px;
  }
}

/* Job listing single posts - masthead spacing */

.single-jobs body.responsive #masthead,
body.single-jobs.responsive #masthead {
  padding-bottom: 30px !important;
}




/* GLD PRODUCTS */

.product-detail-title p {
  font-family: "Montserrat", sans-serif !important;
  font-size: 45px;
  line-height: 1.15 !important;
  font-weight: 500;
  color: #171c1e;
}

.pdp-subhead {
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #142930;
  margin: 0 0 12px;
  line-height: 1.3;
}

.pdp-sub-subhead {
  font-family: "Montserrat", sans-serif !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #435252;
  margin: 16px 0 6px;
}

.pdp-downloads a {
  font-size: 13px;
  color: #171c1e;
  text-decoration: none;
}

.pdp-downloads a:hover {
  color: #435252;
}

.entry-thumbnail {
  display: none;
}

.white-25-background {
  background: rgba(255,255,255,0.25);
}

/* =========================================================
   HHT FEED
   ========================================================= */

/* =========================================================
   1. SHARED FEED FOUNDATION
   Applies to both catalog and PDP
   ========================================================= */

#HHTSyndicatedCatalogContent {
  padding-top: 12px;
  background: #e4e1d9;
}

#HHTSyndicatedCatalogContent img {
  max-width: 100%;
  height: auto;
}

#HHTSyndicatedCatalogContent a {
  text-decoration: none;
}

#HHTSyndicatedCatalogContent #NavPanel {
  border: none !important;
}

/* =========================================================
   2. SHARED CONTROLS
   Buttons, dropdowns, nav buttons
   ========================================================= */

#HHTSyndicatedCatalogContent select {
  min-height: 48px;
  padding: 0 44px 0 14px;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  background-color: #142930;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 2px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #ffffff 50%),
    linear-gradient(135deg, #ffffff 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  box-shadow: none;
  transition: background 0.25s;
}

#HHTSyndicatedCatalogContent select:hover {
  border-color: #8f8778;
  background-color: #435252;
  transition: background 0.25s;
}

#HHTSyndicatedCatalogContent select:focus {
  outline: none;
  border-color: #7b6e5a;
  background-color: #435252;
}

#HHTSyndicatedCatalogContent .button,
#HHTSyndicatedCatalogContent button,
#HHTSyndicatedCatalogContent input[type="button"],
#HHTSyndicatedCatalogContent input[type="submit"] {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  display: inline-block;
  padding: 12px 20px;
  border-radius: 0;
  border: none;
  background-color: #142930;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}

#HHTSyndicatedCatalogContent .button:hover,
#HHTSyndicatedCatalogContent button:hover,
#HHTSyndicatedCatalogContent input[type="button"]:hover,
#HHTSyndicatedCatalogContent input[type="submit"]:hover {
  background-color: #435252;
  text-decoration: none;
  color: #ffffff;
}

#HHTSyndicatedCatalogContent #NavBackToProducts,
#HHTSyndicatedCatalogContent #NavBackToCategories,
#HHTSyndicatedCatalogContent #NavCouponBackLink,
#HHTSyndicatedCatalogContent #NavContactBackLink {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400;
  display: inline-block;
  padding: 12px 20px;
  border-radius: 0;
  border: none;
  background-color: #142930;
  color: #ffffff;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}

#HHTSyndicatedCatalogContent #NavBackToProducts:hover,
#HHTSyndicatedCatalogContent #NavBackToCategories:hover,
#HHTSyndicatedCatalogContent #NavCouponBackLink:hover,
#HHTSyndicatedCatalogContent #NavContactBackLink:hover {
  background-color: #435252;
  color: #ffffff;
}

#HHTSyndicatedCatalogContent #backArrow {
  display: none !important;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* =========================================================
   3. CATALOG PAGE
   Product list + filter count
   ========================================================= */

/* Product list cards */

#HHTSyndicatedCatalogContent #ProductList li {
  margin-bottom: 24px;
  background: rgba(255, 255, 255, 0.25);
  padding: 10px;
  transition: background 0.25s;
}

#HHTSyndicatedCatalogContent #ProductList li:hover {
  background: rgba(255, 255, 255, 0.7);
}

/* Product titles under thumbnails */

#HHTSyndicatedCatalogContent #ProductList li p {
  margin: 5px 0 0;
}

#HHTSyndicatedCatalogContent #ProductList li p a {
  display: block;
  line-height: 1.5;
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: #171c1e;
  text-decoration: none;
  margin-bottom: 30px;
}

#HHTSyndicatedCatalogContent #ProductList li p a:hover {
  color: #435252;
}

/* Filter result count */

#HHTSyndicatedCatalogContent #ProductFilterPanel h3 {
  margin: 16px 0 30px;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 400;
  color: #142930;
}

#HHTSyndicatedCatalogContent #ProductCount {
  font-weight: 600;
  letter-spacing: 1px;
  margin-left: 4px;
}

/* =========================================================
   HHT FEED PDP
   Only applies on product detail pages (?pid=...)
   ========================================================= */

/* =========================================================
   4. PDP PAGE WRAPPER
   General background / outer spacing
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent {
  background: #e4e1d9;
  padding-top: 20px;
}

/* =========================================================
   5. PDP TOP NAV / CTA ROW
   Back button + offer/contact buttons
   ========================================================= */

body.hht-pdp #HeaderPanel,
body.hht-pdp #NavPanel {
  margin: 0 0 20px;
}

body.hht-pdp #NavPanel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

body.hht-pdp #CTAGroup {
  list-style: none;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0;
}

body.hht-pdp #CTAGroup li {
  margin: 0;
  padding: 0;
}

/* =========================================================
   6. PDP MAIN CONTAINER
   Width + top layout
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 55% 45%;
  column-gap: 40px;
  row-gap: 16px;
  align-items: start;
}

/* Left image */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .hero-image {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0;
}

/* Right title */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail h1 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  font-family: "Montserrat", sans-serif !important;
  font-size: 45px;
  line-height: 1.15;
  font-weight: 500;
  color: #171c1e;
}

/* Description is broken apart by JS wrapper */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .description {
  display: contents;
}

/* Intro paragraph under title 
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .pdp-intro {
  grid-column: 2;
  grid-row: 2;
  margin: 0;
}*/

/* Remaining description full width below */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .pdp-full-description {
  grid-column: 1 / -1;
  grid-row: 3;
  margin-top: 24px;
}

/* =========================================================
   7. PDP BODY TYPOGRAPHY
   Description copy styling
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .description p,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .description li {
  font-family: "Montserrat", sans-serif !important;
  font-size: 15px;
  line-height: 1.6;
  color: #171c1e;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .description ul {
  margin: 0 0 20px 20px;
  padding: 0;
}

/* =========================================================
   8. PDP LOWER LAYOUT
   Contact form left / Downloads right
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us {
  grid-column: 1;
  grid-row: 4;
  margin-top: 24px;
  background: rgba(255, 255, 255, 0.25);
  padding: 20px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads {
  grid-column: 2;
  grid-row: 4;
  margin-top: 24px;
  background: rgba(255, 255, 255, 0.25);
  padding: 20px;
}

/* Remove HHT separators that break layout */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail > hr,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail > br {
  display: none;
}

/* =========================================================
   9. PDP CONTACT / DOWNLOAD HEADINGS
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us h2,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads h2 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #142930;
  margin: 0 0 12px;
  line-height: 1.3;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads h3 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #435252;
  margin: 16px 0 6px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads a {
  font-size: 13px;
  color: #171c1e;
  text-decoration: none;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads a:hover {
  color: #435252;
}

/* =========================================================
   10. PDP CONTACT FORM
   Force single-column form
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us .section {
  width: 100% !important;
  float: none !important;
  display: block;
  margin: 0 0 12px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us .clear {
  display: none;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us p {
  margin: 0 0 12px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us input[type="text"],
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us input[type="email"],
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us input[type="tel"] {
  width: 100%;
  box-sizing: border-box;
}

/* Space between form intro copy and first field */

body.hht-pdp #HHTSyndicatedCatalogContent #EmbeddedContactForm .section:first-of-type {
  margin-top: 20px;
}

/* Remove divider under contact form */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us hr,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail hr {
  display: none !important;
}

/* ========================================
   PDP CONTACT FORM - PLACEHOLDERS
   ======================================== */

body.hht-pdp #HHTSyndicatedCatalogContent #EmbeddedContactForm input::placeholder {
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(23, 28, 30, 0.5);
}

body.hht-pdp #HHTSyndicatedCatalogContent #EmbeddedContactForm input:focus::placeholder {
  color: rgba(23, 28, 30, 0.3);
}

/* ========================================
   PDP CONTACT FORM - REQUIRED TEXT (FORCED)
   ======================================== */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail #EmbeddedContactForm p.fieldsRequired {
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #435252 !important;
  margin: 8px 0 12px !important;
}

/* =========================================================
   11. PDP DOWNLOADS
   Force single-column stack
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads .section {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 16px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads .section > div {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 16px;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads .clear {
  display: none !important;
}

/* =========================================================
   12. HHT UNIVERSAL ROW / WIDTH NORMALIZATION
   Keeps rebuilt HHT rows from changing width/alignment
   ========================================================= */

/* Universal box sizing inside HHT feed */

#HHTSyndicatedCatalogContent,
#HHTSyndicatedCatalogContent * {
  box-sizing: border-box;
}

/* Main HHT row wrappers */

#HHTSyndicatedCatalogContent #HeaderPanel,
#HHTSyndicatedCatalogContent #NavPanel,
#HHTSyndicatedCatalogContent #ProductFilterPanel,
#HHTSyndicatedCatalogContent #ProductList,
#HHTSyndicatedCatalogContent #ProductDetail {
  width: 100% !important;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* Keep nav row stable */

#HHTSyndicatedCatalogContent #NavPanel {
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

/* Keep CTA group pinned right */

#HHTSyndicatedCatalogContent #CTAGroup {
  margin-left: auto !important;
  display: flex;
  gap: 10px;
  padding: 0;
  list-style: none;
}

/* Prevent flex/grid children from blowing out widths */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail > * {
  min-width: 0;
}

/* PDP lower blocks should never exceed column width */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .contact-us,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .pdp-intro,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .pdp-full-description {
  width: 100%;
  min-width: 0;
}

/* ========================================
   PDP DOWNLOAD LINKS - MAKE THEM LOOK LIKE LINKS
   ======================================== */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads a {
  display: inline-block;
  color: #142930;
  cursor: pointer;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads a:hover {
  color: #435252;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads {
  position: relative;
  z-index: 2;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .downloads a {
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

/* =========================================================
   13. PDP MODEL SPECIFICATIONS
   First-pass container + typography cleanup
   ========================================================= */

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications {
  grid-column: 1 / -1;
  grid-row: 5;
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid rgba(20, 41, 48, 0.15);
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications h2,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications h3 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #142930;
  margin: 0 0 16px;
  line-height: 1.3;
}

body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications p,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications li,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications td,
body.hht-pdp #HHTSyndicatedCatalogContent #ProductDetail .viewModel-specifications th {
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px;
  line-height: 1.5;
  color: #171c1e;
}

/* =========================================================
   14. PDP HERO, TOPPER & OTHER BRANDS "TURN OFF/ON"
   ========================================================= */

body.hht-pdp .swf-products-hero,
body.hht-pdp .hht-feed-topper,
body.hht-pdp .hht-other-brands,
body.hht-pdp .hht-pdp-off,
body.hht-pdp .swf-products-feed {
  display: none !important;
}

body.hht-pdp.responsive #masthead {
  padding-bottom: 30px;
}








/* =========================================================
   Brochure downloads (veneer stone etc.)
   ========================================================= */

.brochure-download-tombstone {
	  background: rgba(255, 255, 255, 0.25);
		padding: 10px 10px 30px 10px;
		margin: 5px 5px;
		text-align: center;
		font-family: "Montserrat", sans-serif !important;
  	font-size: 14px;
  	font-weight: 600 !important;
  	line-height: 1.2 !important;
 	 	letter-spacing: 0.2px;
 	 	color: #000000;
  	text-decoration: none;
	  transition: background 0.25s;
		min-height: 280px;
		cursor: pointer;
}

.brochure-download-tombstone:hover {
	  background: rgba(255, 255, 255, 0.7);
}