@font-face {
    font-family: "IRANSansX";
    src: url("fonts/IRANSansXFaNum-Regular.woff2") format("woff2"),
    url("fonts/IRANSansXFaNum-Regular.woff") format("woff");
    font-weight: 400;
}

@font-face {
    font-family: "IRANSansX";
    src: url("fonts/IRANSansXFaNum-Light.woff2") format("woff2"),
    url("fonts/IRANSansXFaNum-Light.woff") format("woff");
    src: url("fonts/IRANSansXFaNum-Light.woff2") format("woff2"),
    url("fonts/IRANSansXFaNum-Light.woff") format("woff");
    font-weight: 300;
}

@font-face {
    font-family: "IRANSansX";
    src: url("fonts/IRANSansXFaNum-Bold.woff2") format("woff2"),
    url("fonts/IRANSansXFaNum-Bold.woff") format("woff");
    font-weight: 700;
}

@font-face {
    font-family: "IRANSansX";
    src: url("fonts/IRANSansXFaNum-Medium.woff2") format("woff2"),
    url("fonts/IRANSansXFaNum-Medium.woff") format("woff");
    font-weight: 500;
}

:root :where(body) {
    --wp--preset--font-family--body : "IRANSansX";
    --wp--preset--font-family--heading : "IRANSansX";
    --wp--preset--color--base : "inherit";
    --wp--style--root--padding-right : 12px;
    --wp--style--root--padding-left : 12px;
}

body, html {
    font-family: "IRANSansX" ;
    background-color: #f3f4f6;
}

body {
    max-width: 768px;
    padding: 0 12px;
    margin: 0 auto 120px auto;
}

button {
    cursor: pointer;
}

body.woocommerce-checkout h1 {
    display: none;
}

header {
    display: none !important;
}

.step-indicator.active > div { background-color: #3B82F6; color: white; }
.step-indicator.completed > div { background-color: #10B981; color: white; }

.step-indicator.active > span { color: #3B82F6; }
.step-indicator.completed > span { color: #10B981; }

.step-indicator.completed + div {
    background-color: #10b981;
}


/* */
/* */
/* */


p.form-row label {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    color: #030712;
    margin-right: 12px;
    background-color: #f3f4f6;
    z-index: 1;
    position: relative;
    padding: 0 4px;
}

p.form-row input,
p.form-row .select2-container,
select {
    width: 100%;
    height: 50px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    direction: rtl;
    padding-right: 8px;
    font-size: 13px;
    color: #222;
    margin-top: -12px;
}

p.form-row input:focus-visible,
p.form-row .select2-container:focus-visible {
    outline: 2px solid #006FEE;
}

p.form-row.woocommerce-validated input,
p.form-row.woocommerce-validated .select2-container{
    border-color: #00BE76;
    border-width: 2px;
}

#billing_address_2 {
    margin-top: -4px;
}

.form-row select {
    max-width: 100%;
}

.select2-container--default .select2-selection--single {
    background-color: transparent;
    border: none;
    height: 100%;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 50px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    width: 8px;
    height: 8px;
    border-width: 0 0 1px 1px !important;
    border-color: #444 !important;
    transform: rotate(-45deg);
    margin-left: 1px;
    margin-top: -1px;
}

.select2-container--open .select2-dropdown--below {
    border: none;
    border-radius: 12px;
    margin-top: 4px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    margin-bottom: 4px;
    background-color: #f3f4f6;
}

.select2-results__option {
    margin: 0 4px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #F30A49;
    border-radius: 8px;
}

.select2-container--default .select2-results__option[data-selected="true"] {
    background-color: transparent;
    color: #f30a49;
}

table {
    width: 100%;
}

.woocommerce-shipping-totals.shipping th {
    display: none;
}


#shipping_method {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
#shipping_method input {
    display: none;
}

#shipping_method label {
    padding: 20px 12px;
    background-color: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #27272a;
    border: 2px solid #e5e7eb;
    height: 100%;
    flex-direction: column;
}

#shipping_method label::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 22px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2904_174)'%3E%3Cpath d='M2 3H3C3.53043 3 4.03914 3.21071 4.41421 3.58579C4.78929 3.96086 5 4.46957 5 5V15C5 15.5304 5.21071 16.0391 5.58579 16.4142C5.96086 16.7893 6.46957 17 7 17H22' stroke='%2327272A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 9C9 8.20435 9.31607 7.44129 9.87868 6.87868C10.4413 6.31607 11.2044 6 12 6H16C16.7956 6 17.5587 6.31607 18.1213 6.87868C18.6839 7.44129 19 8.20435 19 9V11C19 11.7956 18.6839 12.5587 18.1213 13.1213C17.5587 13.6839 16.7956 14 16 14H12C11.2044 14 10.4413 13.6839 9.87868 13.1213C9.31607 12.5587 9 11.7956 9 11V9Z' stroke='%2327272A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 19C7 19.5304 7.21071 20.0391 7.58579 20.4142C7.96086 20.7893 8.46957 21 9 21C9.53043 21 10.0391 20.7893 10.4142 20.4142C10.7893 20.0391 11 19.5304 11 19C11 18.4696 10.7893 17.9609 10.4142 17.5858C10.0391 17.2107 9.53043 17 9 17C8.46957 17 7.96086 17.2107 7.58579 17.5858C7.21071 17.9609 7 18.4696 7 19Z' stroke='%2327272A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 19C16 19.5304 16.2107 20.0391 16.5858 20.4142C16.9609 20.7893 17.4696 21 18 21C18.5304 21 19.0391 20.7893 19.4142 20.4142C19.7893 20.0391 20 19.5304 20 19C20 18.4696 19.7893 17.9609 19.4142 17.5858C19.0391 17.2107 18.5304 17 18 17C17.4696 17 16.9609 17.2107 16.5858 17.5858C16.2107 17.9609 16 18.4696 16 19Z' stroke='%2327272A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2904_174'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: cover;
}

