/* Qaem Toys: cart, checkout, order received, my account and OTP login. */

/* ---------- Shared page framing ---------- */
.qt-page-head--center { text-align: center; }
.qt-page-head--center .qt-page-sub { margin-inline: auto; }

.qt-steps { max-width: 520px; margin: var(--qt-space-6) auto 0; }
.qt-steps__list { display: flex; align-items: flex-start; justify-content: center; margin: 0; padding: 0; list-style: none; }
.qt-steps__step { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 6px; }
.qt-steps__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 2px solid var(--qt-border-strong);
	border-radius: 50%;
	background: var(--qt-bg-page);
	color: var(--qt-text-muted);
	font-size: 14px;
	font-weight: 700;
}
.qt-steps__circle svg { width: 16px; height: 16px; }
.qt-steps__label { font-size: 12px; font-weight: 500; color: var(--qt-text-muted); white-space: nowrap; }
.qt-steps__step.is-done .qt-steps__circle { border-color: var(--qt-primary); background: var(--qt-primary); color: #fff; }
.qt-steps__step.is-done .qt-steps__label { color: var(--qt-primary); }
.qt-steps__step.is-active .qt-steps__circle { border-color: var(--qt-primary); background: var(--qt-primary); color: #fff; box-shadow: 0 0 0 4px var(--qt-primary-light); }
.qt-steps__step.is-active .qt-steps__label { color: var(--qt-primary); font-weight: 700; }
.qt-steps__line { flex: 1; max-width: 80px; height: 2px; margin-top: 17px; background: var(--qt-border); list-style: none; }
.qt-steps__line.is-done { background: var(--qt-primary); }

.qt-cart-trust { margin-top: var(--qt-space-10); padding: 16px 24px; border-top: 1px solid var(--qt-border); border-bottom: 1px solid var(--qt-border); background: var(--qt-primary-light); }
.qt-cart-trust__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 32px; max-width: var(--qt-container); margin: 0 auto; padding: 0; list-style: none; }
.qt-cart-trust__list li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; color: var(--qt-primary); }
.qt-cart-trust__list svg { width: 16px; height: 16px; }
[data-theme="dark"] .qt-cart-trust { background: #16241f; }
[data-theme="dark"] .qt-cart-trust__list li { color: #8FC7B6; }

/* =========================================================
   CART & CHECKOUT (WooCommerce Blocks reskin)
   ========================================================= */
.qt-main--cart .wp-block-woocommerce-cart,
.qt-main--checkout .wp-block-woocommerce-checkout {
	max-width: var(--qt-container);
	margin: 0 auto;
	padding: 0 var(--qt-space-6);
	box-sizing: border-box;
}

/* The block markup is a table; card rows need it to lay out as blocks. */
.qt-main--cart .wc-block-cart-items,
.qt-main--cart .wc-block-cart-items tbody { display: block; width: 100%; border: 0; }
.qt-main--cart .wc-block-cart-items__header { display: none; }
.qt-main--cart .wc-block-cart-items__row {
	display: flex;
	width: 100%;
	align-items: flex-start;
	gap: 16px;
	box-sizing: border-box;
	margin-bottom: 16px;
	padding: 20px;
	border: 1px solid var(--qt-border);
	border-radius: var(--qt-radius-lg);
	background: var(--qt-bg-card);
	box-shadow: var(--qt-shadow-sm);
	transition: box-shadow .2s;
}
.qt-main--cart .wc-block-cart-items__row:hover { box-shadow: var(--qt-shadow-md); }
.qt-main--cart .wc-block-cart-items__row td { border: 0; padding: 0; }
.qt-main--cart .wc-block-cart-item__image { width: 100px; min-width: 100px; padding: 0 !important; }
.qt-main--cart .wc-block-cart-item__product { flex: 1; min-width: 0; }
.qt-main--cart .wc-block-cart-item__total { margin-inline-start: auto; text-align: left; }
.qt-main--cart .wc-block-cart-item__quantity { margin-top: 12px; }
.qt-main--cart .wc-block-cart-item__image img { width: 100px; height: 100px; object-fit: contain; border-radius: var(--qt-radius-md); background: var(--qt-bg-page); }
.qt-main--cart .wc-block-components-product-name { font-size: 15px; font-weight: 600; color: var(--qt-text); text-decoration: none; line-height: 1.6; }
.qt-main--cart .wc-block-components-product-name:hover { color: var(--qt-primary); }
.qt-main--cart .wc-block-cart-item__prices, .qt-main--cart .wc-block-components-product-price { font-size: 13px; color: var(--qt-text-secondary); }
.qt-main--cart .wc-block-components-product-price__value { color: var(--qt-accent); font-weight: 600; }
.qt-main--cart .wc-block-cart-item__total, .qt-main--cart .wc-block-cart-item__total-price-and-sale-badge-wrapper { font-size: 16px; font-weight: 700; color: var(--qt-text); }
.qt-main--cart .wc-block-cart-item__remove-link { color: var(--qt-error) !important; font-size: 12px; text-decoration: none; }
.qt-main--cart .wc-block-cart-item__remove-link:hover { text-decoration: underline; }

.qt-main--cart .wc-block-components-quantity-selector { max-width: 140px; border: 0; }
.qt-main--cart .wc-block-components-quantity-selector::after { display: none; }
.qt-main--cart .wc-block-components-quantity-selector__button {
	width: 40px;
	height: 40px;
	border: 1.5px solid var(--qt-border-strong);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	color: var(--qt-text);
	font-size: 18px;
	opacity: 1;
}
.qt-main--cart .wc-block-components-quantity-selector__button:hover { border-color: var(--qt-primary); background: var(--qt-primary-light); color: var(--qt-primary); }
.qt-main--cart .wc-block-components-quantity-selector__input { min-width: 44px; color: var(--qt-text); font-size: 15px; font-weight: 700; background: transparent; }

/* Order summary panels (cart + checkout) */
.qt-main--cart .wc-block-cart__sidebar,
.qt-main--checkout .wc-block-checkout__sidebar {
	padding: 24px;
	border: 1px solid var(--qt-border);
	border-radius: var(--qt-radius-lg);
	background: var(--qt-bg-card);
	box-shadow: var(--qt-shadow-md);
	align-self: flex-start;
	position: sticky;
	top: 64px;
}
.admin-bar .qt-main--cart .wc-block-cart__sidebar,
.admin-bar .qt-main--checkout .wc-block-checkout__sidebar { top: 96px; }
.qt-main--cart .wc-block-cart__totals-title,
.qt-main--checkout .wc-block-components-checkout-order-summary__title {
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--qt-border);
	color: var(--qt-text) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	text-transform: none;
	letter-spacing: 0;
}
.qt-main--cart .wc-block-components-totals-item,
.qt-main--checkout .wc-block-components-totals-item { padding: 8px 0; font-size: 14px; }
.qt-main--cart .wc-block-components-totals-item__label,
.qt-main--checkout .wc-block-components-totals-item__label { color: var(--qt-text-secondary); }
.qt-main--cart .wc-block-components-totals-item__value,
.qt-main--checkout .wc-block-components-totals-item__value { color: var(--qt-text); font-weight: 500; }
.qt-main--cart .wc-block-components-totals-footer-item,
.qt-main--checkout .wc-block-components-totals-footer-item { padding-top: 12px; border-top: 1px solid var(--qt-border); font-size: 16px; font-weight: 700; }
.qt-main--cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.qt-main--checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--qt-primary); font-size: 20px; font-weight: 800; }
.qt-main .wc-block-components-totals-wrapper { border-color: var(--qt-border); }

