/*
 * Ringövarvet Butik – utseendet på butikssidorna.
 * Följer ringovarvet.se: lila #361D5F, orange #FFA500, korall #F78C5B.
 * Allt är avgränsat till WooCommerce och tilläggets egna klasser (rv-), så temat påverkas inte.
 * Orange används bara som yta med lila text, aldrig som text på vitt (kontrastkrav).
 */
:root {
	--rv-purple: #361D5F;
	--rv-purple-deep: #24123F;
	--rv-purple-soft: #5B4A78;
	--rv-orange: #FFA500;
	--rv-coral: #F78C5B;
	--rv-mist: #F4F2F8;
	--rv-line: #DEDAE6;
	--rv-manila: #EADBB8;
	--rv-manila-edge: #CDB98C;
	--rv-sold: #8B8398;
	--rv-error: #9B2C2C;
	--rv-hand: "Caveat", "Segoe Print", "Bradley Hand", cursive;
}

/* ---------- Varulistor ---------- */
.woocommerce ul.products li.product { position: relative; }
.woocommerce ul.products li.product a img {
	border-radius: 4px;
	background: var(--rv-mist);
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--rv-purple); }
.rv-loop-meta {
	display: grid;
	gap: 2px;
	margin: 2px 0 10px;
	font-size: .88em;
	color: var(--rv-purple-soft);
}
.rv-from { font-weight: 600; }

.rv-grade { display: inline-flex; align-items: center; gap: 6px; }
.rv-dots { display: inline-flex; gap: 3px; vertical-align: middle; }
.rv-dots i {
	display: inline-block;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	border: 1.5px solid currentColor;
}
.rv-dots i.on { background: currentColor; }

/* ---------- Priset som varvets handskrivna prislapp ---------- */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	position: relative;
	display: inline-flex;
	align-items: center;
	background: var(--rv-manila);
	color: var(--rv-purple-deep) !important;
	font-family: var(--rv-hand);
	font-weight: 700;
	font-size: 1.6em;
	line-height: 1;
	padding: .22em .6em .12em 1.35em;
	clip-path: polygon(.75em 0, 100% 0, 100% 100%, .75em 100%, 0 50%);
	transform: rotate(-2deg);
}
.woocommerce ul.products li.product .price::before,
.woocommerce div.product p.price::before {
	content: "";
	position: absolute;
	left: .45em;
	top: 50%;
	width: .3em;
	height: .3em;
	margin-top: -.15em;
	border-radius: 50%;
	background: #FFFFFF;
	box-shadow: inset 0 0 0 1.5px var(--rv-manila-edge);
}
.woocommerce div.product p.price { font-size: 2.2em; margin: 6px 0 4px; }
.woocommerce ul.products li.product .price .amount,
.woocommerce div.product p.price .amount { color: inherit; }
.rv-price-request { font-size: .72em; }

/* ---------- Knappar ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
	background: var(--rv-orange);
	color: var(--rv-purple);
	border-radius: 4px;
	font-weight: 600;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: #FFB52E;
	color: var(--rv-purple);
}
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible { outline: 3px solid var(--rv-purple); outline-offset: 2px; }

/* ---------- Sålda varor ---------- */
.rv-sold {
	position: absolute;
	top: 22%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -50%) rotate(-12deg);
	border: 3px solid var(--rv-purple);
	border-radius: 4px;
	background: rgba(255, 255, 255, .82);
	color: var(--rv-purple);
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	padding: 2px 12px 2px 16px;
	pointer-events: none;
}
.woocommerce ul.products li.product.outofstock img { filter: grayscale(1); opacity: .6; }
.woocommerce ul.products li.product.outofstock .price {
	background: var(--rv-mist);
	color: var(--rv-sold) !important;
	text-decoration: line-through;
	transform: none;
}

/* ---------- Underkategorier ---------- */
.rv-subs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.rv-subs a {
	display: inline-flex;
	gap: 6px;
	border: 1px solid var(--rv-line);
	border-radius: 999px;
	padding: 5px 13px;
	background: #FFFFFF;
	color: var(--rv-purple);
	font-size: .95em;
	text-decoration: none;
}
.rv-subs a span { color: var(--rv-purple-soft); }
.rv-subs a:hover { border-color: var(--rv-purple); }
.rv-subs a.is-active { background: var(--rv-purple); border-color: var(--rv-purple); color: #FFFFFF; }
.rv-subs a.is-active span { color: #E6E0F0; }
.rv-subs a.is-empty { color: var(--rv-sold); }
@media (max-width: 520px) {
	.rv-subs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
	.rv-subs a { flex: none; }
}

/* ---------- Måttsök ---------- */
.rv-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px 18px;
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 6px;
	background: var(--rv-mist);
	color: var(--rv-purple);
}
.rv-filter-title { width: 100%; margin: 0; font-weight: 700; }
.rv-range span,
.rv-grade-select span { display: block; margin-bottom: 4px; font-size: .9em; }
.rv-range input { width: 5.5em; }
.rv-filter input,
.rv-filter select {
	border: 1px solid var(--rv-line);
	border-radius: 4px;
	padding: 6px 8px;
	background: #FFFFFF;
	color: var(--rv-purple);
}
.rv-reset { font-size: .9em; color: var(--rv-purple-soft); }
.rv-filter-help { width: 100%; margin: -6px 0 0; font-size: .88em; color: var(--rv-purple-soft); }

/* ---------- Kategorins introtext ---------- */

/* ---------- Produktsidan ---------- */
.rv-eyebrow {
	margin: 0 0 4px;
	font-size: .85em;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rv-purple-soft);
}
.rv-grade-line { margin: 10px 0 16px; color: var(--rv-purple-soft); }
.rv-one {
	margin-left: 10px;
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--rv-mist);
	font-size: .8em;
	letter-spacing: .07em;
	text-transform: uppercase;
}
.rv-boxes { display: grid; gap: 12px; margin: 20px 0; clear: both; }
.rv-box { padding: 12px 16px; border-radius: 4px; background: var(--rv-mist); }
.rv-box h3 { margin: 0 0 4px; font-size: 1em; color: var(--rv-purple); }
.rv-box p { margin: 0 0 4px; font-size: .95em; }
.rv-scale { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; font-size: .9em; }
.rv-scale li { display: flex; align-items: center; gap: 8px; }
.rv-scale li.is-current { font-weight: 700; }
.rv-small { font-size: .85em; color: var(--rv-purple-soft); }

