/* =====================================================================
 * Namaste Click & Collect - surcharge UX WooCommerce (cart, checkout, thank-you)
 * Approche : simple colonne empilee, propre, zero combat avec Enfold floats.
 * ===================================================================== */

.ccn-wc-hero {
	max-width: 1100px;
	margin: 0 auto 1.5rem;
	padding: 1.5rem 1rem 1rem;
	border-bottom: 1px solid var(--ccn-border);
}
.ccn-wc-hero-inner { display: flex; flex-direction: column; gap: .5rem; }
.ccn-wc-hero-title { font-size: 1.75rem; font-weight: 700; margin: 0; letter-spacing: -.01em; line-height: 1.1; }
.ccn-wc-hero-sub { margin: 0; display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; color: var(--ccn-muted); font-size: .92rem; }
.ccn-wc-hero-addr strong { color: var(--ccn-text); font-weight: 600; }

/* === PANIER === */
.woocommerce-cart .woocommerce { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.woocommerce-cart .cart_totals h2 { font-size: 1.15rem; font-weight: 700; margin-bottom: .75rem; }
.woocommerce-cart table.shop_table {
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-cart table.shop_table th { background: var(--ccn-bg-alt); font-weight: 600; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; color: var(--ccn-muted); }
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th { padding: 1rem .75rem; vertical-align: middle; }
.woocommerce-cart table.cart img { width: 72px !important; height: 72px !important; object-fit: cover; border-radius: var(--ccn-radius-sm); }

.ccn-wc-thumb-ico {
	width: 72px; height: 72px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--ccn-accent-soft), #fff);
	color: var(--ccn-accent);
	border-radius: var(--ccn-radius-sm);
	margin: 0 auto;
}
.ccn-wc-thumb-ico svg { width: 32px; height: 32px; }

.woocommerce-cart .product-name > a { font-weight: 600; color: var(--ccn-text); text-decoration: none; font-size: 1rem; }
.woocommerce-cart .product-name > a:hover { color: var(--ccn-accent); }

.ccn-wc-note-wrap { margin-top: .35rem; }
.ccn-wc-note-label {
	display: block;
	font-size: .75rem;
	font-weight: 600;
	color: var(--ccn-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: .2rem;
}
.ccn-wc-note {
	width: 100%;
	max-width: 420px;
	padding: .4rem .55rem;
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius-sm);
	font-family: inherit;
	font-size: .88rem;
	background: #fff;
	resize: vertical;
	min-height: 36px;
	box-sizing: border-box;
}
.ccn-wc-note:focus { outline: 2px solid var(--ccn-accent); outline-offset: 1px; border-color: transparent; }
.ccn-wc-note-status { display: inline-block; margin-left: .5rem; font-size: .75rem; color: var(--ccn-muted); font-style: italic; min-height: 1em; }

.woocommerce-cart .quantity .qty {
	border: 1px solid var(--ccn-border) !important;
	border-radius: var(--ccn-radius-sm);
	padding: .4rem .5rem;
	text-align: center;
	width: 64px;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order {
	background: var(--ccn-text) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: .85rem 1.5rem !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	border: none !important;
	width: 100%;
	transition: background .15s;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover { background: var(--ccn-accent) !important; }

.woocommerce-cart .cart_totals {
	background: var(--ccn-bg-alt);
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius);
	padding: 1rem 1.25rem;
}

/* === CHECKOUT : simple colonne propre, pas de combat avec Enfold === */
.woocommerce-checkout .woocommerce { max-width: 820px; margin: 0 auto; padding: 0 1rem; }
.woocommerce-checkout form.checkout { display: block !important; }

/* Forcer col2-set en empile simple (pas 2 sub-cols) */
.woocommerce-checkout #customer_details.col2-set,
.woocommerce-checkout .col2-set {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 0 1.5rem !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 0 1.5rem !important;
}

/* Selecteur de creneau en haut, bien visible */
.woocommerce-checkout > .ccn-slot-selector,
.woocommerce-checkout .ccn-slot-selector {
	max-width: 820px;
	margin: 0 auto 1.5rem;
	background: var(--ccn-accent-soft);
	border: 1px solid var(--ccn-accent);
	padding: 1.25rem 1.5rem;
	border-radius: var(--ccn-radius);
}
.woocommerce-checkout .ccn-slot-selector h3 { color: var(--ccn-accent-dark); margin: 0 0 .75rem; font-size: 1.15rem; }
.woocommerce-checkout .ccn-slot-selector p { margin: 0; }
.woocommerce-checkout .ccn-slot-selector label { display: block; font-weight: 600; margin-bottom: .35rem; font-size: .9rem; color: var(--ccn-text); }
.woocommerce-checkout .ccn-slot-selector select,
.woocommerce-checkout .ccn-slot-selector textarea {
	width: 100%;
	max-width: 420px;
	padding: .6rem .75rem;
	border-radius: var(--ccn-radius-sm);
	border: 1px solid var(--ccn-border);
	background: #fff;
	font-size: .95rem;
	box-sizing: border-box;
}

.woocommerce-checkout h3 { font-size: 1.15rem; font-weight: 700; margin: 0 0 .75rem; }
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	border: 1px solid var(--ccn-border) !important;
	border-radius: var(--ccn-radius-sm) !important;
	padding: .6rem .75rem !important;
	font-size: .95rem !important;
	box-sizing: border-box;
	width: 100% !important;
}

.woocommerce-checkout #order_review_heading {
	margin-top: 2rem;
	font-size: 1.3rem;
}
.woocommerce-checkout #order_review {
	background: var(--ccn-bg-alt);
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius);
	padding: 1rem 1.25rem;
	display: block !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-checkout .wc_payment_methods { list-style: none; padding-left: 0; margin-left: 0; }
