/*
Theme Name: COA WP Theme
Theme URI: https://wordpress.org/themes/coa/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coa
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

figure {
	line-height: 1em !important;
}

.wp-block-navigation__submenu-container {
	border-radius: 1rem !important;
	overflow: hidden !important;
	border: 0 !important;
	min-width: 300px !important;
	box-shadow: 0 0 20px rgba(0, 0, 0, .15);
}

.wp-block-navigation__submenu-container a {
	color: var(--wp--preset--color--base-600) !important;
	transition: all .2s ease;
}

.wp-block-navigation__submenu-container a:hover {
	color: var(--wp--preset--color--base-900) !important;
	background-color: var(--wp--preset--color--base-100);
	text-decoration: none;
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

@media ( min-width: 781px ) {
	.is-style-divided {
		gap: 0;
	}

	.wp-block-group .is-style-divided .is-vertical {
		gap: 2rem;
	}

	.wp-block-group .is-style-divided .is-vertical > :not(:last-child) {
		position: relative;
	}

	.wp-block-group .is-style-divided .is-vertical > :not(:last-child):before {
		content: '';
		position: absolute;
		bottom: -1rem;
		left: 0;
		border-bottom: 1px solid var(--wp--preset--color--base-300);
		width: 100%;
	}

	.is-style-divided > .wp-block-column:not(:last-child) {
		border-right: 1px solid var(--wp--preset--color--base-300);
		padding-right: 2rem;
	}

	.is-style-divided > .wp-block-column:not(:first-child) {
		padding-left: 2rem;
	}
}

:root {
  --wp--preset--radius--full: 10rem;
}

img {
  border-bottom: 0 !important;
}

svg {
  display: block;
  max-width: 100%;
  height: auto;
  fill: currentColor !important; /* Inherits text color by default */
  stroke: none !important;
  overflow: visible !important; /* Prevents clipping of stroke/shadow effects */
}

strong {
  font-weight: var(--wp--custom--font-weight--bold) !important;
}

ul {
  margin-left: 2rem;
  padding-left: 2rem;
}

/* More specific if needed */
.wp-block-list,
.wp-block-list ul {
  margin-left: 2rem;
  padding-left: 2rem;
}

/* For nested lists */
.wp-block-list li ul,
.wp-block-list li ol {
  margin-left: 2rem;
  padding-left: 2rem;
}