#shipping_method input:checked + label {
    border-color: #F30A49;
    color: #F30A49;
}

#shipping_method input:checked + label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2904_174)'%3E%3Cpath d='M2 3H3C3.53043 3 4.03914 3.21071 4.41421 3.58579C4.78929 3.96086 5 4.46957 5 5V15C5 15.5304 5.21071 16.0391 5.58579 16.4142C5.96086 16.7893 6.46957 17 7 17H22' stroke='%23F30A49' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9 9C9 8.20435 9.31607 7.44129 9.87868 6.87868C10.4413 6.31607 11.2044 6 12 6H16C16.7956 6 17.5587 6.31607 18.1213 6.87868C18.6839 7.44129 19 8.20435 19 9V11C19 11.7956 18.6839 12.5587 18.1213 13.1213C17.5587 13.6839 16.7956 14 16 14H12C11.2044 14 10.4413 13.6839 9.87868 13.1213C9.31607 12.5587 9 11.7956 9 11V9Z' stroke='%23F30A49' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 19C7 19.5304 7.21071 20.0391 7.58579 20.4142C7.96086 20.7893 8.46957 21 9 21C9.53043 21 10.0391 20.7893 10.4142 20.4142C10.7893 20.0391 11 19.5304 11 19C11 18.4696 10.7893 17.9609 10.4142 17.5858C10.0391 17.2107 9.53043 17 9 17C8.46957 17 7.96086 17.2107 7.58579 17.5858C7.21071 17.9609 7 18.4696 7 19Z' stroke='%23F30A49' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16 19C16 19.5304 16.2107 20.0391 16.5858 20.4142C16.9609 20.7893 17.4696 21 18 21C18.5304 21 19.0391 20.7893 19.4142 20.4142C19.7893 20.0391 20 19.5304 20 19C20 18.4696 19.7893 17.9609 19.4142 17.5858C19.0391 17.2107 18.5304 17 18 17C17.4696 17 16.9609 17.2107 16.5858 17.5858C16.2107 17.9609 16 18.4696 16 19Z' stroke='%23F30A49' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2904_174'%3E%3Crect width='24' height='24' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
}

.woocommerce-additional-fields h3 {
    display: none;
}

