/* ============================================================
   Themely Store — Main CSS v3.0.0
   Design System: Dark Premium Marketplace
   ============================================================ */

/* 1. CSS Variables */
:root {
    --bg-base:       #08080F;
    --bg-surface:    #0F0F1A;
    --bg-card:       #12121F;
    --bg-elevated:   #1A1A2E;
    --violet:        #7C3AED;
    --violet-light:  #A78BFA;
    --violet-glow:   rgba(124,58,237,0.35);
    --emerald:       #10B981;
    --emerald-light: #34D399;
    --emerald-glow:  rgba(16,185,129,0.25);
    --amber:         #F59E0B;
    --red:           #EF4444;
    --text-primary:  #F1F5F9;
    --text-secondary:#94A3B8;
    --text-muted:    #475569;
    --border:        #1E1E35;
    --border-strong: #2D2D50;
    --radius-sm:     8px;
    --radius-md:     12px;
    --radius-lg:     16px;
    --radius-xl:     24px;
    --nav-height:    64px;
    --ease:          cubic-bezier(0.4,0,0.2,1);
    --transition:    0.22s cubic-bezier(0.4,0,0.2,1);
}

/* 2. Resets */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Inter', system-ui, sans-serif;
    background: var(--bg-base);
    color: var(--text-primary);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    padding-top: var(--nav-height);
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { cursor: pointer; font-family: inherit; }
ul, ol { list-style: none; }

/* 3. Typography */
h1, h2, h3, h4, h5 {
    font-family: 'Space Grotesk', sans-serif;
    color: var(--text-primary);
    font-weight: 700;
    line-height: 1.15;
}
p { color: var(--text-secondary); }
.tmly-gradient-text {
    background: linear-gradient(135deg, var(--violet-light), var(--emerald-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 4. Layout Helpers */
.tmly-wrap { max-width: 1280px; margin: 0 auto; padding: 0 clamp(20px,4vw,48px); }
.tmly-section { padding: 96px 0; }
.tmly-section--surface {
    background: var(--bg-surface);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}
.tmly-section-hdr {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 48px;
    gap: 20px;
    flex-wrap: wrap;
}
.tmly-section-hdr--center {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 60px;
}
.tmly-section-label {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--violet-light);
    margin-bottom: 12px;
}
.tmly-section-title {
    font-size: clamp(28px, 4vw, 48px);
    letter-spacing: -1.5px;
    margin-bottom: 16px;
}
.tmly-section-sub {
    font-size: 16px;
    color: var(--text-secondary);
    max-width: 560px;
    line-height: 1.7;
}

/* 5. Header / Nav */
.tmly-nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 200;
    height: var(--nav-height);
    padding: 0 clamp(20px, 4vw, 48px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-bottom: 1px solid transparent;
    transition: background var(--transition), border-color var(--transition);
}
.tmly-nav.is-scrolled {
    background: rgba(8,8,15,0.92);
    backdrop-filter: blur(20px);
    border-color: var(--border);
}
.tmly-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    border: none;
    background: none;
    flex-shrink: 0;
}
.tmly-logo-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--violet);
    box-shadow: 0 0 12px var(--violet);
    flex-shrink: 0;
}
.tmly-header-nav { display: flex; align-items: center; gap: 4px; }
.tmly-nav-link {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    text-decoration: none;
    padding: 8px 14px;
    border-radius: var(--radius-sm);
    transition: color var(--transition), background var(--transition);
}
.tmly-nav-link:hover, .tmly-nav-link.is-active {
    color: var(--text-primary);
    background: rgba(255,255,255,0.06);
}
.tmly-header-actions { display: flex; align-items: center; gap: 10px; }

/* Mobile Nav */
.tmly-burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    padding: 8px;
    background: transparent;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    transition: border-color var(--transition);
}
.tmly-burger:hover { border-color: var(--violet); }
.tmly-burger-line {
    display: block;
    width: 18px; height: 2px;
    background: var(--text-secondary);
    border-radius: 2px;
    transition: all var(--transition);
}
.tmly-mobile-nav {
    position: fixed;
    top: var(--nav-height);
    left: 0; right: 0;
    z-index: 199;
    background: var(--bg-surface);
    border-bottom: 1px solid var(--border);
    padding: 20px clamp(20px,4vw,48px);
    display: flex;
    flex-direction: column;
    gap: 4px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.5);
}
.tmly-mobile-link {
    display: block;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-secondary);
    text-decoration: none;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    transition: color var(--transition), background var(--transition);
}
.tmly-mobile-link:hover { color: var(--text-primary); background: rgba(255,255,255,0.05); }
.tmly-mobile-divider { height: 1px; background: var(--border); margin: 8px 0; }
.screen-reader-text {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* 6. Buttons */
.tmly-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    text-decoration: none;
    border: none;
    border-radius: var(--radius-sm);
    padding: 8px 18px;
    font-size: 14px;
    transition: all var(--transition);
    white-space: nowrap;
    cursor: pointer;
    line-height: 1;
}
.tmly-btn--primary {
    background: var(--violet);
    color: #fff;
    box-shadow: 0 0 20px var(--violet-glow);
}
.tmly-btn--primary:hover {
    background: #6D28D9;
    box-shadow: 0 0 30px var(--violet-glow);
    transform: translateY(-1px);
}
.tmly-btn--outline {
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-strong);
}
.tmly-btn--outline:hover {
    border-color: var(--violet-light);
    color: var(--violet-light);
    background: rgba(124,58,237,0.08);
}
.tmly-btn--outline-sm {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-strong);
    padding: 7px 14px;
    font-size: 13px;
}
.tmly-btn--outline-sm:hover {
    border-color: var(--violet);
    color: var(--violet-light);
    background: rgba(124,58,237,0.06);
}
.tmly-btn--ghost {
    background: transparent;
    color: var(--text-secondary);
    border: none;
}
.tmly-btn--ghost:hover { color: var(--text-primary); background: rgba(255,255,255,0.06); }
.tmly-btn--glass {
    background: rgba(255,255,255,0.12);
    color: #fff;
    border: 1px solid rgba(255,255,255,0.2);
    backdrop-filter: blur(4px);
}
.tmly-btn--glass:hover { background: rgba(255,255,255,0.2); }
.tmly-btn--lg { padding: 14px 28px; font-size: 16px; border-radius: var(--radius-md); }
.tmly-btn--sm { padding: 7px 14px; font-size: 13px; }
.tmly-btn--full { width: 100%; justify-content: center; }
.tmly-btn--buy {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    border-radius: var(--radius-md);
    background: var(--violet);
    color: #fff;
    border: none;
    box-shadow: 0 0 28px var(--violet-glow);
}
.tmly-btn--buy:hover {
    background: #6D28D9;
    box-shadow: 0 0 40px var(--violet-glow);
    transform: translateY(-1px);
}
.tmly-btn--demo {
    width: 100%;
    padding: 14px;
    font-size: 15px;
    font-weight: 500;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-strong);
}
.tmly-btn--demo:hover {
    border-color: var(--violet);
    color: var(--violet-light);
    background: rgba(124,58,237,0.06);
}

/* 7. Hero */
.tmly-hero {
    min-height: calc(100vh - var(--nav-height));
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.tmly-hero-bg { position: absolute; inset: 0; pointer-events: none; }
.tmly-hero-grid {
    position: absolute; inset: 0;
    background-image:
        linear-gradient(var(--border) 1px, transparent 1px),
        linear-gradient(90deg, var(--border) 1px, transparent 1px);
    background-size: 60px 60px;
    opacity: 0.4;
    mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black, transparent);
}
.tmly-hero-glow-1 {
    position: absolute; top: -20%; left: -10%;
    width: 800px; height: 800px;
    background: radial-gradient(circle, rgba(124,58,237,0.18) 0%, transparent 65%);
    animation: tmlyFloat 12s ease-in-out infinite alternate;
}
.tmly-hero-glow-2 {
    position: absolute; bottom: -30%; right: -10%;
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(16,185,129,0.12) 0%, transparent 65%);
    animation: tmlyFloat 15s ease-in-out infinite alternate-reverse;
}
@keyframes tmlyFloat {
    0%   { transform: translate(0,0) scale(1); }
    100% { transform: translate(40px,-30px) scale(1.05); }
}
.tmly-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    padding-top: 48px;
    padding-bottom: 48px;
    width: 100%;
}
.tmly-hero-content { max-width: 680px; }
.tmly-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid rgba(124,58,237,0.4);
    background: rgba(124,58,237,0.1);
    font-size: 13px;
    font-weight: 500;
    color: var(--violet-light);
    margin-bottom: 32px;
    backdrop-filter: blur(10px);
}
.tmly-badge-pulse {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--emerald);
    box-shadow: 0 0 8px var(--emerald);
    animation: tmlyPulse 2s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes tmlyPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: .6; transform: scale(0.85); }
}
.tmly-hero-title {
    font-size: clamp(48px, 7vw, 88px);
    letter-spacing: -2.5px;
    line-height: 1.04;
    margin-bottom: 24px;
}
.tmly-hero-sub {
    font-size: 18px;
    color: var(--text-secondary);
    line-height: 1.7;
    max-width: 540px;
    margin-bottom: 44px;
}
.tmly-hero-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.tmly-hero-stats {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-top: 60px;
    padding-top: 44px;
    border-top: 1px solid var(--border);
}
.tmly-stat-num {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--text-primary);
}
.tmly-stat-label { font-size: 13px; color: var(--text-muted); margin-top: 2px; }
.tmly-hero-stat-divider { width: 1px; height: 40px; background: var(--border); }

/* Floating Browser Cards */
.tmly-hero-preview {
    position: relative;
    width: 480px;
    height: 360px;
    flex-shrink: 0;
}
.tmly-float-card {
    position: absolute;
    background: var(--bg-card);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 32px 80px rgba(0,0,0,0.6);
}
.tmly-float-1 { width: 300px; top: 0; left: 100px; transform: rotate(-3deg); animation: tmlyFloat1 6s ease-in-out infinite; }
.tmly-float-2 { width: 260px; top: 160px; left: 0; transform: rotate(2deg);  animation: tmlyFloat2 8s ease-in-out infinite; }
.tmly-float-3 { width: 220px; top: 40px;  right: 0; transform: rotate(4deg); animation: tmlyFloat3 7s ease-in-out infinite; }
@keyframes tmlyFloat1 { 0%,100%{transform:rotate(-3deg) translateY(0)} 50%{transform:rotate(-3deg) translateY(-12px)} }
@keyframes tmlyFloat2 { 0%,100%{transform:rotate(2deg) translateY(0)}  50%{transform:rotate(2deg) translateY(-8px)} }
@keyframes tmlyFloat3 { 0%,100%{transform:rotate(4deg) translateY(0)}  50%{transform:rotate(4deg) translateY(-10px)} }
.tmly-pc-chrome {
    background: var(--bg-elevated);
    padding: 7px 10px;
    display: flex;
    align-items: center;
    gap: 5px;
    border-bottom: 1px solid var(--border);
}
.tmly-pc-dot { width: 8px; height: 8px; border-radius: 50%; display: block; flex-shrink: 0; }
.tmly-pc-url {
    flex: 1;
    font-size: 9px;
    color: var(--text-muted);
    margin-left: 6px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.tmly-pc-screen { aspect-ratio: 16/10; display: flex; flex-direction: column; }
.tmly-pc-nav-bar {
    height: 20px;
    background: rgba(255,255,255,0.04);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    padding: 0 8px;
    gap: 4px;
}
.tmly-pc-nav-dot { width: 28px; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.12); }
.tmly-pc-nav-dot--active { background: var(--violet); width: 40px; }
.tmly-pc-content { flex: 1; display: flex; align-items: center; padding: 8px; gap: 8px; }
.tmly-pc-lines { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.tmly-pc-line { display: block; height: 5px; border-radius: 2px; }
.tmly-pc-btn { height: 8px; border-radius: 3px; margin-top: 4px; }
.tmly-pc-img-block {
    width: 60px; height: 44px;
    background: linear-gradient(135deg, rgba(124,58,237,0.4), rgba(16,185,129,0.3));
    border-radius: 4px;
    flex-shrink: 0;
}

/* 8. Features Grid */
.tmly-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--border);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}
.tmly-feature-item {
    background: var(--bg-surface);
    padding: 40px;
    transition: background var(--transition);
}
.tmly-feature-item:hover { background: var(--bg-card); }
.tmly-feature-icon {
    width: 48px; height: 48px;
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.tmly-feature-icon--violet { background: rgba(124,58,237,0.15); color: var(--violet-light); }
.tmly-feature-icon--emerald { background: rgba(16,185,129,0.12); color: var(--emerald-light); }
.tmly-feature-icon--amber { background: rgba(245,158,11,0.12); color: #FCD34D; }
.tmly-feature-item h3 { font-size: 17px; margin-bottom: 10px; }
.tmly-feature-item p { font-size: 14px; line-height: 1.7; }

/* 9. Theme Card */
.tmly-themes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.tmly-theme-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all var(--transition);
    display: flex;
    flex-direction: column;
    position: relative;
}
.tmly-theme-card:hover {
    border-color: var(--border-strong);
    transform: translateY(-4px);
    box-shadow: 0 24px 64px rgba(0,0,0,0.5);
}
.tmly-card-link {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.tmly-card-browser { position: relative; z-index: 1; }
/* ── Checkout Page Header ── */
.tmly-co-hdr { padding-bottom: 28px; }
.tmly-co-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 14px;
}
.tmly-co-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.tmly-co-breadcrumb a:hover { color: var(--text-primary); }
.tmly-co-breadcrumb span:last-child { color: var(--text-secondary); }
.tmly-co-title {
    font-size: clamp(22px, 3.5vw, 32px);
    font-weight: 800;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
}
.tmly-co-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.tmly-co-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
}
.tmly-co-trust-item svg { color: var(--emerald-light); flex-shrink: 0; }

/* ── Checkout layout top spacing ── */
.tmly-checkout-layout { padding-top: 36px; }

/* ── Masked values ── */
.tmly-pay-masked-val {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    font-family: 'Space Grotesk', monospace;
    letter-spacing: 1px;
}

/* ── EGP Conversion Note ── */
.tmly-pay-egp-note {
    margin-top: 12px; padding: 10px 14px;
    background: rgba(245,158,11,0.08);
    border: 1px solid rgba(245,158,11,0.25);
    border-radius: var(--radius-sm);
    font-size: 12px; color: #FCD34D; line-height: 1.6;
}
.tmly-pay-egp-note strong { color: #FDE68A; }

/* ── Order Summary License Badge ── */
.tmly-order-summary-lic-badge {
    font-size: 10px; font-weight: 700; padding: 2px 7px;
    border-radius: 999px; border: 1px solid;
    background: rgba(124,58,237,0.1); color: var(--violet-light);
    border-color: rgba(124,58,237,0.25); white-space: nowrap;
}
.tmly-order-summary-lic-badge.is-unlimited {
    background: rgba(245,158,11,0.1); color: #FCD34D;
    border-color: rgba(245,158,11,0.25);
}

/* ── Card title row with inline category ── */
.tmly-card-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}
.tmly-card-title-row .tmly-card-title { margin-bottom: 0; flex: 1; min-width: 0; }
.tmly-card-cat-inline {
    font-size: 9px;
    font-weight: 700;
    color: var(--violet-light);
    background: rgba(124,58,237,0.14);
    border: 1px solid rgba(124,58,237,0.3);
    border-radius: 4px;
    padding: 3px 7px;
    white-space: nowrap;
    flex-shrink: 0;
    margin-top: 3px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Checkout mobile fixes ── */
.tmly-pay-badge-arab {
    background: rgba(16,185,129,0.12);
    border-color: rgba(16,185,129,0.3);
    color: var(--emerald-light);
}
.tmly-card-screenshot {
    aspect-ratio: 16/9;
    position: relative;
    overflow: hidden;
    background: var(--bg-elevated);
}
.tmly-card-screenshot img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s var(--ease); }
.tmly-theme-card:hover .tmly-card-screenshot img { transform: scale(1.03); }
.tmly-card-placeholder {
    width: 100%; height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    background: linear-gradient(135deg, var(--bg-elevated), var(--bg-card));
}
.tmly-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: all var(--transition);
    z-index: 2;
}
.tmly-theme-card:hover .tmly-card-overlay {
    background: rgba(0,0,0,0.55);
    opacity: 1;
}
.tmly-card-overlay .tmly-btn { position: relative; z-index: 3; }
.tmly-card-body { padding: 18px 20px; flex: 1; display: flex; flex-direction: column; position: relative; z-index: 1; }
.tmly-card-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.tmly-card-tag {
    font-size: 11px;
    font-weight: 500;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(124,58,237,0.12);
    color: var(--violet-light);
    border: 1px solid rgba(124,58,237,0.2);
}
.tmly-card-name {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
}
.tmly-card-name a { text-decoration: none; color: var(--text-primary); }
.tmly-card-name a:hover { color: var(--violet-light); }
.tmly-card-desc { font-size: 13px; color: var(--text-muted); line-height: 1.6; flex: 1; }
.tmly-card-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}
.tmly-card-price { display: flex; align-items: baseline; gap: 6px; }
.tmly-price-old { font-size: 12px; color: var(--text-muted); text-decoration: line-through; }
.tmly-price-current { font-family: 'Space Grotesk', sans-serif; font-size: 20px; font-weight: 700; color: var(--text-primary); }
.tmly-price-period { font-size: 12px; color: var(--text-muted); }

