/* ==========================================================================
   Gifty – WooCommerce pages
   1. Buttons  2. Archive hero  3. Shop layout & filters  4. Single product
   5. Tabs & reviews  6. Cart  7. Checkout  8. My Account  9. Order pages
   ========================================================================== */

/* 1. WooCommerce buttons ----------------------------------------------------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 26px;
	border: 2px solid var(--g-purple);
	border-radius: var(--g-pill);
	background: var(--g-purple);
	color: #fff;
	font-family: var(--g-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s var(--g-ease), border-color .2s var(--g-ease), color .2s var(--g-ease), transform .2s var(--g-ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #respond input#submit:hover, .woocommerce .button:hover {
	background: var(--g-purple-dark);
	border-color: var(--g-purple-dark);
	color: #fff;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background: var(--g-purple);
	border-color: var(--g-purple);
	color: #fff;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--g-purple-dark); border-color: var(--g-purple-dark); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled { opacity: .5; background: var(--g-purple); color: #fff; }

/* 2. Archive hero ------------------------------------------------------------ */
.g-woo-main { padding: 0; }
.g-archive-hero {
	position: relative;
	padding: 28px 0 32px;
	background:
		radial-gradient(circle at 92% 10%, rgba(255, 217, 0, .35) 0, transparent 38%),
		linear-gradient(135deg, var(--g-cream-light) 0%, var(--g-purple-50) 100%);
	overflow: hidden;
}
.g-archive-hero.has-image { background: var(--g-purple-deep); color: #fff; }
.g-archive-hero.has-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(42, 0, 73, .92) 0%, rgba(42, 0, 73, .65) 55%, rgba(42, 0, 73, .25) 100%), var(--g-hero-img) center / cover no-repeat;
}
.g-archive-hero__inner { position: relative; }
.g-archive-hero__title { margin: 0 0 10px; font-size: clamp(2rem, 1.5rem + 2.2vw, 3rem); }
.g-archive-hero__intro { max-width: 640px; margin: 0 0 20px; color: var(--g-muted); font-size: 16px; }
.g-archive-hero.has-image .g-archive-hero__title,
.g-archive-hero.has-image .g-archive-hero__intro,
.g-archive-hero.has-image .woocommerce-breadcrumb,
.g-archive-hero.has-image .woocommerce-breadcrumb a { color: #fff; }
.g-archive-hero.has-image .g-eyebrow { color: var(--g-yellow); }
.g-archive-hero .g-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: none; margin-inline: calc(-1 * var(--g-gutter)); padding-inline: var(--g-gutter); }
.g-archive-hero .g-chips::-webkit-scrollbar { display: none; }

/* 3. Shop layout & filters --------------------------------------------------- */
.g-shop { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; padding-top: 32px; padding-bottom: 48px; }
.g-shop__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.g-shop__toolbar .woocommerce-result-count { margin: 0 !important; color: var(--g-muted); font-size: 14px; }
.g-shop__toolbar .woocommerce-ordering { margin: 0 0 0 auto !important; }
.g-shop__toolbar .woocommerce-ordering select { min-width: 220px; min-height: 44px; border-radius: var(--g-pill); background-color: #fff; font-size: 14px; font-weight: 600; }
.g-filter-toggle { display: none; }

.g-shop__filters { align-self: start; position: sticky; top: 100px; }
.g-drawer__head, .g-drawer__foot { display: none; }
.g-filter { padding: 0 0 20px; margin: 0 0 20px; border-bottom: 1px solid var(--g-line); }
.g-filter:last-child { border-bottom: 0; }
.g-filter__title { margin: 0 0 12px; font-family: var(--g-font-body); font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--g-ink); }
.g-filter ul { list-style: none; margin: 0; padding: 0; }
.g-filter ul li { margin: 0; padding: 0; }
.g-filter .product-categories li a { display: block; padding: 7px 0; color: var(--g-ink); font-size: 14.5px; }
.g-filter .product-categories li a:hover,
.g-filter .product-categories li.current-cat > a { color: var(--g-purple); font-weight: 700; }
.g-filter .product-categories .children { padding-left: 12px; border-left: 2px solid var(--g-purple-50); margin: 2px 0 6px 2px; }
.g-filter .product-categories .children a { font-size: 13.5px; color: var(--g-muted); padding: 5px 0; }
.g-filter .product-categories .count { color: var(--g-muted); font-size: 12px; }

.woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: var(--g-purple); }
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle { width: 20px; height: 20px; top: -.45em; border: 3px solid #fff; background: var(--g-purple); box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content { background: var(--g-purple-100); height: 5px; border-radius: 5px; }
.woocommerce .widget_price_filter .price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; font-size: 14px; }
.woocommerce .widget_price_filter .price_slider_amount .button { min-height: 38px; padding: 6px 18px; font-size: 13px; float: none; order: 2; }
.woocommerce .widget_price_filter .price_label { order: 1; }
.woocommerce .widget_rating_filter ul li a { display: flex; align-items: center; gap: 6px; padding: 6px 0; color: var(--g-ink); }
.woocommerce .widget_rating_filter ul li.chosen a::before { color: var(--g-purple); }

.woocommerce-info.woocommerce-no-products-found { justify-content: center; }

