/* =========================================================
CHECKOUT LAYOUT FINAL FIX
========================================================= */

body.woocommerce-checkout .woocommerce{
width:100%;
}

body.woocommerce-checkout form.checkout{
display:grid !important;
grid-template-columns:minmax(0,1fr) minmax(380px,.82fr) !important;
grid-template-areas:
"customer order-title"
"customer order-review";
gap:28px 34px !important;
align-items:start;
}

body.woocommerce-checkout #customer_details{
grid-area:customer;
display:grid !important;
grid-template-columns:1fr !important;
gap:22px;
width:100%;
}

body.woocommerce-checkout #order_review_heading{
grid-area:order-title;
margin:0 !important;
padding:0 0 12px;
color:#102a43;
font-size:26px;
line-height:1.25;
}

body.woocommerce-checkout #order_review{
grid-area:order-review;
width:100%;
margin:0 !important;
position:sticky;
top:25px;
}

/* Billing and additional information cards */
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields{
width:100%;
padding:26px !important;
border:1px solid #dce6ee;
border-radius:18px;
background:#ffffff;
box-shadow:0 12px 30px rgba(15,42,67,.08);
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:15px 18px;
}

body.woocommerce-checkout .form-row{
float:none !important;
width:100% !important;
margin:0 !important;
}

body.woocommerce-checkout .form-row-wide,
body.woocommerce-checkout #billing_country_field,
body.woocommerce-checkout #billing_address_1_field,
body.woocommerce-checkout #billing_address_2_field,
body.woocommerce-checkout #billing_state_field,
body.woocommerce-checkout #billing_email_field,
body.woocommerce-checkout #billing_phone_field{
grid-column:1 / -1;
}

body.woocommerce-checkout .form-row label{
margin-bottom:7px;
color:#102a43;
font-size:14px;
font-weight:700;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container{
width:100% !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single{
min-height:46px !important;
padding:10px 13px !important;
border:1px solid #cbd5e1 !important;
border-radius:9px !important;
background:#ffffff !important;
}

body.woocommerce-checkout textarea{
min-height:115px !important;
padding:12px 13px !important;
border:1px solid #cbd5e1 !important;
border-radius:9px !important;
background:#ffffff !important;
}

/* Order card */
body.woocommerce-checkout #order_review{
padding:24px !important;
border:1px solid #dce6ee;
border-radius:18px;
background:#ffffff;
box-shadow:0 14px 34px rgba(15,42,67,.10);
}

body.woocommerce-checkout #order_review table.shop_table{
margin:0 0 20px !important;
}

body.woocommerce-checkout #payment{
margin:0 !important;
border-radius:14px !important;
background:#eef4f8 !important;
}

body.woocommerce-checkout #payment ul.payment_methods{
padding:18px !important;
}

body.woocommerce-checkout #payment div.payment_box{
padding:16px !important;
border:1px solid #dce6ee !important;
border-radius:10px !important;
background:#ffffff !important;
font-size:14px;
line-height:1.65;
}

body.woocommerce-checkout #payment .place-order{
padding:18px !important;
}

body.woocommerce-checkout #place_order{
width:100% !important;
min-height:54px !important;
margin:0 !important;
border:0 !important;
border-radius:10px !important;
background:linear-gradient(135deg,#f6b51b,#f47b20) !important;
color:#102a43 !important;
font-size:17px !important;
font-weight:800 !important;
}

/* Coupon notice */
body.woocommerce-checkout .woocommerce-form-coupon-toggle{
margin-bottom:26px;
}

body.woocommerce-checkout form.checkout_coupon{
margin:0 0 26px;
padding:20px;
border:1px solid #dce6ee;
border-radius:14px;
background:#ffffff;
box-shadow:0 8px 22px rgba(15,42,67,.07);
}

/* Tablet */
@media(max-width:980px){

```
body.woocommerce-checkout form.checkout{
	grid-template-columns:1fr !important;
	grid-template-areas:
		"customer"
		"order-title"
		"order-review";
}

body.woocommerce-checkout #order_review{
	position:static;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
	grid-template-columns:repeat(2,minmax(0,1fr));
}
```

}

/* Mobile */
@media(max-width:640px){

```
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main{
	width:min(94%,100%);
}

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title{
	margin:25px 0 20px;
	font-size:31px;
}

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields,
body.woocommerce-checkout #order_review{
	padding:18px !important;
	border-radius:15px;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{
	grid-template-columns:1fr;
}

body.woocommerce-checkout .form-row{
	grid-column:1 !important;
}

body.woocommerce-checkout #order_review_heading{
	font-size:23px;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td{
	padding:11px 8px;
	font-size:13px;
}

body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment .place-order{
	padding:15px !important;
}
```

}
