/* There Are People - responsive + brand styling for shop pages */
body.woocommerce-page .site-main,
body.woocommerce-cart .site-main,
body.woocommerce-checkout .site-main,
body.woocommerce-account .site-main { padding-left:20px; padding-right:20px; box-sizing:border-box; }
.woocommerce-page img, .wc-block-grid__product-image img, .wc-block-components-product-image img { max-width:100%; height:auto; }
.wc-block-grid__product-image { max-width:100%; }
.woocommerce h1, .woocommerce h2, .woocommerce-page h1, .woocommerce-page h2 { color:#0F2F57; }

/* Buttons: brand blue */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce-page .wp-block-button__link, .wc-block-components-product-button__button,
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background:#1C5CA6 !important; color:#FFFFFF !important; border:0 !important; border-radius:6px !important;
  font-family:Inter, sans-serif !important; font-weight:700 !important; font-size:12px !important;
  letter-spacing:.5px; text-transform:uppercase; padding:11px 18px !important; line-height:1.2 !important; text-decoration:none !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce-page .wp-block-button__link:hover,
.wc-block-components-product-button__button:hover, .wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background:#0F2F57 !important; color:#FFFFFF !important; }

/* Main buy button: brand gold */
.woocommerce .single_add_to_cart_button, .woocommerce button.button.alt, .woocommerce a.button.alt,
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background:#F0B429 !important; color:#182233 !important; }
.woocommerce .single_add_to_cart_button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover,
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background:#FFC94D !important; color:#182233 !important; }

.woocommerce span.onsale { background:#F0B429; color:#182233; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color:#1C5CA6; }
@media (max-width:767px){
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:.5em .8em; font-size:14px; }
}

/* Keep wide WooCommerce blocks (cart, checkout) inside the screen */
@media (max-width:1200px){
  .woocommerce-page .alignwide, .woocommerce-page .alignfull,
  .woocommerce-cart .alignwide, .woocommerce-checkout .alignwide { margin-left:0 !important; margin-right:0 !important; max-width:100% !important; width:auto !important; }
}
.wc-block-grid__products { margin-left:0 !important; margin-right:0 !important; }

/* Header: stays on top while scrolling (like prophesyagain.org) */
body #masthead { position:sticky !important; top:0; z-index:999; }
body.admin-bar #masthead { top:32px !important; }
@media (max-width:782px){ body.admin-bar #masthead { top:0 !important; } }
#masthead .elementor-element-605e636 { -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
#masthead .hfe-search-icon-toggle i, #masthead .hfe-search-icon-toggle svg { color:#0F2F57; fill:#0F2F57; }

/* Laptop widths: tighten the menu so it never wraps */
@media (min-width:1025px) and (max-width:1240px){
  #masthead .elementor-element-2219ec0 { --gap:20px !important; }
  #masthead .elementor-element-5a3c020 { --gap:22px !important; }
  #masthead .hfe-nav-menu > li.menu-item { margin-right:22px !important; }
  #masthead .hfe-nav-menu > li.menu-item:last-child { margin-right:0 !important; }
  #masthead .hfe-nav-menu a.hfe-menu-item { font-size:18px !important; }
  #masthead .elementor-element-e0f3354 .elementor-button { padding:13px 20px !important; }
}

/* Desktop menu: keep on one line */
@media (min-width:1025px){
  #masthead .hfe-nav-menu { flex-wrap:nowrap !important; }
  #masthead .hfe-nav-menu a.hfe-menu-item { white-space:nowrap; }
  #masthead .elementor-element-a1dfa58 { flex:0 0 auto !important; }
}
/* Header search: floating field */
#masthead .hfe-search-button-wrapper { position:relative; }
#masthead .hfe-search-button-wrapper input.hfe-search-form__input { position:absolute !important; right:44px !important; left:auto !important; top:50% !important; transform:translateY(-50%); height:44px !important; width:0; padding:0 !important; border:0 !important; opacity:0; background:#FFFFFF !important; border-radius:6px; font:500 15px/1 Inter, sans-serif; color:#182233; transition:width .25s, opacity .2s; z-index:5; }
#masthead .hfe-search-button-wrapper.hfe-input-focus input.hfe-search-form__input { width:260px !important; opacity:1; padding:0 16px !important; border:1px solid #DCE8F4 !important; box-shadow:0 10px 24px rgba(15,47,87,.14); }
#masthead .hfe-search-icon-toggle { background:transparent !important; }

/* Hide WooCommerce "Showing 1–16 of 28 results" counter */
.woocommerce-result-count { display:none !important; }

/* Contact form (Jetpack) styled to match the site */
.jetpack-contact-form__form { display:flex; flex-direction:column; gap:16px; margin-top:8px; }
.jetpack-contact-form__form > div, .jetpack-contact-form__form .grunion-field-wrap { width:100%; margin:0 !important; }
.jetpack-contact-form__form .grunion-field-label { display:block; font:600 14px/1.4 Inter, sans-serif; color:#0F2F57; margin-bottom:6px; }
.jetpack-contact-form__form .grunion-field-label span { font-weight:400; color:#4A5B73; font-size:12px; }
.jetpack-contact-form__form input.grunion-field, .jetpack-contact-form__form select, .jetpack-contact-form__form textarea.grunion-field,
.jetpack-contact-form__form .contact-form-dropdown__button {
  width:100% !important; max-width:100% !important; box-sizing:border-box; background:#FFFFFF !important; border:1px solid #DCE8F4 !important;
  border-radius:6px !important; padding:12px 14px !important; font:400 15px/1.4 Inter, sans-serif; color:#182233; min-height:48px; }
.jetpack-contact-form__form textarea.grunion-field { min-height:140px; resize:vertical; }
.jetpack-contact-form__form input.grunion-field:focus, .jetpack-contact-form__form select:focus, .jetpack-contact-form__form textarea.grunion-field:focus {
  outline:none; border-color:#1C5CA6 !important; box-shadow:0 0 0 3px rgba(28,92,166,.15); }
.jetpack-contact-form__form button.pushbutton-wide, .jetpack-contact-form__form .wp-block-button__link {
  width:100%; background:#F0B429 !important; color:#182233 !important; border:0 !important; border-radius:6px !important; padding:16px 24px !important;
  font:700 14px/1 Inter, sans-serif !important; letter-spacing:.5px; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.jetpack-contact-form__form button.pushbutton-wide:hover { background:#FFC94D !important; }
.contact-form-submission { background:#FFFFFF; border:1px solid #DCE8F4; border-radius:8px; padding:20px; font-family:Inter, sans-serif; }
.jetpack-contact-form__form .contact-form__select-wrapper { border:1px solid #DCE8F4 !important; border-radius:6px !important; background:#FFFFFF !important; padding:0 !important; }
.jetpack-contact-form__form .contact-form__select-wrapper select { border:0 !important; box-shadow:none !important; }
.jetpack-contact-form__form .contact-form__select-wrapper:focus-within { border-color:#1C5CA6 !important; box-shadow:0 0 0 3px rgba(28,92,166,.15); }

/* Donate page: keep "Ways to give" buttons on one line */
.elementor-element-8776e7f .elementor-button { white-space:nowrap; }
.elementor-element-8776e7f .elementor-button-text { white-space:nowrap; }

/* Visually hidden text (still read by Google and screen readers) */
.tap-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
/* Full-width image banners */
.elementor-element-42bf6da img { width:100%; height:auto; display:block; }

/* Phones/tablets: stop the closed mobile menu from widening the page */
@media (max-width:1024px){ body #masthead { overflow-x:clip; } }

/* Jump links to the contact form land below the sticky header */
#contact-form { scroll-margin-top:130px; }
@media (max-width:1024px){ #contact-form { scroll-margin-top:90px; } }
.tap-full-banner img { width:100% !important; height:auto !important; max-width:100% !important; display:block; }

/* Blog: card grid */
body.blog .site-main, body.archive.category .site-main { max-width:1180px; margin:0 auto; padding:56px 24px 80px; }
body.blog .page-header, body.archive .page-header { text-align:center; margin-bottom:36px; }
body.blog .page-header .entry-title { font-size:0; margin:0; }
body.blog .page-header .entry-title::after { content:"Daily Dose Blog"; font:600 44px/1.1 Oswald, sans-serif; text-transform:uppercase; color:#0F2F57; letter-spacing:.5px; }
body.archive .page-header .entry-title { font:600 40px/1.1 Oswald, sans-serif; text-transform:uppercase; color:#0F2F57; }
body.blog .page-content, body.archive .page-content { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
@media (max-width:1024px){ body.blog .page-content, body.archive .page-content { grid-template-columns:repeat(2,1fr); gap:22px; } }
@media (max-width:767px){ body.blog .page-content, body.archive .page-content { grid-template-columns:1fr; } body.blog .page-header .entry-title::after{ font-size:34px; } }
body.blog article.post, body.archive article.post { display:flex; flex-direction:column; background:#FFFFFF; border:1px solid #DCE8F4; border-radius:10px; overflow:hidden; margin:0 !important; box-shadow:0 8px 24px rgba(15,47,87,.06); transition:transform .2s, box-shadow .2s; }
body.blog article.post:hover, body.archive article.post:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,47,87,.12); }
body.blog article.post > a, body.archive article.post > a { order:-1; display:block; }
body.blog article.post img, body.archive article.post img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#EEF5FB; display:block; margin:0; }
body.blog article.post .entry-title, body.archive article.post .entry-title { font:600 20px/1.25 Oswald, sans-serif; text-transform:uppercase; letter-spacing:.3px; margin:0; padding:18px 20px 8px; }
body.blog article.post .entry-title a, body.archive article.post .entry-title a { color:#0F2F57; text-decoration:none; }
body.blog article.post .entry-title a:hover, body.archive article.post .entry-title a:hover { color:#1C5CA6; }
body.blog article.post p, body.archive article.post p { font:400 15px/1.6 Inter, sans-serif; color:#4A5B73; margin:0; padding:0 20px 22px; }
body.blog .pagination, body.archive .pagination { display:flex; justify-content:space-between; margin-top:40px; font:600 14px Inter, sans-serif; }
body.blog .pagination a, body.archive .pagination a { color:#1C5CA6; }

/* Single blog post: comfortable reading */
body.single-post .site-main { max-width:820px; margin:0 auto; padding:56px 24px 80px; }
body.single-post .entry-title { font:600 40px/1.15 Oswald, sans-serif; text-transform:uppercase; color:#0F2F57; margin-bottom:24px; }
body.single-post .page-content { font:400 17px/1.75 Inter, sans-serif; color:#182233; }
body.single-post .page-content img { max-width:100%; height:auto; border-radius:8px; margin:12px 0; }
body.single-post .page-content h2, body.single-post .page-content h3 { font-family:Oswald, sans-serif; color:#0F2F57; text-transform:uppercase; margin:28px 0 12px; }
@media (max-width:767px){ body.single-post .entry-title { font-size:30px; } }
/* Events calendar full width */
.tap-calendar{width:100% !important;max-width:1100px}

/* Linked banners stay full width */
.tap-full-banner a{display:block}.tap-full-banner a img{width:100% !important;max-width:100% !important;height:auto !important}

/* Homepage Sabbath cards: buttons aligned at the bottom */
.elementor-element-443e210, .elementor-element-106fd28{display:flex;flex-direction:column}
.elementor-element-2cee737, .elementor-element-7f770d9{margin-top:auto !important}
@media (min-width:1025px){.elementor-element-443e210, .elementor-element-106fd28{padding-bottom:24px !important}}

/* Library book cards: Buy on Amazon buttons aligned in one line */
.elementor-element-4e3c02e .e-con{display:flex;flex-direction:column}
.elementor-element-4e3c02e .elementor-widget-button{margin-top:auto !important}
.elementor-element-4e3c02e .elementor-button{white-space:nowrap}
.elementor-element-4e3c02e .elementor-button .elementor-button-content-wrapper{flex-wrap:nowrap}
.elementor-element-4e3c02e .elementor-widget-button, .elementor-element-4e3c02e .elementor-button{width:100%}
.elementor-element-4e3c02e .elementor-button{display:flex !important;justify-content:center;padding-left:12px !important;padding-right:12px !important}
@media (min-width:1025px){.elementor-element-4e3c02e .e-con:has(.elementor-widget-button){padding-left:24px !important;padding-right:24px !important}}
@media (min-width:1025px) and (max-width:1440px){.elementor-element-4e3c02e .elementor-button{font-size:12px !important;letter-spacing:.2px !important}}

/* Calendar: equal width day columns */
.tapcal .tc-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important}
.tapcal .tc-day{min-width:0}