/* Coupon */
.qt-main .wc-block-components-totals-coupon .wc-block-components-panel__button { color: var(--qt-primary); font-size: 13px; font-weight: 600; }
.qt-main .wc-block-components-totals-coupon__form { gap: 0; }
.qt-main .wc-block-components-totals-coupon__input input { border-radius: var(--qt-radius-md) 0 0 var(--qt-radius-md); }

/* Buttons */
.qt-main .wc-block-cart__submit-button,
.qt-main .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 54px;
	border-radius: var(--qt-radius-full) !important;
	background: var(--qt-primary);
	color: var(--qt-on-primary);
	font-family: var(--qt-font);
	font-size: 16px;
	font-weight: 700;
	box-shadow: var(--qt-shadow-md);
	transition: background .2s, box-shadow .2s;
}
.qt-main .wc-block-cart__submit-button:hover,
.qt-main .wc-block-components-checkout-place-order-button:hover { background: var(--qt-primary-dark); box-shadow: var(--qt-shadow-lg); }
.qt-main .wc-block-components-checkout-place-order-button { background: var(--qt-accent); color: #24302C; }
.qt-main .wc-block-components-checkout-place-order-button:hover { background: var(--qt-accent-dark); color: #24302C; }
.qt-main .wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button) { font-family: var(--qt-font); }

/* Checkout steps as cards */
.qt-main--checkout .wc-block-components-checkout-step {
	margin-bottom: 20px;
	padding: 24px;
	border: 1px solid var(--qt-border);
	border-radius: var(--qt-radius-lg);
	background: var(--qt-bg-card);
	box-shadow: var(--qt-shadow-sm);
}
.qt-main--checkout .wc-block-components-checkout-step__heading { margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--qt-border); }
.qt-main--checkout .wc-block-components-checkout-step__title { color: var(--qt-text); font-family: var(--qt-font); font-size: 16px; font-weight: 700; }
.qt-main--checkout .wc-block-components-checkout-step__description { color: var(--qt-text-secondary); font-size: 13px; }
.qt-main--checkout .wc-block-components-checkout-step__content { padding-inline-start: 0; }