/* Related categories + SEO block */
.g-seo-block { padding: 40px 0 56px; border-top: 1px solid var(--g-line); background: #fff; }
.g-seo-block__content { color: var(--g-muted); font-size: 15px; position: relative; }
.g-seo-block__content h2, .g-seo-block__content h3 { color: var(--g-ink); font-size: 1.35rem; }
.g-seo-block__content.is-collapsed { max-height: 180px; overflow: hidden; }
.g-seo-block__content.is-collapsed::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px; background: linear-gradient(transparent, #fff); }
.g-related-cats { padding: 48px 0; background: var(--g-cream-light); }
.g-related-cats__grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; }
.g-mini-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; color: var(--g-ink); font-weight: 600; font-size: 14px; }
.g-mini-cat__img { display: grid; place-items: center; width: 100%; max-width: 110px; aspect-ratio: 1; border-radius: 50%; background: #fff; color: var(--g-purple); overflow: hidden; border: 3px solid #fff; box-shadow: var(--g-shadow-sm); transition: transform .3s var(--g-ease), box-shadow .3s var(--g-ease); }
.g-mini-cat__img img { width: 100%; height: 100%; object-fit: cover; }
.g-mini-cat:hover .g-mini-cat__img { transform: translateY(-4px); box-shadow: var(--g-shadow); }
.g-mini-cat:hover { color: var(--g-purple); }

@media (max-width: 1024px) {
	.g-shop { grid-template-columns: 1fr; gap: 0; padding-top: 20px; }
	.g-filter-toggle { display: inline-flex; }
	.g-shop__filters {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 1001;
		display: flex;
		flex-direction: column;
		width: min(88vw, 360px);
		background: #fff;
		transform: translateX(-100%);
		transition: transform .3s var(--g-ease);
		box-shadow: var(--g-shadow);
	}
	.g-shop__filters.is-open { transform: translateX(0); }
	.g-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--g-line); font-size: 18px; }
	.g-drawer__body { flex: 1; overflow-y: auto; padding: 20px; -webkit-overflow-scrolling: touch; }
	.g-drawer__foot { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--g-line); }
	.g-drawer__foot .g-btn { min-height: 46px; padding: 10px; }
	.g-related-cats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.g-archive-hero { padding: 16px 0 20px; }
	.g-archive-hero__intro { font-size: 14.5px; margin-bottom: 14px; }
	.g-shop__toolbar { flex-wrap: wrap; position: sticky; top: var(--g-header-h, 60px); z-index: 20; margin: 0 calc(-1 * var(--g-gutter)) 16px; padding: 10px var(--g-gutter); background: rgba(255, 255, 255, .96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--g-line); }
	.g-shop__toolbar .woocommerce-result-count { display: none; }
	.g-shop__toolbar .g-filter-toggle, .g-shop__toolbar .woocommerce-ordering { flex: 1; }
	.g-shop__toolbar .woocommerce-ordering select { min-width: 0; width: 100%; }
	.g-related-cats__grid { display: flex; overflow-x: auto; gap: 14px; scroll-snap-type: x mandatory; padding-bottom: 6px; }
	.g-mini-cat { flex: 0 0 88px; scroll-snap-align: start; font-size: 13px; }
}

/* 4. Single product ---------------------------------------------------------- */
.single-product .g-woo-main { padding-bottom: 32px; }
.g-breadcrumb-bar { padding-top: 18px; }
.single-product div.product {
	max-width: calc(var(--g-container) + 2 * var(--g-gutter));
	margin: 0 auto;
	padding: 0 var(--g-gutter);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	column-gap: clamp(24px, 4vw, 56px);
	align-items: start;
}
.single-product div.product > * { grid-column: 1 / -1; min-width: 0; }
/* Media column + summary share row 1. The media column stretches to the row height, and the
   gallery sticks inside it only – so it never slides over the tabs below. */
.single-product div.product > .g-pmedia { grid-column: 1; grid-row: 1; align-self: stretch; min-width: 0; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; top: 88px; }
.single-product div.product .summary { grid-column: 2; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; }
.single-product div.product { position: relative; }
.woocommerce.single-product div.product .g-pmedia > div.images.woocommerce-product-gallery { position: sticky; } /* beats WooCommerce's position: relative */
body.admin-bar.single-product div.product .woocommerce-product-gallery { top: 120px; }

/* Gallery */
.woocommerce-product-gallery { border-radius: var(--g-radius-lg); }
.woocommerce-product-gallery .flex-viewport,
.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child { border-radius: var(--g-radius-lg); overflow: hidden; background: var(--g-cream-light); }
.woocommerce-product-gallery__image img { border-radius: 0; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: 12px; opacity: .6; border: 2px solid transparent; transition: all .2s var(--g-ease); aspect-ratio: 1; object-fit: cover; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--g-purple); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 16px; right: 16px; width: 42px; height: 42px; background: #fff; box-shadow: var(--g-shadow-sm); }
.single-product div.product span.onsale {
	position: absolute; top: 16px; left: calc(var(--g-gutter) + 16px); z-index: 5; min-height: 0; min-width: 0; margin: 0; padding: 6px 12px; line-height: 1.3; border-radius: var(--g-pill); font-size: 12px;
}

/* Summary */
.g-product-cat { display: inline-block; margin-bottom: 8px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--g-purple); }
.woocommerce div.product .product_title { display: block; font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); margin-bottom: 10px; }
.woocommerce span.onsale.g-badge--sale { background: var(--g-yellow); color: var(--g-ink); }
.woocommerce div.product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; font-size: 14px; }
.woocommerce div.product .woocommerce-product-rating .star-rating { margin: 0; }
.woocommerce div.product .woocommerce-review-link { color: var(--g-muted); }
.woocommerce div.product p.price, .woocommerce div.product span.price {
	display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; color: var(--g-purple); font-size: 30px; font-weight: 800;
}
.woocommerce div.product p.price del, .woocommerce div.product span.price del { order: 2; color: var(--g-muted); font-size: 18px; font-weight: 500; opacity: .8; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: none; }
.g-stock { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; font-size: 14px; font-weight: 600; }
.g-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.g-stock--in { color: var(--g-success); }
.g-stock--low { color: #B25E00; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--g-muted); margin-bottom: 16px; font-size: 15px; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom: 8px; }
.woocommerce div.product .woocommerce-product-details__short-description ul { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; margin: 0; padding-left: 1.1em; font-size: 14px; }
.woocommerce div.product .woocommerce-product-details__short-description li::marker { color: var(--g-purple); }
.single-product div.product .summary .g-delivery { margin-bottom: 16px; }

/* Variations */
.woocommerce div.product form.cart .variations { margin-bottom: 16px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 6px; text-align: left; border: 0; background: none; }
.woocommerce div.product form.cart .variations select { min-width: 0; width: 100%; }
.woocommerce div.product form.cart .reset_variations { font-size: 13px; }

/* Quantity + buttons row */
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-bottom: 20px; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .gpc, .woocommerce div.product form.cart .variations, .woocommerce div.product form.cart .single_variation_wrap, .woocommerce div.product form.cart table { flex: 1 1 100%; width: 100%; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; flex: 1 1 160px; min-height: 54px; font-size: 16px; }
.quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--g-line); border-radius: var(--g-pill); background: #fff; overflow: hidden; }
.quantity .qty { width: 48px !important; min-height: 50px; border: 0 !important; background: transparent !important; box-shadow: none !important; text-align: center; font-weight: 700; padding: 0 !important; -moz-appearance: textfield; }
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.g-qty-btn { width: 42px; height: 50px; border: 0; background: transparent; color: var(--g-purple); font-size: 20px; font-weight: 700; cursor: pointer; }
.g-qty-btn:hover { background: var(--g-purple-50); }

