.forminator-module-edit-link{
    display: none !important;
}
header .site-title{
	margin-top: 5px;
}

/* Buttons */
.elementor-button{
	min-width: 160px;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-button{
	border-radius: 5px !important;
}
button, .ast-button, .button, input[type="button"], input[type="reset"], input[type="submit"]{
	border-radius: 5px;
}
#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a{
	font-size: 15px;
	border-radius: 5px;
}


/* TOP MENU */ 
.ast-desktop .ast-menu-hover-style-underline > .menu-item > .menu-link:before, .ast-desktop .ast-menu-hover-style-overline > .menu-item > .menu-link:before{
	transform: scale(1,1) translate(50%,0%);
	
}
.ast-desktop .ast-menu-hover-style-underline > .menu-item:hover > .menu-link:before, .ast-desktop .ast-menu-hover-style-overline > .menu-item:hover > .menu-link:before{
 height: 2px;
	background: #046bd2;
	
}
.main-header-menu .sub-menu{
	margin-top: 1px;
}

.main-header-menu .menu-item.menu-item-has-children:hover > .menu-link:before{
	border-bottom: 0px !important; 
	height: 0;
}

.main-header-bar{
	border-bottom-width: 0px;
}


/* FIX */
.ast-primary-header-bar:hover, .ast-above-header-bar:hover, .ast-below-header-bar:hover, .site-primary-footer-wrap.site-footer-focus-item:hover, .site-above-footer-wrap.site-footer-focus-item:hover, .site-below-footer-wrap.site-footer-focus-item:hover, .customizer-item-block-preview:hover{
	outline: unset !important;
}

/* Blog Carousel*/
.bdp-post-carousel.bdp-design-2 .bdp-post-carousel-content, .bdp-post-carousel.bdp-design-2 .bdp-post-margin-content{
	border-radius: 10px;
}
.bdp-readmorebtn{
	border-radius: 5px;
}
.bdp-post-carousel-wrp .bdp-post-carousel{
	padding-top: 10px;
}
.bdp-post-carousel button.slick-prev, .bdp-post-carousel button.slick-next{
	border-radius: 5px !important;
	
}

/* BLOG */
.ast-separate-container .ast-blog-layout-6-grid .ast-article-post{
	padding: 0px;
}
.ast-blog-layout-6-grid .ast-row{
	gap: 20px;
}
.ast-blog-layout-6-grid .ast-article-post{
	flex: 1 0 300px;
	margin-bottom: 0;
}

/* Simple Banner */
.simple-banner .simple-banner-text a{
	text-decoration: underline;
}

@media (max-width: 480px) {
  .hide-on-mobile {
    display: none !important;
  }
}

























/* =============================================================
   ALICANTE CHURCH — Forminator Custom Forms (Global)
   Applies to ALL Forminator forms on the site.
   Drop into:  Appearance → Customize → Additional CSS
   ============================================================= */

