/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
:focus-visible,
body a:-webkit-any-link:focus-visible,
.astra-cart-drawer-close:focus {
    outline: none;
}

p:last-child {
    margin-bottom: 0;
}

ul.list-unstyled {
    list-style: none;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Header */
header .header-info li {
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 22px;
    gap: 10px;
}

header .header-info li.phone {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: 12px;
}

header .header-info li.email {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z' fill='%23fff'/%3E%3C/svg%3E");
    background-size: 16px;
}

header .custom-logo-link {
    display: inline-block;
    vertical-align: middle;
}

@media screen and (min-width: 923px) {
    header .site-header-above-section-right .yith-wcwl-add-to-wishlist {
        margin: 0;
    }

    header .site-header-above-section-right .yith-wcwl-add-to-wishlist .yith-wcwl-add-button a svg {
        fill: var(--ast-global-color-4);
    }

    header .site-header-section.site-header-above-section-right>div:first-child {
        padding: 0;
    }

    header .ast-site-header-cart i.astra-icon::after {
        top: -5px;
    }

    header .header-wishlist-icon {
        color: var(--ast-global-color-4);
        font-size: 26px;
        text-decoration: none;
    }

    header .header-wishlist-icon:hover,
    header .header-wishlist-icon:focus {
        color: var(--ast-global-color-1);
    }

    header .ast-header-account-wrap .ast-header-account-type-icon .ahfb-svg-iconset svg:hover *,
    header .ast-header-account-wrap .ast-header-account-type-icon .ahfb-svg-iconset svg:focus * {
        fill: var(--ast-global-color-1);
    }

    header .ast-builder-menu .main-navigation>ul.main-header-menu>li:last-child>a {
        padding-right: 0;
    }

    header .ast-builder-menu .main-navigation ul li ul.sub-menu li+li {
        border-top: 1px solid var(--ast-global-color-7);
    }

    header .ast-builder-menu .main-navigation ul li ul.sub-menu li a {
        font-size: 14px;
    }
}

@media screen and (min-width: 923px) and (max-width: 1040px) {
    header .custom-logo-link img {
        max-width: 200px;
        width: 200px;
    }

    header .ast-builder-menu .main-navigation>ul>li a {
        font-size: 14px;
    }
}

@media screen and (max-width: 922.98px) {
    body.ast-header-break-point header .main-navigation>li {
        border-top: 1px solid var(--ast-global-color-7);
    }

    body.ast-header-break-point .main-header-bar-navigation .menu-item-has-children>.ast-menu-toggle {
        padding: 16px 10px;
        outline: none;
    }

    body.ast-header-break-point .ast-menu-toggle>.ast-icon.icon-arrow svg {
        display: block;
        margin-left: 0;
    }

    body.ast-header-break-point .ast-nav-menu .sub-menu {
        line-height: normal;
    }
    
    body.ast-header-break-point .main-navigation .sub-menu .menu-item .menu-link {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* Contact Form 7 */
.wpcf7-form p {
    margin-bottom: 0;
}

.wpcf7-form .btn {
    position: relative;
    margin-bottom: 0;
}

.wpcf7-form .wpcf7-spinner {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.wpcf7-form .wpcf7-response-output {
    border-color: transparent !important;
    border-radius: 20px;
    font-size: 14px;
    margin-top: 1.2em !important;
}

.wpcf7-form textarea {
    display: block;
    height: 150px;
    resize: none;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form select {
    height: 45px;
}

.wpcf7-form select {
    background: none;
    padding-right: 30px !important;
}

.wpcf7-form select option {
    color: #475569;
}

.wpcf7-form input[type="text"]::-webkit-input-placeholder,
.wpcf7-form input[type="email"]::-webkit-input-placeholder,
.wpcf7-form textarea::-webkit-input-placeholder {
    opacity: 1;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3) !important;
}

.uael-cf7-style .wpcf7-form .uael-cf7-select-custom:after {
    right: 15px;
}

/* Woocommerce Login Form */
.woocommerce label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme {
    font-weight: 500;
    cursor: pointer;
    display: inline-block;
}

.woocommerce input[type="checkbox"]:checked::before {
    line-height: 1.1;
}

.woocommerce .woocommerce-error {
    border-top-color: #b81c23;
    background-color: rgba(184, 28, 35, 0.15);
}

.woocommerce-wishlist .yith_wcwl_wishlist_footer {
    display: none;
}

.woocommerce-wishlist .wishlist_table.mobile li .item-details table.item-details-table {
    width: auto;
}

/* Shop Page */
.woocommerce-ordering select.orderby {
    border: 1px solid #E0E0E0;
    max-width: 250px;
    height: auto;
}

.woocommerce ul.products li.product {
    border: 1px solid #E0E0E0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: none;
}

.woocommerce ul.products li.product:hover {
    border: 1px solid #adadad;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    padding-bottom: 0;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    margin-bottom: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
    padding-top: 100%;
    position: relative;
    overflow: hidden;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    position: absolute;
    inset: 0;
    margin-bottom: 0;
    object-fit: cover;
    object-position: top;
    width: 100%;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
    padding: 15px;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.add_to_cart_button {
    font-size: 15px;
    padding: 12px 24px;
    margin-bottom: 0;
    border: none;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap a.add_to_cart_button::after {
    font-size: 11px;
    line-height: 1.3;
}

.woocommerce .subscription-details {
    text-transform: capitalize;
}

.woocommerce-pagination .page-numbers {
    text-align: center;
}

.woocommerce .site-content ul.products li.product {
    display: flex;
    flex-direction: column;
    position: relative;
}

.woocommerce .site-content ul.products li.product .astra-shop-summary-wrap {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.woocommerce .site-content ul.products li.product .button {
    margin-top: auto;
    margin-bottom: 0;
    text-align: center;
}

.woocommerce-page ul.products li.product .ast-woo-product-category {
    margin-bottom: 0;
    opacity: 1;
}

.products .ast-on-card-button.ast-onsale-card,
.ast-woocommerce-container .ast-onsale-card {
    color: #ffffff;
    opacity: 1;
    visibility: visible;
    background-color: #DD183B;
    font-size: 12px;
    padding: 2px 10px;
}

.products a.ast-select-options-trigger {
    display: none !important;
}

.single-product .ast-woocommerce-accordion h3.ast-accordion-header {
    font-size: 16px !important;
    font-weight: 500 !important;
}

.single-product .ast-woocommerce-accordion h3.ast-accordion-header svg {
    width: 12px;
    height: 12px;
}

.single-product .ast-accordion-wrap h2,
.single-product .ast-accordion-wrap h3,
.single-product .ast-accordion-wrap h4,
.single-product .ast-accordion-wrap h5,
.single-product .ast-accordion-wrap h6 {
    margin-top: 0;
}

.single-product .ast-accordion-wrap img {
    box-shadow: none !important;
}

.single-product .upsells.products {
    display: none !important;
}

.single-product .entry-summary .price {
    margin-bottom: 10px;
}

.product_meta .posted_in a:hover {
    color: #0F172A;
}

.ast-single-product-extras p.ast-heading,
.entry-summary fieldset legend {
    font-weight: 500;
}

.ast-single-product-extras li {
    font-size: 14px;
}

.entry-summary .single-product-category {
    display: none !important;
}

.single-product div.product .woocommerce-product-details__short-description {
    overflow: hidden;
}

.ast-woocommerce-container .entry-summary {
    position: relative;
}

.ast-woocommerce-container .entry-summary .yith-wcwl-add-to-wishlist {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 0;
    margin: 0;
    background-color: #fff;
}

.ast-woocommerce-container .entry-summary .yith-wcwl-add-to-wishlist a {
    padding: 0;
    font-size: 0;
    background-color: #fff;
}

@media (max-width: 479.98px) {
    .single-product .ast-accordion-wrap .alignleft,
    .single-product .ast-accordion-wrap .alignright {
        display: block;
        float: none;
        margin-left: 0;
        margin-bottom: 1em;
    }
}

/* Product Page */
.woocommerce-page .woocommerce-breadcrumb {
    padding-right: 30px;
}

.woocommerce-page .woocommerce-breadcrumb a {
    color: var(--e-global-color-astglobalcolor0);
}

.woocommerce-page .woocommerce-breadcrumb a:hover {
    color: var(--ast-global-color-2);
}

.woocommerce-page .button.single_add_to_cart_button {
    padding: 14px 20px !important;
    text-transform: uppercase;
    border: none !important;
}

.woocommerce-product-details__short-description p a.button,
.ast-accordion-wrap p a.button {
    background-color: #699F61;
    font-size: 14px;
    text-transform: uppercase;
}

.ast-accordion-wrap h3 strong {
    font-weight: 500;
}

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.woocommerce-product-details__short-description a img {
    box-shadow: none !important;
}

.woocommerce .related > h2 {
    margin-bottom: 30px;
    text-align: center;
}

.woocommerce-page .related ul.products {
    margin-bottom: 0;
}

@media (min-width: 922px) {
    .woocommerce-page .related ul.products li.product {
        margin-bottom: 0;
    }
}

/* Cart & Checkout Page */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout-payment #place_order {
    font-size: 16px;
    line-height: 1;
    margin-left: auto;
    margin-bottom: 0;
    max-width: fit-content;
    padding: 14px 20px;
    text-transform: uppercase;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cross-sells,
.ast-modern-checkout .ast-two-column-checkout {
    margin-bottom: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals h2 {
    background-color: var(--e-global-color-astglobalcolor5);
    font-size: 18px;
}

.woocommerce-cart-form .woocommerce-cart-form__cart-item .product-thumbnail a img,
.wishlist_table .product-thumbnail img {
    max-width: 50px !important;
}

.woocommerce-checkout .coupon .button {
    text-transform: uppercase;
}

.woocommerce-checkout .woocommerce-error {
    width: 100%;
}

.woocommerce-js #content table.cart [name="coupon_code"],
.woocommerce-page #content table.cart [name="coupon_code"] {
    max-height: 44px;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods,
.ast-modern-checkout .woocommerce #ast-order-review-content .woocommerce-checkout-review-order-table,
.ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table {
    border-radius: 10px;
}

.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method>[type="radio"]:not(:checked)+label,
.ast-modern-checkout .woocommerce #payment ul.payment_methods .wc_payment_method>[type="radio"]:checked+label {
    display: inline-flex;
    align-items: center;
    vertical-align: baseline;
}

.ast-modern-checkout form .form-row label.checkbox,
.ast-modern-checkout form .form-row .required {
    font-weight: normal;
}

.ast-modern-checkout .woocommerce-form__label-for-checkbox {
    display: flex;
    gap: 10px;
    font-family: 'Poppins', sans-serif;
    font-weight: normal;
    text-transform: none;
}

.ast-modern-checkout #payment ul.payment_methods li img {
    margin-top: 0;
}

.ast-modern-checkout .payment_box fieldset {
    border: none;
    border-radius: 0;
    padding: 0;
}

.ast-modern-checkout .payment_box .wc-authorize-net-cim-credit-card-new-payment-method-form {
    margin-left: -7px;
    margin-right: -7px;
}

.ast-modern-checkout .woocommerce-checkout #payment div.payment_box .form-row {
    margin-bottom: 0;
}

.ast-modern-checkout .woocommerce-checkout #payment div.payment_box label {
    margin-top: 0;
    padding: 0;
    position: relative;
    opacity: 1;
}

.ast-modern-checkout .woocommerce-checkout #payment div.payment_box input[type="tel"] {
    font-size: 16px;
    padding: 5px 18px;
    height: 45px;
}

.ast-modern-checkout .woocommerce-checkout #payment div.payment_box input[type="checkbox"] {
    position: relative;
    top: 2px;
}

.ast-modern-checkout .woocommerce-checkout #payment div.payment_box input[type="checkbox"] + label {
    font-weight: normal;
}

.ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout #customer_details .place-order {
    padding-bottom: 0;
}

