/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ============================================================
   DESIGN TOKENS
============================================================ */
:root {
	--c-bg:        #f3f4f8;
	--c-white:     #ffffff;
	--c-dark:      #111827;
	--c-accent:    #6366f1;
	--c-accent2:   #4f46e5;
	--c-sale:      #ef4444;
	--c-muted:     #6b7280;
	--c-border:    #e5e7eb;
	--c-input-bg:  #f9fafb;
	--r-card:      16px;
	--r-btn:       10px;
	--r-input:     10px;
	--sh-sm:       0 1px 4px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.07);
	--sh-md:       0 4px 12px rgba(0,0,0,.06), 0 12px 40px rgba(0,0,0,.12);
	--sh-lg:       0 8px 24px rgba(0,0,0,.08), 0 24px 64px rgba(0,0,0,.16);
	--tr:          .3s cubic-bezier(.25,.46,.45,.94);
}

/* ============================================================
   █▀█ █▀█ █▀█ █▀▄ █ █ █▀▀ ▀█▀   █▀▀ ▄▀█ █▀█ █▀▄ █▀
   █▀▀ █▀▄ █▄█ █▄▀ █▄█ █▄▄  █    █▄▄ █▀█ █▀▄ █▄▀ ▄█
   PRODUCT CARDS — covers ALL Woodmart hover types
============================================================ */

/* ── Page / grid background ─────────────────────────────── */
.woocommerce-page .site-content,
.woocommerce .products.columns-2 li,
.woocommerce .products.columns-3 li,
.woocommerce .products.columns-4 li,
.woocommerce .products.columns-5 li {
	background: transparent;
}

/* ── Extra tokens for cards ──────────────────────────────── */
:root {
	--c-card-grad-from: #6366f1;
	--c-card-grad-to:   #8b5cf6;
	--c-img-bg:         #f0f0ff;
	--c-sale-from:      #f43f5e;
	--c-sale-to:        #fb923c;
}

/* ── Card shell ──────────────────────────────────────────── */
.wd-product.product-grid-item .product-wrapper,
li.product.product-grid-item .product-wrapper {
	background:     var(--c-white) !important;
	border-radius:  20px !important;
	border:         1px solid rgba(99,102,241,.12) !important;
	box-shadow:     0 2px 8px rgba(99,102,241,.06), 0 1px 3px rgba(0,0,0,.05) !important;
	overflow:       hidden !important;
	display:        flex !important;
	flex-direction: column !important;
	height:         100% !important;
	transition:     transform .35s cubic-bezier(.22,.68,0,1.2),
	                box-shadow .35s ease,
	                border-color .3s ease !important;
	position:       relative !important;
}

/* Gradient top accent line */
.wd-product.product-grid-item .product-wrapper::before,
li.product.product-grid-item .product-wrapper::before {
	content:       '' !important;
	position:      absolute !important;
	top:           0 !important;
	left:          0 !important;
	right:         0 !important;
	height:        3px !important;
	background:    linear-gradient(90deg, var(--c-card-grad-from), var(--c-card-grad-to)) !important;
	opacity:       0 !important;
	transition:    opacity .3s ease !important;
	z-index:       2 !important;
	border-radius: 20px 20px 0 0 !important;
}

.wd-product.product-grid-item:hover .product-wrapper,
li.product.product-grid-item:hover .product-wrapper {
	transform:    translateY(-8px) scale(1.01) !important;
	box-shadow:   0 12px 40px rgba(99,102,241,.18), 0 4px 16px rgba(0,0,0,.08) !important;
	border-color: rgba(99,102,241,.3) !important;
}

.wd-product.product-grid-item:hover .product-wrapper::before,
li.product.product-grid-item:hover .product-wrapper::before {
	opacity: 1 !important;
}

/* ── Image area ──────────────────────────────────────────── */
.wd-product .product-wrapper .product-element-top,
li.product .product-wrapper .product-element-top {
	overflow:     hidden !important;
	flex-shrink:  0 !important;
	position:     relative !important;
	background:   var(--c-img-bg) !important;
	aspect-ratio: 1 / 1 !important;
}

/* Gradient fade bottom overlay */
.wd-product .product-wrapper .product-element-top::after,
li.product .product-wrapper .product-element-top::after {
	content:        '' !important;
	position:       absolute !important;
	bottom:         0 !important;
	left:           0 !important;
	right:          0 !important;
	height:         60px !important;
	background:     linear-gradient(to bottom, transparent, rgba(255,255,255,.55)) !important;
	pointer-events: none !important;
	z-index:        1 !important;
}

