/* 77Livres & Signets - "Classic antiquarian" look.
   System fonts only (no third-party requests: the site promises no data collection). */

/* Self-hosted fonts (SIL OFL): Lora for text, Playfair Display for titles. No third-party requests. */
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/lora-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:normal;font-weight:400 700;font-display:swap;src:url("fonts/lora-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url("fonts/lora-latin-ext-wght-italic.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Lora";font-style:italic;font-weight:400 700;font-display:swap;src:url("fonts/lora-latin-wght-italic.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url("fonts/playfair-display-latin-ext-wght-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:400 900;font-display:swap;src:url("fonts/playfair-display-latin-wght-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
	--nl-paper: #faf6ee;
	--nl-paper-2: #f1e9d8;
	--nl-card: #fffdf8;
	--nl-ink: #2b2620;
	--nl-muted: #6b6155;
	--nl-navy: #1e3a5f;
	--nl-navy-dark: #14263f;
	--nl-gold: #a67c2e;
	--nl-burgundy: #7a1f2b;
	--nl-line: #e2d6bd;
	--nl-serif: "Lora", Georgia, "Times New Roman", serif;
	--nl-head: "Playfair Display", Georgia, "Times New Roman", serif;
	--nl-shadow: 0 1px 2px rgba(43, 38, 32, .08), 0 8px 24px rgba(43, 38, 32, .08);
	--nl-shadow-hover: 0 2px 4px rgba(43, 38, 32, .1), 0 14px 32px rgba(43, 38, 32, .16);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	background: var(--nl-paper) !important;
	color: var(--nl-ink);
	font-family: var(--nl-serif);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
::selection { background: var(--nl-navy); color: var(--nl-paper); }
#pagewrap, #body { background: transparent; }

h1, h2, h3, h4, h5, h6,
.widgettitle, .product_title {
	font-family: var(--nl-head);
	color: var(--nl-navy);
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.25;
}
h5 { font-weight: 600; }

a { color: var(--nl-navy); text-decoration-color: rgba(166, 124, 46, .55); text-underline-offset: .18em; transition: color .2s ease; }
a:hover { color: var(--nl-burgundy); }
:focus-visible { outline: 2px solid var(--nl-gold); outline-offset: 3px; border-radius: 2px; }

/* Logos are JPEGs with a white background: let the paper show through */
#site-logo img, #footer-logo img, .footer-widgets .wp-block-image img { mix-blend-mode: multiply; }

hr, .wp-block-separator {
	border: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--nl-line), transparent); opacity: 1;
}

/* ---------- Header & navigation ---------- */
#headerwrap {
	background: rgba(250, 246, 238, .96) !important;
	border-bottom: 1px solid var(--nl-line);
	box-shadow: 0 1px 0 #fff inset, 0 6px 20px rgba(43, 38, 32, .05);
	-webkit-backdrop-filter: saturate(1.2) blur(6px);
	backdrop-filter: saturate(1.2) blur(6px);
}
#headerwrap .top-bar-widgets { background: var(--nl-navy); color: var(--nl-paper); }
#main-nav > li > a {
	font-family: var(--nl-serif);
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nl-navy);
	position: relative;
	transition: color .2s ease;
}
#main-nav > li > a::after {
	content: ""; position: absolute; left: 50%; right: 50%; bottom: .35em; height: 2px;
	background: var(--nl-gold); transition: left .25s ease, right .25s ease;
}
#main-nav > li:hover > a, #main-nav > li.current-menu-item > a, #main-nav > li.current_page_item > a { color: var(--nl-burgundy); }
#main-nav > li:hover > a::after, #main-nav > li.current-menu-item > a::after, #main-nav > li.current_page_item > a::after { left: .9em; right: .9em; }