/* Form fields inside blocks */
.qt-main .wc-block-components-text-input input[type="text"],
.qt-main .wc-block-components-text-input input[type="email"],
.qt-main .wc-block-components-text-input input[type="tel"],
.qt-main .wc-block-components-text-input input[type="number"],
.qt-main .wc-block-components-textarea,
.qt-main .wc-block-components-combobox-control input,
.qt-main .wc-block-components-totals-coupon__input input {
	border: 1.5px solid var(--qt-border-strong);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	color: var(--qt-text);
	font-family: var(--qt-font);
	font-size: 14px;
}
.qt-main .wc-block-components-text-input input:focus,
.qt-main .wc-block-components-textarea:focus { border-color: var(--qt-primary); box-shadow: var(--qt-focus-ring); outline: none; }
.qt-main .wc-block-components-text-input label, .qt-main .wc-block-components-checkbox__label { color: var(--qt-text-secondary); font-family: var(--qt-font); }

/* Shipping + payment option rows */
.qt-main .wc-block-components-radio-control-accordion-option,
.qt-main .wc-block-components-radio-control__option {
	padding: 14px 16px;
	padding-inline-start: 44px;
	border: 2px solid var(--qt-border);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	margin-bottom: 10px;
	transition: border-color .2s, background .2s;
}
.qt-main .wc-block-components-radio-control__option:hover { border-color: var(--qt-primary); }
.qt-main .wc-block-components-radio-control-accordion-option:has(input:checked),
.qt-main .wc-block-components-radio-control__option--checked-option-highlighted,
.qt-main .wc-block-components-radio-control__option:has(input:checked) { border-color: var(--qt-primary); background: var(--qt-primary-light); }
.qt-main .wc-block-components-radio-control__label { color: var(--qt-text); font-weight: 600; }
.qt-main .wc-block-components-radio-control__secondary-label,
.qt-main .wc-block-components-radio-control__description { color: var(--qt-accent); font-weight: 700; }
.qt-main .wc-block-components-radio-control__input:checked { border-color: var(--qt-primary); }

/* Order summary items in checkout */
.qt-main--checkout .wc-block-components-order-summary-item__image img { border-radius: var(--qt-radius-md); }
.qt-main--checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name { font-size: 13px; }

/* Address cards */
.qt-main .wc-block-components-address-card { border: 1px solid var(--qt-border); border-radius: var(--qt-radius-md); background: var(--qt-bg-page); padding: 16px; }
.qt-main .wc-block-components-address-card__edit { color: var(--qt-primary); font-weight: 600; }

/* =========================================================
   ORDER RECEIVED
   ========================================================= */
.qt-thanks { max-width: 760px; padding-top: var(--qt-space-10); padding-bottom: var(--qt-space-12); }
.qt-thanks__head { margin-bottom: var(--qt-space-10); text-align: center; }
@keyframes qt-pop { 0% { transform: scale(.6); opacity: 0; } 70% { transform: scale(1.08); } 100% { transform: scale(1); opacity: 1; } }
@keyframes qt-ring { 0% { box-shadow: 0 0 0 0 rgba(47,110,93,.35); } 70% { box-shadow: 0 0 0 18px rgba(47,110,93,0); } 100% { box-shadow: 0 0 0 0 rgba(47,110,93,0); } }
.qt-thanks__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	margin: 0 auto var(--qt-space-6);
	border-radius: 50%;
	background: var(--qt-success);
	color: #fff;
	animation: qt-pop .5s cubic-bezier(.34,1.56,.64,1) both, qt-ring 2s ease-out .5s 3;
}
.qt-thanks__circle svg { width: 56px; height: 56px; stroke-width: 2.5; }
.qt-thanks__circle.is-failed { background: var(--qt-error); animation: qt-pop .5s cubic-bezier(.34,1.56,.64,1) both; }
.qt-thanks__circle.is-pending { background: var(--qt-warning); animation: qt-pop .5s cubic-bezier(.34,1.56,.64,1) both; }
@media (prefers-reduced-motion: reduce) { .qt-thanks__circle { animation: none !important; } }
.qt-thanks__title { margin-bottom: 10px; color: var(--qt-success); font-size: clamp(22px, 3vw, 28px); font-weight: 800; }
.qt-thanks__title.is-failed { color: var(--qt-error); }
.qt-thanks__sub { max-width: 480px; margin: 0 auto; color: var(--qt-text-secondary); font-size: 15px; line-height: 1.8; }

.qt-ordernum { max-width: 420px; margin: 0 auto var(--qt-space-9, 36px); padding: 24px 32px; border: 1.5px dashed var(--qt-primary); border-radius: var(--qt-radius-lg); background: var(--qt-primary-light); text-align: center; }
.qt-ordernum__label { margin-bottom: 8px; color: var(--qt-text-secondary); font-size: 13px; font-weight: 500; }
.qt-ordernum__value { margin-bottom: 8px; color: var(--qt-primary); font-size: 26px; font-weight: 800; letter-spacing: 2px; }
.qt-ordernum__hint { color: var(--qt-text-muted); font-size: 12px; line-height: 1.7; }

