:root {
	--bh-abyss: #062b38;
	--bh-atlantic: #0e6078;
	--bh-lagoon: #41a9a5;
	--bh-foam: #f2f8f6;
	--bh-sand: #e7d4b7;
	--bh-coral: #d97862;
	--bh-ink: #172a31;
	--bh-paper: #f7f6f0;
	--bh-white: #fff;
	--bh-display: "Iowan Old Style", Baskerville, "Times New Roman", serif;
	--bh-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--bh-radius: 24px;
	--bh-shadow: 0 22px 70px rgba(6, 43, 56, 0.13);
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--bh-paper);
	color: var(--bh-ink);
	font-family: var(--bh-sans);
	margin: 0;
}

.wp-site-blocks {
	height: auto !important;
	min-height: 100vh;
}

body.wp-child-theme-boutique-dauphin .mob-menu-header-holder,
body.wp-child-theme-boutique-dauphin .mobmenu-panel,
body.wp-child-theme-boutique-dauphin .mob-menu-overlay {
	display: none !important;
}

.wp-site-blocks > * {
	flex-shrink: 0;
}

.wp-site-blocks > .bh-home {
	flex: 0 0 auto;
	width: 100%;
}

body,
button,
input,
select,
textarea {
	font-family: var(--bh-sans);
}

::selection {
	background: var(--bh-lagoon);
	color: var(--bh-abyss);
}

a {
	text-underline-offset: 0.18em;
}

.bh-site-header {
	background: rgba(247, 246, 240, 0.98);
	border-bottom: 1px solid rgba(6, 43, 56, 0.11);
	position: relative;
	z-index: 20;
}

.bh-announcement {
	background: var(--bh-abyss);
	color: var(--bh-white);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	padding: 0.68rem 1.25rem;
	text-transform: uppercase;
}

.bh-announcement p {
	margin: 0;
}

.bh-header-inner {
	min-height: 102px;
	padding: 0 2rem;
}

.bh-brand {
	align-items: center;
	color: var(--bh-abyss);
	display: inline-flex;
	gap: 0.8rem;
	min-width: 230px;
	text-decoration: none;
}

.bh-brand img {
	flex: 0 0 auto;
	height: 62px;
	width: 62px;
}

.bh-brand__text {
	display: flex;
	flex-direction: column;
	line-height: 0.92;
}

.bh-brand__text strong {
	font-family: var(--bh-display);
	font-size: 1.28rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}

.bh-brand__text em {
	font-family: var(--bh-display);
	font-size: 1.72rem;
	font-style: normal;
	font-weight: 600;
}

.bh-primary-nav .wp-block-navigation-item__content {
	color: var(--bh-abyss);
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.07em;
	padding: 0.7rem 0.35rem;
	text-decoration: none;
	text-transform: uppercase;
}

.bh-primary-nav .wp-block-navigation-item__content:hover {
	color: var(--bh-atlantic);
}

.bh-primary-nav .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: clamp(0.8rem, 1.7vw, 1.5rem);
}

.bh-header-inner > .wp-block-woocommerce-customer-account,
.bh-header-inner > .wc-block-mini-cart {
	flex: 0 0 auto;
	margin: 0;
}

.bh-header-inner > .wp-block-woocommerce-customer-account a,
.bh-header-inner > .wc-block-mini-cart a {
	color: var(--bh-abyss);
}

