/*
Theme Name: Amma Theme 4.1
Template:   twentytwentyfive
Author: Amma's Volunteers
Description: A child theme of WP 2025.
Version: 4.1
Requires at least: 6.8
Tested up to: 6.9.4
Requires PHP: 8.0
Text Domain: amma-theme
*/

/********* PAGE NUMBERS FOR SEARCH RESULTS ETC (PAGINATION BLOCK) ***********/
.wp-block-query-pagination {
  display: flex;
  justify-content: center; /* center the pagination */
  gap: 4rem;               /* space between items */
  flex-wrap: nowrap;       /* keep items on one line */
  margin-top: 2rem;        /* spacing above pagination */
}

.wp-block-query-pagination a,
.wp-block-query-pagination span {
  padding: 0.4em .8em;
  border: 1px solid #ccc;
  border-radius: 9px;
  text-decoration: none;
  color: inherit;
  display: inline-block;
  font-size: 16px;
  background: #ffffff;
  margin: 0 0.3em;
}
.wp-block-query-pagination .current {
  font-weight: bold;
  background-color: var(--wp--preset--color--violet);
  color: white;
  border-color: var(--wp--preset--color--violet);
}

/********* SPECIAL CRAZY CSS TO GET IMAGE OF AMMA TO WORK NEXT TO MY RELIGIONS IS LOVE QUOTE ***********/
@media only screen and (min-width: 1024px) {
	.amma-home-bkg {
		background-image: url('/wp-content/uploads/amma-smiling-homeUK-01-1.png');
		background-position: bottom right;
		background-repeat: no-repeat;
		background-size: contain;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1023px) {
	.amma-home-bkg {
		background-image: url('/wp-content/uploads/amma-smiling-homeUK-01-1.png');
		background-position: bottom right;
		background-repeat: no-repeat;
		background-size: 50% auto; /* Constrains width to 50% of the container */
	}
}
@media only screen and (min-width: 768px) and (max-width: 783px) {
	.amma-home-stack {
		max-width:60%;
	}
}

/**************************SEARCH BUTTON AND FORM ******************************************/
/* Pointer cursor on button */
.open-search-overlay {
  cursor: pointer;
}
@media (max-width: 1025px) {
    .open-search-overlay {
    padding: 8px 10px;
  }
}
/* Base overlay style */
.search-overlay {
  display:flex;
  position: fixed;
  inset: 0;
  background-color: #2D164C;
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  flex-direction: column;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.search-overlay.open {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}


/* Close button styling */
.close-search-overlay {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  color: #D7BCD8;
  font-size: 2rem;
  cursor: pointer;
  z-index: 1001;
}

/* Form container */
.search-form {
  width: 100%;
  max-width: 1104px;
}

/* Input field */
.search-form input[type="search"] {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid #D7BCD8;
  font-size: 2rem;
  padding: 0.5em 0;
  color: #FFF;
  outline: none;
  text-align: center;
}

/* Placeholder text */
.search-form input::placeholder {
  color: #AF78B1;
  opacity: 1;
  font-size:smaller;
}

/* Hide submit button */
.search-form button[type="submit"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* Hide the native clear (X) button in WebKit browsers */
.search-form input[type="search"]::-webkit-search-decoration,
.search-form input[type="search"]::-webkit-search-cancel-button,
.search-form input[type="search"]::-webkit-search-results-button,
.search-form input[type="search"]::-webkit-search-results-decoration {
  display: none;
}


/************************** NEWS POSTS STYLES *********************************/
.post-title-xlplus {
  font-size: var(--wp--preset--font-size--xl-plus);
  font-weight: 700;
  line-height:1.2;
}
/**** FEATURED IMAGE SPLIT BACKGROUND ****/
.featured-image-section {
  background-image: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 40%,
    #2d164c 40%,
    #2d164c 100%
  );
  padding-top: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--50);
}
/* Make featured image full-width only on small screens */
.featured-image-section .featured-image-custom {
  width: 100%;
  height: auto;
}
/* Constrain featured image on larger screens */
@media (min-width: 768px) {
  .featured-image-section .featured-image-custom {
    max-width: var(--wp--style--global--content-size, 1104px);
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
/**** FEATURED IMAGE CAPTION ****/
.wp-block-featured-image-caption {
  font-size: clamp(16px, 1.5vw, 22px);
  font-family: "Lora", serif;
  font-style:italic;
  font-weight: 400;
  line-height:1.3;
  color: #FFFFFF;
  padding-top:1.5rem;
}
/**** MOBILE STYLES FOR FEATURED IMAGE SECTION/CAPTION ****/
@media (max-width: 768px) {
  .featured-image-section {
    padding-bottom: var(--wp--preset--spacing--20);
  }
  .wp-block-featured-image-caption {
    text-align:center;
    padding-top:0.5rem;
}
}
/***** 2-COL POST CONTENT BELOW FEATURED IMAGE *******/
.post-date-custom, .topics-label {
  text-transform:uppercase;
  font-weight:700;
  font-size: var(--wp--preset--font-size--small);
}
.post-category-custom {
  font-weight:400;
  color: var(--wp--preset--color--gold-dark);
  margin-top:4px;
}
.post-category-custom a{
  text-decoration:none;
}
/**** GALLERY RELATED ****/
.wp-block-gallery .wp-block-image {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.wp-block-gallery figcaption {
  position: static !important;
  padding: 0.5em 0 0;
  text-align: center;
  opacity: 1 !important;
  transition: none !important;
  width:100%;
  font-size: clamp(16px, 1.5vw, 20px);
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	font-size: clamp(16px, 1.5vw, 18px);
  background:#E5E4EB;
  text-shadow:none;
  color:#825184;
  padding:0.3em 0.3em 0.5em 0.3em;
}
@media (max-width: 768px) {
  .wp-block-gallery.is-layout-flex {
    flex-direction: column !important;
    gap: 1.5em; /* optional spacing between items */
  }
  .wp-block-gallery.is-layout-flex .wp-block-image {
    width: 100% !important;
  }
}
/********* LIGHTBOX WITH PHOTOSWIPE PLUGIN OVERRIDES **********/
.pswp__bg {
  background:#2d164c;
}
.pswp__caption__text {
  font-family: "Lora", serif;
  font-style:italic;
  font-weight: 400;
  font-size: clamp(16px, 1.5vw, 22px);
}
/***** IMAGE CAPTION FOR SINGLE IMAGES *******/
figcaption.wp-element-caption {
  font-family: "Lora", serif;
  font-style:italic;
  font-weight: 400;
  font-size: clamp(16px, 1.5vw, 22px);
  color: #825184;
  background-color:#E5E4EB;
  padding:9px;
  margin-top:0px;
}
/*********** FANCY SINGLE IMAGE CAPTIONS ON DESKTOP *************/
@media only screen and (min-width: 1180px) {
    figure.image-caption-left::before, figure.image-caption-right::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        width: 100vw;
        height: 100%;
        background-color: #E5E4EB;
        z-index: -1;
        transform: translateX(-50%);
    }
    figure.image-caption-right, figure.image-caption-left {
        position: relative;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 1104px;
        margin-left: calc((704px - 1104px) / 2);
        padding: 30px 0;
    }
    .image-caption-right img, .image-caption-left img {
        width: 704px;
    }
    .image-caption-right figcaption, .image-caption-left figcaption {
        text-align: left;
        width: 350px;
        padding: 0;
        font-family: "Lora", serif;
        font-style: italic;
        font-weight: 400;
        font-size: 22px !important;
        color: #825184;
        margin: 0;
    }
    figure.image-caption-left {
        flex-direction: row-reverse;
    }
}

/********************** Make sure SVG logos show in header ***************************************/
.wp-block-site-logo img,
.wp-block-site-logo svg {
  min-width: 80px;
  max-width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 480px) {
  .wp-block-site-logo img,
  .wp-block-site-logo svg {
    min-width: 60px;
  }
}

/*********************** GUTSLIDER STUFF **********************************************************/
/**** FROM JENNI ***/
.wp-block-gutsliders-any-content.border-with-radius .swiper-container-outer {
border-radius: 9px;
border: 1px solid var(--gutslide-slide-border-color);
}
.wp-block-gutsliders-any-content.border-with-radius .swiper {
padding-bottom: 2px;
padding-right: 2px;
}
.wp-block-gutsliders-any-content.border-violet-light  {
--gutslide-slide-border-color: var(--wp--preset--color--violet-light); 
}
.wp-block-gutsliders-any-content.border-violet-lightest  {
--gutslide-slide-border-color: var(--wp--preset--color--violet-lightest); 
}
.wp-block-gutsliders-any-content.border-violet  {
--gutslide-slide-border-color: var(--wp--preset--color--violet); 
}
.wp-block-gutsliders-any-content.border-gold  {
--gutslide-slide-border-color: var(--wp--preset--color--gold); 
}
.wp-block-gutsliders-any-content.border-gold-dark  {
--gutslide-slide-border-color: var(--wp--preset--color--gold-dark); 
}
.wp-block-gutsliders-any-content.full-width-slides .gutslider-content-inner {
padding: 0;
max-width: 100%;
}
/**** FROM BHUVANESH ***/
.slider-parent {
  max-width:1220px;
  margin: 0 auto;
}


/************* BUTTONS *********************************************************************/

/* Shared button tweaks */
.wp-block-button__link {
transition: all 0.2s ease;
border-radius: 2rem;
font-weight: 500;
}
.wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline-white .wp-block-button__link,
.wp-block-button.is-style-dark-purple .wp-block-button__link,
.wp-block-button.is-style-violet .wp-block-button__link {
  padding: 0.75rem 1.375rem;
  font-size: var(--wp--preset--font-size--small);
  text-decoration: none;
}

/* Default button style. Applies only to buttons without a custom style */
.wp-block-button:not(.is-style-outline):not(.is-style-outline-white):not(.is-style-dark-purple):not(.is-style-violet) .wp-block-button__link {
  padding: 0.75rem 1.375rem;
  transition: all 0.2s ease;
  border-radius: 2rem;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  background: var(--wp--preset--color--gold-dark);
  color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--gold-dark);
}

/* Default button hover style — only for buttons with no custom style */
.wp-block-button:not(.is-style-outline):not(.is-style-outline-white):not(.is-style-dark-purple):not(.is-style-violet) .wp-block-button__link:hover {
  background: color-mix(in srgb, var(--wp--preset--color--gold-dark) 90%, black 10%);
  color: var(--wp--preset--color--base);
}

/* Outline button style */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--violet-dark);
  border: 1px solid var(--wp--preset--color--violet-dark);
  padding: 0.75rem 1.375rem; /*this is required because Outline is a default block*/
  }
  
  .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--wp--preset--color--violet-dark);
  color: var(--wp--preset--color--base);
  }

