﻿/*
Theme Name: Kalium - Photography Theme
Theme URI: https://laborator.co/themes/kalium/
Author: Laborator
Author URI: https://laborator.co/
Description: Start creating that amazing website that you have always wanted, only with Kalium â€” Connect with Laborator on: <a href="https://themeforest.net/user/laborator">Envato</a> &bull; <a href="https://twitter.com/thelaborator">Twitter</a> &bull; <a href="https://www.facebook.com/laboratorcreative">Facebook</a> &bull; <a href="https://www.instagram.com/laboratorcreative/">Instagram</a>
Version: 1.0
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Template: kalium
Text Domain: kalium
*/

/* ===========================================================
   LH CUSTOM â€” Hero + Portfolio Grid + Image Page + Buy Panel
   =========================================================== */

/* ----- Homepage header: transparent overlay on hero --------- */
body.home .main-header,
body.home .site-header,
body.home .header-block {
	background: transparent !important;
	background-color: transparent !important;
}

body.home .sticky-spacer {
	display: none !important;
}

/* Ensure Kalium's sticky header stays transparent on homepage */
body.home .main-header.is-sticky,
body.home .main-header.header-sticky-active {
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}

/* ----- Homepage menu: white nav links (all states) ----------- */
body.home .nav-container-main-menu .menu-item > a,
body.home .nav-container-main-menu .menu-item > a:hover,
body.home .nav-container-main-menu .menu-item > a:visited,
body.home .main-header.is-sticky .nav-container-main-menu .menu-item > a,
body.home .main-header.is-sticky .nav-container-main-menu .menu-item > a:hover {
	color: #fff !important;
}

/* ----- Hide Kalium's portfolio heading on homepage ---------- */
body.home .page-heading,
body.home .portfolio-title-holder,
body.home .product-filter {
	display: none !important;
}

/* ----- Hero ------------------------------------------------ */
.lh-hero {
	position: relative;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
	background: #0a0a0a;
}

.lh-hero__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1.5s ease-in-out;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	will-change: opacity;
}

.lh-hero__slide-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.lh-hero__slide.is-active {
	opacity: 1;
}

.lh-hero__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.28);
	z-index: 5;
	pointer-events: none;
}

.lh-hero__content {
	position: absolute;
	bottom: 8%;
	left: 5%;
	z-index: 10;
	color: #fff;
}

.lh-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.lh-hero__name {
	font-size: clamp(1.6rem, 3.5vw, 3rem);
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	margin: 0 0 0.4rem;
	color: #fff;
}

.lh-hero__prints {
	margin: 0.9rem 0 0;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}

.lh-hero__tagline {
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 1.8rem;
	color: rgba(255, 255, 255, 0.7);
}

.lh-hero__cta {
	display: inline-block;
	padding: 0.6rem 1.8rem;
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	font-size: 1.1rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.lh-hero__cta:hover {
	border-color: #fff;
	color: #fff;
}

/* ----- Portfolio filters ----------------------------------- */
.lh-portfolio {
	padding-top: 3.5rem;
	background: #0d0d0d;
	scroll-margin-top: 65px;
}

.lh-portfolio__filters {
	transition: padding-bottom 0.3s ease;
}

.lh-filters__main {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35rem;
	padding: 0 2rem 1rem;
}

.lh-filter {
	background: transparent;
	border: none;
	border-bottom: 1px solid transparent;
	color: rgba(232, 232, 232, 0.45);
	padding: 0.35rem 0.9rem;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	transition: color 0.2s, border-color 0.2s;
}

.lh-filter:hover {
	color: rgba(232, 232, 232, 0.8);
}

.lh-filter.is-checked {
	color: #e8e8e8;
	border-bottom-color: #169de5;
}

/* Sub-filters â€” same text style as main, smooth reveal */
.lh-filters__sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.25rem;
	padding: 0 2rem;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 0.35s ease, opacity 0.25s ease, padding 0.35s ease;
}

.lh-filters__sub.is-visible {
	max-height: 4rem;
	opacity: 1;
	padding: 0 2rem 1.2rem;
}

.lh-sub-filter {
	background: transparent;
	border: none;
	border-bottom: 1px solid transparent;
	color: rgba(232, 232, 232, 0.35);
	padding: 0.25rem 0.75rem;
	cursor: pointer;
	font-family: inherit;
	font-size: 1.1rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color 0.2s, border-color 0.2s;
}

.lh-sub-filter:hover {
	color: rgba(232, 232, 232, 0.7);
}

.lh-sub-filter.is-checked {
	color: #e8e8e8;
	border-bottom-color: #169de5;
}

/* ----- Portfolio grid â€” Isotope masonry -------------------- */
.lh-portfolio__grid {
	padding: 0;
}

.lh-grid__sizer,
.lh-grid__item {
	width: calc(33.333% - 5.5px);
	box-sizing: border-box;
}

.lh-grid__gutter { width: 8px; }

.lh-grid__item {
	margin-bottom: 8px;
}

/* Must out-rank Kalium's `.wrapper a { display:inline-block }` — an
   inline-block link shrink-wraps the 100%-width img to 0 and kills the grid */
.lh-portfolio__grid a.lh-grid__link {
	display: block;
	position: relative;
	overflow: hidden;
	text-decoration: none;
}

.lh-grid__img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.4s ease;
}

.lh-grid__link:hover .lh-grid__img {
	transform: scale(1.03);
}

.lh-grid__caption {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0);
	display: flex;
	align-items: flex-end;
	padding: 0.75rem;
	transition: background 0.3s;
}

.lh-grid__link:hover .lh-grid__caption {
	background: rgba(0, 0, 0, 0.5);
}

.lh-grid__title {
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(5px);
	transition: opacity 0.3s, transform 0.3s;
}

.lh-grid__link:hover .lh-grid__title {
	opacity: 1;
	transform: translateY(0);
}

/* ----- Image page — two-column layout ---------------------- */
.lh-image-page {
	background: #0d0d0d;
	min-height: 100vh;
	padding-top: 2rem;
}

.lh-image-page__inner {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 3rem;
	max-width: 1600px;
	margin: 0 auto;
	padding: 2rem 2rem 4rem;
	align-items: start;
}

