/*
 * Site-wide presentation. Loaded after the theme on every page.
 *
 * Headings across the site were Trebuchet MS in all capitals, which is most of what made
 * the pages read as a template. The display face used on the shop is applied everywhere,
 * in sentence case, and the footer, empty cart, partner and contact pages get the small
 * corrections from the site review.
 */

:root {
	--awb-typography1-font-family: "Fraunces", Georgia, "Times New Roman", serif;
	--awb-typography2-font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
	--awb-typography3-font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
	--gw-ink: #24302a;
	--gw-ink-soft: #5a6b60;
	--gw-line: #cfd8cc;
	--gw-accent: #b6553a;
}

h1, h2, h3, h4,
.fusion-title-heading,
.fusion-title .fusion-title-heading,
.title-heading-left, .title-heading-center, .title-heading-right {
	font-family: "Fraunces", Georgia, "Times New Roman", serif !important;
	font-optical-sizing: auto;
	font-weight: 500 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
	line-height: 1.12;
}

h1.fusion-title-heading, .fusion-title h1 { font-size: clamp(30px, 4vw, 52px) !important; }
h2.fusion-title-heading, .fusion-title h2 { font-size: clamp(26px, 3vw, 40px) !important; }
h3.fusion-title-heading, .fusion-title h3 { font-size: clamp(20px, 2.2vw, 28px) !important; }

body, p, li, .fusion-text, .fusion-checklist {
	font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
}

/* Small labels above headings: quiet, not shouting. */
.fusion-title-heading + .fusion-text,
.fusion-text.fusion-text-eyebrow {
	font-family: "Karla", sans-serif;
}

/* ---- footer (D 06) ---- */

.fusion-footer-widget-area .widget-title,
.fusion-footer-widget-area h4 {
	font-family: "Fraunces", Georgia, serif !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--gw-ink) !important;
}

.fusion-footer-widget-area,
.fusion-footer-widget-area p,
.fusion-footer-widget-area li,
.fusion-footer-widget-area a,
.fusion-footer-widget-area .fusion-contact-info-widget span {
	color: var(--gw-ink-soft) !important;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	text-decoration: none;
}

.fusion-footer-widget-area a:hover {
	color: var(--gw-accent) !important;
}

.fusion-footer-widget-area .fusion-contact-info-widget a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--gw-line);
}

.fusion-footer-widget-area i,
.fusion-footer-widget-area .fusion-contact-info-widget i {
	color: var(--gw-accent) !important;
}

/* ---- empty cart (CX 11, D 08) ---- */

.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon::before {
	display: none !important;
}

.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon {
	padding-top: 24px;
	font-size: clamp(26px, 3vw, 36px) !important;
}

.wp-block-woocommerce-empty-cart-block hr.wp-block-separator.is-style-dots {
	display: none;
}

