/*! AGF Cobalt — one-page checkout */
:root{
  --c-ink:#0F1419; --c-ink-2:#3A4250; --c-ink-3:#6B7280; --c-ink-4:#9CA3AF;
  --c-paper:#FFFFFF; --c-paper-2:#F7F8FA; --c-paper-3:#EDF0F4;
  --c-line:#E1E5EB; --c-line-2:#C9D0D9;
  --c-cobalt:#1F3CE6; --c-cobalt-2:#172EB3;
  --c-ok:#0E8A4B; --c-warn:#B8650A; --c-danger:#C8351F;
  --r-sm:6px; --r-md:10px; --r-lg:14px;
}

.woocommerce-checkout body{background:var(--c-paper-2)}
.woocommerce-checkout .content-area{padding:24px 0 120px; background:var(--c-paper-2)}
.woocommerce-checkout .entry-title{display:none}

/* Wide-page bypass — page-checkout.php / page-cart.php wrap content in these */
.agf-checkout-page,
.agf-cart-page{display:block;padding:32px 24px 96px;background:var(--c-paper-2);min-height:60vh}
.woocommerce-cart .agf-cart-page{background:var(--c-paper)}

/* Trust strip above the checkout grid (above-the-fold reassurance) */
.agf-checkout-page::before{
	content:"";display:block;max-width:1200px;margin:0 auto 24px;height:1px;background:transparent;
}
.agf-checkout-trust{
	display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;
	max-width:1200px;margin:0 auto 24px;padding:14px 20px;
	background:#fff;border:1px solid var(--c-line);border-radius:10px;
	font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:13px;color:var(--c-ink-2);font-weight:500;
}
.agf-checkout-trust .agf-tr-item{display:flex;align-items:center;gap:8px}
.agf-checkout-trust svg{color:#0E8A4B;flex-shrink:0}
@media (max-width:760px){.agf-checkout-trust{gap:16px;font-size:12px}}

/* ============ POLISH PASS — visual upgrade so it stops looking basic ============ */
/* Force the Cobalt brand font on every checkout form node (Astra defaults to Inter) */
.woocommerce-checkout .agf-checkout-page,
.woocommerce-checkout .agf-checkout-page *,
.woocommerce-checkout .agf-checkout-page input,
.woocommerce-checkout .agf-checkout-page select,
.woocommerce-checkout .agf-checkout-page textarea,
.woocommerce-checkout .agf-checkout-page button{
	font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif !important;
}

/* Section card elevation — Stripe-style lift */
.agf-checkout-main .agf-section{
	background:#fff;
	border:1px solid var(--c-line);
	border-radius:14px;
	padding:28px 28px 24px;
	margin-bottom:20px;
	box-shadow:0 1px 2px rgba(15,20,25,.04), 0 4px 16px rgba(15,20,25,.04);
}
.agf-checkout-main .agf-section > h2,
.agf-checkout-main .agf-section > h3,
.agf-checkout-main .agf-section-head h3{
	margin:0 0 4px;
	font-size:20px;
	font-weight:700;
	letter-spacing:-0.01em;
	color:var(--c-ink);
}

/* Form-field polish */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection--single{
	width:100%;
	min-height:48px;
	padding:13px 14px;
	background:#fff;
	border:1px solid var(--c-line-2);
	border-radius:8px;
	font-size:15px;
	color:var(--c-ink);
	line-height:1.3;
	transition:border-color .12s ease, box-shadow .12s ease;
	box-shadow:0 1px 2px rgba(15,20,25,.02);
}
.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row select:hover{border-color:var(--c-ink-4)}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single{
	outline:none;
	border-color:#0e2a47;
	box-shadow:0 0 0 3px rgba(14,42,71,.12);
}
.woocommerce-checkout .form-row label{
	display:block;
	margin:0 0 6px;
	font-size:13px;
	font-weight:600;
	color:var(--c-ink-2);
	letter-spacing:.01em;
}

/* Hide express-pay zone when empty (Stripe PRB not rendered) */
.agf-express-pay-zone:empty,
.agf-express-pay[data-hidden="1"]:empty{display:none !important}

/* Order-summary sidebar — premium card */
.agf-checkout-summary{
	position:sticky; top:24px; align-self:start;
	background:#fff;
	border:1px solid var(--c-line);
	border-radius:14px;
	padding:24px;
	box-shadow:0 1px 2px rgba(15,20,25,.04), 0 12px 32px rgba(15,20,25,.06);
}
.agf-checkout-summary h2,
.agf-checkout-summary h3,
.agf-checkout-summary .agf-summary-title{
	margin:0 0 14px;
	font-size:18px;
	font-weight:700;
	letter-spacing:-0.01em;
	color:var(--c-ink);
}
.agf-checkout-summary table.shop_table{width:100%;border-collapse:collapse;margin-top:8px}
.agf-checkout-summary table.shop_table th,
.agf-checkout-summary table.shop_table td{
	padding:10px 0;font-size:14px;color:var(--c-ink-2);
	border:none;border-bottom:1px solid var(--c-line);text-align:left;
}
.agf-checkout-summary table.shop_table td{text-align:right;color:var(--c-ink)}
.agf-checkout-summary tr.order-total th,
.agf-checkout-summary tr.order-total td{padding-top:14px;font-size:17px;font-weight:700;color:var(--c-ink)}
.agf-checkout-summary tr.order-total td .amount{color:#0e2a47}
.agf-checkout-summary .product-thumbnail img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--c-line)}

