/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* The Blog archive's default sidebar (Categorii / Articole recente) renders
   as an orphaned element directly under <body>, disconnected from the page
   grid — a large blank gap above it, then it stretches full width below the
   post grid instead of sitting alongside it. The same info is already
   visible on the post cards, so it's simplest and safest to hide it outright
   rather than patch a broken template structure. */
body.blog .sidebar-container,
body > .sidebar-container {
	display: none !important;
}

/* ==========================================================================
   ROST CAFE — minimalist black & white redesign
   ========================================================================== */

:root {
	--rost-bg: #FEFCF2;
	--rost-fg: #191715;
	--rost-green: #0B4C3A;
	--rost-font-display: 'Archivo', sans-serif;
	--rost-font-mono: 'Space Mono', monospace;
}

body,
body.woocommerce-page,
.whb-header,
.wd-header-wrapper,
#footer,
.footer-bottom {
	background-color: var(--rost-bg) !important;
	color: var(--rost-fg) !important;
}

body,
p,
li,
label,
input,
select,
textarea,
.wd-entities-title,
.wd-nav > li > a,
.woodmart-breadcrumbs,
.wd-breadcrumbs {
	color: var(--rost-fg);
}

h1, h2, h3, h4, h5, h6,
.wd-entities-title,
.product_title,
.section-title-inner,
.rost-label-block__title {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: -0.01em;
	color: var(--rost-fg);
}

a {
	color: var(--rost-fg);
}

a:hover {
	color: var(--rost-fg);
	opacity: 0.6;
}

.button,
button,
input[type="submit"],
.wc-block-components-button,
.added_to_cart {
	background-color: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	border-radius: 0 !important;
	border-color: var(--rost-fg) !important;
	font-family: var(--rost-font-mono);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ==========================================================================
   Shop grid / product card — "coffee bag label"
   ========================================================================== */

.wd-hover-icons .product-wrapper {
	background: var(--rost-bg);
	border: 1px solid var(--rost-fg);
	border-radius: 0;
	overflow: hidden;
	height: 100%;
}

/*
 * The shop grid is CSS Grid with align-items:flex-start by default, so each
 * card is only as tall as its own content — titles/notes of different
 * lengths (1 vs 2 lines) leave the black detail boxes at different heights
 * and the price lines don't sit flush across a row. Stretching grid items to
 * the row's tallest card, then pinning the price to the bottom of the detail
 * box with margin-top:auto, keeps every price aligned regardless of how much
 * text a given product's title/notes wrap to.
 */
.products.wd-products {
	align-items: stretch;
}

.wd-hover-icons .rost-label-block {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wd-hover-icons .rost-label-block__price {
	margin-top: auto;
}

.wd-hover-icons .product-element-top {
	border-bottom: 1px solid var(--rost-fg);
	background: var(--rost-bg);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

/*
 * Card images are only visually consistent when every source photo happens
 * to be pre-cropped square — one product with a portrait photo (e.g. a
 * WooCommerce-generated 430x619 thumbnail) is enough to throw off that
 * card's height and misalign the whole grid row. Forcing a square crop here
 * makes the grid resilient to whatever aspect ratio a future product photo
 * comes in at.
 */
.wd-hover-icons .product-element-top img,
.wd-hover-icons .product-element-top .product-image-link {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
 * Out-of-stock products: desaturated photo + dimmed card, so they read as
 * clearly unavailable at a glance in the grid, without disappearing from
 * the listing entirely.
 */
.wd-product.outofstock .product-element-top img {
	filter: grayscale(1) contrast(0.92) brightness(1.04);
	opacity: 0.55;
}

.wd-product.outofstock .product-element-top::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(254, 252, 242, 0.28);
	pointer-events: none;
}

.wd-product.outofstock .rost-label-block {
	background: #3a3733;
}

.wd-product.outofstock .rost-label-block__title {
	color: #c9c4b8 !important;
}

.wd-product.outofstock .rost-label-block__specs {
	border-color: rgba(169, 163, 150, 0.35);
}

.wd-product.outofstock .rost-label-block__key {
	color: #7d786e;
}

.wd-product.outofstock .rost-label-block__val {
	color: #a9a396;
}

.wd-product.outofstock .rost-label-block__price {
	color: #7d786e;
	text-decoration: line-through;
	text-decoration-color: #7d786e;
}

.wd-hover-icons .product-labels .attribute-label {
	display: none !important;
}

/* "Coming soon" — a product tagged "in-curand". Same card shape as
   out-of-stock (which it usually also is, stock-wise) but deliberately the
   opposite mood: full-colour photo instead of desaturated, green instead
   of black, no strikethrough price. Wins over the outofstock treatment
   above wherever the two would otherwise clash. */
.product-wrapper.rost-coming-soon .product-element-top img {
	filter: none !important;
	opacity: 1 !important;
}

.product-wrapper.rost-coming-soon .product-element-top::after {
	content: none !important;
}

.product-wrapper.rost-coming-soon .rost-label-block {
	background: var(--rost-fg) !important;
}

.product-wrapper.rost-coming-soon .rost-label-block__title {
	color: var(--rost-bg) !important;
}

.product-wrapper.rost-coming-soon .rost-label-block__specs {
	border-color: rgba(254, 252, 242, 0.35) !important;
}

.product-wrapper.rost-coming-soon .rost-label-block__key {
	color: #a9a396 !important;
}

.product-wrapper.rost-coming-soon .rost-label-block__val {
	color: var(--rost-bg) !important;
}

.product-wrapper.rost-coming-soon .wd-add-btn {
	display: none !important;
}

.rost-coming-soon-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	background: var(--rost-green);
	color: var(--rost-bg);
	font-family: var(--rost-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 5px 9px;
}

.rost-coming-soon-line {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #7fd9b6;
}

.rost-coming-soon-line--single {
	display: block;
	font-size: 16px;
	font-weight: 700;
	margin: 14px 0 10px;
}

.product-wrapper.rost-coming-soon .product-labels .out-of-stock.product-label {
	display: none !important;
}

.wd-hover-icons .product-labels .out-of-stock.product-label {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	font-family: var(--rost-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 5px 9px;
	border-radius: 0 !important;
}

.wd-hover-icons .wd-action-btn,
.wd-hover-icons .wd-action-btn a,
.wd-hover-icons .wd-add-btn a {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	border-radius: 0 !important;
}

.rost-label-block {
	background: var(--rost-fg);
	color: var(--rost-bg);
	padding: 16px 18px 18px;
	font-family: var(--rost-font-mono);
}

.rost-label-block__title {
	font-size: 16px;
	line-height: 1.2;
	text-transform: uppercase;
	margin: 0 0 10px;
	color: var(--rost-bg) !important;
	min-height: calc(1.2em * 2);
}

.rost-label-block__specs {
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.02em;
	border-top: 1px dashed rgba(254, 252, 242, 0.35);
	border-bottom: 1px dashed rgba(254, 252, 242, 0.35);
	padding: 10px 0;
	margin-bottom: 14px;
}

.rost-label-block__row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.rost-label-block__key {
	color: rgba(254, 252, 242, 0.55);
	text-transform: uppercase;
	flex-shrink: 0;
}

.rost-label-block__val {
	color: var(--rost-bg);
	text-align: right;
	text-transform: uppercase;
}

/* "Note" is always the last row and the only one long enough to wrap —
   reserving 2 lines for it keeps the dashed divider (and everything below
   it) at the same height across cards, whether a product's notes wrap to
   one line or two. */
.rost-label-block__row:last-child .rost-label-block__val {
	line-height: 1.35;
	min-height: calc(1.35em * 3);
}

.rost-label-block__price {
	font-family: var(--rost-font-mono);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	color: var(--rost-bg);
}

.rost-label-block__price .woocommerce-Price-amount {
	font-family: var(--rost-font-mono);
	color: var(--rost-bg);
}

.rost-label-block__price del .woocommerce-Price-amount {
	color: rgba(254, 252, 242, 0.5);
}

.rost-label-block__price ins {
	text-decoration: none;
}

/* ==========================================================================
   Site header
   ========================================================================== */

.rost-note {
	text-align: center;
	font-family: var(--rost-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 8px;
	background: var(--rost-fg);
	color: var(--rost-bg);
}

.rost-note--offer {
	background: var(--rost-green);
}

.rost-header {
	border-bottom: 1px solid var(--rost-fg);
	background: var(--rost-bg);
}

.rost-header__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 12px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.rost-logo {
	display: block;
	line-height: 0;
}

.rost-logo img {
	height: 60px;
	width: auto;
	display: block;
}

.rost-nav__list {
	display: flex;
	gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--rost-font-mono);
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.rost-nav__list a {
	color: var(--rost-fg) !important;
	text-decoration: none;
}

.rost-nav__list a:hover {
	opacity: 0.6;
}

.rost-header__actions {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
}

.rost-icon-link,
.rost-cart {
	color: var(--rost-fg) !important;
	text-decoration: none;
	text-transform: uppercase;
}

.rost-lang .glink,
.rost-lang select {
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
	color: var(--rost-fg) !important;
}

.rost-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 26px;
	height: 20px;
	background: none !important;
	border: none !important;
	cursor: pointer;
	padding: 0;
}

.rost-burger span {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--rost-fg) !important;
}

.rost-mobile-nav {
	position: fixed;
	inset: 0;
	background: var(--rost-bg);
	z-index: 9999;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	padding: 40px;
}

.rost-mobile-nav.is-open {
	display: flex;
}

.rost-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 22px;
	font-family: var(--rost-font-display);
	font-weight: 800;
	font-size: 28px;
	text-transform: uppercase;
}

.rost-mobile-nav__list a {
	color: var(--rost-fg) !important;
	text-decoration: none;
}

.rost-mobile-nav__foot {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 10px;
	font-family: var(--rost-font-mono);
	font-size: 12px;
	text-transform: uppercase;
}

.rost-mobile-nav__foot a {
	color: var(--rost-fg) !important;
	text-decoration: none;
}

body.rost-nav-open {
	overflow: hidden;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.rost-hero {
	max-width: 1080px;
	margin: 0 auto;
	padding: 90px 30px 70px;
	border-bottom: 1px solid var(--rost-fg);
}

.rost-hero__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin-bottom: 26px;
}

.rost-hero__title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 64px;
	line-height: 0.92;
	margin: 0 0 30px;
	letter-spacing: -0.02em;
	max-width: 820px;
	color: var(--rost-green);
}

.rost-hero__foot {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 30px;
	flex-wrap: wrap;
}

.rost-hero__foot p {
	font-size: 15.5px;
	line-height: 1.6;
	max-width: 380px;
	margin: 0;
	color: #4a453e;
	font-family: 'Inter', sans-serif;
}

.rost-btn {
	font-family: var(--rost-font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: var(--rost-fg);
	color: var(--rost-bg);
	padding: 15px 26px;
	text-decoration: none;
	white-space: nowrap;
	display: inline-block;
}

/* ==========================================================================
   Shop archive page head
   ========================================================================== */

.rost-shop-head {
	max-width: 1080px;
	margin: 0 auto;
	padding: 44px 30px 30px;
	border-bottom: 1px solid var(--rost-fg);
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 16px;
}

.rost-shop-head__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 10px;
}

.rost-shop-head__title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 44px;
	line-height: 1;
	margin: 0;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-shop-head__right {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.05em;
	color: #6b6459;
	display: flex;
	align-items: center;
	gap: 10px;
}

.rost-shop-head__right select,
.rost-shop-head__right .orderby {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	text-transform: uppercase;
	background: var(--rost-bg);
	color: var(--rost-fg);
	border: 1px solid var(--rost-fg);
	padding: 8px 10px;
	letter-spacing: 0.05em;
	border-radius: 0;
}

.rost-shop-head__right .woocommerce-ordering {
	margin: 0;
}

/* Shop archive grid: same 4-col bordered look as the homepage teaser, plus room before the schedule bar.
   Scoped to the shop/product-archive body class only, so it never touches the homepage's own [products] shortcode grid. */
body.woocommerce-shop .products.wd-products,
body.tax-product_cat .products.wd-products {
	max-width: 1080px;
	margin: 30px auto 60px !important;
	padding: 0 30px;
}

/* ==========================================================================
   Shop hub (category picker on the main shop page)
   ========================================================================== */

.rost-shop-hub {
	max-width: 1080px;
	margin: 0 auto;
	padding: 70px 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}

.rost-shop-hub__item {
	display: block;
	text-decoration: none;
	color: inherit;
}

.rost-shop-hub__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid var(--rost-fg);
	margin-bottom: 22px;
}