/* Outline White button style */
.wp-block-button.is-style-outline-white .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--base);
}

.wp-block-button.is-style-outline-white .wp-block-button__link:hover {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--violet-dark);
}

/* Dark Purple button style */
.wp-block-button.is-style-dark-purple .wp-block-button__link {
  background: var(--wp--preset--color--violet-dark);
  color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--violet-dark);
}
.wp-block-button.is-style-dark-purple .wp-block-button__link:hover {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--violet-dark);
}

/* Violet button style */
.wp-block-button.is-style-violet .wp-block-button__link {
  background: var(--wp--preset--color--violet);
  color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--violet);
}
.wp-block-button.is-style-violet .wp-block-button__link:hover {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--violet-dark);
}

/********* Apply outline button style to Read More links in Block Queries only. 
This is used when you want to display a loop query of this sites blog/news POSTS. 
This is not used for Related News from Amma.org ************************/

.wp-block-query a.wp-block-read-more {
  display: inline-block;
  background: transparent;
  color: var(--wp--preset--color--violet);
  border: 1px solid var(--wp--preset--color--violet);
  padding: 0.75rem 1.375rem;
  text-decoration: none;
  border-radius: 0.375rem; /* Optional: match your button border radius */
  font-weight: 500; /* Optional: match button weight */
  transition: all 0.2s ease;
  border-radius: 200px;
}