/* ---------- Outer wrapper reset (Forminator / Elementor) ---------- */
.forminator-ui,
.forminator-ui[id*="forminator-module"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* ---------- Design tokens ---------- */
.forminator-custom-form {
  --ac-primary:      #046bd2;
  --ac-primary-deep: #045cb4;
  --ac-primary-soft: #E6F0FB;
  --ac-primary-glow: rgba(4, 107, 210, 0.16);

  --ac-surface:      #FFFFFF;
  --ac-bg-soft:      #F1F6FE;
  --ac-ink:          #0B1628;
  --ac-ink-mid:      #3A4A60;
  --ac-ink-soft:     #7A8699;
  --ac-line:         #D6DEE9;
  --ac-line-strong:  #BFC9D9;

  --ac-whatsapp:     #25D366;

  --ease:            cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Card container (with !important for Elementor override) ---------- */
form.forminator-custom-form,
.forminator-custom-form.forminator-design--material,
.forminator-custom-form {
  background: var(--ac-surface) !important;
  border: 1px solid var(--ac-line) !important;
  border-radius: 28px !important;
  padding: 36px 34px 32px !important;
  box-shadow:
    0 1px 0 rgba(11, 22, 40, 0.04),
    0 24px 60px -24px rgba(11, 22, 40, 0.16),
    0 8px 22px -12px rgba(4, 107, 210, 0.08) !important;
  position: relative !important;
  overflow: hidden !important;
  color: var(--ac-ink) !important;

  /* Uniform spacing via flex */
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

/* ---------- Reset ALL internal spacing ---------- */
.forminator-custom-form .forminator-row,
.forminator-custom-form .forminator-row-last {
  margin: 0 !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-field {
  margin: 0 !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-col {
  padding: 0 !important;
  margin: 0 !important;
}

/* Gap between columns in multi-column rows (e.g. First Name / Last Name) */
.forminator-custom-form .forminator-row[data-multiple="true"],
.forminator-custom-form .forminator-row.forminator-no-margin {
  display: flex !important;
  gap: 16px !important;
}
.forminator-custom-form .forminator-row[data-multiple="true"] > .forminator-col,
.forminator-custom-form .forminator-row.forminator-no-margin > .forminator-col {
  flex: 1 !important;
  width: auto !important;
  max-width: none !important;
}
.forminator-custom-form .forminator-input--wrap,
.forminator-custom-form .forminator-textarea--wrap {
  margin: 0 !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-row.forminator-no-margin {
  margin: 0 !important;
}

/* Error messages: small top margin only */
.forminator-custom-form .forminator-error-message {
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

/* ---------- Inputs (text, email, tel) ---------- */
.forminator-custom-form .forminator-input {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1.5px solid var(--ac-line-strong) !important;
  border-radius: 0 !important;
  padding: 12px 0 8px !important;
  font-size: 16px !important;
  color: var(--ac-ink) !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  transition: border-color .35s var(--ease) !important;
}

/* Hide placeholder while floating label sits on top */
.forminator-custom-form .forminator-input::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}
.forminator-custom-form .forminator-input:focus::placeholder {
  color: var(--ac-ink-soft) !important;
  opacity: 1 !important;
}

.forminator-custom-form .forminator-input:focus,
.forminator-custom-form .forminator-input:focus-visible {
  border-bottom-color: var(--ac-primary) !important;
  border-bottom-width: 2px !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Input wrapper: clean up spacing */
.forminator-custom-form .forminator-input--wrap {
  margin: 0 !important;
}

/* Floating label */
.forminator-custom-form .forminator-label {
  font-size: 16px;
  color: #5A6D82 !important;
  font-weight: 400 !important;
  transition: font-size .35s var(--ease), color .35s var(--ease), transform .35s var(--ease), letter-spacing .35s var(--ease) !important;
  letter-spacing: 0 !important;
}

/* When label floats up (Forminator JS toggles .forminator-label--moved) */
.forminator-custom-form .forminator-label.forminator-label--moved,
.forminator-custom-form .forminator-floating--input.forminator-label--moved,
.forminator-custom-form .forminator-floating--textarea.forminator-label--moved,
form.forminator-custom-form .forminator-label.forminator-label--moved,
form.forminator-custom-form .forminator-floating--input.forminator-label--moved {
  color: #9AACBF !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

/* Required field asterisk */
.forminator-custom-form .forminator-required {
  color: var(--ac-primary) !important;
  font-weight: 600 !important;
  margin-left: 2px;
}

/* ---------- Phone field (intl-tel-input) — single underline only ---------- */
.forminator-custom-form .forminator-field-phone .forminator-iti-input {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1.5px solid var(--ac-line-strong) !important;
  transition: border-color .35s var(--ease) !important;
}

.forminator-custom-form .forminator-field-phone .forminator-iti-input:focus-within {
  border-bottom-color: var(--ac-primary) !important;
  border-bottom-width: 2px !important;
}

/* Kill all other borders inside the phone field */
.forminator-custom-form .forminator-field-phone .forminator-input,
.forminator-custom-form .forminator-field-phone .forminator-field--phone,
.forminator-custom-form .forminator-field-phone .iti__tel-input {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Remove Material Design underline pseudo-elements from phone field */
.forminator-custom-form .forminator-field-phone .forminator-input--wrap::before,
.forminator-custom-form .forminator-field-phone .forminator-input--wrap::after,
.forminator-custom-form .forminator-field-phone .forminator-field::before,
.forminator-custom-form .forminator-field-phone .forminator-field::after {
  display: none !important;
}

.forminator-custom-form .iti--allow-dropdown {
  background: transparent !important;
}

.forminator-custom-form .iti__selected-country,
.forminator-custom-form .iti__selected-country-primary {
  background: transparent !important;
  border: 0 !important;
  padding-left: 0 !important;
}

.forminator-custom-form .iti__selected-dial-code {
  font-weight: 600 !important;
  color: var(--ac-ink) !important;
  font-size: 15px !important;
}

.forminator-custom-form .iti__arrow {
  border-top-color: var(--ac-ink-soft) !important;
}

/* Country dropdown */
.forminator-custom-form .iti__dropdown-content {
  border-radius: 14px !important;
  box-shadow: 0 24px 48px -16px rgba(11, 22, 40, 0.18) !important;
  border: 1px solid var(--ac-line) !important;
  overflow: hidden;
}
.forminator-custom-form .iti__country-list {
  border-radius: 14px !important;
}
.forminator-custom-form .iti__country.iti__highlight {
  background: var(--ac-primary-soft) !important;
}

/* ---------- Textarea ---------- */
.forminator-custom-form .forminator-textarea {
  background: var(--ac-surface) !important;
  border: 1.5px solid var(--ac-line-strong) !important;
  border-radius: 14px !important;
  padding: 28px 16px 14px !important;
  font-size: 16px !important;
  color: var(--ac-ink) !important;
  min-height: 160px !important;
  resize: vertical !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .35s var(--ease), box-shadow .35s var(--ease) !important;
}

/* Hide placeholder while floating label sits on top */
.forminator-custom-form .forminator-textarea::placeholder,
.forminator-custom-form textarea.forminator-textarea::placeholder,
.forminator-custom-form textarea::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

/* Show placeholder only when textarea is focused */
.forminator-custom-form .forminator-textarea:focus::placeholder,
.forminator-custom-form textarea.forminator-textarea:focus::placeholder,
.forminator-custom-form textarea:focus::placeholder {
  color: var(--ac-ink-soft) !important;
  opacity: 1 !important;
}

.forminator-custom-form .forminator-textarea:focus {
  border-color: var(--ac-primary) !important;
  box-shadow: 0 0 0 4px var(--ac-primary-glow) !important;
}

/* Textarea floating label — appearance in moved state */
.forminator-custom-form .forminator-floating--textarea.forminator-label--moved {
  color: #9AACBF !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  background: var(--ac-surface) !important;
  padding: 0 6px !important;
}

/* Word counter */
.forminator-custom-form .forminator-description {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 8px !important;
}
.forminator-custom-form .forminator-description > span {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ac-ink-soft) !important;
  background: var(--ac-bg-soft);
  padding: 4px 12px;
  border-radius: 999px;
  letter-spacing: 0.02em;
}

/* ---------- Checkbox group labels ---------- */
.forminator-custom-form [id^="forminator-checkbox-group"] {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: var(--ac-ink-mid) !important;
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.forminator-custom-form [id^="forminator-checkbox-group"]::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--ac-line) 0%, transparent 100%);
}

/* ---------- Checkboxes — card layout ---------- */
.forminator-custom-form .forminator-field-checkbox > .forminator-field {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 10px !important;
}
.forminator-custom-form .forminator-field-checkbox > .forminator-field > [id^="forminator-checkbox-group"] {
  grid-column: 1 / -1;
}

/* Single checkbox (e.g. WhatsApp opt-in) full width */
.forminator-custom-form .forminator-field-checkbox > .forminator-field:has(> .forminator-checkbox:only-of-type) {
  grid-template-columns: 1fr !important;
}

/* Mobile: stack checkboxes */
@media (max-width: 768px) {
  .forminator-custom-form .forminator-field-checkbox > .forminator-field {
    grid-template-columns: 1fr !important;
  }
}

/* Conditional sections (groups + serve areas) always stacked */
.forminator-custom-form .forminator-row:has(#checkbox-4, #checkbox-2) {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}
.forminator-custom-form #checkbox-4.forminator-col-6,
.forminator-custom-form #checkbox-2.forminator-col-6 {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Each checkbox → card */
.forminator-custom-form .forminator-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border: 1.5px solid var(--ac-line) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  background: var(--ac-surface) !important;
  transition: border-color .25s var(--ease),
              background-color .25s var(--ease),
              transform .25s var(--ease) !important;
  margin: 0 !important;
  user-select: none;
  position: relative !important;
  padding-left: 40px !important;
}

.forminator-custom-form .forminator-checkbox:hover {
  border-color: var(--ac-primary) !important;
  background: var(--ac-primary-soft) !important;
  transform: translateY(-1px);
}

.forminator-custom-form .forminator-checkbox:has(input:checked) {
  border-color: var(--ac-primary) !important;
  background: var(--ac-primary-soft) !important;
}

/* Native checkbox hidden */
.forminator-custom-form .forminator-checkbox input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 22px !important;
  height: 22px !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 2 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

/* ---- Hide Forminator's original checkbox-box visually but keep clickable ---- */
.forminator-custom-form .forminator-checkbox-box,
.forminator-custom-form .forminator-checkbox .forminator-checkbox-box,
form.forminator-custom-form .forminator-checkbox-box {
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

/* ---- Custom checkbox visual built on the label element ---- */

/* Visible box (::before on the label) */
.forminator-custom-form .forminator-checkbox::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border: 1.5px solid var(--ac-line-strong) !important;
  border-radius: 6px !important;
  background: var(--ac-surface) !important;
  transition: background-color .25s var(--ease), border-color .25s var(--ease) !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* Checkmark (::after on the label) */
.forminator-custom-form .forminator-checkbox::after {
  content: "" !important;
  position: absolute !important;
  left: 19px !important;
  top: 50% !important;
  width: 11px !important;
  height: 6px !important;
  border-left: 2.5px solid white !important;
  border-bottom: 2.5px solid white !important;
  border-top: 0 !important;
  border-right: 0 !important;
  transform: translateY(-65%) rotate(-45deg) scale(0) !important;
  transform-origin: center !important;
  transition: transform .25s var(--ease) !important;
  display: block !important;
}

/* Checked: fill box blue */
.forminator-custom-form .forminator-checkbox:has(input:checked)::before {
  background: var(--ac-primary) !important;
  border-color: var(--ac-primary) !important;
}

/* Checked: show checkmark */
.forminator-custom-form .forminator-checkbox:has(input:checked)::after {
  transform: translateY(-65%) rotate(-45deg) scale(1) !important;
}

/* Checkbox label text */
.forminator-custom-form .forminator-checkbox-label {
  font-size: 15px !important;
  color: var(--ac-ink) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transition: color .25s var(--ease) !important;
  line-height: 1.3 !important;
}

.forminator-custom-form .forminator-checkbox:has(input:checked) .forminator-checkbox-label {
  color: var(--ac-primary) !important;
  font-weight: 600 !important;
}

/* ---------- Radio buttons — card layout (mirrors checkboxes) ---------- */

/* Group label — same uppercase style as checkbox groups */
.forminator-custom-form [id^="forminator-radiogroup"] {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.10em !important;
  color: var(--ac-ink-mid) !important;
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.forminator-custom-form [id^="forminator-radiogroup"]::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, var(--ac-line) 0%, transparent 100%);
}

/* Grid layout for radio options */
.forminator-custom-form .forminator-field-radio > .forminator-field {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 10px !important;
}
.forminator-custom-form .forminator-field-radio > .forminator-field > [id^="forminator-radiogroup"] {
  grid-column: 1 / -1;
}

/* Each radio → card */
.forminator-custom-form .forminator-radio {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 14px 16px 14px 40px !important;
  border: 1.5px solid var(--ac-line) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  background: var(--ac-surface) !important;
  transition: border-color .25s var(--ease),
              background-color .25s var(--ease),
              transform .25s var(--ease) !important;
  margin: 0 !important;
  user-select: none;
  position: relative !important;
}
.forminator-custom-form .forminator-radio:hover {
  border-color: var(--ac-primary) !important;
  background: var(--ac-primary-soft) !important;
  transform: translateY(-1px);
}
.forminator-custom-form .forminator-radio:has(input:checked) {
  border-color: var(--ac-primary) !important;
  background: var(--ac-primary-soft) !important;
}

/* Hide native radio input — keep clickable over custom circle */
.forminator-custom-form .forminator-radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 22px !important;
  height: 22px !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 2 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

/* Hide Forminator's original radio bullet */
.forminator-custom-form .forminator-radio-bullet {
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

/* Custom radio circle (::before) */
.forminator-custom-form .forminator-radio::before {
  content: "" !important;
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 22px !important;
  height: 22px !important;
  border: 1.5px solid var(--ac-line-strong) !important;
  border-radius: 50% !important;
  background: var(--ac-surface) !important;
  transition: background-color .25s var(--ease), border-color .25s var(--ease) !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* Inner dot (::after) — hidden until checked */
.forminator-custom-form .forminator-radio::after {
  content: "" !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: white !important;
  transform: translateY(-50%) scale(0) !important;
  transition: transform .25s var(--ease) !important;
  display: block !important;
  border: none !important;
}

/* Checked: fill circle blue */
.forminator-custom-form .forminator-radio:has(input:checked)::before {
  background: var(--ac-primary) !important;
  border-color: var(--ac-primary) !important;
}

/* Checked: show inner dot */
.forminator-custom-form .forminator-radio:has(input:checked)::after {
  transform: translateY(-50%) scale(1) !important;
}

/* Radio label text */
.forminator-custom-form .forminator-radio-label {
  font-size: 15px !important;
  color: var(--ac-ink) !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  transition: color .25s var(--ease) !important;
  line-height: 1.3 !important;
}
.forminator-custom-form .forminator-radio:has(input:checked) .forminator-radio-label {
  color: var(--ac-primary) !important;
  font-weight: 600 !important;
}

/* Mobile: stack radios */
@media (max-width: 768px) {
  .forminator-custom-form .forminator-field-radio > .forminator-field {
    grid-template-columns: 1fr !important;
  }
}

/* ---------- HTML field (privacy policy) ---------- */
.forminator-custom-form .forminator-field-html .forminator-field,
.forminator-custom-form .forminator-field-html .forminator-merge-tags {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.forminator-custom-form .forminator-field-html p,
.forminator-custom-form .forminator-field-html em {
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--ac-ink-soft) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.forminator-custom-form .forminator-field-html a {
  color: var(--ac-primary) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color .2s var(--ease) !important;
}
.forminator-custom-form .forminator-field-html a:hover {
  color: var(--ac-primary-deep) !important;
}

/* ---------- Submit button (flat, solid color) ---------- */
.forminator-custom-form .forminator-button-submit {
  appearance: none !important;
  border: 0 !important;
  cursor: pointer !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: white !important;
  background: var(--ac-primary) !important;
  padding: 18px 36px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  transition: background-color .25s var(--ease), transform .25s var(--ease) !important;
}

/* Arrow after button text */
.forminator-custom-form .forminator-button-submit::after {
  content: "→" !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  margin-left: 4px !important;
  transition: transform .3s var(--ease) !important;
}

.forminator-custom-form .forminator-button-submit:hover {
  background: var(--ac-primary-deep) !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

.forminator-custom-form .forminator-button-submit:hover::after {
  transform: translateX(4px) !important;
}

.forminator-custom-form .forminator-button-submit:active {
  transform: translateY(0) !important;
}

.forminator-custom-form .forminator-button-submit:focus-visible {
  outline: 3px solid var(--ac-primary-glow) !important;
  outline-offset: 3px !important;
}

/* ---------- Error / success states ---------- */
.forminator-custom-form .forminator-response-message.forminator-error {
  background: #FFF1F2 !important;
  border: 1px solid #FECDD3 !important;
  color: #9F1239 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  margin-bottom: 18px !important;
}

.forminator-custom-form .forminator-response-message.forminator-success {
  background: #ECFDF5 !important;
  border: 1px solid #A7F3D0 !important;
  color: #065F46 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
}

.forminator-custom-form .forminator-input.forminator-has_error,
.forminator-custom-form .forminator-textarea.forminator-has_error {
  border-color: #DC2626 !important;
}

.forminator-custom-form .forminator-error-message {
  color: #DC2626 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  form.forminator-custom-form,
  .forminator-custom-form.forminator-design--material,
  .forminator-custom-form {
    padding: 24px 18px 24px !important;
    border-radius: 20px !important;
  }

  /* Checkboxes: 1 column on mobile */
  .forminator-custom-form .forminator-field-checkbox > .forminator-field {
    grid-template-columns: 1fr !important;
  }

  /* Button full width */
  .forminator-custom-form .forminator-button-submit {
    width: 100% !important;
    justify-content: center !important;
  }
}














/** BLOG SINGLE**/

/* =============================================================
   ALICANTE CHURCH — Blog Refresh
   Targets Astra theme Blog Layout 6 (Grid) + Single Post.
   Drop into:  Appearance → Customize → Additional CSS
   ============================================================= */

:root {
  --blog-primary:      #046bd2;
  --blog-primary-deep: #045cb4;
  --blog-primary-soft: #E6F0FB;
  --blog-accent:       #E8920C;
  --blog-accent-soft:  #FFF4E0;
  --blog-surface:      #FFFFFF;
  --blog-bg:           #F7F9FC;
  --blog-ink:          #0B1628;
  --blog-ink-mid:      #3A4A60;
  --blog-ink-soft:     #6B7B8F;
  --blog-line:         #E2E8F2;
  --blog-line-soft:    #EEF2F7;
  --blog-ease:         cubic-bezier(0.22, 1, 0.36, 1);
}

/* =============================================================
   BLOG INDEX (/blog/) — Astra Layout 6 Grid
   ============================================================= */

body.blog,
body.archive,
body.category,
body.tag,
body.author {
  background: var(--blog-bg) !important;
}

/* Angled brand-blue gradient fade on the ENTIRE page */
body.blog #page,
body.archive #page,
body.category #page,
body.tag #page,
body.author #page {
  background:
    linear-gradient(
      135deg,
      rgba(4, 107, 210, 0.12) 0%,
      rgba(4, 107, 210, 0.05) 25%,
      transparent 50%
    ),
    var(--blog-bg) !important;
}

/* =============================================================
   BREADCRUMBS — inside content, styled
   ============================================================= */
body.blog .ast-breadcrumbs,
body.archive .ast-breadcrumbs,
body.single-post .ast-breadcrumbs {
  font-size: 13px !important;
  color: var(--blog-ink-soft) !important;
  letter-spacing: 0.02em;
  padding: 10px 18px !important;
  background: var(--blog-surface) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Links */
body.blog .ast-breadcrumbs a,
body.archive .ast-breadcrumbs a,
body.single-post .ast-breadcrumbs a {
  color: var(--blog-primary) !important;
  text-decoration: none !important;
  font-weight: 600;
  transition: color .2s var(--blog-ease);
}
body.blog .ast-breadcrumbs a:hover,
body.archive .ast-breadcrumbs a:hover,
body.single-post .ast-breadcrumbs a:hover {
  color: var(--blog-primary-deep) !important;
}

/* Current page (last item) — bold */
body.blog .ast-breadcrumbs .trail-end,
body.archive .ast-breadcrumbs .trail-end,
body.single-post .ast-breadcrumbs .trail-end,
body.blog .ast-breadcrumbs > span:last-child,
body.archive .ast-breadcrumbs > span:last-child,
body.single-post .ast-breadcrumbs > span:last-child {
  color: var(--blog-ink) !important;
  font-weight: 600 !important;
}

/* Author / Archive description box */
body.author .ast-archive-description,
body.archive .ast-archive-description,
body.category .ast-archive-description,
body.tag .ast-archive-description {
  border-radius: 18px !important;
  overflow: hidden !important;
}

/* ---- KILL Astra's dark overlay AND hide empty thumb container ---- */
body.blog .ast-blog-layout-6-grid .post-thumb::after,
body.blog .ast-blog-layout-6-grid .post-thumb::before,
body.archive .ast-blog-layout-6-grid .post-thumb::after,
body.archive .ast-blog-layout-6-grid .post-thumb::before,
body.blog .post-thumb::after,
body.blog .post-thumb::before,
body.archive .post-thumb::after,
body.archive .post-thumb::before {
  display: none !important;
  content: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Hide .post-thumb entirely when it has no real image — collapses empty space */
body.blog .post-thumb:empty,
body.archive .post-thumb:empty,
body.blog .post-thumb-img-content:empty,
body.archive .post-thumb-img-content:empty {
  display: none !important;
}

/* Force ALL Astra layout 6 thumb wrappers to collapse if no real image */
body.blog .ast-blog-layout-6-grid .post-thumb,
body.archive .ast-blog-layout-6-grid .post-thumb {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  background: transparent !important;
  position: static !important;
}

/* Force the entry-header / entry-content out of any absolute positioning */
body.blog .ast-blog-layout-6-grid .entry-header,
body.blog .ast-blog-layout-6-grid .entry-content,
body.blog .ast-blog-layout-6-grid .entry-meta,
body.archive .ast-blog-layout-6-grid .entry-header,
body.archive .ast-blog-layout-6-grid .entry-content,
body.archive .ast-blog-layout-6-grid .entry-meta {
  position: static !important;
  color: var(--blog-ink) !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ---- Grid layout ---- */
body.blog .ast-row,
body.archive .ast-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
  gap: 24px !important;
  margin: 0 !important;
}

/* Reset Astra column widths on ALL grid children */
body.blog .ast-row > [class*="ast-col-"],
body.archive .ast-row > [class*="ast-col-"],
body.blog .ast-row > .ast-grid-common-col,
body.archive .ast-row > .ast-grid-common-col,
body.blog .ast-row > .ast-article-post,
body.archive .ast-row > .ast-article-post,
body.blog .ast-row > article,
body.archive .ast-row > article {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* ---- NUCLEAR COLOR OVERRIDE ----
   Astra Layout 6 sets WHITE text for dark cards.
   Force ALL text back to dark now that bg is white. */
body.blog .ast-article-post,
body.blog .ast-article-post *,
body.blog .ast-article-inner,
body.blog .ast-article-inner *,
body.archive .ast-article-post,
body.archive .ast-article-post *,
body.archive .ast-article-inner,
body.archive .ast-article-inner * {
  color: var(--blog-ink) !important;
}
/* Restore specific colors on children that need them */
body.blog .entry-meta,
body.blog .entry-meta *,
body.archive .entry-meta,
body.archive .entry-meta * {
  color: var(--blog-ink-soft) !important;
}
body.blog .entry-meta a,
body.blog .entry-meta a *,
body.archive .entry-meta a,
body.archive .entry-meta a * {
  color: var(--blog-primary) !important;
}
body.blog .entry-content p,
body.blog .entry-summary p,
body.blog .ast-excerpt-container p,
body.archive .entry-content p,
body.archive .entry-summary p,
body.archive .ast-excerpt-container p {
  color: var(--blog-ink-mid) !important;
}
body.blog .read-more,
body.blog .read-more *,
body.blog .ast-read-more-container a,
body.archive .read-more,
body.archive .read-more *,
body.archive .ast-read-more-container a {
  color: var(--blog-primary) !important;
}

/* ---- Post wrapper as a clean card ---- */
body.blog .ast-article-post,
body.archive .ast-article-post {
  background: var(--blog-surface) !important;
  background-color: var(--blog-surface) !important;
  background-image: none !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow:
    0 1px 0 rgba(11, 22, 40, 0.03),
    0 8px 24px -12px rgba(11, 22, 40, 0.08) !important;
  transition: transform .3s var(--blog-ease),
              box-shadow .3s var(--blog-ease),
              border-color .3s var(--blog-ease) !important;
  position: relative !important;
  overflow: hidden !important;
}

body.blog .ast-article-post:hover,
body.archive .ast-article-post:hover {
  transform: translateY(-3px);
  border-color: var(--blog-primary-soft) !important;
  box-shadow:
    0 1px 0 rgba(11, 22, 40, 0.04),
    0 20px 40px -16px rgba(4, 107, 210, 0.18) !important;
}

/* Inner wrapper with padding */
body.blog .ast-article-inner,
body.archive .ast-article-inner {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  padding: 28px !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: relative !important;
}

/* .post-content also has ast-grid-common-col — reset its width */
body.blog .post-content,
body.archive .post-content,
body.blog .post-content.ast-grid-common-col,
body.archive .post-content.ast-grid-common-col {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Post thumb — light wrapper if image exists */
body.blog .post-thumb,
body.archive .post-thumb {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  position: relative !important;
}
body.blog .post-thumb img,
body.archive .post-thumb img {
  border-radius: 12px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
}
body.blog .post-thumb-img-content,
body.archive .post-thumb-img-content {
  background: transparent !important;
  background-color: transparent !important;
}

/* ---- Title ---- */
body.blog .entry-title,
body.archive .entry-title {
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  margin: 0 0 14px !important;
  color: var(--blog-ink) !important;
  text-wrap: balance;
}
body.blog .entry-title a,
body.archive .entry-title a {
  color: var(--blog-ink) !important;
  text-decoration: none !important;
  background: transparent !important;
  background-image: none !important;
  transition: color .2s var(--blog-ease) !important;
}
body.blog .entry-title a:hover,
body.archive .entry-title a:hover {
  color: var(--blog-primary) !important;
}

/* ---- Meta — elegant inline with subtle SVG icons ---- */
body.blog .entry-meta,
body.archive .entry-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  font-size: 0 !important; /* hide literal "•" text node between spans */
  background: transparent !important;
  border: none !important;
}

body.blog .entry-meta > *,
body.archive .entry-meta > * {
  font-size: 13px !important; /* restore size on real children */
}

/* Each meta segment — subtle inline */
body.blog .entry-meta .posted-by,
body.archive .entry-meta .posted-by,
body.blog .entry-meta .posted-on,
body.archive .entry-meta .posted-on {
  display: inline-flex !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  color: var(--blog-ink-soft) !important;
}

/* No icons needed — clean inline typography is enough */

/* Author link styling */
body.blog .entry-meta a,
body.archive .entry-meta a {
  color: var(--blog-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  background: transparent !important;
  background-image: none !important;
  transition: color .2s var(--blog-ease);
  font-size: 13px !important;
}
body.blog .entry-meta a:hover,
body.archive .entry-meta a:hover {
  color: var(--blog-primary-deep) !important;
}

/* Reset inner spans */
body.blog .entry-meta .author-name,
body.archive .entry-meta .author-name,
body.blog .entry-meta .published,
body.archive .entry-meta .published {
  font-size: 13px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* ---- Excerpt ---- */
body.blog .entry-content,
body.blog .entry-summary,
body.archive .entry-content,
body.archive .entry-summary {
  background: transparent !important;
  background-color: transparent !important;
  flex: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.blog .entry-content p,
body.blog .entry-summary p,
body.archive .entry-content p,
body.archive .entry-summary p {
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--blog-ink-mid) !important;
  margin: 0 0 18px !important;
  background: transparent !important;
  background-color: transparent !important;
}

/* ---- Read More CTA ---- */
body.blog .read-more,
body.blog .ast-the-content-more-link,
body.archive .read-more,
body.archive .ast-the-content-more-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--blog-primary) !important;
  text-decoration: none !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 0 !important;
  margin-top: auto !important;
  background: transparent !important;
  align-self: flex-start !important;
  transition: color .2s var(--blog-ease) !important;
}
body.blog .read-more::after,
body.archive .read-more::after,
body.blog .ast-the-content-more-link::after,
body.archive .ast-the-content-more-link::after {
  content: "→" !important;
  font-size: 16px !important;
  transition: transform .25s var(--blog-ease) !important;
}
body.blog .read-more:hover,
body.archive .read-more:hover,
body.blog .ast-the-content-more-link:hover,
body.archive .ast-the-content-more-link:hover {
  color: var(--blog-primary-deep) !important;
}
body.blog .read-more:hover::after,
body.archive .read-more:hover::after {
  transform: translateX(4px) !important;
}

/* Pagination */
body.blog .ast-pagination,
body.archive .ast-pagination {
  margin-top: 40px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  grid-column: 1 / -1 !important;
}
body.blog .ast-pagination .page-numbers,
body.archive .ast-pagination .page-numbers {
  background: var(--blog-surface) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  font-weight: 600 !important;
  color: var(--blog-ink-mid) !important;
  text-decoration: none !important;
  transition: all .2s var(--blog-ease);
}
body.blog .ast-pagination .page-numbers:hover,
body.archive .ast-pagination .page-numbers:hover,
body.blog .ast-pagination .page-numbers.current,
body.archive .ast-pagination .page-numbers.current {
  background: var(--blog-primary) !important;
  color: white !important;
  border-color: var(--blog-primary) !important;
}

/* =============================================================
   SINGLE POST (/blog/post-slug/)
   ============================================================= */

body.single-post {
  background: var(--blog-bg) !important;
}

/* Angled brand-blue gradient on single post page too */
body.single-post #page {
  background:
    linear-gradient(
      135deg,
      rgba(4, 107, 210, 0.12) 0%,
      rgba(4, 107, 210, 0.05) 25%,
      transparent 50%
    ),
    var(--blog-bg) !important;
}

/* Constrain reading width */
body.single-post .entry-content,
body.single-post .entry-header {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Article card */
body.single-post .ast-article-single,
body.single-post article.post {
  background: var(--blog-surface) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 24px !important;
  padding: 56px 48px !important;
  box-shadow:
    0 1px 0 rgba(11, 22, 40, 0.03),
    0 24px 60px -28px rgba(11, 22, 40, 0.14) !important;
  margin-bottom: 32px;
}

/* Title */
body.single-post .entry-title {
  font-size: clamp(26px, 3.5vw, 38px) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  color: var(--blog-ink) !important;
  margin: 0 0 24px !important;
  text-wrap: balance;
}

/* Accent line above title — branded blue fading to neutral */
body.single-post .entry-header::before {
  content: "";
  display: block;
  width: 48px;
  height: 4px;
  background: linear-gradient(90deg, var(--blog-primary) 0%, var(--blog-line) 100%);
  border-radius: 4px;
  margin-bottom: 24px;
}

/* Meta bar */
body.single-post .entry-meta,
body.single-post .ast-author-meta {
  font-size: 14px !important;
  color: var(--blog-ink-soft) !important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px 0 !important;
  border-top: 1px solid var(--blog-line) !important;
  border-bottom: 1px solid var(--blog-line) !important;
  margin: 0 0 40px !important;
}
body.single-post .entry-meta a {
  color: var(--blog-primary) !important;
  text-decoration: none !important;
  font-weight: 600;
}
body.single-post .entry-meta a:hover {
  color: var(--blog-primary-deep) !important;
}

/* Body typography */
body.single-post .entry-content {
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: var(--blog-ink-mid) !important;
}
body.single-post .entry-content p {
  margin: 0 0 24px !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

/* Drop cap on first paragraph */
body.single-post .entry-content > p:first-of-type::first-letter {
  font-family: Georgia, "Playfair Display", serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 0.9;
  float: left;
  margin: 6px 12px 0 0;
  color: var(--blog-primary);
}

/* Headings */
body.single-post .entry-content h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  color: var(--blog-ink) !important;
  margin: 48px 0 16px !important;
  line-height: 1.25 !important;
}
body.single-post .entry-content h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--blog-ink) !important;
  margin: 36px 0 12px !important;
  line-height: 1.3 !important;
}

/* Blockquote */
body.single-post .entry-content blockquote {
  border: none !important;
  border-left: 4px solid var(--blog-primary) !important;
  background: var(--blog-primary-soft) !important;
  padding: 20px 28px !important;
  margin: 32px 0 !important;
  border-radius: 0 14px 14px 0 !important;
  font-style: italic;
  color: var(--blog-ink) !important;
  font-size: 19px !important;
  line-height: 1.6 !important;
}
body.single-post .entry-content blockquote p {
  margin: 0 !important;
}

/* Inline links */
body.single-post .entry-content a {
  color: var(--blog-primary) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color .2s var(--blog-ease);
}
body.single-post .entry-content a:hover {
  color: var(--blog-primary-deep) !important;
  text-decoration-thickness: 2px !important;
}

/* Images */
body.single-post .entry-content img {
  border-radius: 16px !important;
  margin: 32px 0 !important;
  max-width: 100%;
  height: auto;
}

/* Lists */
body.single-post .entry-content ul,
body.single-post .entry-content ol {
  margin: 0 0 24px !important;
  padding-left: 24px !important;
}
body.single-post .entry-content li {
  margin-bottom: 8px !important;
  line-height: 1.7 !important;
}

/* Share section */
body.single-post .sharedaddy,
body.single-post .sd-sharing-enabled {
  margin: 32px 0 !important;
  padding: 20px 0 !important;
  border-top: 1px solid var(--blog-line) !important;
  border-bottom: none !important;
}
body.single-post .sd-title,
body.single-post .sharedaddy h3 {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.10em !important;
  color: var(--blog-ink-soft) !important;
  margin: 0 0 12px !important;
  border: none !important;
}
body.single-post .sd-title::before {
  display: none !important;
}
body.single-post .sd-content ul {
  display: flex !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body.single-post .sd-content ul li {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-post .sd-content a.sd-button,
body.single-post .sd-content .sd-social-icon-text a {
  background: var(--blog-bg) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 10px !important;
  padding: 10px 16px !important;
  color: var(--blog-ink-mid) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: all .2s var(--blog-ease);
  box-shadow: none !important;
}
body.single-post .sd-content a.sd-button:hover {
  background: var(--blog-primary) !important;
  color: white !important;
  border-color: var(--blog-primary) !important;
  transform: translateY(-1px);
}

/* Hide admin-only "Customize buttons" link */
body.single-post .sd-customize {
  display: none !important;
}

/* Hide Jetpack "Like This" widget (broken UX, takes huge space) */
body.single-post .sharedaddy.sd-block-jetpack-likes,
body.single-post #jp-post-flair,
body.single-post .jetpack-likes-widget-wrapper {
  display: none !important;
}

/* Related posts */
body.single-post .jp-relatedposts {
  margin-top: 40px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--blog-line) !important;
}
body.single-post .jp-relatedposts h3 {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.10em !important;
  color: var(--blog-ink-soft) !important;
  margin-bottom: 20px !important;
  border: none !important;
}
body.single-post .jp-relatedposts h3::before {
  display: none !important;
}

body.single-post .jp-relatedposts-items,
body.single-post .jp-relatedposts-items-visual {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 20px !important;
}
@media (max-width: 600px) {
  body.single-post .jp-relatedposts-items,
  body.single-post .jp-relatedposts-items-visual {
    grid-template-columns: 1fr !important;
  }
}

body.single-post .jp-relatedposts-post {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 16px !important;
  background: var(--blog-bg) !important;
  border-radius: 14px !important;
  border: 1px solid var(--blog-line) !important;
  transition: all .25s var(--blog-ease);
}
body.single-post .jp-relatedposts-post:hover {
  border-color: var(--blog-primary) !important;
  background: var(--blog-primary-soft) !important;
  transform: translateY(-2px);
}

body.single-post .jp-relatedposts-post-thumbs,
body.single-post .jp-relatedposts-post a.jp-relatedposts-post-a {
  display: block !important;
  margin: 0 0 12px !important;
}
body.single-post .jp-relatedposts-post img {
  border-radius: 10px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

body.single-post .jp-relatedposts-post-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 8px !important;
}
body.single-post .jp-relatedposts-post-title a {
  color: var(--blog-ink) !important;
  text-decoration: none !important;
  transition: color .2s var(--blog-ease);
}
body.single-post .jp-relatedposts-post-title a:hover {
  color: var(--blog-primary) !important;
}
body.single-post .jp-relatedposts-post-excerpt,
body.single-post .jp-relatedposts-post-context {
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: var(--blog-ink-soft) !important;
  margin: 0 !important;
}

/* Previous/Next navigation */
body.single-post .ast-single-post-navigation,
body.single-post .post-navigation {
  max-width: 720px !important;
  margin: 32px auto !important;
  padding: 0 !important;
  border: none !important;
  overflow: visible !important;
}
body.single-post .nav-links {
  display: flex !important;
  justify-content: space-between !important;
  align-items: stretch !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: visible !important;
}
body.single-post .nav-previous,
body.single-post .nav-next {
  flex: 1 !important;
  max-width: 48% !important;
  background: var(--blog-surface) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 12px !important;
  padding: 14px 18px !important;
  transition: border-color .25s var(--blog-ease),
              background .25s var(--blog-ease),
              box-shadow .25s var(--blog-ease) !important;
  overflow: visible !important;
}
body.single-post .nav-previous:hover,
body.single-post .nav-next:hover {
  border-color: var(--blog-primary) !important;
  background: var(--blog-primary-soft) !important;
  box-shadow: 0 4px 12px -4px rgba(4, 107, 210, 0.15) !important;
}
body.single-post .nav-next {
  text-align: right;
  margin-left: auto !important;
}

/* Links inside nav */
body.single-post .nav-previous a,
body.single-post .nav-next a {
  display: block !important;
  text-decoration: none !important;
  color: var(--blog-ink) !important;
  font-weight: 600;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
}

/* Astra nav title — no truncation */
body.single-post .nav-previous .ast-post-nav__title,
body.single-post .nav-next .ast-post-nav__title,
body.single-post .nav-previous a span,
body.single-post .nav-next a span:not(.screen-reader-text) {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  max-width: none !important;
  display: block !important;
  font-size: 13px !important;
}

@media (max-width: 600px) {
  body.single-post .nav-links {
    flex-direction: column !important;
  }
  body.single-post .nav-previous,
  body.single-post .nav-next {
    max-width: 100% !important;
  }
}

/* Comments */
body.single-post #comments,
body.single-post .comments-area {
  max-width: 720px;
  margin: 32px auto 0 !important;
  padding: 32px !important;
  background: var(--blog-surface) !important;
  border: 1px solid var(--blog-line) !important;
  border-radius: 20px !important;
}
body.single-post .comments-title,
body.single-post .comment-reply-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 768px) {
  body.blog .ast-row,
  body.archive .ast-row {
    grid-template-columns: 1fr !important;
  }
  body.blog .ast-article-inner,
  body.archive .ast-article-inner {
    padding: 22px !important;
  }
  body.blog .entry-title,
  body.archive .entry-title {
    font-size: 20px !important;
  }
  body.single-post .ast-article-single,
  body.single-post article.post {
    padding: 32px 22px !important;
    border-radius: 18px !important;
  }
  body.single-post .entry-content {
    font-size: 17px !important;
  }
  body.single-post .entry-content p {
    font-size: 17px !important;
  }
  body.single-post .entry-content > p:first-of-type::first-letter {
    font-size: 52px;
  }
}