/* 10. Badges */
.tmly-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 4px;
}
.tmly-badge--sale { background: rgba(239,68,68,0.12); color: #FCA5A5; border: 1px solid rgba(239,68,68,0.2); }
.tmly-badge--new  { background: rgba(16,185,129,0.12); color: var(--emerald-light); border: 1px solid rgba(16,185,129,0.2); }
.tmly-badge--pop  { background: rgba(124,58,237,0.12); color: var(--violet-light); border: 1px solid rgba(124,58,237,0.2); }
.tmly-badge--warning { background: rgba(245,158,11,0.12); color: #FCD34D; border: 1px solid rgba(245,158,11,0.2); }
.tmly-badge--success { background: rgba(16,185,129,0.12); color: var(--emerald-light); border: 1px solid rgba(16,185,129,0.2); }
.tmly-badge--error   { background: rgba(239,68,68,0.12); color: #FCA5A5; border: 1px solid rgba(239,68,68,0.2); }
.tmly-badge--muted   { background: rgba(71,85,105,0.2); color: var(--text-muted); border: 1px solid var(--border); }
.tmly-badge--primary { background: var(--violet); color: #fff; }

/* 11. Testimonials */
.tmly-testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tmly-testi-card {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 28px;
    transition: border-color var(--transition);
}
.tmly-testi-card:hover { border-color: var(--border-strong); }
.tmly-testi-stars { color: var(--amber); font-size: 14px; margin-bottom: 16px; letter-spacing: 2px; }
.tmly-testi-text { font-size: 15px; line-height: 1.7; margin-bottom: 20px; font-style: italic; }
.tmly-testi-author { display: flex; align-items: center; gap: 12px; }
.tmly-testi-avatar {
    width: 38px; height: 38px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; font-weight: 600;
    font-family: 'Space Grotesk', sans-serif;
    flex-shrink: 0;
}
.tmly-testi-avatar--violet { background: rgba(124,58,237,0.2); color: var(--violet-light); }
.tmly-testi-avatar--emerald { background: rgba(16,185,129,0.15); color: var(--emerald-light); }
.tmly-testi-avatar--amber { background: rgba(245,158,11,0.15); color: #FCD34D; }
.tmly-testi-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.tmly-testi-role { font-size: 12px; color: var(--text-muted); }

/* 12. CTA Banner */
.tmly-cta-banner {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.tmly-cta-glow {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 600px; height: 300px;
    background: radial-gradient(ellipse, rgba(124,58,237,0.15) 0%, transparent 70%);
    pointer-events: none;
}
.tmly-cta-banner h2 {
    font-size: clamp(28px,4vw,48px);
    letter-spacing: -1.5px;
    margin-bottom: 14px;
    position: relative; z-index: 1;
}
.tmly-cta-banner p { font-size: 17px; margin-bottom: 36px; position: relative; z-index: 1; }
.tmly-cta-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
    position: relative; z-index: 1;
}

/* 13. Page Header */
.tmly-page-hdr {
    padding: 60px 0 48px;
    border-bottom: 1px solid var(--border);
}
.tmly-page-hdr h1 { font-size: clamp(28px, 4vw, 48px); letter-spacing: -1.5px; margin-bottom: 10px; }
.tmly-page-hdr p { font-size: 16px; }

/* 14. Filter Bar */
.tmly-filter-bar { border-bottom: 1px solid var(--border); padding: 20px 0; }
.tmly-filter-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.tmly-filter-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.tmly-pill {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    border-radius: 999px;
    border: 1px solid var(--border-strong);
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all var(--transition);
    white-space: nowrap;
    cursor: pointer;
}
.tmly-pill:hover { border-color: var(--violet-light); color: var(--violet-light); }
.tmly-pill.is-active { background: var(--violet); border-color: var(--violet); color: #fff; }
.tmly-sort-select {
    padding: 7px 32px 7px 12px;
    background: var(--bg-surface);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.tmly-sort-select:focus { outline: 2px solid var(--violet); outline-offset: 2px; }

/* 15. Single Theme */
.tmly-single-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 48px;
    padding: 48px 0 80px;
    align-items: start;
}
.tmly-single-sidebar { position: sticky; top: calc(var(--nav-height) + 20px); }
.tmly-buy-card {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}
.tmly-buy-top { padding: 28px; border-bottom: 1px solid var(--border); }
.tmly-buy-price {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
}
.tmly-buy-old { font-size: 16px; color: var(--text-muted); text-decoration: line-through; margin-left: 8px; }
.tmly-buy-actions { padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.tmly-buy-includes { padding: 28px; border-top: 1px solid var(--border); }
.tmly-includes-title {
    font-size: 11px;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 14px;
}
.tmly-include-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--text-secondary);
    padding: 6px 0;
}
.tmly-include-icon { color: var(--emerald-light); flex-shrink: 0; }
.tmly-gallery-wrap { border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--border); margin-bottom: 12px; }
.tmly-gallery-chrome {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--bg-elevated);
    border-bottom: 1px solid var(--border);
}
.tmly-gallery-dots { display: flex; gap: 5px; }
.tmly-gallery-urlbar {
    flex: 1;
    height: 20px;
    background: rgba(255,255,255,0.06);
    border-radius: 4px;
    margin: 0 10px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    font-size: 10px;
    color: var(--text-muted);
}
.tmly-gallery-main { aspect-ratio: 16/9; overflow: hidden; }
.tmly-gallery-main img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.tmly-gallery-thumbs { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.tmly-gallery-thumb {
    width: 80px; height: 54px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    opacity: 0.5;
    transition: all var(--transition);
    background: none;
    padding: 0;
}
.tmly-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tmly-gallery-thumb:hover, .tmly-gallery-thumb.is-active { opacity: 1; border-color: var(--violet); }
.tmly-single-tabs {
    display: flex;
    border-bottom: 1px solid var(--border);
    margin-top: 40px;
    margin-bottom: 28px;
    overflow-x: auto;
    gap: 0;
}
.tmly-stab {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-muted);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    transition: all var(--transition);
    white-space: nowrap;
}
.tmly-stab:hover { color: var(--text-secondary); }
.tmly-stab.is-active { color: var(--violet-light); border-bottom-color: var(--violet); }
.tmly-tab-content { display: none; }
.tmly-tab-content.is-active { display: block; }
.tmly-tab-content p { font-size: 15px; line-height: 1.8; margin-bottom: 16px; }
.tmly-specs-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.tmly-spec-item {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 14px 16px;
}
.tmly-spec-label { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; }
.tmly-spec-value { font-size: 14px; font-weight: 500; color: var(--text-primary); }
.tmly-feature-list { display: flex; flex-direction: column; }
.tmly-fl-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
    padding: 6px 0;
}
.tmly-fl-check {
    width: 18px; height: 18px;
    border-radius: 50%;
    background: rgba(16,185,129,0.15);
    color: var(--emerald-light);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
    font-size: 10px;
}
.tmly-single-meta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.tmly-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--text-secondary);
}
.tmly-rating-stars { color: var(--amber); letter-spacing: 1px; }
.tmly-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 0;
    font-size: 13px;
    color: var(--text-muted);
    flex-wrap: wrap;
}
.tmly-breadcrumb a { color: var(--text-muted); text-decoration: none; }
.tmly-breadcrumb a:hover { color: var(--text-secondary); }
.tmly-bc-sep { opacity: 0.4; }

/* 16. Dashboard */
.tmly-dash-page { background: var(--bg-base); min-height: calc(100vh - var(--nav-height)); }
.tmly-dash-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    min-height: calc(100vh - var(--nav-height));
}
.tmly-dash-sidebar {
    background: var(--bg-surface);
    border-right: 1px solid var(--border);
    padding: 32px 0;
    position: sticky;
    top: var(--nav-height);
    height: calc(100vh - var(--nav-height));
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}
.tmly-dash-user {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px 24px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border);
}
.tmly-dash-avatar {
    width: 40px; height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--violet), var(--emerald));
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 700;
    font-family: 'Space Grotesk', sans-serif;
    color: #fff;
    flex-shrink: 0;
}
.tmly-dash-user-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
.tmly-dash-user-email { font-size: 12px; color: var(--text-muted); }
.tmly-dash-nav { display: flex; flex-direction: column; padding: 0 12px; gap: 2px; flex: 1; }
.tmly-dash-nav-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    background: none;
    border: none;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    cursor: pointer;
    transition: all var(--transition);
    width: 100%;
    text-align: left;
}
.tmly-dash-nav-btn:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); }
.tmly-dash-nav-btn.is-active { background: rgba(124,58,237,0.12); color: var(--violet-light); }
.tmly-dash-nav-btn--danger:hover { color: #FCA5A5; background: rgba(239,68,68,0.08); }
.tmly-dash-nav-btn svg { flex-shrink: 0; opacity: 0.7; }
.tmly-dash-nav-btn.is-active svg { opacity: 1; }
.tmly-dash-nav-sep { height: 1px; background: var(--border); margin: 8px 0; }
.tmly-dash-main { padding: 40px; overflow-y: auto; }
.tmly-dash-hdr { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 36px; flex-wrap: wrap; gap: 16px; }
.tmly-dash-hdr h1 { font-size: 26px; letter-spacing: -0.8px; }
.tmly-dash-hdr p { font-size: 14px; color: var(--text-secondary); margin-top: 4px; }
.tmly-dash-tab-content { display: none; }
.tmly-dash-tab-content.is-active { display: block; }
.tmly-dash-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 32px; }
.tmly-dash-stat {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 20px 24px;
    transition: border-color var(--transition);
}
.tmly-dash-stat:hover { border-color: var(--border-strong); }
.tmly-ds-label { font-size: 12px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.tmly-ds-num { font-family: 'Space Grotesk', sans-serif; font-size: 30px; font-weight: 700; line-height: 1; }
.tmly-ds-change { font-size: 12px; margin-top: 6px; }
.tmly-widget {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 24px;
    margin-bottom: 20px;
}
.tmly-widget h3 { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.tmly-widget-sub { font-size: 13px; color: var(--text-muted); margin-bottom: 20px; }
.tmly-order-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-bottom: 1px solid var(--border);
}
.tmly-order-row:last-child { border-bottom: none; }
.tmly-order-thumb {
    width: 52px; height: 36px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--border);
    background: var(--bg-elevated);
}
.tmly-order-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tmly-order-info { flex: 1; }
.tmly-order-name { font-size: 14px; font-weight: 500; color: var(--text-primary); }
.tmly-order-date { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.tmly-order-actions { display: flex; align-items: center; gap: 8px; }
.tmly-icon-btn {
    padding: 7px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    color: var(--text-muted);
    cursor: pointer;
    transition: all var(--transition);
    line-height: 0;
    display: inline-flex;
}
.tmly-icon-btn:hover { border-color: var(--border-strong); color: var(--text-primary); }
.tmly-license-key-box {
    font-family: monospace;
    font-size: 12px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 12px 16px;
    letter-spacing: 1px;
    color: var(--emerald-light);
    word-break: break-all;
    margin-top: 8px;
}
.tmly-form-group { margin-bottom: 20px; }
.tmly-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-secondary);
    margin-bottom: 8px;
}
.tmly-input {
    width: 100%;
    padding: 11px 14px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    transition: border-color var(--transition);
}
.tmly-input:focus { outline: none; border-color: var(--violet); box-shadow: 0 0 0 3px rgba(124,58,237,0.15); }
.tmly-input::placeholder { color: var(--text-muted); }
.tmly-input-select { appearance: none; cursor: pointer; }
.tmly-textarea { resize: vertical; min-height: 120px; }
.tmly-form-error { color: #FCA5A5; font-size: 13px; margin-top: 8px; display: none; }
.tmly-form-success { color: var(--emerald-light); font-size: 13px; margin-top: 8px; display: none; }
.tmly-form-msg { padding: 12px 16px; border-radius: var(--radius-sm); font-size: 14px; margin-top: 12px; display: none; }
.tmly-form-msg.is-error { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.2); color: #FCA5A5; display: block; }
.tmly-form-msg.is-success { background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.2); color: var(--emerald-light); display: block; }
.tmly-loading-dots::after { content: '...'; animation: dots 1.2s infinite; }
@keyframes dots { 0%,20%{content:'.'} 40%{content:'..'} 60%,100%{content:'...'} }

/* Auth Pages */
.tmly-auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - var(--nav-height));
    padding: 40px 20px;
}
.tmly-auth-card {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 48px;
    width: 100%;
    max-width: 440px;
}
.tmly-auth-card h1 { font-size: 28px; letter-spacing: -0.8px; margin-bottom: 8px; }
.tmly-auth-card p { margin-bottom: 32px; }
.tmly-auth-footer { margin-top: 24px; text-align: center; font-size: 14px; color: var(--text-muted); }
.tmly-auth-footer a { color: var(--violet-light); text-decoration: none; }

/* ══════════════════════════════════════════
   Single Page — Browser Chrome (dots only)
══════════════════════════════════════════ */
.tmly-single-chrome {
    background: var(--bg-elevated);
    padding: 9px 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid var(--border);
}
.tmly-single-dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ══════════════════════════════════════════
   Checkout Page
══════════════════════════════════════════ */
.tmly-checkout-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 40px;
    padding: 48px 0 80px;
    align-items: start;
}
.tmly-checkout-title {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    letter-spacing: -0.5px;
    margin-bottom: 24px;
}
.tmly-checkout-sidebar {
    position: sticky;
    top: calc(var(--nav-height) + 20px);
}

/* Checkout box */
.tmly-checkout-box {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 28px;
    margin-bottom: 16px;
}
.tmly-checkout-box-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.2px;
    margin-bottom: 20px;
    color: var(--text-primary);
}

/* ── Payment Method Cards ── */
.tmly-pay-methods {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 20px;
}
.tmly-pay-card {
    position: relative;
    padding: 16px 10px 14px;
    background: var(--bg-card);
    border: 2px solid var(--border);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: border-color var(--transition), background var(--transition), transform var(--transition);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
    user-select: none;
    outline: none;
}
.tmly-pay-card:hover:not(.is-disabled) {
    border-color: var(--violet);
    background: rgba(124,58,237,0.04);
    transform: translateY(-2px);
}
.tmly-pay-card:focus-visible:not(.is-disabled) {
    border-color: var(--violet);
    box-shadow: 0 0 0 3px rgba(124,58,237,0.25);
}
.tmly-pay-card.is-active {
    border-color: var(--violet);
    background: rgba(124,58,237,0.08);
}
.tmly-pay-card.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
}
.tmly-pay-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    color: var(--text-muted);
    white-space: nowrap;
    pointer-events: none;
}
.tmly-pay-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--bg-elevated);
    color: var(--text-secondary);
    transition: color var(--transition), background var(--transition);
}
.tmly-pay-card.is-active .tmly-pay-card-icon { background: rgba(124,58,237,0.12); color: var(--violet-light); }
.tmly-pay-card-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
}
.tmly-pay-card-sub {
    font-size: 10px;
    color: var(--text-muted);
    line-height: 1.3;
}

/* ── Payment Details Panel ── */
.tmly-pay-panel {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 22px;
}
.tmly-pay-info { display: none; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
.tmly-pay-info:not([hidden]) { display: block; }
.tmly-pay-info-label { font-size: 13px; color: var(--text-secondary); margin-bottom: 14px; }
.tmly-pay-number-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: 11px 14px;
    margin-bottom: 12px;
    gap: 12px;
}
.tmly-pay-number-val {
    font-size: 17px;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 1px;
    font-family: 'Space Grotesk', monospace;
}
.tmly-pay-amount-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: var(--text-secondary);
}
.tmly-pay-amount-val {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}
.tmly-pay-amount-alt {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-muted);
    margin-left: 6px;
}

/* IBAN block */
.tmly-pay-iban-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    padding: 14px;
    margin-bottom: 12px;
}
.tmly-pay-iban-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 13px;
}
.tmly-pay-iban-row > span:first-child { color: var(--text-muted); flex-shrink: 0; }
.tmly-pay-iban-val-wrap { display: flex; align-items: center; gap: 10px; }
.tmly-pay-iban-val {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    letter-spacing: 1px;
    font-family: 'Space Grotesk', monospace;
    background: none;
}

/* Copy button */
.tmly-copy-btn {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    color: var(--violet-light);
    background: transparent;
    border: 1px solid rgba(124,58,237,0.35);
    border-radius: var(--radius-sm);
    padding: 4px 10px;
    cursor: pointer;
    font-family: inherit;
    transition: all var(--transition);
    white-space: nowrap;
}
.tmly-copy-btn:hover { background: rgba(124,58,237,0.1); border-color: var(--violet); }
.tmly-copy-btn.is-copied { color: var(--emerald-light); border-color: rgba(16,185,129,0.4); }

/* Form fields */
.tmly-pay-field { margin-bottom: 16px; }
.tmly-pay-field:last-child { margin-bottom: 0; }
.tmly-pay-field-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 8px;
}
.tmly-pay-field-req { color: #EF4444; }
.tmly-pay-field-optional { color: var(--text-muted); font-weight: 400; }
.tmly-pay-field-input,
.tmly-pay-field-textarea {
    width: 100%;
    padding: 12px 14px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    color: var(--text-primary);
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: border-color var(--transition);
    box-sizing: border-box;
}
.tmly-pay-field-input:focus,
.tmly-pay-field-textarea:focus { border-color: var(--violet); }
.tmly-pay-field-textarea { resize: vertical; min-height: 80px; }
.tmly-pay-field-hint { font-size: 12px; color: var(--text-muted); margin-top: 6px; }

/* Submit button */
.tmly-checkout-submit {
    width: 100%;
    padding: 15px;
    background: var(--violet);
    color: #fff;
    border: none;
    border-radius: var(--radius-md);
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: all var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
    position: relative;
}
.tmly-checkout-submit:hover:not(:disabled) { background: var(--violet-light); transform: translateY(-1px); }
.tmly-checkout-submit:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }
.tmly-checkout-submit-spinner {
    width: 18px; height: 18px;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: tmlySpinAnim 0.7s linear infinite;
}
@keyframes tmlySpinAnim { to { transform: rotate(360deg); } }
.tmly-checkout-note {
    text-align: center;
    font-size: 12px;
    color: var(--text-muted);
    margin-top: 12px;
}

/* Feedback message */
.tmly-form-msg {
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 20px;
    display: none;
}
.tmly-form-msg.is-error   { display: block; background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.3); color: #FCA5A5; }
.tmly-form-msg.is-success { display: block; background: rgba(16,185,129,0.1); border: 1px solid rgba(16,185,129,0.3); color: var(--emerald-light); }

