/*
Theme Name: 2025 Child
Theme URI: 
Author: Jakson
Author URI: https://jakson.co
Description: A simple child theme for 2025 that allows for custom CSS and JS
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: 2025-child
Tags: 
*/

/* CSS added here will show on the front end as well as in the editor */

/* MOBILE MENU TWEAKS */
button.wp-block-navigation__responsive-container-close {
    padding-top: 16px;
}

/* Hide element if the viewport width is 600px or less */
@media screen and (min-width: 800px) {
  .hide-on-desktop {
    display: none !important;
  }
}

/* =============================================
   Unified Button Base + Hover (all button types)
   ============================================= */

/* Base state — green background, white text */
.wp-element-button,
.wp-block-button__link,
.wp-block-search__button {
    background-color: var(--wp--preset--color--accent-1) !important;
    color: #ffffff !important;
    border: 1px solid transparent !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

/* Hover state — only on devices that support hover (avoids mobile double-tap) */
@media (hover: hover) {
    .wp-element-button:hover,
    .wp-block-button__link:hover,
    .wp-block-search__button:hover {
        background-color: var(--wp--preset--color--base) !important;
        color: var(--wp--preset--color--accent-1) !important;
        border-color: var(--wp--preset--color--accent-1) !important;
    }
}


/* =============================================
   Read More Link — sliding arrow on hover
   ============================================= */

.wp-block-post-excerpt__more-link {
	display: inline-flex;
	font-size: 20px;
	align-items: center;
	gap: 0.3em;
	font-weight: 600;
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
	transition: color 0.2s ease;
}

.wp-block-post-excerpt__more-link::after {
	content: "\2192";
	display: inline-block;
	transition: transform 0.25s ease;
}

.wp-block-post-excerpt__more-link:hover {
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}

.wp-block-post-excerpt__more-link:hover::after {
	transform: translateX(5px);
}

/* Equal height title band for archive cards */
.archive-card-title {
  min-height: 8rem;        /* adjust to fit your longest title */
  display: flex;
  align-items: center;     /* or flex-end if you want titles sitting at the bottom */
	padding: 6px !important;
}
.archive-card-title .wp-block-post-title {
  margin: 0;
  width: 100%;
  text-align: left;
  justify-content: flex-start;
}


/* Business Contact Form */
.business-contact-form-wrap {
    margin-block: 2rem;
    padding: 1.5rem;
    border: 1px solid var(--wp--preset--color--contrast-2, #ddd);
    border-radius: 4px;
}

.business-contact-form .form-field {
    margin-block-end: 1.25rem;
}

.business-contact-form label {
    display: block;
    font-weight: 600;
    margin-block-end: 0.4rem;
}

.business-contact-form input[type="text"],
.business-contact-form input[type="email"],
.business-contact-form textarea {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--wp--preset--color--contrast, #ccc);
    border-radius: 3px;
    font-size: 1rem;
    font-family: inherit;
    background-color: #ffffff;
    box-sizing: border-box; /* prevents fields bleeding to the edge */
}

.contact-form-success {
    padding: 1rem;
    background-color: #d4edda;
    border: 1px solid #c3e6cb;
    border-radius: 4px;
    color: #155724;
    margin-block-end: 1rem;
}

.contact-form-error {
    padding: 1rem;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    border-radius: 4px;
    color: #721c24;
    margin-block-end: 1rem;
}



/* Meta Field Block: inline prefix/value/suffix with no gap — used on gd_place (Single Business template) phone field */
.extra-phone-link .prefix,
.extra-phone-link .value,
.extra-phone-link .suffix {
    display: inline;
}

.wp-block-mfb-meta-field-block.extra-phone-link .prefix {
    margin-inline-end: 0;
}

.wp-block-mfb-meta-field-block.extra-phone-link .suffix {
    margin-inline-start: 0;
}

/* FAQ Blocks */
.faq-block:first-of-type {
	margin-top: 30px;
}

.faq-block:not(:last-of-type) {
	margin-bottom: 30px;
}

/* Styling for the question */
.faq-block summary {
	font-size: 20px;
	font-weight: bold;
	cursor: pointer;
	margin-bottom: 5px;
}

/* Optional: Remove default dropdown arrow */
.faq-block summary::-webkit-details-marker {
	display: none;
}

/* Styling for the answer */
.faq-block p {
	font-size: 16px;
	margin: 5px 0 0;
}

.faq-block summary {
  list-style: none;
}
.faq-block summary h3 {
    display: inline;
    font-size: inherit;
    margin: 0;
}

.faq-block summary::-webkit-details-marker {
  display: none;
}


.faq-block summary::marker {
  display: none;
}

.faq-block {
	border: 1px solid #B8D2C4;
  border-radius: 7px;
  padding: 12px;
}

/* Space above Headings Inside Main Content */
.wp-block-heading {
  padding-top: 30px;
}

.wp-block-group.address-block.has-medium-font-size.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained div {
    /* padding: 0px !important; */
    margin: 0px !important;
}

/* Quotes Styling */
.wp-block-quote.is-layout-flow.wp-block-quote-is-layout-flow {
  width: 95%;
  margin: 40px auto;
    margin-right: auto;
    margin-left: auto;
  border-left: 8px solid #B8D2C4;
  background: #EDEDED40;
}

/* Limit excerpts to 4 lines */
.wp-block-post-excerpt__excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 4; /* change this number to your desired lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* Opening Days and Hours */
.business-open-hours {
    max-width: 28rem;
    margin: 1.5rem auto 1.5rem 0 !important;
}

.business-open-hours__heading {
    margin: 0 0 0.75rem 0;
    font-size: var(--wp--preset--font-size--medium, 1.25rem);
}

.business-open-hours__table {
    width: 100%;
    border-collapse: collapse;
}

.business-open-hours__table td {
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--wp--preset--color--accent-3, #eee);
    vertical-align: top;
}

.business-open-hours__table tr:last-child td {
    border-bottom: none;
}

.business-open-hours__day {
    font-weight: 600;
    padding-right: 1.5rem;
    white-space: nowrap;
}

.business-open-hours__times {
    white-space: nowrap;
    text-align: right;
}

.bullet-hidden {
	padding-top: 20px;
	padding-bottom: 10px;
}
.bullet-hidden ul,
.bullet-hidden li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.entry-content.alignfull.wp-block-post-content.has-global-padding.is-layout-constrained.wp-block-post-content-is-layout-constrained {
    padding-top: 0px;
    margin-top: 0px;
}



.gd-place-categories {
  padding-top: 20px;
}
.gd-place-categories .business-category {
  padding-bottom: 16px;
}


/* Search results - tighten inner block spacing */
.wp-block-post-template .wp-block-post-title {
    margin-bottom: 0.1rem;
}

.px-result-post-type {
    display: block;
    margin-bottom: 0.1rem;
}

.wp-block-post-template .wp-block-post-excerpt {
    margin-top: 0;
}


.event-venue-address {
    white-space: pre-wrap; /* or pre-line */ /* [web:82][web:77] */
    font-style: normal;
}



.upcoming-event-sidebar-title {
  font-weight: 600;
}
.upcoming-event-sidebar-date {
  padding-bottom: 20px;
}

/* Event Date Single */
.future-event-dates {
  margin-top: 10px;
}
.future-event-dates p {
  margin-bottom: 3px;
  margin-top: 0px;
}

/* MFB Field Group - Reduce Spacing on inline blocks */

.mfb-field-group .wp-block-mfb-meta-field-block.is-display-inline-block .prefix, .wp-block-mfb-meta-field-block.is-display-inline-block .prefix {
  margin-inline-end: 0.25rem !important;
}


.wp-block-mfb-meta-field-block .wp-block-heading {
  margin-bottom: 0px;
}


.price-note {
    margin-top: 0px;
}