/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 1.19.3
*/

/* ============================================================
   ELM-ASMA BRAND DESIGN LIBRARY (ELM-BRAND-LIB-001)
   Single-file token library + standardized theme styles.
   Structure:
     1. Brand Design Tokens (CSS custom properties)
     2. @font-face (PeydaWebFaNum + IRANSansXV only)
     3. Base / Reset
     4. Layout utilities (elm-*)
     5. Components (buttons / badges / cards)
     6. Responsive (mobile-first, 768 / 1024)
     7. Owner custom CSS (migrated, tokenized)
   ============================================================ */

/* ============================================================
   1. BRAND DESIGN TOKENS
   ============================================================ */
:root {
    /* Brand colors */
    --elm-color-primary: #253e88;
    --elm-color-primary-dark: #1c2f68;
    --elm-color-primary-soft: rgba(37, 62, 136, 0.08);
    --elm-color-secondary: #e4b823;
    --elm-color-secondary-dark: #c49d15;

    /* Semantic colors */
    --elm-color-ink: #0b0b0b;
    --elm-color-text: #23272e;
    --elm-color-muted: #6b7280;
    --elm-color-bg: #ffffff;
    --elm-color-surface: #f7f8fa;
    --elm-color-border: #e5e5e5;
    --elm-color-link: #253e88;

    /* WUI theme-overrides remap (ELM-CHART-004, v1.18.0): this project's
       mapping of the central library tokens onto the site brand. The library
       default --wui-brand (#4f46e5) is replaced by the elm-asma brand blue
       here; allowed "remap only" surface per WUI-STYLE-001. */
    --wui-brand: #253e88;
    --wui-brand-hover: #1c2f68;
    --wui-brand-on: #ffffff;
    --elm-color-success: #059669;
    --elm-color-success-dark: #047857;
    --elm-color-success-soft: #f0fdf4;
    --elm-color-success-border: #bbf7d0;
    --elm-color-success-text: #166534;
    --elm-color-danger: #b60303;
    --elm-color-danger-dark: #991b1b;
    --elm-color-danger-soft: #fef2f2;
    --elm-color-danger-border: #fecaca;

    /* Typography */
    --elm-font-heading: 'PeydaWebFaNum', 'iransansxv', Tahoma, sans-serif;
    --elm-font-body: 'iransansxv', 'iransansx', Tahoma, sans-serif;

    /* Fluid type scale - Digikala Standard E-Commerce (ELM-POLISH-007; applied ELM-TYPE-APPLY-001) */
    --elm-fs-h1: clamp(20px, 1.5vw + 14px, 26px);
    --elm-fs-h2: clamp(17px, 1.0vw + 13px, 22px);
    --elm-fs-h3: clamp(15px, 0.6vw + 12px, 18px);
    --elm-fs-h4: clamp(14px, 0.4vw + 12px, 16px);
    --elm-fs-h5: clamp(13px, 0.3vw + 11px, 15px);
    --elm-fs-h6: clamp(12px, 0.2vw + 11px, 14px);
    --elm-fs-body: clamp(13.5px, 0.3vw + 12.5px, 14.5px);
    --elm-fs-price: clamp(18px, 1.2vw + 13px, 22px);
    --elm-fw-price: 800;
    --elm-fs-price-card: clamp(13px, 0.2vw + 12px, 13px); /* Card Text Harmony Law - Option 1 Digikala (owner-approved 2026-10-22, FE-DEEP frozen): constant 13px */
    --elm-fw-price-card: 600;
    --elm-fs-btn: clamp(13px, 0.3vw + 12px, 14.5px);
    --elm-fs-small: 12px;
    --elm-fs-xs: 11px;

    /* Spacing scale */
    --elm-space-1: 4px;
    --elm-space-2: 8px;
    --elm-space-3: 12px;
    --elm-space-4: 16px;
    --elm-space-6: 24px;
    --elm-space-8: 32px;
    --elm-space-12: 48px;

    /* Radius (ELM-POLISH-004 law: site-wide max feel ~5px;
       md = cards 8px; lg kept 12px only for the frozen login card) */
    --elm-radius-sm: 5px;
    --elm-radius-md: 8px;
    --elm-radius-lg: 12px;

    /* Shadows */
    --elm-shadow-sm: 0 1px 3px rgba(11, 20, 48, 0.10);
    --elm-shadow-md: 0 4px 12px rgba(11, 20, 48, 0.14);
}