/* ── Order Summary ── */
.tmly-order-summary {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    overflow: hidden;
}
.tmly-order-summary-head {
    padding: 20px 22px;
    border-bottom: 1px solid var(--border);
}
.tmly-order-summary-heading {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 16px;
}
.tmly-order-summary-product {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.tmly-order-summary-thumb {
    width: 72px;
    height: 50px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    border: 1px solid var(--border);
}
.tmly-order-summary-product-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
}
.tmly-order-summary-product-title:hover { color: var(--violet-light); }
.tmly-order-summary-product-cat {
    font-size: 12px;
    color: var(--text-muted);
}
.tmly-order-summary-pricing {
    padding: 18px 22px;
    border-bottom: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tmly-order-summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--text-secondary);
}
.tmly-order-summary-orig { color: var(--text-muted); text-decoration: line-through; }
.tmly-order-summary-discount { color: #86EFAC; font-weight: 600; }
.tmly-order-summary-divider { height: 1px; background: var(--border); }
.tmly-order-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: var(--text-secondary);
}
.tmly-order-summary-total strong {
    font-size: 20px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.5px;
}
.tmly-order-summary-includes {
    padding: 18px 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tmly-order-summary-includes-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--text-muted);
}
.tmly-order-summary-include-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}
.tmly-order-summary-check {
    color: var(--emerald-light);
    font-weight: 700;
    flex-shrink: 0;
}
.tmly-order-summary-guarantee {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-muted);
    text-align: center;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

/* Pagination */
.tmly-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 40px 0 60px;
    flex-wrap: wrap;
}
.tmly-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; height: 40px;
    border-radius: var(--radius-sm);
    background: var(--bg-surface);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 14px;
    transition: all var(--transition);
}
.tmly-pagination .page-numbers:hover { border-color: var(--violet); color: var(--violet-light); }
.tmly-pagination .current { background: var(--violet); border-color: var(--violet); color: #fff; }
.tmly-pagination .prev, .tmly-pagination .next { width: auto; padding: 0 16px; }

/* Empty State */
.tmly-empty-state { text-align: center; padding: 60px 20px; color: var(--text-muted); }
.tmly-empty-state svg { margin: 0 auto 16px; opacity: 0.4; }

/* Honeypot S-10 */
.tmly-honeypot { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

/* Page Content */
.tmly-page-content { font-size: 15px; line-height: 1.8; color: var(--text-secondary); }
.tmly-page-content h2, .tmly-page-content h3 { color: var(--text-primary); margin: 32px 0 16px; }
.tmly-page-content p { margin-bottom: 16px; }
.tmly-page-content a { color: var(--violet-light); }
.tmly-page-content ul { list-style: disc; padding-left: 24px; }
.tmly-page-content ul li { margin-bottom: 8px; }

/* 17. Footer */
.tmly-footer { background: var(--bg-surface); border-top: 1px solid var(--border); padding: 64px 0 32px; }
.tmly-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.tmly-footer-brand p { font-size: 14px; line-height: 1.7; margin-top: 12px; max-width: 260px; }
.tmly-footer-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: 'Space Grotesk', sans-serif; font-size: 20px; font-weight: 700; color: var(--text-primary); letter-spacing: -0.3px; margin-bottom: 14px; }
.tmly-footer-logo:hover { opacity: 0.9; }
.tmly-footer-social { display: flex; gap: 12px; margin-top: 20px; }
.tmly-footer-social a { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--border-strong); color: var(--text-muted); text-decoration: none; transition: all var(--transition); }
.tmly-footer-social a:hover { border-color: var(--violet); color: var(--violet-light); }
.tmly-footer-heading { font-size: 11px !important; font-weight: 600 !important; color: var(--text-secondary) !important; margin-bottom: 16px !important; text-transform: uppercase !important; letter-spacing: 1.5px !important; }
.tmly-footer-col h4 { font-size: 11px; font-weight: 600; color: var(--text-secondary); margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1.5px; }
.tmly-footer-col a { display: block; font-size: 14px; color: var(--text-muted); text-decoration: none; margin-bottom: 10px; transition: color var(--transition); }
.tmly-footer-col a:hover { color: var(--text-secondary); }
.tmly-footer-bottom { padding-top: 28px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.tmly-footer-bottom p { font-size: 13px; color: var(--text-muted); }
.tmly-footer-links { display: flex; gap: 24px; }
.tmly-footer-links a { font-size: 13px; color: var(--text-muted); text-decoration: none; }
.tmly-footer-links a:hover { color: var(--text-secondary); }

/* 18. State Classes */
.is-active {}
.is-open {}
.is-hidden { display: none !important; }
.is-loading { opacity: 0.6; pointer-events: none; }
.has-error .tmly-input { border-color: var(--red); }
.d-none { display: none !important; }

/* ══════════════════════════════════════════
   License Cards — Dashboard
══════════════════════════════════════════ */
.tmly-lic-card {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 22px 24px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tmly-lic-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}
.tmly-lic-card-title-wrap { display: flex; flex-direction: column; gap: 4px; }
.tmly-lic-prod-name { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.tmly-lic-prod-label {
    font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
    color: var(--text-muted);
}
.tmly-lic-badges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.tmly-lic-type-badge, .tmly-lic-status-badge {
    font-size: 10px; font-weight: 700; padding: 3px 9px; border-radius: 999px;
    border: 1px solid; white-space: nowrap;
}
.tmly-lic-type-badge {
    background: rgba(124,58,237,.1); color: var(--violet-light);
    border-color: rgba(124,58,237,.25);
}
.tmly-lic-type-badge.is-unlimited {
    background: rgba(245,158,11,.1); color: #FCD34D;
    border-color: rgba(245,158,11,.25);
}
.tmly-lic-status-badge {
    background: rgba(239,68,68,.1); color: #FCA5A5;
    border-color: rgba(239,68,68,.2);
}
.tmly-lic-status-badge.is-active {
    background: rgba(16,185,129,.1); color: var(--emerald-light);
    border-color: rgba(16,185,129,.2);
}
/* License key */
.tmly-lic-key-row {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
    background: var(--bg-elevated); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 10px 14px;
}
.tmly-lic-key-val {
    flex: 1; font-size: 12px; font-weight: 600; letter-spacing: 1.5px;
    color: var(--emerald-light); word-break: break-all; background: none;
    font-family: 'Space Grotesk', monospace;
}
/* Sites counter */
.tmly-lic-counter {
    display: flex; align-items: center; gap: 10px;
    font-size: 13px; color: var(--text-secondary);
}
.tmly-lic-counter strong { color: var(--text-primary); font-weight: 700; }
.tmly-lic-counter-bar {
    flex: 1; height: 4px; background: var(--border); border-radius: 999px; overflow: hidden;
}
.tmly-lic-counter-fill {
    height: 100%; width: var(--fill, 0%); background: var(--violet);
    border-radius: 999px; transition: width 0.5s ease;
}
/* Sites list */
.tmly-lic-sites-list {
    border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden;
}
.tmly-lic-site-row {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 10px 14px; border-bottom: 1px solid var(--border); transition: opacity 0.3s;
}
.tmly-lic-site-row:last-child { border-bottom: none; }
.tmly-lic-site-domain {
    display: flex; align-items: center; gap: 7px;
    font-size: 13px; font-weight: 500; color: var(--text-primary);
}
.tmly-lic-site-domain svg { color: var(--text-muted); flex-shrink: 0; }
.tmly-lic-deact-btn {
    font-size: 11px; font-weight: 600; padding: 4px 10px;
    background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.2);
    color: #FCA5A5; border-radius: var(--radius-sm); cursor: pointer;
    font-family: inherit; transition: all var(--transition); white-space: nowrap;
}
.tmly-lic-deact-btn:hover { background: rgba(239,68,68,.18); }
/* Activate row */
.tmly-lic-activate-row {
    display: flex; gap: 10px; flex-wrap: wrap;
}
.tmly-lic-domain-input {
    flex: 1; min-width: 200px; padding: 10px 14px;
    background: var(--bg-elevated); border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm); color: var(--text-primary);
    font-size: 14px; font-family: inherit; outline: none;
    transition: border-color var(--transition);
}
.tmly-lic-domain-input:focus { border-color: var(--violet); }
.tmly-lic-act-btn {
    padding: 10px 20px; background: var(--violet); color: #fff;
    border: none; border-radius: var(--radius-sm); font-size: 14px;
    font-weight: 600; cursor: pointer; font-family: inherit;
    transition: all var(--transition); white-space: nowrap;
}
.tmly-lic-act-btn:hover { background: var(--violet-light); }
.tmly-lic-act-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.tmly-lic-limit-note {
    font-size: 13px; color: var(--text-muted); text-align: center;
    padding: 12px; background: var(--bg-card);
    border-radius: var(--radius-sm); border: 1px solid var(--border);
}

/* ══════════════════════════════════════════
   License Selector — ThemeForest dropdown
══════════════════════════════════════════ */
.tmly-lic-dd { position: relative; margin-bottom: 14px; }