.woocommerce-page.woocommerce-checkout form #order_review td.product-name {
    flex-wrap: nowrap;
}

.cart-order-details .checkout-inline-error-message {
    position: inherit;
}

.checkout-inline-error-message {
    position: absolute;
    z-index: 1;
    font-size: 12px;
    color: red;
    padding: 0;
    left: 0;
    top: 35px;
    margin: 0 !important;
}

.woocommerce input[type="text"],
.woocommerce input[type="number"],
.woocommerce input[type="email"],
.woocommerce input[type="url"],
.woocommerce input[type="password"],
.woocommerce input[type="search"],
.woocommerce input[type="reset"],
.woocommerce input[type="tel"],
.woocommerce input[type="date"],
.woocommerce select {
    border-radius: 10px !important;
    height: 50px;
}

.woocommerce textarea,
.woocommerce .select2-container .select2-selection--single {
    border-radius: 10px !important;
}

.quantity input[type="number"] {
    border-radius: 0 !important;
    height: 44px;
}

#customer_details .form-row {
    margin-bottom: 0px;
}

#customer_details .woocommerce-terms-and-conditions-wrapper .form-row {
    padding-left: 0;
    margin-bottom: 1.3em;
}

#billing_country_field label.required_field,
#shipping_address label.required_field,
.woocommerce-shipping-fields .shipping_address label.required_field {
    position: absolute !important;
}