/* Place-order button — navy with gold hover halo */
.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
	display:block;width:100%;margin-top:18px;padding:18px 24px;
	background:#0e2a47;color:#fff !important;
	font-family:'IBM Plex Sans',sans-serif !important;
	font-size:16px;font-weight:700;letter-spacing:.02em;
	text-transform:none;border:none;border-radius:10px;cursor:pointer;
	box-shadow:0 4px 14px rgba(14,42,71,.25);
	transition:transform .08s ease, box-shadow .15s ease, background-color .15s ease;
}
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]:hover{
	background:#0c2440;
	box-shadow:0 6px 20px rgba(14,42,71,.32), 0 0 0 3px rgba(200,162,39,.30);
	transform:translateY(-1px);
}
.woocommerce-checkout #place_order:active{transform:translateY(0)}
.woocommerce-checkout #place_order:focus-visible{outline:3px solid #c8a227;outline-offset:2px}

/* Payment icons — inline SVG via data-URI */
.agf-payment-icons{
	display:flex;gap:10px;align-items:center;flex-wrap:wrap;
	margin:14px 0 4px;padding:12px 0;border-top:1px solid var(--c-line);
}
.agf-payment-icons::before{
	content:"We accept";margin-right:6px;
	font-size:12px;font-weight:600;color:var(--c-ink-3);
	text-transform:uppercase;letter-spacing:.06em;
}
.agf-payment-icons .agf-pay-ic{
	display:inline-block;width:36px;height:24px;
	background:#fff no-repeat center/contain;
	border:1px solid var(--c-line);border-radius:5px;
	text-indent:-9999px;overflow:hidden;
}
.agf-pay-ic-visa{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 24'><text x='32' y='18' font-family='Arial Black,sans-serif' font-size='16' font-weight='900' fill='%231A1F71' text-anchor='middle' letter-spacing='-1'>VISA</text></svg>")}
.agf-pay-ic-mastercard{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 24'><circle cx='14' cy='12' r='8' fill='%23EB001B'/><circle cx='22' cy='12' r='8' fill='%23F79E1B' fill-opacity='.92'/></svg>")}
.agf-pay-ic-amex{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 24'><rect width='64' height='24' fill='%23006FCF'/><text x='32' y='17' font-family='Arial Black,sans-serif' font-size='10' font-weight='900' fill='%23fff' text-anchor='middle' letter-spacing='.5'>AMEX</text></svg>")}
.agf-pay-ic-discover{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 24'><text x='28' y='17' font-family='Arial Black,sans-serif' font-size='8' font-weight='900' fill='%23000' text-anchor='middle'>DISCOVER</text><circle cx='54' cy='12' r='4' fill='%23F76F1B'/></svg>")}
.agf-pay-ic-apple-pay{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 20' fill='%23000'><path d='M9.6 5.7c.5-.6.9-1.5.8-2.4-.8 0-1.7.5-2.2 1.2-.5.6-.9 1.5-.8 2.3.9.1 1.7-.4 2.2-1.1zm.8 1.3c-1.2-.1-2.3.7-2.9.7-.6 0-1.5-.7-2.5-.6-1.3 0-2.4.7-3.1 1.9-1.3 2.3-.3 5.6 1 7.4.6.9 1.3 1.8 2.3 1.8.9 0 1.3-.6 2.4-.6s1.4.6 2.4.6c1 0 1.6-.9 2.2-1.8.7-1 1-2 1-2.1 0 0-1.9-.7-1.9-2.9 0-1.8 1.5-2.7 1.6-2.7-.9-1.3-2.3-1.5-2.8-1.5l.3-.2z'/><text x='17' y='14' font-family='Arial Black,sans-serif' font-size='8' font-weight='900' fill='%23000'>Pay</text></svg>")}
.agf-pay-ic-google-pay{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 20'><text x='2' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%234285F4'>G</text><text x='10' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%23EA4335'>o</text><text x='16' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%23FBBC04'>o</text><text x='22' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%234285F4'>g</text><text x='28' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%2334A853'>l</text><text x='31' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%23EA4335'>e</text><text x='36' y='14' font-family='Arial,sans-serif' font-size='9' font-weight='700' fill='%23202124'>Pay</text></svg>")}

/* Security copy under place-order button */
.agf-security-copy{
	display:flex;align-items:center;gap:8px;justify-content:center;
	margin:14px 0 0;padding:0;
	font-size:13px;color:var(--c-ink-3);
}
.agf-security-copy svg{color:var(--c-ok);flex-shrink:0}

@media (max-width:760px){
	.agf-checkout-main .agf-section{padding:22px 18px 18px;border-radius:12px}
	.agf-checkout-summary{position:static;margin-top:24px}
	.woocommerce-checkout #place_order{font-size:17px;padding:18px 22px}
}

/* Force the Stripe Payment Element iframe to be visible.
   Stripe's init starts at opacity:0 and animates to 1 once mounted; on slower
   mobile browsers it can stick at 0 and the customer sees blank space where
   the card field should be. Override aggressively. */
.wc-stripe-upe-element,
.wc-stripe-upe-element iframe,
.wc-stripe-upe-element > div,
.wc-stripe-upe-element .__PrivateStripeElement,
.wc-stripe-upe-element .__PrivateStripeElement iframe,
#wc-stripe-upe-form .wc-stripe-upe-element,
#wc-stripe-upe-form iframe{
	opacity:1 !important;
	visibility:visible !important;
}
.wc-stripe-upe-element{
	min-height:140px !important;
	background:#fff;
}

/* Stripe Payment Element — ensure iframe has space to render */
.wc_payment_method_stripe .wc-stripe-upe-element,
.wc_payment_method_stripe #wc-stripe-upe-form,
.wc_payment_method_stripe_payment .wc-stripe-upe-element,
li.wc_payment_method.payment_method_stripe div.payment_box{
	min-height:300px !important;
	padding:18px 0 !important;
}
.wc_payment_method_stripe iframe,
.wc-stripe-upe-element iframe,
li.payment_method_stripe iframe{
	min-height:200px !important;
	height:auto !important;
	width:100% !important;
}
li.wc_payment_method.payment_method_stripe div.payment_box,
li.wc_payment_method.payment_method_stripe_payment div.payment_box{
	display:block !important;
}

/* Make sure our injected "Shipping address" header is visible */
.agf-billing-injected-head{display:block !important}
.agf-billing-injected-head h3{display:block !important;margin:0 0 14px;font-size:20px;font-weight:700;color:var(--c-ink)}

/* Hide ONLY the WC default h3 that comes immediately after our injected header */
.agf-billing-injected-head + h3{display:none !important}

/* Hide WC's "Ship to a different address?" entirely — replaced by our
   "Use a different billing address?" toggle which has the right semantics. */
.woocommerce-shipping-fields{display:none !important}

/* Cobalt "Use a different billing address?" toggle + override form */
.agf-diff-billing{margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--c-line)}
.agf-diff-billing-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--c-ink-2);font-weight:500;font-family:'IBM Plex Sans',sans-serif}
.agf-diff-billing-toggle input[type="checkbox"]{width:18px;height:18px;cursor:pointer;flex-shrink:0}
.agf-diff-billing-toggle:hover span{color:var(--c-ink)}
.agf-diff-billing-fields{margin-top:18px;padding-top:18px;border-top:1px dashed var(--c-line)}
.agf-diff-billing-fields header.agf-section-head{margin-bottom:14px}
.agf-diff-billing-fields header.agf-section-head h3{font-size:18px;font-weight:700;color:var(--c-ink)}

/* Account-creation block inside Contact section */
.agf-section-email .agf-account-fields{margin-top:14px;padding-top:14px;border-top:1px dashed var(--c-line)}
.agf-section-email .create-account label.checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--c-ink-2);font-weight:500}
.agf-section-email .create-account input[type="checkbox"]{width:18px;height:18px}
.agf-section-email .agf-create-account-fields{margin-top:12px;display:flex;flex-direction:column;gap:8px}