/* Image zoom + slight rotate on hover */
.wd-product .product-wrapper .product-element-top img,
li.product .product-wrapper .product-element-top .attachment-woocommerce_thumbnail {
	transition:  transform .6s cubic-bezier(.25,.46,.45,.94) !important;
	display:     block !important;
	width:       100% !important;
	height:      100% !important;
	object-fit:  cover !important;
}

.wd-product:hover .product-wrapper .product-element-top img,
li.product:hover .product-wrapper .product-element-top .attachment-woocommerce_thumbnail {
	transform: scale(1.09) rotate(1deg) !important;
}

/* ── Sale badge — gradient pill ──────────────────────────── */
.wd-product .product-wrapper .onsale,
li.product .product-wrapper .onsale {
	position:       absolute !important;
	top:            14px !important;
	left:           14px !important;
	right:          auto !important;
	background:     linear-gradient(135deg, var(--c-sale-from), var(--c-sale-to)) !important;
	color:          #fff !important;
	border-radius:  20px !important;
	font-size:      10px !important;
	font-weight:    800 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	padding:        5px 12px !important;
	line-height:    1.3 !important;
	z-index:        5 !important;
	box-shadow:     0 3px 10px rgba(244,63,94,.45) !important;
}

/* ── Overlay .wd-buttons (Woodmart default — hidden in our layout) ── */
/* Buttons are rendered in footer; suppress any default overlay positioning */
.wd-custom-card .wd-buttons {
	display: none !important;
}

/* ── Product info block ──────────────────────────────────── */
.wd-product .product-wrapper .top-information,
.wd-product .product-wrapper .product-element-bottom,
li.product .product-wrapper .product-element-bottom {
	padding:    16px 18px 4px !important;
	background: var(--c-white) !important;
	flex:       1 !important;
}

/* Make info always visible */
.wd-hover-info .product-wrapper .top-information,
.wd-hover-info .product-wrapper .bottom-information {
	opacity:    1 !important;
	visibility: visible !important;
	transform:  none !important;
	position:   relative !important;
	background: var(--c-white) !important;
	padding:    16px 18px 0 !important;
}

/* ── Categories — pill style ──────────────────────────────── */
.wd-product .product-wrapper .wd-product-cats,
.wd-product .product-wrapper .posted-in,
li.product .product-wrapper .wd-product-cats,
li.product .product-wrapper .posted-in {
	display:       block !important;
	margin-bottom: 8px !important;
}

.wd-product .product-wrapper .wd-product-cats a,
.wd-product .product-wrapper .posted-in a,
li.product .product-wrapper .wd-product-cats a,
li.product .product-wrapper .posted-in a {
	display:         inline-block !important;
	font-size:       9.5px !important;
	font-weight:     700 !important;
	text-transform:  uppercase !important;
	letter-spacing:  .1em !important;
	color:           var(--c-accent) !important;
	background:      rgba(99,102,241,.1) !important;
	border-radius:   20px !important;
	padding:         3px 10px !important;
	text-decoration: none !important;
	transition:      background .2s, color .2s !important;
}

.wd-product .product-wrapper .wd-product-cats a:hover,
.wd-product .product-wrapper .posted-in a:hover {
	background: var(--c-accent) !important;
	color:      #fff !important;
}

/* ── Product title ───────────────────────────────────────── */
.wd-product .product-wrapper .woocommerce-loop-product__title,
li.product .product-wrapper .woocommerce-loop-product__title {
	font-size:   15px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	color:       var(--c-dark) !important;
	margin:      0 0 8px !important;
	padding:     0 !important;
	transition:  color .2s !important;
	display:     -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow:    hidden !important;
}

.wd-product:hover .product-wrapper .woocommerce-loop-product__title,
li.product:hover .product-wrapper .woocommerce-loop-product__title {
	color: var(--c-accent) !important;
}

/* ── Star rating ─────────────────────────────────────────── */
.wd-product .product-wrapper .star-rating,
li.product .product-wrapper .star-rating {
	font-size: 12px !important;
	margin:    3px 0 8px !important;
	color:     #f59e0b !important;
}

.wd-product .product-wrapper .star-rating::before,
li.product .product-wrapper .star-rating::before {
	color: #e5e7eb !important;
}

.wd-product .product-wrapper .star-rating span,
li.product .product-wrapper .star-rating span {
	color: #f59e0b !important;
}