.woocommerce-product-details__short-description :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: calc(0.3em + 10px);
}

@media (min-width: 922px) {
    .ast-modern-checkout .ast-two-column-checkout .woocommerce-checkout {
        justify-content: space-between;
    }

    .ast-modern-checkout .woocommerce #order_review .woocommerce-checkout-review-order-table {
        overflow: hidden;
    }

    .woocommerce-checkout .shop_table thead tr,
    .woocommerce-checkout .shop_table .order-total {
        background-color: var(--e-global-color-astglobalcolor5);
    }
}

@media (max-width: 921.98px) {
    .yes-js.js_active .ast-plain-container.ast-single-post #primary {
        padding-top: 0;
    }
}

/* Wishlist page */
.woocommerce .wishlist_table td.product-add-to-cart a {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
    padding: 12px 15px;
    background-color: #DD183B;
    color: #fff;
    border-radius: 50px;
    text-transform: uppercase;
    transition: 0.2s all ease;
}

.woocommerce .wishlist_table td.product-add-to-cart a:hover {
    color: var(--ast-global-color-4);
    background-color: var(--ast-global-color-2);
    border-color: var(--ast-global-color-2);
}

.wishlist-items-wrapper .product-name a {
    font-weight: 500;
}

@media (max-width: 1280.98px) {
    #yith-wcwl-form ul.wishlist_table {
        padding-left: 0 !important;
    }
}