.qt-ordercard { max-width: 540px; margin: 0 auto var(--qt-space-10); padding: 24px; border: 1px solid var(--qt-border); border-radius: var(--qt-radius-lg); background: var(--qt-bg-card); box-shadow: var(--qt-shadow-sm); }
.qt-ordercard__title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--qt-border); font-size: 15px; font-weight: 700; }
.qt-ordercard__title svg { width: 18px; height: 18px; color: var(--qt-primary); }
.qt-orderitem { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--qt-border); }
.qt-orderitem__info { display: flex; align-items: center; gap: 10px; }
.qt-orderitem__img { flex-shrink: 0; width: 44px; height: 44px; overflow: hidden; border-radius: var(--qt-radius-md); background: var(--qt-primary-light); }
.qt-orderitem__img img { width: 100%; height: 100%; object-fit: contain; }
.qt-orderitem__name { display: block; font-size: 13px; font-weight: 600; }
.qt-orderitem__qty { display: block; margin-top: 2px; color: var(--qt-text-muted); font-size: 12px; }
.qt-orderitem__price { font-size: 13px; font-weight: 700; white-space: nowrap; }
.qt-ordercalc { margin-top: 12px; }
.qt-ordercalc__row { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 13px; color: var(--qt-text-secondary); }
.qt-ordercalc__row span:last-child { color: var(--qt-text); font-weight: 500; }
.qt-ordercalc__row .is-discount { color: var(--qt-success); }
.qt-ordercalc__total { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; padding: 12px 0; border-top: 1px solid var(--qt-border); font-size: 15px; font-weight: 700; }
.qt-ordercalc__total span:last-child { color: var(--qt-primary); font-size: 20px; font-weight: 800; }
.qt-orderaddr { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--qt-border); }
.qt-orderaddr h3 { margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.qt-orderaddr p { color: var(--qt-text-secondary); font-size: 13px; line-height: 1.8; }

.qt-timeline-wrap { margin-bottom: var(--qt-space-10); }
.qt-timeline__header { margin-bottom: var(--qt-space-6); font-size: 17px; font-weight: 700; text-align: center; }
.qt-timeline { display: flex; align-items: flex-start; justify-content: center; margin: 0; padding: 0; list-style: none; }
.qt-timeline__step { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 8px; max-width: 160px; text-align: center; }
.qt-timeline__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid var(--qt-border-strong);
	border-radius: 50%;
	background: var(--qt-bg-card);
	color: var(--qt-text-muted);
}
.qt-timeline__circle svg { width: 20px; height: 20px; }
.qt-timeline__step.is-done .qt-timeline__circle { border-color: var(--qt-success); background: var(--qt-success); color: #fff; }
.qt-timeline__label { display: block; font-size: 13px; font-weight: 700; color: var(--qt-text-muted); }
.qt-timeline__step.is-done .qt-timeline__label { color: var(--qt-text); }
.qt-timeline__sub { display: block; margin-top: 2px; color: var(--qt-text-muted); font-size: 11px; line-height: 1.6; }
.qt-timeline__line { flex: 1; max-width: 60px; height: 2px; margin-top: 24px; background: var(--qt-border); list-style: none; }
.qt-timeline__line.is-done { background: var(--qt-success); }

.qt-thanks__support { margin-bottom: var(--qt-space-8); text-align: center; }
.qt-thanks__support-title { margin-bottom: 16px; color: var(--qt-text-secondary); font-size: 14px; }
.qt-thanks__chips { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; margin-bottom: 20px; }
.qt-chip { display: inline-flex; align-items: center; gap: 6px; color: var(--qt-text-secondary); font-size: 13px; font-weight: 500; }
.qt-chip svg { width: 15px; height: 15px; color: var(--qt-primary); }
.qt-main .qt-chip a { color: var(--qt-primary); font-weight: 700; }
.qt-insta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 24px;
	border-radius: var(--qt-radius-full);
	background: linear-gradient(135deg, #2F6E5D 0%, #6B3FA0 70%, #C9974B 100%);
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	box-shadow: var(--qt-shadow-md);
}
.qt-insta-btn svg { width: 18px; height: 18px; }
.qt-thanks__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; margin-bottom: var(--qt-space-6); }
.qt-thanks__actions .qt-btn svg { width: 17px; height: 17px; }

/* =========================================================
   MY ACCOUNT
   ========================================================= */
.qt-main--account, .qt-main--my-account { padding-bottom: var(--qt-space-12); }
.qt-account { display: grid; grid-template-columns: 260px 1fr; gap: var(--qt-space-6); align-items: start; }
.qt-account__sidebar { position: sticky; top: 64px; padding: var(--qt-space-4); border: 1px solid var(--qt-border); border-radius: var(--qt-radius-lg); background: var(--qt-bg-card); box-shadow: var(--qt-shadow-sm); }
.admin-bar .qt-account__sidebar { top: 96px; }
.qt-account__content { min-width: 0; }