#main-nav .sub-menu {
	background: var(--nl-card);
	border: 1px solid var(--nl-line);
	border-top: 3px solid var(--nl-gold);
	border-radius: 0 0 4px 4px;
	box-shadow: var(--nl-shadow);
}
#main-nav .sub-menu a { font-family: var(--nl-serif); color: var(--nl-ink); letter-spacing: .02em; }
#main-nav .sub-menu a:hover { color: var(--nl-burgundy); background: var(--nl-paper-2); }

.header-icons a, .icon-menu a { color: var(--nl-navy); }
.header-icons a:hover, .icon-menu a:hover { color: var(--nl-burgundy); }
.icon-menu-count { background: var(--nl-burgundy) !important; color: #fff !important; }

.shopdock, .tf_search_overlay { background: var(--nl-card); border-color: var(--nl-line); }
#searchform input[type="text"] { font-family: var(--nl-serif); color: var(--nl-navy); }

/* ---------- Page content ---------- */
.page-content h2, .themify_builder_content h2 {
	text-align: center;
	font-size: clamp(1.5rem, 2.4vw, 2.1rem);
	margin: 1.6em 0 1.1em;
	color: var(--nl-navy);
}
.themify_builder_content h2::after {
	content: "\2766"; /* floral heart */
	display: block; margin-top: .35em;
	font-size: .8em; color: var(--nl-gold); letter-spacing: 0;
}
.themify_builder_content h2 b { font-weight: 600; }
.module-image img, .module-image.bordered img { border-radius: 3px; }
.module-image.bordered .image-wrap { border: 0; }
.module-image .image-wrap img { box-shadow: var(--nl-shadow); }
.themify_builder_content h3.image-title a { text-decoration: none; }

/* ---------- Products (book cards) ---------- */
ul.products, .loops-wrapper.products { gap: 1.4rem; }
.loops-wrapper.products > li.product,
ul.products > li.product {
	background: var(--nl-card);
	border: 1px solid var(--nl-line);
	border-radius: 4px;
	padding: 1rem 1rem 1.1rem;
	box-shadow: var(--nl-shadow);
	text-align: center;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.loops-wrapper.products > li.product:hover,
ul.products > li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--nl-shadow-hover);
	border-color: var(--nl-gold);
}
li.product .product-image {
	background: var(--nl-paper-2);
	border-radius: 2px;
	padding: .8rem;
	margin: 0 0 .9rem;
	overflow: hidden;
}
li.product .product-image img {
	display: block; margin: 0 auto;
	border-radius: 1px;
	box-shadow: 2px 3px 0 rgba(43, 38, 32, .08), 0 8px 18px rgba(43, 38, 32, .22); /* a book on a shelf */
	transition: transform .35s ease;
}
li.product:hover .product-image img { transform: scale(1.03); }