.lh-image-page__viewer {
	position: sticky;
	top: 100px;
}

.lh-image-page__photo {
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 120px);
	object-fit: contain;
}

.lh-image-page__title {
	font-size: clamp(1.2rem, 2.5vw, 1.8rem);
	color: #e8e8e8;
	margin: 0 0 1rem;
	letter-spacing: 0.03em;
	font-weight: 400;
}

.lh-image-page__description {
	color: #bbb;
	line-height: 1.8;
	margin-bottom: 1.5rem;
	font-size: 1.05rem;
}

.lh-image-page__exif {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 0.2rem 1.2rem;
	margin-bottom: 2rem;
}

.lh-image-page__exif dt {
	color: #777;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	align-self: center;
}

.lh-image-page__exif dd {
	margin: 0;
	color: #aaa;
	font-size: 1rem;
	line-height: 1.6;
}

/* ----- Buy panel ------------------------------------------- */
.lh-buy {
	margin-bottom: 1.5rem;
}

.lh-buy__trigger {
	background: #e8750a;
	color: #fff;
	border: none;
	padding: 0.75rem 2rem;
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s;
}

.lh-buy__trigger:hover {
	background: #c9620a;
}

.lh-buy__panel {
	margin-top: 1.2rem;
	padding: 1.2rem 1.4rem;
	background: #161616;
	border-left: 2px solid #169de5;
}

.lh-buy__panel[hidden] {
	display: none;
}

.lh-buy__materials {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-bottom: 1.2rem;
}

.lh-material {
	background: transparent;
	border: 1px solid rgba(22, 157, 229, 0.3);
	color: rgba(232, 232, 232, 0.5);
	padding: 0.4rem 0.9rem;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 2px;
	transition: all 0.2s;
}

.lh-material.is-active,
.lh-material:hover:not(:disabled) {
	background: rgba(22, 157, 229, 0.15);
	border-color: #169de5;
	color: #e8e8e8;
}

.lh-buy__note {
	color: #e8750a;
	font-size: 0.95rem;
	margin-bottom: 1rem;
	padding: 0.55rem 0.9rem;
	border-left: 2px solid #e8750a;
	background: rgba(232, 117, 10, 0.08);
}

.lh-buy__note[hidden] {
	display: none;
}

.lh-buy__placeholder {
	color: #444;
	font-size: 0.85rem;
	font-style: italic;
}

/* ----- Portfolio about link -------------------------------- */
.lh-portfolio__about {
	text-align: center;
	padding: 2rem 2rem 4rem;
}
.lh-portfolio__about-link {
	color: rgba(232, 232, 232, 0.45);
	text-decoration: none;
	font-size: 0.9rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(232, 232, 232, 0.2);
	padding-bottom: 2px;
	transition: color 0.2s, border-color 0.2s;
}
.lh-portfolio__about-link:hover {
	color: #e8e8e8;
	border-bottom-color: rgba(232, 232, 232, 0.6);
}

/* ----- Buy panel size list --------------------------------- */
.lh-size-grid {
	display: flex;
	flex-direction: column;
	margin-bottom: 1rem;
}

.lh-size {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: transparent;
	border: none;
	border-left: 2px solid transparent;
	border-bottom: 1px solid rgba(232, 232, 232, 0.06);
	color: rgba(232, 232, 232, 0.55);
	padding: 0.65rem 0.75rem 0.65rem 0.9rem;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.95rem;
	letter-spacing: 0.05em;
	text-align: left;
	width: 100%;
	transition: all 0.2s;
}

.lh-size:hover {
	color: #e8e8e8;
	border-left-color: rgba(22, 157, 229, 0.4);
	background: rgba(255, 255, 255, 0.03);
}

.lh-size.is-active {
	color: #e8e8e8;
	border-left-color: #169de5;
	background: rgba(22, 157, 229, 0.06);
}

.lh-size__price {
	color: #e8750a;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	flex-shrink: 0;
	margin-left: 1rem;
}

.lh-size.is-active .lh-size__price {
	color: #e8750a;
}

.lh-material:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* Lead-time info note (blue variant) */
.lh-buy__note--info {
	color: rgba(232, 232, 232, 0.65);
	border-left-color: #169de5;
	background: rgba(22, 157, 229, 0.06);
}

/* Framed print colour selectors */
.lh-framed-options {
	margin: 0.8rem 0 0.6rem;
	padding: 0.9rem 1rem;
	background: rgba(22, 157, 229, 0.04);
	border-left: 2px solid rgba(22, 157, 229, 0.35);
}

.lh-framed-options__note {
	color: rgba(232, 232, 232, 0.45);
	font-size: 0.8rem;
	font-style: italic;
	margin: 0 0 0.8rem;
}

.lh-framed-options__row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.lh-framed-options__label {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
	min-width: 130px;
	font-size: 0.75rem;
	color: rgba(232, 232, 232, 0.55);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.lh-select {
	background: #1e1e1e;
	color: #e8e8e8;
	border: 1px solid rgba(22, 157, 229, 0.3);
	padding: 0.4rem 0.6rem;
	font-family: inherit;
	font-size: 0.875rem;
	cursor: pointer;
	border-radius: 2px;
	transition: border-color 0.2s;
}

.lh-select:focus {
	outline: none;
	border-color: #169de5;
}

.lh-buy__add {
	background: #e8750a;
	color: #fff;
	border: none;
	padding: 0.65rem 1.8rem;
	font-size: 0.95rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s;
	margin-top: 0.5rem;
}

.lh-buy__add:hover {
	background: #c9620a;
}

.lh-buy__add:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}
/* ----- Back navigation ------------------------------------- */
.lh-image-page__nav {
	margin-top: 0.5rem;
}

.lh-back {
	color: rgba(232, 232, 232, 0.4);
	text-decoration: none;
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	transition: color 0.2s;
}

.lh-back:hover {
	color: #e8e8e8;
}

/* ----- Responsive ------------------------------------------ */
@media (max-width: 960px) {
	.lh-image-page__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
		padding: 1.5rem 1rem 3rem;
	}

	.lh-image-page__viewer {
		position: static;
	}

	.lh-image-page__photo {
		max-height: calc(100vh - 80px);
		width: auto;
		max-width: 100%;
		margin: 0 auto;
	}
}

