/* Glass Door Salon theme styles. Design tokens live in theme.json. */

body {
	background: #fcfcfc url(../images/background.jpg) repeat center;
}

.gds-main {
	padding-top: 20px;
	padding-bottom: 20px;
}

/* ---------- Header ---------- */
/* Measured against the BeTheme header at 1280px: logo 226x174, menu 20px plum,
   menu level with the GLASS DOOR lettering, button 23px under the logo. */
.gds-header {
	padding-top: 15px;
	padding-bottom: 84px; /* 7px + room for the Book button, which hangs below the logo */
}
.gds-header__bar {
	gap: 0;
	align-items: flex-end !important;
}
.gds-header .gds-nav {
	flex: 0 0 auto;
	padding-bottom: 11px;
}
.gds-header .gds-nav .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 18px;
}
.gds-header .gds-nav--left .wp-block-navigation__container {
	gap: 29px;
}
.gds-header .gds-nav .wp-block-navigation-item__content {
	padding: 8px 20px;
	line-height: 30px;
	white-space: nowrap;
	color: var(--wp--preset--color--plum);
}
.gds-header .gds-nav .wp-block-navigation-item__content:hover,
.gds-header .gds-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--plum-light);
	text-decoration: none;
}
.gds-brand {
	position: relative;
	flex: 0 0 auto;
	margin: 0 28px 0 38px !important;
}
.gds-logo {
	display: block;
	line-height: 0;
}
.gds-logo img {
	height: 174px;
	width: auto;
}
.gds-header .gds-nav--mobile {
	display: none;
}
/* The Book button is centered on the logo image itself, whatever the menus around it do */
.gds-header__cta {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	margin: 23px 0 0 !important;
	flex-wrap: nowrap !important;
}
.gds-header__cta .wp-block-button { white-space: nowrap; }
.gds-header__cta .wp-block-button__link {
	font-family: var(--wp--preset--font-family--body);
	font-size: 16px !important;
	line-height: 18px;
	padding: 16px 20px;
}
@media (max-width: 1239px) {
	.gds-header .gds-nav { font-size: 17px !important; padding-bottom: 0; }
	.gds-header .gds-nav .wp-block-navigation__container { gap: 4px; }
	.gds-header .gds-nav .wp-block-navigation-item__content { padding: 8px 12px; }
	.gds-brand { margin: 0 10px !important; }
	.gds-logo img { height: 140px; }
}
@media (max-width: 959px) {
	.gds-header { padding-bottom: 90px; }
	.gds-header__bar { justify-content: space-between !important; align-items: center !important; }
	.gds-header .gds-nav--left,
	.gds-header .gds-nav--right { display: none; }
	.gds-header .gds-nav--mobile { display: flex; flex: 0 0 auto; padding-bottom: 0; }
	.gds-logo img { height: 110px; }
	.gds-header__cta { margin-top: 16px !important; }
	.gds-brand { margin: 0 !important; }
	.gds-header .gds-nav--mobile .wp-block-navigation__responsive-container-open { color: var(--wp--preset--color--plum); }
	.gds-header .gds-nav--mobile .wp-block-navigation__responsive-container-open svg { width: 34px; height: 34px; }
	.gds-header .gds-nav--mobile .wp-block-navigation__responsive-container.is-menu-open { padding-top: 60px; }
	.gds-header .gds-nav--mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 10px 0; font-size: 22px; }
	.gds-header__bar::before { content: ""; width: 34px; } /* keeps the logo centered */
}