#order_comments {
    width: 100%;
    height: 100px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    direction: rtl;
    padding-right: 8px;
    font-size: 13px;
    color: #222;
    margin-top: -12px;
    padding-top: 12px;
}

.review-order .cart_item .product-quantity {
    float: right;
    direction: ltr;
    margin-left: 8px;
    font-weight: normal;
    font-size: 16px;
}

.woocommerce-Price-currencySymbol {
    margin-right: 1px;
    font-size: 70%;
}

.woocommerce-Price-amount.amount {
    font-weight: 700;
}

.wc_payment_method {
    list-style: none;
    border: 2px solid #e5e7eb;
    background-color: #fff;
    margin-bottom: 8px;
    border-radius: 8px;
    color: #27272a;
}

.wc_payment_method > input {
    display: none;
}
.wc_payment_method > label {
    font-weight: bold;
    font-size: 14px;
    display: flex;
    cursor: pointer;
    padding: 12px 20px;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.wc_payment_method:has(> input:checked) {
    border-color: #F30A49;
}
.wc_payment_method:has(> input:checked) label {
    color: #F30A49;
}
.wc_payment_method .payment_box {
    display: none !important;
}

th {
    text-align: right;
    padding: 4px 0;
    font-size: 14px;
    color: #27272a;
    font-weight: 500;
}

td .woocommerce-Price-amount.amount {
    font-weight: 500;
    font-size: 14px;
}

.woocommerce-terms-and-conditions-wrapper {
    margin: 8px 0;
    font-size: 12px;
    color: #27272a;
}

#order_review tfoot {
    border: 1px solid #ddd;
    border-radius: 16px;
    display: block;
    padding: 16px;
    margin-bottom: 44px;
}

#order_review tfoot tr {
    display: flex;
    justify-content: space-between;
}

ul.wc_payment_methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
/*
 *****************************
 *
 * woo defaults
 *
 *****************************
*/

a.button {
    display: inline-block;
    text-align: center;
    box-sizing: border-box;
    word-break: break-word;
    color: #fff;
    text-decoration: none !important
}

a.button:hover, a.button:visited {
    color: #fff;
    text-decoration: underline !important
}

.woocommerce form .form-row .required {
    color: #e6123d;
    text-decoration: none;
}

.woocommerce-NoticeGroup-checkout {
    position: relative;
}

.woocommerce-NoticeGroup-checkout > ul {
    padding-top: 16px;
    padding-bottom: 16px;
}


.woocommerce-NoticeGroup-checkout > ul > li {
    padding: 8px 16px;
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    margin-top: 0;
    margin-bottom: 16px;
    margin-right: 0;
    background: #fff;
    font-size: 13px;
    list-style: none;
    overflow: hidden;
    border-radius: 0 0 15px 15px;
    padding-right: 0;
}