/* Meta below tabs */
.single-product div.product .product_meta { grid-column: 1 / -1; padding: 16px 0; margin-top: 8px; border-top: 1px solid var(--g-line); font-size: 13.5px; color: var(--g-muted); display: flex; flex-wrap: wrap; gap: 8px 24px; }

/* 5. Tabs & reviews ------------------------------------------------------------ */
.woocommerce div.product .woocommerce-tabs { margin-top: 40px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: 6px; margin: 0 0 24px !important; padding: 0 !important; border-bottom: 1px solid var(--g-line); overflow-x: auto; scrollbar-width: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; flex-shrink: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 14px 18px !important; color: var(--g-muted) !important; font-weight: 700 !important; border-bottom: 3px solid transparent; margin-bottom: -1px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--g-purple) !important; border-bottom-color: var(--g-purple); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 860px; color: #3A3540; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-radius: var(--g-radius); border-color: var(--g-line); }
.woocommerce #reviews #comments ol.commentlist li img.avatar { border-radius: 50%; border: 0; background: var(--g-purple-50); }
.woocommerce #review_form #respond { padding: 24px; border-radius: var(--g-radius); background: var(--g-cream-light); }
.woocommerce #review_form #respond p.stars a { color: #F5A300; }

section.related.products, section.up-sells { margin-top: 40px; }
section.related.products > h2, section.up-sells > h2, .cross-sells > h2 { text-align: center; margin-bottom: 24px; }

@media (max-width: 900px) {
	.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.single-product div.product > .g-pmedia,
	.single-product div.product .summary { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce.single-product div.product .g-pmedia > div.images.woocommerce-product-gallery { position: relative; top: 0; }
	.single-product div.product .summary { margin-top: 20px !important; }
	.woocommerce div.product div.images .flex-control-thumbs { display: flex; overflow-x: auto; gap: 8px; scroll-snap-type: x mandatory; }
	.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 64px; scroll-snap-align: start; }
}
@media (max-width: 767px) {
	.g-breadcrumb-bar { padding-top: 12px; }
	.single-product div.product { padding: 0; }
	.single-product div.product .woocommerce-product-gallery { margin-inline: 0 !important; }
	.woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child { border-radius: 0; }
	.woocommerce div.product div.images .flex-control-thumbs { padding: 0 var(--g-gutter); }
	.single-product div.product .summary,
	.single-product div.product .woocommerce-tabs,
	.single-product div.product .product_meta,
	.single-product div.product section.related,
	.single-product div.product section.up-sells { padding-inline: var(--g-gutter); box-sizing: border-box; }
	.single-product div.product span.onsale { left: 12px; top: 12px; }
	.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 26px; }
	.woocommerce div.product form.cart .button { flex-basis: 100%; }
	.woocommerce div.product form.cart div.quantity { flex: 0 0 auto; }
	.woocommerce div.product form.cart .single_add_to_cart_button:not(.gpc-buy-now) { flex: 1 1 0; }
	.woocommerce div.product .woocommerce-tabs { margin-top: 32px; }
}

