/* =========================
   THEME TWEAKS
========================= */

/* Header padding with responsive clamp */
.site-header {
    padding-inline: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.site-header > a.button_basic {
	color; var(--neutral-0) !important;
}

/* Typography wrapping */
/* Balance headings and elements with `.balance` class */
:is(h1, h2, h3, h4, h5, h6),
.balance {
    text-wrap: balance;
}

.reset-wrap {
	text-wrap: unset;
}

.reset-word-spacing {
	word-spacing: -0.05rem;
	letter-spacing: 0.05rem;
}

.swiper-button-prev {
	left: var(--swiper-navigation-sides-offset, -35px);
}

.swiper-button-next {
	right: var(--swiper-navigation-sides-offset, -35px);
}

/* Use pretty wrapping for body text elements */
p,
blockquote,
li {
    text-wrap: pretty;
}

.wp-block.gb-is-root-block {
	max-width: 600px !important;
}

.wrap_reset {
	text-wrap: auto;
}

/* =========================
   UTILITIES
========================= */

/* Line Clamping */
.line-limit-3,
.line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
}

/* Visually Hidden (accessible to screen readers) */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Smooth Transition Utility */
.transition {
    transition: all 0.25s ease-in-out;
}


/* =========================
   GP MENU ACCESSIBILITY TWEAKS
========================= */

#site-navigation ul.sub-menu {
    display: block;
}

#site-navigation li:hover .gp-icon svg {
    transform: rotate(180deg);
}

#site-navigation li:hover .sub-menu {
    visibility: visible;
}


/* =========================
   STRETCH LINK (from Bootstrap)
   Source: https://youtu.be/HBriBrnRlQE?si=DLiSXEiBHt6lw91l
   Note: Only use ONE link per card or this breaks!
========================= */

.stretch-link {
    position: relative;
}

.stretch-link a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.stretch-link a:is(:focus-visible)::after {
    outline: 2px solid;
}

.stretch-link a:is(:hover, :focus) {
    outline: none;
}


/* =========================
   CONTAINER WRAPPER
========================= */

.site-wrapper {
    width: 100%;
    /* max-width: 1920px; */
    margin-inline: auto;
    background: var(--neutral-50);
}

/* =========================
   GFORM OVERRIDES
========================= */
.gform_submission_error {
	word-spacing: 0 !important;
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
    background-color: var(--brand-primary-alt) !important;
}

body .gform_wrapper .gform_footer input.button,
#gform_submit_button_2,
body .gform_wrapper .gform_footer input[type="submit"] {
	background-color: var(--brand-primary) !important;
	color: #ffffff !important;
	font-family: var(--cursive) !important;
	font-style: italic !important;
	font-size: 16px !important;
	border: 2px solid var(--brand-primary-alt) !important;
	padding: 0.6rem 1.2rem;
	border-radius: 8px !important;
	cursor: pointer;
    /*box-shadow: var(--shadow-elevation-medium) !important;*/
}

body .gform_wrapper .gform_body .gform_page_footer .gform_previous_button,
body .gform_wrapper .gform_body .gform_page_footer .gform_next_button {
	font-family: var(--cursive) !important;
	font-size: 16px !important;
}

body .gform_wrapper .gform_body .gform_page_footer .gform_next_button:hover,
#gform_submit_button_2:hover,
body .gform_wrapper input[type="submit"]:hover {
	background-color: var(--brand-primary-alt) !important;
}