@media (max-width: 768px) {
	.lh-grid__sizer,
	.lh-grid__item { width: calc(50% - 4px); }
	.lh-grid__gutter { width: 8px; }

	.lh-filters__main {
		padding: 0 1rem 0.75rem;
		gap: 0.25rem;
	}

	.lh-filter {
		font-size: 1.1rem;
		padding: 0.3rem 0.7rem;
	}

	.lh-hero__content {
		bottom: 8%;
		left: 1.5rem;
		right: 1.5rem;
	}
}

@media (max-width: 480px) {
	.lh-grid__sizer,
	.lh-grid__item { width: 100%; }
	.lh-grid__gutter { width: 0; }

	.lh-hero__name {
		font-size: 1.4rem;
	}
}


/* === About + Contact Page === */

.lh-about-page {
	background: #0d0d0d;
	color: #e8e8e8;
}

/* Bio section — starts directly below sticky nav */
.lh-about-bio {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 2rem 4rem;
	display: grid !important;
	grid-template-columns: 260px 1fr;
	gap: 4rem;
	align-items: start;
}

.lh-about-portrait,
.lh-about-text {
	min-width: 0;
}

.lh-about-portrait__img {
	width: 100%;
	max-width: 260px;
	max-height: 380px;
	height: auto;
	display: block;
	object-fit: cover;
}

.lh-about-text__name {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #e8e8e8;
	margin: 0 0 1.5rem;
}

.lh-about-text p,
.lh-about-text .wp-block-paragraph {
	color: #bbb;
	line-height: 1.75;
	margin-bottom: 1.2rem;
}

/* Contact section */
.lh-contact {
	background: rgba(255,255,255,0.015);
	border-top: 1px solid rgba(255,255,255,0.06);
	padding: 4rem 2rem;
}

.lh-contact__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.lh-contact__heading {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #e8e8e8;
	margin: 0 0 1rem;
}

.lh-contact__divider {
	width: 60px;
	height: 2px;
	background: #169de5;
	margin-bottom: 2.5rem;
}

.lh-contact__form-placeholder {
	color: #666;
	font-style: italic;
}

/* WPForms overrides */
.lh-contact-form .wpforms-form input[type="text"],
.lh-contact-form .wpforms-form input[type="email"],
.lh-contact-form .wpforms-form textarea {
	background: rgba(255,255,255,0.05) !important;
	border: 1px solid rgba(255,255,255,0.15) !important;
	color: #e8e8e8 !important;
	border-radius: 2px !important;
	padding: 0.75rem 1rem !important;
	font-size: 0.95rem;
	transition: border-color 0.2s;
}

.lh-contact-form .wpforms-form input:focus,
.lh-contact-form .wpforms-form textarea:focus {
	border-color: #169de5 !important;
	outline: none !important;
	box-shadow: none !important;
}

.lh-contact-form .wpforms-form label {
	color: #999 !important;
	font-size: 0.9rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lh-contact-form .wpforms-form .wpforms-field {
	margin-bottom: 1.5rem;
}

.lh-contact-form .wpforms-submit-container {
	text-align: right;
}

.lh-contact-form .wpforms-form button[type="submit"],
.lh-contact-form .wpforms-form .wpforms-submit {
	background: #e8750a !important;
	color: #fff !important;
	border: none !important;
	border-radius: 2px !important;
	padding: 0.85rem 2.5rem !important;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}

.lh-contact-form .wpforms-form button[type="submit"]:hover,
.lh-contact-form .wpforms-form .wpforms-submit:hover {
	background: #c9640a !important;
}

/* Contact info + social */
.lh-contact__info {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255,255,255,0.06);
}

.lh-contact__email a {
	color: #169de5;
	text-decoration: none;
	font-size: 0.95rem;
}

.lh-contact__email a:hover {
	color: #e8e8e8;
}

.lh-social-links {
	list-style: none;
	padding: 0;
	margin: 1rem 0;
	display: flex;
	gap: 2rem;
}

.lh-social-links li a {
	color: #999;
	text-decoration: none;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	transition: color 0.2s;
}

.lh-social-links li a:hover {
	color: #e8e8e8;
}

.lh-contact__location {
	color: #666;
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	margin-top: 0.5rem;
}

/* About + Contact Ã¢â‚¬â€ Responsive */
@media (max-width: 960px) {
	.lh-about-bio {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.lh-about-portrait,
.lh-about-text {
	min-width: 0;
}

.lh-about-portrait__img {
		max-width: 260px;
		margin: 0 auto;
	}
}

@media (max-width: 768px) {
	.lh-about-bio {
		padding: 1.5rem 1.5rem 2.5rem;
	}

	.lh-contact {
		padding: 2.5rem 1.5rem;
	}

	.lh-contact-form .wpforms-form button[type="submit"],
	.lh-contact-form .wpforms-form .wpforms-submit {
		width: 100% !important;
	}

	.lh-contact-form .wpforms-submit-container {
		text-align: center;
	}
}


/* === Client Galleries Index Page === */

.lh-galleries-index {
	background: #0d0d0d;
	color: #e8e8e8;
	min-height: 100vh;
	padding: 2rem 1rem 4rem;
}

.lh-galleries-index__title {
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 1.5rem;
	padding: 0 0.5rem;
}

.lh-galleries-search {
	margin-bottom: 1.5rem;
	padding: 0 0.5rem;
}

.lh-galleries-search__input {
	width: 100%;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.15);
	color: #e8e8e8;
	padding: 0.65rem 1rem;
	font-size: 0.95rem;
	border-radius: 2px;
	outline: none;
	box-sizing: border-box;
}

.lh-galleries-search__input:focus {
	border-color: #169de5;
}

.lh-galleries-search__input::placeholder {
	color: rgba(232,232,232,0.35);
}

.lh-galleries-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

@media (min-width: 768px) {
	.lh-galleries-index {
		padding: 2.5rem 2rem 4rem;
	}

	.lh-galleries-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem;
	}
}

.lh-gallery-card {
	display: block;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4/3;
	text-decoration: none;
	background: #111;
}