/* Inputs stay exactly 16px on mobile: prevents iOS focus zoom (ELM-UI-APPLY-002) */
input,
select,
textarea,
.input-text {
    font-size: 16px;
    font-family: var(--elm-font-body);
}

/* ============================================================
   2. @FONT-FACE
   Only two families are shipped: IRANSansXV (body) and
   PeydaWebFaNum (headings). All other font files were removed.
   ============================================================ */

/* Body: IRANSansXV variable font (wght 100-900) */
@font-face {
    font-family: 'iransansxv';
    src: url('font/IRANSansXV/IRANSansXV.woff2') format('woff2-variations'),
         url('font/IRANSansXV/IRANSansXV.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
}

/* Static fallback faces kept for the legacy selector stack */
@font-face {
    font-family: iransansx;
    src: url('font/IRANSansXV/IRANSansX-Regular.woff') format('woff');
}
@font-face {
    font-family: iransansx;
    src: url('font/IRANSansXV/IRANSansX-Bold.woff') format('woff');
    font-weight: 700;
}

/* Headings: PeydaWebFaNum (only a Bold face ships; it is declared
   across all weights so heading weights never synthesize a faux face) */
@font-face {
    font-family: PeydaWebFaNum;
    font-style: normal;
    font-weight: 100 900;
    src: url('font/peyda/PeydaWebFaNum-Bold.woff2') format('woff2');
    font-display: swap;
}

/* OpenType stylistic sets (Persian glyph variants) */
.ss01 {
    font-feature-settings: "ss01";
}
.ss02, .bookly-css-root, option, .onsale, .button, body {
    font-feature-settings: "ss02";
}
.ss03 {
    font-feature-settings: "ss03";
}

/* ============================================================
   3. BASE / RESET
   ============================================================ */
body {
    font-family: var(--elm-font-body);
    font-size: var(--elm-fs-body);
    line-height: 1.8; /* generous for Persian script */
    color: var(--elm-color-text);
    background: var(--elm-color-bg);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--elm-font-heading);
    line-height: 1.3;
    color: var(--elm-color-ink);
}

h1 { font-size: var(--elm-fs-h1); font-weight: 900 !important; }
h2 { font-size: var(--elm-fs-h2); font-weight: 800 !important; }
h3, h2 span, h2 a, .title {
    font-size: var(--elm-fs-h3);
    font-weight: 700 !important;
    color: var(--elm-color-ink);
}
h4 { font-size: var(--elm-fs-h4); font-weight: 700 !important; }
h5 { font-size: var(--elm-fs-h5); font-weight: 700 !important; }
h6, h2.product-title a, h2.post-title a {
    font-size: var(--elm-fs-h6);
    font-weight: 700 !important;
}

p, a, .text {
    font-size: var(--elm-fs-body);
    font-weight: 400;
}

a { color: var(--elm-color-link); }
a:hover { color: var(--elm-color-primary-dark); }

::selection {
    background: var(--elm-color-primary);
    color: #ffffff;
}

h2.widget-title span {
    font-size: 16px !important;
}

.menu-item a {
    font-weight: 500 !important;
}

.woocommerce-Tabs-panel p, .entry-content p {
    font-size: 16px;
    line-height: 1.8em;
}

p.cat-label {
    font-size: var(--elm-fs-small) !important;
}

a.header-cart-link {
    font-size: var(--elm-fs-small) !important;
}

form {
    margin-bottom: 0 !important;
}

/* Accessible focus indicator */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--elm-color-primary);
    outline-offset: 2px;
}

/* ============================================================
   4. LAYOUT UTILITIES (elm-*)
   ============================================================ */
.elm-container {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--elm-space-4);
}
.elm-d-flex { display: flex; }
.elm-flex-center { display: flex; align-items: center; justify-content: center; }
.elm-text-center { text-align: center; }
.elm-mt-2 { margin-top: var(--elm-space-3); }
.elm-mb-2 { margin-bottom: var(--elm-space-3); }
.elm-mt-4 { margin-top: var(--elm-space-4); }
.elm-mb-4 { margin-bottom: var(--elm-space-4); }

/* Legacy short utilities kept for existing page-builder content */
.w-100 { width: 100% !important; }
.padding-0 { padding: 0 !important; }
.margin-0 { margin: 0 !important; }
.pl-1 { padding-inline-end: 5px !important; }
.p-3 { padding: 5px !important; }
.margin { margin: 10px !important; }
.mt-2 { margin-top: 10px !important; padding-top: 10px; }
.text-center { text-align: center; }
.border {
    border: 1px solid #c0c0c0;
    border-radius: var(--elm-radius-sm);
    margin: 10px;
}