.rost-shop-hub__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* The coffee bag sits on the right side of the source photo — default
   center-crop favored the water glass instead. */
.rost-shop-hub__media--cafea img {
	object-position: 75% center;
	display: block;
}

.rost-shop-hub__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rost-bg);
}

.rost-shop-hub__media--empty span {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #b7b2a3;
}

.rost-shop-hub__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 10px;
}

.rost-shop-hub__title {
	font-family: var(--rost-font-display);
	font-weight: 900;
	font-size: 30px;
	line-height: 1;
	text-transform: uppercase;
	margin: 0 0 12px;
	letter-spacing: -0.01em;
	color: var(--rost-fg);
}

.rost-shop-hub__desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: #4a453e;
	margin: 0 0 24px;
	max-width: 34ch;
}

@media (max-width: 820px) {
	.rost-shop-hub {
		grid-template-columns: 1fr;
		gap: 44px;
		padding: 44px 30px;
	}
}

/* ==========================================================================
   Homepage shop teaser
   ========================================================================== */

.rost-section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 50px 30px 0;
	max-width: 1080px;
	margin: 0 auto;
}

.rost-section-head h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 700 !important;
	font-size: 20px;
	margin: 0;
	letter-spacing: -0.01em;
}

.rost-section-head span {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	color: #6b6459;
}

.rost-shop-teaser {
	max-width: 1080px;
	margin: 30px auto 0;
	padding: 0 30px 20px;
}

/* ==========================================================================
   Google reviews
   ========================================================================== */

.rost-reviews {
	max-width: 1080px;
	margin: 30px auto 0;
	padding: 0 30px 20px;
}

.rost-reviews .wp-gr {
	--btn-color: var(--rost-fg) !important;
	--star-color: var(--rost-fg) !important;
	--name-color: var(--rost-fg) !important;
	font-family: 'Inter', sans-serif !important;
}

.rost-reviews .grw-backgnd {
	background: var(--rost-bg) !important;
	border: 1px solid var(--rost-fg) !important;
}

.rost-reviews .grw-round,
.rost-reviews .grw-img,
.rost-reviews .grw-img-wrap {
	border-radius: 0 !important;
}

.rost-reviews .wp-google-powered,
.rost-reviews .wp-google-based,
.rost-reviews .wp-google-time,
.rost-reviews .wp-google-name {
	font-family: var(--rost-font-mono) !important;
	color: var(--rost-fg) !important;
}

.rost-reviews .wp-google-based,
.rost-reviews .wp-google-time {
	color: #6b6459 !important;
}

.rost-reviews .rpi-dot {
	background: #dcd8c8 !important;
	border-radius: 0 !important;
}

.rost-reviews .rpi-dot.active {
	background: var(--rost-fg) !important;
}

.rost-reviews .grw-prev,
.rost-reviews .grw-next {
	color: var(--rost-fg) !important;
	border-color: var(--rost-fg) !important;
	background: var(--rost-bg) !important;
	border-radius: 0 !important;
}

/* ==========================================================================
   Location / map
   ========================================================================== */

.rost-location {
	max-width: 1080px;
	margin: 30px auto 0;
	padding: 0 30px 20px;
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 1px;
	background: var(--rost-fg);
	border: 1px solid var(--rost-fg);
}

.rost-location__info {
	background: var(--rost-bg);
	padding: 32px 26px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.rost-location__info h3 {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 19px;
	margin: 0;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-location__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-family: var(--rost-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.02em;
}

.rost-location__k {
	font-size: 9.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b6459;
}

.rost-location__v {
	color: var(--rost-fg);
	line-height: 1.6;
}

.rost-location__map {
	position: relative;
	min-height: 360px;
	background: #dcd8c8;
}

.rost-location__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(1) contrast(1.08) brightness(0.97);
}

.rost-btn--outline {
	background: transparent !important;
	color: var(--rost-fg) !important;
	border: 1px solid var(--rost-fg);
	align-self: flex-start;
}

/* ==========================================================================
   Schedule bar
   ========================================================================== */

.rost-schedule {
	border-top: 1px solid var(--rost-fg);
	padding: 28px 30px;
	max-width: 1080px;
	margin: 60px auto 0;
}

.rost-schedule__msg {
	font-family: var(--rost-font-mono) !important;
	font-weight: 700 !important;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	color: var(--rost-fg);
}

/* ==========================================================================
   Footer
   ========================================================================== */

.rost-footer {
	padding: 30px;
	font-family: var(--rost-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.04em;
	color: #6b6459;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
}

.rost-footer a {
	color: #6b6459 !important;
	text-decoration: none;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 820px) {
	.rost-hero__title {
		font-size: 40px;
	}

	.rost-nav {
		display: none;
	}

	.rost-burger {
		display: flex;
	}

	.rost-header__actions .rost-lang,
	.rost-header__actions .rost-account {
		display: none;
	}

	.rost-hero__foot {
		flex-direction: column;
		align-items: flex-start;
	}

	.rost-location {
		grid-template-columns: 1fr;
	}

	.rost-location__map {
		min-height: 260px;
	}
}

/* ==========================================================================
   Brewing methods page (Metode de preparare)
   ========================================================================== */

.rost-brew-head {
	max-width: 1080px;
	margin: 0 auto;
	padding: 44px 30px 30px;
	border-bottom: 1px solid var(--rost-fg);
}

.rost-brew-head .rost-brew-eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 10px;
}

.rost-brew-head h1 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 44px;
	line-height: 1;
	margin: 0 0 16px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-brew-head p {
	font-size: 15px;
	line-height: 1.6;
	max-width: 520px;
	color: #4a453e;
	margin: 0;
	font-family: 'Inter', sans-serif;
}

.rost-brew-jump {
	max-width: 1080px;
	margin: 0 auto;
	padding: 20px 30px;
	border-bottom: 1px solid var(--rost-fg);
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.rost-brew-jump a {
	font-family: var(--rost-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--rost-fg);
	padding: 7px 12px;
	color: var(--rost-fg) !important;
}

/* Outer wrapper carries the page's usual 30px side gutter as transparent
   padding; .rost-brew-grid carries the black background used to fake thin
   1px lines between cards. Padding and that background used to be on the
   same element, which made the gutter render as a solid black bar instead
   of a hairline (very visible on mobile, where 30px is a big share of the
   viewport). */
.rost-brew-grid-outer {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 30px;
	box-sizing: border-box;
}

.rost-brew-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: var(--rost-fg);
	border: 1px solid var(--rost-fg);
	border-top: none;
	margin-bottom: 60px;
}

.rost-brew-card {
	background: var(--rost-bg);
	display: flex;
	flex-direction: column;
}

.rost-brew-artwork {
	aspect-ratio: 16 / 6;
	border-bottom: 1px solid var(--rost-fg);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 14px 14px 20px;
	background: #faf7ea;
}

.rost-brew-artwork img {
	width: auto;
	height: 130px;
	max-width: 70%;
	object-fit: contain;
	display: block;
}

.rost-brew-body {
	padding: 22px 26px 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.rost-brew-card h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 20px;
	margin: 0 0 14px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-brew-specs {
	list-style: none;
	margin: 0 0 16px;
	padding: 14px 0;
	border-top: 1px dashed #dcd8c8;
	border-bottom: 1px dashed #dcd8c8;
	font-family: var(--rost-font-mono);
	font-size: 12px;
	line-height: 1.9;
	color: #3a3630;
}

.rost-brew-specs li {
	padding-left: 14px;
	position: relative;
}

.rost-brew-specs li::before {
	content: "—";
	position: absolute;
	left: 0;
	color: #6b6459;
}

.rost-brew-result {
	font-family: var(--rost-font-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	color: var(--rost-fg);
	font-weight: 700;
	margin-top: auto;
}

.rost-brew-result span {
	color: #6b6459;
	font-weight: 400;
}

.rost-brew-tips {
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 30px;
	background: var(--rost-fg);
	color: var(--rost-bg);
}

.rost-brew-tips .rost-brew-eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #a9a396;
	margin-bottom: 20px;
}

.rost-brew-tips-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 40px;
}

.rost-brew-tip {
	font-family: var(--rost-font-mono);
	font-size: 12.5px;
	line-height: 1.7;
}

.rost-brew-tip b {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 14px;
	text-transform: uppercase;
	display: block;
	margin-bottom: 4px;
	letter-spacing: -0.005em;
	color: var(--rost-bg);
}

.rost-brew-tip span {
	color: #c9c4b7;
}

@media (max-width: 820px) {
	.rost-brew-grid {
		grid-template-columns: 1fr;
	}

	.rost-brew-tips-grid {
		grid-template-columns: 1fr;
	}

	.rost-brew-head h1 {
		font-size: 32px;
	}
}

/* ==========================================================================
   Poveste page
   ========================================================================== */

.rost-page-head {
	max-width: 1080px;
	margin: 0 auto;
	padding: 44px 30px 30px;
	border-bottom: 1px solid var(--rost-fg);
}

.rost-page-head--legal {
	max-width: 820px;
	padding-left: 24px;
	padding-right: 24px;
	border-bottom: none;
	padding-bottom: 0;
}

.rost-page-head--legal p {
	color: #6b6459;
	max-width: 640px;
	margin: 14px 0 0;
}

/* Legal pages (Privacy Policy, Terms) don't share one template: Privacy
   Policy is built on Elementor's blank "Canvas" template (content in
   .elementor), while the Complianz-generated Terms page uses the normal
   default page template (content in .entry-content) but was still rendering
   full-bleed in the browser's raw default font — neither inherits the
   theme's own content container/typography, clashing with the rest of the
   site. */
body.privacy-policy .elementor,
body.page-id-30399 .entry-content {
	max-width: 820px !important;
	margin: 0 auto !important;
	padding: 10px 24px 80px !important;
	font-family: var(--rost-font-display), sans-serif;
	color: var(--rost-fg);
	line-height: 1.7;
}

body.privacy-policy .elementor h1,
body.privacy-policy .elementor h2,
body.privacy-policy .elementor h3,
body.privacy-policy .elementor h4,
body.privacy-policy .elementor h5,
body.page-id-30399 .entry-content h1,
body.page-id-30399 .entry-content h2,
body.page-id-30399 .entry-content h3,
body.page-id-30399 .entry-content h4,
body.page-id-30399 .entry-content h5 {
	font-family: var(--rost-font-display), sans-serif;
	font-weight: 800;
	color: var(--rost-fg);
	margin: 34px 0 12px;
}

body.privacy-policy .elementor h5,
body.page-id-30399 .entry-content h5 {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b6459;
	margin-top: 0;
}

body.privacy-policy .elementor p,
body.privacy-policy .elementor li,
body.page-id-30399 .entry-content p,
body.page-id-30399 .entry-content li {
	font-size: 15px;
}

body.privacy-policy .elementor a,
body.page-id-30399 .entry-content a {
	color: var(--rost-green);
	text-decoration: underline;
}

body.privacy-policy .elementor ol.wp-block-list,
body.page-id-30399 .entry-content ol.wp-block-list {
	padding-left: 20px;
}

.rost-page-head__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 10px;
}