.forminator-ui {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

@media ( min-width: 768px ) {
	.forminator-ui {
		gap: 3rem;
	}
}

.forminator-hidden {
	display: none;
}

/* Events Archive Styles */
.events-archive-container {
    margin: 0 auto;
}

.events-search {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.events-search-form .search-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.events-search-form .search-row input[type="text"] {
    flex: 1;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.events-search-form .search-row button {
    padding: 0.75rem 1.5rem;
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.events-search-form .search-row button:hover:not(:disabled) {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.events-search-form .search-row button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.events-search-form .filters-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    align-items: end;
}

.events-search-form .filter-group {
    display: flex;
    flex-direction: column;
	flex-wrap: wrap;
    gap: 0.25rem;
}

.events-search-form .filter-group label {
    font-weight: 600;
    color: #333;
    font-size: 0.9rem;
}

.events-search-form .filter-group input,
.events-search-form .filter-group select {
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.events-search-form .filter-group input:disabled,
.events-search-form .filter-group select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f5f5f5;
}

.events-search-form .search-row input[type="text"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f5f5f5;
}

.events-search-form .filter-group input[type="checkbox"] {
    width: auto;
    margin-right: 0.5rem;
}

.events-search-form .filter-btn,
.events-search-form .clear-filters {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.events-search-form .filter-btn {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

.events-search-form .filter-btn:hover:not(:disabled) {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.events-search-form .clear-filters {
    background: #f8f9fa;
    color: #666;
}

.events-search-form .clear-filters:hover:not(:disabled) {
    background: #e9ecef;
    color: #333;
}

.events-loading {
    text-align: center;
    padding: 3rem;
    color: #666;
    font-size: 1.1rem;
    display: none; /* Hidden by default */
}

.events-loading[x-show="loading"] {
    display: block; /* Override when Alpine.js shows it */
}

.events-loading p {
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
    transition: opacity 0.3s ease;
}

.events-grid.loading {
    opacity: 0.5;
}

.event-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.event-card-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.event-card-content {
    padding: 1.5rem;
}

.event-card-title {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
}

.event-card-title a {
    color: inherit;
    text-decoration: none;
}

.event-card-title a:hover {
    color: var(--wp--preset--color--primary, #007cba);
}

.event-card-meta {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: #666;
}

.event-card-meta > div {
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.event-card-meta .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.event-card-excerpt {
    margin-bottom: 1rem;
    line-height: 1.5;
}

.event-card-actions .btn-event-details {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: background-color 0.2s ease;
}

.event-card-actions .btn-event-details:hover {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.no-events {
    text-align: center;
    padding: 3rem;
    color: #666;
    background: #f8f9fa;
    border-radius: 8px;
}

.events-pagination {
    margin-top: 2rem;
    text-align: center;
}

.pagination-nav .page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination-nav .page-numbers li {
    margin: 0;
}

.pagination-nav .page-numbers a,
.pagination-nav .page-numbers span {
    display: block;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
}

.pagination-nav .page-numbers a:hover,
.pagination-nav .page-numbers .ajax-page-link:hover {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

.pagination-nav .page-numbers .current,
.pagination-nav .page-numbers .ajax-page-current {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

/* Responsive Design */
@media (max-width: 768px) {
    .events-search-form .search-row {
        flex-direction: column;
    }
    
    .events-search-form .filters-row {
        grid-template-columns: 1fr;
    }
    
    .events-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .pagination-nav .page-numbers {
        gap: 0.25rem;
    }
    
    .pagination-nav .page-numbers a,
    .pagination-nav .page-numbers span {
        padding: 0.4rem 0.6rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .events-search {
        padding: 1rem;
    }
    
    .event-card-content {
        padding: 1rem;
    }
}

.forminator-response-message[aria-hidden="true"] {
	display: none;
}

.forminator-row {
	margin-bottom: 0 !important;
}

.forminator-label {
	display: block;
	padding-bottom: 1rem;
	font-weight: 600;
}

.forminator-field-radio > .forminator-field {
}

.forminator-field-radio  > .forminator-field > .forminator-label {
    flex: none;
	margin-bottom: .5rem;
}

@media ( min-width: 768px ) {
	.forminator-field-radio  > .forminator-field > .forminator-label {
		width: auto;
	}
}

.forminator-field-radio  > .forminator-field > div {
    flex: none;
	margin-bottom: .5rem;
}

.forminator-field-radio  > .forminator-field > label {
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 5px;
	cursor: pointer;
	font-weight: 700;
	margin-bottom: 15px;
	padding: 10px 15px;
	font-size: 2rem;
	font-size: 1.5rem !important;
	width: 100%;
	display: block;
}

@media ( min-width: 480px ) {
	.forminator-field-radio  > .forminator-field > label {
		display: inline;
		margin-right: 15px;
		width: auto;
    }
}

.forminator-grouped-fields {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.forminator-grouped-fields label {
	font-size: 1rem;
	padding-bottom: .25rem;
}

.forminator-field-address {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.forminator-grouped-fields .forminator-row {
	margin-bottom: 0 !important;
}

.forminator-field-radio input[type="radio"] {
	display: none;
}

label.forminator-radio:has(input[type="radio"]:checked){
	background-color: var(--wp--preset--color--primary);
	color: #fff;
}

.forminator-select2,
input.forminator-input,
textarea.forminator-textarea {
	background-color: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--base-400);
	border-radius: 5px;
	padding: 10px 15px;
	font-size: 1.5rem;
	font-family: var(--wp--preset--font-family--roboto);
	font-weight: 400;
	width: 100%;
}

.forminator-error-message {
	color: #ef4444;
	display: block;
	font-size: 1rem;
	font-weight: 600;
	margin-top: 1rem !important;
	line-height: 1 !important;
}

.forminator-description {
	display: block;
	font-weight: 400;
	margin-bottom: 1rem !important;
	font-size: 1.2rem;
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

ul.wp-block-post-template {
	margin-left: 0 !important;
}

.coa-hidden {
	display: none;
}

.forminator-response-message {
	background-color: red;
	color: white;
	padding: 10px 20px;
	border-radius: 10px;
	font-weight: 700;
}

.coa-donation-payment-hidden {
	color: var(--wp--preset--color--base-500);
}

.forminator-repeater-label {
	color: var(--wp--preset--color--base-500);
	font-size: 1.2rem;
	margin-top: 1rem;
}

.forminator-ui#forminator-module-1089.forminator-design--basic .forminator-repeater-field {
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.select2-selection {
	background: #fff !important;
}

/* Events Archive Styles */
.events-archive-container {
    margin: 0 auto;
}

.events-search {
    background: #f8f9fa;
    padding: 2rem;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.events-search-form .search-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.events-search-form .search-row input[type="text"] {
    flex: 1;
    padding: 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 1rem;
}

.events-search-form .search-row button {
    padding: 0.75rem 1.5rem;
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.events-search-form .search-row button:hover:not(:disabled) {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.events-search-form .search-row button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.events-search-form .filters-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    align-items: end;
}

.events-search-form .filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.events-search-form .filter-group label {
    font-weight: 600;
    color: #333;
    font-size: 0.9rem;
}

.events-search-form .filter-group input,
.events-search-form .filter-group select {
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.events-search-form .filter-group input:disabled,
.events-search-form .filter-group select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f5f5f5;
}

.events-search-form .search-row input[type="text"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #f5f5f5;
}

.events-search-form .filter-group input[type="checkbox"] {
    width: auto;
    margin-right: 0.5rem;
}

.events-search-form .filter-btn,
.events-search-form .clear-filters {
    padding: 0.5rem 1rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.events-search-form .filter-btn {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

.events-search-form .filter-btn:hover:not(:disabled) {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.events-search-form .clear-filters {
    background: #f8f9fa;
    color: #666;
}

.events-search-form .clear-filters:hover:not(:disabled) {
    background: #e9ecef;
    color: #333;
}

.events-loading {
    text-align: center;
    padding: 3rem;
    color: #666;
    font-size: 1.1rem;
    display: none; /* Hidden by default */
}

.events-loading[x-show="loading"] {
    display: block; /* Override when Alpine.js shows it */
}

.events-loading p {
    animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
    transition: opacity 0.3s ease;
}

.events-grid.loading {
    opacity: 0.5;
}

.event-card {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}

.event-card-thumbnail img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.event-card-content {
    padding: 1.5rem;
}

.event-card-title {
    margin: 0 0 1rem 0;
    font-size: 1.25rem;
}

.event-card-title a {
    color: inherit;
    text-decoration: none;
}

.event-card-title a:hover {
    color: var(--wp--preset--color--primary, #007cba);
}

.event-card-meta {
    margin-bottom: 1rem;
    font-size: 0.9rem;
    color: #666;
}

.event-card-meta > div {
    margin-bottom: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.event-card-meta .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.event-card-excerpt {
    margin-bottom: 1rem;
    line-height: 1.5;
}

.event-card-actions .btn-event-details {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9rem;
    transition: background-color 0.2s ease;
}

.event-card-actions .btn-event-details:hover {
    background: var(--wp--preset--color--primary-dark, #005a87);
}

.no-events {
    text-align: center;
    padding: 3rem;
    color: #666;
    background: #f8f9fa;
    border-radius: 8px;
}

.events-pagination {
    margin-top: 2rem;
    text-align: center;
}

.pagination-nav .page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination-nav .page-numbers li {
    margin: 0;
}

.pagination-nav .page-numbers a,
.pagination-nav .page-numbers span {
    display: block;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
}

.pagination-nav .page-numbers a:hover,
.pagination-nav .page-numbers .ajax-page-link:hover {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

.pagination-nav .page-numbers .current,
.pagination-nav .page-numbers .ajax-page-current {
    background: var(--wp--preset--color--primary, #007cba);
    color: white;
    border-color: var(--wp--preset--color--primary, #007cba);
}

/* Responsive Design */
@media (max-width: 768px) {
    .events-search-form .search-row {
        flex-direction: column;
    }
    
    .events-search-form .filters-row {
        grid-template-columns: 1fr;
    }
    
    .events-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .pagination-nav .page-numbers {
        gap: 0.25rem;
    }
    
    .pagination-nav .page-numbers a,
    .pagination-nav .page-numbers span {
        padding: 0.4rem 0.6rem;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .events-search {
        padding: 1rem;
    }
    
    .event-card-content {
        padding: 1rem;
    }
}