.wp-block-woocommerce-empty-cart-block .wp-block-heading {
	font-family: "Fraunces", Georgia, serif !important;
	font-weight: 500 !important;
	text-transform: none !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wc-block-components-product-button__button {
	background: var(--gw-accent) !important;
	border-color: var(--gw-accent) !important;
	color: #fff !important;
	border-radius: 2px !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 700;
	min-height: 46px;
	padding: 0 22px !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block .wc-block-components-product-name {
	font-family: "Fraunces", Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--gw-ink) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price,
.wp-block-woocommerce-empty-cart-block .wc-block-components-product-price {
	color: var(--gw-ink-soft) !important;
	font-family: "Fraunces", Georgia, serif !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	border: 1px solid var(--gw-line);
	border-radius: 2px;
	padding-bottom: 16px;
	max-width: 300px;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
	justify-content: center;
	gap: 24px;
}

/* ---- partner page (D 11) ---- */

.page-id-20 .fusion-checklist,
.page-id-20 .fusion-checklist li,
.page-id-20 .fusion-li-item-content {
	font-size: 18px !important;
	line-height: 1.5 !important;
}

.page-id-20 .fusion-checklist li {
	margin-bottom: 10px;
}

.page-id-20 .fusion-fullwidth {
	min-height: 0 !important;
}

/* ---- contact page (D 05) ---- */

.page-id-24 .fusion-fullwidth:has(.fusion-content-boxes) .fusion-builder-row {
	justify-content: center;
}

.page-id-24 .fusion-content-boxes {
	display: flex !important;
	justify-content: center;
	gap: 48px;
	flex-wrap: wrap;
}

.page-id-24 .fusion-content-boxes .fusion-column {
	flex: 0 1 280px !important;
	max-width: 280px !important;
	margin: 0 !important;
}

/* ---- homepage (D 07, D 10) ---- */

/* The "How it works" section started with no top padding against the panel above it. */
.home .fusion-fullwidth.fusion-builder-row-3 {
	padding-top: 48px !important;
}

/* A passage set inside a thick frame, centred and italic. Set as text instead. */
.home .fusion-builder-column-4 > .fusion-column-wrapper {
	border: 0 !important;
	background: none !important;
	border-left: 3px solid #a9bfa6 !important;
	border-radius: 0 !important;
	padding: 4px 0 4px 24px !important;
}

.home .fusion-builder-column-4 .fusion-text,
.home .fusion-builder-column-4 .fusion-text p,
.home .fusion-builder-column-4 .fusion-text em {
	text-align: left !important;
	font-style: normal !important;
	font-size: 17px;
	line-height: 1.65;
	color: var(--gw-ink-soft);
}

.home .fusion-builder-column-4 .fusion-text br {
	display: none;
}

/* Empty cart: room between the message, the way forward, and the suggestions. */
.wp-block-woocommerce-empty-cart-block .with-empty-cart-icon {
	margin-bottom: 20px !important;
}

.wp-block-woocommerce-empty-cart-block .gw-empty-cart-cta {
	margin: 0 0 56px !important;
}

.wp-block-woocommerce-empty-cart-block .wp-block-heading:not(.with-empty-cart-icon) {
	font-size: clamp(22px, 2.4vw, 30px) !important;
	margin: 0 0 24px !important;
}

/* Footer is a template section: headings are title elements with inline colour and case. */
.fusion-tb-footer .fusion-title-heading,
.fusion-footer .fusion-title-heading {
	color: var(--gw-ink) !important;
	font-size: 20px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.fusion-tb-footer p,
.fusion-tb-footer li,
.fusion-tb-footer a,
.fusion-tb-footer .fusion-text,
.fusion-tb-footer .fusion-contact-info-widget span,
.fusion-tb-footer .fusion-menu li a {
	color: var(--gw-ink-soft) !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	text-decoration: none !important;
}

.fusion-tb-footer a:hover,
.fusion-tb-footer .fusion-menu li a:hover {
	color: var(--gw-accent) !important;
}

.fusion-tb-footer .fusion-contact-info-widget i,
.fusion-tb-footer .fusion-list-icon,
.fusion-tb-footer .awb-icon-list i {
	color: var(--gw-accent) !important;
}

.fusion-tb-footer .fusion-contact-info-widget a,
.fusion-tb-footer .fusion-text a {
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
	text-decoration-color: var(--gw-line) !important;
}

/* Icon glyphs are drawn with an icon font; the text face must not reach them. */
.fusion-tb-footer .fusion-social-networks a,
.fusion-tb-footer .fusion-social-network-icon,
.fusion-tb-footer [class*="awb-icon-"],
.fusion-tb-footer [class*="fa-"],
.fusion-tb-footer i {
	font-family: awb-icons, "Font Awesome 5 Brands", "Font Awesome 5 Free" !important; /* "inherit" is not valid inside a font list */
}

.fusion-tb-footer .fusion-social-networks a {
	color: var(--gw-ink) !important;
}

/* Contact blocks: two one-third columns were sat against the left edge of the row. */
.page-id-24 .fusion-fullwidth.fusion-builder-row-2 .fusion-builder-row {
	justify-content: center !important;
}

/* ============================================================ footer (D 06) */

/*
 * The footer wordmark is a pale watercolour logo, which only reads on a dark ground; on
 * the light sage footer it disappeared. The main footer band is set to forest so the
 * wordmark and the text read as intended, and everything inside is re-lit for the dark
 * ground. These mirror the earlier light-footer rules and, being later in the file at the
 * same specificity, replace them.
 */
.fusion-tb-footer .fullwidth-box.fusion-parallax-none,
.fusion-tb-footer .fullwidth-box.fusion-parallax-none {
	background-color: #25392f !important;
}

.fusion-tb-footer .fusion-title-heading,
.fusion-footer .fusion-title-heading {
	color: #f3efe7 !important;
	font-family: "Fraunces", Georgia, serif !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.fusion-tb-footer p,
.fusion-tb-footer li,
.fusion-tb-footer a,
.fusion-tb-footer .fusion-text,
.fusion-tb-footer .fusion-contact-info-widget span,
.fusion-tb-footer .fusion-menu li a {
	color: #cdd6cb !important;
	font-family: "Karla", sans-serif !important;
	font-size: 15px !important;
	text-decoration: none !important;
}

.fusion-tb-footer a:hover,
.fusion-tb-footer .fusion-menu li a:hover {
	color: #e59a83 !important;
}

.fusion-tb-footer .fusion-contact-info-widget i,
.fusion-tb-footer .awb-icon-list i,
.fusion-tb-footer .fusion-list-icon {
	color: #e59a83 !important;
}

.fusion-tb-footer .fusion-contact-info-widget a,
.fusion-tb-footer .fusion-text a {
	text-decoration: underline !important;
	text-underline-offset: 0.2em;
	text-decoration-color: rgba(229, 154, 131, 0.5) !important;
}

/* Icon glyphs keep their icon font; text face must not reach them. */
.fusion-tb-footer .fusion-social-network-icon,
.fusion-tb-footer [class*="awb-icon-"],
.fusion-tb-footer [class*="fa-"],
.fusion-tb-footer i {
	font-family: awb-icons, "Font Awesome 5 Brands", "Font Awesome 5 Free" !important;
}

.fusion-tb-footer .fusion-social-network-icon {
	color: #f3efe7 !important;
}

/* ============================================ block cart & checkout (styling) */

/*
 * Cart and checkout are WooCommerce Blocks, rendered client-side, so they carry
 * wc-block-* classes rather than the classic templates. These bring the buttons, headings
 * and totals into the brand rather than the block defaults.
 */
.wc-block-checkout,
.wc-block-cart,
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
	--gw-accent: #b6553a;
	font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
}

.wc-block-components-title,
.wc-block-checkout__main h2,
.wp-block-woocommerce-checkout h2,
.wc-block-cart__totals-title {
	font-family: "Fraunces", Georgia, serif !important;
	font-weight: 500 !important;
	text-transform: none !important;
	color: #24302a !important;
}

.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-container a,
.wc-block-components-totals-coupon__button {
	background: #b6553a !important;
	border-color: #b6553a !important;
	color: #fff !important;
	border-radius: 3px !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 700 !important;
	min-height: 50px !important;
}

.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: #8f412c !important;
	border-color: #8f412c !important;
}

.wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-components-text-input .input-text {
	border-radius: 3px !important;
	border-color: #cfd8cc !important;
}

.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
	border-color: #b6553a !important;
	box-shadow: 0 0 0 1px #b6553a !important;
}

.wc-block-components-product-name,
.wc-block-cart-item__product-name {
	font-family: "Fraunces", Georgia, serif !important;
	color: #24302a !important;
}

.wc-block-components-totals-item__value,
.wc-block-formatted-money-amount {
	font-family: "Fraunces", Georgia, serif !important;
}

/* The footer band carries an 85% sage gradient overlay that washed the forest back out. */
.fusion-tb-footer .fullwidth-box.fusion-parallax-none,
.fusion-tb-footer .fullwidth-box.fusion-parallax-none {
	background-image: none !important;
	--awb-background-color: #25392f;
}

/* Contact-info icon circles were sage on the old light footer. */
.fusion-tb-footer .icon-wrapper.circle-yes,
.fusion-tb-footer .fusion-contact-info-widget .icon-wrapper {
	background-color: rgba(229, 154, 131, 0.16) !important;
}

.fusion-tb-footer .icon-wrapper i {
	color: #e59a83 !important;
}

/* Instagram social chip: quiet outline on the dark ground rather than a white block. */
.fusion-tb-footer .fusion-social-network-icon {
	background-color: rgba(243, 239, 231, 0.08) !important;
	border: 1px solid rgba(243, 239, 231, 0.25) !important;
}

/*
 * The footer band had filter: opacity(0.61), which composited the forest with the white
 * page behind it (the grey-green) and made all the footer text 61% opaque. Cleared so the
 * forest and the text render at full strength.
 */
.fusion-tb-footer .fullwidth-box.fusion-parallax-none,
.fusion-tb-footer .fullwidth-box.fusion-parallax-none {
	filter: none !important;
}

/* ================================================= account / login / register */

.woocommerce-account .woocommerce {
	--gw-ink: #24302a;
	--gw-ink-soft: #5a6b60;
	--gw-line: #e4e2db;
	--gw-cream: #faf8f4;
	--gw-accent: #b6553a;
	--gw-accent-deep: #8f412c;
	max-width: 1000px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) 0;
	font-family: "Karla", "Helvetica Neue", Arial, sans-serif;
}