.rost-page-head h1 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 44px;
	line-height: 1;
	margin: 0;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-ticker {
	background: var(--rost-fg);
	color: var(--rost-bg);
	overflow: hidden;
	white-space: nowrap;
	padding: 14px 0;
}

.rost-ticker__track {
	display: inline-block;
	font-family: var(--rost-font-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	animation: rost-scroll-left 28s linear infinite;
}

.rost-ticker__track span {
	margin: 0 22px;
}

.rost-ticker__dot {
	color: #6b6459;
}

@keyframes rost-scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.rost-ticker__track {
		animation: none;
	}
}

.rost-split {
	max-width: 1080px;
	margin: 0 auto;
	padding: 70px 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.rost-split--reverse .rost-split__media {
	order: 2;
}

.rost-split--reverse .rost-split__text {
	order: 1;
}

.rost-split__media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid var(--rost-fg);
}

.rost-split__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rost-split__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 14px;
}

.rost-split__text h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 34px;
	line-height: 1.02;
	margin: 0 0 22px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-split__text p {
	font-size: 15.5px;
	line-height: 1.65;
	color: #3a3630;
	margin: 0 0 18px;
	font-family: 'Inter', sans-serif;
}

.rost-split__text p:last-child {
	margin-bottom: 0;
}

.rost-split__text mark {
	background: var(--rost-fg);
	color: var(--rost-bg);
	padding: 1px 6px;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	font-weight: 600;
}

@media (max-width: 820px) {
	.rost-page-head h1 {
		font-size: 32px;
	}

	.rost-split {
		grid-template-columns: 1fr;
		gap: 30px;
		padding: 50px 30px;
	}

	.rost-split--reverse .rost-split__media {
		order: 1;
	}

	.rost-split--reverse .rost-split__text {
		order: 2;
	}

	.rost-split__media {
		aspect-ratio: 16 / 10;
	}

	.rost-split__text h2 {
		font-size: 26px;
	}
}

/* ==========================================================================
   Cafenea (menu) page
   ========================================================================== */

.rost-page-head p {
	font-size: 15px;
	line-height: 1.6;
	max-width: 520px;
	color: #4a453e;
	margin: 16px 0 0;
	font-family: 'Inter', sans-serif;
}

.rost-menu {
	max-width: 1080px;
	margin: 50px auto 0;
	padding: 0 30px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1px;
	background: var(--rost-fg);
	border: 1px solid var(--rost-fg);
}

.rost-menu__col {
	background: var(--rost-bg);
	display: flex;
	flex-direction: column;
}

.rost-menu__cat {
	padding: 34px 34px 8px;
}

.rost-menu__cat + .rost-menu__cat {
	border-top: 1px solid #dcd8c8;
}

.rost-menu__cat h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 22px;
	margin: 0 0 20px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-menu__item {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-family: var(--rost-font-mono);
	font-size: 13px;
	margin-bottom: 16px;
	color: var(--rost-fg);
}

.rost-menu__name {
	white-space: nowrap;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.rost-menu__name--sub {
	text-transform: none;
	color: #6b6459;
	font-size: 11.5px;
	padding-left: 14px;
}

.rost-menu__leader {
	flex: 1;
	border-bottom: 1px dotted #dcd8c8;
	margin-bottom: 3px;
}

.rost-menu__price {
	white-space: nowrap;
	font-weight: 700;
}

.rost-menu__badge {
	font-size: 8.5px;
	letter-spacing: 0.06em;
	border: 1px solid var(--rost-fg);
	padding: 2px 5px;
	margin-right: 6px;
	vertical-align: middle;
}

.rost-offer {
	max-width: 1080px;
	margin: 0 auto;
	padding: 60px 30px;
	background: var(--rost-fg);
	color: var(--rost-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 56px;
}

.rost-offer__stamp {
	flex-shrink: 0;
	width: 180px;
	height: 180px;
	border: 2px dashed var(--rost-bg);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: rotate(-6deg);
}

.rost-offer__num {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 64px;
	line-height: 0.85;
	letter-spacing: -0.02em;
	color: var(--rost-bg);
}

.rost-offer__stamp-sub {
	font-family: var(--rost-font-mono);
	font-size: 9px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #a9a396;
	margin-top: 6px;
}

.rost-offer__copy {
	flex: 0 1 440px;
}

.rost-offer__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #a9a396;
	margin-bottom: 10px;
}

.rost-offer__headline {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 38px;
	line-height: 1.05;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-bg);
	margin-bottom: 14px;
}

.rost-offer__line {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #d8d4c8;
	max-width: 440px;
	margin: 0;
}

.rost-offer__fine {
	font-family: var(--rost-font-mono);
	font-size: 10px;
	color: #8a8478;
	margin-top: 14px;
}

@media (max-width: 820px) {
	.rost-menu {
		grid-template-columns: 1fr;
	}

	.rost-offer {
		flex-direction: column;
		text-align: center;
		gap: 30px;
		padding: 50px 30px;
	}

	.rost-offer__line {
		max-width: 100%;
	}
}

/* ==========================================================================
   Contact page
   ========================================================================== */

.rost-team-wrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 30px;
	border-bottom: 1px solid var(--rost-fg);
}

.rost-team-wrap__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 26px;
}

.rost-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.rost-member {
	text-align: center;
}

.rost-member__photo {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid var(--rost-fg);
}

.rost-member__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rost-member__photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rost-fg);
}

.rost-member__photo--placeholder span {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 34px;
	color: var(--rost-bg);
}

.rost-member__name {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 15px;
	letter-spacing: -0.005em;
	margin-top: 14px;
	color: var(--rost-fg);
}

.rost-member__role {
	font-family: var(--rost-font-mono);
	font-size: 10px;
	color: #6b6459;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-top: 2px;
}

.rost-contact-split {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 30px;
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 1px;
	background: var(--rost-fg);
	border: 1px solid var(--rost-fg);
	border-top: none;
}

.rost-contact-info,
.rost-contact-form {
	background: var(--rost-bg);
}