@media (max-width: 767.98px) {
    #yith-wcwl-form ul.wishlist_table .product-name h3 {
        font-size: 16px;
    }

    #yith-wcwl-form ul.wishlist_table .item-details-table td.label {
        width: max-content;
    }

    .wishlist_table.mobile li {
        margin-bottom: 20px;
        border-bottom: 1px solid #E0E0E0;
    }
}

/* My Account page */
.woocommerce-MyAccount-content .ast-woo-grid-orders-container {
    grid-row-gap: 15px;
}

.woocommerce-MyAccount-content .ast-woo-grid-orders-container .ast-orders-table__row {
    box-shadow: none;
}

.ast-orders-table__row .ast-orders-table__cell-order-actions a:hover {
    color: #000;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-content h2 {
    font-size: 24px !important;
}

@media (max-width: 767.98px) {
    .woocommerce-account .woocommerce .woocommerce-MyAccount-content h2 {
        font-size: 20px !important;
    }

    .woocommerce-account .ast-woo-grid-orders-container .ast-orders-table__row {
        padding: 12px;
    }

    .woocommerce .subscription_details tr td {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}

.woocommerce-edit-account .woocommerce-EditAccountForm p {
    margin-bottom: 7px !important;
}

/* Sidebar Canvas css */
.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .quantity .minus,
.woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar .quantity .plus {
    margin-bottom: 0;
}

.astra-off-canvas-sidebar-wrapper .ast-product-name,
.astra-cart-drawer .ast-product-name {
    padding-right: 25px;
}

.astra-off-canvas-sidebar-wrapper .ast-mini-cart-price-wrap,
.astra-cart-drawer .ast-mini-cart-price-wrap {
    line-height: 1;
    max-width: 65%;
    text-align: right;
}

.astra-off-canvas-sidebar-wrapper .subscription-price,
.astra-cart-drawers .subscription-price {
    font-size: 14px;
}

.astra-off-canvas-sidebar-wrapper .ast-empty-cart-content > h2,
.astra-cart-drawer-content .ast-empty-cart-content > h2 {
    font-size: 24px;
}

.astra-off-canvas-sidebar-wrapper .product-categories li a,
.astra-off-canvas-sidebar-wrapper .menu li a {
    color: currentColor;
    padding-left: 12px;
    position: relative;
}

.astra-off-canvas-sidebar-wrapper .product-categories li a::before,
.astra-off-canvas-sidebar-wrapper .menu li a::before {
    background-color: currentColor;
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    height: 4px;
    width: 4px;
}

.astra-off-canvas-sidebar-wrapper .product-categories .current-cat a,
.astra-off-canvas-sidebar-wrapper .product-categories li a:hover,
.astra-off-canvas-sidebar-wrapper .menu li a:hover {
    color: var(--ast-global-color-0);
}

@media (min-width: 481px) {
    .woocommerce .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar,
    .woocommerce-page .astra-off-canvas-sidebar-wrapper .astra-off-canvas-sidebar {
        width: 425px;
    }
}

/* WOP */
.wop-wrap {
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 16px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.wop-wrap h2 {
    color: #1a365d;
    margin-bottom: 8px;
}

.wop-step-label {
    color: #718096;
    font-size: 14px;
    margin: 0 0 12px;
}

.wop-progress {
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    margin: 12px 0 20px;
    overflow: hidden;
}

.wop-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #3182ce, #38a169);
    transition: width 0.3s ease;
}

.wop-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.wop-step {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    color: #718096;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
}

.wop-step.active {
    background: #3182ce;
    color: #fff;
    border-color: #3182ce;
}

.wop-step.completed {
    background: #c6f6d5;
    color: #276749;
    border-color: #9ae6b4;
}

.wop-panel {
    display: none;
}

.wop-panel.active {
    display: block;
}

.wop-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.wop-full {
    grid-column: 1 / -1;
}

.wop-grid label {
    display: block;
    font-weight: 600;
    font-size: 14px;
}

.wop-grid input,
.wop-grid textarea {
    width: 100%;
    margin-top: 4px;
    padding: 8px 10px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    box-sizing: border-box;
    font-weight: 400;
}

.wop-field-error {
    border-color: #e53e3e !important;
}

.wop-error-text {
    display: block;
    color: #e53e3e;
    font-size: 12px;
    font-weight: 400;
    margin-top: 4px;
}

.wop-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 12px 0;
}

