/*
 * live-compat.css — carried over from live's Customizer "Additional CSS" (post 140).
 *
 * 🛑 WHY THIS FILE EXISTS. Customizer CSS is stored PER THEME
 * (theme_mods_hello-elementor.custom_css_post_id = 140), so switching to this theme
 * drops all 18.8KB of it. Most of that was old-design styling we replace — but a large
 * part styled PLUGIN UI that is completely independent of the design: the age-gate
 * modal, CheckoutWC + side cart, the payment gateways' QR/icon blocks, the checkout
 * agreement checkboxes and the thank-you page. Losing those would visually break
 * compliance and the payment path.
 *
 * So the plugin-UI rules are carried here verbatim and the old-design rules are
 * deliberately dropped. Generated by scratchpad/split_css.py; source of truth for the
 * original is _backups/20260810-golive/live-custom-css-140.css.
 */

/*
 * Elementor's global kit variables, re-declared on :root.
 *
 * Elementor defines these on the `.elementor-kit-11` BODY class, and that same class
 * also carries bare-element rules (`a`, `h1`–`h6`) that outrank this theme's component
 * classes — `.elementor-kit-11 a` (0,1,1) beat `.pv-btn--grad` (0,1,0) and turned the
 * hero CTA's label teal on a teal gradient. inc/plugin-compat.php therefore strips the
 * kit body class under this theme, which would also take these variables with it, so
 * they are restated here verbatim from live's kit (read 2026-08-10). Elementor content
 * that still renders inside the_content() on the legal pages keeps resolving them.
 */
:root {
	--e-global-color-primary:   #1FC6B9; /* teal  */
	--e-global-color-secondary: #020202; /* black */
	--e-global-color-accent:    #172C45; /* navy  */
	--e-global-color-text:      #7A7A7A;
	--e-global-color-0fc5597:   #8D6DE0; /* purple */
	--e-global-color-60ecfde:   #F0F0F0; /* grey band */
	--e-global-color-15c2eb5:   #FFFFFF;

	--e-global-typography-primary-font-family:   "Sora";
	--e-global-typography-primary-font-weight:   400;
	--e-global-typography-secondary-font-family: "Manrope";
	--e-global-typography-secondary-font-weight: 400;
	--e-global-typography-text-font-family:      "Manrope";
	--e-global-typography-text-font-weight:      400;
	--e-global-typography-accent-font-family:    "Roboto";
	--e-global-typography-accent-font-weight:    500;
}

.cfw-tw .max-w-28 {
    max-width: 12rem !important;
}

.zask-form-footer button{
	    background: white;
    color: black;
    border: none;
}

.zask-password-wrapper button{
	background: white;
    border: 1px solid black;
    padding: 6px 12px;
    margin-top: 8px;
}

.zask-gate-header img{
	width:200px;
}

.zask-btn-primary{
	    color: white;
    width: 40%;
    border: none;
}

.zask-toggle-btn:hover{
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.zask-toggle-btn:active{
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.woocommerce span.onsale{
	    background-color: #975dc3 !important;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
	color: #975dc3 !important;
		
	}

.woocommerce-variation-price .woocommerce-Price-amount{
		  color: #975dc3 !important;

}

.wc-gateway-icons{
	margin-left:36% !important;
}

.context-thank-you img#qr-code1, .woocommerce-checkout #payment img#qr-code1 {
    width: 200px !important;
    height: 200px !important;
    margin-top: 20px !important;
}

span.cash-app-instruction {
    line-height: 26px;
}

div#cfw-cart-summary .cfw-sticky {
    padding-top: 10px;
}

.cfw-side-cart-free-shipping-progress-wrap p {
    font-size: 16px;
	color: #000;
}

#cfw h4{
	font-size:16px;
}

#edd-draft-plaid-payment-container{
	    /* border: 1px solid; */
  border:none !important;
    font-size: .825em !important;
    line-height: 2 !important;
}

#wc-zelle-form p{
    font-size: 13px !important;
    line-height: 2 !important;
}

.agreement-links{
	line-height:1.6 !important;
}

@media (max-width: 768px) {
  .cfw-tw {
   margin-top:40px !important;
  }
	.wc-gateway-icons{
display:none !important;
	}

}

.custom-checkout-agreements .woocommerce-form__label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.cfw-customer-information .inner{
	line-height:1.6 !important;
}

.payment-note{
	    font-size: 16px;
}

.cfw-accordion .cfw-radio-reveal-content p {
    font-size: .825em;
    line-height: 2;
}

.custom-checkout-agreements input[type="checkbox"] {
    margin-top: 4px;
}

.custom-checkout-agreements .woocommerce-form__label span {
    display: inline;
    line-height: 1.5;
}

.custom-checkout-agreements p.form-row {
    margin-bottom: 12px;
}

div#order_review {
    color: #000 !important;
}

#order_review h3 {
    color: #000 !important;
}

.checkout .woocommerce-privacy-policy-text{
	line-height: 23px !important;
}

#checkout button.cfw-secondary-btn.cfw-secondary-btn-inactive:hover {
    border: 1px solid !important;
}

div#cfw-side-cart-container .cfw-promo-row button.cfw-secondary-btn:hover{
	background: #fff !important;
	color: #000 !important;
	border: 1px solid #000;
}