/* Two-column login / register as a pair of cards. */
.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(20px, 3vw, 32px);
	margin: 0;
}

.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after {
	content: none;
	display: none;
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: clamp(24px, 3vw, 36px) !important;
	background: #fff;
	border: 1px solid var(--gw-line);
	border-radius: 10px;
}

.woocommerce-account .u-columns h2 {
	font-family: "Fraunces", Georgia, serif !important;
	font-size: 26px !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em;
	color: var(--gw-ink) !important;
	text-transform: none !important;
	margin: 0 0 20px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid var(--gw-line);
}

.woocommerce-account form.woocommerce-form label {
	font-family: "Karla", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--gw-ink);
	margin-bottom: 6px;
}

.woocommerce-account form.woocommerce-form .woocommerce-form-row {
	margin-bottom: 18px;
}

.woocommerce-account form.woocommerce-form input.input-text,
.woocommerce-account form.woocommerce-form input[type="text"],
.woocommerce-account form.woocommerce-form input[type="email"],
.woocommerce-account form.woocommerce-form input[type="password"] {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--gw-line);
	border-radius: 6px;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	color: var(--gw-ink);
	background: var(--gw-cream);
}

.woocommerce-account form.woocommerce-form input.input-text:focus {
	outline: none;
	border-color: var(--gw-accent);
	box-shadow: 0 0 0 1px var(--gw-accent);
	background: #fff;
}

