



:root {
    --Manrope: "Manrope", sans-serif;
}


body {
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-feature-settings: "liga" 0, "clig" 0, "calt" 0 !important;
    font-variant-ligatures: none !important;
}

.page-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-page .page-header {
    display: none !important;
}

/* Checkout CSS */
.woocommerce-checkout header,
.woocommerce-checkout footer {
    display: none !important;
}

.woocommerce-checkout #order_review_heading {
	display: none;
} 

body.woocommerce-checkout .payment_box.payment_method_stripe,
body.woocommerce-checkout .payment_box.payment_method_nmi {
	background-color: transparent !important;
	padding: 0 !important;
}

.wc-credit-card-form > .form-row {
	padding: 3px !important;
}

.woocommerce-checkout .shop_table thead,
.woocommerce-checkout .shop_table tfoot .cart-subtotal,
.woocommerce-checkout .shop_table tfoot .order-total:not(.woocommerce-checkout .shop_table tfoot .order-total.recurring-total),
.woocommerce-checkout .shop_table tfoot .recurring-totals,
.woocommerce-checkout .shop_table tfoot .cart-subtotal.recurring-total {
	display: none;
}

.woocommerce-checkout .shop_table{
	padding: 0 26px 0 16px;
	border: none !important;
}
.woocommerce-order-received .shop_table, .woocommerce-order-received .woocommerce-form-coupon-toggle {
	padding: 0px !important;
}
.woocommerce-checkout table.shop_table tbody td {
	border-left: none;
	border-right: none;
	border-bottom: none;
	padding-left: 0;
	padding-right: 0;
	background: transparent;
	border-color: #DADADA;
	color: #231946;
	font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td{
	border-left: none;
	border-right: none;
	padding-left: 0;
	padding-right: 0;
	border-color: #DADADA;
	color: #231946;
	font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.woocommerce-checkout .wc_payment_method.payment_method_stripe label i {
	color: #000000;
	font-size: 14px;
	margin-right: 10px;
}
.woocommerce-checkout .wc_payment_method.payment_method_stripe label{
	font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 28px;
	color: #231946;
	font-weight: bold;
}
.woocommerce-checkout .wc_payment_method.payment_method_stripe .lebel_desc {
  color: #969696;
  font-size: 14px;
  line-height: 28px;
  max-width: 375px;
	margin-bottom: -14px !important;
}
ul.woocommerce-SavedPaymentMethods {
    padding-left: 0px;
}
.woocommerce-message {
  border-top-color: #d13684;
}
.woocommerce-message::before {
  color: #d13684;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
#coupon-anchor .ui-button.ui-corner-all.ui-widget.ui-button-icon-only.ui-dialog-titlebar-close,
#coupon-anchor .ui-dialog-titlebar.ui-corner-all.ui-widget-header.ui-helper-clearfix{
	display: none !important;
}
.woocommerce form.checkout_coupon {
	margin: 1em 0;
}

/* Removed 25 Aug 2026: this zeroed Company's bottom margin because it used
   to be the last checkout field before payment. Now Country/Postcode follow
   it, so the zeroed margin just made that gap look cramped -- Company gets
   the same spacing as every other field again. */

.payment_box.payment_method_stripe {
    margin-top: -10px !important;
}

div#order_review {
    margin-top: 20px !important;
}

.checkout-hero {
    background-color: #22133a;
    padding: 050px 0px 125px 0px;
}

.checkout-hero .content-wrapper {
    max-width: 800px;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.checkout-hero .logo {
    max-width: 182px;
}

.checkout-hero h1 {
    font-size: 60px;
    line-height: 68px;
    font-weight: 700;
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.29411764705882354);
    color: #fff;
    text-align: center;
    margin: 10px 0 22px;
}

.checkout-hero p {
    font-size: 20px;
    line-height: 28px;
    font-weight: 400;
    color: #fff;
    margin-bottom: 14px;
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    text-align: center;
}

.checkout-hero .success {
    display: none;
}

.woocommerce-order-received .checkout-hero .success {
    display: block;
}

.woocommerce-order-received .checkout-hero .checkout {
    display: none;
}

.checkout-section {
    background-color: #f6f8ff;
}

.checkout-section .content-wrapper {
    background-color: #fff;
    max-width: 1096px;
    margin: 0 auto 0;
    padding: 20px 20px 20px 20px;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.1607843137254902);
    border-radius: 25px;
    overflow: hidden;
    position: relative;
    top: -70px;
    display: flex;
}

