.woocommerce{--wc-primary:#1765f4}.tp-woo-shell{width:min(1240px,calc(100% - 44px));padding-top:38px}.woocommerce .woocommerce-breadcrumb{font-size:10px;color:#8591a3;margin:0 0 25px}.woocommerce .woocommerce-breadcrumb a{color:#516076}.woocommerce-products-header{background:linear-gradient(135deg,#0d2855,#174997);color:#fff;border-radius:18px;padding:28px 32px;margin-bottom:20px}.woocommerce-products-header__title{font-size:29px;margin:0 0 10px}.term-description{font-size:10px;line-height:2;color:#afbed3;max-width:800px}.tp-archive-benefits{display:flex;gap:9px;float:right}.tp-archive-benefits span{background:#edf4ff;color:#315b99;border-radius:8px;padding:8px 10px;font-size:8px}.woocommerce .woocommerce-result-count{font-size:9px;color:#778397;margin:11px 12px}.woocommerce .woocommerce-ordering select{height:39px;border:1px solid #dde4ed;border-radius:9px;background:#fff;padding:0 10px;font:9px Tahoma}.woocommerce ul.products{clear:both;padding-top:20px}.woocommerce ul.products.columns-4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:#fff;border:1px solid #e2e7ee;border-radius:15px;padding:10px;display:flex;flex-direction:column;transition:.2s}.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(18,45,91,.09)}.woocommerce ul.products li.product a img{aspect-ratio:1/1.18;object-fit:cover;border-radius:11px;margin-bottom:13px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px;line-height:1.8;color:#17233a;padding:0;min-height:44px}.woocommerce ul.products li.product .price{color:#16223a;font-size:12px;margin-top:auto}.woocommerce ul.products li.product .price del{color:#97a1af;font-size:9px}.woocommerce ul.products li.product .price ins{text-decoration:none}.woocommerce ul.products li.product .button{margin-top:10px;text-align:center;background:#1765f4;color:#fff;border-radius:9px;padding:11px;font-size:9px}.woocommerce span.onsale{min-width:auto;min-height:auto;line-height:1;right:18px;left:auto;top:18px;background:#e3425b;border-radius:7px;padding:7px 9px;font-size:8px}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.95fr);gap:48px}.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary{float:none!important;width:auto!important}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{background:#fff;border:1px solid #e1e6ed;border-radius:17px;padding:12px}.woocommerce div.product div.images .woocommerce-product-gallery__image img{border-radius:12px}.woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:repeat(5,1fr);gap:9px}.woocommerce div.product div.images .flex-control-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:9px;border:1px solid #dfe5ed;padding:3px}.woocommerce div.product .summary{background:#fff;border:1px solid #e1e6ed;border-radius:17px;padding:28px}.woocommerce div.product .product_title{font-size:28px;line-height:1.55;margin-top:0}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#14213a;font-size:20px;font-weight:700}.woocommerce-product-details__short-description{font-size:10px;line-height:2;color:#637187}.woocommerce div.product form.cart{display:flex;gap:9px;margin:22px 0}.woocommerce .quantity .qty{height:45px;width:72px;border:1px solid #dce3ec;border-radius:9px}.woocommerce div.product form.cart .button{flex:1;background:#1765f4;color:#fff;border-radius:9px;font-size:10px}.product_meta{border-top:1px solid #e7ebf1;padding-top:15px;font-size:8px;color:#778499}.product_meta>span{display:block;margin:7px 0}.tp-product-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.tp-product-trust span{background:#f4f7fb;border-radius:9px;padding:11px 7px;text-align:center;font-size:7px}.tp-product-trust b{display:block;color:#1765f4;font-size:16px;margin-bottom:5px}.tp-product-note{background:#edf4ff;border-right:3px solid #1765f4;border-radius:9px;padding:12px}.tp-product-note strong,.tp-product-note span{display:block}.tp-product-note strong{font-size:9px}.tp-product-note span{font-size:7px;color:#526c94;margin-top:5px}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related{grid-column:1/3}.woocommerce div.product .woocommerce-tabs{background:#fff;border:1px solid #e2e7ed;border-radius:16px;padding:20px;margin-top:15px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 20px}.woocommerce div.product .woocommerce-tabs ul.tabs:before{border-color:#e3e8ef}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{color:#1765f4;border-bottom:2px solid #1765f4}.woocommerce div.product .woocommerce-tabs .panel{font-size:11px;line-height:2.2}.related.products>h2{font-size:23px}.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 360px;gap:20px}.woocommerce-cart .woocommerce-notices-wrapper,.woocommerce-cart .woocommerce-cart-form{grid-column:1}.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:1/4;width:auto}.woocommerce-cart .cart-collaterals .cart_totals{float:none;width:auto;position:sticky;top:20px}.woocommerce table.shop_table{border:0;border-collapse:separate;border-spacing:0 8px}.woocommerce table.shop_table th{font-size:9px;color:#6f7d90}.woocommerce table.shop_table td{font-size:9px;background:#fff;border-top:1px solid #e4e9ef;border-bottom:1px solid #e4e9ef}.woocommerce-cart table.cart img{width:75px;border-radius:9px}.woocommerce-cart table.cart .product-name a{font-weight:700}.woocommerce a.remove{color:#df3f59!important}.woocommerce a.remove:hover{background:#df3f59}.woocommerce .cart .button,.woocommerce .button.alt,.woocommerce button.button.alt{background:#1765f4!important;color:#fff!important;border-radius:9px!important}.tp-cart-assurance{display:grid;gap:7px;margin-bottom:15px}.tp-cart-assurance span{background:#f4f7fb;border-radius:8px;padding:9px;font-size:7px}.woocommerce-checkout .tp-woo-shell>.woocommerce{display:grid;grid-template-columns:1fr 430px;gap:24px}.woocommerce-checkout .woocommerce-notices-wrapper,.woocommerce-checkout .woocommerce-form-login-toggle,.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .tp-checkout-intro{grid-column:1/3}.woocommerce-checkout form.checkout{display:contents}.woocommerce-checkout #customer_details{grid-column:1}.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:2}.woocommerce-checkout #order_review{position:sticky;top:20px;align-self:start}.tp-checkout-intro small{color:#1765f4;font-size:8px}.tp-checkout-intro h2{font-size:24px;margin:7px 0}.tp-checkout-intro p{font-size:8px;color:#7c899b}.woocommerce form .form-row label{font-size:8px;color:#647287}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row .select2-container .select2-selection{border:1px solid #dfe5ed;border-radius:8px;background:#fbfcfe}.woocommerce form .form-row input.input-text{height:42px;padding:0 10px}.woocommerce form .form-row textarea{padding:10px}.woocommerce-checkout-payment{background:#f5f8fc!important;border-radius:11px!important}.woocommerce-account .woocommerce{display:grid;grid-template-columns:230px 1fr;gap:20px}.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;background:#fff;border:1px solid #e2e7ed;border-radius:14px}.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:11px;border-radius:8px;font-size:9px}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#edf4ff;color:#1765f4}.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;background:#fff;border:1px solid #e2e7ed;border-radius:15px;padding:22px;min-height:360px}.tp-account-welcome{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#102e61,#174d9e);color:#fff;border-radius:13px;padding:20px;margin-bottom:20px}.tp-account-welcome small{font-size:7px;color:#85b0fa}.tp-account-welcome h2{font-size:20px;margin:6px 0}.tp-account-welcome p{font-size:8px;color:#b4c2d7}.tp-account-welcome a{background:#1765f4;border-radius:8px;padding:9px 12px;font-size:8px}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#fff;border:1px solid #e1e6ed;border-top:0;border-right:3px solid #1765f4;border-radius:10px;font-size:9px}.woocommerce-info{border-right-color:#1765f4}.woocommerce-error{border-right-color:#df3f59}.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:3px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{border-radius:8px;background:#fff}.woocommerce nav.woocommerce-pagination ul li span.current{background:#1765f4;color:#fff}@media(max-width:950px){.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr)}.woocommerce div.product{grid-template-columns:1fr}.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related{grid-column:1}.woocommerce-cart .woocommerce,.woocommerce-checkout .tp-woo-shell>.woocommerce,.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce-cart .woocommerce-cart-form,.woocommerce-cart .cart-collaterals,.woocommerce-checkout .woocommerce-notices-wrapper,.woocommerce-checkout .woocommerce-form-login-toggle,.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout .tp-checkout-intro,.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1;grid-row:auto}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow:auto}.woocommerce-account .woocommerce-MyAccount-navigation li{min-width:max-content}.tp-account-welcome{align-items:flex-start;flex-direction:column;gap:10px}}@media(max-width:560px){.tp-woo-shell{width:min(100% - 24px,1240px)}.woocommerce ul.products.columns-4{gap:8px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:10px}.woocommerce div.product .summary{padding:18px}.woocommerce div.product .product_title{font-size:22px}.tp-product-trust{grid-template-columns:1fr}.woocommerce-cart-form{overflow:auto}.woocommerce-cart-form table{min-width:680px}.tp-archive-benefits{float:none;display:grid;grid-template-columns:1fr}.woocommerce-products-header{padding:22px}.woocommerce-products-header__title{font-size:23px}}

/* TehranPlay home draft parity — compact product cards */
.tp-product-section .woocommerce ul.products {
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.tp-product-section .woocommerce ul.products li.product,
.tp-product-section .woocommerce-page ul.products li.product {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 10px 10px 12px;
    border: 1px solid #e1e7ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(14, 35, 71, .055);
}
.tp-product-section .woocommerce ul.products li.product:hover { box-shadow: 0 20px 42px rgba(14, 35, 71, .1); }
.tp-product-section .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.tp-product-section .woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1.08;
    margin: 0 0 10px;
    border-radius: 11px;
    object-fit: cover;
    background: #eaf0f7;
}
.tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 45px;
    margin: 0;
    padding: 7px 5px 12px;
    border-bottom: 1px solid #e8ecf2;
    color: #101a2e;
    font-size: 12px;
    line-height: 1.9;
    text-align: right;
}
.tp-product-section .woocommerce ul.products li.product .price {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 10px 4px 0;
    padding-left: 50px;
    color: #101a2e;
    font-size: 13px;
    font-weight: 800;
}
.tp-product-section .woocommerce ul.products li.product .price::after { content: "تومان"; color: #9aa4b3; font-size: 7px; font-weight: 400; }
.tp-product-section .woocommerce ul.products li.product .price del { color: #a5adba; font-size: 8px; }
.tp-product-section .woocommerce ul.products li.product .price ins { text-decoration: none; }
.tp-product-section .woocommerce ul.products li.product .button,
.tp-product-section .woocommerce ul.products li.product .added_to_cart {
    position: absolute;
    left: 14px;
    bottom: 12px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 10px;
    color: transparent !important;
    background: #edf4ff !important;
    font-size: 0 !important;
}
.tp-product-section .woocommerce ul.products li.product .button::before,
.tp-product-section .woocommerce ul.products li.product .added_to_cart::before { content: "+"; color: #1768f2; font: 400 25px/1 Arial; }
.tp-product-section .woocommerce ul.products li.product .added_to_cart::before { content: "✓"; font-size: 17px; }
.tp-product-section .woocommerce span.onsale { top: 18px; right: auto; left: 18px; z-index: 4; padding: 6px 8px; border-radius: 7px; background: #1768f2; font-size: 7px; }
.tp-home-product-badge { position: absolute; top: 18px; right: 18px; z-index: 4; min-width: 32px; height: 22px; display: grid; place-items: center; padding: 0 7px; border-radius: 6px; background: #fff; color: #1768f2; font: 900 8px Arial; box-shadow: 0 3px 10px rgba(0,0,0,.08); }
.tp-home-product-ribbon { position: absolute; top: 18px; left: 18px; z-index: 3; padding: 6px 8px; border-radius: 7px; color: #fff; background: #1768f2; font-size: 7px; font-weight: 800; }
.tp-product-section .woocommerce span.onsale + .tp-home-product-badge ~ .tp-home-product-ribbon { display: none; }
.tp-home-product-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 1px 5px 0; color: #9aa4b2; font-size: 7px; }
.tp-home-product-meta .is-stock { color: #1ea85a; }
.tp-product-section .woocommerce .star-rating { display: none; }

@media (max-width: 900px) {
    .tp-product-section .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .tp-product-section .woocommerce ul.products { gap: 9px; }
    .tp-product-section .woocommerce ul.products li.product { padding: 7px 7px 10px; }
    .tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 49px; font-size: 9px; }
    .tp-product-section .woocommerce ul.products li.product .price { padding-left: 39px; font-size: 10px; }
    .tp-product-section .woocommerce ul.products li.product .button,
    .tp-product-section .woocommerce ul.products li.product .added_to_cart { left: 10px; bottom: 10px; width: 32px; height: 32px; }
    .tp-home-product-meta { font-size: 6px; }
    .tp-home-product-badge, .tp-home-product-ribbon { top: 12px; }
    .tp-home-product-badge { right: 12px; }
    .tp-home-product-ribbon { left: 12px; }
}

/* v0.10.52 — five bestseller items, four visible at a time. */
.tp-products-carousel { position: relative; padding: 0 34px; }
.tp-products-carousel-viewport { overflow: hidden; }
.tp-products-carousel .woocommerce ul.products {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 48px) / 4);
    transition: transform .36s ease;
    will-change: transform;
}
.tp-products-carousel-prev,
.tp-products-carousel-next {
    position: absolute;
    top: 50%;
    z-index: 8;
    width: 34px;
    height: 52px;
    display: grid;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid #dce5f1;
    border-radius: 10px;
    color: #1768f2;
    background: #fff;
    font-size: 25px;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(14,35,71,.09);
}
.tp-products-carousel-prev { right: -8px; }
.tp-products-carousel-next { left: -8px; }
.tp-products-carousel button:disabled { opacity: .35; cursor: default; }
@media (max-width: 900px) {
    .tp-products-carousel { padding: 0 25px; }
    .tp-products-carousel .woocommerce ul.products { grid-auto-columns: calc((100% - 9px) / 2); }
    .tp-products-carousel-prev,
    .tp-products-carousel-next { width: 30px; height: 46px; }
}

/* v0.7.1 — aligned homepage game cards */
.tp-product-section .woocommerce ul.products,
.tp-product-section .woocommerce-page ul.products {
    align-items: stretch;
}
.tp-product-section .woocommerce ul.products li.product,
.tp-product-section .woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    height: 100%;
    min-height: 520px;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
}
.tp-product-section .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.tp-product-section .woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
    height: 100%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
.tp-product-section .woocommerce ul.products li.product a img,
.tp-product-section .woocommerce-page ul.products li.product a img {
    height: 330px;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    border-radius: 11px;
    background: #f7f9fc;
}
.tp-product-section .woocommerce ul.products li.product .tp-home-product-meta,
.tp-product-section .woocommerce-page ul.products li.product .tp-home-product-meta {
    min-height: 25px;
    margin-top: 2px;
}
.tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title,
.tp-product-section .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 68px;
    max-height: 68px;
    display: -webkit-box;
    overflow: hidden;
    padding: 9px 5px 12px;
    line-height: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    word-break: normal;
}
.tp-product-section .woocommerce ul.products li.product .price,
.tp-product-section .woocommerce-page ul.products li.product .price {
    min-height: 50px;
    margin-top: auto;
    padding: 11px 4px 0 50px;
    border-top: 0;
    white-space: nowrap;
}
.tp-product-section .woocommerce ul.products li.product .price::after,
.tp-product-section .woocommerce-page ul.products li.product .price::after { content: none; }
.tp-product-section .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.tp-product-section .woocommerce-page ul.products li.product .price .woocommerce-Price-currencySymbol {
    margin-right: 5px;
    color: #8f99a8;
    font-size: 8px;
    font-weight: 400;
}
.tp-product-section .woocommerce ul.products li.product .button,
.tp-product-section .woocommerce ul.products li.product .added_to_cart,
.tp-product-section .woocommerce-page ul.products li.product .button,
.tp-product-section .woocommerce-page ul.products li.product .added_to_cart {
    z-index: 5;
}

@media (max-width: 900px) {
    .tp-product-section .woocommerce ul.products li.product,
    .tp-product-section .woocommerce-page ul.products li.product { min-height: 500px; }
    .tp-product-section .woocommerce ul.products li.product a img,
    .tp-product-section .woocommerce-page ul.products li.product a img { height: 305px; }
}
@media (max-width: 520px) {
    .tp-product-section .woocommerce ul.products li.product,
    .tp-product-section .woocommerce-page ul.products li.product { min-height: 390px; }
    .tp-product-section .woocommerce ul.products li.product a img,
    .tp-product-section .woocommerce-page ul.products li.product a img { height: 215px; }
    .tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .tp-product-section .woocommerce-page ul.products li.product .woocommerce-loop-product__title { min-height: 58px; max-height: 58px; }
}
.tp-search-products ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tp-search-products ul.products::before,
.tp-search-products ul.products::after { display: none; }
.tp-search-products ul.products li.product { float: none !important; width: auto !important; margin: 0 !important; }
@media (max-width: 900px) { .tp-search-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* v0.8.26 — redesigned homepage product cards */
.tp-product-section .woocommerce ul.products,
.tp-product-section .woocommerce-page ul.products {
    gap: 18px;
    align-items: stretch;
}

.tp-product-section .woocommerce ul.products li.product,
.tp-product-section .woocommerce-page ul.products li.product {
    min-height: 480px;
    padding: 10px 10px 12px;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 37, 75, .055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.tp-product-section .woocommerce ul.products li.product:hover,
.tp-product-section .woocommerce-page ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #c9d8f1;
    box-shadow: 0 20px 42px rgba(15, 37, 75, .12);
}

.tp-product-section .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.tp-product-section .woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
    min-width: 0;
    height: 100%;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

.tp-product-section .woocommerce ul.products li.product a img,
.tp-product-section .woocommerce-page ul.products li.product a img {
    width: 100%;
    height: 292px;
    margin: 0 0 11px;
    border-radius: 10px;
    background: #f2f5f9;
    object-fit: contain;
    object-position: center;
    transition: transform .28s ease;
}

.tp-product-section .woocommerce ul.products li.product:hover a img,
.tp-product-section .woocommerce-page ul.products li.product:hover a img {
    transform: scale(1.018);
}

.tp-product-section .woocommerce ul.products li.product .tp-home-product-meta,
.tp-product-section .woocommerce-page ul.products li.product .tp-home-product-meta {
    min-height: 28px;
    margin: 0 3px;
    padding: 2px 0 7px;
    color: #7f8a9d;
    font-size: 8px;
}

.tp-product-section .tp-home-product-meta > span:first-child {
    position: relative;
    padding-right: 12px;
}

.tp-product-section .tp-home-product-meta > span:first-child::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    border: 1.5px solid #7f8a9d;
    border-radius: 50%;
    transform: translateY(-50%);
}

.tp-product-section .tp-home-product-meta .is-stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #128c4d;
    font-weight: 700;
}

.tp-product-section .tp-home-product-meta .is-stock::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 3px rgba(18, 140, 77, .10);
}

.tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title,
.tp-product-section .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    min-height: 56px;
    max-height: 56px;
    margin: 0;
    padding: 8px 4px 10px;
    overflow: hidden;
    border: 0;
    color: #111d33;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.75;
    text-align: right;
    word-break: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.tp-product-section .woocommerce ul.products li.product .price,
.tp-product-section .woocommerce-page ul.products li.product .price {
    min-height: 48px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: auto 3px 0;
    padding: 10px 0 0 104px;
    border-top: 1px solid #edf0f5;
    color: #101a2e;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.45;
    white-space: nowrap;
}

.tp-product-section .woocommerce ul.products li.product .price::after,
.tp-product-section .woocommerce-page ul.products li.product .price::after {
    content: "ریال";
    color: #7f8999;
    font-size: 8px;
    font-weight: 500;
}

.tp-product-section .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol,
.tp-product-section .woocommerce-page ul.products li.product .price .woocommerce-Price-currencySymbol {
    display: none !important;
}

.tp-product-section .woocommerce ul.products li.product .price del,
.tp-product-section .woocommerce-page ul.products li.product .price del {
    color: #9aa4b3;
    font-size: 9px;
    font-weight: 500;
    opacity: 1;
}

.tp-product-section .woocommerce ul.products li.product .price ins,
.tp-product-section .woocommerce-page ul.products li.product .price ins {
    color: #1765f4;
    text-decoration: none;
}

.tp-product-section .woocommerce ul.products li.product .button,
.tp-product-section .woocommerce ul.products li.product .added_to_cart,
.tp-product-section .woocommerce-page ul.products li.product .button,
.tp-product-section .woocommerce-page ul.products li.product .added_to_cart {
    left: 12px;
    bottom: 12px;
    width: 88px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #d4e1fa;
    border-radius: 9px;
    color: transparent !important;
    background: #edf4ff !important;
    box-shadow: none;
    font-size: 0 !important;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.tp-product-section .woocommerce ul.products li.product .button::before,
.tp-product-section .woocommerce-page ul.products li.product .button::before {
    content: "افزودن";
    color: #1765f4;
    font-family: inherit;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
}

.tp-product-section .woocommerce ul.products li.product .button::after,
.tp-product-section .woocommerce-page ul.products li.product .button::after {
    content: "+";
    color: #1765f4;
    font: 500 18px/1 Arial;
}

.tp-product-section .woocommerce ul.products li.product .added_to_cart::before,
.tp-product-section .woocommerce-page ul.products li.product .added_to_cart::before {
    content: "مشاهده سبد";
    color: #1765f4;
    font-family: inherit;
    font-size: 8px;
    font-weight: 800;
}

.tp-product-section .woocommerce ul.products li.product .added_to_cart::after,
.tp-product-section .woocommerce-page ul.products li.product .added_to_cart::after {
    content: "✓";
    color: #128c4d;
    font: 700 14px/1 Arial;
}

.tp-product-section .woocommerce ul.products li.product .button:hover,
.tp-product-section .woocommerce ul.products li.product .added_to_cart:hover,
.tp-product-section .woocommerce-page ul.products li.product .button:hover,
.tp-product-section .woocommerce-page ul.products li.product .added_to_cart:hover {
    border-color: #b8cdf7;
    background: #e3eeff !important;
    transform: translateY(-1px);
}

.tp-product-section .woocommerce span.onsale,
.tp-product-section .tp-home-product-badge,
.tp-product-section .tp-home-product-ribbon {
    top: 17px;
    min-height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-size: 8px;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(15, 37, 75, .09);
}

.tp-product-section .tp-home-product-badge {
    right: 17px;
    background: rgba(255, 255, 255, .94);
    color: #1765f4;
    backdrop-filter: blur(5px);
}

.tp-product-section .tp-home-product-ribbon,
.tp-product-section .woocommerce span.onsale {
    left: 17px;
    color: #fff;
    background: #1765f4;
}

@media (max-width: 900px) {
    .tp-product-section .woocommerce ul.products li.product,
    .tp-product-section .woocommerce-page ul.products li.product {
        min-height: 450px;
    }

    .tp-product-section .woocommerce ul.products li.product a img,
    .tp-product-section .woocommerce-page ul.products li.product a img {
        height: 265px;
    }
}

@media (max-width: 700px) {
    .tp-product-section .tp-tab-panel {
        overflow: visible;
    }

    .tp-product-section .woocommerce {
        margin-inline: -18px;
        overflow: hidden;
    }

    .tp-product-section .woocommerce ul.products,
    .tp-product-section .woocommerce-page ul.products {
        width: auto;
        display: flex !important;
        gap: 12px;
        margin: 0;
        padding: 4px 18px 14px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 18px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .tp-product-section .woocommerce ul.products::-webkit-scrollbar,
    .tp-product-section .woocommerce-page ul.products::-webkit-scrollbar {
        display: none;
    }

    .tp-product-section .woocommerce ul.products li.product,
    .tp-product-section .woocommerce-page ul.products li.product {
        flex: 0 0 min(78vw, 292px);
        width: min(78vw, 292px) !important;
        min-height: 435px;
        scroll-snap-align: start;
    }

    .tp-product-section .woocommerce ul.products li.product a img,
    .tp-product-section .woocommerce-page ul.products li.product a img {
        height: 250px;
    }

    .tp-product-section .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .tp-product-section .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        min-height: 54px;
        max-height: 54px;
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .tp-product-section .woocommerce ul.products li.product,
    .tp-product-section .woocommerce-page ul.products li.product {
        flex-basis: 82vw;
        width: 82vw !important;
    }
}


/* v0.8.30 — shop and product-category archives */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
    background: #f5f7fb;
}

body.post-type-archive-product .tp-woo-shell,
body.tax-product_cat .tp-woo-shell,
body.tax-product_tag .tp-woo-shell {
    width: min(1320px, calc(100% - 40px));
    padding-top: 24px;
    padding-bottom: 56px;
}

body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
    margin: 0 0 14px;
    color: #8591a3;
    font-size: 11px;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
    position: relative;
    overflow: hidden;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 0 16px;
    padding: 28px 34px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 15%, rgba(64,137,255,.38), transparent 30%),
        linear-gradient(125deg, #081a38 0%, #102f67 55%, #174f9d 100%);
    box-shadow: 0 18px 42px rgba(15, 45, 91, .14);
}

body.post-type-archive-product .woocommerce-products-header::after,
body.tax-product_cat .woocommerce-products-header::after,
body.tax-product_tag .woocommerce-products-header::after {
    content: "";
    position: absolute;
    inset: auto -80px -130px auto;
    width: 330px;
    height: 330px;
    border: 55px solid rgba(255,255,255,.055);
    border-radius: 50%;
}

body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
    position: relative;
    z-index: 1;
    margin: 0;
    color: #fff;
    font-size: clamp(25px, 3vw, 36px);
    font-weight: 900;
    line-height: 1.45;
}

body.post-type-archive-product .term-description,
body.tax-product_cat .term-description,
body.tax-product_tag .term-description {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin-top: 8px;
    color: #c8d5e9;
    font-size: 12px;
    line-height: 2;
}

body.post-type-archive-product .term-description > :first-child,
body.tax-product_cat .term-description > :first-child,
body.tax-product_tag .term-description > :first-child { margin-top: 0; }
body.post-type-archive-product .term-description > :last-child,
body.tax-product_cat .term-description > :last-child,
body.tax-product_tag .term-description > :last-child { margin-bottom: 0; }

.tp-shop-category-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    padding: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    border: 1px solid #e3e9f2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(14, 35, 71, .045);
}
.tp-shop-category-nav::-webkit-scrollbar { display: none; }
.tp-shop-category-nav a {
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border-radius: 9px;
    color: #536177;
    background: #f5f7fb;
    font-size: 11px;
    font-weight: 700;
    transition: .2s ease;
}
.tp-shop-category-nav a:hover,
.tp-shop-category-nav a.is-active {
    color: #fff;
    background: #1765f4;
    box-shadow: 0 7px 18px rgba(23, 101, 244, .2);
}

.tp-shop-controls {
    min-height: 60px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
    padding: 10px 12px;
    border: 1px solid #e3e9f2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(14, 35, 71, .04);
}
.tp-archive-benefits {
    float: none !important;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
}
.tp-archive-benefits span {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 8px;
    color: #42618e;
    background: #eef4fd;
    font-size: 9px;
    font-weight: 700;
}
.tp-archive-benefits span::before {
    content: "✓";
    color: #1aa25a;
    font-weight: 900;
}
.tp-shop-controls .woocommerce-result-count {
    float: none;
    margin: 0;
    color: #778397;
    font-size: 10px;
    white-space: nowrap;
}
.tp-shop-controls .woocommerce-ordering {
    float: none;
    margin: 0;
}
.tp-shop-controls .woocommerce-ordering select {
    min-width: 190px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #dfe6ef;
    border-radius: 9px;
    color: #344258;
    background: #f8fafc;
    font: 10px inherit;
    outline: none;
}