.tmly-lic-dd-trigger {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    padding: 13px 16px; gap: 10px;
    background: var(--bg-card); border: 2px solid var(--border-strong);
    border-radius: var(--radius-md); cursor: pointer; font-family: inherit;
    transition: border-color var(--transition);
    text-align: left;
}
.tmly-lic-dd-trigger:hover,
.tmly-lic-dd.is-open .tmly-lic-dd-trigger { border-color: var(--violet); }
.tmly-lic-dd-trig-left { display: flex; flex-direction: column; gap: 2px; }
.tmly-lic-dd-trig-name { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.tmly-lic-dd-trig-right { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.tmly-lic-dd-trig-price {
    font-size: 18px; font-weight: 800; color: var(--text-primary);
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-lic-dd-arrow { color: var(--text-muted); transition: transform 0.2s; flex-shrink: 0; }
.tmly-lic-dd.is-open .tmly-lic-dd-arrow { transform: rotate(180deg); }

.tmly-lic-dd-panel {
    position: absolute; top: calc(100% + 4px); left: 0; right: 0;
    background: var(--bg-surface); border: 1px solid var(--border-strong);
    border-radius: var(--radius-md); box-shadow: 0 12px 40px rgba(0,0,0,0.35);
    z-index: 200; overflow: hidden; opacity: 0; transform: translateY(-6px);
    pointer-events: none; transition: opacity 0.15s, transform 0.15s;
}
.tmly-lic-dd.is-open .tmly-lic-dd-panel {
    opacity: 1; transform: translateY(0); pointer-events: auto;
}
.tmly-lic-dd-option {
    padding: 14px 16px; cursor: pointer;
    border-bottom: 1px solid var(--border); transition: background var(--transition);
    display: block;
}
.tmly-lic-dd-option:last-child { border-bottom: none; }
.tmly-lic-dd-option:hover { background: var(--bg-elevated); }
.tmly-lic-dd-option.is-sel { background: rgba(124,58,237,0.06); }
.tmly-lic-dd-opt-head {
    display: flex; align-items: center; gap: 8px; margin-bottom: 6px;
}
.tmly-lic-dd-opt-name { font-size: 13px; font-weight: 700; color: var(--text-primary); flex: 1; }
.tmly-lic-dd-opt-sel {
    font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px;
    padding: 2px 6px; border-radius: 3px; background: var(--violet); color: #fff;
}
.tmly-lic-dd-opt-pop {
    font-size: 9px; font-weight: 800; text-transform: uppercase;
    padding: 2px 6px; border-radius: 3px;
    background: linear-gradient(135deg,#f59e0b,#ef4444); color: #fff;
}
.tmly-lic-dd-opt-price {
    font-size: 15px; font-weight: 800; color: var(--text-primary);
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-lic-dd-opt-desc { font-size: 12px; color: var(--text-muted); line-height: 1.6; }

/* Buy button wrap */
.tmly-buy-wrap { display: flex; flex-direction: column; gap: 10px; }

@media (max-width: 480px) {
    .tmly-lic-dd-trig-price { font-size: 16px; }
    .tmly-lic-dd-opt-price  { font-size: 14px; }
}
@media (max-width: 1100px) {
    .tmly-features-grid { grid-template-columns: repeat(2, 1fr); }
    .tmly-single-layout { grid-template-columns: 1fr; }
    .tmly-single-sidebar { position: static; }
    .tmly-dash-stats { grid-template-columns: repeat(2, 1fr); }
    .tmly-themes-grid { grid-template-columns: repeat(2, 1fr); }
    .tmly-footer-grid { grid-template-columns: 1fr 1fr; }
    .tmly-checkout-layout { grid-template-columns: 1fr; }
    .tmly-checkout-sidebar { position: static; }
    .tmly-pay-methods { grid-template-columns: 1fr 1fr; }
    .tmly-pay-iban-val-wrap { flex-wrap: wrap; gap: 6px; }
    .tmly-pay-masked-val { word-break: break-all; overflow-wrap: anywhere; letter-spacing: 0; }
    .tmly-pay-iban-row { flex-wrap: wrap; gap: 6px; align-items: flex-start; }
    .tmly-pay-iban-key { min-width: 50px; }
    .tmly-pay-panel { padding: 16px; }
    .tmly-co-trust { gap: 12px; }
    .tmly-co-trust-item { font-size: 12px; }
    .tmly-hero-preview { display: none; }
    .tmly-hero-content { max-width: 100%; }
}
@media (max-width: 768px) {
    .tmly-header-nav { display: none; }
    .tmly-burger { display: flex; }
    .tmly-btn--ghost.tmly-header-ghost { display: none; }
    .tmly-hero-title { font-size: clamp(36px, 10vw, 56px); letter-spacing: -1.5px; }
    .tmly-hero-sub { font-size: 16px; }
    .tmly-hero-stats { gap: 20px; }
    .tmly-features-grid { grid-template-columns: 1fr; }
    .tmly-themes-grid { grid-template-columns: 1fr; }
    .tmly-testi-grid { grid-template-columns: 1fr; }
    .tmly-footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .tmly-cta-banner { padding: 48px 24px; }
    .tmly-section { padding: 64px 0; }
    .tmly-dash-layout { grid-template-columns: 1fr; }
    .tmly-dash-sidebar { position: static; height: auto; border-right: none; border-bottom: 1px solid var(--border); }
    .tmly-dash-stats { grid-template-columns: repeat(2, 1fr); }
    .tmly-auth-card { padding: 32px 24px; }
    /* tmly-payment-methods removed — v3.5 */
    .tmly-specs-grid { grid-template-columns: 1fr; }
    .tmly-single-tabs { gap: 0; }
    .tmly-stab { padding: 10px 14px; font-size: 13px; }
    .tmly-filter-inner { flex-direction: column; align-items: flex-start; }
    .tmly-filter-right { width: 100%; }
    .tmly-sort-select { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ── Card hover & overlay (appended fix) ── */
.tmly-theme-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:var(--radius-lg);overflow:hidden;
  transition:all var(--transition);display:flex;flex-direction:column;
}
.tmly-theme-card:hover{
  border-color:var(--border-strong);transform:translateY(-4px);
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.tmly-theme-card:hover img{transform:scale(1.03)}
.tmly-card-overlay{
  position:absolute;inset:0;background:transparent;
  display:flex;align-items:center;justify-content:center;gap:8px;
  opacity:0;transition:all var(--transition);
}
.tmly-theme-card:hover .tmly-card-overlay{background:rgba(0,0,0,.55);opacity:1}
/* Nav links desktop hover */
.tmly-nav-link:hover{color:var(--text-primary)!important;background:rgba(255,255,255,.06)}
/* Desktop only utility */
.desktop-only{display:inline-flex}
@media(max-width:768px){.desktop-only{display:none!important}}

/* ══════════════════════════════════════════
   MOBILE FIXES — v3.1
   ══════════════════════════════════════════ */

/* 1. Dashboard stats: 3-col → 2-col → 1-col */
@media (max-width: 768px) {
    div[style*="repeat(3,1fr)"][style*="gap:16px"] {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 420px) {
    div[style*="repeat(3,1fr)"][style*="gap:16px"] {
        grid-template-columns: 1fr !important;
    }
}

/* 2. Single theme specs grid → 1-col on mobile */
@media (max-width: 540px) {
    div[style*="repeat(2,1fr)"][style*="gap:12px"] {
        grid-template-columns: 1fr !important;
    }
}

/* 3. Dashboard sidebar grid → stack on mobile */
@media (max-width: 768px) {
    div[style*="grid-template-columns:240px"] {
        display: block !important;
    }
    div[style*="grid-template-columns:240px"] > aside {
        border-right: none !important;
        border-bottom: 1px solid var(--border) !important;
        position: static !important;
        height: auto !important;
    }
}

/* 4. Hero: hide stats on very small screens, reduce padding */
@media (max-width: 480px) {
    .tmly-hero-stats { display: none; }
    .tmly-hero-title { font-size: 36px !important; letter-spacing: -1px !important; }
    .tmly-hero-sub { font-size: 15px !important; }
    .tmly-hero-actions { gap: 10px !important; }
    .tmly-hero-actions .tmly-btn--lg {
        padding: 12px 20px !important;
        font-size: 15px !important;
        width: 100%;
        justify-content: center;
    }
    .tmly-hero-inner { padding-top: 28px !important; padding-bottom: 28px !important; }
}

/* 5. Single theme tabs → scrollable on mobile, no wrapping */
@media (max-width: 600px) {
    .tmly-single-tabs {
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
    }
    .tmly-single-tabs::-webkit-scrollbar { display: none; }
    .tmly-stab { flex-shrink: 0 !important; }

    /* Single theme sidebar: full width under gallery */
    .tmly-single-sidebar { margin-top: 24px; }

    /* Buy buttons full width */
    .tmly-btn--buy,
    .tmly-btn--demo { font-size: 15px !important; }

    /* Purchase sidebar price */
    .tmly-buy-price { font-size: 32px !important; }
}

/* 6. Card overlay: always visible on touch (no hover) */
@media (hover: none) {
    .tmly-card-overlay {
        opacity: 1 !important;
        background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 60%) !important;
        align-items: flex-end !important;
        padding-bottom: 12px !important;
    }
    .tmly-theme-card:hover { transform: none !important; }
    .tmly-theme-card:hover img { transform: none !important; }
}

/* 7. Wrap: tighter padding on small screens */
@media (max-width: 380px) {
    .tmly-wrap { padding: 0 16px !important; }
    .tmly-nav { padding: 0 16px !important; }
    .tmly-mobile-nav { padding: 16px !important; }
}

/* 8. Footer: stack completely on mobile */
@media (max-width: 480px) {
    .tmly-footer { padding: 48px 0 24px; }
    .tmly-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* 9. Auth cards: full width on tiny screens */
@media (max-width: 480px) {
    .tmly-auth-card,
    div[style*="max-width:440px"] {
        padding: 28px 20px !important;
        border-radius: 16px !important;
    }
}

/* 10. Page header: reduce padding on mobile */
@media (max-width: 600px) {
    .tmly-page-hdr { padding: 36px 0 28px !important; }
    .tmly-cta-banner { padding: 40px 20px !important; }
    .tmly-section { padding: 52px 0 !important; }
}

/* 11. Dashboard main: reduce padding on mobile */
@media (max-width: 768px) {
    div[style*="padding:40px;overflow-y:auto"] {
        padding: 24px 16px !important;
    }
    div[style*="padding:40px 48px"] {
        padding: 24px 16px !important;
    }
}

/* 12. Features grid: ensure single column on 480px */
@media (max-width: 480px) {
    .tmly-features-grid { border-radius: 12px !important; }
    .tmly-feature-item { padding: 28px 24px !important; }
}

/* 13. Mobile nav font size */
@media (max-width: 380px) {
    .tmly-mobile-link { font-size: 14px; padding: 9px 10px; }
}

/* 14. Testimonials: reduce padding on mobile */
@media (max-width: 480px) {
    .tmly-testi-card { padding: 20px !important; }
    .tmly-testi-text { font-size: 14px !important; }
}

/* 15. Filter pills: horizontal scroll on mobile */
@media (max-width: 600px) {
    .tmly-filter-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
    }
    .tmly-filter-pills::-webkit-scrollbar { display: none; }
    .tmly-pill { flex-shrink: 0 !important; }
}

/* ── Card mobile action buttons ── */
.tmly-card-mobile-actions {
    display: none; /* hidden on desktop */
    padding: 10px 14px;
    gap: 8px;
    border-top: 1px solid var(--border);
}
.tmly-card-mobile-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    font-family: inherit;
    text-align: center;
    transition: all .2s;
}
.tmly-card-mobile-btn--primary {
    background: var(--violet);
    color: #fff;
}
.tmly-card-mobile-btn--ghost {
    background: transparent;
    color: var(--text-secondary);
    border: 1px solid var(--border-strong);
}
@media (hover: none), (max-width: 768px) {
    .tmly-card-mobile-actions { display: flex !important; }
    .tmly-card-overlay { display: none !important; }
    .tmly-theme-card:hover { transform: none !important; box-shadow: none !important; }
}

/* ══════════════════════════════════════════════════════
   COMPREHENSIVE FIX — v3.3
   ══════════════════════════════════════════════════════ */

/* ── 1. Live Demo button — solid, always visible ── */
.tmly-btn--demo-solid {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 14px;
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--radius-md);
    border: 2px solid var(--violet-light);
    background: rgba(124,58,237,0.1);
    color: var(--violet-light);
    text-decoration: none;
    font-family: 'Inter', sans-serif;
    transition: all var(--transition);
    cursor: pointer;
}
.tmly-btn--demo-solid:hover {
    background: rgba(124,58,237,0.2);
    border-color: var(--violet);
    color: #fff;
}

/* ── 2. Global page top spacing — content never touches nav ── */
.tmly-page-top { padding-top: 48px; }
.tmly-page-top-lg { padding-top: 64px; }

/* ── 3. Wrap consistent padding ── */
.tmly-wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding-left: clamp(16px, 4vw, 48px);
    padding-right: clamp(16px, 4vw, 48px);
}

/* ── 4. Footer menu styling ── */
.tmly-footer-menu { list-style: none; margin: 0; padding: 0; }
.tmly-footer-menu li { margin: 0; }
.tmly-footer-menu a {
    display: block;
    font-size: 14px;
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: 10px;
    transition: color var(--transition);
}
.tmly-footer-menu a:hover { color: var(--text-secondary); }

/* ── 5. Footer bottom — left/right layout ── */

/* ── 6. Page content spacing from nav on ALL pages ── */
/* main > *:first-child padding removed — body padding-top:64px handles nav clearance */
.tmly-page-hdr { padding-top: 52px; padding-bottom: 40px; border-bottom: 1px solid var(--border); }

/* ══════════════════════════════════════════════════════
   MOBILE — Complete Rewrite
   ══════════════════════════════════════════════════════ */

/* Base mobile (≤768px) */
@media (max-width: 768px) {

    /* Wrap */
    .tmly-wrap { padding-left: 16px !important; padding-right: 16px !important; }

    /* Nav */
    .tmly-nav { padding: 0 16px !important; }
    .tmly-primary-nav { display: none !important; }
    .tmly-burger { display: flex !important; }

    /* Hero */
    .tmly-hero { min-height: auto; padding: 40px 0 48px; }
    .tmly-hero-inner { flex-direction: column; padding-top: 32px !important; padding-bottom: 32px !important; }
    .tmly-hero-preview { display: none !important; }
    .tmly-hero-content { max-width: 100%; }
    .tmly-hero-title { font-size: clamp(32px,9vw,52px) !important; letter-spacing: -1.5px !important; }
    .tmly-hero-sub { font-size: 15px !important; margin-bottom: 32px !important; }
    .tmly-hero-actions { flex-direction: column; gap: 10px !important; }
    .tmly-hero-actions .tmly-btn { width: 100% !important; justify-content: center; padding: 14px 20px !important; }
    .tmly-hero-stats { padding-top: 32px !important; margin-top: 32px !important; gap: 16px !important; }
    .tmly-stat-num { font-size: 22px !important; }
    .tmly-hero-stat-divider { height: 30px !important; }

    /* Features */
    .tmly-features-grid { grid-template-columns: 1fr !important; border-radius: 12px !important; }
    .tmly-feature-item { padding: 24px !important; }
    .tmly-feature-item h3 { font-size: 15px !important; }

    /* Themes grid — 2 columns on mobile for better density */
    .tmly-themes-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }

    /* Theme card */
    .tmly-theme-card { border-radius: 12px !important; }
    .tmly-card-mobile-actions { display: flex !important; }
    .tmly-card-overlay { display: none !important; }
    .tmly-theme-card:hover { transform: none !important; box-shadow: none !important; }

    /* Testimonials */
    .tmly-testi-grid { grid-template-columns: 1fr !important; }
    .tmly-testi-card { padding: 20px !important; }
    .tmly-testi-text { font-size: 14px !important; }

    /* CTA */
    .tmly-cta-banner { padding: 40px 20px !important; border-radius: 16px !important; }
    .tmly-cta-banner h2 { font-size: clamp(22px,6vw,32px) !important; }
    .tmly-cta-actions { flex-direction: column; gap: 10px !important; }
    .tmly-cta-actions .tmly-btn { width: 100% !important; justify-content: center; }

    /* Section spacing */
    .tmly-section { padding: 52px 0 !important; }
    .tmly-section-hdr { flex-direction: column; align-items: flex-start !important; gap: 12px !important; margin-bottom: 28px !important; }
    .tmly-section-title { font-size: clamp(24px,6vw,36px) !important; letter-spacing: -1px !important; }

    /* Page header */
    .tmly-page-hdr { padding-top: 36px !important; padding-bottom: 28px !important; }
    .tmly-page-hdr h1 { font-size: clamp(24px,7vw,36px) !important; letter-spacing: -1px !important; }

    /* Filter bar */
    .tmly-filter-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    .tmly-filter-pills::-webkit-scrollbar { display: none; }
    .tmly-pill { flex-shrink: 0 !important; }
    .tmly-sort-select { width: 100%; }
    div[style*="display:flex;align-items:center;justify-content:space-between"][style*="flex-wrap:wrap"] {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* Single theme layout */
    .tmly-single-layout { grid-template-columns: 1fr !important; gap: 24px !important; }
    .tmly-single-sidebar { position: static !important; margin-top: 0; }
    .tmly-single-tabs { overflow-x: auto !important; scrollbar-width: none !important; }
    .tmly-single-tabs::-webkit-scrollbar { display: none; }
    .tmly-stab { flex-shrink: 0 !important; padding: 10px 16px !important; font-size: 13px !important; }
    .tmly-specs-grid, div[style*="repeat(2,1fr)"][style*="gap:12px"] { grid-template-columns: 1fr !important; }

    /* Dashboard */
    div[style*="grid-template-columns:240px"] { display: flex !important; flex-direction: column !important; }
    div[style*="grid-template-columns:240px"] > aside {
        border-right: none !important;
        border-bottom: 1px solid var(--border) !important;
        position: static !important;
        height: auto !important;
        max-height: 300px;
        overflow-y: auto;
    }
    div[style*="padding:40px;overflow-y:auto"] { padding: 20px 16px !important; }
    .tmly-dash-stats { grid-template-columns: repeat(2,1fr) !important; }
    div[style*="repeat(3,1fr)"][style*="gap:16px"] { grid-template-columns: repeat(2,1fr) !important; }

    /* Auth pages */
    div[style*="max-width:440px"] { padding: 24px 20px !important; border-radius: 16px !important; }

    /* Footer */
    .tmly-footer { padding: 48px 0 24px !important; }
    .tmly-footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
    .tmly-footer-brand p { max-width: 100% !important; }

    /* Support ticket form */
    form[style*="max-width:640px"], form[style*="max-width:720px"] { padding: 24px 20px !important; }

    /* About stats */
    div[style*="repeat(3,1fr)"][style*="gap:24px"] { grid-template-columns: 1fr !important; }
}

/* Small mobile (≤480px) */
@media (max-width: 480px) {
    .tmly-logo { font-size: 18px !important; }
    .tmly-logo-dot { width: 6px !important; height: 6px !important; }
    .tmly-hero-title { font-size: 30px !important; letter-spacing: -1px !important; }
    .tmly-hero-badge { font-size: 11px !important; padding: 5px 10px !important; }
    .tmly-hero-stats { flex-direction: column; gap: 12px !important; align-items: flex-start; }
    .tmly-hero-stat-divider { display: none !important; }
    .tmly-stat-num { font-size: 24px !important; }
    .tmly-dash-stats { grid-template-columns: 1fr !important; }
    div[style*="repeat(3,1fr)"][style*="gap:16px"] { grid-template-columns: 1fr !important; }
    .tmly-buy-price, div[style*="font-size:40px"][style*="font-weight:700"] { font-size: 30px !important; }
    .tmly-mobile-nav { padding: 12px 16px 20px !important; }
    .tmly-cta-banner { padding: 32px 16px !important; }
}

/* Touch devices — cards always show buttons */
@media (hover: none) {
    .tmly-card-overlay { display: none !important; }
    .tmly-card-mobile-actions { display: flex !important; }
    .tmly-theme-card:hover { transform: none !important; }
}

/* ── Global: every page content gets top breathing room ── */
main#tmlyMain > div:first-child:not(.tmly-hero),
main#tmlyMain > section:first-child:not(.tmly-hero),
main#tmlyMain > .tmly-page-hdr:first-child {
    margin-top: 0;
}

/* Pages with div-wrap as first child (about, contact, privacy, etc) */
.tmly-page-content-wrap {
    padding-top: 52px;
    padding-bottom: 80px;
}

/* ══════════════════════════════════════════════════════
   v3.4 FIXES
   ══════════════════════════════════════════════════════ */

/* ── FIX 1: Universal top padding — content NEVER touches nav ──
   body already has padding-top:64px (nav height)
   But first child of main needs breathing room too
   Exception: hero section handles its own spacing         ── */
main#tmlyMain { padding-top: 0; }

/* Every direct child of main gets top spacing UNLESS it's the hero */
main#tmlyMain > *:not(.tmly-hero):not(style):not(script) {
    /* Nothing here — we use the page-hdr class and explicit page padding */
}

/* The real fix: ALL pages that start with a div/section get this */
.tmly-page-start {
    padding-top: 52px !important;
}

/* ── FIX 2: Archive mobile — 2 columns + pills centered ── */
@media (max-width: 768px) {
    .tmly-themes-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .tmly-filter-pills {
        justify-content: center;
    }
    /* Sort select full width */
    .tmly-filter-inner {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }
    .tmly-sort-select { width: 100% !important; max-width: 280px; }
}

@media (max-width: 400px) {
    .tmly-themes-grid {
        grid-template-columns: 1fr !important;
    }
}

/* FIX 3 removed — footer layout now handled in section 5 above */

/* tmly-card-urlbar-text removed — v3.5 */

/* ── FIX 5: Mobile card 2-col specific styling ── */
/* old mobile card overrides removed v3.6 */

/* ════ UNIVERSAL PAGE TOP SPACING FIX ════
   Applies to ALL pages — content never touches nav
   body has padding-top:64px for the fixed nav
   This adds breathing room INSIDE that space          */
main#tmlyMain > div:first-child,
main#tmlyMain > section:first-child:not(.tmly-hero),
main#tmlyMain > nav:first-child {
    margin-top: 0;
}

/* Pages with page-hdr get their spacing from padding inside */
.tmly-page-hdr {
    padding-top: 48px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid var(--border);
    margin-bottom: 0;
}
/* Universal: single pages breadcrumb + first div gets top breathing room */
main#tmlyMain > div:first-child[style*="border-bottom"],
.tmly-breadcrumb-wrap {
    padding-top: 20px !important;
    padding-bottom: 14px !important;
}

/* Archive page header text specifically */
.tmly-archive-hdr {
    padding: 48px 0 36px !important;
    border-bottom: 1px solid var(--border);
}

/* ══════════════════════════════════════════════════════
   v3.5 ADDITIONS
   ══════════════════════════════════════════════════════ */

/* ── Sales Badge on Card Image ── */
.tmly-sales-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 6px;
    background: rgba(8,8,15,0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(245,158,11,0.3);
    font-size: 11px;
    font-weight: 700;
    color: #FCD34D;
    letter-spacing: 0.2px;
    line-height: 1;
    pointer-events: none;
}
.tmly-sales-badge svg { flex-shrink: 0; }

/* ── Single page breadcrumb spacing ── */
.tmly-breadcrumb-bar {
    border-bottom: 1px solid var(--border);
    padding: 18px 0 14px;
}

/* ── Mobile card improvements for 2-col layout ── */
@media (max-width: 768px) {
    /* Card typography at 2-col */
    .tmly-theme-card h3 a { font-size: 13px !important; }
    .tmly-theme-card h3 { font-size: 13px !important; margin-bottom: 4px !important; }
    .tmly-theme-card [style*="-webkit-line-clamp"] { font-size: 11px !important; -webkit-line-clamp: 2; }
    .tmly-theme-card [style*="padding:16px 18px"] { padding: 11px 12px !important; }
    .tmly-theme-card [style*="padding:12px 18px;border-top"] { padding: 9px 12px !important; }
    .tmly-theme-card [style*="padding:7px 10px;display:flex;align-items:center;gap:5px"] { padding: 5px 8px !important; }
    .tmly-theme-card [style*="font-size:20px;font-weight:700"] { font-size: 15px !important; }
    .tmly-theme-card [style*="font-family:'Space Grotesk',sans-serif;font-size:20px"] { font-size: 15px !important; }
    .tmly-card-mobile-btn { padding: 7px 6px !important; font-size: 11px !important; }
    .tmly-sales-badge { font-size: 10px !important; padding: 3px 7px !important; top: 7px; left: 7px; }
}
@media (max-width: 400px) {
    .tmly-themes-grid { grid-template-columns: 1fr !important; }
    .tmly-theme-card h3 a { font-size: 14px !important; }
}

/* ── Hero enhanced animations ── */
@keyframes tmlyShimmer {
    0%   { background-position: -200% center; }
    100% { background-position: 200% center; }
}
@keyframes tmlyReveal {
    0%   { opacity: 0; transform: scaleX(0); transform-origin: left; }
    100% { opacity: 1; transform: scaleX(1); }
}
@keyframes tmlyBlink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}
@keyframes tmlySlideUp {
    0%   { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
}
.tmly-pc-line--animated {
    background: linear-gradient(90deg, rgba(255,255,255,0.06) 25%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.06) 75%);
    background-size: 200% 100%;
    animation: tmlyShimmer 2.2s ease-in-out infinite;
}
.tmly-pc-cursor {
    display: inline-block;
    width: 2px;
    height: 10px;
    background: var(--violet-light);
    animation: tmlyBlink 0.9s step-end infinite;
    vertical-align: middle;
}
.tmly-float-badge {
    position: absolute;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    padding: 8px 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    animation: tmlySlideUp 0.5s ease forwards;
}
.tmly-float-badge-dot {
    width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}

/* ── Footer social icon size on mobile ── */
@media (max-width: 768px) {
    .tmly-footer-logo { font-size: 18px !important; }
    .tmly-footer-logo svg { width: 24px !important; height: 24px !important; }
}

/* ── Nav auth on tablet (769px-1024px) ── */
@media (min-width: 769px) and (max-width: 900px) {
    .tmly-nav-auth .tmly-btn--ghost { display: none; }
}

/* ══════════════════════════════════════════════════════
   v3.5.1 — HERO REDESIGN + CARD FIXES
   ══════════════════════════════════════════════════════ */