li.product .woocommerce-loop-product__title {
	font-size: .98rem;
	line-height: 1.35;
	font-weight: 600;
	margin: 0 0 .5rem;
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
li.product .woocommerce-loop-product__title a { color: var(--nl-navy); text-decoration: none; }
li.product .woocommerce-loop-product__title a:hover { color: var(--nl-burgundy); }
li.product .price, .single-product .summary .price {
	display: block;
	color: var(--nl-burgundy);
	font-weight: 700;
	font-size: 1.15rem;
	margin-bottom: .7rem;
}
li.product .price del { color: var(--nl-muted); font-weight: 400; }
li.product .price ins { text-decoration: none; }

/* ---------- Buttons ---------- */
.button, a.button, button.button, input[type="submit"], input[type="button"], button[type="submit"],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.single_add_to_cart_button, .wc-block-components-button {
	background: var(--nl-navy);
	color: var(--nl-paper) !important;
	border: 1px solid var(--nl-navy);
	border-radius: 2px;
	font-family: var(--nl-serif);
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
	padding: .75em 1.4em;
	box-shadow: none;
	transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
.button:hover, a.button:hover, button.button:hover, input[type="submit"]:hover, button[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .single_add_to_cart_button:hover {
	background: var(--nl-burgundy);
	border-color: var(--nl-burgundy);
	color: #fff !important;
}
.button:active { transform: translateY(1px); }
li.product .add-to-cart-button { margin: 0 0 .4rem; }
a.added_to_cart { color: var(--nl-burgundy); font-style: italic; }

.wishlist-button, .quick-look { color: var(--nl-muted); }
.wishlist-button:hover, .quick-look:hover { color: var(--nl-burgundy); }

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"],
input[type="number"], textarea, select, .select2-container--default .select2-selection--single {
	background: var(--nl-card);
	border: 1px solid var(--nl-line);
	border-radius: 2px;
	color: var(--nl-ink);
	font-family: var(--nl-serif);
	transition: border-color .2s ease, box-shadow .2s ease;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--nl-gold) !important;
	box-shadow: 0 0 0 3px rgba(166, 124, 46, .18);
	outline: none;
}

/* ---------- Single product, cart, checkout ---------- */
.single-product div.product .product_title { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.single-product div.product .images img { border-radius: 2px; box-shadow: var(--nl-shadow); }
.woocommerce-tabs .tabs li a { font-family: var(--nl-serif); letter-spacing: .06em; text-transform: uppercase; font-size: .8rem; color: var(--nl-muted); }
.woocommerce-tabs .tabs li.active a { color: var(--nl-navy); }
.woocommerce-breadcrumb, .woocommerce-breadcrumb a { color: var(--nl-muted); font-size: .85rem; }
table.shop_table, .woocommerce table.shop_table { border: 1px solid var(--nl-line); border-radius: 4px; background: var(--nl-card); }
table.shop_table th, table.shop_table td { border-color: var(--nl-line); }
.woocommerce-message, .woocommerce-info { background: var(--nl-paper-2); border-top-color: var(--nl-gold); color: var(--nl-ink); }
.woocommerce-error { border-top-color: var(--nl-burgundy); }

/* pagination */
.woocommerce-pagination .page-numbers, .pagenav a, .pagenav span { font-family: var(--nl-serif); border-radius: 2px; }
.woocommerce-pagination .page-numbers.current, .pagenav .current { background: var(--nl-navy); color: var(--nl-paper); border-color: var(--nl-navy); }

/* ---------- Footer ---------- */
#footerwrap {
	background: var(--nl-paper-2);
	color: var(--nl-ink);
	border-top: 3px double var(--nl-gold);
	margin-top: 3rem;
}
#footerwrap .widgettitle, #footerwrap h4 {
	color: var(--nl-navy);
	font-size: .85rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	padding-bottom: .5rem;
	margin-bottom: .9rem;
	border-bottom: 1px solid var(--nl-line);
}
#footerwrap a { color: var(--nl-navy); text-decoration: none; }
#footerwrap a:hover { color: var(--nl-burgundy); text-decoration: underline; text-decoration-color: var(--nl-gold); }
#footerwrap p { margin-bottom: .5em; }
#footerwrap .footer-text, #footerwrap .footer-text a { color: var(--nl-muted); }

/* ---------- Small screens ---------- */
@media (max-width: 680px) {
	body { font-size: 16px; }
	.loops-wrapper.products > li.product { padding: .7rem .7rem .9rem; }
	li.product .woocommerce-loop-product__title { font-size: .9rem; }
	.button, a.button { padding: .7em 1em; letter-spacing: .08em; }
	#mobile-menu { background: var(--nl-paper); }
	#mobile-menu a { color: var(--nl-navy); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- No heavy borders on page-builder blocks ----------
   Themify generates per-block borders (e.g. 2px dark red) that fight the new look. */
.themify_builder_content .module_row,
.themify_builder_content .module_column,
.themify_builder_content .module_subrow,
.themify_builder_content .module {
	border: 0 !important;
}
.themify_builder_content .module-image,
.themify_builder_content .module-text,
.themify_builder_content .module-plain-text { border-radius: 4px; }
/* =====================================================================
   v2 - one typeface system, equal-height book cards, visible cart button
   ===================================================================== */

/* ---------- Typography: two faces only ----------
   Themify and the page builder set fonts per block (and inline in the content), so this is forced. */
body,
body :is(div, p, ul, ol, li, dl, dt, dd, table, th, td, form, label, input, button, textarea, select,
         blockquote, figcaption, nav, section, article, aside, header, footer, main, address, pre) {
	font-family: var(--nl-serif) !important;
}
body :is(h1, h2, h3, h4, h5, h6, .widgettitle, .module-title, .entry-title, .page-title, .tb_title) {
	font-family: var(--nl-head) !important;
}
/* inline elements follow whatever they sit in (keeps heading spans in the heading face) */
body :is(span, a, b, strong, em, i, u, small, mark, bdi, font, cite, sub, sup, abbr):not(.star-rating):not([class*="fa-"]):not(.tf_fa) {
	font-family: inherit !important;
}
/* inline font-size overrides pasted into the content */
.themify_builder_content .tb_text_wrap p,
.themify_builder_content .tb_text_wrap li { font-size: 1rem !important; line-height: 1.7 !important; }
.themify_builder_content .tb_text_wrap :is(span, b, strong, em, a) { font-size: inherit !important; }
.themify_builder_content h3 { font-size: clamp(1.2rem, 1.8vw, 1.5rem) !important; }
.themify_builder_content h4 { font-size: 1.15rem !important; }
.themify_builder_content h5 { font-size: 1.05rem !important; }
/* bold via weight, not a different face */
b, strong { font-weight: 700; }

/* ---------- Product grid: equal-height cards ----------
   The theme floats fixed-width <li>s, so uneven cards leave ragged rows. Use a real grid. */
.woocommerce ul.loops-wrapper.products,
ul.loops-wrapper.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 1.5rem;
	align-items: stretch;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}
ul.loops-wrapper.products::before, ul.loops-wrapper.products::after { display: none !important; content: none !important; }
.woocommerce ul.loops-wrapper.products > li.product,
ul.loops-wrapper.products > li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	clear: none !important;
	position: relative;
	display: flex;
	flex-direction: column;
	text-align: center;
}