.wop-checks label {
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 6px;
}

.wop-btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 6px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    font-size: 15px;
}

.wop-btn-primary {
    background: #3182ce;
    color: #fff;
}

.wop-btn-primary:hover {
    background: #2c5282;
}

.wop-btn-secondary {
    background: #e2e8f0;
    color: #333;
}

.wop-nav {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

.wop-review-block {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 14px;
    margin-bottom: 12px;
}

.wop-review-block dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 12px;
    margin: 0;
}

.wop-review-block dt {
    font-weight: 600;
    color: #4a5568;
}

.wop-muted {
    color: #718096;
    font-size: 14px;
}

.wop-save-msg {
    font-size: 13px;
    color: #38a169;
}

.wop-error-msg {
    color: #e53e3e;
    padding: 12px;
    background: #fed7d7;
    border-radius: 6px;
}

@media (max-width: 600px) {
    .wop-grid {
        grid-template-columns: 1fr;
    }
}

/* Website setup form */
.wop-wrap.onboarding-flow {
    --wop-primary: #1a365d;
    --wop-primary-2: #2563eb;
    --wop-accent: #38bdf8;
    --wop-bg: #f6f8fb;
    --wop-card: #ffffff;
    --wop-text: #172033;
    --wop-muted: #64748b;
    --wop-border: #dbe4ef;
    --wop-soft: #eef5ff;
    --wop-danger: #ef4444;
    --wop-success: #16a34a;
    --wop-shadow: 0 22px 60px rgba(15, 23, 42, 0.10);
    --wop-radius: 22px;

    max-width: 1120px;
    margin: 36px auto;
    padding: 34px;
    border-radius: 28px;
    box-shadow: var(--wop-shadow);
    color: var(--wop-text);
}

