/* GOS Funnels: checkout and thank-you. Mobile first. Colours come from :root set in the page head. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.gosf-body{margin:0;overflow-x:clip;background:var(--gosf-bg);color:var(--gosf-text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}

/* Header */
.gosf-banner{padding:10px 12px;text-align:center;font:600 clamp(14px,3.9vw,17px)/1.3 var(--gosf-heading);letter-spacing:.2px}
.gosf-head{max-width:640px;margin:0 auto;padding:28px 16px 8px;text-align:center}
.gosf-logo img{margin:0 auto 14px;max-height:48px;width:auto}
.gosf-eyebrow{display:inline-block;margin:0 0 12px;padding:4px 14px;border:1px solid var(--gosf-border);border-radius:999px;background:var(--gosf-card);color:var(--gosf-primary);font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase}
.gosf-title{margin:0;font:700 clamp(30px,8vw,44px)/1.08 var(--gosf-heading);text-transform:uppercase}
.gosf-title span{display:block;color:var(--gosf-primary)}
.gosf-sub{margin:12px auto 0;max-width:520px;color:var(--gosf-muted);font-size:15px}
.gosf-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:14px 0 0;padding:0;list-style:none;font-size:13px;color:var(--gosf-muted)}
.gosf-badges li::before{content:"\2713";margin-right:5px;color:var(--gosf-primary);font-weight:700}

/* Layout */
.gosf-main{max-width:1040px;margin:0 auto;padding:16px}
.gosf-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.gosf-col{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}
.gosf-card{padding:16px;border:1px solid var(--gosf-border);border-radius:var(--gosf-radius);background:var(--gosf-card)}
.gosf-h2{margin:0 0 12px;font-size:17px;font-weight:700}

/* Main product */
.gosf-product{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}
.gosf-product img{width:56px;height:56px;object-fit:cover;border-radius:8px}
.gosf-product-name{font-weight:600}
.gosf-product-price{font-weight:600;white-space:nowrap}