/* ── Price ───────────────────────────────────────────────── */
.wd-product .product-wrapper .price,
li.product .product-wrapper .price {
	font-size:   20px !important;
	font-weight: 900 !important;
	color:       var(--c-dark) !important;
	margin:      6px 0 0 !important;
	line-height: 1.2 !important;
	display:     flex !important;
	align-items: baseline !important;
	gap:         7px !important;
	flex-wrap:   wrap !important;
}

.wd-product .product-wrapper .price ins,
li.product .product-wrapper .price ins {
	text-decoration:         none !important;
	background:              linear-gradient(135deg, var(--c-sale-from), var(--c-sale-to)) !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	background-clip:         text !important;
}

.wd-product .product-wrapper .price del,
li.product .product-wrapper .price del {
	font-size:   13px !important;
	font-weight: 400 !important;
	color:       var(--c-muted) !important;
	opacity:     1 !important;
}

/* ── Add to Cart — gradient button, always visible ────────── */
.wd-product .product-wrapper .wd-add-btn,
.wd-product .product-wrapper .wd-add-btn-replace,
li.product .product-wrapper .wd-add-btn,
li.product .product-wrapper .wd-add-btn-replace {
	opacity:    1 !important;
	visibility: visible !important;
	transform:  none !important;
	position:   relative !important;
	bottom:     auto !important;
	left:       auto !important;
	right:      auto !important;
	width:      100% !important;
	padding:    14px 18px 18px !important;
	margin-top: auto !important;
	background: var(--c-white) !important;
}

.wd-product .product-wrapper .button.add_to_cart_button,
.wd-product .product-wrapper .button.product_type_simple,
.wd-product .product-wrapper .button.product_type_variable,
.wd-product .product-wrapper .button.product_type_grouped,
.wd-product .product-wrapper .added_to_cart,
li.product .product-wrapper .button.add_to_cart_button,
li.product .product-wrapper .button.product_type_simple,
li.product .product-wrapper .button.product_type_variable {
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	gap:             8px !important;
	width:           100% !important;
	padding:         13px 18px !important;
	border-radius:   12px !important;
	background:      linear-gradient(135deg, var(--c-card-grad-from) 0%, var(--c-card-grad-to) 100%) !important;
	color:           #fff !important;
	font-size:       11.5px !important;
	font-weight:     800 !important;
	text-transform:  uppercase !important;
	letter-spacing:  .1em !important;
	border:          none !important;
	cursor:          pointer !important;
	transition:      all .3s cubic-bezier(.34,1.56,.64,1) !important;
	text-decoration: none !important;
	opacity:         1 !important;
	visibility:      visible !important;
	transform:       none !important;
	position:        relative !important;
	box-shadow:      0 4px 14px rgba(99,102,241,.35) !important;
}

.wd-product .product-wrapper .button.add_to_cart_button:hover,
.wd-product .product-wrapper .button.product_type_simple:hover,
.wd-product .product-wrapper .button.product_type_variable:hover,
li.product .product-wrapper .button.add_to_cart_button:hover,
li.product .product-wrapper .button.product_type_simple:hover {
	box-shadow: 0 8px 28px rgba(99,102,241,.55) !important;
	transform:  translateY(-3px) scale(1.02) !important;
	filter:     brightness(1.08) !important;
}

.wd-product .product-wrapper .button.loading {
	opacity: .7 !important;
	cursor:  wait !important;
}

