/*
 * WordPress-specific additions on top of the original peaceproducts.com styles:
 * core classes, admin bar offset, Gravity Forms and blog layout details.
 */

/* ---------- Core WordPress classes ---------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: #fff;
	clip: auto !important;
	clip-path: none;
	color: var(--color-blue);
	display: block;
	height: auto;
	left: 5px;
	padding: 1rem 1.5rem;
	top: 5px;
	width: auto;
	z-index: 100000;
}
.navbar-brand img, .footer-brand img { height: auto; }

.textbox .alignleft { float: left; margin: 0.35rem var(--bs-gutter-x, 1.5rem) 1rem 0; }
.textbox .alignright { float: right; margin: 0.35rem 0 1rem var(--bs-gutter-x, 1.5rem); }
.textbox .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.textbox img { max-width: 100%; height: auto; }
.textbox .wp-caption { max-width: 100%; }
.textbox .wp-caption-text { font-size: var(--text-small); color: var(--color-dark-grey); margin-top: 0.35rem; }
.textbox hr { margin: var(--margin-normal) 0; border-color: var(--color-grey); opacity: 1; }

/* Sidebar image blocks (e.g. Bag Types): images sit flush, scaled to the column. */
aside .textbox img { border-radius: 0; }
@media (max-width: 767.98px) {
	.textbox .alignleft, .textbox .alignright { float: none; margin: 0 0 var(--margin-normal); }
}

/* ---------- Admin bar offset for the fixed header ---------- */
@media (min-width: 992px) {
	.admin-bar #header .navbar { top: 32px; }
	.admin-bar #header .navbar.affix { top: calc(32px + var(--header-height-sticky) - var(--header-height)); }
}

/* ---------- Blog ---------- */
.post-wrap .text-image-wrap img { width: 100%; }
.related-posts { display: flex; flex-wrap: wrap; }
.related-posts .post-wrap { position: relative; }
@media (max-width: 991.98px) {
	.related-posts .post-wrap { width: 50%; }
}
@media (max-width: 575.98px) {
	.related-posts .post-wrap { width: 100%; }
}
.pagination { margin: 0; padding: 0; list-style: none; display: flex; gap: 0.25rem; }
.pagination > li > .current { color: var(--color-dark-blue); font-weight: 700; }
.pagination > li > .dots { color: var(--color-dark-grey); }

/* ---------- Gravity Forms (matches the original BA form styles) ---------- */
.gform_wrapper.gravity-theme { margin: 0; }
.gform_wrapper.gravity-theme .gform_required_legend,
.gform_wrapper.gravity-theme .gform_heading { display: none; }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: var(--margin-normal); }
.gform_wrapper.gravity-theme .gfield { margin: 0; }

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gfield_label.form-label {
	display: flex;
	gap: 0;
	font-size: 0.87rem;
	font-weight: 500;
	text-transform: uppercase;
	color: inherit;
	margin-bottom: var(--margin-small);
	padding: 0;
}
.gform_wrapper.gravity-theme .gfield_required {
	order: -1;
	color: inherit;
	margin: 0;
	font-size: inherit;
	padding: 0;
}
.gform_wrapper.gravity-theme .gfield_required .gfield_required_text { display: none; }

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme input[type="number"],
.gform_wrapper.gravity-theme input[type="url"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
	font: inherit;
	font-size: 1rem;
	height: var(--input-height);
	padding: 1rem 1.25rem;
	color: var(--color-base);
	background-color: #fff;
	border: 1px solid var(--color-light-grey);
	border-radius: calc(var(--input-height) / 2);
	box-shadow: none;
	width: 100%;
	transition: border-color 0.2s ease;
}
.gform_wrapper.gravity-theme textarea {
	height: auto;
	min-height: 10rem;
	resize: vertical;
}
.gform_wrapper.gravity-theme input:hover,
.gform_wrapper.gravity-theme textarea:hover,
.gform_wrapper.gravity-theme input:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme select:focus {
	border-color: var(--color-blue);
	outline: 0;
	box-shadow: none;
}
.gform_wrapper.gravity-theme select:not([multiple]) {
	appearance: none;
	padding-right: 3rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23B5B7C3' 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") no-repeat right 1.25rem center / 0.75rem;
}

/* Floating labels: site.js moves the label after the control inside .form-floating. */
.gform_wrapper.gravity-theme .pp-floating .form-floating > label.gfield_label {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(var(--input-height) / 2);
	height: auto;
	margin: 0;
	padding: 0 1.25rem;
	line-height: 1.2;
	color: var(--color-dark-grey);
	pointer-events: none;
	transform: translateY(-50%);
	transform-origin: 0 0;
	transition: all 0.2s ease;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border: 0;
}
.gform_wrapper.gravity-theme .pp-floating .form-floating > label.gfield_label::after { display: none; }
.gform_wrapper.gravity-theme .pp-floating .form-floating > .form-control:not(:placeholder-shown),
.gform_wrapper.gravity-theme .pp-floating .form-floating > .form-control:focus {
	padding-top: 1.7rem;
	padding-bottom: 0.8rem;
}
.gform_wrapper.gravity-theme .pp-floating .form-floating > .form-control:focus ~ label.gfield_label,
.gform_wrapper.gravity-theme .pp-floating .form-floating > .form-control:not(:placeholder-shown) ~ label.gfield_label {
	font-size: 0.62rem;
	transform: translateY(-1.05rem);
}
.gform_wrapper.gravity-theme .pp-floating textarea.form-control:not(:placeholder-shown) ~ label.gfield_label,
.gform_wrapper.gravity-theme .pp-floating textarea.form-control:focus ~ label.gfield_label {
	background: #fff;
	left: 1px;
	right: 1rem;
	top: 1px;
	padding-top: 0.6rem;
	padding-bottom: 0.25rem;
	transform: none;
	border-radius: calc(var(--input-height) / 2) 0 0 0;
}

/* SumoSelect inside Gravity Forms: inherit the original control styles. */
.gform_wrapper.gravity-theme .SumoSelect { width: 100%; }
.gform_wrapper.gravity-theme .SumoSelect > .CaptionCont { border: 1px solid var(--color-light-grey); }
.gform_wrapper.gravity-theme .SumoSelect select { height: 100%; }

/* Section headings ("Your Information", "Bag Information"). */
.gform_wrapper.gravity-theme .gsection {
	border: 0;
	padding: var(--margin-small) 0 0;
	margin: 0;
}
.gform_wrapper.gravity-theme .gsection_title {
	font: var(--font-heading);
	font-size: 1.62rem;
	margin: 0;
}

/* Validation and footer. */
.gform_wrapper.gravity-theme .gfield_error input,
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error .SumoSelect > .CaptionCont { border-color: #c02b0a; }
.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
	background: none;
	border: 0;
	padding: 0.35rem 1.25rem 0;
	margin: 0;
	font-size: var(--text-small);
	color: #c02b0a;
}
.gform_wrapper.gravity-theme .gform_validation_errors {
	border-radius: var(--radius-normal);
	box-shadow: none;
}
.gform_wrapper.gravity-theme .gform_footer {
	margin: var(--margin-normal) 0 0;
	padding: 0;
}
.gform_wrapper.gravity-theme .gform_footer .btn {
	margin: 0;
	height: var(--input-height);
	line-height: 1.2;
	font-size: 1rem;
	padding: 1.1rem 1.88rem;
	min-width: 0;
}
.gform_confirmation_message { font-size: var(--text-lead); font-weight: 300; }
.textbox .form-wrap { margin-top: var(--margin-big); }