/* ── Live dot ── */
.tmly-live-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: #10B981;
    box-shadow: 0 0 0 0 rgba(16,185,129,0.5);
    animation: tmlyPulse 1.8s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes tmlyPulse {
    0%  { box-shadow: 0 0 0 0 rgba(16,185,129,0.5); }
    70% { box-shadow: 0 0 0 6px rgba(16,185,129,0); }
    100%{ box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}

/* ── Main browser mockup ── */
.tmly-mock-main {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(124,58,237,0.35);
    box-shadow:
        0 0 0 1px rgba(255,255,255,0.04),
        0 40px 100px rgba(0,0,0,0.9),
        0 0 60px rgba(124,58,237,0.18);
    animation: tmlyHeroFloat 7s ease-in-out infinite;
    position: relative;
    z-index: 2;
}
@keyframes tmlyHeroFloat {
    0%,100% { transform: translateY(0); }
    50%     { transform: translateY(-12px); }
}
.tmly-mock-chrome {
    background: #141428;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.tmly-mock-dots { display: flex; gap: 5px; flex-shrink: 0; }
.tmly-mock-dots span { width: 10px; height: 10px; border-radius: 50%; display: block; }
.tmly-mock-url-bar {
    flex: 1;
    height: 22px;
    background: rgba(255,255,255,0.05);
    border-radius: 5px;
    border: 1px solid rgba(255,255,255,0.07);
    font-size: 10px;
    color: rgba(255,255,255,0.3);
    display: flex;
    align-items: center;
    padding: 0 10px;
}
.tmly-mock-live {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 600;
    color: #10B981;
    flex-shrink: 0;
}
.tmly-mock-body {
    background: linear-gradient(160deg,#0B0118 0%,#140A2E 40%,#0A1628 100%);
    padding: 16px;
    min-height: 260px;
}

/* Simulated elements inside mockup */
.tmly-sim-nav {
    display: flex; align-items: center; gap: 8px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.tmly-sim-logo-bar { width: 56px; height: 9px; border-radius: 3px; background: rgba(255,255,255,0.85); flex-shrink:0; }
.tmly-sim-cta-btn { width: 44px; height: 18px; background: #7C3AED; border-radius: 5px; flex-shrink:0; }
.tmly-sim-content { }

.tmly-sim-badge-bar {
    display: inline-block;
    width: 100px; height: 14px;
    border-radius: 99px;
    border: 1px solid rgba(124,58,237,0.5);
    background: rgba(124,58,237,0.12);
}

.tmly-sim-bar {
    height: 8px;
    border-radius: 3px;
    background: rgba(255,255,255,0.8);
    margin-bottom: 6px;
    transform-origin: left;
    animation: tmlyRevealBar 0.6s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes tmlyRevealBar {
    from { transform: scaleX(0); opacity: 0; }
    to   { transform: scaleX(1); opacity: 1; }
}
.tmly-sim-bar--h1 { height: 13px; background: rgba(255,255,255,0.9); }

.tmly-sim-action-primary {
    width: 64px; height: 22px;
    background: #7C3AED;
    border-radius: 6px;
    box-shadow: 0 0 16px rgba(124,58,237,0.5);
}
.tmly-sim-action-ghost {
    width: 72px; height: 22px;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 6px;
}

.tmly-sim-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 4px;
}
.tmly-sim-card {
    height: 52px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.08);
}
.tmly-sim-card--v { background: linear-gradient(135deg, rgba(124,58,237,0.3), rgba(124,58,237,0.08)); }
.tmly-sim-card--e { background: linear-gradient(135deg, rgba(16,185,129,0.25), rgba(16,185,129,0.06)); }
.tmly-sim-card--a { background: linear-gradient(135deg, rgba(245,158,11,0.2), rgba(245,158,11,0.04)); }

/* ── Floating mini cards ── */
.tmly-mini-card {
    position: absolute;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border-strong);
    box-shadow: 0 12px 40px rgba(0,0,0,0.8), 0 0 0 1px rgba(255,255,255,0.04);
    z-index: 3;
}
.tmly-mini-1 {
    width: 140px;
    top: -16px;
    right: -24px;
    animation: tmlyHeroFloat 8s ease-in-out infinite;
    animation-delay: -3s;
}
.tmly-mini-2 {
    width: 130px;
    bottom: 24px;
    left: -20px;
    animation: tmlyHeroFloat 10s ease-in-out infinite;
    animation-delay: -6s;
}
.tmly-mini-chrome {
    background: #1A1A2E;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
}
.tmly-mini-url {
    font-size: 9px;
    color: rgba(255,255,255,0.3);
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.tmly-mini-body { padding: 10px; min-height: 60px; }
.tmly-mini-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 8px;
    background: var(--bg-elevated);
    border-top: 1px solid var(--border);
}

/* ── Stat widget ── */
.tmly-stat-widget {
    position: absolute;
    bottom: -14px;
    right: 10px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.7);
    animation: tmlySlideInUp 0.6s 1.2s cubic-bezier(0.34,1.56,0.64,1) both;
}
.tmly-stat-widget-icon {
    width: 28px; height: 28px;
    border-radius: 7px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

/* ── Purchase notification toast ── */
.tmly-notif-toast {
    position: absolute;
    top: -14px;
    left: 16px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.7);
    animation: tmlySlideInDown 0.6s 2s cubic-bezier(0.34,1.56,0.64,1) both;
    white-space: nowrap;
}
@keyframes tmlySlideInUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes tmlySlideInDown {
    from { opacity: 0; transform: translateY(-16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Hero preview wrapper — ensure proper sizing ── */
.tmly-hero-preview {
    position: relative;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════
   MOBILE CARD 2-COL — THEMEFOREST STYLE
   ═══════════════════════════════════════════ */
@media (max-width: 768px) {
    /* Grid */
    .tmly-themes-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Hide browser chrome on mobile — too small to matter */
    .tmly-theme-card > div:first-child {
        display: none !important;
    }

    /* Screenshot: make it taller as percentage of card */
    .tmly-theme-card > div:nth-child(2) {
        aspect-ratio: 4 / 3 !important;
    }

    /* Mobile action buttons - show */
    .tmly-card-mobile-actions {
        display: flex !important;
    }

    /* Body padding */
    .tmly-theme-card > div:nth-child(4) {
        padding: 8px 10px !important;
    }

    /* Title */
    .tmly-card-title {
        font-size: 12px !important;
        margin-bottom: 0 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .tmly-card-title a {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Description — hide on mobile to save space */
    .tmly-card-desc {
        display: none !important;
    }

    /* Footer price row */
    .tmly-theme-card > div:last-child {
        padding: 6px 10px !important;
    }

    /* Price text */
    .tmly-card-price {
        font-size: 14px !important;
    }

    /* Sales badge smaller */
    .tmly-sales-badge {
        font-size: 9px !important;
        padding: 2px 6px !important;
        gap: 3px !important;
        top: 6px !important;
        left: 6px !important;
    }
    .tmly-sales-badge svg {
        width: 8px !important;
        height: 8px !important;
    }

    /* Category pills — hide on mobile card */
    .tmly-theme-card .tmly-card-cats {
        display: none !important;
    }
}

@media (max-width: 380px) {
    .tmly-themes-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
}

/* ── Sales strip (replaces sales badge) ── */
/* tmly-sales-strip replaced by tmly-badge system */

/* ── Mobile action buttons ── */
/* tmly-card-mobile-actions removed — now using tmly-card-mobile-row */

@media (max-width: 768px) {
    .tmly-sales-strip {
        font-size: 10px !important;
        padding: 4px 8px !important;
    }
}

/* ══════════════════════════════════════════════════════
   v3.5.2 — CARD SYSTEM + GRID + HERO MOBILE + BADGES
   ══════════════════════════════════════════════════════ */

/* ── Card structure ── */
.tmly-theme-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color var(--transition), transform var(--transition), box-shadow var(--transition);
    cursor: pointer;
}
.tmly-theme-card:hover {
    border-color: var(--border-strong);
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}

/* tmly-card-chrome (single page) removed — v3.5 */

/* Image */
.tmly-card-img {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
    position: relative;
    background: var(--bg-elevated);
    flex-shrink: 0;
    min-height: 0; /* ensure aspect-ratio computes from width */
}
.tmly-card-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.tmly-theme-card:hover .tmly-card-img img { transform: scale(1.04); }
.tmly-card-img-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-muted);
    background: linear-gradient(135deg, var(--bg-elevated), var(--bg-card));
}

/* Badges */
.tmly-badge {
    position: absolute;
    z-index: 3;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    padding: 4px 9px;
    border-radius: 999px;
    pointer-events: none;
    letter-spacing: 0.2px;
}
.tmly-badge--sales {
    top: 10px;
    left: 10px;
    background: rgba(10,10,20,0.82);
    color: #FCD34D;
    border: 1px solid rgba(245,158,11,0.4);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.tmly-badge--discount {
    top: 10px;
    right: 10px;
    background: #DC2626;
    color: #fff;
    box-shadow: 0 2px 8px rgba(220,38,38,0.4);
}
.tmly-badge--new {
    top: 10px;
    right: 10px;
    background: #059669;
    color: #fff;
    box-shadow: 0 2px 8px rgba(5,150,105,0.4);
}

/* Hover overlay */
.tmly-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(8,8,15,0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    opacity: 0;
    transition: opacity var(--transition);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
.tmly-theme-card:hover .tmly-card-overlay { opacity: 1; }
.tmly-card-ovr-btn {
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: transform .15s ease;
}
.tmly-card-ovr-btn:hover { transform: scale(1.04); }
.tmly-card-ovr-btn--primary { background: var(--violet); color: #fff; }
.tmly-card-ovr-btn--ghost {
    background: rgba(255,255,255,.1);
    color: #fff;
    border: 1px solid rgba(255,255,255,.2);
}

/* Mobile name+price row — HIDDEN on desktop */
.tmly-card-mobile-row {
    display: none;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 9px 10px;
    text-decoration: none;
    border-top: 1px solid var(--border);
    flex-shrink: 0;
}
.tmly-card-mobile-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-card-mobile-price {
    display: flex;
    align-items: baseline;
    gap: 4px;
    flex-shrink: 0;
}
.tmly-card-mobile-price strong {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-card-mobile-orig {
    font-size: 10px;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 400;
}

/* Desktop body */
.tmly-card-body {
    padding: 13px 14px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.tmly-card-cats {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 7px;
}
.tmly-cat-pill {
    font-size: 10px;
    font-weight: 500;
    padding: 2px 7px;
    border-radius: 4px;
    background: rgba(124,58,237,.12);
    color: var(--violet-light);
    border: 1px solid rgba(124,58,237,.2);
}
.tmly-card-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 5px;
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-card-title a {
    text-decoration: none;
    color: var(--text-primary);
}
.tmly-card-title a:hover { color: var(--violet-light); }
.tmly-card-desc {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
    flex: 1;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin: 0;
}

/* Desktop footer */
.tmly-card-footer {
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.tmly-card-price-row {
    display: flex;
    align-items: baseline;
    gap: 5px;
}
.tmly-price-orig {
    font-size: 11px;
    color: var(--text-muted);
    text-decoration: line-through;
    font-weight: 400;
}
.tmly-price-current {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}
.tmly-price-suffix { font-size: 10px; color: var(--text-muted); }
.tmly-card-version { font-size: 11px; color: var(--text-muted); }

/* ── 4-column grid modifier ── */
.tmly-themes-grid--4col {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}

/* ── View more button ── */
.tmly-section-view-more {
    text-align: center;
    margin-top: 32px;
}

/* ── MOBILE card overrides ── */
@media (max-width: 768px) {
    /* Show mobile row, hide desktop-only elements */
    .tmly-card-mobile-row  { display: flex !important; }
    .tmly-card-body        { display: none !important; }
    .tmly-card-footer      { display: none !important; }
    .tmly-card-overlay     { display: none !important; }

    /* Image: FORCE visible, taller ratio, minimum height fallback */
    .tmly-card-img {
        display: block !important;
        width: 100% !important;
        aspect-ratio: 3/2 !important;
        min-height: 130px !important;
        flex-shrink: 0 !important;
    }
    .tmly-theme-card .tmly-card-body { display: none !important; }
    .tmly-themes-grid .tmly-card-body { display: none !important; }
    .tmly-themes-grid .tmly-card-footer { display: none !important; }

    /* Badges scale down */
    .tmly-badge { font-size: 10px !important; padding: 3px 7px !important; }
    .tmly-badge--sales  { top: 7px !important; left: 7px !important; }
    .tmly-badge--discount { top: 7px !important; right: 7px !important; }
    .tmly-badge--new    { top: 7px !important; right: 7px !important; }

    /* 4-col collapses to 2-col on mobile */
    .tmly-themes-grid--4col {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    /* Card border-radius tighter on mobile */
    .tmly-theme-card { border-radius: 10px !important; }

    /* No hover lift on mobile */
    .tmly-theme-card:hover { transform: none !important; box-shadow: none !important; }

    /* Mobile row styling */
    .tmly-card-mobile-row { padding: 8px 10px !important; }
    .tmly-card-mobile-name { font-size: 11px !important; }
}

@media (max-width: 380px) {
    .tmly-themes-grid, .tmly-themes-grid--4col {
        grid-template-columns: 1fr !important;
    }
}

/* ── Hero mobile: preview FIRST, then content ── */
@media (max-width: 768px) {
    .tmly-hero-inner {
        flex-direction: column !important;
        gap: 32px !important;
        align-items: center !important;
        text-align: center !important;
        padding-top: 32px !important;
        padding-bottom: 40px !important;
    }
    .tmly-hero-preview {
        display: block !important;
        order: -1;
        width: 100%;
        max-width: 420px;
        position: relative;
    }
    /* Hide floating elements - keep only main mockup */
    .tmly-mini-1, .tmly-mini-2,
    .tmly-stat-widget, .tmly-notif-toast { display: none !important; }
    .tmly-mock-main { animation: none !important; }
    .tmly-mock-body { min-height: 180px !important; padding: 12px !important; }
    .tmly-hero-content {
        max-width: 100% !important;
        text-align: center !important;
        order: 0;
    }
    .tmly-hero-ctas { justify-content: center !important; }
    .tmly-hero-stats { justify-content: center !important; }
}

/* ── Mobile hero mockup: smaller + tighter gap ── */
@media (max-width: 768px) {
    .tmly-hero-inner { gap: 16px !important; padding-top: 20px !important; padding-bottom: 32px !important; }
    .tmly-hero-preview { max-width: 320px !important; }
    .tmly-mock-body   { min-height: 130px !important; padding: 10px 12px !important; }
    .tmly-mock-chrome { padding: 7px 10px !important; }
    .tmly-mock-dots span { width: 8px !important; height: 8px !important; }
    .tmly-sim-nav     { margin-bottom: 10px !important; padding-bottom: 8px !important; }
    .tmly-sim-grid    { display: none !important; }
    .tmly-sim-bar--h1 { height: 10px !important; }
    .tmly-sim-bar     { height: 6px !important; margin-bottom: 4px !important; }
    .tmly-sim-action-primary, .tmly-sim-action-ghost { height: 16px !important; }
}

/* ══════════════════════════════════════════════════════
   HERO GRID — desktop: top+bottom left | preview right
              mobile:  badge → title → mockup → sub → btns
   ══════════════════════════════════════════════════════ */

/* Desktop: hero-inner becomes a grid */
.tmly-hero-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto 1fr !important;
    grid-template-areas:
        "top    preview"
        "bottom preview" !important;
    align-items: start !important;
    column-gap: 48px !important;
    row-gap: 0 !important;
}
.tmly-hero-top    { grid-area: top;     align-self: end; padding-bottom: 24px; }
.tmly-hero-bottom { grid-area: bottom;  align-self: start; }
.tmly-hero-preview { grid-area: preview; align-self: center !important; }

/* Desktop: top inherits content sizing */
.tmly-hero-top,
.tmly-hero-bottom { max-width: 680px; }

/* Mobile: single column, explicit order */
@media (max-width: 768px) {
    .tmly-hero-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 0 !important;
        padding-top: 24px !important;
        padding-bottom: 36px !important;
    }

    /* 1 — badge + title */
    .tmly-hero-top {
        order: 1;
        width: 100%;
        max-width: 100%;
        padding-bottom: 20px;
        text-align: center;
    }

    /* 2 — mockup */
    .tmly-hero-preview {
        order: 2;
        display: block !important;
        width: 100%;
        max-width: 340px;
        margin: 0 auto 20px !important;
    }

    /* 3 — sub + actions + stats */
    .tmly-hero-bottom {
        order: 3;
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .tmly-hero-actions { justify-content: center; }
    .tmly-hero-stats   { justify-content: center; }

    /* Badge center on mobile */
    .tmly-hero-badge { margin: 0 auto 16px !important; }

    /* Title sizing */
    .tmly-hero-title { font-size: clamp(30px, 8vw, 44px) !important; margin-bottom: 0 !important; }

    /* Sub margin */
    .tmly-hero-sub { margin-top: 16px !important; margin-bottom: 20px !important; }
}

/* Remove gap between mockup and text below it on mobile */
@media (max-width: 768px) {
    .tmly-hero-preview { margin-bottom: 4px !important; }
}

/* ══════════════════════════════════════════════════════
   SHARED PAGE ANIMATIONS & COMPONENTS (v3.6)
   ══════════════════════════════════════════════════════ */

/* Scroll-triggered entrance animation */
[data-animate] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s cubic-bezier(0.4,0,0.2,1), transform 0.6s cubic-bezier(0.4,0,0.2,1);
}
[data-animate].is-visible { opacity: 1; transform: translateY(0); }
[data-animate][data-delay="1"] { transition-delay: 0.1s; }
[data-animate][data-delay="2"] { transition-delay: 0.2s; }
[data-animate][data-delay="3"] { transition-delay: 0.3s; }
[data-animate][data-delay="4"] { transition-delay: 0.4s; }
[data-animate][data-delay="5"] { transition-delay: 0.5s; }
[data-animate="scale-in"] { transform: scale(0.9); }
[data-animate="scale-in"].is-visible { transform: scale(1); }
[data-animate="slide-left"] { transform: translateX(-32px); }
[data-animate="slide-left"].is-visible { transform: translateX(0); }
[data-animate="slide-right"] { transform: translateX(32px); }
[data-animate="slide-right"].is-visible { transform: translateX(0); }

/* Page hero (shared) */
.tmly-page-hero {
    padding: 80px 0 72px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.tmly-page-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(124,58,237,0.18) 0%, transparent 70%);
    pointer-events: none;
}
.tmly-page-hero-icon {
    width: 64px; height: 64px;
    border-radius: 18px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 24px;
    position: relative;
}
.tmly-page-hero-eyebrow {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--violet-light);
    margin-bottom: 14px;
}
.tmly-page-hero-title {
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1.1;
    margin-bottom: 18px;
}
.tmly-page-hero-sub {
    font-size: 18px;
    color: var(--text-secondary);
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Legal content layout */
.tmly-legal-wrap {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 48px;
    align-items: start;
    padding: 56px 0 80px;
}
.tmly-legal-toc {
    position: sticky;
    top: calc(var(--nav-height) + 24px);
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 20px;
}
.tmly-legal-toc-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--text-muted);
    margin-bottom: 12px;
}
.tmly-legal-toc a {
    display: block;
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    padding: 6px 8px;
    border-radius: 6px;
    transition: all var(--transition);
    margin-bottom: 2px;
}
.tmly-legal-toc a:hover { color: var(--violet-light); background: rgba(124,58,237,.08); }
.tmly-legal-body h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 48px 0 16px;
    padding-top: 8px;
    color: var(--text-primary);
    border-top: 1px solid var(--border);
}
.tmly-legal-body h2:first-child { margin-top: 0; border-top: none; }
.tmly-legal-body p { font-size: 15px; color: var(--text-secondary); line-height: 1.8; margin-bottom: 16px; }
.tmly-legal-body ul { padding-left: 0; list-style: none; margin-bottom: 16px; }
.tmly-legal-body ul li { font-size: 15px; color: var(--text-secondary); padding: 6px 0 6px 20px; position: relative; line-height: 1.7; }
.tmly-legal-body ul li::before { content: '→'; position: absolute; left: 0; color: var(--violet-light); }
.tmly-legal-meta { font-size: 13px; color: var(--text-muted); margin-bottom: 32px; padding: 12px 16px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; display: inline-block; }

/* Glass card */
.tmly-glass-card {
    background: rgba(15,15,26,0.8);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-xl);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* Section divider */
.tmly-section-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border-strong), transparent);
    margin: 0;
}

/* FAQ accordion */
.tmly-faq-item {
    border-bottom: 1px solid var(--border);
}
.tmly-faq-q {
    width: 100%;
    background: none;
    border: none;
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    font-family: 'Space Grotesk', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    text-align: left;
    transition: color var(--transition);
}
.tmly-faq-q:hover { color: var(--violet-light); }
.tmly-faq-icon {
    width: 24px; height: 24px;
    border: 1.5px solid var(--border-strong);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: all var(--transition);
}
.tmly-faq-item.is-open .tmly-faq-icon { background: var(--violet); border-color: var(--violet); transform: rotate(45deg); }
.tmly-faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1);
}
.tmly-faq-a-inner { padding: 0 0 20px; font-size: 15px; color: var(--text-secondary); line-height: 1.8; }
.tmly-faq-item.is-open .tmly-faq-a { max-height: 400px; }

/* Icon box */
.tmly-icon-box {
    width: 48px; height: 48px;
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}

/* Team card */
.tmly-team-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 28px 24px 24px;
    text-align: center;
    transition: all var(--transition);
    position: relative;
    overflow: hidden;
}
.tmly-team-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--violet), var(--emerald));
    opacity: 0;
    transition: opacity var(--transition);
}
.tmly-team-card:hover { transform: translateY(-4px); border-color: var(--border-strong); box-shadow: 0 16px 48px rgba(0,0,0,0.4); }
.tmly-team-card:hover::before { opacity: 1; }
.tmly-team-avatar {
    width: 80px; height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--violet), var(--emerald));
    margin: 0 auto 16px;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-team-name { font-size: 17px; font-weight: 700; margin-bottom: 4px; font-family: 'Space Grotesk', sans-serif; }