.wp-block-query a.wp-block-read-more:hover {
  background: var(--wp--preset--color--violet-dark);
  color: var(--wp--preset--color--base) !important;
}

/******************************** Add External site or arrow icons to links ********************/
/************** PURPLE EXTERENAL LINK ICON *******/
.wp-block-button.external-link.is-style-outline a::after,
.wp-block-button.external-link.is-style-violet a:hover::after,
.wp-block-button.external-link.is-style-dark-purple a:hover::after,
.wp-block-button.external-link.is-style-outline-white a:hover::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.4em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%232D164C' %3E%3Cpath d='M432 320h-32a16 16 0 0 0-16 16v112H64V128h112a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16H48A48 48 0 0 0 0 112v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V336a16 16 0 0 0-16-16zm56-320H336a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h75.88L201.37 298.51a16 16 0 0 0 0 22.62l22.62 22.62a16 16 0 0 0 22.62 0L456 109.25V185a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position:relative;
  top: -2px;
  vertical-align: middle;
}
/************** WHITE EXTERENAL LINK ICON *******/
.wp-block-button.external-link a::after,
.wp-block-button.external-link.is-style-fill a::after,
.wp-block-button.external-link.is-style-violet a::after,
.wp-block-button.external-link.is-style-dark-purple a::after,
.wp-block-button.external-link.is-style-outline-white a::after,
.wp-block-button.external-link.is-style-outline a:hover::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.4em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23FFF' %3E%3Cpath d='M432 320h-32a16 16 0 0 0-16 16v112H64V128h112a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16H48A48 48 0 0 0 0 112v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V336a16 16 0 0 0-16-16zm56-320H336a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h75.88L201.37 298.51a16 16 0 0 0 0 22.62l22.62 22.62a16 16 0 0 0 22.62 0L456 109.25V185a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position:relative;
  top: -2px;
  vertical-align: middle;
}

