/* ==========================================================================
   NOA – cart drawer, sticky add-to-cart, layering pairs, gift options
   ========================================================================== */

/* ---------- Cart drawer ---------- */
.noa-cart-drawer { position: fixed; inset: 0; z-index: 10050; }
.noa-cart-drawer__overlay { position: absolute; inset: 0; background: rgba(17, 28, 85, .45); opacity: 0; transition: opacity .38s; }
.noa-cart-drawer__panel {
	position: absolute;
	inset-block: 0;
	inset-inline-end: 0;
	display: flex;
	flex-direction: column;
	inline-size: min(440px, 92vw);
	background: var(--n-ivory);
	box-shadow: -20px 0 60px rgba(17, 28, 85, .18);
	transform: translateX(100%);
	transition: transform .45s cubic-bezier(.16, 1, .3, 1);
}
.rtl .noa-cart-drawer__panel { transform: translateX(-100%); }
.noa-cart-drawer.is-open .noa-cart-drawer__overlay { opacity: 1; }
.noa-cart-drawer.is-open .noa-cart-drawer__panel { transform: none; }

.noa-cart-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 26px; border-block-end: 1px solid var(--n-line); }
.noa-cart-drawer__title { margin: 0; font-family: var(--n-serif); font-size: 30px; font-weight: 400; color: var(--n-navy); }
.noa-cart-drawer__close { display: grid; place-items: center; inline-size: 40px; block-size: 40px; padding: 0; color: var(--n-navy); background: none; border: 0; border-radius: 50%; cursor: pointer; }
.noa-cart-drawer__close:hover { color: var(--n-gold); background: rgba(182, 154, 112, .1); }

.noa-cart-drawer__notice { display: none; margin: 0; padding: 12px 26px; font-size: 13px; letter-spacing: .5px; color: var(--n-ivory); background: var(--n-navy); }
.noa-cart-drawer__notice::before { content: "✦"; margin-inline-end: 10px; color: var(--n-gold); }
.noa-cart-drawer__notice.is-visible { display: block; animation: noaNoticeIn .5s ease both; }
@keyframes noaNoticeIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

.noa-cart-drawer__body { flex: 1; display: flex; flex-direction: column; min-block-size: 0; }
.noa-cart-drawer__body .widget_shopping_cart_content { flex: 1; display: flex; flex-direction: column; min-block-size: 0; }

.noa-cart-drawer ul.woocommerce-mini-cart { flex: 1; overflow-y: auto; margin: 0; padding: 8px 26px; list-style: none; }
.noa-cart-drawer .woocommerce-mini-cart-item {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	min-block-size: 136px;
	padding: 18px 34px 18px 94px !important;
	border-block-end: 1px solid var(--n-line);
}
.rtl .noa-cart-drawer .woocommerce-mini-cart-item { padding: 18px 94px 18px 34px !important; }
.noa-cart-drawer .woocommerce-mini-cart-item a:not(.remove) {
	display: block;
	font-family: var(--n-serif);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--n-navy);
	text-decoration: none;
}
.noa-cart-drawer .woocommerce-mini-cart-item img {
	position: absolute;
	inset-block-start: 18px;
	inset-inline-start: 0;
	inline-size: 76px !important;
	block-size: 100px !important;
	margin: 0 !important;
	object-fit: cover;
	border-radius: 999px 999px 0 0;
	background: var(--n-beige);
	float: none !important;
}
.noa-mini-ar { display: block; margin-block-start: 2px; font-family: var(--n-ar); font-size: 13px; font-weight: 400; color: var(--n-gold); }
.noa-cart-drawer .woocommerce-mini-cart-item .quantity { font-size: 14px; color: var(--n-muted); }
.noa-cart-drawer .woocommerce-mini-cart-item .quantity .amount { color: var(--n-navy); font-weight: 500; }
.noa-cart-drawer .woocommerce-mini-cart-item a.remove {
	position: absolute;
	inset-block-start: 16px;
	inset-inline-end: 0;
	inset-inline-start: auto !important;
	display: grid;
	place-items: center;
	inline-size: 26px;
	block-size: 26px;
	font-size: 18px;
	line-height: 1;
	color: var(--n-muted) !important;
	border-radius: 50%;
}
.noa-cart-drawer .woocommerce-mini-cart-item a.remove:hover { color: var(--n-ivory) !important; background: var(--n-navy); }
.noa-cart-drawer .woocommerce-mini-cart-item dl.variation { margin: 0; font-size: 12px; }