body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
    clear: both;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 18px 0 0;
}

body.post-type-archive-product .woocommerce ul.products::before,
body.post-type-archive-product .woocommerce ul.products::after,
body.tax-product_cat .woocommerce ul.products::before,
body.tax-product_cat .woocommerce ul.products::after,
body.tax-product_tag .woocommerce ul.products::before,
body.tax-product_tag .woocommerce ul.products::after { display: none; }

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product {
    position: relative;
    min-height: 475px;
    width: auto !important;
    float: none !important;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 10px 10px 12px;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(15, 37, 75, .055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover,
body.tax-product_tag .woocommerce ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #cbd9ef;
    box-shadow: 0 20px 42px rgba(15, 37, 75, .11);
}

body.post-type-archive-product .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
body.tax-product_tag .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

body.post-type-archive-product .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img,
body.tax-product_tag .woocommerce ul.products li.product a img {
    width: 100%;
    height: 300px;
    margin: 0 0 10px;
    padding: 5px;
    border-radius: 11px;
    background: #f2f5f9;
    object-fit: contain;
    object-position: center;
    transition: transform .28s ease;
}
body.post-type-archive-product .woocommerce ul.products li.product:hover a img,
body.tax-product_cat .woocommerce ul.products li.product:hover a img,
body.tax-product_tag .woocommerce ul.products li.product:hover a img { transform: scale(1.018); }

.tp-archive-product-platform,
.tp-archive-product-new {
    position: absolute;
    top: 18px;
    z-index: 4;
    min-width: 36px;
    height: 23px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    border-radius: 7px;
    font-size: 8px;
    font-weight: 900;
    box-shadow: 0 5px 14px rgba(10, 25, 50, .12);
}
.tp-archive-product-platform { right: 18px; color: #1765f4; background: #fff; font-family: Arial, sans-serif; }
.tp-archive-product-new { left: 18px; color: #fff; background: #1765f4; }
body.post-type-archive-product .woocommerce span.onsale,
body.tax-product_cat .woocommerce span.onsale,
body.tax-product_tag .woocommerce span.onsale {
    top: 18px;
    right: auto;
    left: 18px;
    z-index: 6;
    min-width: auto;
    min-height: auto;
    padding: 7px 8px;
    border-radius: 7px;
    color: #fff;
    background: #e3425b;
    font-size: 8px;
    line-height: 1;
}
body.post-type-archive-product .woocommerce span.onsale ~ a .tp-archive-product-new,
body.tax-product_cat .woocommerce span.onsale ~ a .tp-archive-product-new,
body.tax-product_tag .woocommerce span.onsale ~ a .tp-archive-product-new { display: none; }

.tp-archive-product-meta {
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    padding: 0 5px;
    color: #929dac;
    font-size: 8px;
}
.tp-archive-product-meta .is-stock { color: #159552; }
.tp-archive-product-meta .is-out { color: #d94b5e; }

body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 58px;
    max-height: 58px;
    display: -webkit-box;
    margin: 0;
    padding: 8px 5px 9px;
    overflow: hidden;
    border-bottom: 1px solid #e8edf3;
    color: #17233a;
    font-size: 12px;
    font-weight: 800;
    line-height: 2;
    text-align: right;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.post-type-archive-product .woocommerce ul.products li.product .star-rating,
body.tax-product_cat .woocommerce ul.products li.product .star-rating,
body.tax-product_tag .woocommerce ul.products li.product .star-rating { display: none; }

body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
    min-height: 47px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: auto 4px 0;
    padding: 10px 0 2px;
    color: #111d31;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.5;
}
body.post-type-archive-product .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price del,
body.tax-product_tag .woocommerce ul.products li.product .price del {
    color: #a0a9b6;
    font-size: 9px;
    font-weight: 500;
    opacity: 1;
}
body.post-type-archive-product .woocommerce ul.products li.product .price ins,
body.tax-product_cat .woocommerce ul.products li.product .price ins,
body.tax-product_tag .woocommerce ul.products li.product .price ins { text-decoration: none; }
.tp-archive-price-unit { color: #8c98a9; font-size: 8px; font-weight: 500; }

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
body.tax-product_tag .woocommerce ul.products li.product .added_to_cart {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 9px 0 0;
    padding: 0 13px;
    border-radius: 9px;
    color: #fff !important;
    background: #1765f4 !important;
    font-size: 10px;
    font-weight: 800;
    text-align: center;
    box-shadow: none;
}
body.post-type-archive-product .woocommerce ul.products li.product .button:hover,
body.tax-product_cat .woocommerce ul.products li.product .button:hover,
body.tax-product_tag .woocommerce ul.products li.product .button:hover { background: #0e54d6 !important; }

body.post-type-archive-product .woocommerce nav.woocommerce-pagination,
body.tax-product_cat .woocommerce nav.woocommerce-pagination,
body.tax-product_tag .woocommerce nav.woocommerce-pagination { margin-top: 28px; }
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 5px; }
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li a,
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul li span,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li a,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul li span {
    min-width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid #e0e6ef;
    border-radius: 9px;
    background: #fff;
    color: #516078;
    font-size: 10px;
}

@media (max-width: 1120px) {
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tp-archive-benefits span:nth-child(3) { display: none; }
}

@media (max-width: 820px) {
    body.post-type-archive-product .tp-woo-shell,
    body.tax-product_cat .tp-woo-shell,
    body.tax-product_tag .tp-woo-shell { width: min(100% - 24px, 1320px); padding-top: 16px; }
    body.post-type-archive-product .woocommerce-products-header,
    body.tax-product_cat .woocommerce-products-header,
    body.tax-product_tag .woocommerce-products-header { min-height: 128px; padding: 22px; border-radius: 15px; }
    .tp-shop-controls { flex-wrap: wrap; gap: 8px; }
    .tp-archive-benefits { width: 100%; margin: 0; }
    .tp-shop-controls .woocommerce-result-count { margin-left: auto; }
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
    body.post-type-archive-product .woocommerce ul.products li.product,
    body.tax-product_cat .woocommerce ul.products li.product,
    body.tax-product_tag .woocommerce ul.products li.product { min-height: 405px; padding: 7px 7px 10px; }
    body.post-type-archive-product .woocommerce ul.products li.product a img,
    body.tax-product_cat .woocommerce ul.products li.product a img,
    body.tax-product_tag .woocommerce ul.products li.product a img { height: 235px; }
}

@media (max-width: 520px) {
    .tp-shop-category-nav { margin-inline: -1px; padding: 6px; }
    .tp-shop-category-nav a { min-height: 34px; padding: 0 12px; font-size: 9px; }
    .tp-shop-controls { padding: 9px; }
    .tp-archive-benefits span { min-height: 28px; padding: 0 8px; font-size: 8px; }
    .tp-archive-benefits span:nth-child(3) { display: none; }
    .tp-shop-controls .woocommerce-result-count { font-size: 8px; }
    .tp-shop-controls .woocommerce-ordering { width: 100%; }
    .tp-shop-controls .woocommerce-ordering select { width: 100%; min-width: 0; }
    body.post-type-archive-product .woocommerce ul.products,
    body.tax-product_cat .woocommerce ul.products,
    body.tax-product_tag .woocommerce ul.products { gap: 8px; padding-top: 12px; }
    body.post-type-archive-product .woocommerce ul.products li.product,
    body.tax-product_cat .woocommerce ul.products li.product,
    body.tax-product_tag .woocommerce ul.products li.product { min-height: 360px; }
    body.post-type-archive-product .woocommerce ul.products li.product a img,
    body.tax-product_cat .woocommerce ul.products li.product a img,
    body.tax-product_tag .woocommerce ul.products li.product a img { height: 190px; }
    .tp-archive-product-platform,
    .tp-archive-product-new { top: 13px; height: 21px; font-size: 7px; }
    .tp-archive-product-platform { right: 13px; }
    .tp-archive-product-new,
    body.post-type-archive-product .woocommerce span.onsale,
    body.tax-product_cat .woocommerce span.onsale,
    body.tax-product_tag .woocommerce span.onsale { left: 13px; top: 13px; }
    .tp-archive-product-meta { min-height: 21px; font-size: 6.5px; }
    body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: 52px;
        max-height: 52px;
        padding: 7px 3px;
        font-size: 9px;
        line-height: 2;
    }
    body.post-type-archive-product .woocommerce ul.products li.product .price,
    body.tax-product_cat .woocommerce ul.products li.product .price,
    body.tax-product_tag .woocommerce ul.products li.product .price { min-height: 40px; margin-inline: 2px; padding-top: 7px; font-size: 10px; }
    body.post-type-archive-product .woocommerce ul.products li.product .button,
    body.tax-product_cat .woocommerce ul.products li.product .button,
    body.tax-product_tag .woocommerce ul.products li.product .button,
    body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
    body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
    body.tax-product_tag .woocommerce ul.products li.product .added_to_cart { min-height: 36px; margin-top: 6px; font-size: 8px; }
}

/* v0.8.31 — category top/bottom copy and genre filter */
.tp-category-description {
    clear: both;
    border: 1px solid #e1e8f2;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(15, 37, 75, .045);
}
.tp-category-description-top {
    margin: 0 0 12px;
    padding: 16px 20px;
    border-right: 3px solid #1765f4;
}
.tp-category-description-content {
    color: #55647a;
    font-size: 12px;
    line-height: 2.05;
}
.tp-category-description-content > :first-child { margin-top: 0; }
.tp-category-description-content > :last-child { margin-bottom: 0; }
.tp-category-description-content h2,
.tp-category-description-content h3,
.tp-category-description-content h4 {
    margin: 22px 0 8px;
    color: #18253c;
    font-weight: 900;
    line-height: 1.65;
}
.tp-category-description-content h2 { font-size: 20px; }
.tp-category-description-content h3 { font-size: 17px; }
.tp-category-description-content h4 { font-size: 14px; }
.tp-category-description-content ul,
.tp-category-description-content ol { padding-right: 20px; }
.tp-category-description-content a { color: #1765f4; text-decoration: underline; text-underline-offset: 3px; }
.tp-category-description-bottom {
    margin: 28px 0 0;
    padding: 26px 30px;
}
.tp-category-description-heading {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e7ecf3;
}
.tp-category-description-heading span {
    display: block;
    margin-bottom: 4px;
    color: #1765f4;
    font-size: 10px;
    font-weight: 800;
}
.tp-category-description-heading h2 {
    margin: 0;
    color: #162238;
    font-size: 22px;
    font-weight: 900;
}

.tp-genre-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-right: auto;
}
.tp-genre-filter label {
    color: #526176;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.tp-genre-filter select {
    min-width: 150px;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #dfe6ef;
    border-radius: 9px;
    color: #344258;
    background: #f8fafc;
    font: 10px inherit;
    outline: none;
}
.tp-genre-filter select:focus { border-color: #8eb5ff; box-shadow: 0 0 0 3px rgba(23,101,244,.08); }
.tp-genre-filter button,
.tp-genre-filter-reset {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 0;
    border-radius: 9px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}
.tp-genre-filter button { color: #fff; background: #1765f4; }
.tp-genre-filter-reset { color: #68758a; background: #eef1f5; }

@media (max-width: 1080px) {
    .tp-shop-controls { flex-wrap: wrap; }
    .tp-genre-filter { order: 3; width: 100%; margin-right: 0; }
    .tp-genre-filter select { flex: 1 1 auto; }
}
@media (max-width: 600px) {
    .tp-category-description-top { padding: 14px 15px; }
    .tp-category-description-bottom { margin-top: 22px; padding: 20px 17px; }
    .tp-category-description-content { font-size: 11px; line-height: 2; }
    .tp-category-description-heading h2 { font-size: 18px; }
    .tp-genre-filter { display: grid; grid-template-columns: 1fr auto; }
    .tp-genre-filter label { grid-column: 1 / -1; }
    .tp-genre-filter select { min-width: 0; width: 100%; }
    .tp-genre-filter-reset { grid-column: 1 / -1; }
}

/* v0.8.32 — larger typography for shop/category product cards */
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 64px;
    max-height: 64px;
    padding: 8px 5px 9px;
    font-size: 14px;
    line-height: 1.68;
}

body.post-type-archive-product .woocommerce ul.products li.product .price,
body.tax-product_cat .woocommerce ul.products li.product .price,
body.tax-product_tag .woocommerce ul.products li.product .price {
    font-size: 16px;
    line-height: 1.45;
}

body.post-type-archive-product .woocommerce ul.products li.product .price del,
body.tax-product_cat .woocommerce ul.products li.product .price del,
body.tax-product_tag .woocommerce ul.products li.product .price del {
    font-size: 11px;
}

.tp-archive-price-unit {
    font-size: 10px;
}

.tp-archive-product-meta {
    font-size: 10px;
    line-height: 1.6;
}

.tp-archive-product-platform,
.tp-archive-product-new,
body.post-type-archive-product .woocommerce span.onsale,
body.tax-product_cat .woocommerce span.onsale,
body.tax-product_tag .woocommerce span.onsale {
    font-size: 9px;
}

body.post-type-archive-product .woocommerce ul.products li.product .button,
body.tax-product_cat .woocommerce ul.products li.product .button,
body.tax-product_tag .woocommerce ul.products li.product .button,
body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
body.tax-product_tag .woocommerce ul.products li.product .added_to_cart {
    font-size: 12px;
}

@media (max-width: 520px) {
    .tp-archive-product-meta {
        min-height: 24px;
        font-size: 8.5px;
    }

    .tp-archive-product-platform,
    .tp-archive-product-new,
    body.post-type-archive-product .woocommerce span.onsale,
    body.tax-product_cat .woocommerce span.onsale,
    body.tax-product_tag .woocommerce span.onsale {
        font-size: 8px;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: 58px;
        max-height: 58px;
        padding: 7px 3px;
        font-size: 11.5px;
        line-height: 1.85;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .price,
    body.tax-product_cat .woocommerce ul.products li.product .price,
    body.tax-product_tag .woocommerce ul.products li.product .price {
        min-height: 42px;
        font-size: 13px;
    }

    .tp-archive-price-unit {
        font-size: 8.5px;
    }

    body.post-type-archive-product .woocommerce ul.products li.product .button,
    body.tax-product_cat .woocommerce ul.products li.product .button,
    body.tax-product_tag .woocommerce ul.products li.product .button,
    body.post-type-archive-product .woocommerce ul.products li.product .added_to_cart,
    body.tax-product_cat .woocommerce ul.products li.product .added_to_cart,
    body.tax-product_tag .woocommerce ul.products li.product .added_to_cart {
        font-size: 10px;
    }
}



/* v0.8.34 — balanced single product gallery */
body.single-product .tp-woo-shell {
    padding-top: 24px;
}

body.single-product .woocommerce-breadcrumb {
    margin: 0 0 18px;
    color: #77849a;
    font-size: 11px;
    line-height: 1.9;
}
body.single-product .woocommerce-breadcrumb a { color: #52627a; }
body.single-product .woocommerce-breadcrumb a:hover { color: #1765f4; }

body.single-product .woocommerce div.product {
    grid-template-columns: minmax(0, .92fr) minmax(410px, 1.08fr);
    align-items: start;
    gap: 30px;
}
body.single-product .woocommerce div.product .woocommerce-product-gallery {
    position: sticky;
    top: 20px;
    margin-bottom: 0;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    position: relative;
    overflow: hidden;
    min-height: 438px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    border: 1px solid #e1e7ef;
    border-radius: 18px;
    background:
        radial-gradient(circle at 18% 8%, rgba(23,101,244,.07), transparent 34%),
        linear-gradient(145deg, #ffffff, #f7f9fc);
    box-shadow: 0 18px 48px rgba(20,42,78,.07);
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
    width: 100%;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 394px;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: auto;
    max-width: 100%;
    max-height: 394px;
    max-width: 84%;
    object-fit: contain;
    border-radius: 13px;
    box-shadow: 0 12px 34px rgba(18,35,66,.1);
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger {
    top: 16px;
    left: 16px;
    right: auto;
    width: 40px;
    height: 40px;
    border: 1px solid #dfe6ef;
    border-radius: 10px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 20px rgba(20,42,78,.09);
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 9px;
    margin: 12px 0 0;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
    width: auto;
    float: none;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
    width: 100%;
    height: 74px;
    object-fit: contain;
    padding: 6px;
    border: 1px solid #dfe6ef;
    border-radius: 11px;
    background: #fff;
    opacity: .66;
    transition: .2s ease;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product .woocommerce div.product div.images .flex-control-thumbs img:hover {
    border-color: #1765f4;
    box-shadow: 0 0 0 3px rgba(23,101,244,.08);
    opacity: 1;
}

body.single-product .woocommerce div.product .summary {
    position: relative;
    margin-bottom: 0;
    padding: 27px 29px 25px;
    border: 1px solid #e0e7f0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(20,42,78,.07);
}
.tp-single-product-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.tp-single-product-badges > span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 900;
}
.tp-single-platform { color: #fff; background: #1765f4; }
.tp-single-stock-badge { color: #267849; background: #eaf8ef; }
.tp-single-stock-badge.is-out-of-stock { color: #a23d4a; background: #fff0f2; }
.tp-single-stock-badge i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 4px rgba(45,153,89,.1);
}
body.single-product .woocommerce div.product .product_title {
    margin: 0;
    color: #142038;
    font-size: 29px;
    font-weight: 950;
    line-height: 1.55;
    letter-spacing: -.25px;
}
body.single-product .woocommerce .star-rating {
    color: #f4a621;
    font-size: 13px;
}
body.single-product .woocommerce div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0 0;
    color: #77849a;
    font-size: 10px;
}
body.single-product .woocommerce div.product .woocommerce-review-link { color: #66758b; }

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
    min-height: 70px;
    display: flex;
    align-items: center;
    margin: 18px 0 14px;
    padding: 13px 16px;
    border: 1px solid #dfe8f6;
    border-right: 3px solid #1765f4;
    border-radius: 12px;
    color: #15223a;
    background: #f6f9ff;
    font-size: 22px;
    font-weight: 950;
}
.tp-single-price-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
}
.tp-single-price-wrap del {
    flex-basis: 100%;
    color: #929dad;
    font-size: 12px;
    font-weight: 700;
    opacity: 1;
}
.tp-single-price-wrap ins { text-decoration: none; }
.tp-single-price-current { color: #14213a; font-size: 23px; font-weight: 950; }
.tp-single-price-wrap small { color: #1765f4; font-size: 11px; font-weight: 900; }
.tp-single-price-separator { color: #718097; font-size: 11px; font-weight: 800; }

body.single-product .woocommerce-product-details__short-description {
    margin: 0;
    color: #5a687d;
    font-size: 13px;
    line-height: 2.05;
}
body.single-product .woocommerce-product-details__short-description p { margin: 0 0 12px; }

.tp-single-product-facts {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
    margin: 15px 0;
}
.tp-single-product-fact {
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid #e5eaf1;
    border-radius: 11px;
    background: #fbfcfe;
}
.tp-single-product-fact-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #1765f4;
    background: #edf4ff;
}
.tp-single-product-fact-icon svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.tp-single-product-fact small,
.tp-single-product-fact strong { display: block; }
.tp-single-product-fact small { margin-bottom: 2px; color: #8994a6; font-size: 8px; font-weight: 700; }
.tp-single-product-fact strong {
    overflow: hidden;
    color: #26334a;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.65;
    text-overflow: ellipsis;
}

.tp-single-availability {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 13px 0 15px;
    padding: 11px 12px;
    border: 1px solid #dceee3;
    border-radius: 11px;
    background: #f1fbf5;
}
.tp-single-availability.is-unavailable { border-color: #f1d8dc; background: #fff3f4; }
.tp-single-availability-icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #dff4e7;
}
.tp-single-availability.is-unavailable .tp-single-availability-icon { background: #f8dde1; }
.tp-single-availability-icon i {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #269455;
    box-shadow: 0 0 0 5px rgba(38,148,85,.11);
}
.tp-single-availability.is-unavailable .tp-single-availability-icon i { background: #cc4c5d; box-shadow: 0 0 0 5px rgba(204,76,93,.1); }
.tp-single-availability strong,
.tp-single-availability small { display: block; }
.tp-single-availability strong { color: #276d46; font-size: 10px; font-weight: 900; }
.tp-single-availability.is-unavailable strong { color: #a13b49; }
.tp-single-availability small { margin-top: 3px; color: #668176; font-size: 8px; line-height: 1.7; }
.tp-single-availability.is-unavailable small { color: #8a6268; }

body.single-product .woocommerce div.product form.cart {
    display: flex;
    align-items: stretch;
    gap: 9px;
    margin: 15px 0 13px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
body.single-product .woocommerce div.product form.cart .quantity { flex: 0 0 76px; }
body.single-product .woocommerce .quantity .qty {
    width: 76px;
    height: 48px;
    border: 1px solid #dbe3ed;
    border-radius: 9px;
    color: #26334a;
    background: #fff;
    font-size: 12px;
    font-weight: 900;
}
body.single-product .woocommerce div.product form.cart .button {
    min-height: 48px;
    flex: 1;
    border-radius: 9px;
    background: linear-gradient(135deg,#1765f4,#0e55da);
    box-shadow: 0 10px 23px rgba(23,101,244,.21);
    font-size: 12px;
    font-weight: 950;
}
body.single-product .woocommerce div.product form.cart .button:hover { transform: translateY(-1px); filter: brightness(.97); }
body.single-product .woocommerce div.product form.cart.variations_form { display: block; }
body.single-product .woocommerce div.product form.cart .variations {
    margin-bottom: 11px;
    border-collapse: separate;
    border-spacing: 0 7px;
}
body.single-product .woocommerce div.product form.cart .variations td,
body.single-product .woocommerce div.product form.cart .variations th { padding: 0; background: transparent; border: 0; }
body.single-product .woocommerce div.product form.cart .variations th { width: 92px; color: #59677c; font-size: 10px; text-align: right; }
body.single-product .woocommerce div.product form.cart .variations select {
    width: 100%;
    min-height: 43px;
    padding: 0 10px;
    border: 1px solid #dce4ee;
    border-radius: 9px;
    color: #344158;
    background: #fff;
    font: 10px inherit;
}
body.single-product .woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex;
    gap: 9px;
    margin-top: 9px;
}
body.single-product .woocommerce div.product form.cart .reset_variations { color: #1765f4; font-size: 9px; }

body.single-product .tp-product-trust {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 8px;
    margin: 0 0 12px;
}
body.single-product .tp-product-trust > span {
    min-height: 92px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 7px;
    border: 1px solid #e4eaf2;
    border-radius: 11px;
    text-align: center;
    background: #fbfcfe;
}
body.single-product .tp-product-trust b {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 6px;
    border-radius: 9px;
    color: #1765f4;
    background: #edf4ff;
}
body.single-product .tp-product-trust b svg,
body.single-product .tp-product-note-icon svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.single-product .tp-product-trust em { color: #2a374d; font-size: 9px; font-style: normal; font-weight: 900; }
body.single-product .tp-product-trust small { margin-top: 3px; color: #8a95a6; font-size: 7px; font-weight: 700; }
body.single-product .tp-product-note {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid #dce8fb;
    border-right: 3px solid #1765f4;
    border-radius: 11px;
    background: #f2f7ff;
}
body.single-product .tp-product-note-icon {
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #1765f4;
    background: #fff;
}
body.single-product .tp-product-note strong { color: #26364f; font-size: 9px; font-weight: 900; }
body.single-product .tp-product-note span:not(.tp-product-note-icon) { margin-top: 3px; color: #64758e; font-size: 8px; line-height: 1.7; }
body.single-product .product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 13px 0 0;
    padding-top: 13px;
    border-top: 1px solid #e7ebf1;
    color: #768398;
    font-size: 8px;
}
body.single-product .product_meta > span {
    display: inline-flex;
    margin: 0;
    padding: 5px 8px;
    border-radius: 7px;
    background: #f4f6f9;
}
body.single-product .product_meta a { color: #56677f; }
body.single-product .woocommerce span.onsale {
    right: 16px;
    top: 16px;
    z-index: 4;
    min-width: 44px;
    min-height: 29px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 8px;
    background: #e3425b;
    font-size: 9px;
    font-weight: 900;
}

@media (max-width: 1040px) {
    body.single-product .woocommerce div.product { grid-template-columns: minmax(0,.9fr) minmax(380px,1.1fr); gap: 20px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { min-height: 400px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a { min-height: 356px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img { max-height: 356px; max-width: 82%; }
    body.single-product .woocommerce div.product .summary { padding: 23px; }
    body.single-product .woocommerce div.product .product_title { font-size: 25px; }
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product { grid-template-columns: 1fr; }
    body.single-product .woocommerce div.product .woocommerce-product-gallery { position: relative; top: auto; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { min-height: 372px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a { min-height: 328px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img { max-height: 328px; max-width: 82%; }
}

@media (max-width: 560px) {
    body.single-product .tp-woo-shell { width: min(100% - 20px,1240px); padding-top: 14px; }
    body.single-product .woocommerce-breadcrumb { margin-bottom: 11px; font-size: 9px; }
    body.single-product .woocommerce div.product { gap: 13px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper { min-height: 292px; padding: 13px; border-radius: 14px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a { min-height: 266px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img { max-height: 266px; max-width: 86%; border-radius: 10px; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 11px; left: 11px; width: 35px; height: 35px; }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs img { height: 60px; padding: 4px; }
    body.single-product .woocommerce div.product .summary { padding: 18px 16px; border-radius: 14px; }
    .tp-single-product-badges { margin-bottom: 9px; }
    .tp-single-product-badges > span { min-height: 25px; padding: 0 8px; font-size: 8.5px; }
    body.single-product .woocommerce div.product .product_title { font-size: 22px; line-height: 1.62; }
    body.single-product .woocommerce div.product p.price,
    body.single-product .woocommerce div.product span.price { min-height: 61px; margin: 14px 0 12px; padding: 11px 12px; }
    .tp-single-price-current { font-size: 19px; }
    .tp-single-price-wrap small { font-size: 9px; }
    body.single-product .woocommerce-product-details__short-description { font-size: 11.5px; line-height: 2; }
    .tp-single-product-facts { gap: 7px; margin: 12px 0; }
    .tp-single-product-fact { min-height: 58px; gap: 7px; padding: 8px; }
    .tp-single-product-fact-icon { width: 30px; height: 30px; flex-basis: 30px; }
    .tp-single-product-fact-icon svg { width: 17px; height: 17px; }
    .tp-single-product-fact small { font-size: 7px; }
    .tp-single-product-fact strong { font-size: 8.5px; }
    .tp-single-availability { margin: 11px 0 12px; padding: 9px; }
    .tp-single-availability strong { font-size: 9px; }
    .tp-single-availability small { font-size: 7px; }
    body.single-product .woocommerce div.product form.cart { padding: 9px; }
    body.single-product .woocommerce div.product form.cart .quantity { flex-basis: 66px; }
    body.single-product .woocommerce .quantity .qty { width: 66px; }
    body.single-product .woocommerce div.product form.cart .button { font-size: 10px; }
    body.single-product .tp-product-trust { gap: 6px; }
    body.single-product .tp-product-trust > span { min-height: 82px; padding: 8px 4px; }
    body.single-product .tp-product-trust b { width: 28px; height: 28px; }
    body.single-product .tp-product-trust em { font-size: 7.5px; }
    body.single-product .tp-product-trust small { font-size: 6.2px; }
    body.single-product .tp-product-note { padding: 10px; }
    body.single-product .tp-product-note strong { font-size: 8px; }
    body.single-product .tp-product-note span:not(.tp-product-note-icon) { font-size: 7px; }
}


/* v0.8.35 — hard override: visibly smaller single-product gallery */
body.single-product .woocommerce div.product {
    grid-template-columns: minmax(300px, 400px) minmax(0, 1fr) !important;
    gap: 28px !important;
}
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 400px !important;
    justify-self: center !important;
}
body.single-product .woocommerce div.product div.images .flex-viewport {
    height: 360px !important;
    max-height: 360px !important;
    overflow: hidden !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    min-height: 360px !important;
    height: 360px !important;
    max-height: 360px !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    min-height: 0 !important;
    height: 330px !important;
    max-height: 330px !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: auto !important;
    height: auto !important;
    max-width: 72% !important;
    max-height: 318px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
    height: 66px !important;
}

@media (max-width: 1040px) {
    body.single-product .woocommerce div.product {
        grid-template-columns: minmax(280px, 360px) minmax(0, 1fr) !important;
    }
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery {
        max-width: 360px !important;
    }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        height: 330px !important;
        min-height: 330px !important;
        max-height: 330px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 302px !important;
        max-height: 302px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
        max-width: 70% !important;
        max-height: 290px !important;
    }
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product {
        grid-template-columns: 1fr !important;
    }
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery {
        max-width: 350px !important;
        margin-inline: auto !important;
    }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 292px !important;
        max-height: 292px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
        max-width: 70% !important;
        max-height: 280px !important;
    }
}

@media (max-width: 560px) {
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery {
        max-width: 292px !important;
    }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        height: 270px !important;
        min-height: 270px !important;
        max-height: 270px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 244px !important;
        max-height: 244px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
        max-width: 74% !important;
        max-height: 232px !important;
    }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
        height: 54px !important;
    }
}


/* v0.8.37 — balanced single-product image */
body.single-product .woocommerce div.product {
    grid-template-columns: 400px minmax(0, 1fr) !important;
    gap: 32px !important;
}
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 400px !important;
    min-width: 0 !important;
    justify-self: center !important;
    margin-inline: auto !important;
}
body.single-product .woocommerce div.product div.images .flex-viewport,
body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
    width: 100% !important;
    height: 390px !important;
    min-height: 398px !important;
    max-height: 390px !important;
    padding: 14px !important;
    overflow: hidden !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    width: 100% !important;
    height: 362px !important;
    min-height: 0 !important;
    max-height: 362px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
body.single-product .woocommerce div.product div.images img.zoomImg {
    width: auto !important;
    height: 340px !important;
    max-width: 340px !important;
    max-height: 340px !important;
    object-fit: contain !important;
    margin: auto !important;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
    height: 58px !important;
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product { grid-template-columns: 1fr !important; }
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 360px !important; }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 350px !important;
        min-height: 350px !important;
        max-height: 350px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 322px !important;
        max-height: 322px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
    body.single-product .woocommerce div.product div.images img.zoomImg {
        height: 305px !important;
        max-width: 305px !important;
        max-height: 305px !important;
    }
}

@media (max-width: 560px) {
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 320px !important; }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 310px !important;
        min-height: 310px !important;
        max-height: 310px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 282px !important;
        max-height: 282px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
    body.single-product .woocommerce div.product div.images img.zoomImg {
        height: 270px !important;
        max-width: 270px !important;
        max-height: 270px !important;
    }
    body.single-product .woocommerce div.product div.images .flex-control-thumbs img { height: 52px !important; }
}


/* v0.8.38 — remove excess space below the single-product image while preserving image size */
body.single-product .woocommerce div.product div.images .flex-viewport {
    height: 354px !important;
    min-height: 354px !important;
    max-height: 354px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}
body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
    height: 354px !important;
    min-height: 354px !important;
    max-height: 354px !important;
    padding: 7px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
    margin: 0 !important;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs {
    margin-top: 8px !important;
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 319px !important;
        min-height: 319px !important;
        max-height: 319px !important;
    }
    body.single-product .woocommerce div.product div.images .flex-viewport { padding: 0 !important; }
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper { padding: 7px !important; }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 305px !important;
        min-height: 305px !important;
        max-height: 305px !important;
    }
}

@media (max-width: 560px) {
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 284px !important;
        min-height: 284px !important;
        max-height: 284px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 270px !important;
        min-height: 270px !important;
        max-height: 270px !important;
    }
}

/* v0.8.39 — keep the compact gallery visible beside the taller product summary */
body.single-product {
    overflow-x: clip !important;
}
body.single-product .tp-main,
body.single-product .tp-woo-shell,
body.single-product .woocommerce,
body.single-product .woocommerce div.product {
    overflow: visible !important;
}
body.single-product .woocommerce div.product {
    row-gap: 12px !important;
}
body.single-product .woocommerce div.product > .woocommerce-tabs {
    clear: none !important;
    margin-top: 0 !important;
}

@media (min-width: 821px) {
    body.single-product .woocommerce div.product > div.images.woocommerce-product-gallery,
    body.single-product .woocommerce div.product > .woocommerce-product-gallery {
        position: sticky !important;
        top: 16px !important;
        align-self: start !important;
        z-index: 3 !important;
        margin-bottom: 0 !important;
    }
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product > div.images.woocommerce-product-gallery,
    body.single-product .woocommerce div.product > .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
    }
}


/* v0.8.40 — move trust cards and purchase note under the product image */
body.single-product .tp-single-side-details {
    grid-column: 1;
    width: 100%;
    max-width: 400px;
    justify-self: center;
    align-self: start;
    display: grid;
    gap: 12px;
    margin-top: 0;
}
body.single-product .tp-single-side-details .tp-product-trust {
    margin: 0;
}
body.single-product .tp-single-side-details .tp-product-note {
    margin: 0;
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product > div.images.woocommerce-product-gallery,
    body.single-product .woocommerce div.product > .woocommerce-product-gallery { order: 1; }
    body.single-product .woocommerce div.product > .tp-single-side-details { 
        order: 2;
        max-width: 360px;
    }
    body.single-product .woocommerce div.product > .summary { order: 3; }
    body.single-product .woocommerce div.product > .woocommerce-tabs,
    body.single-product .woocommerce div.product > .related { order: 4; }
}

@media (max-width: 560px) {
    body.single-product .woocommerce div.product > .tp-single-side-details { max-width: 320px; gap: 10px; }
}


/* v0.8.41 — larger product image and removal of the under-gallery support section */
body.single-product .woocommerce div.product {
    grid-template-columns: 460px minmax(0, 1fr) !important;
    gap: 32px !important;
}
body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product .woocommerce-product-gallery {
    max-width: 460px !important;
}
body.single-product .woocommerce div.product div.images .flex-viewport,
body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
    padding: 7px !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
    height: 416px !important;
    min-height: 416px !important;
    max-height: 416px !important;
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
body.single-product .woocommerce div.product div.images img.zoomImg {
    width: auto !important;
    height: 416px !important;
    max-width: 416px !important;
    max-height: 416px !important;
    object-fit: contain !important;
}
body.single-product .tp-single-side-details { display: none !important; }

@media (max-width: 1040px) and (min-width: 821px) {
    body.single-product .woocommerce div.product {
        grid-template-columns: 400px minmax(0, 1fr) !important;
        gap: 22px !important;
    }
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 400px !important; }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 374px !important;
        min-height: 374px !important;
        max-height: 374px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
    body.single-product .woocommerce div.product div.images img.zoomImg {
        height: 360px !important;
        max-width: 360px !important;
        max-height: 360px !important;
    }
}

@media (max-width: 820px) {
    body.single-product .woocommerce div.product { grid-template-columns: 1fr !important; }
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 400px !important; }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 374px !important;
        min-height: 374px !important;
        max-height: 374px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
    body.single-product .woocommerce div.product div.images img.zoomImg {
        height: 360px !important;
        max-width: 360px !important;
        max-height: 360px !important;
    }
}

@media (max-width: 560px) {
    body.single-product .woocommerce div.product div.images,
    body.single-product .woocommerce div.product .woocommerce-product-gallery { max-width: 340px !important; }
    body.single-product .woocommerce div.product div.images .flex-viewport,
    body.single-product .woocommerce div.product div.images figure.woocommerce-product-gallery__wrapper {
        height: 319px !important;
        min-height: 319px !important;
        max-height: 319px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a {
        height: 305px !important;
        min-height: 305px !important;
        max-height: 305px !important;
    }
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img,
    body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image img.wp-post-image,
    body.single-product .woocommerce div.product div.images img.zoomImg {
        height: 305px !important;
        max-width: 305px !important;
        max-height: 305px !important;
    }
}

/* v0.8.56 — Professional single-product cart controls */
body.single-product .woocommerce div.product .summary form.cart {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 14px;
    padding: 14px;
    border: 1px solid #e4ebf3;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    box-shadow: 0 14px 32px rgba(17, 37, 74, 0.08);
}
body.single-product .woocommerce div.product .summary form.cart .quantity {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    flex: 0 0 118px;
    min-width: 118px;
    height: 56px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #d8e1ec;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 12px rgba(22, 41, 75, 0.05);
}
body.single-product .woocommerce div.product .summary form.cart .quantity .qty {
    order: 2;
    width: 40px;
    min-width: 40px;
    flex: 1 1 auto;
    height: 54px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    text-align: center;
    background: transparent;
    box-shadow: none;
    color: #1d2b44;
    font-size: 14px;
    font-weight: 900;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .qty:focus {
    outline: none;
    box-shadow: none;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button {
    appearance: none;
    -webkit-appearance: none;
    width: 38px;
    min-width: 38px;
    height: 54px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #20314f;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button:first-child {
    border-inline-start: 1px solid #edf2f7;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button:last-child {
    border-inline-end: 1px solid #edf2f7;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button:hover,
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button:focus-visible {
    background: #edf4ff;
    color: #1765f4;
    outline: none;
}
body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button:active {
    transform: scale(.96);
}
body.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button,
body.single-product .woocommerce div.product .summary form.cart .button {
    flex: 1 1 auto;
    min-height: 56px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #1c67f5 0%, #0d53d8 100%);
    color: #fff;
    box-shadow: 0 16px 26px rgba(23, 101, 244, 0.24);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 0;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button:hover,
body.single-product .woocommerce div.product .summary form.cart .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(23, 101, 244, 0.28);
    filter: brightness(.98);
}
body.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button:active,
body.single-product .woocommerce div.product .summary form.cart .button:active {
    transform: translateY(0);
}
@media (max-width: 767px) {
    body.single-product .woocommerce div.product .summary form.cart {
        gap: 10px;
        padding: 12px;
        border-radius: 16px;
    }
    body.single-product .woocommerce div.product .summary form.cart .quantity {
        flex-basis: 108px;
        min-width: 108px;
        height: 52px;
    }
    body.single-product .woocommerce div.product .summary form.cart .quantity .qty,
    body.single-product .woocommerce div.product .summary form.cart .quantity .tp-qty-button {
        height: 50px;
    }
    body.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button,
    body.single-product .woocommerce div.product .summary form.cart .button {
        min-height: 52px;
        font-size: 12px;
    }
}


/* v0.8.58 — refined product description and review tabs; corrected DOM selector */
body.single-product div.product > .woocommerce-tabs.wc-tabs-wrapper {
    width: 100% !important;
    max-width: 1420px !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    width: auto !important;
    max-width: 100%;
    margin: 0 0 14px !important;
    padding: 6px !important;
    overflow-x: auto;
    border: 1px solid #e1e8f0 !important;
    border-radius: 15px !important;
    background: #f5f8fc !important;
    box-shadow: 0 7px 20px rgba(20, 43, 82, .05);
    scrollbar-width: none;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs::-webkit-scrollbar {
    display: none;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs::before,
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs::after,
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li::before,
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li::after {
    content: none !important;
    display: none !important;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li {
    position: relative;
    display: block !important;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 20px !important;
    border-radius: 11px;
    color: #647187 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li a::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #afbac9;
    box-shadow: 0 0 0 4px rgba(175, 186, 201, .12);
    transition: background-color .2s ease, box-shadow .2s ease;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li a:hover {
    color: #245fbf !important;
    background: #eef4ff !important;
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li.active a {
    color: #fff !important;
    background: linear-gradient(135deg, #1d68f5 0%, #0f55d8 100%) !important;
    box-shadow: 0 9px 20px rgba(23, 101, 244, .22);
}
body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li.active a::before {
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .18);
}

body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel {
    width: 100% !important;
    margin: 0 !important;
    padding: clamp(22px, 3vw, 38px) !important;
    overflow: hidden;
    border: 1px solid #e1e7ef !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(18, 42, 82, .07);
    color: #4c5b70;
    font-size: 14px !important;
    line-height: 2.15 !important;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child:empty,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child:not([class]):first-child {
    display: none !important;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel p {
    margin: 0 0 18px;
    color: #4f5d70;
    font-size: 14px;
    line-height: 2.15;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h1,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h3,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h4 {
    position: relative;
    color: #172844;
    font-weight: 950;
    line-height: 1.65;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h1,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    margin: 36px 0 17px;
    padding-right: 18px;
    font-size: clamp(21px, 2vw, 26px);
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h1::before,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h2::before {
    content: '';
    position: absolute;
    top: .32em;
    right: 0;
    width: 5px;
    height: 1.05em;
    border-radius: 10px;
    background: linear-gradient(180deg, #1765f4, #6ea0ff);
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h3 {
    margin: 27px 0 13px;
    font-size: clamp(17px, 1.5vw, 20px);
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h4 {
    margin: 22px 0 10px;
    font-size: 16px;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel ul,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel ol {
    margin: 8px 0 22px;
    padding-right: 24px;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel li {
    margin: 8px 0;
    padding-right: 4px;
    color: #4f5d70;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel blockquote {
    margin: 24px 0;
    padding: 18px 20px;
    border: 1px solid #dce8fb;
    border-right: 4px solid #1765f4;
    border-radius: 13px;
    background: #f4f8ff;
    color: #36547e;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel blockquote p:last-child {
    margin-bottom: 0;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel a {
    color: #1765f4;
    font-weight: 800;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 24px auto;
    border-radius: 16px;
    box-shadow: 0 13px 34px rgba(17, 39, 76, .12);
}
body.single-product div.product > .woocommerce-tabs .tp-product-table-scroll {
    width: 100%;
    margin: 22px 0 28px;
    overflow-x: auto;
    border: 1px solid #dfe7f0;
    border-radius: 15px;
    background: #fff;
    scrollbar-color: #b8c7db #eef3f8;
    scrollbar-width: thin;
}
body.single-product div.product > .woocommerce-tabs .tp-product-table-scroll table,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel > table {
    width: 100% !important;
    min-width: 620px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table th,
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table td {
    padding: 13px 15px !important;
    border: 0 !important;
    border-left: 1px solid #e6ecf3 !important;
    border-bottom: 1px solid #e6ecf3 !important;
    text-align: center !important;
    vertical-align: middle;
    color: #526076;
    font-size: 12px !important;
    line-height: 1.75;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table tr > *:last-child {
    border-left: 0 !important;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table tbody tr:last-child > * {
    border-bottom: 0 !important;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table thead th {
    color: #223d65;
    background: #edf4ff !important;
    font-weight: 950;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table tbody tr:nth-child(even) td {
    background: #fafcff !important;
}
body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel table tbody td:first-child {
    color: #263a59;
    background: #f6f9fd !important;
    font-weight: 850;
}

body.single-product #reviews.woocommerce-Reviews {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
    gap: 28px;
    align-items: start;
}
body.single-product #reviews #comments,
body.single-product #reviews #review_form_wrapper {
    margin: 0;
    padding: 22px;
    border: 1px solid #e3e9f1;
    border-radius: 16px;
    background: #fbfcfe;
}
body.single-product #reviews .woocommerce-Reviews-title,
body.single-product #reviews .comment-reply-title {
    display: block;
    margin: 0 0 16px;
    color: #1c2e4b;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.7;
}
body.single-product #reviews .woocommerce-noreviews {
    margin: 0;
    padding: 16px;
    border-radius: 12px;
    background: #f1f5fa;
    color: #6c788a;
    font-size: 12px;
}
body.single-product #reviews form.comment-form {
    display: grid;
    gap: 14px;
}
body.single-product #reviews form.comment-form > * {
    margin: 0;
}
body.single-product #reviews form.comment-form label {
    display: block;
    margin-bottom: 7px;
    color: #536179;
    font-size: 11px;
    font-weight: 850;
}
body.single-product #reviews form.comment-form textarea,
body.single-product #reviews form.comment-form input[type='text'],
body.single-product #reviews form.comment-form input[type='email'] {
    width: 100%;
    border: 1px solid #dce4ee;
    border-radius: 12px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(16, 38, 75, .03);
    color: #23324a;
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}
body.single-product #reviews form.comment-form textarea {
    min-height: 150px;
    padding: 13px 14px;
    resize: vertical;
}
body.single-product #reviews form.comment-form input[type='text'],
body.single-product #reviews form.comment-form input[type='email'] {
    height: 46px;
    padding: 0 13px;
}
body.single-product #reviews form.comment-form textarea:focus,
body.single-product #reviews form.comment-form input[type='text']:focus,
body.single-product #reviews form.comment-form input[type='email']:focus {
    outline: none;
    border-color: #85adf9;
    box-shadow: 0 0 0 4px rgba(23, 101, 244, .10);
}
body.single-product #reviews form.comment-form .form-submit input[type='submit'] {
    min-height: 46px;
    padding: 0 24px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #1d68f5, #0f55d8);
    box-shadow: 0 10px 24px rgba(23, 101, 244, .22);
    color: #fff;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
}

@media (max-width: 900px) {
    body.single-product #reviews.woocommerce-Reviews {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    body.single-product div.product > .woocommerce-tabs.wc-tabs-wrapper {
        margin-top: 12px !important;
    }
    body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs {
        display: flex !important;
        width: 100% !important;
        padding: 5px !important;
    }
    body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li {
        flex: 1 0 auto;
    }
    body.single-product div.product > .woocommerce-tabs ul.tabs.wc-tabs li a {
        min-height: 40px;
        padding: 0 14px !important;
        font-size: 11px !important;
    }
    body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 18px 15px !important;
        border-radius: 16px !important;
        font-size: 13px !important;
    }
    body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel p {
        font-size: 13px;
        line-height: 2.05;
    }
    body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h1,
    body.single-product div.product > .woocommerce-tabs .woocommerce-Tabs-panel h2 {
        margin-top: 28px;
        font-size: 20px;
    }
    body.single-product #reviews #comments,
    body.single-product #reviews #review_form_wrapper {
        padding: 16px;
    }
}

/* v0.8.59 — Professional related products section */
body.single-product.woocommerce div.product > section.related.products {
    position: relative;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 34px 0 8px !important;
    padding: 26px !important;
    overflow: hidden;
    border: 1px solid #e1e8f1;
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 0%, rgba(23,101,244,.075), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    box-shadow: 0 18px 46px rgba(18, 42, 82, .07);
}
body.single-product.woocommerce div.product > section.related.products::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 92px;
    height: 4px;
    border-radius: 0 0 6px 0;
    background: linear-gradient(90deg, #1765f4, #6ca1ff);
}
body.single-product.woocommerce div.product > section.related.products > h2 {
    position: relative;
    margin: 0 0 24px !important;
    padding-inline-start: 46px;
    color: #15243d;
    font-size: 23px !important;
    font-weight: 950;
    line-height: 1.45;
}
body.single-product.woocommerce div.product > section.related.products > h2::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 50%;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    transform: translateY(-50%);
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.66)),
        #1765f4;
    border: 1px solid #cfe0ff;
    box-shadow: 0 7px 18px rgba(23,101,244,.16);
}
body.single-product.woocommerce div.product > section.related.products > h2::after {
    content: "انتخاب‌های مشابه برای شما";
    display: block;
    margin-top: 3px;
    color: #7b899d;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.8;
}
body.single-product.woocommerce div.product > section.related.products ul.products,
body.single-product.woocommerce div.product > section.related.products ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    clear: both;
    margin: 0 !important;
    padding: 0 !important;
}
body.single-product.woocommerce div.product > section.related.products ul.products::before,
body.single-product.woocommerce div.product > section.related.products ul.products::after {
    display: none !important;
    content: none !important;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product {
    position: relative;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 11px !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    border: 1px solid #e2e8f0 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 7px 22px rgba(18, 42, 82, .045);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product:hover {
    transform: translateY(-5px);
    border-color: #c9d9f2 !important;
    box-shadow: 0 18px 35px rgba(18, 42, 82, .11);
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product > a.woocommerce-loop-product__link {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    color: inherit;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 13px !important;
    padding: 8px;
    object-fit: contain !important;
    object-position: center;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(145deg, #f4f7fb, #edf2f8);
    transition: transform .25s ease;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product:hover a img {
    transform: scale(1.025);
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product .woocommerce-loop-product__title {
    min-height: 50px;
    margin: 0 !important;
    padding: 0 3px !important;
    overflow: hidden;
    color: #18263d !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 2 !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product .price {
    min-height: 31px;
    margin: 8px 3px 10px !important;
    display: flex !important;
    align-items: center;
    gap: 5px;
    color: #12356c !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product .price del {
    color: #9aa5b5 !important;
    font-size: 9px !important;
    font-weight: 700;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product .price ins {
    text-decoration: none !important;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product > .button {
    width: 100%;
    min-height: 43px;
    margin: auto 0 0 !important;
    padding: 0 14px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #1765f4, #0d53d8) !important;
    color: #fff !important;
    box-shadow: 0 10px 19px rgba(23,101,244,.18);
    font-size: 10.5px !important;
    font-weight: 900 !important;
    line-height: 1.4;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product > .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 13px 24px rgba(23,101,244,.25);
    filter: brightness(.98);
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product.outofstock::after {
    content: "ناموجود";
    position: absolute;
    top: 20px;
    inset-inline-start: 20px;
    z-index: 2;
    padding: 6px 9px;
    border: 1px solid #f1d8dc;
    border-radius: 8px;
    background: rgba(255, 243, 244, .96);
    color: #b14252;
    font-size: 8px;
    font-weight: 900;
    line-height: 1;
}
body.single-product.woocommerce div.product > section.related.products ul.products li.product.outofstock > .button {
    border-color: #dbe3ed !important;
    background: #f3f6fa !important;
    color: #526176 !important;
    box-shadow: none;
}
@media (max-width: 1020px) {
    body.single-product.woocommerce div.product > section.related.products ul.products,
    body.single-product.woocommerce div.product > section.related.products ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 620px) {
    body.single-product.woocommerce div.product > section.related.products {
        margin-top: 24px !important;
        padding: 18px 12px !important;
        border-radius: 18px;
    }
    body.single-product.woocommerce div.product > section.related.products > h2 {
        margin-bottom: 18px !important;
        padding-inline-start: 42px;
        font-size: 19px !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products,
    body.single-product.woocommerce div.product > section.related.products ul.products.columns-4 {
        gap: 10px !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products li.product {
        padding: 8px !important;
        border-radius: 14px !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products li.product a img {
        padding: 5px;
        margin-bottom: 9px !important;
        border-radius: 11px !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products li.product .woocommerce-loop-product__title {
        min-height: 44px;
        font-size: 10.5px !important;
        line-height: 1.9 !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products li.product .price {
        font-size: 11px !important;
    }
    body.single-product.woocommerce div.product > section.related.products ul.products li.product > .button {
        min-height: 40px;
        padding-inline: 7px !important;
        font-size: 9px !important;
    }
}

/* v0.8.61 — Recently viewed products */
@media (min-width: 769px) {
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-area: recent !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}
body.single-product.woocommerce div.product > section.tp-recently-viewed-products {
    margin-top: 4px !important;
    background:
        radial-gradient(circle at 92% 0%, rgba(71, 115, 191, .07), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
}
body.single-product.woocommerce div.product > section.tp-recently-viewed-products::before {
    inset-inline-start: auto;
    inset-inline-end: 0;
    background: linear-gradient(90deg, #5f7ea9, #8eabd3);
}
body.single-product.woocommerce div.product > section.tp-recently-viewed-products > h2::after {
    content: "محصولاتی که قبلاً بررسی کرده‌اید";
}
body.single-product.woocommerce div.product > section.tp-recently-viewed-products > h2::before {
    border-color: #d8e2ef;
    background:
        radial-gradient(circle at 50% 50%, #5f7ea9 0 4px, transparent 5px),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,245,251,.9));
    box-shadow: 0 7px 18px rgba(59, 89, 130, .13);
}
@media (max-width: 768px) {
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-column: 1 !important;
        grid-row: 6 !important;
        width: 100% !important;
        margin: 0 !important;
    }
}

/* v0.8.62 — Product FAQ accordion */
@media (min-width: 769px) {
    body.single-product.woocommerce div.product {
        grid-template-areas:
            "gallery specs summary"
            "tabs tabs tabs"
            "faq faq faq"
            "related related related"
            "recent recent recent" !important;
    }
    body.single-product.woocommerce div.product > .tp-product-faq {
        grid-area: faq !important;
    }
}
body.single-product.woocommerce div.product > .tp-product-faq {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbfe 100%);
    box-shadow: 0 14px 36px rgba(18, 43, 82, .055);
    box-sizing: border-box;
}
body.single-product.woocommerce .tp-product-faq-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
body.single-product.woocommerce .tp-product-faq-kicker {
    display: block;
    margin-bottom: 5px;
    color: #1765f4;
    font-size: 10px;
    font-weight: 900;
}
body.single-product.woocommerce .tp-product-faq-head h2 {
    margin: 0;
    color: #172a47;
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 950;
    line-height: 1.5;
}
body.single-product.woocommerce .tp-product-faq-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #dbe7fa;
    border-radius: 10px;
    background: #edf4ff;
    color: #2459a6;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}
body.single-product.woocommerce .tp-product-faq-list {
    display: grid;
    gap: 10px;
}
body.single-product.woocommerce .tp-product-faq-item {
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.single-product.woocommerce .tp-product-faq-item[open] {
    border-color: #c9daf6;
    box-shadow: 0 10px 24px rgba(25, 72, 145, .07);
}
body.single-product.woocommerce .tp-product-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 58px;
    padding: 13px 16px;
    color: #263a59;
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.9;
    list-style: none;
    user-select: none;
}
body.single-product.woocommerce .tp-product-faq-item summary::-webkit-details-marker {
    display: none;
}
body.single-product.woocommerce .tp-product-faq-item summary i {
    position: relative;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 9px;
    background: #f0f5fc;
}
body.single-product.woocommerce .tp-product-faq-item summary i::before,
body.single-product.woocommerce .tp-product-faq-item summary i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #42618e;
    transform: translate(-50%, -50%);
    transition: transform .2s ease, opacity .2s ease;
}
body.single-product.woocommerce .tp-product-faq-item summary i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
body.single-product.woocommerce .tp-product-faq-item[open] summary {
    color: #1657c2;
    background: #f7faff;
}
body.single-product.woocommerce .tp-product-faq-item[open] summary i {
    background: #e6efff;
}
body.single-product.woocommerce .tp-product-faq-item[open] summary i::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
}
body.single-product.woocommerce .tp-product-faq-answer {
    padding: 0 16px 16px;
    background: #f7faff;
}
body.single-product.woocommerce .tp-product-faq-answer p {
    margin: 0;
    padding-top: 13px;
    border-top: 1px dashed #dce6f4;
    color: #637087;
    font-size: 11px;
    line-height: 2.15;
}
@media (max-width: 768px) {
    body.single-product.woocommerce div.product > .tp-product-faq {
        grid-column: 1 !important;
        grid-row: 5 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 18px 14px;
        border-radius: 17px;
    }
    body.single-product.woocommerce div.product > .related:not(.tp-recently-viewed-products) {
        grid-row: 6 !important;
    }
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-row: 7 !important;
    }
    body.single-product.woocommerce .tp-product-faq-head {
        align-items: flex-start;
        margin-bottom: 14px;
    }
    body.single-product.woocommerce .tp-product-faq-head h2 {
        font-size: 19px;
    }
    body.single-product.woocommerce .tp-product-faq-item summary {
        min-height: 54px;
        padding: 12px;
        font-size: 11px;
    }
    body.single-product.woocommerce .tp-product-faq-answer {
        padding: 0 12px 13px;
    }
}

/* v0.8.63 — Defensive single-product grid placement repair */
@media (min-width: 769px) {
    body.single-product.woocommerce div.product {
        grid-template-areas:
            "gallery specs summary"
            "tabs tabs tabs"
            "faq faq faq"
            "related related related"
            "recent recent recent" !important;
    }
    body.single-product.woocommerce div.product > .tp-product-faq {
        grid-area: faq !important;
        grid-column: 1 / -1 !important;
    }
    body.single-product.woocommerce div.product > .related:not(.tp-recently-viewed-products) {
        grid-area: related !important;
        grid-column: 1 / -1 !important;
    }
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-area: recent !important;
        grid-column: 1 / -1 !important;
    }
}
@media (max-width: 768px) {
    body.single-product.woocommerce div.product > .tp-product-faq {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }
    body.single-product.woocommerce div.product > .related:not(.tp-recently-viewed-products) {
        grid-column: 1 !important;
        grid-row: 6 !important;
    }
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-column: 1 !important;
        grid-row: 7 !important;
    }
}


/* v0.8.64 — Product purchase benefits */
body.single-product.woocommerce div.product > .tp-product-benefits {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
body.single-product.woocommerce .tp-product-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
body.single-product.woocommerce .tp-product-benefit-card {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 86px;
    padding: 15px;
    border: 1px solid #e2e8f1;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, #f9fbfe 100%);
    box-shadow: 0 8px 24px rgba(20, 45, 88, .045);
    box-sizing: border-box;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.single-product.woocommerce .tp-product-benefit-card:hover {
    transform: translateY(-2px);
    border-color: #cbdcf6;
    box-shadow: 0 13px 30px rgba(20, 45, 88, .075);
}
body.single-product.woocommerce .tp-product-benefit-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #edf4ff;
    color: #1765f4;
}
body.single-product.woocommerce .tp-product-benefit-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.single-product.woocommerce .tp-product-benefit-card strong {
    display: block;
    margin: 0 0 4px;
    color: #1d2f4d;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.65;
}
body.single-product.woocommerce .tp-product-benefit-card p {
    margin: 0;
    color: #6f7d90;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.8;
}
@media (max-width: 980px) {
    body.single-product.woocommerce .tp-product-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    body.single-product.woocommerce .tp-product-benefits-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }
    body.single-product.woocommerce .tp-product-benefit-card {
        min-height: 76px;
        padding: 12px;
        border-radius: 14px;
    }
    body.single-product.woocommerce .tp-product-benefit-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
        border-radius: 11px;
    }
}

/* v0.8.65 — Mobile sticky purchase bar */
.tp-mobile-buybar {
    display: none;
}

@media (max-width: 768px) {
    body.single-product.tp-mobile-buybar-open {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }

    body.single-product .tp-mobile-buybar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 9998;
        display: block;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(214, 224, 238, .92);
        background: rgba(255, 255, 255, .94);
        box-shadow: 0 -14px 34px rgba(17, 37, 74, .14);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        opacity: 0;
        visibility: hidden;
        transform: translateY(calc(100% + 18px));
        transition: opacity .24s ease, visibility .24s ease, transform .28s ease;
    }

    body.single-product .tp-mobile-buybar.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    body.single-product .tp-mobile-buybar-inner {
        width: min(100%, 560px);
        min-height: 58px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr) minmax(126px, auto);
        align-items: center;
        gap: 10px;
        direction: rtl;
    }

    body.single-product .tp-mobile-buybar-image {
        width: 52px;
        height: 52px;
        display: block;
        object-fit: cover;
        border: 1px solid #e2e8f1;
        border-radius: 12px;
        background: #fff;
    }

    body.single-product .tp-mobile-buybar-info {
        min-width: 0;
        display: grid;
        gap: 3px;
    }

    body.single-product .tp-mobile-buybar-title {
        overflow: hidden;
        color: #24334c;
        font-size: 10px;
        font-weight: 900;
        line-height: 1.6;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.single-product .tp-mobile-buybar-price,
    body.single-product .tp-mobile-buybar-price .price,
    body.single-product .tp-mobile-buybar-price .tp-single-price-wrap {
        margin: 0 !important;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px;
        line-height: 1.35;
    }

    body.single-product .tp-mobile-buybar-price .tp-single-price-current {
        color: #14213a;
        font-size: 14px;
        font-weight: 950;
    }

    body.single-product .tp-mobile-buybar-price .tp-single-price-wrap small {
        color: #1765f4;
        font-size: 8px;
        font-weight: 900;
    }

    body.single-product .tp-mobile-buybar-price del {
        color: #8d98a8;
        font-size: 8px;
    }

    body.single-product .tp-mobile-buybar-price ins {
        text-decoration: none;
    }

    body.single-product .tp-mobile-buybar-button {
        min-width: 126px;
        min-height: 50px;
        margin: 0;
        padding: 0 14px;
        border: 0;
        border-radius: 13px;
        background: linear-gradient(135deg, #1c67f5 0%, #0d53d8 100%);
        color: #fff;
        box-shadow: 0 12px 24px rgba(23, 101, 244, .24);
        font-family: inherit;
        font-size: 11px;
        font-weight: 950;
        line-height: 1.5;
        cursor: pointer;
        transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }

    body.single-product .tp-mobile-buybar-button:active {
        transform: scale(.98);
        box-shadow: 0 7px 16px rgba(23, 101, 244, .2);
    }

    body.single-product .summary form.cart.tp-cart-attention {
        animation: tp-cart-attention-v0865 .8s ease;
    }

    @keyframes tp-cart-attention-v0865 {
        0%, 100% { box-shadow: 0 14px 32px rgba(17, 37, 74, .08); }
        45% { box-shadow: 0 0 0 4px rgba(23, 101, 244, .16), 0 16px 34px rgba(17, 37, 74, .12); }
    }
}

@media (max-width: 430px) {
    body.single-product .tp-mobile-buybar-inner {
        grid-template-columns: 44px minmax(0, 1fr) minmax(116px, auto);
        gap: 8px;
    }

    body.single-product .tp-mobile-buybar-image {
        width: 44px;
        height: 44px;
        border-radius: 10px;
    }

    body.single-product .tp-mobile-buybar-button {
        min-width: 116px;
        min-height: 48px;
        padding-inline: 10px;
        font-size: 10px;
    }

    body.single-product .tp-mobile-buybar-title {
        font-size: 9px;
    }

    body.single-product .tp-mobile-buybar-price .tp-single-price-current {
        font-size: 12px;
    }
}

/* v0.10.38 — Catch editor-generated wrappers around category tables. */
@media (max-width: 760px) {
    body.tax-product_cat .tp-category-description-content :where(.wp-block-table,.table-responsive,.table-container,.responsive-table,figure,div):has(table) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-x: visible !important;
    }
    body.tax-product_cat .tp-category-description-content {
        overflow-x: hidden !important;
    }
    body.tax-product_cat .tp-category-description-content table,
    body.tax-product_cat .tp-category-description-content table * {
        box-sizing: border-box !important;
    }
}

/* v0.8.66 — Product share and save controls */
body.single-product.woocommerce .summary .tp-product-actions {
    position: relative;
    display: grid;
    gap: 10px;
    margin: 14px 0 0;
    padding: 13px;
    border: 1px solid #e2e9f2;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8faff 100%);
    box-shadow: 0 8px 22px rgba(21, 43, 82, 0.055);
}
body.single-product.woocommerce .summary .tp-product-actions-label {
    color: #253a5c;
    font-size: 10px;
    font-weight: 950;
    line-height: 1.6;
}
body.single-product.woocommerce .summary .tp-product-actions-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}
body.single-product.woocommerce .summary .tp-product-action-button {
    appearance: none;
    -webkit-appearance: none;
    min-width: 0;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 8px 9px;
    border: 1px solid #dce5f0;
    border-radius: 10px;
    background: #fff;
    color: #465a77;
    box-shadow: 0 3px 10px rgba(25, 48, 87, 0.035);
    font: inherit;
    font-size: 9px;
    font-weight: 850;
    line-height: 1.55;
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.single-product.woocommerce .summary .tp-product-action-button svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.single-product.woocommerce .summary .tp-product-action-button:hover,
body.single-product.woocommerce .summary .tp-product-action-button:focus-visible {
    border-color: #b9cef2;
    background: #f0f6ff;
    color: #1765f4;
    box-shadow: 0 7px 16px rgba(23, 101, 244, 0.09);
    outline: none;
    transform: translateY(-1px);
}
body.single-product.woocommerce .summary .tp-product-action-button:active {
    transform: translateY(0);
}
body.single-product.woocommerce .summary .tp-product-save-button.is-saved,
body.single-product.woocommerce .summary .tp-product-save-button[aria-pressed="true"] {
    border-color: #b9cef2;
    background: #edf4ff;
    color: #1765f4;
}
body.single-product.woocommerce .summary .tp-product-save-button.is-saved svg,
body.single-product.woocommerce .summary .tp-product-save-button[aria-pressed="true"] svg {
    fill: currentColor;
}
body.single-product.woocommerce .summary .tp-product-action-toast {
    position: absolute;
    inset-inline-start: 13px;
    bottom: -35px;
    z-index: 8;
    display: block;
    max-width: calc(100% - 26px);
    padding: 7px 10px;
    border-radius: 9px;
    background: #182842;
    color: #fff;
    box-shadow: 0 10px 24px rgba(13, 30, 57, .2);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.6;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}
body.single-product.woocommerce .summary .tp-product-action-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
@media (max-width: 980px) and (min-width: 769px) {
    body.single-product.woocommerce .summary .tp-product-actions-buttons {
        grid-template-columns: 1fr;
    }
    body.single-product.woocommerce .summary .tp-product-action-button {
        justify-content: flex-start;
    }
}
@media (max-width: 560px) {
    body.single-product.woocommerce .summary .tp-product-actions {
        padding: 12px;
    }
    body.single-product.woocommerce .summary .tp-product-actions-buttons {
        grid-template-columns: 1fr;
    }
    body.single-product.woocommerce .summary .tp-product-action-button {
        justify-content: flex-start;
        min-height: 44px;
        padding-inline: 12px;
        font-size: 10px;
    }
}

/* v0.8.67 — Product rating and review summary */
body.single-product.woocommerce .summary .tp-product-rating-summary {
    width: 100%;
    margin: 2px 0 12px;
}
body.single-product.woocommerce .summary .tp-product-rating-link {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid #e2e9f2;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, #f8faff 100%);
    color: #243650;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(17, 41, 87, .045);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.single-product.woocommerce .summary .tp-product-rating-link:hover,
body.single-product.woocommerce .summary .tp-product-rating-link:focus-visible {
    border-color: #b9cdf0;
    box-shadow: 0 12px 26px rgba(23, 101, 244, .09);
    transform: translateY(-1px);
    outline: none;
}
body.single-product.woocommerce .summary .tp-product-rating-stars {
    position: relative;
    display: inline-block;
    width: 84px;
    height: 20px;
    direction: ltr;
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 20px;
    letter-spacing: 1px;
    white-space: nowrap;
}
body.single-product.woocommerce .summary .tp-product-rating-stars-base {
    color: #dbe2ec;
}
body.single-product.woocommerce .summary .tp-product-rating-stars-fill {
    position: absolute;
    inset: 0 auto 0 0;
    overflow: hidden;
    color: #f7b928;
    white-space: nowrap;
}
body.single-product.woocommerce .summary .tp-product-rating-copy {
    min-width: 0;
}
body.single-product.woocommerce .summary .tp-product-rating-copy strong,
body.single-product.woocommerce .summary .tp-product-rating-copy small {
    display: block;
}
body.single-product.woocommerce .summary .tp-product-rating-copy strong {
    color: #263a59;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.65;
}
body.single-product.woocommerce .summary .tp-product-rating-copy small {
    margin-top: 2px;
    color: #7c899b;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.6;
}
body.single-product.woocommerce .summary .tp-product-rating-cta {
    color: #1765f4;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}
body.single-product.woocommerce .summary .tp-product-rating-arrow {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    color: #7c8ba1;
}
@media (max-width: 980px) {
    body.single-product.woocommerce .summary .tp-product-rating-link {
        grid-template-columns: auto minmax(0, 1fr) 16px;
        gap: 8px;
        padding: 9px 10px;
    }
    body.single-product.woocommerce .summary .tp-product-rating-cta {
        display: none;
    }
    body.single-product.woocommerce .summary .tp-product-rating-stars {
        width: 72px;
        font-size: 15px;
        letter-spacing: .7px;
    }
}

/* v0.8.68 — Product breadcrumb and shop return */
body.single-product.woocommerce .tp-product-breadcrumb-wrap {
    width: min(1420px, calc(100% - 12px));
    max-width: 1420px;
    margin: 24px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px 10px 16px;
    border: 1px solid #e3e9f1;
    border-radius: 14px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 24px rgba(21, 42, 78, .045);
    box-sizing: border-box;
}
body.single-product.woocommerce .tp-product-breadcrumb {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    color: #7c899b;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.8;
    white-space: nowrap;
}
body.single-product.woocommerce .tp-product-breadcrumb a {
    flex: 0 0 auto;
    color: #66758b;
    text-decoration: none;
    transition: color .2s ease;
}
body.single-product.woocommerce .tp-product-breadcrumb a:hover,
body.single-product.woocommerce .tp-product-breadcrumb a:focus-visible {
    color: #1765f4;
    outline: none;
}
body.single-product.woocommerce .tp-product-breadcrumb-separator {
    flex: 0 0 auto;
    color: #c1cad6;
    font-weight: 500;
}
body.single-product.woocommerce .tp-product-breadcrumb-current {
    min-width: 0;
    overflow: hidden;
    color: #283a57;
    font-weight: 900;
    text-overflow: ellipsis;
}
body.single-product.woocommerce .tp-product-shop-return {
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid #dbe6f7;
    border-radius: 10px;
    background: #edf4ff;
    color: #2459a6;
    font-size: 10px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
body.single-product.woocommerce .tp-product-shop-return svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.single-product.woocommerce .tp-product-shop-return:hover,
body.single-product.woocommerce .tp-product-shop-return:focus-visible {
    border-color: #bfd3f4;
    background: #e4efff;
    transform: translateY(-1px);
    outline: none;
}
@media (max-width: 768px) {
    body.single-product.woocommerce .tp-product-breadcrumb-wrap {
        width: min(100% - 24px, 560px);
        margin-top: 16px;
        padding: 9px 10px;
        gap: 8px;
    }
    body.single-product.woocommerce .tp-product-breadcrumb {
        gap: 6px;
        font-size: 9px;
    }
    body.single-product.woocommerce .tp-product-shop-return {
        width: 38px;
        min-width: 38px;
        height: 38px;
        min-height: 38px;
        padding: 0;
    }
    body.single-product.woocommerce .tp-product-shop-return span {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

/* v0.8.69 — Compact product order guide */
body.single-product .tp-product-order-guide {
    margin: 14px 0 0;
    padding: 13px;
    border: 1px solid #e2e9f2;
    border-radius: 15px;
    background: #fbfcfe;
}
body.single-product .tp-product-order-guide-title {
    margin: 0 0 10px;
    color: #253b5c;
    font-size: 11px;
    font-weight: 950;
    line-height: 1.7;
}
body.single-product .tp-product-order-guide-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}
body.single-product .tp-product-order-guide-item {
    min-width: 0;
    border: 1px solid #e4eaf2;
    border-radius: 11px;
    background: #fff;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body.single-product .tp-product-order-guide-item[open] {
    border-color: #bfd2f4;
    background: #f7faff;
    box-shadow: 0 8px 18px rgba(25, 68, 136, .07);
}
body.single-product .tp-product-order-guide-item summary {
    min-height: 70px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 7px;
    padding: 9px;
    list-style: none;
    cursor: pointer;
    user-select: none;
}
body.single-product .tp-product-order-guide-item summary::-webkit-details-marker { display: none; }
body.single-product .tp-product-order-guide-icon {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #1765f4;
    background: #edf4ff;
}
body.single-product .tp-product-order-guide-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
body.single-product .tp-product-order-guide-item summary strong,
body.single-product .tp-product-order-guide-item summary small {
    display: block;
    min-width: 0;
}
body.single-product .tp-product-order-guide-item summary strong {
    color: #263b5c;
    font-size: 9px;
    font-weight: 950;
    line-height: 1.65;
}
body.single-product .tp-product-order-guide-item summary small {
    margin-top: 2px;
    color: #7a8799;
    font-size: 7.5px;
    font-weight: 700;
    line-height: 1.6;
}
body.single-product .tp-product-order-guide-item summary > i {
    position: relative;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #eef2f7;
}
body.single-product .tp-product-order-guide-item summary > i::before,
body.single-product .tp-product-order-guide-item summary > i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 1.5px;
    border-radius: 2px;
    background: #52637b;
    transform: translate(-50%, -50%);
    transition: transform .2s ease, opacity .2s ease;
}
body.single-product .tp-product-order-guide-item summary > i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
body.single-product .tp-product-order-guide-item[open] summary > i::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
}
body.single-product .tp-product-order-guide-content {
    padding: 0 10px 11px;
    color: #647287;
    font-size: 8.5px;
    font-weight: 650;
    line-height: 1.95;
}
@media (max-width: 1100px) {
    body.single-product .tp-product-order-guide-grid {
        grid-template-columns: 1fr;
    }
    body.single-product .tp-product-order-guide-item summary {
        min-height: 54px;
        grid-template-columns: 32px minmax(0, 1fr) 14px;
    }
}
@media (max-width: 560px) {
    body.single-product .tp-product-order-guide {
        padding: 11px;
        border-radius: 13px;
    }
    body.single-product .tp-product-order-guide-title {
        font-size: 10px;
    }
}

/* v0.8.70 — In-stock genre recommendations and explicit product-grid rows */
@media (min-width: 769px) {
    body.single-product.woocommerce div.product {
        grid-template-areas:
            "gallery specs summary"
            "tabs tabs tabs"
            "benefits benefits benefits"
            "faq faq faq"
            "related related related"
            "genre genre genre"
            "recent recent recent" !important;
    }
    body.single-product.woocommerce div.product > .tp-product-benefits {
        grid-area: benefits !important;
        grid-column: 1 / -1 !important;
    }
    body.single-product.woocommerce div.product > .tp-genre-recommendations {
        grid-area: genre !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}
body.single-product.woocommerce div.product > section.tp-genre-recommendations {
    position: relative;
    padding: 24px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background:
        radial-gradient(circle at 8% 0%, rgba(23, 101, 244, .09), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    box-shadow: 0 14px 36px rgba(18, 43, 82, .055);
    box-sizing: border-box;
}
body.single-product.woocommerce div.product > section.tp-genre-recommendations::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, #1765f4, #6f9ef8);
}
body.single-product.woocommerce .tp-genre-recommendations-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
body.single-product.woocommerce .tp-genre-recommendations-head span {
    display: block;
    margin-bottom: 5px;
    color: #1765f4;
    font-size: 10px;
    font-weight: 900;
}
body.single-product.woocommerce .tp-genre-recommendations-head h2 {
    margin: 0;
    color: #172a47;
    font-size: clamp(19px, 2vw, 25px);
    font-weight: 950;
    line-height: 1.5;
}
body.single-product.woocommerce .tp-genre-recommendations-head > a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid #cfe0fb;
    border-radius: 10px;
    background: #edf4ff;
    color: #2459a6;
    font-size: 10px;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease;
}
body.single-product.woocommerce .tp-genre-recommendations-head > a:hover,
body.single-product.woocommerce .tp-genre-recommendations-head > a:focus-visible {
    border-color: #b7cef5;
    background: #e4efff;
    transform: translateY(-1px);
    outline: none;
}
body.single-product.woocommerce section.tp-genre-recommendations ul.products,
body.single-product.woocommerce section.tp-genre-recommendations ul.products.columns-4 {
    margin: 0 !important;
    padding-top: 0 !important;
}
@media (max-width: 768px) {
    body.single-product.woocommerce div.product > .woocommerce-tabs {
        grid-row: 4 !important;
    }
    body.single-product.woocommerce div.product > .tp-product-benefits {
        grid-column: 1 !important;
        grid-row: 5 !important;
    }
    body.single-product.woocommerce div.product > .tp-product-faq {
        grid-column: 1 !important;
        grid-row: 6 !important;
    }
    body.single-product.woocommerce div.product > .related:not(.tp-recently-viewed-products):not(.tp-genre-recommendations) {
        grid-column: 1 !important;
        grid-row: 7 !important;
    }
    body.single-product.woocommerce div.product > .tp-genre-recommendations {
        grid-column: 1 !important;
        grid-row: 8 !important;
        width: 100% !important;
        margin: 0 !important;
    }
    body.single-product.woocommerce div.product > .tp-recently-viewed-products {
        grid-column: 1 !important;
        grid-row: 9 !important;
    }
    body.single-product.woocommerce div.product > section.tp-genre-recommendations {
        padding: 18px 14px;
        border-radius: 17px;
    }
    body.single-product.woocommerce .tp-genre-recommendations-head {
        align-items: flex-start;
        margin-bottom: 14px;
    }
    body.single-product.woocommerce .tp-genre-recommendations-head h2 {
        font-size: 19px;
    }
    body.single-product.woocommerce .tp-genre-recommendations-head > a {
        min-height: 34px;
        padding-inline: 10px;
        font-size: 9px;
    }
}
@media (max-width: 560px) {
    body.single-product.woocommerce .tp-genre-recommendations-head {
        display: grid;
        gap: 10px;
    }
    body.single-product.woocommerce .tp-genre-recommendations-head > a {
        width: max-content;
        max-width: 100%;
    }
}

/* v0.8.72 — Best-selling platform row removed. Related and genre-relevant rows remain. */

/* v0.8.90 — consolidated and stable shop/category archive */
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-woo-shell {
    width: min(1320px, calc(100% - 40px));
    padding-top: 24px;
    padding-bottom: 58px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-breadcrumb {
    margin: 0 0 14px;
    color: #7d899a;
    font-size: 11px;
    line-height: 1.8;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-breadcrumb a {
    color: #50617a;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header {
    position: relative;
    min-height: 224px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 10px;
    margin: 0 0 15px;
    padding: 34px 40px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 22px;
    background:
        radial-gradient(circle at 7% 18%, rgba(64, 137, 255, .38), transparent 30%),
        radial-gradient(circle at 93% 8%, rgba(78, 148, 255, .18), transparent 33%),
        linear-gradient(125deg, #071731 0%, #0d2d62 57%, #1553aa 100%);
    box-shadow: 0 22px 48px rgba(13, 40, 82, .15);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::before,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::before {
    inset: -110px auto auto -90px;
    width: 260px;
    height: 260px;
    border: 42px solid rgba(255,255,255,.035);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::after {
    inset: auto -105px -160px auto;
    width: 370px;
    height: 370px;
    border: 62px solid rgba(255,255,255,.045);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header__title {
    position: relative;
    z-index: 2;
    max-width: 900px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 40px);
    font-weight: 950;
    line-height: 1.4;
    letter-spacing: -.02em;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-content {
    position: relative;
    z-index: 2;
    max-width: 920px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-kicker {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: #d2e1f7;
    background: rgba(255,255,255,.075);
    font-size: 10px;
    font-weight: 800;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-lead {
    max-width: 780px;
    margin: 9px 0 0;
    color: #c9d7ea;
    font-size: 12px;
    font-weight: 600;
    line-height: 2;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 17px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span {
    min-width: 150px;
    min-height: 53px;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 9px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 13px;
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(8px);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats strong {
    grid-row: 1 / 3;
    color: #fff;
    font-size: 18px;
    font-weight: 950;
    line-height: 1;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats small {
    color: #b9cae3;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.55;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live {
    grid-template-columns: 11px 1fr;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live i {
    grid-row: 1 / 3;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #39d77d;
    box-shadow: 0 0 0 5px rgba(57,215,125,.13);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live strong {
    grid-row: 1;
    font-size: 11px;
    line-height: 1.4;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live small {
    grid-column: 2;
}

/* Platform badge intentionally removed from both the global header and category hero. */
.tp-site-platform-badge,
.tp-archive-hero-mark {
    display: none !important;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 14px;
    padding: 8px;
    overflow: visible;
    border: 1px solid #dfe7f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(18,41,79,.05);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a {
    position: relative;
    min-width: 0;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #40516a;
    background: #f5f7fb;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    text-align: center;
    white-space: nowrap;
    transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a::before {
    content: "";
    width: 6px;
    height: 6px;
    margin-left: 8px;
    flex: 0 0 6px;
    border: 2px solid #a8b7ca;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a:hover {
    transform: translateY(-1px);
    color: #175dcc;
    border-color: #cad9f1;
    background: #edf4ff;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a.is-active {
    color: #fff;
    border-color: #1765f4;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%);
    box-shadow: 0 10px 22px rgba(23,101,244,.20);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a.is-active::before {
    border-color: #fff;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255,255,255,.14);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-category-description-top {
    margin-bottom: 14px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls {
    min-height: 68px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: 12px;
    margin: 0 0 4px;
    padding: 11px 12px;
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18,41,79,.045);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid #dfe8f4;
    border-radius: 10px;
    color: #48617f;
    background: #f7f9fc;
    font-size: 9px;
    font-weight: 750;
    white-space: nowrap;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits span::before {
    content: "✓";
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    color: #158f50;
    background: #e8f8ef;
    font-size: 10px;
    font-weight: 950;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter label {
    color: #526176;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter select {
    min-width: 145px;
    height: 42px;
    padding: 0 11px;
    border: 1px solid #dce5ef;
    border-radius: 10px;
    color: #344258;
    background: #f8fafc;
    font-family: inherit;
    font-size: 10px;
    font-weight: 700;
    outline: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter select:focus {
    border-color: #8eb5ff;
    box-shadow: 0 0 0 3px rgba(23,101,244,.08);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter button,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter-reset {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border: 0;
    border-radius: 10px;
    font-family: inherit;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter button {
    color: #fff;
    background: #1765f4;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter-reset {
    color: #68758a;
    background: #eef1f5;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-result-count {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #e0e7f1;
    border-radius: 10px;
    color: #596b84;
    background: #fbfcfe;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-result-count::before {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: 8px;
    border-radius: 50%;
    background: #1765f4;
    box-shadow: 0 0 0 4px rgba(23,101,244,.10);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-ordering {
    position: relative;
    min-width: 230px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-ordering::before {
    content: "مرتب‌سازی";
    color: #344964;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-ordering select {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 11px;
    border: 1px solid #dce5ef;
    border-radius: 10px;
    color: #2f4059;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 700;
    outline: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products {
    clear: both;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
    padding: 18px 0 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products::before,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products::after,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products::before,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products::after {
    display: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products li.product,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product {
    position: relative;
    min-width: 0;
    min-height: 500px;
    width: auto;
    float: none;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 10px 10px 12px;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(15,37,75,.055);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products li.product:hover,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: #cbd8eb;
    box-shadow: 0 20px 42px rgba(15,37,75,.10);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product > a.woocommerce-LoopProduct-link {
    min-width: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product a img {
    width: 100%;
    height: 310px;
    margin: 0 0 10px;
    padding: 7px;
    border-radius: 12px;
    background: #f3f6fa;
    object-fit: contain;
    object-position: center;
    transition: transform .25s ease;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product:hover a img {
    transform: scale(1.016);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-new,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce span.onsale {
    position: absolute;
    top: 18px;
    left: 18px;
    right: auto;
    z-index: 5;
    min-width: auto;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 7px;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 6px 15px rgba(15,37,75,.13);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-new {
    background: #1765f4;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce span.onsale {
    background: #e3425b;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-platform {
    display: none !important;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-meta {
    min-height: 27px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 5px;
    color: #8d98a9;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.6;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-meta .is-stock {
    color: #159552;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-meta .is-out {
    color: #d94b5e;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .woocommerce-loop-product__title {
    min-height: 62px;
    max-height: 62px;
    display: -webkit-box;
    margin: 0;
    padding: 8px 5px 9px;
    overflow: hidden;
    border-bottom: 1px solid #e8edf3;
    color: #17233a;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.85;
    text-align: right;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .star-rating {
    display: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .price {
    min-height: 52px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: auto 4px 0;
    padding: 10px 0 2px;
    color: #111d31;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.5;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .price del {
    order: 2;
    color: #9ca6b4;
    font-size: 10px;
    font-weight: 650;
    opacity: 1;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .price ins {
    order: 1;
    color: #111d31;
    text-decoration: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-price-unit {
    order: 3;
    color: #7b8798;
    font-size: 9px;
    font-weight: 700;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .button,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .added_to_cart {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 9px 4px 0;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #1765f4;
    font-size: 11px;
    font-weight: 850;
    text-align: center;
    transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .button:hover,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .added_to_cart:hover {
    transform: translateY(-1px);
    background: #0f55d6;
    box-shadow: 0 9px 18px rgba(23,101,244,.18);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product.outofstock .button {
    color: #6d7889;
    background: #edf0f4;
    box-shadow: none;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination {
    margin-top: 28px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination ul {
    display: inline-flex;
    gap: 5px;
    border: 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination ul li {
    margin: 0;
    border: 0;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination ul li a,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination ul li span {
    min-width: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #dfe6ef;
    border-radius: 9px;
    color: #536176;
    background: #fff;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) nav.woocommerce-pagination ul li span.current {
    color: #fff;
    border-color: #1765f4;
    background: #1765f4;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-info,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-notices-wrapper {
    clear: both;
}

@media (max-width: 1180px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits {
        grid-column: 1 / -1;
        order: 4;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-woo-shell {
        width: min(100% - 28px, 1320px);
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header {
        min-height: 205px;
        padding: 28px 26px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls {
        grid-template-columns: 1fr 1fr;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter {
        grid-column: 1 / -1;
        width: 100%;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter select {
        flex: 1 1 auto;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-ordering {
        min-width: 0;
        width: 100%;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 13px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product {
        min-height: 470px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product a img {
        height: 285px;
    }
}

@media (max-width: 640px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-woo-shell {
        width: min(100% - 20px, 1320px);
        padding-top: 16px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header {
        min-height: 0;
        padding: 24px 20px;
        border-radius: 18px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header__title {
        font-size: 25px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-lead {
        font-size: 10px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span {
        min-width: 0;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span:last-child {
        grid-column: 1 / -1;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav {
        display: flex;
        gap: 7px;
        padding: 7px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav::-webkit-scrollbar {
        display: none;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav a {
        flex: 0 0 auto;
        min-height: 42px;
        padding: 0 12px;
        font-size: 10px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls {
        grid-template-columns: 1fr;
        gap: 9px;
        padding: 10px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits {
        grid-column: auto;
        width: 100%;
        overflow-x: auto;
        order: initial;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-benefits span {
        flex: 0 0 auto;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter {
        grid-column: auto;
        display: grid;
        grid-template-columns: 1fr auto;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter label {
        grid-column: 1 / -1;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter select {
        min-width: 0;
        width: 100%;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-genre-filter-reset {
        grid-column: 1 / -1;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-result-count,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-controls .woocommerce-ordering {
        width: 100%;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding-top: 12px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product {
        min-height: 365px;
        padding: 7px 7px 9px;
        border-radius: 13px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product a img {
        height: 190px;
        margin-bottom: 7px;
        padding: 4px;
        border-radius: 10px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-new,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce span.onsale {
        top: 12px;
        left: 12px;
        min-height: 21px;
        padding-inline: 7px;
        font-size: 8px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-product-meta {
        min-height: 23px;
        padding-inline: 2px;
        font-size: 7.5px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .woocommerce-loop-product__title {
        min-height: 56px;
        max-height: 56px;
        padding: 7px 3px;
        font-size: 10.5px;
        line-height: 1.9;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .price {
        min-height: 44px;
        margin-inline: 2px;
        padding-top: 7px;
        font-size: 12px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-price-unit {
        font-size: 8px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .button,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product .added_to_cart {
        min-height: 36px;
        margin: 6px 2px 0;
        padding-inline: 7px;
        border-radius: 9px;
        font-size: 9px;
    }
}

@media (max-width: 390px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce ul.products,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products {
        grid-template-columns: 1fr;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product {
        min-height: 0;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) ul.products li.product a img {
        height: 320px;
    }
}

/* TehranPlay 0.8.91 — category hero text contrast + clean stat cards */
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header {
    min-height: 250px;
    padding: 34px 40px 28px;
    border: 1px solid #dbe5f1;
    border-radius: 24px;
    background:
        radial-gradient(circle at 12% 18%, rgba(58, 126, 255, .12), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(58, 126, 255, .08), transparent 22%),
        linear-gradient(180deg, #f6f9fd 0%, #eff4fa 100%);
    box-shadow: 0 14px 34px rgba(17, 40, 76, .06);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::before {
    inset: -80px auto auto -70px;
    width: 200px;
    height: 200px;
    border: 30px solid rgba(29, 103, 244, .05);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header::after {
    inset: auto -90px -120px auto;
    width: 260px;
    height: 260px;
    border: 40px solid rgba(29, 103, 244, .045);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header__title,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description p,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-content,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-kicker,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-lead,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats strong,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats small {
    opacity: 1 !important;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header__title {
    color: #0c2245;
    font-size: clamp(31px, 3vw, 46px);
    line-height: 1.35;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-content {
    max-width: 100%;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-kicker {
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid #cadefb;
    border-radius: 999px;
    color: #234f95;
    background: #eef4ff;
    font-size: 12px;
    font-weight: 900;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-lead,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description,
:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description p {
    max-width: 860px;
    margin-top: 12px;
    color: #576980;
    font-size: 14px;
    font-weight: 700;
    line-height: 2;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(100%, 700px);
    gap: 14px;
    margin-top: 20px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span {
    min-width: 0;
    min-height: 82px;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    justify-items: start;
    row-gap: 6px;
    padding: 14px 18px;
    border: 1px solid #dbe5f1;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 10px 24px rgba(17, 40, 76, .05);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats strong {
    grid-row: 1;
    color: #0f2f5c;
    font-size: 28px;
    font-weight: 950;
    line-height: 1.1;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats small {
    color: #6d7f97;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live {
    grid-template-columns: 16px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live i {
    grid-row: 1 / span 2;
    width: 10px;
    height: 10px;
    margin-top: 4px;
    background: #31c56e;
    box-shadow: 0 0 0 6px rgba(49,197,110,.14);
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live strong {
    grid-column: 2;
    grid-row: 1;
    color: #17704a;
    font-size: 18px;
    line-height: 1.5;
}

:where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats .is-live small {
    grid-column: 2;
    grid-row: 2;
}

@media (max-width: 1100px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
        width: 100%;
    }
}

@media (max-width: 820px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header {
        min-height: 0;
        padding: 28px 24px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .woocommerce-products-header__title {
        font-size: 28px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-kicker {
        font-size: 11px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-lead,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description,
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .term-description p {
        font-size: 12px;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats {
        grid-template-columns: 1fr;
    }

    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-archive-hero-stats > span:last-child {
        grid-column: auto;
    }
}

/* TehranPlay 0.8.93 — full-width category description and professional table */
:where(body.tax-product_cat) .tp-category-description-top {
    position: relative;
    display: block;
    margin: 0 0 16px;
    padding: 22px 26px;
    overflow: hidden;
    border: 1px solid #dbe5f1;
    border-right: 4px solid #1765f4;
    border-radius: 18px;
    background:
        radial-gradient(circle at 4% 18%, rgba(23, 101, 244, .07), transparent 27%),
        linear-gradient(135deg, #ffffff 0%, #f7faff 100%);
    box-shadow: 0 12px 30px rgba(18, 41, 79, .055);
}

:where(body.tax-product_cat) .tp-category-description-top::after {
    content: "";
    position: absolute;
    left: -52px;
    bottom: -74px;
    width: 150px;
    height: 150px;
    border: 24px solid rgba(23, 101, 244, .035);
    border-radius: 50%;
    pointer-events: none;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content {
    position: relative;
    z-index: 1;
    min-width: 0;
    color: #42556f;
    font-size: 13px;
    font-weight: 600;
    line-height: 2.1;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content p {
    margin: 0 0 12px;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content p:last-child {
    margin-bottom: 0;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h2,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h3,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h4 {
    margin: 20px 0 9px;
    color: #142946;
    font-weight: 950;
    line-height: 1.7;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h2:first-child,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h3:first-child,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h4:first-child {
    margin-top: 0;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h2 { font-size: 19px; }
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h3 { font-size: 16px; }
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content h4 { font-size: 14px; }

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content strong {
    color: #263d5d;
    font-weight: 900;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content a {
    color: #1765f4;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px dashed rgba(23,101,244,.45);
}

/* Native category-content tables */
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table {
    width: 100%;
    margin: 18px 0 6px;
    border: 1px solid #cfdbea;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(18, 41, 79, .045);
    color: #31445f;
    font-size: 12px;
    line-height: 1.8;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table th,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table td {
    padding: 12px 14px;
    border-left: 1px solid #d9e3ef;
    border-bottom: 1px solid #d9e3ef;
    text-align: right;
    vertical-align: middle;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tr > *:last-child {
    border-left: 0;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tbody tr:last-child > * {
    border-bottom: 0;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table thead th {
    color: #123766;
    background: #eaf2ff;
    font-weight: 950;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tbody th {
    color: #243c5d;
    background: #f4f7fb;
    font-weight: 900;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tbody tr:nth-child(even) td {
    background: #f9fbfe;
}

:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tbody tr:hover td,
:where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table tbody tr:hover th {
    background: #eef5ff;
}

@media (max-width: 760px) {
    :where(body.tax-product_cat) .tp-category-description-top {
        padding: 18px 20px;
    }

    :where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content {
        overflow-x: auto;
        font-size: 12px;
        line-height: 2;
        scrollbar-width: thin;
    }

    :where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table {
        min-width: 680px;
        font-size: 11px;
    }
}

@media (max-width: 560px) {
    :where(body.tax-product_cat) .tp-category-description-top {
        padding: 16px;
        border-radius: 15px;
    }

    :where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table th,
    :where(body.tax-product_cat) .tp-category-description-top .tp-category-description-content table td {
        padding: 10px 12px;
    }
}


/* TehranPlay 0.8.97 — professional lower category description */
:where(body.tax-product_cat) .tp-category-description-bottom {
    position: relative;
    isolation: isolate;
    margin: 42px 0 8px;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dbe5f1;
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(16, 42, 80, .075);
}

:where(body.tax-product_cat) .tp-category-description-bottom::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    z-index: 2;
    height: 4px;
    background: linear-gradient(90deg, #1765f4 0%, #5a91ff 48%, #86b3ff 100%);
}

:where(body.tax-product_cat) .tp-category-description-bottom::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: -90px;
    bottom: -115px;
    width: 250px;
    height: 250px;
    border: 38px solid rgba(23, 101, 244, .035);
    border-radius: 50%;
    pointer-events: none;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading {
    position: relative;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 15px;
    margin: 0;
    padding: 27px 30px 23px;
    border-bottom: 1px solid #e4ebf4;
    background:
        radial-gradient(circle at 7% 22%, rgba(23, 101, 244, .09), transparent 26%),
        linear-gradient(180deg, #f9fbff 0%, #f4f8fd 100%);
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 52px;
    height: 52px;
    border: 1px solid #cfe0fb;
    border-radius: 16px;
    background:
        linear-gradient(#1765f4, #1765f4) 50% 15px / 20px 3px no-repeat,
        linear-gradient(#1765f4, #1765f4) 50% 24px / 20px 3px no-repeat,
        linear-gradient(#1765f4, #1765f4) 50% 33px / 14px 3px no-repeat,
        linear-gradient(145deg, #ffffff 0%, #eaf2ff 100%);
    box-shadow: 0 9px 20px rgba(23, 101, 244, .10);
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading span {
    grid-column: 2;
    grid-row: 1;
    display: block;
    margin: 0 0 3px;
    color: #1765f4;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: -.01em;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading h2 {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    color: #102747;
    font-size: clamp(21px, 2vw, 27px);
    font-weight: 950;
    line-height: 1.55;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content {
    position: relative;
    padding: 30px 34px 34px;
    overflow-x: auto;
    color: #42546c;
    font-size: 14px;
    font-weight: 500;
    line-height: 2.15;
    text-align: right;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > :first-child {
    margin-top: 0;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > :last-child {
    margin-bottom: 0;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content p {
    margin: 0 0 17px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h2,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h3,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h4 {
    position: relative;
    margin: 32px 0 13px;
    padding-right: 17px;
    color: #142946;
    font-weight: 950;
    line-height: 1.7;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h2::before,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h3::before,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h4::before {
    content: "";
    position: absolute;
    top: .48em;
    right: 0;
    width: 5px;
    height: 1.15em;
    border-radius: 999px;
    background: linear-gradient(180deg, #1765f4, #6ea0ff);
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h2 {
    font-size: 22px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h3 {
    font-size: 18px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h4 {
    font-size: 15px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content a {
    color: #0f5edb;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px dashed rgba(15, 94, 219, .45);
    transition: color .18s ease, border-color .18s ease;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content a:hover {
    color: #0a46a8;
    border-bottom-color: #0a46a8;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ul,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ol {
    margin: 18px 0 24px;
    padding: 0;
    list-style: none;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ul > li,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ol > li {
    position: relative;
    min-height: 47px;
    display: flex;
    align-items: center;
    padding: 10px 43px 10px 14px;
    border: 1px solid #e0e8f2;
    border-radius: 13px;
    color: #354a66;
    background: #f8fafd;
    line-height: 1.8;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ul > li::before {
    content: "✓";
    position: absolute;
    right: 13px;
    width: 21px;
    height: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    color: #1765f4;
    background: #eaf2ff;
    font-size: 11px;
    font-weight: 950;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ol {
    counter-reset: tp-category-list;
    display: grid;
    gap: 9px;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ol > li {
    counter-increment: tp-category-list;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ol > li::before {
    content: counter(tp-category-list);
    position: absolute;
    right: 13px;
    width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #ffffff;
    background: #1765f4;
    font-size: 10px;
    font-weight: 950;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content blockquote {
    position: relative;
    margin: 24px 0;
    padding: 20px 24px 20px 22px;
    border: 1px solid #d7e4f7;
    border-right: 4px solid #1765f4;
    border-radius: 15px;
    color: #294666;
    background: linear-gradient(135deg, #f6f9ff 0%, #eef5ff 100%);
    font-weight: 700;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(16, 42, 80, .09);
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table {
    width: 100%;
    min-width: 680px;
    margin: 25px 0;
    overflow: hidden;
    border: 1px solid #d7e2ef;
    border-spacing: 0;
    border-collapse: separate;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 10px 25px rgba(16, 42, 80, .045);
    text-align: right;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table th,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table td {
    padding: 14px 16px;
    border-left: 1px solid #dfe7f1;
    border-bottom: 1px solid #dfe7f1;
    color: #40536d;
    vertical-align: middle;
    line-height: 1.8;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tr > *:last-child {
    border-left: 0;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tbody tr:last-child > * {
    border-bottom: 0;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table thead th {
    color: #ffffff;
    border-color: rgba(255,255,255,.16);
    background: linear-gradient(135deg, #1558cc 0%, #1765f4 100%);
    font-weight: 900;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tbody th {
    color: #183b6d;
    background: #edf4ff;
    font-weight: 900;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tbody tr:nth-child(even) td {
    background: #f8fafd;
}

:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tbody tr:hover td,
:where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table tbody tr:hover th {
    background: #edf4ff;
}

@media (max-width: 820px) {
    :where(body.tax-product_cat) .tp-category-description-bottom {
        margin-top: 30px;
        border-radius: 20px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading {
        padding: 23px 22px 20px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content {
        padding: 24px 22px 28px;
        font-size: 13px;
        line-height: 2.05;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content > ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading {
        grid-template-columns: 44px minmax(0, 1fr);
        column-gap: 11px;
        padding: 20px 16px 17px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading::before {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        background:
            linear-gradient(#1765f4, #1765f4) 50% 12px / 17px 3px no-repeat,
            linear-gradient(#1765f4, #1765f4) 50% 20px / 17px 3px no-repeat,
            linear-gradient(#1765f4, #1765f4) 50% 28px / 12px 3px no-repeat,
            linear-gradient(145deg, #ffffff 0%, #eaf2ff 100%);
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-heading h2 {
        font-size: 19px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content {
        padding: 21px 16px 24px;
        font-size: 12px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h2 {
        font-size: 19px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content h3 {
        font-size: 16px;
    }

    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table th,
    :where(body.tax-product_cat) .tp-category-description-bottom .tp-category-description-content table td {
        padding: 12px 13px;
    }
}

/* TehranPlay 0.9.00 — compact cards typography and button alignment refinement */
body.post-type-archive-product .woocommerce ul.products.columns-4,
body.tax-product_cat .woocommerce ul.products.columns-4,
body.tax-product_tag .woocommerce ul.products.columns-4,
body.post-type-archive-product ul.products.columns-4,
body.tax-product_cat ul.products.columns-4,
body.tax-product_tag ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr;
    gap: 14px !important;
    margin: 0 !important;
    padding: 16px 0 0 !important;
}

body.post-type-archive-product .woocommerce ul.products li.product,
body.tax-product_cat .woocommerce ul.products li.product,
body.tax-product_tag .woocommerce ul.products li.product,
body.post-type-archive-product ul.products li.product,
body.tax-product_cat ul.products li.product,
body.tax-product_tag ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    min-height: 390px !important;
    height: auto !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 8px 8px 10px !important;
    overflow: hidden !important;
    border: 1px solid #dfe6ef !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%) !important;
    box-shadow: 0 7px 18px rgba(15, 37, 75, .045) !important;
    box-sizing: border-box !important;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

body.post-type-archive-product .woocommerce ul.products li.product:hover,
body.tax-product_cat .woocommerce ul.products li.product:hover,
body.tax-product_tag .woocommerce ul.products li.product:hover,
body.post-type-archive-product ul.products li.product:hover,
body.tax-product_cat ul.products li.product:hover,
body.tax-product_tag ul.products li.product:hover {
    transform: translateY(-3px) !important;
    border-color: #bfd0e6 !important;
    box-shadow: 0 15px 30px rgba(15, 37, 75, .085) !important;
}

body.post-type-archive-product ul.products li.product > a.woocommerce-LoopProduct-link,
body.tax-product_cat ul.products li.product > a.woocommerce-LoopProduct-link,
body.tax-product_tag ul.products li.product > a.woocommerce-LoopProduct-link,
body.post-type-archive-product ul.products li.product > a.woocommerce-loop-product__link,
body.tax-product_cat ul.products li.product > a.woocommerce-loop-product__link,
body.tax-product_tag ul.products li.product > a.woocommerce-loop-product__link {
    min-width: 0 !important;
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
}

body.post-type-archive-product .woocommerce ul.products li.product a img,
body.tax-product_cat .woocommerce ul.products li.product a img,
body.tax-product_tag .woocommerce ul.products li.product a img,
body.post-type-archive-product ul.products li.product a img,
body.tax-product_cat ul.products li.product a img,
body.tax-product_tag ul.products li.product a img {
    width: 100% !important;
    height: 220px !important;
    max-height: 220px !important;
    aspect-ratio: auto !important;
    margin: 0 0 8px !important;
    padding: 5px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 11px !important;
    background: #f5f7fa !important;
    object-fit: contain !important;
    object-position: center !important;
    box-sizing: border-box !important;
    transition: transform .2s ease !important;
}

body.post-type-archive-product ul.products li.product:hover a img,
body.tax-product_cat ul.products li.product:hover a img,
body.tax-product_tag ul.products li.product:hover a img {
    transform: scale(1.012) !important;
}

body.post-type-archive-product .tp-archive-product-meta,
body.tax-product_cat .tp-archive-product-meta,
body.tax-product_tag .tp-archive-product-meta {
    min-height: 23px !important;
    padding: 0 3px 4px !important;
    border-bottom: 1px solid #edf1f5 !important;
    font-size: 9px !important;
}

body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
    min-height: 52px !important;
    max-height: 52px !important;
    margin: 0 !important;
    padding: 7px 3px 5px !important;
    overflow: hidden !important;
    border-bottom: 0 !important;
    color: #15233a !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.75 !important;
    text-align: right !important;
    -webkit-line-clamp: 2 !important;
}

body.post-type-archive-product ul.products li.product .price,
body.tax-product_cat ul.products li.product .price,
body.tax-product_tag ul.products li.product .price {
    min-height: 38px !important;
    gap: 4px !important;
    margin: auto 3px 0 !important;
    padding: 6px 0 0 !important;
    color: #10213b !important;
    font-size: 13.5px !important;
    line-height: 1.35 !important;
}

body.post-type-archive-product ul.products li.product .price del,
body.tax-product_cat ul.products li.product .price del,
body.tax-product_tag ul.products li.product .price del {
    font-size: 9px !important;
}

body.post-type-archive-product .tp-archive-price-unit,
body.tax-product_cat .tp-archive-price-unit,
body.tax-product_tag .tp-archive-price-unit {
    font-size: 8.5px !important;
}

body.post-type-archive-product ul.products li.product .button,
body.tax-product_cat ul.products li.product .button,
body.tax-product_tag ul.products li.product .button,
body.post-type-archive-product ul.products li.product .added_to_cart,
body.tax-product_cat ul.products li.product .added_to_cart,
body.tax-product_tag ul.products li.product .added_to_cart {
    min-height: 38px !important;
    height: 38px !important;
    width: calc(100% - 6px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 8px 3px 0 !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #246df4 0%, #1558d7 100%) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-shadow: 0 6px 13px rgba(23, 101, 244, .13) !important;
}

body.post-type-archive-product .tp-archive-product-new,
body.tax-product_cat .tp-archive-product-new,
body.tax-product_tag .tp-archive-product-new,
body.post-type-archive-product .woocommerce span.onsale,
body.tax-product_cat .woocommerce span.onsale,
body.tax-product_tag .woocommerce span.onsale {
    top: 12px !important;
    left: 12px !important;
    min-height: 21px !important;
    padding: 0 7px !important;
    border-radius: 6px !important;
    font-size: 7.5px !important;
}

@media (min-width: 1101px) and (max-width: 1499px) {
    body.post-type-archive-product .woocommerce ul.products.columns-4,
    body.tax-product_cat .woocommerce ul.products.columns-4,
    body.tax-product_tag .woocommerce ul.products.columns-4,
    body.post-type-archive-product ul.products.columns-4,
    body.tax-product_cat ul.products.columns-4,
    body.tax-product_tag ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 641px) and (max-width: 1100px) {
    body.post-type-archive-product .woocommerce ul.products.columns-4,
    body.tax-product_cat .woocommerce ul.products.columns-4,
    body.tax-product_tag .woocommerce ul.products.columns-4,
    body.post-type-archive-product ul.products.columns-4,
    body.tax-product_cat ul.products.columns-4,
    body.tax-product_tag ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        min-height: 370px !important;
    }

    body.post-type-archive-product ul.products li.product a img,
    body.tax-product_cat ul.products li.product a img,
    body.tax-product_tag ul.products li.product a img {
        height: 230px !important;
        max-height: 230px !important;
    }
}

@media (max-width: 640px) {
    body.post-type-archive-product .woocommerce ul.products.columns-4,
    body.tax-product_cat .woocommerce ul.products.columns-4,
    body.tax-product_tag .woocommerce ul.products.columns-4,
    body.post-type-archive-product ul.products.columns-4,
    body.tax-product_cat ul.products.columns-4,
    body.tax-product_tag ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    body.post-type-archive-product ul.products li.product,
    body.tax-product_cat ul.products li.product,
    body.tax-product_tag ul.products li.product {
        min-height: 330px !important;
        padding: 6px 6px 8px !important;
    }

    body.post-type-archive-product ul.products li.product a img,
    body.tax-product_cat ul.products li.product a img,
    body.tax-product_tag ul.products li.product a img {
        height: 165px !important;
        max-height: 165px !important;
        padding: 4px !important;
    }

    body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
    body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
        min-height: 46px !important;
        max-height: 46px !important;
        font-size: 10.5px !important;
    }
}

@media (max-width: 390px) {
    body.post-type-archive-product ul.products li.product a img,
    body.tax-product_cat ul.products li.product a img,
    body.tax-product_tag ul.products li.product a img {
        height: 145px !important;
        max-height: 145px !important;
    }
}

/* TehranPlay 0.9.02 — professional cart page */
body.woocommerce-cart {
    background: #f5f7fb;
}

body.woocommerce-cart .tp-main {
    background: #f5f7fb;
}

body.woocommerce-cart .tp-content {
    width: min(1320px, calc(100% - 44px));
    padding-top: 34px;
    padding-bottom: 72px;
}

body.woocommerce-cart .tp-entry {
    font-size: 14px;
    line-height: 1.8;
}

body.woocommerce-cart .tp-page-head {
    position: relative;
    margin: 0 0 22px;
    padding: 22px 26px;
    overflow: hidden;
    border: 1px solid #dfe6f0;
    border-radius: 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f2f6fc 100%);
    box-shadow: 0 12px 30px rgba(19, 42, 82, .05);
}

body.woocommerce-cart .tp-page-head::after {
    content: "کالاهای انتخاب‌شده را بررسی و سفارش را تکمیل کنید";
    display: block;
    margin-top: 7px;
    color: #6f7f95;
    font-size: 12px;
    font-weight: 650;
}

body.woocommerce-cart .tp-page-head h1 {
    margin: 0;
    color: #10223f;
    font-size: 32px;
    font-weight: 950;
    line-height: 1.35;
}

body.woocommerce-cart .woocommerce {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(340px, .75fr) !important;
    gap: 24px !important;
    align-items: start !important;
}

body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .return-to-shop {
    grid-column: 1 / -1 !important;
}

body.woocommerce-cart .woocommerce-cart-form {
    grid-column: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
}

body.woocommerce-cart table.shop_table.cart {
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #dfe6f0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(18, 41, 79, .055) !important;
}

body.woocommerce-cart table.shop_table.cart thead {
    background: #f7f9fc !important;
}

body.woocommerce-cart table.shop_table.cart thead th {
    height: 54px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #e4eaf2 !important;
    color: #52647d !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-align: center !important;
    vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table.cart thead th.product-name {
    text-align: right !important;
}

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
    padding: 18px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: #fff !important;
    color: #172944 !important;
    font-size: 12px !important;
    vertical-align: middle !important;
    text-align: center !important;
}

body.woocommerce-cart table.shop_table.cart tbody tr.cart_item:last-of-type td {
    border-bottom: 0 !important;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail {
    width: 104px !important;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail a {
    width: 86px !important;
    height: 104px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border: 1px solid #e1e7ef !important;
    border-radius: 13px !important;
    background: #f7f9fc !important;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain !important;
    border-radius: 0 !important;
}

body.woocommerce-cart table.shop_table.cart .product-name {
    min-width: 230px !important;
    text-align: right !important;
}

body.woocommerce-cart table.shop_table.cart .product-name > a {
    display: inline-block !important;
    margin-bottom: 7px !important;
    color: #102644 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.8 !important;
}

body.woocommerce-cart table.shop_table.cart .variation {
    margin: 0 !important;
    color: #748399 !important;
    font-size: 10px !important;
    line-height: 1.8 !important;
}

body.woocommerce-cart table.shop_table.cart .variation dt,
body.woocommerce-cart table.shop_table.cart .variation dd {
    margin: 0 0 2px 4px !important;
}

body.woocommerce-cart table.shop_table.cart .product-price,
body.woocommerce-cart table.shop_table.cart .product-subtotal {
    white-space: nowrap !important;
    color: #17345e !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

body.woocommerce-cart table.shop_table.cart .quantity {
    width: 112px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #d8e1ed !important;
    border-radius: 11px !important;
    background: #f8fafc !important;
}

body.woocommerce-cart table.shop_table.cart .quantity .qty {
    width: 58px !important;
    height: 40px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #17345e !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
    box-shadow: none !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove {
    width: 52px !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove {
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #ffd5dc !important;
    border-radius: 10px !important;
    color: #dc3f59 !important;
    background: #fff5f7 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    transition: .18s ease !important;
}

body.woocommerce-cart table.shop_table.cart .product-remove a.remove:hover {
    color: #fff !important;
    border-color: #dc3f59 !important;
    background: #dc3f59 !important;
}

body.woocommerce-cart table.shop_table.cart td.actions {
    padding: 16px !important;
    border: 0 !important;
    border-top: 1px solid #e8edf4 !important;
    background: #fbfcfe !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon label {
    display: none !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
    width: 210px !important;
    height: 42px !important;
    padding: 0 13px !important;
    border: 1px solid #d9e2ee !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #263b58 !important;
    font-size: 11px !important;
    box-shadow: none !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .button {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: #1765f4 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1.4 !important;
}

body.woocommerce-cart table.shop_table.cart td.actions .button[name="update_cart"] {
    float: left !important;
    color: #31506f !important;
    border: 1px solid #d8e2ee !important;
    background: #eef3f8 !important;
}

body.woocommerce-cart .cart-collaterals {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
    position: sticky !important;
    top: 20px !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 22px !important;
    border: 1px solid #dfe6f0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(18, 41, 79, .07) !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals h2 {
    margin: 0 0 16px !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #e7edf4 !important;
    color: #10223f !important;
    font-size: 19px !important;
    font-weight: 950 !important;
    line-height: 1.5 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
    width: 100% !important;
    margin: 0 0 16px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: transparent !important;
    color: #566981 !important;
    font-size: 12px !important;
    vertical-align: middle !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th {
    width: 44% !important;
    font-weight: 750 !important;
    text-align: right !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
    color: #17345e !important;
    font-weight: 900 !important;
    text-align: left !important;
}

body.woocommerce-cart .cart-collaterals .cart_totals .order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals .order-total td {
    padding-top: 18px !important;
    border-bottom: 0 !important;
    color: #0e2b55 !important;
    font-size: 15px !important;
}

body.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    box-shadow: 0 12px 24px rgba(23, 101, 244, .22) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 15px 28px rgba(23, 101, 244, .28) !important;
}

body.woocommerce-cart .tp-cart-assurance {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin: 0 0 16px !important;
}

body.woocommerce-cart .tp-cart-assurance span {
    min-height: 39px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 11px !important;
    border: 1px solid #e0e8f2 !important;
    border-radius: 10px !important;
    color: #4e637d !important;
    background: #f7f9fc !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

body.woocommerce-cart .cart-empty.woocommerce-info {
    min-height: 110px !important;
    display: flex !important;
    align-items: center !important;
    padding: 24px !important;
    border: 1px solid #dfe6f0 !important;
    border-right: 4px solid #1765f4 !important;
    border-radius: 18px !important;
    color: #324a69 !important;
    background: #fff !important;
    font-size: 14px !important;
}

body.woocommerce-cart .return-to-shop .button {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: #1765f4 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

@media (max-width: 1050px) {
    body.woocommerce-cart .woocommerce {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-cart .woocommerce-cart-form,
    body.woocommerce-cart .cart-collaterals {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals {
        position: static !important;
    }
}

@media (max-width: 760px) {
    body.woocommerce-cart .tp-content {
        width: min(100% - 20px, 1320px);
        padding-top: 20px;
        padding-bottom: 48px;
    }

    body.woocommerce-cart .tp-page-head {
        padding: 18px 20px;
        border-radius: 16px;
    }

    body.woocommerce-cart .tp-page-head h1 {
        font-size: 26px;
    }

    body.woocommerce-cart table.shop_table.cart {
        display: block !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-cart table.shop_table.cart thead {
        display: none !important;
    }

    body.woocommerce-cart table.shop_table.cart tbody,
    body.woocommerce-cart table.shop_table.cart tr.cart_item,
    body.woocommerce-cart table.shop_table.cart tr.cart_item td {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item {
        position: relative !important;
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 0 14px !important;
        margin: 0 0 12px !important;
        padding: 14px !important;
        border: 1px solid #dfe6f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 10px 24px rgba(18, 41, 79, .05) !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item td {
        padding: 5px 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: right !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / span 5 !important;
    }

    body.woocommerce-cart table.shop_table.cart .product-thumbnail a {
        width: 92px !important;
        height: 112px !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-name,
    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-price,
    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-quantity,
    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-subtotal {
        grid-column: 2 !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-name {
        min-width: 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart tr.cart_item .product-remove {
        position: absolute !important;
        top: 10px !important;
        left: 10px !important;
        width: auto !important;
        padding: 0 !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions {
        display: block !important;
        margin-top: 12px !important;
        padding: 14px !important;
        border: 1px solid #dfe6f0 !important;
        border-radius: 16px !important;
        background: #fff !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .coupon {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text {
        width: 100% !important;
    }

    body.woocommerce-cart table.shop_table.cart td.actions .button[name="update_cart"] {
        width: 100% !important;
        float: none !important;
        margin-top: 8px !important;
    }

    body.woocommerce-cart .cart-collaterals .cart_totals {
        padding: 18px !important;
        border-radius: 16px !important;
    }
}

/* TehranPlay 0.9.03 — professional checkout page */
body.woocommerce-checkout {
    background: #f5f7fb;
}

body.woocommerce-checkout .tp-main {
    background: #f5f7fb;
}

body.woocommerce-checkout .tp-content {
    width: min(1280px, calc(100% - 44px));
    padding-top: 32px;
    padding-bottom: 72px;
}

body.woocommerce-checkout .tp-entry {
    font-size: 13px;
    line-height: 1.8;
}

body.woocommerce-checkout .tp-page-head {
    display: none;
}

body.woocommerce-checkout .tp-entry > .woocommerce {
    width: 100%;
}

body.woocommerce-checkout .woocommerce-notices-wrapper,
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    width: 100%;
    margin: 0 0 14px;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
    margin: 0 0 14px !important;
    padding: 15px 18px 15px 44px !important;
    border: 1px solid #dce6f2 !important;
    border-right: 4px solid #1765f4 !important;
    border-radius: 13px !important;
    color: #415876 !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(18, 41, 79, .04) !important;
    font-size: 11px !important;
    line-height: 1.9 !important;
}

body.woocommerce-checkout .woocommerce-error {
    border-color: #ffd2d8 !important;
    border-right-color: #dc3f59 !important;
    color: #8d2c3d !important;
    background: #fff8f9 !important;
}

body.woocommerce-checkout .tp-checkout-intro {
    min-height: 144px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin: 0 0 22px;
    padding: 26px 30px;
    overflow: hidden;
    border: 1px solid #dce5f0;
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 18%, rgba(36, 109, 244, .09), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, #f3f7fd 100%);
    box-shadow: 0 14px 34px rgba(18, 41, 79, .055);
}

body.woocommerce-checkout .tp-checkout-kicker {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid #cadcf8;
    border-radius: 999px;
    color: #1e5bb9;
    background: #eef4ff;
    font-size: 10px;
    font-weight: 850;
}

body.woocommerce-checkout .tp-checkout-intro h2 {
    margin: 10px 0 6px;
    color: #10223f;
    font-size: 27px;
    font-weight: 950;
    line-height: 1.45;
}

body.woocommerce-checkout .tp-checkout-intro p {
    max-width: 690px;
    margin: 0;
    color: #667990;
    font-size: 12px;
    font-weight: 650;
    line-height: 2;
}

body.woocommerce-checkout .tp-checkout-steps {
    display: flex;
    align-items: center;
    gap: 10px;
    direction: rtl;
}

body.woocommerce-checkout .tp-checkout-steps span {
    min-width: 92px;
    display: grid;
    justify-items: center;
    gap: 7px;
    color: #8a98aa;
    font-size: 9px;
    font-weight: 750;
    white-space: nowrap;
}

body.woocommerce-checkout .tp-checkout-steps span i {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5dfeb;
    border-radius: 50%;
    color: #71839a;
    background: #fff;
    font-style: normal;
    font-size: 11px;
    font-weight: 900;
}

body.woocommerce-checkout .tp-checkout-steps span.is-done,
body.woocommerce-checkout .tp-checkout-steps span.is-active {
    color: #24548f;
}

body.woocommerce-checkout .tp-checkout-steps span.is-done i {
    color: #fff;
    border-color: #31b76a;
    background: #31b76a;
}

body.woocommerce-checkout .tp-checkout-steps span.is-active i {
    color: #fff;
    border-color: #1765f4;
    background: #1765f4;
    box-shadow: 0 0 0 5px rgba(23, 101, 244, .10);
}

body.woocommerce-checkout .tp-checkout-steps em {
    width: 44px;
    height: 2px;
    margin-top: -18px;
    border-radius: 99px;
    background: #dce4ee;
}

body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 390px minmax(0, 1fr) !important;
    grid-template-areas:
        "review-title details"
        "review details" !important;
    align-items: start !important;
    gap: 0 24px !important;
    direction: ltr !important;
}

body.woocommerce-checkout form.checkout > * {
    direction: rtl !important;
}

body.woocommerce-checkout #customer_details {
    grid-area: details !important;
    width: 100% !important;
    display: grid !important;
    gap: 18px !important;
    margin: 0 !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid #dfe6f0 !important;
    border-radius: 20px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(18, 41, 79, .05) !important;
}

body.woocommerce-checkout #customer_details .col-2:empty {
    display: none !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3,
body.woocommerce-checkout #order_review_heading {
    margin: 0 !important;
    color: #10223f !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    line-height: 1.5 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
    position: relative;
    margin-bottom: 20px !important;
    padding: 0 15px 14px 0 !important;
    border-bottom: 1px solid #e7edf4 !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3::before,
body.woocommerce-checkout .woocommerce-additional-fields > h3::before {
    content: "";
    position: absolute;
    right: 0;
    top: 8px;
    width: 5px;
    height: 18px;
    border-radius: 99px;
    background: #1765f4;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 12px !important;
}

body.woocommerce-checkout form .form-row {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout form .form-row-wide,
body.woocommerce-checkout form #billing_email_field,
body.woocommerce-checkout form #billing_country_field,
body.woocommerce-checkout form #billing_address_1_field,
body.woocommerce-checkout form #billing_address_2_field,
body.woocommerce-checkout form #order_comments_field {
    grid-column: 1 / -1 !important;
}

body.woocommerce-checkout form .form-row label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #415671 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.6 !important;
}

body.woocommerce-checkout form .form-row .required {
    color: #dc3f59 !important;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout form .form-row .select2-container .select2-selection--single {
    width: 100% !important;
    border: 1px solid #d8e1ec !important;
    border-radius: 11px !important;
    color: #1c304d !important;
    background: #f9fbfd !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row select,
body.woocommerce-checkout form .form-row .select2-container .select2-selection--single {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 13px !important;
}

body.woocommerce-checkout form .form-row textarea {
    min-height: 112px !important;
    padding: 12px 13px !important;
    resize: vertical !important;
}

body.woocommerce-checkout form .form-row input.input-text:focus,
body.woocommerce-checkout form .form-row textarea:focus,
body.woocommerce-checkout form .form-row select:focus,
body.woocommerce-checkout form .form-row .select2-container--focus .select2-selection--single {
    border-color: #7ca8f8 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(23, 101, 244, .08) !important;
    outline: none !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 13px !important;
    color: #1c304d !important;
    line-height: 1.4 !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
    top: 11px !important;
    left: 10px !important;
    right: auto !important;
}

body.woocommerce-checkout .woocommerce-invalid input.input-text,
body.woocommerce-checkout .woocommerce-invalid select,
body.woocommerce-checkout .woocommerce-invalid .select2-selection--single {
    border-color: #e65b70 !important;
    background: #fff8f9 !important;
}

body.woocommerce-checkout #order_review_heading {
    grid-area: review-title !important;
    min-height: 62px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid #dfe6f0 !important;
    border-bottom: 0 !important;
    border-radius: 20px 20px 0 0 !important;
    background: #f7f9fc !important;
}

body.woocommerce-checkout #order_review {
    grid-area: review !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 20px 20px !important;
    border: 1px solid #dfe6f0 !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    background: #fff !important;
    box-shadow: 0 16px 38px rgba(18, 41, 79, .065) !important;
}

body.woocommerce-checkout #order_review table.shop_table {
    width: 100% !important;
    margin: 0 0 18px !important;
    border: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table thead {
    display: none !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    padding: 14px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: transparent !important;
    color: #52647d !important;
    font-size: 11px !important;
    line-height: 1.8 !important;
    vertical-align: middle !important;
}

body.woocommerce-checkout #order_review table.shop_table th {
    width: 44% !important;
    font-weight: 800 !important;
    text-align: right !important;
}

body.woocommerce-checkout #order_review table.shop_table td {
    color: #17345e !important;
    font-weight: 850 !important;
    text-align: left !important;
}

body.woocommerce-checkout #order_review table.shop_table .cart_item .product-name {
    color: #102644 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-align: right !important;
}

body.woocommerce-checkout #order_review table.shop_table .cart_item .product-total {
    white-space: nowrap !important;
    text-align: left !important;
}

body.woocommerce-checkout #order_review table.shop_table .order-total th,
body.woocommerce-checkout #order_review table.shop_table .order-total td {
    padding-top: 18px !important;
    border-bottom: 0 !important;
    color: #0e2b55 !important;
    font-size: 15px !important;
    font-weight: 950 !important;
}

body.woocommerce-checkout #payment {
    margin-top: 2px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 14px !important;
    background: #f7f9fc !important;
    overflow: hidden !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 !important;
    padding: 15px !important;
    border-bottom: 1px solid #e4eaf2 !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
    margin: 0 !important;
    color: #243a57 !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.9 !important;
}

body.woocommerce-checkout #payment .payment_box {
    margin: 12px 0 0 !important;
    padding: 13px !important;
    border-radius: 10px !important;
    color: #526780 !important;
    background: #eef4ff !important;
    font-size: 10px !important;
    line-height: 1.9 !important;
}

body.woocommerce-checkout #payment .payment_box::before {
    border-bottom-color: #eef4ff !important;
}

body.woocommerce-checkout #payment .woocommerce-error,
body.woocommerce-checkout #payment .woocommerce-info {
    margin: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #payment .form-row.place-order {
    display: block !important;
    padding: 16px !important;
}

body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 14px !important;
    color: #66798f !important;
    font-size: 10px !important;
    line-height: 1.9 !important;
}

body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a {
    color: #1765f4 !important;
    font-weight: 800 !important;
}

body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 13px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    box-shadow: 0 12px 24px rgba(23, 101, 244, .22) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.4 !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}

body.woocommerce-checkout #payment #place_order:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 15px 28px rgba(23, 101, 244, .28) !important;
}

body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
    margin: 0 0 18px !important;
    padding: 18px !important;
    border: 1px solid #dfe6f0 !important;
    border-radius: 15px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(18, 41, 79, .04) !important;
}

@media (max-width: 1050px) {
    body.woocommerce-checkout form.checkout {
        grid-template-columns: 340px minmax(0, 1fr) !important;
        gap: 0 18px !important;
    }

    body.woocommerce-checkout .tp-checkout-intro {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    body.woocommerce-checkout .tp-checkout-steps {
        justify-content: center !important;
    }
}

@media (max-width: 860px) {
    body.woocommerce-checkout .tp-content {
        width: min(100% - 24px, 1280px);
        padding-top: 22px;
        padding-bottom: 52px;
    }

    body.woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "details"
            "review-title"
            "review" !important;
        gap: 18px !important;
    }

    body.woocommerce-checkout #order_review_heading {
        margin-top: 0 !important;
    }
}

@media (max-width: 640px) {
    body.woocommerce-checkout .tp-content {
        width: min(100% - 18px, 1280px);
        padding-top: 16px;
        padding-bottom: 42px;
    }

    body.woocommerce-checkout .tp-checkout-intro {
        padding: 22px 18px !important;
        border-radius: 17px !important;
    }

    body.woocommerce-checkout .tp-checkout-intro h2 {
        font-size: 23px !important;
    }

    body.woocommerce-checkout .tp-checkout-steps {
        width: 100%;
        gap: 4px;
        overflow-x: auto;
        justify-content: flex-start !important;
        scrollbar-width: none;
    }

    body.woocommerce-checkout .tp-checkout-steps::-webkit-scrollbar {
        display: none;
    }

    body.woocommerce-checkout .tp-checkout-steps span {
        min-width: 86px;
    }

    body.woocommerce-checkout .tp-checkout-steps em {
        width: 24px;
        flex: 0 0 24px;
    }

    body.woocommerce-checkout #customer_details .col-1,
    body.woocommerce-checkout #customer_details .col-2 {
        padding: 19px !important;
        border-radius: 16px !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
    body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-checkout form .form-row,
    body.woocommerce-checkout form .form-row-wide,
    body.woocommerce-checkout form #billing_email_field,
    body.woocommerce-checkout form #billing_country_field,
    body.woocommerce-checkout form #billing_address_1_field,
    body.woocommerce-checkout form #billing_address_2_field,
    body.woocommerce-checkout form #order_comments_field {
        grid-column: 1 !important;
    }

    body.woocommerce-checkout #order_review_heading {
        min-height: 58px !important;
        padding: 0 17px !important;
        border-radius: 16px 16px 0 0 !important;
        font-size: 17px !important;
    }

    body.woocommerce-checkout #order_review {
        padding: 0 17px 17px !important;
        border-radius: 0 0 16px 16px !important;
    }
}

/* v0.9.08 — Professional order-received / thank-you page */
body.woocommerce-order-received .tp-woo-shell {
    width: min(1180px, calc(100% - 40px));
    padding-top: 34px;
    padding-bottom: 44px;
}

body.woocommerce-order-received .woocommerce-order {
    display: grid;
    gap: 22px;
}

body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
    margin: 0;
    background: linear-gradient(135deg, #f7fbff 0%, #eef5ff 100%);
    border: 1px solid #d9e7ff;
    border-right: 4px solid #1765f4;
    border-radius: 22px;
    padding: 26px 30px;
    color: #13233d;
    font-size: 20px;
    line-height: 2.1;
    font-weight: 800;
    box-shadow: 0 20px 44px rgba(16, 39, 82, 0.08);
}

body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
    margin: 0;
    background: #ffffff;
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    padding: 18px 22px;
    color: #4a5b74;
    font-size: 15px;
    line-height: 2.1;
    box-shadow: 0 10px 26px rgba(13, 33, 68, 0.04);
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details::before,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details::after {
    display: none;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li {
    margin: 0 !important;
    padding: 18px 20px !important;
    background: #ffffff;
    border: 1px solid #e2e9f2;
    border-radius: 18px;
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    color: #6d7b90;
    font-size: 13px;
    line-height: 1.9;
    box-shadow: 0 12px 28px rgba(11, 32, 66, 0.05);
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li strong,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li .amount {
    display: block;
    color: #13233d;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.5;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li mark {
    background: transparent;
    color: #1765f4;
    font-weight: 800;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    background: #ffffff;
    border: 1px solid #e2e8f1;
    border-radius: 24px;
    padding: 28px 28px 24px;
    box-shadow: 0 18px 38px rgba(14, 32, 65, 0.06);
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    margin: 0 0 18px;
    color: #13233d;
    font-size: 34px;
    line-height: 1.4;
    font-weight: 900;
}

body.woocommerce-order-received .woocommerce-table--order-details,
body.woocommerce-order-received table.shop_table.order_details {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    margin: 0;
}

body.woocommerce-order-received table.shop_table.order_details thead th {
    background: #f5f8fd;
    color: #5b6c82;
    font-size: 14px;
    font-weight: 700;
    padding: 16px 18px;
    border-top: 1px solid #e4ebf4;
    border-bottom: 1px solid #e4ebf4;
}

body.woocommerce-order-received table.shop_table.order_details tbody td,
body.woocommerce-order-received table.shop_table.order_details tfoot th,
body.woocommerce-order-received table.shop_table.order_details tfoot td {
    background: #ffffff;
    font-size: 15px;
    color: #21324a;
    padding: 18px;
    border-top: 0;
    border-bottom: 1px solid #edf2f7;
}

body.woocommerce-order-received table.shop_table.order_details tbody tr:last-child td,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child th,
body.woocommerce-order-received table.shop_table.order_details tfoot tr:last-child td {
    border-bottom: 0;
}

body.woocommerce-order-received table.shop_table.order_details tfoot th,
body.woocommerce-order-received table.shop_table.order_details tfoot td {
    font-weight: 800;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    margin: 0;
    padding: 22px 24px;
    background: #f8fbff;
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    color: #27374e;
    font-size: 16px;
    line-height: 2.2;
    font-style: normal;
}

body.woocommerce-order-received .woocommerce-customer-details address p {
    margin: 0;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    padding: 8px 14px;
    background: #ffffff;
    border: 1px solid #e1e8f2;
    border-radius: 999px;
    font-size: 14px;
}

@media (max-width: 980px) {
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.woocommerce-order-received .woocommerce-order-details__title,
    body.woocommerce-order-received .woocommerce-column__title {
        font-size: 28px;
    }
}

@media (max-width: 640px) {
    body.woocommerce-order-received .tp-woo-shell {
        width: min(100% - 20px, 1180px);
        padding-top: 22px;
    }

    body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received {
        padding: 20px 18px;
        font-size: 16px;
        line-height: 2;
        border-radius: 18px;
    }

    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
        grid-template-columns: 1fr;
    }

    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li {
        min-height: auto;
        padding: 16px 18px !important;
    }

    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li strong,
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li .amount {
        font-size: 21px;
    }

    body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice),
    body.woocommerce-order-received .woocommerce-order-details,
    body.woocommerce-order-received .woocommerce-customer-details {
        padding: 18px;
        border-radius: 18px;
    }

    body.woocommerce-order-received .woocommerce-order-details__title,
    body.woocommerce-order-received .woocommerce-column__title {
        font-size: 24px;
        margin-bottom: 14px;
    }

    body.woocommerce-order-received table.shop_table.order_details thead th,
    body.woocommerce-order-received table.shop_table.order_details tbody td,
    body.woocommerce-order-received table.shop_table.order_details tfoot th,
    body.woocommerce-order-received table.shop_table.order_details tfoot td,
    body.woocommerce-order-received .woocommerce-customer-details address {
        font-size: 14px;
    }
}

/* v0.9.09 — Professional My Account: login + authenticated dashboard */
body.woocommerce-account .tp-content {
    width: min(1220px, calc(100% - 40px));
    padding-top: 34px;
    padding-bottom: 58px;
}

body.woocommerce-account .tp-page-head {
    margin: 0 0 24px;
}

body.woocommerce-account .tp-page-head h1 {
    margin: 0;
    color: #0f2343;
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 950;
    line-height: 1.45;
    letter-spacing: -.02em;
}

/* Logged-out / login view */
body.woocommerce-account:not(.logged-in) .tp-entry > .woocommerce {
    width: min(760px, 100%);
    margin: 0 auto;
}

body.woocommerce-account:not(.logged-in) .tp-entry > .woocommerce > h2 {
    margin: 0 0 14px;
    color: #10233f;
    font-size: 25px;
    font-weight: 900;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login {
    margin: 0 !important;
    padding: 28px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 22px !important;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(16, 39, 82, .07);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::before {
    content: "ورود به حساب تهران‌پلی";
    display: block;
    margin-bottom: 6px;
    color: #10233f;
    font-size: 20px;
    font-weight: 900;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::after {
    content: "برای مشاهده سفارش‌ها و مدیریت اطلاعات حساب وارد شوید.";
    display: block;
    margin-top: -2px;
    margin-bottom: 22px;
    color: #7b8a9e;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.9;
    order: -1;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .form-row {
    margin: 0 0 16px !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login label {
    display: block;
    margin: 0 0 7px;
    color: #344861;
    font-size: 12px;
    font-weight: 800;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login input.input-text {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #d9e3ef;
    border-radius: 12px;
    background: #f9fbfe;
    color: #17283f;
    font-size: 14px;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login input.input-text:focus {
    outline: 0;
    border-color: #1765f4;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(23, 101, 244, .10);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .password-input {
    display: block;
    width: 100%;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .show-password-input {
    top: 50%;
    transform: translateY(-50%);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 2px 0 12px;
    color: #5d6e83;
    font-size: 12px;
    font-weight: 700;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__rememberme input {
    width: 16px;
    height: 16px;
    accent-color: #1765f4;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__submit {
    min-width: 150px;
    min-height: 46px;
    margin: 0 0 0 8px !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(23, 101, 244, .20);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .lost_password {
    margin: 14px 0 0;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .lost_password a {
    color: #1765f4;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

/* Logged-in account shell */
body.woocommerce-account.logged-in .tp-entry > .woocommerce {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    align-items: start;
    gap: 22px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    position: sticky;
    top: 18px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 10px !important;
    list-style: none;
    border: 1px solid #dfe7f1;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(16, 39, 82, .055);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 0 5px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
    min-height: 45px;
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 0 13px !important;
    border-radius: 12px !important;
    color: #415570 !important;
    background: transparent !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none;
    transition: .18s ease;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 2px solid #a7b7cb;
    border-radius: 50%;
    box-sizing: border-box;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover {
    color: #1459cc !important;
    background: #edf4ff !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a::before,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a:hover::before {
    border-color: #1765f4;
    background: #1765f4;
    box-shadow: 0 0 0 4px rgba(23, 101, 244, .10);
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    min-width: 0;
    min-height: 430px;
    margin: 0 !important;
    padding: 26px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    box-shadow: 0 18px 40px rgba(16, 39, 82, .055);
    color: #354962;
    font-size: 13px;
    line-height: 2;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p:first-of-type {
    margin-top: 0;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content a {
    color: #1765f4;
    font-weight: 800;
}

/* Dashboard welcome */
body.woocommerce-account .tp-account-welcome {
    margin: 0 0 22px;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid #d7e5fa;
    border-radius: 20px;
    background:
        radial-gradient(circle at 10% 20%, rgba(82, 147, 255, .18), transparent 28%),
        linear-gradient(135deg, #0f2d62 0%, #174d9e 100%);
    box-shadow: 0 18px 36px rgba(15, 47, 101, .14);
    color: #fff;
}

body.woocommerce-account .tp-account-welcome-user {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

body.woocommerce-account .tp-account-avatar {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    overflow: hidden;
    border: 3px solid rgba(255,255,255,.7);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

body.woocommerce-account .tp-account-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

body.woocommerce-account .tp-account-welcome small {
    display: block;
    margin-bottom: 3px;
    color: #a9c8ff;
    font-size: 10px;
    font-weight: 800;
}

body.woocommerce-account .tp-account-welcome h2 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 950;
}

body.woocommerce-account .tp-account-welcome p {
    margin: 4px 0 0;
    color: #d3dff1;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.9;
}

body.woocommerce-account .tp-account-welcome-actions {
    flex: 0 0 auto;
    display: flex;
    gap: 8px;
}

body.woocommerce-account .tp-account-welcome-actions a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 11px;
    background: rgba(255,255,255,.10);
    color: #fff !important;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

body.woocommerce-account .tp-account-welcome-actions a.is-primary {
    border-color: #fff;
    background: #fff;
    color: #1459cc !important;
}

/* Orders, addresses and account forms */
body.woocommerce-account .woocommerce-orders-table,
body.woocommerce-account .woocommerce-table--order-details {
    width: 100%;
    margin: 0 !important;
    border: 1px solid #e1e8f1 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    border-radius: 16px !important;
}

body.woocommerce-account .woocommerce-orders-table th,
body.woocommerce-account .woocommerce-table--order-details th {
    padding: 13px 14px !important;
    background: #f4f7fb !important;
    color: #607087 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.woocommerce-account .woocommerce-orders-table td,
body.woocommerce-account .woocommerce-table--order-details td {
    padding: 14px !important;
    background: #fff !important;
    color: #26394f !important;
    font-size: 12px !important;
    border-top: 1px solid #edf1f6 !important;
}

body.woocommerce-account .woocommerce-orders-table .button,
body.woocommerce-account .woocommerce-MyAccount-content .button {
    min-height: 36px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #1765f4 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.woocommerce-account .woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.woocommerce-account .woocommerce-Address {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px;
    border: 1px solid #e1e8f1;
    border-radius: 16px;
    background: #f9fbfe;
}

body.woocommerce-account .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #10233f;
    font-weight: 900;
}

body.woocommerce-account .woocommerce-Address address {
    color: #56687f;
    font-size: 12px;
    line-height: 2;
}

body.woocommerce-account .woocommerce-EditAccountForm .form-row,
body.woocommerce-account .woocommerce-address-fields .form-row {
    margin-bottom: 13px !important;
}

body.woocommerce-account .woocommerce-EditAccountForm input.input-text,
body.woocommerce-account .woocommerce-address-fields input.input-text,
body.woocommerce-account .woocommerce-address-fields .select2-selection {
    min-height: 45px;
    border: 1px solid #dce5ef !important;
    border-radius: 11px !important;
    background: #f9fbfd !important;
}

@media (max-width: 900px) {
    body.woocommerce-account.logged-in .tp-entry > .woocommerce {
        grid-template-columns: 1fr !important;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
        position: static;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
        display: flex;
        gap: 6px;
        padding: 8px !important;
        overflow-x: auto;
        scrollbar-width: none;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
        flex: 0 0 auto;
        margin: 0;
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li a {
        min-height: 40px;
        white-space: nowrap;
    }

    body.woocommerce-account .tp-account-welcome {
        align-items: flex-start;
        flex-direction: column;
    }

    body.woocommerce-account .tp-account-welcome-actions {
        width: 100%;
    }

    body.woocommerce-account .tp-account-welcome-actions a {
        flex: 1;
    }
}

@media (max-width: 640px) {
    body.woocommerce-account .tp-content {
        width: min(100% - 20px, 1220px);
        padding-top: 22px;
        padding-bottom: 40px;
    }

    body.woocommerce-account .tp-page-head {
        margin-bottom: 18px;
    }

    body.woocommerce-account .tp-page-head h1 {
        font-size: 27px;
    }

    body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        padding: 18px !important;
        border-radius: 17px !important;
    }

    body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__submit {
        width: 100%;
        margin: 4px 0 0 !important;
    }

    body.woocommerce-account .tp-account-welcome {
        padding: 18px;
        border-radius: 17px;
    }

    body.woocommerce-account .tp-account-welcome-user {
        align-items: flex-start;
    }

    body.woocommerce-account .tp-account-avatar {
        width: 52px;
        height: 52px;
        flex-basis: 52px;
        border-radius: 14px;
    }

    body.woocommerce-account .tp-account-welcome h2 {
        font-size: 20px;
    }

    body.woocommerce-account .tp-account-welcome-actions {
        flex-direction: column;
    }

    body.woocommerce-account .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account .woocommerce-orders-table {
        display: block;
        overflow-x: auto;
    }
}

/* v0.9.10 — My Account layout repair (fix narrow dashboard card / wrong column placement) */
body.woocommerce-account.logged-in .tp-entry > .woocommerce {
    direction: ltr;
    grid-template-columns: minmax(0, 1fr) 280px !important;
    grid-template-areas: "content nav";
    align-items: start;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    grid-area: content;
    direction: rtl;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
    grid-area: nav;
    direction: rtl;
    width: 100% !important;
    max-width: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    width: 100%;
    height: auto;
}

body.woocommerce-account .tp-account-welcome {
    width: 100%;
    flex-wrap: wrap;
}

body.woocommerce-account .tp-account-welcome-actions {
    margin-inline-start: auto;
    flex-wrap: wrap;
}

body.woocommerce-account .tp-account-welcome-actions a {
    min-width: 148px;
}

@media (max-width: 900px) {
    body.woocommerce-account.logged-in .tp-entry > .woocommerce {
        direction: rtl;
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "nav"
            "content";
    }

    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
        grid-area: auto;
    }
}


/* v0.9.11 — Account page: remove page heading + add real registration card */
body.woocommerce-account .tp-page-head {
    display: none !important;
}

body.woocommerce-account:not(.logged-in) .tp-content {
    padding-top: 46px;
    padding-bottom: 64px;
}

body.woocommerce-account:not(.logged-in) .tp-entry > .woocommerce {
    width: min(1120px, 100%);
    margin: 0 auto;
}

body.woocommerce-account:not(.logged-in) #customer_login {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
    display: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 > h2,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 > h2 {
    display: none !important;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register {
    position: relative;
    min-height: 100%;
    margin: 0 !important;
    padding: 30px 30px 28px !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 20px 46px rgba(16,39,82,.075);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::before,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register::before {
    display: block;
    margin: 0 0 5px;
    color: #10233f;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.5;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::before {
    content: "ورود به حساب تهران‌پلی";
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register::before {
    content: "ساخت حساب جدید";
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::after,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register::after {
    display: block;
    margin: 0 0 22px;
    color: #7a899c;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.9;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::after {
    content: "برای مشاهده سفارش‌ها و مدیریت اطلاعات حساب وارد شوید.";
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register::after {
    content: "با ایمیل و رمز عبور، حساب کاربری تهران‌پلی خود را ایجاد کنید.";
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register .form-row,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register p {
    margin-bottom: 16px;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register label {
    display: block;
    margin: 0 0 7px;
    color: #344861;
    font-size: 12px;
    font-weight: 800;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register input.input-text,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register input[type="email"],
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register input[type="password"] {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #d9e3ef !important;
    border-radius: 12px !important;
    background: #f9fbfe !important;
    color: #17283f;
    font-size: 14px;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register input:focus {
    outline: 0;
    border-color: #1765f4 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(23,101,244,.10);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register .woocommerce-privacy-policy-text,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register .woocommerce-privacy-policy-text p {
    color: #708198;
    font-size: 11px;
    line-height: 2;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-register .woocommerce-form-register__submit {
    width: 100%;
    min-height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 5px 0 0 !important;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 12px 24px rgba(23,101,244,.20);
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login .woocommerce-form-login__submit {
    min-width: 170px;
}

@media (max-width: 820px) {
    body.woocommerce-account:not(.logged-in) #customer_login {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.woocommerce-account:not(.logged-in) .tp-content {
        padding-top: 24px;
    }

    body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
    body.woocommerce-account:not(.logged-in) form.woocommerce-form-register {
        padding: 22px 18px !important;
        border-radius: 18px !important;
    }

    body.woocommerce-account:not(.logged-in) form.woocommerce-form-login::before,
    body.woocommerce-account:not(.logged-in) form.woocommerce-form-register::before {
        font-size: 21px;
    }
}

/* v0.9.12 — Logged-out account layout repair: prevent legacy account grid from squeezing forms */
body.woocommerce-account:not(.logged-in) .tp-entry > .woocommerce,
body.woocommerce-account:not(.logged-in) .tp-entry .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
    width: min(1120px, 100%) !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
}

body.woocommerce-account:not(.logged-in) #customer_login,
body.woocommerce-account:not(.logged-in) .u-columns#customer_login {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
    direction: rtl;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2,
body.woocommerce-account:not(.logged-in) #customer_login > .col-1,
body.woocommerce-account:not(.logged-in) #customer_login > .col-2 {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in) form.woocommerce-form-register {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 820px) {
    body.woocommerce-account:not(.logged-in) #customer_login,
    body.woocommerce-account:not(.logged-in) .u-columns#customer_login {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
}

/* v0.9.13 — Professional empty state for My Account > Orders */
body.tp-account-orders .woocommerce-MyAccount-content {
    min-height: 0 !important;
}

body.tp-account-orders .tp-orders-empty + .woocommerce-info,
body.tp-account-orders .tp-orders-empty + .woocommerce-message {
    display: none !important;
}

body.woocommerce-account .tp-orders-empty {
    position: relative;
    overflow: hidden;
    min-height: 410px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 42px 34px 32px;
    text-align: center;
    border: 1px solid #dce6f3;
    border-radius: 24px;
    background:
        radial-gradient(circle at 8% 8%, rgba(43,112,246,.10), transparent 24%),
        radial-gradient(circle at 92% 88%, rgba(43,112,246,.07), transparent 25%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 18px 42px rgba(18, 43, 84, .06);
}

body.woocommerce-account .tp-orders-empty::after {
    content: "";
    position: absolute;
    left: -72px;
    bottom: -92px;
    width: 210px;
    height: 210px;
    border: 34px solid rgba(23,101,244,.035);
    border-radius: 50%;
    pointer-events: none;
}

body.woocommerce-account .tp-orders-empty-icon {
    position: relative;
    z-index: 1;
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
    border: 1px solid #cfe0fb;
    border-radius: 22px;
    background: #eef5ff;
    box-shadow: 0 12px 28px rgba(23,101,244,.10);
}

body.woocommerce-account .tp-orders-empty-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: #1765f4;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.woocommerce-account .tp-orders-empty-copy {
    position: relative;
    z-index: 1;
    max-width: 610px;
}

body.woocommerce-account .tp-orders-empty-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 11px;
    margin-bottom: 9px;
    border: 1px solid #d7e5fb;
    border-radius: 999px;
    background: #f2f7ff;
    color: #1765f4;
    font-size: 10px;
    font-weight: 900;
}

body.woocommerce-account .tp-orders-empty h2 {
    margin: 0;
    color: #10233f;
    font-size: clamp(22px, 2.3vw, 30px);
    font-weight: 950;
    line-height: 1.5;
}

body.woocommerce-account .tp-orders-empty p {
    margin: 9px auto 0;
    color: #697b92;
    font-size: 13px;
    font-weight: 650;
    line-height: 2;
}

body.woocommerce-account .tp-orders-empty-actions {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 23px;
}

body.woocommerce-account .tp-orders-empty-actions a {
    min-width: 150px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

body.woocommerce-account .tp-orders-empty-actions a:hover {
    transform: translateY(-1px);
}

body.woocommerce-account .tp-orders-empty-primary {
    border: 1px solid #1765f4;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(23,101,244,.20);
}

body.woocommerce-account .tp-orders-empty-secondary {
    border: 1px solid #d7e2f1;
    background: #fff;
    color: #31506f !important;
}

body.woocommerce-account .tp-orders-empty-secondary:hover {
    border-color: #bfd1ed;
    background: #f7faff;
}

body.woocommerce-account .tp-orders-empty-features {
    position: relative;
    z-index: 1;
    width: min(100%, 760px);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 30px;
    padding-top: 22px;
    border-top: 1px solid #e8eef6;
}

body.woocommerce-account .tp-orders-empty-features > span {
    min-width: 0;
    display: grid;
    grid-template-columns: 26px 1fr;
    grid-template-rows: auto auto;
    column-gap: 9px;
    row-gap: 2px;
    align-items: center;
    padding: 12px 13px;
    text-align: right;
    border: 1px solid #e5ecf5;
    border-radius: 14px;
    background: rgba(255,255,255,.86);
}

body.woocommerce-account .tp-orders-empty-features i {
    grid-row: 1 / 3;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: #edf5ff;
    color: #1765f4;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

body.woocommerce-account .tp-orders-empty-features b {
    color: #263c58;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.5;
}

body.woocommerce-account .tp-orders-empty-features small {
    color: #8795a8;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.7;
}

@media (max-width: 720px) {
    body.woocommerce-account .tp-orders-empty {
        min-height: 0;
        padding: 32px 18px 24px;
        border-radius: 19px;
    }

    body.woocommerce-account .tp-orders-empty-actions {
        width: 100%;
        flex-direction: column;
    }

    body.woocommerce-account .tp-orders-empty-actions a {
        width: 100%;
    }

    body.woocommerce-account .tp-orders-empty-features {
        grid-template-columns: 1fr;
    }
}

/* v0.9.14 — Professional My Account > Addresses */
body.woocommerce-account.tp-account-addresses .woocommerce-MyAccount-content {
    min-height: 0;
}

body.woocommerce-account.tp-account-addresses .woocommerce-MyAccount-content > p:first-child {
    margin: 0 0 20px;
    padding: 15px 18px;
    border: 1px solid #dfe8f4;
    border-radius: 14px;
    background: #f7faff;
    color: #52657e;
    font-size: 13px;
    font-weight: 700;
    line-height: 2;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Addresses {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    margin: 0 !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Addresses::before,
body.woocommerce-account.tp-account-addresses .woocommerce-Addresses::after {
    display: none !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .woocommerce-Address,
body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .col-1,
body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .col-2 {
    position: relative;
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    min-height: 260px;
    margin: 0 !important;
    padding: 24px !important;
    overflow: hidden;
    border: 1px solid #dce6f2;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 12px 30px rgba(15, 39, 79, .055);
}

body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .woocommerce-Address::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background: linear-gradient(180deg, #1765f4 0%, #4f8cff 100%);
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address-title {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 18px !important;
    padding-bottom: 16px;
    border-bottom: 1px solid #e7edf5;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address-title::before,
body.woocommerce-account.tp-account-addresses .woocommerce-Address-title::after {
    display: none !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address-title h2 {
    float: none !important;
    margin: 0 !important;
    color: #10233f;
    font-size: 22px;
    font-weight: 950;
    line-height: 1.5;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address-title .edit {
    float: none !important;
    flex: 0 0 auto;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #cfe0fb;
    border-radius: 10px;
    background: #edf4ff;
    color: #1765f4 !important;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address-title .edit:hover {
    transform: translateY(-1px);
    border-color: #a9c8f8;
    background: #e4efff;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address address {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #e4ebf4;
    border-radius: 14px;
    background: #fff;
    color: #52647b;
    font-size: 13px;
    font-weight: 650;
    line-height: 2.15;
    font-style: normal;
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address address br {
    content: "";
}

body.woocommerce-account.tp-account-addresses .woocommerce-Address address p,
body.woocommerce-account.tp-account-addresses .woocommerce-Address address .woocommerce-customer-details--phone,
body.woocommerce-account.tp-account-addresses .woocommerce-Address address .woocommerce-customer-details--email {
    margin: 6px 0 0;
}

/* Edit-address form */
body.woocommerce-account.tp-account-addresses .woocommerce-MyAccount-content form h3 {
    margin: 0 0 18px;
    color: #10233f;
    font-size: 24px;
    font-weight: 950;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .form-row-wide,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #billing_address_1_field,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #shipping_address_1_field,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #billing_country_field,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #shipping_country_field {
    grid-column: 1 / -1;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields label {
    display: block;
    margin: 0 0 7px;
    color: #43566f;
    font-size: 12px;
    font-weight: 850;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields input.input-text,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields select,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .select2-selection {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid #d9e3ef !important;
    border-radius: 11px !important;
    background: #f9fbfe !important;
    color: #1f3149 !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields input.input-text:focus {
    outline: 0;
    border-color: #1765f4 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(23, 101, 244, .09) !important;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields + p,
body.woocommerce-account.tp-account-addresses .woocommerce-address-fields p:last-child {
    margin-top: 18px;
}

body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .button,
body.woocommerce-account.tp-account-addresses .woocommerce-MyAccount-content form .button {
    min-height: 44px;
    padding: 0 22px !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 20px rgba(23, 101, 244, .16);
}

@media (max-width: 760px) {
    body.woocommerce-account.tp-account-addresses .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .woocommerce-Address,
    body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .col-1,
    body.woocommerce-account.tp-account-addresses .woocommerce-Addresses .col-2 {
        min-height: 0;
        padding: 20px !important;
    }

    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields__field-wrapper {
        grid-template-columns: 1fr;
    }

    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .form-row,
    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields .form-row-wide,
    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #billing_address_1_field,
    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #shipping_address_1_field,
    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #billing_country_field,
    body.woocommerce-account.tp-account-addresses .woocommerce-address-fields #shipping_country_field {
        grid-column: auto;
    }
}


/* v0.9.15 — Professional My Account > Account details */
body.woocommerce-account.tp-account-edit-details .woocommerce-MyAccount-content {
    padding: 30px !important;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    margin: 0;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm > p,
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm > fieldset {
    margin: 0 !important;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-first,
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-last {
    grid-column: auto;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-wide {
    grid-column: 1 / -1;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm label {
    display: block;
    margin: 0 0 8px;
    color: #344a65;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.7;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm label .required {
    color: #d92d20;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm input.input-text,
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm input[type="email"],
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm input[type="password"] {
    width: 100% !important;
    min-height: 50px;
    padding: 0 15px !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 12px !important;
    background: #f9fbfe !important;
    color: #172a43 !important;
    font-size: 14px !important;
    font-weight: 650;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm input:focus {
    outline: 0 !important;
    border-color: #1765f4 !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(23,101,244,.09) !important;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .password-input {
    display: block;
    width: 100%;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .show-password-input {
    top: 50%;
    transform: translateY(-50%);
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm em {
    display: block;
    margin-top: 7px;
    color: #77879a;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.8;
    font-style: normal;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm fieldset {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 22px !important;
    border: 1px solid #dce6f2 !important;
    border-radius: 18px;
    background: linear-gradient(180deg, #f9fbfe 0%, #f5f9fe 100%);
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm fieldset legend {
    width: auto;
    margin: 0;
    padding: 0 10px;
    color: #10233f;
    background: #fff;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.8;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm fieldset .form-row {
    grid-column: 1;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm > p:last-child {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
    margin-top: 2px !important;
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm button.button,
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .button {
    min-width: 170px;
    min-height: 46px;
    padding: 0 24px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    box-shadow: 0 11px 22px rgba(23,101,244,.18);
}

body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm button.button:hover,
body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(23,101,244,.22);
}

@media (max-width: 760px) {
    body.woocommerce-account.tp-account-edit-details .woocommerce-MyAccount-content {
        padding: 20px !important;
    }

    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-first,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-last,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .form-row-wide,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm fieldset,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm > p:last-child {
        grid-column: 1;
    }

    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm fieldset {
        padding: 18px !important;
    }

    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm > p:last-child,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm button.button,
    body.woocommerce-account.tp-account-edit-details .woocommerce-EditAccountForm .button {
        width: 100%;
    }
}

/* v0.9.16 — My Account downloads: empty state + downloadable files table */
body.woocommerce-account.tp-account-downloads .woocommerce-MyAccount-content {
    min-height: 0 !important;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty {
    width: 100%;
    min-height: 430px;
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) auto;
    grid-template-areas:
        "icon copy actions"
        "features features features";
    align-items: center;
    column-gap: 22px;
    row-gap: 34px;
    padding: 42px;
    border: 1px solid #dfe7f1;
    border-radius: 22px;
    background:
        radial-gradient(circle at 8% 12%, rgba(23,101,244,.07), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 16px 38px rgba(16,39,82,.055);
    box-sizing: border-box;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty ~ .woocommerce-info {
    display: none !important;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-icon {
    grid-area: icon;
    width: 78px;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d4e2fa;
    border-radius: 22px;
    background: #edf4ff;
    color: #1765f4;
    box-shadow: 0 12px 24px rgba(23,101,244,.10);
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-icon svg {
    width: 36px;
    height: 36px;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-copy {
    grid-area: copy;
    min-width: 0;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    margin-bottom: 8px;
    border-radius: 999px;
    background: #eef4ff;
    color: #1765f4;
    font-size: 10px;
    font-weight: 900;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty h2 {
    margin: 0;
    color: #10233f;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.55;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty p {
    max-width: 680px;
    margin: 8px 0 0;
    color: #6b7c92;
    font-size: 12px;
    font-weight: 650;
    line-height: 2;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-actions {
    grid-area: actions;
    display: flex;
    flex-direction: column;
    gap: 9px;
    min-width: 170px;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-btn {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border: 1px solid #d8e3f2;
    border-radius: 11px;
    background: #fff;
    color: #31506f !important;
    font-size: 11px;
    font-weight: 900 !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-btn:hover {
    transform: translateY(-1px);
    border-color: #b9cbed;
    box-shadow: 0 8px 18px rgba(16,39,82,.07);
}

body.woocommerce-account.tp-account-downloads .tp-downloads-btn.is-primary {
    border-color: #1765f4;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%);
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(23,101,244,.18);
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-features {
    grid-area: features;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-features span {
    min-height: 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 14px 16px;
    border: 1px solid #e1e8f2;
    border-radius: 14px;
    background: #f8fafd;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-features b {
    color: #263a54;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.7;
}

body.woocommerce-account.tp-account-downloads .tp-downloads-empty-features small {
    margin-top: 3px;
    color: #8190a4;
    font-size: 9px;
    font-weight: 650;
    line-height: 1.7;
}

/* Future state: downloadable products table */
body.woocommerce-account.tp-account-downloads .woocommerce-table--order-downloads,
body.woocommerce-account.tp-account-downloads table.woocommerce-table--order-downloads,
body.woocommerce-account.tp-account-downloads table.shop_table {
    width: 100%;
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid #dfe7f1 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 12px 28px rgba(16,39,82,.045);
}

body.woocommerce-account.tp-account-downloads table th {
    padding: 14px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3e9f1 !important;
    background: #f4f7fb !important;
    color: #607087 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

body.woocommerce-account.tp-account-downloads table td {
    padding: 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f6 !important;
    background: #fff !important;
    color: #26394f !important;
    font-size: 12px !important;
    vertical-align: middle !important;
}

body.woocommerce-account.tp-account-downloads table tr:last-child td {
    border-bottom: 0 !important;
}

body.woocommerce-account.tp-account-downloads table .woocommerce-MyAccount-downloads-file .button,
body.woocommerce-account.tp-account-downloads table a.button {
    min-height: 38px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #1765f4 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

@media (max-width: 900px) {
    body.woocommerce-account.tp-account-downloads .tp-downloads-empty {
        grid-template-columns: 72px minmax(0, 1fr);
        grid-template-areas:
            "icon copy"
            "actions actions"
            "features features";
        min-height: 0;
        padding: 30px;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty-icon {
        width: 66px;
        height: 66px;
        border-radius: 18px;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty-actions {
        flex-direction: row;
        min-width: 0;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-btn {
        flex: 1;
    }
}

@media (max-width: 640px) {
    body.woocommerce-account.tp-account-downloads .tp-downloads-empty {
        grid-template-columns: 1fr;
        grid-template-areas:
            "icon"
            "copy"
            "actions"
            "features";
        gap: 18px;
        padding: 22px 18px;
        text-align: center;
        border-radius: 17px;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty-icon {
        margin: 0 auto;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty h2 {
        font-size: 20px;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty p {
        font-size: 11px;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty-actions {
        flex-direction: column;
    }

    body.woocommerce-account.tp-account-downloads .tp-downloads-empty-features {
        grid-template-columns: 1fr;
        text-align: right;
    }

    body.woocommerce-account.tp-account-downloads table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* v0.9.17 — Order details overflow and responsive card repair */
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li strong,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li .amount,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li span,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li a {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li strong,
body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li .amount {
    font-size: 17px;
    line-height: 1.7;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__email strong {
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: left;
    font-size: 13px;
    word-break: break-all;
}

body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li.woocommerce-order-overview__payment-method strong {
    font-size: 15px;
}

body.woocommerce-order-received .woocommerce-notice--success.woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-order-received table.shop_table.order_details th,
body.woocommerce-order-received table.shop_table.order_details td,
body.woocommerce-order-received table.shop_table.order_details a {
    min-width: 0;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-order-received .woocommerce-customer-details address {
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
    direction: ltr;
    unicode-bidi: plaintext;
    text-align: left;
    word-break: break-all;
}

@media (max-width: 1180px) {
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li strong,
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details li .amount {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    body.woocommerce-order-received .woocommerce-order-overview.woocommerce-thankyou-order-details {
        grid-template-columns: 1fr;
    }
}


/* v0.9.18 — keep phone/email icons outside their text chips */
body.woocommerce-order-received .woocommerce-customer-details address {
    overflow: visible !important;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    max-width: calc(100% - 44px) !important;
    margin: 14px 44px 0 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #e1e8f2 !important;
    border-radius: 999px !important;
    background: #fff !important;
    overflow: visible !important;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone::before,
body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: -40px !important;
    left: auto !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
    border: 1px solid #d7e4f5 !important;
    border-radius: 9px !important;
    background-color: #eef5ff !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 15px 15px !important;
    box-shadow: none !important;
    font-family: inherit !important;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231765f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%231765f4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") !important;
}

body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
    direction: ltr !important;
    unicode-bidi: plaintext !important;
    text-align: left !important;
}

@media (max-width: 640px) {
    body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--phone,
    body.woocommerce-order-received .woocommerce-customer-details address .woocommerce-customer-details--email {
        display: flex !important;
        width: calc(100% - 42px) !important;
        max-width: calc(100% - 42px) !important;
        margin-right: 42px !important;
        border-radius: 12px !important;
    }
}

/* v0.9.20 — Used games virtual archive */
body.tp-used-games-page {
    background: #f5f7fb;
}

body.tp-used-games-page .tp-used-archive-shell {
    width: min(1320px, calc(100% - 40px));
    padding-top: 26px;
    padding-bottom: 58px;
}

body.tp-used-games-page .tp-used-archive-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 28px;
    padding: 32px 36px;
    border: 1px solid #dce6f2;
    border-radius: 24px;
    background: linear-gradient(135deg, #f8fbff 0%, #eef5ff 100%);
    box-shadow: 0 18px 42px rgba(16, 39, 82, .06);
}

body.tp-used-games-page .tp-used-archive-kicker {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 13px;
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    color: #1765f4;
    background: #fff;
    font-size: 11px;
    font-weight: 850;
}

body.tp-used-games-page .tp-used-archive-copy h1 {
    margin: 12px 0 8px;
    color: #10233f;
    font-size: clamp(30px, 3vw, 43px);
    font-weight: 950;
    line-height: 1.4;
}

body.tp-used-games-page .tp-used-archive-copy p {
    max-width: 760px;
    margin: 0;
    color: #5e7088;
    font-size: 13px;
    font-weight: 650;
    line-height: 2;
}

body.tp-used-games-page .tp-used-archive-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(120px, 1fr));
    gap: 10px;
}

body.tp-used-games-page .tp-used-archive-stats > span {
    min-height: 76px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 12px 15px;
    border: 1px solid #dce6f2;
    border-radius: 17px;
    background: #fff;
}

body.tp-used-games-page .tp-used-archive-stats strong {
    color: #123264;
    font-size: 23px;
    font-weight: 950;
}

body.tp-used-games-page .tp-used-archive-stats small {
    color: #718198;
    font-size: 10px;
    font-weight: 750;
}

body.tp-used-games-page .tp-used-archive-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0 18px;
    padding: 8px;
    border: 1px solid #dfe7f1;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(18,41,79,.045);
}

body.tp-used-games-page .tp-used-archive-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    color: #40516a;
    background: #f5f7fb;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

body.tp-used-games-page .tp-used-archive-nav a.is-active {
    color: #fff;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%);
}

body.tp-used-games-page .tp-used-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.tp-used-games-page .tp-used-products ul.products::before,
body.tp-used-games-page .tp-used-products ul.products::after {
    display: none !important;
}

body.tp-used-games-page .tp-used-products ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    min-width: 0;
    padding: 10px !important;
    border: 1px solid #dfe7f1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16,39,82,.035);
}

body.tp-used-games-page .tp-used-products ul.products li.product a img {
    height: 220px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin: 0 0 10px !important;
    padding: 6px;
    border-radius: 12px;
    background: #f6f8fb;
}

body.tp-used-games-page .tp-used-products .woocommerce-loop-product__title {
    min-height: 46px;
    padding: 4px 2px 6px !important;
    color: #17233a !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.8 !important;
}

body.tp-used-games-page .tp-used-products .price {
    color: #14213a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body.tp-used-games-page .tp-used-products .button {
    width: 100%;
    min-height: 38px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 10px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    background: #1765f4 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.tp-used-games-page .tp-used-empty {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 22px;
    border: 1px solid #dfe7f1;
    border-radius: 22px;
    background: #fff;
    text-align: center;
}

body.tp-used-games-page .tp-used-empty-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #1765f4;
    background: #edf4ff;
    font-size: 30px;
    font-weight: 800;
}

body.tp-used-games-page .tp-used-empty h2 {
    margin: 6px 0 0;
    color: #10233f;
    font-size: 24px;
    font-weight: 950;
}

body.tp-used-games-page .tp-used-empty p {
    max-width: 600px;
    margin: 0;
    color: #667890;
    font-size: 12px;
    line-height: 2;
}

body.tp-used-games-page .tp-used-empty a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 0 18px;
    border-radius: 11px;
    background: #1765f4;
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

body.tp-used-games-page .tp-used-pagination {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 24px;
}

body.tp-used-games-page .tp-used-pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe7f1;
    border-radius: 10px;
    background: #fff;
    color: #40516a;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}

body.tp-used-games-page .tp-used-pagination .current {
    border-color: #1765f4;
    background: #1765f4;
    color: #fff;
}

@media (max-width: 1100px) {
    body.tp-used-games-page .tp-used-archive-hero {
        grid-template-columns: 1fr;
    }
    body.tp-used-games-page .tp-used-products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.tp-used-games-page .tp-used-archive-shell {
        width: min(100% - 20px, 1320px);
        padding-top: 18px;
    }
    body.tp-used-games-page .tp-used-archive-hero {
        padding: 24px 20px;
        border-radius: 19px;
    }
    body.tp-used-games-page .tp-used-archive-stats {
        grid-template-columns: 1fr;
    }
    body.tp-used-games-page .tp-used-archive-nav {
        display: flex;
        overflow-x: auto;
    }
    body.tp-used-games-page .tp-used-archive-nav a {
        flex: 0 0 auto;
        min-width: 140px;
        padding-inline: 14px;
    }
    body.tp-used-games-page .tp-used-products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    body.tp-used-games-page .tp-used-products ul.products li.product a img {
        height: 190px !important;
    }
}


/* v0.9.21 — archive navigation now has separate used PS5 / used PS4 categories */
@media (min-width: 1101px) {
    :where(body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag) .tp-shop-category-nav {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

/* v0.9.41 — visual genre directory on the parent ژانر archive */
.tp-genre-directory {
    clear: both;
    margin: 24px 0 28px;
    padding: 24px;
    background: #fff;
    border: 1px solid #e4eaf2;
    border-radius: 20px;
    box-shadow: 0 14px 38px rgba(18, 45, 91, .06);
}
.tp-genre-directory-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.tp-genre-directory-head span {
    display: block;
    margin-bottom: 5px;
    color: #1765f4;
    font-size: 10px;
    font-weight: 800;
}
.tp-genre-directory-head h2 {
    margin: 0;
    color: #15233a;
    font-size: 22px;
    line-height: 1.55;
}
.tp-genre-directory-head p {
    margin: 0;
    color: #7b8798;
    font-size: 10px;
    line-height: 1.9;
}
.tp-genre-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
.tp-genre-directory-card {
    position: relative;
    display: block;
    overflow: hidden;
    min-width: 0;
    background: #f6f8fb;
    border: 1px solid #e5eaf1;
    border-radius: 15px;
    color: inherit;
    text-decoration: none !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tp-genre-directory-card:hover {
    transform: translateY(-4px);
    border-color: #c8d9f7;
    box-shadow: 0 14px 30px rgba(18, 45, 91, .12);
}
.tp-genre-directory-card-media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #eaf0f8;
}
.tp-genre-directory-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}
.tp-genre-directory-card:hover .tp-genre-directory-card-media img { transform: scale(1.04); }
.tp-genre-directory-card-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 58px;
    padding: 11px 13px;
}
.tp-genre-directory-card-body strong {
    color: #17243a;
    font-size: 12px;
    line-height: 1.7;
}
.tp-genre-directory-card-body small {
    flex: 0 0 auto;
    color: #1765f4;
    font-size: 9px;
    font-weight: 700;
}
.tp-genre-directory-card-body small b { font-size: 12px; }

@media (max-width: 950px) {
    .tp-genre-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .tp-genre-directory { margin: 18px 0 22px; padding: 14px; border-radius: 16px; }
    .tp-genre-directory-head { display: block; margin-bottom: 13px; }
    .tp-genre-directory-head h2 { font-size: 18px; }
    .tp-genre-directory-head p { margin-top: 6px; font-size: 9px; }
    .tp-genre-card-grid { grid-template-columns: 1fr; gap: 10px; }
    .tp-genre-directory-card-media { aspect-ratio: 16 / 9; }
    .tp-genre-directory-card-body { min-height: 52px; }
}

/* v0.9.77 — mobile product tabs position after purchase area */
@media (max-width: 820px) {
    body.single-product .woocommerce div.product .summary > .woocommerce-tabs.wc-tabs-wrapper {
        margin-top: 16px !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        clear: both !important;
    }

    body.single-product .woocommerce div.product .summary > .woocommerce-tabs ul.tabs.wc-tabs {
        margin-bottom: 14px !important;
    }

    body.single-product .woocommerce div.product .summary > .woocommerce-tabs .woocommerce-Tabs-panel {
        margin-bottom: 0 !important;
    }
}


@media (max-width:820px){
body.single-product .tp-mobile-product-specs{
    margin-top:16px;
    padding:18px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:16px;
}
body.single-product .tp-mobile-product-specs-title{
    font-size:15px;
    font-weight:700;
    color:#17233a;
    margin-bottom:14px;
}
body.single-product .tp-mobile-product-specs table{
    width:100%;
    margin:0;
}
}


@media (max-width:820px){
body.single-product .tp-mobile-product-meta-row{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #e5ebf3;
    font-size:12px;
    color:#25334a;
}
body.single-product .tp-mobile-order-guide{
    margin-top:14px;
    padding:14px;
    background:#f5f8fc;
    border-radius:12px;
}
body.single-product .tp-mobile-order-guide strong{
    display:block;
    font-size:13px;
    margin-bottom:6px;
}
body.single-product .tp-mobile-order-guide p{
    margin:0;
    font-size:11px;
    line-height:2;
}
}

@media(max-width:820px){
 body.single-product .summary .woocommerce-Tabs-panel--additional_information{
    display:block!important;
    margin-top:16px!important;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:16px;
    padding:18px;
 }
}


/* v0.9.96 — refined add-to-cart notice on single product */
body.single-product .woocommerce-notices-wrapper {
    margin: 12px 0 22px;
}

body.single-product .woocommerce-message {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0 0 18px;
}

body.single-product .woocommerce-message::before,
body.single-product .woocommerce-message::after {
    display: none !important;
}

body.single-product .woocommerce-message .tp-cart-success-notice {
    display: flex;
    align-items: center;
    gap: 16px;
    justify-content: space-between;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #dce6f5;
    border-right: 4px solid #1765f4;
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(23, 101, 244, 0.08);
    padding: 16px 18px;
}

body.single-product .woocommerce-message .tp-cart-success-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #1765f4 0%, #4d8cff 100%);
    color: #ffffff;
}

body.single-product .woocommerce-message .tp-cart-success-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

body.single-product .woocommerce-message .tp-cart-success-icon circle {
    fill: currentColor;
    opacity: .18;
}

body.single-product .woocommerce-message .tp-cart-success-copy {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.single-product .woocommerce-message .tp-cart-success-copy strong {
    font-size: 15px;
    line-height: 1.5;
    color: #0f172a;
}

body.single-product .woocommerce-message .tp-cart-success-copy span {
    font-size: 13px;
    line-height: 1.9;
    color: #64748b;
}

body.single-product .woocommerce-message .tp-cart-success-btn.button {
    margin: 0 !important;
    padding: 12px 18px !important;
    min-width: 158px;
    border-radius: 12px !important;
    background: #1765f4 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 10px 22px rgba(23, 101, 244, 0.18);
}

body.single-product .woocommerce-message .tp-cart-success-btn.button:hover {
    background: #0f56da !important;
}

@media (max-width: 767px) {
    body.single-product .woocommerce-notices-wrapper {
        margin: 10px 0 18px;
    }

    body.single-product .woocommerce-message .tp-cart-success-notice {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 12px;
        padding: 14px;
        border-radius: 16px;
    }

    body.single-product .woocommerce-message .tp-cart-success-copy {
        width: calc(100% - 54px);
    }

    body.single-product .woocommerce-message .tp-cart-success-copy strong {
        font-size: 14px;
    }

    body.single-product .woocommerce-message .tp-cart-success-copy span {
        font-size: 12px;
        line-height: 1.8;
    }

    body.single-product .woocommerce-message .tp-cart-success-btn.button {
        width: 100%;
        min-width: 0;
    }
}

/* TehranPlay Checkout Refinement v0.9.97 */
body.woocommerce-checkout .tp-content{
    padding-top:24px!important;
}
body.woocommerce-checkout .tp-checkout-intro{
    min-height:120px!important;
    padding:22px 28px!important;
    border-radius:20px!important;
}
body.woocommerce-checkout .tp-checkout-intro h2{
    font-size:24px!important;
}
body.woocommerce-checkout form.checkout{
    grid-template-columns: minmax(0,1fr) 370px!important;
    gap:22px!important;
}
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2,
body.woocommerce-checkout #order_review{
    border-radius:18px!important;
    box-shadow:0 10px 28px rgba(18,41,79,.045)!important;
}
body.woocommerce-checkout #order_review{
    background:#fff!important;
    padding:22px!important;
    border:1px solid #dfe6f0!important;
}
body.woocommerce-checkout #order_review_heading{
    background:#fff!important;
    padding:18px 22px!important;
    border:1px solid #dfe6f0!important;
    border-bottom:0!important;
    border-radius:18px 18px 0 0!important;
}
body.woocommerce-checkout #order_review table.shop_table{
    margin:0 0 18px!important;
}
body.woocommerce-checkout .woocommerce-checkout-payment{
    margin-top:16px!important;
    border:1px solid #e1e8f2!important;
    padding:14px!important;
}
body.woocommerce-checkout #place_order{
    width:100%!important;
    min-height:52px!important;
    border-radius:12px!important;
    font-size:13px!important;
    font-weight:800!important;
}
@media(max-width:950px){
 body.woocommerce-checkout form.checkout{
    grid-template-columns:1fr!important;
 }
 body.woocommerce-checkout #order_review_heading{
    border-radius:18px!important;
    border-bottom:1px solid #dfe6f0!important;
 }
}

/* TehranPlay Checkout UI Alignment v0.9.98 — product page design language */
body.woocommerce-checkout {
    background:#fafbfd !important;
}

body.woocommerce-checkout .tp-checkout-intro {
    background:#fff !important;
    border:1px solid #e2e8f1 !important;
    box-shadow:none !important;
    border-radius:22px !important;
    min-height:110px !important;
}

body.woocommerce-checkout .tp-checkout-intro h2 {
    color:#10213d !important;
    font-size:30px !important;
}

body.woocommerce-checkout form.checkout .col-1,
body.woocommerce-checkout form.checkout .col-2,
body.woocommerce-checkout #order_review {
    background:#fff !important;
    border:1px solid #e1e7ef !important;
    border-radius:22px !important;
    box-shadow:none !important;
}

body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2 {
    padding:28px !important;
}

body.woocommerce-checkout #order_review {
    padding:24px !important;
}

body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-checkout #customer_details h3 {
    color:#10213d !important;
    font-size:18px !important;
    font-weight:900 !important;
    margin-bottom:20px !important;
}

body.woocommerce-checkout form .form-row label {
    color:#263a59 !important;
    font-size:11px !important;
    font-weight:700 !important;
    margin-bottom:8px !important;
}

body.woocommerce-checkout form .form-row input.input-text,
body.woocommerce-checkout form .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection {
    height:48px !important;
    background:#fff !important;
    border:1px solid #dce4ef !important;
    border-radius:12px !important;
    color:#17263f !important;
    box-shadow:none !important;
}

body.woocommerce-checkout form .form-row textarea {
    min-height:90px !important;
    padding-top:12px !important;
}

body.woocommerce-checkout form .form-row input:focus,
body.woocommerce-checkout form .form-row textarea:focus {
    border-color:#2166f3 !important;
    outline:none !important;
}

body.woocommerce-checkout #order_review table.shop_table {
    border:0 !important;
}

body.woocommerce-checkout #order_review table.shop_table td,
body.woocommerce-checkout #order_review table.shop_table th {
    background:#fff !important;
    border-color:#edf1f6 !important;
    font-size:11px !important;
}

body.woocommerce-checkout #order_review .order-total strong {
    color:#10213d !important;
    font-size:22px !important;
}

body.woocommerce-checkout #payment {
    background:#f7f9fc !important;
    border:1px solid #e3e9f2 !important;
    border-radius:16px !important;
    padding:14px !important;
}

body.woocommerce-checkout #place_order {
    width:100% !important;
    height:52px !important;
    background:#2166f3 !important;
    color:#fff !important;
    border-radius:12px !important;
    font-size:13px !important;
    font-weight:900 !important;
    margin-top:12px !important;
}

body.woocommerce-checkout #place_order:hover {
    background:#1558df !important;
}

@media(max-width:950px){
    body.woocommerce-checkout form.checkout {
        grid-template-columns:1fr !important;
    }
}

/* v0.10.25 — Compact archive ordering control. */
@media(min-width:901px){
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .woocommerce-ordering{
        width:340px!important;
        min-width:0!important;
        max-width:340px!important;
        justify-self:end!important;
    }
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .woocommerce-ordering select{
        width:270px!important;
        flex:0 0 270px!important;
    }
}

/* v0.10.29 — Stable product gallery without transform/RTL offset failures. */
body.single-product .woocommerce-product-gallery .flex-viewport{width:100%!important}
body.single-product .woocommerce-product-gallery.tp-gallery-ready .flex-viewport{overflow:hidden!important}
body.single-product .woocommerce-product-gallery.tp-gallery-ready .woocommerce-product-gallery__wrapper{width:100%!important;transform:none!important;margin:0!important}
body.single-product .woocommerce-product-gallery.tp-gallery-ready .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image{display:none!important;width:100%!important;float:none!important;margin:0!important}
body.single-product .woocommerce-product-gallery.tp-gallery-ready .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image.tp-gallery-active{display:flex!important;align-items:center!important;justify-content:center!important}

/* v0.10.32 — Keep archive filters and ordering in one desktop row. */
@media(min-width:901px){
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls{
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        gap:12px!important;
    }
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .tp-archive-benefits{order:1!important;flex:0 0 auto!important;margin:0!important}
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .tp-genre-filter{order:2!important;flex:0 0 auto!important;margin:0!important}
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .woocommerce-ordering{order:3!important;flex:0 0 340px!important;width:340px!important;margin:0!important}
    :where(body.post-type-archive-product,body.tax-product_cat,body.tax-product_tag) .tp-shop-controls .woocommerce-result-count{order:4!important;flex:0 0 auto!important;margin-right:auto!important}
}

/* v0.10.33 — Final My Account shell guard for migrated WooCommerce pages. */
body.woocommerce-account.logged-in .tp-entry{width:100%!important;max-width:none!important}
body.woocommerce-account.logged-in .tp-entry>.woocommerce{width:100%!important;max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:250px minmax(0,1fr)!important;gap:22px!important;align-items:start!important}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{display:block!important;float:none!important;width:250px!important;max-width:250px!important}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{display:block!important;list-style:none!important;margin:0!important;padding:10px!important}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{display:block!important;margin:0 0 5px!important;padding:0!important;list-style:none!important}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li::marker{content:""}
body.woocommerce-account.logged-in .woocommerce-MyAccount-content{display:block!important;float:none!important;width:100%!important;min-width:0!important;max-width:none!important}
@media(max-width:820px){body.woocommerce-account.logged-in .tp-entry>.woocommerce{grid-template-columns:1fr!important}body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation{position:static!important;width:100%!important;max-width:none!important}body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul{display:flex!important;overflow-x:auto!important;gap:6px!important}body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li{min-width:max-content!important;margin:0!important}}

/* v0.10.36 — PS5/PS4 game trailer tab */
.tp-game-trailer{width:100%;max-width:1180px;margin:0 auto;padding:8px 0 2px}
.tp-game-trailer-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #dce5f1;border-radius:20px;background:#071426;box-shadow:0 16px 38px rgba(8,28,60,.12)}
.tp-game-trailer-frame iframe,.tp-game-trailer-frame embed,.tp-game-trailer-frame video{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;border:0!important;object-fit:contain}
@media(max-width:680px){.tp-game-trailer{padding-top:2px}.tp-game-trailer-frame{border-radius:14px}}

/* v0.10.37 — Category description tables fit mobile width without horizontal scrolling. */
@media (max-width: 760px) {
    body.tax-product_cat .tp-category-description-top .tp-category-description-content,
    body.tax-product_cat .tp-category-description-bottom .tp-category-description-content,
    body.tax-product_cat .tp-category-description-content .wp-block-table,
    body.tax-product_cat .tp-category-description-content figure.wp-block-table {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: visible !important;
        box-sizing: border-box !important;
    }

    body.tax-product_cat .tp-category-description-content table {
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }

    body.tax-product_cat .tp-category-description-content table col {
        width: auto !important;
    }

    body.tax-product_cat .tp-category-description-content table th,
    body.tax-product_cat .tp-category-description-content table td {
        min-width: 0 !important;
        max-width: none !important;
        padding: 8px 6px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        hyphens: auto;
        font-size: 10px !important;
        line-height: 1.75 !important;
    }

    body.tax-product_cat .tp-category-description-content table img {
        max-width: 100% !important;
        height: auto !important;
    }
}

@media (max-width: 430px) {
    body.tax-product_cat .tp-category-description-content table th,
    body.tax-product_cat .tp-category-description-content table td {
        padding: 6px 4px !important;
        font-size: 9px !important;
        line-height: 1.65 !important;
    }
}


/* v0.10.63 — Mobile gallery + additional-information overflow fixes. */
body.single-product .woocommerce-product-gallery.tp-gallery-ready .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    display: none !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
body.single-product .woocommerce-product-gallery.tp-gallery-ready .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.tp-gallery-active {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 820px) {
    body.single-product .woocommerce-Tabs-panel--additional_information {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes,
    body.single-product .woocommerce-Tabs-panel--additional_information > table {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes th,
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes td,
    body.single-product .woocommerce-Tabs-panel--additional_information > table th,
    body.single-product .woocommerce-Tabs-panel--additional_information > table td {
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 11px 8px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes th {
        width: 34% !important;
    }
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes td {
        width: 66% !important;
    }
    body.single-product .woocommerce-Tabs-panel--additional_information table.shop_attributes p {
        margin: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }
}

/* v0.10.66 — Mobile gallery stage lives inside the original big-image viewport. */
.tp-mobile-gallery-stage { display:none; }
@media (max-width:820px) {
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .flex-viewport {
        display:block !important;
        position:relative !important;
        overflow:hidden !important;
        background:#fff !important;
        border:1px solid #e1e6ed !important;
        border-radius:17px !important;
        box-sizing:border-box !important;
    }
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .flex-viewport > .woocommerce-product-gallery__wrapper {
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .flex-viewport > .tp-mobile-gallery-stage {
        display:flex !important;
        position:absolute !important;
        inset:7px !important;
        z-index:20 !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
        border:0 !important;
        border-radius:12px !important;
        box-sizing:border-box !important;
        touch-action:pan-y !important;
    }
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .flex-viewport > .tp-mobile-gallery-stage .tp-mobile-gallery-stage-link {
        display:flex !important;
        width:100% !important;
        height:100% !important;
        align-items:center !important;
        justify-content:center !important;
        margin:0 !important;
        padding:0 !important;
    }
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .flex-viewport > .tp-mobile-gallery-stage .tp-mobile-gallery-stage-img {
        display:block !important;
        width:auto !important;
        height:100% !important;
        max-width:100% !important;
        max-height:100% !important;
        object-fit:contain !important;
        object-position:center !important;
        margin:auto !important;
        border-radius:12px !important;
        opacity:1 !important;
        visibility:visible !important;
        transform:none !important;
        box-shadow:none !important;
    }
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached .flex-control-thumbs img.tp-mobile-thumb-active,
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached .flex-control-thumbs img.flex-active {
        opacity:1 !important;
        border-color:#1765f4 !important;
        box-shadow:0 0 0 2px rgba(23,101,244,.16) !important;
    }
    /* Any leftover legacy detached stage outside the viewport must never render. */
    body.single-product .woocommerce-product-gallery.tp-mobile-gallery-detached > .tp-mobile-gallery-stage {
        display:none !important;
    }
}

/* v0.10.67 — Independent mobile product gallery. */
.tp-mobile-product-gallery{display:none}
@media (max-width: 820px) {
    body.single-product .tp-mobile-product-gallery {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 12px !important;
        grid-column: 1 !important;
    }
    body.single-product .tp-mobile-product-gallery__stage {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 292px !important;
        padding: 13px !important;
        background: #fff !important;
        border: 1px solid #e1e6ed !important;
        border-radius: 14px !important;
        text-decoration: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    body.single-product .tp-mobile-product-gallery__main-image {
        display: block !important;
        max-width: 86% !important;
        max-height: 266px !important;
        width: auto !important;
        height: auto !important;
        margin: 0 auto !important;
        border-radius: 10px !important;
        object-fit: contain !important;
        box-shadow: none !important;
    }
    body.single-product .tp-mobile-product-gallery__thumbs {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-top: 10px !important;
    }
    body.single-product .tp-mobile-product-gallery__thumb {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 4px !important;
        min-height: 68px !important;
        background: #fff !important;
        border: 1px solid #dfe5ed !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
    }
    body.single-product .tp-mobile-product-gallery__thumb.is-active {
        border-color: #1765f4 !important;
        box-shadow: 0 0 0 2px rgba(23, 101, 244, .14) !important;
    }
    body.single-product .tp-mobile-product-gallery__thumb img {
        display: block !important;
        width: 100% !important;
        height: 60px !important;
        object-fit: cover !important;
        border-radius: 8px !important;
    }
    body.single-product .woocommerce div.product > div.images.woocommerce-product-gallery,
    body.single-product .woocommerce div.product > .woocommerce-product-gallery {
        display: none !important;
    }
}
@media (min-width: 821px) {
    body.single-product .tp-mobile-product-gallery {
        display: none !important;
    }
}

/* v0.10.68 — Native single-stage product gallery (no FlexSlider). */
body.single-product.woocommerce div.product > .tp-native-product-gallery,
body.single-product .woocommerce div.product > .tp-native-product-gallery {
    grid-area: gallery !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    position: relative !important;
    top: auto !important;
    align-self: start !important;
    box-sizing: border-box !important;
}
body.single-product .tp-native-product-gallery__stage {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 440px !important;
    padding: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e1e6ed !important;
    border-radius: 17px !important;
    box-sizing: border-box !important;
}
body.single-product .tp-native-product-gallery__stage-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 406px !important;
    text-decoration: none !important;
}
body.single-product .tp-native-product-gallery__main-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 406px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity .12s ease !important;
}
body.single-product .tp-native-product-gallery__main-image.is-changing {
    opacity: .35 !important;
}
body.single-product .tp-native-product-gallery__thumbs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
}
body.single-product .tp-native-product-gallery__thumb {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #dfe5ed !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
}
body.single-product .tp-native-product-gallery__thumb.is-active {
    border-color: #1765f4 !important;
    box-shadow: 0 0 0 2px rgba(23,101,244,.13) !important;
}
body.single-product .tp-native-product-gallery__thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 7px !important;
}
@media (max-width: 768px) {
    body.single-product.woocommerce div.product > .tp-native-product-gallery,
    body.single-product .woocommerce div.product > .tp-native-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    body.single-product .tp-native-product-gallery__stage {
        min-height: 292px !important;
        padding: 13px !important;
        border-radius: 14px !important;
        touch-action: pan-y !important;
    }
    body.single-product .tp-native-product-gallery__stage-link {
        min-height: 266px !important;
    }
    body.single-product .tp-native-product-gallery__main-image {
        max-width: 86% !important;
        max-height: 266px !important;
        border-radius: 10px !important;
    }
    body.single-product .tp-native-product-gallery__thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-top: 9px !important;
    }
    body.single-product .tp-native-product-gallery__thumb {
        height: 68px !important;
        padding: 4px !important;
        border-radius: 9px !important;
    }
}

/* v0.10.69 — CSS-only product gallery; thumbnail selection works without JS. */
body.single-product .tp-css-product-gallery {
    grid-area: gallery !important;
    float: none !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: start !important;
    box-sizing: border-box !important;
    isolation: isolate !important;
}
body.single-product .tp-css-product-gallery__radio {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
body.single-product .tp-css-product-gallery__stage {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 440px !important;
    padding: 16px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e1e6ed !important;
    border-radius: 17px !important;
    box-sizing: border-box !important;
}
body.single-product .tp-css-product-gallery__slide {
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 406px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}
body.single-product .tp-css-product-gallery__slide img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 88% !important;
    max-height: 406px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 12px !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body.single-product .tp-css-product-gallery__thumbs {
    position: relative !important;
    z-index: 50 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
}
body.single-product .tp-css-product-gallery__thumb {
    position: relative !important;
    z-index: 51 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 4px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #dfe5ed !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
body.single-product .tp-css-product-gallery__thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    border: 0 !important;
    border-radius: 7px !important;
    pointer-events: none !important;
}
@media (max-width: 820px) {
    body.single-product .tp-css-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    body.single-product .tp-css-product-gallery__stage {
        min-height: 292px !important;
        padding: 13px !important;
        border-radius: 14px !important;
    }
    body.single-product .tp-css-product-gallery__slide {
        min-height: 266px !important;
    }
    body.single-product .tp-css-product-gallery__slide img {
        max-width: 86% !important;
        max-height: 266px !important;
        border-radius: 10px !important;
    }
    body.single-product .tp-css-product-gallery__thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 7px !important;
        margin-top: 9px !important;
    }
    body.single-product .tp-css-product-gallery__thumb {
        height: 68px !important;
        padding: 4px !important;
        border-radius: 9px !important;
    }
}
