
/*--------------------------------------------------------------
## Blocks Style
--------------------------------------------------------------*/

/*
 * Available block selectors:
 * .core/image
 */

/*--------------------------------------------------------------
# Block Style - core/image
--------------------------------------------------------------*/

.wp-block-image.is-style-buddyx-border img {
    border: 2px solid var(--color-theme-primary); /* Adjust the border properties as needed */
    border-radius: 5px; /* Optional: Add border-radius for rounded corners */
}

/* Buttons */
.wp-element-button,
.wp-block-button__link {
    font-family: inherit;
    font-size: inherit;
    color: var(--button-text-color);
    background-color: var(--button-background-color);
    border-radius: var(--button-border-radius);
    padding: 10px 20px;
    font-weight: 500;
    font-style: normal;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    display: inline-block;
    line-height: 1.3;
    border-color: var(--button-border-color);
    outline: 0;
    vertical-align: middle;
    -webkit-appearance: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all linear .2s;
    transition: all linear .2s;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
    color: var(--button-text-hover-color);
    background-color: var(--button-background-hover-color);
    border-color: var(--button-border-hover-color);
}
/* Block style variations — premium pattern library (Task 5) */
.wp-block-button.is-style-outline-accent .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--accent);
	border: 1px solid var(--wp--preset--color--accent);
}

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

.wp-block-button.is-style-link-arrow .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: 0;
	font-weight: 600;
	/* `border: none` is required because the base .wp-block-button__link
	 * rule (and our brand button-border token) apply a 1px border. Without
	 * resetting it here the link-arrow style renders as a solid button
	 * with brand-color border instead of a styled text link with arrow,
	 * which is what the pattern library expects (Hero CTA secondary,
	 * features alternating "See the type spec", etc.). */
	border: none;
	border-radius: 0;
	min-width: 0;
}

.wp-block-button.is-style-link-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-link-arrow .wp-block-button__link:focus {
	background: transparent;
	border: none;
	color: var(--wp--preset--color--primary, var(--wp--preset--color--contrast));
}

.wp-block-button.is-style-link-arrow .wp-block-button__link::after {
	content: " →";
	transition: transform 0.2s ease;
	display: inline-block;
}

.wp-block-button.is-style-link-arrow .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

.wp-block-separator.is-style-gradient {
	height: 1px;
	border: 0;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--contrast-3), transparent);
}

.wp-block-separator.is-style-dotted {
	border: 0;
	border-top: 2px dotted var(--wp--preset--color--contrast-3);
	background: transparent;
	height: 0;
}

.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base-2);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--40);
}

.wp-block-group.is-style-bordered {
	border: 1px solid var(--wp--preset--color--base-3);
	border-radius: 16px;
	padding: var(--wp--preset--spacing--40);
}

.wp-block-quote.is-style-editorial {
	font-family: var(--wp--preset--font-family--newsreader);
	font-style: italic;
	font-size: var(--wp--preset--font-size--large);
	border: 0;
	padding-left: var(--wp--preset--spacing--40);
	border-left: 3px solid var(--wp--preset--color--accent);
}

/* Mobile baseline — patterns must look great at 390px */
@media (max-width: 640px) {
	.wp-block-group.is-style-card,
	.wp-block-group.is-style-bordered { padding: var(--wp--preset--spacing--30); }
}

/* Block style variation: stacked links (used for footer nav lists) */
.wp-block-list.is-style-stacked-links {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.wp-block-list.is-style-stacked-links li {
	padding-left: 0;
	margin-left: 0;
}

.wp-block-list.is-style-stacked-links a {
	text-decoration: none;
	opacity: 0.85;
}

.wp-block-list.is-style-stacked-links a:hover {
	opacity: 1;
	text-decoration: underline;
}

/* Pattern utility: dark-footer link lists — strip default bullets, lift link contrast */
.has-contrast-background-color .wp-block-list,
.has-surface-3-background-color .wp-block-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.has-contrast-background-color .wp-block-list li,
.has-surface-3-background-color .wp-block-list li {
	padding-left: 0;
	margin-left: 0;
}

.has-contrast-background-color .wp-block-list a,
.has-surface-3-background-color .wp-block-list a {
	color: var(--wp--preset--color--base);
	opacity: 0.85;
	text-decoration: none;
}

.has-contrast-background-color .wp-block-list a:hover,
.has-surface-3-background-color .wp-block-list a:hover {
	opacity: 1;
	text-decoration: underline;
}
/* Lift dim contrast-3 text on dark surfaces — was sub-AA */
.has-contrast-background-color .has-contrast-3-color,
.has-surface-3-background-color .has-contrast-3-color {
	color: rgba(255, 255, 255, 0.72);
}

/* Pattern utility: Newsreader italic accent inside Inter headings */
.has-newsreader-accent em,
.has-newsreader-accent i {
	font-family: var(--wp--preset--font-family--newsreader);
	font-weight: 400;
	font-style: italic;
}

/* Pattern utility: editorial FAQ stack — top-rule + breathing room between details */
.buddyx-faq-stack .wp-block-details {
	border-top: 1px solid var(--wp--preset--color--base-3);
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
	margin: 0;
}

.buddyx-faq-stack .wp-block-details:last-of-type {
	border-bottom: 1px solid var(--wp--preset--color--base-3);
}

.buddyx-faq-stack .wp-block-details > summary {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	letter-spacing: -0.005em;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.buddyx-faq-stack .wp-block-details > summary::-webkit-details-marker { display: none; }

.buddyx-faq-stack .wp-block-details > summary::after {
	content: "+";
	font-family: var(--wp--preset--font-family--inter);
	font-size: 1.5em;
	font-weight: 300;
	line-height: 1;
	color: var(--wp--preset--color--contrast-3);
	transition: transform 0.2s ease;
}

.buddyx-faq-stack .wp-block-details[open] > summary::after {
	transform: rotate(45deg);
}

.buddyx-faq-stack .wp-block-details > p,
.buddyx-faq-stack .wp-block-details > .wp-block-paragraph,
.buddyx-faq-stack .wp-block-details p:not(summary) {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.65;
	color: var(--wp--preset--color--contrast-2);
	margin-top: var(--wp--preset--spacing--20);
	margin-bottom: 0;
}