.woocommerce-checkout .wc_payment_method {
	background: #fff;
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius-sm);
	padding: .6rem .75rem;
	margin-bottom: .5rem;
}
.woocommerce-checkout .wc_payment_method label { font-weight: 600; }
.woocommerce-checkout .wc_payment_method .payment_box { margin-top: .5rem; font-size: .9rem; color: var(--ccn-muted); }

/* === THANK YOU === */
.ccn-ty-card {
	max-width: 560px;
	margin: 2rem auto;
	padding: 2.5rem 2rem;
	background: #fff;
	border: 1px solid var(--ccn-border);
	border-radius: var(--ccn-radius);
	text-align: center;
	box-shadow: var(--ccn-shadow-hover);
}
.ccn-ty-check {
	width: 72px; height: 72px;
	margin: 0 auto 1rem;
	background: var(--ccn-success-bg);
	color: var(--ccn-success);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
}
.ccn-ty-check svg { width: 40px; height: 40px; }
.ccn-ty-title { font-size: 1.6rem; font-weight: 700; margin: 0 0 .4rem; }
.ccn-ty-sub { color: var(--ccn-muted); margin: 0 0 1.5rem; }
.ccn-ty-pickup {
	background: var(--ccn-accent-soft);
	border-radius: var(--ccn-radius);
	padding: 1rem 1.25rem;
	margin: 1rem 0;
}
.ccn-ty-label { display: block; font-size: .8rem; font-weight: 600; color: var(--ccn-accent-dark); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3rem; }
.ccn-ty-value { display: block; font-size: 1.4rem; font-weight: 700; color: var(--ccn-accent); }
.ccn-ty-addr { margin: 1rem 0 .5rem; color: var(--ccn-text); font-size: 1rem; }
.ccn-ty-phone a {
	display: inline-flex; align-items: center; gap: .4rem;
	text-decoration: none; color: var(--ccn-text); font-weight: 600;
	padding: .5rem 1rem;
	background: var(--ccn-bg-alt);
	border-radius: 999px;
}
.ccn-ty-phone a:hover { background: var(--ccn-accent-soft); color: var(--ccn-accent-dark); }

.woocommerce-order-received .woocommerce-order-details { max-width: 560px; margin: 2rem auto 0; }
