/* WooCommerce theme integration — dreamcake */

.woocommerce{font-family:"Lato";}

/* Buttons (add to cart, checkout, place order, view cart...) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-message a.button,
.woocommerce-Button{
	background:var(--swatch-var-3471)!important;
	color:var(--swatch-var-3633)!important;
	font-family:"Lato";
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.5px;
	border:none;
	border-radius:30px;
	padding:10px 26px;
	transition:background .3s ease-in-out;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
	background:#8f7350!important;
	color:var(--swatch-var-3633)!important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
	background:var(--swatch-var-3471)!important;
}
.woocommerce a.added_to_cart{
	color:var(--swatch-var-3471)!important;
	font-family:"Lato";
	margin-left:10px;
}

/* Price */
.woocommerce .price,
.woocommerce-Price-amount{
	color:var(--swatch-var-3471)!important;
	font-weight:700;
}
.woocommerce del .woocommerce-Price-amount{
	color:rgba(255,255,255,.4)!important;
	font-weight:400;
}
.woocommerce ins{
	background:none;
	text-decoration:none;
}

/* Product loop card (parts/product-item.php, used on homepage + shop) */
.product-item-card{margin-bottom:40px;}
.product-item-card img{border-radius:12px;}
.product-item-price{margin:10px 0;font-size:18px;}
.product-item-cta{margin-bottom:10px;}

/* Notices (added to cart, errors, info) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
	background:rgba(255,255,255,.06);
	border-top:3px solid var(--swatch-var-3471);
	color:var(--swatch-var-3633)!important;
	border-radius:6px;
	padding:1em 2em;
	list-style:none;
}
.woocommerce-error{border-top-color:#c0392b;}
.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a{color:var(--swatch-var-3471)!important;}

/* Single product page */
.woocommerce div.product .woocommerce-product-gallery{margin-bottom:20px;}
.woocommerce div.product p.price,
.woocommerce div.product span.price{color:var(--swatch-var-3471)!important;font-size:26px;}
.woocommerce div.product .stock{color:rgba(255,255,255,.6)!important;}
.woocommerce div.product form.cart .quantity{margin-right:10px;}
.woocommerce div.product form.cart .qty{
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.2);
	color:var(--swatch-var-3633)!important;
	border-radius:6px;
	width:70px;
	height:44px;
	text-align:center;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--swatch-var-3633)!important;font-family:"Lato";}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--swatch-var-3471)!important;}

/* Cart & checkout tables */
.woocommerce table.shop_table{
	border-color:rgba(255,255,255,.15);
	border-radius:8px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
	border-color:rgba(255,255,255,.1)!important;
	color:var(--swatch-var-3633)!important;
}
.woocommerce table.shop_table thead th{
	font-family:"Lato";
	text-transform:uppercase;
	font-size:13px;
	letter-spacing:.5px;
}

/* Cart & checkout form fields */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.woocommerce-additional-fields select{
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.2);
	color:var(--swatch-var-3633)!important;
	border-radius:6px;
	padding:10px 12px;
}
.woocommerce form .form-row label{color:var(--swatch-var-3633)!important;font-family:"Lato";}
.woocommerce-checkout #payment{
	background:rgba(255,255,255,.05);
	border-radius:8px;
}
.woocommerce-checkout #payment ul.payment_methods{border-bottom-color:rgba(255,255,255,.15);}
.woocommerce-checkout #payment div.payment_box{
	background:rgba(255,255,255,.1)!important;
	color:var(--swatch-var-3633)!important;
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:rgba(255,255,255,.1)!important;}

/* Shop archive header title spacing already handled by page-header bloc */
.woocommerce-pagination{margin-top:20px;}
.woocommerce-result-count,
.woocommerce-ordering{color:var(--swatch-var-3633)!important;}

/* My account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;}
.woocommerce-account .woocommerce-MyAccount-navigation a{color:var(--swatch-var-3633)!important;}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{color:var(--swatch-var-3471)!important;}

/* Checkout / billing / shipping form fields — force reliable full-width
   stacked layout, the theme's Bootstrap CSS clashes with WooCommerce's
   float-based .form-row-first/.form-row-last pairing and causes labels
   and inputs to overlap. */