.rost-contact-info {
	padding: 36px 30px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.rost-contact-info h2,
.rost-contact-form h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 16px;
	margin: 0 0 22px;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-contact-info h2 {
	margin-bottom: 0;
}

.rost-contact-info__row {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-family: var(--rost-font-mono);
	font-size: 12px;
}

.rost-contact-info__k {
	font-size: 9.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b6459;
}

.rost-contact-info__v {
	line-height: 1.6;
	color: var(--rost-fg);
}

.rost-contact-info__v a {
	text-decoration: underline;
	text-underline-offset: 2px;
	color: var(--rost-fg) !important;
}

.rost-contact-form {
	padding: 36px 34px;
}

.rost-contact-form .wpcf7-form p {
	margin: 0 0 16px;
}

.rost-contact-form .wpcf7-form label {
	display: block;
	font-family: var(--rost-font-mono);
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6459;
}

.rost-contact-form .wpcf7-form-control {
	width: 100%;
	border: 1px solid var(--rost-fg);
	background: var(--rost-bg);
	padding: 11px 12px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: var(--rost-fg);
	margin-top: 6px;
	border-radius: 0 !important;
}

.rost-contact-form textarea.wpcf7-form-control {
	resize: vertical;
	min-height: 100px;
}

.rost-contact-form .wpcf7-form-control:focus {
	outline: 2px solid var(--rost-fg);
	outline-offset: 1px;
}

.rost-contact-form .wpcf7-acceptance {
	display: block;
	font-family: var(--rost-font-mono);
	font-size: 10.5px;
	color: #6b6459;
	line-height: 1.5;
}

.rost-contact-form .wpcf7-list-item {
	margin-left: 0;
}

.rost-contact-form .wpcf7-submit {
	width: auto !important;
	margin-top: 4px;
}

.rost-faq {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 30px 20px;
}

.rost-faq__head {
	padding: 50px 0 26px;
}

.rost-faq__eyebrow {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #6b6459;
}

.rost-faq__head h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 26px;
	margin: 8px 0 0;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rost-fg);
}

.rost-faq details {
	border-top: 1px solid var(--rost-fg);
}

.rost-faq summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 4px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--rost-font-display) !important;
	font-weight: 700 !important;
	font-size: 15px;
	color: var(--rost-fg);
}

.rost-faq summary::-webkit-details-marker {
	display: none;
}

.rost-faq summary .rost-faq__icon {
	font-family: var(--rost-font-mono);
	font-size: 16px;
	flex-shrink: 0;
	margin-left: 16px;
}

.rost-faq details[open] summary .rost-faq__icon {
	transform: rotate(45deg);
	display: inline-block;
}

.rost-faq__answer {
	padding: 0 4px 20px;
	font-size: 14.5px;
	line-height: 1.65;
	color: #3a3630;
	max-width: 640px;
	white-space: pre-line;
	font-family: 'Inter', sans-serif;
}