.noa-cart-drawer .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 20px 26px 6px;
	font-size: 13px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--n-muted);
	border-block-start: 1px solid var(--n-line);
}
.noa-cart-drawer .woocommerce-mini-cart__total .amount { font-size: 18px; letter-spacing: 0; color: var(--n-navy); font-weight: 500; }
.noa-cart-drawer .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding: 14px 26px 26px; }
.noa-cart-drawer .woocommerce-mini-cart__buttons .button { margin: 0 !important; text-align: center; }
.noa-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { color: var(--n-navy) !important; background: transparent !important; border-color: var(--n-gold) !important; }
.noa-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover { color: var(--n-ivory) !important; background: var(--n-navy) !important; border-color: var(--n-navy) !important; }
.noa-cart-drawer .woocommerce-mini-cart__empty-message { display: none; }

.noa-mini-empty { display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 40px 26px; text-align: center; }
.noa-mini-empty__star { font-size: 28px; color: var(--n-gold); animation: noaStar 4s ease-in-out infinite; }
.noa-mini-empty p { margin: 0; font-family: var(--n-serif); font-size: 24px; color: var(--n-navy); }

@media (max-width: 767px) {
	.noa-cart-drawer__panel { padding-block-end: env(safe-area-inset-bottom); }
}

/* Single product add button loading state */
.woocommerce div.product form.cart .button.loading { opacity: .65; }
.woocommerce div.product form.cart .button.loading::after { display: none; }

/* ---------- Sticky add-to-cart (mobile) ---------- */
.noa-sticky-atc { display: none; }

@media (max-width: 767px) {
	.noa-sticky-atc {
		position: fixed;
		inset-inline: 10px;
		inset-block-end: calc(78px + env(safe-area-inset-bottom));
		z-index: 9985;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 8px 8px 8px 10px;
		background: var(--n-white);
		border: 1px solid var(--n-line);
		box-shadow: 0 16px 40px rgba(17, 28, 85, .18);
		opacity: 0;
		transform: translateY(24px);
		pointer-events: none;
		transition: opacity .35s ease, transform .45s cubic-bezier(.16, 1, .3, 1), inset-block-end .35s ease;
	}
	.noa-sticky-atc.is-visible { opacity: 1; transform: none; pointer-events: auto; }
	.noa-bottom-nav.is-hidden ~ .noa-sticky-atc,
	body:has(.noa-bottom-nav.is-hidden) .noa-sticky-atc { inset-block-end: calc(10px + env(safe-area-inset-bottom)); }

	.noa-sticky-atc__media img { display: block; inline-size: 42px; block-size: 54px; object-fit: cover; border-radius: 999px 999px 0 0; background: var(--n-beige); }
	.noa-sticky-atc__info { display: flex; flex: 1; flex-direction: column; min-inline-size: 0; }
	.noa-sticky-atc__name { overflow: hidden; font-family: var(--n-serif); font-size: 18px; color: var(--n-navy); white-space: nowrap; text-overflow: ellipsis; }
	.noa-sticky-atc__name span { font-family: var(--n-ar); font-size: 13px; color: var(--n-gold); }
	.noa-sticky-atc__price { font-size: 13px; font-weight: 500; color: var(--n-navy); }
	.noa-sticky-atc__btn {
		flex-shrink: 0;
		padding: 14px 18px;
		font-family: var(--n-sans);
		font-size: 11px;
		font-weight: 500;
		letter-spacing: 1.6px;
		text-transform: uppercase;
		color: var(--n-ivory);
		background: var(--n-navy);
		border: 0;
		border-radius: 0;
		cursor: pointer;
	}
	.noa-sticky-atc__btn:active { background: var(--n-gold); }

	/* Floating WhatsApp/others shouldn't clash */
	body.noa-has-sticky-atc .noa-wa-float { display: none; }
}

