/* ==========================================================================
   Flavanti — luxury layer on top of Razzi
   ========================================================================== */

:root {
	--flv-ivory: #f4f0e8;
	--flv-paper: #ebe5da;
	--flv-stone: #d9d0c2;
	--flv-ink: #16130f;
	--flv-ink-2: #2a241e;
	--flv-text: #3d3730;
	--flv-muted: #6f665c;
	--flv-line: rgba(22, 19, 15, 0.14);
	--flv-accent: #5b1f24;
	--flv-serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
	--flv-sans: "Jost", "Helvetica Neue", Arial, sans-serif;
	--flv-track: 0.22em;
	--flv-gutter: clamp(20px, 5vw, 72px);
	--flv-section: clamp(72px, 11vw, 160px);

	/* Razzi variables */
	--rz-color-primary: var(--flv-ink);
	--rz-color-hover-primary: var(--flv-accent);
	--rz-background-color-primary: var(--flv-ink);
	--rz-background-text-color-primary: var(--flv-ivory);
	--rz-border-color-primary: var(--flv-ink);
	--rz-color-dark: var(--flv-ink);
	--rz-color-darker: var(--flv-ink-2);
	--rz-text-color: var(--flv-text);
	--rz-text-color-gray: var(--flv-muted);
	--rz-background-color-light: var(--flv-ivory);
	--rz-background-color-gray: var(--flv-paper);
	--rz-background-color-dark: var(--flv-ink);
	--rz-border-color: var(--flv-stone);
	--rz-border-color-light: var(--flv-line);
	--rz-border-color-gray: var(--flv-stone);
	--rz-border-color-dark: var(--flv-ink);
	--rz-font-family-primary: var(--flv-sans);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

body.flavanti {
	background: var(--flv-ivory);
	color: var(--flv-text);
	font-family: var(--flv-sans);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
}

.flavanti #page,
.flavanti .site,
.flavanti .site-content {
	background: var(--flv-ivory);
}

.flavanti h1,
.flavanti h2,
.flavanti h3,
.flavanti h4,
.flavanti .h1,
.flavanti .h2 {
	font-family: var(--flv-serif);
	font-weight: 400;
	color: var(--flv-ink);
	letter-spacing: 0;
	line-height: 1.12;
}

.flavanti h1 { font-size: clamp(42px, 6vw, 84px); }
.flavanti h2 { font-size: clamp(32px, 3.6vw, 52px); }
.flavanti h3 { font-size: clamp(24px, 2.2vw, 30px); }

.flavanti a {
	color: var(--flv-ink);
	transition: color 0.25s ease, opacity 0.25s ease;
}

.flavanti a:hover {
	color: var(--flv-accent);
}

.flavanti ::selection {
	background: var(--flv-ink);
	color: var(--flv-ivory);
}

.flavanti :focus-visible {
	outline: 1px solid var(--flv-ink);
	outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.flavanti:not(.header-transparent) .site-header,
.flavanti:not(.header-transparent) .site-header .header-main,
.flavanti .site-header.minimized,
.flavanti .site-header.minimized .header-main {
	background-color: var(--flv-ivory);
	border-color: var(--flv-line);
}

.flavanti .site-header .header-main {
	border-bottom: 1px solid var(--flv-line);
}

.flavanti.header-transparent .site-header:not(.minimized),
.flavanti.header-transparent .site-header:not(.minimized) .header-main {
	background: transparent;
	border-bottom-color: rgba(244, 240, 232, 0.2);
	box-shadow: none;
}

.flavanti .site-branding .logo,
.flavanti .site-branding .logo-text,
.flavanti .site-branding .logo-text span {
	font-family: var(--flv-serif) !important;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.42em;
	text-transform: uppercase;
	color: var(--flv-ink);
	padding-left: 0.42em;
	line-height: 1;
}

.flavanti .site-branding .logo-image {
	max-height: 44px;
	width: auto;
}

.flavanti .site-branding .logo svg {
	max-height: 44px;
	width: auto;
}

.flavanti .main-navigation a,
.flavanti .primary-navigation a,
.flavanti .nav-menu > li > a {
	font-family: var(--flv-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: var(--flv-track);
	text-transform: uppercase;
	color: var(--flv-ink);
}

.flavanti .nav-menu > li > a:hover {
	color: var(--flv-accent);
}

.flavanti .site-header .header-counter,
.flavanti .site-header .counter {
	background: var(--flv-ink);
	color: var(--flv-ivory);
}

/* Transparent header over full-bleed images (home, Maison, Haute Commande) */
.flavanti.header-transparent-text-light .site-header:not(.minimized) .logo,
.flavanti.header-transparent-text-light .site-header:not(.minimized) .nav-menu > li > a,
.flavanti.header-transparent-text-light .site-header:not(.minimized) .header-icon,
.flavanti.header-transparent-text-light .site-header:not(.minimized) .razzi-svg-icon,
.flavanti.header-transparent-text-light .site-header:not(.minimized) .header-main a {
	color: var(--flv-ivory);
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.flavanti .wp-block-button__link,
.flavanti .flv-button,
.flavanti .button,
.flavanti button.button,
.flavanti input[type="submit"],
.flavanti .woocommerce a.button,
.flavanti .woocommerce button.button,
.flavanti .woocommerce .single_add_to_cart_button,
.flavanti .checkout-button,
.flavanti #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 36px;
	border: 1px solid var(--flv-ink);
	border-radius: 0;
	background: var(--flv-ink);
	color: var(--flv-ivory);
	font-family: var(--flv-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: var(--flv-track);
	text-transform: uppercase;
	text-decoration: none;
	line-height: 1;
	box-shadow: none;
	transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.flavanti .wp-block-button__link:hover,
.flavanti .flv-button:hover,
.flavanti .button:hover,
.flavanti .woocommerce .single_add_to_cart_button:hover,
.flavanti #place_order:hover {
	background: var(--flv-accent);
	border-color: var(--flv-accent);
	color: var(--flv-ivory);
}

.flavanti .is-style-outline .wp-block-button__link,
.flavanti .flv-button--ghost {
	background: transparent;
	color: var(--flv-ink);
	border-color: var(--flv-ink);
}

.flavanti .is-style-outline .wp-block-button__link:hover,
.flavanti .flv-button--ghost:hover {
	background: var(--flv-ink);
	color: var(--flv-ivory);
	border-color: var(--flv-ink);
}

.flavanti .wp-block-buttons {
	gap: 14px;
	margin-top: 32px;
}

/* --------------------------------------------------------------------------
   Typography helpers used in the page content
   -------------------------------------------------------------------------- */

.flavanti .flv-eyebrow {
	font-family: var(--flv-sans);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--flv-muted);
	margin: 0 0 22px;
}

.flavanti .flv-display {
	font-size: clamp(48px, 7.4vw, 112px);
	line-height: 0.98;
	margin: 0 0 26px;
}

.flavanti .flv-title {
	font-size: clamp(34px, 3.8vw, 56px);
	margin: 0 0 22px;
}

.flavanti .flv-page-title {
	font-size: clamp(44px, 5.5vw, 76px);
	margin: 0 0 22px;
}

.flavanti .flv-lead {
	font-size: clamp(17px, 1.3vw, 19px);
	line-height: 1.75;
	max-width: 34em;
}

.flavanti .has-text-align-center.flv-lead {
	margin-left: auto;
	margin-right: auto;
}

.flavanti .flv-meta {
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--flv-muted);
}

.flavanti .flv-statement {
	font-family: var(--flv-serif);
	font-size: clamp(28px, 3.4vw, 46px);
	line-height: 1.32;
	color: var(--flv-ink);
	margin: 0 0 30px;
}

.flavanti .flv-signature {
	font-size: 12px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--flv-muted);
}

.flavanti .flv-numeral {
	font-family: var(--flv-serif);
	font-size: 22px;
	font-style: italic;
	color: var(--flv-accent);
	margin-bottom: 10px;
}

.flavanti .flv-draft-note {
	display: inline-block;
	padding: 6px 14px;
	border: 1px dashed var(--flv-accent);
	color: var(--flv-accent);
	font-size: 12px;
	letter-spacing: 0.08em;
}

.flavanti .flv-prose h2 {
	font-size: clamp(26px, 2.4vw, 32px);
	margin: 52px 0 14px;
}

.flavanti .flv-prose h3 {
	margin: 40px 0 10px;
}

.flavanti .flv-prose p {
	margin: 0 0 16px;
}

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */

.flavanti .entry-content > .flv-section,
.flavanti .flv-section {
	padding-top: var(--flv-section);
	padding-bottom: var(--flv-section);
	margin-top: 0;
	margin-bottom: 0;
}

.flavanti .flv-section--tight {
	padding-top: 0;
}

.flavanti .flv-section--narrow {
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.flavanti .flv-section--paper,
.flavanti .flv-section--dark,
.flavanti .entry-content .alignfull,
.flavanti .hentry .alignfull,
.flavanti .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* Razzi styles h2 directly inside groups like widget titles; undo that. */
.flavanti .wp-block-group .wp-block-group__inner-container > h2 {
	font-size: clamp(32px, 3.6vw, 52px);
	font-weight: 400;
	text-transform: none;
	line-height: 1.12;
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.flavanti .wp-block-group .wp-block-group__inner-container > h2.flv-title {
	font-size: clamp(34px, 3.8vw, 56px);
}

.flavanti .wp-block-group .wp-block-group__inner-container > h2.flv-display {
	font-size: clamp(48px, 7.4vw, 112px);
	line-height: 0.98;
	margin-bottom: 26px;
}

.flavanti .flv-prose .wp-block-group__inner-container > h2,
.flavanti .wp-block-group.flv-prose .wp-block-group__inner-container > h2 {
	font-size: clamp(26px, 2.4vw, 32px);
	margin: 52px 0 14px;
}

.flavanti .flv-section-head .wp-block-group__inner-container > h2.flv-title {
	margin: 0;
}

/* Consecutive light sections share their spacing. */
.flavanti .flv-manifesto + .flv-collection-preview {
	padding-top: 0;
}

.flavanti .flv-section--paper {
	background: var(--flv-paper);
	padding-left: var(--flv-gutter);
	padding-right: var(--flv-gutter);
}

.flavanti .flv-section--dark {
	background: var(--flv-ink);
	color: #cfc6b8;
	padding-left: var(--flv-gutter);
	padding-right: var(--flv-gutter);
}

.flavanti .flv-section--dark h2,
.flavanti .flv-section--dark h3 {
	color: var(--flv-ivory);
}

.flavanti .flv-section--dark .flv-eyebrow,
.flavanti .flv-section--dark .flv-meta {
	color: #a69c90;
}

.flavanti .flv-section--dark .is-style-outline .wp-block-button__link {
	color: var(--flv-ivory);
	border-color: var(--flv-ivory);
}

.flavanti .flv-section--dark .is-style-outline .wp-block-button__link:hover {
	background: var(--flv-ivory);
	color: var(--flv-ink);
}

.flavanti .flv-section--paper-card {
	background: #fbf9f5;
	padding-left: clamp(24px, 5vw, 64px);
	padding-right: clamp(24px, 5vw, 64px);
	padding-top: clamp(48px, 6vw, 80px);
	padding-bottom: clamp(48px, 6vw, 80px);
	margin-bottom: var(--flv-section);
	border: 1px solid var(--flv-line);
}

.flavanti .flv-section-head {
	display: block;
	border: 0;
	padding: 0;
}

.flavanti .flv-section-head > .wp-block-group__inner-container,
.flavanti .flv-section-head:not(:has(> .wp-block-group__inner-container)) {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	border-top: 1px solid var(--flv-line);
	padding-top: 28px;
	margin-bottom: 48px;
}

.flavanti .flv-section-head .flv-title {
	margin: 0;
}

.flavanti .flv-section-head p {
	margin: 0;
}

/* Cover heroes */
.flavanti .wp-block-cover.flv-hero,
.flavanti .wp-block-cover.flv-page-cover,
.flavanti .wp-block-cover.flv-bespoke-cover {
	padding: clamp(28px, 6vw, 96px) var(--flv-gutter);
	margin-top: 0;
	margin-bottom: 0;
	background-color: var(--flv-ink);
}

.flavanti .wp-block-cover.flv-hero .wp-block-cover__inner-container,
.flavanti .wp-block-cover.flv-page-cover .wp-block-cover__inner-container,
.flavanti .wp-block-cover.flv-bespoke-cover .wp-block-cover__inner-container {
	max-width: 760px;
	width: 100%;
	color: var(--flv-ivory);
	margin: 0;
}

.flavanti .wp-block-cover.flv-bespoke-cover .wp-block-cover__inner-container {
	max-width: 640px;
}

.flavanti .wp-block-cover .flv-eyebrow,
.flavanti .wp-block-cover .flv-lead {
	color: #e6dfd3;
}

.flavanti .wp-block-cover h1,
.flavanti .wp-block-cover h2 {
	color: var(--flv-ivory);
}

.flavanti .wp-block-cover .wp-block-button__link {
	background: var(--flv-ivory);
	border-color: var(--flv-ivory);
	color: var(--flv-ink);
}

.flavanti .wp-block-cover .wp-block-button__link:hover {
	background: transparent;
	color: var(--flv-ivory);
}

.flavanti .wp-block-cover .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--flv-ivory);
	border-color: rgba(244, 240, 232, 0.7);
}

.flavanti .wp-block-cover .is-style-outline .wp-block-button__link:hover {
	background: var(--flv-ivory);
	color: var(--flv-ink);
}

.flavanti-home .wp-block-cover.flv-hero .flv-display {
	font-size: clamp(56px, 9vw, 140px);
}

/* Split image / text */
.flavanti .flv-split {
	align-items: center !important;
	gap: clamp(32px, 6vw, 96px);
	max-width: 1320px;
	margin: 0 auto;
}

.flavanti .flv-split .wp-block-image img,
.flavanti .flv-media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.flavanti .flv-split .wp-block-image {
	margin: 0;
}

/* Process steps */
.flavanti .flv-steps {
	gap: clamp(28px, 4vw, 64px);
	margin-top: 56px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.flavanti .flv-steps .wp-block-column {
	border-top: 1px solid var(--flv-line);
	padding-top: 28px;
}

.flavanti .flv-process .wp-block-buttons {
	justify-content: center;
}

/* Invitations */
.flavanti .flv-invitations {
	gap: clamp(32px, 6vw, 96px);
	max-width: 1200px;
	margin: 0 auto;
}

.flavanti .flv-invitations .wp-block-column + .wp-block-column {
	border-left: 1px solid var(--flv-line);
	padding-left: clamp(32px, 6vw, 96px);
}

.flavanti .flv-values {
	gap: clamp(28px, 4vw, 64px);
}

.flavanti .flv-values .wp-block-column {
	border-top: 1px solid var(--flv-line);
	padding-top: 24px;
}

.flavanti .flv-manifesto .flv-statement {
	max-width: 22em;
	margin-left: auto;
	margin-right: auto;
}

/* --------------------------------------------------------------------------
   Product cards
   -------------------------------------------------------------------------- */

.flavanti ul.products li.product .product-inner,
.flavanti ul.products li.product .product-summary {
	background: transparent;
	box-shadow: none;
}

.flavanti ul.products li.product .product-summary {
	padding-left: 0;
	padding-right: 0;
}

.flavanti ul.products li.product .meta-cat {
	display: none;
}

.flavanti ul.products li.product .woocommerce-loop-product__title,
.flavanti ul.products li.product h2,
.flavanti ul.products li.product .product-title,
.flavanti ul.products li.product .woo-loop-product__title {
	font-family: var(--flv-serif);
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--flv-ink);
	margin-top: 18px;
}

.flavanti ul.products li.product .price {
	font-family: var(--flv-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.12em;
	color: var(--flv-text);
}

.flavanti ul.products li.product .product-thumbnail,
.flavanti ul.products li.product .product-thumbnails,
.flavanti ul.products li.product img {
	background: var(--flv-paper);
}

.flavanti .flv-card-status {
	margin: 4px 0 6px;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--flv-muted);
}

.flavanti .flv-price-label {
	font-size: 13px;
	letter-spacing: 0.12em;
	color: var(--flv-ink);
}

.flavanti .woocommerce-badges .sold-out,
.flavanti .woocommerce-badge.sold-out {
	background: var(--flv-ink);
	color: var(--flv-ivory);
	border-radius: 0;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 10px;
}

/* --------------------------------------------------------------------------
   Single product
   -------------------------------------------------------------------------- */

.flavanti.single-product .product_title {
	font-size: clamp(40px, 4.4vw, 64px);
	font-weight: 400;
	margin-bottom: 10px;
}

.flavanti.single-product .summary .price {
	font-family: var(--flv-sans);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: var(--flv-ink);
}

.flavanti .flv-edition-panel {
	border-top: 1px solid var(--flv-line);
	border-bottom: 1px solid var(--flv-line);
	padding: 22px 0;
	margin: 26px 0;
	font-size: 15px;
}

.flavanti .flv-edition-panel p {
	margin: 0 0 8px;
}

.flavanti .flv-edition-panel p:last-child {
	margin-bottom: 0;
}

.flavanti .flv-edition-panel__status {
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--flv-accent);
}

