@font-face {
    font-family: "PeydaWebFaNum";
    src: url("../fonts/PeydaWebFaNum-Regular.woff2") format("woff2");
    font-weight: 400 600;
    font-style: normal;
    font-display: swap;
}

/* v0.10.39 — Enamad integrated with the TehranPlay contact column. */
.tp-footer-contact-panel{display:flex;align-items:flex-start;gap:16px}.tp-footer-contact-details{min-width:0;flex:1}.tp-footer-enamad{display:grid!important;place-items:center;flex:0 0 86px;width:86px;min-height:96px;margin:3px 0 0!important;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.tp-footer-enamad:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.16)}.tp-footer-enamad img{display:block;width:auto;max-width:100%;height:auto;max-height:80px;border:0}.tp-footer-enamad-fallback{display:grid;place-items:center;gap:3px;color:#17386c;text-align:center}.tp-footer-enamad-fallback[hidden]{display:none}.tp-footer-enamad-fallback b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#1765f4;font:900 24px Arial}.tp-footer-enamad-fallback strong{font-size:10px;color:#17386c}.tp-copyright>.tp-shell{justify-content:center!important;text-align:center}.tp-copyright>.tp-shell>span{width:100%}
@media(max-width:760px){.tp-footer-collapsible.is-open .tp-footer-contact-panel{display:flex;align-items:flex-start}.tp-footer-enamad{flex-basis:78px;width:78px;min-height:88px}.tp-footer-enamad img{max-height:72px}}
@font-face {
    font-family: "PeydaWebFaNum";
    src: url("../fonts/PeydaWebFaNum-Bold.woff2") format("woff2");
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}
:root {
    --tp-blue: #1768f2;
    --tp-blue-dark: #0e55cf;
    --tp-navy: #071226;
    --tp-text: #10192d;
    --tp-muted: #7d899d;
    --tp-bg: #f5f7fb;
    --tp-border: #e2e8f1;
    --tp-card: #fff;
    --tp-shell: 1570px;
    --tp-content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.tp-rtl {
    margin: 0;
    direction: rtl;
    overflow-x: hidden;
    background: #fff;
    color: var(--tp-text);
    font-family: "PeydaWebFaNum", Tahoma, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.tp-menu-open { overflow: hidden; }
body.tp-menu-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 45;
    background: rgba(5, 14, 31, .22);
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
svg { display: block; }
ul { padding: 0; }
.tp-shell { width: min(var(--tp-shell), calc(100% - 64px)); margin-inline: auto; }
.tp-product-section > .tp-shell,
.tp-used-banner > .tp-shell,
.tp-genres > .tp-shell,
.tp-editorial > .tp-shell,
.tp-footer > .tp-shell,
.tp-footer-grid,
.tp-copyright > .tp-shell { max-width: var(--tp-content); }
.screen-reader-text { position: absolute; right: -9999px; }

/* Header */
.tp-topbar {
    height: 42px;
    background: var(--tp-navy);
    color: #c9d3e2;
    font-size: 11px;
}
.tp-topbar > .tp-shell,
.tp-topbar > .tp-shell > div { display: flex; align-items: center; }
.tp-topbar > .tp-shell { height: 100%; justify-content: space-between; }
.tp-topbar > .tp-shell > div { gap: 34px; }
.tp-topbar a { color: #fff; }
.tp-header { position: relative; z-index: 50; background: #fff; }
.tp-header-main {
    min-height: 116px;
    display: grid;
    grid-template-columns: 310px minmax(320px, 1fr) 270px;
    gap: 42px;
    align-items: center;
}
.tp-brand { display: flex; align-items: center; gap: 15px; justify-self: start; }
.tp-brand .custom-logo-link { display: flex; align-items: center; }
.tp-brand .custom-logo { max-height: 72px; width: auto; }
.tp-brand > b {
    width: 62px;
    height: 62px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(145deg, #2875ff, #1747bd);
    box-shadow: 0 14px 28px rgba(23, 104, 242, .22);
    font: 900 20px Arial;
    order: -1;
}
.tp-brand p { margin: 0; }
.tp-brand strong, .tp-brand small { display: block; }
.tp-brand strong { font-size: 28px; line-height: 1.2; color: #071226; }
.tp-brand small { margin-top: 7px; color: #8a96a8; font-size: 10px; }
.tp-search {
    height: 58px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 16px;
    background: #f8faff;
    border: 1px solid #dce4ef;
    border-radius: 16px;
}
.tp-search svg { width: 21px; height: 21px; fill: none; stroke: #68809f; stroke-width: 1.8; }
.tp-search input[type="search"] { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #25334a; font-size: 11px; }
.tp-search button { border: 1px solid #dde5f0; background: #fff; color: #34445d; border-radius: 9px; padding: 10px 16px; font-size: 10px; }
.tp-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.tp-actions > a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border-radius: 11px;
    background: #eff5ff;
    color: var(--tp-blue);
    font-size: 9px;
    font-weight: 700;
}
.tp-actions svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.tp-cart-count { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--tp-blue); font-size: 8px; }
.tp-nav { position: relative; z-index: 51; border-top: 1px solid #edf0f5; border-bottom: 1px solid #edf0f5; }
.tp-nav > .tp-shell { height: 66px; display: flex; align-items: center; }
.tp-category-menu { position: static; flex: 0 0 286px; width: 286px; height: 50px; }
.tp-menu-toggle {
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 11px;
    color: #fff;
    background: var(--tp-blue);
    font-size: 12px;
    font-weight: 800;
    user-select: none;
}
.tp-nav-list { list-style: none; display: flex; align-items: center; gap: 38px; margin: 0 36px 0 0; font-size: 12px; font-weight: 800; }
.tp-nav-list li { margin: 0; }
.tp-nav-list a:hover { color: var(--tp-blue); }
.tp-offer { margin-right: auto; color: #ee3f58; font-size: 11px; font-weight: 800; }
.tp-mega-menu {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 55;
    padding: 0 0 18px;
    pointer-events: auto;
}
.tp-mega-layout {
    max-width: 1570px;
    min-height: 220px;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 38px;
    padding: 28px 34px;
    background: #fff;
    border: 1px solid #edf0f5;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 26px 65px rgba(8, 24, 52, .16);
}
.tp-mega-layout small { display: block; color: var(--tp-blue); font-size: 11px; font-weight: 800; margin-bottom: 18px; }
.tp-mega-layout small a { color: inherit; text-decoration: none; }
.tp-mega-layout small a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tp-mega-store-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tp-mega-store-grid > a {
    min-height: 92px;
    display: grid;
    grid-template-columns: 52px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 12px;
    padding: 14px;
    border: 1px solid #e4e9f1;
    border-radius: 14px;
    transition: .2s ease;
}
.tp-mega-store-grid > a:hover { border-color: #bed2fb; transform: translateY(-2px); }
.tp-mega-badge { grid-row: 1 / 3; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 12px; background: #eef4ff; color: var(--tp-blue); font: 900 10px Arial; }
.tp-mega-used { color: #7436df; background: #f0e9ff; }
.tp-mega-store-grid strong { font-size: 12px; }
.tp-mega-store-grid em { color: #8b97a8; font-size: 8px; font-style: normal; }
.tp-mega-genre-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.tp-mega-genre-grid a { height: 52px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: #f6f8fb; color: #28354a; font-size: 10px; }
.tp-mega-genre-grid a:hover { color: var(--tp-blue); background: #eef4ff; }

/* Hero */
.tp-main { min-height: 45vh; }
.tp-hero { position: relative; height: 690px; overflow: hidden; background: #071226; }
.tp-slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity .55s ease, visibility .55s ease;
}
.tp-slide.is-active { visibility: visible; opacity: 1; }
.tp-slide-bg { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
.tp-slide-bg img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.tp-slide-inner { position: relative; z-index: 1; height: 100%; display: flex; align-items: center; }
.tp-slide-copy { width: min(610px, 48%); margin-right: 0; color: #fff; }
.tp-slide-label { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid rgba(94, 148, 255, .45); border-radius: 999px; color: #bad0f8; background: rgba(18, 51, 99, .45); font-size: 10px; }
.tp-slide-label i { width: 7px; height: 7px; border-radius: 50%; background: #4c91ff; box-shadow: 0 0 14px #4c91ff; }
.tp-slide h1, .tp-slide-title { max-width: 590px; margin: 15px 0 8px; font-size: clamp(23px, 2.35vw, 36px); line-height: 1.55; letter-spacing: -.35px; text-shadow: 0 3px 15px rgba(0,0,0,.18); }
.tp-slide-copy > p { margin: 0; color: #b9c6da; font-size: 14px; line-height: 2; }
.tp-slide-price { display: flex; align-items: baseline; gap: 9px; margin-top: 25px; }
.tp-slide-price small { color: #93a0b5; font-size: 9px; }
.tp-slide-price strong { font-size: 20px; line-height: 1.55; }
.tp-slide-price em { font-style: normal; font-size: 9px; color: #b8c3d5; }
.tp-slide-actions { display: flex; gap: 14px; margin-top: 28px; }
.tp-primary-button, .tp-secondary-button { min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 25px; padding: 0 28px; border-radius: 12px; font-size: 13px; font-weight: 800; }
.tp-primary-button { min-width: 220px; color: #fff; background: var(--tp-blue); box-shadow: 0 15px 35px rgba(23, 104, 242, .32); }
.tp-secondary-button { min-width: 190px; border: 1px solid rgba(255,255,255,.25); color: #fff; background: rgba(255,255,255,.05); }
.tp-primary-button:hover { background: #2878ff; }
.tp-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 100;
    width: 54px;
    height: 54px;
    padding: 0;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 14px;
    background: rgba(5, 16, 35, .55);
    color: #fff;
    font-size: 32px;
    cursor: pointer;
    pointer-events: auto;
    touch-action: manipulation;
    isolation: isolate;
}
.tp-slider-arrow::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
}
.tp-slider-next { right: 30px; }
.tp-slider-prev { left: 30px; }
.tp-slider-dots { position: absolute; right: 50%; bottom: 18px; z-index: 6; display: flex; align-items: center; gap: 8px; transform: translateX(50%); }
.tp-slider-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.32); transition: .2s ease; }
.tp-slider-dots button.is-active { width: 30px; border-radius: 999px; background: #4b91ff; }
.tp-slide-placeholder { background: radial-gradient(circle at 30% 25%, #5b315e, transparent 45%), linear-gradient(120deg, #09152b, #151328); }

/* Product sections */
.tp-product-section { padding: 92px 0 86px; background: #fff; }
.tp-product-section-ps4 { background: #f5f7fb; }
.tp-product-heading { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 28px; margin-bottom: 28px; }
.tp-product-heading header { justify-self: start; }
.tp-product-heading header span { color: var(--tp-blue); font-size: 10px; font-weight: 800; }
.tp-product-heading header h2 { margin: 8px 0 0; font-size: 27px; font-weight: 500; }
.tp-product-tabs { display: inline-flex; align-items: center; padding: 5px; border-radius: 12px; background: #eff2f7; }
.tp-product-tabs button { min-width: 100px; border: 0; padding: 10px 16px; border-radius: 9px; background: transparent; color: #8a94a4; font-size: 9px; font-weight: 800; }
.tp-product-tabs button.is-active { color: var(--tp-blue); background: #fff; box-shadow: 0 5px 15px rgba(16, 34, 67, .08); }
.tp-heading-link { justify-self: end; color: var(--tp-blue); font-size: 10px; font-weight: 800; }
.tp-heading-link span { margin-right: 9px; }
.tp-tab-panel[hidden] { display: none !important; }
.tp-tab-panel .woocommerce { margin: 0; }
.tp-tab-panel .woocommerce ul.products { margin: 0; }

/* Category cards */
/* Used games */
.tp-used-banner { min-height: 470px; overflow: hidden; background: #08162f; color: #fff; }
.tp-used-layout { min-height: 470px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; }
.tp-used-copy { padding: 55px 0; }
.tp-used-copy > span { color: #66a3ff; font-size: 10px; font-weight: 800; }
.tp-used-copy h2 { margin: 20px 0 12px; font-size: 44px; line-height: 1.55; font-weight: 500; }
.tp-used-copy h2 b { color: #61a0ff; font-weight: 500; }
.tp-used-copy p { max-width: 550px; color: #aebdd2; font-size: 10px; line-height: 2.3; }
.tp-used-copy ul { list-style: none; margin: 22px 0; }
.tp-used-copy li { position: relative; margin: 12px 0; padding-right: 28px; font-size: 10px; }
.tp-used-copy li::before { content: "✓"; position: absolute; right: 0; top: -3px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; color: #69a6ff; background: #10346b; }
.tp-used-copy > a { min-width: 240px; min-height: 54px; display: inline-flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 7px; padding: 0 24px; border-radius: 11px; color: #142039; background: #fff; font-size: 11px; font-weight: 800; }
.tp-used-visual { position: relative; min-height: 470px; }
.tp-used-ring { position: absolute; width: 210px; height: 210px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 12px, #8090a8 13px 20px); opacity: .72; }
.tp-used-ring-one { top: 42px; left: 32px; }
.tp-used-ring-two { right: 40px; bottom: -15px; }
.tp-used-cover, .tp-used-fallback { position: absolute; width: 235px; aspect-ratio: .72; object-fit: cover; border-radius: 7px; box-shadow: 0 28px 50px rgba(0,0,0,.35); }
.tp-used-cover-one { left: 170px; top: 85px; transform: rotate(-7deg); }
.tp-used-cover-two { left: 330px; top: 40px; transform: rotate(7deg); }
.tp-used-fallback { display: flex; align-items: flex-end; justify-content: center; padding: 35px 18px; color: #fff; background: linear-gradient(150deg, #b4c9c7, #263c36); font: 900 28px/1.4 Arial; text-align: center; }
.tp-used-fallback.tp-used-cover-two { background: linear-gradient(150deg, #ef7b42, #591829); }
.tp-used-test { position: absolute; left: 75px; bottom: 45px; width: 90px; height: 90px; display: grid; align-content: center; justify-items: center; border: 1px solid #31558c; border-radius: 13px; background: #0d2a59; }
.tp-used-test b { color: #6aa5ff; font-size: 17px; }
.tp-used-test small { color: #a7b7cf; font-size: 8px; margin-top: 6px; }

/* Trust */










/* Genres */
.tp-genres { padding: 82px 0 92px; background: #fff; }
.tp-centered-heading { text-align: center; }
.tp-centered-heading > span { color: var(--tp-blue); font-size: 10px; font-weight: 800; }
.tp-centered-heading h2 { margin: 12px 0 8px; font-size: 30px; font-weight: 500; }
.tp-centered-heading p { margin: 0; color: #919cac; font-size: 9px; }
.tp-genre-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-top: 34px; }
.tp-genre-card { position: relative; min-height: 145px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 23px; border-radius: 16px; color: #fff; }
.tp-genre-card::before { content: ""; position: absolute; width: 76px; height: 76px; top: -25px; left: -12px; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; }
.tp-genre-card i { align-self: flex-end; font-size: 24px; font-style: normal; }
.tp-genre-card strong, .tp-genre-card small { display: block; }
.tp-genre-card strong { font-size: 13px; }
.tp-genre-card small { margin-top: 7px; color: rgba(255,255,255,.72); font-size: 8px; }
.tp-genre-card.is-action { background: #b43b3e; }
.tp-genre-card.is-adventure { background: #215ac9; }
.tp-genre-card.is-sport { background: #23925e; }
.tp-genre-card.is-horror { background: #2c243d; }
.tp-genre-card.is-family { background: #dc7228; }

/* Editorial */
.tp-editorial { padding: 78px 0 84px; }
.tp-magazine { background: #f5f7fb; }
.tp-latest-news { background: #fff; }
.tp-editorial-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 30px; }
.tp-editorial-heading header span { color: var(--tp-blue); font-size: 10px; font-weight: 800; }
.tp-editorial-heading h2 { margin: 9px 0 0; font-size: 28px; font-weight: 500; }
.tp-editorial-heading > a { color: var(--tp-blue); font-size: 10px; font-weight: 800; }
.tp-editorial-heading > a b { margin-right: 12px; }
.tp-editorial-layout { display: grid; grid-template-columns: 1.6fr 1fr; gap: 16px; }
.tp-feature-story { min-height: 330px; display: grid; grid-template-columns: 1fr 1.05fr; overflow: hidden; border: 1px solid #e2e7ef; border-radius: 16px; background: #fff; }
.tp-story-art { min-height: 330px; overflow: hidden; background: #102559; }
.tp-story-art img { width: 100%; height: 100%; object-fit: cover; }
.tp-feature-story > div { display: flex; flex-direction: column; justify-content: center; padding: 35px; }
.tp-feature-story small, .tp-mini-story small { color: var(--tp-blue); font-size: 8px; }
.tp-feature-story h3 { margin: 13px 0 10px; font-size: 20px; line-height: 1.85; font-weight: 500; }
.tp-feature-story p { margin: 0; color: #8490a2; font-size: 9px; line-height: 2.1; }
.tp-read-link { display: inline-block; margin-top: 16px; color: var(--tp-blue); font-size: 9px; font-weight: 800; }
.tp-art-fallback { width: 100%; height: 100%; min-height: inherit; display: grid; place-items: center; color: #fff; text-align: center; white-space: normal; font: 900 34px/1.1 Arial; background: linear-gradient(145deg, #4778e5, #122457); }
.tp-art-fallback.is-red { background: radial-gradient(circle at 50% 40%, #9d4a3e, #2a1414); }
.tp-art-fallback.is-pink { background: linear-gradient(145deg, #f05673, #9c2356); }
.tp-art-fallback.is-darkred { background: linear-gradient(145deg, #6d3130, #251111); }
.tp-art-fallback.is-green { background: linear-gradient(145deg, #89dc39, #1d9652); }
.tp-art-fallback.is-battle { background: radial-gradient(circle at 55% 45%, #f37a43, #152a4c 58%, #0d1e37); font-size: 28px; }
.tp-story-list { display: grid; grid-template-rows: repeat(2, 1fr); gap: 14px; }
.tp-news-list { grid-template-rows: repeat(3, 1fr); }
.tp-mini-story { min-height: 155px; display: grid; grid-template-columns: 132px 1fr; gap: 20px; align-items: center; padding: 10px; border: 1px solid #e2e7ef; border-radius: 15px; background: #fff; }
.tp-mini-art { width: 122px; height: 132px; overflow: hidden; border-radius: 12px; }
.tp-mini-art img { width: 100%; height: 100%; object-fit: cover; }
.tp-mini-art .tp-art-fallback { min-height: 132px; font-size: 24px; }
.tp-mini-story h3 { margin: 10px 0 0; font-size: 12px; line-height: 1.9; }
.tp-mini-story time { display: block; margin-top: 8px; color: #a1a9b6; font-size: 8px; }

/* Footer and generic pages */
.tp-content, .tp-article, .tp-woo-shell { padding-top: 55px; padding-bottom: 75px; }
.tp-page-head { margin-bottom: 28px; }
.tp-page-head h1 { font-size: 31px; }
.tp-page-head small { color: var(--tp-blue); }
.tp-featured { width: 100%; border-radius: 18px; margin-bottom: 30px; }
.tp-entry { font-size: 15px; line-height: 2.1; }
.tp-entry h2 { font-size: 26px; margin-top: 45px; }
.tp-error { background: radial-gradient(circle at 70% 25%, #24519e, #102e61 40%, #08172f); color: #fff; text-align: center; padding: 110px 0; }
.tp-footer { background: var(--tp-navy); color: #c5cfdf; }
.tp-footer-grid { width: min(var(--tp-content), calc(100% - 64px)); display: grid; grid-template-columns: 1.35fr .8fr .8fr 1fr; gap: 55px; padding: 62px 0; }
.tp-footer h3 { margin: 0 0 18px; color: #fff; font-size: 12px; }
.tp-footer p, .tp-footer a { color: #8391a5; font-size: 9px; line-height: 2; }
.tp-footer section > a:not(.tp-brand) { display: block; margin: 8px 0; }
.tp-brand-light strong { color: #fff; }
.tp-brand-light > b { width: 48px; height: 48px; border-radius: 13px; font-size: 16px; }
.tp-copyright { border-top: 1px solid rgba(255,255,255,.08); padding: 18px 0; color: #758298; font-size: 8px; }

@media (max-width: 1280px) {
    .tp-header-main { grid-template-columns: 260px 1fr 240px; gap: 25px; }
    .tp-nav-list { gap: 24px; margin-right: 24px; }
    .tp-category-menu { flex-basis: 250px; width: 250px; }
    .tp-mega-layout { grid-template-columns: 1fr; }
    .tp-used-cover-one { left: 75px; }
    .tp-used-cover-two { left: 230px; }
}

@media (max-width: 980px) {
    .tp-shell { width: min(100% - 32px, var(--tp-shell)); }
    .tp-header-main { grid-template-columns: 1fr auto; padding: 15px 0; }
    .tp-search { grid-column: 1 / 3; grid-row: 2; }
    .tp-nav-list { display: none; }
    .tp-offer { display: none; }
    .tp-category-menu { flex: 1; width: 100%; }
    .tp-mega-store-grid { grid-template-columns: 1fr; }
    .tp-mega-genre-grid { grid-template-columns: repeat(2, 1fr); }
    .tp-hero { height: 600px; }
    .tp-slide-copy { width: 62%; }
    .tp-product-heading { grid-template-columns: 1fr auto; }
    .tp-product-tabs { grid-column: 1 / 3; grid-row: 2; justify-self: center; }
    .tp-used-layout { grid-template-columns: 1fr; }
    .tp-used-visual { min-height: 430px; }
    
    
    
    .tp-genre-grid { grid-template-columns: repeat(3, 1fr); }
    .tp-editorial-layout { grid-template-columns: 1fr; }
    .tp-story-list, .tp-news-list { grid-template-rows: none; grid-template-columns: repeat(2, 1fr); }
    .tp-news-list { grid-template-columns: repeat(3, 1fr); }
    .tp-mini-story { grid-template-columns: 1fr; }
    .tp-mini-art { width: 100%; height: 150px; }
    .tp-footer-grid { grid-template-columns: 1fr 1fr; }
}

/* TehranPlay 0.9.46 — clearer contact strip and social-first compact header. */
@media (min-width: 981px) {
    .tp-topbar > .tp-shell > .tp-topbar-meta { gap: 20px; }
    .tp-topbar-hours { color: #e4ebf6; font-weight: 700; white-space: nowrap; }
    .tp-topbar-phone {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        color: #fff !important;
        font-family: Tahoma, Arial, sans-serif;
        font-size: 11px;
        font-weight: 800;
        letter-spacing: .2px;
        white-space: nowrap;
    }
    .tp-topbar-phone svg { width: 14px; height: 14px; fill: currentColor; flex: 0 0 14px; }
    .tp-header-main {
        grid-template-columns: 158px minmax(300px, 1fr) 122px 250px !important;
        gap: 18px !important;
    }
    .tp-header-main > .tp-brand-header-logo,
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 136px !important;
        max-width: 136px !important;
        min-width: 136px !important;
    }
    .tp-header-main > .tp-brand-header-logo { flex: 0 0 136px !important; }
}

/* TehranPlay 0.9.48 — mobile header: contact strip, larger logo, compact tools and popup search. */
.tp-mobile-tools,
.tp-mobile-more,
.tp-mobile-search-close { display: none; }

@media (max-width: 640px) {
    .tp-topbar {
        height: 54px !important;
        min-height: 54px !important;
        font-size: 8.5px !important;
    }
    .tp-topbar > .tp-shell { justify-content: center !important; }
    .tp-topbar > .tp-shell > span,
    .tp-topbar-meta > span:not(.tp-topbar-hours),
    .tp-topbar-meta > a:not(.tp-topbar-phone) { display: none !important; }
    .tp-topbar > .tp-shell > .tp-topbar-meta {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 3px 12px !important;
        justify-items: center;
        align-items: center;
    }
    .tp-topbar-meta .tp-topbar-hours {
        grid-column: 1 / -1;
        display: block !important;
        color: #eef4ff;
        font-size: 9px;
        font-weight: 800;
        white-space: nowrap;
    }
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type {
        display: inline-flex !important;
        align-items: center;
        gap: 5px;
        color: #fff !important;
        font-family: Tahoma, Arial, sans-serif;
        font-size: 9.5px !important;
        font-weight: 800;
        white-space: nowrap;
    }
    .tp-topbar-meta .tp-topbar-phone span { display: inline !important; }
    .tp-topbar-meta .tp-topbar-phone svg {
        width: 12px !important;
        height: 12px !important;
        fill: currentColor;
        flex: 0 0 12px;
    }

    .tp-header-main {
        min-height: 134px !important;
        display: grid !important;
        grid-template-columns: 114px minmax(0, 1fr) !important;
        grid-template-rows: 76px 48px !important;
        gap: 6px 10px !important;
        padding: 0 !important;
        align-items: center !important;
    }
    .tp-header-main > .tp-brand-header-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 104px !important;
        max-width: 104px !important;
        min-width: 104px !important;
        flex: 0 0 104px !important;
        justify-self: start !important;
    }
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 104px !important;
        max-width: 104px !important;
        min-width: 104px !important;
        height: auto !important;
    }
    .tp-header-main > .tp-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: auto !important;
        display: flex !important;
        justify-content: flex-end !important;
        gap: 6px !important;
        white-space: nowrap;
    }
    .tp-actions > a,
    .tp-actions > a:first-child {
        min-height: 38px !important;
        display: inline-flex !important;
        gap: 5px !important;
        padding: 6px 8px !important;
        border-radius: 10px !important;
        font-size: 8px !important;
    }
    .tp-actions > a > span:not(.tp-cart-count) { display: inline !important; }
    .tp-actions svg { width: 15px; height: 15px; }
    .tp-cart-count { width: 17px; height: 17px; font-size: 7px; }

    .tp-mobile-tools {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        display: flex;
        align-items: stretch;
        gap: 8px;
        direction: rtl;
        position: relative;
    }
    .tp-mobile-search-trigger {
        flex: 0 0 96px;
        height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        border: 1px solid #dce5f1;
        border-radius: 11px;
        background: #f8faff;
        color: #315072;
        font-family: inherit;
        font-size: 9px;
        font-weight: 800;
        cursor: pointer;
    }
    .tp-mobile-search-trigger svg {
        width: 18px;
        height: 18px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.9;
    }
    .tp-mobile-more {
        position: relative;
        flex: 0 0 68px;
        height: 42px;
        display: block;
        order: 3;
    }
    .tp-mobile-more > summary {
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        box-sizing: border-box;
        border: 1px solid #dce5f1;
        border-radius: 11px;
        background: #fff;
        color: #315072;
        font-size: 9px;
        font-weight: 800;
        cursor: pointer;
        list-style: none;
    }
    .tp-mobile-more > summary::-webkit-details-marker { display: none; }
    .tp-mobile-more > summary::marker { content: ''; }
    .tp-mobile-more > summary svg {
        width: 16px;
        height: 16px;
        fill: currentColor;
    }
    .tp-mobile-more[open] > summary {
        border-color: #bdd1ea;
        background: #f4f8fd;
        color: var(--tp-blue);
    }
    .tp-mobile-more-menu {
        position: absolute;
        top: calc(100% + 7px);
        left: 0;
        z-index: 10010;
        width: 184px;
        padding: 7px;
        border: 1px solid #dce5f1;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 16px 38px rgba(5, 17, 38, .18);
    }
    .tp-mobile-more-menu a {
        min-height: 38px;
        display: flex;
        align-items: center;
        padding: 0 11px;
        border-radius: 8px;
        color: #253b55;
        font-size: 10px;
        font-weight: 800;
        text-decoration: none;
        white-space: nowrap;
    }
    .tp-mobile-more-menu a + a { border-top: 1px solid #edf1f6; }
    .tp-mobile-more-menu a:active { background: #f2f6fb; color: var(--tp-blue); }
    .tp-mobile-search-trigger { order: 2; flex-basis: 82px; }
    .tp-mobile-tools > .tp-category-menu-v073 {
        flex: 1 1 auto !important;
        width: auto !important;
        height: 42px !important;
        min-height: 42px !important;
        order: 1;
    }
    .tp-mobile-tools .tp-menu-toggle-v073 {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 11px !important;
    }
    .tp-mobile-tools .tp-menu-label-v073 { font-size: 10px; }
    .tp-nav { display: none !important; }

    .tp-header-main > .tp-search {
        display: none !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }
    body.tp-mobile-search-open::before {
        content: '';
        position: fixed;
        inset: 0;
        z-index: 10020;
        background: rgba(5, 17, 38, .48);
        backdrop-filter: blur(2px);
    }
    .tp-header-main > .tp-search.is-mobile-open {
        position: fixed !important;
        top: 78px !important;
        right: 14px !important;
        left: 14px !important;
        z-index: 10030 !important;
        width: auto !important;
        max-width: none !important;
        height: 58px !important;
        min-height: 58px !important;
        display: flex !important;
        padding: 0 12px !important;
        border: 1px solid #dce5f1 !important;
        border-radius: 14px !important;
        background: #fff !important;
        box-shadow: 0 20px 55px rgba(5, 17, 38, .28);
    }
    .tp-search.is-mobile-open input[type="search"] { font-size: 11px; }
    .tp-search.is-mobile-open > button[type="submit"] { padding: 9px 13px; }
    .tp-mobile-search-close {
        width: 28px;
        height: 28px;
        display: grid !important;
        place-items: center;
        flex: 0 0 28px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 50% !important;
        background: #eef3f9 !important;
        color: #52647a !important;
        font: 700 19px/1 Arial !important;
    }
    .tp-search.is-mobile-open .tp-live-search-results {
        position: fixed;
        top: 146px;
        right: 14px;
        left: 14px;
        max-height: calc(100vh - 168px);
        z-index: 10031;
    }
}
.tp-header-socials { display: flex; align-items: center; justify-content: center; gap: 8px; direction: ltr; }
.tp-header-socials a {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #e0e7f1;
    border-radius: 10px;
    background: #fff;
    color: #64748b;
    transition: transform .18s ease, color .18s ease, border-color .18s ease, background .18s ease;
}
.tp-header-socials a:hover { transform: translateY(-2px); }
.tp-header-socials a.is-instagram:hover { color: #d62976; border-color: #f2b7d0; background: #fff6fa; }
.tp-header-socials a.is-telegram:hover { color: #229ed9; border-color: #b8def0; background: #f4fbff; }
.tp-header-socials a.is-whatsapp:hover { color: #20a95b; border-color: #b7e5ca; background: #f4fff8; }
.tp-header-socials svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.tp-header-socials .tp-social-dot,
.tp-header-socials .tp-whatsapp-mark { fill: currentColor; stroke: none; }
@media (max-width: 980px) {
    .tp-header-socials { display: none; }
    .tp-topbar-meta .tp-topbar-hours,
    .tp-topbar-meta .tp-topbar-phone:first-of-type { display: none; }
    .tp-topbar-meta .tp-topbar-phone {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 9px;
        font-weight: 800;
    }
    .tp-topbar-meta .tp-topbar-phone svg { width: 12px; height: 12px; fill: currentColor; }
}

@media (max-width: 640px) {
    .tp-shell,
    .tp-footer-grid { width: min(100% - 24px, var(--tp-shell)); }
    .tp-topbar { height: 34px; font-size: 8px; }
    .tp-topbar > .tp-shell > div span { display: none; }
    .tp-topbar > .tp-shell > div { gap: 12px; }
    .tp-header-main { min-height: auto; gap: 10px; }
    .tp-brand > b { width: 44px; height: 44px; border-radius: 12px; }
    .tp-brand strong { font-size: 18px; }
    .tp-brand small { font-size: 7px; }
    .tp-actions > a:first-child { display: none; }
    .tp-actions > a > span:not(.tp-cart-count) { display: none; }
    .tp-search { height: 46px; }
    .tp-nav > .tp-shell { height: 56px; }
    .tp-menu-toggle { height: 43px; }
    .tp-mega-layout { width: calc(100% - 24px); max-height: calc(100vh - 175px); overflow: auto; padding: 18px; border-radius: 0 0 16px 16px; }
    .tp-mega-genre-grid { grid-template-columns: 1fr 1fr; }
    .tp-hero { height: 520px; }
    .tp-slide { background-position: center; }
    .tp-slide-inner { align-items: flex-end; padding-bottom: 70px; }
    .tp-slide-copy { width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; }
    .tp-slide h1, .tp-slide-title { font-size: 23px; }
    .tp-slide-copy > p { font-size: 10px; }
    .tp-slide-actions { width: 100%; }
    .tp-primary-button, .tp-secondary-button { flex: 1; min-width: 0; padding: 0 12px; font-size: 9px; }
    .tp-slider-arrow { width: 42px; height: 42px; }
    .tp-slider-next { right: 12px; }
    .tp-slider-prev { left: 12px; }
    .tp-product-section { padding: 58px 0; }
    .tp-product-heading { grid-template-columns: 1fr auto; align-items: center; }
    .tp-product-heading header h2 { font-size: 21px; }
    .tp-product-tabs { grid-column: 1 / 3; width: 100%; overflow-x: auto; justify-self: stretch; }
    .tp-product-tabs button { flex: 1 0 max-content; }
    .tp-heading-link { font-size: 8px; }
    .tp-used-copy h2 { font-size: 32px; }
    .tp-used-visual { min-height: 340px; }
    .tp-used-cover, .tp-used-fallback { width: 165px; }
    .tp-used-cover-one { left: 35px; top: 70px; }
    .tp-used-cover-two { left: 145px; top: 25px; }
    .tp-used-ring { width: 150px; height: 150px; }
    .tp-used-test { left: 8px; bottom: 18px; }
    
    
    
    
    
    .tp-genres { padding: 58px 0; }
    .tp-genre-grid { grid-template-columns: 1fr 1fr; }
    .tp-genre-card { min-height: 125px; padding: 17px; }
    .tp-editorial { padding: 58px 0; }
    .tp-editorial-heading h2 { font-size: 21px; }
    .tp-editorial-heading > a { font-size: 8px; }
    .tp-feature-story { grid-template-columns: 1fr; }
    .tp-story-art { min-height: 230px; }
    .tp-feature-story > div { padding: 23px; }
    .tp-feature-story h3 { font-size: 17px; }
    .tp-story-list, .tp-news-list { grid-template-columns: 1fr; }
    .tp-mini-story { grid-template-columns: 110px 1fr; }
    .tp-mini-art { width: 100px; height: 105px; }
    .tp-mini-art .tp-art-fallback { min-height: 105px; font-size: 18px; }
    .tp-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; padding: 45px 0; }
}

/* Footer details */
.tp-footer-about > p { max-width: 360px; }
.tp-socials { display: flex; gap: 8px; margin-top: 18px; }
.tp-socials a { width: 34px; height: 34px; display: grid !important; place-items: center; margin: 0 !important; border-radius: 10px; color: #9ab1d2 !important; background: #0d203f; font: 700 8px Arial; }
.tp-copyright > .tp-shell { display: flex; align-items: center; justify-content: space-between; }
.tp-copyright > .tp-shell > div { display: flex; gap: 8px; }
.tp-copyright > .tp-shell > div a { padding: 7px 12px; border: 1px solid #25334b; border-radius: 7px; color: #8d99aa; }
@media (max-width: 640px) {
    .tp-copyright > .tp-shell { align-items: flex-start; flex-direction: column; gap: 14px; }
    .tp-copyright > .tp-shell > div { flex-wrap: wrap; }
}

/* v0.7.1 — reliable mega menu and live product search */
.tp-category-menu { position: static; }
.tp-menu-toggle { border: 0; }
.tp-category-menu.is-open .tp-menu-toggle { background: var(--tp-blue-dark); }
.tp-category-menu.is-open > .tp-mega-menu { display: block; }
.tp-mega-menu { z-index: 80; }
.tp-mega-layout { position: relative; z-index: 81; }

.tp-search { position: relative; z-index: 60; }
.tp-live-search-results {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    z-index: 90;
    max-height: 420px;
    overflow-y: auto;
    padding: 8px;
    border: 1px solid #dfe6f0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(8, 28, 63, .16);
}
.tp-live-search-results[hidden] { display: none !important; }
.tp-search-result {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 8px;
    border-radius: 10px;
    transition: background .18s ease;
}
.tp-search-result:hover { background: #f2f6fd; }
.tp-search-result img {
    width: 58px;
    height: 68px;
    object-fit: contain;
    border-radius: 8px;
    background: #f2f5f9;
}
.tp-search-result span { min-width: 0; }
.tp-search-result strong,
.tp-search-result small { display: block; }
.tp-search-result strong {
    overflow: hidden;
    color: #101a2e;
    font-size: 10px;
    line-height: 1.8;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tp-search-result small { margin-top: 4px; color: var(--tp-blue); font-size: 9px; }
.tp-search-loading,
.tp-search-empty { padding: 18px; color: #7f8b9d; text-align: center; font-size: 10px; }
.tp-search-all {
    width: 100%;
    margin-top: 5px;
    padding: 11px 14px;
    border: 0;
    border-radius: 9px;
    color: #fff;
    background: var(--tp-blue);
    font-size: 9px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .tp-live-search-results { position: fixed; top: 168px; right: 12px; left: 12px; max-height: calc(100vh - 190px); }
}


/* v0.7.3 — CSS-controlled mega menu, clean live-search text, centered category button */
.tp-category-menu {
    position: static;
}
.tp-mega-control {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}
.tp-menu-toggle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    padding: 0 18px;
    margin: 0;
    border: 0;
    cursor: pointer;
    text-align: center;
}
.tp-menu-toggle span {
    width: 100%;
    text-align: center;
}
.tp-mega-menu {
    display: none;
}
.tp-mega-control:checked ~ .tp-mega-menu,
.tp-category-menu.is-open > .tp-mega-menu {
    display: block !important;
}
.tp-mega-control:checked + .tp-menu-toggle,
.tp-category-menu.is-open .tp-menu-toggle {
    background: var(--tp-blue-dark);
}
.tp-live-search-results {
    direction: rtl;
}
.tp-search-result {
    grid-template-columns: 62px minmax(0, 1fr);
    min-height: 82px;
    direction: rtl;
    text-align: right;
}
.tp-search-result span {
    text-align: right;
}
.tp-search-result small {
    direction: rtl;
    unicode-bidi: plaintext;
    color: #177245;
    font-size: 10px;
    font-weight: 700;
}

/* v0.7.3 — isolated, conflict-free mega menu trigger */
.tp-nav,
.tp-nav > .tp-shell,
.tp-header { overflow: visible !important; }
.tp-category-menu-v073 {
    position: static !important;
    flex: 0 0 286px;
    width: 286px;
    height: 50px;
}
.tp-menu-toggle-v073 {
    direction: rtl;
    width: 100%;
    height: 50px;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 22px;
    align-items: center;
    column-gap: 10px;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: var(--tp-blue);
    cursor: pointer;
    font: inherit;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}
.tp-menu-toggle-v073:hover,
.tp-menu-toggle-v073:focus-visible,
.tp-menu-toggle-v073.is-open {
    color: #fff;
    background: var(--tp-blue-dark);
}
.tp-menu-toggle-v073:focus-visible {
    outline: 3px solid rgba(35, 111, 255, .24);
    outline-offset: 3px;
}
.tp-menu-hamburger-v073 {
    grid-column: 1;
    width: 20px;
    height: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    justify-self: center;
}
.tp-menu-hamburger-v073 i {
    display: block;
    width: 20px;
    height: 2px;
    margin: 0;
    border-radius: 10px;
    background: currentColor;
}
.tp-menu-label-v073 {
    grid-column: 2;
    width: 100%;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}
.tp-menu-spacer-v073 {
    grid-column: 3;
    width: 22px;
    height: 1px;
}
.tp-mega-panel-v073 {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 10000;
    display: none;
    padding: 0 0 18px;
}
.tp-mega-panel-v073[hidden] { display: none !important; }
.tp-mega-panel-v073.is-open:not([hidden]) { display: block !important; }
.tp-mega-panel-v073 .tp-mega-layout {
    position: relative;
    z-index: 10001;
}
body.tp-mega-open-v073::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 49;
    background: rgba(5, 17, 38, .22);
    pointer-events: none;
}
body.tp-mega-open-v073 .tp-header { z-index: 10002; }
@media (max-width: 980px) {
    .tp-category-menu-v073 { flex-basis: 250px; width: 250px; }
    .tp-mega-panel-v073 { position: absolute; }
}
@media (max-width: 640px) {
    .tp-category-menu-v073 { flex: 1 1 auto; width: auto; }
    .tp-menu-toggle-v073 { padding-inline: 14px; }
    .tp-mega-panel-v073 .tp-mega-layout {
        width: calc(100% - 24px);
        max-height: calc(100vh - 175px);
        overflow: auto;
        margin-inline: auto;
    }
}

/* v0.7.3 native-details fallback: opens even when JavaScript is delayed or disabled */
.tp-mega-details-v073 { list-style: none; }
.tp-menu-toggle-v073 { list-style: none; }
.tp-menu-toggle-v073::-webkit-details-marker { display: none; }
.tp-menu-toggle-v073::marker { content: ''; display: none; }
.tp-mega-details-v073:not([open]) > .tp-mega-panel-v073 { display: none !important; }
.tp-mega-details-v073[open] > .tp-mega-panel-v073 { display: block !important; }
.tp-mega-details-v073[open] > .tp-menu-toggle-v073 { background: var(--tp-blue-dark); }


/* v0.7.4 — professional icons for mega menu and genre cards */
.tp-mega-badge-icon {
    color: var(--tp-blue);
    background: linear-gradient(180deg, #f2f6ff, #e7efff);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.tp-mega-badge-icon svg { width: 27px; height: 27px; display: block; }
.tp-mega-used.tp-mega-badge-icon { color: #7f3fff; background: linear-gradient(180deg, #f4edff, #ebe0ff); }
.tp-mega-store-grid strong { font-size: 13px; }
.tp-mega-store-grid em { font-size: 9px; }
.tp-mega-genre-grid { gap: 12px; }
.tp-mega-genre-card {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    padding: 0 16px;
    border: 1px solid #e7edf8;
    border-radius: 14px;
    background: #f8fbff;
    color: #22314a;
    transition: .2s ease;
}
.tp-mega-genre-card:hover { transform: translateY(-2px); background: #eef4ff; border-color: #c6d7fb; color: var(--tp-blue); }
.tp-mega-genre-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff;
    box-shadow: inset 0 0 0 1px rgba(18,39,73,.06);
    color: currentColor;
}
.tp-mega-genre-icon svg { width: 28px; height: 28px; display: block; }
.tp-mega-genre-label { font-size: 11px; font-weight: 800; }
.tp-mega-genre-card.is-action .tp-mega-genre-icon { color: #d65c5c; }
.tp-mega-genre-card.is-adventure .tp-mega-genre-icon { color: #4476df; }
.tp-mega-genre-card.is-sport .tp-mega-genre-icon { color: #2d9a68; }
.tp-mega-genre-card.is-horror .tp-mega-genre-icon { color: #5d4f8d; }
.tp-mega-genre-card.is-family .tp-mega-genre-icon { color: #dd7a2d; }
.tp-mega-genre-card.is-rpg .tp-mega-genre-icon { color: #546779; }
.tp-mega-genre-card.is-shooter .tp-mega-genre-icon { color: #2c476c; }
.tp-mega-genre-card.is-strategy .tp-mega-genre-icon { color: #786247; }
.tp-genre-card { gap: 18px; }
.tp-genre-card-icon {
    align-self: flex-end;
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.tp-genre-card-icon svg { width: 34px; height: 34px; display: block; }
.tp-genre-card strong { font-size: 14px; }
.tp-genre-card small { font-size: 9px; }
@media (max-width: 767px) {
    .tp-mega-genre-card { min-height: 64px; padding: 0 12px; gap: 10px; }
    .tp-mega-genre-icon { width: 38px; height: 38px; border-radius: 12px; }
    .tp-mega-genre-icon svg { width: 24px; height: 24px; }
    .tp-genre-card-icon { width: 48px; height: 48px; }
    .tp-genre-card-icon svg { width: 28px; height: 28px; }
}


/* v0.7.5 — fixed external cover art for the used-games banner */
.tp-used-cover {
    aspect-ratio: 1 / 1.43;
    object-fit: cover;
    object-position: center top;
    background: transparent;
}


/* v0.7.6 — slimmer used-games banner and tighter real cover cards */
.tp-used-banner {
    min-height: 390px;
}
.tp-used-layout {
    min-height: 390px;
    gap: 36px;
}
.tp-used-copy {
    padding: 34px 0;
}
.tp-used-copy > span {
    font-size: 9px;
}
.tp-used-copy h2 {
    margin: 14px 0 10px;
    font-size: 36px;
    line-height: 1.45;
}
.tp-used-copy p {
    max-width: 510px;
    font-size: 9px;
    line-height: 2.1;
}
.tp-used-copy ul {
    margin: 18px 0;
}
.tp-used-copy li {
    margin: 10px 0;
    padding-right: 26px;
    font-size: 9px;
}
.tp-used-copy li::before {
    top: -2px;
    width: 18px;
    height: 18px;
    font-size: 10px;
}
.tp-used-copy > a {
    min-width: 215px;
    min-height: 48px;
    gap: 18px;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 10px;
}
.tp-used-visual {
    min-height: 390px;
}
.tp-used-ring {
    width: 172px;
    height: 172px;
    background: repeating-radial-gradient(circle, transparent 0 10px, #8090a8 11px 17px);
    opacity: .62;
}
.tp-used-ring-one {
    top: 34px;
    left: 26px;
}
.tp-used-ring-two {
    right: 38px;
    bottom: 6px;
}
.tp-used-cover, .tp-used-fallback {
    width: 188px;
    aspect-ratio: .69;
    border-radius: 6px;
    box-shadow: 0 18px 35px rgba(0,0,0,.28);
}
.tp-used-cover {
    object-fit: cover;
    object-position: center;
    background: transparent;
}
.tp-used-cover-one {
    left: 146px;
    top: 88px;
    transform: rotate(-7deg);
}
.tp-used-cover-two {
    left: 284px;
    top: 44px;
    transform: rotate(7deg);
}
.tp-used-test {
    left: 78px;
    bottom: 38px;
    width: 80px;
    height: 80px;
    border-radius: 12px;
}
.tp-used-test b {
    font-size: 15px;
}
.tp-used-test small {
    font-size: 7px;
    margin-top: 4px;
}
@media (max-width: 1199px) {
    .tp-used-banner,
    .tp-used-layout,
    .tp-used-visual {
        min-height: 360px;
    }
    .tp-used-copy h2 {
        font-size: 32px;
    }
    .tp-used-cover, .tp-used-fallback {
        width: 172px;
    }
    .tp-used-cover-one {
        left: 76px;
        top: 78px;
    }
    .tp-used-cover-two {
        left: 212px;
        top: 40px;
    }
}
@media (max-width: 767px) {
    .tp-used-banner,
    .tp-used-layout {
        min-height: auto;
    }
    .tp-used-copy {
        padding: 28px 0 8px;
    }
    .tp-used-copy h2 {
        font-size: 28px;
        line-height: 1.55;
    }
    .tp-used-copy p,
    .tp-used-copy li {
        font-size: 10px;
    }
    .tp-used-visual {
        min-height: 300px;
    }
    .tp-used-cover, .tp-used-fallback {
        width: 148px;
    }
    .tp-used-cover-one {
        left: 28px;
        top: 60px;
    }
    .tp-used-cover-two {
        left: 125px;
        top: 24px;
    }
    .tp-used-ring {
        width: 136px;
        height: 136px;
    }
    .tp-used-test {
        left: 8px;
        bottom: 14px;
        width: 68px;
        height: 68px;
    }
}


/* v0.7.7 — larger cover cards with full-frame artwork */
.tp-used-cover, .tp-used-fallback {
    width: 214px;
    aspect-ratio: .69;
    border-radius: 7px;
    box-shadow: 0 22px 42px rgba(0,0,0,.30);
}
.tp-used-cover {
    object-fit: cover;
    object-position: center top;
}
.tp-used-cover-one {
    left: 124px;
    top: 80px;
    transform: rotate(-7deg);
}
.tp-used-cover-two {
    left: 282px;
    top: 32px;
    transform: rotate(7deg);
}
.tp-used-test {
    left: 62px;
    bottom: 36px;
}
@media (max-width: 1199px) {
    .tp-used-cover, .tp-used-fallback {
        width: 188px;
    }
    .tp-used-cover-one {
        left: 66px;
        top: 72px;
    }
    .tp-used-cover-two {
        left: 214px;
        top: 32px;
    }
}
@media (max-width: 767px) {
    .tp-used-cover, .tp-used-fallback {
        width: 162px;
    }
    .tp-used-cover-one {
        left: 18px;
        top: 56px;
    }
    .tp-used-cover-two {
        left: 126px;
        top: 16px;
    }
}


/* v0.7.8 — crop cover sources and fit full artwork inside the cards */
.tp-used-cover, .tp-used-fallback {
    width: 222px;
    aspect-ratio: .79;
    border-radius: 7px;
    overflow: hidden;
}
.tp-used-cover {
    object-fit: contain;
    object-position: center;
    background: transparent;
}
.tp-used-cover-one {
    left: 132px;
    top: 82px;
}
.tp-used-cover-two {
    left: 286px;
    top: 26px;
}
@media (max-width: 1199px) {
    .tp-used-cover, .tp-used-fallback { width: 196px; }
    .tp-used-cover-one { left: 72px; top: 74px; }
    .tp-used-cover-two { left: 218px; top: 28px; }
}
@media (max-width: 767px) {
    .tp-used-cover, .tp-used-fallback { width: 168px; }
    .tp-used-cover-one { left: 20px; top: 60px; }
    .tp-used-cover-two { left: 132px; top: 12px; }
}


/* v0.7.9 — related background pictures for genre cards */
.tp-genre-card {
    isolation: isolate;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.tp-genre-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 35%, rgba(0,0,0,.35) 72%, rgba(0,0,0,.50) 100%);
}
.tp-genre-card > * { position: relative; z-index: 1; }
.tp-genre-card strong { text-shadow: 0 2px 10px rgba(0,0,0,.18); }
.tp-genre-card small { color: rgba(255,255,255,.85); }
.tp-genre-card.is-family {
    background-image: url('../images/genres/genre-family.jpg');
}
.tp-genre-card.is-horror {
    background-image: url('../images/genres/genre-horror.jpg');
}
.tp-genre-card.is-sport {
    background-image: url('../images/genres/genre-sport.jpg');
}
.tp-genre-card.is-adventure {
    background-image: url('../images/genres/genre-adventure.jpg');
}
.tp-genre-card.is-action {
    background-image: url('../images/genres/genre-action.jpg');
}


/* v0.8.0 — approved real-photo genre cards */
.tp-genre-card {
    min-height: 190px;
    justify-content: flex-end;
    padding: 22px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.tp-genre-card::before {
    display: none;
}
.tp-genre-card::after {
    background: linear-gradient(180deg, rgba(5,12,26,.06) 0%, rgba(5,12,26,.18) 38%, rgba(5,12,26,.55) 74%, rgba(5,12,26,.82) 100%);
}
.tp-genre-card-icon,
.tp-genre-card i {
    display: none !important;
}
.tp-genre-card span {
    display: block;
}
.tp-genre-card strong {
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 6px;
}
.tp-genre-card small {
    font-size: 11px;
    color: rgba(255,255,255,.92);
}
.tp-genre-card.is-family { background-image: url('../images/genres-approved/family.jpg'); background-color:#dc7228; }
.tp-genre-card.is-horror { background-image: url('../images/genres-approved/horror.jpg'); background-color:#2c243d; }
.tp-genre-card.is-sport { background-image: url('../images/genres-approved/sport.jpg'); background-color:#23925e; }
.tp-genre-card.is-adventure { background-image: url('../images/genres-approved/adventure.jpg'); background-color:#215ac9; }
.tp-genre-card.is-action { background-image: url('../images/genres-approved/action.jpg'); background-color:#b43b3e; }
@media (max-width: 767px) {
    .tp-genre-card {
        min-height: 170px;
        padding: 18px;
    }
    .tp-genre-card strong { font-size: 16px; }
    .tp-genre-card small { font-size: 10px; }
}


/* v0.8.1 — smaller image scale inside genre cards */
.tp-genre-card {
    background-size: auto 86%;
    background-position: center center;
}
.tp-genre-card.is-family { background-size: auto 88%; background-position: center center; }
.tp-genre-card.is-horror { background-size: auto 88%; background-position: center center; }
.tp-genre-card.is-sport { background-size: auto 84%; background-position: center center; }
.tp-genre-card.is-adventure { background-size: auto 86%; background-position: center center; }
.tp-genre-card.is-action { background-size: auto 86%; background-position: center center; }
@media (max-width: 767px) {
    .tp-genre-card,
    .tp-genre-card.is-family,
    .tp-genre-card.is-horror,
    .tp-genre-card.is-sport,
    .tp-genre-card.is-adventure,
    .tp-genre-card.is-action {
        background-size: cover;
    }
}


/* v0.8.2 — make genre images fully cover each card */
.tp-genre-card,
.tp-genre-card.is-family,
.tp-genre-card.is-horror,
.tp-genre-card.is-sport,
.tp-genre-card.is-adventure,
.tp-genre-card.is-action {
    background-size: cover;
}
.tp-genre-card.is-family { background-position: center center; }
.tp-genre-card.is-horror { background-position: center center; }
.tp-genre-card.is-sport { background-position: center 42%; }
.tp-genre-card.is-adventure { background-position: center center; }
.tp-genre-card.is-action { background-position: center center; }


/* v0.8.3 — hover interaction for genre cards */
.tp-genre-card {
    transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
    box-shadow: 0 10px 24px rgba(8, 20, 43, 0.14);
}
.tp-genre-card::after {
    transition: background .22s ease, opacity .22s ease;
}
.tp-genre-card span {
    transition: transform .22s ease, opacity .22s ease;
}
.tp-genre-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 34px rgba(8, 20, 43, 0.22);
}
.tp-genre-card:hover::after {
    background: linear-gradient(180deg, rgba(5,12,26,.02) 0%, rgba(5,12,26,.10) 34%, rgba(5,12,26,.42) 70%, rgba(5,12,26,.72) 100%);
}
.tp-genre-card:hover span {
    transform: translateY(-2px);
}
.tp-genre-card:active {
    transform: translateY(-2px);
}
@media (max-width: 767px) {
    .tp-genre-card:hover {
        transform: translateY(-3px);
    }
}


/* v0.8.4 — footer uses uploaded TehranPlay logo */
.tp-footer-logo-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
    margin-bottom: 14px;
    max-width: 300px;
}
.tp-footer-logo-card img {
    display: block;
    width: 100%;
    max-width: 250px;
    height: auto;
}
@media (max-width: 767px) {
    .tp-footer-logo-card {
        max-width: 250px;
        padding: 12px 14px;
        border-radius: 16px;
    }
    .tp-footer-logo-card img {
        max-width: 210px;
    }
}


/* v0.8.5 — use uploaded logo in header */
.tp-brand-header-logo {
    display: flex;
    align-items: center;
    justify-self: start;
}
.tp-brand-static-logo {
    display: block;
    width: 100%;
    max-width: 250px;
    height: auto;
}
@media (max-width: 1280px) {
    .tp-brand-static-logo {
        max-width: 220px;
    }
}
@media (max-width: 767px) {
    .tp-brand-static-logo {
        max-width: 190px;
    }
}


/* v0.8.7 — more professional footer styling */
.tp-footer {
    background:
        radial-gradient(circle at top right, rgba(49, 111, 234, .12), transparent 32%),
        linear-gradient(180deg, #03122e 0%, #021024 100%);
    color: #d7e0ef;
}
.tp-footer-grid {
    width: min(var(--tp-content), calc(100% - 64px));
    display: grid;
    grid-template-columns: 1.18fr .88fr .88fr 1fr;
    gap: 34px;
    padding: 44px 0 36px;
}
.tp-footer section {
    min-width: 0;
}
.tp-footer-toggle {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: right;
    color: inherit;
    font: inherit;
    cursor: default;
}
.tp-footer-toggle > span:first-child {
    position: relative;
    display: block;
    margin: 0 0 14px;
    padding-bottom: 9px;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.5;
}
.tp-footer-toggle > span:first-child::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 54px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(70, 131, 255, 0), rgba(70, 131, 255, .95));
}
.tp-footer-toggle-icon { display: none; }
.tp-footer h3 {
    position: relative;
    margin: 0 0 20px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.5;
}
.tp-footer h3::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 54px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(70, 131, 255, 0), rgba(70, 131, 255, .95));
}
.tp-footer p,
.tp-footer a {
    color: #aebbd1;
    font-size: 13px;
    line-height: 1.8;
}
.tp-footer-panel > a {
    display: block;
    width: fit-content;
    margin: 5px 0;
}
.tp-footer section > a:not(.tp-brand):not(.tp-footer-logo-card) {
    display: block;
    width: fit-content;
    margin: 9px 0;
    transition: color .18s ease, transform .18s ease;
}
.tp-footer section > a:not(.tp-brand):not(.tp-footer-logo-card):hover {
    color: #fff;
    transform: translateX(-4px);
}
.tp-footer-about {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.tp-footer-eyebrow {
    display: inline-flex;
    margin-bottom: 7px;
    color: #79a7ff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
}
.tp-footer-logo-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 20px;
    padding: 10px 12px;
    box-shadow: 0 18px 38px rgba(0,0,0,.16);
    margin-bottom: 12px;
    max-width: 220px;
}
.tp-footer-logo-card img {
    display: block;
    width: 100%;
    max-width: 194px;
    height: auto;
}
.tp-footer-about > p {
    max-width: 405px;
    margin: 0;
    color: #c7d3e4;
    font-size: 13px;
    line-height: 1.85;
}
.tp-socials {
    display: flex;
    gap: 10px;
    margin-top: 14px;
}
.tp-socials a {
    width: 40px;
    height: 40px;
    display: grid !important;
    place-items: center;
    margin: 0 !important;
    border: 1px solid rgba(104, 129, 170, .28);
    border-radius: 12px;
    color: #d9e6ff !important;
    background: rgba(14, 30, 58, .9);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    font: 700 10px Arial;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.tp-socials a:hover {
    transform: translateY(-3px);
    background: #133368;
    border-color: rgba(108, 154, 255, .55);
}
.tp-footer-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.tp-footer-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(86, 108, 145, .26);
    border-radius: 999px;
    background: rgba(8, 25, 50, .6);
    color: #c7d6ec;
    font-size: 11px;
    font-weight: 700;
}
.tp-footer section p + p {
    margin-top: 8px;
}
.tp-footer section p a {
    color: #dde8fb;
    font-size: 14px;
    font-weight: 800;
}
.tp-copyright {
    border-top: 1px solid rgba(81, 101, 138, .22);
    background: rgba(1, 10, 22, .32);
}
.tp-copyright > .tp-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
}
.tp-copyright > .tp-shell > span {
    color: #a8b7cc;
    font-size: 12px;
}
.tp-copyright > .tp-shell > div {
    display: flex;
    gap: 10px;
}
.tp-copyright > .tp-shell > div a {
    padding: 7px 12px;
    border: 1px solid rgba(74, 95, 132, .3);
    border-radius: 10px;
    color: #c2d0e6;
    font-size: 12px;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.tp-copyright > .tp-shell > div a:hover {
    color: #fff;
    background: rgba(17, 47, 95, .78);
    border-color: rgba(110, 153, 255, .45);
}
@media (max-width: 1199px) {
    .tp-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px;
    }
}
@media (max-width: 767px) {
    .tp-footer-grid {
        width: min(100% - 24px, var(--tp-shell));
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 48px 0 38px;
    }
    .tp-footer h3 {
        margin-bottom: 16px;
        font-size: 16px;
    }
    .tp-footer p,
    .tp-footer a,
    .tp-footer-about > p {
        font-size: 12px;
    }
    .tp-footer-logo-card {
        max-width: 220px;
        padding: 10px 12px;
    }
    .tp-footer-logo-card img {
        max-width: 192px;
    }
    .tp-footer-about > p,
    .tp-footer-badges,
    .tp-footer-eyebrow {
        display: none;
    }
    .tp-footer-about {
        align-items: center;
    }
    .tp-footer-logo-card {
        margin-bottom: 0;
    }
    .tp-footer-about .tp-socials {
        margin-top: 14px;
    }
    .tp-footer-collapsible {
        border-top: 1px solid rgba(89, 112, 151, .25);
    }
    .tp-footer-collapsible:last-child {
        border-bottom: 1px solid rgba(89, 112, 151, .25);
    }
    .tp-footer-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        min-height: 50px;
        cursor: pointer;
    }
    .tp-footer-toggle > span:first-child {
        margin: 0;
        padding: 0;
        font-size: 14px;
        line-height: 1.4;
    }
    .tp-footer-toggle > span:first-child::after { display: none; }
    .tp-footer-toggle-icon {
        position: relative;
        display: block;
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
        border-radius: 7px;
        background: rgba(47, 123, 255, .12);
    }
    .tp-footer-toggle-icon::before,
    .tp-footer-toggle-icon::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 10px;
        height: 1.5px;
        border-radius: 2px;
        background: #8db1ff;
        transform: translate(-50%, -50%);
        transition: transform .2s ease;
    }
    .tp-footer-toggle-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
    .tp-footer-toggle[aria-expanded="true"] .tp-footer-toggle-icon::after {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    .tp-footer-panel { display: none; padding: 0 0 14px; }
    .tp-footer-collapsible.is-open .tp-footer-panel { display: block; }
    .tp-copyright > .tp-shell {
        align-items: flex-start;
        flex-direction: column;
    }
    .tp-copyright > .tp-shell > div {
        flex-wrap: wrap;
    }
}


/* v0.8.8 — real social icons and refined footer logo */
.tp-footer-logo-card {
    position: relative;
    max-width: 228px;
    padding: 10px 12px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(250, 252, 255, .98) 0%, rgba(240, 245, 252, .96) 100%);
    border: 1px solid rgba(255,255,255,.24);
    box-shadow: 0 14px 32px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.7);
}
.tp-footer-logo-card::before {
    content: "";
    position: absolute;
    inset: auto 14px -1px 14px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #2f7bff 0%, #84abff 100%);
    opacity: .9;
}
.tp-footer-logo-card img {
    max-width: 198px;
}
.tp-socials a {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    font: inherit;
    color: #e6efff !important;
}
.tp-socials a svg {
    width: 18px;
    height: 18px;
    display: block;
}
.tp-socials a .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.tp-socials a.is-instagram:hover {
    background: linear-gradient(135deg, #833ab4 0%, #fd1d1d 55%, #fcb045 100%);
    border-color: rgba(255,255,255,.28);
}
.tp-socials a.is-telegram:hover {
    background: linear-gradient(135deg, #2aabee 0%, #1674d9 100%);
    border-color: rgba(255,255,255,.28);
}
.tp-socials a.is-whatsapp:hover {
    background: linear-gradient(135deg, #24d366 0%, #179c52 100%);
    border-color: rgba(255,255,255,.28);
}
@media (max-width: 767px) {
    .tp-footer-logo-card {
        max-width: 208px;
        padding: 9px 10px;
    }
    .tp-footer-logo-card img {
        max-width: 182px;
    }
}


/* v0.8.9 — redesigned home shortcut cards */
.tp-home-shortcuts {
    padding: 28px 0 18px;
}
.tp-home-shortcuts-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.tp-home-shortcut-card {
    position: relative;
    display: grid;
    grid-template-columns: 28px 1fr 110px;
    align-items: center;
    gap: 18px;
    min-height: 136px;
    padding: 20px 22px;
    border: 1px solid #dfe6f1;
    border-radius: 24px;
    background: linear-gradient(180deg, #ffffff 0%, #fdfefe 100%);
    box-shadow: 0 14px 34px rgba(15, 36, 79, .06);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tp-home-shortcut-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 38px rgba(15, 36, 79, .1);
    border-color: #cfd9ea;
}
.tp-home-shortcut-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #96a5bf;
    font-size: 34px;
    font-weight: 300;
    line-height: 1;
}
.tp-home-shortcut-copy {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.tp-home-shortcut-copy strong {
    color: #09152d;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.55;
}
.tp-home-shortcut-copy small {
    color: #8a97ad;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.9;
}
.tp-home-shortcut-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tp-home-shortcut-icon img {
    display: block;
    width: 108px;
    height: 108px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: 0 10px 22px rgba(14, 29, 59, .08);
}
@media (max-width: 1199px) {
    .tp-home-shortcuts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .tp-home-shortcuts {
        padding: 18px 0 10px;
    }
    .tp-home-shortcuts-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .tp-home-shortcut-card {
        grid-template-columns: 24px 1fr 92px;
        min-height: 118px;
        padding: 16px 18px;
        gap: 12px;
        border-radius: 20px;
    }
    .tp-home-shortcut-arrow {
        font-size: 28px;
    }
    .tp-home-shortcut-copy strong {
        font-size: 16px;
    }
    .tp-home-shortcut-copy small {
        font-size: 11px;
    }
    .tp-home-shortcut-icon img {
        width: 88px;
        height: 88px;
        border-radius: 18px;
    }
}


/* v0.8.10 — make the new home shortcut cards slightly smaller */
.tp-home-shortcuts {
    padding: 22px 0 14px;
}
.tp-home-shortcuts-grid {
    gap: 16px;
}
.tp-home-shortcut-card {
    grid-template-columns: 24px 1fr 96px;
    gap: 14px;
    min-height: 118px;
    padding: 16px 18px;
    border-radius: 22px;
}
.tp-home-shortcut-arrow {
    font-size: 30px;
}
.tp-home-shortcut-copy strong {
    font-size: 16px;
}
.tp-home-shortcut-copy small {
    font-size: 11px;
}
.tp-home-shortcut-icon img {
    width: 94px;
    height: 94px;
    border-radius: 20px;
}
@media (max-width: 767px) {
    .tp-home-shortcut-card {
        grid-template-columns: 22px 1fr 84px;
        min-height: 108px;
        padding: 14px 16px;
        gap: 10px;
    }
    .tp-home-shortcut-arrow {
        font-size: 25px;
    }
    .tp-home-shortcut-copy strong {
        font-size: 15px;
    }
    .tp-home-shortcut-copy small {
        font-size: 10px;
    }
    .tp-home-shortcut-icon img {
        width: 80px;
        height: 80px;
        border-radius: 16px;
    }
}





/* v0.8.12 — only the approved shortcut cards remain */
.tp-trust-strip,
.tp-trust-grid,
.tp-category-strip,
.tp-category-grid,
.tp-category-card,
.tp-category-mark {
    display: none !important;
}


/* v0.8.13 — legacy shortcut rows must never coexist with approved cards */
body.home .tp-home-shortcuts ~ .tp-home-shortcuts {
    display: none !important;
}


/* v0.8.14 — mobile horizontal scroll with next-card preview */
@media (max-width: 767px) {
    .tp-home-shortcuts {
        overflow: hidden;
    }
    .tp-home-shortcuts > .tp-shell {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }
    .tp-home-shortcuts-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        width: 100%;
        padding: 4px 12px 18px 34px;
        overflow-x: auto;
        overflow-y: visible;
        direction: rtl;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 12px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }
    .tp-home-shortcuts-grid::-webkit-scrollbar {
        display: none;
    }
    .tp-home-shortcut-card {
        flex: 0 0 min(340px, calc(100vw - 68px));
        width: min(340px, calc(100vw - 68px));
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
}


/* v0.8.15 — WooCommerce-connected hero product data */
.tp-slide-price-woocommerce strong {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 9px;
    direction: rtl;
}
.tp-slide-price-woocommerce .price,
.tp-slide-price-woocommerce .woocommerce-Price-amount,
.tp-slide-price-woocommerce bdi {
    color: inherit;
    font: inherit;
}
.tp-slide-price-woocommerce .woocommerce-Price-currencySymbol {
    margin-right: 5px;
    color: #b8c3d5;
    font-size: 10px;
    font-weight: 500;
}
.tp-slide-price-woocommerce del {
    color: #8996aa;
    font-size: 16px;
    font-weight: 500;
    opacity: .78;
}
.tp-slide-price-woocommerce ins {
    color: #fff;
    text-decoration: none;
}
.tp-slide-price-woocommerce del .woocommerce-Price-currencySymbol {
    font-size: 8px;
}
@media (max-width: 767px) {
    .tp-slide-price-woocommerce del {
        font-size: 13px;
    }
}


/* v0.8.18 — reliable WooCommerce hero title + compact Persian price */
.tp-slide-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff;
    font-weight: 800;
}
.tp-slide-price-woocommerce strong,
.tp-slide-price-woocommerce strong .price,
.tp-slide-price-woocommerce strong .woocommerce-Price-amount,
.tp-slide-price-woocommerce strong bdi {
    font-size: 20px !important;
    line-height: 1.55 !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}
.tp-slide-price-woocommerce del,
.tp-slide-price-woocommerce del .woocommerce-Price-amount,
.tp-slide-price-woocommerce del bdi {
    font-size: 13px !important;
    font-weight: 500;
}
.tp-slide-price-woocommerce .woocommerce-Price-currencySymbol {
    font-size: 9px !important;
}
@media (max-width: 767px) {
    .tp-slide-title {
        font-size: 22px !important;
        margin-top: 12px;
    }
    .tp-slide-price strong,
    .tp-slide-price-woocommerce strong,
    .tp-slide-price-woocommerce strong .price,
    .tp-slide-price-woocommerce strong .woocommerce-Price-amount,
    .tp-slide-price-woocommerce strong bdi {
        font-size: 18px !important;
    }
}


/* v0.8.19 — definitive hero title/price fallback; final rules are also printed late in wp_head */
.tp-slide-title { font-size: clamp(22px, 1.65vw, 30px) !important; }
.tp-slide-price strong, .tp-slide-price-value { font-size: 18px !important; }
@media (max-width: 900px) {
    .tp-slide-title { font-size: 19px !important; }
    .tp-slide-price strong, .tp-slide-price-value { font-size: 16px !important; }
}


/* TehranPlay 0.8.20 — compact viewport hero and rial pricing. */
body.home .tp-hero {
    height: clamp(420px, calc(100svh - 190px), 560px);
    max-height: 560px;
}
body.home .tp-slide-label {
    width: fit-content;
    min-width: 0;
    max-width: max-content;
    align-self: flex-start;
    padding: 6px 10px;
    white-space: nowrap;
}
body.home .tp-slide-copy > p { display: none; }
@media (max-width: 900px) {
    body.home .tp-hero {
        height: clamp(440px, calc(100svh - 145px), 540px);
        max-height: 540px;
    }
    body.home .tp-slide-label { align-self: center; }
}


/* TehranPlay 0.8.21 — compact header logo + safer hero price position. */
@media (min-width: 981px) {
    .tp-header-main {
        grid-template-columns: 120px minmax(320px, 1fr) 270px !important;
        gap: 32px !important;
    }
    .tp-brand-static-logo {
        width: 84px !important;
        max-width: 84px !important;
        height: auto !important;
    }
    body.home .tp-slide-price {
        margin-right: clamp(78px, 7vw, 128px) !important;
        margin-left: 0 !important;
    }
}
@media (max-width: 980px) {
    .tp-brand-static-logo {
        width: 64px !important;
        max-width: 64px !important;
        height: auto !important;
    }
    body.home .tp-slide-price {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}


/* TehranPlay 0.8.22 — force compact header logo and move hero price left. */
.tp-header-main > .tp-brand-header-logo {
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    flex: 0 0 82px !important;
    justify-self: start !important;
}
.tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
    display: block !important;
    width: 82px !important;
    max-width: 82px !important;
    min-width: 82px !important;
    height: auto !important;
    object-fit: contain !important;
}
@media (min-width: 981px) {
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        width: max-content !important;
        max-width: calc(100% - 160px) !important;
        margin: 10px 0 0 !important;
        position: relative !important;
        right: auto !important;
        left: auto !important;
        transform: translateX(-145px) !important;
        z-index: 8 !important;
    }
}
@media (max-width: 980px) {
    .tp-header-main > .tp-brand-header-logo {
        width: 58px !important;
        max-width: 58px !important;
        min-width: 58px !important;
        flex-basis: 58px !important;
    }
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 58px !important;
        max-width: 58px !important;
        min-width: 58px !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        transform: none !important;
        width: max-content !important;
        max-width: 100% !important;
    }
}


/* TehranPlay 0.8.23 — larger logo, tighter header, lifted hero meta; buttons unchanged. */
.tp-topbar { height: 30px !important; min-height: 30px !important; font-size: 9px !important; }
.tp-header-main {
    min-height: 74px !important;
    grid-template-columns: 145px minmax(300px, 1fr) 250px !important;
    gap: 22px !important;
    padding-block: 0 !important;
}
.tp-header-main > .tp-brand-header-logo,
.tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
    width: 118px !important;
    max-width: 118px !important;
    min-width: 118px !important;
}
.tp-header-main > .tp-brand-header-logo { flex: 0 0 118px !important; }
.tp-search { height: 44px !important; min-height: 44px !important; border-radius: 12px !important; }
.tp-actions > a { min-height: 40px !important; padding: 7px 11px !important; }
.tp-nav > .tp-shell { height: 48px !important; min-height: 48px !important; }
.tp-category-menu, .tp-menu-toggle-v073, .tp-menu-toggle { height: 40px !important; min-height: 40px !important; }
@media (min-width: 981px) {
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-label,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-title,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        align-self: center !important;
        text-align: center !important;
        transform: translate(-92px, -48px) !important;
        position: relative !important;
        z-index: 8 !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions { transform: none !important; }
}
@media (max-width: 980px) {
    .tp-topbar { height: 28px !important; min-height: 28px !important; }
    .tp-header-main { min-height: 62px !important; grid-template-columns: 92px 1fr !important; gap: 10px !important; }
    .tp-header-main > .tp-brand-header-logo,
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 78px !important;
        max-width: 78px !important;
        min-width: 78px !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-label,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-title,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        align-self: center !important;
        text-align: center !important;
        transform: translateY(-24px) !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions { transform: none !important; }
}


/* TehranPlay 0.8.24 — label in hero top-right; title and price centered over unchanged buttons. */
@media (min-width: 981px) {
    body.home .tp-hero .tp-slide .tp-slide-copy { padding-top: 30px !important; }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-label {
        position: absolute !important;
        top: 24px !important;
        right: 40px !important;
        bottom: auto !important;
        left: auto !important;
        margin: 0 !important;
        text-align: right !important;
        transform: none !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-title,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        position: static !important;
        align-self: flex-start !important;
        width: min(424px, 100%) !important;
        max-width: 424px !important;
        text-align: center !important;
        transform: none !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price { justify-content: center !important; }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions { transform: none !important; }
}
@media (max-width: 980px) {
    body.home .tp-hero .tp-slide .tp-slide-copy { padding-top: 28px !important; }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-label {
        position: absolute !important;
        top: 14px !important;
        right: 14px !important;
        bottom: auto !important;
        left: auto !important;
        margin: 0 !important;
        text-align: right !important;
        transform: none !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-title,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        position: static !important;
        align-self: center !important;
        width: calc(100% - 20px) !important;
        max-width: 440px !important;
        text-align: center !important;
        transform: none !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price { justify-content: center !important; }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions { transform: none !important; }
}


/* v0.8.25 — approved professional icon set for the mega menu */
.tp-mega-badge-icon,
.tp-mega-genre-icon {
    border-radius: 14px !important;
    box-shadow: inset 0 0 0 1px rgba(20, 39, 76, .055), 0 5px 14px rgba(29, 61, 123, .055) !important;
}
.tp-mega-badge-icon svg {
    width: 31px !important;
    height: 31px !important;
}
.tp-mega-ps5 {
    color: #5a43c7 !important;
    background: linear-gradient(180deg, #f5f1ff 0%, #ece7ff 100%) !important;
}
.tp-mega-ps4 {
    color: #1765f4 !important;
    background: linear-gradient(180deg, #f1f6ff 0%, #e7efff 100%) !important;
}
.tp-mega-used {
    color: #20a15f !important;
    background: linear-gradient(180deg, #effbf4 0%, #e4f6eb 100%) !important;
}
.tp-mega-genre-icon svg {
    width: 30px !important;
    height: 30px !important;
}
.tp-mega-genre-card.is-action .tp-mega-genre-icon { color: #d65050 !important; background: #fff1f1 !important; }
.tp-mega-genre-card.is-adventure .tp-mega-genre-icon { color: #2f72e6 !important; background: #eef5ff !important; }
.tp-mega-genre-card.is-sport .tp-mega-genre-icon { color: #239e64 !important; background: #effaf4 !important; }
.tp-mega-genre-card.is-horror .tp-mega-genre-icon { color: #744ac5 !important; background: #f4efff !important; }
.tp-mega-genre-card.is-family .tp-mega-genre-icon { color: #e27422 !important; background: #fff5ec !important; }
.tp-mega-genre-card.is-rpg .tp-mega-genre-icon { color: #6246c7 !important; background: #f3efff !important; }
.tp-mega-genre-card.is-shooter .tp-mega-genre-icon { color: #284b78 !important; background: #eef4fb !important; }
.tp-mega-genre-card.is-strategy .tp-mega-genre-icon { color: #b9821c !important; background: #fff7e7 !important; }
.tp-mega-genre-card:hover .tp-mega-genre-icon,
.tp-mega-store-grid a:hover .tp-mega-badge-icon {
    transform: translateY(-1px) scale(1.045);
}
.tp-mega-genre-icon,
.tp-mega-badge-icon {
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
@media (max-width: 767px) {
    .tp-mega-badge-icon svg { width: 28px !important; height: 28px !important; }
    .tp-mega-genre-icon svg { width: 26px !important; height: 26px !important; }
}

/* v0.9.75 — bespoke soft-3D mega-menu icon set */
.tp-mega-badge-icon img,
.tp-mega-genre-icon img {
    display: block;
    width: 48px;
    height: 48px;
    max-width: none;
    object-fit: contain;
    filter: drop-shadow(0 5px 5px rgba(23, 42, 80, .16));
    transform: translateZ(0);
}
.tp-mega-store-grid .tp-mega-badge-icon,
.tp-mega-genre-card .tp-mega-genre-icon {
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
}
.tp-mega-badge-icon img { width: 52px; height: 52px; }
.tp-mega-genre-icon img { width: 46px; height: 46px; }
.tp-mega-genre-card:hover .tp-mega-genre-icon img,
.tp-mega-store-grid a:hover .tp-mega-badge-icon img {
    transform: translateY(-2px) rotate(-2deg) scale(1.06);
}
.tp-mega-badge-icon img,
.tp-mega-genre-icon img {
    transition: transform .22s cubic-bezier(.2,.8,.2,1);
}
@media (max-width: 767px) {
    .tp-mega-badge-icon img { width: 46px; height: 46px; }
    .tp-mega-genre-icon img { width: 42px; height: 42px; }
}

/* v0.8.27 — premium compact used-games showcase */
.tp-used-banner {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 48%, rgba(42, 106, 229, .20), transparent 32%),
        linear-gradient(135deg, #071225 0%, #0a1831 50%, #08142a 100%);
    border-block: 1px solid rgba(255,255,255,.05);
}
.tp-used-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: linear-gradient(90deg, transparent, #000 35%, #000 100%);
    opacity: .42;
}
.tp-used-layout {
    position: relative;
    z-index: 1;
    min-height: 360px;
    grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr);
    gap: 34px;
}
.tp-used-copy {
    padding: 38px 0;
}
.tp-used-copy > span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid rgba(108,166,255,.25);
    border-radius: 999px;
    color: #87b8ff;
    background: rgba(32,84,174,.16);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: -.1px;
}
.tp-used-copy h2 {
    margin: 14px 0 8px;
    max-width: 520px;
    font-size: clamp(31px, 3vw, 40px);
    line-height: 1.38;
    font-weight: 750;
    letter-spacing: -.8px;
}
.tp-used-copy h2 b {
    color: #74aaff;
    font-weight: 800;
}
.tp-used-copy p {
    max-width: 545px;
    margin: 0;
    color: #b8c4d7;
    font-size: 12px;
    line-height: 2;
}
.tp-used-copy ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 18px 0 16px;
    padding: 0;
}
.tp-used-copy li {
    min-height: 58px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 10px 36px 10px 10px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 10px;
    color: #dce5f4;
    background: rgba(255,255,255,.035);
    font-size: 10px;
    line-height: 1.7;
}
.tp-used-copy li::before {
    right: 10px;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    border-radius: 6px;
    color: #8dbaff;
    background: rgba(39,99,199,.28);
    font-size: 10px;
}
.tp-used-copy > a {
    min-width: 214px;
    min-height: 44px;
    margin-top: 0;
    padding: 0 17px;
    border-radius: 9px;
    color: #0b1830;
    background: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.20);
    font-size: 10px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.tp-used-copy > a:hover {
    transform: translateY(-2px);
    background: #f2f7ff;
    box-shadow: 0 14px 32px rgba(0,0,0,.28);
}
.tp-used-visual {
    min-height: 360px;
    isolation: isolate;
}
.tp-used-visual::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 240px;
    left: 110px;
    top: 62px;
    z-index: -2;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(31,92,208,.42), rgba(31,92,208,0) 70%);
    filter: blur(6px);
}
.tp-used-ring {
    border: 1px solid rgba(130,172,238,.08);
    background: repeating-radial-gradient(circle, transparent 0 12px, rgba(128,164,220,.20) 13px 15px);
    opacity: .55;
}
.tp-used-ring-one {
    top: 34px;
    left: 54px;
}
.tp-used-ring-two {
    right: 28px;
    bottom: -10px;
}
.tp-used-cover,
.tp-used-fallback {
    width: 204px;
    aspect-ratio: .715;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 8px;
    background: #0d1830;
    box-shadow: 0 25px 55px rgba(0,0,0,.42);
    transition: transform .28s ease, filter .28s ease;
}
.tp-used-cover {
    object-fit: cover;
    object-position: center top;
}
.tp-used-cover-one {
    left: 105px;
    top: 76px;
    z-index: 1;
    transform: rotate(-6deg);
    filter: brightness(.92);
}
.tp-used-cover-two {
    left: 264px;
    top: 32px;
    z-index: 2;
    transform: rotate(5deg);
}
.tp-used-visual:hover .tp-used-cover-one {
    transform: rotate(-8deg) translate(-5px,-4px);
}
.tp-used-visual:hover .tp-used-cover-two {
    transform: rotate(7deg) translate(5px,-5px);
}
.tp-used-stock {
    position: absolute;
    top: 38px;
    right: 8px;
    z-index: 4;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid rgba(80,210,145,.18);
    border-radius: 999px;
    color: #bcefd2;
    background: rgba(10,49,36,.75);
    backdrop-filter: blur(10px);
    font-size: 9px;
    font-weight: 800;
    box-shadow: 0 12px 26px rgba(0,0,0,.22);
}
.tp-used-stock i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4ddb92;
    box-shadow: 0 0 0 4px rgba(77,219,146,.12);
}
.tp-used-test {
    left: 38px;
    bottom: 30px;
    z-index: 4;
    width: 78px;
    height: 78px;
    border: 1px solid rgba(112,169,255,.28);
    border-radius: 16px;
    background: rgba(12,41,88,.82);
    backdrop-filter: blur(10px);
    box-shadow: 0 15px 30px rgba(0,0,0,.26);
}
.tp-used-test b {
    color: #86b7ff;
    font-size: 16px;
}
.tp-used-test small {
    color: #bfcee3;
    font-size: 7px;
}
@media (max-width: 1199px) {
    .tp-used-layout {
        grid-template-columns: minmax(0, 1fr) minmax(380px, .92fr);
        gap: 20px;
    }
    .tp-used-copy ul { grid-template-columns: 1fr; gap: 6px; }
    .tp-used-copy li { min-height: 38px; }
    .tp-used-cover, .tp-used-fallback { width: 180px; }
    .tp-used-cover-one { left: 62px; top: 82px; }
    .tp-used-cover-two { left: 202px; top: 38px; }
    .tp-used-stock { right: 4px; }
}
@media (max-width: 767px) {
    .tp-used-banner { min-height: auto; }
    .tp-used-layout {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 0;
    }
    .tp-used-copy {
        padding: 30px 0 4px;
        text-align: right;
    }
    .tp-used-copy h2 { font-size: 29px; }
    .tp-used-copy p { font-size: 11px; }
    .tp-used-copy ul { grid-template-columns: 1fr; margin: 14px 0; }
    .tp-used-copy li { font-size: 10px; }
    .tp-used-copy > a { width: 100%; justify-content: center; }
    .tp-used-visual { min-height: 320px; }
    .tp-used-visual::before { left: 12px; top: 48px; width: 300px; height: 210px; }
    .tp-used-cover, .tp-used-fallback { width: 154px; }
    .tp-used-cover-one { left: 18px; top: 78px; }
    .tp-used-cover-two { left: 130px; top: 28px; }
    .tp-used-stock { top: 12px; right: 0; }
    .tp-used-test { left: 6px; bottom: 12px; width: 68px; height: 68px; }
}


/* v0.8.28 — polished genre discovery cards */
.tp-genres {
    position: relative;
    overflow: hidden;
    padding: 68px 0 76px;
    background:
        radial-gradient(circle at 12% 16%, rgba(23,101,244,.065), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
}
.tp-genres::before {
    content: "";
    position: absolute;
    width: 380px;
    height: 380px;
    left: -190px;
    bottom: -240px;
    border-radius: 50%;
    border: 1px solid rgba(23,101,244,.08);
    box-shadow: 0 0 0 42px rgba(23,101,244,.025), 0 0 0 88px rgba(23,101,244,.018);
    pointer-events: none;
}
.tp-genres .tp-centered-heading {
    position: relative;
    z-index: 1;
    max-width: 680px;
    margin-inline: auto;
}
.tp-genres .tp-centered-heading > span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 12px;
    border: 1px solid #dce7fb;
    border-radius: 999px;
    color: #1765f4;
    background: #f4f8ff;
    font-size: 10px;
    font-weight: 900;
}
.tp-genres .tp-centered-heading h2 {
    margin-top: 12px;
    margin-bottom: 8px;
}
.tp-genres .tp-centered-heading p {
    max-width: 570px;
    margin-inline: auto;
    color: #65738a;
    line-height: 1.9;
}
.tp-genre-grid {
    position: relative;
    z-index: 1;
    gap: 14px;
    margin-top: 30px;
}
.tp-genre-card,
.tp-genre-card.is-family,
.tp-genre-card.is-horror,
.tp-genre-card.is-sport,
.tp-genre-card.is-adventure,
.tp-genre-card.is-action {
    min-height: 222px;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 18px;
    background-size: cover;
    box-shadow: 0 12px 30px rgba(10,25,55,.13);
    transform: translateZ(0);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.tp-genre-card::after {
    z-index: 0;
    background:
        linear-gradient(180deg, rgba(4,10,22,.04) 0%, rgba(4,10,22,.10) 35%, rgba(4,10,22,.72) 78%, rgba(4,10,22,.91) 100%);
    transition: background .25s ease;
}
.tp-genre-card::before {
    content: "←";
    position: absolute;
    left: 17px;
    bottom: 22px;
    z-index: 3;
    width: 31px;
    height: 31px;
    display: grid !important;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 9px;
    color: #fff;
    background: rgba(255,255,255,.13);
    backdrop-filter: blur(8px);
    font-size: 14px;
    font-style: normal;
    transition: transform .25s ease, background .25s ease;
}
.tp-genre-card-icon,
.tp-genre-card i {
    position: absolute !important;
    top: 16px;
    right: 16px;
    z-index: 3;
    width: 46px;
    height: 46px;
    display: grid !important;
    place-items: center;
    margin: 0;
    border: 1px solid rgba(255,255,255,.48);
    border-radius: 13px;
    color: #fff;
    background: rgba(7,17,36,.34);
    box-shadow: 0 8px 20px rgba(0,0,0,.16);
    backdrop-filter: blur(10px);
}
.tp-genre-card-icon svg,
.tp-genre-card i svg {
    width: 26px;
    height: 26px;
    display: block;
}
.tp-genre-card > span {
    position: relative;
    z-index: 2;
    min-height: 61px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 4px 9px 46px;
    border-top: 1px solid rgba(255,255,255,.14);
    text-align: right;
    transition: transform .25s ease;
}
.tp-genre-card strong {
    margin: 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 900;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.tp-genre-card small {
    margin-top: 5px;
    color: rgba(255,255,255,.78);
    font-size: 10px;
    font-weight: 700;
}
.tp-genre-card.is-action .tp-genre-card-icon { background: rgba(175,40,50,.58); }
.tp-genre-card.is-adventure .tp-genre-card-icon { background: rgba(22,83,199,.58); }
.tp-genre-card.is-sport .tp-genre-card-icon { background: rgba(16,126,76,.58); }
.tp-genre-card.is-horror .tp-genre-card-icon { background: rgba(58,35,87,.62); }
.tp-genre-card.is-family .tp-genre-card-icon { background: rgba(214,92,22,.58); }
.tp-genre-card:hover {
    transform: translateY(-7px);
    filter: saturate(1.06);
    box-shadow: 0 21px 42px rgba(10,25,55,.22);
}
.tp-genre-card:hover::after {
    background:
        linear-gradient(180deg, rgba(4,10,22,.01) 0%, rgba(4,10,22,.07) 35%, rgba(4,10,22,.62) 77%, rgba(4,10,22,.86) 100%);
}
.tp-genre-card:hover::before {
    transform: translateX(-3px);
    background: rgba(255,255,255,.23);
}
.tp-genre-card:hover > span {
    transform: translateY(-2px);
}
.tp-genre-card:focus-visible {
    outline: 3px solid rgba(23,101,244,.35);
    outline-offset: 3px;
}
@media (max-width: 1199px) {
    .tp-genre-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .tp-genre-card,
    .tp-genre-card.is-family,
    .tp-genre-card.is-horror,
    .tp-genre-card.is-sport,
    .tp-genre-card.is-adventure,
    .tp-genre-card.is-action { min-height: 210px; }
}
@media (max-width: 767px) {
    .tp-genres { padding: 48px 0 56px; }
    .tp-genres .tp-centered-heading { padding-inline: 8px; }
    .tp-genres .tp-centered-heading h2 { font-size: 26px; }
    .tp-genres .tp-centered-heading p { font-size: 11px; }
    .tp-genre-grid {
        display: flex;
        gap: 12px;
        margin-inline: -18px;
        padding: 4px 18px 18px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .tp-genre-grid::-webkit-scrollbar { display: none; }
    .tp-genre-card,
    .tp-genre-card.is-family,
    .tp-genre-card.is-horror,
    .tp-genre-card.is-sport,
    .tp-genre-card.is-adventure,
    .tp-genre-card.is-action {
        flex: 0 0 min(78vw, 280px);
        min-height: 205px;
        padding: 15px;
        scroll-snap-align: start;
    }
    .tp-genre-card-icon,
    .tp-genre-card i {
        top: 14px;
        right: 14px;
        width: 43px;
        height: 43px;
    }
    .tp-genre-card strong { font-size: 16px; }
    .tp-genre-card:hover { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
    .tp-genre-card,
    .tp-genre-card::before,
    .tp-genre-card > span { transition: none; }
}

/* v0.8.29 — remove the extra icon block above genre-card content */
.tp-genres .tp-genre-card-icon,
.tp-genres .tp-genre-card > i {
    display: none !important;
}

/* v0.9.58 — genre cards link directly to their categories; remove extra corner badge. */
.tp-genres .tp-genre-card::before {
    content: none !important;
    display: none !important;
}


/* v0.9.21 — separate PS5 / PS4 used-game category links */
@media (min-width: 901px) {
    .tp-mega-store-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.tp-used-links { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.tp-used-links > a { margin: 0 !important; }

/* v0.9.25 — stable magazine archive */
.tp-magazine-archive .tp-page-head {
    max-width: 860px;
    margin-bottom: 28px;
}
.tp-magazine-archive .tp-page-head small {
    display: inline-block;
    margin-bottom: 8px;
    color: #1765f4;
    font-size: 12px;
    font-weight: 800;
}
.tp-magazine-archive .tp-page-head p {
    margin: 10px 0 0;
    color: #687890;
    font-size: 14px;
    line-height: 2;
}
.tp-magazine-empty {
    grid-column: 1 / -1;
    padding: 42px 28px;
    border: 1px solid #dfe7f1;
    border-radius: 20px;
    background: #fff;
    text-align: center;
}
.tp-magazine-empty strong {
    display: block;
    color: #10233f;
    font-size: 20px;
}
.tp-magazine-empty p {
    margin: 9px 0 0;
    color: #728198;
    font-size: 13px;
}


/* v0.9.26 — production blog landing (/وبلاگ/) */
.tp-magazine-archive .tp-magazine-tabs {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 22px;
    padding: 7px;
    width: fit-content;
    border: 1px solid #dfe7f1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(17, 40, 76, .045);
}

.tp-magazine-archive .tp-magazine-tabs a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border-radius: 9px;
    color: #53647b;
    background: #f5f7fb;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.tp-magazine-archive .tp-magazine-tabs a:hover,
.tp-magazine-archive .tp-magazine-tabs a.is-active {
    color: #fff;
    background: #1765f4;
}

.tp-magazine-archive .tp-post-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 11px 0 4px;
}

.tp-magazine-archive .tp-post-card-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    color: #1765f4;
    background: #edf4ff;
    font-size: 9px;
    font-weight: 850;
}

.tp-magazine-archive .tp-post-card-meta small {
    margin: 0;
}

@media (max-width: 640px) {
    .tp-magazine-archive .tp-magazine-tabs {
        width: 100%;
        overflow-x: auto;
    }
    .tp-magazine-archive .tp-magazine-tabs a {
        flex: 0 0 auto;
    }
}

/* v0.9.27 — Professional editorial category archive */
body.category .tp-main.tp-editorial-archive {
    background: #f5f7fb;
}

.tp-editorial-archive-shell {
    width: min(1280px, calc(100% - 40px));
    padding-top: 30px;
    padding-bottom: 70px;
}

.tp-editorial-archive-hero {
    position: relative;
    min-height: 230px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 34px;
    margin-bottom: 18px;
    padding: 38px 42px;
    overflow: hidden;
    border: 1px solid #dce5f1;
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 12%, rgba(49, 113, 242, .11), transparent 31%),
        radial-gradient(circle at 92% 8%, rgba(49, 113, 242, .07), transparent 27%),
        linear-gradient(180deg, #ffffff 0%, #f1f6fc 100%);
    box-shadow: 0 20px 46px rgba(15, 39, 79, .06);
}

.tp-editorial-archive-hero::after {
    content: "";
    position: absolute;
    left: -70px;
    bottom: -115px;
    width: 230px;
    height: 230px;
    border: 38px solid rgba(23, 101, 244, .045);
    border-radius: 50%;
    pointer-events: none;
}

.tp-editorial-archive-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.tp-editorial-archive-kicker {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    margin-bottom: 12px;
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    color: #1b5ecb;
    background: #eef5ff;
    font-size: 11px;
    font-weight: 900;
}

.tp-editorial-archive-copy h1 {
    margin: 0;
    color: #0e2344;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.4;
    font-weight: 950;
}

.tp-editorial-archive-copy p {
    max-width: 760px;
    margin: 12px 0 0;
    color: #62748d;
    font-size: 14px;
    font-weight: 650;
    line-height: 2.05;
}

.tp-editorial-archive-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 150px);
    gap: 10px;
}

.tp-editorial-archive-stats > span {
    min-height: 104px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px 18px;
    border: 1px solid #dde6f2;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 26px rgba(16, 40, 80, .045);
}

.tp-editorial-archive-stats strong {
    color: #102f5d;
    font-size: 25px;
    line-height: 1.35;
    font-weight: 950;
}

.tp-editorial-archive-stats small {
    margin-top: 6px;
    color: #7a899d;
    font-size: 10px;
    font-weight: 750;
}

.tp-editorial-archive-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin: 0 0 24px;
    padding: 7px;
    border: 1px solid #dfe7f1;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(17, 40, 76, .04);
}

.tp-editorial-archive-tabs a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border-radius: 10px;
    color: #52647b;
    background: #f5f7fb;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
    transition: transform .18s ease, color .18s ease, background .18s ease;
}

.tp-editorial-archive-tabs a:hover {
    transform: translateY(-1px);
    color: #1559cb;
    background: #edf4ff;
}

.tp-editorial-archive-tabs a.is-active {
    color: #fff;
    background: linear-gradient(135deg, #246df4 0%, #1555d5 100%);
    box-shadow: 0 8px 18px rgba(23, 101, 244, .16);
}

.tp-editorial-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
    grid-auto-flow: dense;
}

.tp-editorial-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e0e7f0;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(13, 35, 73, .045);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.tp-editorial-card:not(.is-featured) {
    height: 100%;
}

.tp-editorial-card:hover {
    transform: translateY(-4px);
    border-color: #cfdcf0;
    box-shadow: 0 20px 42px rgba(13, 35, 73, .085);
}

.tp-editorial-card.is-featured {
    grid-column: 1 / -1;
    min-height: 320px;
    display: grid;
    grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
}

.tp-editorial-card-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    padding: 14px;
    background: #eef3f9;
}

.tp-editorial-card.is-featured .tp-editorial-card-media {
    min-height: 320px;
    aspect-ratio: auto;
    height: 100%;
    padding: 18px;
}

.tp-editorial-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .35s ease;
}

.tp-editorial-card:hover .tp-editorial-card-media img {
    transform: scale(1.02);
}

.tp-editorial-card-fallback {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 35% 30%, rgba(59, 123, 245, .92), transparent 34%),
        linear-gradient(145deg, #0f2d62, #081a38);
    color: #fff;
}

.tp-editorial-card-fallback b {
    font: 950 42px/1 Arial, sans-serif;
    letter-spacing: 1px;
}

.tp-editorial-card-fallback small {
    margin-top: 8px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
    font-weight: 800;
}

.tp-editorial-card-body {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 21px 22px;
}

.tp-editorial-card.is-featured .tp-editorial-card-body {
    justify-content: center;
    padding: 36px 38px;
}

.tp-editorial-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.tp-editorial-card-meta span {
    min-height: 25px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    color: #1765f4;
    background: #edf4ff;
    font-size: 9px;
    font-weight: 900;
}

.tp-editorial-card-meta time {
    color: #93a0b1;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}

.tp-editorial-card h2 {
    margin: 0;
    color: #12243e;
    font-size: 17px;
    line-height: 1.85;
    font-weight: 900;
}

.tp-editorial-card.is-featured h2 {
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.75;
}

.tp-editorial-card h2 a {
    color: inherit;
    text-decoration: none;
}

.tp-editorial-card p {
    margin: 10px 0 0;
    color: #718197;
    font-size: 11px;
    line-height: 2;
}

.tp-editorial-card.is-featured p {
    font-size: 13px;
}

.tp-editorial-card-read {
    margin-top: auto;
    padding-top: 17px;
    color: #1765f4;
    font-size: 10px;
    font-weight: 900;
    text-decoration: none;
}

.tp-editorial-card-read span {
    display: inline-block;
    margin-right: 7px;
    transition: transform .18s ease;
}

.tp-editorial-card:hover .tp-editorial-card-read span {
    transform: translateX(-3px);
}

.tp-editorial-pagination {
    margin-top: 30px;
}

.tp-editorial-pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
}

.tp-editorial-pagination .page-numbers {
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid #dfe7f1;
    border-radius: 10px;
    background: #fff;
    color: #506179;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

.tp-editorial-pagination .page-numbers.current,
.tp-editorial-pagination a.page-numbers:hover {
    border-color: #1765f4;
    background: #1765f4;
    color: #fff;
}

.tp-editorial-empty {
    padding: 50px 28px;
    border: 1px solid #dfe7f1;
    border-radius: 22px;
    background: #fff;
    text-align: center;
    box-shadow: 0 14px 34px rgba(16, 39, 82, .05);
}

.tp-editorial-empty strong {
    display: block;
    color: #10233f;
    font-size: 21px;
    font-weight: 900;
}

.tp-editorial-empty p {
    margin: 9px 0 18px;
    color: #718197;
    font-size: 12px;
}

.tp-editorial-empty a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 17px;
    border-radius: 10px;
    background: #1765f4;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 980px) {
    .tp-editorial-archive-hero {
        grid-template-columns: 1fr;
    }

    .tp-editorial-archive-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-editorial-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tp-editorial-card.is-featured {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-media {
        min-height: 300px;
        height: 300px;
        aspect-ratio: auto;
    }
}

@media (max-width: 640px) {
    .tp-editorial-archive-shell {
        width: min(100% - 20px, 1280px);
        padding-top: 18px;
        padding-bottom: 45px;
    }

    .tp-editorial-archive-hero {
        min-height: 0;
        padding: 26px 20px;
        border-radius: 20px;
    }

    .tp-editorial-archive-copy h1 {
        font-size: 30px;
    }

    .tp-editorial-archive-copy p {
        font-size: 12px;
    }

    .tp-editorial-archive-stats {
        gap: 8px;
    }

    .tp-editorial-archive-stats > span {
        min-height: 86px;
        padding: 13px;
    }

    .tp-editorial-archive-stats strong {
        font-size: 20px;
    }

    .tp-editorial-archive-tabs {
        width: 100%;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .tp-editorial-archive-tabs::-webkit-scrollbar {
        display: none;
    }

    .tp-editorial-archive-tabs a {
        flex: 0 0 auto;
    }

    .tp-editorial-archive-grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .tp-editorial-card.is-featured {
        min-height: 0;
        grid-column: auto;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-media,
    .tp-editorial-card-media {
        height: auto;
        min-height: 0;
        aspect-ratio: 1 / 1;
        padding: 12px;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-body,
    .tp-editorial-card-body {
        padding: 19px;
    }

    .tp-editorial-card.is-featured h2,
    .tp-editorial-card h2 {
        font-size: 17px;
    }

    .tp-editorial-card.is-featured p,
    .tp-editorial-card p {
        font-size: 11px;
    }
}


/* v0.9.30 — featured card spans the full three-card row; media size stays compact and text gets the extra width */
@media (min-width: 981px) {
    .tp-editorial-card.is-featured {
        grid-column: 1 / -1;
        height: 320px;
        min-height: 320px;
        grid-template-columns: minmax(320px, 360px) minmax(0, 1fr);
        align-items: stretch;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-media {
        height: 320px;
        min-height: 320px;
        padding: 14px;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-body {
        height: 320px;
        min-height: 0;
        overflow: hidden;
        justify-content: flex-start;
        padding: 24px 26px;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-meta {
        margin-bottom: 9px;
    }

    .tp-editorial-card.is-featured h2 {
        margin: 0;
        font-size: 20px;
        line-height: 1.65;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    .tp-editorial-card.is-featured p {
        margin-top: 8px;
        font-size: 11.5px;
        line-height: 1.9;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .tp-editorial-card.is-featured .tp-editorial-card-read {
        margin-top: auto;
        padding-top: 10px;
    }
}

/* v0.9.32 — crop baked-in white borders so genre photos fill the whole card */
.tp-genres .tp-genre-card,
.tp-genres .tp-genre-card.is-family,
.tp-genres .tp-genre-card.is-horror,
.tp-genres .tp-genre-card.is-sport,
.tp-genres .tp-genre-card.is-adventure,
.tp-genres .tp-genre-card.is-action {
    background-size: auto 112%;
    background-position: center center;
    background-repeat: no-repeat;
}

/* v0.9.33 — editorial single post */
body.single-post .tp-main.tp-single-editorial {
    background: #f5f7fb;
}

.tp-single-editorial-shell {
    width: min(1180px, calc(100% - 40px));
    padding-top: 24px;
    padding-bottom: 80px;
}

.tp-single-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
    color: #7b899c;
    font-size: 10px;
    font-weight: 700;
}

.tp-single-breadcrumb a:hover { color: #1765f4; }
.tp-single-breadcrumb span { color: #b3becc; }

.tp-single-hero {
    position: relative;
    overflow: hidden;
    padding: 28px 38px 27px;
    border: 1px solid #dce5f1;
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 12%, rgba(23, 101, 244, .09), transparent 31%),
        linear-gradient(180deg, #fff 0%, #f3f7fd 100%);
    box-shadow: 0 20px 46px rgba(15, 39, 79, .055);
}

.tp-single-hero::after {
    content: "";
    position: absolute;
    left: -74px;
    bottom: -122px;
    width: 250px;
    height: 250px;
    border: 40px solid rgba(23, 101, 244, .04);
    border-radius: 50%;
    pointer-events: none;
}

.tp-single-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 900px;
}

.tp-single-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    color: #6e7f96;
    font-size: 10px;
    font-weight: 750;
}

.tp-single-label {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid #cfe0fb;
    border-radius: 999px;
    color: #1765f4;
    background: #edf4ff;
    font-weight: 900;
}

.tp-single-meta-dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #b8c2d0;
}

.tp-single-hero h1 {
    margin: 0;
    color: #0e2344;
    font-size: clamp(19px, 2.1vw, 25px);
    line-height: 1.45;
    letter-spacing: -.55px;
}

.tp-single-hero p {
    max-width: 800px;
    margin: 9px 0 0;
    color: #667890;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.9;
}

.tp-single-featured {
    width: min(100%, 560px);
    aspect-ratio: 1 / 1;
    margin: 16px auto 0;
    overflow: hidden;
    border: 1px solid #dce5ef;
    border-radius: 24px;
    background: #e9eef6;
    box-shadow: 0 18px 42px rgba(16, 37, 70, .07);
}

.tp-single-featured img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.tp-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 255px;
    gap: 30px;
    align-items: start;
    margin-top: 28px;
}

.tp-single-layout.has-no-toc { grid-template-columns: minmax(0, 1fr); }

.tp-single-sidebar {
    grid-column: 2;
    grid-row: 1;
    position: sticky;
    top: 20px;
}

.tp-single-toc {
    padding: 22px 20px 19px;
    border: 1px solid #dfe7f1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 39, 75, .045);
}

.tp-single-toc-kicker {
    display: block;
    margin-bottom: 5px;
    color: #1765f4;
    font-size: 9px;
    font-weight: 900;
}

.tp-single-toc > strong {
    display: block;
    color: #122846;
    font-size: 16px;
}

.tp-single-toc ol {
    display: grid;
    gap: 4px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}

.tp-single-toc li { margin: 0; }
.tp-single-toc li.is-sub { padding-right: 12px; }
.tp-single-toc a {
    display: block;
    padding: 8px 10px;
    border-radius: 9px;
    color: #5f7087;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.7;
    transition: .18s ease;
}
.tp-single-toc a:hover {
    color: #1765f4;
    background: #f1f6ff;
}

.tp-single-content {
    grid-column: 1;
    min-width: 0;
    padding: 36px 42px;
    border: 1px solid #dfe7f1;
    border-radius: 22px;
    background: #fff;
    color: #34465e;
    box-shadow: 0 14px 34px rgba(16, 39, 75, .045);
    font-size: 14px;
    line-height: 2.15;
}

.tp-single-content > :first-child { margin-top: 0; }
.tp-single-content > :last-child { margin-bottom: 0; }

.tp-single-content p { margin: 0 0 22px; }
.tp-single-content h2,
.tp-single-content h3 {
    scroll-margin-top: 24px;
    color: #112846;
    line-height: 1.65;
}
.tp-single-content h2 {
    margin: 38px 0 15px;
    padding-right: 14px;
    border-right: 3px solid #1765f4;
    font-size: 23px;
}
.tp-single-content h3 {
    margin: 30px 0 12px;
    font-size: 18px;
}
.tp-single-content a {
    color: #1765f4;
    text-decoration: underline;
    text-decoration-color: rgba(23, 101, 244, .25);
    text-underline-offset: 4px;
}
.tp-single-content ul,
.tp-single-content ol {
    margin: 18px 0 24px;
    padding-right: 24px;
}
.tp-single-content li { margin: 7px 0; }
.tp-single-content blockquote {
    margin: 28px 0;
    padding: 20px 22px;
    border: 0;
    border-right: 4px solid #1765f4;
    border-radius: 12px;
    background: #f3f7fe;
    color: #243b59;
}
.tp-single-content img {
    margin: 24px auto;
    border-radius: 16px;
}
.tp-single-content figure { max-width: 100%; }
.tp-single-content figcaption {
    margin-top: -13px;
    color: #8491a3;
    font-size: 10px;
    text-align: center;
}
.tp-single-content table {
    width: 100%;
    margin: 25px 0;
    border-collapse: collapse;
    font-size: 11px;
}
.tp-single-content th,
.tp-single-content td {
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    text-align: right;
}
.tp-single-content th {
    color: #163258;
    background: #f3f7fd;
}

.tp-single-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 36px;
    padding-top: 22px;
    border-top: 1px solid #e8edf4;
}
.tp-single-tags span {
    margin-left: 4px;
    color: #243b59;
    font-size: 11px;
    font-weight: 900;
}
.tp-single-tags a {
    padding: 6px 10px;
    border-radius: 999px;
    color: #66778d;
    background: #f2f5f9;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}

.tp-single-related {
    margin-top: 46px;
    padding-top: 34px;
    border-top: 1px solid #dfe6ef;
}
.tp-single-related-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}
.tp-single-related-head span:first-child {
    color: #1765f4;
    font-size: 9px;
    font-weight: 900;
}
.tp-single-related-head h2 {
    margin: 4px 0 0;
    color: #102a4c;
    font-size: 24px;
}
.tp-single-related-head > a {
    color: #1765f4;
    font-size: 10px;
    font-weight: 850;
}
.tp-single-related-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.tp-single-related-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe7f1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(16, 39, 75, .04);
    transition: transform .18s ease, box-shadow .18s ease;
}
.tp-single-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(16, 39, 75, .08);
}
.tp-single-related-media {
    height: auto;
    aspect-ratio: 1 / 1;
    display: block;
    overflow: hidden;
    background: #eef2f7;
}
.tp-single-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}
.tp-single-related-card:hover .tp-single-related-media img { transform: scale(1.025); }
.tp-single-related-body { padding: 18px; }
.tp-single-related-body time {
    display: block;
    margin-bottom: 7px;
    color: #8794a6;
    font-size: 9px;
}
.tp-single-related-body h3 {
    min-height: 52px;
    margin: 0;
    color: #162c4a;
    font-size: 14px;
    line-height: 1.85;
}
.tp-single-related-read {
    display: inline-flex;
    gap: 6px;
    margin-top: 13px;
    color: #1765f4;
    font-size: 9px;
    font-weight: 850;
}

@media (max-width: 980px) {
    .tp-single-hero { padding: 25px 30px; }
    .tp-single-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 20px; }
    .tp-single-content { padding: 30px; }
    .tp-single-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .tp-single-editorial-shell {
        width: min(100% - 28px, 1180px);
        padding-top: 16px;
        padding-bottom: 55px;
    }
    .tp-single-breadcrumb { margin-bottom: 13px; }
    .tp-single-hero {
        padding: 22px 20px;
        border-radius: 20px;
    }
    .tp-single-hero h1 {
        font-size: clamp(18px, 5vw, 22px);
        line-height: 1.5;
    }
    .tp-single-hero p { font-size: 11.5px; }
    .tp-single-featured {
        margin-top: 16px;
        border-radius: 18px;
    }
    .tp-single-featured img {
        min-height: 0;
        height: 100%;
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }
    .tp-single-layout {
        display: flex;
        flex-direction: column;
        gap: 16px;
        margin-top: 18px;
    }
    .tp-single-sidebar {
        position: static;
        width: 100%;
        order: 0;
    }
    .tp-single-content {
        width: 100%;
        order: 1;
        padding: 26px 20px;
        border-radius: 18px;
        font-size: 13px;
    }
    .tp-single-content h2 { font-size: 20px; }
    .tp-single-content h3 { font-size: 17px; }
    .tp-single-toc { padding: 18px; }
    .tp-single-toc ol { grid-template-columns: 1fr 1fr; }
    .tp-single-related { margin-top: 34px; }
    .tp-single-related-grid { grid-template-columns: 1fr; }
    .tp-single-related-media { height: auto; aspect-ratio: 1 / 1; }
    .tp-single-related-body h3 { min-height: 0; }
}

@media (max-width: 480px) {
    .tp-single-meta { gap: 8px; }
    .tp-single-meta-dot { display: none; }
    .tp-single-toc ol { grid-template-columns: 1fr; }
    .tp-single-related-head { align-items: start; }
}

/* TehranPlay 0.9.47 final desktop header layout — keep after historical header overrides. */
@media (min-width: 981px) {
    .tp-header-main {
        grid-template-columns: 158px minmax(320px, 760px) 122px 250px !important;
        gap: 18px !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 82px !important;
    }
    .tp-header-main > .tp-search {
        width: 100% !important;
        max-width: 760px !important;
        min-width: 0 !important;
        justify-self: stretch !important;
        grid-row: 1 !important;
    }
    .tp-header-main > .tp-header-socials,
    .tp-header-main > .tp-actions,
    .tp-header-main > .tp-brand-header-logo {
        grid-row: 1 !important;
        align-self: center !important;
    }
    .tp-header-main > .tp-actions {
        width: 250px !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }
    .tp-header-main > .tp-brand-header-logo,
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 136px !important;
        max-width: 136px !important;
        min-width: 136px !important;
    }
    .tp-header-main > .tp-brand-header-logo { flex: 0 0 136px !important; }
}

/* 0.9.48 final mobile lock — intentionally last, after historical header overrides. */
@media (max-width: 640px) {
    .tp-topbar { height: 54px !important; min-height: 54px !important; }
    .tp-topbar > .tp-shell > span,
    .tp-topbar-meta > span:not(.tp-topbar-hours),
    .tp-topbar-meta > a:not(.tp-topbar-phone) { display: none !important; }
    .tp-topbar > .tp-shell > .tp-topbar-meta {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 3px 12px !important;
    }
    .tp-topbar-meta .tp-topbar-hours { grid-column: 1 / -1; display: block !important; }
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type { display: inline-flex !important; }
    .tp-topbar-meta .tp-topbar-phone span { display: inline !important; }

    .tp-header-main {
        min-height: 134px !important;
        display: grid !important;
        grid-template-columns: 114px minmax(0, 1fr) !important;
        grid-template-rows: 76px 48px !important;
        gap: 6px 10px !important;
        padding: 0 !important;
    }
    .tp-header-main > .tp-brand-header-logo,
    .tp-header-main > .tp-brand-header-logo > .tp-brand-static-logo {
        width: 104px !important;
        max-width: 104px !important;
        min-width: 104px !important;
    }
    .tp-header-main > .tp-brand-header-logo {
        grid-column: 1 !important;
        grid-row: 1 !important;
        flex: 0 0 104px !important;
    }
    .tp-header-main > .tp-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: auto !important;
        display: flex !important;
    }
    .tp-actions > a,
    .tp-actions > a:first-child { display: inline-flex !important; }
    .tp-actions > a > span:not(.tp-cart-count) { display: inline !important; }
    .tp-mobile-tools {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        display: flex !important;
    }
    .tp-mobile-tools > .tp-category-menu-v073,
    .tp-mobile-tools .tp-menu-toggle-v073 {
        height: 42px !important;
        min-height: 42px !important;
    }
    .tp-nav { display: none !important; }
    .tp-header-main > .tp-search { display: none !important; }
    .tp-header-main > .tp-search.is-mobile-open { display: flex !important; }
}

/* 0.9.49 final mobile lock — single-line contacts and visible search popup. */
@media (max-width: 640px) {
    .tp-topbar {
        height: 36px !important;
        min-height: 36px !important;
    }
    .tp-topbar > .tp-shell > .tp-topbar-meta {
        width: 100% !important;
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        white-space: nowrap !important;
    }
    .tp-topbar-meta .tp-topbar-hours {
        display: inline-flex !important;
        flex: 0 1 auto !important;
        grid-column: auto !important;
        font-size: 8px !important;
        line-height: 1 !important;
    }
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type {
        display: inline-flex !important;
        flex: 0 1 auto !important;
        gap: 3px !important;
        font-size: 8.5px !important;
        line-height: 1 !important;
    }
    .tp-topbar-meta .tp-topbar-phone svg {
        width: 10px !important;
        height: 10px !important;
        flex-basis: 10px !important;
    }

    /* Let the fixed search escape the header's z-index 50 stacking context. */
    body.tp-mobile-search-open .tp-header { z-index: auto !important; }
    .tp-header-main > .tp-search.is-mobile-open {
        z-index: 10030 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    .tp-search.is-mobile-open .tp-live-search-results { z-index: 10031 !important; }
}

@media (max-width: 360px) {
    .tp-topbar > .tp-shell > .tp-topbar-meta { gap: 4px !important; }
    .tp-topbar-meta .tp-topbar-hours { font-size: 7.2px !important; }
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type { font-size: 7.7px !important; }
    .tp-topbar-meta .tp-topbar-phone svg {
        width: 9px !important;
        height: 9px !important;
        flex-basis: 9px !important;
    }
}

/* 0.9.53 — About page */
.tp-about-page {
    padding: 34px 0 48px;
    color: #172033;
}
.tp-about-page svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.tp-about-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr);
    align-items: stretch;
    gap: 28px;
    padding: 42px;
    border: 1px solid #e4e9f3;
    border-radius: 24px;
    background: linear-gradient(135deg, #fff 0%, #f7faff 62%, #edf4ff 100%);
    box-shadow: 0 14px 42px rgba(32, 65, 120, .08);
}
.tp-about-hero::before {
    content: "";
    position: absolute;
    inset: auto -90px -110px auto;
    width: 290px;
    height: 290px;
    border-radius: 50%;
    background: rgba(35, 113, 238, .07);
}
.tp-about-hero-copy,
.tp-about-hero-panel { position: relative; z-index: 1; }
.tp-about-kicker,
.tp-about-section-head > span,
.tp-about-cta > div > span {
    display: inline-block;
    margin-bottom: 8px;
    color: #1f6fe5;
    font-size: 13px;
    font-weight: 800;
}
.tp-about-hero h1 {
    margin: 0 0 14px;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.25;
    letter-spacing: -.7px;
}
.tp-about-hero-copy > p {
    max-width: 760px;
    margin: 0;
    color: #566074;
    font-size: 15px;
    line-height: 2.05;
}
.tp-about-primary-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 44px;
    margin-top: 22px;
    padding: 0 18px;
    border-radius: 12px;
    background: #1769e0;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(23, 105, 224, .2);
    transition: transform .2s ease, background .2s ease;
}
.tp-about-primary-link:hover { background: #0d5bca; transform: translateY(-1px); }
.tp-about-primary-link svg { width: 17px; height: 17px; }
.tp-about-hero-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(204, 216, 237, .9);
    border-radius: 18px;
    background: rgba(255, 255, 255, .8);
    backdrop-filter: blur(8px);
}
.tp-about-hero-mark {
    grid-row: 1 / 3;
    display: grid;
    place-items: center;
    min-height: 112px;
    border-radius: 14px;
    background: #1769e0;
    color: #fff;
}
.tp-about-hero-mark svg { width: 48px; height: 48px; stroke-width: 1.5; }
.tp-about-stat {
    display: flex;
    min-height: 51px;
    flex-direction: column;
    justify-content: center;
    padding: 8px 11px;
    border-radius: 12px;
    background: #f6f9fe;
}
.tp-about-stat:last-child { grid-column: 1 / -1; }
.tp-about-stat strong { font-size: 14px; color: #172033; }
.tp-about-stat span { margin-top: 2px; color: #748095; font-size: 11px; }
.tp-about-story-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}
.tp-about-story-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 26px;
    border: 1px solid #e5eaf2;
    border-radius: 18px;
    background: #fff;
}
.tp-about-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 13px;
    background: #edf4ff;
    color: #1769e0;
}
.tp-about-story-card h2,
.tp-about-benefit h3,
.tp-about-cta h2 { margin: 0; color: #172033; }
.tp-about-story-card h2 { margin-bottom: 7px; font-size: 19px; }
.tp-about-story-card p {
    margin: 0;
    color: #687387;
    font-size: 13px;
    line-height: 1.95;
}
.tp-about-why { padding: 48px 0 18px; }
.tp-about-section-head { margin-bottom: 22px; text-align: center; }
.tp-about-section-head h2 { margin: 0; font-size: 27px; line-height: 1.4; }
.tp-about-section-head p { margin: 8px 0 0; color: #778196; font-size: 13px; }
.tp-about-benefits {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.tp-about-benefit {
    min-width: 0;
    padding: 20px 17px;
    border: 1px solid #e5eaf2;
    border-radius: 16px;
    background: #fff;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tp-about-benefit:hover {
    border-color: #cddcf4;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(30, 62, 108, .07);
}
.tp-about-benefit .tp-about-icon { width: 40px; height: 40px; margin-bottom: 14px; flex-basis: 40px; }
.tp-about-benefit .tp-about-icon svg { width: 21px; height: 21px; }
.tp-about-benefit h3 { margin-bottom: 7px; font-size: 15px; }
.tp-about-benefit p { margin: 0; color: #778196; font-size: 12px; line-height: 1.85; }
.tp-about-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin-top: 26px;
    padding: 28px 32px;
    border-radius: 20px;
    background: #14213b;
    color: #fff;
}
.tp-about-cta h2 { color: #fff; font-size: 23px; }
.tp-about-cta p { margin: 7px 0 0; color: #c2cbe0; font-size: 13px; line-height: 1.8; }
.tp-about-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 132px;
    min-height: 43px;
    padding: 0 17px;
    border-radius: 11px;
    background: #fff;
    color: #14213b !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}

@media (max-width: 1050px) {
    .tp-about-hero { grid-template-columns: minmax(0, 1.35fr) minmax(250px, .8fr); padding: 32px; }
    .tp-about-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .tp-about-page { padding: 18px 0 30px; }
    .tp-about-hero { grid-template-columns: 1fr; gap: 20px; padding: 24px 20px; border-radius: 18px; }
    .tp-about-hero h1 { margin-bottom: 10px; font-size: 28px; }
    .tp-about-hero-copy > p { font-size: 13px; line-height: 1.9; }
    .tp-about-primary-link { min-height: 42px; margin-top: 17px; }
    .tp-about-hero-panel { grid-template-columns: 82px 1fr 1fr; padding: 10px; }
    .tp-about-hero-mark { grid-row: 1; min-height: 64px; }
    .tp-about-hero-mark svg { width: 34px; height: 34px; }
    .tp-about-stat { min-height: 64px; }
    .tp-about-stat:last-child { grid-column: auto; }
    .tp-about-story-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 10px; }
    .tp-about-story-card { gap: 12px; padding: 18px 16px; border-radius: 15px; }
    .tp-about-story-card h2 { font-size: 17px; }
    .tp-about-why { padding: 34px 0 10px; }
    .tp-about-section-head { margin-bottom: 16px; }
    .tp-about-section-head h2 { font-size: 23px; }
    .tp-about-section-head p { font-size: 12px; }
    .tp-about-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .tp-about-benefit { padding: 16px 13px; }
    .tp-about-benefit:last-child { grid-column: 1 / -1; }
    .tp-about-cta { align-items: flex-start; flex-direction: column; gap: 16px; margin-top: 18px; padding: 23px 20px; border-radius: 17px; }
    .tp-about-cta h2 { font-size: 20px; }
    .tp-about-cta a { width: 100%; }
}

@media (max-width: 420px) {
    .tp-about-hero-panel { grid-template-columns: 64px 1fr 1fr; gap: 7px; }
    .tp-about-stat { padding: 7px 8px; }
    .tp-about-stat strong { font-size: 12px; }
    .tp-about-stat span { font-size: 9.5px; }
    .tp-about-benefit h3 { font-size: 14px; }
    .tp-about-benefit p { font-size: 11px; }
}

/* 0.9.57 — Contact page */
.tp-contact-page { padding: 34px 0 48px; color: #172033; }
.tp-contact-page svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tp-contact-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 38px 42px;
    border: 1px solid #e4e9f3;
    border-radius: 24px;
    background: linear-gradient(135deg, #fff 0%, #f7faff 65%, #edf4ff 100%);
    box-shadow: 0 14px 42px rgba(32, 65, 120, .08);
}
.tp-contact-kicker,
.tp-contact-help-copy > span,
.tp-contact-cta > div > span { display: inline-block; margin-bottom: 8px; color: #1f6fe5; font-size: 13px; font-weight: 800; }
.tp-contact-hero h1 { margin: 0 0 12px; font-size: clamp(24px, 2.2vw, 32px); line-height: 1.25; }
.tp-contact-hero p { max-width: 760px; margin: 0; color: #5e687b; font-size: 14px; line-height: 2; }
.tp-contact-hero-icon { display: grid; place-items: center; width: 104px; height: 104px; flex: 0 0 104px; border-radius: 22px; background: #1769e0; color: #fff; box-shadow: 0 12px 28px rgba(23, 105, 224, .2); }
.tp-contact-hero-icon svg { width: 48px; height: 48px; stroke-width: 1.5; }
.tp-contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.tp-contact-card { display: flex; align-items: flex-start; gap: 14px; min-width: 0; padding: 22px 20px; border: 1px solid #e5eaf2; border-radius: 17px; background: #fff; }
.tp-contact-card-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: #edf4ff; color: #1769e0; }
.tp-contact-card-icon svg { width: 21px; height: 21px; }
.tp-contact-card > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.tp-contact-card span { color: #7a8497; font-size: 11px; }
.tp-contact-card strong { color: #172033; font-size: 14px; line-height: 1.5; }
.tp-contact-card strong a { color: inherit; text-decoration: none; }
.tp-contact-card small { color: #8a93a3; font-size: 10.5px; line-height: 1.6; }
.tp-contact-trust { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 18px; padding: 22px 30px; border: 1px solid #e5eaf2; border-radius: 20px; background: #fff; }
.tp-contact-trust-copy > span { display: inline-block; margin-bottom: 6px; color: #1f6fe5; font-size: 12px; font-weight: 800; }
.tp-contact-trust h2 { margin: 0; color: #172033; font-size: 21px; }
.tp-contact-trust p { margin: 7px 0 0; color: #687387; font-size: 12px; line-height: 1.8; }
.tp-contact-enamad { display: grid; place-items: center; width: 118px; min-height: 118px; flex: 0 0 118px; padding: 8px; border: 1px solid #e6eaf1; border-radius: 16px; background: #f9fbff; transition: transform .2s ease, box-shadow .2s ease; }
.tp-contact-enamad:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(32, 65, 120, .1); }
.tp-contact-enamad img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100px; border: 0; cursor: pointer; }
.tp-enamad-fallback{display:grid;place-items:center;gap:2px;color:#183a72;text-align:center}.tp-enamad-fallback[hidden]{display:none}.tp-enamad-fallback b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:#1765f4;font:900 27px Arial}.tp-enamad-fallback strong{font-size:11px}.tp-enamad-fallback small{font-size:8px;color:#71809a}
.tp-contact-help { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 30px; align-items: center; margin-top: 36px; padding: 30px; border-radius: 20px; background: #f7f9fd; }
.tp-contact-help h2 { margin: 0; font-size: 25px; }
.tp-contact-help-copy p { margin: 9px 0 0; color: #687387; font-size: 13px; line-height: 1.95; }
.tp-contact-help-items { display: grid; gap: 8px; }
.tp-contact-help-items > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid #e6eaf1; border-radius: 12px; background: #fff; }
.tp-contact-help-items strong { font-size: 13px; }
.tp-contact-help-items span { color: #7b8597; font-size: 11px; text-align: left; }
.tp-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 20px; padding: 26px 30px; border-radius: 20px; background: #14213b; color: #fff; }
.tp-contact-cta h2 { margin: 0; color: #fff; font-size: 22px; }
.tp-contact-cta p { margin: 6px 0 0; color: #c2cbe0; font-size: 12px; line-height: 1.8; }
.tp-contact-cta a { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: 0 18px; border-radius: 11px; background: #fff; color: #14213b !important; font-size: 12px; font-weight: 800; text-decoration: none !important; white-space: nowrap; }

@media (max-width: 820px) {
    .tp-contact-cards { grid-template-columns: 1fr; gap: 9px; }
    .tp-contact-card { padding: 17px 16px; }
    .tp-contact-help { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 760px) {
    .tp-contact-page { padding: 18px 0 30px; }
    .tp-contact-hero { align-items: flex-start; gap: 14px; padding: 24px 20px; border-radius: 18px; }
    .tp-contact-hero h1 { font-size: 24px; }
    .tp-contact-hero p { font-size: 12.5px; line-height: 1.9; }
    .tp-contact-hero-icon { width: 58px; height: 58px; flex-basis: 58px; border-radius: 15px; }
    .tp-contact-hero-icon svg { width: 29px; height: 29px; }
    .tp-contact-trust { align-items: center; gap: 18px; padding: 18px 17px; border-radius: 16px; }
    .tp-contact-trust h2 { font-size: 18px; }
    .tp-contact-enamad { width: 94px; min-height: 94px; flex-basis: 94px; }
    .tp-contact-enamad img { max-height: 80px; }
    .tp-contact-help { margin-top: 22px; padding: 20px 17px; border-radius: 16px; }
    .tp-contact-help h2 { font-size: 21px; }
    .tp-contact-help-copy p { font-size: 12px; }
    .tp-contact-help-items > div { align-items: flex-start; flex-direction: column; gap: 3px; }
    .tp-contact-help-items span { text-align: right; }
    .tp-contact-cta { align-items: flex-start; flex-direction: column; gap: 15px; padding: 22px 20px; border-radius: 17px; }
    .tp-contact-cta h2 { font-size: 19px; }
    .tp-contact-cta a { width: 100%; }
}

@media (max-width: 420px) {
    .tp-contact-hero-icon { display: none; }
    .tp-contact-card strong { font-size: 12.5px; }
    .tp-contact-trust { align-items: flex-start; flex-direction: column; }
    .tp-contact-enamad { width: 100%; min-height: 112px; flex-basis: auto; }
    .tp-contact-enamad img { max-height: 96px; }
}


/* 0.9.91 — Topbar typography alignment */
.tp-topbar {
    font-family: PeydaWebFaNum, Tahoma, Arial, sans-serif !important;
    font-size: 13px !important;
}
.tp-topbar-phone {
    font-family: PeydaWebFaNum, Tahoma, Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
.tp-topbar-hours,
.tp-topbar-meta,
.tp-topbar a {
    font-family: PeydaWebFaNum, Tahoma, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* v0.10.21 — Topbar content alignment and mobile contact layout. */
.tp-topbar .tp-topbar-highlights{
    display:flex;
    align-items:center;
    gap:24px;
}
.tp-topbar .tp-topbar-highlights span{
    color:#fff;
    font-family:PeydaWebFaNum,Tahoma,Arial,sans-serif;
    font-size:13px;
    font-weight:700;
    white-space:nowrap;
}
.tp-topbar .tp-topbar-phones{
    display:inline-flex;
    align-items:center;
    gap:20px;
}
@media(max-width:640px){
    .tp-topbar{
        height:42px!important;
        min-height:42px!important;
    }
    .tp-topbar .tp-topbar-highlights,
    .tp-topbar .tp-topbar-meta>a:not(.tp-topbar-phone){
        display:none!important;
    }
    .tp-topbar>.tp-shell{
        width:calc(100% - 20px)!important;
        max-width:none!important;
        justify-content:stretch!important;
    }
    .tp-topbar>.tp-shell>.tp-topbar-meta{
        width:100%!important;
        display:flex!important;
        flex-flow:row nowrap!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
        direction:rtl;
    }
    .tp-topbar-meta .tp-topbar-hours{
        display:inline-flex!important;
        order:1;
        flex:0 0 auto!important;
        color:#fff!important;
        font-size:12px!important;
        font-weight:800!important;
        line-height:1.2!important;
        white-space:nowrap!important;
    }
    .tp-topbar .tp-topbar-phones{
        display:inline-flex!important;
        order:2;
        align-items:center;
        gap:10px!important;
        direction:rtl;
        margin-right:auto;
    }
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type{
        display:inline-flex!important;
        flex:0 0 auto!important;
        gap:3px!important;
        font-size:11px!important;
        line-height:1.2!important;
    }
    .tp-topbar-meta .tp-topbar-phone svg{
        width:11px!important;
        height:11px!important;
        flex-basis:11px!important;
    }
}
@media(max-width:390px){
    .tp-topbar-meta .tp-topbar-hours{font-size:10.5px!important}
    .tp-topbar-meta .tp-topbar-phone,
    .tp-topbar-meta .tp-topbar-phone:first-of-type{font-size:9.5px!important}
    .tp-topbar .tp-topbar-phones{gap:6px!important}
}
@media (max-width: 980px) {
    .tp-topbar-meta .tp-topbar-phone {
        font-size: 12px !important;
    }
}
@media (max-width: 640px) {
    .tp-topbar {
        font-size: 11px !important;
    }
    .tp-topbar-meta .tp-topbar-phone {
        font-size: 11px !important;
        font-weight: 800 !important;
    }
}


/* v0.9.92 — official-style header social icons + Bale */
.tp-header-socials { gap: 10px; }
.tp-header-socials a.is-instagram { color: #e4405f; }
.tp-header-socials a.is-telegram { color: #229ed9; }
.tp-header-socials a.is-whatsapp { color: #25d366; }
.tp-header-socials a.is-bale { color: #28caa0; }
.tp-header-socials a.is-bale img { width: 20px; height: 20px; display: block; object-fit: contain; }
.tp-header-socials a.is-instagram svg .tp-instagram-outline { fill: none; stroke: currentColor; stroke-width: 1.8; }
.tp-header-socials a.is-instagram svg .tp-instagram-fill { fill: currentColor; stroke: none; }
.tp-header-socials a.is-telegram svg { fill: currentColor; stroke: none; }
.tp-header-socials a.is-telegram svg .tp-telegram-cut { fill: #ffffff; }
.tp-header-socials a.is-whatsapp svg { fill: none; stroke: none; }
.tp-header-socials a.is-whatsapp svg .tp-whatsapp-bubble { fill: currentColor; }
.tp-header-socials a.is-whatsapp svg .tp-whatsapp-handset { fill: #ffffff; }
.tp-header-socials a.is-bale:hover { border-color: #b8ecde; background: #f3fffb; }


/* v0.9.93 — official-looking WhatsApp icon and more visible Bale icon */
.tp-header-socials a.is-whatsapp {
    color: #25d366;
    background: #ffffff;
    border-color: #b7e5ca;
}
.tp-header-socials a.is-whatsapp:hover {
    color: #1ebe5d;
    border-color: #8fdbaf;
    background: #f4fff8;
}
.tp-header-socials a.is-whatsapp svg {
    width: 20px;
    height: 20px;
}
.tp-header-socials a.is-whatsapp svg .tp-wa-circle { fill: currentColor; }
.tp-header-socials a.is-whatsapp svg .tp-wa-phone { fill: #ffffff; }
.tp-header-socials a.is-bale {
    background: linear-gradient(135deg, #f7fffb 0%, #eefdf7 100%);
    border-color: #b9e7d8;
    box-shadow: 0 4px 12px rgba(40, 202, 160, .10);
}
.tp-header-socials a.is-bale img {
    width: 23px;
    height: 23px;
    filter: saturate(1.08) contrast(1.06);
}
.tp-header-socials a.is-bale:hover {
    transform: translateY(-2px) scale(1.03);
    border-color: #8fdbc5;
    background: linear-gradient(135deg, #f1fff8 0%, #e8fff4 100%);
    box-shadow: 0 6px 14px rgba(40, 202, 160, .16);
}


/* v0.9.94 - Bale channel popup */
.tp-bale-popup {
    position: fixed;
    left: 24px;
    bottom: 24px;
    width: 320px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border: 1px solid #dceee8;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(15,23,42,.16);
    padding: 18px;
    z-index: 99999;
    display: none;
    direction: rtl;
}
.tp-bale-popup.is-show { display:block; }
.tp-bale-popup-head {display:flex;align-items:center;gap:12px;}
.tp-bale-popup img {width:44px;height:44px;object-fit:contain;}
.tp-bale-popup-title {font-weight:800;color:#12213a;font-size:15px;}
.tp-bale-popup-text {font-size:13px;color:#64748b;line-height:1.8;margin:12px 0;}
.tp-bale-popup-actions {display:flex;gap:8px;}
.tp-bale-popup-actions a,
.tp-bale-popup-actions button {
    border:0;
    border-radius:12px;
    padding:10px 14px;
    font-family:inherit;
    cursor:pointer;
}
.tp-bale-popup-actions a {
    background:#28caa0;
    color:#fff;
    text-decoration:none;
    flex:1;
    text-align:center;
}
.tp-bale-popup-actions button {
    background:#f1f5f9;
    color:#64748b;
}
@media(max-width:600px){
 .tp-bale-popup{left:16px;right:16px;bottom:16px;width:auto;}
}

/* v0.10.21 final topbar lock — after all historical responsive rules. */
@media(max-width:640px){
 .tp-topbar .tp-topbar-highlights{display:none!important}
 .tp-topbar>.tp-shell>.tp-topbar-meta{display:flex!important;justify-content:space-between!important;direction:rtl!important}
 .tp-topbar .tp-topbar-meta>.tp-topbar-phones{display:inline-flex!important;margin-right:auto!important}
 .tp-topbar .tp-topbar-meta>.tp-topbar-hours{display:inline-flex!important;font-size:12px!important}
}

/* v0.10.60 — readable live-search suggestions + Bale popup icon */
.tp-live-search-results {
    padding: 10px !important;
}
.tp-search-result {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    min-height: 98px !important;
    gap: 15px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
}
.tp-search-result + .tp-search-result {
    border-top: 1px solid #edf1f6 !important;
}
.tp-search-result img {
    width: 72px !important;
    height: 84px !important;
    border-radius: 10px !important;
}
.tp-search-result strong {
    color: #101a2e !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    font-weight: 850 !important;
    white-space: normal !important;
    text-overflow: clip !important;
    overflow: visible !important;
}
.tp-search-result small {
    margin-top: 5px !important;
    color: #08783f !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    font-weight: 800 !important;
}
.tp-search-loading,
.tp-search-empty {
    padding: 20px !important;
    font-size: 12.5px !important;
    line-height: 1.8 !important;
}
.tp-search-all {
    margin-top: 8px !important;
    padding: 12px 15px !important;
    font-size: 12.5px !important;
    line-height: 1.6 !important;
    font-weight: 850 !important;
}
.tp-bale-popup-head > img {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    object-fit: contain !important;
}

@media (max-width: 640px) {
    .tp-search-result {
        grid-template-columns: 62px minmax(0, 1fr) !important;
        min-height: 86px !important;
        gap: 11px !important;
        padding: 9px 10px !important;
    }
    .tp-search-result img {
        width: 62px !important;
        height: 74px !important;
    }
    .tp-search-result strong { font-size: 13px !important; }
    .tp-search-result small { font-size: 11.5px !important; }
    .tp-search-all { font-size: 12px !important; }
}



/* v0.10.62 — footer social links + Bale icon */
.tp-footer .tp-socials a.is-bale img {
    width: 20px;
    height: 20px;
    display: block;
    object-fit: contain;
}
.tp-footer .tp-socials a.is-bale:hover {
    background: linear-gradient(135deg, #2fd0aa 0%, #18a987 100%);
    border-color: rgba(255,255,255,.28);
}

/* TehranPlay 0.10.73 — no attachment-title fallback + safer mobile hero actions */
@media (max-width: 980px) {
    body.home .tp-hero {
        height: 560px !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-inner {
        align-items: stretch !important;
        padding-bottom: 0 !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy {
        position: relative !important;
        width: 100% !important;
        min-height: 100% !important;
        padding-top: 20px !important;
        padding-bottom: 96px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-title,
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-price {
        margin-top: auto !important;
        margin-bottom: 12px !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions {
        position: absolute !important;
        right: 12px !important;
        left: 12px !important;
        bottom: 52px !important;
        width: auto !important;
        margin-top: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        align-items: stretch !important;
        z-index: 3 !important;
    }
    body.home .tp-hero .tp-slide .tp-primary-button,
    body.home .tp-hero .tp-slide .tp-secondary-button {
        min-height: 54px !important;
        min-width: 0 !important;
        width: 100% !important;
        padding: 0 12px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        white-space: nowrap !important;
    }
    body.home .tp-hero .tp-slider-dots {
        bottom: 16px !important;
    }
}

/* TehranPlay 0.10.74 — lower desktop hero CTA buttons to avoid overlap with banner text */
@media (min-width: 981px) {
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-actions {
        margin-top: 68px !important;
        position: relative !important;
        z-index: 3 !important;
    }
}

/* TehranPlay 0.10.75 — stable mobile hero title/price block above CTA buttons */
.tp-slide-meta { display: contents; }
@media (max-width: 980px) {
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-meta {
        display: flex !important;
        position: absolute !important;
        right: 16px !important;
        left: 16px !important;
        bottom: 128px !important;
        width: auto !important;
        max-width: none !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        z-index: 4 !important;
        pointer-events: none !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-meta .tp-slide-title {
        position: static !important;
        width: 100% !important;
        max-width: 430px !important;
        margin: 0 !important;
        padding: 0 8px !important;
        align-self: center !important;
        text-align: center !important;
        transform: none !important;
        font-size: 18px !important;
        line-height: 1.55 !important;
        text-shadow: 0 2px 10px rgba(0,0,0,.55) !important;
        box-sizing: border-box !important;
    }
    body.home .tp-hero .tp-slide .tp-slide-copy .tp-slide-meta .tp-slide-price {
        position: static !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-self: center !important;
        justify-content: center !important;
        text-align: center !important;
        transform: none !important;
        gap: 6px !important;
        text-shadow: 0 2px 9px rgba(0,0,0,.6) !important;
    }
}

/* TehranPlay 0.10.77 — category hero desktop CTA anchored safely below baked-in artwork text */
@media (min-width: 981px) {
    body.home .tp-hero .tp-slide.tp-slide-category-hero .tp-slide-copy {
        position: static !important;
    }
    body.home .tp-hero .tp-slide.tp-slide-category-hero .tp-slide-actions {
        position: absolute !important;
        right: 40px !important;
        left: auto !important;
        bottom: 72px !important;
        width: 430px !important;
        max-width: calc(100% - 80px) !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: 1fr 1.15fr !important;
        gap: 14px !important;
        z-index: 8 !important;
        transform: none !important;
    }
    body.home .tp-hero .tp-slide.tp-slide-category-hero .tp-slide-actions .tp-primary-button,
    body.home .tp-hero .tp-slide.tp-slide-category-hero .tp-slide-actions .tp-secondary-button {
        min-width: 0 !important;
        width: 100% !important;
    }
}