/* ---------- Butikens startsida ---------- */
.rv-hero {
	display: grid;
	grid-template-columns: 1fr 1.05fr;
	margin: 0 0 28px;
	border-radius: 6px;
	overflow: hidden;
	background: var(--rv-purple-deep);
	color: #FFFFFF;
}
.rv-hero-text { display: grid; gap: 14px; align-content: center; padding: 36px 32px; }
.rv-hero-text p { margin: 0; color: #E6E0F0; max-width: 46ch; }
.rv-hero .rv-hero-eyebrow { color: var(--rv-coral); font-family: "Roboto Condensed", sans-serif; font-size: .9em; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.rv-hero .rv-hero-title { margin: 0; color: #FFFFFF; font-size: clamp(1.8em, 3.6vw, 2.8em); line-height: 1.1; }
.rv-hero .rv-hero-title em { font-style: normal; color: var(--rv-orange); }
.rv-hero-search { display: flex; max-width: 480px; }
.rv-hero-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 11px 14px;
	border: 0;
	border-radius: 4px 0 0 4px;
	background: #FFFFFF;
	color: var(--rv-purple);
	font-size: 1em;
}
.rv-hero-search button {
	padding: 0 18px;
	border: 0;
	border-radius: 0 4px 4px 0;
	background: var(--rv-orange);
	color: var(--rv-purple);
	font-weight: 700;
	cursor: pointer;
}
.rv-hero-links { display: flex; flex-wrap: wrap; gap: 8px; }
.rv-hero-links a {
	padding: 5px 13px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	color: #FFFFFF;
	font-size: .9em;
	text-decoration: none;
}
.rv-hero-links a:hover { border-color: var(--rv-orange); color: var(--rv-orange); }
.rv-hero-img { position: relative; min-height: 300px; margin: 0; }
.rv-hero-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rv-hero-tag {
	position: absolute;
	left: 22px;
	bottom: 22px;
	padding: .25em .7em .15em 1.4em;
	background: var(--rv-manila);
	color: var(--rv-purple-deep);
	font-family: var(--rv-hand);
	font-weight: 700;
	font-size: 1.6em;
	clip-path: polygon(.75em 0, 100% 0, 100% 100%, .75em 100%, 0 50%);
	transform: rotate(-2deg);
}
@media (max-width: 800px) {
	.rv-hero { grid-template-columns: 1fr; }
	.rv-hero-img { min-height: 200px; order: -1; }
	.rv-hero-text { padding: 24px 18px; }
}

.rv-tiles { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin: 0 0 36px; }
@media (max-width: 1040px) { .rv-tiles { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 560px) { .rv-tiles { grid-template-columns: repeat(2, 1fr); } }
.rv-tile {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 4px;
	background: var(--rv-purple-deep);
	color: #FFFFFF !important;
	text-decoration: none !important;
}
.rv-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .72; transition: opacity .2s, transform .4s; }
.rv-tile:hover img { opacity: .9; transform: scale(1.04); }
.rv-tile span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 26px 12px 10px;
	background: linear-gradient(transparent, rgba(20, 10, 36, .85));
	font-weight: 700;
	font-size: 1.05em;
	line-height: 1.15;
}
.rv-tile small { display: block; margin-top: 2px; font-weight: 400; font-size: .8em; opacity: .85; }
.rv-tile.rv-nophoto { background: repeating-linear-gradient(135deg, var(--rv-purple-deep) 0 10px, #2B1749 10px 20px); }
.rv-tile.rv-tile-wanted { background: var(--rv-orange); color: var(--rv-purple) !important; }
.rv-tile.rv-tile-wanted span { background: none; top: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.rv-tile:focus-visible { outline: 3px solid var(--rv-orange); outline-offset: 2px; }
.rv-front-heading { margin: 0 0 16px; color: var(--rv-purple); }
@media (prefers-reduced-motion: reduce) { .rv-tile img { transition: none; } }

/* ---------- Ångerformuläret ---------- */
.rv-withdraw { margin: 28px 0; padding: 22px; border-radius: 6px; background: var(--rv-mist); color: var(--rv-purple); }
.rv-withdraw h2 { margin: 0 0 8px; color: var(--rv-purple); }
.rv-withdraw p { margin: 0 0 12px; }
.rv-withdraw-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rv-withdraw-form label { display: grid; gap: 4px; font-size: .95em; }
.rv-withdraw-form .rv-full { grid-column: 1 / -1; }
.rv-withdraw-form input[type="text"],
.rv-withdraw-form input[type="email"],
.rv-withdraw-form select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--rv-line);
	border-radius: 4px;
	background: #FFFFFF;
}
@media (max-width: 560px) { .rv-withdraw-form { grid-template-columns: 1fr; } }

/* Orange rad ovanför varorna */
.rv-wanted-banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 16px;
	clear: both;
	margin: 0 0 20px;
	padding: 12px 16px;
	border-radius: 6px;
	background: var(--rv-orange);
	color: var(--rv-purple);
}
.rv-wanted-banner a {
	padding: 6px 14px;
	border-radius: 4px;
	background: var(--rv-purple);
	color: #FFFFFF !important;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}
.rv-wanted-banner a:hover { background: var(--rv-purple-deep); }

/* ---------- Efterlysning ---------- */
.rv-wanted {
	display: grid;
	grid-template-columns: 1fr 1.3fr;
	gap: 24px;
	clear: both;
	margin: 36px 0;
	padding: 22px;
	border: 2px solid var(--rv-purple);
	border-radius: 6px;
	color: var(--rv-purple);
}
.rv-wanted h2 { margin: 0 0 6px; color: var(--rv-purple); }
.rv-wanted p { margin: 0; }
.rv-wanted form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rv-wanted label { display: grid; gap: 4px; font-size: .95em; }
.rv-wanted input[type="text"],
.rv-wanted input[type="email"] {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid var(--rv-line);
	border-radius: 4px;
	background: #FFFFFF;
}
.rv-wanted .rv-full { grid-column: 1 / -1; }
.rv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rv-ok { padding: 12px 14px; border-left: 4px solid var(--rv-orange); border-radius: 0 4px 4px 0; background: var(--rv-mist); }
.rv-err { grid-column: 1 / -1; color: var(--rv-error); }
@media (max-width: 760px) {
	.rv-wanted { grid-template-columns: 1fr; padding: 16px; }
}
@media (max-width: 520px) {
	.rv-wanted form { grid-template-columns: 1fr; }
}

/* ---------- Faktatabell och nypris (v0.7) ---------- */
.rv-new-price { margin: -4px 0 12px; font-size: 15px; color: var(--rv-purple-soft); }
.rv-facts { margin: 18px 0 22px; }
.rv-facts .rv-facts-title { font-size: 15px; letter-spacing: .1em; text-transform: uppercase; color: var(--rv-purple-soft); margin: 0 0 4px; padding: 0; font-weight: 600; }
/* Temat skriver "Publicerad: datum" i sidhuvudet – det behövs inte på varusidor. */
.single-product .entry-header .entry-meta { display: none; }
.rv-facts table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 15px; }
.rv-facts th, .rv-facts td { text-align: left; vertical-align: top; padding: 7px 0; border: 0; border-bottom: 1px solid var(--rv-line); background: none; }
.rv-facts th { width: 44%; padding-right: 12px; font-weight: 600; color: var(--rv-purple-soft); }
.rv-facts td { color: var(--rv-purple); }
/* ---------- Lägg in vara, för personalen i mobilen (v0.8) ---------- */
.rv-intake { max-width: 680px; margin: 0 auto 40px; color: var(--rv-purple); }
.rv-intake h2 { margin: 0 0 8px; }
.rv-in-who { font-size: 14px; color: var(--rv-purple-soft); margin: 0 0 12px; }
.rv-in-steps { list-style: none; display: flex; gap: 6px; padding: 0; margin: 0 0 16px; }
.rv-in-steps li { flex: 1; text-align: center; font-size: 13px; padding: 5px 0; border-radius: 3px; background: var(--rv-mist); color: var(--rv-purple-soft); }
.rv-in-steps li.is-on { background: var(--rv-orange); color: var(--rv-purple-deep); font-weight: 600; }
.rv-in-steps li.is-done { background: var(--rv-mist); color: var(--rv-purple); }
.rv-in-form { display: grid; gap: 14px; margin: 0; }
.rv-in-form fieldset { border: 1px solid var(--rv-line); border-radius: 6px; padding: 12px 14px 16px; margin: 0; display: grid; gap: 12px; min-width: 0; }
.rv-in-form legend { font-weight: 600; padding: 0 6px; }
.rv-in-field { display: grid; gap: 4px; margin: 0; min-width: 0; }
.rv-in-field > span { font-size: 14px; font-weight: 600; }
.rv-in-field input[type="text"], .rv-in-field select, .rv-in-field textarea { width: 100%; box-sizing: border-box; font-size: 16px; padding: 10px; border: 1px solid var(--rv-line); border-radius: 6px; background: #fff; color: var(--rv-purple-deep); }
.rv-in-field small, .rv-intake .rv-small { font-size: 13px; color: var(--rv-purple-soft); }
.rv-in-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 420px) { .rv-in-row { grid-template-columns: 1fr; } }
.rv-in-grades { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.rv-in-grades label { position: relative; border: 1px solid var(--rv-line); border-radius: 6px; text-align: center; padding: 6px 2px; font-size: 11px; line-height: 1.2; cursor: pointer; }
.rv-in-grades b { display: block; font-size: 18px; }
.rv-in-grades input { position: absolute; opacity: 0; pointer-events: none; }
.rv-in-grades label:has(input:checked) { background: var(--rv-purple); color: #fff; border-color: var(--rv-purple); }
.rv-in-grades label:has(input:focus-visible) { outline: 3px solid var(--rv-orange); outline-offset: 1px; }
.rv-in-radios { display: grid; gap: 6px; }
.rv-in-radios label { border: 1px solid var(--rv-line); border-radius: 6px; padding: 8px 10px; cursor: pointer; }
.rv-in-radios label:has(input:checked) { border-color: var(--rv-purple); background: var(--rv-mist); }
.rv-in-radios small { display: block; color: var(--rv-purple-soft); }
.rv-in-lapp-wrap { text-align: center; margin: 6px 0 14px; }
.rv-in-lapp { position: relative; display: inline-block; background: var(--rv-manila); color: var(--rv-purple-deep); font-family: var(--rv-hand); font-size: 40px; line-height: 1; padding: 12px 22px 12px 44px; clip-path: polygon(22px 0, 100% 0, 100% 100%, 22px 100%, 0 50%); transform: rotate(-3deg); }
.rv-in-lapp::before { content: ""; position: absolute; left: 15px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px var(--rv-manila-edge); }
.rv-in-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 8px; }
.rv-in-shot { position: relative; aspect-ratio: 1; border: 1.5px dashed var(--rv-line); border-radius: 6px; background: var(--rv-mist) center / cover no-repeat; display: grid; place-items: center; text-align: center; font-size: 12px; line-height: 1.2; color: var(--rv-purple-soft); cursor: pointer; overflow: hidden; padding: 6px; }
.rv-in-shot input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.rv-in-shot b { display: block; font-size: 20px; color: var(--rv-purple); }
.rv-in-shot em { display: block; font-style: normal; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; margin-top: 2px; }
.rv-in-shot.is-filled { border-style: solid; border-color: #2F6B45; }
.rv-in-shot.is-filled .rv-in-shot-text { display: none; }
.rv-in-shot-state { position: absolute; right: 6px; bottom: 6px; background: rgba(255,255,255,.9); color: var(--rv-purple-deep); border-radius: 3px; padding: 0 5px; font-size: 12px; }
.rv-in-shot-state:empty { display: none; }
.rv-in-shot.is-busy { opacity: .6; }
.rv-in-nav { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 8px 0 0; }
.rv-intake .rv-in-go { font-size: 17px; padding: 12px 18px; }
.rv-in-h3 { margin: 28px 0 8px; }
.rv-in-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.rv-in-list li { border: 1px solid var(--rv-line); border-radius: 6px; padding: 8px 10px; display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.rv-in-sku { font-weight: 600; }
.rv-in-name { flex: 1 1 160px; min-width: 0; }
.rv-in-status { font-size: 12px; border-radius: 3px; padding: 1px 6px; background: var(--rv-mist); }
.rv-in-status.is-pending { background: var(--rv-orange); color: var(--rv-purple-deep); }
.rv-in-status.is-publish { background: #2F6B45; color: #fff; }
.rv-in-note { flex-basis: 100%; font-size: 13px; color: var(--rv-error); }
.rv-in-done { text-align: center; display: grid; gap: 10px; justify-items: center; }
.rv-in-tick { width: 64px; height: 64px; border-radius: 50%; background: #2F6B45; color: #fff; display: grid; place-items: center; font-size: 34px; margin: 10px 0 0; }
.rv-intake .rv-ok { background: #E7F2EA; color: #2F6B45; border-radius: 6px; padding: 8px 12px; }
.rv-intake .rv-err { background: #FBEAEA; color: var(--rv-error); border-radius: 6px; padding: 8px 12px; }
.rv-intake .rv-err ul { margin: 4px 0 0 18px; }
/* Spara står först i koden (Enter sparar bara), men Skicka visas först. */
.rv-in-submit { flex-direction: row-reverse; justify-content: flex-end; }
.rv-in-shot-state { max-width: calc(100% - 12px); white-space: normal; }

/* ---------- Obligatoriska fält och förhandsvisning (v0.10) ---------- */
.rv-in-req, .rv-in-opt { font-style: normal; font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; border-radius: 3px; padding: 0 5px; margin-left: 4px; vertical-align: 1px; white-space: nowrap; }
.rv-in-req { background: var(--rv-purple); color: #fff; }
.rv-in-opt { background: var(--rv-mist); color: var(--rv-purple-soft); border: 1px solid var(--rv-line); }
.rv-in-preview { border: 1px solid var(--rv-line); border-radius: 8px; padding: 14px; display: grid; gap: 10px; margin: 8px 0 14px; background: #fff; }
.rv-in-preview-img { width: 100%; max-width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; background: var(--rv-mist); }
.rv-in-preview-none { display: grid; place-items: center; color: var(--rv-error); }
.rv-in-preview-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
.rv-in-preview-thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 3px; }
.rv-in-preview-title { font-size: 24px; margin: 0; }
.rv-in-preview-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; }
.rv-in-lapp-small { font-size: 28px; padding: 8px 16px 8px 34px; clip-path: polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%); }
.rv-in-lapp-small::before { left: 10px; }
/* ---------- Prisförslag och granskning (v0.11) ---------- */
.rv-price-hint { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; background: #FFF6E3; border: 1px solid #F2D9A6; border-radius: 6px; padding: 8px 10px; }
.rv-price-hint .rv-ph-text { font-size: 16px; }
.rv-price-hint .rv-ph-text:empty { display: none; }
.rv-price-hint .rv-ph-how { grid-column: 1 / -1; color: var(--rv-purple-soft); font-size: 13px; }
.rv-review-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.rv-review-grid a { display: grid; gap: 4px; text-decoration: none; color: var(--rv-purple); border: 1px solid var(--rv-line); border-radius: 8px; padding: 8px; background: #fff; }
.rv-review-grid a:hover { border-color: var(--rv-purple); }
.rv-review-grid img, .rv-review-noimg { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; background: var(--rv-mist); }
.rv-review-noimg { display: grid; place-items: center; color: var(--rv-error); font-size: 13px; }
.rv-review-grid strong { font-size: 14px; line-height: 1.25; }
.rv-review-grid small { color: var(--rv-purple-soft); }
#rv-price-use[hidden] { display: none !important; }

/* Fotorutorna: vad varje bild ska visa, och vilka som får grå bakgrund */
.rv-in-photo-rules { list-style: none; padding: 0; margin: 0 0 10px; display: grid; gap: 6px; font-size: 14px; }
.rv-in-tag { display: inline-block; font-size: 11px; line-height: 1.3; padding: 2px 6px; border-radius: 3px; font-weight: 600; white-space: nowrap; }
.rv-in-tag.is-gra { background: #E2E2E0; color: var(--rv-purple-deep); border: 1px solid #A6A6A4; }
.rv-in-tag.is-orig { background: #fff; color: var(--rv-purple-soft); border: 1px solid var(--rv-line); }
.rv-in-shot .rv-in-tag { position: absolute; top: 6px; left: 6px; max-width: calc(100% - 12px); overflow: hidden; text-overflow: ellipsis; }
.rv-in-shot.is-gra { background-color: #ECECEA; border-color: #A6A6A4; }
.rv-in-shot .rv-in-shot-text { padding-top: 16px; }
.rv-in-shot small { display: block; font-size: 11px; line-height: 1.25; margin-top: 2px; }
@media (max-width: 480px) { .rv-in-shots { grid-template-columns: repeat(2, 1fr); } }

/* Grå bakgrund på bild 1 och 2 (Lägg in vara och granskningen) */
.rv-studio { border: 1px solid var(--rv-line); border-radius: 8px; padding: 12px; margin: 12px 0; background: #fff; }
.rv-studio-check { margin: 8px 0; padding: 8px 10px; border-radius: 6px; background: #FFF6E3; border: 1px solid var(--rv-orange); font-size: 14px; color: var(--rv-purple); }
.rv-studio-crop { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.rv-in-home { margin: 0 0 10px; text-align: right; }
.rv-in-home a { display: inline-block; padding: 6px 12px; border: 1px solid var(--rv-purple); border-radius: 4px; color: var(--rv-purple); font-weight: 600; text-decoration: none; }
.rv-in-home a:hover { background: var(--rv-purple); color: #FFFFFF; }
/* Beskär och gör om: en ruta dras runt varan på originalbilden */
.rv-crop { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 12, 35, .7); }
.rv-crop-in { max-width: 960px; width: 100%; max-height: 100%; overflow: auto; padding: 16px; border-radius: 8px; background: #FFFFFF; color: var(--rv-purple); }
.rv-crop-in p { margin: 0 0 10px; }
.rv-crop-wrap { position: relative; display: inline-block; max-width: 100%; touch-action: none; cursor: crosshair; user-select: none; }
.rv-crop-wrap img { display: block; max-width: 100%; max-height: 70vh; pointer-events: none; }
.rv-crop-box { position: absolute; border: 2px solid var(--rv-orange); box-shadow: 0 0 0 9999px rgba(0, 0, 0, .35); pointer-events: none; }
.rv-crop-knappar { margin-top: 10px !important; }
.rv-studio[hidden], .rv-studio [hidden] { display: none !important; }
.rv-in-etikett[hidden] { display: none !important; }
.rv-in-etikett label span { font-size: 14px; font-weight: 600; }
.rv-in-etikett input { font-size: 22px !important; font-weight: 700; letter-spacing: .04em; }
.rv-in-steps a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.rv-in-delete { display: inline; margin: 0 0 0 8px; }
.rv-in-delete-btn { font-size: 14px !important; padding: 2px 10px !important; min-height: 0 !important; color: var(--rv-error, #a32d2d) !important; border-color: currentColor !important; background: transparent !important; }
.rv-in-scan { margin-top: 8px !important; font-size: 17px !important; padding: 8px 16px !important; }
.rv-in-scan[hidden] { display: none !important; }
.rv-in-scan-msg:empty { display: none; }
.rv-scan[hidden] { display: none !important; }
.rv-scan { position: fixed; inset: 0; z-index: 100000; background: rgba(20, 10, 35, .92); display: flex; align-items: center; justify-content: center; padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); }
.rv-scan-inner { width: min(560px, 100%); display: grid; gap: 12px; text-align: center; color: #fff; }
.rv-scan-inner p { color: #fff; margin: 0; font-size: 17px; }
.rv-scan-view { position: relative; border-radius: 10px; overflow: hidden; background: #000; }
.rv-scan-view video { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: cover; }
.rv-scan-frame { position: absolute; inset: 18% 22%; border: 3px solid var(--rv-orange, #FFA500); border-radius: 8px; box-shadow: 0 0 0 9999px rgba(0, 0, 0, .25); }
.rv-in-confirm { border: 2px solid var(--rv-orange); border-radius: 8px; padding: 12px 14px; margin: 0 0 12px; background: #fff; }
.rv-in-returned .rv-in-note { display: block; color: var(--rv-error, #a32d2d); }
.rv-review-facts { font-size: 14px; background: var(--rv-mist); border-radius: 6px; padding: 8px 10px; }
.rv-studio-h { font-size: 17px; margin: 0 0 8px; }
.rv-studio-imgs { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 8px; margin: 0 0 8px; }
.rv-studio-imgs img { width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 6px; background: var(--rv-mist); display: block; }
.rv-studio.is-busy .rv-studio-imgs img { opacity: .55; }
.rv-studio-state { margin: 8px 0; font-size: 15px; }
.rv-studio-state:empty, .rv-studio-why:empty { display: none; }
.rv-studio-why { margin: -4px 0 8px; font-size: 12px; color: var(--rv-purple-soft); word-break: break-word; }
.rv-studio-alt { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin: 0; font-size: 14px; }
.rv-studio-alt .button { padding: 4px 10px; font-size: 14px; }
.rv-studio-alt .button[aria-pressed="true"] { background: var(--rv-purple); color: #fff; border-color: var(--rv-purple); }
.rv-studio.is-busy .rv-studio-alt .button:not([data-do="original"]) { opacity: .5; pointer-events: none; }

/* Viktknappar och automatisk frakt */
.rv-in-weights { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.rv-in-weights label { position: relative; border: 1px solid var(--rv-line); border-radius: 6px; text-align: center; padding: 10px 2px; font-size: 13px; line-height: 1.2; cursor: pointer; }
.rv-in-weights input { position: absolute; opacity: 0; pointer-events: none; }
.rv-in-weights label:has(input:checked) { background: var(--rv-purple); color: #fff; border-color: var(--rv-purple); }
.rv-in-weights label:has(input:focus-visible) { outline: 3px solid var(--rv-orange); outline-offset: 1px; }
@media (max-width: 420px) { .rv-in-weights { grid-template-columns: repeat(3, 1fr); } }
.rv-in-ship-auto { margin: 0; font-size: 15px; }
.rv-in-ship-auto small { display: block; color: var(--rv-purple-soft); }
.rv-in-ship-own summary { cursor: pointer; font-size: 14px; color: var(--rv-purple-soft); margin: 4px 0; }

/* ✕ Ta bort på en tagen bild (fotosteget). Ligger över det osynliga filfältet så att trycket hamnar på knappen. */
.rv-in-shot input { z-index: 1; }
.rv-in-del { position: absolute; top: 6px; right: 6px; z-index: 2; border: 0; border-radius: 4px; padding: 5px 9px; font-size: 13px; font-weight: 700; line-height: 1.2; background: rgba(255, 255, 255, .95); color: var(--rv-error, #a32d2d); box-shadow: 0 1px 3px rgba(0, 0, 0, .3); cursor: pointer; }
.rv-in-shot:not(.is-filled) .rv-in-del, .rv-in-shot.is-busy .rv-in-del { display: none; }
.rv-in-shot.is-filled .rv-in-tag { top: auto; bottom: 6px; }

/* Bilderna i full storlek (förhandsvisning och granskning) – numrerade i butikens ordning */
.rv-zoom { cursor: zoom-in; }
.rv-zoom-wrap { position: relative; display: block; min-width: 0; }
.rv-zoom-wrap > img { display: block; width: 100%; }
.rv-num { position: absolute; top: 4px; left: 4px; background: rgba(54, 29, 95, .92); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3; border-radius: 3px; padding: 1px 6px; pointer-events: none; }
.rv-in-preview-img + .rv-num { top: 8px; left: 8px; font-size: 14px; padding: 2px 8px; }
.rv-zoom-wrap .is-original { opacity: .85; }
.rv-zoom-wrap .is-original + .rv-num { background: rgba(120, 120, 120, .92); font-size: 10px; }
.rv-lightbox[hidden] { display: none !important; }
.rv-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(10, 5, 20, .95); display: flex; align-items: center; justify-content: center; padding: 48px 12px 44px; box-sizing: border-box; }
.rv-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; background: #fff; }
.rv-lb-btn, .rv-lb-close { position: absolute; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .9); color: #361D5F; cursor: pointer; padding: 0; font-size: 30px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.rv-lb-btn { top: 50%; transform: translateY(-50%); width: 56px; height: 56px; }
.rv-lb-btn[hidden] { display: none; }
.rv-lb-prev { left: 12px; }
.rv-lb-next { right: 12px; }
.rv-lb-close { top: 8px; right: 8px; width: 44px; height: 44px; font-size: 22px; }
.rv-lb-count { position: absolute; bottom: 10px; left: 0; right: 0; margin: 0; text-align: center; color: #fff; font-size: 15px; }

/* "Varor i butiken": sökfältet döljer rader */
.rv-in-list li[hidden] { display: none; }
#rv-shop-filter { margin-bottom: 10px; }

/* "Vet ej", fråga till granskaren och "Ta tillbaka" (v0.15) */
.rv-in-field > label > span { font-size: 14px; font-weight: 600; }
.rv-in-unknown { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--rv-purple-soft); cursor: pointer; padding: 4px 0; justify-self: start; }
.rv-in-unknown input { width: 22px; height: 22px; margin: 0; accent-color: var(--rv-purple); }
.rv-in-field.is-unknown input[type="text"], .rv-in-field.is-unknown select { background: var(--rv-mist); border-style: dashed; }
.rv-in-field.is-unknown .rv-in-unknown { color: var(--rv-purple); font-weight: 600; }
.rv-in-small-btn { font-size: 14px !important; padding: 2px 10px !important; min-height: 0 !important; }
/* Mobil: temats stora bild överst tar en hel skärm – i butiken räcker en lägre, så att varan syns direkt. */
@media (max-width: 768px) {
	body.woocommerce-page .hero.is-primary { height: 220px !important; }
	body.woocommerce-page .hero.is-primary img.logo { max-height: 110px; width: auto; }
}
.rv-in-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: -4px 0 14px; }
.rv-in-suggest small { flex: 1 1 220px; font-size: 13px; color: var(--rv-purple-soft); }
.rv-in-takeback { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; }
.rv-in-takeback .rv-in-delete { margin: 0; }
.rv-review-question { background: #FFF6E3; border: 2px solid var(--rv-orange); border-radius: 8px; padding: 10px 12px; margin: 0 0 12px; }
.rv-review-has-q { justify-self: start; font-size: 12px; font-weight: 600; background: var(--rv-orange); color: var(--rv-purple-deep); border-radius: 3px; padding: 1px 6px; }

/* ---------- Tack-sidan: ordernumret stort, artikelnumret under varan ---------- */
.woocommerce-order-overview__order strong { display: block; font-size: 2em; line-height: 1.2; color: var(--rv-purple); letter-spacing: .02em; }
.rv-item-sku { font-size: .9em; color: var(--rv-purple-soft); }
.rv-next { margin: 0 0 24px; padding: 14px 18px; border-left: 4px solid var(--rv-orange); border-radius: 4px; background: #FFF6E3; color: var(--rv-purple); }
.rv-next h2 { margin: 0 0 6px; font-size: 1.3em; }
.rv-next p { margin: 0; }
/* ---------- Raden överst i webbshoppen: Webbshop (till startsidan), var man är och sökrutan ---------- */
.rv-shopbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; margin: 0 0 20px; padding: 10px 14px; border: 1px solid var(--rv-line); border-radius: 6px; background: var(--rv-mist); }
.rv-shopbar-trail { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; min-width: 0; margin: 0; color: var(--rv-purple-soft); font-size: .95em; }
.rv-shopbar-trail a { color: var(--rv-purple); text-decoration: none; }
.rv-shopbar-trail a:hover { text-decoration: underline; }
.rv-shopbar .rv-shopbar-home { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 4px; background: var(--rv-purple); color: #FFFFFF; font-weight: 700; }
.rv-shopbar .rv-shopbar-home:hover { background: var(--rv-purple-deep); text-decoration: none; }
.rv-shopbar-home svg { width: 15px; height: 15px; fill: currentColor; }
.rv-shopbar-sep { color: var(--rv-sold); }
.rv-shopbar-search { display: flex; flex: 0 1 380px; min-width: 0; margin: 0; }
.rv-shopbar-search input[type="search"] { flex: 1; min-width: 0; padding: 9px 12px; border: 1px solid var(--rv-line); border-right: 0; border-radius: 4px 0 0 4px; background: #FFFFFF; color: var(--rv-purple); font-size: 1em; }
.rv-shopbar-search button { padding: 0 18px; border: 0; border-radius: 0 4px 4px 0; background: var(--rv-orange); color: var(--rv-purple); font-weight: 700; cursor: pointer; }
.rv-shopbar a:focus-visible, .rv-shopbar-search input:focus-visible, .rv-shopbar-search button:focus-visible { outline: 3px solid var(--rv-purple); outline-offset: 2px; }
.rv-shopbar .rv-shopbar-cart { position: relative; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--rv-purple); border-radius: 4px; background: #FFFFFF; color: var(--rv-purple); font-weight: 700; text-decoration: none; }
.rv-shopbar .rv-shopbar-cart:hover { background: var(--rv-purple); color: #FFFFFF; }
.rv-shopbar-cart svg { width: 22px; height: 22px; fill: currentColor; }
.rv-shopbar-count { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--rv-orange); color: var(--rv-purple-deep); font-size: 13px; line-height: 1; }
@media (max-width: 640px) {
	.rv-shopbar-cart { order: 2; margin-left: auto; }
	.rv-shopbar-search { order: 3; flex-basis: 100%; }
	.rv-shopbar-cart-text { display: none; }
}

/* ---------- Större sorteringsruta (alla kategorier) och "Visa som" rader eller rutnät (seglen) ---------- */
.woocommerce .woocommerce-ordering select.orderby { min-height: 44px; padding: 8px 12px; border: 1px solid var(--rv-purple-soft); border-radius: 4px; background-color: #FFFFFF; color: var(--rv-purple); font-family: inherit; font-size: 16px; }
.rv-view { float: right; display: flex; align-items: center; gap: 6px; margin: 0 16px 1em 0; }
.rv-view-label { margin-right: 2px; color: var(--rv-purple-soft); }
.rv-view a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 1px solid var(--rv-purple-soft); border-radius: 4px; background: #FFFFFF; color: var(--rv-purple); font-size: 16px; text-decoration: none; }
.rv-view a:hover { border-color: var(--rv-purple); }
.rv-view a[aria-current] { background: var(--rv-purple); border-color: var(--rv-purple); color: #FFFFFF; }
.rv-view a:focus-visible { outline: 3px solid var(--rv-purple); outline-offset: 2px; }
.rv-view svg { width: 16px; height: 16px; fill: currentColor; }
.woocommerce ul.products.rv-rows li.product { float: none !important; clear: none !important; width: auto !important; margin: 0 !important; display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rv-line); }
.woocommerce ul.products.rv-rows li.product:first-child { border-top: 1px solid var(--rv-line); }
.woocommerce ul.products.rv-rows li.product a.woocommerce-LoopProduct-link { flex: 1; min-width: 0; display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; grid-template-areas: "img title price" "img meta price"; column-gap: 16px; align-items: center; }
.woocommerce ul.products.rv-rows li.product a img { grid-area: img; width: 96px; height: auto; margin: 0 !important; }
.woocommerce ul.products.rv-rows li.product .woocommerce-loop-product__title { grid-area: title; align-self: end; margin: 0; padding: 0; font-size: 1.15em; }
.woocommerce ul.products.rv-rows li.product .rv-loop-meta { grid-area: meta; align-self: start; margin: 4px 0 0; }
.woocommerce ul.products.rv-rows li.product .price { grid-area: price; justify-self: end; margin: 0; font-size: 1.4em; }
.woocommerce ul.products.rv-rows li.product .wc-stripe-bnpl-shop-message { display: none; }
.woocommerce ul.products.rv-rows li.product .button { flex: none; margin: 0; }
.woocommerce ul.products.rv-rows li.product .rv-sold { top: 50%; left: 48px; font-size: .75em; }
@media (max-width: 640px) {
	.woocommerce .woocommerce-ordering, .rv-view { float: none; margin: 0 0 12px; }
	.woocommerce .woocommerce-ordering select.orderby { width: 100%; }
	.woocommerce ul.products.rv-rows li.product { flex-wrap: wrap; gap: 8px 12px; }
	.woocommerce ul.products.rv-rows li.product a.woocommerce-LoopProduct-link { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: "img title" "img meta" "img price"; column-gap: 12px; }
	.woocommerce ul.products.rv-rows li.product a img { width: 72px; }
	.woocommerce ul.products.rv-rows li.product .price { justify-self: start; margin-top: 6px; font-size: 1.2em; }
	.woocommerce ul.products.rv-rows li.product .button { margin-left: 84px; }
}
/* ---------- Länkrad längst ner: köpvillkor, frakt, ångerrätt, integritet, kontakt ---------- */
.rv-legal { background: var(--rv-mist); border-top: 1px solid var(--rv-line); padding: 14px 16px; margin-top: 32px; font-size: .95em; color: var(--rv-purple); }
.rv-legal-in { max-width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; }
.rv-legal a { color: var(--rv-purple); text-decoration: underline; text-underline-offset: 2px; }
.rv-legal-contact { color: var(--rv-purple-soft); }
@media (max-width: 600px) { .rv-legal-in { display: block; } .rv-legal-contact { display: block; margin-top: 8px; } }
/* ---------- Lägg in vara: sök på artikelnummer, Mina varor, Sålda varor och förhandsvisningen (v0.31) ---------- */
.rv-in-search { margin: 14px 0 6px; }
.rv-in-search-row { display: flex; gap: 8px; }
.rv-in-search-row input { flex: 1 1 auto; min-width: 0; }
.rv-in-found { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: start; border: 2px solid var(--rv-line); border-radius: 8px; padding: 10px 12px; margin: 8px 0 14px; background: #fff; }
.rv-in-found img { width: 72px; height: 72px; object-fit: cover; border-radius: 6px; background: var(--rv-mist); }
.rv-in-found p { margin: 0 0 4px; }
.rv-in-found .rv-in-nav { margin-top: 6px; }
.rv-in-thumb { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; background: var(--rv-mist); align-self: center; }
.rv-in-list[hidden], .rv-in-h3[hidden], .rv-in-preview[hidden], .rv-in-frame-wrap[hidden] { display: none; }
.rv-in-frame-wrap { margin: 0 0 12px; }
.rv-in-frame { display: block; width: 100%; height: 75vh; min-height: 520px; border: 1px solid var(--rv-line); border-radius: 8px; background: #fff; }
/* ---------- Petter 2026-11-05: menyknappen på dator, "Till toppen" i mobilen ---------- */
/* Temats menyknapp (tre streck) öppnar samma meny som redan syns överst på en datorskärm – dold i webbshoppen. */
@media (min-width: 1024px) {
	body.rv-webbshop #burger, body.rv-webbshop .navbar-burger { display: none !important; }
}
.rv-top-wrap { display: none; }
@media (max-width: 768px) {
	.rv-top-wrap { display: block; text-align: center; margin: 28px 16px 0; }
	.rv-top { display: inline-block; background: var(--rv-purple, #361D5F); color: #fff !important; text-decoration: none; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 12px 22px; border-radius: 6px; }
	.rv-top:active { opacity: .85; }
}