/****************************** LINKS **********************************************
 These work in conjunction with TT5 theme css and our theme.json
*/
main a {
    text-decoration-thickness: 1px !important;
    text-underline-offset: .3em  !important;
    text-decoration-style: dotted;
    text-decoration-color: currentColor;
}
main a:hover {
   text-decoration: underline;
   text-decoration-color: currentColor;
}
/*** Make links gold in news posts only ***/
.single-post .wp-block-post-content a {
  color: var(--wp--preset--color--gold-dark);
}
/*** Header and footer links have underline only on hover ***/
header a:not(.wp-element-button),
footer a:not(.wp-element-button) {
  text-decoration: none !important;
}
header a:hover:not(.wp-element-button),
footer a:hover:not(.wp-element-button) {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: .3em !important;
}
/*** Optional class to remove underlines on links anywhere ***/
.links-no-underline a {
  text-decoration: none !important;
}


/*********************** STYLE QUOTE MARK FOR BOTTOM BIG QUOTE BLOCK ***********************/
.quote-outside{
	line-height:1.5;
}
.quote-outside:before {
	  content: "“";
    display: block;
    font-family: "Times New Roman", Times, serif;
    font-size: 100px;
    font-weight: 900;
    height: 0.6em;
    line-height: 1;
	color: #d57a74;
}
@media (min-width: 1164px) {
    .quote-outside:before {
        position: absolute;
        left: 0px;
        top: 0;
    }
}
@media (max-width: 767px) {
    .quote-outside {
    padding-left:10px!important;
		padding-right:10px!important;
		margin-left:0px!important;
		margin-right:0px!important;
    }
}

/*********************** GENERAL STYLES *********************************************************/