/* ---------- Buttons with icons ---------- */
.gds-icon-calendar .wp-block-button__link::before,
.gds-icon-card .wp-block-button__link::before,
.gds-icon-heart .wp-block-button__link::before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-right: 0.6em;
	vertical-align: -0.12em;
	background: currentColor;
	-webkit-mask: var(--gds-icon) center / contain no-repeat;
	mask: var(--gds-icon) center / contain no-repeat;
}
.gds-icon-calendar { --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h3V2zm12 8H5v9h14v-9z'/%3E%3C/svg%3E"); }
.gds-icon-card { --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 5v7h16v-7H4zm0-3v1h16V7H4z'/%3E%3C/svg%3E"); }
.gds-icon-heart { --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M12 20s-7.5-4.6-9.3-9.2C1.4 7.4 3.6 4 7 4c2.1 0 3.5 1.2 5 3 1.5-1.8 2.9-3 5-3 3.4 0 5.6 3.4 4.3 6.8C19.5 15.4 12 20 12 20z'/%3E%3C/svg%3E"); }
.wp-block-button.gds-large .wp-block-button__link {
	font-size: 16px;
	padding: 16px 20px;
}
.wp-block-button.gds-icon-card .wp-block-button__link { width: 100%; }

/* ---------- Dividers ---------- */
.wp-block-separator.is-style-gds-single,
.wp-block-separator.is-style-gds-double {
	border: 0;
	height: 5px;
	width: 100%;
	opacity: 1;
	background: url(../images/home_bar_hr2.png) repeat-x left center;
	margin-top: 30px;
	margin-bottom: 30px;
}
.wp-block-separator.is-style-gds-double {
	background-image: url(../images/home_bar_hr.png);
}

/* ---------- Framed images ---------- */
.wp-block-image.is-style-gds-frame img,
.gds-frame img,
.wp-caption {
	padding: 2px;
	border: 1px solid #aea086;
	background: #fff;
	box-sizing: border-box;
}

/* ---------- Specials card (matches BeTheme pricing box) ---------- */
.wp-block-group.is-style-gds-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	padding: 20px 15px;
	text-align: center;
	background: #fff;
}
.is-style-gds-card > .wp-block-image { margin: 0; }
.is-style-gds-card > h4 { font-size: 30px; line-height: 30px; margin: 15px 0 0; }
.gds-price {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 45px;
	line-height: 45px;
	color: var(--wp--preset--color--plum);
	margin: 20px 0 0 !important;
	padding-bottom: 17px;
	position: relative;
}
.gds-price::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 210px;
	height: 1px;
	margin-left: -105px;
	background: var(--wp--preset--color--plum);
}
.gds-checklist {
	list-style: none;
	padding: 10px 15px;
	margin: 7px 0 0 !important;
	text-align: center;
	font-size: 16px;
	line-height: normal;
}
.gds-checklist li { padding: 11px 10px; }
.gds-checklist li::before { content: "\2714\FE0E"; margin-right: 3px; font-size: 13px; }
.is-style-gds-card > .wp-block-buttons { margin-top: 0 !important; }

/* ---------- Icon links (home "Getting to know", applying prompts) ---------- */
.gds-icon-link a {
	color: var(--wp--preset--color--heading);
	text-decoration: none;
}
.gds-icon-link a:hover {
	color: var(--wp--preset--color--plum);
	text-decoration: none;
}
.gds-icon-link .wp-block-image {
	margin-bottom: 10px;
}

/* ---------- Team members (matches BeTheme team list) ---------- */
@font-face { font-family: "Alegreya"; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/alegreya-latin-400-italic.woff2) format("woff2"); }
.wp-block-columns.is-style-gds-team { gap: 24px; margin: 0 0 40px; align-items: flex-start; }
.is-style-gds-team > .wp-block-column > * { margin-top: 0; }
.is-style-gds-team .wp-block-image { margin: 0; }
.is-style-gds-team .wp-block-image img { width: 100%; height: auto; }
.is-style-gds-team h4.gds-team__name { font-size: 28px; line-height: 29px; margin: 0 0 3px; }
.is-style-gds-team h4.gds-team__name a { color: inherit; }
.is-style-gds-team p { font-size: 16px; line-height: 24px; margin: 0 0 15px; }
.is-style-gds-team p.gds-team__role { color: #a8a8a8; position: relative; padding-bottom: 17px; margin-bottom: 22px; }
.is-style-gds-team p.gds-team__role::after { content: ""; position: absolute; left: 0; bottom: 0; width: 230px; height: 1px; background: var(--wp--preset--color--plum); }
.is-style-gds-team .wp-block-quote { margin: 0; padding: 20px 20px 20px 45px; background: rgba(0, 0, 0, 0.02); border: 0; }
.is-style-gds-team .wp-block-quote p { font-family: "Alegreya", Georgia, serif; font-style: italic; font-size: 17px; line-height: 25px; color: #444; margin: 0 0 20px; }

/* ---------- Gallery slideshow ---------- */
.wp-block-gallery.is-style-gds-slideshow {
	position: relative;
	display: block !important;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	gap: 0 !important;
}
.wp-block-gallery.is-style-gds-slideshow > .wp-block-image {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100%;
	margin: 0 !important;
	opacity: 0;
	transition: opacity 0.6s ease;
}
.wp-block-gallery.is-style-gds-slideshow > .wp-block-image:first-child,
.wp-block-gallery.is-style-gds-slideshow.is-ready > .wp-block-image:first-child:not(.is-active) {
	opacity: 1;
}
.wp-block-gallery.is-style-gds-slideshow.is-ready > .wp-block-image { opacity: 0; }
.wp-block-gallery.is-style-gds-slideshow.is-ready > .wp-block-image.is-active { opacity: 1; z-index: 1; }
.wp-block-gallery.is-style-gds-slideshow > .wp-block-image img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}
.gds-slideshow__dots {
	position: absolute;
	z-index: 2;
	left: 0;
	right: 0;
	bottom: 12px;
	display: flex;
	justify-content: center;
	gap: 8px;
}
.gds-slideshow__dots button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.4);
}
.gds-slideshow__dots button[aria-current] {
	background: #fff;
}
/* In the editor, show the images as a normal grid so they are easy to manage */
.editor-styles-wrapper .wp-block-gallery.is-style-gds-slideshow {
	aspect-ratio: auto;
	display: flex !important;
	gap: 8px !important;
}
.editor-styles-wrapper .wp-block-gallery.is-style-gds-slideshow > .wp-block-image {
	position: relative;
	opacity: 1;
	width: calc(33.33% - 8px) !important;
	height: auto;
}