.checkout-section .content-wrapper .left {
    width: 63.72%;
    padding: 30px 100px 30px 30px;
}

.checkout-section .content-wrapper .left .verified-image {
    width: 245px;
}

.checkout-section .content-wrapper .right {
    width: 36.28%;
    padding: 30px;
}

.checkout-section .right .content-box {
    position: relative;
    padding: 0 10px;
}

.checkout-section .right .content-box h4 {
    font-size: 20px;
    line-height: 28px;
    color: #231946;
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.checkout-section .content-box.guarantee h4 {
    max-width: 150px;
}

.checkout-section .content-box p {
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    color: #474747;
    margin: 0;
}

.checkout-section .content-box.faqs p {
    margin-bottom: 10px;
}

.checkout-section .right .content-box.guarantee {
    padding: 25px 0;
    margin: 25px 0;
    border-top: 1px solid #dadada;
    border-bottom: 1px solid #dadada;
}

.checkout-section .right .content-box .guarantee-image {
    width: 75px;
    position: absolute;
    top: 25px;
    right: 10px;
}

.checkout-section .right .content-box.guarantee p {
    max-width: 210px;
}

.checkout-section .right .content-box.testimonial .star-count {
    position: absolute;
    top: 0;
    right: 60px;
    width: 61px;
}

.checkout-section .right .content-box.testimonial h4 {
    margin-bottom: 0;
}

.checkout-section .right .content-box.testimonial p {
    margin-top: 25px;
}

.checkout-section .content-box.faqs {
    display: none;
}

.woocommerce-order-received .checkout-section .content-box.faqs {
    display: block;
    padding: 0;
}

.woocommerce-order-received .checkout-section .content-box.what-you-get,
.woocommerce-order-received .checkout-section .content-box.guarantee,
.woocommerce-order-received .checkout-section .content-box.testimonial {
    display: none;
}

.checkout-section .right .content-box.faqs h4 {
    margin-bottom: 30px;
}

.checkout-section .faqs .faq-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: all 0.3s ease;
  padding: 0;
}
.checkout-section .faqs .faq-content > div { min-height: 0; }
.checkout-section .faqs .faq-content.open { 
    grid-template-rows: 1fr;
    padding: 15px 0 0;
}

.checkout-section .faqs .title h3 {
    background-color: #EEF0F3;
    padding: 15px 24px;
    border-radius: 5px;
    font-size: 16px;
    line-height: 32px;
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #0b0b0b;
    margin: 0;
    cursor: pointer;
}

.checkout-section .faqs .faq-wrapper {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.checkout-section .right .content-box.what-you-get .plan-features-list {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.checkout-section .right .content-box.what-you-get .plan-features-list li {
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #231946;
    display: flex;
    align-items: center;
    gap: 20px;
}

.checkout-section .right .content-box.what-you-get .plan-features-list li .plan-feature-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}





td.woocommerce-table__product-name.product-name a {
    pointer-events: none !important;
}

.woocommerce-checkout table.shop_table tfoot th, .woocommerce-checkout table.shop_table tfoot td,
.woocommerce-checkout table.shop_table tbody td,
.woocommerce-checkout.woocommerce-order-received .order.woocommerce-orders-table__row td {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

section.woocommerce-customer-details {
    display: none !important;
}


.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce #payment #place_order, .woocommerce-page #payment #place_order, .woocommerce-checkout .woocommerce-privacy-policy-text p, li.wc_payment_method.payment_method_nmi label {
	font-family: "Euclid Circular A", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

input#nmi_gateway_woocommerce_credit_card-card-cvc {
    width: 100%!important;
}


#add_payment_method #payment div.payment_box, .woocommerce-cart #payment div.payment_box, .woocommerce-checkout #payment div.payment_box {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    padding: 1em;
    margin: 1em 0;
    font-size: .92em;
    border-radius: 10px;
    line-height: 1.5;
    background-color: #dcd7e2;
    color: #515151;
}