/* Contact / email section — single-row card with reassurance helper */
.agf-section-email .agf-email-row{margin-bottom:6px}
.agf-section-email .agf-email-row label{font-size:13px;font-weight:600;color:var(--c-ink-2);margin:0 0 6px;display:block}
.agf-section-email .agf-email-row input.input-text{
	width:100%;min-height:48px;padding:13px 14px;
	background:#fff;border:1px solid var(--c-line-2);border-radius:8px;
	font-size:15px;color:var(--c-ink);
	transition:border-color .12s ease, box-shadow .12s ease;
}
.agf-section-email .agf-email-row input.input-text:focus{
	outline:none;border-color:#0e2a47;box-shadow:0 0 0 3px rgba(14,42,71,.12);
}
.agf-email-helper{
	display:flex;align-items:center;gap:6px;
	margin:8px 0 0;padding:0;
	font-size:12.5px;color:var(--c-ink-3);font-family:'IBM Plex Sans',sans-serif;
}
.agf-email-helper svg{color:#0E8A4B;flex-shrink:0}

/* ================== CONVERSION STACK ================== */

/* Review band — 4.9/5 / 12k garages / free shipping */
.agf-review-band{
	max-width:1200px;margin:0 auto 20px;padding:14px 22px;
	background:linear-gradient(180deg,#fff,#fafbfc);
	border:1px solid var(--c-line);border-radius:10px;
	box-shadow:0 1px 2px rgba(15,20,25,.03);
}
.agf-review-band-inner{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-family:'IBM Plex Sans',sans-serif}
.agf-review-stars{display:flex;gap:1px}
.agf-review-band-text{font-size:14px;color:var(--c-ink-2)}
.agf-review-band-text strong{color:var(--c-ink);font-weight:700}
.agf-review-band-sep{margin:0 8px;color:var(--c-ink-4)}
@media (max-width:680px){.agf-review-band{padding:12px 16px}.agf-review-band-text{font-size:13px}.agf-review-band-sep{margin:0 4px}}

/* Shipping method radio cards */
.agf-shipping-methods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.agf-shipping-methods .agf-shipping-method label{
	display:flex;align-items:center;gap:14px;
	padding:16px 18px;background:#fff;
	border:1.5px solid var(--c-line);border-radius:10px;
	cursor:pointer;transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.agf-shipping-methods .agf-shipping-method label:hover{border-color:var(--c-line-2);background:#fcfcfd}
.agf-shipping-methods .agf-shipping-method input{position:absolute;opacity:0;pointer-events:none}
.agf-shipping-methods .agf-shipping-method .agf-ship-radio{
	width:20px;height:20px;border:2px solid var(--c-line-2);border-radius:50%;flex-shrink:0;
	display:flex;align-items:center;justify-content:center;transition:border-color .15s ease;
}
.agf-shipping-methods .agf-shipping-method input:checked + .agf-ship-radio{border-color:#0e2a47}
.agf-shipping-methods .agf-shipping-method input:checked + .agf-ship-radio::after{
	content:"";width:10px;height:10px;background:#0e2a47;border-radius:50%;
}
.agf-shipping-methods .agf-shipping-method input:checked ~ .agf-ship-body{color:var(--c-ink)}
.agf-shipping-methods .agf-shipping-method:has(input:checked) label,
.agf-shipping-methods .agf-shipping-method label:has(input:checked){
	border-color:#0e2a47;background:#f4f7fb;box-shadow:0 0 0 3px rgba(14,42,71,.08);
}
.agf-ship-body{flex:1;display:flex;flex-direction:column;gap:2px}
.agf-ship-label{font-weight:600;color:var(--c-ink);font-size:15px}
.agf-ship-sub{font-size:12.5px;color:var(--c-ink-3)}
.agf-ship-cost{font-weight:700;color:var(--c-ink);font-size:15px;white-space:nowrap}
.agf-ship-cost .amount{color:var(--c-ink)}
.agf-shipping-method.agf-shipping-pickup label{background:linear-gradient(180deg,#f6fbf6,#fff);border-color:#bee2c0}
.agf-shipping-method.agf-shipping-pickup .agf-ship-cost{color:#0E8A4B}
.agf-shipping-empty{padding:14px;background:#fafbfc;border:1px dashed var(--c-line);border-radius:8px;color:var(--c-ink-3);font-size:14px;text-align:center}

.agf-section-helper{font-size:13px;color:var(--c-ink-3);margin-left:auto}

/* "What happens next" 3-step strip */
.agf-next-steps{
	display:grid;grid-template-columns:repeat(3, 1fr);gap:14px;
	margin:18px 0 4px;padding:18px 16px;
	background:linear-gradient(180deg,#f7f9fc,#fff);
	border:1px solid var(--c-line);border-radius:10px;
}
.agf-next-step{display:flex;gap:10px;align-items:flex-start}
.agf-step-num{
	display:flex;align-items:center;justify-content:center;
	width:26px;height:26px;flex-shrink:0;
	background:#0e2a47;color:#fff;border-radius:50%;
	font-weight:700;font-size:13px;font-family:'IBM Plex Sans',sans-serif;
}
.agf-step-body{display:flex;flex-direction:column;gap:1px;line-height:1.3}
.agf-step-body strong{font-size:13.5px;color:var(--c-ink);font-weight:700}
.agf-step-body span{font-size:12px;color:var(--c-ink-3)}
@media (max-width:680px){.agf-next-steps{grid-template-columns:1fr;gap:12px;padding:14px}}

/* Payment icons row — inline SVGs now */
.agf-payment-icons{
	display:flex;gap:8px;align-items:center;flex-wrap:wrap;
	margin:16px 0 6px;padding:14px 0 4px;border-top:1px solid var(--c-line);
}
.agf-payment-icons .agf-pay-label{
	margin-right:6px;font-size:12px;font-weight:700;color:var(--c-ink-3);
	text-transform:uppercase;letter-spacing:.06em;
}
.agf-payment-icons .agf-pay-ic{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.agf-payment-icons .agf-pay-ic svg{display:block}

/* ============= SIDEBAR CONVERSION CARDS ============= */

/* Testimonial */
.agf-conv-testimonial{
	margin-top:16px;padding:18px 18px 16px;
	background:#fff;border:1px solid var(--c-line);border-radius:12px;
	font-family:'IBM Plex Sans',sans-serif;
}
.agf-conv-stars{display:flex;gap:1px;margin-bottom:10px}
.agf-conv-quote{
	margin:0 0 14px;padding:0;
	font-size:14px;line-height:1.55;color:var(--c-ink);font-weight:500;
	border:none;font-style:normal;
}
.agf-conv-attrib{display:flex;align-items:center;gap:10px}
.agf-conv-avatar{
	display:flex;align-items:center;justify-content:center;
	width:36px;height:36px;flex-shrink:0;
	background:linear-gradient(135deg,#0e2a47,#1f3ce6);color:#fff;
	border-radius:50%;font-weight:700;font-size:13px;letter-spacing:.04em;
}
.agf-conv-attrib > div{display:flex;flex-direction:column;line-height:1.3}
.agf-conv-attrib strong{font-size:13.5px;color:var(--c-ink);font-weight:700}
.agf-conv-attrib span{font-size:12px;color:var(--c-ink-3)}

/* Live activity ticker */
.agf-conv-activity{
	display:flex;align-items:flex-start;gap:10px;
	margin-top:14px;padding:12px 14px;
	background:#fff7eb;border:1px solid #f5e0b8;border-radius:10px;
}
.agf-conv-activity-dot{
	width:8px;height:8px;flex-shrink:0;margin-top:6px;
	background:#0E8A4B;border-radius:50%;
	box-shadow:0 0 0 3px rgba(14,138,75,.18);
	animation:agfPulse 2s ease-in-out infinite;
}
@keyframes agfPulse{0%,100%{box-shadow:0 0 0 0 rgba(14,138,75,.4)}50%{box-shadow:0 0 0 6px rgba(14,138,75,0)}}
.agf-conv-activity-text{font-family:'IBM Plex Sans',sans-serif;font-size:13px;color:var(--c-ink-2);line-height:1.45}
.agf-conv-activity-text strong{color:var(--c-ink);font-weight:600}
.agf-conv-activity-time{display:block;font-size:11.5px;color:var(--c-ink-3);margin-top:2px}

/* Verified merchant badges */
.agf-conv-badges{
	display:flex;flex-direction:column;gap:10px;
	margin-top:14px;padding:14px 16px;
	background:#fff;border:1px solid var(--c-line);border-radius:10px;
}
.agf-conv-badge{display:flex;align-items:center;gap:12px;font-family:'IBM Plex Sans',sans-serif}
.agf-conv-badge svg{flex-shrink:0}
.agf-conv-badge span{display:flex;flex-direction:column;line-height:1.25;gap:1px}
.agf-conv-badge strong{font-size:13px;color:var(--c-ink);font-weight:700}
.agf-conv-badge span span,
.agf-conv-badge > span:not(:first-of-type),
.agf-conv-badge span:not(strong){font-size:12px;color:var(--c-ink-3);font-weight:400}

/* ============= NAVY PLACE-ORDER (high specificity to beat cart.css cobalt) ============= */
.woocommerce-checkout .agf-checkout-page #place_order,
.woocommerce-checkout .agf-checkout-page button[name="woocommerce_checkout_place_order"]:not(.agf-checkout-sticky-btn),
.woocommerce-checkout form.checkout #place_order{
	background-color:#0e2a47 !important;
	background-image:none !important;
	color:#fff !important;
	border:none !important;
}
.woocommerce-checkout .agf-checkout-page #place_order:hover,
.woocommerce-checkout form.checkout #place_order:hover{
	background-color:#0c2440 !important;
	box-shadow:0 6px 20px rgba(14,42,71,.32), 0 0 0 3px rgba(200,162,39,.30) !important;
}

.agf-mobile-only{display:none}
@media (max-width:900px){.agf-mobile-only{display:flex}}

/* Express payment zone */
.agf-express-pay{margin:0 0 24px}
.agf-express-pay[data-hidden="1"]{display:none}
.agf-express-pay-buttons{display:flex; gap:8px; flex-direction:column}
.agf-express-pay-buttons > *{height:48px !important; border-radius:var(--r-md) !important}
.agf-express-pay-divider{
  display:flex; align-items:center; gap:12px;
  margin:18px 0; font-size:12px; color:var(--c-ink-3); text-transform:uppercase; letter-spacing:.06em;
}
.agf-express-pay-divider::before, .agf-express-pay-divider::after{
  content:""; flex:1; height:1px; background:var(--c-line);
}

/* Layout */
.agf-checkout-grid{display:grid; grid-template-columns:1fr 420px; gap:32px; align-items:start; max-width:1200px; margin:0 auto}
@media (max-width:900px){.agf-checkout-grid{grid-template-columns:1fr; gap:0}}

.agf-checkout-main{display:flex; flex-direction:column; gap:24px}

/* Section card */
.agf-section{background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg); padding:24px}
.agf-section-head{display:flex; justify-content:space-between; align-items:center; margin:0 0 18px}
.agf-section-head h3{font-size:16px; font-weight:700; margin:0; color:var(--c-ink)}
.agf-login-link{font-size:13px; color:var(--c-cobalt); text-decoration:none}
.agf-login-link:hover{text-decoration:underline; text-underline-offset:3px}

/* Form fields */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3{display:none}
.woocommerce-checkout form .form-row{
  display:flex; flex-direction:column; margin:0 0 14px; padding:0;
}
.woocommerce-checkout form .form-row label{
  font-size:12px; font-weight:600; color:var(--c-ink-2); margin:0 0 6px;
  text-transform:uppercase; letter-spacing:.04em;
}
.woocommerce-checkout form .form-row .required{color:var(--c-danger); text-decoration:none}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row .select2-container--default .select2-selection--single{
  padding:11px 14px; height:44px;
  border:1px solid var(--c-line); border-radius:var(--r-sm);
  font-size:15px; color:var(--c-ink); background:var(--c-paper);
  outline:none; transition:border-color .15s, box-shadow .15s;
  font-family:inherit;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus{
  border-color:var(--c-cobalt); box-shadow:0 0 0 3px rgba(31,60,230,.12);
}
.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text{
  border-color:var(--c-danger);
}

/* Two-column desktop name + city/state + zip */
.woocommerce-checkout #customer_details .form-row-half,
.woocommerce-checkout #customer_details .form-row-first,
.woocommerce-checkout #customer_details .form-row-last{width:calc(50% - 8px); display:inline-flex; vertical-align:top}
.woocommerce-checkout #customer_details .form-row-first{margin-right:16px}
@media (max-width:640px){
  .woocommerce-checkout #customer_details .form-row-half,
  .woocommerce-checkout #customer_details .form-row-first,
  .woocommerce-checkout #customer_details .form-row-last{
    width:100%; margin-right:0; display:flex;
  }
}

/* Collapsed fields (company, address line 2) */
.agf-collapsed{display:none !important}

/* Shipping method cards */
#order_review .shipping_method, #order_review ul#shipping_method li{list-style:none; padding:0; margin:0}
ul#shipping_method{display:flex; flex-direction:column; gap:10px; padding:0; margin:0; list-style:none}
ul#shipping_method li{
  border:1.5px solid var(--c-line); border-radius:var(--r-md);
  padding:14px 16px; display:flex; align-items:center; gap:12px;
  transition:border-color .15s, background .15s; cursor:pointer;
}
ul#shipping_method li:hover{border-color:var(--c-line-2); background:var(--c-paper-2)}
ul#shipping_method li input[type=radio]{flex-shrink:0; margin:0; width:18px; height:18px; accent-color:var(--c-cobalt)}
ul#shipping_method li input[type=radio]:checked + label{color:var(--c-ink); font-weight:600}
ul#shipping_method li:has(input[type=radio]:checked){border-color:var(--c-cobalt); background:rgba(31,60,230,.04)}
ul#shipping_method li label{margin:0; font-size:14px; color:var(--c-ink-2); cursor:pointer; flex:1; display:flex; justify-content:space-between; gap:12px}

/* Payment methods */
.woocommerce-checkout #payment{background:transparent; padding:0; border:0}
.woocommerce-checkout #payment ul.payment_methods{
  display:flex; flex-direction:column; gap:10px; padding:0; margin:0 0 18px;
  list-style:none; background:transparent; border-bottom:0;
}
.woocommerce-checkout #payment ul.payment_methods li{
  background:var(--c-paper); border:1.5px solid var(--c-line); border-radius:var(--r-md);
  padding:14px 16px; cursor:pointer; transition:border-color .15s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:var(--c-line-2)}
.woocommerce-checkout #payment ul.payment_methods li:has(input[type=radio]:checked){border-color:var(--c-cobalt)}
.woocommerce-checkout #payment ul.payment_methods li label{margin:0 0 0 8px; font-weight:600; color:var(--c-ink); cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods .payment_box{
  background:var(--c-paper-2); border:0; border-radius:var(--r-sm);
  padding:14px; margin:10px 0 0;
}

/* Payment icons row */
.agf-payment-icons{
  display:flex; gap:6px; align-items:center; padding:14px 0;
  border-top:1px solid var(--c-line);
}
.agf-pay-ic{
  display:inline-block; width:38px; height:24px; border:1px solid var(--c-line); border-radius:4px;
  background:var(--c-paper) center/60% no-repeat;
}
.agf-pay-ic-visa{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 324'><path fill='%231434CB' d='M433 8L378 314h-87L347 8h86zm369 197l46-126 26 126h-72zm98 117h81L911 8h-75c-17 0-31 10-37 25L750 314h87l17-48h106l10 48zM649 215c0-86-119-91-118-129 0-12 11-24 36-27 31-4 65 1 87 12l15-67c-22-8-50-15-85-15-90 0-153 48-153 117 0 51 45 79 80 96 35 17 47 28 47 43-1 23-28 33-54 34-45 1-71-12-92-22l-15 70c21 10 60 18 100 19 95 0 158-47 158-121zM325 8L188 314h-88L24 56c-5-19-9-26-24-34C-23 9-46 0-67-6l2-12h142c18 0 34 12 38 33l40 213L260 8h65z'/></svg>")}
.agf-pay-ic-mastercard{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 20'><circle cx='12' cy='10' r='7' fill='%23EB001B'/><circle cx='20' cy='10' r='7' fill='%23F79E1B'/><path fill='%23FF5F00' d='M16 5a7 7 0 0 0 0 10 7 7 0 0 0 0-10z'/></svg>")}
.agf-pay-ic-amex{background:#006FCF}
.agf-pay-ic-amex::after{content:"AMEX"; color:#fff; font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; height:100%; letter-spacing:.5px}
.agf-pay-ic-discover{background:#FF6000}
.agf-pay-ic-discover::after{content:"DISC"; color:#fff; font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; height:100%; letter-spacing:.5px}
.agf-pay-ic-apple-pay{background:#000}
.agf-pay-ic-apple-pay::after{content:" Pay"; color:#fff; font-size:11px; font-weight:600; display:flex; align-items:center; justify-content:center; height:100%}
.agf-pay-ic-google-pay{background:#fff; border:1px solid var(--c-line)}
.agf-pay-ic-google-pay::after{content:"G Pay"; color:#5F6368; font-size:9px; font-weight:600; display:flex; align-items:center; justify-content:center; height:100%}

/* Place Order button */
.woocommerce-checkout #place_order, .agf-checkout-sticky-btn{
  display:flex; align-items:center; justify-content:center;
  width:100%; padding:16px 24px;
  background:var(--c-cobalt) !important; color:var(--c-paper) !important;
  border:0; border-radius:var(--r-md);
  font-size:16px; font-weight:700; letter-spacing:.01em;
  cursor:pointer; transition:background .15s, transform .15s;
}
.woocommerce-checkout #place_order:hover, .agf-checkout-sticky-btn:hover{
  background:var(--c-cobalt-2) !important; transform:translateY(-1px);
}
.agf-security-copy{
  display:flex; align-items:center; gap:6px; justify-content:center;
  margin:14px 0 0; font-size:12px; color:var(--c-ink-3);
}
.agf-security-copy svg{color:var(--c-ok)}

/* Order summary sidebar */
.agf-checkout-summary{position:sticky; top:24px}
@media (max-width:900px){
  .agf-checkout-summary{position:relative; top:0; order:-1; padding:0 16px; margin:0 0 16px}
  .agf-checkout-summary-sticky{border-radius:var(--r-md)}
}
.agf-checkout-summary-sticky{
  background:var(--c-paper); border:1px solid var(--c-line); border-radius:var(--r-lg);
  padding:24px; box-shadow:var(--shadow-md);
}
.agf-summary-head{display:flex; justify-content:space-between; align-items:center; margin:0 0 16px}
.agf-summary-head h3{font-size:16px; font-weight:700; margin:0; color:var(--c-ink)}
.agf-summary-toggle{
  display:none; align-items:center; gap:4px; background:transparent; border:0; padding:0;
  color:var(--c-cobalt); font-size:13px; font-weight:500; cursor:pointer;
}
@media (max-width:900px){.agf-summary-toggle{display:inline-flex}}

.agf-summary-line{display:flex; gap:12px; padding:10px 0; border-bottom:1px solid var(--c-line)}
.agf-summary-line:last-of-type{border-bottom:0}
.agf-summary-thumb{position:relative; flex-shrink:0; width:52px; height:52px; border-radius:var(--r-sm); overflow:hidden; background:var(--c-paper-2)}
.agf-summary-thumb img{width:100%; height:100%; object-fit:cover; display:block}
.agf-summary-qty{
  position:absolute; top:-4px; right:-4px;
  display:flex; align-items:center; justify-content:center;
  min-width:18px; height:18px; padding:0 4px;
  background:var(--c-ink); color:var(--c-paper); border-radius:9px;
  font-size:11px; font-weight:700;
}
.agf-summary-meta{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.agf-summary-name{font-size:13px; font-weight:600; color:var(--c-ink); line-height:1.35}
.agf-summary-variation{font-size:12px; color:var(--c-ink-3)}
.agf-summary-price{font-size:13px; font-weight:600; color:var(--c-ink); white-space:nowrap}

.agf-summary-totals{margin-top:16px; padding-top:16px; border-top:2px solid var(--c-line)}
.agf-summary-row{display:flex; justify-content:space-between; padding:6px 0; font-size:14px; color:var(--c-ink-2)}
.agf-summary-row-discount{color:var(--c-ok)}
.agf-summary-row-total{margin-top:8px; padding-top:12px; border-top:1px solid var(--c-line); font-size:18px; font-weight:700; color:var(--c-ink)}

/* Sticky mobile bottom CTA */
.agf-checkout-sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:20;
  align-items:center; gap:12px;
  padding:12px 16px; background:var(--c-paper);
  border-top:1px solid var(--c-line); box-shadow:0 -8px 24px rgba(15,20,25,.08);
}
.agf-checkout-sticky-total{display:flex; flex-direction:column; min-width:0}
.agf-checkout-sticky-label{font-size:11px; color:var(--c-ink-3); text-transform:uppercase; letter-spacing:.04em}
.agf-checkout-sticky-value{font-size:18px; font-weight:700; color:var(--c-ink)}
.agf-checkout-sticky-btn{margin-left:auto; max-width:200px}

/* Inline validation feedback */
.woocommerce-checkout .agf-field-ok::after{content:""; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:8px; height:8px; border-radius:50%; background:var(--c-ok)}
.woocommerce-checkout .agf-field-err::after{content:""; position:absolute; right:14px; top:50%; transform:translateY(-50%); width:8px; height:8px; border-radius:50%; background:var(--c-danger)}

/* Honeypot — must remain invisible to users */
.agf-trap{position:absolute !important; left:-10000px !important; height:1px; width:1px; overflow:hidden}
