/* Rakhtaviz Core 1.4 — final production storefront, mobile first. */

/* ---------- Native shell reset ---------- */
body.rv-native {
	margin: 0;
	direction: rtl;
	text-align: right;
	background: var(--rv-color-bg);
	color: var(--rv-color-text);
	font-family: var(--rv-font-body);
	font-size: 15px;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
}
body.rv-native *, body.rv-native *::before, body.rv-native *::after { box-sizing: border-box; }
body.rv-native a { color: inherit; text-decoration: none; }
body.rv-native img { max-width: 100%; height: auto; }
body.rv-native button, body.rv-native input, body.rv-native select, body.rv-native textarea { font: inherit; }
body.rv-native .screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
body.rv-native.admin-bar .rv-site-header { top: 32px; }

/* ---------- Header ---------- */
.rv-site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(247,246,242,.94);
	border-bottom: 1px solid var(--rv-color-border);
	backdrop-filter: blur(12px);
}
.rv-header-inner {
	max-width: var(--rv-container);
	min-height: 68px;
	margin: 0 auto;
	padding: 0 16px;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 16px;
}
.rv-brand { display:inline-flex; align-items:center; gap:10px; font-size:1.05rem; font-weight:700; letter-spacing:-.02em; }
.rv-brand-mark { width:34px; height:34px; border:1px solid var(--rv-color-text); border-radius:50%; display:grid; place-items:center; }
.rv-brand-mark svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; }
.rv-main-nav { display:none; align-items:center; gap:28px; font-size:.9rem; }
.rv-main-nav a, .rv-text-link { transition:opacity .15s ease; }
.rv-main-nav a:hover, .rv-text-link:hover { opacity:.58; }
.rv-header-actions { display:flex; align-items:center; gap:8px; }
.rv-icon-button { position:relative; width:40px; height:40px; border:0; background:transparent; display:grid; place-items:center; cursor:pointer; padding:0; }
.rv-icon-button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.rv-cart-count { position:absolute; top:2px; right:0; min-width:17px; height:17px; padding:0 4px; border-radius:20px; background:var(--rv-color-primary); color:#fff; display:grid; place-items:center; font-size:10px; line-height:1; }
.rv-search-panel { display:none; border-top:1px solid var(--rv-color-border); background:var(--rv-color-surface); }
.rv-search-panel.is-open { display:block; }
.rv-search-panel form { max-width:760px; margin:0 auto; padding:18px 16px; display:grid; grid-template-columns:1fr auto; gap:8px; }
.rv-search-panel input { width:100%; min-height:46px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); padding:0 14px; background:#fff; color:var(--rv-color-text); outline:none; }
.rv-search-panel input:focus { border-color:var(--rv-color-text); }
.rv-search-panel button { border:0; border-radius:var(--rv-radius); background:var(--rv-color-primary); color:#fff; padding:0 20px; cursor:pointer; }

/* ---------- Global content ---------- */
.rv-shell-main { min-height:65vh; }
.rv-eyebrow { display:block; margin-bottom:10px; color:var(--rv-color-muted); font-size:.72rem; letter-spacing:.08em; }
.rv-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border-radius:var(--rv-radius); border:1px solid transparent; font-weight:700; font-size:.88rem; transition:transform .15s ease,opacity .15s ease; }
.rv-btn:hover { opacity:.9; }
.rv-btn:active { transform:scale(.985); }
.rv-btn--primary { background:var(--rv-color-primary); color:#fff!important; }
.rv-btn--secondary { background:transparent; color:var(--rv-color-primary)!important; border-color:var(--rv-color-border); }
.rv-text-link { display:inline-flex; align-items:center; gap:6px; font-size:.86rem; font-weight:700; }

/* ---------- Home ---------- */
.rv-home-hero {
	max-width: var(--rv-container);
	margin: 0 auto;
	padding: 34px 16px 20px;
	display:grid;
	gap:24px;
}
.rv-home-hero__copy { padding:22px 0; }
.rv-home-hero h1 { margin:0; max-width:14ch; font-size:clamp(2rem,8vw,4.6rem); line-height:1.35; letter-spacing:-.055em; font-weight:700; }
.rv-home-hero p { max-width:42ch; margin:22px 0 0; color:var(--rv-color-muted); font-size:.98rem; line-height:2; }
.rv-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:28px; }
.rv-home-hero__visual { min-height:330px; position:relative; overflow:hidden; border-radius:calc(var(--rv-radius) * 1.4); background:#dedbd4; display:grid; place-items:center; }
.rv-hanger-art { width:min(78%,390px); opacity:.72; }
.rv-hanger-art svg { width:100%; fill:none; stroke:#373532; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.rv-visual-note { position:absolute; left:18px; bottom:14px; font-size:.65rem; letter-spacing:.18em; opacity:.55; direction:ltr; }

.rv-category-strip { max-width:var(--rv-container); margin:0 auto; padding:18px 16px 54px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; }
.rv-category-tile { min-height:150px; background:#ece9e3; padding:18px; display:flex; flex-direction:column; justify-content:flex-end; transition:background .2s ease; }
a.rv-category-tile:hover { background:#e3dfd7; }
.rv-category-tile__index { margin-bottom:auto; direction:ltr; color:var(--rv-color-muted); font-size:.67rem; }
.rv-category-tile strong { font-size:1.02rem; margin-bottom:4px; }
.rv-category-tile > span:last-child { color:var(--rv-color-muted); font-size:.72rem; }

.rv-home-section { max-width:var(--rv-container); margin:0 auto; padding:32px 16px 64px; }
.rv-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:24px; }
.rv-section-heading h2 { margin:0; font-size:1.55rem; letter-spacing:-.03em; }
.rv-section-heading .rv-text-link { flex-shrink:0; }
.rv-selected__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 10px; }
.rv-product-teaser { min-width:0; display:block; }
.rv-product-teaser__media { position:relative; overflow:hidden; border-radius:var(--rv-radius); background:#ebe8e2; aspect-ratio:3/4; }
.rv-product-teaser__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease,opacity .2s ease; }
.rv-product-teaser:hover img { transform:scale(1.018); opacity:.95; }
.rv-product-badge { position:absolute; top:10px; right:10px; background:var(--rv-color-primary); color:#fff; border-radius:100px; padding:4px 9px; font-size:.62rem; }
.rv-product-teaser__body { display:flex; flex-direction:column; gap:2px; margin-top:10px; }
.rv-product-teaser__name { font-weight:700; font-size:.86rem; line-height:1.7; }
.rv-product-teaser__price { color:var(--rv-color-muted); font-size:.8rem; }
.rv-product-teaser__price del { opacity:.55; margin-inline-end:5px; }
.rv-product-teaser__price ins { text-decoration:none; color:var(--rv-color-text); }
.rv-empty-products { min-height:210px; border:1px dashed #cec9c0; border-radius:var(--rv-radius); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:30px; text-align:center; color:var(--rv-color-muted); }
.rv-empty-products strong { color:var(--rv-color-text); font-size:1.15rem; }
.rv-empty-products .rv-btn { margin-top:8px; }

.rv-story-block { max-width:var(--rv-container); margin:0 auto 58px; padding:42px 16px; border-top:1px solid var(--rv-color-border); border-bottom:1px solid var(--rv-color-border); display:grid; grid-template-columns:64px 1fr; gap:18px; }
.rv-story-block__number { direction:ltr; font-size:.68rem; color:var(--rv-color-muted); }
.rv-story-block__copy h2 { margin:0; max-width:15ch; font-size:clamp(1.9rem,7vw,3.5rem); line-height:1.45; letter-spacing:-.045em; }
.rv-story-block__copy p { max-width:52ch; color:var(--rv-color-muted); margin:22px 0 0; }

.rv-benefits { max-width:var(--rv-container); margin:0 auto; padding:0 16px 72px; display:grid; gap:1px; }
.rv-benefit { padding:24px 18px; background:#eeece7; }
.rv-benefit > span { display:block; color:var(--rv-color-muted); font-size:.65rem; direction:ltr; margin-bottom:24px; }
.rv-benefit strong { display:block; font-size:.95rem; }
.rv-benefit p { margin:5px 0 0; color:var(--rv-color-muted); font-size:.78rem; }

/* ---------- Commerce pages ---------- */
.rv-commerce-wrap { max-width:var(--rv-container); margin:0 auto; padding:32px 16px 72px; }
.rv-commerce-wrap .woocommerce { width:100%; }
.rv-native .woocommerce-breadcrumb { margin:0 0 22px; color:var(--rv-color-muted); font-size:.75rem; }
.rv-native .woocommerce-products-header__title.page-title,
.rv-native .product_title,
.rv-native .rv-page-content > h1 { margin:0 0 24px; font-size:clamp(1.8rem,5vw,3rem); letter-spacing:-.04em; }
.rv-native .woocommerce .woocommerce-ordering { margin:0 0 24px; float:none; }
.rv-native .woocommerce .woocommerce-ordering select { min-height:42px; padding:0 12px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; }
.rv-native .woocommerce ul.products { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 10px; margin:0!important; padding:0!important; }
.rv-native .woocommerce ul.products::before,
.rv-native .woocommerce ul.products::after { display:none!important; }
.rv-native .woocommerce ul.products li.product { width:auto!important; float:none!important; margin:0!important; padding:0!important; list-style:none; }
.rv-card .woocommerce-loop-product__link { display:block; color:inherit; }
.rv-card__media { position:relative; overflow:hidden; border-radius:var(--rv-radius); background:#eae7e1; aspect-ratio:3/4; }
.rv-card__media img { width:100%!important; height:100%!important; object-fit:cover; margin:0!important; display:block; }
.rv-card__body { margin-top:10px; display:flex; flex-direction:column; gap:3px; }
.rv-card .woocommerce-loop-product__title { margin:0!important; padding:0!important; font-size:.88rem!important; font-weight:700!important; line-height:1.7; }
.rv-card .price { margin:0!important; color:var(--rv-color-muted)!important; font-size:.8rem!important; }
.rv-card .button { margin-top:9px!important; width:100%; min-height:40px; border-radius:var(--rv-radius)!important; display:flex!important; justify-content:center; align-items:center; padding:0 12px!important; background:transparent!important; border:1px solid var(--rv-color-border)!important; color:var(--rv-color-text)!important; font-size:.75rem!important; font-weight:700!important; }
.rv-card__oos { margin-top:3px; color:var(--rv-color-muted); font-size:.72rem; }
.rv-card .added_to_cart { display:block; margin-top:7px; font-size:.72rem; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.rv-native .woocommerce nav.woocommerce-pagination { margin-top:38px; }
.rv-native .woocommerce nav.woocommerce-pagination ul { border:0; display:flex; justify-content:center; gap:6px; }
.rv-native .woocommerce nav.woocommerce-pagination ul li { border:0; }
.rv-native .woocommerce nav.woocommerce-pagination ul li a,
.rv-native .woocommerce nav.woocommerce-pagination ul li span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#fff; padding:0; }
.rv-native .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--rv-color-primary); color:#fff; }

/* Product detail */
.rv-native .woocommerce div.product { display:block; }
.rv-native .woocommerce div.product div.images,
.rv-native .woocommerce div.product div.summary { float:none!important; width:100%!important; }
.rv-native .woocommerce div.product div.images { margin-bottom:30px; }
/* WooCommerce's classic gallery ships with inline opacity:0 until its JS initializes.
   Rakhtaviz can run over a block theme while rendering classic product markup, so this
   is a deliberate no-JS/failure fallback: product media must never become invisible. */
.rv-native.single-product .woocommerce-product-gallery { opacity:1!important; }
.rv-native .woocommerce div.product div.images img { border-radius:var(--rv-radius); }
.rv-full-description-link { display:inline-flex; align-items:center; gap:6px; margin:2px 0 16px; font-size:.78rem; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.rv-native .woocommerce div.product .summary .price { color:var(--rv-color-text); font-size:1.15rem; }
.rv-native .woocommerce div.product .woocommerce-product-details__short-description { color:var(--rv-color-muted); }
.rv-native .woocommerce div.product form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.rv-native .woocommerce .quantity .qty { min-height:46px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; }
.rv-native .woocommerce button.button.alt,
.rv-native .woocommerce a.button.alt,
.rv-native .woocommerce button.button,
.rv-native .woocommerce a.button,
.rv-native .woocommerce input.button { min-height:46px; border-radius:var(--rv-radius)!important; background:var(--rv-color-primary)!important; color:#fff!important; border:0!important; padding:0 20px!important; display:inline-flex!important; align-items:center; justify-content:center; box-shadow:none!important; }
.rv-native .woocommerce div.product .woocommerce-tabs { margin-top:38px; }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs { padding:0!important; margin:0 0 20px!important; border-bottom:1px solid var(--rv-color-border); }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none!important; }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs li { border:0!important; background:transparent!important; border-radius:0!important; margin:0 0 -1px 10px!important; padding:0!important; }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none!important; }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding:10px 6px!important; }
.rv-native .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-bottom:2px solid var(--rv-color-text); }

/* Forms / cart / checkout / account */
.rv-native .woocommerce form .form-row { padding:0; margin:0 0 14px; }
.rv-native .woocommerce form .form-row label { margin-bottom:5px; font-size:.78rem; font-weight:700; }
.rv-native .woocommerce input.input-text,
.rv-native .woocommerce textarea,
.rv-native .woocommerce select,
.rv-native .select2-container .select2-selection--single { width:100%; min-height:46px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; padding:8px 12px; box-shadow:none; }
.rv-native .select2-container .select2-selection--single .select2-selection__rendered { line-height:28px; padding:0; }
.rv-native .woocommerce form.checkout_coupon,
.rv-native .woocommerce form.login,
.rv-native .woocommerce form.register { border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; }
.rv-native .woocommerce-info,
.rv-native .woocommerce-message,
.rv-native .woocommerce-error { border:0; border-radius:var(--rv-radius); background:#ece9e3; color:var(--rv-color-text); padding:14px 16px 14px 46px; }
.rv-native .woocommerce table.shop_table { border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; overflow:hidden; }
.rv-native .woocommerce table.shop_table th,
.rv-native .woocommerce table.shop_table td { border-color:var(--rv-color-border); padding:12px; }
.rv-native .woocommerce-cart table.cart img { width:64px; border-radius:8px; }
.rv-native .cart_totals,
.rv-native .woocommerce-checkout-review-order,
.rv-native #payment { background:#fff!important; border-radius:var(--rv-radius)!important; }
.rv-native #payment ul.payment_methods { border-bottom-color:var(--rv-color-border)!important; }
.rv-native .woocommerce-account .woocommerce-MyAccount-navigation { float:none; width:100%; margin-bottom:24px; }
.rv-native .woocommerce-account .woocommerce-MyAccount-navigation ul { list-style:none; padding:0; margin:0; display:flex; overflow:auto; gap:6px; }
.rv-native .woocommerce-account .woocommerce-MyAccount-navigation a { display:block; white-space:nowrap; padding:9px 12px; background:#fff; border-radius:100px; }
.rv-native .woocommerce-account .woocommerce-MyAccount-content { float:none; width:100%; }

/* ---------- Footer ---------- */
.rv-site-footer { background:#181817; color:#f7f6f2; padding:48px 16px 22px; }
.rv-footer-grid { max-width:var(--rv-container); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:34px 20px; }
.rv-footer-brand { grid-column:1/-1; }
.rv-footer-brand strong { font-size:1.35rem; }
.rv-footer-brand p { margin:8px 0 0; max-width:34ch; color:#aaa8a2; font-size:.8rem; }
.rv-footer-grid > div:not(.rv-footer-brand) { display:flex; flex-direction:column; gap:7px; font-size:.78rem; }
.rv-footer-label { color:#85827d; margin-bottom:7px; font-size:.66rem; }
.rv-footer-bottom { max-width:var(--rv-container); margin:40px auto 0; padding-top:18px; border-top:1px solid #343330; display:flex; justify-content:space-between; gap:14px; color:#85827d; font-size:.65rem; }

@media (max-width:782px) {
	body.rv-native.admin-bar .rv-site-header { top:46px; }
}

@media (min-width:768px) {
	.rv-header-inner { min-height:76px; grid-template-columns:1fr auto 1fr; padding:0 24px; }
	.rv-main-nav { display:flex; }
	.rv-header-actions { justify-self:end; }
	.rv-home-hero { min-height:620px; padding:48px 24px 34px; grid-template-columns:1fr 1fr; align-items:stretch; }
	.rv-home-hero__copy { align-self:center; padding:46px 4vw 46px 0; }
	.rv-home-hero__visual { min-height:520px; }
	.rv-category-strip { padding:24px 24px 74px; grid-template-columns:repeat(4,1fr); }
	.rv-category-tile { min-height:190px; padding:22px; }
	.rv-home-section { padding:42px 24px 86px; }
	.rv-section-heading h2 { font-size:2rem; }
	.rv-selected__grid { grid-template-columns:repeat(var(--rv-cols,4),minmax(0,1fr)); gap:28px 16px; }
	.rv-story-block { margin-bottom:74px; padding:70px 24px; grid-template-columns:110px 1fr; }
	.rv-benefits { padding:0 24px 90px; grid-template-columns:repeat(3,1fr); }
	.rv-benefit { padding:30px; }
	.rv-commerce-wrap { padding:48px 24px 90px; }
	.rv-native .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 16px; }
	.rv-native .woocommerce div.product { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); gap:54px; }
	.rv-native .woocommerce div.product div.images,
	.rv-native .woocommerce div.product div.summary { margin:0!important; }
	.rv-native .woocommerce div.product .woocommerce-tabs,
	.rv-native .woocommerce div.product .related,
	.rv-native .woocommerce div.product .upsells { grid-column:1/-1; }
	.rv-footer-grid { grid-template-columns:2fr 1fr 1fr; padding:0 8px; }
	.rv-footer-brand { grid-column:auto; }
	.rv-footer-bottom { padding-inline:8px; }
}

@media (min-width:1100px) {
	.rv-home-hero h1 { font-size:4.3rem; }
}

/* ---------- Final release hardening: navigation, editorial, generic pages ---------- */
.rv-skip-link { position:fixed; z-index:99999; top:8px; right:8px; transform:translateY(-180%); background:#fff; color:#111!important; padding:8px 12px; border-radius:8px; box-shadow:0 6px 30px rgba(0,0,0,.18); }
.rv-skip-link:focus { transform:translateY(0); }
.rv-mobile-menu { display:none; padding:10px 16px 16px; border-top:1px solid var(--rv-color-border); background:var(--rv-color-surface); }
.rv-mobile-menu.is-open { display:grid; max-height:calc(100vh - 80px); overflow:auto; }
.rv-mobile-menu a { padding:11px 4px; border-bottom:1px solid var(--rv-color-border); font-weight:700; font-size:.88rem; }
.rv-mobile-menu a:last-child { border-bottom:0; }
.rv-menu-toggle { display:grid; }
body.rv-native :focus-visible { outline:2px solid var(--rv-color-accent); outline-offset:3px; }

.rv-content-wrap { max-width:var(--rv-container); margin:0 auto; padding:44px 16px 80px; }
.rv-content-header { margin-bottom:30px; max-width:760px; }
.rv-content-header h1,
.rv-content-title { margin:0; font-size:clamp(2rem,7vw,3.6rem); line-height:1.35; letter-spacing:-.045em; }
.rv-archive-description { color:var(--rv-color-muted); margin-top:12px; }
.rv-post-grid { display:grid; grid-template-columns:1fr; gap:26px; }
.rv-post-card { background:var(--rv-color-surface); border-radius:var(--rv-radius); overflow:hidden; }
.rv-post-card__media { aspect-ratio:16/10; display:grid; place-items:center; overflow:hidden; background:#e8e5df; }
.rv-post-card__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.rv-post-card:hover .rv-post-card__media img { transform:scale(1.015); }
.rv-post-placeholder { font-size:4rem; font-weight:700; color:#b8b3aa; direction:ltr; }
.rv-post-card__body { padding:18px; }
.rv-post-card__body time { color:var(--rv-color-muted); font-size:.7rem; }
.rv-post-card__body h2 { margin:7px 0 8px; font-size:1.18rem; line-height:1.6; }
.rv-post-card__body p { margin:0 0 14px; color:var(--rv-color-muted); font-size:.83rem; }
.rv-pagination { margin-top:36px; }
.rv-pagination .nav-links { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; }
.rv-pagination .page-numbers { min-width:40px; height:40px; padding:0 10px; display:grid; place-items:center; background:#fff; border-radius:999px; }
.rv-pagination .current { background:var(--rv-color-primary); color:#fff; }
.rv-empty-content { min-height:260px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:7px; border:1px dashed #cec9c0; border-radius:var(--rv-radius); color:var(--rv-color-muted); }
.rv-empty-content strong { color:var(--rv-color-text); font-size:1.1rem; }

.rv-article { max-width:900px; margin:0 auto; padding:48px 16px 90px; }
.rv-article__header { max-width:760px; margin:0 auto 28px; }
.rv-article__header h1 { margin:4px 0 16px; font-size:clamp(2rem,7vw,4rem); line-height:1.45; letter-spacing:-.045em; }
.rv-article__meta { display:flex; gap:14px; color:var(--rv-color-muted); font-size:.74rem; }
.rv-article__hero { margin:0 auto 34px; border-radius:var(--rv-radius); overflow:hidden; background:#e8e5df; }
.rv-article__hero img { display:block; width:100%; }
.rv-article__content { max-width:760px; margin:0 auto; font-size:1rem; line-height:2.15; }
.rv-article__content h2,.rv-article__content h3,.rv-page-content h2,.rv-page-content h3 { line-height:1.55; margin-top:2em; }
.rv-article__content a,.rv-page-content a:not(.button):not(.rv-btn) { text-decoration:underline; text-underline-offset:3px; }
.rv-article__content img,.rv-page-content img { border-radius:var(--rv-radius); }
.rv-article__content blockquote { margin:26px 0; padding:12px 18px; border-right:3px solid var(--rv-color-accent); background:#efede8; }
.rv-article__content table,.rv-page-content table { width:100%; border-collapse:collapse; overflow:auto; }
.rv-article__content th,.rv-article__content td,.rv-page-content th,.rv-page-content td { border:1px solid var(--rv-color-border); padding:9px; }
.rv-article__footer { max-width:760px; margin:42px auto 0; padding-top:20px; border-top:1px solid var(--rv-color-border); }
.rv-article__footer .nav-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.rv-article__footer .nav-next { text-align:left; }
.rv-error-page { min-height:62vh; max-width:700px; margin:0 auto; padding:90px 16px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.rv-error-code { direction:ltr; color:var(--rv-color-muted); font-size:.72rem; letter-spacing:.2em; }
.rv-error-page h1 { margin:12px 0 6px; font-size:clamp(2rem,8vw,4rem); }
.rv-error-page p { color:var(--rv-color-muted); margin:0; }

/* Preserve all standard WooCommerce commerce functionality and make it fit the shell. */
.rv-native .woocommerce .woocommerce-result-count { float:none; margin:0 0 14px; color:var(--rv-color-muted); font-size:.75rem; }
.rv-native .woocommerce span.onsale { min-width:auto; min-height:auto; line-height:1; top:10px; right:10px; left:auto; margin:0; padding:7px 9px; border-radius:999px; background:var(--rv-color-primary); color:#fff; font-size:.65rem; }
.rv-native .star-rating { font-size:.78rem; margin:4px 0!important; }
.rv-native .woocommerce div.product form.cart .variations { width:100%; margin-bottom:12px; }
.rv-native .woocommerce div.product form.cart .variations th,
.rv-native .woocommerce div.product form.cart .variations td { display:block; width:100%; padding:3px 0; text-align:right; }
.rv-native .woocommerce div.product form.cart .variations select { width:100%; min-height:44px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; padding:5px 10px; }
.rv-native .reset_variations { display:inline-block; margin-top:5px; color:var(--rv-color-muted); font-size:.72rem; }
.rv-native .woocommerce-variation { width:100%; }
.rv-native .woocommerce-grouped-product-list { width:100%; border-collapse:collapse; }
.rv-native .woocommerce-grouped-product-list td { padding:8px; border-bottom:1px solid var(--rv-color-border); }
.rv-native .cross-sells,.rv-native .related.products,.rv-native .upsells.products { margin-top:44px; }
.rv-native .cross-sells > h2,.rv-native .related.products > h2,.rv-native .upsells.products > h2 { font-size:1.4rem; }
.rv-native .woocommerce-form-coupon-toggle { margin-bottom:14px; }
.rv-native .woocommerce .col2-set { display:grid; grid-template-columns:1fr; gap:24px; }
.rv-native .woocommerce .col2-set .col-1,.rv-native .woocommerce .col2-set .col-2 { float:none; width:100%; }
.rv-native .woocommerce-checkout #payment { padding:4px; }
.rv-native .woocommerce-order-details,.rv-native .woocommerce-customer-details { margin-top:32px; }
.rv-native .woocommerce table.shop_table_responsive td::before { font-weight:700; }
.rv-native .woocommerce-cart-form { overflow-x:auto; }
.rv-native .woocommerce-cart-form table { min-width:620px; }
.rv-native .woocommerce .cart-collaterals .cart_totals { float:none; width:100%; padding:18px; }
.rv-native .woocommerce-account .woocommerce-MyAccount-content { overflow-wrap:anywhere; }

@media (min-width:640px) {
	.rv-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:768px) {
	.rv-menu-toggle { display:none; }
	.rv-mobile-menu { display:none!important; }
	.rv-content-wrap { padding:64px 24px 100px; }
	.rv-article { padding:70px 24px 110px; }
	.rv-native .woocommerce .col2-set { grid-template-columns:1fr 1fr; }
}
@media (min-width:1024px) {
	.rv-post-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 18px; }
}
@media (prefers-reduced-motion:reduce) {
	body.rv-native *,body.rv-native *::before,body.rv-native *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}
.rv-brand-logo { width:34px; height:34px; border-radius:50%; overflow:hidden; display:grid; place-items:center; background:#fff; border:1px solid var(--rv-color-border); }
.rv-brand-logo img { width:100%; height:100%; object-fit:cover; display:block; }
.rv-native .woocommerce ul.products li.product-category a { display:block; }
.rv-native .woocommerce ul.products li.product-category img { width:100%!important; aspect-ratio:3/4; object-fit:cover; border-radius:var(--rv-radius); margin:0 0 10px!important; background:#eae7e1; }
.rv-native .woocommerce ul.products li.product-category .woocommerce-loop-category__title { margin:0!important; font-size:.9rem!important; line-height:1.7; }
.rv-native .woocommerce ul.products li.product-category mark { background:transparent; color:var(--rv-color-muted); font-size:.72rem; }
.rv-comments { max-width:760px; margin:48px auto 0; padding-top:28px; border-top:1px solid var(--rv-color-border); }
.rv-comments h2 { margin:0 0 18px; font-size:1.35rem; }
.rv-comment-list { display:grid; gap:12px; }
.rv-comment-list .comment { padding:14px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; }
.rv-comment-list .comment-author { display:flex; align-items:center; gap:8px; font-size:.82rem; }
.rv-comment-list .avatar { border-radius:50%; }
.rv-comment-list .comment-meta { color:var(--rv-color-muted); font-size:.68rem; }
.rv-comments .comment-form { display:grid; gap:10px; margin-top:24px; }
.rv-comments textarea,.rv-comments input[type="text"],.rv-comments input[type="email"],.rv-comments input[type="url"] { width:100%; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; padding:10px 12px; }
.rv-comments input[type="submit"] { min-height:44px; border:0; border-radius:var(--rv-radius); background:var(--rv-color-primary); color:#fff; padding:0 18px; cursor:pointer; }


/* Generic editor content resilience. */
.rv-page-content { overflow-wrap:anywhere; }
.rv-page-content > :first-child { margin-top:0; }
.rv-page-content p,.rv-page-content li { line-height:2; }
.rv-page-content pre,.rv-article__content pre { max-width:100%; overflow:auto; padding:14px; border-radius:var(--rv-radius); background:#222; color:#f7f6f2; direction:ltr; text-align:left; }
.rv-page-content code,.rv-article__content code { overflow-wrap:anywhere; }
.rv-page-content figure,.rv-article__content figure { max-width:100%; margin-inline:0; }
.rv-page-content iframe,.rv-article__content iframe { max-width:100%; }

/* ---------- Product Content UX v1.4 ---------- */
.rv-native.single-product .product_title { font-size:clamp(1.55rem,7vw,2.55rem); line-height:1.55; letter-spacing:-.035em; text-wrap:pretty; }
.rv-product-summary-card { margin:18px 0 16px; padding:18px; border:1px solid var(--rv-color-border); border-radius:var(--rv-radius); background:#fff; }
.rv-product-summary-card__label { display:block; margin-bottom:8px; color:var(--rv-color-muted); font-size:.68rem; font-weight:700; letter-spacing:.02em; }
.rv-product-summary-card > p { margin:0; color:var(--rv-color-text); font-size:.92rem; line-height:2; text-wrap:pretty; }
.rv-product-summary-card__chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.rv-product-summary-card__chips span { display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:5px 10px; border-radius:999px; background:#f2f0eb; color:var(--rv-color-muted); font-size:.72rem; }
.rv-product-summary-card__chips b { color:var(--rv-color-text); font-weight:700; }
.rv-native .woocommerce div.product .woocommerce-product-details__short-description { display:none!important; }
.rv-native .woocommerce div.product .woocommerce-tabs .panel { margin:0!important; padding:0!important; }
.rv-product-editorial { max-width:920px; margin:0 auto; }
.rv-product-editorial__header { padding-bottom:22px; border-bottom:1px solid var(--rv-color-border); }
.rv-product-editorial__header h2 { margin:6px 0 0; font-size:clamp(1.45rem,5vw,2.15rem); line-height:1.65; letter-spacing:-.035em; text-wrap:pretty; }
.rv-product-editorial__intro { max-width:72ch; padding:24px 0 6px; }
.rv-product-editorial__intro p,.rv-product-copy-section p { margin:0 0 14px; color:#3f3d39; font-size:.92rem; line-height:2.15; text-wrap:pretty; }
.rv-product-copy-section { padding:24px 0; border-top:1px solid var(--rv-color-border); }
.rv-product-copy-section:first-of-type { border-top:0; }
.rv-product-copy-section h3,.rv-product-facts h3 { margin:0 0 14px; font-size:1.08rem; line-height:1.8; }
.rv-product-copy-section ul { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.rv-product-copy-section li { position:relative; padding:11px 34px 11px 13px; border-radius:10px; background:#f1efe9; color:#3f3d39; font-size:.86rem; line-height:1.95; }
.rv-product-copy-section li::before { content:""; position:absolute; right:14px; top:20px; width:6px; height:6px; border-radius:50%; background:var(--rv-color-accent); }
.rv-product-facts { margin:24px 0 4px; padding:20px; border-radius:var(--rv-radius); background:#efede8; }
.rv-product-facts dl,.rv-product-inline-facts { margin:0; display:grid; grid-template-columns:1fr; gap:1px; background:var(--rv-color-border); }
.rv-product-facts dl > div,.rv-product-inline-facts > div { display:grid; grid-template-columns:minmax(90px,.42fr) minmax(0,1fr); gap:12px; padding:11px 13px; background:#faf9f6; }
.rv-product-facts dt,.rv-product-inline-facts dt { color:var(--rv-color-muted); font-size:.76rem; }
.rv-product-facts dd,.rv-product-inline-facts dd { margin:0; color:var(--rv-color-text); font-size:.8rem; font-weight:700; line-height:1.8; }
.rv-product-inline-facts { margin-top:12px; border-radius:10px; overflow:hidden; }
.rv-native .woocommerce table.shop_attributes { border:0; border-radius:var(--rv-radius); overflow:hidden; background:var(--rv-color-border); }
.rv-native .woocommerce table.shop_attributes th,.rv-native .woocommerce table.shop_attributes td { border:0; border-bottom:1px solid var(--rv-color-border); background:#faf9f6; padding:12px 14px; font-size:.82rem; line-height:1.8; }
.rv-native .woocommerce table.shop_attributes th { width:34%; color:var(--rv-color-muted); font-weight:600; }
.rv-native .woocommerce table.shop_attributes td p { margin:0; padding:0; }

@media (min-width:760px) {
	.rv-product-summary-card { padding:20px 22px; }
	.rv-product-facts dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; }
	.rv-product-editorial__intro p,.rv-product-copy-section p { font-size:.96rem; }
}