/* ============================================================
   5. COMPONENTS
   ============================================================ */

/* Buttons (new markup opt-in: class="elm-btn elm-btn-primary") */
.elm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--elm-space-2);
    padding: 12px 24px;
    font-family: var(--elm-font-body);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    border-radius: var(--elm-radius-lg);
    border: 1px solid transparent;
    text-decoration: none;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    min-height: 44px; /* touch target */
}
.elm-btn-primary {
    background: var(--elm-color-primary);
    color: #ffffff;
}
.elm-btn-primary:hover {
    background: var(--elm-color-primary-dark);
    color: #ffffff;
}
.elm-btn-secondary {
    background: var(--elm-color-secondary);
    color: var(--elm-color-ink);
}
.elm-btn-secondary:hover {
    background: var(--elm-color-secondary-dark);
    color: var(--elm-color-ink);
}
.elm-btn-outline {
    background: transparent;
    color: var(--elm-color-primary);
    border-color: var(--elm-color-primary);
}
.elm-btn-outline:hover {
    background: var(--elm-color-primary);
    color: #ffffff;
}

/* Badges / category chips */
.elm-badge {
    display: inline-block;
    padding: 4px var(--elm-space-2);
    border-radius: var(--elm-radius-sm);
    font-size: var(--elm-fs-xs);
    font-weight: 400;
    background: var(--elm-color-primary);
    color: #ffffff;
}

/* Card */
.elm-card {
    background: var(--elm-color-bg);
    border: 1px solid var(--elm-color-border);
    border-radius: var(--elm-radius-md);
    box-shadow: var(--elm-shadow-sm);
}

/* ============================================================
   6. RESPONSIVE (mobile-first; refinements only)
   ============================================================ */
@media (min-width: 1024px) {
    .elm-container {
        padding-inline: var(--elm-space-6);
    }
}

/* Flatsome small-screen helper override (functional legacy) */
@media (max-width: 549px) {
    .hide-for-small, [data-show=hide-for-small] {
        display: block !important;
        font-size: 11px;
    }
    .woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle {
        font-size: 11px;
        border: 1px solid #dfdfdf;
        border-radius: var(--elm-radius-sm);
        text-align: center;
        padding: 5px 5px 0 5px;
        margin-bottom: 5px;
    }
}

/* ============================================================
   7. OWNER CUSTOM CSS (migrated from previous 639-line file)
   Every rule below existed before this rewrite; literals were
   mapped to tokens. Changes are listed in the task report.
   ============================================================ */

/* ---- WooCommerce archive / product page ---- */
div.video { padding: 0 !important; }

/* scoped to PDP: loop cards get .elm-price-box from elm-card.css */
.single-product span.price {
    width: 100%;
    display: inline-block;
    text-align: center;
    border: 1px dashed var(--elm-color-border);
    padding: 5px;
    border-radius: var(--elm-radius-sm);
    margin: 10px 0;
}
/* del 14px red: PDP only; loop cards use 10.5px/400 muted (elm-card.css) */
.single-product span.price del span,
.single-product span.price del {
    font-size: 14px !important;
    color: var(--elm-color-danger) !important;
}
.single-product del .woocommerce-Price-amount {
    color: var(--elm-color-danger) !important;
}
.price { line-height: 1.4 !important; }

.product-small, .product-small .col-inner {
    border-radius: var(--elm-radius-md) !important;
}
.box-image img {
    border-radius: var(--elm-radius-md) var(--elm-radius-md) 0 0;
}
.product-gallery-slider {
    border-radius: var(--elm-radius-md) !important;
}
.title-wrapper { text-align: center; }
p.category {
    background: var(--elm-color-primary);
    display: inline;
    padding: 4px;
    border-radius: var(--elm-radius-sm);
    color: #ffffff;
    font-weight: 400;
    font-size: var(--elm-fs-xs) !important;
}
h2.product-title {
    text-align: right;
    padding: 5px 0;
}
h2.product-title a, h2.post-title a, p.product-title a, span.product-title {
    color: var(--elm-color-ink) !important;
}
div.title-wrapper { padding: 5px 0; }
.product-page-price {
    border: 1px solid var(--elm-color-border);
    border-radius: var(--elm-radius-sm);
    text-align: center;
    padding: 5px;
    background: #dddddd;
}
div.add-to-cart-button a {
    border-radius: var(--elm-radius-sm) !important;
    font-size: var(--elm-fs-xs) !important;
}
.add_to_cart_button { width: 100% !important; }
tr.cart_item td img {
    float: right !important;
    padding-inline-end: 5px;
}