@media (max-width: 820px) {
	.rost-team {
		grid-template-columns: repeat(2, 1fr);
		gap: 22px 16px;
	}

	.rost-contact-split {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Footer legal bar (ANPC / SOL)
   ========================================================================== */

.rost-legal {
	border-top: 1px solid var(--rost-fg);
	background: var(--rost-bg);
}

.rost-legal__inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 26px 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 24px;
}

.rost-legal__col {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rost-legal__company {
	font-family: var(--rost-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.03em;
	color: var(--rost-fg);
}

.rost-legal__brand {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	font-family: var(--rost-font-mono);
	font-size: 10px;
	letter-spacing: 0.03em;
	color: #6b6459;
}

.rost-legal__brand a {
	color: #6b6459 !important;
}

.rost-legal__badges {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.rost-legal__badge {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	border: 1px solid var(--rost-fg);
	padding: 10px 14px;
	text-decoration: none !important;
	min-width: 210px;
}

.rost-legal__badge-title {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 13px;
	letter-spacing: 0.02em;
	color: var(--rost-fg) !important;
}

.rost-legal__badge-sub {
	font-family: var(--rost-font-mono);
	font-size: 9px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #6b6459 !important;
	line-height: 1.4;
}

.rost-legal__badge-btn {
	font-family: var(--rost-font-mono);
	font-size: 9px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: var(--rost-fg);
	color: var(--rost-bg) !important;
	padding: 4px 9px;
	margin-top: 4px;
}

@media (max-width: 820px) {
	.rost-legal__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.rost-legal__badge {
		min-width: 0;
		width: 100%;
	}
}

/* ==========================================================================
   Cart page — restyles the native WooCommerce Cart block (wp-block-woocommerce-cart)
   ========================================================================== */

.rost-page-head--cart {
	border-bottom: none;
}

/*
 * The cart block is a React app: it wipes any markup spliced inside its own
 * DOM the moment it hydrates. So the continue-shopping link is a sibling of
 * the block, not a child — placed via this shell grid, which mirrors the
 * block's own 1fr/380px column split so it lines up under the items list
 * despite living outside it.
 */
.woocommerce-cart .rost-cart-shell {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 30px 60px;
	display: grid;
	grid-template-columns: 1fr 380px;
	column-gap: 56px;
	row-gap: 0;
	align-items: start;
}

.woocommerce-cart .rost-cart-shell > .wp-block-woocommerce-cart {
	grid-column: 1 / -1;
}

/*
 * The roasting note is independent of the items/totals columns — tying it to
 * the sidebar broke as soon as the item count made the items list taller than
 * the totals panel. It sits centered, full width of its own, below the shell.
 */
.rost-cart-note {
	width: calc(100% - 60px);
	max-width: 640px;
	margin: 0 auto 90px;
	border: 1px solid var(--rost-fg);
	padding: 20px 28px 28px;
	text-align: center;
}

.rost-cart-note__k {
	font-family: var(--rost-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 6px;
}

.rost-cart-note p {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--rost-fg);
	margin: 0;
	font-family: 'Inter', sans-serif;
}

.rost-continue-shopping {
	grid-column: 1;
	grid-row: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--rost-fg) !important;
	background: none !important;
	border: none !important;
	border-bottom: 1px solid var(--rost-fg) !important;
	padding: 0 0 2px !important;
	width: fit-content;
}

.woocommerce-cart .elementor-widget-alert {
	display: none !important;
}

.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 56px;
	align-items: start;
	margin-bottom: 0 !important;
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
}

/* ---- item rows ---- */

.woocommerce-cart .wc-block-cart-items {
	width: 100%;
	border-top: 1px solid var(--rost-fg);
	border-collapse: collapse;
}

.woocommerce-cart .wc-block-cart-items__header {
	display: none;
}

.woocommerce-cart .wc-block-cart-items__row {
	border-bottom: 1px solid #dcd8c8;
}

.woocommerce-cart .wc-block-cart-item__image {
	width: 120px;
	padding: 26px 24px 26px 0 !important;
	vertical-align: top;
}

.woocommerce-cart .wc-block-cart-item__image img {
	width: 96px !important;
	height: 96px !important;
	max-width: none !important;
	object-fit: contain;
	border: 1px solid var(--rost-fg);
	background: #fff;
	mix-blend-mode: multiply;
}

.woocommerce-cart .wc-block-cart-item__product {
	padding: 26px 0 !important;
	vertical-align: top;
}

.woocommerce-cart .wc-block-components-product-name {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	text-decoration: none !important;
	line-height: 1.2;
	display: inline-block;
	margin-bottom: 10px;
}

.woocommerce-cart .wc-block-cart-item__prices {
	display: none;
}

.woocommerce-cart .wc-block-components-product-details {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.woocommerce-cart .wc-block-components-product-details__name {
	display: none;
}

.woocommerce-cart .wc-block-components-product-details span[aria-hidden] {
	display: none;
}

.woocommerce-cart .wc-block-components-product-details > span {
	font-family: var(--rost-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border: 1px solid #dcd8c8;
	color: #6b6459;
	padding: 3px 7px;
}

.woocommerce-cart .wc-block-components-quantity-selector {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	height: 38px;
	box-shadow: none !important;
	display: inline-flex !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__input {
	font-family: var(--rost-font-mono) !important;
	font-size: 13px !important;
	color: var(--rost-fg) !important;
	width: 36px !important;
	height: 100% !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
	font-family: var(--rost-font-mono) !important;
	color: var(--rost-fg) !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	height: 100% !important;
	width: 34px !important;
	min-width: 34px !important;
	flex: 0 0 34px !important;
	padding: 0 !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button--minus {
	border-right: 1px solid var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button--plus {
	border-left: 1px solid var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	margin-top: 10px;
	background-color: transparent !important;
	color: #6b6459 !important;
	opacity: 1 !important;
	min-height: unset !important;
	padding: 0 !important;
	border: none !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link svg {
	width: 16px;
	height: 16px;
	fill: #6b6459;
}

.woocommerce-cart .wc-block-cart-item__total {
	padding: 26px 0 !important;
	vertical-align: top;
	text-align: right;
}

.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
	font-family: var(--rost-font-mono) !important;
	font-size: 16px;
	font-weight: 700;
	color: var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-cart__totals-title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--rost-fg) !important;
	margin: 0 0 22px !important;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--rost-fg);
}

/* ---- order summary sidebar ---- */

.woocommerce-cart .wc-block-cart__sidebar {
	border: 1px solid var(--rost-fg) !important;
	padding: 28px !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
	margin-bottom: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-shipping__via {
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px;
	color: #6b6459 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.woocommerce-cart .wc-block-components-totals-item__value {
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-components-totals-shipping__via {
	font-size: 10px;
}

.woocommerce-cart .wc-block-components-panel {
	margin: 18px 0;
	border-top: 1px solid #dcd8c8;
	border-bottom: 1px solid #dcd8c8;
}

.woocommerce-cart .wc-block-components-panel__button {
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rost-fg) !important;
	padding: 14px 0 !important;
}

.woocommerce-cart .wc-block-components-panel__button-icon {
	fill: var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
}

.woocommerce-cart .wc-block-components-totals-coupon__button {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	background: var(--rost-bg) !important;
	color: var(--rost-fg) !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 10.5px !important;
	text-transform: uppercase;
	box-shadow: none !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item {
	padding-top: 18px !important;
	border-top: 1px solid var(--rost-fg) !important;
	align-items: baseline !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 26px !important;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item-tax {
	font-size: 0 !important;
	margin: 0 0 22px !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item-tax::after {
	content: "Inclusiv TVA";
	font-family: var(--rost-font-mono);
	font-size: 10px;
	color: #6b6459;
}

.woocommerce-cart .wc-block-cart__submit-button {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 17px !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 0 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: none !important;
	text-decoration: none !important;
}

.woocommerce-cart .wc-block-cart__submit-button::after {
	content: "Finalizează comanda";
	font-size: 12px;
}

.woocommerce-cart .wc-block-cart__submit-button:hover {
	opacity: 0.88;
}

@media (max-width: 820px) {
	.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.woocommerce-cart .rost-cart-shell {
		grid-template-columns: 1fr;
		row-gap: 36px;
	}

	.rost-continue-shopping {
		grid-column: 1;
		grid-row: auto;
	}
}

/* ==========================================================================
   Shop grid — "quick shop" variation card
   ========================================================================== */

/*
 * Woodmart pins this overlay to exactly the product image's height (position:
 * absolute; inset:0) and clips overflow, so a variable product with two
 * attributes (gramaj + vreau) pushes "Adaugă în coș" below the fold and forces
 * an internal scroll. Letting the card grow past the image's bottom edge
 * keeps every field and the button visible without scrolling.
 */
.quick-shop-wrapper {
	bottom: auto !important;
	height: auto !important;
	max-height: none !important;
}

.wd-product.quick-shop-shown .product-element-top.wd-quick-shop {
	overflow: visible !important;
}

.quick-shop-wrapper .quick-shop-form {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

/* Quick-shop "Close" text button: plain black text, no fill, no underline —
   overrides the generic .wd-hover-icons .wd-action-btn black-pill treatment
   used for the wishlist/compare/quick-view icons (same specificity, so this
   must stay scoped through .wd-hover-icons too, not just .quick-shop-close). */
.wd-hover-icons .quick-shop-close,
.wd-hover-icons .quick-shop-close a {
	background: none !important;
}

.wd-hover-icons .quick-shop-close a {
	color: var(--rost-fg) !important;
	text-decoration: none !important;
	border-bottom: none !important;
}

/* ==========================================================================
   Cart drawer — slides in on header cart click / after add-to-cart
   ========================================================================== */

.rost-cart-drawer__overlay {
	position: fixed;
	inset: 0;
	background: rgba(25, 23, 21, 0.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s;
	z-index: 998;
}

.rost-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 420px;
	max-width: 90vw;
	background: var(--rost-bg);
	border-left: 1px solid var(--rost-fg);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	z-index: 999;
}

body.rost-cart-drawer-open {
	overflow: hidden;
}

body.rost-cart-drawer-open .rost-cart-drawer__overlay {
	opacity: 1;
	pointer-events: auto;
}

body.rost-cart-drawer-open .rost-cart-drawer {
	transform: translateX(0);
}

.rost-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px;
	border-bottom: 1px solid var(--rost-fg);
	flex-shrink: 0;
}

.rost-cart-drawer__head h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg);
	margin: 0;
}

.rost-cart-drawer__close {
	background: none;
	border: none;
	font-family: var(--rost-font-display);
	font-size: 26px;
	line-height: 1;
	color: var(--rost-fg);
	cursor: pointer;
	padding: 0;
}

.rost-cart-drawer__body {
	flex: 1;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.rost-cart-drawer .wd-scroll-content {
	max-height: none !important;
	overflow: visible !important;
}

.rost-cart-drawer .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rost-cart-drawer .mini_cart_item {
	position: relative;
	display: flex;
	gap: 16px;
	padding: 20px 24px;
	border-bottom: 1px solid #dcd8c8;
}

.rost-cart-drawer .cart-item-link.wd-fill {
	z-index: 1;
	font-size: 0;
	line-height: 0;
}

.rost-cart-drawer .cart-item-image {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border: 1px solid var(--rost-fg);
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.rost-cart-drawer .cart-item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.rost-cart-drawer .cart-info {
	position: relative;
	z-index: 2;
	flex: 1;
	pointer-events: none;
}

.rost-cart-drawer .wd-entities-title {
	display: block;
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg);
	margin-bottom: 8px;
	line-height: 1.3;
}

.rost-cart-drawer .mini_cart_item span.quantity {
	font-family: var(--rost-font-mono);
	font-size: 11.5px;
	color: #6b6459;
	display: block;
	margin-top: 8px;
}

/* Woodmart's native mini-cart quantity stepper (enabled via the
   mini_cart_quantity theme option) — <input type="button"> elements don't
   pick up the sitewide black-button rule, same as the single-product
   quantity control, so they need their own explicit reset here too. */
.rost-cart-drawer .mini_cart_item div.quantity {
	display: inline-flex;
	align-items: center;
	height: 28px;
	border: 1px solid var(--rost-fg);
	pointer-events: auto;
	position: relative;
	z-index: 3;
}

.rost-cart-drawer .mini_cart_item div.quantity .qty {
	width: 30px;
	height: 100%;
	border: none !important;
	text-align: center;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	color: var(--rost-fg);
	background: transparent !important;
	box-shadow: none !important;
	padding: 0;
}

.rost-cart-drawer .mini_cart_item div.quantity .minus,
.rost-cart-drawer .mini_cart_item div.quantity .plus {
	-webkit-appearance: none;
	appearance: none;
	width: 24px;
	height: 100%;
	border: none;
	background: transparent !important;
	color: var(--rost-fg) !important;
	font-family: var(--rost-font-mono);
	font-size: 12px;
	cursor: pointer;
	box-shadow: none !important;
	opacity: 1 !important;
	padding: 0;
}

.rost-cart-drawer .mini_cart_item div.quantity .minus {
	border-right: 1px solid var(--rost-fg);
}

.rost-cart-drawer .mini_cart_item div.quantity .plus {
	border-left: 1px solid var(--rost-fg);
}

.rost-cart-drawer .remove_from_cart_button {
	position: relative;
	z-index: 3;
	pointer-events: auto;
	flex-shrink: 0;
	align-self: flex-start;
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--rost-font-mono);
	font-size: 14px;
	color: #6b6459 !important;
	text-decoration: none !important;
	border: 1px solid #dcd8c8;
}

.rost-cart-drawer .remove_from_cart_button:hover {
	border-color: var(--rost-fg);
	color: var(--rost-fg) !important;
}

.rost-cart-drawer .woocommerce-mini-cart__empty-message {
	padding: 40px 24px;
	text-align: center;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #6b6459;
}

.rost-cart-drawer .shopping-cart-widget-footer {
	flex-shrink: 0;
	border-top: 1px solid var(--rost-fg);
	padding: 20px 24px 24px;
	margin-top: auto;
}

.rost-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-family: var(--rost-font-mono);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 16px;
	color: var(--rost-fg);
}

.rost-cart-drawer .woocommerce-mini-cart__total .amount {
	font-weight: 700;
	font-size: 16px;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons {
	display: flex;
	gap: 10px;
	margin: 0;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons .button {
	flex: 1;
	text-align: center;
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 10px !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons .btn-cart {
	background: rgba(25, 23, 21, 0.05) !important;
	color: var(--rost-fg) !important;
	border: 1px solid var(--rost-fg) !important;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons .btn-cart:hover {
	background: rgba(25, 23, 21, 0.1) !important;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons .checkout {
	background: var(--rost-green) !important;
	color: var(--rost-bg) !important;
	border: 1px solid var(--rost-green) !important;
}

.rost-cart-drawer .woocommerce-mini-cart__buttons .checkout:hover {
	opacity: 0.88;
}

@media (max-width: 480px) {
	.rost-cart-drawer {
		width: 100%;
		max-width: 100vw;
	}
}

/* ==========================================================================
   Checkout page — restyles the native WooCommerce Checkout block
   ========================================================================== */

.woocommerce-checkout .wp-block-woocommerce-checkout {
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 30px 90px !important;
}

.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 56px;
	align-items: start;
	margin-bottom: 0 !important;
}

.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar {
	width: auto !important;
	max-width: none !important;
	flex-basis: auto !important;
}

/* ---- form steps ---- */

.woocommerce-checkout .wc-block-components-checkout-step {
	border: none !important;
	border-bottom: 1px solid #dcd8c8 !important;
	padding: 0 0 32px !important;
	margin: 0 0 32px !important;
}

.woocommerce-checkout .wc-block-components-checkout-step__title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--rost-fg) !important;
	margin: 0 0 18px !important;
}

.woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
	font-family: 'Inter', sans-serif;
	font-size: 11.5px;
	color: #6b6459;
	margin: -6px 0 0;
}

/* text inputs — bordered box, label pinned above via reversed flex order */

.woocommerce-checkout .wc-block-components-text-input {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	padding: 14px 14px 8px !important;
	margin: 0 0 12px !important;
	display: flex !important;
	flex-direction: column-reverse !important;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-text-input label {
	position: static !important;
	transform: none !important;
	max-width: none !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 9px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6459 !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
}

.woocommerce-checkout .wc-block-components-text-input input {
	border: none !important;
	background: none !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	color: var(--rost-fg) !important;
	padding: 0 0 4px !important;
	box-shadow: none !important;
}

/* country / state selects */

.woocommerce-checkout .wc-blocks-components-select__container {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	padding: 14px 34px 8px 14px !important;
	position: relative;
	display: flex !important;
	flex-direction: column-reverse !important;
}

.woocommerce-checkout .wc-blocks-components-select__label {
	position: static !important;
	transform: none !important;
	max-width: none !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 9px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6459 !important;
	margin: 0 0 4px !important;
}

.woocommerce-checkout .wc-blocks-components-select__select {
	border: none !important;
	background: none !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 14px !important;
	color: var(--rost-fg) !important;
	padding: 0 !important;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-blocks-components-select__expand {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	fill: var(--rost-fg);
}

.woocommerce-checkout .wc-block-components-address-form .wc-blocks-components-select {
	margin: 0 0 12px !important;
}

/* pair fields into two-column rows, keep country/address full width */

.woocommerce-checkout .wc-block-components-address-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 12px;
}

.woocommerce-checkout .wc-block-components-address-form__email,
.woocommerce-checkout .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2 {
	grid-column: 1 / -1;
}

.woocommerce-checkout .wc-block-components-address-form__address-wrapper {
	grid-column: 1 / -1;
}

/* address "card" view (collapsed, read-only summary before editing) */

.woocommerce-checkout .wc-block-components-address-card {
	border: 1px solid var(--rost-fg);
	padding: 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
}

.woocommerce-checkout .wc-block-components-address-card__edit {
	font-family: var(--rost-font-mono) !important;
	font-size: 10.5px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: 1px solid var(--rost-fg);
	cursor: pointer;
	white-space: nowrap;
}

/* shipping method (Expediază / Ridicare) toggle cards */

.woocommerce-checkout .wc-block-checkout__shipping-method-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.woocommerce-checkout .wc-block-checkout__shipping-method-option {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	padding: 16px !important;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--rost-font-mono) !important;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	background: var(--rost-bg);
	color: var(--rost-fg);
}

.woocommerce-checkout .wc-block-checkout__shipping-method-option--selected {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
}

.woocommerce-checkout .wc-block-checkout__shipping-method-option-icon {
	width: 20px;
	height: 20px;
	fill: currentColor;
	flex-shrink: 0;
}

/* shipping rate + payment method — shared radio-control card styling */

.woocommerce-checkout .wc-block-components-radio-control__option {
	position: relative;
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	padding: 16px !important;
	margin-bottom: 8px !important;
	background: var(--rost-bg);
}

.woocommerce-checkout .wc-block-components-radio-control__option-checked {
	background: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__secondary-label,
.woocommerce-checkout .wc-block-components-radio-control__option-checked .wc-block-components-payment-method-label {
	color: var(--rost-bg) !important;
}

.woocommerce-checkout .wc-block-components-radio-control__label-group {
	display: flex;
	justify-content: space-between;
	width: 100%;
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
	font-family: 'Inter', sans-serif;
	font-size: 12.5px;
	color: #6b6459;
	padding-top: 8px;
}

.woocommerce-checkout .wc-block-components-radio-control__input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

/* order note */

.woocommerce-checkout .wc-block-checkout__add-note textarea {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	padding: 14px !important;
	box-shadow: none !important;
}

/* checkboxes (order-note toggle, billing-same-as-shipping, terms) */

.woocommerce-checkout .wc-block-components-checkbox label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}

.woocommerce-checkout .wc-block-components-checkbox__mark {
	border: 1px solid var(--rost-fg);
	fill: none;
	flex-shrink: 0;
}

.woocommerce-checkout .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark {
	background: var(--rost-fg);
	box-shadow: inset 0 0 0 20px var(--rost-fg);
	fill: var(--rost-bg) !important;
}

.woocommerce-checkout .wc-block-components-checkbox__label {
	font-family: 'Inter', sans-serif;
	font-size: 12.5px;
	color: #4a453e;
	line-height: 1.5;
}

.woocommerce-checkout .wc-block-components-checkbox__label a {
	color: var(--rost-fg) !important;
	border-bottom: 1px solid var(--rost-fg);
	text-decoration: none !important;
}

/* terms + place order */

.woocommerce-checkout .wc-block-checkout__terms {
	border: none !important;
	padding: 0 !important;
	margin: 0 0 20px !important;
}

.woocommerce-checkout .wc-block-checkout__terms--with-separator {
	border-top: none !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	background: var(--rost-green) !important;
	color: var(--rost-bg) !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 18px !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 13px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	box-shadow: none !important;
	width: 100%;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
	opacity: 0.88;
}

.woocommerce-checkout .wc-block-checkout__actions_row {
	margin: 0 !important;
}

/* ---- order summary sidebar ---- */

.woocommerce-checkout .wc-block-checkout__sidebar {
	border: 1px solid var(--rost-fg) !important;
	padding: 28px !important;
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--rost-fg);
	margin-bottom: 20px;
	cursor: pointer;
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
	font-family: var(--rost-font-mono) !important;
	font-size: 12px;
	color: #6b6459 !important;
	margin-left: auto;
	margin-right: 8px;
}

.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon svg {
	fill: var(--rost-fg);
}

.woocommerce-checkout .wc-block-components-order-summary-item {
	display: flex;
	gap: 14px;
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid #dcd8c8;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image {
	position: relative;
	width: 56px;
	height: 56px;
	border: 1px solid var(--rost-fg);
	background: #fff;
	flex-shrink: 0;
}

.woocommerce-checkout .wc-block-components-order-summary-item__image img {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	mix-blend-mode: multiply;
}

.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
	position: absolute;
	top: -8px;
	right: -8px;
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	font-family: var(--rost-font-mono);
	font-size: 10px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	transform: none !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description {
	flex: 1;
	min-width: 0;
}

.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	margin: 0 0 6px;
	display: block;
}

.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-cart-item__prices {
	display: none;
}

.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details__name,
.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details span[aria-hidden] {
	display: none;
}

.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-details > span {
	font-family: var(--rost-font-mono);
	font-size: 9px;
	color: #6b6459;
	text-transform: uppercase;
}

.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
	font-family: var(--rost-font-mono);
	font-size: 12.5px;
	font-weight: 700;
	color: var(--rost-fg);
	white-space: nowrap;
	margin-left: auto;
	align-self: flex-start;
}

.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-shipping__via {
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px;
	color: #6b6459 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.woocommerce-checkout .wc-block-components-totals-item__value {
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-panel {
	margin: 8px 0 18px;
	border-top: 1px solid #dcd8c8;
	border-bottom: 1px solid #dcd8c8;
}

.woocommerce-checkout .wc-block-components-panel__button {
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rost-fg) !important;
	padding: 14px 0 !important;
}

.woocommerce-checkout .wc-block-components-panel__button-icon {
	fill: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input {
	flex-direction: row !important;
	align-items: center;
	border: 1px solid var(--rost-fg) !important;
	padding: 0 !important;
}

.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	padding: 10px 12px !important;
}

.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input label {
	display: none;
}

.woocommerce-checkout .wc-block-components-totals-coupon__button {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	background: var(--rost-bg) !important;
	color: var(--rost-fg) !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 10.5px !important;
	text-transform: uppercase;
	box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item {
	padding-top: 18px !important;
	border-top: 1px solid var(--rost-fg) !important;
	align-items: baseline !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item-tax-value {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 26px !important;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item-tax {
	font-family: var(--rost-font-mono) !important;
	font-size: 10px;
	color: #6b6459 !important;
	margin: 8px 0 0 !important;
}

@media (max-width: 820px) {
	.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.woocommerce-checkout .wc-block-components-address-form,
	.woocommerce-checkout .wc-block-checkout__shipping-method-container {
		grid-template-columns: 1fr;
	}

	/* Same fields as desktop (bordered box, label above input) but with
	   tighter padding/margins — the desktop sizing wastes a lot of the
	   screen when every field stacks in a single column on a phone. */
	.woocommerce-checkout .wc-block-components-text-input {
		padding: 9px 12px 6px !important;
		margin: 0 0 8px !important;
	}

	.woocommerce-checkout .wc-block-components-text-input input {
		height: 22px !important;
		line-height: 22px !important;
	}

	.woocommerce-checkout .wc-block-components-text-input label {
		margin: 0 0 2px !important;
	}

	.woocommerce-checkout .wc-blocks-components-select__container {
		padding: 9px 30px 6px 12px !important;
	}

	.woocommerce-checkout .wc-blocks-components-select__label {
		margin: 0 0 2px !important;
	}

	.woocommerce-checkout .wc-blocks-components-select__select {
		height: 22px !important;
		line-height: 22px !important;
	}
}

/* ==========================================================================
   Single product page
   ========================================================================== */

.single-product .product-image-summary-wrap,
.single-product .product-tabs-wrapper .container,
.single-product .related-and-upsells.container {
	max-width: 1080px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 30px !important;
	padding-right: 30px !important;
	box-sizing: border-box;
}

.single-product .product-image-summary-wrap {
	padding-top: 44px !important;
}

.single-breadcrumbs-wrapper .wd-breadcrumbs,
.single-breadcrumbs-wrapper .wd-breadcrumbs a {
	font-family: var(--rost-font-mono) !important;
	font-size: 10.5px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #6b6459 !important;
}

.single-breadcrumbs-wrapper .wd-last {
	color: var(--rost-fg) !important;
}

.single-product .woocommerce-product-gallery {
	border: none;
}

/*
 * Thumbnail position ("bottom" instead of the default "left" column) is set
 * server-side via the woodmart_option filter in functions.php, not here —
 * Woodmart's gallery Swiper reads the thumbs-position class from the
 * server-rendered HTML at init to pick vertical vs horizontal carousel
 * orientation, so a CSS-only override of that layout fights the JS. These
 * rules are just brand styling (borders/fit) on top of the native layout.
 */

.single-product .woocommerce-product-gallery .wd-gallery-images {
	border: 1px solid var(--rost-fg);
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

/*
 * Same reasoning as the thumbnail fix below: without a forced aspect ratio,
 * the main photo renders at whatever proportions the uploaded file happens
 * to have, so a portrait source photo (like Costa Rica Sonora's) comes out
 * taller than every other product's square main image. Forcing the ratio
 * here keeps every product page's hero image the same size, regardless of
 * the source photo's native crop.
 */
.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery .wd-gallery-images .wd-carousel-wrap,
.single-product .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item,
.single-product .woocommerce-product-gallery .wd-gallery-images .woocommerce-product-gallery__image {
	width: 100% !important;
	height: 100% !important;
}

.single-product .woocommerce-product-gallery .wd-gallery-images img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.single-product .woocommerce-product-gallery.thumbs-position-bottom .wd-gallery-thumb .wd-carousel-wrap {
	gap: 10px !important;
}

.single-product .woocommerce-product-gallery.thumbs-position-bottom .wd-gallery-thumb .wd-carousel-item {
	border: 1px solid var(--rost-fg) !important;
	aspect-ratio: 1 / 1 !important;
	width: 95px !important;
	height: auto !important;
	padding: 0 !important;
}

.single-product .woocommerce-product-gallery.thumbs-position-bottom .wd-gallery-thumb .wd-carousel-item img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.single-product .product-labels {
	display: none;
}

.single-product .product_title.entry-title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 32px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	margin: 14px 0 10px !important;
}

.single-product .summary .price {
	font-family: var(--rost-font-mono) !important;
	font-size: 20px;
	font-weight: 700;
	color: var(--rost-fg) !important;
}

.rost-spec-tagline {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #4a453e;
	margin: 0 0 4px;
	max-width: 440px;
}

.rost-spec {
	border-top: 1px solid var(--rost-fg);
	border-bottom: 1px solid var(--rost-fg);
	padding: 22px 0;
	margin: 20px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 20px;
}

.rost-spec__row {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	border-bottom: 1px dotted #dcd8c8;
	padding-bottom: 8px;
}

.rost-spec__k {
	color: #6b6459;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.rost-spec__v {
	font-weight: 700;
	color: var(--rost-fg);
	text-align: right;
}

/* gramaj swatches */

.single-product .variable-items-wrapper {
	display: flex;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.single-product .variable-item.button-variable-item {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	padding: 10px 18px !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 12px;
	cursor: pointer;
	background: var(--rost-bg);
	color: var(--rost-fg);
	box-shadow: none !important;
}

.single-product .variable-item.button-variable-item.selected,
.single-product .variable-item.button-variable-item[aria-checked="true"] {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
}

.single-product table.variations {
	width: 100%;
	margin-bottom: 16px;
}

.single-product table.variations th.label label {
	font-family: var(--rost-font-mono) !important;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #6b6459 !important;
	font-weight: 400 !important;
}

.single-product table.variations td.value select {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 13px !important;
	padding: 10px 12px !important;
	background: var(--rost-bg) !important;
	color: var(--rost-fg) !important;
	box-shadow: none !important;
}

.rost-grind-note {
	margin: 4px 0 18px;
}

.rost-grind-note label {
	display: block;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 8px;
}

.rost-grind-note input {
	width: 100%;
	max-width: 380px;
	border: 1px solid var(--rost-fg);
	background: var(--rost-bg);
	color: var(--rost-fg);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	padding: 12px 14px;
	box-sizing: border-box;
}

/* quantity stepper — the classic template uses <input type="button">, not
   <button>, so it's untouched by the sitewide black-button rule and needs its
   own explicit color/background reset (native button chrome can otherwise
   render invisible text depending on OS theme). */

.single-product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--rost-fg) !important;
	height: 52px;
}

.single-product .quantity .qty {
	width: 56px;
	height: 100%;
	border: none !important;
	text-align: center;
	font-family: var(--rost-font-mono) !important;
	font-size: 14px;
	color: var(--rost-fg) !important;
	background: transparent !important;
	box-shadow: none !important;
}

.single-product .quantity .minus,
.single-product .quantity .plus {
	-webkit-appearance: none;
	appearance: none;
	width: 44px;
	height: 100%;
	border: none !important;
	background: transparent !important;
	color: var(--rost-fg) !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 18px;
	cursor: pointer;
	box-shadow: none !important;
	opacity: 1 !important;
}

.single-product .quantity .minus {
	border-right: 1px solid var(--rost-fg) !important;
}

.single-product .quantity .plus {
	border-left: 1px solid var(--rost-fg) !important;
}

.single-product .single_add_to_cart_button {
	background: var(--rost-green) !important;
	color: var(--rost-bg) !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 12.5px !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	height: 52px;
	padding: 0 28px !important;
	box-shadow: none !important;
}

/*
 * Add-to-cart is the one action we want visually distinct from the site's
 * other black CTAs (checkout, place order, view cart) — a dedicated green
 * so the "add" action reads as its own thing wherever it appears (product
 * page, quick-shop popup on the shop grid).
 */
.single_add_to_cart_button,
.add_to_cart_button {
	background-color: var(--rost-green) !important;
	border-color: var(--rost-green) !important;
}

.single_add_to_cart_button:hover,
.add_to_cart_button:hover {
	opacity: 0.88;
}

.single-product .product_meta {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #dcd8c8;
	font-family: var(--rost-font-mono) !important;
	font-size: 10.5px;
	color: #6b6459 !important;
	line-height: 2;
}

.single-product .product_meta a {
	color: #6b6459 !important;
	text-decoration: underline;
}

.single-product .product_meta .meta-label {
	color: var(--rost-fg) !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* tabs */

.single-product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--rost-fg);
	display: flex;
	gap: 0;
	list-style: none;
	padding: 0;
	margin: 0 0 0;
}

.single-product .woocommerce-tabs ul.tabs li {
	border: 1px solid var(--rost-fg);
	border-bottom: none;
	margin: 0 -1px 0 0;
}

.single-product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 14px 22px;
	font-family: var(--rost-font-mono) !important;
	font-size: 11.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rost-fg) !important;
	text-decoration: none !important;
}

.single-product .woocommerce-tabs ul.tabs li.active {
	background: var(--rost-fg);
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--rost-bg) !important;
}

.single-product .woocommerce-tabs .panel {
	max-width: 720px;
	padding: 32px 0;
	font-size: 14.5px;
	line-height: 1.75;
	color: #3a3630;
}

.single-product .related-products .element-title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 24px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
}

/*
 * "Produse similare" is a Swiper carousel, not CSS Grid — each slide
 * auto-sizes to its own content height (title/notes line count varies per
 * product), so cards in the same visual row end up different heights and
 * the price lines don't align. align-self:stretch forces every slide to
 * match the row's tallest card; height:100% carries that down through the
 * card wrapper so the flex/margin-auto price alignment (set earlier for the
 * main shop grid, same markup) has a full-height box to push against.
 */
.related-products .wd-carousel-item {
	height: auto !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
}

.related-products .wd-carousel-item .product-wrapper {
	flex: 1;
	height: auto !important;
}

@media (max-width: 820px) {
	.single-product .woocommerce-tabs ul.tabs {
		flex-wrap: wrap;
	}
}

/* ==========================================================================
   Add-to-cart loading feedback
   ========================================================================== */

/*
 * Woodmart's own "loading" spinner on .single_add_to_cart_button fades in
 * over 0.25s — but the add-to-cart AJAX call itself usually finishes in
 * ~200-300ms, so the spinner barely starts appearing before the button
 * flips to "added" and it fades right back out. Net effect: no visible
 * feedback at all during the click, which reads as "nothing is happening".
 * Making the spinner appear instantly (no transition) fixes that without
 * touching the underlying request speed, which was already fine.
 */
.single_add_to_cart_button.loading::before,
.single_add_to_cart_button.loading::after {
	transition: none !important;
}

/* ==========================================================================
   Order confirmation ("thank you") page
   ========================================================================== */

.woocommerce-order-received .entry-content .woocommerce {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 30px 90px;
}

.woocommerce-order-received .woocommerce-notice--success {
	border: 1px solid var(--rost-fg);
	background: var(--rost-bg);
	color: var(--rost-fg);
	padding: 16px 20px;
	margin: 0 0 30px;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
}

.woocommerce-order-received .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
	border-top: 1px solid var(--rost-fg);
	border-bottom: 1px solid var(--rost-fg);
}