.bh-header-inner > .wc-block-mini-cart {
	align-items: center;
	border: 1px solid rgba(6, 43, 56, 0.18);
	border-radius: 999px;
	display: flex;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.bh-header-actions {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
	min-width: 230px;
}

.bh-header-actions a {
	color: var(--bh-abyss);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.bh-header-actions .bh-cart-link {
	border: 1px solid rgba(6, 43, 56, 0.4);
	border-radius: 999px;
	padding: 0.72rem 1rem;
}

.bh-home {
	overflow: hidden;
}

.bh-hero {
	align-items: center;
	background-image:
		linear-gradient(90deg, rgba(3, 28, 38, 0.96) 0%, rgba(3, 28, 38, 0.85) 29%, rgba(3, 28, 38, 0.35) 58%, rgba(3, 28, 38, 0.04) 100%),
		url("../images/hero-dauphins-grand-large.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	color: var(--bh-white);
	display: flex;
	min-height: min(790px, calc(100vh - 140px));
	padding: 5rem 2rem;
	position: relative;
}

.bh-hero::after {
	background: linear-gradient(180deg, transparent 60%, rgba(6, 43, 56, 0.32));
	bottom: 0;
	content: "";
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
}

.bh-hero__inner {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 100%;
	z-index: 1;
}

.bh-hero__inner > * {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: 710px;
}

.bh-eyebrow {
	align-items: center;
	color: var(--bh-foam);
	display: flex;
	font-size: 0.72rem;
	font-weight: 800;
	gap: 0.8rem;
	letter-spacing: 0.18em;
	margin-bottom: 1.2rem;
	text-transform: uppercase;
}

.bh-eyebrow::before {
	background: var(--bh-coral);
	content: "";
	height: 2px;
	width: 36px;
}

.bh-eyebrow.has-text-align-center {
	justify-content: center;
}

.bh-eyebrow--dark {
	color: var(--bh-atlantic);
}

.bh-hero__title {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: clamp(3rem, 5.5vw, 6.1rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.94;
	margin-bottom: 1.6rem;
	margin-top: 0;
}

.bh-hero__lead {
	color: rgba(255, 255, 255, 0.87);
	font-size: clamp(1.05rem, 1.4vw, 1.28rem);
	line-height: 1.68;
	max-width: 630px !important;
}

.bh-hero__actions {
	margin-top: 2rem;
}

.bh-button .wp-block-button__link,
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border: 1px solid transparent;
	border-radius: 999px;
	box-shadow: none;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	padding: 1rem 1.45rem;
	text-transform: uppercase;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.bh-button .wp-block-button__link:hover,
.wp-element-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	transform: translateY(-2px);
}

.bh-button--primary .wp-block-button__link {
	background: var(--bh-coral);
	color: var(--bh-white);
}

.bh-button--ghost .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.7);
	color: var(--bh-white);
}

.bh-button--light .wp-block-button__link {
	background: var(--bh-foam);
	color: var(--bh-abyss);
}

.bh-trust {
	background: var(--bh-white);
	border-bottom: 1px solid rgba(6, 43, 56, 0.08);
	padding: 1.35rem 2rem;
}

.bh-trust__grid {
	gap: 0;
}

.bh-trust__grid p {
	border-right: 1px solid rgba(6, 43, 56, 0.13);
	margin: 0;
	padding: 0.15rem 2.2rem;
	text-align: center;
}

.bh-trust__grid p:last-child {
	border-right: 0;
}

.bh-trust__grid strong {
	color: var(--bh-abyss);
	display: block;
	font-size: 0.77rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.bh-trust__grid span {
	color: #60727a;
	font-size: 0.82rem;
}

.bh-section {
	padding-bottom: clamp(4.5rem, 8vw, 8.5rem);
	padding-top: clamp(4.5rem, 8vw, 8.5rem);
}

.bh-intro {
	max-width: 950px !important;
}

.bh-section-title {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(2.6rem, 4.8vw, 5rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 auto 1.6rem;
	max-width: 900px;
}

.bh-section-title--left {
	font-size: clamp(2.4rem, 4.1vw, 4.25rem);
	margin-left: 0;
	max-width: 760px;
}

.bh-intro__text {
	color: #4a5e66;
	font-family: var(--bh-display);
	font-size: clamp(1.2rem, 1.8vw, 1.55rem);
	line-height: 1.7;
	max-width: 870px;
}

.bh-section-heading {
	align-items: end;
	gap: 2rem;
	margin-bottom: 2.4rem;
}

.bh-section-link a {
	color: var(--bh-atlantic);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-decoration: none;
	text-transform: uppercase;
}

.bh-collection-grid {
	gap: 1rem;
}

.bh-collection-card {
	background-position: center;
	background-size: cover;
	border-radius: var(--bh-radius);
	box-shadow: var(--bh-shadow);
	color: var(--bh-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 560px;
	overflow: hidden;
	padding: 1.7rem;
	position: relative;
	text-decoration: none;
	transition: transform 240ms ease, box-shadow 240ms ease;
}

.bh-collection-card::before,
.bh-mood-card::before {
	background: linear-gradient(180deg, rgba(3, 28, 38, 0.02) 25%, rgba(3, 28, 38, 0.92) 100%);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.bh-collection-card > *,
.bh-mood-card > * {
	position: relative;
	z-index: 1;
}

.bh-collection-card:hover {
	box-shadow: 0 28px 82px rgba(6, 43, 56, 0.22);
	transform: translateY(-7px);
}

.bh-collection-card--clothes {
	background-image: url("../images/collection-vetements-dauphin.webp");
}

.bh-collection-card--jewels {
	background-image: url("../images/collection-bijoux-dauphin.webp");
}

.bh-collection-card--accessories {
	background-image: url("../images/collection-accessoires-dauphin.webp");
}

.bh-collection-card--decor {
	background-image: url("../images/collection-decoration-dauphin.webp");
}

.bh-card-kicker {
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.bh-collection-card h3,
.bh-mood-card h3 {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: 2.25rem;
	font-weight: 400;
	line-height: 1;
	margin: 0.55rem 0 0.7rem;
}

.bh-collection-card p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.88rem;
	line-height: 1.55;
	margin: 0 0 1rem;
}

.bh-card-arrow {
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bh-manifesto {
	background: var(--bh-abyss);
	color: rgba(255, 255, 255, 0.78);
	padding-left: 2rem;
	padding-right: 2rem;
}

.bh-manifesto__columns {
	align-items: stretch !important;
	gap: 0;
}

.bh-manifesto__image,
.bh-manifesto__image img {
	height: 100%;
	margin: 0;
	min-height: 620px;
	object-fit: cover;
	width: 100%;
}

.bh-manifesto__image {
	border-radius: var(--bh-radius) 0 0 var(--bh-radius);
	overflow: hidden;
}

.bh-manifesto__copy {
	background: #0b3948;
	border-radius: 0 var(--bh-radius) var(--bh-radius) 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.4rem, 5vw, 5.4rem);
}

.bh-manifesto__copy h2 {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: clamp(2.6rem, 4.3vw, 4.8rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 0.98;
	margin: 0 0 1.6rem;
}

.bh-manifesto__copy p {
	line-height: 1.72;
}

.bh-moods {
	padding-left: 1rem;
	padding-right: 1rem;
}

.bh-mood-grid {
	gap: 1.25rem;
	margin-top: 2.8rem;
}

.bh-mood-card {
	background-position: center;
	background-size: cover;
	border-radius: var(--bh-radius);
	color: var(--bh-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 440px;
	overflow: hidden;
	padding: 2rem;
	position: relative;
	text-decoration: none;
}

.bh-mood-card--lagoon {
	background-image: url("../images/univers-bleu-lagon.webp");
}

.bh-mood-card--ocean {
	background-image: url("../images/univers-grand-large.webp");
}

.bh-mood-card--graphic {
	background-image: url("../images/univers-ocean-graphique.webp");
}

.bh-mood-card > span {
	font-size: 0.67rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bh-mood-card p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.9rem;
	margin-bottom: 0;
}

.bh-gifts {
	border-top: 1px solid rgba(6, 43, 56, 0.12);
}

.bh-gifts__columns {
	align-items: center !important;
	gap: clamp(3rem, 7vw, 8rem);
}

.bh-gifts__columns > .wp-block-column {
	min-width: 0;
}

.bh-gifts h2 {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(2.8rem, 4.4vw, 4.7rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
	margin: 0 0 1.5rem;
}

.bh-gift-links p {
	margin: 0;
}

.bh-gift-links a {
	align-items: center;
	border-bottom: 1px solid rgba(6, 43, 56, 0.14);
	color: var(--bh-abyss);
	display: grid;
	gap: 1rem;
	grid-template-columns: 42px minmax(180px, 1fr) minmax(150px, 0.75fr);
	padding: 1.4rem 0;
	text-decoration: none;
}

.bh-gift-links a > span {
	color: var(--bh-coral);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.bh-gift-links strong {
	font-family: var(--bh-display);
	font-size: 1.42rem;
	font-weight: 400;
	min-width: 0;
}

.bh-gift-links em {
	color: #617178;
	font-size: 0.78rem;
	font-style: normal;
	min-width: 0;
}

.bh-newsletter {
	background:
		radial-gradient(circle at 78% 18%, rgba(65, 169, 165, 0.34), transparent 31%),
		radial-gradient(circle at 12% 88%, rgba(217, 120, 98, 0.18), transparent 28%),
		linear-gradient(135deg, #062b38 0%, #0b4a5b 52%, #062b38 100%);
	color: rgba(255, 255, 255, 0.82);
	padding: clamp(5rem, 10vw, 9rem) 2rem;
}

.bh-newsletter__inner {
	max-width: 780px !important;
}

.bh-newsletter h2 {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: clamp(2.7rem, 5vw, 5.2rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1;
}

.bh-newsletter form {
	display: flex;
	gap: 0.7rem;
	justify-content: center;
	margin: 2rem auto 0;
	max-width: 650px;
}

.bh-newsletter input[type="email"],
.bh-newsletter input[type="text"] {
	background: rgba(255, 255, 255, 0.96);
	border: 0;
	border-radius: 999px;
	flex: 1 1 auto;
	min-height: 54px;
	padding: 0 1.2rem;
}

.bh-newsletter input[type="submit"],
.bh-newsletter button {
	background: var(--bh-coral);
	border: 0;
	border-radius: 999px;
	color: var(--bh-white);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	min-height: 54px;
	padding: 0 1.4rem;
	text-transform: uppercase;
}

.bh-footer {
	background: #041f29;
	color: rgba(255, 255, 255, 0.68);
	padding: 5rem 2rem 1.5rem;
}

.bh-footer__grid {
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
}

.bh-footer-logo {
	align-items: center;
	color: var(--bh-white);
	display: flex;
	font-family: var(--bh-display);
	font-size: 1.55rem;
	gap: 0.8rem;
}

.bh-footer-logo img {
	height: 58px;
	width: 58px;
}

.bh-footer h3 {
	color: var(--bh-white);
	font-family: var(--bh-sans);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.bh-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.bh-footer-list li {
	margin: 0.45rem 0;
}

.bh-footer-list a {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.88rem;
	text-decoration: none;
}

.bh-footer-list a:hover {
	color: var(--bh-white);
}

.bh-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.13);
	font-size: 0.73rem;
	margin-top: 4rem;
	padding-top: 1.25rem;
}

.bh-page-shell,
.bh-article-shell,
.bh-journal-shell {
	padding: clamp(4rem, 8vw, 8rem) 2rem;
}

.bh-page-hero,
.bh-article-head,
.bh-journal-head {
	margin-bottom: 3rem;
	text-align: center;
}

.bh-page-hero .wp-block-post-title,
.bh-article-head .wp-block-post-title,
.bh-journal-head h1,
.bh-journal-head .wp-block-query-title {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(3rem, 6vw, 6.2rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.98;
}

.bh-page-content,
.bh-article-content {
	background: var(--bh-white);
	border-radius: var(--bh-radius);
	box-shadow: 0 18px 60px rgba(6, 43, 56, 0.08);
	padding: clamp(2rem, 5vw, 4.5rem);
}

.bh-post-query {
	margin-top: 3.5rem;
}

.bh-post-query .wp-block-post-template {
	gap: 1.2rem;
}

.bh-post-card {
	background: var(--bh-white);
	border-radius: 18px;
	box-shadow: 0 14px 44px rgba(6, 43, 56, 0.08);
	overflow: hidden;
	padding: 1.2rem;
}

.bh-post-card .wp-block-post-featured-image {
	border-radius: 12px;
	overflow: hidden;
}

.bh-post-card .wp-block-post-date {
	color: var(--bh-atlantic);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bh-post-card .wp-block-post-title {
	font-family: var(--bh-display);
	font-size: 1.7rem;
	font-weight: 400;
	line-height: 1.08;
}

.bh-post-card .wp-block-post-title a {
	color: var(--bh-abyss);
	text-decoration: none;
}

.bh-404 {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 68vh;
	padding: 5rem 2rem;
	text-align: center;
}

.bh-404 h1 {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(3.5rem, 8vw, 8rem);
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 0.9;
	margin: 0;
}

.woocommerce .woocommerce-breadcrumb {
	color: #65757b;
	font-size: 0.75rem;
}

body.tax-product_cat main#wp--skip-link--target,
body.post-type-archive-product main#wp--skip-link--target {
	background: var(--bh-sand);
	isolation: isolate;
	max-width: none;
	overflow: hidden;
	padding: 0 2rem 6rem;
	position: relative;
}

body.tax-product_cat main#wp--skip-link--target::before,
body.post-type-archive-product main#wp--skip-link--target::before {
	background:
		linear-gradient(90deg, rgba(3, 28, 38, 0.92) 0%, rgba(3, 28, 38, 0.68) 48%, rgba(3, 28, 38, 0.22) 100%),
		url("../images/editorial-pod-dauphins.webp") center 48% / cover no-repeat;
	content: "";
	height: 430px;
	inset: 0 0 auto;
	position: absolute;
	z-index: 0;
}

body.term-vetements-dauphin main#wp--skip-link--target::before {
	background-image:
		linear-gradient(90deg, rgba(3, 28, 38, 0.9) 0%, rgba(3, 28, 38, 0.62) 48%, rgba(3, 28, 38, 0.18) 100%),
		url("../images/collection-vetements-dauphin.webp");
}

body.term-bijoux-dauphin main#wp--skip-link--target::before {
	background-image:
		linear-gradient(90deg, rgba(3, 28, 38, 0.9) 0%, rgba(3, 28, 38, 0.62) 48%, rgba(3, 28, 38, 0.18) 100%),
		url("../images/collection-bijoux-dauphin.webp");
}

body.term-accessoires-dauphin main#wp--skip-link--target::before {
	background-image:
		linear-gradient(90deg, rgba(3, 28, 38, 0.9) 0%, rgba(3, 28, 38, 0.62) 48%, rgba(3, 28, 38, 0.18) 100%),
		url("../images/collection-accessoires-dauphin.webp");
}

body.term-decorations-dauphin main#wp--skip-link--target::before {
	background-image:
		linear-gradient(90deg, rgba(3, 28, 38, 0.9) 0%, rgba(3, 28, 38, 0.62) 48%, rgba(3, 28, 38, 0.18) 100%),
		url("../images/collection-decoration-dauphin.webp");
}

body.tax-product_cat main#wp--skip-link--target > *,
body.post-type-archive-product main#wp--skip-link--target > * {
	position: relative;
	z-index: 1;
}

body.tax-product_cat main#wp--skip-link--target > .wc-block-breadcrumbs,
body.tax-product_cat main#wp--skip-link--target > .wp-block-query-title,
body.tax-product_cat main#wp--skip-link--target > .wp-block-term-description,
body.post-type-archive-product main#wp--skip-link--target > .wc-block-breadcrumbs,
body.post-type-archive-product main#wp--skip-link--target > .wp-block-query-title {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1160px;
	width: 100%;
}

body.tax-product_cat main#wp--skip-link--target > .wc-block-breadcrumbs,
body.post-type-archive-product main#wp--skip-link--target > .wc-block-breadcrumbs {
	padding-top: 2.25rem;
}

body.tax-product_cat main#wp--skip-link--target .woocommerce-breadcrumb,
body.tax-product_cat main#wp--skip-link--target .woocommerce-breadcrumb a,
body.post-type-archive-product main#wp--skip-link--target .woocommerce-breadcrumb,
body.post-type-archive-product main#wp--skip-link--target .woocommerce-breadcrumb a {
	color: rgba(255, 255, 255, 0.78) !important;
}

body.tax-product_cat main#wp--skip-link--target > .wp-block-query-title,
body.post-type-archive-product main#wp--skip-link--target > .wp-block-query-title {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: clamp(3.8rem, 7vw, 7.2rem);
	font-weight: 400;
	letter-spacing: -0.045em;
	line-height: 0.92;
	margin-bottom: 1.5rem;
	margin-top: 3rem;
}

body.tax-product_cat main#wp--skip-link--target > .wp-block-term-description {
	color: rgba(255, 255, 255, 0.88);
	font-size: 1.05rem;
	line-height: 1.8;
	margin-top: 0;
	max-width: 1160px;
}