/* cover: same box for every book, whatever its proportions */
body ul.products li.product .product-image {
	flex: 0 0 auto;
	aspect-ratio: 2 / 3;
	margin: 0 0 1rem;
	padding: .9rem;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(ellipse at 50% 30%, #f8f2e4, var(--nl-paper-2));
}
body ul.products li.product .product-image > a {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
}
body ul.products li.product .product-image img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain;
	margin: 0 auto;
}

/* text block fills the rest; price + button pinned to the bottom so every card lines up */
body ul.products li.product .product-content,
body ul.products li.product .product-content-inner-wrapper,
body ul.products li.product .product-content-inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	position: static;
	background: none;
	padding: 0;
	margin: 0;
	width: 100%;
	box-shadow: none;
}
body ul.products li.product .woocommerce-loop-product__title {
	flex: 0 0 auto;
	min-height: 4.05em;              /* room for 3 lines, always */
	margin: 0 0 .6rem !important;
	font-family: var(--nl-serif) !important;
	font-size: .95rem !important;
	font-weight: 600;
	line-height: 1.35;
}
body ul.products li.product .price {
	margin: auto 0 .8rem !important;  /* auto = pinned toward the bottom */
	font-family: var(--nl-serif) !important;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--nl-burgundy);
}
body ul.products li.product .price .woocommerce-Price-currencySymbol { margin-left: .1em; }