/* ---------- Layering pairs ---------- */
.noa-layer {
	margin-block-start: 28px;
	padding: 22px 22px 8px;
	background: linear-gradient(135deg, rgba(234, 227, 215, .7), rgba(255, 255, 255, .9));
	border: 1px solid rgba(182, 154, 112, .35);
}
.noa-layer__eyebrow { display: block; font-size: 11px; font-weight: 500; letter-spacing: 2.4px; text-transform: uppercase; color: var(--n-gold); }
.rtl .noa-layer__eyebrow { letter-spacing: 0; }
.noa-layer__tip { margin: 8px 0 0; font-family: var(--n-serif); font-size: 18px; font-style: italic; line-height: 1.5; color: var(--n-navy); }
.noa-layer__item {
	display: grid;
	grid-template-columns: 62px 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	border-block-end: 1px solid var(--n-line);
}
.noa-layer__item:last-child { border-block-end: 0; }
.noa-layer__media img { display: block; inline-size: 62px; block-size: 80px; object-fit: cover; border-radius: 999px 999px 0 0; background: var(--n-beige); transition: transform .5s ease; }
.noa-layer__item:hover .noa-layer__media img { transform: translateY(-3px); }
.noa-layer__info { display: flex; flex-direction: column; gap: 2px; min-inline-size: 0; }
.noa-layer__cat { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--n-muted); }
.noa-layer__name { font-family: var(--n-serif); font-size: 22px; color: var(--n-navy); text-decoration: none; }
.noa-layer__notes { font-size: 12px; line-height: 1.5; color: var(--n-muted); }
.noa-layer__price { font-size: 14px; font-weight: 500; color: var(--n-navy); }
.noa-layer__price .amount { color: var(--n-navy); }
.noa-layer__add {
	display: grid;
	place-items: center;
	inline-size: 44px;
	block-size: 44px;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
	color: var(--n-ivory) !important;
	background: var(--n-navy);
	border-radius: 50%;
	text-decoration: none;
	transition: background-color .3s, transform .3s;
}
.noa-layer__add:hover { background: var(--n-gold); transform: rotate(90deg); }
.noa-layer__add.loading { opacity: .5; pointer-events: none; }
.noa-layer__add.added { font-size: 0; }
.noa-layer__add.added::before { content: "✓"; font-size: 18px; }
.noa-layer .added_to_cart { display: none; }

/* ---------- Gift options ---------- */
.wc-block-components-address-form__noa-gift-wrap,
[id*="noa-gift-wrap"] { margin-block-start: 6px; }
.wp-block-woocommerce-checkout-order-note-block + * .wc-block-components-checkbox,
.wc-block-checkout__additional-fields .wc-block-components-checkbox { padding: 16px 18px; background: var(--n-white); border: 1px dashed rgba(182, 154, 112, .6); }
.wc-block-checkout__additional-fields .wc-block-components-checkbox__label::before { content: "✦ "; color: var(--n-gold); }
.noa-gift-classic { margin-block-start: 24px; padding: 20px; background: var(--n-white); border: 1px dashed rgba(182, 154, 112, .6); }