.woocommerce-order-received .woocommerce-order-overview li {
	flex: 1 1 auto;
	padding: 18px 24px;
	border-right: 1px dotted #dcd8c8;
}

.woocommerce-order-received .woocommerce-order-overview li:last-child {
	border-right: none;
}

.woocommerce-order-received .woocommerce-order-overview li span {
	display: block;
	font-family: var(--rost-font-mono);
	font-size: 9.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 6px;
}

.woocommerce-order-received .woocommerce-order-overview li strong {
	font-family: var(--rost-font-mono);
	font-size: 14px;
	font-weight: 700;
	color: var(--rost-fg);
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	margin: 0 0 18px !important;
}

.woocommerce-order-received table.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--rost-fg);
	margin-bottom: 40px;
	font-family: 'Inter', sans-serif;
	font-size: 13.5px;
}

.woocommerce-order-received table.woocommerce-table--order-details th {
	font-family: var(--rost-font-mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b6459;
	text-align: left;
	padding: 14px 0;
	border-bottom: 1px solid var(--rost-fg);
}

.woocommerce-order-received table.woocommerce-table--order-details td {
	padding: 14px 0;
	border-bottom: 1px dotted #dcd8c8;
	color: var(--rost-fg);
}

.woocommerce-order-received table.woocommerce-table--order-details .product-total,
.woocommerce-order-received table.woocommerce-table--order-details th.product-total {
	text-align: right;
	font-family: var(--rost-font-mono);
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
	text-align: right;
	font-family: var(--rost-font-mono);
	border-bottom: none;
}

.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
	border-top: 1px solid var(--rost-fg);
	padding-top: 16px;
	font-weight: 700;
	font-size: 15px;
}