.wd-product .product-wrapper .button.added {
	background: linear-gradient(135deg, #16a34a, #22c55e) !important;
	box-shadow: 0 4px 18px rgba(22,163,74,.45) !important;
}

/* ── bottom-information: Rating + Price row ──────────────── */
.wd-hover-info .product-wrapper .bottom-information {
	padding:    0 18px 0 !important;
	position:   relative !important;
	opacity:    1 !important;
	visibility: visible !important;
	transform:  none !important;
	background: var(--c-white) !important;
}

/* ── Swatches ────────────────────────────────────────────── */
.wd-product .product-wrapper .wd-swatches-wrapp {
	padding: 6px 18px 0 !important;
}

/* ── Product link ────────────────────────────────────────── */
.wd-product .product-wrapper .product-image-link {
	display:      block !important;
	outline:      none !important;
	overflow:     hidden !important;
	aspect-ratio: 1 / 1 !important;
}

/* ── Card layout helpers ─────────────────────────────────── */
.wd-custom-card-body {
	padding:        14px 18px 4px !important;
	flex:           1 !important;
	display:        flex !important;
	flex-direction: column !important;
}

.wd-custom-card-meta {
	flex: 1 !important;
}

.wd-custom-card-footer {
	padding:    10px 18px 18px !important;
	margin-top: auto !important;
	border-top: 1px solid rgba(99,102,241,.08) !important;
}

/* ── Row 1: qty stepper + icon action buttons ────────────── */
.wd-loop-top-row {
	display:       flex !important;
	align-items:   stretch !important;
	gap:           8px !important;
	margin-bottom: 10px !important;
}

/* ── Qty stepper pill ────────────────────────────────────── */
.wd-loop-qty-wrap {
	display:       flex !important;
	align-items:   center !important;
	flex:          1 !important;
	background:    #f4f5ff !important;
	border:        1.5px solid rgba(99,102,241,.2) !important;
	border-radius: 12px !important;
	overflow:      hidden !important;
	transition:    border-color .2s, box-shadow .2s !important;
}

.wd-loop-qty-wrap:focus-within {
	border-color: var(--c-accent) !important;
	box-shadow:   0 0 0 3px rgba(99,102,241,.15) !important;
}

/* −/+ buttons */
.wd-loop-qty-btn {
	width:           30px !important;
	height:          44px !important;
	min-width:       30px !important;
	background:      transparent !important;
	border:          none !important;
	cursor:          pointer !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	color:           var(--c-muted) !important;
	transition:      color .15s, background .15s !important;
	padding:         0 !important;
	flex-shrink:     0 !important;
	line-height:     1 !important;
}

.wd-loop-qty-btn:hover {
	color:      var(--c-accent) !important;
	background: rgba(99,102,241,.08) !important;
}

.wd-loop-qty-btn:active {
	background: rgba(99,102,241,.16) !important;
}

.wd-loop-qty-btn:disabled {
	opacity: .3 !important;
	cursor:  not-allowed !important;
}

/* Number input */
.wd-loop-qty-input {
	flex:        1 !important;
	min-width:   0 !important;
	height:      44px !important;
	border:      none !important;
	background:  transparent !important;
	text-align:  center !important;
	font-size:   14px !important;
	font-weight: 700 !important;
	color:       var(--c-dark) !important;
	padding:     0 4px !important;
	outline:     none !important;
	-moz-appearance: textfield !important;
}

.wd-loop-qty-input::-webkit-inner-spin-button,
.wd-loop-qty-input::-webkit-outer-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* ── Icon action buttons: wishlist + quick view ──────────── */
.wd-loop-icon-actions {
	display:    flex !important;
	align-items: stretch !important;
	gap:         6px !important;
	flex-shrink: 0 !important;
}

/* Wide version (for non-simple products — fills full width) */
.wd-loop-icon-actions--wide {
	flex-shrink:   0 !important;
	margin-bottom: 10px !important;
}

.wd-loop-icon-actions--wide .wd-action-btn {
	flex: 1 !important;
}

/* Each icon button wrapper */
.wd-loop-icon-actions .wd-action-btn,
.wd-loop-icon-actions--wide .wd-action-btn {
	width:           44px !important;
	height:          44px !important;
	min-width:       44px !important;
	border-radius:   12px !important;
	background:      #f4f5ff !important;
	border:          1.5px solid rgba(99,102,241,.18) !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	cursor:          pointer !important;
	transition:      all .22s cubic-bezier(.34,1.56,.64,1) !important;
	overflow:        visible !important;
	position:        relative !important;
}

/* Inner link */
.wd-loop-icon-actions .wd-action-btn a,
.wd-loop-icon-actions--wide .wd-action-btn a {
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	width:           100% !important;
	height:          100% !important;
	color:           #6b7280 !important;
	text-decoration: none !important;
	background:      transparent !important;
	border:          none !important;
	padding:         0 !important;
	font-size:       17px !important;
	transition:      color .2s !important;
}

/* Woodmart icon pseudo-elements */
.wd-loop-icon-actions .wd-action-btn a::before,
.wd-loop-icon-actions--wide .wd-action-btn a::before,
.wd-loop-icon-actions .wd-action-btn::before,
.wd-loop-icon-actions--wide .wd-action-btn::before {
	font-size:  17px !important;
	line-height: 1 !important;
}

/* Hide text labels (icon-only mode) */
.wd-loop-icon-actions .wd-action-text,
.wd-loop-icon-actions--wide .wd-action-text {
	display:    none !important;
	visibility: hidden !important;
}

/* ── Wishlist button states ───────────────────────────────── */
.wd-loop-icon-actions .wd-wishlist-btn:hover,
.wd-loop-icon-actions--wide .wd-wishlist-btn:hover {
	background:   #fff0f3 !important;
	border-color: #f43f5e !important;
	transform:    scale(1.1) !important;
}

.wd-loop-icon-actions .wd-wishlist-btn:hover a,
.wd-loop-icon-actions--wide .wd-wishlist-btn:hover a {
	color: #f43f5e !important;
}

/* Added to wishlist */
.wd-loop-icon-actions .wd-wishlist-btn a.added,
.wd-loop-icon-actions--wide .wd-wishlist-btn a.added,
.wd-loop-icon-actions .wd-wishlist-btn.wd-active,
.wd-loop-icon-actions--wide .wd-wishlist-btn.wd-active {
	background:   #fff0f3 !important;
	border-color: #f43f5e !important;
}

.wd-loop-icon-actions .wd-wishlist-btn a.added,
.wd-loop-icon-actions--wide .wd-wishlist-btn a.added {
	color: #f43f5e !important;
}

/* ── Quick View button states ────────────────────────────── */
.wd-loop-icon-actions .quick-view:hover,
.wd-loop-icon-actions--wide .quick-view:hover {
	background:   #eef0ff !important;
	border-color: var(--c-accent) !important;
	transform:    scale(1.1) !important;
}

.wd-loop-icon-actions .quick-view:hover a,
.wd-loop-icon-actions--wide .quick-view:hover a {
	color: var(--c-accent) !important;
}

/* ── Add-to-Cart button (Row 2, full width) ──────────────── */
.wd-loop-has-qty {
	display: block !important;
	width:   100% !important;
}

/* ── Add-to-Cart button shimmer effect ───────────────────── */
.wd-product .product-wrapper .button.add_to_cart_button,
.wd-product .product-wrapper .button.product_type_simple,
li.product .product-wrapper .button.add_to_cart_button {
	overflow: hidden !important;
}

.wd-product .product-wrapper .button.add_to_cart_button::after,
.wd-product .product-wrapper .button.product_type_simple::after,
li.product .product-wrapper .button.add_to_cart_button::after {
	content:        '' !important;
	position:       absolute !important;
	top:            0 !important;
	left:           -75% !important;
	width:          50% !important;
	height:         100% !important;
	background:     linear-gradient(120deg, transparent, rgba(255,255,255,.28), transparent) !important;
	transform:      skewX(-20deg) !important;
	transition:     left .5s ease !important;
	pointer-events: none !important;
}

.wd-product .product-wrapper .button.add_to_cart_button:hover::after,
.wd-product .product-wrapper .button.product_type_simple:hover::after,
li.product .product-wrapper .button.add_to_cart_button:hover::after {
	left: 120% !important;
}

/* ── Mobile ──────────────────────────────────────────────── */
@media (max-width: 480px) {
	.wd-product.product-grid-item:hover .product-wrapper,
	li.product.product-grid-item:hover .product-wrapper {
		transform: translateY(-4px) scale(1) !important;
	}

	.wd-loop-qty-btn   { height: 40px !important; }
	.wd-loop-qty-input { height: 40px !important; }

	.wd-loop-icon-actions .wd-action-btn,
	.wd-loop-icon-actions--wide .wd-action-btn {
		width:  40px !important;
		height: 40px !important;
		min-width: 40px !important;
	}
}


/* ============================================================
   ██████╗██╗  ██╗███████╗ ██████╗██╗  ██╗ ██████╗ ██╗   ██╗████████╗
  ██╔════╝██║  ██║██╔════╝██╔════╝██║ ██╔╝██╔═══██╗██║   ██║╚══██╔══╝
  ██║     ███████║█████╗  ██║     █████╔╝ ██║   ██║██║   ██║   ██║
  ██║     ██╔══██║██╔══╝  ██║     ██╔═██╗ ██║   ██║██║   ██║   ██║
  ╚██████╗██║  ██║███████╗╚██████╗██║  ██╗╚██████╔╝╚██████╔╝   ██║
   ╚═════╝╚═╝  ╚═╝╚══════╝ ╚═════╝╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝
============================================================ */

/* ── Page background ─────────────────────────────────────── */
.woocommerce-checkout body,
body.woocommerce-checkout {
	background: var(--c-bg) !important;
}

.woocommerce-checkout .wd-page-content,
.woocommerce-checkout .woodmart-content-holder {
	background: var(--c-bg) !important;
}

/* ── Main form wrapper ───────────────────────────────────── */
form.wd-checkout-form {
	max-width:  1180px !important;
	margin:     0 auto !important;
	padding:    36px 24px 60px !important;
}

/* ── Two-column grid ─────────────────────────────────────── */
.wd-checkout-grid {
	display:               grid !important;
	grid-template-columns: 1fr 400px !important;
	gap:                   28px !important;
	align-items:           start !important;
}

.wd-checkout-col { min-width: 0; }

/* ── White section cards ─────────────────────────────────── */
.wd-checkout-section {
	background:    var(--c-white) !important;
	border-radius: 18px !important;
	border:        1.5px solid var(--c-border) !important;
	box-shadow:    var(--sh-sm) !important;
	padding:       32px 32px 28px !important;
	margin-bottom: 20px !important;
}
.wd-checkout-section:last-child { margin-bottom: 0; }

/* ── Step header (numbered circle + title) ───────────────── */
.wd-checkout-section-header {
	display:        flex !important;
	align-items:    center !important;
	gap:            14px !important;
	margin-bottom:  28px !important;
	padding-bottom: 22px !important;
	border-bottom:  1.5px solid var(--c-border) !important;
}

.wd-checkout-step-num {
	width:           38px !important;
	height:          38px !important;
	border-radius:   50% !important;
	background:      var(--c-dark) !important;
	color:           #fff !important;
	font-size:       15px !important;
	font-weight:     800 !important;
	display:         flex !important;
	align-items:     center !important;
	justify-content: center !important;
	flex-shrink:     0 !important;
}

.wd-checkout-section-header h3 {
	font-size:   20px !important;
	font-weight: 800 !important;
	color:       var(--c-dark) !important;
	margin:      0 !important;
	padding:     0 !important;
	border:      none !important;
}

/* ── Form headings from WooCommerce hooks ────────────────── */
.wd-checkout-section .woocommerce-billing-fields > h3,
.wd-checkout-section .woocommerce-shipping-fields > h3,
.wd-checkout-section .woocommerce-additional-fields > h3 {
	font-size:    16px !important;
	font-weight:  700 !important;
	color:        var(--c-dark) !important;
	margin:       0 0 18px !important;
	padding:      0 !important;
	border:       none !important;
}

/* ── Labels ──────────────────────────────────────────────── */
.wd-checkout-section label,
.wd-checkout-section .woocommerce-form__label {
	font-size:      11.5px !important;
	font-weight:    700 !important;
	color:          #374151 !important;
	text-transform: uppercase !important;
	letter-spacing: .07em !important;
	margin-bottom:  6px !important;
	display:        block !important;
}

/* ── Inputs / Selects / Textareas ────────────────────────── */
.wd-checkout-section input[type="text"],
.wd-checkout-section input[type="email"],
.wd-checkout-section input[type="tel"],
.wd-checkout-section input[type="password"],
.wd-checkout-section input[type="number"],
.wd-checkout-section select,
.wd-checkout-section textarea,
.wd-checkout-section .select2-selection,
.wd-checkout-section .select2-selection--single {
	width:         100% !important;
	padding:       12px 15px !important;
	border:        1.5px solid #d1d5db !important;
	border-radius: var(--r-input) !important;
	background:    var(--c-input-bg) !important;
	font-size:     14px !important;
	color:         var(--c-dark) !important;
	transition:    border-color .2s, box-shadow .2s !important;
	outline:       none !important;
	box-shadow:    none !important;
	appearance:    auto;
	height:        auto !important;
	line-height:   1.5 !important;
}

.wd-checkout-section input:focus,
.wd-checkout-section select:focus,
.wd-checkout-section textarea:focus {
	border-color: var(--c-accent) !important;
	box-shadow:   0 0 0 3.5px rgba(99,102,241,.16) !important;
	background:   #fff !important;
}

/* Select2 focus */
.wd-checkout-section .select2-container--open .select2-selection {
	border-color: var(--c-accent) !important;
	box-shadow:   0 0 0 3.5px rgba(99,102,241,.16) !important;
}

/* Half-width fields */
.wd-checkout-section p.form-row-first,
.wd-checkout-section p.form-row-last {
	width: calc(50% - 8px) !important;
}

/* ── Shipping toggle checkbox ────────────────────────────── */
.wd-checkout-section #ship-to-different-address label {
	font-size:      14px !important;
	font-weight:    600 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color:          var(--c-dark) !important;
	display:        flex !important;
	align-items:    center !important;
	gap:            10px !important;
	cursor:         pointer !important;
}

