/*
Theme Name: Tasawwq Marketplace Pro
Theme URI: https://tasawwq.com/
Author: iHafooza Soft
Author URI: https://tasawwq.com/
Description: Arabic RTL WooCommerce marketplace theme with red Amazon-style header, white Tasawwq logo, animated home page, SEO-ready sections, offers, electronics and import-on-demand banners.
Version: 1.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tasawwq-marketplace
Tags: e-commerce, rtl-language-support, custom-logo, custom-menu, featured-images, woocommerce
*/

:root {
  --ts-red: #e30613;
  --ts-red-2: #c4000b;
  --ts-red-dark: #8e0008;
  --ts-red-soft: #fff0f1;
  --ts-yellow: #ffd100;
  --ts-gold: #ffb000;
  --ts-blue: #003a8c;
  --ts-purple: #5b21b6;
  --ts-dark: #101114;
  --ts-dark-2: #171923;
  --ts-text: #202124;
  --ts-muted: #6b7280;
  --ts-border: #e8e8ec;
  --ts-bg: #f5f6f8;
  --ts-white: #ffffff;
  --ts-radius: 16px;
  --ts-radius-lg: 24px;
  --ts-shadow: 0 12px 32px rgba(15, 23, 42, 0.10);
  --ts-shadow-strong: 0 22px 60px rgba(0, 0, 0, 0.22);
  --ts-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Tahoma, Arial, sans-serif;
  background: var(--ts-bg);
  color: var(--ts-text);
  line-height: 1.7;
  direction: rtl;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; transition: color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
a:hover { color: var(--ts-red); }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font-family: inherit; }
.ts-container { width: min(var(--ts-max), calc(100% - 32px)); margin-inline: auto; }

