/* Account area: header popover, sign-in / create-account card, dashboard, wishlist page.
   Markup: inc/areas/account.php + assets/js/areas/account.js. Overrides style.css §15k / §15r. */

/* ---------- Shared buttons (reference: 16px / 600 / 1.2px, radius 4) ---------- */
.yb .yb-acc-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 12px 16px;
	border: 1px solid transparent;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 1.2px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .15s, color .15s, border-color .15s;
}
.yb .yb-acc-btn--black { background: #000; border-color: #000; color: #fff !important; }
.yb .yb-acc-btn--black:hover,
.yb .yb-acc-btn--black:focus-visible { background: #333; border-color: #333; color: #fff !important; }
.yb .yb-acc-btn--red { background: #D31334; border-color: #D31334; color: #fff !important; }
.yb .yb-acc-btn--red:hover,
.yb .yb-acc-btn--red:focus-visible { background: #B40B27; border-color: #B40B27; color: #fff !important; }
.yb .yb-acc-btn--outline { width: auto; min-width: 176px; min-height: 54px; padding: 14px 24px; background: #fff; border-color: #000; color: #000 !important; letter-spacing: 1.6px; }
.yb .yb-acc-btn--outline:hover,
.yb .yb-acc-btn--outline:focus-visible { background: #000; color: #fff !important; }

.yb .yb-ico { display: block; flex: 0 0 auto; width: 20px; height: 20px; color: #000; }

/* ======================================================================
   1. Header account popover (hover / keyboard focus)
   ==================================================================== */
.yb .wd-header-my-account.yb-has-pop { position: relative; }
.yb .wd-header-my-account.yb-has-pop > .wd-dropdown { display: none !important; }

.yb .yb-acc-pop {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1000;
	box-sizing: border-box;
	width: 264px;
	padding-top: 12px; /* hover bridge between the link and the box */
	text-align: left;
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 6px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
.yb .wd-header-my-account.yb-has-pop:hover > .yb-acc-pop,
.yb .wd-header-my-account.yb-has-pop:focus-within > .yb-acc-pop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
	transition-delay: 0s;
}
.yb .yb-acc-pop__box {
	position: relative;
	box-sizing: border-box;
	padding: 16px 16px 20px;
	background: #fff;
	border: 1px solid #000;
	border-radius: 4px;
	box-shadow: 0 0 6px rgba(0, 0, 0, .45);
	color: #000;
	font-size: 16px;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
}
.yb .yb-acc-pop__box::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 50%;
	width: 12px;
	height: 12px;
	background: #fff;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	transform: translateX(-50%) rotate(45deg);
}
.yb .yb-acc-pop .yb-acc-btn { min-height: 53px; }
.yb .yb-acc-pop .yb-acc-btn--red { min-height: 50px; }
.yb .yb-acc-pop__rule { display: block; width: 100%; max-width: none; height: 0; margin: 16px 0 20px; border: 0; border-top: 1px solid #D5D5D5; background: none; }
.yb .yb-acc-pop__title { margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.2; color: #000; }
.yb .yb-acc-pop__sub { margin: 0 0 12px; font-size: 16px; font-weight: 600; line-height: 1.25; color: #000; }
.yb .yb-acc-benefits { margin: 0 0 18px; padding: 0; list-style: none; }
.yb .yb-acc-benefits li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 7px 0; font-size: 16px; font-weight: 400; line-height: 1.3; color: #000; }
.yb .yb-acc-benefits li::before { content: none; }

/* Logged in */
.yb .yb-acc-pop .yb-acc-pop__hi {
	display: block;
	margin: 0 0 8px;
	padding: 0 0 12px;
	border-bottom: 1px solid #D5D5D5;
	font-size: 20px;
	font-weight: 600;
	color: #000 !important;
	text-decoration: none;
}
.yb .yb-acc-pop__list { margin: 0; padding: 0; list-style: none; }
.yb .yb-acc-pop__list li { margin: 0; padding: 0; }
.yb .yb-acc-pop__list li::before { content: none; }
.yb .yb-acc-pop .yb-acc-pop__list a,
.yb .yb-acc-pop .yb-acc-pop__out {
	display: inline-block;
	padding: 8px 0 4px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	color: #000 !important;
	text-decoration: none;
	background: linear-gradient(#B40B27, #B40B27) 0 100% / 0 2px no-repeat;
	transition: background-size .2s;
}
.yb .yb-acc-pop .yb-acc-pop__list a:hover,
.yb .yb-acc-pop .yb-acc-pop__out:hover { background-size: 100% 2px; }
.yb .yb-acc-pop .yb-acc-pop__out { margin-top: 10px; padding-top: 12px; padding-bottom: 0; display: block; border-top: 1px solid #D5D5D5; background-position: 0 100%; background-size: 0 0; }
.yb .yb-acc-pop .yb-acc-pop__out:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1024px) {
	.yb .yb-acc-pop { display: none !important; }
}

/* ======================================================================
   Page title band off on account + wishlist pages (reference has none)
   ==================================================================== */
.yb.woocommerce-account .page-title,
.yb.yb-wishlist-page .page-title { display: none !important; }

/* ======================================================================
   2. /my-account/ logged out: one centred card like the reference modal
   ==================================================================== */
.yb .yb-auth-orig,
.yb .yb-auth .yb-auth__empty { display: none !important; }

.yb .yb-auth {
	box-sizing: border-box;
	width: 100%;
	max-width: 424px;
	margin: 24px auto 64px;
	padding: 36px 20px 24px;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 8px 12px rgba(0, 0, 0, .2);
	color: #000;
	text-align: left;
}
.yb .yb-auth .yb-auth__view { display: none; }
.yb .yb-auth[data-view="login"] .yb-auth__view--login,
.yb .yb-auth[data-view="register"] .yb-auth__view--register { display: block; }

.yb .yb-auth .yb-auth__title {
	margin: 0 0 24px;
	font-size: 30px;
	font-weight: 600;
	line-height: 32px;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	color: #000;
}

.yb .yb-auth .woocommerce-notices-wrapper:empty { display: none; }
.yb .yb-auth .woocommerce-error,
.yb .yb-auth .woocommerce-message,
.yb .yb-auth .woocommerce-info { margin: 0 0 20px; font-size: 15px; }

.yb .yb-auth form.woocommerce-form {
	display: block !important;
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}
.yb .yb-auth form .form-row,
.yb .yb-auth form .woocommerce-form-row {
	float: none;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
}
.yb .yb-auth form label {
	display: block;
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: #000;
}
.yb .yb-auth form label .required { color: inherit; border: 0; text-decoration: none; }
.yb .yb-auth form input.input-text,
.yb .yb-auth form input[type="text"],
.yb .yb-auth form input[type="email"],
.yb .yb-auth form input[type="password"] {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #000;
	border-radius: 4px;
	box-shadow: none;
	font-size: 18px;
	color: #000;
}
.yb .yb-auth form input.input-text:focus,
.yb .yb-auth form input[type="text"]:focus,
.yb .yb-auth form input[type="email"]:focus,
.yb .yb-auth form input[type="password"]:focus { outline: 0; box-shadow: inset 0 0 0 1px #000; }

/* Password eye */
.yb .yb-pw { position: relative; display: block; }
.yb .yb-pw .password-input { position: static; display: block; }
.yb .yb-pw input { padding-right: 52px !important; }
.yb .yb-pw .show-password-input { display: none !important; }
.yb .yb-pw .yb-pw__eye {
	position: absolute;
	top: 50%;
	right: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
	color: #000;
	cursor: pointer;
	transform: translateY(-50%);
}
.yb .yb-pw .yb-pw__eye:hover { background: none; color: #000; }
.yb .yb-pw .yb-pw__eye.is-shown .yb-pw__slash { display: none; }

/* Stay signed in */
.yb .yb-auth .yb-auth__stay { margin: 0 0 20px; }
.yb .yb-auth .yb-auth__stay-row { display: flex; align-items: center; gap: 10px; }
.yb .yb-auth form label.yb-auth__check {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 17px;
	cursor: pointer;
}
.yb .yb-auth .yb-auth__check input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: #000; }
.yb .yb-auth .yb-auth__help {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	padding: 0;
	background: none;
	border: 1.3px solid #000;
	border-radius: 50%;
	box-shadow: none;
	color: #000;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}
.yb .yb-auth .yb-auth__note summary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	font-size: 14px;
	color: #000;
	cursor: pointer;
	list-style: none;
}
.yb .yb-auth .yb-auth__note summary::-webkit-details-marker { display: none; }
.yb .yb-auth .yb-auth__note summary::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-right: 1.3px solid #000;
	border-bottom: 1.3px solid #000;
	transform: rotate(45deg);
}
.yb .yb-auth .yb-auth__note[open] summary::after { margin-top: 4px; transform: rotate(-135deg); }
.yb .yb-auth .yb-auth__note p { margin: 8px 0 0; font-size: 14px; line-height: 1.45; color: #57585B; }

/* Red submit */
.yb .yb-auth form .yb-auth__submit,
.yb .yb-auth form .woocommerce-form-login__submit,
.yb .yb-auth form .woocommerce-form-register__submit {
	display: block;
	float: none;
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	min-height: 48px;
	margin: 0;
	padding: 0 16px;
	background: #D31334 !important;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.yb .yb-auth form .yb-auth__submit:hover,
.yb .yb-auth form .yb-auth__submit:focus-visible { background: #B40B27 !important; }
.yb .yb-auth form .yb-auth__submit[disabled],
.yb .yb-auth form .yb-auth__submit.disabled { background: #8D9196 !important; cursor: not-allowed; }

.yb .yb-auth .yb-auth__forgot { margin: 20px 0 0; text-align: center; }
.yb .yb-auth .yb-auth__forgot a {
	padding-bottom: 1px;
	border-bottom: 1px solid #000;
	font-size: 17px;
	color: #000;
	text-decoration: none;
}
.yb .yb-auth .yb-auth__switch { margin: 24px 0 0; padding: 24px 0 0; border-top: 1px solid #D5D5D5; }
.yb .yb-auth .yb-auth__switch a { font-size: 19px; color: #000; text-decoration: underline; text-underline-offset: 3px; }

/* Create-account view */
.yb .yb-auth .yb-auth__benefits {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.yb .yb-auth .yb-auth__benefits li { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; line-height: 1.25; color: #000; }
.yb .yb-auth .yb-auth__benefits li::before { content: none; }
.yb .yb-auth .yb-auth__rule { display: block; width: 100%; max-width: none; height: 0; margin: 24px 0; border: 0; border-top: 1px solid #D5D5D5; background: none; }
.yb .yb-auth .yb-auth__rules {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 16px;
	margin: -8px 0 20px;
	padding: 0;
	list-style: none;
}
.yb .yb-auth .yb-auth__rules li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; line-height: 1.3; color: #57585B; }
.yb .yb-auth .yb-auth__rules li::before { content: none; }
.yb .yb-auth .yb-auth__rules svg { flex: 0 0 auto; color: #C8C8C8; }
.yb .yb-auth .yb-auth__rules li.is-met { color: #000; }
.yb .yb-auth .yb-auth__rules li.is-met svg { color: #1E7B34; }
.yb .yb-auth .woocommerce-password-hint { display: none; }
.yb .yb-auth .woocommerce-password-strength { margin: -12px 0 16px; padding: 6px 10px; font-size: 13px; border-radius: 4px; }
.yb .yb-auth .woocommerce-privacy-policy-text p { margin: 0 0 20px; font-size: 14px; line-height: 1.45; color: #57585B; }
.yb .yb-auth .woocommerce-privacy-policy-text a { color: #000; text-decoration: underline; }
.yb .yb-auth .yb-auth__have { margin: 20px 0 0; font-size: 17px; text-align: center; color: #000; }
.yb .yb-auth .yb-auth__have a { font-weight: 600; color: #000; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 480px) {
	.yb .yb-auth { margin-top: 8px; padding: 28px 16px 20px; }
	.yb .yb-auth .yb-auth__title { font-size: 26px; line-height: 30px; }
	.yb .yb-auth .yb-auth__benefits,
	.yb .yb-auth .yb-auth__rules { grid-template-columns: 1fr; }
}

/* ======================================================================
   3. Dashboard: greeting + quick cards instead of Woo boilerplate
   ==================================================================== */
.yb.woocommerce-dashboard .woocommerce-MyAccount-content > p,
.yb.woocommerce-dashboard .woocommerce-MyAccount-content > .wd-my-account-links { display: none !important; }

.yb .yb-acc-dash__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; margin: 0 0 28px; }
.yb .yb-acc-dash .yb-acc-dash__hi { margin: 0; font-size: 36px; font-weight: 600; line-height: 1.15; letter-spacing: 0; text-transform: none; color: #000; }
.yb .yb-acc-dash .yb-acc-dash__out { font-size: 16px; color: #000; text-decoration: underline; text-underline-offset: 3px; }
.yb .yb-acc-dash__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.yb .yb-acc-dash .yb-acc-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 150px;
	box-sizing: border-box;
	padding: 28px 24px 24px;
	background: #fff;
	border: 1px solid #D5D5D5;
	border-radius: 4px;
	color: #000;
	text-decoration: none;
	transition: border-color .15s;
}
.yb .yb-acc-dash .yb-acc-card:hover,
.yb .yb-acc-dash .yb-acc-card:focus-visible { border-color: #000; }
.yb .yb-acc-card .yb-ico { width: 28px; height: 28px; margin-bottom: 8px; }
.yb .yb-acc-card__title { font-size: 20px; font-weight: 600; line-height: 1.2; }
.yb .yb-acc-card__text { font-size: 15px; line-height: 1.4; color: #57585B; }
@media (max-width: 575px) {
	.yb .yb-acc-dash__cards { grid-template-columns: 1fr; }
	.yb .yb-acc-dash .yb-acc-dash__hi { font-size: 28px; }
}

/* ======================================================================
   4. Wishlist page
   ==================================================================== */
/* Standalone look: no account sidebar next to the wishlist */
.yb.yb-wishlist-page .wd-my-account-sidebar { display: none !important; }
.yb.yb-wishlist-page .woocommerce-my-account-wrapper { display: block; }
.yb.yb-wishlist-page .woocommerce-my-account-wrapper > .woocommerce-MyAccount-content {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	margin: 0;
	padding: 32px;
	border: 0;
}

/* No share bar, no bulk select (reference has neither) */
.yb.yb-wishlist-page .wd-wishlist-head .social-share,
.yb.yb-wishlist-page .wd-wishlist-head .wd-social-icons,
.yb.yb-wishlist-page .wd-wishlist-bulk-action,
.yb.yb-wishlist-page .wd-wishlist-product-checkbox { display: none !important; }
.yb.yb-wishlist-page .wd-wishlist-head { display: flex; align-items: center; margin: 0 0 24px; padding: 0 0 16px; border-bottom: 1px solid #E6E6E6; }
.yb.yb-wishlist-page .wd-wishlist-head .title { margin: 0; font-size: 30px; font-weight: 600; line-height: 1.2; text-transform: none; letter-spacing: 0; color: #000; }
.yb.yb-wishlist-page .wd-wishlist-product-actions { display: flex; justify-content: flex-start; min-height: 0; margin: 0 0 8px; }
.yb.yb-wishlist-page .wd-wishlist-product-remove a { padding: 0; font-size: 14px; color: #000; text-decoration: underline; text-underline-offset: 3px; }

/* Quick shop on wishlist cards: WoodMart's hover-base loop CSS forced a 35×35 column box */
.yb .wd-wishlist-content .product-grid-item .wd-bottom-actions .wd-action-btn.wd-quick-view-icon,
.yb.yb-wishlist-page .product-grid-item .wd-bottom-actions .wd-action-btn.wd-quick-view-icon { display: inline-flex; width: auto !important; height: auto !important; }
.yb .wd-wishlist-content .product-grid-item .wd-bottom-actions .wd-action-btn.wd-quick-view-icon > a,
.yb.yb-wishlist-page .product-grid-item .wd-bottom-actions .wd-action-btn.wd-quick-view-icon > a {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	height: auto !important;
	padding: 0 0 2px !important;
	border-bottom: 1px solid #000;
	font-size: 14px !important;
	font-weight: 500;
	line-height: 1.3;
	color: #000;
	white-space: nowrap;
}
.yb .wd-wishlist-content .product-grid-item .wd-quick-view-icon > a.yb-quick::before { flex: 0 0 14px; }
.yb.yb-wishlist-page .product-grid-item .wd-bottom-actions .wrap-quickview-button { display: block; width: auto; height: auto; }

/* Empty state: two columns split by a thin vertical line */
.yb .yb-wl-hide,
.yb .wd-wishlist-content.yb-wl-empty > :not(.yb-wl-start) { display: none !important; }
.yb .yb-wl-start {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 48px 0;
	background: #fff;
	color: #000;
}
.yb .yb-wl-start.yb-wl-start--single { grid-template-columns: minmax(0, 1fr); }
.yb .yb-wl-start__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 8px 40px;
	text-align: center;
}
.yb .yb-wl-start__col + .yb-wl-start__col { border-left: 1px solid #E6E6E6; }
.yb .yb-wl-start .yb-ico { width: 24px; height: 24px; }
.yb .yb-wl-start .yb-wl-start__title { margin: 16px 0 12px; font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; color: #000; }
.yb .yb-wl-start .yb-wl-start__text { max-width: 368px; margin: 0 0 24px; font-size: 16px; line-height: 24px; color: #000; }
.yb .yb-wl-start .yb-acc-btn { min-height: 54px; }
.yb .yb-wl-start .yb-acc-btn--black { max-width: 325px; }
.yb .yb-wl-start .yb-wl-start__link { margin-top: 16px; font-size: 16px; color: #000; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.yb.yb-wishlist-page .woocommerce-my-account-wrapper > .woocommerce-MyAccount-content { padding: 20px 16px; }
	.yb .yb-wl-start { grid-template-columns: minmax(0, 1fr); padding: 24px 0; }
	.yb .yb-wl-start__col { padding: 24px 8px; }
	.yb .yb-wl-start__col + .yb-wl-start__col { border-left: 0; border-top: 1px solid #E6E6E6; }
}