/* The primary buttons: terracotta, full pill removed for a restrained radius. */
.woocommerce-account .woocommerce-form button.button,
.woocommerce-account button[name="login"],
.woocommerce-account button[name="register"],
.woocommerce-account .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 28px;
	background: var(--gw-accent) !important;
	border: 1px solid var(--gw-accent) !important;
	border-radius: 6px !important;
	color: #fff !important;
	font-family: "Karla", sans-serif !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-transform: none !important;
}

.woocommerce-account .woocommerce-form button.button:hover,
.woocommerce-account button[name="login"]:hover,
.woocommerce-account button[name="register"]:hover {
	background: var(--gw-accent-deep) !important;
	border-color: var(--gw-accent-deep) !important;
}

.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form-login__submit + .woocommerce-LostPassword,
.woocommerce-account .lost_password {
	font-size: 14px;
}

.woocommerce-account .woocommerce-form-login__rememberme {
	margin-left: 4px;
}

.woocommerce-account .lost_password a,
.woocommerce-account .woocommerce-LostPassword a {
	color: var(--gw-ink-soft);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.woocommerce-account .lost_password a:hover {
	color: var(--gw-accent);
}

.woocommerce-account .woocommerce-privacy-policy-text p {
	font-size: 13px;
	color: var(--gw-ink-soft);
	line-height: 1.5;
}

/* The show/hide password eye. */
.woocommerce-account .woocommerce-form .password-input {
	display: block;
}

.woocommerce-account .woocommerce-form .show-password-input {
	top: 13px;
}

/* Logged-in dashboard: nav as a quiet sidebar, content beside it. */
.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: auto;
	float: none;
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--gw-line);
	border-radius: 10px;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--gw-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 13px 18px;
	font-family: "Karla", sans-serif;
	font-size: 15px;
	color: var(--gw-ink-soft);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--gw-cream);
	color: var(--gw-ink);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--gw-accent);
	color: #fff;
	font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: auto;
	float: none;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gw-ink-soft);
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--gw-accent);
}

@media (max-width: 767px) {
	.woocommerce-account .u-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-account.logged-in .woocommerce {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Footer contact lines rendered as list items (e.g. the location) were near-black. */
.fusion-tb-footer .fusion-li-item,
.fusion-tb-footer .fusion-li-item-content,
.fusion-tb-footer .fusion-li-item-content *,
.fusion-tb-footer .fusion-content-boxes .content-container,
.fusion-tb-footer .fusion-content-boxes .heading .content-box-heading {
	color: #cdd6cb !important;
}

.fusion-tb-footer .fusion-li-item a {
	color: #cdd6cb !important;
}

.fusion-tb-footer .fusion-li-item a:hover {
	color: #e59a83 !important;
}