.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-order-received .woocommerce-column {
	border: 1px solid var(--rost-fg);
	padding: 24px;
}

.woocommerce-order-received .woocommerce-column address {
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.7;
	color: #3a3630;
}

.woocommerce-order-received .woocommerce-column address p {
	margin: 6px 0 0;
}

@media (max-width: 820px) {
	.woocommerce-order-received .woocommerce-order-overview {
		flex-direction: column;
	}

	.woocommerce-order-received .woocommerce-order-overview li {
		border-right: none;
		border-bottom: 1px dotted #dcd8c8;
	}

	.woocommerce-order-received .woocommerce-order-overview li:last-child {
		border-bottom: none;
	}

	.woocommerce-order-received .woocommerce-columns--addresses {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   My Account (login/register + logged-in dashboard)
   ========================================================================== */

.woocommerce-account .woocommerce {
	max-width: 1080px;
	margin: 0 auto;
	padding: 60px 30px 90px;
}

/* --- login / register (guest) --- */

.woocommerce-account .wd-login-title {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 20px;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	margin: 0 0 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--rost-fg);
}

.woocommerce-account .wd-grid-f-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
}

.woocommerce-account .wd-col {
	border: 1px solid var(--rost-fg);
	padding: 32px;
}

.woocommerce-account .wd-col p {
	font-family: 'Inter', sans-serif;
	font-size: 13.5px;
	line-height: 1.7;
	color: #3a3630;
}