div#cfw-side-cart-container .cfw-promo-row button.cfw-secondary-btn.cfw-secondary-btn-inactive, .row.cfw-promo-row.cfw-input-wrap-row button.cfw-secondary-btn {
    opacity: 1 !important;
}

div#cfw-side-cart-container .cfw-cart-item-title span {
    font-weight: 600;
}

a.cfw-side-cart-open-trigger.cfw-side-cart-floating-button-anchor {
    border: 1px solid #000;
}

#checkout table.cfw-module {
    color: #000;
}

div#cfw-side-cart-container .cfw-side-cart-quantity {
    background: #000;
    color: #fff;
    border-radius: 50%;
    padding: 1.1px 3px 0px 3px;
    width: 25px;
    height: 25px;
}

div#cfw-side-cart-container button.cfw-secondary-btn.cfw-side-cart-close-trigger:hover{
	border: 1px solid #000 !important;
}

div#cfw-side-cart-container div#cfw-side-cart-form {
    padding-bottom: 0 !important;
}

div#cfw-side-cart-container .cfw-side-cart-contents-footer {
    box-shadow: 0px -7px 15px -11px #00000042;
    margin: 0px !important;
    padding: 20px;
}

div#cfw-side-cart-container button.cfw-secondary-btn.cfw-side-cart-close-trigger{
	padding: 9.6px !important;
}

div#cfw-side-cart-container a.cfw-primary-btn, div#cfw-side-cart-container button.cfw-secondary-btn.cfw-side-cart-close-trigger {
    border-radius: 12px !important;
}

div#cfw-side-cart-container td.cfw-cart-item-subtotal, div#cfw-side-cart-container a.cfw-remove-item-button {
    padding-right: 14.4px !important;
}

div#cfw-side-cart-container th.cfw-cart-item-description {
    padding-top: 14.4px !important;
}

div#cfw-side-cart-container .cfw-cart-table tr.cart-item-row {
    margin: 10px 15px;
    border-radius: 5px;
    box-shadow: 0 2px 10px #0000001a !important;
    background-color: #ffffff;
}

div#cfw-side-cart-container td.cfw-cart-item-image{
	    border-radius: 5px 0 0 5px;

}

div#cfw-side-cart-container td.cfw-cart-item-subtotal{
	    border-radius: 0 5px 5px 0;

}

div#cfw-side-cart-container td.cfw-cart-item-image {
    padding: 14.4px 0px 14.4px 14.4px !important;
}

div#cfw-side-cart-container .cfw-side-cart-free-shipping-progress-wrap {
    border-bottom: 1.2px solid rgba(0, 0, 0, .2);
    padding-bottom: 30px;
    margin-bottom: 30px !important;
}

.payment-note{
	    font-size: 16px;
}

.wc-card-icons img {
  margin-right: 6px;
  vertical-align: middle;
}

.wc-block-components-form .wc-block-components-checkout-step {
	margin: 0 0 20px !important;
}

.order-summary-section .woocommerce-thankyou-order-received {
    text-align: center !important;
    margin-bottom: 28px !important;
    font-weight: bold !important;
    font-size: 32px !important;
	color: #000 !important;
}

.order-summary-section .woocommerce-thankyou-order-details {
    display: flex !important;
    justify-content: center !important;
}

.order-summary-section .woocommerce-order-details__title, .order-summary-section .woocommerce-column__title {
	margin-bottom: 20px !important;
}

.wc-block-components-title.wc-block-components-title, 
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text{
	font-size: 24px !important;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-name {
	font-size: 16px;
	font-weight: bold !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices {
	padding-top: 4px !important;
}

.wc-block-checkout__form .wc-block-checkout__actions_row .wc-block-components-button:hover {
				background:var(--e-global-color-0fc5597) !important ;
		border-color: var(--e-global-color-0fc5597) !important;
}

.wc-block-checkout__form .wc-block-components-checkout-step__heading{
	margin-top: 0px !important;
}

.woocommerce-variation-price
.woocommerce-Price-amount {
	margin-bottom: 30px;
	display: flex;
	color: var(--e-global-color-secondary)
}


/* ---- CheckoutWC trust badge ------------------------------------------------
   CheckoutWC renders every trust badge client-side at a fixed 40x40 (`w-10 h-10`
   + object-contain), so the 915x607 Trustpilot logo came out about 40x27 — the
   "very small logo" the client reported. It is a CheckoutWC setting and was that
   size before the redesign too; nothing was removed. Sized here instead of in
   CFW's settings because CFW offers no size control for badges. */
/* 🛑 CFW's Tailwind utilities are compiled with !important, so `.w-10`/`.h-10` beat a
   plain declaration no matter how specific it is — max-width applied while width silently
   did not. Match the !important rather than chasing specificity. */
[id^="cfw-trust-badges-"] img {
	width: auto !important; height: auto !important;
	max-width: 190px !important; max-height: 130px !important;
}
/* With a single badge CFW still emits a 2-column grid inline. Collapse it to one column
   so the logo can use the full width of the summary column, and align it LEFT with the
   rest of that column (client request 2026-08-10). CFW's own Tailwind classes on the
   badge wrapper (`items-center text-center`) are compiled with !important, so the
   overrides need it too. */
[id^="cfw-trust-badges-"] > div:has(> :only-child) {
	grid-template-columns: 1fr !important; justify-items: start;
}
[id^="cfw-trust-badges-"] .flex.flex-col {
	align-items: flex-start !important; text-align: left !important;
}