.lh-gallery-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.lh-gallery-card:hover .lh-gallery-card__img,
.lh-gallery-card:focus .lh-gallery-card__img {
	transform: scale(1.04);
}

.lh-gallery-card__overlay {
	position: absolute;
	inset: auto 0 0;
	background: linear-gradient(transparent, rgba(0,0,0,0.7));
	padding: 2rem 0.75rem 0.6rem;
}

.lh-gallery-card__title {
	color: #e8e8e8;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0;
}

.lh-gallery-card__lock {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	font-size: 1rem;
	opacity: 0.8;
}

.lh-galleries-no-results {
	color: rgba(232,232,232,0.5);
	padding: 1rem 0.5rem;
	font-style: italic;
}


/* === Toast Notification === */
.lh-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  background: #161616;
  border-left: 3px solid #169de5;
  padding: 1rem 1.25rem 1rem 1rem;
  min-width: 260px;
  max-width: 320px;
  z-index: 9999;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  transform: translateX(calc(100% + 2rem));
  transition: transform 0.3s ease;
  color: #e8e8e8;
  font-size: 0.875rem;
  line-height: 1.5;
}
.lh-toast.is-visible {
  transform: translateX(0);
}
.lh-toast__close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  background: none;
  border: none;
  color: #888;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0;
}
.lh-toast__close:hover { color: #e8e8e8; }
.lh-toast__check {
  color: #169de5;
  font-size: 1.1rem;
  margin-right: 0.4rem;
}
.lh-toast__title {
  font-weight: 600;
  color: #e8e8e8;
  margin-top: 0.25rem;
  padding-right: 1.5rem;
}
.lh-toast__spec { color: #aaa; margin-top: 0.2rem; }
.lh-toast__price {
  color: #e8750a;
  font-weight: 600;
  margin-top: 0.25rem;
}
.lh-toast__cta {
  display: inline-block;
  margin-top: 0.6rem;
  color: #169de5;
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.lh-toast__cta:hover { color: #fff; }

/* === Basket / Cart Icon in Navigation === */
.lh-cart-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 1rem;
  color: #e8e8e8;
  text-decoration: none;
  vertical-align: middle;
  opacity: 1;
  transition: opacity 0.2s;
}
.lh-cart-icon--empty {
  opacity: 0.5;
}
.lh-cart-icon--empty .lh-cart-count {
  display: none;
}
.lh-cart-icon svg {
  width: 22px;
  height: 22px;
  fill: currentColor;
}
.lh-cart-icon:hover { color: #fff; }
.lh-cart-count {
  position: absolute;
  top: -6px;
  right: -8px;
  background: #e8750a;
  color: #fff;
  border-radius: 50%;
  font-size: 0.6rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  padding: 0 3px;
}



/* === Combined Checkout Page === */
.lh-checkout {
  background: #0d0d0d;
  min-height: 60vh;
  padding: 3rem 0 5rem;
}
.lh-checkout__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2rem;
}
.lh-checkout__heading {
  color: #e8e8e8;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 2.5rem;
}
.lh-checkout__empty {
  color: #999;
}
.lh-checkout__empty a { color: #169de5; }
.lh-checkout__grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 4rem;
  align-items: start;
}
.lh-checkout__section-title {
  color: #e8e8e8;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
/* Order summary items */
.lh-checkout__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  position: relative;
}
.lh-checkout__thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
  flex-shrink: 0;
}
.lh-checkout__item-details { flex: 1; min-width: 0; }
.lh-checkout__item-title {
  color: #e8e8e8;
  font-size: 0.9rem;
  font-weight: 500;
  margin-bottom: 0.25rem;
}
.lh-checkout__item-spec { color: #aaa; font-size: 1rem; }
.lh-checkout__item-price {
  color: #e8750a;
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 0.35rem;
}
.lh-checkout__remove {
  color: #555;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 1;
  padding: 0.25rem;
  flex-shrink: 0;
  align-self: center;
  transition: color 0.15s;
}
.lh-checkout__remove:hover { color: #e8e8e8; }
/* Subtotal */
.lh-checkout__subtotal {
  display: flex;
  justify-content: space-between;
  padding: 1rem 0 0.5rem;
  color: #e8e8e8;
  font-size: 0.9rem;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 0.5rem;
}
.lh-checkout__delivery-note {
  color: #aaa;
  font-size: 0.95rem;
  margin-top: 0.35rem;
}
.lh-checkout__continue {
  display: inline-block;
  margin-top: 1.5rem;
  color: #169de5;
  text-decoration: none;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.lh-checkout__continue:hover { color: #fff; }
/* Delivery warning above payment */
.lh-checkout__delivery-warning {
  color: #e8750a;
  border-left: 2px solid #e8750a;
  padding: 0.5rem 0.75rem;
  margin: 1rem 0;
  font-size: 0.875rem;
}
/* WooCommerce form overrides inside checkout */
.lh-checkout__form .woocommerce-billing-fields,
.lh-checkout__form .woocommerce-shipping-fields,
.lh-checkout__form .woocommerce-additional-fields {
  color: #e8e8e8;
}
.lh-checkout__form label {
  color: #999;
  font-size: 0.9rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.35rem;
}
.lh-checkout__form input[type="text"],
.lh-checkout__form input[type="email"],
.lh-checkout__form input[type="tel"],
.lh-checkout__form input[type="number"],
.lh-checkout__form select,
.lh-checkout__form textarea {
  background: #1a1a1a;
  border: 1px solid rgba(255,255,255,0.12);
  color: #e8e8e8;
  border-radius: 0;
  padding: 0.6rem 0.75rem;
  width: 100%;
  font-size: 0.875rem;
  -webkit-appearance: none;
}
.lh-checkout__form input:focus,
.lh-checkout__form select:focus,
.lh-checkout__form textarea:focus {
  outline: none;
  border-color: #169de5;
}
.lh-checkout__form .woocommerce-checkout #place_order,
.lh-checkout__form #place_order {
  background: #e8750a;
  color: #fff;
  border: none;
  padding: 0.9rem 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  width: 100%;
  transition: background 0.2s;
}
.lh-checkout__form .woocommerce-checkout #place_order:hover,
.lh-checkout__form #place_order:hover {
  background: #c96a09;
}
/* Responsive: stack at 768px */
@media (max-width: 768px) {
  .lh-checkout__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .lh-checkout__form { order: -1; }
}



/* === Combined checkout: hide WC's built-in order review (we have our own) === */
.lh-checkout__form h3#order_review_heading,
.lh-checkout__form table.shop_table.woocommerce-checkout-review-order-table,
.lh-checkout__form .woocommerce-checkout-review-order > h3 {
  display: none !important;
}
/* Remove WC's top heading since we have our own */
.lh-checkout__form .woocommerce > h3.entry-title,
.lh-checkout__form > .woocommerce > p {
  display: none !important;
}
/* Keep payment block visible */
.lh-checkout__form #payment {
  display: block !important;
}



/* === Checkout right column: WooCommerce styling overrides === */

/* Hide coupon toggle link */
.lh-checkout__form .woocommerce-form-coupon-toggle,
.lh-checkout__form .checkout_coupon,
.lh-checkout__form .showcoupon {
  display: none !important;
}

/* WC section headings — force white, match our design */
.lh-checkout__form h3,
.lh-checkout__form .woocommerce-billing-fields > h3,
.lh-checkout__form .woocommerce-shipping-fields > h3,
.lh-checkout__form .woocommerce-additional-fields > h3,
.lh-checkout__form #payment h3 {
  color: #e8e8e8 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 1rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  background: none !important;
}

/* Payment method heading override (WC renders as h3 with specific class) */
.lh-checkout__form #payment .payment_methods li label,
.lh-checkout__form #payment .payment_box {
  color: #e8e8e8;
  background: #1a1a1a;
}
.lh-checkout__form #payment {
  background: transparent;
}
.lh-checkout__form #payment .payment_methods li {
  background: #1a1a1a;
  border-color: rgba(255,255,255,0.1);
}