/* ---------- Add to cart: always visible (the theme hides it until hover) ---------- */
body.woocommerce ul.products li.product .button,
body ul.products li.product .button,
body ul.products li.product .add-to-cart-button .button {
	opacity: 1 !important;
	visibility: visible !important;
	transition: background .2s ease, border-color .2s ease, transform .15s ease;
}
body ul.products li.product .add-to-cart-button {
	display: block !important;
	margin: 0 0 .2rem !important;
	width: 100%;
}
body ul.products li.product .add-to-cart-button a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	width: 100%;
	box-sizing: border-box;
	padding: .8em .6em;
	background: var(--nl-navy);
	border: 1px solid var(--nl-navy);
	border-radius: 3px;
	color: var(--nl-paper) !important;
	font-family: var(--nl-serif) !important;
	font-size: .88rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
	line-height: 1.2;
	white-space: normal;
	box-shadow: 0 2px 0 var(--nl-navy-dark);
}
body ul.products li.product .add-to-cart-button a.button::before {
	content: "";
	flex: 0 0 1.05em;
	height: 1.05em;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23faf6ee' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a1 1 0 0 0 1 .8h9.6a1 1 0 0 0 1-.8L21 7H6'/%3E%3C/svg%3E");
}
body ul.products li.product .add-to-cart-button a.button:hover,
body ul.products li.product .add-to-cart-button a.button:focus-visible {
	background: var(--nl-burgundy);
	border-color: var(--nl-burgundy);
	box-shadow: 0 2px 0 #56141d;
	transform: translateY(-1px);
}
body ul.products li.product .add-to-cart-button a.button.loading { opacity: .7 !important; }
body ul.products li.product .add-to-cart-button a.button.added::before { content: "\2713"; background: none; color: #fff; font-weight: 700; }
body ul.products li.product a.added_to_cart {
	display: block; margin-top: .4rem; font-size: .85rem; font-style: italic; color: var(--nl-burgundy);
}

/* ---------- Wishlist / quick look icons (revealed on hover over the cover) ---------- */
body ul.products li.product .product-share-wrap {
	top: 22%;
	display: flex; justify-content: center; gap: .5rem;
	pointer-events: none;
}
body ul.products li.product .product-share-wrap > * { pointer-events: auto; }
body ul.products li.product .product-share-wrap :is(.quick-look, .wishlist-button, .share-button) {
	width: 38px; height: 38px; line-height: 38px;
	border-radius: 50%;
	background: rgba(255, 253, 248, .95);
	border: 1px solid var(--nl-gold);
	color: var(--nl-navy);
	box-shadow: 0 3px 10px rgba(43, 38, 32, .22);
	display: inline-flex; align-items: center; justify-content: center;
}
body ul.products li.product .product-share-wrap :is(.quick-look, .wishlist-button, .share-button):hover {
	background: var(--nl-navy); color: var(--nl-paper); border-color: var(--nl-navy);
}

/* ---------- Small screens ---------- */
@media (max-width: 680px) {
	.woocommerce ul.loops-wrapper.products, ul.loops-wrapper.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .8rem;
	}
	body ul.products li.product .product-image { padding: .5rem; }
	body ul.products li.product .woocommerce-loop-product__title { font-size: .85rem !important; }
	body ul.products li.product .add-to-cart-button a.button { font-size: .8rem; padding: .75em .4em; }
	body ul.products li.product .add-to-cart-button a.button::before { display: none; }
	/* no hover on touch screens: keep the icons out of the way */
	body ul.products li.product .product-share-wrap { display: none; }
}

/* =====================================================================
   v3 - header fit, calm page-builder blocks, lining numerals, builder buttons
   ===================================================================== */

/* Playfair defaults to old-style figures (04, 17h30 dip below the line): use lining ones */
h1, h2, h3, h4, h5, h6, .widgettitle { font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; }
.themify_builder_content :is(h1, h2, h3, h4, h5, h6) { color: var(--nl-navy) !important; }

/* ---------- Header: menu must never run into the icons ---------- */
#main-nav > li > a {
	font-size: .76rem;
	letter-spacing: .07em;
	padding-left: .55em;
	padding-right: .55em;
}
@media (max-width: 1260px) {
	#main-nav > li > a { font-size: .72rem; letter-spacing: .03em; padding-left: .4em; padding-right: .4em; }
}

