/* ==========================================================================
   River Arts - ra-theme.css
   Everything NEW in the PHP conversion (2026-10). Loaded after nav.css, so it
   wins ties with the legacy sheets without !important (except where a plugin
   or legacy rule itself uses !important - each one is commented).

     1. Account dropdown (utility bar)      - russianriverhistory pattern
     2. Editor bar (fixed) + footer space   - fleet pattern
     3. Login / register popup              - russianriverhistory layout
     4. My Account                          - Duncans Mills Tea Shop layout
     5. Timber resize replacements          - image crops now done in CSS

   Palette (ADA pass 2026-07): #38607f deep blue (text-safe), #281d17 brand dark,
   #456e91 body links, #ffd35b gold (DECORATIVE on white; 4.68:1 on #38607f),
   #8a6219 gold-for-text on white. Fonts: Oswald labels, Roboto body.
   ========================================================================== */


/* --------------------------------------------------------------------------
   1. Account dropdown
   -------------------------------------------------------------------------- */
.wh-acct-wrap { position: relative; display: inline-block; }

/* the trigger is a <button> wearing the .ra-nav-util link style */
button.ra-nav-util.wh-acct-trigger {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	line-height: inherit;
	-webkit-appearance: none;
	appearance: none;
}
button.ra-nav-util.wh-acct-trigger:focus-visible { outline: 3px solid #ffd35b; outline-offset: 2px; }
.wh-acct-chev { font-size: 10px; margin-left: 4px; transition: transform 0.2s ease; }
.wh-acct-wrap.is-open .wh-acct-chev,
.wh-acct-wrap:hover .wh-acct-chev { transform: rotate(180deg); }

.wh-acct-dropdown {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: 250px;
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 0 10px 30px rgba(40, 29, 23, 0.22);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
	z-index: 10050;
	text-align: left;
}
/* hover (desktop), click (.is-open, touch) and keyboard (:focus-within) */
.wh-acct-wrap:hover .wh-acct-dropdown,
.wh-acct-wrap.is-open .wh-acct-dropdown,
.wh-acct-wrap:focus-within .wh-acct-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/* hover bridge across the 10px gap so the menu doesn't close on the way down */
.wh-acct-dropdown::after {
	content: '';
	position: absolute;
	top: -12px; left: 0; right: 0;
	height: 12px;
}
.wh-acct-dropdown::before {
	content: '';
	position: absolute;
	top: -7px; right: 22px;
	width: 14px; height: 14px;
	background: #ffffff;
	transform: rotate(45deg);
	border-radius: 2px;
}
.wh-acct-greet {
	display: grid;
	grid-template-columns: 42px 1fr;
	align-items: center;
	gap: 12px;
	padding: 18px 20px 14px;
	border-bottom: 1px solid #e8e3d7;
}
.wh-acct-avatar {
	display: grid;
	place-items: center;
	width: 42px; height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, #38607f 0%, #698fb0 100%);
	color: #ffffff;
	font-family: "Oswald", sans-serif;
	font-size: 19px;
	font-weight: 500;
}
.wh-acct-greet-hi {
	font-family: "Oswald", sans-serif;
	font-size: 18px;
	color: #281d17;
	line-height: 1.2;
}
.wh-acct-nav { padding: 8px 0; }
/* :link/:visited so the utility bar's white link colour can't leak in */
.wh-acct-nav a,
.wh-acct-nav a:link,
.wh-acct-nav a:visited {
	display: grid;
	grid-template-columns: 18px 1fr;
	align-items: center;
	gap: 12px;
	padding: 6px 20px;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	color: #281d17;
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.5;
	transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}
.wh-acct-nav a i { font-size: 14px; color: #6b6b6b; text-align: center; transition: color 0.15s ease; }
.wh-acct-nav a:hover,
.wh-acct-nav a:focus-visible { background: #f4f1ea; color: #38607f; padding-left: 22px; }
.wh-acct-nav a:hover i,
.wh-acct-nav a:focus-visible i { color: #38607f; }
.wh-acct-nav a:focus-visible { outline: 2px solid #38607f; outline-offset: -2px; }
.wh-acct-divider { height: 1px; background: #e8e3d7; margin: 4px 0; }
.wh-acct-section-label {
	font-family: "Oswald", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8a6219;                      /* gold-for-text: 5.47:1 on white */
	padding: 8px 20px 4px;
}
.wh-acct-nav a.wh-acct-staff i { color: #8a6219; }
.wh-acct-nav a.wh-acct-logout,
.wh-acct-nav a.wh-acct-logout i { color: #a23b2a; }
.wh-acct-nav a.wh-acct-logout:hover { background: rgba(162, 59, 42, 0.07); }


/* --------------------------------------------------------------------------
   2. Editor bar - fixed to the bottom for admin / shop_manager / editor /
      bookkeeper. Reserve its height under the footer so the legal row is
      never covered, and hide it on phones (the account dropdown has the
      same links). Never remove the bar itself.
   -------------------------------------------------------------------------- */
.wh-editor-bar {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 99990;
	background: rgba(40, 29, 23, 0.94);
	color: #ffffff;
	padding: 8px 20px;
	font-family: "Oswald", sans-serif;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: 1px;
	text-align: center;
}
.wh-editor-bar a,
.wh-editor-bar a:link,
.wh-editor-bar a:visited {
	color: #ffd35b;
	margin: 0 8px;
	text-decoration: underline;
	font-weight: 500;
}
.wh-editor-bar a:hover,
.wh-editor-bar a:focus-visible { color: #ffffff; }
.wh-editor-bar a:focus-visible { outline: 2px solid #ffd35b; outline-offset: 2px; }
.wh-editor-bar span[aria-hidden] { opacity: 0.5; }

body:has(.wh-editor-bar) .wh-page-base { padding-bottom: 64px; }
/* the open lightbox covers the bar rather than the bar covering its captions */
.lg-outer, .lg-backdrop { z-index: 99995; }

@media (max-width: 768px) {
	.wh-editor-bar { display: none; }
	body:has(.wh-editor-bar) .wh-page-base { padding-bottom: 0; }
}


/* --------------------------------------------------------------------------
   3. Login / register popup
   -------------------------------------------------------------------------- */
.mfp-fade.mfp-bg { opacity: 0; transition: all 300ms ease-out; }
.mfp-fade.mfp-bg.mfp-ready { opacity: 0.8; }
.mfp-fade.mfp-bg.mfp-removing { opacity: 0; }
.mfp-fade.mfp-wrap .mfp-content { opacity: 0; transition: all 300ms ease-out; }
.mfp-fade.mfp-wrap.mfp-ready .mfp-content { opacity: 1; }
.mfp-fade.mfp-wrap.mfp-removing .mfp-content { opacity: 0; }
.mfp-wrap { z-index: 999999; }
.mfp-bg { background: #281d17; }

.mfp-wrap:has(#wh-login-popup) .mfp-content { max-width: 520px; }
#wh-login-popup.white-popup {
	position: relative;
	width: 100%;
	max-width: 520px;
	margin: 30px auto;
	padding: 0;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 30px 80px rgba(40, 29, 23, 0.45);
	overflow: hidden;
}
#wh-login-popup .wh-login-register-wrapper { padding: 0; }

/* Magnific close - blends with the tab strip. !important: legacy sheets set
   button backgrounds with !important. */
#wh-login-popup button.mfp-close {
	width: 44px; height: 44px; line-height: 44px;
	top: 6px; right: 6px;
	color: #4a4a4a !important;
	opacity: 1;
	font-size: 28px;
	background: transparent !important;
	border-radius: 50%;
}
#wh-login-popup button.mfp-close:hover,
#wh-login-popup button.mfp-close:focus-visible { color: #281d17 !important; background: rgba(40, 29, 23, 0.07) !important; }
#wh-login-popup button.mfp-close:focus-visible { outline: 2px solid #38607f; outline-offset: -3px; }

/* tab strip */
#wh-login-popup .nav-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	list-style: none;
	margin: 0;
	padding: 0 52px 0 0;               /* room for the close button */
	border-bottom: 1px solid #e0d9c8;
	background: #f4f1ea;
}
#wh-login-popup .nav-tabs .nav-item { margin: 0; }
#wh-login-popup .nav-tabs .nav-link,
#wh-login-popup .nav-tabs .nav-link:link,
#wh-login-popup .nav-tabs .nav-link:visited {
	display: block;
	padding: 16px 14px;
	text-align: center;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: #4a4a4a;
	text-decoration: none;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 0;
	margin-bottom: -1px;
	transition: color 0.2s ease, background-color 0.2s ease;
}
#wh-login-popup .nav-tabs .nav-link:hover { color: #281d17; background: rgba(255, 255, 255, 0.6); }
#wh-login-popup .nav-tabs .nav-link.active {
	color: #281d17;
	background: #ffffff;
	border-color: #e0d9c8;
	border-bottom-color: #ffffff;
	box-shadow: inset 0 3px 0 #38607f;   /* selection shown by more than colour */
}
#wh-login-popup .nav-tabs .nav-link:focus-visible { outline: 2px solid #38607f; outline-offset: -3px; }

#wh-login-popup .tab-content { padding: 26px 28px 24px; }
@media (max-width: 580px) {
	.mfp-wrap:has(#wh-login-popup) .mfp-content,
	#wh-login-popup.white-popup { max-width: 92vw; }
	#wh-login-popup .tab-content { padding: 22px 20px 20px; }
}

.wh-login-header { text-align: center; margin-bottom: 18px; }
.wh-login-header img { width: 170px; max-width: 60%; height: auto; display: inline-block; }

.wh-login-extra { text-align: center; padding-top: 6px; font-size: 14px; }
.wh-login-extra a,
.wh-login-extra a:link,
.wh-login-extra a:visited { color: #38607f; text-decoration: underline; }
.wh-login-extra a:hover { color: #281d17; }

#wh-login-popup .wh-register-intro { text-align: center; color: #4a4a4a; font-size: 15px; margin: 0 0 12px; }

/* Login With Ajax (pixelbones). Its colours are custom properties - re-point
   them (ID scope out-specifies the plugin). Its focus rule is outline:0
   !important, so ours must be !important too or keyboard users see nothing. */
#wh-login-popup .pixelbones,
#wh-login-popup .lwa {
	--accent-color: #38607f;
	--accent-color-hover: #281d17;
	--border-color: #767676;
	--border-color-softer: #8a8a8a;
	--text-color-normal: #222222;
	--text-color-softer: #4a4a4a;
	--button-primary-color: #ffffff;
}
#wh-login-popup .lwa-wrapper,
#wh-login-popup .lwa { width: 100%; }
#wh-login-popup .lwa-form { margin: 0; }
#wh-login-popup .lwa-title { display: none; }
#wh-login-popup .lwa label {
	display: block;
	margin-bottom: 6px;
	font-weight: 500;
	font-size: 14px;
	color: #281d17;
	text-transform: none;
	letter-spacing: 0;
}
#wh-login-popup .lwa input[type="text"],
#wh-login-popup .lwa input[type="email"],
#wh-login-popup .lwa input[type="password"] {
	width: 100%;
	height: auto;                        /* style6.css sets height:50px */
	padding: 11px 14px;
	border: 1px solid #8a8a8a;           /* 3.5:1 - pixelbones default is 1.5:1 */
	border-radius: 4px;
	font-size: 15px;
	line-height: 1.4;
	color: #222222;
	background: #ffffff;
	box-sizing: border-box;
}
#wh-login-popup .lwa input:focus-visible,
#wh-login-popup .lwa button:focus-visible {
	outline: 3px solid #38607f !important;
	outline-offset: 2px !important;
}
#wh-login-popup .lwa input[type="submit"],
#wh-login-popup .lwa .button-primary {
	display: block;
	width: 100%;
	background: #38607f !important;      /* pixelbones sets the button bg !important */
	border: 1px solid #38607f !important;
	color: #ffffff !important;
	padding: 0 20px;
	font-family: "Oswald", sans-serif;
	font-size: 14px !important;          /* plugin forces 11px */
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 4px;
	cursor: pointer;
	margin: 6px 0 0 !important;
	transition: background 0.2s ease, transform 0.2s ease;
}
#wh-login-popup .lwa input[type="submit"]:hover,
#wh-login-popup .lwa .button-primary:hover {
	background: #281d17 !important;
	border-color: #281d17 !important;
	transform: translateY(-1px);
}
#wh-login-popup .lwa-rememberme-label { font-size: 14px; color: #4a4a4a; font-weight: 400; cursor: pointer; }
#wh-login-popup .lwa-rememberme { accent-color: #38607f; }
#wh-login-popup .lwa-status { margin: 10px 0; padding: 10px 14px; border-radius: 4px; font-size: 14px; }
#wh-login-popup .lwa-status.lwa-error { background: #fbeae6; color: #8a2f20; border-left: 3px solid #a23b2a; }
#wh-login-popup .lwa-status.lwa-success { background: #ebf1f5; color: #1f3d52; border-left: 3px solid #38607f; }
/* LWA's own "Lost your password?" - we show our own link under the form */
#wh-login-popup .lwa-links-remember { display: none !important; }

/* inline register form */
.wh-register-form { display: grid; gap: 10px; margin: 0; }
.wh-register-form .wh-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.wh-register-form .wh-form-error {
	background: #fbeae6;
	color: #8a2f20;
	border: 1px solid #ecc2b8;
	border-radius: 4px;
	padding: 10px 12px;
	font-size: 14px;
	line-height: 1.45;
}
.wh-register-form .wh-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wh-register-form .wh-field { display: grid; gap: 4px; min-width: 0; align-content: start; }
.wh-register-form .wh-field label { font-size: 13px; font-weight: 500; color: #281d17; margin: 0; }
.wh-register-form .wh-field .req { color: #a23b2a; }
.wh-register-form .wh-field input[type="text"],
.wh-register-form .wh-field input[type="email"],
.wh-register-form .wh-field input[type="password"] {
	width: 100%;
	height: auto;                        /* style6.css sets height:50px */
	padding: 9px 12px;
	border: 1px solid #8a8a8a;
	border-radius: 4px;
	background: #ffffff;
	font-size: 15px;
	line-height: 1.4;
	color: #222222;
	box-sizing: border-box;
}
.wh-register-form .wh-field input:focus-visible { outline: 3px solid #38607f; outline-offset: 1px; border-color: #38607f; }
.wh-register-form .wh-help { font-size: 12px; color: #5a5a5a; }
.wh-register-form .wh-check-row { font-size: 14px; line-height: 1.5; }
.wh-register-form .wh-check { display: grid; grid-template-columns: 16px 1fr; gap: 8px; align-items: start; cursor: pointer; font-weight: 400; }
.wh-register-form .wh-check input[type="checkbox"] { margin-top: 3px; width: 16px; height: 16px; accent-color: #38607f; }
.wh-register-form .wh-check span { color: #4a4a4a; }
.wh-register-form .wh-check a,
.wh-register-form .wh-check a:link,
.wh-register-form .wh-check a:visited { color: #38607f; text-decoration: underline; }
.wh-register-form .wh-register-btn {
	display: block;
	width: 100%;
	padding: 12px 22px;
	background: #38607f;
	color: #ffffff;
	border: 1px solid #38607f;
	border-radius: 4px;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.wh-register-form .wh-register-btn:hover { background: #281d17; border-color: #281d17; transform: translateY(-1px); }
.wh-register-form .wh-register-btn:focus-visible { outline: 3px solid #ffd35b; outline-offset: 2px; }
@media (max-width: 480px) {
	.wh-register-form .wh-field-row { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   4. My Account - sidebar panel + content (Duncans Mills layout, River Arts colours)
   -------------------------------------------------------------------------- */
.woocommerce-account.logged-in .woocommerce {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	margin: 10px 0 30px;
}
.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* Woo's clearfix ::before/::after would become grid items and push the nav into column 2 */
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }

nav.wh-account-nav {
	display: grid;
	background: #38607f;
	border-radius: 6px;
	overflow: hidden;
}
a.wh-account-nav-link,
a.wh-account-nav-link:link,
a.wh-account-nav-link:visited {
	display: block;
	padding: 13px 20px;
	color: #ffffff !important;         /* legacy `.wh-page a { color: ... !important }` (ra-main-d) */
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}
a.wh-account-nav-link:last-child { border-bottom: none; }
a.wh-account-nav-link:hover,
a.wh-account-nav-link:focus-visible {
	background: rgba(255, 211, 91, 0.12);
	color: #ffd35b !important;           /* 4.68:1 on #38607f; !important as above */
	padding-left: 24px;
}
a.wh-account-nav-link:focus-visible { outline: 3px solid #ffd35b; outline-offset: -3px; }
a.wh-account-nav-link.active {
	background: #281d17;
	color: #ffd35b !important;
	border-left: 4px solid #ffd35b;      /* not colour alone */
	padding-left: 16px;
}

.woocommerce-account .woocommerce-MyAccount-content { color: #333333; }
.woocommerce-account .woocommerce-MyAccount-content p { margin-bottom: 14px; line-height: 1.7; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) { color: #456e91; text-decoration: underline; }
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button):hover { color: #281d17; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: "Oswald", sans-serif;
	color: #38607f;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin: 0 0 14px;
}
.woocommerce-account .wh-account-hello { font-size: 18px; color: #281d17; }

/* forms - labels above fields */
.woocommerce-account .woocommerce-MyAccount-content .form-row,
.woocommerce-account .woocommerce-EditAccountForm .form-row,
.woocommerce-account .woocommerce-address-fields .form-row {
	display: block;
	float: none;
	width: 100%;
	max-width: 520px;
	margin-bottom: 16px;
}
.woocommerce-account .woocommerce-MyAccount-content .form-row label {
	display: block;
	width: 100%;
	float: none;
	margin-bottom: 6px;
	font-weight: 500;
	font-size: 14px;
	color: #281d17;
}
.woocommerce-account .woocommerce-MyAccount-content .form-row .input-text,
.woocommerce-account .woocommerce-MyAccount-content .form-row select {
	width: 100%;
	height: auto;
	padding: 10px 12px;
	border: 1px solid #8a8a8a;
	border-radius: 4px;
	font-size: 15px;
	line-height: 1.4;
	background: #ffffff;
	color: #222222;
	box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-content .form-row .input-text:focus-visible,
.woocommerce-account .woocommerce-MyAccount-content .form-row select:focus-visible { outline: 3px solid #38607f; outline-offset: 1px; border-color: #38607f; }
.woocommerce-account .woocommerce-MyAccount-content fieldset { border: 1px solid #e0d9c8; border-radius: 6px; padding: 18px 20px; margin: 20px 0; }
.woocommerce-account .woocommerce-MyAccount-content fieldset legend { font-family: "Oswald", sans-serif; color: #38607f; padding: 0 8px; width: auto; font-size: 16px; }

/* buttons */
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"],
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button {
	display: inline-block;
	background: #38607f;
	color: #ffffff !important;           /* beats legacy `.wh-page a` !important on <a> buttons */
	border: 1px solid #38607f;
	border-radius: 4px;
	padding: 10px 24px;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover { background: #281d17; border-color: #281d17; color: #ffffff !important; transform: translateY(-1px); }

/* order / subscription tables */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 1px solid #e0d9c8; border-radius: 6px; border-collapse: separate; overflow: hidden; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: #f4f1ea;
	color: #281d17;
	font-family: "Oswald", sans-serif;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-size: 13px;
	padding: 10px 12px;
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td { padding: 10px 12px; vertical-align: middle; }

/* addresses */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 24px;
}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	max-width: none;
	background: #f4f1ea;
	border: 1px solid #e0d9c8;
	border-radius: 6px;
	padding: 22px;
}
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.6; }
/* legacy theme CSS styles a bare <header> as a white panel and sizes h2/h3 large;
   Woo's col-1/col-2 carry float + width. Reset inside the address cards. */
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 { float: none !important; width: auto !important; max-width: none !important; }
.woocommerce-account .woocommerce-Address header.woocommerce-Address-title {
	display: block;
	text-align: left !important;
	margin: 0 0 12px;
	padding: 0 0 8px !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	border-bottom: 1px solid #d8d2c4 !important;
	min-height: 0 !important;
	position: static !important;
}
.woocommerce-account .woocommerce-Address header.woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address header.woocommerce-Address-title h3 {
	margin: 0 0 4px !important;
	text-align: left !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
}
.woocommerce-account .woocommerce-Address header.woocommerce-Address-title a { font-size: 14px; white-space: nowrap; }
.woocommerce-account .woocommerce-Address address { font-size: 16px; }

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message { border-top-color: #38607f; background: #f4f1ea; }

/* logged-out My Account: the Woo login/register forms in cards */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	border: 1px solid #e0d9c8;
	background: #f4f1ea;
	padding: 28px;
	border-radius: 6px;
}

@media (max-width: 991px) {
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: 1fr; gap: 22px; }
	nav.wh-account-nav { grid-template-columns: 1fr 1fr; }
	a.wh-account-nav-link { border-right: 1px solid rgba(255, 255, 255, 0.12); }
	a.wh-account-nav-link.active { border-left: 0; border-top: 4px solid #ffd35b; padding-left: 20px; }
}


/* --------------------------------------------------------------------------
   5. Timber resize replacements - the Twig theme had Timber crop images to
      exact sizes on the fly; WordPress serves a registered size and CSS crops.
   -------------------------------------------------------------------------- */
.whz-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.st-gallery #lightgallery > a > img { width: 200px; height: 150px; object-fit: cover; }
#lightgallery a.lg-small img { width: 100px; height: 100px; object-fit: cover; }