.flavanti .flv-edition-panel__note {
	color: var(--flv-muted);
	font-size: 14px;
}

.flavanti .flv-edition-panel__note a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.flavanti .flv-engraving {
	width: 100%;
	margin: 0 0 20px;
}

.flavanti .flv-engraving small {
	display: block;
	margin-top: 6px;
	color: var(--flv-muted);
	font-size: 13px;
}

.flavanti.single-product .variations label,
.flavanti.single-product .variations th {
	font-size: 12px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-weight: 400;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

.flavanti input[type="text"],
.flavanti input[type="email"],
.flavanti input[type="tel"],
.flavanti input[type="password"],
.flavanti input[type="number"],
.flavanti input[type="search"],
.flavanti select,
.flavanti textarea,
.flavanti .woocommerce form .input-text {
	min-height: 52px;
	border: 0;
	border-bottom: 1px solid var(--flv-ink);
	border-radius: 0;
	background: transparent;
	padding: 10px 2px;
	font-family: var(--flv-sans);
	font-size: 16px;
	font-weight: 300;
	color: var(--flv-ink);
	box-shadow: none;
	width: 100%;
}

.flavanti textarea {
	min-height: 140px;
	border: 1px solid var(--flv-line);
	border-bottom-color: var(--flv-ink);
	padding: 14px;
}

.flavanti input:focus,
.flavanti select:focus,
.flavanti textarea:focus {
	outline: none;
	border-bottom-width: 2px;
}

.flavanti .flv-form label,
.flavanti .woocommerce form .form-row label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--flv-text);
	margin-bottom: 4px;
}