.qt-account-profile { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; padding: 12px 8px 16px; border-bottom: 1px solid var(--qt-border); }
.qt-account-profile__avatar {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 2px solid rgba(47, 110, 93, .15);
	border-radius: 50%;
	background: var(--qt-primary-light);
	color: var(--qt-primary);
}
.qt-account-profile__avatar svg { width: 24px; height: 24px; }
.qt-account-profile__info { min-width: 0; }
.qt-account-profile__name { display: block; overflow: hidden; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.qt-account-profile__meta { display: block; margin-top: 2px; color: var(--qt-text-secondary); font-size: 12px; }

.qt-account-nav ul { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; list-style: none; }
.qt-main .qt-account-nav__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-right: 3px solid transparent;
	border-radius: var(--qt-radius-md);
	color: var(--qt-text-secondary);
	font-size: 14px;
	font-weight: 500;
	transition: background .15s, color .15s;
}
.qt-main .qt-account-nav__link:hover { background: var(--qt-bg-page); color: var(--qt-text); }
.qt-main .qt-account-nav__link.is-active { border-right-color: var(--qt-primary); background: var(--qt-primary-light); color: var(--qt-primary); font-weight: 600; }
.qt-main .qt-account-nav__link.is-danger { color: var(--qt-error); }
.qt-account-nav__icon { display: flex; flex-shrink: 0; }
.qt-account-nav__icon svg { width: 17px; height: 17px; }

.qt-account-welcome { margin-bottom: var(--qt-space-5); font-size: 22px; font-weight: 700; }
.qt-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--qt-space-4); margin-bottom: var(--qt-space-6); }
.qt-stat { display: flex; align-items: center; gap: 16px; padding: 20px; border-radius: var(--qt-radius-lg); box-shadow: var(--qt-shadow-sm); }
.qt-stat--primary { background: var(--qt-primary); color: #FBF8F2; }
.qt-stat--accent { background: var(--qt-accent); color: #24302C; }
.qt-stat--soft { background: var(--qt-primary-light); color: var(--qt-primary); }
.qt-stat__icon { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: var(--qt-radius-md); background: rgba(255, 255, 255, .55); }
.qt-stat--primary .qt-stat__icon { background: rgba(255, 255, 255, .18); }
.qt-stat__icon svg { width: 24px; height: 24px; }
.qt-stat__value { display: block; font-size: 22px; font-weight: 800; line-height: 1.2; }
.qt-stat__label { display: block; margin-top: 3px; font-size: 12px; font-weight: 500; opacity: .85; }

.qt-panel { margin-bottom: var(--qt-space-6); overflow: hidden; border: 1px solid var(--qt-border); border-radius: var(--qt-radius-lg); background: var(--qt-bg-card); box-shadow: var(--qt-shadow-sm); }
.qt-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--qt-border); }
.qt-panel__title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; font-weight: 700; }
.qt-panel__title svg { width: 18px; height: 18px; color: var(--qt-primary); }
.qt-main .qt-panel__link { color: var(--qt-primary); font-size: 13px; font-weight: 600; white-space: nowrap; }
.qt-panel__body { padding: 24px; }
.qt-muted { color: var(--qt-text-muted); font-size: 14px; }
.qt-panel__body .qt-muted + .qt-btn { margin-top: 12px; }