.rounded-corners {
  border-radius: 9px;
  overflow: hidden;
}
.dotted-border {
  border: dotted;
}
:focus:not(:focus-visible) {
  outline: none; /*removes box around links in focus */
}
.hide-me {
  display:none !important;
}
@media (max-width: 1233px) {
    .mobile-violet-bkg {
      background: var(--wp--preset--color--violet)!important;
    }
}
@media (max-width: 767px) {
    .mobile-hide-me {
      display: none !important;
  }
}
@media (min-width: 768px) {
    .desktop-hide-me {
      display: none !important;
  }
}
@media (max-width: 1024px) {
    .tablet-hide-me {
      display: none !important;
  }
}
@media (min-width: 1025px) {
    .desktop-two-hide-me {
      display: none !important;
  }
}
/*********************************** CENTER AND FIX MOST STUFF ON MOBILE ***********************/
@media (max-width: 767px) {
  .is-flex-centered {
    display: flex !important;
    flex-direction: column !important;   /* Stack items vertically */
    justify-content: center !important;  /* Center content vertically */
    align-items: center !important;      /* Center content horizontally */
    width: 100% !important;              /* Ensure full width for centering */
    text-align: center !important;       /* Center text inside this container */
  }

  .is-flex-centered > * {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Ensure text inside paragraphs headlines is also centered */
  .is-flex-centered p, .is-flex-centered h1, .is-flex-centered h2, .is-flex-centered h3 {
    text-align: center !important;
  }
  .no-mobile-padding-LR {
    padding-left:0px !important;
    padding-right:0px !important;
  }
  /* Make logo smaller on mobile */
  .mobile-logo img {
	  height:54px !important;
  }
  .mobile-text-left {
    text-align: left;
  }
  .mobile-text-right {
    text-align: right;
  }
}

/***************** Fix separators in stacks etc. *************************************/
.wp-block-group .wp-block-separator.is-style-wide,
.wp-block-group .wp-block-separator.is-style-default,
.wp-block-group .wp-block-separator.is-style-separator-wide-dotted,
.editor-styles-wrapper .wp-block-group .wp-block-separator.is-style-wide,
.editor-styles-wrapper .wp-block-group .wp-block-separator.is-style-default,
.editor-styles-wrapper .wp-block-group .wp-block-separator.is-style-separator-wide-dotted {
    width: 100% !important;
    align-self: stretch;
    max-width: var(--wp--style--global--wide-size);
}
.is-style-separator-wide-dotted {
  border-width:0 0 2px 0;
}
/**************** STARS background GROUP container *********************************************************/
.is-style-amma-purple-stars-background {
  background-image: url('/wp-content/uploads/bg-stars-violet.png');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: auto; /* keeps image at its native size */
  position: relative;
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--20);
}
/* Make sure the stars background image doesn't get cut off */
@media (max-width: 767px) {
  .is-style-amma-purple-stars-background {
    background-size: 100% auto;
    padding-top:20px !important;
  }
}

/************************************ Vertical DOTS  ******************************************************/
.vertical-dots-ivory:after {
  content: "";
  display: block;
  width: 0px;
  border-right: dotted 2px #F2E5CA;
  height: 100%;
  position: absolute;
  left: calc(50% - 1px);
}
.vertical-dots-white:after {
  content: "";
  display: block;
  width: 0px;
  border-right: dotted 2px #FFFFFF;
  height: 100%;
  position: absolute;
  left: calc(50% - 1px);
}
.vertical-dots-violet:after {
  content: "";
  display: block;
  width: 0px;
  border-right: dotted 2px #AF78B1;
  height: 100%;
  position: absolute;
  left: calc(50% - 1px);
}
.vertical-dots-gold:after {
  content: "";
  display: block;
  width: 0px;
  border-right: dotted 2px #D6AE54;
  height: 100%;
  position: absolute;
  left: calc(50% - 1px);
}
/* Hide vertical dots on phones */
@media (max-width: 767px) {
  .vertical-dots-gold:after, 
  .vertical-dots-violet:after, 
  .vertical-dots-white:after, 
  .vertical-dots-ivory:after {
    display:none;
  }
}

/*********************** Reverse direction on mobile ************************************/
@media (max-width: 1024px) {
  .reverse-col {
    flex-direction: column-reverse;
	overflow-x: hidden;
    max-width: 100vw;
  }
  .reverse-col .wp-block-column.is-vertically-aligned-top,
  .reverse-col .wp-block-column.is-vertically-aligned-bottom,
  .reverse-col .wp-block-column.is-vertically-aligned-center {
    width: auto !important;
    flex-basis: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }
  .reverse-row {
    flex-direction: row-reverse;
  }
}