.wop-wrap.onboarding-flow *,
.wop-wrap.onboarding-flow *::before,
.wop-wrap.onboarding-flow *::after {
    box-sizing: border-box;
    word-break: break-all;
}

.onboarding-thankyou .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    max-width: 1120px;
    margin: 24px auto 0;
    padding: 18px 24px;
    border-radius: 18px;
    border: 1px solid rgba(22, 163, 74, 0.18);
    background: linear-gradient(135deg, #ecfdf5, #f7fee7);
    color: #166534;
    font-size: calc(var(--h2-size-proportion) * 1rem);
    font-weight: 400;
    font-family: Lato, sans-serif;
    line-height: var(--h2-line-height);
}

.onboarding-thankyou .content {
    padding: 0 15px;
}

/* Header */
.onboarding-flow .wop-form-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--wop-border);
}

.onboarding-flow .wop-form-header-warper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.onboarding-flow .wop-form-header h2 {
    margin: 0;
    color: var(--wop-primary);
    font-size: calc(var(--h2-size-proportion) * 1rem);
    font-weight: 400;
    font-family: Lato, sans-serif;
    line-height: var(--h2-line-height);
}

.onboarding-flow .wop-step-label {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 4px 0 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--wop-soft);
    color: var(--wop-primary);
    font-size: 14px;
    font-weight: 400;
    white-space: nowrap;
}

.onboarding-flow .wop-save-msg {
    margin: 8px 0 0;
    color: var(--wop-success);
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

/* Progress */
.onboarding-flow .wop-progress {
    position: relative;
    height: 10px;
    margin: 28px 0 22px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8eef7;
}

.onboarding-flow .wop-progress-bar {
    height: 100%;
    border-radius: inherit;
    background: #2B4A69;
    box-shadow: 0 0 20px rgba(37, 99, 235, 0.35);
    transition: width 0.35s ease;
}

/* Steps */
.onboarding-flow .wop-steps {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 28px;
}

.onboarding-flow .wop-step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 8px;
    border: 1px solid var(--wop-border);
    border-radius: 16px;
    background: #ffffff;
    color: var(--wop-muted);
    font-size: 13px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    transition: all 0.25s ease;
}

.onboarding-flow .wop-step:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, 0.35);
    color: var(--wop-primary);
    background: #f8fbff;
}

.onboarding-flow .wop-step.active {
    border-color: transparent;
    background: #2B4A69;
    color: #ffffff;
}

/* Panels */
.onboarding-flow #wop-form {
    margin: 0;
}

.onboarding-flow .wop-panels {
    padding: 28px;
    border: 1px solid var(--wop-border);
    border-radius: var(--wop-radius);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.onboarding-flow .wop-panel {
    display: none;
    animation: wopFadeUp 0.28s ease;
}

.onboarding-flow .wop-panel.active {
    display: block;
}

@keyframes wopFadeUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.onboarding-flow .wop-panel h3,
.onboarding-flow .wop-finish h3 {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 14px;
    color: var(--wop-primary);
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.onboarding-flow .wop-panel h3::after,
.onboarding-flow .wop-finish h3::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 58px;
    height: 4px;
    border-radius: 999px;
    background: #2B4A69;
}

.onboarding-flow .wop-muted,
.onboarding-flow .wop-field-hint {
    margin: -8px 0 18px;
    color: var(--wop-muted);
    font-size: 14px;
    line-height: 1.55;
}

/* Grid */
.onboarding-flow .wop-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-bottom: 20px;
}

.onboarding-flow .wop-grid:last-child {
    margin-bottom: 0;
}

.onboarding-flow .form-group {
    position: relative;
    margin: 0;
}

.onboarding-flow .form-group label,
.onboarding-flow .wop-radio-fieldset legend {
    display: block;
    margin-bottom: 8px;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
}

.onboarding-flow .wop-req {
    color: var(--wop-danger);
    font-weight: 800;
}