.qt-tablewrap { overflow-x: auto; }
.qt-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.qt-table th { padding: 12px 16px; border-bottom: 1px solid var(--qt-border); background: var(--qt-bg-page); color: var(--qt-text-muted); font-size: 12px; font-weight: 600; text-align: right; white-space: nowrap; }
.qt-table td, .qt-table tbody th { padding: 16px; border-bottom: 1px solid var(--qt-border); color: var(--qt-text-secondary); text-align: right; vertical-align: middle; }
.qt-table tbody tr:last-child td, .qt-table tbody tr:last-child th { border-bottom: 0; }
.qt-table tbody tr:hover td, .qt-table tbody tr:hover th { background: var(--qt-bg-page); }
.qt-table__num { color: var(--qt-primary) !important; font-size: 12px; font-weight: 600; }
.qt-table__amount { color: var(--qt-text) !important; font-weight: 600; white-space: nowrap; }
.qt-table__sub { display: block; margin-top: 2px; color: var(--qt-text-muted); font-size: 11px; font-weight: 400; }
.qt-main .qt-table__btn { display: inline-block; padding: 6px 14px; border-radius: var(--qt-radius-sm); background: var(--qt-primary-light); color: var(--qt-primary); font-size: 12px; font-weight: 600; white-space: nowrap; }
.qt-main .qt-table__btn:hover { background: var(--qt-primary); color: var(--qt-on-primary); }
.qt-badge-status { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--qt-radius-full); color: #fff; font-size: 11px; font-weight: 600; white-space: nowrap; }
.qt-badge-status--success { background: var(--qt-success); }
.qt-badge-status--info { background: var(--qt-info); }
.qt-badge-status--warning { background: var(--qt-warning); color: #24302C; }
.qt-badge-status--error { background: var(--qt-error); }
.qt-badge-status--muted { background: var(--qt-bg-subtle); color: var(--qt-text-secondary); }
.qt-orders-nav { display: flex; gap: 10px; }

.qt-addresses { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--qt-space-4); }
.qt-address { padding: 20px; border: 1.5px solid var(--qt-border); border-radius: var(--qt-radius-lg); transition: border-color .2s, box-shadow .2s; }
.qt-address:hover { box-shadow: var(--qt-shadow-md); }
.qt-address.is-empty { border-style: dashed; }
.qt-address__title { margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.qt-address__text { margin-bottom: 12px; color: var(--qt-text-secondary); font-size: 13px; font-style: normal; line-height: 1.8; }
.qt-main .qt-address__edit { display: inline-flex; align-items: center; gap: 6px; color: var(--qt-primary); font-size: 12px; font-weight: 600; }
.qt-address__edit svg { width: 14px; height: 14px; }
.qt-empty--inline { padding: 24px 0; }

/* WooCommerce account forms (edit address / account details) */
.qt-account__content .woocommerce-MyAccount-content > form,
.qt-account__content > form,
.qt-account__content .woocommerce-EditAccountForm {
	padding: 24px;
	border: 1px solid var(--qt-border);
	border-radius: var(--qt-radius-lg);
	background: var(--qt-bg-card);
	box-shadow: var(--qt-shadow-sm);
}
.qt-account__content h2, .qt-account__content h3 { margin-bottom: var(--qt-space-4); font-size: 16px; font-weight: 700; }
.qt-account__content .woocommerce-form-row, .qt-account__content .form-row { display: flex; flex-direction: column; margin-bottom: 16px; }
.qt-account__content label { margin-bottom: 6px; color: var(--qt-text-secondary); font-size: 13px; font-weight: 600; }
.qt-account__content .required { color: var(--qt-error); text-decoration: none; }
.qt-account__content :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], select, textarea),
.qt-account__content .select2-container .select2-selection--single {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1.5px solid var(--qt-border-strong);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	color: var(--qt-text);
	font-family: var(--qt-font);
	font-size: 14px;
	box-sizing: border-box;
}
.qt-account__content :is(input, select, textarea):focus { border-color: var(--qt-primary); box-shadow: var(--qt-focus-ring); outline: none; }
.qt-account__content button[type="submit"], .qt-account__content .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 28px;
	border: 0;
	border-radius: var(--qt-radius-full);
	background: var(--qt-primary);
	color: var(--qt-on-primary);
	font-family: var(--qt-font);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
}
.qt-account__content button[type="submit"]:hover, .qt-account__content .button:hover { background: var(--qt-primary-dark); }
.qt-account__content fieldset { margin-top: var(--qt-space-5); padding: 0; border: 0; }
.qt-account__content .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; }
.qt-account__content .woocommerce-table--order-details,
.qt-account__content .woocommerce-table { width: 100%; border-collapse: collapse; font-size: 13px; background: var(--qt-bg-card); }
.qt-account__content .woocommerce-table th, .qt-account__content .woocommerce-table td { padding: 12px 16px; border-bottom: 1px solid var(--qt-border); text-align: right; }
.qt-account__content .woocommerce-order-details, .qt-account__content .woocommerce-customer-details { margin-bottom: var(--qt-space-6); }
.qt-account__content address { padding: 16px; border: 1px solid var(--qt-border); border-radius: var(--qt-radius-md); color: var(--qt-text-secondary); font-size: 13px; font-style: normal; line-height: 1.9; }

/* =========================================================
   OTP LOGIN (ez-login) + guest account page
   ========================================================= */
.qt-login { display: flex; align-items: center; justify-content: center; padding: var(--qt-space-12) var(--qt-space-5); }
.qt-login__card { width: 100%; max-width: 440px; padding: var(--qt-space-8); border: 1px solid var(--qt-border); border-radius: var(--qt-radius-xl); background: var(--qt-bg-card); box-shadow: var(--qt-shadow-lg); }
.qt-login__brand { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: var(--qt-space-6); text-align: center; }
.qt-login__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	overflow: hidden;
	border: 2px solid rgba(47, 110, 93, .15);
	border-radius: 50%;
	background: var(--qt-primary-light);
	box-shadow: var(--qt-shadow-sm);
}
.qt-login__logo img { width: 100%; height: 100%; object-fit: cover; }
.qt-login__name { font-size: 26px; font-weight: 800; }
.qt-login__tagline { color: var(--qt-text-secondary); font-size: 14px; }
.qt-login__title { margin-bottom: 8px; font-size: 20px; font-weight: 700; text-align: center; }
.qt-login__sub { margin-bottom: var(--qt-space-6); color: var(--qt-text-secondary); font-size: 13px; line-height: 1.8; text-align: center; }
.qt-login__terms { margin-top: var(--qt-space-5); color: var(--qt-text-muted); font-size: 12px; line-height: 1.8; text-align: center; }
.qt-main .qt-login__terms a { color: var(--qt-primary); font-weight: 600; }