.wd-checkout-section #ship-to-different-address input[type="checkbox"] {
	width:        18px !important;
	height:       18px !important;
	accent-color: var(--c-accent) !important;
	cursor:       pointer !important;
}

/* ── Payment section reset ───────────────────────────────── */
.wd-checkout-payment-section #order_review {
	background: transparent !important;
	border:     none !important;
	box-shadow: none !important;
	padding:    0 !important;
	margin:     0 !important;
}

/* ── Payment methods list ────────────────────────────────── */
.wd-checkout-payment-section #payment ul.payment_methods,
.wd-checkout-payment-section #payment .wc_payment_methods {
	list-style:    none !important;
	margin:        0 0 20px !important;
	padding:       0 !important;
	border:        none !important;
	background:    transparent !important;
	display:       flex !important;
	flex-direction: column !important;
	gap:           10px !important;
}

.wd-checkout-payment-section #payment ul.payment_methods li.wc_payment_method {
	border:        1.5px solid var(--c-border) !important;
	border-radius: 12px !important;
	background:    var(--c-input-bg) !important;
	padding:       16px 18px !important;
	margin:        0 !important;
	transition:    border-color .2s, background .2s, box-shadow .2s !important;
	cursor:        pointer !important;
}

.wd-checkout-payment-section #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
	border-color: var(--c-accent) !important;
	background:   #eef0ff !important;
	box-shadow:   0 0 0 3px rgba(99,102,241,.15) !important;
}