.tmly-team-role { font-size: 13px; color: var(--violet-light); font-weight: 500; margin-bottom: 12px; }
.tmly-team-bio { font-size: 13px; color: var(--text-muted); line-height: 1.6; }

/* Contact info card */
.tmly-contact-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 28px;
    transition: all var(--transition);
}
.tmly-contact-card:hover { border-color: var(--violet); transform: translateY(-2px); }

/* Input styles */
.tmly-input {
    width: 100%;
    background: var(--bg-elevated);
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-md);
    padding: 13px 16px;
    font-size: 15px;
    color: var(--text-primary);
    font-family: 'Inter', sans-serif;
    transition: border-color var(--transition), box-shadow var(--transition);
    outline: none;
}
.tmly-input:focus {
    border-color: var(--violet);
    box-shadow: 0 0 0 3px rgba(124,58,237,0.15);
}
.tmly-input::placeholder { color: var(--text-muted); }
textarea.tmly-input { resize: vertical; min-height: 120px; }
.tmly-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 7px;
}
.tmly-form-group { margin-bottom: 18px; }

/* License comparison */
.tmly-license-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.tmly-license-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 32px;
    position: relative;
    overflow: hidden;
    transition: all var(--transition);
}
.tmly-license-card--featured {
    border-color: var(--violet);
    box-shadow: 0 0 40px rgba(124,58,237,0.15);
}
.tmly-license-check { color: var(--emerald-light); margin-right: 10px; }
.tmly-license-cross { color: #F87171; margin-right: 10px; }

/* Value card */
.tmly-value-card {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 28px;
    transition: all var(--transition);
}
.tmly-value-card:hover { border-color: var(--border-strong); transform: translateY(-2px); }

/* Floating orbs for hero pages */
.tmly-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
}

@media (max-width: 768px) {
    .tmly-legal-wrap { grid-template-columns: 1fr; }
    .tmly-legal-toc { position: static; display: none; }
    .tmly-license-grid { grid-template-columns: 1fr; }
    .tmly-page-hero { padding: 52px 0 48px; }
    .tmly-page-hero-sub { font-size: 16px; }
}

/* New pages — mobile */
@media (max-width: 768px) {
    .tmly-page-hero { padding: 52px 0 44px !important; }
    .tmly-team-card { padding: 20px 16px 16px; }
    .tmly-team-avatar { width: 64px; height: 64px; font-size: 22px; }
}

/* ══════════════════════════════════════════════════════
   PAGE TEMPLATES — MOBILE FIXES
   ══════════════════════════════════════════════════════ */

/* Prevent horizontal overflow on orb pages without breaking fixed nav */
.tmly-page-hero,
.tmly-orb-section { overflow: hidden; }

/* Clip orbs that go outside viewport */
.tmly-orb { max-width: 100vw; }