.flavanti .flv-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 32px;
}

.flavanti .flv-field {
	margin: 0 0 18px;
}

.flavanti .flv-field--full {
	grid-column: 1 / -1;
}

.flavanti .flv-field--check {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.flavanti .flv-field--check input {
	width: 18px;
	height: 18px;
	margin-top: 4px;
	flex: 0 0 18px;
	accent-color: var(--flv-ink);
}

.flavanti .flv-field--check label {
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	color: var(--flv-text);
}

.flavanti .flv-form__actions {
	margin: 28px 0 0;
}

.flavanti .flv-form__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.flavanti .flv-notice {
	padding: 18px 22px;
	margin: 0 0 28px;
	border: 1px solid var(--flv-line);
	background: #fbf9f5;
	font-size: 15px;
}

.flavanti .flv-notice--success { border-left: 3px solid #3d5a3a; }
.flavanti .flv-notice--error { border-left: 3px solid var(--flv-accent); }

/* --------------------------------------------------------------------------
   Waiting list, Private Clientele, concierge
   -------------------------------------------------------------------------- */

.flavanti .flv-waitlist {
	margin: 26px 0;
	padding: 28px;
	background: #fbf9f5;
	border: 1px solid var(--flv-line);
}

.flavanti .flv-waitlist__title {
	font-family: var(--flv-serif);
	font-size: 26px;
	color: var(--flv-ink);
	margin: 0 0 6px;
}

.flavanti .flv-waitlist__text {
	color: var(--flv-muted);
	font-size: 14px;
	margin: 0 0 18px;
}

.flavanti .flv-waitlist-pieces {
	display: grid;
	gap: 56px;
	max-width: 1100px;
	margin: 0 auto;
}

.flavanti .flv-waitlist-piece {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: start;
	padding-top: 40px;
	border-top: 1px solid var(--flv-line);
}

.flavanti .flv-waitlist-piece__media img {
	width: 100%;
	height: auto;
	background: var(--flv-paper);
}

.flavanti .flv-waitlist-piece__title {
	font-size: clamp(30px, 3vw, 42px);
	margin: 0;
}

.flavanti .flv-waitlist-piece .flv-waitlist {
	margin-top: 18px;
}

.flavanti .flv-private-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(32px, 6vw, 96px);
	max-width: 1100px;
	margin: 0 auto;
}

.flavanti .flv-private-grid .flv-form__grid {
	grid-template-columns: minmax(0, 1fr);
}

.flavanti .flv-private-grid__col + .flv-private-grid__col {
	border-left: 1px solid var(--flv-line);
	padding-left: clamp(32px, 6vw, 96px);
}

.flavanti #flv-login p {
	margin-bottom: 18px;
}