#add_payment_method #payment div.payment_box .wc-credit-card-form-card-cvc, #add_payment_method #payment div.payment_box .wc-credit-card-form-card-expiry, #add_payment_method #payment div.payment_box .wc-credit-card-form-card-number, .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-cvc, .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-expiry, .woocommerce-cart #payment div.payment_box .wc-credit-card-form-card-number, .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc, .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry, .woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number {
    font-size: 18px;
}

#add_payment_method #payment div.payment_box::before, .woocommerce-cart #payment div.payment_box::before, .woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: none;
    border: 1em solid #dcd7e2;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -.75em;
    left: 0;
    margin: -1em 0 0 2em;
}

.woocommerce-info {
    border-top-color: #d13684!important;
}

#add_payment_method #payment div.payment_box input.input-text, #add_payment_method #payment div.payment_box textarea, .woocommerce-cart #payment div.payment_box input.input-text, .woocommerce-cart #payment div.payment_box textarea, .woocommerce-checkout #payment div.payment_box input.input-text, .woocommerce-checkout #payment div.payment_box textarea {
    background: #fff !important;
}


/* Fixed 25 Aug 2026: these two rules targeted the select2 inner text span
   (#select2-*-container is nested inside .select2-selection, not the box
   itself), so the real clickable box stayed unstyled underneath -- that
   mismatch (bare 54px outer box behind a bordered 46px inner box) is what
   looked broken/doubled. Styling now targets the actual outer box so it
   renders as a single control matching the other checkout fields. */
/* height:auto + the exact same padding as .input-text (14px 10px, measured
   live from #billing_postcode) instead of a hardcoded height. A fixed px
   height only matched .input-text's height at one breakpoint by coincidence
   -- inputs render taller on mobile than desktop here, so a magic number
   drifted out of sync and shorted the field by 4px. Matching padding instead
   of height means it tracks the real input automatically at any breakpoint. */
.select2-container .select2-selection.select2-selection--single {
    height: auto;
    min-height: 0;
    /* select2's own base CSS (select2.css) ships `margin: 0 0 -4px` on this
       exact selector -- a compensation hack tuned for ITS fixed 28px default
       height. Our height is auto/content-driven instead, so that baked-in
       negative margin is stale here and needs to be explicitly zeroed,
       otherwise it silently eats 4px from every row below this field. */
    margin: 0;
    padding: 14px 10px;
    box-sizing: border-box;
    background: #f8f8f8;
    border: 1px solid #dadada !important;
    border-radius: 10px !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: normal;
    box-sizing: border-box;
    color: #221946 !important;
    font-weight: 400;
    font-size: 16px;
}

/* Centered by percentage, not a fixed top/height, so it stays correct
   whatever height the box ends up at on any given breakpoint. */
.select2-container .select2-selection--single .select2-selection__arrow {
    height: auto;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

/* WC/select2's own construction gives billing_country_field's <p> wrapper a
   smaller effective margin-bottom than a plain field gets by default (a
   different value than what a plain .input-text row falls back to) --
   forcing it explicitly is what actually closes that last 4px, verified by
   direct measurement, not a guess. */
#billing_country_field,
#billing_postcode_field {
    margin-bottom: 6px !important;
    padding-bottom: 3px !important;
}