.woocommerce-checkout .form-row,
.woocommerce-cart .form-row,
.woocommerce-account .form-row{
	float:none!important;
	width:100%!important;
	max-width:100%!important;
	display:block!important;
	flex-wrap:nowrap!important;
	margin:0 0 1.2em!important;
	clear:both;
}
.woocommerce-checkout .form-row label,
.woocommerce-cart .form-row label,
.woocommerce-account .form-row label{
	display:block!important;
	position:static!important;
	float:none!important;
	width:auto!important;
	margin-bottom:6px;
	color:var(--swatch-var-3633)!important;
}
.woocommerce-checkout .form-row .woocommerce-input-wrapper{
	display:block;
	width:100%;
}
.woocommerce-checkout .input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-account .input-text{
	width:100%!important;
	box-sizing:border-box;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.2);
	color:var(--swatch-var-3633)!important;
	border-radius:6px;
	padding:10px 12px;
}
.woocommerce-checkout .col2-set{display:block;width:100%;}
.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2{
	width:100%!important;
	max-width:100%!important;
	flex:0 0 100%!important;
	float:none!important;
	padding-left:0!important;
	padding-right:0!important;
}
.woocommerce-checkout .select2-container{width:100%!important;}
.woocommerce-checkout .select2-selection{
	background:rgba(255,255,255,.08)!important;
	border:1px solid rgba(255,255,255,.2)!important;
	color:var(--swatch-var-3633)!important;
	height:44px!important;
	padding:8px 12px!important;
}
.woocommerce-checkout .select2-selection__rendered{color:var(--swatch-var-3633)!important;line-height:26px!important;}
.woocommerce-checkout .select2-selection__arrow{height:42px!important;}

/* Custom cake personalization textarea */
.dreamcake-custom-notes{margin:20px 0;}
.dreamcake-custom-notes label{display:block;margin-bottom:8px;color:var(--swatch-var-3633)!important;}
.dreamcake-custom-notes textarea{
	width:100%;
	background:rgba(255,255,255,.08);
	border:1px solid rgba(255,255,255,.2);
	color:var(--swatch-var-3633)!important;
	border-radius:6px;
	padding:12px;
	box-sizing:border-box;
}

/* Country select2 + address fields — fix truncated text and narrow boxes */
.woocommerce-checkout .select2-container{
	width:100%!important;
	max-width:100%;
	display:block;
}
.woocommerce-checkout .select2-selection__rendered{
	white-space:normal!important;
	overflow:visible!important;
	text-overflow:clip!important;
	padding-right:20px!important;
}
.woocommerce-checkout .address-field .input-text,
.woocommerce-checkout #billing_address_1_field .input-text,
.woocommerce-checkout #billing_address_2_field .input-text,
.woocommerce-checkout #shipping_address_1_field .input-text,
.woocommerce-checkout #shipping_address_2_field .input-text{
	width:100%!important;
	max-width:100%!important;
	min-width:0;
	box-sizing:border-box!important;
}

/* Single-country field ("La Réunion" text/select) rendering truncated —
   force block display and remove any inherited overflow/nowrap clipping. */
.woocommerce-checkout .form-row select,
.woocommerce-checkout #billing_country_field select,
.woocommerce-checkout #shipping_country_field select,
.woocommerce-checkout .form-row-wide strong,
.woocommerce-checkout .address-field strong,
.woocommerce-checkout .form-row-wide span,
.woocommerce-checkout .address-field span{
	display:block!important;
	width:100%!important;
	max-width:100%!important;
	white-space:normal!important;
	overflow:visible!important;
	text-overflow:clip!important;
	min-width:0!important;
	box-sizing:border-box!important;
}

/* WooCommerce's decorative icon font fails to load here (shows as a
   broken-glyph box) — remove the icon rather than ship it broken. */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before{
	content:none!important;
	display:none!important;
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info{
	padding-left:1.5em!important;
}
