/* ============================================================
   Cool & Comfy premium — Checkout page. Preview only.
   VISUAL RE-SKIN ONLY: every selector below targets stock
   WooCommerce markup. No fields, validation, gateways or the
   order-pay flow are touched in any way.
   ============================================================ */

.cc-checkout-page{background:var(--cc-cream);padding:44px 0 88px}

/* Breadcrumbs */
.cc-crumbs{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;
	letter-spacing:.08em;text-transform:uppercase;color:var(--cc-stone-light);margin:0 0 26px;flex-wrap:wrap}
.cc-crumbs a{color:var(--cc-stone);text-decoration:none}
.cc-crumbs a:hover{color:var(--cc-gold-deep)}
.cc-crumb-sep{opacity:.5}

/* Page heading */
.cc-page-head{margin:0 0 36px;max-width:780px}
.cc-page-h1{font-family:var(--cc-font-d);font-weight:500;font-size:clamp(34px,4.6vw,54px);
	line-height:1.08;letter-spacing:-.01em;color:var(--cc-ink);margin:0 0 14px}
.cc-page-h1 em{font-style:italic;color:var(--cc-navy)}
.cc-page-head .cc-lede{margin:0}

/* ---------- Stock checkout form, re-skinned ---------- */

/* Two-column layout on WooCommerce's own form.checkout markup */
.cc-co-layout form.checkout.woocommerce-checkout{display:grid;
	grid-template-columns:minmax(0,1fr) 400px;gap:44px;align-items:start}
.cc-co-layout form.checkout.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 2;min-width:0}
.cc-co-layout form.checkout.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;margin:0}
.cc-co-layout form.checkout.woocommerce-checkout #order_review{grid-column:2;grid-row:2;min-width:0}

/* Notices (incl. the empty-basket state) */
.cc-co-layout .woocommerce-notices-wrapper:empty{display:none}
.cc-co-layout .woocommerce-message,.cc-co-layout .woocommerce-info,.cc-co-layout .woocommerce-error{
	background:var(--cc-paper);border:1px solid var(--cc-line);border-left:4px solid var(--cc-gold);
	border-radius:10px;color:var(--cc-ink);font-size:15px;padding:16px 20px 16px 52px}
.cc-co-layout .woocommerce-message::before,.cc-co-layout .woocommerce-info::before,
.cc-co-layout .woocommerce-error::before{color:var(--cc-gold-deep);left:20px}
.cc-co-layout .woocommerce-error{border-left-color:#b0442f}

/* Billing / shipping cards */
.cc-co-layout #customer_details .col-1,.cc-co-layout #customer_details .col-2{
	float:none;width:100%;margin:0}
.cc-co-layout #customer_details .col-1{margin-bottom:32px}
.cc-co-layout .woocommerce-billing-fields,.cc-co-layout .woocommerce-shipping-fields,
.cc-co-layout .woocommerce-account-fields,.cc-co-layout .woocommerce-additional-fields{
	background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius);
	box-shadow:var(--cc-shadow-sm);padding:34px 32px;margin:0 0 32px}
.cc-co-layout .woocommerce-billing-fields:last-child,
.cc-co-layout .woocommerce-shipping-fields:last-child{margin-bottom:0}
.cc-co-layout .woocommerce-billing-fields h3,.cc-co-layout .woocommerce-shipping-fields h3,
.cc-co-layout .woocommerce-additional-fields h3,#order_review_heading{
	font-family:var(--cc-font-d);font-weight:500;font-size:24px;color:var(--cc-ink);margin:0 0 8px}
.cc-co-layout #ship-to-different-address{margin:0 0 18px;font-size:15px;font-weight:600;color:var(--cc-ink)}

/* Fields */
.cc-co-layout .form-row{margin:0 0 18px;padding:0}
.cc-co-layout .form-row label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.08em;
	text-transform:uppercase;color:var(--cc-stone);margin:0 0 8px}