/* ---------- Footer ---------- */
.gds-footer {
	padding-bottom: 20px;
}
.gds-contact-bar {
	gap: 0 !important;
	padding-top: 10px;
	margin-top: 20px;
	margin-bottom: 30px;
}
.gds-contact-bar h5 {
	margin: 0 0 5px;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 400;
	color: var(--wp--preset--color--plum);
	font-size: 20px;
	line-height: 32px;
}
.gds-contact-bar h3.gds-contact-bar__value {
	font-size: clamp(28px, 3.3vw, 41px);
	line-height: 43px;
}
.gds-contact-bar .gds-contact-bar__value {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(22px, 3vw, 33px);
	line-height: 1.45;
	color: var(--wp--preset--color--heading);
	margin: 0 0 15px;
}
.gds-contact-bar__value a {
	color: inherit;
}
.gds-contact-bar strong {
	font-weight: 700;
	font-synthesis: weight;
}
.gds-contact-bar__email {
	font-size: clamp(18px, 2.65vw, 33.7px) !important;
	line-height: 29px !important;
	overflow-wrap: anywhere;
}
.gds-contact-bar__reach {
	padding: 20px 59px 20px 0;
	background: url(../images/home_bar_hr3.png) repeat-y right top;
}
.gds-contact-bar__hours {
	padding: 20px 0 20px 23px;
}
@media (max-width: 781px) {
	.gds-contact-bar__reach { background: none; padding: 0; }
	.gds-contact-bar__reach .has-text-align-right { text-align: center; }
	.gds-contact-bar__hours { padding: 0; text-align: center; }
}