/* ---------- Drawer quantity stepper ---------- */
.noa-mini-ar { text-align: start; }
.noa-mini-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: 8px; }
.noa-mini-qty { display: inline-flex; align-items: center; border: 1px solid var(--n-line); background: var(--n-white); }
.noa-mini-qty__btn {
	display: grid;
	place-items: center;
	inline-size: 32px;
	block-size: 32px;
	padding: 0;
	font-size: 16px;
	line-height: 1;
	color: var(--n-navy);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: background-color .25s, color .25s;
}
.noa-mini-qty__btn:hover { color: var(--n-ivory); background: var(--n-navy); }
.noa-mini-qty__val { min-inline-size: 30px; font-size: 14px; font-weight: 500; text-align: center; color: var(--n-navy); }
.noa-mini-qty.is-busy { opacity: .5; pointer-events: none; }
.noa-mini-line { font-size: 15px; font-weight: 500; color: var(--n-navy); }
.noa-mini-line .amount { color: var(--n-navy); }

/* ==========================================================================
   Cart & Checkout blocks – NOA styling
   ========================================================================== */

/* Hello's reset paints links pink (#c36); keep links on-brand everywhere. */
:where(body.noa-site) a { color: var(--n-navy); }

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { margin-block-start: 10px; }

.wc-block-cart .wc-block-cart-items { border-collapse: collapse; }
.wc-block-cart .wc-block-cart-items__header { font-family: var(--n-sans); font-size: 11px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; color: var(--n-muted); }
.wc-block-cart .wc-block-cart-items__row { border-block-end: 1px solid var(--n-line) !important; }
.wc-block-cart .wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	inline-size: 84px;
	aspect-ratio: 3 / 4;
	block-size: auto;
	object-fit: cover;
	border-radius: 999px 999px 0 0;
	background: var(--n-beige);
}
.wc-block-cart .wc-block-cart-item__image { inline-size: 100px; }
.wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-name {
	font-family: var(--n-serif) !important;
	font-size: 24px !important;
	font-weight: 500;
	line-height: 1.2;
	color: var(--n-navy) !important;
	text-decoration: none !important;
}
.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-components-product-price { font-size: 14px; color: var(--n-muted); }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart .wc-block-cart-item__total { font-size: 16px; font-weight: 500; color: var(--n-navy); }

.wc-block-components-quantity-selector { border-radius: 0 !important; border-color: var(--n-line) !important; background: var(--n-white); }
.wc-block-components-quantity-selector::after { border: 0 !important; }
.wc-block-components-quantity-selector__button { color: var(--n-navy) !important; opacity: 1 !important; }
.wc-block-components-quantity-selector__button:hover { background: var(--n-navy) !important; color: var(--n-ivory) !important; }
.wc-block-cart-item__remove-link { color: var(--n-muted) !important; }
.wc-block-cart-item__remove-link:hover { color: var(--n-navy) !important; }

/* Totals sidebar as a card */
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-cart__sidebar { padding: 30px !important; background: var(--n-white); border: 1px solid rgba(182, 154, 112, .35); }
.wc-block-cart .wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text {
	font-family: var(--n-serif) !important;
	font-size: 30px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--n-navy);
}
.wc-block-components-totals-item__label { font-size: 14px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--n-sans); font-size: 18px !important; font-weight: 500 !important; color: var(--n-navy); }
.wc-block-components-panel__button { font-size: 13px; letter-spacing: .5px; color: var(--n-navy); }

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-block-size: 56px;
	text-decoration: none !important;
}
.wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text { text-decoration: none !important; }