/* ---- Radius helpers (Flatsome overrides) ---- */
.rounded, .form-flat input:not([type=submit]), .form-flat select,
.form-flat textarea, .form-flat button, .form-flat input,
ul.product_list_widget img {
    border-radius: var(--elm-radius-sm) !important;
}
div.rounded div.img-inner img {
    border-radius: 0 60px 0 60px;
    border: 4px solid #ffffff;
}
.entry-image a img {
    border-radius: var(--elm-radius-sm) !important;
}

/* ---- FAQ accordion (functional legacy) ---- */
#faq_container {
    border: 1px solid var(--elm-color-border);
    margin-bottom: 10px;
    padding: 0;
}
.faq { border-bottom: 1px solid #eee; }
.faq:last-child { border: 0; }
.faq_answer { padding: 15px; }
.faq_question {
    margin: 0;
    cursor: pointer;
    font-weight: bold;
    display: flex;
    padding: 15px;
    align-items: center;
    transition: background .3s;
}
.faq_question:hover { background: var(--elm-color-primary-soft); }
.question {
    margin-bottom: 5px;
    display: table-cell;
    width: 100%;
}
.faq_answer_container {
    height: 0;
    overflow: hidden;
}
.accordion-button-icon {
    display: table-cell;
    line-height: inherit;
    opacity: .5;
    vertical-align: middle;
}

/* ---- Author box ---- */
.avatar-author {
    border: 1px solid var(--elm-color-ink);
    height: 80px;
    width: 80px;
    object-fit: contain !important;
}
div.author-box div.flex-row { padding: 5px; }

/* ---- Icon boxes ---- */
.icon-box-text h5, h3.title-box a {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--elm-color-ink) !important;
}
.icon-box-text h6 {
    font-size: 14px !important;
    font-weight: 500 !important;
}

/* ---- Contact Form 7 ---- */
.wpcf7 .flex-col .wpcf7-not-valid-tip, .wpcf7-not-valid-tip {
    position: relative !important;
}
input.wpcf7-phonetext { direction: ltr !important; }
div.selected-flag, .country-list { direction: ltr !important; }
input.wpcf7-submit { width: 100% !important; }
.wpcf7-response-output {
    display: none; /* hidden unless a CF7 status class is present */
}
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    display: block !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    background-color: var(--elm-color-success-soft) !important;
    border: 1px solid var(--elm-color-success-border) !important;
    border-radius: 8px !important;
    color: var(--elm-color-success-text) !important;
    font-weight: bold;
    padding: 15px 20px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    text-align: center;
    font-size: 16px;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
    background-color: var(--elm-color-danger-soft) !important;
    border: 1px solid var(--elm-color-danger-border) !important;
    color: var(--elm-color-danger-dark) !important;
    border-radius: 8px !important;
    padding: 15px 20px !important;
    text-align: center;
}

/* ---- Table of contents (LWPTOC) ---- */
div.lwptoc_i {
    padding: 10px 10px 5px !important;
    border-radius: var(--elm-radius-sm);
    box-shadow: rgba(6, 24, 44, 0.4) 0 0 0 1px,
                rgba(6, 24, 44, 0.65) 0 2px 2px -1px,
                rgba(255, 255, 255, 0.08) 0 1px 0 inset;
}
.lwptoc_itemWrap { line-height: 26px !important; }

/* ---- Chat widgets z-index ---- */
#goftino_w { z-index: 99999 !important; }
.messangers-block { z-index: 200000000 !important; }

/* ---- Header phone divider ---- */
.phone-number {
    font-size: var(--elm-fs-small) !important;
    color: #ffffff !important;
    border-inline-end: 1px solid #ffffff;
    margin-inline-end: 6px;
    padding-inline-end: 5px;
}
.off-canvas-center .mfp-content { padding-top: 0 !important; }

/* ---- Page-builder content helpers (kept for DB content) ---- */
@keyframes blinker {
    50% { opacity: 0.2; }
}
@keyframes flickerAnimation {
    0%   { opacity: 1; }
    50%  { opacity: 0; }
    100% { opacity: 1; }
}
.fade {
    padding: 10px 0;
    animation: flickerAnimation 5s infinite;
}
div.fade p {
    font-size: 16px;
    font-weight: 400;
    text-align: center;
}