.ez-login-shell .ez-login-form {
	--ez-primary: var(--qt-primary);
	--ez-primary-h: var(--qt-primary-dark);
	--ez-ring: rgba(47, 110, 93, .22);
	--ez-radius: var(--qt-radius-md);
	--ez-card: var(--qt-bg-card);
	--ez-bg: var(--qt-bg-page);
	--ez-text: var(--qt-text);
	--ez-muted: var(--qt-text-secondary);
	--ez-border: var(--qt-border-strong);
	--ez-input-bg: var(--qt-bg-page);
	--ez-shadow: none;
	font-family: var(--qt-font);
}
.qt-login .ez-login-shell .ez-login-form { box-shadow: none; border: 0; padding: 0; background: transparent; }
.qt-login .ezf-method-tabs { display: none; }
.qt-login .ezf-btn-primary {
	width: 100%;
	min-height: 50px;
	border-radius: var(--qt-radius-full);
	background: var(--qt-primary);
	color: var(--qt-on-primary);
	font-family: var(--qt-font);
	font-size: 15px;
	font-weight: 700;
}
.qt-login .ezf-btn-primary:hover { background: var(--qt-primary-dark); }
.qt-login .ezf-input { font-family: var(--qt-font); }
.qt-login .ezf-otp-boxes { display: flex; justify-content: center; gap: 8px; }
.qt-login .ezf-otp-digit {
	width: 46px;
	height: 54px;
	border: 1.5px solid var(--qt-border-strong);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	color: var(--qt-text);
	font-family: var(--qt-font);
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}
.qt-login .ezf-otp-digit:focus { border-color: var(--qt-primary); box-shadow: var(--qt-focus-ring); outline: none; }
.qt-login .ezf-label { color: var(--qt-text); font-size: 13px; font-weight: 600; }
.qt-login .ez-login-timer, .qt-login .ezf-actions { color: var(--qt-text-secondary); font-size: 13px; }

/* Guest my-account page shows the same OTP card */
.woocommerce-account:not(.logged-in) .qt-main--account .woocommerce { max-width: 480px; margin: 0 auto; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.qt-account { grid-template-columns: 1fr; }
	.qt-account__sidebar { position: static; }
	.qt-account-nav ul { flex-direction: row; flex-wrap: wrap; }
	.qt-main .qt-account-nav__link { border-right: 0; border-bottom: 3px solid transparent; }
	.qt-main .qt-account-nav__link.is-active { border-right: 0; border-bottom-color: var(--qt-primary); }
}

@media (max-width: 768px) {
	.qt-main--cart .wp-block-woocommerce-cart, .qt-main--checkout .wp-block-woocommerce-checkout { padding: 0 16px; }
	.qt-main--cart .wc-block-cart-items__row { flex-direction: column; padding: 16px; }
	.qt-main--cart .wc-block-cart-item__image, .qt-main--cart .wc-block-cart-item__image img { width: 100%; min-width: 0; height: auto; max-height: 220px; }
	.qt-steps__label { font-size: 11px; }
	.qt-steps__line { max-width: 40px; }

	.qt-thanks { padding-top: var(--qt-space-8); }
	.qt-thanks__circle { width: 96px; height: 96px; }
	.qt-thanks__circle svg { width: 44px; height: 44px; }
	.qt-ordernum__value { font-size: 20px; }
	.qt-timeline { flex-direction: column; align-items: stretch; padding-right: 8px; }
	.qt-timeline__step { flex-direction: row; align-items: flex-start; gap: 16px; max-width: none; text-align: right; }
	.qt-timeline__line { width: 2px; max-width: none; height: 28px; margin: 0 22px; }
	.qt-thanks__actions { flex-direction: column; align-items: stretch; }

	.qt-stats { grid-template-columns: 1fr; }
	.qt-addresses { grid-template-columns: 1fr; }
	.qt-panel__head, .qt-panel__body { padding: 16px; }
	.qt-table th, .qt-table td, .qt-table tbody th { padding: 10px 12px; }
	.qt-login__card { padding: var(--qt-space-6); }
	.qt-login .ezf-otp-digit { width: 40px; height: 48px; font-size: 18px; }
}

/* Guest login page chrome */
.qt-guest { background: var(--qt-bg-page); }
.qt-minibar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 24px;
	border-bottom: 1px solid var(--qt-border);
	background: var(--qt-bg-header);
}
.qt-minibar__brand { display: inline-flex; align-items: center; gap: 10px; color: var(--qt-primary); font-size: 18px; font-weight: 800; text-decoration: none; }
.qt-minibar__brand .qt-brand__logo { width: 40px; height: 40px; overflow: hidden; border-radius: 50%; }
.qt-minibar__brand img { width: 100%; height: 100%; object-fit: cover; }
.qt-minibar__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--qt-border-strong);
	border-radius: var(--qt-radius-md);
	background: var(--qt-bg-page);
	color: var(--qt-text-secondary);
	cursor: pointer;
}
.qt-minibar__toggle svg { width: 20px; height: 20px; }
.qt-minibar__toggle:hover { border-color: var(--qt-primary); color: var(--qt-primary); }
.qt-minibar__toggle .qt-icon-moon { display: none; }
[data-theme="dark"] .qt-minibar__toggle .qt-icon-sun { display: none; }
[data-theme="dark"] .qt-minibar__toggle .qt-icon-moon { display: flex; }