/* --- form fields shared across login / register / edit-account / addresses --- */

.woocommerce-account .woocommerce-form-row,
.woocommerce-account .form-row {
	margin: 0 0 18px;
}

.woocommerce-account label {
	display: block;
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b6459;
	margin-bottom: 8px;
}

.woocommerce-account .woocommerce-Input,
.woocommerce-account input.input-text,
.woocommerce-account select,
.woocommerce-account textarea {
	width: 100%;
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	background: var(--rost-bg);
	color: var(--rost-fg);
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	padding: 12px 14px;
	box-shadow: none !important;
}

.woocommerce-account .select2-container .select2-selection--single {
	border: 1px solid var(--rost-fg) !important;
	border-radius: 0 !important;
	height: 46px !important;
	padding: 10px 14px !important;
}

.woocommerce-account .password-input {
	display: block;
	position: relative;
}

.woocommerce-account .show-password-input {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-account .login-form-footer,
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .wd-col p {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #6b6459;
}

.woocommerce-account .woocommerce-LostPassword {
	color: var(--rost-fg) !important;
	text-decoration: underline;
}

/* --- buttons: Woodmart's own button CSS beats the sitewide mono rule here
   (no !important there), so this needs its own explicit override --- */

.woocommerce-account .button,
.woocommerce-account button {
	font-family: var(--rost-font-mono) !important;
	font-size: 12px !important;
	letter-spacing: 0.06em;
	padding: 14px 26px !important;
}

/* --- dashboard layout (logged in) --- */

/* Unscoped so it also matches on the standalone /wishlist/ page (no
   .woocommerce-account body class there) — !important throughout because
   Woodmart's own core CSS targets this same class at equal specificity and
   otherwise wins the tie on the real account pages. */
.woocommerce-MyAccount-navigation {
	border: 1px solid var(--rost-fg) !important;
	margin-bottom: 40px;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation-link {
	border-bottom: 1px solid var(--rost-fg) !important;
}

.woocommerce-MyAccount-navigation-link:last-child {
	border-bottom: none !important;
}

.woocommerce-MyAccount-navigation-link a {
	display: block;
	padding: 14px 20px;
	font-family: var(--rost-font-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--rost-fg) !important;
	text-decoration: none !important;
	overflow: visible;
	white-space: normal;
	background: transparent !important;
}

.woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
}

/* Safety net: any CTA inside account content that isn't caught by the
   sitewide .button rule (some gateway/plugin markup uses its own classes)
   still gets the same black-bg/cream-text treatment, so text never ends up
   invisible against a dark button background. */
.woocommerce-account .woocommerce-MyAccount-content a.button,
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
	background: var(--rost-fg) !important;
	color: var(--rost-bg) !important;
	border: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p {
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	line-height: 1.7;
	color: #3a3630;
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--rost-fg) !important;
	text-decoration: underline;
}

/* --- orders table --- */

.woocommerce-account table.woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--rost-fg);
	font-family: 'Inter', sans-serif;
	font-size: 13.5px;
}

.woocommerce-account table.woocommerce-orders-table th {
	font-family: var(--rost-font-mono);
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b6459;
	text-align: left;
	padding: 14px 10px;
	border-bottom: 1px solid var(--rost-fg);
}

.woocommerce-account table.woocommerce-orders-table td {
	padding: 14px 10px;
	border-bottom: 1px dotted #dcd8c8;
	color: var(--rost-fg);
}

.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-status mark {
	font-family: var(--rost-font-mono);
	font-size: 10px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: none;
	color: var(--rost-fg);
}

.woocommerce-account table.woocommerce-orders-table .button {
	padding: 8px 14px !important;
	font-size: 10px !important;
}

/* --- addresses --- */

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.woocommerce-account .woocommerce-Address {
	border: 1px solid var(--rost-fg);
	padding: 24px;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--rost-fg);
}

.woocommerce-account .woocommerce-Address-title h2 {
	font-family: var(--rost-font-display) !important;
	font-weight: 800 !important;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg) !important;
	margin: 0;
}

.woocommerce-account .woocommerce-Address-title .edit {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	text-decoration: underline;
	color: var(--rost-fg) !important;
}

.woocommerce-account .woocommerce-Address address {
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-size: 13.5px;
	line-height: 1.7;
	color: #3a3630;
}

/* --- edit account form --- */

.woocommerce-account fieldset {
	border: 1px solid var(--rost-fg);
	padding: 24px;
	margin: 24px 0 0;
}

.woocommerce-account fieldset legend {
	font-family: var(--rost-font-mono);
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--rost-fg);
	padding: 0 10px;
}

@media (max-width: 820px) {
	.woocommerce-account .wd-grid-f-col,
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
		gap: 30px;
	}
}

/* --- notices (e.g. "confirm your email to link previous orders") --- */

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-NoticeGroup .woocommerce-notice {
	border: 1px solid var(--rost-fg) !important;
	background: var(--rost-bg) !important;
	color: var(--rost-fg) !important;
	padding: 16px 20px !important;
	margin: 0 0 30px !important;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	list-style: none;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before,
.woocommerce-account .woocommerce-NoticeGroup .woocommerce-notice::before {
	display: none !important;
}

/* ==========================================================================
   Wishlist page
   ========================================================================== */

.wd-wishlist-content {
	max-width: 1080px;
	margin: 0 auto;
	padding: 50px 30px 90px;
}

.wd-wishlist-content .wd-empty-wishlist {
	font-family: var(--rost-font-display) !important;
	font-weight: 900 !important;
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	color: var(--rost-fg);
	margin: 0 0 12px;
}

.wd-wishlist-content .wd-empty-page-text {
	font-family: 'Inter', sans-serif;
	font-size: 14.5px;
	line-height: 1.7;
	color: #3a3630;
	max-width: 480px;
	margin-bottom: 28px;
}

.wd-wishlist-content .return-to-shop {
	margin: 0;
}

/* This page uses Woodmart's site-wide "full width" wrapper (no theme
   container), unlike the other pages here which each add their own
   max-width manually — this one never got that treatment, so nav + content
   were spanning the full browser width edge-to-edge instead of the site's
   usual 1080px column. Scoped to this exact page (stable numeric ID). */
body.page-id-848 article.entry-content {
	max-width: 1080px;
	margin: 0 auto !important;
	padding-left: 30px;
	padding-right: 30px;
	box-sizing: border-box;
}

/* Wishlist item "Remove" — same wd-action-btn/wd-cross-icon component as the
   quick-shop close button, but styled as a subtle outlined pill instead of
   plain text, per request. */
.wd-wishlist-product-remove {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	border: 1px solid var(--rost-fg) !important;
	background: transparent !important;
	padding: 5px 10px !important;
	width: auto !important;
	height: auto !important;
}

.wd-wishlist-product-remove a {
	color: var(--rost-fg) !important;
	text-decoration: none !important;
	border-bottom: none !important;
	font-family: var(--rost-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* ==========================================================================
   Mobile sticky toolbar (Shop / Wishlist / Cart / Account) — untouched
   Woodmart default until now, shown below 1025px.
   ========================================================================== */

@media (max-width: 1024px) {
	.wd-toolbar {
		background: var(--rost-bg) !important;
		border-top: 1px solid var(--rost-fg) !important;
		box-shadow: none !important;
	}

	/* "Filters" toolbar item (shop/category pages only) — no filter
	   sidebar is actually wired up on this catalog, so it went nowhere. */
	.wd-toolbar .wd-toolbar-sidebar {
		display: none !important;
	}

	.wd-toolbar .wd-tools-element {
		background: transparent !important;
	}

	.wd-toolbar .wd-tools-element a {
		color: var(--rost-fg) !important;
	}

	.wd-toolbar .wd-tools-icon,
	.wd-toolbar .wd-tools-icon svg,
	.wd-toolbar .wd-tools-icon i {
		color: var(--rost-fg) !important;
		fill: var(--rost-fg) !important;
	}

	.wd-toolbar .wd-toolbar-label {
		font-family: var(--rost-font-mono) !important;
		font-size: 9.5px !important;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--rost-fg) !important;
	}

	.wd-toolbar .wd-tools-count,
	.wd-toolbar .wd-cart-number {
		background: var(--rost-fg) !important;
		color: var(--rost-bg) !important;
		font-family: var(--rost-font-mono) !important;
		border-radius: 50% !important;
	}

	/* The cookie consent box is fixed to the same bottom edge as the
	   toolbar and was sitting on top of it — lift it clear by the
	   toolbar's height plus its own original offset. */
	/* GDPR compliance: Accept/Reject must carry equal visual weight so
	   neither is nudged as the "preferred" choice — "Personalizează" stays
	   the plain/tertiary option. */
	.cookieadmin_accept_btn,
	.cookieadmin_reject_btn,
	.cookieadmin_accept_modal_button,
	.cookieadmin_reject_modal_button {
		background-color: var(--rost-fg) !important;
		color: var(--rost-bg) !important;
		border: 1px solid var(--rost-fg) !important;
	}

	.cookieadmin_law_container {
		bottom: 75px !important;
	}

	/* Small persistent "reopen cookie prefs" icon shown after the visitor
	   already made a choice — same overlap issue as the full banner above. */
	.cookieadmin_re_consent {
		bottom: 75px !important;
	}
}