/* Header */
.ts-topbar {
  background: linear-gradient(90deg, var(--ts-red-dark), #6f0006, var(--ts-red-dark));
  color: #fff;
  font-size: 13px;
  padding: 7px 0;
  overflow: hidden;
}
.ts-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ts-topbar__ticker { display: flex; align-items: center; gap: 28px; white-space: nowrap; min-width: 0; overflow: hidden; }
.ts-topbar__ticker span { display: inline-flex; animation: tsTicker 18s linear infinite; }
.ts-topbar__links { display: flex; flex-wrap: wrap; gap: 14px; flex: 0 0 auto; }
.ts-topbar a { color: #fff; opacity: .94; }
.ts-topbar a:hover { opacity: 1; color: #fff; text-decoration: underline; }

.ts-site-header {
  background: radial-gradient(circle at 80% 0%, #ff3640 0%, var(--ts-red) 42%, var(--ts-red-2) 100%);
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: 0 7px 22px rgba(0, 0, 0, 0.18);
}
.admin-bar .ts-site-header { top: 32px; }
.ts-header-main { display: grid; grid-template-columns: 250px 1fr 230px; align-items: center; gap: 20px; min-height: 86px; padding: 12px 0; }
.ts-brand { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; min-width: 205px; }
.ts-brand__logo { display: block; max-width: 190px; max-height: 74px; object-fit: contain; filter: drop-shadow(0 6px 15px rgba(0,0,0,.2)); }
.ts-brand__tagline { color: rgba(255,255,255,.88); font-size: 12px; max-width: 95px; line-height: 1.35; }
.custom-logo-link img { max-height: 74px; width: auto; filter: brightness(0) invert(1); }

.ts-search-wrap { background: #fff; border-radius: 999px; display: flex; align-items: center; overflow: hidden; min-height: 52px; box-shadow: 0 8px 22px rgba(0,0,0,.18); border: 2px solid rgba(255,255,255,.35); }
.ts-product-search { display: flex; width: 100%; align-items: center; }
.ts-product-search select, .ts-product-search input[type="search"] { border: 0; outline: 0; background: transparent; }
.ts-product-search select { min-width: 142px; height: 52px; padding: 0 14px; color: #333; border-left: 1px solid var(--ts-border); background: #f8fafc; }
.ts-product-search input[type="search"] { flex: 1; height: 52px; padding: 0 20px; font-size: 15px; color: #111827; }
.ts-search-btn { border: 0; height: 52px; width: 66px; background: linear-gradient(180deg, #111827, #050505); color: #fff; font-size: 18px; cursor: pointer; transition: filter .2s ease, transform .2s ease; }
.ts-search-btn:hover { filter: brightness(1.1); transform: translateX(-1px); }

.ts-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.ts-action { display: inline-flex; flex-direction: column; justify-content: center; min-width: 68px; color: #fff !important; border-radius: 13px; padding: 7px 9px; line-height: 1.2; position: relative; }
.ts-action:hover { background: rgba(255,255,255,.15); color: #fff !important; }
.ts-action small { font-size: 11px; opacity: .9; }
.ts-action strong { font-size: 14px; }
.ts-action--cart { align-items: center; flex-direction: row; gap: 8px; }
.ts-cart-emoji { font-size: 23px; }
.ts-cart-count { display: inline-flex; align-items: center; justify-content: center; min-width: 23px; height: 23px; border-radius: 50%; background: var(--ts-yellow); color: #111; font-size: 12px; font-weight: 900; margin-inline-start: 4px; box-shadow: 0 4px 14px rgba(0,0,0,.2); }

.ts-menu-bar { background: #101014; color: #fff; }
.ts-menu-inner { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.ts-mobile-toggle { display: none; border: 0; background: rgba(255,255,255,.12); color: #fff; border-radius: 10px; padding: 9px 12px; cursor: pointer; }
.ts-all-cats { display: inline-flex; align-items: center; gap: 8px; background: #000; color: #fff !important; padding: 10px 18px; border-radius: 10px; font-weight: 900; white-space: nowrap; }
.ts-import-pill { margin-inline-start: auto; background: var(--ts-yellow); color: #111 !important; border-radius: 999px; padding: 9px 14px; font-weight: 900; white-space: nowrap; box-shadow: 0 4px 16px rgba(255, 209, 0, .25); }
.ts-import-pill:hover { transform: translateY(-1px); color: #111 !important; }
.ts-main-nav ul, .ts-main-nav li { list-style: none; margin: 0; padding: 0; }
.ts-main-nav > ul, .ts-main-nav .menu { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.ts-main-nav a { display: inline-flex; color: #fff; padding: 10px 12px; border-radius: 9px; font-size: 14px; }
.ts-main-nav a:hover { color: #fff; background: rgba(255,255,255,.13); }

/* Home */
.ts-main { padding: 18px 0 26px; }
.ts-home { padding-top: 0; }
.ts-hero { padding: 16px 0 8px; }
.ts-hero-banner { min-height: 430px; position: relative; overflow: hidden; border-radius: var(--ts-radius-lg); color: #fff; background: radial-gradient(circle at 70% 45%, rgba(255,255,255,.12), transparent 14%), radial-gradient(circle at 20% 10%, rgba(255,255,255,.12), transparent 18%), linear-gradient(120deg, #640006 0%, #b0000b 42%, #e30613 100%); box-shadow: var(--ts-shadow-strong); display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(380px, .98fr); align-items: center; padding: clamp(24px, 4vw, 54px); isolation: isolate; }
.ts-hero-banner:before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 35%, rgba(255,255,255,.22) 42%, transparent 49%); transform: translateX(65%); animation: tsShine 6s ease-in-out infinite; z-index: -1; opacity: .45; }
.ts-hero-banner:after { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.13); border-radius: 28px; pointer-events: none; }
.ts-hero-glow { position: absolute; width: 430px; height: 430px; border-radius: 50%; border: 3px solid rgba(255,255,255,.28); filter: drop-shadow(0 0 18px rgba(255,255,255,.35)); }
.ts-hero-glow--one { inset-inline-end: 16%; bottom: -130px; animation: tsSpin 18s linear infinite; }
.ts-hero-glow--two { inset-inline-end: -100px; top: -160px; opacity: .5; animation: tsSpin 26s linear reverse infinite; }
.ts-hero-copy { position: relative; z-index: 2; max-width: 680px; }
.ts-hero-logo { max-width: clamp(200px, 25vw, 360px); margin-bottom: 16px; filter: drop-shadow(0 10px 26px rgba(0,0,0,.28)); }
.ts-kicker { display: inline-flex; background: rgba(255,255,255,.15); color: #fff; border: 1px solid rgba(255,255,255,.24); padding: 7px 14px; border-radius: 999px; font-size: 13px; margin-bottom: 14px; backdrop-filter: blur(6px); }
.ts-hero h1 { margin: 0 0 14px; font-size: clamp(28px, 3.8vw, 52px); line-height: 1.18; letter-spacing: -.7px; }
.ts-hero p { margin: 0 0 24px; color: rgba(255,255,255,.9); font-size: clamp(15px, 1.35vw, 19px); max-width: 650px; }
.ts-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ts-hero-visual { position: relative; z-index: 2; min-height: 330px; }
.ts-bag { position: absolute; inset-inline-end: 17%; top: 22%; width: 220px; height: 260px; border-radius: 20px 20px 28px 28px; background: linear-gradient(160deg, #f2212f, #8d0008); box-shadow: 0 26px 70px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.35); display: grid; place-items: center; }
.ts-bag:before { content: ""; position: absolute; top: -46px; width: 92px; height: 76px; border: 12px solid #ffb3b7; border-bottom: 0; border-radius: 50px 50px 0 0; opacity: .75; }
.ts-bag img { width: 150px; filter: drop-shadow(0 6px 10px rgba(0,0,0,.24)); }
.ts-product-orbit { position: absolute; width: 78px; height: 78px; display: grid; place-items: center; background: rgba(255,255,255,.92); color: #111; border-radius: 22px; font-size: 36px; box-shadow: 0 12px 32px rgba(0,0,0,.22); animation: tsFloat 5s ease-in-out infinite; }
.ts-orbit-1 { inset-inline-start: 9%; top: 11%; animation-delay: 0s; }
.ts-orbit-2 { inset-inline-start: 27%; bottom: 7%; animation-delay: .6s; }
.ts-orbit-3 { inset-inline-end: 0; bottom: 25%; animation-delay: 1.1s; }
.ts-orbit-4 { inset-inline-start: 3%; bottom: 34%; animation-delay: 1.7s; }
.ts-discount-tag { position: absolute; inset-inline-end: 2%; top: 8%; width: 150px; height: 150px; border-radius: 50%; border: 2px dashed rgba(255,255,255,.75); background: rgba(126,0,8,.76); display: grid; place-items: center; text-align: center; line-height: 1.2; transform: rotate(-7deg); box-shadow: 0 12px 34px rgba(0,0,0,.25); animation: tsPulse 2.4s ease-in-out infinite; }
.ts-discount-tag strong { font-size: 44px; }

.ts-section { padding: 18px 0; }
.ts-section--flush { padding-top: 8px; }
.ts-section-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.ts-section-title { margin: 0; font-size: 25px; color: #111827; }
.ts-section-link { color: var(--ts-red); font-weight: 900; }

.ts-btn, .button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.added_to_cart { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px !important; padding: 12px 22px !important; background: var(--ts-red) !important; color: #fff !important; border: 0 !important; font-weight: 900 !important; line-height: 1.2 !important; transition: transform .2s ease, filter .2s ease, box-shadow .2s ease !important; box-shadow: 0 8px 20px rgba(227,6,19,.2); }
.ts-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.added_to_cart:hover { filter: brightness(.96); transform: translateY(-2px); color: #fff !important; }
.ts-btn--light { background: #fff !important; color: var(--ts-red) !important; }
.ts-btn--outline { background: rgba(255,255,255,.08) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.35) !important; box-shadow: none; }
.ts-pulse { animation: tsButtonPulse 2.2s ease-in-out infinite; }

.ts-trust-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ts-trust-row--compact { margin-top: 0; }
.ts-trust-item { background: #fff; border: 1px solid var(--ts-border); border-radius: var(--ts-radius); padding: 15px; display: flex; align-items: center; gap: 12px; box-shadow: 0 5px 18px rgba(15,23,42,.05); }
.ts-trust-item:hover { transform: translateY(-2px); box-shadow: var(--ts-shadow); }
.ts-trust-icon { width: 44px; height: 44px; border-radius: 15px; background: var(--ts-red); color: #fff; display: grid; place-items: center; font-size: 19px; flex: 0 0 auto; }
.ts-trust-item strong { display: block; font-size: 14px; }
.ts-trust-item span { display: block; color: var(--ts-muted); font-size: 12px; }

.ts-offer-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ts-offer-card, .ts-countdown-card { min-height: 190px; border-radius: var(--ts-radius-lg); overflow: hidden; padding: 22px; box-shadow: var(--ts-shadow); position: relative; isolation: isolate; }
.ts-offer-card { color: #fff !important; display: flex; flex-direction: column; justify-content: space-between; }
.ts-offer-card:after { content: ""; position: absolute; inset-inline-end: -40px; bottom: -50px; width: 160px; height: 160px; border-radius: 50%; background: rgba(255,255,255,.18); z-index: -1; transition: transform .35s ease; }
.ts-offer-card:hover { color: #fff !important; transform: translateY(-3px); box-shadow: var(--ts-shadow-strong); }
.ts-offer-card:hover:after { transform: scale(1.18); }
.ts-offer-card--red { background: linear-gradient(135deg, #f21421, #970009); }
.ts-offer-card--blue { background: linear-gradient(135deg, #0049b8, #001b45); }
.ts-offer-card--purple { background: linear-gradient(135deg, #8b21ff, #3e0a74); }
.ts-offer-label { display: inline-flex; width: fit-content; background: rgba(255,255,255,.17); border: 1px solid rgba(255,255,255,.24); border-radius: 999px; padding: 5px 10px; font-size: 12px; }
.ts-offer-card h2 { margin: 10px 0 7px; font-size: 22px; line-height: 1.35; }
.ts-offer-card p { margin: 0; color: rgba(255,255,255,.86); font-size: 14px; }
.ts-offer-btn { display: inline-flex; align-self: flex-start; background: #fff; color: #111; border-radius: 999px; padding: 9px 14px; font-weight: 900; margin-top: 16px; }
.ts-countdown-card { background: #111; color: #fff; display: flex; flex-direction: column; justify-content: center; gap: 15px; }
.ts-countdown-card span { color: #fff; font-weight: 900; }
.ts-countdown { display: grid; grid-template-columns: repeat(3, auto auto); gap: 7px; align-items: center; justify-content: start; }
.ts-countdown b { background: var(--ts-red); min-width: 44px; height: 44px; border-radius: 10px; display: grid; place-items: center; font-size: 18px; }
.ts-countdown small { color: rgba(255,255,255,.72); margin-inline-end: 5px; }

.ts-featured-cats, .ts-category-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.ts-featured-cat, .ts-cat-tile { background: #fff; border: 1px solid var(--ts-border); border-radius: var(--ts-radius); padding: 16px 10px; text-align: center; box-shadow: 0 3px 14px rgba(15,23,42,.04); min-height: 118px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 9px; position: relative; overflow: hidden; }
.ts-featured-cat:before, .ts-cat-tile:before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 0 38%, rgba(255,255,255,.75) 50%, transparent 62%); transform: translateX(120%); transition: transform .65s ease; }
.ts-featured-cat:hover:before, .ts-cat-tile:hover:before { transform: translateX(-120%); }
.ts-featured-cat:hover, .ts-cat-tile:hover { color: var(--ts-red); box-shadow: var(--ts-shadow); transform: translateY(-3px); }
.ts-featured-cat__icon, .ts-cat-icon { width: 52px; height: 52px; display: grid; place-items: center; background: var(--ts-red-soft); color: var(--ts-red); border-radius: 18px; font-size: 25px; position: relative; z-index: 1; }
.ts-featured-cat__title, .ts-cat-title { font-weight: 900; font-size: 13px; position: relative; z-index: 1; }
.ts-featured-cat.is-hot .ts-featured-cat__icon { background: #e8f1ff; color: var(--ts-blue); }
.ts-featured-cat.is-import .ts-featured-cat__icon { background: #fff5dc; color: #a16207; }
.ts-featured-cat.is-hot:after, .ts-featured-cat.is-import:after { content: "HOT"; position: absolute; top: 8px; inset-inline-start: 8px; background: var(--ts-red); color: #fff; font-size: 10px; border-radius: 999px; padding: 2px 7px; font-weight: 900; }
.ts-featured-cat.is-import:after { content: "اطلب"; background: var(--ts-yellow); color: #111; }

.ts-products-shell { background: #fff; border-radius: var(--ts-radius-lg); box-shadow: var(--ts-shadow); padding: 18px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px !important; margin: 0 !important; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width: auto !important; float: none !important; clear: none !important; margin: 0 !important; border: 1px solid var(--ts-border); border-radius: var(--ts-radius); background: #fff; overflow: hidden; padding: 0 0 14px !important; transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease; display: flex; flex-direction: column; position: relative; }
.woocommerce ul.products li.product:hover { box-shadow: var(--ts-shadow); transform: translateY(-3px); border-color: rgba(227,6,19,.24); }
.woocommerce ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; background: #f8fafc; margin: 0 0 12px !important; width: 100%; transition: transform .35s ease; }
.woocommerce ul.products li.product:hover a img { transform: scale(1.035); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; line-height: 1.55; padding: 0 12px !important; min-height: 48px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: #111827; }
.woocommerce ul.products li.product .price { color: var(--ts-red) !important; font-size: 18px !important; font-weight: 900 !important; padding: 0 12px; margin: 5px 0 10px !important; }
.woocommerce ul.products li.product .price del { color: #9ca3af !important; font-size: 13px; opacity: 1 !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .star-rating { margin: 0 12px 8px !important; color: #f59e0b; }
.woocommerce ul.products li.product .button { margin: auto 12px 0 !important; width: calc(100% - 24px); font-size: 13px !important; padding: 10px 12px !important; background: #111 !important; }
.woocommerce ul.products li.product .button:hover { background: var(--ts-red) !important; }
.woocommerce span.onsale { background: var(--ts-yellow) !important; color: #111 !important; border-radius: 999px !important; min-height: auto !important; min-width: auto !important; padding: 7px 10px !important; line-height: 1 !important; font-weight: 900 !important; box-shadow: 0 8px 20px rgba(0,0,0,.15); }

.ts-split-banners { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ts-wide-banner { min-height: 210px; border-radius: var(--ts-radius-lg); padding: 28px; color: #fff !important; display: flex; align-items: end; justify-content: space-between; gap: 18px; position: relative; overflow: hidden; box-shadow: var(--ts-shadow); }
.ts-wide-banner:after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; inset-inline-end: -80px; bottom: -120px; background: rgba(255,255,255,.14); }
.ts-wide-banner--electronics { background: linear-gradient(130deg, #001a44, #004aad 55%, #03a9ff); }
.ts-wide-banner--import { background: linear-gradient(130deg, #2d0a66, #8a22ff 62%, #ffc400); }
.ts-wide-banner div, .ts-wide-banner strong { position: relative; z-index: 1; }
.ts-wide-banner span { display: inline-flex; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 5px 11px; font-size: 12px; }
.ts-wide-banner h2 { margin: 10px 0 7px; font-size: 28px; }
.ts-wide-banner p { margin: 0; color: rgba(255,255,255,.85); }
.ts-wide-banner strong { background: #fff; color: #111; border-radius: 999px; padding: 10px 15px; white-space: nowrap; }
.ts-wide-banner:hover { color: #fff !important; transform: translateY(-3px); }

.ts-seo-panel { background: #fff; border-radius: var(--ts-radius-lg); padding: 28px; box-shadow: var(--ts-shadow); border: 1px solid var(--ts-border); }
.ts-seo-panel h2 { margin: 0 0 10px; font-size: 27px; }
.ts-seo-panel p { color: var(--ts-muted); margin: 0; max-width: 950px; }
.ts-seo-links { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.ts-seo-links a { background: var(--ts-red-soft); color: var(--ts-red); border-radius: 999px; padding: 9px 13px; font-weight: 900; }
.ts-seo-links a:hover { background: var(--ts-red); color: #fff; }

/* Pages / Woo */
.ts-content-card, .woocommerce .woocommerce-notices-wrapper, .ts-page-content { background: #fff; border-radius: var(--ts-radius); padding: 22px; box-shadow: var(--ts-shadow); }
.ts-shop-layout { display: grid; grid-template-columns: 280px 1fr; gap: 18px; }
.ts-shop-sidebar { background: #fff; border-radius: var(--ts-radius); box-shadow: var(--ts-shadow); padding: 18px; align-self: start; }
.ts-shop-content { min-width: 0; }
.woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count { float: none; color: var(--ts-muted); }
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering { float: none; }
.ts-woo-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #fff; border-radius: var(--ts-radius); padding: 14px 18px; box-shadow: var(--ts-shadow); margin-bottom: 18px; }
.single-product div.product { background: #fff; border-radius: var(--ts-radius-lg); box-shadow: var(--ts-shadow); padding: 24px; }
.woocommerce div.product .product_title { font-size: clamp(24px, 3vw, 34px); line-height: 1.35; margin-bottom: 12px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ts-red) !important; font-size: 30px !important; font-weight: 900; }
.woocommerce div.product form.cart { border: 1px solid var(--ts-border); border-radius: var(--ts-radius); padding: 18px; background: #fffafa; box-shadow: inset 0 0 0 1px rgba(227,6,19,.05); }
.woocommerce .quantity .qty { min-height: 42px; border: 1px solid var(--ts-border); border-radius: 10px; padding: 0 8px; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { border-top-color: var(--ts-red) !important; border-radius: var(--ts-radius); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ts-red) !important; }
.woocommerce table.shop_table, .woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border-radius: var(--ts-radius) !important; background: #fff; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], input[type="number"], textarea, select { border: 1px solid var(--ts-border); border-radius: 10px; padding: 10px 12px; background: #fff; }
.widget { margin-bottom: 22px; }
.widget-title { margin: 0 0 12px; font-size: 18px; }

/* Footer */
.ts-footer { background: #101014; color: #fff; margin-top: 38px; }
.ts-footer-top { background: linear-gradient(90deg, var(--ts-red-dark), var(--ts-red)); padding: 18px 0; }
.ts-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ts-footer-cta h3 { margin: 0; font-size: 22px; }
.ts-footer-main { padding: 36px 0; }
.ts-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 24px; }
.ts-footer h4 { margin: 0 0 12px; }
.ts-footer p, .ts-footer a { color: rgba(255,255,255,.75); }
.ts-footer a:hover { color: #fff; }
.ts-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ts-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 16px 0; color: rgba(255,255,255,.68); font-size: 13px; }

/* Animations */
.ts-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.ts-reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes tsTicker { 0% { transform: translateX(-20px); } 100% { transform: translateX(360px); } }
@keyframes tsShine { 0%, 45% { transform: translateX(75%); opacity: 0; } 55% { opacity: .52; } 100% { transform: translateX(-75%); opacity: 0; } }
@keyframes tsSpin { to { transform: rotate(360deg); } }
@keyframes tsFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes tsPulse { 0%, 100% { transform: rotate(-7deg) scale(1); } 50% { transform: rotate(-7deg) scale(1.045); } }
@keyframes tsButtonPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,.32); } 50% { box-shadow: 0 0 0 12px rgba(255,255,255,0); } }

@media (max-width: 1180px) {
  .ts-header-main { grid-template-columns: 210px 1fr 200px; }
  .ts-featured-cats, .ts-category-grid { grid-template-columns: repeat(4, 1fr); }
  .ts-offer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1024px) {
  .ts-header-main { grid-template-columns: 1fr; gap: 12px; }
  .ts-brand { justify-content: center; }
  .ts-header-actions { justify-content: center; }
  .ts-hero-banner { grid-template-columns: 1fr; }
  .ts-hero-visual { min-height: 280px; }
  .ts-trust-row { grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ts-shop-layout { grid-template-columns: 1fr; }
}
@media (max-width: 782px) { .admin-bar .ts-site-header { top: 46px; } }
@media (max-width: 768px) {
  .ts-topbar__inner { justify-content: center; text-align: center; }
  .ts-topbar__links { display: none; }
  .ts-header-actions { display: none; }
  .ts-brand__tagline { display: none; }
  .ts-product-search select { display: none; }
  .ts-search-wrap { border-radius: 14px; }
  .ts-menu-inner { justify-content: space-between; position: relative; }
  .ts-mobile-toggle { display: inline-flex; }
  .ts-import-pill { display: none; }
  .ts-main-nav { display: none; position: absolute; inset-inline: 0; top: 100%; background: #111827; border-radius: 0 0 14px 14px; padding: 10px; box-shadow: var(--ts-shadow); z-index: 1000; }
  .ts-main-nav.is-open { display: block; }
  .ts-main-nav > ul, .ts-main-nav .menu { display: grid; gap: 4px; }
  .ts-main-nav a { width: 100%; }
  .ts-hero-banner { min-height: auto; padding: 28px; }
  .ts-hero-visual { display: none; }
  .ts-featured-cats, .ts-category-grid { grid-template-columns: repeat(2, 1fr); }
  .ts-offer-grid { grid-template-columns: 1fr; }
  .ts-split-banners { grid-template-columns: 1fr; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-footer-grid { grid-template-columns: 1fr; }
  .ts-footer-cta { align-items: flex-start; flex-direction: column; }
  .ts-woo-toolbar { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 480px) {
  .ts-container { width: min(100% - 22px, var(--ts-max)); }
  .ts-brand__logo { max-width: 160px; }
  .ts-hero h1 { font-size: 28px; }
  .ts-trust-row { grid-template-columns: 1fr; }
  .woocommerce ul.products { gap: 12px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; }
  .woocommerce ul.products li.product .price { font-size: 16px !important; }
}
.ts-btn--yellow { background: var(--ts-yellow) !important; color: #111 !important; }
.ts-btn--yellow:hover { color: #111 !important; }

/* Tasawwq Pro v1.3 animations, popup and conversion boosters */
.ts-scroll-progress { position: fixed; top: 0; inset-inline: 0; height: 4px; z-index: 99999; background: rgba(255,255,255,.08); pointer-events: none; }
.ts-scroll-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #ffd000, #fff, #ffd000); box-shadow: 0 0 16px rgba(255,210,0,.75); transition: width .12s linear; }
.admin-bar .ts-scroll-progress { top: 32px; }

.ts-section--mini { padding-top: 16px; padding-bottom: 6px; }
.ts-section--ticker { padding-top: 8px; padding-bottom: 4px; }
.ts-motion-deals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ts-motion-deal { position: relative; overflow: hidden; min-height: 104px; border-radius: 20px; padding: 18px; color: #fff !important; box-shadow: var(--ts-shadow); display: flex; flex-direction: column; justify-content: center; isolation: isolate; transform: translateY(0); transition: transform .25s ease, box-shadow .25s ease; }
.ts-motion-deal::before { content: ''; position: absolute; inset: -60%; background: radial-gradient(circle, rgba(255,255,255,.4), transparent 36%); opacity: .4; transform: translate(42%, -20%); transition: transform .6s ease; z-index: -1; }
.ts-motion-deal::after { content: ''; position: absolute; inset-inline-start: -90px; top: 0; width: 70px; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-18deg); animation: tsCardSweep 4.6s ease-in-out infinite; }
.ts-motion-deal:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 18px 48px rgba(0,0,0,.18); }
.ts-motion-deal:hover::before { transform: translate(18%, -10%); }
.ts-motion-deal > span { width: 42px; height: 42px; border-radius: 15px; background: rgba(255,255,255,.16); display: grid; place-items: center; font-size: 22px; margin-bottom: 10px; backdrop-filter: blur(6px); animation: tsEmojiBounce 2.8s ease-in-out infinite; }
.ts-motion-deal strong { font-size: 19px; line-height: 1.25; }
.ts-motion-deal small { color: rgba(255,255,255,.82); margin-top: 4px; }
.ts-motion-deal--fire { background: linear-gradient(135deg, #c80000, #ff1f2d 60%, #ff8a00); }
.ts-motion-deal--blue { background: linear-gradient(135deg, #001c52, #0058ff 65%, #00c8ff); }
.ts-motion-deal--purple { background: linear-gradient(135deg, #2a075a, #8424ff 68%, #ffd000); }
.ts-motion-deal--green { background: linear-gradient(135deg, #006b44, #00a86b 65%, #9cff7a); }

.ts-offer-marquee { overflow: hidden; border-radius: 18px; background: linear-gradient(90deg, var(--ts-red-dark), var(--ts-red), #ff7a00); color: #fff; box-shadow: 0 12px 28px rgba(227,6,19,.22); border: 1px solid rgba(255,255,255,.18); }
.ts-offer-marquee__track { display: flex; gap: 28px; width: max-content; padding: 12px 0; animation: tsMarqueeRtl 26s linear infinite; }
.ts-offer-marquee__track span { white-space: nowrap; font-weight: 900; padding-inline: 12px; position: relative; }
.ts-offer-marquee__track span::after { content: '•'; margin-inline-start: 28px; color: #ffd000; }
.ts-offer-marquee:hover .ts-offer-marquee__track { animation-play-state: paused; }

.ts-floating-actions { position: fixed; inset-inline-end: 18px; bottom: 22px; z-index: 9998; display: grid; gap: 10px; }
.ts-floating-actions a, .ts-floating-actions button { border: 0; cursor: pointer; text-decoration: none; min-width: 74px; min-height: 56px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-weight: 900; box-shadow: 0 14px 34px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease; }
.ts-floating-actions span { font-size: 12px; }
.ts-floating-actions a:hover, .ts-floating-actions button:hover { transform: translateY(-4px) scale(1.04); box-shadow: 0 18px 42px rgba(0,0,0,.24); }
.ts-floating-offer { background: linear-gradient(135deg, #ffd000, #ff8a00); color: #111; animation: tsSoftPulse 2.7s ease-in-out infinite; }
.ts-floating-whatsapp { background: linear-gradient(135deg, #00b56b, #00e676); color: #fff !important; }

.ts-promo-popup { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; padding: 18px; }
.ts-promo-popup.is-open { display: flex; }
.ts-promo-popup__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.58); backdrop-filter: blur(6px); animation: tsFadeIn .22s ease both; }
.ts-promo-popup__dialog { position: relative; width: min(560px, 100%); border-radius: 28px; color: #fff; background: radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 25%), linear-gradient(135deg, #7f0000, #e30613 55%, #ff6a00); padding: 34px; box-shadow: 0 34px 100px rgba(0,0,0,.42); overflow: hidden; animation: tsPopupIn .38s cubic-bezier(.2,.9,.2,1.15) both; text-align: center; }
.ts-promo-popup__dialog::before { content: ''; position: absolute; inset: -2px; border-radius: inherit; border: 1px solid rgba(255,255,255,.22); pointer-events: none; }
.ts-promo-popup__shine { position: absolute; inset: -60% -40%; background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.32) 49%, transparent 60%); animation: tsPopupShine 4.2s ease-in-out infinite; pointer-events: none; }
.ts-promo-popup__close { position: absolute; top: 14px; inset-inline-end: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.16); color: #fff; font-size: 24px; cursor: pointer; z-index: 3; }
.ts-promo-popup__badge { display: inline-flex; align-items: center; justify-content: center; background: #ffd000; color: #111; border-radius: 999px; padding: 7px 15px; font-weight: 1000; margin-bottom: 14px; box-shadow: 0 8px 18px rgba(0,0,0,.18); }
.ts-promo-popup__icon { width: 76px; height: 76px; margin: 0 auto 12px; border-radius: 26px; display: grid; place-items: center; font-size: 38px; background: rgba(255,255,255,.13); animation: tsFloat 3.1s ease-in-out infinite; }
.ts-promo-popup h2 { color: #fff; font-size: clamp(27px, 4vw, 42px); margin: 0 0 10px; line-height: 1.2; }
.ts-promo-popup p { color: rgba(255,255,255,.88); margin: 0 auto 18px; max-width: 440px; }
.ts-coupon-box { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; background: rgba(255,255,255,.13); border: 1px dashed rgba(255,255,255,.55); border-radius: 18px; padding: 12px; margin: 16px 0; }
.ts-coupon-box span { color: rgba(255,255,255,.8); font-size: 13px; }
.ts-coupon-box strong { background: #fff; color: var(--ts-red); padding: 10px 14px; border-radius: 12px; letter-spacing: 1px; }
.ts-coupon-box button { border: 0; border-radius: 12px; padding: 10px 12px; background: #111; color: #fff; font-weight: 900; cursor: pointer; }
.ts-promo-popup__actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.ts-promo-note { display: block; color: rgba(255,255,255,.72); margin-top: 14px; }
.ts-popup-lock { overflow: hidden; }

.ts-mini-toast { position: fixed; inset-inline-start: 18px; bottom: 22px; z-index: 9997; display: flex; align-items: center; gap: 10px; max-width: min(360px, calc(100% - 36px)); background: #111; color: #fff; border-radius: 18px; padding: 12px 14px; box-shadow: 0 18px 48px rgba(0,0,0,.28); opacity: 0; transform: translateY(18px); pointer-events: none; transition: opacity .28s ease, transform .28s ease; }
.ts-mini-toast.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.ts-mini-toast span { width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; background: var(--ts-red); }
.ts-mini-toast p { margin: 0; font-size: 13px; color: rgba(255,255,255,.88); }
.ts-mini-toast a { color: #ffd000; font-weight: 900; white-space: nowrap; }

.ts-click-pop { animation: tsClickPop .42s ease both; }
.woocommerce ul.products li.product { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-7px); border-color: rgba(227,6,19,.22); }
.woocommerce ul.products li.product .button { position: relative; overflow: hidden; }
.woocommerce ul.products li.product .button::after, .ts-btn::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle, rgba(255,255,255,.45), transparent 55%); transform: scale(0); opacity: 0; transition: transform .35s ease, opacity .35s ease; pointer-events: none; }
.woocommerce ul.products li.product .button:hover::after, .ts-btn:hover::after { transform: scale(1.8); opacity: 1; }

@keyframes tsCardSweep { 0%, 55% { transform: translateX(-180px) skewX(-18deg); opacity: 0; } 65% { opacity: .55; } 100% { transform: translateX(520px) skewX(-18deg); opacity: 0; } }
@keyframes tsEmojiBounce { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(-6deg); } }
@keyframes tsMarqueeRtl { from { transform: translateX(-20%); } to { transform: translateX(40%); } }
@keyframes tsSoftPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(255,208,0,.4), 0 14px 34px rgba(0,0,0,.2); } 50% { box-shadow: 0 0 0 13px rgba(255,208,0,0), 0 14px 34px rgba(0,0,0,.2); } }
@keyframes tsFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes tsPopupIn { from { opacity: 0; transform: translateY(24px) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes tsPopupShine { 0%, 48% { transform: translateX(55%); opacity: 0; } 60% { opacity: .55; } 100% { transform: translateX(-55%); opacity: 0; } }
@keyframes tsClickPop { 0% { transform: scale(1); } 45% { transform: scale(.96); } 100% { transform: scale(1); } }

@media (max-width: 1024px) {
  .ts-motion-deals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .admin-bar .ts-scroll-progress { top: 46px; }
  .ts-motion-deals { grid-template-columns: 1fr; }
  .ts-floating-actions { inset-inline-end: 12px; bottom: 14px; }
  .ts-floating-actions a, .ts-floating-actions button { min-width: 58px; min-height: 50px; }
  .ts-floating-actions span { display: none; }
  .ts-mini-toast { display: none; }
  .ts-promo-popup__dialog { padding: 28px 18px; border-radius: 22px; }
  .ts-coupon-box { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}


/* ===== Tasawwq Ultra UX Enhancements v1.4 ===== */
.ts-svg-icon, .ts-featured-cat__icon span, .ts-cat-icon span, .ts-smart-tool > span, .ts-feature-strip > span, .ts-side-tools span:first-child, .ts-product-side-actions span, .ts-product-trust-chips span span, .ts-image-search-modal__icon span { display: inline-flex; align-items: center; justify-content: center; }
.ts-svg-icon svg, .ts-featured-cat__icon svg, .ts-cat-icon svg, .ts-smart-tool svg, .ts-feature-strip svg, .ts-topbar-job svg, .ts-job-pill svg, .ts-search-btn svg, .ts-image-search-btn svg, .ts-product-side-actions svg, .ts-product-trust-chips svg, .ts-side-tools svg, .ts-image-search-modal svg { width: 20px; height: 20px; fill: currentColor; display: block; }
.ts-featured-cat__icon svg, .ts-cat-icon svg { width: 26px; height: 26px; }
.ts-topbar-job, .ts-job-pill { display: inline-flex; align-items: center; gap: 7px; }
.ts-topbar-job svg, .ts-job-pill svg { width: 16px; height: 16px; }
.ts-topbar-job { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 5px 10px; }
.ts-job-pill { background: #111; color: #fff !important; border-radius: 999px; padding: 10px 14px; font-weight: 900; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.ts-job-pill:hover { background: var(--ts-yellow); color: #111 !important; }
.ts-action--image { border: 0; cursor: pointer; font-family: inherit; color: inherit; }
.ts-image-search-btn { border: 0; border-inline-start: 1px solid var(--ts-border); background: #fff7ed; color: #9a3412; padding: 0 13px; display: inline-flex; align-items: center; gap: 6px; font-family: inherit; font-weight: 900; cursor: pointer; white-space: nowrap; }
.ts-image-search-btn:hover { background: #ffedd5; color: var(--ts-red); }

.ts-section--smart-tools { padding-top: 8px; }
.ts-smart-tools { display: grid; grid-template-columns: .9fr 1.4fr; gap: 18px; align-items: stretch; background: radial-gradient(circle at top right, rgba(255,209,0,.26), transparent 36%), linear-gradient(135deg, #171923, #2a0f14 58%, #e30613); border-radius: var(--ts-radius-lg); padding: 24px; color: #fff; box-shadow: var(--ts-shadow-strong); overflow: hidden; position: relative; }
.ts-smart-tools:before { content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%; background: rgba(255,255,255,.08); inset-inline-end: -160px; top: -180px; animation: tsSpin 12s linear infinite; }
.ts-smart-tools__copy, .ts-smart-tools__grid { position: relative; z-index: 1; }
.ts-smart-tools__copy h2 { margin: 8px 0; font-size: clamp(24px, 3vw, 38px); }
.ts-smart-tools__copy p { color: rgba(255,255,255,.78); margin: 0; line-height: 1.9; }
.ts-smart-tools__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.ts-smart-tool { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.11); color: #fff !important; border-radius: 20px; padding: 16px; min-height: 145px; display: flex; flex-direction: column; justify-content: center; gap: 8px; text-align: center; backdrop-filter: blur(8px); font-family: inherit; cursor: pointer; transition: transform .22s ease, background .22s ease, box-shadow .22s ease; }
.ts-smart-tool:hover { color: #fff !important; transform: translateY(-5px); background: rgba(255,255,255,.18); box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.ts-smart-tool svg { width: 30px; height: 30px; margin: 0 auto; }
.ts-smart-tool strong { font-size: 15px; }
.ts-smart-tool small { color: rgba(255,255,255,.76); line-height: 1.5; }

.ts-product-zone { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 16px; align-items: stretch; }
.ts-product-zone--reverse { grid-template-columns: minmax(0, 1fr) 250px; }
.ts-product-zone--reverse .ts-product-side-panel { order: 2; }
.ts-product-side-panel { border-radius: var(--ts-radius-lg); padding: 22px; color: #fff; min-height: 100%; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; box-shadow: var(--ts-shadow); }
.ts-product-side-panel:after { content: ""; position: absolute; width: 210px; height: 210px; border-radius: 50%; background: rgba(255,255,255,.13); bottom: -85px; inset-inline-start: -70px; }
.ts-product-side-panel--red { background: linear-gradient(150deg, var(--ts-red), #9f0712); }
.ts-product-side-panel--dark { background: linear-gradient(150deg, #111827, #28324d); }
.ts-side-panel-badge { align-self: flex-start; background: var(--ts-yellow); color: #111; border-radius: 999px; font-weight: 900; padding: 6px 12px; font-size: 12px; }
.ts-product-side-panel h3 { font-size: 28px; margin: 18px 0 8px; position: relative; z-index: 1; }
.ts-product-side-panel p { color: rgba(255,255,255,.78); line-height: 1.8; position: relative; z-index: 1; }
.ts-product-side-panel ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; position: relative; z-index: 1; }
.ts-product-side-panel li { display: flex; gap: 8px; align-items: center; background: rgba(255,255,255,.12); border-radius: 14px; padding: 9px 10px; font-weight: 800; }
.ts-product-side-panel li svg { width: 18px; height: 18px; fill: currentColor; }

.woocommerce ul.products li.product { isolation: isolate; }
.ts-product-side-actions { position: absolute; top: 58px; inset-inline-end: 10px; z-index: 4; display: flex; flex-direction: column; gap: 8px; opacity: 0; transform: translateX(-10px); transition: opacity .22s ease, transform .22s ease; }
.woocommerce ul.products li.product:hover .ts-product-side-actions { opacity: 1; transform: translateX(0); }
.ts-product-side-actions a, .ts-product-side-actions button { width: 38px; height: 38px; border-radius: 14px; display: grid; place-items: center; border: 1px solid rgba(17,24,39,.08); background: rgba(255,255,255,.95); color: #111 !important; box-shadow: 0 10px 24px rgba(15,23,42,.12); cursor: pointer; padding: 0; }
.ts-product-side-actions a:hover, .ts-product-side-actions button:hover { background: var(--ts-red); color: #fff !important; transform: translateY(-2px); }
.ts-product-side-actions svg { width: 19px; height: 19px; }
.ts-smart-sale-badge { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 5; background: var(--ts-red); color: #fff; border-radius: 999px; padding: 7px 10px; font-weight: 900; font-size: 12px; box-shadow: 0 10px 24px rgba(227,6,19,.26); }
.ts-product-trust-chips { display: flex; align-items: center; gap: 6px; padding: 0 12px 8px; flex-wrap: wrap; }
.ts-product-trust-chips > span { display: inline-flex; align-items: center; gap: 4px; background: #f8fafc; color: #334155; border-radius: 999px; font-size: 11px; font-weight: 900; padding: 5px 7px; }
.ts-product-trust-chips svg { width: 13px; height: 13px; color: var(--ts-red); fill: currentColor; }
.ts-product-mini-note { margin: 8px 12px 0; font-size: 11px; color: #64748b; display: flex; align-items: center; gap: 6px; }
.ts-product-mini-note span { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.13); }
.woocommerce ul.products li.product:after { content: ""; position: absolute; inset: auto 0 0; height: 4px; background: linear-gradient(90deg, var(--ts-red), var(--ts-yellow)); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; z-index: 3; }
.woocommerce ul.products li.product:hover:after { transform: scaleX(1); }

.ts-feature-strips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ts-feature-strip { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--ts-border); border-radius: var(--ts-radius-lg); padding: 18px; color: var(--ts-text) !important; box-shadow: 0 10px 28px rgba(15,23,42,.06); transition: transform .22s ease, box-shadow .22s ease; }
.ts-feature-strip:hover { transform: translateY(-4px); box-shadow: var(--ts-shadow); color: var(--ts-red) !important; }
.ts-feature-strip > span { width: 52px; height: 52px; border-radius: 18px; background: var(--ts-red-soft); color: var(--ts-red); flex: 0 0 auto; }
.ts-feature-strip svg { width: 25px; height: 25px; }
.ts-feature-strip strong { display: block; margin-bottom: 4px; }
.ts-feature-strip span:last-child, .ts-feature-strip small { color: var(--ts-muted); }

.ts-side-tools { position: fixed; inset-inline-start: 18px; top: 50%; transform: translateY(-50%); z-index: 80; display: flex; flex-direction: column; gap: 10px; }
.ts-side-tools a, .ts-side-tools button { width: 58px; min-height: 58px; border: 0; border-radius: 20px; background: #fff; color: #111 !important; box-shadow: 0 12px 28px rgba(0,0,0,.14); display: grid; place-items: center; gap: 2px; font-family: inherit; font-size: 10px; font-weight: 900; cursor: pointer; padding: 7px; }
.ts-side-tools a:hover, .ts-side-tools button:hover { background: var(--ts-red); color: #fff !important; transform: translateX(3px); }
.ts-side-tools svg { width: 21px; height: 21px; }
.ts-side-tools span:last-child { line-height: 1.1; }

.ts-image-search-modal { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 20px; }
.ts-image-search-modal.is-open { display: flex; }
.ts-image-search-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.62); backdrop-filter: blur(4px); }
.ts-image-search-modal__dialog { width: min(560px, 100%); background: #fff; border-radius: 28px; padding: 28px; position: relative; z-index: 1; box-shadow: var(--ts-shadow-strong); text-align: center; overflow: hidden; }
.ts-image-search-modal__dialog:before { content: ""; position: absolute; inset: 0 0 auto; height: 9px; background: linear-gradient(90deg, var(--ts-red), var(--ts-yellow), var(--ts-blue)); }
.ts-image-search-modal__close { position: absolute; top: 14px; inset-inline-end: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1f5f9; font-size: 24px; cursor: pointer; }
.ts-image-search-modal__icon { width: 76px; height: 76px; margin: 10px auto 14px; border-radius: 26px; display: grid; place-items: center; background: var(--ts-red-soft); color: var(--ts-red); }
.ts-image-search-modal__icon svg { width: 38px; height: 38px; }
.ts-image-search-modal h2 { margin: 0 0 10px; }
.ts-image-search-modal p { color: var(--ts-muted); line-height: 1.8; margin: 0 0 16px; }
.ts-image-drop { display: grid; place-items: center; gap: 8px; border: 2px dashed #fecaca; border-radius: 22px; padding: 24px; background: #fff7f7; cursor: pointer; }
.ts-image-drop input { display: none; }
.ts-image-drop > span { color: var(--ts-red); }
.ts-image-preview { margin: 12px auto 0; max-width: 240px; border-radius: 18px; overflow: hidden; display: none; border: 1px solid var(--ts-border); }
.ts-image-preview.is-visible { display: block; }
.ts-image-preview img { width: 100%; display: block; }
.ts-image-search-modal__actions { display: flex; gap: 10px; justify-content: center; margin-top: 18px; flex-wrap: wrap; }
.ts-popup-lock { overflow: hidden; }

@media (max-width: 1100px) {
  .ts-smart-tools, .ts-product-zone, .ts-product-zone--reverse { grid-template-columns: 1fr; }
  .ts-product-zone--reverse .ts-product-side-panel { order: 0; }
  .ts-smart-tools__grid, .ts-feature-strips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-side-tools { display: none; }
}
@media (max-width: 700px) {
  .ts-image-search-btn span { display: none; }
  .ts-smart-tools__grid, .ts-feature-strips { grid-template-columns: 1fr; }
  .ts-product-side-actions { opacity: 1; transform: none; top: 48px; }
}