/* Inputs */
.onboarding-flow.wop-wrap input[type="text"],
.onboarding-flow.wop-wrap input[type="email"],
.onboarding-flow.wop-wrap input[type="tel"],
.onboarding-flow.wop-wrap input[type="url"],
.onboarding-flow.wop-wrap input[type="password"],
.onboarding-flow.wop-wrap textarea,
.onboarding-flow.wop-wrap select {
    width: 100%;
    min-height: 52px;
    padding: 14px 16px;
    border: 1px solid var(--wop-border);
    border-radius: 14px;
    outline: none;
    background: #ffffff;
    color: var(--wop-text);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.onboarding-flow.wop-wrap textarea {
    min-height: 132px;
    resize: vertical;
}

.onboarding-flow.wop-wrap input::placeholder,
.onboarding-flow.wop-wrap textarea::placeholder {
    color: #9aa8ba;
}

.onboarding-flow.wop-wrap input:hover,
.onboarding-flow.wop-wrap textarea:hover,
.onboarding-flow.wop-wrap select:hover {
    border-color: #b8c7da;
}

.onboarding-flow.wop-wrap input[type="color"] {
    width: 100%;
    height: 54px;
    padding: 7px;
    border: 1px solid var(--wop-border);
    border-radius: 14px;
    background: #ffffff;
    cursor: pointer;
}

.onboarding-flow.wop-wrap input[type="file"] {
    width: 100%;
    padding: 14px;
    border: 1px dashed #b8c7da;
    border-radius: 16px;
    background: #f8fbff;
    color: var(--wop-muted);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.onboarding-flow.wop-wrap input[type="file"]:hover {
    border-color: var(--wop-primary-2);
    background: #eef6ff;
}

/* Radio + Checkbox */
.onboarding-flow .wop-radio-fieldset {
    min-height: 100%;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--wop-border);
    border-radius: 16px;
    background: #ffffff;
}

.onboarding-flow .wop-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.onboarding-flow .wop-radio-group label,
.onboarding-flow .wop-check-item {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 36px;
    margin: 0;
    padding: 8px 13px;
    border: 1px solid var(--wop-border);
    border-radius: 999px;
    background: #f9fbfd;
    color: #334155;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.onboarding-flow .wop-radio-group label:hover,
.onboarding-flow .wop-check-item:hover {
    border-color: rgba(37, 99, 235, 0.4);
    background: #eef6ff;
    color: var(--wop-primary);
}

.onboarding-flow.wop-wrap input[type="radio"],
.onboarding-flow.wop-wrap input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--wop-primary-2);
    cursor: pointer;
    margin: 0;
}

.onboarding-flow .wop-check-item label {
    margin: 0;
}

.onboarding-flow .wop-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0 24px;
}

/* Asset Upload Cards */
.onboarding-flow .wop-assets-grid .wop-file-group {
    padding: 18px;
    border: 1px solid var(--wop-border);
    border-radius: 18px;
    background: #ffffff;
}

.onboarding-flow .wop-file-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.onboarding-flow .wop-file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #f1f7ff;
    color: var(--wop-primary);
    font-size: 14px;
    font-weight: 650;
}

.onboarding-flow .wop-file-item a {
    overflow: hidden;
    color: var(--wop-primary);
    text-decoration: none;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.onboarding-flow .wop-file-item a:hover {
    text-decoration: underline;
}

.onboarding-flow .wop-file-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    color: #b91c1c;
    font-size: 18px;
    line-height: normal;
    cursor: pointer;
    width: auto;
    height: auto;
    background: transparent;
    padding: 0;
    transition: all 0.2s ease;
}

.onboarding-flow .wop-file-remove:hover {
    background: transparent;
    color: #b91c1c;
}

/* Review */
.onboarding-flow .wop-finish {
    padding: 8px 0;
}

.onboarding-flow .wop-finish p {
    margin: 0 0 18px;
    color: var(--wop-muted);
    font-size: 15px;
}

.onboarding-flow #wop-review-summary {
    padding: 20px;
    border: 1px solid var(--wop-border);
    border-radius: 18px;
    background: #f8fbff;
    color: #334155;
}

/* Navigation Buttons */
.onboarding-flow .wop-nav {
    display: grid;
    grid-template-columns: auto 1fr auto auto;
    gap: 12px;
    align-items: center;
    margin-top: 24px;
}