.qt-login .ez-login-account-page { width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; }
.qt-login .ez-login-woocommerce { padding: 0; }
.qt-login__back { margin-top: 12px; font-size: 13px; text-align: center; }
.qt-login__back a { color: var(--qt-text-secondary); }
.qt-login__back a:hover { color: var(--qt-primary); }

/* The summary panel already provides the card; drop the inner block frame. */
.qt-main--checkout .wc-block-components-checkout-order-summary,
.qt-main--checkout .wc-block-components-checkout-order-summary__content { border: 0; padding: 0; }
.qt-main--checkout .wc-block-components-order-summary-item__remove-link { color: var(--qt-text-muted); }

/* The plugin's accent bar duplicates our card frame */
.qt-login .ez-login-form::before { display: none; }
.qt-login .ez-auth-panel { padding: 0; }
/* The login page's own card already carries the title */
.page-id-120 .wp-block-post-title { display: none; }
.page-id-120 .qt-login { padding-top: var(--qt-space-6); }
.page-id-120 main.wp-block-group { margin-top: 0; }

/* Empty cart state */
.qt-main--cart .wp-block-woocommerce-empty-cart-block { max-width: var(--qt-container); margin: 0 auto; padding: 0 var(--qt-space-6); box-sizing: border-box; }
.qt-main--cart .wc-block-cart__empty-cart__title { color: var(--qt-text); font-size: 20px; font-weight: 700; }
.qt-main--cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before { background: var(--qt-primary-light); border-radius: 50%; filter: none; }
.qt-main--cart .wp-block-separator { border-color: var(--qt-border); opacity: .6; }
.qt-main--cart .wc-block-grid__products { display: flex; flex-wrap: wrap; gap: var(--qt-space-5); margin: 0; padding: 0; list-style: none; }
.qt-main--cart .wc-block-grid__product {
	display: flex;
	flex: 0 0 calc(33.333% - 14px);
	width: calc(33.333% - 14px);
	max-width: calc(33.333% - 14px);
	flex-direction: column;
	margin: 0;
	padding: 0 0 16px;
	overflow: hidden;
	border: 1px solid var(--qt-border);
	border-radius: var(--qt-radius-lg);
	background: var(--qt-bg-card);
	box-shadow: var(--qt-shadow-sm);
	text-align: right;
	transition: box-shadow .2s, transform .2s;
}
.qt-main--cart .wc-block-grid__product:hover { box-shadow: var(--qt-shadow-md); transform: translateY(-4px); }
.qt-main--cart .wc-block-grid__product-image { margin: 0; }
.qt-main--cart .wc-block-grid__product-image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: var(--qt-bg-page); }
.qt-main--cart .wc-block-grid__product-title { padding: 14px 16px 6px; color: var(--qt-text); font-size: 14px; font-weight: 600; }
.qt-main--cart .wc-block-grid__product-price { padding: 0 16px 12px; color: var(--qt-text); font-size: 15px; font-weight: 800; }
.qt-main--cart .wc-block-grid__product-add-to-cart { margin: auto 16px 0; }
.qt-main--cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
.qt-main--cart .wc-block-grid__product-add-to-cart a {
	display: block;
	width: 100%;
	padding: 9px 16px;
	border-radius: var(--qt-radius-md);
	background: var(--qt-primary);
	color: var(--qt-on-primary);
	font-family: var(--qt-font);
	font-size: 13px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}
.qt-main--cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--qt-primary-dark); }
@media (max-width: 1024px) { .qt-main--cart .wc-block-grid__product { flex-basis: calc(50% - 10px); width: calc(50% - 10px); max-width: calc(50% - 10px); } }
@media (max-width: 768px) { .qt-main--cart .wp-block-woocommerce-empty-cart-block { padding: 0 16px; } }
.qt-main--cart .qt-empty-cart-cta { margin: 0 0 var(--qt-space-8); }
.qt-main--cart .qt-empty-cart-cta a {
	display: inline-block;
	padding: 14px 32px;
	border-radius: var(--qt-radius-full);
	background: var(--qt-primary);
	color: var(--qt-on-primary);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.qt-main--cart .qt-empty-cart-cta a:hover { background: var(--qt-primary-dark); }
/* The block is configured for three-up; hide any extra item so rows stay even */
.qt-main--cart .wc-block-grid__product:nth-child(n+4) { display: none; }
@media (max-width: 1024px) { .qt-main--cart .wc-block-grid__product:nth-child(n+3) { display: none; } }