/* "You may be interested in…" cross-sells */
.wp-block-woocommerce-cart-cross-sells-block > h2,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-heading {
	margin: 50px 0 28px !important;
	font-family: var(--n-serif) !important;
	font-size: clamp(30px, 3.4vw, 40px) !important;
	font-weight: 400 !important;
	color: var(--n-navy);
}
.wp-block-woocommerce-cart-cross-sells-block .cross-sells-product,
.wc-block-components-product-image { text-align: center; }
.wp-block-woocommerce-cart-cross-sells-block img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 999px 999px 0 0;
	box-shadow: 0 20px 40px -22px rgba(17, 28, 85, .35);
}
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-name,
.wp-block-woocommerce-cart-cross-sells-block h3 a,
.wp-block-woocommerce-cart-cross-sells-block .wp-block-post-title a {
	font-family: var(--n-serif) !important;
	font-size: 22px !important;
	color: var(--n-navy) !important;
	text-decoration: none !important;
}
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-price,
.wp-block-woocommerce-cart-cross-sells-block .price { font-size: 14px; font-weight: 500; color: var(--n-navy); }
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button__link,
.wp-block-woocommerce-cart-cross-sells-block .add_to_cart_button,
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-button__button {
	display: inline-flex !important;
	padding: 11px 20px !important;
	font-family: var(--n-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none !important;
	color: var(--n-ivory) !important;
	background: var(--n-navy) !important;
	border: 1px solid var(--n-navy) !important;
	border-radius: 0 !important;
}
.wp-block-woocommerce-cart-cross-sells-block .wp-block-button__link:hover,
.wp-block-woocommerce-cart-cross-sells-block .wc-block-components-product-button__button:hover { background: var(--n-gold) !important; border-color: var(--n-gold) !important; }

/* Empty cart block */
.wp-block-woocommerce-empty-cart-block .wp-block-heading,
.wc-block-cart__empty-cart__title { font-family: var(--n-serif) !important; font-weight: 400 !important; color: var(--n-navy); }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { border-color: var(--n-gold); opacity: .6; }

/* Checkout block */
.wc-block-checkout .wc-block-components-checkout-step__title { font-family: var(--n-serif); font-size: 26px; font-weight: 400; color: var(--n-navy); }
.wc-block-checkout .wc-block-components-checkout-step__heading { margin-block-end: 14px; }
.wc-block-components-text-input input,
.wc-block-components-text-input.is-active input,
.wc-block-components-select select,
.wc-blocks-components-select__select,
.wc-block-components-textarea { border-radius: 0 !important; border-color: rgba(17, 28, 85, .2) !important; background: var(--n-white) !important; }
.wc-block-components-text-input input:focus { border-color: var(--n-gold) !important; box-shadow: none !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-radius: 0; border-color: rgba(17, 28, 85, .35); }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--n-navy); border-color: var(--n-navy); }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--n-ivory); }
.wc-block-components-sidebar.wc-block-checkout__sidebar { padding: 26px !important; background: var(--n-white); border: 1px solid rgba(182, 154, 112, .35); }

/* Drawer buttons – styled on every page (not only WooCommerce pages) */
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-block-size: 52px;
	margin: 0 !important;
	padding: 14px 16px !important;
	font-family: var(--n-sans) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 2px;
	line-height: 1.2 !important;
	text-transform: uppercase;
	text-decoration: none !important;
	text-align: center;
	border-radius: 0 !important;
	transition: background-color .35s, border-color .35s, color .35s;
}
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout {
	color: var(--n-ivory) !important;
	background: var(--n-navy) !important;
	border: 1px solid var(--n-navy) !important;
}
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout:hover { color: var(--n-white) !important; background: var(--n-gold) !important; border-color: var(--n-gold) !important; }
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout) {
	color: var(--n-navy) !important;
	background: transparent !important;
	border: 1px solid var(--n-gold) !important;
}
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { color: var(--n-ivory) !important; background: var(--n-navy) !important; border-color: var(--n-navy) !important; }
.noa-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout::after { content: "→"; margin-inline-start: 10px; font-size: 14px; letter-spacing: 0; }
.rtl .noa-cart-drawer .woocommerce-mini-cart__buttons a.button.checkout::after { content: "←"; }

/* Arabic name aligned with the English name */
.noa-cart-drawer .noa-mini-ar { text-align: left; }
.rtl .noa-cart-drawer .noa-mini-ar { text-align: right; }
.noa-cart-drawer .woocommerce-mini-cart-item a.remove { inset-block-start: 20px; }