/* Bumps */
.gosf-bumps{display:grid;gap:12px}
.gosf-bumps .gosf-h2{margin:4px 0 0}
.gosf-bump{display:block;overflow:hidden;border:2px solid var(--gosf-border);border-radius:var(--gosf-radius);background:var(--gosf-card);cursor:pointer;transition:border-color .12s}
.gosf-bump.is-on{border-color:var(--gosf-primary)}
.gosf-bump-media{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#eee center/cover no-repeat}
.gosf-bump-media img{width:100%;height:100%;object-fit:cover}
.gosf-bump-media.is-square::before{content:"";position:absolute;inset:-20px;background:inherit;filter:blur(18px) brightness(.92)}
.gosf-bump-media.is-square img{position:relative;object-fit:contain}
.gosf-bump-body{display:grid;gap:6px;padding:14px}
.gosf-bump-title{font-size:17px;font-weight:700;line-height:1.25;color:var(--gosf-primary)}
.gosf-bump-text{font-size:14px;color:var(--gosf-text)}
.gosf-bump-price{font-size:18px;font-weight:700}
.gosf-bump-price del{margin-left:6px;font-size:14px;font-weight:400;color:var(--gosf-muted)}
.gosf-bump-cta{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border:1px solid var(--gosf-border);border-radius:8px;font-weight:600}
.gosf-bump-cta input{width:20px;height:20px;margin:0;accent-color:var(--gosf-primary)}
.gosf-bump-added{display:none;color:var(--gosf-primary)}
.gosf-bump.is-on .gosf-bump-add{display:none}
.gosf-bump.is-on .gosf-bump-added{display:inline}
.gosf-bump:focus-within{outline:2px solid var(--gosf-primary);outline-offset:2px}

/* Summary */
.gosf-lines{width:100%;border-collapse:collapse;font-size:15px}
.gosf-lines td,.gosf-lines th{padding:4px 0;text-align:left;font-weight:400;vertical-align:top}
.gosf-lines td:last-child{text-align:right;white-space:nowrap;padding-left:12px}
.gosf-line-total th,.gosf-line-total td{padding-top:10px;border-top:1px solid var(--gosf-border);font-size:19px;font-weight:700}
.gosf-line-total td:last-child{font-size:21px}
.gosf-remove-coupon{margin-left:6px;padding:0;border:0;background:none;color:var(--gosf-primary);font-size:13px;text-decoration:underline;cursor:pointer}

/* Express wallets: locked while the cart is catching up with a change */
.gosf-express{min-height:0}
.gosf-express-title{display:none;margin:0 0 10px;text-align:center;font-size:14px;font-weight:600;color:var(--gosf-muted)}
.gosf-express:has(#wc-stripe-express-checkout-element:not([style*="display:none"]):not([style*="display: none"])) .gosf-express-title{display:block}
#wc-stripe-express-checkout-element{margin-top:0!important}
.gosf-syncing #wc-stripe-express-checkout-element{pointer-events:none;opacity:.55}
#wc-stripe-express-checkout-button-separator{position:relative;margin:14px 0 2px!important;text-align:center;color:transparent;font-size:0}
#wc-stripe-express-checkout-button-separator::before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid var(--gosf-border)}
#wc-stripe-express-checkout-button-separator::after{content:var(--gosf-divider);position:relative;padding:0 12px;background:var(--gosf-bg);color:var(--gosf-muted);font-size:13px}

/* Form fields */
.gosf-details h3,.gosf-details .woocommerce-billing-fields>h3{display:none}
.woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gosf-form .form-row{grid-column:1/-1;margin:0;padding:0}
.gosf-form .form-row-first,.gosf-form #billing_country_field{grid-column:1}
.gosf-form .form-row-last,.gosf-form #billing_state_field{grid-column:2}
.gosf-form #billing_country_field:has(+ #billing_state_field[style*="none"]){grid-column:1/-1}
.gosf-form .form-row label{display:block;margin:0 0 4px;font-size:14px;font-weight:600}
.gosf-form .form-row label .optional{font-weight:400;color:var(--gosf-muted)}
.gosf-form .required{color:var(--gosf-primary);text-decoration:none}
.gosf-form input.input-text,.gosf-form select,.gosf-coupon-code{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--gosf-border);border-radius:8px;background:#fff;font-size:16px}
.gosf-form input.input-text:focus,.gosf-form select:focus,.gosf-coupon-code:focus{outline:2px solid var(--gosf-primary);outline-offset:0;border-color:transparent}
.gosf-form .woocommerce-invalid input.input-text,.gosf-form .woocommerce-invalid select{border-color:#c0392b}
.gosf-form .checkout-inline-error-message{margin:4px 0 0;color:#c0392b;font-size:13px}

/* Payment */
.gosf-payment .gosf-h2{margin-bottom:2px}
.gosf-secure{margin:0 0 12px;color:var(--gosf-muted);font-size:13px}
#payment{background:none!important;border:0}
#payment ul.payment_methods{margin:0;padding:0;list-style:none;border:0}
#payment ul.payment_methods>li{margin:0 0 8px;padding:12px;border:1px solid var(--gosf-border);border-radius:8px;list-style:none}
#payment ul.payment_methods>li label{font-weight:600;cursor:pointer}
#payment ul.payment_methods>li input[type=radio]{margin-right:6px;accent-color:var(--gosf-primary)}
#payment .payment_box{margin:10px 0 0;padding:0;background:none}
#payment .payment_box::before{display:none}
#payment fieldset{margin:0;padding:0;border:0;min-width:0}
#payment .form-row.place-order{margin-top:12px;padding:0}
#place_order{display:block;width:100%;min-height:54px;padding:14px;border:0;border-radius:10px;background:var(--gosf-button);color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:filter .12s}
#place_order:hover{filter:brightness(.92)}
#place_order:disabled{opacity:.6;cursor:default}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-size:13px;color:var(--gosf-muted)}
.woocommerce-privacy-policy-text p{margin:0 0 10px}

/* Coupon */
.gosf-coupon{margin:0 0 12px;font-size:14px}
.gosf-coupon summary{cursor:pointer;color:var(--gosf-primary);font-weight:600}
.gosf-coupon-row{display:flex;gap:8px;margin-top:8px}
.gosf-coupon-apply{flex:none;padding:0 16px;border:1px solid var(--gosf-text);border-radius:8px;background:none;font-weight:600;cursor:pointer}
.gosf-coupon-msg .woocommerce-error,.gosf-coupon-msg .woocommerce-message{margin:8px 0 0;padding:8px 10px;list-style:none;border-radius:6px;background:#f7f4ec}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-error,.woocommerce-message,.woocommerce-info{margin:0 0 12px;padding:12px 14px;list-style:none;border-radius:8px;background:#fdecea;color:#7a1f16}
.woocommerce-message,.woocommerce-info{background:#eef7ee;color:#1e5b24}
.woocommerce-NoticeGroup-checkout{grid-column:1/-1}

/* WooCommerce's refresh overlay would flash the form on every bump click */
.gosf-form .blockUI.blockOverlay{background:transparent!important;opacity:0!important}

/* Shown the moment Complete Order is pressed, and while a wallet payment finishes */
.gosf-paying-screen{position:fixed;inset:0;z-index:99999;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:rgba(255,253,247,.94);text-align:center;font-size:15px;color:var(--gosf-muted)}
.gosf-paying-screen strong{font-size:20px;color:var(--gosf-text)}
.gosf-paying .gosf-paying-screen,.wc-stripe-ece-processing .gosf-paying-screen{display:flex}

.gosf-foot{padding:24px 16px 32px;text-align:center;color:var(--gosf-muted);font-size:13px}

/* Thank-you */
.gosf-ty{display:grid;gap:16px;max-width:640px;margin:0 auto;padding:16px}
.gosf-ty-head{padding:20px 16px 4px;text-align:center}
.gosf-ty-check{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--gosf-primary);color:#fff;font-size:28px;font-weight:700}
.gosf-ty-msg{margin:10px auto 0;max-width:480px;color:var(--gosf-muted)}
.gosf-ty-order{margin:10px 0 0;font-size:14px;color:var(--gosf-muted)}
.gosf-downloads{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.gosf-download{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.gosf-download-name{font-weight:600}
.gosf-download-note{display:block;font-size:13px;font-weight:400;color:var(--gosf-muted)}
.gosf-btn{display:inline-block;padding:12px 18px;border-radius:8px;background:var(--gosf-button);color:#fff;font-weight:700;text-decoration:none}
.gosf-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:15px}
.gosf-meta dt{color:var(--gosf-muted)}
.gosf-meta dd{margin:0;text-align:right}
.gosf-wait{display:flex;align-items:center;gap:12px}
.gosf-spin{flex:none;width:22px;height:22px;border:3px solid var(--gosf-border);border-top-color:var(--gosf-primary);border-radius:50%;animation:gosf-spin .8s linear infinite}
@keyframes gosf-spin{to{transform:rotate(360deg)}}

@media (min-width:880px){
	.gosf-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
	.gosf-col-offer{position:sticky;top:16px}
}

@media (prefers-reduced-motion:reduce){
	.gosf-spin{animation-duration:2.4s}
	.gosf-bump,#place_order{transition:none}
}