.wd-checkout-payment-section #payment ul.payment_methods label {
	font-size:      14px !important;
	font-weight:    600 !important;
	color:          var(--c-dark) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor:         pointer !important;
	display:        flex !important;
	align-items:    center !important;
	gap:            10px !important;
	margin:         0 !important;
}

.wd-checkout-payment-section #payment ul.payment_methods label img {
	max-height:  24px !important;
	width:       auto !important;
	flex-shrink: 0 !important;
}

.wd-checkout-payment-section #payment .payment_box {
	background:    #eef0ff !important;
	border:        none !important;
	border-radius: 8px !important;
	padding:       14px 16px !important;
	margin-top:    12px !important;
	font-size:     13px !important;
	color:         #4b5563 !important;
}

/* ── Place Order button ──────────────────────────────────── */
.wd-checkout-payment-section #place_order,
.wd-checkout-payment-section #payment #place_order,
#place_order.button {
	display:         block !important;
	width:           100% !important;
	padding:         17px 28px !important;
	margin-top:      24px !important;
	border-radius:   12px !important;
	background:      linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
	color:           #fff !important;
	font-size:       15px !important;
	font-weight:     800 !important;
	text-transform:  uppercase !important;
	letter-spacing:  .09em !important;
	border:          none !important;
	cursor:          pointer !important;
	transition:      all .28s ease !important;
	box-shadow:      0 6px 24px rgba(99,102,241,.45) !important;
	text-align:      center !important;
	line-height:     1.3 !important;
}