.gds-map {
	position: relative;
	border: 6px solid #fff;
	box-shadow: 0 0 0 1px #e5e5e5;
	margin: 0 auto !important;
	max-width: calc(var(--wp--style--global--content-size) + 24px) !important;
	line-height: 0;
}
.gds-map__frame {
	display: block;
	width: 100%;
	height: 478px;
	border: 0;
}
.gds-map__card {
	position: absolute;
	top: 44px;
	right: 56px;
	width: 382px;
	box-sizing: border-box;
	background: var(--wp--preset--color--plum);
	color: #fff;
	padding: 25px;
	line-height: 19px;
	margin: 0 !important;
}
.gds-map__card h3 {
	color: #fff;
	font-size: 41px;
	line-height: 43px;
	margin: 0 0 15px;
}
.gds-map__card p {
	font-size: 16px;
	margin: 0;
}
.gds-map__card a {
	color: #fff;
}
.gds-map__address {
	padding: 13px 0 13px 50px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	position: relative;
}
.gds-map__phone {
	padding: 13px 0 13px 50px;
	position: relative;
}
.gds-map__address::before,
.gds-map__phone::before {
	position: absolute;
	left: 0;
	font-size: 15px;
}
.gds-map__address::before,
.gds-map__phone::before {
	content: "";
	left: 8px;
	top: 15px;
	width: 16px;
	height: 18px;
	background: #fff;
	-webkit-mask: var(--gds-icon) center / contain no-repeat;
	mask: var(--gds-icon) center / contain no-repeat;
}
.gds-map__address { --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }
.gds-map__phone { --gds-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1L6.6 10.8z'/%3E%3C/svg%3E"); }
@media (max-width: 781px) {
	.gds-map { line-height: normal; }
	.gds-map__frame { height: 300px; }
	.gds-map__card { position: static; width: auto; }
	.gds-map__card h3 { font-size: 30px; line-height: 34px; }
}

.gds-map + .wp-block-separator.is-style-gds-single {
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}
.gds-badges {
	gap: 87px 0 !important;
	margin-top: 0 !important;
	margin-bottom: 46px;
}
.gds-badges .gds-badge {
	flex: 0 0 25%;
	margin: 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gds-badges .gds-badge img {
	height: 200px;
	max-width: none;
	width: auto;
	object-fit: contain;
}
.gds-badges .gds-badge:nth-child(n+5) {
	flex-basis: 33.33%;
}
.gds-badges .gds-badge:nth-child(n+5) img {
	max-width: 319px;
	height: auto;
	max-height: none;
}
@media (max-width: 781px) {
	.gds-badges { gap: 30px 0 !important; }
	.gds-badges .gds-badge,
	.gds-badges .gds-badge:nth-child(n+5) { flex-basis: 50%; }
	.gds-badges .gds-badge img,
	.gds-badges .gds-badge:nth-child(n+5) img { height: auto; max-height: 130px; max-width: 90%; }
}

.gds-social h6 {
	font-size: 18px;
	line-height: 19px;
	color: var(--wp--preset--color--heading);
	margin: 0 0 13px;
}
.gds-social .wp-block-social-links { margin-top: 0 !important; }
.gds-social .wp-block-social-links {
	gap: 6px;
	margin-bottom: 20px;
	font-size: 28px;
}
.gds-social .gds-review-link {
	font-size: 18px;
	line-height: 19px;
	margin: 0 0 15px;
}
.gds-review-link a {
	color: var(--wp--preset--color--heading);
}
.gds-review-link a:hover {
	color: var(--wp--preset--color--plum);
}
.gds-social + .wp-block-separator.is-style-gds-double {
	margin-top: 55px;
}
.gds-copyright {
	font-size: 16px;
	color: #635346;
	padding: 40px 0 40px;
}

/* ---------- Blog ---------- */
/* Blog list: BeTheme "classic" layout */
.gds-post-list .wp-block-post-template { margin: 0; }
.gds-post-list .wp-block-post-template > li { margin: 0 0 40px; }
.gds-post-list__item { gap: 0 !important; align-items: flex-start !important; }
.gds-post-list__photo { flex: 0 0 37%; margin: 0; padding: 2px; border: 1px solid #aea086; box-sizing: border-box; }
.gds-post-list__photo img { display: block; width: 100%; height: auto; }
.gds-post-list__desc { flex: 1 1 auto; padding-left: 20px; }
.gds-post-list__desc > * { margin-top: 0 !important; }
.gds-post-list__title { font-size: 28px; line-height: 29px; margin: 0 0 15px; }
.gds-post-list__title a { color: var(--wp--preset--color--heading); }
.gds-post-list__excerpt p { margin: 0 0 15px; font-size: 16px; line-height: 24px; }
.gds-post-list__footer { display: flex; justify-content: flex-end; align-items: center; padding: 7px 15px; line-height: 30px; color: #a8a8a8; }
.gds-post-list__comments, .gds-post-list__more { position: relative; padding-left: 20px; color: var(--wp--preset--color--plum); }
.gds-post-list__comments { margin-right: 10px; }
.gds-post-list__comments::before, .gds-post-list__more::before {
	content: ""; position: absolute; left: 0; top: 50%; width: 15px; height: 15px; margin-top: -8px;
	background: #a8a8a8; -webkit-mask: var(--gds-meta-icon) center / contain no-repeat; mask: var(--gds-meta-icon) center / contain no-repeat;
}
.gds-post-list__comments { --gds-meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M4 5h16v11H9l-4 3v-3H4z'/%3E%3C/svg%3E"); }
.gds-post-list__more { --gds-meta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M6 3h9l4 4v14H6z M9 11h7 M9 15h7'/%3E%3C/svg%3E"); }
.gds-pager { margin-top: 40px !important; gap: 30px; align-items: center; }
.gds-pager .wp-block-query-pagination-numbers { display: flex; padding: 4px 3px; background: #f8f8f8; border-radius: 5px; margin: 20px 0 0; }
.gds-pager .page-numbers { display: block; width: 35px; height: 35px; line-height: 35px; margin: 0 1px; text-align: center; color: #a8a8a8; border-radius: 5px; }
.gds-pager .page-numbers.current { background: var(--wp--preset--color--plum); color: #fff; }
.gds-pager .page-numbers.dots { width: auto; padding: 0 6px; }
.gds-pager .wp-block-query-pagination-next { margin-top: 20px; line-height: 43px; }
.gds-pager .wp-block-query-pagination-next::after { content: " \203A"; }
@media (max-width: 781px) {
	.gds-post-list__item { flex-wrap: wrap !important; }
	.gds-post-list__photo { flex-basis: 100%; margin-bottom: 15px; }
	.gds-post-list__desc { padding-left: 0; }
	.gds-pager { flex-wrap: wrap; gap: 0 20px; }
	.gds-pager .page-numbers { width: 30px; }
}
/* Single post: BeTheme content + right sidebar */
.gds-single__cols { gap: 0 !important; margin: 10px auto 0 !important; max-width: calc(var(--wp--style--global--content-size) + 24px) !important; }
.gds-single__body { flex: 1 1 auto !important; min-width: 0; padding: 0 20px 0 9px; }
.gds-single__body > * { margin-top: 0 !important; }
.gds-single__title { font-size: 35px; line-height: 35px; margin: 0 0 60px !important; }
.gds-single__content > * { margin-top: 0 !important; margin-bottom: 15px; }
.gds-single__content ol, .gds-single__content ul { padding-left: 30px; }
.gds-single__content img.alignright, .gds-single__content .alignright { float: right; margin: 15px 0 15px 15px; }
.gds-single__content::after { content: ""; display: table; clear: both; }
.gds-comments { margin-top: 25px !important; border-top: 1px solid rgba(0, 0, 0, 0.08); padding-top: 20px; }
.gds-comments h3, .gds-comments .comment-reply-title { font-size: 21px; line-height: 25px; margin: 0 0 15px; }
.gds-comments .comment-form { display: flex; flex-wrap: wrap; gap: 0 18px; }
.gds-comments .comment-form > p { flex: 0 0 100%; margin: 0 0 15px; }
.gds-comments .comment-form-author, .gds-comments .comment-form-email, .gds-comments .comment-form-url { flex: 1 1 0 !important; }
.gds-comments textarea, .gds-comments input[type="text"], .gds-comments input[type="email"], .gds-comments input[type="url"] {
	width: 100%; box-sizing: border-box; padding: 10px; font: 15px/20px var(--wp--preset--font-family--body); color: #626262; background: #fff; border: 1px solid #cecece;
}
.gds-comments textarea { height: 182px; }
.gds-comments .form-submit { text-align: right; }
.gds-comments .form-submit input { font: 14px/16.8px var(--wp--preset--font-family--body); padding: 16px 20px; color: #fff; background: var(--wp--preset--color--plum-light); border: 0; border-radius: 3px; cursor: pointer; }
.gds-comments .form-submit input:hover { background: var(--wp--preset--color--plum); }
.gds-comment { margin-bottom: 20px; }
.gds-sidebar { flex: 0 0 285px !important; padding: 0 20px; box-sizing: border-box; }
.gds-sidebar > * { margin-top: 0 !important; }
.gds-widget { margin: 0 0 30px; }
.gds-widget h3 { font-size: 18px; line-height: 22px; margin: 0 0 15px; }
.gds-widget p { margin: 0; }
.gds-archives { list-style: square; margin: 0; padding: 5px 10px 5px 30px; background: rgba(0, 0, 0, 0.03); color: var(--wp--preset--color--plum); }
.gds-archives li { position: relative; }
.gds-archives li::after { content: ""; position: absolute; left: -30px; right: -10px; bottom: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
.gds-archives li:last-child::after { display: none; }
.gds-archives a { display: block; padding: 8px 0 9px 3px; }
@media (max-width: 781px) {
	.gds-single__cols { flex-wrap: wrap !important; margin: 10px 0 0 !important; }
	.gds-single__body { flex-basis: 100% !important; padding: 0; }
	.gds-sidebar { flex-basis: 100% !important; padding: 0; margin-top: 30px; }
	.gds-single__content img.alignright { float: none; display: block; margin: 15px auto; }
	.gds-comments .comment-form-author, .gds-comments .comment-form-email, .gds-comments .comment-form-url { flex-basis: 100% !important; }
}

/* ---------- Forms (Gravity Forms) ---------- */
.gform_wrapper .gfield { margin-top: 0 !important; margin-bottom: 24px !important; }
.gform_wrapper .gfield_label {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin-bottom: 12px !important;
}
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper select,
.gform_wrapper textarea {
	border: 1px solid #cecece;
	background: #fff;
	box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, 0.02);
	border-radius: 0;
	padding: 5px 4px;
	font-size: 16px;
	font-family: inherit;
	color: #626262;
}
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	border-color: #b6b6b6;
	outline: none;
}
.gform_wrapper .gform_footer { margin-top: 12px !important; padding-top: 0 !important; }
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
	background: var(--wp--preset--color--plum-light);
	color: #fff;
	border: 0;
	border-radius: 3px;
	padding: 16px 20px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 16px !important;
	line-height: 23px;
	cursor: pointer;
}
.gform_wrapper .gform_button:hover {
	background: var(--wp--preset--color--plum);
	color: #dcd4da;
}
.gform_confirmation_wrapper .gform_confirmation_message {
	background: var(--wp--preset--color--plum);
	color: #fff;
	padding: 20px;
}

/* ---------- Page bits ---------- */
.gds-page-title {
	margin-top: 0;
	margin-bottom: 40px;
	font-size: var(--wp--preset--font-size--huge);
}
/* Home: BeTheme 2/3 + 1/3 hero, 24px gutters, separators 55/52px below and 40px above content */
.gds-home-hero { margin-top: 0 !important; gap: 24px !important; }
.gds-home-hero > .wp-block-column:first-child { flex: 0 0 calc(66.666% - 8px) !important; }
.gds-home-hero > .wp-block-column:last-child { flex: 0 0 calc(33.333% - 16px) !important; }
.gds-home-hero > .wp-block-column > * { margin-top: 0; }
.gds-home-hero .is-style-gds-frame img { width: 100%; }
.gds-home-address { font-size: 16px; line-height: 24px; font-weight: 700; margin: 0 !important; padding: 20px 10px 0; }
.gds-home-address a { color: var(--wp--preset--color--plum); }
.gds-home-hero .wp-block-buttons + .gds-specials-link { margin-top: 40px !important; }
.gds-specials-link { margin: 0 0 22px !important; }
.gds-specials-link + .gds-specials-link { display: none; }
.gds-specials-link img { border: 2px solid #ddd; box-sizing: border-box; width: 100%; }
.gds-home-hero + .wp-block-separator { margin-top: 55px !important; margin-bottom: 40px !important; }
.gds-home-know { gap: 24px !important; margin-top: 0 !important; }
.gds-home-know > .wp-block-column:first-child { flex: 0 0 calc(33.333% - 18px) !important; }
.gds-home-know + .wp-block-separator { margin-top: 52px !important; margin-bottom: 40px !important; }
.gds-home-intro {
	color: var(--wp--preset--color--brown);
	font-size: 55px;
	line-height: 56px;
	margin: 0;
}
.gds-home-know .gds-icon-link .wp-block-image { margin: 0 0 11px; }
.gds-home-know .gds-icon-link h4 { font-size: 28px; line-height: 29px; margin-top: 0; }
.gds-home-posts { margin-top: 0 !important; }
.gds-home-posts .wp-block-post-template { gap: 20px !important; padding: 0 10px; }
.gds-home-posts .wp-block-post-featured-image { margin: 0 0 15px; }
.gds-home-posts .wp-block-post-featured-image img { padding: 2px; border: 0 !important; background: #fff; width: 100%; height: auto !important; }
.gds-home-posts .wp-block-post-date { margin-top: 4px !important; font-size: 12px; line-height: 18px; color: #a8a8a8; }
.gds-home-posts .wp-block-post-title {
	font-size: 28px;
	line-height: 29px;
	margin: 2px 0 15px !important;
}
.gds-home-posts .wp-block-post-title a { color: var(--wp--preset--color--heading); }
.gds-home-posts .wp-block-post-title a:hover { color: var(--wp--preset--color--plum); text-decoration: none; }
/* Potions: natural image sizes, BeTheme column padding and spacing */
.gds-potions-intro { gap: 24px; margin-top: 0 !important; }
.gds-potions-intro .wp-block-image { margin: 15px 15px 15px 0 !important; padding: 2px; }
.gds-potions-intro .wp-block-image img { width: 100%; height: auto; }
.gds-potions-intro h4 { color: #000; margin: 40px 0 0 !important; }
.gds-potions-intro p { margin-top: 41px !important; }
.gds-potions-intro { margin-bottom: 0 !important; padding-bottom: 40px; }
.gds-potions { gap: 24px; margin-top: 11px !important; margin-bottom: 0 !important; padding-bottom: 40px; }
.gds-potions + .gds-potions { margin-top: 0 !important; }
.gds-potions > .wp-block-column > * { margin-top: 0; }
.gds-potions .wp-block-image:not(.is-style-gds-frame) { max-width: 352px; padding: 2px; box-sizing: border-box; }
.gds-potions .wp-block-image img { width: auto; max-width: 100%; height: auto; }
.gds-potions .wp-image-227 { margin-top: 15px; }
.gds-potions h4 { margin: 26px 0 0 !important; padding: 0 20px; }
.gds-potions p { margin: 41px 0 0 !important; padding: 0 20px; font-size: 16px; line-height: 24px; }
.gds-potions .wp-block-image.is-style-gds-frame { display: block; width: auto; padding: 2px; border: 1px solid #aea086; text-align: center; }
.gds-potions .is-style-gds-frame img { padding: 0; border: 0; background: none; height: 527px; width: auto; max-width: 100%; object-fit: contain; }
.gds-potions h3 { margin: 25px 0 0 !important; padding: 0 23px 0 35px; }
.gds-potions p.gds-lead-text { margin-top: 56px !important; padding: 0 23px 0 35px; font-family: var(--wp--preset--font-family--display); font-size: 20px; line-height: 32px; color: var(--wp--preset--color--plum); font-style: normal; }
.gds-page-title:has(+ .gds-contact-cols) { margin-bottom: 62px; }
.gds-contact-cols { gap: 0 !important; }
.gds-contact-cols > .wp-block-column { box-sizing: border-box; flex: 0 0 50% !important; }
.gds-contact-cols > .wp-block-column:first-child { padding-right: 16px; }
.gds-contact-cols > .wp-block-column:last-child { padding-left: 73px; padding-top: 10px; }
.gds-contact-cols .gform_wrapper .gfield:nth-child(-n+2) { margin-bottom: 46px !important; }
.gds-contact-cols .gform_wrapper .gform_footer { margin-top: 23px !important; margin-bottom: 6px !important; }
.gds-contact-cols .wp-image-1032 { display: block; width: 100%; }
.gds-contact-apply { margin-top: 54px !important; gap: 0 !important; }
.gds-contact-apply > .wp-block-column:first-child { flex: 0 0 120px !important; }
.gds-contact-apply img { width: 79px; height: auto; }
.gds-contact-apply h4 { font-size: 28px; line-height: 40px; margin: 0; }
.gds-contact-apply h4 a { color: var(--wp--preset--color--heading); }
@media (max-width: 781px) {
	.gds-contact-cols > .wp-block-column { padding: 0 !important; flex-basis: 100% !important; }
	.gds-contact-cols > .wp-block-column:first-child { margin-bottom: 40px; }
	.gds-contact-apply { margin-top: 30px !important; flex-wrap: nowrap !important; align-items: center !important; }
	.gds-contact-apply h4 { font-size: 22px; line-height: 30px; }
	.gds-contact-apply > .wp-block-column:first-child { flex-basis: 90px !important; }
}
/* BeTheme prose rhythm: 15px after paragraphs, indented lists with 10px between items */
.gds-narrow, .gds-prose { font-size: 16px; line-height: 24px; }
.gds-narrow > *, .gds-prose > * { margin-top: 0 !important; margin-bottom: 15px; }
.gds-narrow > ul, .gds-prose > ul { padding-left: 30px; box-sizing: border-box; color: #333; }
.gds-narrow > ul li, .gds-prose > ul li { margin-bottom: 10px; }
.gds-prose > h4 { margin-bottom: 15px !important; }
.gds-page-title--spaced { margin-bottom: 80px; }
.gds-menu-intro { margin-bottom: 90px !important; }
.gds-narrow > .gform_wrapper, .gds-narrow > .gform_wrapper + * { margin-top: 16px !important; }

/* ---------- Classic content in older posts ---------- */
.wp-block-post-content img.alignleft,
.wp-block-post-content .wp-caption.alignleft {
	float: left;
	margin: 0.4em 1.5em 1em 0;
}
.wp-block-post-content img.alignright,
.wp-block-post-content .wp-caption.alignright {
	float: right;
	margin: 0.4em 0 1em 1.5em;
}
.wp-block-post-content img.aligncenter,
.wp-block-post-content .wp-caption.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-block-post-content img { max-width: 100%; height: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 13px; color: #666; text-align: center; margin: 6px 0 0; }
.wp-block-post-content::after { content: ""; display: table; clear: both; }
@media (max-width: 600px) {
	.wp-block-post-content img.alignleft,
	.wp-block-post-content img.alignright,
	.wp-block-post-content .wp-caption.alignleft,
	.wp-block-post-content .wp-caption.alignright { float: none; display: block; margin: 1em auto; }
}

/* Live site shows Instagram and TikTok as plain glyphs, the others in dark circles */
.gds-social .wp-social-link-instagram,
.gds-social .wp-social-link-tiktok {
	background: transparent !important;
	color: #1f1f1f !important;
}
.gds-social .wp-social-link-instagram svg,
.gds-social .wp-social-link-tiktok svg {
	width: 1.3em;
	height: 1.3em;
	fill: #1f1f1f;
}
.gds-social .wp-social-link-instagram a,
.gds-social .wp-social-link-tiktok a {
	padding: 0.1em;
}

/* ---------- More Than a Job ---------- */
.gds-mtaj { padding-right: 24px; }
.gds-mtaj > p:not(.has-text-align-center) + p.has-text-align-center { margin-top: 39px !important; }
.gds-mtaj-apply { margin-top: 66px !important; }
.gds-mtaj-apply .wp-block-image { margin-bottom: 0; }
.gds-mtaj-apply h4 { margin-top: 18px !important; }
@media (max-width: 781px) {
	.gds-home-hero > .wp-block-column:first-child,
	.gds-home-hero > .wp-block-column:last-child,
	.gds-home-know > .wp-block-column:first-child { flex: 0 0 100% !important; }
	.gds-home-intro { font-size: 36px; line-height: 38px; }
	.gds-home-know .gds-icon-link h4 { font-size: 22px; line-height: 24px; }
	.gds-home-posts .wp-block-post-template { padding: 0; }
}

/* Featured images: tall photos are cropped to BeTheme's 960x750 shape, wide ones keep their own shape */
.gds-post-list__photo a, .gds-home-posts .wp-block-post-featured-image a { display: block; container-type: inline-size; }
.gds-post-list__photo img, .gds-home-posts .wp-block-post-featured-image img { max-height: calc(100cqw / 1.28); object-fit: cover; }

/* Application: its builder section had 30px extra padding above the title */
.gds-page-title:has(+ .gds-narrow) { margin-top: 26px !important; }
/* Gallery: the old builder column left 24px free on the right */
.wp-block-post-content .envira-gallery-wrap { max-width: 1172px; margin-left: 0 !important; }
