/*
Theme Name: Woman of Worth
Theme URI: https://womanofworthdevotional.com
Author: Woman of Worth
Description: Premium editorial theme for the Woman of Worth devotional ministry.
Version: 1.8.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: woman-of-worth
*/

/* Shop alignment patch: keeps the native catalogue toolbar and real product
   cards centred without changing WooCommerce data, templates, or behaviour. */
.wow-shop-toolbar{
  width:var(--wow-content);
  margin:0 auto 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px 28px;
}
.wow-shop-toolbar .woocommerce-result-count,
.wow-shop-toolbar .woocommerce-ordering{
  float:none!important;
  width:auto!important;
  margin:0!important;
}
.wow-shop-toolbar .woocommerce-ordering{display:block}
.woocommerce ul.products.wow-shop-products{
  clear:both;
  justify-content:center;
  align-items:stretch;
  padding:0;
  list-style:none;
}
.woocommerce ul.products.wow-shop-products--count-1{
  grid-template-columns:minmax(280px,420px)!important;
}
.woocommerce ul.products.wow-shop-products--count-2{
  grid-template-columns:repeat(2,minmax(280px,420px))!important;
}
.woocommerce ul.products.wow-shop-products--count-3{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.woocommerce ul.products.wow-shop-products--count-4{
  grid-template-columns:repeat(var(--wow-product-columns-desktop,4),minmax(0,1fr))!important;
}
.woocommerce ul.products.wow-shop-products li.product{
  min-width:0;
  display:flex;
  flex-direction:column;
  height:100%;
}
.woocommerce ul.products.wow-shop-products li.product .woocommerce-loop-product__link{
  display:flex;
  min-width:0;
  flex:1 1 auto;
  flex-direction:column;
}
.woocommerce ul.products.wow-shop-products li.product .price{
  margin-top:auto!important;
}
.woocommerce ul.products.wow-shop-products li.product>.button{
  align-self:flex-start;
}

/* Responsive catalogue alignment. */
@media (max-width:1100px){
  .woocommerce ul.products.wow-shop-products--count-3,
  .woocommerce ul.products.wow-shop-products--count-4{
    grid-template-columns:repeat(var(--wow-product-columns-tablet,2),minmax(0,1fr))!important;
  }
}
@media (max-width:720px){
  .wow-shop-toolbar{
    width:calc(100vw - 30px);
    margin-bottom:22px;
    align-items:stretch;
    flex-direction:column;
  }
  .wow-shop-toolbar .woocommerce-ordering,
  .wow-shop-toolbar .woocommerce-ordering select{
    width:100%!important;
  }
  .woocommerce ul.products.wow-shop-products--count-1,
  .woocommerce ul.products.wow-shop-products--count-2,
  .woocommerce ul.products.wow-shop-products--count-3,
  .woocommerce ul.products.wow-shop-products--count-4{
    grid-template-columns:repeat(var(--wow-product-columns-mobile,1),minmax(0,1fr))!important;
  }
}

/* --------------------------------------------------------------------------
   Shop archive responsive-width repair — v1.7.3

   The Shop page can contain native WooCommerce output plus Admin Studio visual
   sections. A child saved as 100vw (or with a fixed width and left margin)
   inside WooCommerce's centred wrapper makes the entire document wider than
   the browser. These rules constrain only product archives and taxonomy pages;
   no homepage, product, checkout, content, colour, image or typography rule is
   changed.
   -------------------------------------------------------------------------- */
html.wow-shop-archive-page,
html.wow-shop-archive-page body{
  width:100%;
  max-width:100%;
  min-width:0;
}

html.wow-shop-archive-page .site-main,
html.wow-shop-archive-page #primary,
html.wow-shop-archive-page .woocommerce{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}

/* Keep every top-level Shop region centred inside the real containing width.
   Using 100% here, rather than 100vw, avoids browser-scrollbar and zoom drift. */
html.wow-shop-archive-page .woocommerce-products-header,
html.wow-shop-archive-page .woocommerce-notices-wrapper,
html.wow-shop-archive-page .wow-shop-toolbar,
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products,
html.wow-shop-archive-page .woocommerce nav.woocommerce-pagination{
  width:min(1380px,calc(100% - clamp(24px,4vw,64px)))!important;
  max-width:calc(100% - clamp(24px,4vw,64px))!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Admin Studio additions on Shop must be responsive even when an earlier
   editor draft stored 100vw, a fixed pixel width, or an offset margin. */
html.wow-shop-archive-page .woocommerce > .wow-as-page-document,
html.wow-shop-archive-page .woocommerce .wow-as-page-document{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
html.wow-shop-archive-page .woocommerce .wow-as-page-document > .wow-as-public-section{
  width:min(1380px,calc(100% - clamp(24px,4vw,64px)))!important;
  max-width:calc(100% - clamp(24px,4vw,64px))!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html.wow-shop-archive-page .woocommerce .wow-as-structured-section > .wow-as-row,
html.wow-shop-archive-page .woocommerce .wow-as-row{
  width:min(1180px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  flex-wrap:wrap!important;
  box-sizing:border-box!important;
}
html.wow-shop-archive-page .woocommerce .wow-as-column,
html.wow-shop-archive-page .woocommerce .wow-as-element{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html.wow-shop-archive-page .woocommerce-products-header > *,
html.wow-shop-archive-page .woocommerce .wow-as-page-document :where(div,section,article,header,footer,main,aside,figure,picture,figcaption,h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,li,table,thead,tbody,tfoot,tr,td,th){
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

html.wow-shop-archive-page .woocommerce img,
html.wow-shop-archive-page .woocommerce picture,
html.wow-shop-archive-page .woocommerce video,
html.wow-shop-archive-page .woocommerce audio,
html.wow-shop-archive-page .woocommerce iframe,
html.wow-shop-archive-page .woocommerce table,
html.wow-shop-archive-page .woocommerce form,
html.wow-shop-archive-page .woocommerce select{
  max-width:100%;
  box-sizing:border-box;
}

html.wow-shop-archive-page .wow-shop-toolbar{
  flex-wrap:wrap;
}
html.wow-shop-archive-page .wow-shop-toolbar .woocommerce-result-count,
html.wow-shop-archive-page .wow-shop-toolbar .woocommerce-ordering{
  min-width:0!important;
  max-width:100%!important;
}

html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products{
  clear:both;
  overflow:visible!important;
  padding-left:0!important;
  padding-right:0!important;
  justify-content:center;
}
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-1{
  grid-template-columns:minmax(0,420px)!important;
}
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-2{
  grid-template-columns:repeat(2,minmax(0,420px))!important;
}
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products li.product,
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products li.product > *,
html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products .woocommerce-loop-product__link{
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}

@media (max-width:720px){
  html.wow-shop-archive-page .woocommerce-products-header,
  html.wow-shop-archive-page .woocommerce-notices-wrapper,
  html.wow-shop-archive-page .wow-shop-toolbar,
  html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products,
  html.wow-shop-archive-page .woocommerce nav.woocommerce-pagination,
  html.wow-shop-archive-page .woocommerce .wow-as-page-document > .wow-as-public-section{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }
  html.wow-shop-archive-page .wow-shop-toolbar{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  html.wow-shop-archive-page .wow-shop-toolbar .woocommerce-ordering,
  html.wow-shop-archive-page .wow-shop-toolbar .woocommerce-ordering select{
    width:100%!important;
  }
  html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-1,
  html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-2,
  html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-3,
  html.wow-shop-archive-page .woocommerce ul.products.wow-shop-products--count-4{
    grid-template-columns:1fr!important;
  }
  html.wow-shop-archive-page .woocommerce .wow-as-column{
    width:100%!important;
  }
}



/* Homepage product/book cards: request and display the complete cover without
   changing Shop, product, cart, or checkout imagery. */
body.home .wow-home-resource-card__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.home .wow-home-resource-card__product-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0 auto!important;
  object-fit:contain!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  rotate:0deg!important;
}

/* --------------------------------------------------------------------------
   v1.7.5 — complete Shop artwork and consistent About paragraph typography
   -------------------------------------------------------------------------- */

/* WooCommerce now supplies `woocommerce_single` instead of the already-cropped
   catalogue thumbnail on Shop/product archives. Keep the full source centred
   inside the existing portrait card. This is intentionally archive-only. */
html.wow-shop-archive-page .woocommerce ul.products li.product a img,
html.wow-shop-archive-page .woocommerce ul.products li.product .woocommerce-loop-product__link img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  aspect-ratio:4 / 5!important;
  margin:0 auto!important;
  padding:clamp(10px,1.4vw,18px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:linear-gradient(145deg,#fff,#fff7fa)!important;
  transform:none!important;
  translate:none!important;
  scale:1!important;
  rotate:0deg!important;
  box-sizing:border-box!important;
}

/* Optional About-page paragraph style selected in native Theme Controls. It
   uses the same elegant italic heading font visible beneath section headings,
   but only for paragraph copy on the About page. */
body.wow-about-paragraphs-editorial .wow-about-page p:not(.section-label):not(.form-row):not(.woocommerce-info):not(.woocommerce-message):not(.woocommerce-error){
  font-family:var(--wow-heading)!important;
  font-style:italic;
  font-weight:500;
  font-size:clamp(1.14rem,1.25vw,1.34rem);
  line-height:1.7;
  letter-spacing:.002em;
}
body.wow-about-paragraphs-editorial .wow-about-page :where(.button,.wow-button,.wp-element-button,button,input,textarea,select,label,small){
  font-family:var(--wow-body)!important;
  font-style:normal;
}

@media (max-width:560px){
  body.wow-about-paragraphs-editorial .wow-about-page p:not(.section-label):not(.form-row):not(.woocommerce-info):not(.woocommerce-message):not(.woocommerce-error){
    font-size:1.12rem;
    line-height:1.68;
  }
}

/* --------------------------------------------------------------------------
   v1.7.7 — polished, centred and editable About Us page heading
   The heading text is controlled from Appearance → Woman of Worth Theme
   Controls. Leaving the field blank hides only the heading and preserves all
   saved About-page content.
   -------------------------------------------------------------------------- */
.wow-about-page .wow-about-page__title {
  width: var(--wow-content);
  margin-inline: auto;
  padding: clamp(3.4rem, 6vw, 5.25rem) 0 clamp(.9rem, 1.4vw, 1.2rem);
  text-align: center !important;
}
.wow-about-page .wow-about-page__title h1 {
  max-width: 960px;
  margin: 0 auto;
  color: var(--wow-primary);
  font: 600 clamp(3.35rem, 5.4vw, 5rem)/.94 var(--wow-heading);
  letter-spacing: -.025em;
  text-wrap: balance;
  text-align: center !important;
}
.wow-about-page__title-accent {
  display: flex;
  width: min(240px, 52vw);
  height: 1px;
  align-items: center;
  justify-content: center;
  margin: clamp(1rem, 1.8vw, 1.35rem) auto 0;
  background: linear-gradient(90deg, transparent, var(--wow-gold) 24%, var(--wow-gold) 76%, transparent);
}
.wow-about-page__title-accent::after {
  content: "✦";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  background: var(--wow-bg, #fff);
  color: var(--wow-gold);
  font-size: .78rem;
  line-height: 1;
}
.wow-about-page > .wow-about-page__title + .section {
  padding-top: clamp(1.45rem, 2.4vw, 2.2rem);
}
@media (max-width: 760px) {
  .wow-about-page .wow-about-page__title {
    width: min(100% - 32px, 720px);
    padding-top: clamp(2.6rem, 10vw, 3.6rem);
    padding-bottom: .8rem;
  }
  .wow-about-page .wow-about-page__title h1 {
    font-size: clamp(2.85rem, 14vw, 3.9rem);
  }
  .wow-about-page > .wow-about-page__title + .section {
    padding-top: clamp(1.4rem, 5.5vw, 2rem);
  }
}

/* --------------------------------------------------------------------------
   v1.7.8 — professional, editable Contact Us page
   This is scoped to the dedicated Contact template. Existing page content and
   working contact-form shortcodes remain authoritative.
   -------------------------------------------------------------------------- */
body.wow-contact-page-active {
  overflow-x: clip;
}
.wow-contact-page {
  background: var(--wow-bg, #fff);
}
.wow-contact-hero {
  position: relative;
  isolation: isolate;
  min-height: 360px;
  display: grid;
  place-items: center;
  padding: clamp(4.25rem, 8vw, 7rem) max(24px, calc((100vw - 1120px) / 2));
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(circle at 10% 18%, rgba(244, 22, 122, .11), transparent 24rem),
    radial-gradient(circle at 88% 72%, rgba(159, 15, 85, .09), transparent 28rem),
    linear-gradient(145deg, #fff, #fff4f8 58%, #fff9fb);
}
.wow-contact-hero::before,
.wow-contact-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(195, 146, 51, .25);
  border-radius: 50%;
}
.wow-contact-hero::before {
  width: 260px;
  height: 360px;
  left: -120px;
  top: -130px;
  transform: rotate(-24deg);
}
.wow-contact-hero::after {
  width: 220px;
  height: 300px;
  right: -90px;
  bottom: -120px;
  transform: rotate(30deg);
}
.wow-contact-hero__inner {
  width: min(840px, 100%);
}
.wow-contact-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 15px;
  color: var(--wow-gold);
  font: 800 .76rem/1 var(--wow-body);
  letter-spacing: .19em;
  text-transform: uppercase;
}
.wow-contact-hero__eyebrow::before,
.wow-contact-hero__eyebrow::after {
  content: "";
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor);
}
.wow-contact-hero__eyebrow::after {
  background: linear-gradient(90deg, currentColor, transparent);
}
.wow-contact-hero h1 {
  max-width: 900px;
  margin: 0 auto;
  color: var(--wow-primary);
  font: 600 clamp(3.6rem, 7vw, 6.2rem)/.9 var(--wow-heading);
  letter-spacing: -.035em;
  text-wrap: balance;
}
.wow-contact-hero__intro {
  max-width: 700px;
  margin: clamp(1.25rem, 2.4vw, 1.75rem) auto 0;
  color: #6a4f5c;
  font-size: clamp(.98rem, 1.25vw, 1.1rem);
  line-height: 1.8;
  text-wrap: pretty;
}
.wow-contact-hero__accent {
  display: flex;
  width: min(240px, 54vw);
  height: 1px;
  align-items: center;
  justify-content: center;
  margin: 24px auto 0;
  background: linear-gradient(90deg, transparent, var(--wow-gold) 25%, var(--wow-gold) 75%, transparent);
}
.wow-contact-hero__accent::after {
  content: "✦";
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  background: #fff8fb;
  color: var(--wow-gold);
  font-size: .78rem;
}
.wow-contact-layout {
  width: min(1120px, calc(100vw - 48px));
  display: grid;
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.22fr);
  gap: clamp(28px, 4vw, 54px);
  align-items: stretch;
  margin: 0 auto;
  padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(4.5rem, 7vw, 7rem);
}
.wow-contact-details,
.wow-contact-form-card {
  min-width: 0;
  border: 1px solid #edd6df;
  border-radius: clamp(18px, 2vw, 26px);
  box-shadow: 0 22px 58px rgba(83, 26, 52, .09);
}
.wow-contact-details {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.86), transparent 13rem),
    linear-gradient(155deg, #fff0f5, #fff8fa 68%, #fff);
}
.wow-contact-details::after {
  content: "";
  position: absolute;
  right: -64px;
  bottom: -86px;
  width: 190px;
  height: 260px;
  border: 1px solid rgba(159,15,85,.14);
  border-radius: 48% 52% 38% 62%;
  transform: rotate(26deg);
  pointer-events: none;
}
.wow-contact-details__image {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #fceaf1;
}
.wow-contact-details__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wow-contact-details__body {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 4vw, 44px);
}
.wow-contact-details h2,
.wow-contact-form-card h2 {
  margin: 0;
  color: var(--wow-primary);
  font: 600 clamp(2.25rem, 3.5vw, 3.4rem)/.96 var(--wow-heading);
  letter-spacing: -.02em;
}
.wow-contact-details__copy,
.wow-contact-form-card__copy {
  margin: 15px 0 0;
  color: #725a66;
  line-height: 1.75;
}
.wow-contact-methods {
  display: grid;
  gap: 13px;
  margin: 30px 0 0;
}
.wow-contact-method {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid rgba(159,15,85,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.wow-contact-method:hover,
.wow-contact-method:focus-within {
  border-color: rgba(244,22,122,.4);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(90,28,57,.07);
}
.wow-contact-method__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--wow-primary), var(--wow-accent));
  color: #fff;
  box-shadow: 0 8px 18px rgba(159,15,85,.18);
}
.wow-contact-method__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wow-contact-method__text {
  min-width: 0;
}
.wow-contact-method__label {
  display: block;
  margin-bottom: 3px;
  color: var(--wow-gold);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.wow-contact-method a,
.wow-contact-method__value {
  display: inline-block;
  max-width: 100%;
  color: var(--wow-primary-dark, var(--wow-primary));
  font-weight: 750;
  overflow-wrap: anywhere;
}
.wow-contact-social {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid rgba(159,15,85,.13);
}
.wow-contact-social h3 {
  margin: 0 0 13px;
  color: var(--wow-primary);
  font: 600 1.55rem/1 var(--wow-heading);
}
.wow-contact-social__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.wow-contact-social__links a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  border: 1px solid rgba(159,15,85,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--wow-primary);
  font-size: .76rem;
  font-weight: 800;
}
.wow-contact-social__links a:hover,
.wow-contact-social__links a:focus-visible {
  border-color: var(--wow-accent);
  color: var(--wow-accent);
}
.wow-contact-social__links svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}
.wow-contact-form-card {
  align-self: stretch;
  padding: clamp(30px, 4vw, 52px);
  background: #fff;
}
.wow-contact-notice {
  margin: 0 0 24px;
  padding: 14px 17px;
  border: 1px solid #badfc8;
  border-radius: 12px;
  background: #effaf3;
  color: #285e3c;
  font-weight: 700;
}
.wow-contact-form-content {
  margin-top: 30px;
}
.wow-contact-form-content > :first-child {
  margin-top: 0;
}
.wow-contact-form-content > :last-child {
  margin-bottom: 0;
}
.wow-contact-form-content :where(h1,h2,h3,h4) {
  color: var(--wow-primary);
  font-family: var(--wow-heading);
}
.wow-contact-form-content :where(p,li) {
  color: #6d5662;
  line-height: 1.75;
}
.wow-contact-form,
.wow-contact-form-content form,
.wow-contact-form-content .wpforms-form,
.wow-contact-form-content .wpcf7-form,
.wow-contact-form-content .gform_wrapper form,
.wow-contact-form-content .forminator-ui {
  min-width: 0;
}
.wow-contact-form {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.wow-contact-form label {
  display: grid;
  gap: 8px;
  margin: 0;
  color: #543c49;
  font-size: .78rem;
  font-weight: 800;
}
.wow-contact-form label:nth-of-type(3) {
  grid-column: 1 / -1;
}
.wow-contact-form :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), textarea, select),
.wow-contact-form-content :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]), textarea, select) {
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #dec4cf;
  border-radius: 10px;
  outline: 0;
  background: #fffdfd;
  color: var(--wow-ink);
  font: 500 1rem var(--wow-body);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.wow-contact-form :where(textarea),
.wow-contact-form-content textarea {
  min-height: 170px;
  resize: vertical;
}
.wow-contact-form :where(input,textarea,select):focus,
.wow-contact-form-content :where(input,textarea,select):focus {
  border-color: var(--wow-accent);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(244,22,122,.10);
}
.wow-contact-form .wow-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.wow-contact-form button,
.wow-contact-form-content :where(button, input[type=submit], .wpforms-submit, .wpcf7-submit, .gform_button) {
  min-height: 50px;
  padding: 12px 25px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--wow-primary), var(--wow-accent));
  color: #fff;
  font: 800 .82rem/1 var(--wow-body);
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: 0 11px 25px rgba(159,15,85,.18);
  transition: transform .2s ease, box-shadow .2s ease;
}
.wow-contact-form button {
  grid-column: 1 / -1;
  justify-self: start;
}
.wow-contact-form button:hover,
.wow-contact-form button:focus-visible,
.wow-contact-form-content :where(button, input[type=submit], .wpforms-submit, .wpcf7-submit, .gform_button):hover,
.wow-contact-form-content :where(button, input[type=submit], .wpforms-submit, .wpcf7-submit, .gform_button):focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 15px 28px rgba(159,15,85,.25);
}
.wow-contact-direct-email {
  display: grid;
  gap: 14px;
  justify-items: start;
  padding: 22px;
  border: 1px dashed #ddbcca;
  border-radius: 14px;
  background: #fff8fa;
}
.wow-contact-direct-email p {
  margin: 0;
}
@media (max-width: 880px) {
  .wow-contact-layout {
    grid-template-columns: 1fr;
    width: min(760px, calc(100vw - 38px));
  }
  .wow-contact-details__image {
    max-height: 330px;
  }
}
@media (max-width: 560px) {
  .wow-contact-hero {
    min-height: 310px;
    padding: 3.5rem 20px;
  }
  .wow-contact-hero h1 {
    font-size: clamp(3.1rem, 17vw, 4.3rem);
  }
  .wow-contact-hero__eyebrow::before,
  .wow-contact-hero__eyebrow::after {
    width: 24px;
  }
  .wow-contact-layout {
    width: min(100% - 28px, 520px);
    gap: 22px;
    padding-block: 2.6rem 4rem;
  }
  .wow-contact-details__body,
  .wow-contact-form-card {
    padding: 25px 20px;
  }
  .wow-contact-form {
    grid-template-columns: 1fr;
  }
  .wow-contact-form label:nth-of-type(3),
  .wow-contact-form button {
    grid-column: auto;
  }
  .wow-contact-form button,
  .wow-contact-form-content :where(button, input[type=submit], .wpforms-submit, .wpcf7-submit, .gform_button) {
    width: 100%;
    justify-content: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .wow-contact-method,
  .wow-contact-form button,
  .wow-contact-form-content :where(button, input[type=submit], .wpforms-submit, .wpcf7-submit, .gform_button) {
    transition: none;
  }
}



/* --------------------------------------------------------------------------
   v1.7.9 — spacing rhythm, colour consistency and restrained visual polish
   These rules preserve every existing section, image and layout structure.
   -------------------------------------------------------------------------- */
:root {
  --wow-unified-section-space: clamp(3.5rem, 5vw, 4.75rem);
  --wow-unified-section-space-mobile: clamp(2.55rem, 8vw, 3.5rem);
}

body.home .site-main > :is(.latest.section, .media-band.section, .resources.section, .testimonials.section) {
  padding-top: var(--wow-home-section-space, var(--wow-unified-section-space)) !important;
  padding-bottom: var(--wow-home-section-space, var(--wow-unified-section-space)) !important;
}
body.home .site-main > .hub.section,
body.home .site-main > .ministry-split.section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.home .hub__content,
body.home .ministry-split__copy {
  padding-top: var(--wow-home-section-space, var(--wow-unified-section-space)) !important;
  padding-bottom: var(--wow-home-section-space, var(--wow-unified-section-space)) !important;
}
body.home .site-main > section + section {
  margin-top: 0 !important;
}

body:not(.home):not(.wow-contact-page-active) .site-main > .page-hero {
  padding-top: var(--wow-unified-section-space) !important;
  padding-bottom: var(--wow-unified-section-space) !important;
}
body:not(.home):not(.wow-contact-page-active) .site-main > .section {
  padding-top: var(--wow-unified-section-space) !important;
  padding-bottom: var(--wow-unified-section-space) !important;
}
body:not(.home):not(.wow-contact-page-active) .wow-about-page > .section {
  padding-top: var(--wow-unified-section-space) !important;
  padding-bottom: var(--wow-unified-section-space) !important;
}
.post-type-archive-wow_devotion .wow-devotion-discovery.section {
  padding-bottom: clamp(1.4rem, 2.4vw, 2rem) !important;
}
.post-type-archive-wow_devotion .wow-devotion-results.section {
  padding-top: clamp(2.5rem, 4vw, 3.75rem) !important;
}

body.home :is(.featured-devotion h2 a, .wow-home-devotion-card__title, .ministry-split h2, .hub h2),
.post-type-archive-wow_devotion .archive-card h2 a,
.single-wow_devotion .site-main :is(h1, h2, h3),
.section-heading h2,
.page-hero h1 {
  color: var(--wow-primary) !important;
}

body.home .ministry-split h2 {
  font-size: clamp(2.25rem, 3.05vw, 3.2rem) !important;
  line-height: .96 !important;
}

body.home .hub__intro :is(p, blockquote, cite, .wow-visual-inline),
body.home .hub__intro [data-wow-field="copy"] {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home .section-heading .gold-heart {
  width: min(240px, 58vw) !important;
  margin: clamp(.9rem, 1.5vw, 1.2rem) auto !important;
}
body.home :is(.ministry-split, .hub) .gold-heart {
  width: min(220px, 70%) !important;
  margin-top: clamp(.9rem, 1.5vw, 1.2rem) !important;
  margin-bottom: clamp(.9rem, 1.5vw, 1.2rem) !important;
}

body.home .testimonials {
  isolation: isolate;
  background:
    radial-gradient(circle at 14% 18%, rgba(244, 22, 122, .09), transparent 25rem),
    radial-gradient(circle at 88% 76%, rgba(211, 161, 76, .08), transparent 23rem),
    linear-gradient(180deg, #fff, #fff7fa 52%, #fff) !important;
}
body.home .testimonials::before,
body.home .testimonials::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: clamp(190px, 24vw, 350px);
  aspect-ratio: 1;
  pointer-events: none;
  background: url("assets/images/testimonial-floral-vector.svg") center / contain no-repeat;
  opacity: .46;
}
body.home .testimonials::before {
  left: clamp(-130px, -7vw, -65px);
  bottom: clamp(-85px, -4vw, -30px);
  transform: rotate(-8deg);
}
body.home .testimonials::after {
  right: clamp(-130px, -7vw, -65px);
  top: clamp(-100px, -5vw, -42px);
  transform: scaleX(-1) rotate(-4deg);
}
body.home .testimonials > * {
  position: relative;
  z-index: 1;
}

.post-type-archive-wow_devotion .wow-devotion-filters__heading h2 {
  margin-top: 0 !important;
  color: var(--wow-primary) !important;
}

.wow-contact-method__text a[href^="mailto:"] {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-size: clamp(.7rem, 1.05vw, .92rem) !important;
  letter-spacing: -.015em;
}

@media (max-width: 760px) {
  :root {
    --wow-unified-section-space: var(--wow-unified-section-space-mobile);
  }
  body.home .testimonials::before,
  body.home .testimonials::after {
    width: 210px;
    opacity: .3;
  }
  .wow-contact-method {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding-inline: 10px !important;
  }
  .wow-contact-method__icon {
    width: 40px !important;
    height: 40px !important;
  }
  .wow-contact-method__text a[href^="mailto:"] {
    font-size: clamp(.62rem, 2.55vw, .8rem) !important;
    letter-spacing: -.03em;
  }
}

/* --------------------------------------------------------------------------
   v1.8.0 — Encouragement Hub editorial alignment
   Keep the existing two-column design while aligning the complete copy column.
   -------------------------------------------------------------------------- */
body.home .hub__content,
body.home .hub__intro,
body.home .hub__intro .section-label,
body.home .hub__intro h2,
body.home .hub__intro h2 :where(i, span),
body.home .hub__intro p,
body.home .hub__intro blockquote,
body.home .hub__intro cite {
  text-align: left !important;
}
body.home .hub__intro .gold-heart {
  margin-left: 0 !important;
  margin-right: auto !important;
}