.swiper_homepage { height: 170px !important; }
.swiper-slide a img { object-fit: initial; }

.telegram-brand { background: #24A1DE !important; } /* Telegram brand color */

.pk-astrology-text-right { display: none !important; }

div.aiowps-captcha-equation { direction: ltr !important; }

.product_meta { margin: 10px; }
.product-section { border-top: none !important; }

/* ---- esm-azam services page button (per-post template) ---- */
.esm-azam-service-btn-wrap {
    margin: 40px auto;
    text-align: center;
}
.esm-azam-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background-color: var(--elm-color-success) !important; /* emerald green */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--elm-radius-lg) !important;
    padding: 14px 28px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(5, 150, 105, 0.25),
                inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
}
.esm-azam-btn::before {
    content: '';
    position: absolute;
    top: 0;
    inset-inline-start: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: inset-inline-start 0.5s ease-in-out;
}
.esm-azam-btn:hover {
    background-color: var(--elm-color-success-dark) !important;
    box-shadow: 0 8px 24px rgba(5, 150, 105, 0.4),
                inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    transform: translateY(-2px) !important;
    color: #ffffff !important;
}
.esm-azam-btn:hover::before {
    inset-inline-start: 100%;
}
.esm-azam-btn:active {
    transform: translateY(1px) scale(0.97) !important;
    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.2) !important;
    transition: all 0.1s ease !important;
}
.esm-azam-btn svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
}
.esm-azam-btn:hover svg {
    transform: translateX(-5px); /* RTL nudge */
}

/* ---- Content heading color: standardized to brand primary ---- */
.shop-container h1, .shop-container h2, .shop-container h3,
.shop-container h4, .shop-container h5, .shop-container h6,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
    color: var(--elm-color-primary) !important;
}

/* ---- Reduced motion respect ---- */
@media (prefers-reduced-motion: reduce) {
    .fade, .esm-azam-btn, .esm-azam-btn::before, .esm-azam-btn svg {
        animation: none !important;
        transition: none !important;
    }
}

/* Header titles: brand heading font (owner request 2026-10-21) */
.header-main .nav-links > li > a,
.page-header h1,
.page-title,
h1.site-title,
.site-branding .site-title {
	font-family: var(--elm-font-heading, 'PeydaWebFaNum') !important;
}
/* ============================================================
   Font Coverage Law (ELM-FONTS-001, owner 2026-10-21)
   Owner mandate: the whole site must render in the brand fonts.
   - Body chain covers Flatsome/WooCommerce/Bookly/CF7/widget UI
     elements that previously fell back to Tahoma/system fonts.
   - Heading chain covers headings + common widget/section titles.
   - Wildcard chains carry :not() exclusions so icon fonts
     (fl-icons, Font Awesome, Material Icons) keep their families.
   - code/pre/kbd/samp stay monospace (restored last).
   - The frozen login page (wp-login.php) only loads elm-login.css,
     never style.css, so this block cannot affect it.
   ============================================================ */
body,
.ux-builder *:not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.material-icons),
input,
select,
textarea,
button,
.button,
.wpcf7 *:not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.material-icons),
.woocommerce *:not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.material-icons),
.bookly-form *:not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.material-icons),
.widget *:not([class^="icon-"]):not([class*=" icon-"]):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.material-icons),
#wrapper .menu-item a,
.nav > li > a,
.footer-wrapper,
.entry-content,
.page-title,
.breadcrumbs,
.tooltipster-base,
#checkout-wrapper *,
.wc-proceed-to-checkout .button {
    font-family: var(--elm-font-body, 'iransansxv', Tahoma, sans-serif);
}

h1, h2, h3, h4, h5, h6,
.widget-title,
.section-title,
.page-header h1,
h2.widget-title span,
.accordion-title,
.tab-panels .nav > li > a {
    font-family: var(--elm-font-heading, 'PeydaWebFaNum', 'iransansxv', Tahoma, sans-serif);
}

/* Keep real code blocks monospace */
code, pre, kbd, samp,
.wp-block-code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}


/* Quantity stepper on PDP: taller controls within Button Harmony 42-48px */
.woocommerce div.product form.cart .quantity input.qty {
    min-height: 46px;
    font-size: 16px;
    text-align: center;
    line-height: 46px;
    height: auto;
}
.woocommerce div.product form.cart .quantity .plus,
.woocommerce div.product form.cart .quantity .minus {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
}