/* Privacy policy text */
.lh-checkout__form .woocommerce-privacy-policy-text,
.lh-checkout__form .woocommerce-privacy-policy-text p {
  color: #888;
  font-size: 0.8rem;
}
.lh-checkout__form .woocommerce-privacy-policy-text a {
  color: #169de5;
}

/* Required field asterisk */
.lh-checkout__form .required { color: #e8750a; }

/* WC error/notice messages */
.lh-checkout__form .woocommerce-error,
.lh-checkout__form .woocommerce-message {
  color: #e8e8e8;
  background: #1a1a1a;
  border-color: #169de5;
}



/* === Checkout: styling consistency pass === */

/* Right panel background — match page dark, not Kalium's default navy */
.lh-checkout__form .woocommerce,
.lh-checkout__form > * {
  background: transparent !important;
  color: #e8e8e8;
}

/* Country / state dropdown — override white WC default */
.lh-checkout__form select,
.lh-checkout__form #billing_country {
  background-color: #1a1a1a !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.75rem center !important;
  background-size: 10px 6px !important;
  color: #e8e8e8 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  padding: 0.6rem 2rem 0.6rem 0.75rem !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border-radius: 0 !important;
}
.lh-checkout__form select option {
  background: #1a1a1a;
  color: #e8e8e8;
}

/* Input field sizing and colour reset */
.lh-checkout__form .woocommerce-input-wrapper input,
.lh-checkout__form input[type="text"],
.lh-checkout__form input[type="email"],
.lh-checkout__form input[type="tel"],
.lh-checkout__form input[type="number"],
.lh-checkout__form textarea {
  background: #1a1a1a !important;
  color: #e8e8e8 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 0 !important;
  padding: 0.6rem 0.75rem !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.lh-checkout__form input::placeholder,
.lh-checkout__form textarea::placeholder {
  color: #555 !important;
}
.lh-checkout__form input:focus,
.lh-checkout__form select:focus,
.lh-checkout__form textarea:focus {
  outline: none !important;
  border-color: #169de5 !important;
  box-shadow: none !important;
}

/* Form labels — consistent grey, small caps */
.lh-checkout__form .woocommerce-billing-fields label,
.lh-checkout__form .woocommerce-shipping-fields label,
.lh-checkout__form .woocommerce-additional-fields label,
.lh-checkout__form label {
  color: #888 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-bottom: 0.3rem !important;
}

/* Section headings — white, not cyan */
.lh-checkout__form .woocommerce-billing-fields h3,
.lh-checkout__form .woocommerce-shipping-fields h3,
.lh-checkout__form .woocommerce-additional-fields h3,
.lh-checkout__form #payment h3,
.lh-checkout__form h3 {
  color: #e8e8e8 !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 1.75rem 0 1rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  background: none !important;
}

/* Payment section */
.lh-checkout__form #payment {
  background: transparent !important;
  border: none !important;
}
.lh-checkout__form #payment .payment_methods {
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #111 !important;
  padding: 0 !important;
  list-style: none !important;
}
.lh-checkout__form #payment .payment_methods li {
  padding: 0.75rem 1rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: transparent !important;
}
.lh-checkout__form #payment .payment_methods li:last-child {
  border-bottom: none !important;
}
.lh-checkout__form #payment .payment_methods li label,
.lh-checkout__form #payment p {
  color: #e8e8e8 !important;
  font-size: 0.875rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.lh-checkout__form #payment .payment_box {
  background: #0d0d0d !important;
  color: #999 !important;
  font-size: 0.8rem !important;
  padding: 0.6rem 1rem !important;
}


/* ── Select2 dark theme (WC replaces <select> with Select2 widget) ── */
.lh-checkout__form .select2-container--default .select2-selection--single {
  background-color: #1a1a1a !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 0 !important;
  height: auto !important;
  padding: 0 !important;
}
.lh-checkout__form .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #e8e8e8 !important;
  padding: 0.6rem 2rem 0.6rem 0.75rem !important;
  line-height: 1.5 !important;
}
.lh-checkout__form .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
  right: 0.5rem !important;
}
.lh-checkout__form .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent !important;
}
.lh-checkout__form .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent !important;
}
.select2-dropdown {
  background-color: #1a1a1a !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 0 !important;
}
.select2-results__option {
  color: #e8e8e8 !important;
  padding: 0.5rem 0.75rem !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #169de5 !important;
  color: #fff !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: rgba(22,157,229,0.2) !important;
}
.select2-search--dropdown .select2-search__field {
  background-color: #111 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #e8e8e8 !important;
  padding: 0.4rem 0.6rem !important;
}