body.tax-product_cat main#wp--skip-link--target > .wp-block-term-description p {
	max-width: 650px;
}

body.tax-product_cat main#wp--skip-link--target > .wp-block-group.alignwide,
body.post-type-archive-product main#wp--skip-link--target > .wp-block-group.alignwide {
	margin-top: 8.5rem !important;
}

.wp-block-woocommerce-product-collection {
	max-width: 1160px !important;
}

.woocommerce ul.products {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	background: var(--bh-white);
	border-radius: 18px;
	float: none;
	margin: 0;
	overflow: hidden;
	padding: 1rem;
	width: auto;
}

.woocommerce ul.products li.product img {
	border-radius: 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: 1.35rem;
	font-weight: 400;
}

.woocommerce div.product .product_title {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(2.5rem, 5vw, 4.8rem);
	font-weight: 400;
	letter-spacing: -0.035em;
}

.woocommerce .price {
	color: var(--bh-atlantic) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce select {
	background: var(--bh-white);
	border: 1px solid rgba(6, 43, 56, 0.18);
	border-radius: 12px;
	min-height: 48px;
	padding: 0.75rem 0.9rem;
}

@media (max-width: 1120px) {
	.bh-header-inner {
		flex-wrap: wrap !important;
		gap: 1rem;
		padding-bottom: 1rem;
		padding-top: 1rem;
	}

	.bh-brand,
	.bh-header-actions {
		min-width: 0;
	}

	.bh-primary-nav {
		order: 3;
		width: 100%;
	}

	.bh-collection-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.bh-collection-card {
		min-height: 520px;
	}
}

@media (max-width: 900px) {
	.bh-hero {
		background-image:
			linear-gradient(90deg, rgba(3, 28, 38, 0.92) 0%, rgba(3, 28, 38, 0.7) 60%, rgba(3, 28, 38, 0.25) 100%),
			url("../images/hero-dauphins-grand-large.webp");
		background-position: 64% center;
		min-height: 720px;
	}

	.bh-trust__grid,
	.bh-mood-grid,
	.bh-footer__grid {
		grid-template-columns: 1fr !important;
	}

	.bh-trust__grid p {
		border-bottom: 1px solid rgba(6, 43, 56, 0.1);
		border-right: 0;
		padding: 0.9rem;
	}

	.bh-manifesto__columns {
		flex-direction: column;
	}

	.bh-manifesto__image {
		border-radius: var(--bh-radius) var(--bh-radius) 0 0;
	}

	.bh-manifesto__copy {
		border-radius: 0 0 var(--bh-radius) var(--bh-radius);
	}

	.bh-manifesto__image,
	.bh-manifesto__image img {
		min-height: 440px;
	}

	.bh-mood-card {
		min-height: 420px;
	}

	.bh-gift-links a {
		grid-template-columns: 36px 1fr;
	}

	.bh-gift-links em {
		display: none;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	body.wp-child-theme-boutique-dauphin.mob-menu-slideout-over {
		padding-top: 0 !important;
	}

	.bh-announcement {
		font-size: 0.6rem;
	}

	.bh-header-inner {
		flex-wrap: nowrap !important;
		gap: 0.65rem;
		min-height: 82px;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bh-brand img {
		height: 50px;
		width: 50px;
	}

	.bh-brand__text strong {
		font-size: 1.05rem;
	}

	.bh-brand__text em {
		font-size: 1.4rem;
	}

	.bh-header-actions {
		display: none;
	}

	.bh-primary-nav {
		order: initial;
		width: auto;
	}

	.bh-hero {
		background-image:
			linear-gradient(180deg, rgba(3, 28, 38, 0.48) 0%, rgba(3, 28, 38, 0.91) 76%),
			url("../images/hero-dauphins-grand-large.webp");
		background-position: 68% center;
		min-height: 690px;
		padding: 4rem 1.25rem 3rem;
	}

	.bh-hero__inner {
		align-self: flex-end;
	}

	.bh-hero__title {
		font-size: clamp(2.65rem, 12vw, 4.2rem);
	}

	.bh-hero__lead {
		font-size: 1rem;
	}

	.bh-section,
	.bh-page-shell,
	.bh-article-shell,
	.bh-journal-shell {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bh-section-title {
		font-size: clamp(2.35rem, 11vw, 3.7rem);
	}

	body.tax-product_cat main#wp--skip-link--target,
	body.post-type-archive-product main#wp--skip-link--target {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	body.tax-product_cat main#wp--skip-link--target::before,
	body.post-type-archive-product main#wp--skip-link--target::before {
		background-position: 60% center;
		height: 360px;
	}

	body.tax-product_cat main#wp--skip-link--target > .wp-block-query-title,
	body.post-type-archive-product main#wp--skip-link--target > .wp-block-query-title {
		font-size: clamp(3rem, 15vw, 4.5rem);
		margin-top: 2.4rem;
	}

	body.tax-product_cat main#wp--skip-link--target > .wp-block-term-description {
		font-size: 0.92rem;
		line-height: 1.65;
	}

	body.tax-product_cat main#wp--skip-link--target > .wp-block-group.alignwide,
	body.post-type-archive-product main#wp--skip-link--target > .wp-block-group.alignwide {
		margin-top: 5rem !important;
	}

	.bh-collection-grid {
		grid-template-columns: 1fr !important;
	}

	.bh-collection-card {
		min-height: 500px;
	}

	.bh-manifesto {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bh-manifesto__copy {
		padding: 2.2rem 1.4rem;
	}

	.bh-manifesto__image,
	.bh-manifesto__image img {
		min-height: 320px;
	}

	.bh-newsletter form {
		align-items: stretch;
		flex-direction: column;
	}

	.bh-footer {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	* {
		transition-duration: 0.001ms !important;
	}
}


/* Latest journal stories on the home page. */
.bh-journal-banner {
	background:
		radial-gradient(circle at 84% 12%, rgba(65, 169, 165, 0.3), transparent 30%),
		radial-gradient(circle at 8% 92%, rgba(217, 120, 98, 0.2), transparent 28%),
		linear-gradient(145deg, #041f29 0%, #0b4a5b 55%, #062b38 100%);
	color: rgba(255, 255, 255, 0.82);
	padding: clamp(5rem, 9vw, 8.5rem) 2rem;
}

.bh-journal-banner__intro {
	max-width: 860px !important;
}

.bh-journal-banner h2 {
	color: var(--bh-white);
	font-family: var(--bh-display);
	font-size: clamp(2.8rem, 5.6vw, 5.6rem);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 0.98;
	margin-bottom: 1.25rem;
}

.bh-journal-banner__lead {
	font-size: clamp(1rem, 1.4vw, 1.18rem);
	line-height: 1.75;
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
}

.bh-journal-query {
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.bh-journal-query .wp-block-post-template {
	gap: 1.4rem;
}

.bh-article-card {
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 22px;
	box-shadow: 0 20px 55px rgba(1, 20, 27, 0.2);
	color: var(--bh-abyss);
	height: 100%;
	overflow: hidden;
	padding: 0 1.35rem 1.45rem;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.bh-article-card:hover {
	box-shadow: 0 26px 70px rgba(1, 20, 27, 0.3);
	transform: translateY(-5px);
}

.bh-article-card__image {
	margin-left: -1.35rem !important;
	margin-right: -1.35rem !important;
	margin-top: 0 !important;
	width: calc(100% + 2.7rem) !important;
}

.bh-article-card__image img {
	display: block;
	object-fit: cover;
	width: 100%;
}

.bh-article-card__category {
	color: var(--bh-coral);
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin-bottom: 0.65rem;
	margin-top: 1.2rem;
	text-transform: uppercase;
}

.bh-article-card__category a {
	color: inherit;
	text-decoration: none;
}

.bh-article-card__title {
	font-family: var(--bh-display);
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	font-weight: 400;
	line-height: 1.08;
	margin: 0;
}

.bh-article-card__title a {
	color: var(--bh-abyss);
	text-decoration: none;
}

.bh-article-card__excerpt {
	color: #607078;
	font-size: 0.9rem;
	line-height: 1.65;
	margin-top: 0.9rem;
}

.bh-article-card__excerpt .wp-block-post-excerpt__more-link {
	color: var(--bh-atlantic);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.bh-journal-banner__actions {
	margin-top: 2.6rem;
}

/* Long commercial category stories, deliberately placed after products. */
.bh-category-story {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 246, 239, 0.98));
	border: 1px solid rgba(6, 43, 56, 0.1);
	border-radius: 26px;
	box-shadow: 0 20px 60px rgba(6, 43, 56, 0.08);
	color: #40545c;
	margin-left: auto;
	margin-right: auto;
	margin-top: clamp(4rem, 8vw, 7rem);
	max-width: 1160px;
	padding: clamp(2rem, 5vw, 5.5rem);
}

.bh-category-story h2 {
	color: var(--bh-abyss);
	font-family: var(--bh-display);
	font-size: clamp(2rem, 4vw, 3.8rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.02;
	margin-bottom: 1.15rem;
	margin-top: clamp(2.8rem, 6vw, 5rem);
}

.bh-category-story h2:first-child {
	margin-top: 0;
}

.bh-category-story p,
.bh-category-story li {
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
	line-height: 1.82;
}

.bh-category-story p {
	max-width: 900px;
}

.bh-category-story a {
	color: var(--bh-atlantic);
	font-weight: 700;
}

.bh-category-story strong {
	color: var(--bh-abyss);
}

@media (max-width: 900px) {
	.bh-journal-query .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.bh-journal-banner {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.bh-journal-query .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}

	.bh-category-story {
		border-radius: 18px;
		padding: 1.5rem;
	}
}