.cc-co-layout .form-row label .required{color:var(--cc-gold-deep);text-decoration:none}
.cc-co-layout .form-row .optional{color:var(--cc-stone-light);font-weight:600;text-transform:none;letter-spacing:0}
.cc-co-layout input.input-text,.cc-co-layout select,.cc-co-layout textarea{
	width:100%;height:52px;padding:0 18px;background:#fff;border:1px solid var(--cc-line-dark);
	border-radius:12px;font-size:16px;color:var(--cc-ink);font-family:var(--cc-font-b);
	box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}
.cc-co-layout textarea{height:auto;min-height:120px;padding:14px 18px;resize:vertical}
.cc-co-layout input.input-text:focus,.cc-co-layout select:focus,.cc-co-layout textarea:focus{
	border-color:var(--cc-gold);outline:none;box-shadow:0 0 0 3px rgba(192,127,46,.18)}
.cc-co-layout .form-row.woocommerce-invalid input.input-text,
.cc-co-layout .form-row.woocommerce-invalid select{border-color:#b0442f}
.cc-co-layout .form-row.woocommerce-invalid .woocommerce-error,
.cc-co-layout .form-row .woocommerce-error{display:block;font-size:13.5px;color:#b0442f;margin-top:6px}
.cc-co-layout .form-row-first{float:left;width:48.5%}
.cc-co-layout .form-row-last{float:right;width:48.5%}
.cc-co-layout .form-row-wide{clear:both}

/* Create-account / order notes checkboxes */
.cc-co-layout .woocommerce-account-fields .create-account{margin:0}
.cc-co-layout input[type="checkbox"]{accent-color:var(--cc-gold);width:18px;height:18px;vertical-align:-3px}

/* Order-review sidebar card */
.cc-co-layout #order_review{background:var(--cc-navy-deep);color:#f4efe2;border-radius:var(--cc-radius);
	padding:34px 32px;box-shadow:var(--cc-shadow);position:sticky;top:110px}
.cc-co-layout #order_review table.shop_table{border:0;margin:0 0 8px;background:none;border-collapse:collapse}
.cc-co-layout #order_review table.shop_table thead th{border:0;background:none;color:#f4efe2;
	font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:0 0 12px}
.cc-co-layout #order_review table.shop_table thead th.product-total{text-align:right}
.cc-co-layout #order_review table.shop_table tbody td,.cc-co-layout #order_review table.shop_table tfoot th,
.cc-co-layout #order_review table.shop_table tfoot td{border:0;border-top:1px solid rgba(244,239,226,.16);
	background:none;padding:14px 0;font-size:15px;color:#f4efe2}
.cc-co-layout #order_review table.shop_table tbody td{vertical-align:top}
.cc-co-layout #order_review table.shop_table tbody td.product-total{text-align:right;font-variant-numeric:tabular-nums}
.cc-co-layout #order_review .product-name{font-weight:600}
.cc-co-layout #order_review .product-quantity{color:var(--cc-gold-soft);font-weight:400}
.cc-co-layout #order_review dl.variation{font-size:13px;color:var(--cc-gold-soft);margin:6px 0 0}
.cc-co-layout #order_review tfoot th{text-align:left;font-weight:600;color:var(--cc-gold-soft)}
.cc-co-layout #order_review tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.cc-co-layout #order_review tfoot tr.order-total th,.cc-co-layout #order_review tfoot tr.order-total td{
	font-family:var(--cc-font-d);font-size:22px;font-weight:600;color:#fff;border-top-width:2px}
.cc-co-layout #order_review .woocommerce-shipping-methods{list-style:none;margin:6px 0;padding:0}
.cc-co-layout #order_review .woocommerce-shipping-methods li{margin:0 0 6px;font-size:14.5px}

/* Coupon toggle inside checkout */
.cc-co-layout .woocommerce-form-coupon-toggle .woocommerce-info{background:var(--cc-paper);border:1px solid var(--cc-line);
	border-left:4px solid var(--cc-gold);border-radius:10px}
.cc-co-layout form.checkout_coupon{background:var(--cc-paper);border:1px solid var(--cc-line);
	border-radius:var(--cc-radius);padding:24px;margin:0 0 28px}

/* Payment methods */
.cc-co-layout #payment{background:none;border:0;border-radius:0}
.cc-co-layout #payment ul.payment_methods{list-style:none;margin:0 0 22px;padding:0;border:0;background:none}
.cc-co-layout #payment ul.payment_methods li{background:rgba(255,255,255,.06);
	border:1px solid rgba(244,239,226,.18);border-radius:12px;padding:16px 18px;margin:0 0 12px;color:#f4efe2}