/* ── Hide (optional) labels and required asterisks on checkout ── */
.lh-checkout__form .optional {
  display: none !important;
}
.lh-checkout__form abbr.required {
  display: none !important;
}



/* =====================================================================
   Order Confirmation Page (order-received endpoint)
   ===================================================================== */

.lh-checkout__confirmation {
  max-width: 700px;
  margin: 0 auto;
}

.lh-checkout__confirmation .woocommerce {
  background: transparent !important;
  color: #e8e8e8 !important;
}

/* "Thank you! Your order has been received." notice */
.lh-checkout__confirmation .woocommerce-notice--success {
  background: rgba(22, 157, 229, 0.08) !important;
  border: none !important;
  border-left: 3px solid #169de5 !important;
  color: #e8e8e8 !important;
  padding: 0.85rem 1.1rem !important;
  font-size: 0.95rem !important;
  border-radius: 0 !important;
  margin-bottom: 2rem !important;
  list-style: none !important;
}

/* Order overview — order number, date, email, total, payment method */
.lh-checkout__confirmation .woocommerce-order-overview {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2.5rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 1rem 2.5rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  padding-bottom: 2rem !important;
}
.lh-checkout__confirmation .woocommerce-order-overview li {
  color: #777 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.lh-checkout__confirmation .woocommerce-order-overview li strong,
.lh-checkout__confirmation .woocommerce-order-overview li a {
  display: block !important;
  color: #e8e8e8 !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-top: 0.2rem !important;
  text-decoration: none !important;
}

/* Section headings: Order Details, Our Bank Details, Billing/Shipping Address */
.lh-checkout__confirmation h2 {
  color: #e8e8e8 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin: 2.5rem 0 1.25rem !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}
.lh-checkout__confirmation h3 {
  color: #e8e8e8 !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 1.5rem 0 0.75rem !important;
}

/* BACS bank details block */
.lh-checkout__confirmation .woocommerce-bacs-bank-details {
  background: #111 !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  padding: 1.25rem 1.5rem !important;
  margin-bottom: 2rem !important;
}
.lh-checkout__confirmation .woocommerce-bacs-bank-details ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.lh-checkout__confirmation .woocommerce-bacs-bank-details li {
  color: #888 !important;
  font-size: 0.875rem !important;
  padding: 0.3rem 0 !important;
  border: none !important;
}
.lh-checkout__confirmation .woocommerce-bacs-bank-details li span {
  color: #e8e8e8 !important;
  font-weight: 600 !important;
}

/* Order details table */
.lh-checkout__confirmation .shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.9rem !important;
}
.lh-checkout__confirmation .shop_table thead th {
  color: #666 !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0 0 0.75rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  text-align: left !important;
  background: transparent !important;
}
.lh-checkout__confirmation .shop_table thead th:last-child { text-align: right !important; }
.lh-checkout__confirmation .shop_table tbody td {
  padding: 1rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  color: #e8e8e8 !important;
  vertical-align: middle !important;
  background: transparent !important;
}
.lh-checkout__confirmation .shop_table td.product-total { text-align: right !important; }
.lh-checkout__confirmation .shop_table tfoot th,
.lh-checkout__confirmation .shop_table tfoot td {
  padding: 0.5rem 0 !important;
  color: #888 !important;
  font-size: 0.875rem !important;
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.05) !important;
  background: transparent !important;
}
.lh-checkout__confirmation .shop_table tfoot td { text-align: right !important; }
.lh-checkout__confirmation .shop_table tfoot .order-total th,
.lh-checkout__confirmation .shop_table tfoot .order-total td {
  color: #e8e8e8 !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  padding-top: 0.85rem !important;
}

/* Item meta (Material, Size) */
.lh-checkout__confirmation .wc-item-meta {
  list-style: none !important;
  padding: 0 !important;
  margin: 0.4rem 0 0 !important;
}
.lh-checkout__confirmation .wc-item-meta li,
.lh-checkout__confirmation .wc-item-meta p,
.lh-checkout__confirmation .wc-item-meta strong {
  color: #777 !important;
  font-size: 0.82rem !important;
  font-weight: normal !important;
  margin: 0 !important;
}

