/* ==========================================================================
   Roids24 — wishlist page (markup: R24 Wishlist plugin, templates/wishlist.php)
   Loaded on the wishlist page only. Matches the cart lines.
   ========================================================================== */

.r24-page--wishlist { padding-bottom: 80px; }

.r24w { display: flex; flex-direction: column; gap: 20px; max-width: 960px; }
.r24w.is-busy .r24w__items, .r24w.is-busy .r24w__bar { opacity: .55; pointer-events: none; transition: opacity .15s ease; }

.r24w__notices:empty, .r24w__notices:not(:has(*)) { display: none; } /* whitespace-only box still took a flex gap */
.r24-page--wishlist .r24-account__head { margin-bottom: 20px; }
.r24w__msg {
	margin: 0; padding: 14px 16px;
	border: 1px solid var(--r24-accent-line); border-radius: var(--r24-r-option);
	background: var(--r24-accent-soft);
	font-size: 14px; line-height: 21px;
}
.r24w__msg:focus { outline: none; }
.r24w__msg.is-error { border-color: #F2C4BA; background: #FDF3F1; color: #8A2A16; }
.r24w__msg a { margin-left: 4px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.r24w__bar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.r24w__count { margin: 0; font-size: 16px; color: var(--r24-text-2); }
.r24w__allform { margin: 0; }

/* Buttons */
.r24w-btn {
	height: 44px; padding: 0 18px;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 1px solid var(--r24-ink); border-radius: var(--r24-r-control);
	background: #fff; color: var(--r24-ink);
	font-size: 14px; font-weight: 600; line-height: 1; white-space: nowrap;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.r24w-btn--primary { border-color: var(--r24-accent); background: var(--r24-accent); color: #fff; }
.r24w-btn--primary:hover { border-color: var(--r24-accent-deep); background: var(--r24-accent-deep); color: #fff; }
.r24w-btn--dark { background: var(--r24-ink); color: #fff; }
.r24w-btn--dark:hover { background: #000; color: #fff; }
.r24w-btn--outline:hover { background: var(--r24-ink); color: #fff; }
.r24w-btn--off { border-color: var(--r24-border); background: var(--r24-surface); color: var(--r24-muted); cursor: default; }
.r24w-link {
	min-height: 32px; padding: 0;
	border: 0; background: none;
	font-size: 13px; font-weight: 500; color: var(--r24-text-2);
	text-decoration: underline; text-underline-offset: 3px;
	cursor: pointer;
}
.r24w-link:hover { color: var(--r24-ink); }

/* Items */
.r24w__items { margin: 0; padding: 0; list-style: none; border: 1px solid var(--r24-border); border-radius: var(--r24-r-panel); overflow: hidden; }
.r24w-item { display: flex; gap: 20px; padding: 20px; }
.r24w-item + .r24w-item { border-top: 1px solid var(--r24-border); }

.r24w-item__img {
	width: 112px; height: 112px; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	border-radius: var(--r24-r-option);
	background: var(--r24-image-well);
	overflow: hidden;
}
.r24w-item__photo { width: 100%; height: 100%; object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.r24w-item__img .r24-pkg--line { width: 34px; height: 50px; }
.r24w-item__img .r24-pkg--line.r24-pkg--wide { width: 54px; height: 36px; }
.r24w-item__img .r24-pkg--line.r24-pkg--square { width: 46px; height: 46px; }
.r24w-item__img .r24-pkg__band { font-size: 0; }
.r24w-item__img .r24-pkg__lines { display: none; }
.r24w-item.is-oos .r24w-item__img > * { opacity: .55; }

.r24w-item__body { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
.r24w-item__info { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.r24w-item__brand { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--r24-muted); }
.r24w-item__name { font-size: 17px; line-height: 23px; font-weight: 600; color: var(--r24-ink); overflow-wrap: anywhere; }
.r24w-item__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.r24w-item__meta { font-size: 14px; color: var(--r24-text-2); }

.r24w-item__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.r24w-tag {
	height: 24px; padding: 0 8px;
	display: inline-flex; align-items: center;
	border-radius: 6px;
	font-size: 12px; font-weight: 600;
	background: var(--r24-surface); color: var(--r24-text);
}
.r24w-tag--us-domestic { background: var(--r24-accent-tint); color: var(--r24-accent-deep); }
.r24w-tag--in { background: none; padding: 0; color: var(--r24-accent-deep); }
.r24w-tag--out { background: none; padding: 0; color: #B42318; }
.r24w-tag--drop { background: var(--r24-accent); color: #fff; }

.r24w-item__side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 14px; }
.r24w-item__price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; }
.r24w-item__now { font-size: 18px; font-weight: 700; color: var(--r24-ink); }
.r24w-item__was { font-size: 13px; color: var(--r24-muted); }
.r24w-item__was del { color: var(--r24-muted); }

.r24w-item__actions { display: flex; align-items: center; gap: 16px; }
.r24w-item__actions form { margin: 0; }
.r24w-item__actions .r24w-btn { min-width: 132px; }

/* Email preferences */
.r24w-prefs {
	display: flex; flex-direction: column; gap: 14px;
	margin: 0; padding: 20px 24px;
	border-radius: var(--r24-r-panel);
	background: var(--r24-surface);
}
.r24w-prefs fieldset { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; border: 0; }
.r24w-prefs__title { margin-bottom: 4px; padding: 0; font-size: 16px; font-weight: 700; color: var(--r24-ink); }
.r24w-check { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; font-size: 14px; color: var(--r24-text); cursor: pointer; }
.r24w-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--r24-accent); }
.r24w-prefs__row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 12px; }
.r24w-prefs__label { flex-basis: 100%; font-size: 13px; font-weight: 600; }
.r24w-prefs__input {
	flex: 1 1 260px; min-width: 0; height: 44px; padding: 0 12px;
	border: 1px solid var(--r24-border-strong); border-radius: var(--r24-r-control);
	background: #fff; font-size: 14px;
}
.r24w-prefs__note { flex: 1 1 260px; margin: 0; font-size: 14px; color: var(--r24-text-2); }

/* Empty state */
.r24w-empty {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	padding: 64px 24px;
	border: 1px dashed var(--r24-border-strong); border-radius: var(--r24-r-panel);
	text-align: center;
}
.r24w-empty__icon { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 32px; background: var(--r24-surface); color: var(--r24-ink); }
.r24w-empty__title { font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: 0; }
.r24w-empty__title:focus { outline: none; }
.r24w-empty__text { max-width: 440px; margin: 0; font-size: 15px; color: var(--r24-text-2); }
.r24w-empty .r24w-btn { height: 48px; margin-top: 8px; padding: 0 22px; border-radius: var(--r24-r-option); font-size: 15px; }

@media (max-width: 760px) {
	.r24w-item { gap: 14px; padding: 16px; }
	.r24w-item__img { width: 72px; height: 72px; }
	.r24w-item__img .r24-pkg--line { transform: scale(.7); }
	.r24w-item__info { flex-basis: 100%; }
	.r24w-item__side { flex: 1 1 100%; flex-direction: row; align-items: center; justify-content: space-between; }
	.r24w-item__price { align-items: flex-start; text-align: left; }
	.r24w-item__actions { flex-direction: column-reverse; align-items: flex-end; gap: 4px; }
	.r24w-item__actions .r24w-btn { min-width: 0; }
	.r24w__bar .r24w__allform, .r24w__bar .r24w-btn { width: 100%; }
	.r24w-prefs { padding: 16px; }
	.r24w-prefs__row .r24w-btn { width: 100%; }
}