.cc-co-layout #payment ul.payment_methods li input{accent-color:var(--cc-gold)}
.cc-co-layout #payment ul.payment_methods li label{font-weight:600;font-size:15.5px;cursor:pointer}
.cc-co-layout #payment ul.payment_methods li label img{max-height:28px;vertical-align:middle;margin-left:8px}
.cc-co-layout #payment ul.payment_methods li .payment_box{background:rgba(255,255,255,.08);
	border-radius:8px;padding:14px 16px;margin:12px 0 0;font-size:14px;color:#e9e2d0}
.cc-co-layout #payment ul.payment_methods li .payment_box::before{display:none}
.cc-co-layout #payment ul.payment_methods li .payment_box p{margin:0 0 8px}
.cc-co-layout #payment .payment_method_stripe label img,.cc-co-layout #payment .wc-stripe-elements-field{max-width:100%}
.cc-co-layout #payment .place-order{padding:0;margin:0;border:0;background:none}
.cc-co-layout #payment .woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--cc-gold-soft);margin:0 0 16px}
.cc-co-layout #payment .woocommerce-terms-and-conditions-wrapper a{color:#fff}
.cc-co-layout #payment .woocommerce-privacy-policy-text{font-size:13.5px;color:var(--cc-gold-soft);margin:0 0 16px}
.cc-co-layout #payment .woocommerce-privacy-policy-text a{color:#fff}

/* Place-order button */
.cc-co-layout #payment button#place_order,#payment button#place_order,
.cc-co-layout #payment input#place_order{
	display:block;width:100%;background:var(--cc-gold);color:#fff;border:0;border-radius:999px;
	padding:19px 32px;font-size:17px;font-weight:700;letter-spacing:.02em;cursor:pointer;
	box-shadow:0 10px 26px -10px rgba(192,127,46,.65);
	transition:transform .18s ease,background .18s ease;font-family:var(--cc-font-b)}
.cc-co-layout #payment button#place_order:hover{background:var(--cc-gold-deep);transform:translateY(-1px)}