.wd-checkout-payment-section #place_order:hover,
.wd-checkout-payment-section #payment #place_order:hover {
	transform:  translateY(-2px) !important;
	box-shadow: 0 12px 36px rgba(99,102,241,.55) !important;
}

/* Terms */
.wd-checkout-payment-section .woocommerce-terms-and-conditions-wrapper {
	margin-top:  16px !important;
	font-size:   12px !important;
	color:       var(--c-muted) !important;
	line-height: 1.6 !important;
}

/* ── RIGHT: Sticky order summary ─────────────────────────── */
.wd-checkout-right {
	position: relative !important;
}

.wd-order-summary-sticky {
	position: sticky !important;
	top:      24px !important;
}

.wd-order-summary-inner {
	background:    var(--c-white) !important;
	border-radius: 18px !important;
	border:        1.5px solid var(--c-border) !important;
	box-shadow:    var(--sh-md) !important;
	overflow:      hidden !important;
}

/* Header */
.wd-order-summary-header {
	display:        flex !important;
	align-items:    center !important;
	gap:            12px !important;
	padding:        22px 26px 18px !important;
	border-bottom:  1.5px solid var(--c-border) !important;
	background:     linear-gradient(135deg, #f8f9ff 0%, #eef0ff 100%) !important;
}

.wd-order-summary-header h3 {
	font-size:   17px !important;
	font-weight: 800 !important;
	color:       var(--c-dark) !important;
	margin:      0 !important;
	padding:     0 !important;
	border:      none !important;
}

.wd-checkout-cart-icon {
	color: var(--c-accent) !important;
	flex-shrink: 0 !important;
}

/* ── Order review table ──────────────────────────────────── */
.wd-order-review-table {
	padding: 0 !important;
}

.wd-order-review-table table.woocommerce-checkout-review-order-table {
	width:           100% !important;
	border-collapse: collapse !important;
	margin:          0 !important;
	border:          none !important;
}

/* Table head */
.wd-order-review-table table thead {
	background: #fafafa !important;
}

.wd-order-review-table table thead th {
	padding:        10px 22px !important;
	font-size:      10px !important;
	font-weight:    700 !important;
	color:          var(--c-muted) !important;
	text-transform: uppercase !important;
	letter-spacing: .09em !important;
	border:         none !important;
}

/* Body rows */
.wd-order-review-table table tbody tr {
	border-bottom: 1px solid var(--c-border) !important;
	transition:    background .15s !important;
}

.wd-order-review-table table tbody tr:hover {
	background: #fafbff !important;
}

.wd-order-review-table table tbody td {
	padding:        14px 22px !important;
	font-size:      13.5px !important;
	color:          var(--c-dark) !important;
	border:         none !important;
	vertical-align: middle !important;
}

.wd-order-review-table table tbody td.product-name {
	font-weight: 500 !important;
}

/* Quantity badge */
.wd-order-review-table table tbody td .product-quantity {
	background:    var(--c-accent) !important;
	color:         #fff !important;
	border-radius: 5px !important;
	padding:       2px 7px !important;
	font-size:     11px !important;
	font-weight:   700 !important;
	margin-left:   5px !important;
}

.wd-order-review-table table tbody td.product-total {
	font-weight: 700 !important;
	text-align:  right !important;
	white-space: nowrap !important;
}

/* Tfoot */
.wd-order-review-table table tfoot tr {
	border-top: 1px solid var(--c-border) !important;
}

.wd-order-review-table table tfoot th,
.wd-order-review-table table tfoot td {
	padding:    11px 22px !important;
	font-size:  13px !important;
	color:      #4b5563 !important;
	border:     none !important;
}

.wd-order-review-table table tfoot td {
	text-align:  right !important;
	white-space: nowrap !important;
}

/* Discount */
.wd-order-review-table table tfoot tr.cart-discount td {
	color:       var(--c-sale) !important;
	font-weight: 700 !important;
}

/* Total row — prominent */
.wd-order-review-table table tfoot tr.order-total th,
.wd-order-review-table table tfoot tr.order-total td {
	padding:     20px 22px !important;
	font-size:   18px !important;
	font-weight: 900 !important;
	color:       var(--c-dark) !important;
	border-top:  2px solid var(--c-border) !important;
	background:  #f9fafb !important;
}

/* ── Notices ─────────────────────────────────────────────── */
form.wd-checkout-form .woocommerce-NoticeGroup,
form.wd-checkout-form .woocommerce-error,
form.wd-checkout-form .woocommerce-message,
form.wd-checkout-form .woocommerce-info {
	border-radius: 10px !important;
	margin-bottom: 20px !important;
}

/* ── Login / coupon boxes ────────────────────────────────── */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
form.wd-checkout-form .checkout_coupon,
form.wd-checkout-form .woocommerce-form-login {
	background:    var(--c-white) !important;
	border:        1.5px solid var(--c-border) !important;
	border-radius: 14px !important;
	padding:       20px 24px !important;
	margin-bottom: 20px !important;
	box-shadow:    var(--sh-sm) !important;
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1024px) {
	.wd-checkout-grid {
		grid-template-columns: 1fr 360px !important;
	}
}

@media (max-width: 768px) {
	form.wd-checkout-form {
		padding: 16px 12px 40px !important;
	}
	.wd-checkout-grid {
		grid-template-columns: 1fr !important;
	}
	.wd-checkout-left  { order: 2 !important; }
	.wd-checkout-right { order: 1 !important; }
	.wd-order-summary-sticky {
		position: relative !important;
		top:      auto !important;
	}
	.wd-checkout-section {
		padding: 22px 18px !important;
	}
	.wd-checkout-section p.form-row-first,
	.wd-checkout-section p.form-row-last {
		width: 100% !important;
	}
}