.woocommerce-error li, .woocommerce-info, .woocommerce-message {
    padding: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.woocommerce-error li .button, .woocommerce-info .button, .woocommerce-message .button {
    order: 2
}

.woocommerce-message {
    background: #eee;
    color: #111
}

.woocommerce-error {
    color: #fff;
    background: #e6123d;
}

.woocommerce-error a {
    color: #fff
}

.woocommerce-error a:hover {
    color: #fff
}

.woocommerce-error a.button {
    background: #111
}

.woocommerce-error > li {
    margin: 0;
    justify-content: flex-start;
}

.woocommerce-error > li > strong {
    margin-left: 5px;
}

.woocommerce-store-notice {
    background: #eee;
    color: #000;
    border-top: 2px solid #cd2653;
    padding: 2rem;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    z-index: 999
}

.admin-bar .woocommerce-store-notice {
    top: 32px
}

.woocommerce-store-notice__dismiss-link {
    float: left;
    color: #000
}

.woocommerce-store-notice__dismiss-link:hover {
    text-decoration: none;
    color: #000
}

.woocommerce-no-js .showcoupon, .woocommerce-no-js .woocommerce-form-coupon-toggle, .woocommerce-no-js .woocommerce-form-login-toggle {
    display: none !important
}

.woocommerce-terms-and-conditions-link {
    display: inline-block
}

.woocommerce-terms-and-conditions-link::after {
    content: "";
    display: inline-block;
    border-style: solid;
    margin-bottom: 2px;
    margin-right: .25rem;
    border-width: 6px 6px 0 6px;
    border-color: #111 transparent transparent transparent
}

.woocommerce-terms-and-conditions-link.woocommerce-terms-and-conditions-link--open::after {
    border-width: 0 6px 6px 6px;
    border-color: transparent transparent #111 transparent
}

.woocommerce-checkout .post-inner {
    padding-top: 0
}

.woocommerce-checkout .blockUI.blockOverlay {
    position: relative;
    z-index: 7 !important;
}

.woocommerce-checkout .blockUI.blockOverlay::before {
    height: 1em;
    width: 1em;
    display: block;
    position: absolute;
    top: 50%;
    right: 50%;
    margin-right: -.5em;
    margin-top: -.5em;
    content: "";
    -webkit-animation: spin 1s ease-in-out infinite;
    animation: spin 1s ease-in-out infinite;
    background: url(loader.svg) center center;
    background-size: cover;
    line-height: 1;
    text-align: center;
    font-size: 2em;
    color: rgba(0, 0, 0, .75)
}

.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table td, .woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table th, .woocommerce-checkout form #order_review_heading .woocommerce-checkout-review-order-table td, .woocommerce-checkout form #order_review_heading .woocommerce-checkout-review-order-table th {
    border: 0
}

.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table thead, .woocommerce-checkout form #order_review_heading .woocommerce-checkout-review-order-table thead {
    display: none
}

.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table tbody::after, .woocommerce-checkout form #order_review_heading .woocommerce-checkout-review-order-table tbody::after {
    content: "";
    display: block;
    height: 1rem
}

.woocommerce-checkout form #order_review .woocommerce-checkout-review-order-table .woocommerce-Price-amount, .woocommerce-checkout form #order_review_heading .woocommerce-checkout-review-order-table .woocommerce-Price-amount {
    font-weight: 700
}


.woocommerce-checkout form .form-row.woocommerce-invalid input.input-text {
    border: 2px solid #cd2653
}


.woocommerce-checkout-review-order-table dl.variation {
    margin: 0
}

.woocommerce-checkout-review-order-table dl.variation p {
    margin: 0
}

.woocommerce-order-received table {
    border: 0
}

.woocommerce-order-received table td, .woocommerce-order-received table th, .woocommerce-order-received table tr {
    border: 0
}

.woocommerce-order-received table tr {
    height: 5rem
}

.woocommerce-order-received table tfoot {
    border-top: 1px solid #ddd
}

.woocommerce-order-received table tfoot tr:last-of-type {
    border-top: 1px solid #ddd
}

.woocommerce-order-received table tfoot tr:last-of-type .woocommerce-Price-amount {
    font-weight: 700
}

.woocommerce-checkout-review-order ul {
    padding-right: 0
}

.woocommerce-checkout-review-order #place_order {
    width: 100%
}

.woocommerce-order-overview {
    margin-bottom: 2rem
}

.woocommerce-table--order-details {
    margin-bottom: 2rem
}

.woocommerce-checkout form #order_review_heading {
    margin-top: 4rem
}

.woocommerce-checkout form #order_review, .woocommerce-checkout form #order_review_heading {
    width: 100%;
    padding-right: 0;
    float: none
}

.woocommerce-checkout form table tbody td.product-total {
    text-align: end
}

.woocommerce-checkout form table tfoot .cart-subtotal td, .woocommerce-checkout form table tfoot .order-total td {
    text-align: end
}

#customer_details.download {
    all: unset;
    background-color: #fff;
    display: block;
    padding: 8px;
    border-radius: 14px;
}

#customer_details.download .woocommerce-billing-fields {
    margin-top: 0;
}

#customer_details.download .billing-form {
    all: unset;
}

#customer_details.download .fixed-btn {
    display: none !important;
}

#customer_details.download .form-row {
    display: block;
    width: 100%;
}