/* Thumbnail injected by lh_order_item_thumbnail */
.lh-order-item-row {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}
.lh-order-thumb {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.lh-order-item-name { color: #e8e8e8 !important; }

/* Billing / Shipping address columns */
.lh-checkout__confirmation .woocommerce-customer-details {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2rem !important;
  margin-top: 1rem !important;
}
.lh-checkout__confirmation address {
  font-style: normal !important;
  color: #888 !important;
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
}
.lh-checkout__confirmation address p {
  color: #888 !important;
  font-size: 0.875rem !important;
  margin: 0 !important;
}

/* "Amend order" note */
.lh-order-amend-note {
  margin-top: 2.5rem !important;
  padding: 1rem 1.25rem !important;
  background: rgba(255,255,255,0.03) !important;
  border-left: 2px solid rgba(255,255,255,0.12) !important;
  color: #888 !important;
  font-size: 0.875rem !important;
}
.lh-order-amend-note a {
  color: #169de5 !important;
  text-decoration: none !important;
}
.lh-order-amend-note a:hover { color: #fff !important; }
.lh-order-amend-note strong { color: #e8e8e8 !important; }

/* All links in confirmation — override WC's default bright blue */
.lh-checkout__confirmation a {
  color: #169de5 !important;
  text-decoration: none !important;
}
.lh-checkout__confirmation a:hover { color: #fff !important; }

@media (max-width: 768px) {
  .lh-checkout__confirmation .woocommerce-order-overview {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }
  .lh-checkout__confirmation .woocommerce-customer-details {
    grid-template-columns: 1fr !important;
  }
}



/* =====================================================================
   WPForms — contact form (About page)
   ===================================================================== */

/* Name field: <legend> renders differently to <label> by default */
.lh-contact-form legend.wpforms-field-label {
  color: #e8e8e8 !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 0.5rem !important;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

/* "First" / "Last" sub-labels below the inputs */
.lh-contact-form .wpforms-field-sublabel {
  color: #666 !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin-top: 0.2rem !important;
}

/* All other field labels */
.lh-contact-form .wpforms-field-label {
  color: #e8e8e8 !important;
}

/* Inputs and textarea */
.lh-contact-form input[type="text"],
.lh-contact-form input[type="email"],
.lh-contact-form textarea {
  background: #1a1a1a !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #e8e8e8 !important;
  border-radius: 0 !important;
  padding: 0.6rem 0.75rem !important;
  font-size: 0.875rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.lh-contact-form input:focus,
.lh-contact-form textarea:focus {
  outline: none !important;
  border-color: #169de5 !important;
  box-shadow: none !important;
}

/* Submit button */
.lh-contact-form .wpforms-submit {
  background: #e8750a !important;
  color: #fff !important;
  border: none !important;
  padding: 0.75rem 2rem !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  border-radius: 0 !important;
}
.lh-contact-form .wpforms-submit:hover {
  background: #c96a09 !important;
}



/* =====================================================================
   Privacy Policy page
   ===================================================================== */

body.privacy-policy .page-content,
body.privacy-policy .entry-content,
body.privacy-policy article {
  max-width: 780px;
  margin: 0 auto;
  padding: 3rem 2rem 5rem;
  color: #ccc;
  font-size: 1rem;
  line-height: 1.8;
}

body.privacy-policy h2 {
  color: #e8e8e8 !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  margin: 2.5rem 0 1rem !important;
  padding-bottom: 0.6rem !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

body.privacy-policy h3 {
  color: #e8e8e8 !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 1.75rem 0 0.75rem !important;
}

body.privacy-policy p {
  color: #aaa !important;
  margin-bottom: 1rem !important;
}

body.privacy-policy ul {
  color: #aaa !important;
  padding-left: 1.5rem !important;
  margin-bottom: 1rem !important;
}

body.privacy-policy li {
  margin-bottom: 0.4rem !important;
  line-height: 1.7 !important;
}

body.privacy-policy strong {
  color: #e8e8e8 !important;
  font-weight: 600 !important;
}

body.privacy-policy a {
  color: #169de5 !important;
  text-decoration: none !important;
}
body.privacy-policy a:hover {
  color: #fff !important;
}

body.privacy-policy em {
  color: #666 !important;
  font-size: 0.875rem !important;
}

/* === Logo — override Kalium's dynamic .logo-image{width:600px} for Retina sharpness === */
/* Container (a.logo-image) */
a.logo-image,
.header-logo.logo-image {
	width: auto !important;
	max-width: 200px !important;
	height: auto !important;
}
/* Image inside container */
img.main-logo {
	width: 200px !important;
	height: auto !important;
	display: block !important;
}

@media (max-width: 768px) {
	a.logo-image,
	.header-logo.logo-image {
		max-width: 100px !important;
	}
	img.main-logo {
		width: 100px !important;
	}
}

/* === Header gap fix — Kalium injects margin-bottom:20px and background on .header-block === */
.header-block {
	margin-bottom: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
}

/* === Hamburger menu bars — white to match nav text === */
.toggle-bars__bar-line {
	background-color: #fff !important;
}

/* === Portfolio photo overlay (tap/click to zoom) === */

.lh-image-page__photo {
	cursor: zoom-in;
}

.lh-photo-overlay {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 999998;
	background: rgba(0, 0, 0, 0.94);
	place-items: center;
}

.lh-photo-overlay.is-open {
	display: grid;
}

/* Hide Kalium sticky header when lightbox is open */
body.lh-overlay-open .main-header,
body.lh-overlay-open .site-header,
body.lh-overlay-open .header-block {
	display: none !important;
}

.lh-photo-overlay__img {
	max-width: 100vw;
	max-height: 100dvh;
	object-fit: contain;
	touch-action: pinch-zoom;
	display: block;
}

.lh-photo-overlay__close {
	position: fixed;
	top: 1rem;
	right: 1.2rem;
	background: none;
	border: none;
	color: rgba(232, 232, 232, 0.7);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
	padding: 0.25rem 0.5rem;
	z-index: 999999;
	transition: color 0.15s;
}

.lh-photo-overlay__close:hover {
	color: #fff;
}

/* ============================================================
   Motion & readability layer (Phase 5)
   All motion is transform/opacity only and gated: reveal states
   apply only under html.lh-motion (added by lh-motion.js, which
   bails out entirely under prefers-reduced-motion).
   ============================================================ */

/* ----- Reveal on scroll (grid tiles + About sections) ----- */
html.lh-motion .lh-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
	will-change: opacity, transform;
}
html.lh-motion .lh-reveal.is-in {
	opacity: 1;
	transform: none;
}

/* ----- Grid tile hover zoom + caption fade ----- */
.lh-grid__img {
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lh-grid__link:hover .lh-grid__img,
.lh-grid__link:focus-visible .lh-grid__img {
	transform: scale(1.04);
}
.lh-grid__caption {
	transition: opacity 0.5s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ----- Ken Burns on hero slideshow (under the crossfade) ----- */
html.lh-motion .lh-hero__slide.is-active .lh-hero__slide-img {
	animation: lh-kenburns 8s ease-out forwards;
}
@keyframes lh-kenburns {
	from { transform: scale(1); }
	to   { transform: scale(1.08); }
}

/* ----- Hero text fade-up on load: name → tagline → CTA → prints ----- */
html.lh-motion .lh-hero__name,
html.lh-motion .lh-hero__tagline,
html.lh-motion .lh-hero__cta,
html.lh-motion .lh-hero__prints {
	animation: lh-fade-up 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
html.lh-motion .lh-hero__tagline { animation-delay: 0.15s; }
html.lh-motion .lh-hero__cta     { animation-delay: 0.3s; }
html.lh-motion .lh-hero__prints  { animation-delay: 0.45s; }
@keyframes lh-fade-up {
	from { opacity: 0; transform: translateY(18px); }
	to   { opacity: 1; transform: none; }
}

/* ----- Filter active state: slide-in underline ----- */
.lh-filter,
.lh-sub-filter {
	position: relative;
	letter-spacing: 0.08em;
}
.lh-filter::after,
.lh-sub-filter::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3px;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lh-filter.is-checked::after,
.lh-sub-filter.is-checked::after {
	transform: scaleX(1);
}

/* ----- Sticky header: background fade + logo shrink on scroll -----
   (also prevents the sticky logo clipping — the logo scales instead) */
.site-header .header-block {
	transition: background-color 0.35s ease;
}
img.main-logo {
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
	transform-origin: left center;
}
html.lh-scrolled body.home .site-header .header-block {
	background-color: rgba(4, 8, 14, 0.85) !important;
}
html.lh-scrolled img.main-logo {
	transform: scale(0.7);
}
@media (prefers-reduced-motion: reduce) {
	.lh-grid__img,
	.lh-grid__caption,
	img.main-logo,
	.site-header .header-block,
	.lh-filter::after,
	.lh-sub-filter::after {
		transition: none;
	}
}

/* ----- Hero readability: scrim + tagline contrast ----- */
.lh-hero__content {
	padding: 2.5rem 3rem 2.5rem 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0));
}
.lh-hero__name,
.lh-hero__tagline,
.lh-hero__prints {
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.55);
}
.lh-hero__tagline {
	color: rgba(255, 255, 255, 0.88);
	font-weight: 500;
}

/* ----- Rhythm & measure ----- */
.lh-image-page__description,
.lh-about-section__text {
	line-height: 1.7;
	max-width: 65ch;
}
.nav-container-main-menu .menu-item > a {
	letter-spacing: 0.08em;
}

/* ============================================================
   About page — cinematic layout
   ============================================================ */

.lh-about-page--cinematic {
	background: #0a0a0a;
	color: #e8e8e8;
}

/* Full-bleed hero */
.lh-about-hero {
	position: relative;
	height: 92vh;
	height: 92dvh;
	overflow: hidden;
	background: #0a0a0a;
}
.lh-about-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.08); /* headroom for parallax */
	will-change: transform;
}
.lh-about-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.15) 45%, rgba(0, 0, 0, 0.25));
}
.lh-about-hero__line {
	position: absolute;
	left: 50%;
	bottom: 14%;
	transform: translateX(-50%);
	width: min(90%, 720px);
	margin: 0;
	text-align: center;
	font-size: clamp(1.3rem, 2.6vw, 2rem);
	font-weight: 300;
	letter-spacing: 0.04em;
	line-height: 1.5;
	color: #fff;
	text-shadow: 0 1px 14px rgba(0, 0, 0, 0.6);
}
html.lh-motion .lh-about-hero__line {
	animation: lh-fade-up 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s both;
}

/* Alternating sections */
.lh-about-story {
	max-width: 1100px;
	margin: 0 auto;
	padding: 5rem 2rem 3rem;
}
.lh-about-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3.5rem;
	align-items: center;
	margin: 0 0 6rem;
}
.lh-about-section--flip .lh-about-section__media { order: 2; }
.lh-about-section--flip .lh-about-section__text  { order: 1; }
.lh-about-section--solo {
	grid-template-columns: 1fr;
	justify-items: center;
}
.lh-about-section--solo .lh-about-section__text { text-align: center; }
.lh-about-section__media {
	display: block;
	overflow: hidden;
}
.lh-about-section__media img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.lh-about-section__media:hover img {
	transform: scale(1.04);
}
.lh-about-section__text p {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.7;
	color: #d6d6d6;
}

/* Pull-quotes */
.lh-about-quote {
	margin: 6rem auto;
	max-width: 720px;
	padding: 0 2rem;
	border: 0;
	text-align: center;
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	font-weight: 300;
	font-style: normal;
	letter-spacing: 0.03em;
	line-height: 1.55;
	color: #fff;
}

/* Portrait reveal */
.lh-about-portrait-block {
	margin: 2rem auto 5rem;
	max-width: 420px;
	text-align: center;
}
html.lh-motion .lh-about-portrait-block.lh-reveal {
	transform: translateY(24px) scale(0.96);
}
html.lh-motion .lh-about-portrait-block.lh-reveal.is-in {
	transform: none;
}
.lh-about-portrait__img {
	width: 100%;
	height: auto;
	display: block;
}
.lh-about-portrait__rule {
	width: 56px;
	height: 2px;
	margin: 1.6rem auto 0;
	background: #169de5;
}

/* Signature sign-off */
.lh-signature {
	margin: 0 0 0.5rem;
	font-family: "Segoe Script", "Bradley Hand", "Brush Script MT", cursive;
	font-size: 2.4rem;
	color: #e8e8e8;
	transform: rotate(-3deg);
}

@media (max-width: 768px) {
	.lh-about-section {
		grid-template-columns: 1fr;
		gap: 1.8rem;
		margin-bottom: 4rem;
	}
	.lh-about-section--flip .lh-about-section__media { order: 0; }
	.lh-about-section--flip .lh-about-section__text  { order: 1; }
	.lh-about-hero { height: 70vh; }
	.lh-about-quote { margin: 3.5rem auto; }
	.lh-hero__content { padding-right: 1.5rem; }
}

/* ------------------------------------------------------------------
   Content tables (Shipping & Returns, Print FAQ, Size Guide).
   The theme shipped no layout for tables inside page content, so
   columns collided ("Fine Art PaperWithin 1 week"). Scoped to
   .post-formatting and excluding WooCommerce's .shop_table so the
   cart and checkout tables are untouched.
   ------------------------------------------------------------------ */
.post-formatting table:not(.shop_table) {
  width: 100%;
  max-width: 100%;
  margin: 1.75em 0;
  border-collapse: collapse;
}
.post-formatting table:not(.shop_table) th,
.post-formatting table:not(.shop_table) td {
  padding: 0.7em 1.4em 0.7em 0;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.post-formatting table:not(.shop_table) th {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 0.85em;
  border-bottom-color: rgba(255, 255, 255, 0.32);
}
.post-formatting table:not(.shop_table) tbody tr:last-child th,
.post-formatting table:not(.shop_table) tbody tr:last-child td {
  border-bottom: none;
}
.post-formatting table:not(.shop_table) td:last-child,
.post-formatting table:not(.shop_table) th:last-child {
  padding-right: 0;
}