/***************************** Pullquote style **************************************/

figure.wp-block-pullquote blockquote:before {
  display: block;
  content: "\201C";
  font-family: "Poppins", Sans-Serif;
  font-style: normal;
  font-weight:700;
  font-size: 80px;
  position: absolute;
  top: -50px;
  color: #947026;
}

figure.wp-block-pullquote blockquote {
  margin: 70px 0 60px -66px;
  padding: 0;
  position: relative;
  text-align:left;
}

figure.wp-block-pullquote blockquote p{
  font-family: "Lora", serif;
  font-weight: 400;
  font-size: 28px;
  font-style: italic;
  line-height: 1.3 !important;
  color: #4D5565;
  margin: 0;
}

figure.wp-block-pullquote blockquote cite {
  color: #947026;
  font-family: "Poppins", Sans-Serif;
  font-size: 16px;
  font-style: normal;
  font-weight:700;
  display: block;
  margin-top: 12px;
}

@media only screen and (max-width: 1179px) {
/* For mobile phones: */

  figure.wp-block-pullquote blockquote {
    margin: 70px 0 60px 0;
  }

  figure.wp-block-pullquote blockquote p{
    font-size: 24px;
  }
}

/************************* Real (best) min-height for cards ************************************/

.card-height-300 {
  min-height: 300px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-350 {
  min-height: 350px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-400 {
  min-height: 400px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-450 {
  min-height: 450px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-500 {
  min-height: 500px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-525 {
  min-height: 525px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.card-height-540 {
  min-height: 540px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
/********** CARDS 50PX SHORTER ON MOBILE ********************/
@media (max-width: 767px) {
  .card-height-300 {
    min-height: 250px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-350 {
    min-height: 300px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-400 {
    min-height: 350px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-450 {
    min-height: 400px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-500 {
    min-height: 450px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-525 {
    min-height: 475px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .card-height-540 {
    min-height: 490px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}

/************************* Use details blocks as an accordion *****************/
.accordion-group {
  overflow-y: auto;
}

.accordion-group .wp-block-details .content-wrapper {
  margin-top: 0;
  max-height: 0; /* Start collapsed */
  overflow: hidden; /* Hide content when collapsed */
  transition: max-height 0.3s ease-in-out; /* Smooth transition */
}

/* When details is open, set max-height to fit content */
.accordion-group .wp-block-details[open] .content-wrapper {
  max-height: 1000px; /* Large enough for most content; JS will adjust */
  padding-bottom:6px;
}

.accordion-group .wp-block-details .content-wrapper p {
  line-height: 1.6;
  margin-top: 3px;
  padding-left: var(--wp--preset--spacing--30);
}

.accordion-group details summary {
  font-weight: bold;
  font-size: 1.2em;
  color: #f2e5ca;
  cursor: pointer;
  padding: 3px 0 0 0;
}

.accordion-group details summary:hover {
  color: #fff;
}

.accordion-group details summary:focus,
.accordion-group details[open] summary {
  outline: none;
  border: none;
  color: #fff;
}
/************* Light background dark text ************/
.accordion-group.ag-light details summary {
  color: #2d164c;
}

.accordion-group.ag-light details summary:hover {
  color: #825184;
}

.accordion-group.ag-light details summary:focus,
.accordion-group.ag-light details[open] summary {
  color: #825184;
}
/* Add SVG icon for desktop only to indicate active item */
@media (min-width: 1164px) { 
  .accordion-group .wp-block-details {
    position: relative; /* Positioning context for ::before */
    padding-left:60px; /* Ensure space for the icon in open details */
  }
  .accordion-group .wp-block-details[open] summary::before {
    content: "";
    position: absolute;
    left: 0;
    top:0;
    width: 30px; /* Icon size */
    height: 30px;
    background-image: url('/wp-content/uploads/icon-star-gold-light.svg'); /* SVG for open state */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .accordion-group.ag-light .wp-block-details[open] summary::before {
    background-image: url('/wp-content/uploads/icon-star-medium-purple.svg'); /* SVG for open state */
  }
  /* Optional: Ensure closed details have no icon or padding */
  .accordion-group .wp-block-details summary {
    padding-left: 0; /* No padding for closed state to align text */
  }
}

/**************** HEADER, Mega Menu, New Mobile Menu (mm) Styles - class names required for JS to menus function *****************/
@media (min-width: 1025px) {
    .mm-icon {
      display: none !important;
  }
}
  .mega-content-group {
    position: relative;
    margin-block-start: 0 !important;
  }
  .mega-content, .mm-content {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: absolute;
    left: 0;
    right: 0;
    width: 100vw;
    top: 100%;
    z-index: 999;
    min-height: 500px;
  }
  .mega-content.active, .mm-content.active {
    opacity: 1;
    pointer-events: auto;
  }
  .mega-link {
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--violet);
    text-transform: uppercase;
    font-weight: 400;
  }
  .mega-link a::after {
    content: "";
    display: inline-block;
    width: 0.75em;
    height: 0.75em;
    margin-left: 0.4em;
    color: #825184;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23825184' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
  }
  .mega-link.active a::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23825184' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z'/%3E%3C/svg%3E");
  }
  .icon-arrow-white a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.4em;
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23FFF' %3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h306.7L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.mandala-menu-background {
    background-image: url(/wp-content/uploads/icon-mandala-purple-cropped.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: 33% auto;
}
.dotted-bottom-border-gold-dark {
  border-bottom: 1px dotted var(--wp--preset--color--gold-dark);
}

/************ Mobile Nav Layout ************************************/
  .menu-mobile {
      display: grid;
  }
  .menu-mobile>button {
    padding:12px;
  }
  ul.menu-mobile {
    margin-left:30px;
    margin-top:-30px;
  }
  .mobile-subnav-head {
    margin-top:20px;
  }
  .mobile-subnav-head>ul {
    margin-top: -16px;
  }
  .mobile-subnav-head>ul>li {
    line-height:36px;
    font-weight:400;
  }

/**************** MOBILE / DESKTOP NAV BREAKPOINTS *****************/
/* 1025px and above hide mobile nav */
  @media (min-width: 1025px) {
    nav.menu-mobile.is-layout-flex {
      display: none !important;
    }
  }
  /* 1024px and below hide desktop nav */
  @media (max-width: 1024px) {
    .menu-desktop {
      display: none !important;
    }
  }
/**************** DESKTOP NAV MENU ALIGNMENT AND SPACING. *****************/
.menu-desktop {
  padding-right:18px;
}
/************* FOOTER STYLES *******************************************/
/* removes gap above footer *****/
.wp-site-blocks > .wp-block-template-part:last-child {
  margin-block-start: 0 !important; 
}

/******************** FOR RSS OF LATEST NEWS FROM AMMA.ORG ***************************/
.rss-grid-wrap {
  display: grid;
  gap: var(--wp--preset--spacing--40); /* Matches theme spacing */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
/*************** SEARCH RESULTS & ARCHIVE PAGES RELATED *************************************/
.search-results-title {
  font-size: var(--wp--preset--font-size--xl-plus);
}
/* Mobile: stack cards vertically */
@media (max-width: 767px) {
  .custom-search-loop-query {
    grid-template-columns: 1fr;
  }
}
/* Let the grid treat the card div as the grid item */
.custom-search-loop-query > .wp-block-post-template {
  display: contents;
}
/* Ensure the card fills the grid cell */
.custom-search-loop-query > * > .card-height-500 {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
/* Card styling */
.custom-search-loop-query .card-height-500 {
  justify-content: space-between;
  border: 1px solid #AF78B1;
}

/************************** MAP PIN ON EVENT TEST CARDS ********************************/
.map-pin-event:before {
  content: "";
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  margin-right: 0.3em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%232D164C' %3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position:relative;
  top: -2px;
  vertical-align: middle;
}