.select2-container .select2-dropdown {
    background-color: var(--wc-form-color-background, #fff);
    border: 1px solid #dadada;
    border-radius: 10px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #d13684;
    color: #fff;
}

p.coupan_code {
    display: none;
}

.woocommerce .form-row-first {
    width: 48%;
    float: left;
}

.woocommerce .form-row-last {
    width: 48%;
    float: right;
}

.woocommerce .form-row-wide {
    width: 100%;
    clear: both;
}





















@media (max-width: 767px) {
    .checkout-hero .logo {
        max-width: 150px;
    }
    .checkout-hero h1 {
        font-size: 30px;
        line-height: 36px;
    }
    .checkout-hero p {
        font-size: 18px;
        line-height: 28px;
    }
    .checkout-hero {
        padding: 40px 15px 100px;
    }
    .checkout-section .content-wrapper {
        top: -70px;
        width: 90%;
        flex-direction: column;
    }
    .checkout-section .content-wrapper .right {
        width: 100%;
        padding: 0;
        margin-top: 40px;
    }
    .checkout-section .right .content-box.guarantee {
        padding: 20px 0;
        margin: 20px 0;
    }
    .checkout-section .right .content-box .guarantee-image {
        width: 70px;
        top: 25px;
        right: 0px;
    }
    .checkout-section .right .content-box.guarantee p {
        max-width: 250px;
    }
    .checkout-section .right .content-box.testimonial .star-count {
        top: 0;
        right: 15px;
        width: 60px;
    }
    .checkout-section .content-box p {
        font-size: 15px;
    }
    .checkout-section .right .content-box.testimonial p {
        margin-top: 15px;
    }
    .checkout-section .content-wrapper .left {
        width: 100%;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .checkout-section .content-wrapper .left .woocommerce {
        width: 100%;
    }
    .checkout-section .content-wrapper .left .verified-image {
        width: 227px;
        margin: auto;
    }
    .checkout-section .right .content-box.faqs h4 {
        margin-bottom: 25px;
    }
    .checkout-section .faqs .title h3 {
        background-color: #EEF0F3;
        padding: 12px 15px;
    }
    div#order_review {
        margin-top: 12px !important;
    }
}

/* NMI 3DS challenge -- centered popup, ported from the identical fix built
   for app.hypeflare.co. This checkout never had any explicit styling for
   #nmi-three-ds-mount-point, so a challenge previously just rendered
   inline, growing #payment's box to fit it ("extending the card
   container"). gv_3ds_modal_polish() (functions.php) wraps the real
   challenge iframe in a .gv-3ds-card div once it actually appears (not
   the invisible/near-invisible EMV 3DS "method" fingerprinting iframe
   that fires first, before it's even known whether a visible challenge is
   needed) and moves the mount point to be a direct child of <body>, so it
   can never end up trapped behind other content by an ancestor's CSS
   stacking context. */
#nmi-three-ds-mount-point:not(:has(.gv-3ds-card)) {
	display: none !important;
}
#nmi-three-ds-mount-point:has(.gv-3ds-card) {
	position: fixed !important;
	inset: 0 !important;
	z-index: 100000 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 24px !important;
	background: rgba(15, 12, 30, 0.55) !important;
	box-sizing: border-box !important;
}
.gv-3ds-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35) !important;
	padding: 32px 24px 24px !important;
	max-width: calc(100vw - 48px);
	max-height: calc(100vh - 48px);
	box-sizing: border-box;
	display: inline-flex;
	/* the bank's challenge content (e.g. two card-network logos side by
	   side) has a fixed layout width set by the issuer -- on a narrow
	   phone that's often wider than the viewport allows. Scroll instead
	   of clip. */
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.gv-3ds-card iframe {
	border: 0 !important;
	display: block !important;
	max-height: 100%;
	/* Deliberately no max-width -- shrinking the iframe narrower than its
	   content's actual layout width doesn't reflow that content smaller,
	   it clips it. Render at natural size; overflow-x above handles the
	   rest. */
}