/* Trust micro-copy under place order */
.cc-co-reassure{margin:18px 0 0;text-align:center}
.cc-co-reassure p{margin:0;font-size:13.5px;color:var(--cc-gold-soft);line-height:1.7}
.cc-co-reassure strong{color:#f4efe2}
.cc-co-reassure a{color:#fff;font-weight:600}

/* Empty-basket state (stock WC renders nothing here; this is pure chrome) */
.cc-co-layout .woocommerce-info{max-width:640px}
.cc-co-layout .cc-empty-ctas{text-align:center;padding:8px 24px 64px;max-width:640px;margin:0 auto}
.cc-co-layout .cc-empty-ctas-lede{color:var(--cc-stone);font-size:15px;margin:0 0 22px}
.cc-co-layout .cc-empty-ctas-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Order-pay / thank-you inherited states stay readable */
.cc-co-layout .woocommerce-order-details,.cc-co-layout .woocommerce-customer-details{
	background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius);padding:30px}

/* Responsive */
@media (max-width:1080px){
	.cc-co-layout form.checkout.woocommerce-checkout{grid-template-columns:minmax(0,1fr)}
	.cc-co-layout form.checkout.woocommerce-checkout #customer_details{grid-column:1;grid-row:auto}
	.cc-co-layout form.checkout.woocommerce-checkout #order_review_heading{grid-column:1;grid-row:auto;margin:8px 0 0}
	.cc-co-layout form.checkout.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
}
@media (max-width:768px){
	.cc-checkout-page{padding:32px 0 64px}
	.cc-co-layout .woocommerce-billing-fields,.cc-co-layout .woocommerce-shipping-fields,
	.cc-co-layout .woocommerce-account-fields,.cc-co-layout .woocommerce-additional-fields{padding:26px 22px}
	.cc-co-layout #order_review{padding:28px 24px}
	.cc-co-layout .form-row-first,.cc-co-layout .form-row-last{float:none;width:100%}
}
@media (prefers-reduced-motion:reduce){
	.cc-co-layout #payment button#place_order{transition:none}
	.cc-co-layout #payment button#place_order:hover{transform:none}
}
/* ============================================================
   Enhancement pass (v1.12.3) — form feel, focus detail, payment
   method states. VISUAL ONLY: stock WooCommerce fields/validation/
   gateways/order flow are untouched.
   ============================================================ */

/* Calm entrance for the page head */
.cc-checkout-page .cc-page-head{animation:ccCoIn .5s ease backwards}
@keyframes ccCoIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Focus rings where the stock markup offers none */
.cc-co-layout #payment button#place_order:focus-visible,
.cc-co-layout .woocommerce-form-coupon-toggle a:focus-visible,
.cc-co-layout .payment_methods label:focus-visible,
.cc-co-reassure a:focus-visible{
	outline:2px solid var(--cc-gold);outline-offset:2px}

/* Field feel: steadier, less harsh on invalid */
.cc-co-layout input.input-text,.cc-co-layout select,.cc-co-layout textarea{
	transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.cc-co-layout input.input-text::placeholder,.cc-co-layout textarea::placeholder{color:var(--cc-stone-light);opacity:1}
.cc-co-layout select{cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a5681f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/14px;appearance:none;-webkit-appearance:none;padding-right:44px}
/* Keep Chrome autofill from painting fields yellow */
.cc-co-layout input.input-text:-webkit-autofill{-webkit-box-shadow:0 0 0 60px #fff inset;-webkit-text-fill-color:var(--cc-ink);transition:background-color 99999s ease}
.cc-co-layout input.input-text:focus:-webkit-autofill{-webkit-box-shadow:0 0 0 60px #fff inset,0 0 0 3px rgba(192,127,46,.18)}

/* Selected payment method reads clearly on the dark card */
.cc-co-layout #payment ul.payment_methods li:has(input:checked){
	border-color:rgba(192,127,46,.65);background:rgba(192,127,46,.12)}
.cc-co-layout #payment ul.payment_methods li label{font-weight:600;font-size:15.5px;cursor:pointer;display:flex;align-items:center;gap:10px}
.cc-co-layout #payment ul.payment_methods li label input{flex:none}

/* Order-review rows breathe a little */
.cc-co-layout #order_review table.shop_table tbody td .variation dt,.cc-co-layout #order_review table.shop_table tbody td .variation dd{font-weight:400}
.cc-co-layout #order_review table.shop_table tfoot tr:not(.order-total) td{color:#e9e2d0}

/* Sticky order review: keep clear of the toolbar */
@media (min-width:1081px){
	.cc-co-layout #order_review{top:120px}
}

/* Mobile: card padding rhythm, stop iOS zoom, thumb-sized targets */
@media (max-width:768px){
	.cc-co-layout input.input-text,.cc-co-layout select,.cc-co-layout textarea{font-size:16px}
	.cc-co-layout #payment ul.payment_methods li label{min-height:48px}
	.cc-checkout-page .cc-page-head{margin-bottom:28px}
}
@media (prefers-reduced-motion:reduce){
	.cc-checkout-page .cc-page-head{animation:none}
}


.wc-stripe-express-checkout, #wc-stripe-payment-request-wrapper{max-width:100% !important;overflow:hidden !important;}
.woocommerce-billing-fields, .woocommerce-shipping-fields{max-width:100% !important;}

/* Remove extra horizontal space - targeted fix */
.cc-checkout-page, .woocommerce-checkout, .cc-wrap{overflow-x:clip;max-width:100%;}


/* Checkout premium polish */
#place_order{transition:transform .2s,box-shadow .3s;}
#place_order:hover{transform:translateY(-2px);}
.woocommerce-checkout-payment .wc_payment_method{transition:border-color .3s,box-shadow .3s;}
input:focus,select:focus,textarea:focus{border-color:#c9a24a!important;box-shadow:0 0 0 3px rgba(201,162,74,.15)!important;outline:none!important;}

/* Improved contrast for accessibility */
#place_order{background:#a5681f!important;}
#place_order:hover{background:#8a5a1a!important;}