/* ── About Us — Mobile ── */
@media (max-width: 768px) {
    /* Stats: 4-col → 2-col */
    .tmly-about-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Mission: 2-col → 1-col */
    .tmly-about-mission-grid,
    [style*="grid-template-columns:1fr 1fr"] {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    /* Team: 4-col → 2-col */
    [style*="grid-template-columns:repeat(4,1fr)"] {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }

    /* Timeline */
    [style*="grid-template-columns:100px 1fr"] {
        grid-template-columns: 64px 1fr !important;
        gap: 12px !important;
    }

    /* Value cards 2-col stays, just smaller padding */
    [style*="display:grid;grid-template-columns:repeat(2,1fr)"] {
        gap: 10px !important;
    }
    .tmly-value-card { padding: 16px !important; }
    .tmly-team-card { padding: 20px 14px 16px !important; }
}

/* ── Support — Mobile ── */
@media (max-width: 768px) {
    /* Contact options: 3-col → 1-col */
    .tmly-support-options {
        grid-template-columns: 1fr !important;
    }

    /* FAQ: 2-col → 1-col */
    .tmly-faq-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    /* Ticket form grid */
    .tmly-ticket-name-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Contact — Mobile ── */
@media (max-width: 768px) {
    /* Info cards: 3-col → 1-col */
    .tmly-contact-cards-grid {
        grid-template-columns: 1fr !important;
    }
    .tmly-contact-form-name-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ── Generic inline grid fixes for page templates ── */
@media (max-width: 768px) {
    /* Any 3-col grid in page content */
    .tmly-wrap > div[style*="grid-template-columns:repeat(3"] {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
    /* 2-col in page content */
    .tmly-wrap > div[style*="grid-template-columns:1fr 1fr"],
    .tmly-wrap > div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
    /* Page hero title smaller */
    .tmly-page-hero-title {
        font-size: clamp(28px, 8vw, 44px) !important;
        letter-spacing: -1px !important;
    }
    .tmly-page-hero-sub { font-size: 15px !important; }

    /* License comparison 2-col → 1-col */
    .tmly-license-grid {
        grid-template-columns: 1fr !important;
    }

    /* Stats border-right removed on mobile */
    [style*="border-right:1px solid var(--border)"] {
        border-right: none !important;
        border-bottom: 1px solid var(--border);
    }
}

/* ── Nav always fixed — defensive rule ── */
.tmly-nav {
    position: fixed !important;
    top: 0 !important;
    z-index: 9999 !important;
}
@media (max-width: 768px) {
    .tmly-burger { display: flex !important; }
    .tmly-mobile-nav { z-index: 9998 !important; }
}

/* ── License Selector Mobile ── */
@media (max-width: 480px) {
    .tmly-lic-sel-grid { grid-template-columns: 1fr; }
    .tmly-lic-opt-price { font-size: 20px; }
}

/* ══════════════════════════════════════════
   Dashboard Welcome Guide
══════════════════════════════════════════ */
.tmly-welcome-guide {
    display: flex;
    gap: 20px;
    padding: 28px 32px;
    border-radius: var(--radius-xl);
    border: 1px solid;
    margin-bottom: 32px;
    align-items: flex-start;
}
.tmly-welcome-guide--pending {
    background: rgba(245,158,11,0.06);
    border-color: rgba(245,158,11,0.2);
}
.tmly-welcome-guide--success {
    background: rgba(16,185,129,0.06);
    border-color: rgba(16,185,129,0.2);
}
.tmly-wg-icon { font-size: 28px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.tmly-wg-content { flex: 1; }
.tmly-wg-title { font-size: 18px; font-weight: 700; margin-bottom: 6px; }
.tmly-wg-sub { font-size: 14px; color: var(--text-secondary); margin-bottom: 20px; line-height: 1.6; }
.tmly-wg-steps { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }
.tmly-wg-step {
    display: flex; gap: 14px; align-items: flex-start;
    font-size: 14px; color: var(--text-secondary);
}
.tmly-wg-step-num {
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--violet); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; flex-shrink: 0;
}
.tmly-wg-step strong { display: block; color: var(--text-primary); margin-bottom: 2px; }
.tmly-wg-step p { margin: 0; line-height: 1.5; font-size: 13px; }
.tmly-wg-note { font-size: 13px; color: var(--text-muted); }
.tmly-wg-note a { color: var(--violet-light); text-decoration: none; }
.tmly-wg-note a:hover { text-decoration: underline; }

.tmly-welcome-guide--new {
    background: rgba(124,58,237,0.05);
    border-color: rgba(124,58,237,0.15);
}
}

/* ══════════════════════════════════════════
   Archive Pages — Header + Filter + Layout
══════════════════════════════════════════ */
.tmly-archive-hdr {
    padding: 52px 0 32px;
    border-bottom: 1px solid var(--border);
}
.tmly-archive-hdr-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.tmly-archive-hdr-title { font-size: clamp(24px,3.5vw,36px); font-weight: 800; letter-spacing: -0.5px; margin-bottom: 8px; }
.tmly-archive-hdr-sub { font-size: 15px; color: var(--text-secondary); }

.tmly-archive-filter-bar { border-bottom: 1px solid var(--border); background: var(--bg-surface); position: sticky; top: var(--nav-height); z-index: 40; }
.tmly-archive-filter-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.tmly-archive-pills { display: flex; gap: 6px; flex-wrap: wrap; }
.tmly-archive-pill {
    font-size: 13px; font-weight: 500; color: var(--text-secondary);
    padding: 6px 14px; border-radius: 999px; border: 1px solid transparent;
    text-decoration: none; transition: all var(--transition); white-space: nowrap;
}
.tmly-archive-pill:hover { color: var(--text-primary); border-color: var(--border-strong); }
.tmly-archive-pill.is-active { color: var(--text-primary); background: var(--bg-elevated); border-color: var(--border-strong); font-weight: 600; }
.tmly-archive-pill-count { font-size: 11px; color: var(--text-muted); margin-left: 3px; }
.tmly-archive-sort-form { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.tmly-archive-sort {
    padding: 7px 12px; background: var(--bg-elevated);
    border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
    color: var(--text-primary); font-size: 13px; font-family: inherit; cursor: pointer;
}

/* Main layout with sidebar */
.tmly-archive-layout { display: grid; grid-template-columns: 1fr 260px; gap: 40px; padding: 40px 0 80px; align-items: start; }
.tmly-archive-main { min-width: 0; }

/* 3-col grid in archive */
.tmly-themes-grid--3col { grid-template-columns: repeat(3,1fr) !important; }

/* Pagination */
.tmly-archive-pagination { display: flex; gap: 6px; justify-content: center; padding-top: 40px; flex-wrap: wrap; }
.tmly-archive-pagination .page-numbers {
    min-width: 36px; height: 36px; padding: 0 10px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--border-strong); border-radius: var(--radius-sm);
    font-size: 13px; font-weight: 500; color: var(--text-secondary);
    text-decoration: none; transition: all var(--transition);
}
.tmly-archive-pagination .page-numbers:hover { border-color: var(--violet); color: var(--text-primary); }
.tmly-archive-pagination .page-numbers.current { background: var(--violet); border-color: var(--violet); color: #fff; }
.tmly-archive-pagination .dots { border: none; cursor: default; }

/* Empty state */
.tmly-archive-empty { text-align: center; padding: 60px 20px; color: var(--text-muted); display: flex; flex-direction: column; align-items: center; gap: 16px; }
.tmly-archive-empty p { font-size: 15px; }

/* ─── Sidebar ─── */
.tmly-archive-sidebar { position: sticky; top: calc(var(--nav-height) + 56px + 20px); display: flex; flex-direction: column; gap: 16px; }

.tmly-sidebar-box {
    background: var(--bg-surface); border: 1px solid var(--border);
    border-radius: var(--radius-xl); padding: 18px 20px;
}
.tmly-sidebar-box-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.tmly-sidebar-box-title { font-size: 13px; font-weight: 700; color: var(--text-primary); }
.tmly-sidebar-box-link { font-size: 11px; font-weight: 600; color: var(--violet-light); text-decoration: none; }
.tmly-sidebar-box-link:hover { text-decoration: underline; }

/* Partner list — ThemeForest logo grid style */
.tmly-partner-list { 
    display: grid; 
    grid-template-columns: 1fr 1fr; 
    gap: 10px;
}
.tmly-partner-item {
    display: flex; flex-direction: column; align-items: center;
    gap: 8px; padding: 12px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    text-decoration: none;
    transition: all var(--transition); background: var(--bg-card);
    text-align: center;
}
.tmly-partner-item:hover { border-color: var(--violet); background: rgba(124,58,237,0.04); }
.tmly-partner-logo { 
    width: 52px; height: 52px; 
    object-fit: contain; border-radius: 10px; 
    flex-shrink: 0;
}
.tmly-partner-logo-placeholder {
    width: 52px; height: 52px; border-radius: 10px; flex-shrink: 0;
    background: linear-gradient(135deg, var(--violet), #9333ea);
    display: flex; align-items: center; justify-content: center;
    font-size: 16px; font-weight: 800; color: #fff;
    letter-spacing: -0.5px;
}
.tmly-partner-info { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.tmly-partner-name { font-size: 11px; font-weight: 700; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tmly-partner-label { font-size: 10px; color: var(--text-muted); }

/* Category list */
.tmly-sidebar-cats { display: flex; flex-direction: column; gap: 2px; }
.tmly-sidebar-cat-item {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 8px 10px; border-radius: var(--radius-sm);
    font-size: 13px; color: var(--text-secondary); text-decoration: none;
    transition: all var(--transition);
}
.tmly-sidebar-cat-item:hover { background: var(--bg-elevated); color: var(--text-primary); }
.tmly-sidebar-cat-item.is-active { background: rgba(124,58,237,0.08); color: var(--violet-light); font-weight: 600; }
.tmly-sidebar-cat-count { font-size: 11px; color: var(--text-muted); background: var(--bg-elevated); padding: 1px 6px; border-radius: 999px; flex-shrink: 0; }

/* Why section */
.tmly-sidebar-why { background: var(--bg-card); }
.tmly-sidebar-why-item { 
    display: flex; align-items: center; gap: 8px; 
    font-size: 12px; color: var(--text-secondary); padding: 6px 0;
    white-space: nowrap; overflow: hidden;
}
.tmly-sidebar-why-item:not(:last-child) { border-bottom: 1px solid var(--border); }
.tmly-sidebar-why-item > span:last-child { 
    white-space: normal; line-height: 1.4; overflow: hidden;
}

/* Mobile archive */
@media (max-width: 900px) {
    .tmly-archive-layout { grid-template-columns: 1fr; }
    .tmly-archive-sidebar { position: static; }
    .tmly-themes-grid--3col { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 480px) {
    .tmly-archive-filter-inner { gap: 10px; }
    .tmly-archive-pills { gap: 4px; }
    .tmly-archive-pill { font-size: 12px; padding: 5px 10px; }
}

/* ══════════════════════════════════════════
   Team Section — About Page
══════════════════════════════════════════ */
.tmly-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.tmly-team-card {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 28px 20px 24px;
    text-align: center;
    transition: border-color var(--transition), transform var(--transition);
}
.tmly-team-card:hover {
    border-color: var(--border-strong);
    transform: translateY(-3px);
}
.tmly-team-photo-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}
.tmly-team-photo {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--border);
}
.tmly-team-avatar-pro {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
    color: #fff;
    letter-spacing: -1px;
    font-family: 'Space Grotesk', sans-serif;
}
.tmly-team-info { display: flex; flex-direction: column; gap: 4px; }
.tmly-team-name { font-size: 16px; font-weight: 700; color: var(--text-primary); }
.tmly-team-role { font-size: 12px; font-weight: 600; color: var(--violet-light); text-transform: uppercase; letter-spacing: 0.8px; }
.tmly-team-bio  { font-size: 13px; color: var(--text-secondary); line-height: 1.6; margin-top: 8px; }

@media (max-width: 768px) { .tmly-team-grid { grid-template-columns: repeat(2,1fr); gap: 16px; } }
@media (max-width: 480px) { .tmly-team-grid { grid-template-columns: 1fr; } }

/* ═══════════════════════════════════════════════════════════════════
   THEMELY v4 — New Design System
   (Single clean block — no duplicates, no !important wars)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Floating icons: hero ── */
@keyframes tmlyFloatUD { 0%,100%{transform:translateY(0) rotate(-4deg)} 50%{transform:translateY(-22px) rotate(4deg)} }
@keyframes tmlyDriftLR { 0%,100%{transform:translateX(0) rotate(3deg)} 50%{transform:translateX(16px) rotate(-3deg)} }
@keyframes tmlyPulseScale { 0%,100%{transform:scale(1) rotate(-2deg);opacity:.55} 50%{transform:scale(1.12) rotate(2deg);opacity:.85} }
@keyframes tmlySpinFloat { 0%{transform:translateY(0) rotate(0deg)} 33%{transform:translateY(-14px) rotate(120deg)} 66%{transform:translateY(8px) rotate(240deg)} 100%{transform:translateY(0) rotate(360deg)} }
.tmly-floats { position:absolute; inset:0; pointer-events:none; z-index:1; overflow:hidden; }
.tmly-fi { position:absolute; display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.08); box-shadow:0 8px 32px rgba(0,0,0,0.25); animation-timing-function:ease-in-out; animation-iteration-count:infinite; }
.tmly-fi--sm { width:38px; height:38px; border-radius:10px; }
.tmly-fi--violet { background:rgba(124,58,237,0.18); color:#A78BFA; box-shadow:0 8px 32px rgba(124,58,237,0.2),0 0 0 1px rgba(124,58,237,0.15); }
.tmly-fi--amber  { background:rgba(245,158,11,0.15);  color:#FCD34D; box-shadow:0 8px 32px rgba(245,158,11,0.18),0 0 0 1px rgba(245,158,11,0.12); }
.tmly-fi--emerald{ background:rgba(16,185,129,0.14);  color:#6EE7B7; box-shadow:0 8px 32px rgba(16,185,129,0.16),0 0 0 1px rgba(16,185,129,0.12); }
.tmly-fi--1 { top:12%; left:4%;   animation:tmlyFloatUD 5.5s ease-in-out infinite 0s; }
.tmly-fi--2 { top:10%; right:4%;  animation:tmlyDriftLR 6s ease-in-out infinite -1.5s; }
.tmly-fi--3 { top:42%; left:2.5%; animation:tmlyFloatUD 7s ease-in-out infinite -2s; }
.tmly-fi--4 { top:40%; right:2.5%;animation:tmlyDriftLR 6.5s ease-in-out infinite -3s; }
.tmly-fi--5 { bottom:14%; left:5%;  animation:tmlyPulseScale 4.5s ease-in-out infinite -1s; }
.tmly-fi--6 { bottom:12%; right:5%; animation:tmlyFloatUD 8s ease-in-out infinite -3.5s; }
.tmly-fi--7 { top:18%; left:20%;   animation:tmlySpinFloat 9s linear infinite -2s; opacity:.6; }
.tmly-fi--8 { bottom:22%; right:20%;animation:tmlySpinFloat 8s linear infinite -4s; opacity:.6; }
.tmly-fi--9 { top:28%; left:12%;   animation:tmlyDriftLR 7.5s ease-in-out infinite -0.5s; opacity:.5; }
@media(prefers-reduced-motion:reduce){.tmly-fi{animation:none}}
@media(max-width:1100px){.tmly-fi--7,.tmly-fi--8,.tmly-fi--9{display:none}.tmly-fi--3,.tmly-fi--4{opacity:.4}}
@media(max-width:768px){.tmly-fi--3,.tmly-fi--4,.tmly-fi--7,.tmly-fi--8,.tmly-fi--9{display:none}.tmly-fi--1,.tmly-fi--2,.tmly-fi--5,.tmly-fi--6{width:40px;height:40px;border-radius:10px}.tmly-fi--1{top:8%;left:2%}.tmly-fi--2{top:8%;right:2%}.tmly-fi--5{bottom:8%;left:2%}.tmly-fi--6{bottom:8%;right:2%}.tmly-fi svg{width:16px;height:16px}}

/* ── Hero V4: search-centered ── */
.tmly-hero--v4 { min-height:560px; display:flex; align-items:center; overflow:hidden; }
.tmly-hero-v4-inner { width:100%; max-width:780px; margin:0 auto; padding:96px clamp(20px,4vw,48px) 80px; text-align:center; position:relative; z-index:1; }
.tmly-hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(124,58,237,0.1); border:1px solid rgba(124,58,237,0.25); border-radius:999px; padding:6px 16px; font-size:12px; font-weight:600; color:var(--violet-light); letter-spacing:.3px; margin-bottom:28px; }
.tmly-hero--v4 .tmly-hero-title { font-size:clamp(40px,6vw,68px); letter-spacing:-2.5px; line-height:1.1; margin-bottom:18px; text-align:center; }
.tmly-hero--v4 .tmly-hero-sub { font-size:17px; color:var(--text-secondary); line-height:1.7; margin-bottom:36px; max-width:580px; margin-left:auto; margin-right:auto; text-align:center; }
.tmly-searchbar { max-width:640px; margin:0 auto 18px; position:relative; }
.tmly-searchbar-wrap { display:flex; align-items:center; background:var(--bg-surface); border:1.5px solid var(--border-strong); border-radius:var(--radius-xl); padding:5px 5px 5px 16px; box-shadow:0 12px 48px rgba(0,0,0,0.5); transition:border-color .2s,box-shadow .2s; }
.tmly-searchbar-wrap:focus-within { border-color:var(--violet); box-shadow:0 12px 48px rgba(0,0,0,0.5),0 0 0 3px rgba(124,58,237,0.15); }
.tmly-sb-icon { color:var(--text-muted); display:flex; align-items:center; flex-shrink:0; margin-right:10px; }
.tmly-sb-input { flex:1; background:transparent; border:none; outline:none; font-size:16px; color:var(--text-primary); font-family:inherit; padding:11px 0; min-width:0; }
.tmly-sb-input::placeholder { color:var(--text-muted); }
.tmly-sb-divider { width:1px; height:26px; background:var(--border-strong); flex-shrink:0; margin:0 4px; }
.tmly-sb-type { background:transparent; border:none; outline:none; color:var(--text-secondary); font-size:13px; font-weight:500; font-family:inherit; cursor:pointer; padding:8px 22px 8px 10px; min-width:90px; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 4px center; }
.tmly-sb-type option { background:var(--bg-elevated); color:var(--text-primary); }
.tmly-sb-btn { background:var(--violet); color:#fff; border:none; border-radius:var(--radius-lg); padding:12px 22px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; flex-shrink:0; white-space:nowrap; transition:background .2s,transform .15s; }
.tmly-sb-btn:hover { background:#6D28D9; transform:translateY(-1px); }
.tmly-hero-poptags { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-bottom:48px; }
.tmly-poptag-label { font-size:12px; font-weight:500; color:var(--text-muted); }
.tmly-poptag { font-size:12px; font-weight:500; color:var(--text-secondary); background:rgba(255,255,255,0.04); border:1px solid var(--border-strong); border-radius:999px; padding:5px 13px; text-decoration:none; transition:all .2s; }
.tmly-poptag:hover { border-color:var(--violet-light); color:var(--violet-light); background:rgba(124,58,237,0.08); }
.tmly-hero--v4 .tmly-hero-stats { display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap; }

/* ── Feature Cards V4 ── */
.tmly-feat-grid-v4 { display:grid; grid-template-columns:repeat(3,1fr); gap:0; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-xl); overflow:hidden; }
.tmly-feat-card-v4 { background:var(--bg-surface); padding:32px 28px 28px; position:relative; display:flex; flex-direction:column; gap:14px; transition:background .2s; overflow:hidden; }
.tmly-feat-card-v4:hover { background:var(--bg-card); }
.tmly-feat-icon-v4 { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tmly-feat-icon-v4--violet  { background:rgba(124,58,237,0.15); color:var(--violet-light); }
.tmly-feat-icon-v4--emerald { background:rgba(16,185,129,0.12);  color:var(--emerald-light); }
.tmly-feat-icon-v4--amber   { background:rgba(245,158,11,0.12);   color:#FCD34D; }
.tmly-feat-card-v4 h3 { font-size:16px; font-weight:700; color:var(--text-primary); margin:0; }
.tmly-feat-card-v4 p  { font-size:14px; line-height:1.65; color:var(--text-muted); margin:0; flex:1; }
.tmly-feat-num-v4 { position:absolute; bottom:-8px; right:16px; font-size:56px; font-weight:800; color:rgba(255,255,255,0.03); font-family:'Space Grotesk',sans-serif; line-height:1; pointer-events:none; user-select:none; transition:color .2s; }

/* ── Section headers V4 ── */
.tmly-section-hdr-v4 { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:28px; gap:16px; flex-wrap:wrap; }
.tmly-section-hdr-v4-left { flex:1; min-width:0; }
.tmly-section-hdr-v4 .tmly-section-title { margin-bottom:0; font-size:clamp(22px,3vw,32px); }
.tmly-view-all-link { display:inline-flex; align-items:center; gap:5px; font-size:13px; font-weight:600; color:var(--violet-light); text-decoration:none; padding:8px 16px; border:1px solid rgba(124,58,237,0.3); border-radius:var(--radius-md); transition:all .2s; white-space:nowrap; }
.tmly-view-all-link:hover { background:rgba(124,58,237,0.1); border-color:var(--violet-light); color:#fff; }

/* ── Archive header V4 ── */
.tmly-archive-hdr-v4 { padding:52px 0 40px; border-bottom:1px solid var(--border); background:linear-gradient(to bottom,rgba(124,58,237,0.04),transparent); }
.tmly-archive-title-v4 { font-size:clamp(28px,4vw,44px); letter-spacing:-1.5px; margin-bottom:8px; }
.tmly-archive-sub-v4  { font-size:15px; color:var(--text-secondary); }
.tmly-archive-count-badge { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; color:var(--violet-light); background:rgba(124,58,237,0.1); border:1px solid rgba(124,58,237,0.2); border-radius:999px; padding:4px 12px; margin-bottom:12px; }

/* ── Partner sidebar: 1 logo per row ── */
.tmly-partner-list { display:flex; flex-direction:column; gap:8px; padding-top:2px; }
.tmly-partner-logo-row { display:flex; align-items:center; justify-content:center; height:64px; padding:10px 20px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--bg-card); text-decoration:none; transition:border-color .2s,background .2s,transform .15s; }
.tmly-partner-logo-row:hover { border-color:var(--violet); background:rgba(124,58,237,0.05); transform:translateY(-1px); }
.tmly-partner-logo-row img { max-height:38px; max-width:100%; width:auto; height:auto; object-fit:contain; filter:brightness(0.75) grayscale(0.2); transition:filter .2s; }
.tmly-partner-logo-row:hover img { filter:brightness(1) grayscale(0); }
.tmly-partner-placeholder { font-size:12px; font-weight:600; color:var(--text-muted); text-align:center; font-style:italic; }

/* ── Card V4 (tmly-tf-card) — ThemeForest style ── */
.tmly-tf-card { background:var(--bg-card); border:1px solid var(--border); border-radius:4px; overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .22s,transform .22s,border-color .22s; cursor:pointer; }
.tmly-tf-card:hover { box-shadow:0 4px 20px rgba(0,0,0,.35); border-color:rgba(124,58,237,.32); transform:translateY(-2px); }
.tmly-tf-img-wrap { display:block; position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--bg-elevated); flex-shrink:0; }
.tmly-tf-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.tmly-tf-card:hover .tmly-tf-img-wrap img { transform:scale(1.04); }
.tmly-tf-no-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--text-muted); }
.tmly-tf-hover-overlay { position:absolute; inset:0; background:rgba(0,0,0,0); display:flex; align-items:center; justify-content:center; opacity:0; transition:all .25s; z-index:3; }
.tmly-tf-hover-label { background:rgba(0,0,0,.65); color:#fff; font-size:12px; font-weight:600; padding:7px 16px; border-radius:3px; transform:translateY(5px); transition:transform .25s; }
.tmly-tf-card:hover .tmly-tf-hover-overlay { background:rgba(0,0,0,.15); opacity:1; }
.tmly-tf-card:hover .tmly-tf-hover-label { transform:translateY(0); }
.tmly-tf-badge { position:absolute; z-index:2; pointer-events:none; top:8px; left:8px; font-size:10px; font-weight:700; padding:3px 7px; border-radius:3px; letter-spacing:.4px; }
.tmly-tf-badge--new  { background:#10B981; color:#fff; }
.tmly-tf-badge--sale { background:#EF4444; color:#fff; left:auto; right:8px; }
.tmly-tf-body { padding:13px 14px 14px; display:flex; flex-direction:column; gap:10px; flex:1; }
.tmly-tf-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.tmly-tf-title { flex:1; min-width:0; margin:0; font-size:13.5px; font-weight:600; line-height:1.35; color:var(--text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tmly-tf-title a { text-decoration:none; color:inherit; }
.tmly-tf-title a:hover { color:var(--violet-light); }
.tmly-tf-price-tag { display:flex; align-items:baseline; gap:4px; flex-shrink:0; padding-top:1px; }
.tmly-tf-price-orig { font-size:11px; color:var(--text-muted); text-decoration:line-through; }
.tmly-tf-price { font-size:16px; font-weight:700; color:var(--text-primary); font-family:'Space Grotesk',sans-serif; line-height:1; }
.tmly-tf-actions { display:flex; align-items:center; gap:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.06); margin-top:auto; }
.tmly-tf-cart-btn { width:32px; height:32px; border-radius:50%; border:1px solid var(--border-strong); background:var(--bg-elevated); display:inline-flex; align-items:center; justify-content:center; color:var(--text-secondary); text-decoration:none; flex-shrink:0; transition:all .2s; }
.tmly-tf-cart-btn:hover { background:var(--violet); border-color:var(--violet); color:#fff; }
.tmly-tf-preview-btn { flex:1; text-align:center; padding:7px 8px; border-radius:3px; font-size:12px; font-weight:600; color:var(--violet-light); border:1px solid rgba(124,58,237,.3); background:rgba(124,58,237,.07); text-decoration:none; white-space:nowrap; transition:all .2s; }
.tmly-tf-preview-btn:hover { background:var(--violet); border-color:var(--violet); color:#fff; }
.tmly-themes-grid { display:grid; }

/* ── Single page: meta one-line ── */
.tmly-sg-one-line { display:flex; align-items:center; flex-wrap:wrap; gap:4px 6px; margin-bottom:20px; font-size:12.5px; color:var(--text-secondary); }
.tmly-sg-ol-item  { display:inline-flex; align-items:center; gap:4px; }
.tmly-sg-ol-green { color:var(--emerald-light); }
.tmly-sg-ol-muted { color:var(--text-muted); }
.tmly-sg-ol-dot   { color:var(--text-muted); font-size:10px; }
.tmly-sg-ol-cat   { color:var(--text-secondary); text-decoration:none; font-weight:500; transition:color .2s; }
.tmly-sg-ol-cat:hover { color:var(--violet-light); }
.tmly-sg-title    { margin-bottom:10px; }
.tmly-sg-author-row,.tmly-sg-badges,.tmly-sg-version-row,.tmly-sg-cats { display:none; }

/* ── Single page: gallery ── */
.tmly-sg-gallery-wrap { border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); margin-bottom:10px; background:var(--bg-elevated); }
.tmly-sg-topbar { display:flex; align-items:center; gap:10px; padding:9px 14px; background:var(--bg-surface); border-bottom:1px solid var(--border); }
.tmly-sg-topbar-dots { display:flex; gap:5px; flex-shrink:0; }
.tmly-sg-topbar-dots span { width:10px; height:10px; border-radius:50%; }
.tmly-sg-topbar-dots span:nth-child(1){background:#FF5F56} .tmly-sg-topbar-dots span:nth-child(2){background:#FFBD2E} .tmly-sg-topbar-dots span:nth-child(3){background:#27C93F}
.tmly-sg-topbar-url { flex:1; font-size:11px; color:var(--text-muted); font-family:'SF Mono','Fira Code',monospace; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tmly-sg-topbar-link { display:inline-flex; align-items:center; gap:5px; font-size:11px; font-weight:600; color:var(--violet-light); text-decoration:none; padding:4px 10px; border:1px solid rgba(124,58,237,0.25); border-radius:6px; flex-shrink:0; transition:all .2s; }
.tmly-sg-topbar-link:hover { background:rgba(124,58,237,0.1); border-color:var(--violet-light); color:#fff; }
.tmly-sg-main-img { aspect-ratio:16/9; overflow:hidden; background:var(--bg-elevated); }
.tmly-sg-main-img img { width:100%; height:100%; object-fit:cover; cursor:zoom-in; transition:transform .35s; display:block; }
.tmly-sg-main-img img:hover { transform:scale(1.025); }
.tmly-sg-thumbs { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:28px; padding-top:2px; }
.tmly-gallery-thumb { width:90px; height:60px; border-radius:var(--radius-sm); overflow:hidden; border:2px solid transparent; background:var(--bg-elevated); cursor:pointer; padding:0; transition:border-color .2s; flex-shrink:0; }
.tmly-gallery-thumb img { width:100%; height:100%; object-fit:cover; }
.tmly-gallery-thumb.is-active,.tmly-gallery-thumb:hover { border-color:var(--violet); }

/* ── Dropdown z-index fix ── */
.tmly-lic-dd { position:relative; }
.tmly-lic-dd-panel { position:absolute; top:calc(100% + 4px); left:0; right:0; z-index:9999; }

/* ── Footer: copyright left — DMCA right ── */
.tmly-footer-copy { margin:0; text-align:left; }
.tmly-footer-dmca { display:flex; align-items:center; opacity:.8; transition:opacity .2s; }
.tmly-footer-dmca:hover { opacity:1; }
.tmly-footer-dmca img { height:24px; width:auto; display:block; }
/* footer-dmca base styles → see global section above */

/* ════════════════════════
   RESPONSIVE — one block
   ════════════════════════ */
@media(max-width:1200px) { .tmly-themes-grid--4col{grid-template-columns:repeat(3,1fr)} }
@media(max-width:1024px) { .tmly-feat-grid-v4{grid-template-columns:repeat(2,1fr)} }
@media(max-width:900px) {
    .tmly-archive-layout { display:flex; flex-direction:column; gap:28px; }
    .tmly-archive-main   { width:100%; }
    .tmly-archive-sidebar{ width:100%; max-width:100%; position:static; }
    .tmly-themes-grid--4col,.tmly-themes-grid--3col { grid-template-columns:repeat(2,1fr); gap:14px; }
    .tmly-single-layout  { display:flex; flex-direction:column; }
    .tmly-single-sidebar { width:100%; position:static; }
}
@media(max-width:768px) {
    /* Hero */
    .tmly-hero-v4-inner { padding:48px 20px 40px; }
    .tmly-hero--v4 .tmly-hero-title { font-size:26px; letter-spacing:-0.5px; }
    .tmly-hero--v4 .tmly-hero-sub   { font-size:14px; margin-bottom:20px; }
    .tmly-searchbar-wrap { flex-wrap:wrap; padding:10px 12px; gap:6px; border-radius:var(--radius-lg); }
    .tmly-sb-divider { display:none; }
    .tmly-sb-input   { font-size:14px; min-width:0; flex:1; }
    .tmly-sb-btn     { width:100%; border-radius:var(--radius-md); justify-content:center; }
    .tmly-hero-poptags { justify-content:center; }
    .tmly-hero--v4 .tmly-hero-stats { flex-direction:row; justify-content:center; flex-wrap:wrap; gap:18px; }
    .tmly-hero-stat-divider { display:none; }
    .tmly-stat-num  { font-size:20px; }
    /* Cards */
    .tmly-themes-grid--4col,.tmly-themes-grid--3col { grid-template-columns:repeat(2,1fr); gap:10px; }
    .tmly-tf-hover-overlay { display:none; }
    .tmly-tf-body   { padding:9px 10px 10px; gap:7px; }
    .tmly-tf-title  { font-size:12px; }
    .tmly-tf-price  { font-size:14px; }
    /* Features */
    .tmly-feat-grid-v4 { grid-template-columns:1fr; border-radius:var(--radius-lg); }
    .tmly-feat-card-v4 { padding:22px 18px; }
    .tmly-feat-num-v4  { display:none; }
    /* Archive */
    .tmly-archive-hdr-v4   { padding:24px 0 18px; }
    .tmly-archive-title-v4 { font-size:22px; }
    .tmly-archive-filter-inner { flex-direction:column; gap:10px; }
    .tmly-archive-pills { overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; width:100%; padding-bottom:4px; }
    .tmly-archive-pill  { flex-shrink:0; }
    /* Single */
    .tmly-sg-title   { font-size:22px; }
    .tmly-sg-topbar-url { display:none; }
    .tmly-gallery-thumb { width:68px; height:44px; }
    /* Footer */
    .tmly-footer-bottom { flex-direction:column; align-items:center; text-align:center; gap:10px; }
    .tmly-footer-copy  { text-align:center; order:2; }
    .tmly-footer-dmca  { order:1; }
}
@media(max-width:480px) {
    .tmly-themes-grid--4col,.tmly-themes-grid--3col { grid-template-columns:repeat(2,1fr); gap:8px; }
    .tmly-hero--v4 .tmly-hero-title { font-size:22px; }
    .tmly-hero--v4 .tmly-hero-stats { gap:14px; }
}

/* ══════════════════════════════════════════════════════════════
   SINGLE PAGES MOBILE FIX — theme / landing / component
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .tmly-single-layout  { grid-template-columns: 1fr !important; gap: 24px !important; }
    .tmly-single-sidebar { position: static !important; width: 100% !important; max-width: 100% !important; }
}
@media (max-width: 768px) {
    .tmly-single-layout  { padding: 20px 0 40px !important; }
    .tmly-sg-gallery-wrap { border-radius: var(--radius-md) !important; }
    .tmly-sg-topbar-url  { display: none !important; }
    .tmly-sg-thumbs      { gap: 6px !important; margin-bottom: 16px !important; }
    .tmly-gallery-thumb  { width: 64px !important; height: 42px !important; }
    .tmly-sg-title       { font-size: clamp(20px,5vw,28px) !important; letter-spacing:-0.5px !important; }
    .tmly-sg-one-line    { font-size: 11px !important; margin-bottom: 14px !important; }
    .tmly-tabs           { overflow-x: auto !important; flex-wrap: nowrap !important; padding-bottom: 2px !important; }
    .tmly-tab-btn        { font-size: 13px !important; padding: 8px 14px !important; white-space: nowrap !important; flex-shrink: 0 !important; }
    .tmly-sb-box         { padding: 16px 18px !important; }
    .tmly-sb-price-now   { font-size: 28px !important; }
    .tmly-sb-buy-btn     { font-size: 14px !important; padding: 12px !important; }
    .tmly-sb-demo-btn    { font-size: 12px !important; }
    .tmly-sb-detail-row  { font-size: 12px !important; }
    .tmly-sb-inc-item    { font-size: 12px !important; }
    .tmly-lic-dd-trigger { padding: 10px 14px !important; }
    .tmly-lic-dd-opt-desc { font-size: 11px !important; }
}
@media (max-width: 480px) {
    .tmly-single-layout  { padding: 14px 0 32px !important; }
    .tmly-sg-title       { font-size: 20px !important; }
    .tmly-gallery-thumb  { width: 54px !important; height: 36px !important; }
    .tmly-sb-box         { padding: 14px 16px !important; }
    .tmly-sb-price-now   { font-size: 24px !important; }
    .tmly-tab-btn        { font-size: 12px !important; padding: 7px 11px !important; }
}

/* ══════════════════════════════════════════════════════════
   HERO SPLIT — tmly-hs
   ══════════════════════════════════════════════════════════ */
.tmly-hs { position:relative; overflow:hidden; padding:calc(var(--nav-height) + 60px) 0 80px; min-height:100vh; display:flex; align-items:center; }
.tmly-hs-bg { position:absolute; inset:0; pointer-events:none; z-index:0; }
.tmly-hs-g  { position:absolute; border-radius:50%; filter:blur(120px); }
.tmly-hs-g--1 { width:600px; height:600px; top:-100px;  left:-100px;  background:#7C3AED; opacity:.15; }
.tmly-hs-g--2 { width:500px; height:500px; bottom:-80px; right:0;      background:#059669; opacity:.12; }
.tmly-hs-g--3 { width:400px; height:400px; top:40%;     left:40%;     background:#D97706; opacity:.08; }

.tmly-hs-inner { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
.tmly-hs-left  { display:flex; flex-direction:column; }

.tmly-hs-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(124,58,237,0.1); border:1px solid rgba(124,58,237,0.25); border-radius:999px; padding:6px 16px; font-size:12px; font-weight:600; color:var(--violet-light); letter-spacing:.3px; margin-bottom:28px; width:fit-content; }

.tmly-hs-title { font-size:clamp(42px,5.5vw,72px); font-weight:800; letter-spacing:-3px; line-height:1.05; color:var(--text-primary); margin:0 0 22px; }
.tmly-hs-em    { font-style:normal; background:linear-gradient(135deg,#A78BFA,#34D399,#FCD34D); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.tmly-hs-sub { font-size:17px; color:var(--text-secondary); line-height:1.7; margin:0 0 32px; max-width:480px; }

/* Search */
.tmly-hs-search { margin-bottom:18px; }
.tmly-hs-si { display:flex; align-items:center; background:var(--bg-surface); border:1.5px solid var(--border-strong); border-radius:var(--radius-xl); padding:5px 5px 5px 16px; box-shadow:0 8px 32px rgba(0,0,0,0.4); transition:border-color .2s,box-shadow .2s; }
.tmly-hs-si:focus-within { border-color:var(--violet); box-shadow:0 8px 32px rgba(0,0,0,0.4),0 0 0 3px rgba(124,58,237,0.15); }
.tmly-hs-si svg   { color:var(--text-muted); flex-shrink:0; margin-right:10px; }
.tmly-hs-input    { flex:1; background:transparent; border:none; outline:none; font-size:15px; color:var(--text-primary); font-family:inherit; padding:10px 0; min-width:0; }
.tmly-hs-input::placeholder { color:var(--text-muted); }
.tmly-hs-sdiv     { width:1px; height:24px; background:var(--border-strong); flex-shrink:0; margin:0 4px; }
.tmly-hs-stype    { background:transparent; border:none; outline:none; color:var(--text-secondary); font-size:13px; font-weight:500; font-family:inherit; cursor:pointer; padding:8px 20px 8px 8px; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 2px center; }
.tmly-hs-stype option { background:var(--bg-elevated); color:var(--text-primary); }
.tmly-hs-sbtn  { background:var(--violet); color:#fff; border:none; border-radius:var(--radius-lg); padding:11px 20px; font-size:14px; font-weight:600; cursor:pointer; font-family:inherit; white-space:nowrap; flex-shrink:0; transition:background .2s,transform .15s; }
.tmly-hs-sbtn:hover { background:#6D28D9; transform:translateY(-1px); }

/* Quick links */
.tmly-hs-quick { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:32px; }
.tmly-hs-qlink { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:500; color:var(--text-muted); text-decoration:none; padding:5px 12px; background:rgba(255,255,255,0.04); border:1px solid var(--border-strong); border-radius:999px; transition:all .2s; }
.tmly-hs-qlink:hover { color:var(--violet-light); border-color:rgba(124,58,237,0.4); background:rgba(124,58,237,0.06); }

/* Stats */
.tmly-hs-stats { display:flex; align-items:center; flex-wrap:wrap; gap:0; }
.tmly-hs-stat  { display:flex; flex-direction:column; gap:2px; padding-right:20px; }
.tmly-hs-stat strong { font-size:22px; font-weight:800; color:var(--text-primary); font-family:'Space Grotesk',sans-serif; line-height:1; }
.tmly-hs-stat span   { font-size:11px; color:var(--text-muted); font-weight:500; }
.tmly-hs-ss          { width:1px; height:32px; background:var(--border-strong); flex-shrink:0; margin-right:20px; }

/* RIGHT: 3D grid */
.tmly-hs-right  { position:relative; }
.tmly-hs-pgrid  { display:grid; grid-template-columns:1fr 1fr; gap:14px; transform:perspective(1200px) rotateY(-8deg) rotateX(3deg); transform-style:preserve-3d; }
.tmly-hs-pc     { border-radius:var(--radius-lg); overflow:hidden; border:1px solid rgba(255,255,255,0.1); box-shadow:0 24px 64px rgba(0,0,0,0.5); aspect-ratio:4/3; position:relative; transition:transform .3s; }
.tmly-hs-pc:hover { transform:translateZ(8px); }
.tmly-hs-pc img  { width:100%; height:100%; object-fit:cover; display:block; }
.tmly-hs-pc--1  { transform:translateY(-8px); }
.tmly-hs-pc--3  { transform:translateY(8px); }
.tmly-hs-pc--4  { transform:translateY(16px); }

/* Placeholder cards */
.tmly-hs-ph     { width:100%; height:100%; display:flex; flex-direction:column; gap:10px; padding:18px; position:relative; }
.tmly-hs-ph-b   { height:8px; border-radius:4px; background:rgba(255,255,255,0.25); width:70%; }
.tmly-hs-ph-b--s { width:45%; height:6px; }
.tmly-hs-ph-g   { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:auto; }
.tmly-hs-ph-g span { height:40px; border-radius:6px; background:rgba(255,255,255,0.15); }
.tmly-hs-ph-l   { position:absolute; bottom:12px; left:12px; font-size:10px; font-weight:700; color:rgba(255,255,255,0.7); letter-spacing:.5px; text-transform:uppercase; }
.tmly-hs-shine  { position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,0.08) 0%,transparent 50%); pointer-events:none; }

/* Floating badges */
.tmly-hs-fb { position:absolute; display:inline-flex; align-items:center; gap:6px; background:var(--bg-surface); border:1px solid var(--border-strong); border-radius:999px; padding:6px 14px; font-size:12px; font-weight:600; color:var(--text-secondary); box-shadow:0 8px 24px rgba(0,0,0,0.3); white-space:nowrap; animation:tmlyFloatUD 5s ease-in-out infinite; }
.tmly-hs-fb--1 { top:-16px; left:-20px;  color:#FCD34D; border-color:rgba(245,158,11,0.3); animation-delay:0s; }
.tmly-hs-fb--1 svg { color:#FCD34D; }
.tmly-hs-fb--2 { bottom:30px; left:-28px; color:var(--emerald-light); border-color:rgba(16,185,129,0.3); animation-delay:-2s; }
.tmly-hs-fb--2 svg { color:var(--emerald-light); }
.tmly-hs-fb--3 { top:40%; right:-20px; color:var(--violet-light); border-color:rgba(124,58,237,0.3); animation-delay:-1s; }

/* Empty state */
.tmly-empty-state { text-align:center; padding:56px 24px; border:1px dashed var(--border-strong); border-radius:var(--radius-xl); color:var(--text-muted); }
.tmly-empty-state p { margin:0 0 18px; font-size:15px; }

/* Browse by type */
.tmly-btype-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tmly-btype-card { display:flex; flex-direction:column; gap:16px; padding:28px 24px; border-radius:var(--radius-xl); border:1px solid var(--border); background:var(--bg-card); text-decoration:none; position:relative; overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.tmly-btype-card::before { content:''; position:absolute; inset:0; opacity:0; transition:opacity .25s; }
.tmly-btype-card:hover { transform:translateY(-3px); }
.tmly-btype-card--violet  { border-color:rgba(124,58,237,0.2); }
.tmly-btype-card--violet:hover  { box-shadow:0 8px 32px rgba(124,58,237,0.2); border-color:rgba(124,58,237,0.5); }
.tmly-btype-card--violet::before  { background:radial-gradient(ellipse at top left,rgba(124,58,237,0.08),transparent 60%); }
.tmly-btype-card--emerald { border-color:rgba(16,185,129,0.2); }
.tmly-btype-card--emerald:hover { box-shadow:0 8px 32px rgba(16,185,129,0.15); border-color:rgba(16,185,129,0.5); }
.tmly-btype-card--emerald::before { background:radial-gradient(ellipse at top left,rgba(16,185,129,0.07),transparent 60%); }
.tmly-btype-card--amber   { border-color:rgba(245,158,11,0.2); }
.tmly-btype-card--amber:hover   { box-shadow:0 8px 32px rgba(245,158,11,0.12); border-color:rgba(245,158,11,0.5); }
.tmly-btype-card--amber::before   { background:radial-gradient(ellipse at top left,rgba(245,158,11,0.07),transparent 60%); }
.tmly-btype-card:hover::before { opacity:1; }
.tmly-btype-icon   { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tmly-btype-card--violet .tmly-btype-icon  { background:rgba(124,58,237,0.15); color:var(--violet-light); }
.tmly-btype-card--emerald .tmly-btype-icon { background:rgba(16,185,129,0.12);  color:var(--emerald-light); }
.tmly-btype-card--amber   .tmly-btype-icon { background:rgba(245,158,11,0.12);   color:#FCD34D; }
.tmly-btype-content { flex:1; }
.tmly-btype-count { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.8px; margin:0 0 6px; }
.tmly-btype-card--violet .tmly-btype-count  { color:var(--violet-light); }
.tmly-btype-card--emerald .tmly-btype-count { color:var(--emerald-light); }
.tmly-btype-card--amber   .tmly-btype-count { color:#FCD34D; }
.tmly-btype-title { font-size:20px; font-weight:700; color:var(--text-primary); margin:0 0 8px; }
.tmly-btype-desc  { font-size:13.5px; color:var(--text-muted); line-height:1.6; margin:0; }
.tmly-btype-arrow { font-size:20px; color:var(--text-muted); align-self:flex-end; transition:transform .2s,color .2s; }
.tmly-btype-card:hover .tmly-btype-arrow { transform:translateX(4px); }
.tmly-btype-card--violet:hover  .tmly-btype-arrow { color:var(--violet-light); }
.tmly-btype-card--emerald:hover .tmly-btype-arrow { color:var(--emerald-light); }
.tmly-btype-card--amber:hover   .tmly-btype-arrow { color:#FCD34D; }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
    .tmly-hs-inner { grid-template-columns:1fr; gap:40px; }
    .tmly-hs       { min-height:auto; padding:calc(var(--nav-height)+36px) 0 56px; }
    .tmly-hs-right { display:none; }
    .tmly-hs-title { font-size:clamp(34px,6vw,54px); letter-spacing:-2px; }
    .tmly-btype-grid { grid-template-columns:1fr; gap:12px; }
    .tmly-btype-card { flex-direction:row; align-items:flex-start; padding:18px 20px; }
    .tmly-btype-icon { width:44px; height:44px; flex-shrink:0; }
    .tmly-btype-title { font-size:17px; }
    .tmly-btype-arrow { align-self:center; margin-left:auto; }
}
@media (max-width:768px) {
    .tmly-hs { padding:calc(var(--nav-height)+24px) 0 44px; }
    .tmly-hs-title { font-size:clamp(28px,7vw,40px) !important; letter-spacing:-1.5px !important; }
    .tmly-hs-sub   { font-size:14px !important; margin-bottom:22px !important; }
    .tmly-hs-badge { font-size:11px; padding:5px 12px; }
    .tmly-hs-si    { flex-wrap:wrap; padding:10px 12px; border-radius:var(--radius-lg); gap:6px; }
    .tmly-hs-si svg { margin-right:6px; }
    .tmly-hs-input { font-size:14px; padding:6px 0; }
    .tmly-hs-sdiv  { display:none; }
    .tmly-hs-sbtn  { width:100%; border-radius:var(--radius-md); justify-content:center; }
    .tmly-hs-quick { gap:6px; }
    .tmly-hs-qlink { font-size:11px; padding:4px 10px; }
    .tmly-hs-stats { flex-wrap:wrap; gap:12px 0; }
    .tmly-hs-stat strong { font-size:18px; }
    .tmly-hs-ss    { margin-right:14px; height:24px; }
    .tmly-hs-stat  { padding-right:14px; }
    .tmly-btype-card { padding:16px; }
    .tmly-btype-title { font-size:16px; }
    .tmly-btype-desc  { display:none; }
    .tmly-section-hdr-v4 { flex-wrap:wrap; gap:10px; }
}
@media (max-width:480px) {
    .tmly-hs-title { font-size:26px !important; letter-spacing:-1px !important; }
    .tmly-hs-stats { gap:10px 0; }
    .tmly-hs-ss    { display:none; }
    .tmly-hs-stat  { padding:0 12px 0 0; }
    .tmly-btype-grid { gap:10px; }
}