/* ---------- Page-builder blocks ----------
   Themify paints each row/column/module with its own colour (pale blue #e3eaeb, cyan, green, white).
   Neutralise them so the page sits on the paper background. */
.themify_builder_content :is(.module_row, .module_column, .module_subrow, .module) {
	background-color: transparent !important;
}
/* two homepage bands get a warm tint instead of blue-grey, to keep some rhythm */
.themify_builder_content .tb_qdgv485,
.themify_builder_content .tb_44ks630 {
	background-color: var(--nl-paper-2) !important;
	border-top: 1px solid var(--nl-line) !important;
	border-bottom: 1px solid var(--nl-line) !important;
}
/* notices / boxed text that were meant to stand out: a real card, with padding */
.themify_builder_content .tb_0j3d323,
.themify_builder_content .tb_ozm0536,
.themify_builder_content .tb_lmb829 {
	background-color: var(--nl-card) !important;
	border: 1px solid var(--nl-line) !important;
	border-left: 3px solid var(--nl-gold) !important;
	border-radius: 4px;
	padding: 1rem 1.4rem !important;
	box-shadow: var(--nl-shadow);
}
.themify_builder_content .tb_0j3d323 h5 { margin: 0; color: var(--nl-navy) !important; font-style: italic; font-weight: 500; }
/* breathing room between stacked columns/sub-columns */
.themify_builder_content .module_subrow > .module_column,
.themify_builder_content .row_inner > .module_column { padding-top: .25rem; padding-bottom: .25rem; }
.themify_builder_content .tb_text_wrap > :last-child { margin-bottom: 0; }

/* page-builder buttons ("DÉCOUVRIR"...) */
.themify_builder_content :is(a.ui.builder_button, .module-buttons a.ui, .module-buttons .ui) {
	background: var(--nl-navy) !important;
	border: 1px solid var(--nl-navy) !important;
	border-radius: 3px !important;
	color: var(--nl-paper) !important;
	font-family: var(--nl-serif) !important;
	font-size: .85rem !important;
	font-weight: 600 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	box-shadow: 0 2px 0 var(--nl-navy-dark);
	transition: background .2s ease, transform .15s ease;
}
.themify_builder_content :is(a.ui.builder_button, .module-buttons a.ui):hover {
	background: var(--nl-burgundy) !important;
	border-color: var(--nl-burgundy) !important;
	transform: translateY(-1px);
}

/* header: enough room for logo + menu + icons on 1200-1440px screens */
@media (min-width: 1025px) {
	#site-logo img.site-logo-image { height: 44px !important; width: auto !important; }
	#main-nav { padding-left: 12px; }
	#main-nav > li > a { font-size: .72rem; letter-spacing: .04em; padding-left: .42em; padding-right: .42em; }
	#main-nav a { margin-right: .05em; }
}

/* book cards: no frame around covers, brand colours for title and price (theme rules were winning) */
body ul.products li.product .product-image img,
body .single-product div.product .images img,
body .woocommerce-product-gallery img { border: 0 !important; outline: 0 !important; }
body ul.products li.product .woocommerce-loop-product__title a { color: var(--nl-navy) !important; font-weight: 600; }
body ul.products li.product .woocommerce-loop-product__title a:hover { color: var(--nl-burgundy) !important; }
body ul.products li.product .price,
body ul.products li.product .price .amount,
body .single-product div.product .summary .price { color: var(--nl-burgundy) !important; }

/* The cover scans carry a ~7px dark-red frame baked into the image files.
   Trim the outer edge in the cards (the files are untouched); shadow moves to the link so it isn't clipped. */
body ul.products li.product .product-image img {
	clip-path: inset(1.1% 1.9%);
	box-shadow: none !important;
}
body ul.products li.product .product-image > a {
	filter: drop-shadow(2px 4px 5px rgba(43, 38, 32, .28));
}