.onboarding-flow .wop-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 13px 22px;
    border: 0;
    /* border-radius: 999px; */
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.onboarding-flow .wop-btn:hover {
    transform: translateY(-1px);
}

.onboarding-flow .wop-btn-primary {
    background: #2B4A69;
    color: #ffffff;
}

.onboarding-flow .wop-btn-primary:hover {
    background: #1a365d;
}

.onboarding-flow .wop-btn-primary:focus {
    color: #ffffff;
}

body .onboarding-flow form .wop-btn-secondary {
    border: 1px solid var(--wop-border);
    background: #ffffff;
    color: var(--wop-primary);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

body .onboarding-flow form .wop-btn-secondary:hover {
    background: #f8fbff;
    color: var(--wop-primary);
}

/* Error / Status */
.onboarding-flow .wop-error-msg {
    max-width: 900px;
    margin: 28px auto;
    padding: 16px 20px;
    border: 1px solid rgba(239, 68, 68, 0.22);
    border-radius: 16px;
    background: #fef2f2;
    color: #b91c1c;
    font-weight: 700;
}

.onboarding-flow.wop-wrap .error,
.onboarding-flow.wop-wrap .wop-field-error {
    margin-top: 7px;
    color: var(--wop-danger);
    font-size: 13px;
    font-weight: 700;
}

.onboarding-flow.wop-wrap input.error,
.onboarding-flow.wop-wrap textarea.error,
.onboarding-flow.wop-wrap select.error {
    border-color: rgba(239, 68, 68, 0.75);
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.10);
}

.onboarding-flow .wop-step.completed {
    background: #c6f6d5;
    color: #276749;
    border-color: #9ae6b4;
}

/* Password eye icon center fix */
.onboarding-flow.wop-wrap .input-password-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.onboarding-flow.wop-wrap .input-password-wrap input {
    width: 100%;
    padding-right: 46px;
}

.onboarding-flow.wop-wrap .input-password-wrap svg.show-password,
.onboarding-flow.wop-wrap .input-password-wrap svg.hide-password {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 5;
}

/* Keep only the correct icon visible */
.onboarding-flow.wop-wrap .input-password-wrap[data-type="password"] svg.show-password {
    display: block;
}

.onboarding-flow.wop-wrap .input-password-wrap[data-type="password"] svg.hide-password {
    display: none;
}

.onboarding-flow.wop-wrap .input-password-wrap[data-type="text"] svg.show-password {
    display: none;
}

.onboarding-flow.wop-wrap .input-password-wrap[data-type="text"] svg.hide-password {
    display: block;
}

/* Responsive */
@media (max-width: 991px) {
    .onboarding-flow.wop-wrap {
        padding: 24px;
        border-radius: 24px;
    }

    .onboarding-flow .wop-form-header {
        flex-direction: column;
    }

    .onboarding-flow .wop-save-msg {
        text-align: left;
    }

    .onboarding-flow .wop-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .onboarding-flow .wop-panels {
        padding: 22px;
    }
}

@media (max-width: 767px) {
    .onboarding-flow .wop-grid {
        grid-template-columns: 1fr;
    }

    .onboarding-flow .wop-steps {
        grid-template-columns: 1fr 1fr;
    }

    .onboarding-flow .wop-step {
        min-height: 44px;
        font-size: 12px;
    }

    .onboarding-thankyou .woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
        font-size: 16px;
    }

    .onboarding-flow .wop-nav {
        grid-template-columns: 1fr;
    }

    .onboarding-flow .wop-nav span {
        display: none;
    }

    .onboarding-flow .wop-btn {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .onboarding-flow.wop-wrap {
        padding: 18px;
        border-radius: 20px;
    }

    .onboarding-flow #wop-review-summary {
        padding: 0;
        border: none;
        border-radius: 0;
    }

    .onboarding-flow .wop-panels {
        padding: 18px;
    }

    .onboarding-flow .wop-steps {
        grid-template-columns: 1fr;
    }

    .onboarding-flow .wop-form-header h2 {
        font-size: 28px;
    }

    .onboarding-flow .wop-panel h3,
    .onboarding-flow .wop-finish h3 {
        font-size: 21px;
    }
}