/* 6. Cart ---------------------------------------------------------------------- */
.woocommerce-cart .g-page__content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
.woocommerce-cart .g-page__content > .woocommerce::before, .woocommerce-cart .g-page__content > .woocommerce::after { display: none; }
.woocommerce-cart .g-page__content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .g-page__content > .woocommerce > .wc-empty-cart-message,
.woocommerce-cart .g-page__content > .woocommerce > .return-to-shop,
.woocommerce-cart .g-page__content > .woocommerce > .cart-empty { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .cart-collaterals { grid-column: 2; width: 100%; position: sticky; top: 100px; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; padding: 24px; border-radius: var(--g-radius); background: var(--g-cream-light); border: 1px solid #F3E4A0; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 1.35rem; }
.woocommerce-cart .cart-collaterals .cross-sells { width: 100% !important; float: none !important; }

.woocommerce table.shop_table { border: 1px solid var(--g-line); border-radius: var(--g-radius); border-collapse: separate; overflow: hidden; margin: 0 0 24px; }
.woocommerce table.shop_table th { padding: 14px 16px; background: #FAF8FC; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g-muted); }
.woocommerce table.shop_table td { padding: 16px; border-top: 1px solid var(--g-line); vertical-align: middle; }
.woocommerce table.shop_table td.product-name a { color: var(--g-ink); font-weight: 700; }
.woocommerce table.shop_table td.product-thumbnail img { width: 88px !important; height: 88px; object-fit: cover; border-radius: 12px; }
.woocommerce-cart table.cart td.product-remove a.remove { width: 32px; height: 32px; line-height: 30px; border-radius: 50%; color: var(--g-muted) !important; background: #F4F0F8; font-size: 20px; }
.woocommerce-cart table.cart td.product-remove a.remove:hover { background: var(--g-error); color: #fff !important; }
.woocommerce td.product-name dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 4px 10px; margin: 8px 0 0; padding: 10px 12px; border-radius: 10px; background: #FAF8FC; font-size: 13px; }
.woocommerce td.product-name dl.variation dt { margin: 0; font-weight: 600; color: var(--g-muted); float: none; clear: none; }
.woocommerce td.product-name dl.variation dd { margin: 0; padding: 0; float: none; }
.woocommerce td.product-name dl.variation dd p { margin: 0; }
.woocommerce-cart table.cart td.actions { background: #FAF8FC; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 200px !important; min-height: 46px; border-radius: var(--g-pill); padding: 8px 18px !important; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"] { background: transparent; color: var(--g-purple); }
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:disabled { opacity: .4; }
.cart_totals table.shop_table { margin-bottom: 16px; background: #fff; border: 1px solid #F1E7B8; border-radius: 14px; }
.cart_totals table.shop_table th,
.cart_totals table.shop_table td { padding: 14px 16px; border-top: 1px solid var(--g-line); vertical-align: top; }
.cart_totals table.shop_table tr:first-child th,
.cart_totals table.shop_table tr:first-child td { border-top: 0; }
.cart_totals table.shop_table th { width: 40%; padding-right: 0; background: transparent; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g-muted); text-align: left; }
.cart_totals table.shop_table td { text-align: right; font-weight: 600; font-size: 15px; }
.cart_totals #shipping_method { margin: 0; padding: 0; list-style: none; }
.cart_totals #shipping_method li { margin: 0 0 4px; }
.cart_totals #shipping_method li label { font-weight: 600; font-size: 14.5px; }
.cart_totals .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 12.5px; font-weight: 400; color: var(--g-muted); }
.cart_totals .woocommerce-shipping-calculator { margin-top: 6px; font-weight: 400; }
.cart_totals .shipping-calculator-button { font-size: 13px; }
.cart_totals .shipping-calculator-button::after { display: none; }
.cart_totals .shipping-calculator-form { text-align: left; }
/* Shipping row: label on top, options + calculator use the full width of the box. */
.cart_totals table.shop_table, .cart_totals table.shop_table tbody { display: block; width: 100%; }
.cart_totals table.shop_table tr { display: flex; width: 100%; }
.cart_totals table.shop_table tr > th { flex: 0 0 40%; box-sizing: border-box; }
.cart_totals table.shop_table tr > td { flex: 1 1 auto; min-width: 0; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals { display: block; border-top: 1px solid var(--g-line); }
.cart_totals table.shop_table tr.woocommerce-shipping-totals th,
.cart_totals table.shop_table tr.woocommerce-shipping-totals td { display: block; width: 100%; border-top: 0; text-align: left; box-sizing: border-box; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals th { padding-bottom: 4px; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals td { padding-top: 4px; }
.cart_totals table.shop_table tr.woocommerce-shipping-totals td::before { display: none; }
.cart_totals #shipping_method li { display: flex; align-items: center; gap: 8px; }
.cart_totals #shipping_method li input { margin: 0; }
.cart_totals .shipping-calculator-form { margin-top: 12px; padding: 14px; border-radius: 12px; background: var(--g-cream-light); }
.cart_totals .shipping-calculator-form .form-row { width: 100% !important; float: none !important; margin: 0 0 12px; padding: 0; }
.cart_totals .shipping-calculator-form label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--g-ink); }
.cart_totals .shipping-calculator-form .select2-container { width: 100% !important; }
.cart_totals .shipping-calculator-form .input-text, .cart_totals .shipping-calculator-form select { width: 100%; }
.cart_totals .shipping-calculator-form p:last-child { margin-bottom: 0; }
.cart_totals .shipping-calculator-form button[name="calc_shipping"] { width: 100%; }
/* WooCommerce's responsive table hides the labels on phones – keep the same label/value rows. */
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table_responsive tr { display: flex; padding: 0; border-top: 1px solid var(--g-line); }
	.woocommerce .cart_totals table.shop_table_responsive tr:first-child { border-top: 0; }
	.woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals { display: block; }
	.woocommerce .cart_totals table.shop_table_responsive tr > th { display: block; }
	.woocommerce .cart_totals table.shop_table_responsive tr > td { display: block; text-align: right !important; }
	.woocommerce .cart_totals table.shop_table_responsive tr.woocommerce-shipping-totals > td { text-align: left !important; }
	.woocommerce .cart_totals table.shop_table_responsive tr > td::before { display: none; }
}
.cart_totals .order-total th { color: var(--g-ink); }
.cart_totals .order-total td { font-size: 20px; font-weight: 800; color: var(--g-purple); }
.cart_totals .order-total td strong { font-weight: 800; }
.cart_totals .wc-proceed-to-checkout { padding: 0; }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order { width: 100%; min-height: 56px; margin: 0; font-size: 17px; background: var(--g-purple); border-color: var(--g-purple); color: #fff; box-shadow: 0 10px 24px rgba(122, 0, 200, .25); }
.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover { background: var(--g-purple-dark); border-color: var(--g-purple-dark); color: #fff; }
.woocommerce-cart table.cart td.actions .button[name="update_cart"] { border-color: var(--g-line); background: #fff; color: var(--g-purple); }
.woocommerce-cart table.cart td.actions .button[name="update_cart"]:not(:disabled):hover { border-color: var(--g-purple); background: var(--g-purple); color: #fff; }
.woocommerce-cart table.cart td.product-name { font-size: 15px; }
.woocommerce-cart table.cart td.product-price, .woocommerce-cart table.cart td.product-subtotal { font-weight: 700; white-space: nowrap; }
.woocommerce-cart table.cart td.product-subtotal { color: var(--g-purple); }
.woocommerce-shipping-calculator .shipping-calculator-button { font-weight: 700; }
.g-cart-trust { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; font-size: 13.5px; color: var(--g-muted); }
.g-cart-trust li { display: flex; align-items: center; gap: 8px; }
.g-cart-trust .g-icon { color: var(--g-purple); }
.cart-empty.woocommerce-info { justify-content: center; font-size: 17px; padding: 32px !important; }
.return-to-shop { text-align: center; }

@media (max-width: 1024px) {
	.woocommerce-cart .g-page__content > .woocommerce { grid-template-columns: 1fr; }
	.woocommerce-cart .cart-collaterals { grid-column: 1; position: static; }
}
@media (max-width: 767px) {
	.woocommerce table.shop_table_responsive tr, .woocommerce-page table.shop_table_responsive tr { display: grid; grid-template-columns: 80px 1fr; column-gap: 12px; padding: 14px; border-top: 1px solid var(--g-line); position: relative; }
	.woocommerce-cart table.cart tr.cart_item td { border: 0 !important; padding: 2px 0 !important; background: none !important; text-align: left !important; }
	.woocommerce-cart table.cart tr.cart_item td::before { font-size: 12px; color: var(--g-muted); }
	.woocommerce-cart table.cart tr.cart_item td.product-thumbnail { display: block !important; grid-row: 1 / span 5; }
	.woocommerce-cart table.cart tr.cart_item td.product-thumbnail::before { display: none; }
	.woocommerce-cart table.cart tr.cart_item td.product-thumbnail img { width: 80px !important; height: 80px; }
	.woocommerce-cart table.cart tr.cart_item td.product-remove { position: absolute; top: 10px; right: 10px; padding: 0 !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-remove::before { display: none; }
	.woocommerce-cart table.cart tr.cart_item td.product-name { padding-right: 36px !important; }
	.woocommerce-cart table.cart tr.cart_item td.product-name::before { display: none; }
	.woocommerce-cart table.cart td.actions { display: block; padding: 14px !important; }
	.woocommerce-cart table.cart td.actions .coupon { margin-bottom: 10px; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; }
	.woocommerce-cart table.cart td.actions .button { width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .button { width: auto; }
	.woocommerce-cart .cart-collaterals .cart_totals { padding: 18px; }
}

/* 7. Checkout ------------------------------------------------------------------ */
.g-checkout-steps { display: flex; justify-content: center; gap: 8px; margin: 0 0 28px; font-size: 13px; font-weight: 700; color: var(--g-muted); }
.g-checkout-steps span { display: inline-flex; align-items: center; gap: 8px; }
.g-checkout-steps span + span::before { content: ""; width: 32px; height: 2px; background: var(--g-line); }
.g-checkout-steps .is-done { color: var(--g-success); }
.g-checkout-steps .is-active { color: var(--g-purple); }

/* Rows: 1 = error notices (empty unless WooCommerce inserts them), 2 = review heading, 3 = review. */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-rows: auto auto 1fr; column-gap: 32px; row-gap: 0; align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; margin-bottom: 20px; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 2 / span 2; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 > div { padding: 24px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; margin-bottom: 20px; }
.woocommerce-checkout #customer_details .col-2 > div:empty { display: none; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 2; margin: 0; padding: 24px 24px 8px; font-size: 1.35rem; background: var(--g-cream-light); border: 1px solid #F3E4A0; border-bottom: 0; border-radius: var(--g-radius) var(--g-radius) 0 0; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 3; padding: 0 24px 24px; background: var(--g-cream-light); border: 1px solid #F3E4A0; border-top: 0; border-radius: 0 0 var(--g-radius) var(--g-radius); }
.woocommerce-checkout h3 { font-size: 1.25rem; margin-bottom: 16px; }

.woocommerce form .form-row { padding: 0; margin: 0 0 14px; }
.woocommerce form .form-row label { margin-bottom: 6px; display: block; }
.woocommerce form .form-row .required { color: var(--g-error); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--g-error); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: rgba(27, 138, 75, .5); }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 7px); }
.g-hidden-field { display: none !important; }

/* Brand inputs everywhere in WooCommerce forms (overrides WooCommerce's grey borders) */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-page form .form-row .input-text {
	min-height: 48px;
	padding: 12px 16px;
	border: 1.5px solid var(--g-line);
	border-radius: 12px;
	background: #FCFBFE;
	font-size: 16px;
	line-height: 1.4;
	box-shadow: none;
}
.woocommerce form .form-row textarea { min-height: 110px; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus { border-color: var(--g-purple); background: #fff; box-shadow: 0 0 0 4px rgba(122, 0, 200, .08); outline: none; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 600; color: var(--g-ink); }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--g-muted); }

/* Order summary on checkout */
.woocommerce-checkout-review-order-table { border-radius: 14px; }
.woocommerce-checkout-review-order-table th.product-name, .woocommerce-checkout-review-order-table td.product-name { width: 68%; }
.woocommerce-checkout-review-order-table th.product-total, .woocommerce-checkout-review-order-table td.product-total { text-align: right; white-space: nowrap; font-weight: 700; }
.woocommerce-checkout-review-order-table td.product-name { font-weight: 600; color: var(--g-ink); }
.woocommerce-checkout-review-order-table td.product-name dl.variation { margin-top: 8px; font-weight: 400; }
.woocommerce-checkout-review-order-table tfoot th { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g-muted); }
.woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 700; }
.woocommerce-checkout-review-order-table #shipping_method { margin: 0; padding: 0; list-style: none; text-align: right; }
.woocommerce-checkout-review-order-table #shipping_method li { margin: 0 0 6px; }
.woocommerce-checkout-review-order-table #shipping_method li label { font-weight: 600; font-size: 14px; }
.woocommerce td.product-name dl.variation .gpd-cart-design { flex-direction: row; }
.woocommerce td.product-name dl.variation dd { overflow-wrap: anywhere; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.woocommerce-checkout .form-row-wide { clear: both; }

/* Checkbox rows: "Create an account?" and "Ship to a different address?" */
.woocommerce-checkout #ship-to-different-address { margin: 0; font-family: var(--g-font-body); font-size: 15px; font-weight: 700; letter-spacing: 0; }
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .create-account label.checkbox,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.woocommerce-checkout #ship-to-different-address input[type="checkbox"],
.woocommerce-checkout .create-account input[type="checkbox"],
.woocommerce-checkout .woocommerce-form__input-checkbox { flex: 0 0 20px; width: 20px; height: 20px; margin: 0 !important; accent-color: var(--g-purple); }
.woocommerce-checkout .create-account { margin: 6px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--g-purple-50); }
.woocommerce-checkout .woocommerce-shipping-fields { margin: 0; }
.woocommerce-checkout #customer_details .col-2 > .woocommerce-shipping-fields { padding: 16px 24px; }
.woocommerce-checkout .shipping_address { margin-top: 18px; }
.woocommerce-checkout .woocommerce-additional-fields h3 { font-size: 1.1rem; }
.woocommerce-checkout .woocommerce-privacy-policy-text { font-size: 12.5px; color: var(--g-muted); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin-top: 10px; }
.select2-container .select2-selection--single { display: flex; align-items: center; height: 48px; border: 1.5px solid var(--g-line); border-radius: 12px; background: #FCFBFE; box-sizing: border-box; }
.select2-container .select2-selection--single .select2-selection__rendered { flex: 1; min-width: 0; line-height: 1.3; padding: 0 40px 0 16px; color: var(--g-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--g-muted); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-dropdown { border-color: var(--g-line); border-radius: 12px; overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--g-purple); }

.woocommerce-checkout-review-order-table { background: #fff; }
.woocommerce-checkout-review-order-table td.product-name { font-size: 14px; }
.woocommerce-checkout-review-order-table .order-total .amount { color: var(--g-purple); font-size: 20px; }

/* Order review: a clean list instead of a cramped table. */
.woocommerce-checkout .woocommerce-checkout-review-order-table { display: block; width: 100%; margin: 0 0 16px; border: 1px solid #F1E7B8 !important; border-radius: 16px; overflow: hidden; border-collapse: separate; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot { display: block; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; border-top: 1px solid var(--g-line); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr:first-child { border-top: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th, .woocommerce-checkout .woocommerce-checkout-review-order-table td { display: block; width: auto !important; padding: 0 !important; border: 0 !important; background: none !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name { flex: 1; min-width: 0; font-size: 14.5px; font-weight: 700; line-height: 1.4; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .product-quantity { color: var(--g-purple); font-weight: 800; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total { flex-shrink: 0; font-size: 15px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 8px; margin: 8px 0 0; padding: 8px 10px; border-radius: 10px; background: #FAF8FC; font-size: 12.5px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dt { margin: 0; color: var(--g-muted); font-weight: 600; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd { margin: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd p { display: flex; align-items: center; gap: 8px; margin: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation img { width: 40px !important; height: 40px !important; object-fit: cover; border-radius: 8px; }
.gpd-cart-design { display: inline-flex !important; align-items: center; gap: 10px; vertical-align: middle; }
.gpd-cart-design img { flex: 0 0 auto; display: block; margin: 0 !important; }
.gpd-cart-design__name { font-weight: 600; font-size: 13px; line-height: 1.3; color: var(--g-ink); }
.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name dl.variation dd { display: flex; align-items: center; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr { align-items: center; background: #FFFDF5; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { flex-shrink: 0; }
/* Shipping: label on top, options as full-width choice rows. */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { display: block; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { margin-bottom: 8px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method { display: grid; gap: 6px; text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 12px; border: 1.5px solid var(--g-line); border-radius: 12px; background: #fff; }
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li:has(input:checked) { border-color: var(--g-purple); background: #FCF8FF; }
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li input { margin: 0; accent-color: var(--g-purple); }
.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li label { display: flex; flex: 1; justify-content: space-between; gap: 8px; margin: 0; font-size: 14px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total { padding-top: 16px; padding-bottom: 16px; background: #fff; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th { color: var(--g-ink); font-size: 13px; }
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; border: 0 !important; display: grid; gap: 10px; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 14px 16px; border: 1.5px solid var(--g-line); border-radius: 12px; background: #fff; list-style: none; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--g-purple); box-shadow: 0 0 0 3px rgba(122, 0, 200, .08); }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 700; cursor: pointer; }
.woocommerce-checkout #payment div.payment_box { margin: 10px 0 0 !important; padding: 12px 14px !important; border-radius: 10px; background: var(--g-purple-50) !important; color: var(--g-purple-deep) !important; font-size: 13.5px; }
.woocommerce-checkout #payment div.payment_box::before { display: none; }
.woocommerce-checkout #payment div.form-row { padding: 16px 0 0 !important; }
.woocommerce-checkout #place_order { width: 100%; min-height: 58px; font-size: 17px; background: var(--g-yellow); border-color: var(--g-yellow); color: var(--g-ink); }
.woocommerce-checkout #place_order:hover { background: var(--g-yellow-dark); border-color: var(--g-yellow-dark); }
.g-secure-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 12.5px; color: var(--g-muted); text-align: center; }
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { background: #fff !important; border: 1px dashed var(--g-purple-100) !important; }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border: 1px solid var(--g-line) !important; border-radius: var(--g-radius) !important; padding: 20px !important; }

@media (max-width: 1024px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; }
}
@media (max-width: 767px) {
	.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 > div { padding: 18px 16px; }
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100%; float: none; }
	.woocommerce-checkout #order_review_heading { padding: 18px 16px 0; }
	.woocommerce-checkout #order_review { padding: 0 16px 18px; }
	.g-checkout-steps { font-size: 11.5px; gap: 4px; }
	.g-checkout-steps span + span::before { width: 14px; }
}

/* 8. My Account ---------------------------------------------------------------- */
.woocommerce-account .g-page__content > .woocommerce { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
/* WooCommerce's clearfix pseudo-elements would become grid cells and push the menu to column 2. */
.woocommerce-account .g-page__content > .woocommerce::before, .woocommerce-account .g-page__content > .woocommerce::after { display: none; }
.woocommerce-account .g-page__content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; width: 100% !important; float: none !important; position: sticky; top: 100px; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; width: 100% !important; float: none !important; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 10px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; box-shadow: 0 10px 30px rgba(42, 0, 73, .05); }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation li + li { margin-top: 2px; }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; color: var(--g-ink); font-weight: 600; font-size: 15px; transition: background .2s var(--g-ease), color .2s var(--g-ease); }
.woocommerce-MyAccount-navigation li a .g-icon { flex: 0 0 20px; color: var(--g-purple); }
.woocommerce-MyAccount-navigation li a:hover { background: var(--g-purple-50); color: var(--g-purple); }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li.is-active a:hover { background: var(--g-purple); color: #fff; }
.woocommerce-MyAccount-navigation li.is-active a .g-icon { color: var(--g-yellow); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--g-line); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a, .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a .g-icon { color: var(--g-error); }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: #FDECEC; }
.woocommerce-MyAccount-content { padding: 32px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; min-height: 300px; box-shadow: 0 10px 30px rgba(42, 0, 73, .05); }
.woocommerce-MyAccount-content > p:first-of-type { font-size: 17px; }
.woocommerce-MyAccount-content .woocommerce-info, .woocommerce-MyAccount-content .woocommerce-message { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.woocommerce-MyAccount-content .woocommerce-info .button, .woocommerce-MyAccount-content .woocommerce-message .button { order: 2; float: none; margin: 0; }
/* Dashboard welcome + quick links (see gifty_account_dashboard). */
.g-acct-hello { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; padding: 20px 24px; border-radius: var(--g-radius); background: linear-gradient(120deg, var(--g-purple) 0%, #9B2DE0 100%); color: #fff; }
.g-acct-hello__avatar { flex: 0 0 56px; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--g-yellow); color: var(--g-ink); font-family: var(--g-font-head); font-size: 24px; font-weight: 700; }
.g-acct-hello h2 { margin: 0; color: #fff; font-size: 1.4rem; }
.g-acct-hello p { margin: 2px 0 0; color: rgba(255, 255, 255, .85); font-size: 14px; }
.g-acct-hello a { color: var(--g-yellow); font-weight: 700; }
.g-acct-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; }
.g-acct-link { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; color: var(--g-ink); transition: transform .2s var(--g-ease), box-shadow .2s var(--g-ease), border-color .2s var(--g-ease); }
.g-acct-link:hover { transform: translateY(-3px); border-color: #D9C2F0; box-shadow: var(--g-shadow-sm); color: var(--g-ink); }
.g-acct-link__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--g-purple-50); color: var(--g-purple); }
.g-acct-link strong { font-size: 15.5px; }
.g-acct-link span { color: var(--g-muted); font-size: 13px; line-height: 1.45; }
.woocommerce-account:not(.logged-in) .g-page__content > .woocommerce { display: block; max-width: 980px; margin: 0 auto; }
.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.woocommerce-account .u-columns.col2-set .u-column1, .woocommerce-account .u-columns.col2-set .u-column2 { width: 100% !important; float: none; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { margin: 0 !important; }
.woocommerce-account .addresses .woocommerce-Address { padding: 20px; border-radius: var(--g-radius); background: var(--g-cream-light); }
.woocommerce-orders-table .button { min-height: 38px; padding: 6px 16px; font-size: 13px; margin: 2px; }

@media (max-width: 900px) {
	.woocommerce-account .g-page__content > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; position: static; }
	.woocommerce-MyAccount-navigation li + li { margin-top: 0; }
	.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
	.g-acct-hello { padding: 16px; }
	.g-acct-links { grid-template-columns: 1fr 1fr; gap: 10px; }
	.g-acct-link { padding: 14px; }
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; gap: 4px; padding: 6px; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 10px 14px; font-size: 14px; }
	.woocommerce-MyAccount-content { padding: 18px 16px; }
	.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; }
}

/* 9. Order received / tracking ------------------------------------------------- */
.woocommerce-order .woocommerce-thankyou-order-received {
	padding: 24px; border-radius: var(--g-radius); background: #EEF9F2; color: #145C34; font-family: var(--g-font-head); font-size: 1.5rem; text-align: center;
}
/* Gifty thank-you layout (woocommerce/checkout/thankyou.php) */
.g-thanks { max-width: 1160px; margin: 0 auto; }
.g-thanks__hero { position: relative; overflow: hidden; padding: 40px 32px 32px; border-radius: var(--g-radius-lg); background: radial-gradient(circle at 12% 0%, rgba(255, 217, 0, .35) 0, transparent 40%), linear-gradient(135deg, #F6EEFD 0%, #FFF9DB 100%); text-align: center; }
.g-thanks__check { display: inline-grid; place-items: center; width: 72px; height: 72px; margin-bottom: 14px; border-radius: 50%; background: var(--g-purple); color: #fff; box-shadow: 0 0 0 10px rgba(122, 0, 200, .12); animation: gThanksPop .5s var(--g-ease) both; }
@keyframes gThanksPop { from { transform: scale(.5); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.g-thanks__eyebrow { margin: 0 0 4px; color: var(--g-purple); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.g-thanks__title { margin: 0 0 8px; font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.6rem); }
.woocommerce-order.g-thanks .woocommerce-thankyou-order-received { max-width: 640px; margin: 0 auto; padding: 0; background: none; color: #4A4452; font-family: var(--g-font-body); font-size: 16px; line-height: 1.6; }
.g-thanks__steps { display: flex; justify-content: center; gap: 0; max-width: 640px; margin: 28px auto 0; padding: 0; list-style: none; counter-reset: none; }
.g-thanks__steps li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 0; color: var(--g-muted); font-size: 13px; font-weight: 700; }
.g-thanks__steps li::before { content: ""; position: absolute; top: 17px; right: 50%; width: 100%; height: 3px; background: #E4D6F2; z-index: 0; }
.g-thanks__steps li:first-child::before { display: none; }
.g-thanks__steps li span { position: relative; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: #B9A6CC; border: 2px solid #E4D6F2; }
.g-thanks__steps li.is-done, .g-thanks__steps li.is-next { color: var(--g-ink); }
.g-thanks__steps li.is-done span { background: var(--g-purple); border-color: var(--g-purple); color: #fff; }
.g-thanks__steps li.is-next span { border-color: var(--g-purple); color: var(--g-purple); }
.g-thanks__steps li.is-next::before { background: linear-gradient(90deg, var(--g-purple), #E4D6F2); }
.g-thanks .woocommerce-order-overview.order_details { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 20px 0 28px !important; }
.g-thanks .woocommerce-order-overview.order_details li { padding: 16px 18px; background: #fff; box-shadow: 0 6px 18px rgba(42, 0, 73, .04); font-size: 11px; font-weight: 700; }
.g-thanks .woocommerce-order-overview.order_details li strong { margin-top: 6px; font-size: 15.5px; font-weight: 800; word-break: break-word; }
.g-thanks .woocommerce-order-overview__total strong { color: var(--g-purple) !important; }
.g-thanks__body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.g-thanks__gateway:empty { display: none; }
.g-thanks__gateway p { margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; background: var(--g-cream-light); border: 1px solid #F3E4A0; font-weight: 600; font-size: 14.5px; }
.g-thanks__main .woocommerce-order-details, .g-thanks__main .woocommerce-customer-details { margin: 0 0 24px; padding: 24px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; }
.g-thanks__main h2 { margin: 0 0 16px; font-size: 1.35rem; }
.g-thanks__main table.shop_table { margin: 0; border: 0; border-radius: 0; }
.g-thanks__main table.shop_table th, .g-thanks__main table.shop_table td { padding: 14px 0; border-top: 1px solid var(--g-line); vertical-align: top; }
.g-thanks__main table.shop_table thead th { padding-top: 0; border-top: 0; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--g-muted); background: none; }
.g-thanks__main table.shop_table td:last-child, .g-thanks__main table.shop_table th:last-child { text-align: right; }
.g-thanks__main table.shop_table td.product-name { padding-right: 16px; }
.g-thanks__main table.shop_table td.product-name > a { color: var(--g-ink); font-weight: 700; }
.g-thanks__main table.shop_table .product-quantity { color: var(--g-purple); font-weight: 800; }
.g-thanks__main table.shop_table tfoot th { font-size: 13px; font-weight: 700; color: var(--g-muted); text-transform: none; letter-spacing: 0; text-align: left !important; background: none; }
.g-thanks__main table.shop_table tfoot tr:last-child th, .g-thanks__main table.shop_table tfoot tr:last-child td { color: var(--g-ink); font-size: 15px; }
.g-thanks__main table.shop_table tfoot tr:nth-last-child(2) td .amount { color: var(--g-purple); font-size: 18px; font-weight: 800; }
.g-thanks__main .wc-item-meta { margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--g-muted); }
.g-thanks__main .wc-item-meta li { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0; }
.g-thanks__main .wc-item-meta li p { margin: 0; }
.g-thanks__main .wc-item-meta .wc-item-meta-label { color: var(--g-ink); font-weight: 700; }
.g-thanks__main .gpd-order-design img { width: 72px; height: 72px; border-radius: 12px; }
.g-thanks__main .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.g-thanks__main .woocommerce-customer-details .woocommerce-column { width: auto !important; float: none !important; margin: 0; }
.g-thanks__main .woocommerce-customer-details .woocommerce-columns::before, .g-thanks__main .woocommerce-customer-details .woocommerce-columns::after { display: none; }
.g-thanks__main .woocommerce-customer-details h2.woocommerce-column__title { font-size: 1.05rem; margin-bottom: 10px; }
.g-thanks__main .woocommerce-customer-details address { height: calc(100% - 38px); padding: 16px 18px; border: 0 !important; border-radius: 12px; background: #FAF8FC; font-style: normal; line-height: 1.7; font-size: 14px; box-sizing: border-box; }
.g-thanks__main .woocommerce-customer-details address p { margin: 6px 0 0; }
.g-thanks__main .woocommerce-customer-details > h2:first-child:only-of-type { margin-bottom: 12px; }
.g-thanks__aside { position: sticky; top: 100px; display: grid; gap: 16px; }
.g-thanks__card { padding: 24px; border-radius: var(--g-radius); background: var(--g-cream-light); border: 1px solid #F3E4A0; }
.g-thanks__card h3 { margin: 0 0 14px; font-size: 1.2rem; }
.g-thanks__next { display: grid; gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.g-thanks__next li { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.5; }
.g-thanks__next li .g-icon { flex: 0 0 18px; margin-top: 2px; color: var(--g-purple); }
.g-thanks__actions { display: grid; gap: 10px; }
.g-thanks__actions .button { width: 100%; justify-content: center; text-align: center; }
.g-thanks__actions .g-btn--ghost { background: #fff !important; color: var(--g-purple) !important; border: 1.5px solid var(--g-purple) !important; }
.g-thanks__actions .g-btn--ghost:hover { background: var(--g-purple) !important; color: #fff !important; }
.g-thanks__help { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: var(--g-radius); background: #EAF8EF; color: #145C34; font-size: 13.5px; transition: transform .2s var(--g-ease); }
.g-thanks__help:hover { transform: translateY(-2px); color: #145C34; }
.g-thanks__help strong { display: block; font-size: 15px; color: #0F4A29; }
.g-thanks__help-icon { flex: 0 0 44px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #25D366; color: #fff; }
@media (max-width: 900px) {
	.g-thanks__hero { padding: 28px 18px 24px; }
	.g-thanks__steps li { font-size: 11.5px; }
	.g-thanks__body { grid-template-columns: minmax(0, 1fr); }
	.g-thanks__aside { position: static; }
	.g-thanks__main .woocommerce-order-details, .g-thanks__main .woocommerce-customer-details { padding: 18px 16px; }
	.g-thanks__main .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; }
	.g-thanks .woocommerce-order-overview.order_details { grid-template-columns: 1fr 1fr; }
}
.woocommerce ul.order_details { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 24px 0 !important; padding: 0 !important; }
.woocommerce ul.order_details::before, .woocommerce ul.order_details::after { display: none; }
.woocommerce ul.order_details li { float: none; margin: 0; padding: 14px 16px; border: 1px solid var(--g-line) !important; border-radius: 12px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--g-muted); }
.woocommerce ul.order_details li strong { display: block; margin-top: 4px; font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--g-ink); }
.woocommerce form.track_order { max-width: 560px; margin: 0 auto; padding: 28px; border: 1px solid var(--g-line); border-radius: var(--g-radius); background: #fff; }
.woocommerce form.track_order .form-row-first, .woocommerce form.track_order .form-row-last { width: 100%; float: none; }
.woocommerce form.track_order .button { width: 100%; }