.flavanti #flv-login .login-remember label {
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
}

.flavanti .flv-private-welcome {
	text-align: center;
	margin-bottom: 48px;
}

.flavanti .flv-private-concierge {
	text-align: center;
	margin-top: 64px;
}

.flavanti .flv-concierge-details {
	text-align: center;
	margin-top: 28px;
	font-size: 15px;
}

/* --------------------------------------------------------------------------
   Cart & checkout
   -------------------------------------------------------------------------- */

.flavanti .flv-preorder-notice {
	border: 1px solid var(--flv-line);
	background: #fbf9f5;
	padding: 22px 26px;
	margin: 0 0 36px;
}

.flavanti .flv-preorder-notice .flv-eyebrow {
	margin-bottom: 8px;
}

.flavanti .flv-preorder-notice p:last-child {
	margin-bottom: 0;
}

.flavanti .flv-ack {
	margin: 18px 0 22px;
	font-size: 14px;
	line-height: 1.6;
}

.flavanti .flv-ack label {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 14px !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.flavanti .site-footer {
	background: var(--flv-ink);
	color: #a69c90;
	border: 0;
}

.flv-footer {
	padding: clamp(64px, 8vw, 112px) var(--flv-gutter) 32px;
	max-width: 1440px;
	margin: 0 auto;
}

.flv-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
	gap: 48px;
	padding-bottom: 64px;
	border-bottom: 1px solid rgba(244, 240, 232, 0.14);
}

.flavanti .flv-footer__wordmark {
	font-family: var(--flv-serif);
	font-size: 30px;
	letter-spacing: 0.42em;
	color: var(--flv-ivory);
	text-decoration: none;
}

.flv-footer__tagline {
	margin: 14px 0 22px;
	font-size: 14px;
}

.flavanti .flv-footer__heading {
	font-family: var(--flv-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: #8a8075;
	margin: 0 0 18px;
}

.flv-footer__menu,
.flv-footer__socials {
	list-style: none;
	margin: 0;
	padding: 0;
}

.flv-footer__menu li,
.flv-footer__socials li {
	margin: 0 0 10px;
	font-size: 14px;
}

.flavanti .flv-footer a {
	color: #d9d0c2;
	text-decoration: none;
}

.flavanti .flv-footer a:hover {
	color: var(--flv-ivory);
}

.flv-footer__socials {
	display: flex;
	gap: 22px;
}

.flv-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
	padding-top: 28px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.flv-footer__bottom p {
	margin: 0;
}

.flv-footer__bottom .flv-footer__menu {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.flv-footer__bottom .flv-footer__menu li {
	margin: 0;
	font-size: 12px;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.flv-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.flavanti .flv-form__grid,
	.flavanti .flv-private-grid,
	.flavanti .flv-waitlist-piece {
		grid-template-columns: minmax(0, 1fr);
	}

	.flavanti .flv-private-grid__col + .flv-private-grid__col,
	.flavanti .flv-invitations .wp-block-column + .wp-block-column {
		border-left: 0;
		padding-left: 0;
		border-top: 1px solid var(--flv-line);
		padding-top: 40px;
	}

	.flavanti .flv-section-head {
		margin-bottom: 32px;
	}

	.flv-footer__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.flavanti .site-branding .logo,
	.flavanti .site-branding .logo-text {
		font-size: 22px;
		letter-spacing: 0.32em;
	}
}

@media (prefers-reduced-motion: reduce) {
	.flavanti *,
	.flavanti *::before,
	.flavanti *::after {
		transition: none !important;
		animation: none !important;
	}
}

/* Quiet product page: no SKU / category lines, no category above the title. */
.flavanti.single-product .product_meta,
.flavanti.single-product .summary .meta-cat,
.flavanti.single-product .summary .product-taxonomy {
	display: none;
}

.flavanti.single-product .single_add_to_cart_button {
	text-transform: uppercase;
	letter-spacing: var(--flv-track);
	font-size: 12px;
	font-weight: 400;
	min-width: 240px;
}

.flavanti.single-product .woocommerce-tabs ul.tabs li a {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.flavanti .woocommerce-products-header .page-title,
.flavanti .page-header .page-header__title {
	font-family: var(--flv-serif);
	font-weight: 400;
}

/* Magazine covers */
.flavanti .flv-magazine {
	gap: clamp(20px, 3vw, 40px);
	margin-top: 56px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.flavanti .flv-magazine .wp-block-image {
	margin: 0;
}

.flavanti .flv-magazine img {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	box-shadow: 0 30px 60px -30px rgba(22, 19, 15, 0.45);
}

.flavanti .flv-magazine .wp-block-column:nth-child(2) {
	transform: translateY(40px);
}

/* First section on regular pages sits closer to the header. */
.flavanti article.page > .flv-section:first-child,
.flavanti article.page > .entry-content > .flv-section:first-child {
	padding-top: clamp(56px, 7vw, 104px);
}

/* WordPress login form inside Private Clientele */
.flavanti #flv-login label {
	display: block;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--flv-text);
	margin-bottom: 4px;
}

.flavanti #flv-login .login-remember label {
	display: flex;
	align-items: center;
	gap: 10px;
	letter-spacing: 0;
	text-transform: none;
	font-size: 14px;
}

.flavanti #flv-login input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--flv-ink);
}

.flavanti.header-transparent-text-light .site-header:not(.minimized) .logo span,
.flavanti.header-transparent-text-light .site-header:not(.minimized) .header-mobile .razzi-svg-icon {
	color: var(--flv-ivory) !important;
}

.flavanti.single-product div.product .product-button-wrapper .single_add_to_cart_button {
	text-transform: uppercase;
	letter-spacing: var(--flv-track);
	font-size: 12px;
	font-weight: 400;
}

.flavanti .flv-wide-image {
	margin: 32px 0;
}

.flavanti .flv-wide-image img {
	width: 100%;
	height: auto;
}
