/*
Theme Name: 365TCG Theme
Author: FYstart
Description: Custom WooCommerce theme for 365TCG.
Version: 1.0
Text Domain: 365tcg
*/

:root {
    --black: #070707;
    --graphite: #171717;
    --cream: #f6f1e8;
    --white: #ffffff;
    --line: rgba(10,10,10,.08);
    --muted: #77736b;
    --gold: #c8a75d;
    --blue: #2563eb;
    --yellow: #facc15;
    --purple: #7c3aed;
    --emerald: #10b981;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.09), transparent 30%),
        radial-gradient(circle at top right, rgba(200,167,93,.14), transparent 26%),
        var(--cream);
    color: var(--black);
}

body.sheet-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: inherit;
}

svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.tcg-container {
    width: min(1240px, calc(100% - 44px));
    margin: 0 auto;
}

.tcg-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    transition: all .3s ease;
}

.tcg-header.scrolled .header-inner {
    backdrop-filter: blur(30px);
    background: rgba(255,255,255,.92);
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
}

.tcg-topbar {
    background: #070707;
    color: white;
    font-size: 13px;
}

.topbar-inner {
    height: 36px;
    display: flex;
    justify-content: center;
    gap: 34px;
    align-items: center;
    opacity: .92;
}

.topbar-inner a {
    color: var(--gold);
}

.tcg-main-header {
    padding: 18px 0 0;
}

.header-inner {
    height: 76px;
    padding: 0 22px;
    border: 1px solid rgba(255,255,255,.6);
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(28px);
    border-radius: 999px;
    box-shadow: 0 22px 70px rgba(20,20,20,.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tcg-logo {
    font-size: 28px;
    font-weight: 950;
    letter-spacing: -1.5px;
    line-height: 1;
}

.tcg-logo span {
    color: var(--gold);
}

.desktop-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.desktop-nav > a,
.nav-trigger {
    height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    font-size: 14.5px;
    font-weight: 750;
    color: rgba(0,0,0,.72);
    transition: .22s ease;
}

.desktop-nav > a:hover,
.nav-trigger:hover,
.nav-trigger.is-active {
    color: var(--black);
    background: rgba(255,255,255,.85);
    box-shadow: inset 0 0 0 1px var(--line), 0 12px 30px rgba(0,0,0,.06);
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-actions a,
.mobile-cart {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: white;
    border: 1px solid var(--line);
    transition: .22s ease;
}

.header-actions a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0,0,0,.1);
}

.cart-action {
    background: var(--black) !important;
    color: white;
}

.mega-menu {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 126px;
    padding: 0 0 18px;
}

.mega-menu.is-open {
    display: block;
}

.mega-inner {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 18px;
    padding: 18px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(30px);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 34px;
    box-shadow: 0 34px 90px rgba(0,0,0,.14);
}

.mega-feature {
    min-height: 260px;
    border-radius: 26px;
    padding: 30px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    position: relative;
}

.mega-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .9;
}

.pokemon-feature::before {
    background:
        radial-gradient(circle at 80% 20%, rgba(250,204,21,.95), transparent 22%),
        linear-gradient(135deg, #1d4ed8, #111827);
}

.games-feature::before {
    background:
        radial-gradient(circle at 80% 20%, rgba(168,85,247,.7), transparent 25%),
        linear-gradient(135deg, #111827, #4c1d95);
}

.mega-feature > * {
    position: relative;
    z-index: 1;
}

.mega-feature span {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    opacity: .82;
}

.mega-feature h3 {
    margin: 10px 0 8px;
    font-size: 31px;
    line-height: 1.02;
    letter-spacing: -1.2px;
}

.mega-feature p {
    max-width: 360px;
    color: rgba(255,255,255,.78);
    margin: 0 0 24px;
}

.mega-feature a {
    width: fit-content;
    padding: 13px 18px;
    border-radius: 999px;
    background: white;
    color: var(--black);
    font-weight: 850;
    font-size: 14px;
}

.mega-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.mega-links a {
    min-height: 74px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #fbfaf7;
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    font-weight: 800;
    transition: .22s ease;
}

.mega-links a:hover {
    transform: translateY(-3px);
    background: white;
    box-shadow: 0 16px 44px rgba(0,0,0,.08);
}

.mobile-top-header,
.mobile-app-nav,
.mobile-sheet,
.mobile-sheet-overlay {
    display: none;
}

@media (max-width: 900px) {
    body {
        padding-bottom: 92px;
    }

    .tcg-header {
        display: none;
    }

    .mobile-top-header {
        height: 72px;
        padding: 0 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: rgba(246,241,232,.82);
        backdrop-filter: blur(24px);
        position: sticky;
        top: 0;
        z-index: 90;
    }

    .mobile-top-header .tcg-logo {
        font-size: 25px;
    }

    .mobile-cart {
        display: grid;
    }

    .mobile-app-nav {
        position: fixed;
        left: 50%;
        bottom: 16px;
        transform: translateX(-50%);
        z-index: 120;
        width: min(430px, calc(100% - 24px));
        height: 78px;
        padding: 8px;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        align-items: center;
        background: rgba(255,255,255,.86);
        backdrop-filter: blur(30px);
        border: 1px solid rgba(255,255,255,.8);
        border-radius: 999px;
        box-shadow: 0 20px 70px rgba(0,0,0,.18);
    }

    .mobile-nav-item {
        border: 0;
        background: transparent;
        color: rgba(0,0,0,.62);
        display: grid;
        justify-items: center;
        gap: 4px;
        font-size: 11px;
        font-weight: 850;
        cursor: pointer;
    }

    .mobile-nav-item svg {
        width: 21px;
        height: 21px;
    }

    .mobile-nav-item.active {
        color: var(--blue);
    }

    .mobile-nav-main {
        width: 62px;
        height: 62px;
        border-radius: 999px;
        background:
            linear-gradient(135deg, var(--black), #2b2b2b);
        color: white;
        display: grid;
        place-items: center;
        justify-self: center;
        transform: translateY(-13px);
        box-shadow: 0 16px 34px rgba(0,0,0,.28);
    }

    .mobile-sheet-overlay {
        position: fixed;
        inset: 0;
        z-index: 130;
        background: rgba(0,0,0,.45);
        backdrop-filter: blur(10px);
    }

    .mobile-sheet-overlay.is-open {
        display: block;
    }

    .mobile-sheet {
        position: fixed;
        left: 0;
        right: 0;
        bottom: -100%;
        z-index: 140;
        background: #fbfaf7;
        border-radius: 34px 34px 0 0;
        padding: 12px 18px 110px;
        box-shadow: 0 -30px 80px rgba(0,0,0,.24);
        transition: .3s ease;
        max-height: 82vh;
        overflow-y: auto;
    }

    .mobile-sheet.is-open {
        display: block;
        bottom: 0;
    }

    .sheet-handle {
        width: 54px;
        height: 5px;
        border-radius: 999px;
        background: rgba(0,0,0,.16);
        margin: 0 auto 18px;
    }

    .sheet-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
    }

    .sheet-head span {
        color: var(--muted);
        font-size: 13px;
        font-weight: 850;
        text-transform: uppercase;
    }

    .sheet-head h3 {
        margin: 4px 0 0;
        font-size: 28px;
        letter-spacing: -1px;
    }

    .close-sheet {
        width: 44px;
        height: 44px;
        border-radius: 999px;
        border: 1px solid var(--line);
        background: white;
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
    }

    .sheet-links {
        display: grid;
        gap: 12px;
    }

    .sheet-links a {
        min-height: 64px;
        padding: 0 20px;
        border-radius: 20px;
        display: flex;
        align-items: center;
        background: white;
        border: 1px solid var(--line);
        font-size: 17px;
        font-weight: 850;
    }

    .sheet-links a:first-child {
        background: linear-gradient(135deg, var(--black), #2d2d2d);
        color: white;
    }
}
.hero-section {
    position: relative;
    overflow: hidden;
    padding: 120px 0 140px;
}

.hero-bg {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(circle at 20% 20%, rgba(37,99,235,.18), transparent 25%),
        radial-gradient(circle at 80% 20%, rgba(250,204,21,.18), transparent 25%),
        radial-gradient(circle at 80% 80%, rgba(124,58,237,.15), transparent 30%);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 80px;
    align-items: center;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-badge {
    display: inline-flex;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.8);
    border: 1px solid rgba(255,255,255,.6);
    backdrop-filter: blur(20px);
    font-size: 13px;
    font-weight: 800;
}

.hero-content h1 {
    font-size: 72px;
    line-height: .95;
    letter-spacing: -3px;
    margin: 24px 0;
    max-width: 700px;
}

.hero-content p {
    font-size: 20px;
    color: var(--muted);
    max-width: 580px;
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    gap: 16px;
    margin-top: 40px;
}

.hero-btn {
    padding: 18px 30px;
    border-radius: 999px;
    font-weight: 800;
    transition: .25s;
}

.hero-btn.primary {
    background: var(--black);
    color: white;
}

.hero-btn.secondary {
    background: white;
    border: 1px solid var(--line);
}

.hero-btn:hover {
    transform: translateY(-3px);
}

.hero-showcase {
    position: relative;
    height: 500px;
}

.floating-card {
    position: absolute;
    width: 320px;
    height: 220px;

    background: rgba(255,255,255,.82);

    backdrop-filter: blur(30px);

    border-radius: 30px;

    padding: 28px;

    box-shadow:
        0 30px 80px rgba(0,0,0,.12);

    transition: .3s;
}

.floating-card:hover {
    transform: translateY(-10px);
}

.floating-card span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.floating-card h3 {
    margin-top: 20px;
    font-size: 28px;
    line-height: 1.1;
}

.card-1 {
    top: 0;
    right: 20px;
}

.card-2 {
    top: 140px;
    left: 0;
}

.card-3 {
    bottom: 0;
    right: 0;
}

@media(max-width:900px){

.hero-grid{
grid-template-columns:1fr;
}

.hero-content h1{
font-size:48px;
}

.hero-showcase{
height:350px;
}

.floating-card{
width:240px;
height:170px;
}

}
.hero-cinematic {
    position: relative;
    min-height: calc(100vh - 36px);
    padding: 170px 0 150px;
    overflow: hidden;
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.76) 35%, rgba(0,0,0,.22) 68%, rgba(0,0,0,.58) 100%),
        linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.2) 55%, rgba(0,0,0,.92) 100%),
        url("assets/img/hero-tcg.jpg");
    background-size: cover;
    background-position: center;
    color: white;
    padding-top: 190px;
}

.hero-cinematic-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 72% 42%, rgba(200,167,93,.18), transparent 22%),
        radial-gradient(circle at 46% 52%, rgba(124,58,237,.12), transparent 24%);
    pointer-events: none;
}

.hero-cinematic-inner {
    position: relative;
    z-index: 2;
}

.hero-cinematic-content {
    max-width: 670px;
}

.hero-kicker-dark {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.hero-kicker-dark::before {
    content: "";
    width: 34px;
    height: 1px;
    background: var(--gold);
}

.hero-cinematic h1 {
    margin: 28px 0 24px;
    font-size: clamp(58px, 7vw, 104px);
    line-height: .88;
    letter-spacing: -5px;
    color: white;
}

.hero-cinematic h1 span {
    color: var(--gold);
}

.hero-cinematic p {
    max-width: 620px;
    margin: 0;
    font-size: 20px;
    line-height: 1.7;
    color: rgba(255,255,255,.72);
}

.hero-cinematic-actions {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 42px;
}

.cinematic-btn {
    min-height: 62px;
    padding: 0 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 18px;
    font-size: 16px;
    font-weight: 900;
    transition: .25s ease;
}

.cinematic-btn.primary {
    background: linear-gradient(135deg, #f0d37a, var(--gold));
    color: #090909;
    box-shadow: 0 24px 60px rgba(200,167,93,.28);
}

.cinematic-btn.secondary {
    border: 1px solid rgba(255,255,255,.32);
    background: rgba(255,255,255,.05);
    color: white;
    backdrop-filter: blur(20px);
}

.cinematic-btn:hover {
    transform: translateY(-3px);
}

.hero-cinematic-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 44px;
    color: rgba(255,255,255,.9);
}

.hero-cinematic-trust div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-cinematic-trust div::before {
    content: "";
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(200,167,93,.45);
    background: rgba(200,167,93,.12);
}

.hero-cinematic-trust strong {
    font-size: 14px;
}

.hero-slider-dots {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 150px;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
}

.hero-slider-dots button {
    width: 46px;
    height: 5px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.28);
}

.hero-slider-dots button.active {
    background: var(--gold);
}

.hero-quick-bar {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    width: min(1180px, calc(100% - 70px));
    min-height: 112px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-radius: 24px;
    overflow: hidden;
    background: rgba(18,18,18,.82);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(24px);
    box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.hero-quick-bar a {
    padding: 26px 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    color: white;
    border-right: 1px solid rgba(255,255,255,.08);
    transition: .22s ease;
}

.hero-quick-bar a:last-child {
    border-right: 0;
}

.hero-quick-bar a:hover {
    background: rgba(255,255,255,.06);
}

.hero-quick-bar strong {
    font-size: 18px;
}

.hero-quick-bar span {
    color: rgba(255,255,255,.55);
    font-size: 14px;
}

@media (max-width: 900px) {
    .hero-cinematic {
        min-height: auto;
        padding: 110px 0 270px;
        background-position: 68% center;
    }

    .hero-cinematic h1 {
        letter-spacing: -3px;
    }

    .hero-cinematic p {
        font-size: 17px;
    }

    .hero-cinematic-trust {
        gap: 14px;
    }

    .hero-slider-dots {
        bottom: 205px;
    }

    .hero-quick-bar {
        bottom: 26px;
        width: calc(100% - 28px);
        grid-template-columns: 1fr 1fr;
        min-height: auto;
        border-radius: 22px;
    }

    .hero-quick-bar a {
        padding: 20px;
        min-height: 86px;
    }
}
.category-showcase-light {
    padding: 110px 0;
    background:
        linear-gradient(180deg, #080808 0%, #f6f1e8 18%, #f6f1e8 100%);
    color: var(--black);
}

.section-head-light {
    max-width: 720px;
    margin-bottom: 46px;
}

.section-head-light span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.section-head-light h2 {
    margin: 14px 0;
    font-size: clamp(42px, 5vw, 76px);
    line-height: .95;
    letter-spacing: -3px;
}

.section-head-light p {
    margin: 0;
    color: rgba(0,0,0,.56);
    font-size: 19px;
    line-height: 1.6;
}

.category-light-grid {
    display: grid;
    grid-template-columns: 1.15fr .9fr .9fr;
    gap: 20px;
}

.category-light-card {
    min-height: 460px;
    border-radius: 36px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 34px;
    background: white;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.11);
    transition: .35s ease;
}

.category-light-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .55s ease;
}

.category-light-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.25) 42%, rgba(0,0,0,.86) 100%);
}

.category-light-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 46px 130px rgba(0,0,0,.18);
}

.category-light-card:hover img {
    transform: scale(1.06);
}

.category-light-content {
    position: relative;
    z-index: 2;
    max-width: 460px;
    color: white;
}

.category-light-content span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.category-light-content h3 {
    margin: 12px 0 24px;
    font-size: clamp(27px, 3vw, 43px);
    line-height: 1.02;
    letter-spacing: -1.6px;
}

.category-light-content strong {
    font-size: 15px;
    font-weight: 950;
    color: white;
}

@media (max-width: 900px) {
    .category-showcase-light {
        padding: 72px 0;
        background:
            linear-gradient(180deg, #080808 0%, #f6f1e8 9%, #f6f1e8 100%);
    }

    .category-light-grid {
        grid-template-columns: 1fr;
    }

    .category-light-card {
        min-height: 340px;
        border-radius: 28px;
    }
}
/* WooCommerce archive základ */
.woocommerce-shop main,
.post-type-archive-product main {
    padding: 170px 0 90px;
}

.woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering {
    width: min(1240px, calc(100% - 44px));
    margin-left: auto;
    margin-right: auto;
}

.woocommerce-products-header h1 {
    font-size: clamp(44px, 5vw, 76px);
    letter-spacing: -3px;
    margin: 40px 0 20px;
}

.woocommerce ul.products {
    width: min(1240px, calc(100% - 44px));
    margin: 50px auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
}

.woocommerce ul.products li.product {
    width: auto !important;
    margin: 0 !important;
}

/* 365TCG product card */
.tcg-product-card {
    list-style: none;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0,0,0,.08);
    transition: .3s ease;
}

.tcg-product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 36px 100px rgba(0,0,0,.14);
}

.tcg-product-image-wrap {
    height: 280px;
    background: linear-gradient(180deg, #fff, #f3eee4);
    display: grid;
    place-items: center;
    overflow: hidden;
}

.tcg-product-image-wrap img {
    width: 82%;
    height: 82%;
    object-fit: contain;
    transition: .35s ease;
}

.tcg-product-card:hover .tcg-product-image-wrap img {
    transform: scale(1.06);
}

.tcg-product-content {
    padding: 24px;
}

.tcg-product-category,
.tcg-product-category a {
    color: var(--gold);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.tcg-product-title {
    display: block;
    min-height: 52px;
    margin: 10px 0 18px;
    color: var(--black);
    font-size: 21px;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -.6px;
}

.tcg-product-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.tcg-product-price {
    font-size: 20px;
    font-weight: 950;
}

.tcg-stock {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    font-weight: 800;
}

.tcg-stock span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.tcg-stock.in-stock span {
    background: #16a34a;
}

.tcg-stock.out-stock span {
    background: #dc2626;
}

.tcg-add-to-cart,
.woocommerce ul.products li.product .button {
    width: 100%;
    min-height: 54px;
    border-radius: 999px !important;
    font-size: 15px !important;
    letter-spacing: -.2px;
    background: var(--black) !important;
    color: white !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-weight: 900 !important;
    border: 0 !important;
    margin: 0 !important;
}

@media (max-width: 1100px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 760px) {
    .woocommerce-shop main,
    .post-type-archive-product main {
        padding: 20px 0 80px;
    }

    .woocommerce ul.products {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .tcg-product-image-wrap {
        height: 210px;
    }

    .tcg-product-content {
        padding: 16px;
    }

    .tcg-product-title {
        font-size: 17px;
    }
}
.featured-products-section {
    padding: 110px 0;
    background:
        radial-gradient(circle at 12% 12%, rgba(200,167,93,.16), transparent 24%),
        linear-gradient(180deg, #f6f1e8 0%, #fffaf1 100%);
}

.featured-products-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 44px;
}

.featured-products-head span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.featured-products-head h2 {
    margin: 14px 0;
    font-size: clamp(42px, 5vw, 76px);
    line-height: .95;
    letter-spacing: -3px;
}

.featured-products-head p {
    margin: 0;
    color: rgba(0,0,0,.56);
    font-size: 19px;
}

.section-link {
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    background: var(--black);
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    white-space: nowrap;
}

.tcg-featured-products {
    width: 100% !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 0 !important;
}

.tcg-featured-products::before,
.tcg-featured-products::after {
    display: none !important;
}

.tcg-featured-products li.product {
    width: auto !important;
    margin: 0 !important;
}

@media (max-width: 1100px) {
    .tcg-featured-products {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 760px) {
    .featured-products-section {
        padding: 76px 0;
    }

    .featured-products-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .tcg-featured-products {
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }
}
.buyback-section {
    padding: 120px 0;
    background: #fdfbf6;
}

.buyback-card {
    position: relative;
    overflow: hidden;

    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 40px;

    padding: 70px;

    border-radius: 40px;

    background:
        linear-gradient(135deg,
        #111111 0%,
        #1d1d1d 100%);

    color: white;

    box-shadow:
        0 50px 120px rgba(0,0,0,.18);
}

.buyback-content span:first-child {
    color: var(--gold);
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 1.5px;
}

.buyback-content h2 {
    margin: 18px 0;
    font-size: clamp(42px,5vw,72px);
    line-height: .95;
    letter-spacing: -3px;
}

.buyback-content p {
    max-width: 620px;
    color: rgba(255,255,255,.7);
    font-size: 19px;
    line-height: 1.7;
}

.buyback-steps {
    display: flex;
    gap: 18px;
    margin-top: 38px;
    flex-wrap: wrap;
}

.buyback-step {
    min-width: 180px;

    padding: 20px;

    border-radius: 22px;

    background:
        rgba(255,255,255,.05);

    border:
        1px solid rgba(255,255,255,.08);
}

.buyback-step strong {
    display: block;
    color: var(--gold);
    margin-bottom: 10px;
    font-size: 18px;
}

.buyback-step span {
    color: white;
    font-size: 15px;
    text-transform: none;
    letter-spacing: 0;
}

.buyback-btn {
    margin-top: 34px;

    display: inline-flex;
    align-items: center;

    min-height: 58px;
    padding: 0 26px;

    border-radius: 999px;

    background:
        linear-gradient(135deg,
        #e5c97c,
        var(--gold));

    color: #111;

    font-weight: 900;
}

.buyback-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}


.buyback-visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.buyback-image {
    width: 100%;
    max-width: 520px;
    border-radius: 28px;

    object-fit: cover;

    box-shadow:
        0 40px 100px rgba(0,0,0,.35);

    transition: .35s ease;
}

.buyback-image:hover {
    transform: translateY(-8px);
}
.buyback-steps {
    display: flex;
    gap: 40px;
    margin-top: 30px;
}

.buyback-step {
    padding: 0;
    background: none;
    border: 0;
    min-width: auto;
}

.buyback-step strong {
    color: var(--gold);
    font-size: 26px;
    margin-bottom: 6px;
}


.buyback-floating-card span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.2px;
}

.buyback-floating-card h3 {
    margin: 14px 0;
    font-size: 34px;
    letter-spacing: -1px;
}

.buyback-floating-card p {
    color: rgba(255,255,255,.7);
}

@media(max-width:900px){

.buyback-card{
grid-template-columns:1fr;
padding:40px 28px;
}

.buyback-content h2{
letter-spacing:-2px;
}

.buyback-floating-card{
width:100%;
}

}
.trust-section {
    padding: 120px 0;
    background:
        radial-gradient(circle at 8% 20%, rgba(200,167,93,.18), transparent 28%),
        radial-gradient(circle at 92% 80%, rgba(0,0,0,.06), transparent 28%),
        #f6f1e8;
}

.trust-head {
    max-width: 900px;
    margin-bottom: 52px;
}

.trust-head span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.trust-head h2 {
    margin: 14px 0 0;
    max-width: 760px;
    font-size: clamp(42px, 5vw, 74px);
    line-height: .94;
    letter-spacing: -3.4px;
}

.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.trust-card {
    position: relative;
    overflow: hidden;
    min-height: 310px;
    padding: 32px;
    border-radius: 34px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.68));
    border: 1px solid rgba(255,255,255,.9);
    box-shadow:
        0 30px 90px rgba(0,0,0,.08),
        inset 0 1px 0 rgba(255,255,255,.9);
    transition: .32s ease;
}

.trust-card::before {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    right: -55px;
    top: -55px;
    border-radius: 50%;
    background: rgba(200,167,93,.15);
    filter: blur(3px);
}

.trust-card::after {
    content: "";
    position: absolute;
    inset: auto 28px 24px 28px;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
    opacity: .45;
}

.trust-card:hover {
    transform: translateY(-9px);
    box-shadow:
        0 45px 130px rgba(0,0,0,.14),
        inset 0 1px 0 rgba(255,255,255,1);
}

.trust-card strong {
    position: relative;
    z-index: 2;
    width: 46px;
    height: 46px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #111;
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .8px;
}

.trust-card h3 {
    position: relative;
    z-index: 2;
    margin: 58px 0 16px;
    font-size: 29px;
    line-height: 1.02;
    letter-spacing: -1.2px;
}

.trust-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: rgba(0,0,0,.58);
    line-height: 1.7;
    font-size: 15.5px;
}

@media (max-width: 1000px) {
    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .trust-section {
        padding: 78px 0;
    }

    .trust-grid {
        grid-template-columns: 1fr;
    }

    .trust-card {
        min-height: 250px;
    }
}
.new-arrivals{
    padding:140px 0;
    background:#0d0d0d;
    color:white;
    overflow:hidden;
}

.arrivals-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    margin-bottom:50px;
}

.arrivals-head span{
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:13px;
    font-weight:900;
}

.arrivals-head h2{
    margin-top:14px;
    font-size:clamp(42px,5vw,76px);
    line-height:.95;
    letter-spacing:-3px;
    color:white;
}

.arrivals-link{
    color:white;
    font-weight:800;
}

.arrivals-slider{
    display:flex;
    gap:24px;
    overflow-x:auto;
    padding-bottom:10px;
    scroll-snap-type:x mandatory;
}

.arrivals-slider::-webkit-scrollbar{
    height:8px;
}

.arrivals-slider::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.2);
    border-radius:999px;
}

.arrivals-slider .tcg-product-card{
    min-width:340px;
    max-width:340px;
    scroll-snap-align:start;
}
.site-footer-luxury {
    background:
        radial-gradient(circle at 18% 0%, rgba(200,167,93,.16), transparent 28%),
        #080808;
    color: white;
    padding: 90px 0 34px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.footer-logo {
    display: inline-block;
    font-size: 34px;
    font-weight: 950;
    letter-spacing: -1.8px;
    margin-bottom: 22px;
}

.footer-logo span {
    color: var(--gold);
}

.footer-brand p {
    max-width: 420px;
    color: rgba(255,255,255,.58);
    line-height: 1.75;
    font-size: 16px;
}

.footer-col h4 {
    margin: 0 0 20px;
    color: var(--gold);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.footer-col a {
    display: block;
    color: rgba(255,255,255,.68);
    margin-bottom: 13px;
    font-weight: 650;
    transition: .2s ease;
}

.footer-col a:hover {
    color: white;
    transform: translateX(4px);
}

.footer-bottom {
    padding-top: 28px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.46);
    font-size: 14px;
}

@media (max-width: 900px) {
    .site-footer-luxury {
        padding-bottom: 120px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
}
.footer-created {
    color: rgba(255,255,255,.46);
}

.footer-created a {
    color: var(--gold);
    font-weight: 700;
    transition: .25s ease;
}

.footer-created a:hover {
    color: white;
}
.single-product-page {
    background: #f6f1e8;
}

.product-hero {
    padding: 170px 0 90px;
}

.product-hero-grid {
    display: grid;
    grid-template-columns: 1fr .9fr;
    gap: 34px;
    align-items: start;
}

.product-gallery-card,
.product-info-card,
.product-description-box,
.product-info-box {
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 36px;
    box-shadow: 0 34px 100px rgba(0,0,0,.09);
}

.product-gallery-card {
    padding: 36px;
}

.product-gallery-card img {
    border-radius: 24px;
}

.product-info-card {
    padding: 42px;
    position: sticky;
    top: 130px;
}

.product-category-label,
.product-category-label a {
    color: var(--gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.product-title {
    margin: 16px 0 22px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: .95;
    letter-spacing: -3px;
}

.product-price {
    font-size: 34px;
    font-weight: 950;
    margin-bottom: 18px;
}

.product-stock {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,.04);
    font-weight: 850;
    margin-bottom: 26px;
}

.product-stock span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.product-stock.in-stock span {
    background: #16a34a;
}

.product-stock.out-stock span {
    background: #dc2626;
}

.product-short-description {
    color: rgba(0,0,0,.62);
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 30px;
}

.product-cart-box form.cart {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
}

.product-cart-box .quantity input {
    height: 56px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.1);
    padding: 0 12px;
    font-weight: 900;
}

.product-cart-box .single_add_to_cart_button {
    min-height: 56px;
    border-radius: 999px !important;
    background: var(--black) !important;
    color: white !important;
    padding: 0 28px !important;
    font-weight: 950 !important;
}

.product-trust-list {
    display: grid;
    gap: 10px;
    padding-top: 22px;
    border-top: 1px solid rgba(0,0,0,.08);
}

.product-trust-list div {
    color: rgba(0,0,0,.62);
    font-weight: 750;
}

.product-trust-list div::before {
    content: "✓";
    color: var(--gold);
    margin-right: 10px;
}

.product-details-section {
    padding: 30px 0 90px;
}

.product-details-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 24px;
}

.product-description-box,
.product-info-box {
    padding: 38px;
}

.product-description-box span,
.product-info-box span {
    display: block;
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 18px;
}

.product-description-box {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(0,0,0,.64);
}

.product-info-box p {
    margin: 0 0 14px;
    color: rgba(0,0,0,.62);
    font-weight: 700;
}

.related-products-section {
    padding: 40px 0 110px;
}

.related-products-section h2 {
    font-size: clamp(36px, 4vw, 56px);
    letter-spacing: -2px;
}

@media (max-width: 900px) {
    .product-hero {
        padding: 100px 0 60px;
    }

    .product-hero-grid,
    .product-details-grid {
        grid-template-columns: 1fr;
    }

    .product-info-card {
        position: static;
        padding: 28px;
    }

    .product-gallery-card {
        padding: 22px;
    }

    .product-cart-box form.cart {
        flex-direction: column;
    }

    .product-cart-box .single_add_to_cart_button {
        width: 100%;
    }
}
.shop-page {
    background: #f6f1e8;
}

.shop-hero {
    padding: 30px 0 50px;
}

.shop-hero-inner {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    align-items: flex-end;
}

.shop-hero span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.shop-hero h1 {
    max-width: 760px;
    margin: 14px 0;
    font-size: clamp(46px, 6vw, 86px);
    line-height: .92;
    letter-spacing: -4px;
}

.shop-hero p {
    max-width: 620px;
    color: rgba(0,0,0,.58);
    font-size: 19px;
    line-height: 1.6;
}

.shop-search {
    min-width: 360px;
    height: 58px;
    padding: 6px;
    border-radius: 999px;
    background: white;
    border: 1px solid rgba(0,0,0,.06);
    display: flex;
    box-shadow: 0 20px 60px rgba(0,0,0,.08);
}

.shop-search input {
    flex: 1;
    border: 0;
    background: transparent;
    padding: 0 18px;
    outline: none;
    font-weight: 750;
}

.shop-search button {
    border: 0;
    border-radius: 999px;
    padding: 0 20px;
    background: var(--black);
    color: white;
    font-weight: 900;
}

.shop-categories {
    padding: 0 0 38px;
}

.shop-category-row {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.shop-category-row a {
    white-space: nowrap;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(0,0,0,.06);
    display: inline-flex;
    align-items: center;
    font-weight: 850;
    color: rgba(0,0,0,.7);
    transition: .22s ease;
}

.shop-category-row a:hover {
    background: var(--black);
    color: white;
}

.shop-content {
    padding: 20px 0 110px;
}

.shop-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 28px;
}

.shop-sidebar {
    position: sticky;
    top: 130px;
    align-self: start;
}

.filter-box {
    margin-bottom: 18px;
    padding: 24px;
    border-radius: 28px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 24px 70px rgba(0,0,0,.07);
}

.filter-box h3 {
    margin: 0 0 18px;
    font-size: 22px;
    letter-spacing: -.8px;
}

.filter-box a {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 0;
    color: rgba(0,0,0,.68);
    font-weight: 800;
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.filter-box a:last-child {
    border-bottom: 0;
}

.filter-box a:hover {
    color: var(--black);
}

.filter-box span {
    color: var(--gold);
}

.shop-products-area {
    min-width: 0;
}

.shop-toolbar {
    margin-bottom: 24px;
    padding: 18px 22px;
    border-radius: 24px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 20px 60px rgba(0,0,0,.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.shop-toolbar .woocommerce-result-count {
    margin: 0;
    width: auto;
    color: rgba(0,0,0,.58);
    font-weight: 750;
}

.shop-toolbar .woocommerce-ordering {
    margin: 0;
    width: auto;
}

.shop-toolbar select {
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: white;
    padding: 0 16px;
    font-weight: 800;
}

.shop-products-area ul.products {
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: repeat(3, 1fr);
}

.shop-empty {
    padding: 50px;
    border-radius: 30px;
    background: white;
}

.woocommerce-pagination {
    margin-top: 42px;
}

.woocommerce-pagination ul {
    border: 0 !important;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.woocommerce-pagination ul li {
    border: 0 !important;
}

.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    min-width: 44px;
    height: 44px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: white;
    color: var(--black);
    font-weight: 900;
}

.woocommerce-pagination ul li span.current {
    background: var(--black);
    color: white;
}

@media (max-width: 1000px) {
    .shop-layout {
        grid-template-columns: 1fr;
    }

    .shop-sidebar {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .shop-products-area ul.products {
        grid-template-columns: repeat(2, 1fr);
    }

    .shop-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .shop-search {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .shop-hero {
        padding: 20px 0 36px;
    }

    .shop-sidebar {
        grid-template-columns: 1fr;
    }

    .shop-products-area ul.products {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .shop-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }
}
.tcg-filter-form {
    display: grid;
    gap: 14px;
}

.filter-check {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 850;
    color: rgba(0,0,0,.7);
}

.filter-check input {
    width: 18px;
    height: 18px;
    accent-color: #111;
}

.price-filter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.price-filter input {
    width: 100%;
    height: 46px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: white;
    padding: 0 14px;
    font-weight: 800;
    outline: none;
}

.tcg-filter-form button {
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: var(--black);
    color: white;
    font-weight: 950;
    cursor: pointer;
}

.reset-filter {
    justify-content: center !important;
    border-bottom: 0 !important;
    color: var(--gold) !important;
}
.mobile-filter-toggle {
    display: none;
}

@media (max-width: 1000px) {
    .mobile-filter-toggle {
        width: 100%;
        min-height: 56px;
        margin-bottom: 18px;
        border: 0;
        border-radius: 999px;
        background: var(--black);
        color: white;
        font-weight: 950;
        font-size: 15px;
        box-shadow: 0 22px 60px rgba(0,0,0,.14);
    }

    .shop-sidebar {
        display: none;
    }

    .shop-sidebar.is-open {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 22px;
    }

    .mobile-filter-toggle::after {
        content: " +";
    }

    .mobile-filter-toggle.is-active::after {
        content: " −";
    }
}
@media (max-width: 1000px) {
    .mobile-filter-toggle {
        display: block !important;
        grid-column: 1 / -1;
    }
}
.live-search-wrap {
    position: relative;
    flex: 1;
}

.live-search-wrap input {
    width: 100%;
}

.tcg-live-search-results {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    z-index: 500;
    max-height: 430px;
    overflow-y: auto;
    padding: 10px;
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 30px 90px rgba(0,0,0,.18);
    backdrop-filter: blur(24px);
}

.tcg-live-search-results.is-open {
    display: block;
}

.live-search-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 14px;
    align-items: center;
    padding: 10px;
    border-radius: 16px;
    transition: .2s ease;
}

.live-search-item:hover {
    background: #f6f1e8;
}

.live-search-item img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    border-radius: 14px;
    background: #f6f1e8;
}

.live-search-item strong {
    display: block;
    color: var(--black);
    font-size: 14px;
    line-height: 1.25;
}

.live-search-item span {
    display: block;
    margin-top: 4px;
    color: var(--gold);
    font-weight: 900;
    font-size: 13px;
}

.live-search-item small {
    display: block;
    margin-top: 2px;
    color: rgba(0,0,0,.52);
    font-weight: 800;
    font-size: 12px;
}

.live-search-empty {
    padding: 18px;
    color: rgba(0,0,0,.6);
    font-weight: 800;
}
.live-search-item > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.live-search-item strong {
    margin-bottom: 4px;
}

.live-search-item span {
    margin-top: 0;
}

.live-search-item small {
    margin-top: 2px;
}
.tcg-live-search-results {
    width: 100%;
    min-width: 100%;
}
.shop-search input {
    height: 44px;
    line-height: normal;
    padding-top: 0;
    padding-bottom: 0;
}
.category-accordion {
    border-bottom: 1px solid rgba(0,0,0,.07);
}

.category-accordion:last-child {
    border-bottom: 0;
}

.category-accordion-toggle {
    width: 100%;
    padding: 14px 0;
    border: 0;
    background: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 900;
    color: rgba(0,0,0,.72);
    cursor: pointer;
}

.category-accordion-toggle::after {
    content: "+";
    margin-left: 10px;
    color: var(--gold);
    font-weight: 950;
}

.category-accordion.is-open .category-accordion-toggle::after {
    content: "−";
}

.category-accordion-toggle strong {
    color: var(--gold);
    font-size: 14px;
    margin-left: auto;
    margin-right: 12px;
}

.category-accordion-content {
    display: none;
    padding: 0 0 12px 12px;
}

.category-accordion.is-open .category-accordion-content {
    display: block;
}

.category-accordion-content a {
    padding: 9px 0;
    font-size: 14px;
    color: rgba(0,0,0,.58);
}
.child-check {
    padding-left: 12px;
}

.filter-check em {
    margin-left: auto;
    color: var(--gold);
    font-style: normal;
    font-weight: 900;
}
/* Clean luxury shop filters */
.filter-box {
    padding: 26px;
}

.category-accordion {
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.category-accordion-toggle {
    min-height: 52px;
    padding: 0;
    background: transparent !important;
    color: var(--black);
    border-radius: 0;
}

.category-accordion-toggle span {
    font-size: 16px;
}

.category-accordion-toggle strong {
    color: var(--gold);
}

.category-accordion-toggle::after {
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: #f6f1e8;
    display: grid;
    place-items: center;
}

.category-accordion-content {
    padding: 6px 0 16px;
}

.filter-check {
    min-height: 34px;
    padding: 4px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(0,0,0,.68);
    font-weight: 800;
}

.filter-check input {
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 7px;
    border: 1px solid rgba(0,0,0,.18);
    background: white;
    display: grid;
    place-items: center;
    cursor: pointer;
}

.filter-check input:checked {
    background: var(--black);
    border-color: var(--black);
}

.filter-check input:checked::after {
    content: "✓";
    color: white;
    font-size: 13px;
    font-weight: 900;
}

.child-check {
    padding-left: 14px;
}

.filter-check em {
    margin-left: auto;
    color: var(--gold);
    font-style: normal;
    font-weight: 950;
}

.price-filter input {
    border-radius: 16px;
}

.tcg-filter-form button {
    border-radius: 18px;
}

.reset-filter {
    margin-top: 6px;
    font-weight: 900;
}
body.cart-open {
    overflow: hidden;
}

.cart-drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: .28s ease;
}

.cart-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.cart-drawer {
    position: fixed;
    top: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 999;
    width: min(460px, calc(100% - 36px));
    background: #f6f1e8;
    border-radius: 34px;
    box-shadow: 0 40px 140px rgba(0,0,0,.35);
    transform: translateX(calc(100% + 40px));
    transition: .34s ease;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.cart-drawer.is-open {
    transform: translateX(0);
}

.cart-drawer-head {
    padding: 28px;
    background: #080808;
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cart-drawer-head span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.cart-drawer-head h3 {
    margin: 6px 0 0;
    font-size: 34px;
    letter-spacing: -1.4px;
}

.close-cart-drawer {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: white;
    color: #080808;
    font-size: 28px;
    cursor: pointer;
}

.cart-drawer-content {
    padding: 22px;
    overflow-y: auto;
    flex: 1;
}

.cart-drawer .woocommerce-mini-cart {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cart-drawer .woocommerce-mini-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 16px;
    padding: 16px;
    margin-bottom: 14px;
    border-radius: 24px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 18px 50px rgba(0,0,0,.07);
}

.cart-drawer .woocommerce-mini-cart-item img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    border-radius: 18px;
    background: #fff;
}

.cart-drawer .woocommerce-mini-cart-item a:not(.remove) {
    font-weight: 900;
    line-height: 1.25;
    color: var(--black);
}

.cart-drawer .woocommerce-mini-cart-item .quantity {
    display: block;
    margin-top: 8px;
    color: rgba(0,0,0,.56);
    font-weight: 800;
}

.cart-drawer .remove {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: grid !important;
    place-items: center;
    background: rgba(0,0,0,.06);
    color: var(--black) !important;
    font-size: 18px;
}

.cart-drawer .woocommerce-mini-cart__total {
    margin: 18px 0;
    padding: 20px;
    border-radius: 22px;
    background: white;
    display: flex;
    justify-content: space-between;
    font-size: 18px;
}

.cart-drawer .woocommerce-mini-cart__buttons {
    display: grid;
    gap: 12px;
}

.cart-drawer .woocommerce-mini-cart__buttons a {
    min-height: 54px;
    border-radius: 999px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-weight: 950;
}

.cart-drawer .woocommerce-mini-cart__buttons .checkout {
    background: var(--black) !important;
    color: white !important;
}

.cart-drawer .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
    background: white !important;
    color: var(--black) !important;
    border: 1px solid rgba(0,0,0,.08);
}

.cart-drawer .woocommerce-mini-cart__empty-message {
    padding: 40px 24px;
    border-radius: 26px;
    background: white;
    text-align: center;
    font-weight: 900;
    color: rgba(0,0,0,.64);
}

@media (max-width: 620px) {
    .cart-drawer {
        top: auto;
        right: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        max-height: 88vh;
        border-radius: 34px 34px 0 0;
        transform: translateY(100%);
    }

    .cart-drawer.is-open {
        transform: translateY(0);
    }
}
.cart-drawer {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 100vh !important;
    border-radius: 34px 0 0 34px !important;
    z-index: 99999 !important;
}

.cart-drawer-overlay {
    z-index: 99998 !important;
}

.cart-drawer-head {
    position: relative;
}

.close-cart-drawer {
    position: absolute;
    top: 22px;
    right: 22px;
}

.cart-loading {
    padding: 30px;
    font-weight: 900;
    color: rgba(0,0,0,.55);
}
.tcg-cart-empty {
    padding: 34px;
    border-radius: 28px;
    background: white;
    text-align: center;
}

.tcg-cart-empty h4 {
    margin: 0 0 10px;
    font-size: 28px;
    letter-spacing: -1px;
}

.tcg-cart-empty p {
    color: rgba(0,0,0,.55);
    line-height: 1.6;
}

.tcg-cart-empty a {
    margin-top: 18px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    background: var(--black);
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

.tcg-cart-items {
    display: grid;
    gap: 14px;
}

.tcg-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 16px;
    padding: 16px;
    border-radius: 26px;
    background: white;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 18px 50px rgba(0,0,0,.06);
}

.tcg-cart-img img {
    width: 86px;
    height: 86px;
    object-fit: contain;
    border-radius: 18px;
    background: #f6f1e8;
}

.tcg-cart-title {
    display: block;
    padding-right: 28px;
    font-weight: 950;
    line-height: 1.2;
    color: var(--black);
}

.tcg-cart-price {
    margin-top: 7px;
    color: var(--gold);
    font-weight: 950;
}

.tcg-cart-controls {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px;
    border-radius: 999px;
    background: #f6f1e8;
}

.tcg-cart-controls button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 999px;
    background: white;
    font-weight: 950;
    cursor: pointer;
}

.tcg-cart-controls span {
    min-width: 18px;
    text-align: center;
    font-weight: 950;
}

.cart-remove-item {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: #f6f1e8;
    color: var(--black);
    font-size: 20px;
    cursor: pointer;
}

.tcg-cart-summary {
    margin-top: 18px;
    display: grid;
    gap: 12px;
}

.tcg-cart-summary > div {
    padding: 20px;
    border-radius: 24px;
    background: white;
    display: flex;
    justify-content: space-between;
    font-size: 18px;
}

.tcg-cart-summary span {
    font-weight: 800;
}

.tcg-cart-summary strong {
    font-weight: 950;
}

.cart-primary-btn,
.cart-secondary-btn {
    min-height: 56px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 950;
}

.cart-primary-btn {
    background: var(--black);
    color: white;
}

.cart-secondary-btn {
    background: white;
    color: var(--black);
    border: 1px solid rgba(0,0,0,.08);
}
@media (max-width: 620px) {
    .cart-drawer {
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: auto !important;
        max-height: 88vh !important;
        border-radius: 34px 34px 0 0 !important;
        transform: translateY(110%) !important;
    }

    .cart-drawer.is-open {
        transform: translateY(0) !important;
    }

    .cart-drawer-head {
        padding: 24px 22px;
    }

    .cart-drawer-head h3 {
        font-size: 30px;
    }

    .cart-drawer-content {
        padding: 16px;
        max-height: calc(88vh - 95px);
        overflow-y: auto;
    }

    .tcg-cart-item {
        grid-template-columns: 74px 1fr;
        padding: 14px;
        border-radius: 22px;
    }

    .tcg-cart-img img {
        width: 74px;
        height: 74px;
    }

    .tcg-cart-title {
        font-size: 15px;
    }

    .cart-primary-btn,
    .cart-secondary-btn {
        min-height: 54px;
    }
}
.cart-action{
    position:relative;
}

.cart-count{
    position:absolute;
    top:-4px;
    right:-4px;

    width:22px;
    height:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c7a24f;
    color:#fff;

    border-radius:50%;

    font-size:12px;
    font-weight:700;

    z-index:2;
}
.cart-count:empty{
    display:none;
}

.mobile-cart {
    position: relative;
}

.mobile-cart .cart-count {
    top: -5px;
    right: -5px;
}
/* Step checkout 365TCG */
.tcg-step-checkout-page {
    background: #f6f1e8;
    min-height: 100vh;
}

.tcg-step-checkout-hero {
    padding: 150px 0 42px;
}

.tcg-step-checkout-hero span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-step-checkout-hero h1 {
    margin: 14px 0;
    font-size: clamp(46px, 6vw, 80px);
    line-height: .92;
    letter-spacing: -4px;
}

.tcg-step-checkout-hero p {
    font-size: 19px;
    color: rgba(0,0,0,.58);
}

.checkout-steps-nav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

.checkout-step-tab {
    min-height: 58px;
    border: 0;
    border-radius: 999px;
    background: white;
    font-weight: 950;
    color: rgba(0,0,0,.55);
    cursor: pointer;
}

.checkout-step-tab.active {
    background: #080808;
    color: white;
}

.checkout-step {
    display: none;
}

.checkout-step.active {
    display: block;
}

.checkout-step-card {
    max-width: 860px;
    margin: 0 auto 110px;
    padding: 42px;
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.09);
}

.checkout-step-card h2 {
    margin: 0 0 34px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: .95;
    letter-spacing: -2.4px;
}

.woocommerce-checkout .form-row {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.woocommerce-checkout label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 900;
    color: rgba(0,0,0,.62);
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100%;
    min-height: 58px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.08);
    background: white;
    padding: 0 18px;
    font-weight: 800;
    outline: none;
}

.woocommerce-checkout textarea {
    min-height: 130px;
    padding: 18px;
}

.woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.woocommerce-checkout .form-row-wide {
    grid-column: 1 / -1;
}

.checkout-next,
.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 62px;
    border: 0;
    border-radius: 999px !important;
    background: #080808 !important;
    color: white !important;
    font-size: 16px;
    font-weight: 950 !important;
    margin-top: 24px;
    cursor: pointer;
}

.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.woocommerce-checkout-review-order-table thead {
    display: none;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 18px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot td {
    text-align: right;
    font-weight: 950;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 26px;
    font-weight: 950;
}

.woocommerce-checkout #payment {
    background: transparent !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 18px;
    margin-bottom: 12px;
    border-radius: 22px;
    background: #f6f1e8;
    font-weight: 850;
}

.woocommerce-form-coupon-toggle,
.checkout_coupon,
.woocommerce-form-login-toggle,
.woocommerce-form-login {
    max-width: 860px;
    margin: 0 auto 22px !important;
}

.woocommerce-info,
.woocommerce-error,
.woocommerce-message {
    border: 0 !important;
    border-radius: 22px;
    background: white !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.06);
}

@media(max-width: 760px) {
    .tcg-step-checkout-hero {
        padding: 110px 0 30px;
    }

    .checkout-steps-nav {
        grid-template-columns: 1fr;
    }

    .checkout-step-card {
        padding: 26px;
        border-radius: 30px;
        margin-bottom: 80px;
    }

    .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr;
    }
}
.tcg-field-error input,
.tcg-field-error select,
.tcg-field-error textarea {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 4px rgba(220,38,38,.12) !important;
}
.checkout-steps-nav {
    grid-template-columns: repeat(2, 1fr);
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.tcg-checkout-coupon {
    margin-bottom: 24px;
}

.tcg-coupon-toggle {
    width: 100%;
    min-height: 56px;
    border: 0;
    border-radius: 999px;
    background: #f6f1e8;
    color: var(--black);
    font-weight: 950;
    cursor: pointer;
}

.tcg-coupon-toggle::after {
    content: " +";
    color: var(--gold);
}

.tcg-coupon-toggle.is-active::after {
    content: " −";
}

.tcg-coupon-box {
    display: none;
    margin-top: 14px;
}

.tcg-coupon-box.is-open {
    display: block;
}

.tcg-coupon-box .checkout_coupon {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 22px !important;
    border-radius: 24px !important;
    background: #f6f1e8 !important;
    border: 0 !important;
}

@media (max-width: 760px) {
    .checkout-steps-nav {
        grid-template-columns: 1fr;
    }

    .checkout-step-tab {
        min-height: 54px;
    }
}
.tcg-thankyou-page {
    background: #f6f1e8;
}

.tcg-thankyou-hero {
    padding: 160px 0 60px;
}

.tcg-thankyou-card,
.tcg-thankyou-box {
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.09);
}

.tcg-thankyou-card {
    padding: 52px;
}

.tcg-thankyou-card span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-thankyou-card h1 {
    margin: 14px 0;
    font-size: clamp(48px, 6vw, 84px);
    line-height: .92;
    letter-spacing: -4px;
}

.tcg-thankyou-card p {
    font-size: 19px;
    color: rgba(0,0,0,.58);
}

.tcg-order-summary-mini {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 34px 0;
}

.tcg-order-summary-mini div {
    padding: 22px;
    border-radius: 24px;
    background: #f6f1e8;
}

.tcg-order-summary-mini small {
    display: block;
    color: rgba(0,0,0,.5);
    font-weight: 800;
    margin-bottom: 8px;
}

.tcg-order-summary-mini strong {
    font-size: 22px;
    font-weight: 950;
}

.tcg-thankyou-btn {
    min-height: 58px;
    padding: 0 28px;
    border-radius: 999px;
    background: #080808;
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

.tcg-thankyou-details {
    padding: 0 0 110px;
}

.tcg-thankyou-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.tcg-thankyou-box {
    padding: 34px;
}

.tcg-thankyou-box h2 {
    margin: 0 0 26px;
    font-size: 34px;
    letter-spacing: -1.5px;
}

.tcg-thankyou-product {
    display: grid;
    grid-template-columns: 76px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.tcg-thankyou-product img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    border-radius: 18px;
    background: #f6f1e8;
}

.tcg-thankyou-product strong {
    display: block;
    font-weight: 950;
}

.tcg-thankyou-product span {
    color: rgba(0,0,0,.55);
    font-weight: 800;
}

.tcg-thankyou-product b {
    color: var(--gold);
    font-weight: 950;
}

.tcg-addresses {
    display: grid;
    gap: 22px;
}

.tcg-addresses h3 {
    margin: 0 0 10px;
    font-size: 22px;
}

.tcg-addresses p {
    color: rgba(0,0,0,.62);
    line-height: 1.6;
    font-weight: 750;
}

@media (max-width: 760px) {
    .tcg-thankyou-hero {
        padding: 110px 0 40px;
    }

    .tcg-thankyou-card {
        padding: 30px;
    }

    .tcg-order-summary-mini,
    .tcg-thankyou-grid {
        grid-template-columns: 1fr;
    }

    .tcg-thankyou-product {
        grid-template-columns: 64px 1fr;
    }

    .tcg-thankyou-product b {
        grid-column: 2;
    }
}
.tcg-account-page {
    background: #f6f1e8;
}

.tcg-account-hero {
    padding: 155px 0 46px;
}

.tcg-account-hero span,
.tcg-account-card > span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-account-hero h1 {
    margin: 14px 0;
    font-size: clamp(46px, 6vw, 84px);
    line-height: .92;
    letter-spacing: -4px;
}

.tcg-account-hero p {
    max-width: 620px;
    color: rgba(0,0,0,.58);
    font-size: 19px;
    line-height: 1.6;
}

.tcg-account-section {
    padding-bottom: 110px;
}

.tcg-account-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px;
    align-items: start;
}

.tcg-account-card {
    padding: 42px;
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.09);
}

.tcg-account-card h2 {
    margin: 12px 0 30px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: .95;
    letter-spacing: -2.4px;
}

.tcg-account-card .form-row {
    margin-bottom: 18px;
}

.tcg-account-card label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 900;
    color: rgba(0,0,0,.62);
}

.tcg-account-card input.input-text,
.tcg-account-card .woocommerce-Input {
    width: 100%;
    min-height: 58px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.08);
    background: white;
    padding: 0 18px;
    font-weight: 800;
    outline: none;
}

.tcg-account-card input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(200,167,93,.14);
}

.tcg-account-btn {
    width: 100%;
    min-height: 60px;
    border-radius: 999px !important;
    background: #080808 !important;
    color: white !important;
    font-weight: 950 !important;
    border: 0 !important;
    margin-top: 10px;
}

.lost_password a,
.tcg-account-note {
    color: rgba(0,0,0,.58);
    font-weight: 800;
}

.tcg-register-card {
    background:
        radial-gradient(circle at 85% 10%, rgba(200,167,93,.16), transparent 28%),
        rgba(255,255,255,.9);
}

@media(max-width: 850px) {
    .tcg-account-hero {
        padding: 110px 0 34px;
    }

    .tcg-account-grid {
        grid-template-columns: 1fr;
    }

    .tcg-account-card {
        padding: 28px;
        border-radius: 30px;
    }
}
.tcg-account-card form.login,
.tcg-account-card form.register {
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tcg-account-card .woocommerce-password-input {
    width: 100%;
}
.tcg-account-dashboard-page {
    background: #f6f1e8;
}

.tcg-dashboard-section {
    padding-bottom: 110px;
}

.tcg-dashboard-grid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 28px;
    align-items: start;
}

.tcg-dashboard-nav,
.tcg-dashboard-content {
    border-radius: 34px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.08);
}

.tcg-dashboard-nav {
    padding: 22px;
    position: sticky;
    top: 130px;
}

.tcg-dashboard-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tcg-dashboard-nav li {
    margin-bottom: 8px;
}

.tcg-dashboard-nav a {
    min-height: 48px;
    padding: 0 16px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    color: rgba(0,0,0,.65);
    font-weight: 900;
}

.tcg-dashboard-nav .is-active a,
.tcg-dashboard-nav a:hover {
    background: #080808;
    color: white;
}

.tcg-dashboard-content {
    padding: 38px;
    min-height: 420px;
}

.tcg-dashboard-content h2,
.tcg-dashboard-content h3 {
    margin-top: 0;
    font-size: 34px;
    letter-spacing: -1.4px;
}

.tcg-dashboard-content p {
    color: rgba(0,0,0,.62);
    line-height: 1.7;
    font-weight: 650;
}

.tcg-dashboard-content table {
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 22px;
    background: white;
}

.tcg-dashboard-content table th,
.tcg-dashboard-content table td {
    padding: 16px;
    border-bottom: 1px solid rgba(0,0,0,.07);
    text-align: left;
}

.tcg-dashboard-content .button,
.tcg-dashboard-content button {
    border-radius: 999px !important;
    background: #080808 !important;
    color: white !important;
    font-weight: 950 !important;
    border: 0 !important;
    padding: 12px 20px !important;
}

@media(max-width: 850px) {
    .tcg-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .tcg-dashboard-nav {
        position: static;
    }

    .tcg-dashboard-nav ul {
        display: flex;
        overflow-x: auto;
        gap: 8px;
    }

    .tcg-dashboard-nav li {
        margin-bottom: 0;
        flex: 0 0 auto;
    }

    .tcg-dashboard-content {
        padding: 26px;
        border-radius: 30px;
    }
}
.tcg-dashboard-grid {
    grid-template-columns: 340px 1fr;
}

.tcg-dashboard-nav a {
    white-space: nowrap;
    font-size: 17px;
}

.tcg-dashboard-content {
    overflow-x: auto;
}

.tcg-dashboard-content table {
    border: 1px solid rgba(0,0,0,.08);
}

.tcg-dashboard-content table th {
    background: #f6f1e8;
    font-weight: 950;
}

.tcg-dashboard-content address {
    padding: 24px;
    border-radius: 24px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
    font-style: normal;
    line-height: 1.7;
    font-weight: 750;
}

.tcg-dashboard-content .u-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.tcg-dashboard-content .woocommerce-Address-title {
    margin-bottom: 18px;
}

.tcg-dashboard-content .woocommerce-Address-title h2 {
    font-size: 34px;
}

.tcg-dashboard-content .woocommerce-Address-title a {
    display: inline-flex;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #080808;
    color: white;
    align-items: center;
    font-weight: 900;
}

.tcg-dashboard-content input.input-text,
.tcg-dashboard-content input[type="text"],
.tcg-dashboard-content input[type="email"],
.tcg-dashboard-content input[type="password"],
.tcg-dashboard-content select {
    width: 100%;
    min-height: 54px;
    border-radius: 16px;
    border: 1px solid rgba(0,0,0,.1);
    padding: 0 16px;
    font-weight: 800;
}

.tcg-dashboard-content .form-row {
    margin-bottom: 16px;
}

.tcg-dashboard-content label {
    font-weight: 900;
    color: rgba(0,0,0,.62);
    margin-bottom: 8px;
    display: block;
}

.tcg-dashboard-content fieldset {
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 26px;
    padding: 24px;
    margin-top: 24px;
    background: #f6f1e8;
}

.tcg-dashboard-content legend {
    padding: 0 10px;
    font-weight: 950;
}

.tcg-dashboard-content .password-input {
    width: 100%;
    display: block;
}

.tcg-dashboard-content .show-password-input {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 999px !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%);
    background: #080808 !important;
}

@media(max-width: 900px) {
    .tcg-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .tcg-dashboard-content .u-columns {
        grid-template-columns: 1fr;
    }
}
/* Account dashboard final fixes */
.tcg-dashboard-nav {
    width: 100%;
}

.tcg-dashboard-nav li {
    width: 100%;
}

.tcg-dashboard-nav a {
    width: 100%;
    min-height: 52px;
    padding: 0 20px;
    border-radius: 999px;
    white-space: normal;
    line-height: 1.2;
}

.tcg-dashboard-nav .is-active a {
    background: #080808;
    color: white;
}

.tcg-dashboard-content .woocommerce-Addresses,
.tcg-dashboard-content .u-columns {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

.tcg-dashboard-content .woocommerce-Address {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.tcg-dashboard-content .woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.tcg-dashboard-content .woocommerce-Address-title h2 {
    margin: 0;
    font-size: clamp(30px, 3vw, 46px);
    line-height: .95;
}

.tcg-dashboard-content .woocommerce-Address-title a {
    flex-shrink: 0;
    white-space: nowrap;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: #080808;
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

.tcg-dashboard-content address {
    width: 100%;
    min-height: 170px;
    padding: 26px;
    border-radius: 26px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
    font-style: normal;
    line-height: 1.7;
    font-weight: 800;
}

@media (max-width: 1000px) {
    .tcg-dashboard-grid {
        grid-template-columns: 1fr;
    }

    .tcg-dashboard-nav {
        position: static;
        padding: 16px;
        border-radius: 28px;
    }

    .tcg-dashboard-nav ul {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .tcg-dashboard-nav li {
        width: auto;
        flex: 0 0 auto;
    }

    .tcg-dashboard-nav a {
        white-space: nowrap;
        min-height: 46px;
        padding: 0 18px;
    }

    .tcg-dashboard-content {
        padding: 24px;
        border-radius: 30px;
    }
}

@media (max-width: 700px) {
    .tcg-dashboard-content .woocommerce-Addresses,
    .tcg-dashboard-content .u-columns {
        grid-template-columns: 1fr !important;
    }

    .tcg-dashboard-content .woocommerce-Address-title {
        flex-direction: column;
    }

    .tcg-dashboard-content .woocommerce-Address-title a {
        width: 100%;
        justify-content: center;
    }

    .tcg-dashboard-content table {
        min-width: 620px;
    }
}
/* My Account address layout hard fix */
.tcg-dashboard-content .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
}

.tcg-dashboard-content .woocommerce-Address,
.tcg-dashboard-content .woocommerce-Addresses .u-column1,
.tcg-dashboard-content .woocommerce-Addresses .u-column2,
.tcg-dashboard-content .woocommerce-Addresses .col-1,
.tcg-dashboard-content .woocommerce-Addresses .col-2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
}

.tcg-dashboard-content .woocommerce-Address-title {
    display: block !important;
    margin-bottom: 18px !important;
}

.tcg-dashboard-content .woocommerce-Address-title h2 {
    margin: 0 0 14px !important;
    font-size: clamp(28px, 3vw, 42px) !important;
    line-height: .95 !important;
    letter-spacing: -1.5px;
}

.tcg-dashboard-content .woocommerce-Address-title a {
    width: auto !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: normal !important;
    line-height: 1.1;
}

.tcg-dashboard-content address {
    width: 100% !important;
    min-height: 160px;
    margin: 0 !important;
    padding: 24px !important;
    border-radius: 24px !important;
    background: #f6f1e8 !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    font-style: normal !important;
    line-height: 1.65 !important;
    font-weight: 800 !important;
}

/* Sidebar active fix */
.tcg-dashboard-nav .is-active a {
    width: 100%;
    max-width: 100%;
    background: #080808 !important;
    color: #fff !important;
    justify-content: flex-start;
}

/* Mobile account */
@media (max-width: 900px) {
    .tcg-dashboard-grid {
        grid-template-columns: 1fr !important;
    }

    .tcg-dashboard-nav {
        position: static !important;
    }

    .tcg-dashboard-nav ul {
        display: flex !important;
        overflow-x: auto !important;
        gap: 10px;
    }

    .tcg-dashboard-nav li {
        flex: 0 0 auto;
        width: auto !important;
    }

    .tcg-dashboard-nav a {
        white-space: nowrap !important;
        width: auto !important;
    }
}

@media (max-width: 700px) {
    .tcg-dashboard-content .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }

    .tcg-dashboard-content {
        overflow-x: hidden !important;
    }

    .tcg-dashboard-content table {
        min-width: 620px;
    }
}

/* Account mobile hard responsive fix */
@media (max-width: 760px) {
    html,
    body {
        overflow-x: hidden;
    }

    .tcg-account-dashboard-page,
    .tcg-dashboard-section,
    .tcg-dashboard-grid,
    .tcg-dashboard-content,
    .tcg-dashboard-nav {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .tcg-dashboard-section .tcg-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .tcg-dashboard-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .tcg-dashboard-nav {
        overflow-x: auto !important;
        padding: 12px !important;
        border-radius: 24px !important;
    }

    .tcg-dashboard-nav ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .tcg-dashboard-nav li {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .tcg-dashboard-nav a {
        width: auto !important;
        min-height: 42px !important;
        padding: 0 16px !important;
        white-space: nowrap !important;
        font-size: 14px !important;
    }

    .tcg-dashboard-content {
        padding: 20px !important;
        border-radius: 26px !important;
        overflow-x: hidden !important;
    }

    .tcg-dashboard-content .woocommerce-Addresses {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .tcg-dashboard-content table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        white-space: nowrap;
    }

    .tcg-dashboard-content .woocommerce-Address-title h2 {
        font-size: 32px !important;
    }

    .tcg-dashboard-content .woocommerce-Address-title a {
        width: 100% !important;
        justify-content: center !important;
    }

    .tcg-dashboard-content input,
    .tcg-dashboard-content select,
    .tcg-dashboard-content textarea {
        max-width: 100% !important;
    }
}
.tcg-lost-password-card {
    max-width: 720px;
    margin: 0 auto;
}

.tcg-back-login {
    margin-top: 22px;
    display: inline-flex;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: #f6f1e8;
    color: var(--black);
    align-items: center;
    font-weight: 950;
}
.tcg-404-page {
    background: #f6f1e8;
}

.tcg-404-hero {
    min-height: 72vh;
    padding: 170px 0 110px;
    display: flex;
    align-items: center;
}

.tcg-404-hero span {
    color: var(--gold);
    font-size: 14px;
    font-weight: 950;
    letter-spacing: 2px;
}

.tcg-404-hero h1 {
    max-width: 780px;
    margin: 14px 0;
    font-size: clamp(54px, 8vw, 110px);
    line-height: .88;
    letter-spacing: -5px;
}

.tcg-404-hero p {
    max-width: 620px;
    color: rgba(0,0,0,.6);
    font-size: 20px;
    line-height: 1.6;
}

.tcg-404-actions {
    margin-top: 34px;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.tcg-404-actions a {
    min-height: 58px;
    padding: 0 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

.tcg-404-actions a:first-child {
    background: #080808;
    color: white;
}

.tcg-404-actions a:last-child {
    background: white;
    color: #080808;
    border: 1px solid rgba(0,0,0,.08);
}

@media(max-width: 760px) {
    .tcg-404-hero {
        padding: 120px 0 80px;
    }

    .tcg-404-actions a {
        width: 100%;
        justify-content: center;
    }
}
.tcg-stock-alert-box {
    margin-top: 20px;
    padding: 24px;
    border-radius: 28px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
}

.tcg-stock-alert-box span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.tcg-stock-alert-box h3 {
    margin: 8px 0 8px;
    font-size: 28px;
    letter-spacing: -1px;
}

.tcg-stock-alert-box p {
    color: rgba(0,0,0,.58);
    font-weight: 700;
    line-height: 1.5;
}

.tcg-alert-email {
    width: 100%;
    min-height: 54px;
    margin-top: 14px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.08);
    padding: 0 16px;
    font-weight: 850;
}

.tcg-alert-submit {
    width: 100%;
    min-height: 56px;
    margin-top: 12px;
    border: 0;
    border-radius: 999px;
    background: #080808;
    color: white;
    font-weight: 950;
    cursor: pointer;
}

.tcg-alert-message {
    margin-top: 12px;
    font-weight: 850;
}

.tcg-alert-message.is-success {
    color: #149447;
}

.tcg-alert-message.is-error {
    color: #dc2626;
}

.tcg-watchdog-account h2 {
    margin: 0 0 28px;
    font-size: 44px;
    letter-spacing: -2px;
}

.tcg-watchdog-empty {
    padding: 34px;
    border-radius: 28px;
    background: #f6f1e8;
}

.tcg-watchdog-empty h3 {
    margin: 0 0 10px;
    font-size: 30px;
    letter-spacing: -1px;
}

.tcg-watchdog-empty p {
    color: rgba(0,0,0,.58);
    font-weight: 750;
    line-height: 1.6;
}

.tcg-watchdog-empty a {
    margin-top: 18px;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 999px;
    background: #080808;
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

.tcg-watchdog-list {
    display: grid;
    gap: 14px;
}

.tcg-watchdog-item {
    display: grid;
    grid-template-columns: 82px 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 16px;
    border-radius: 26px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
}

.tcg-watchdog-img img {
    width: 82px;
    height: 82px;
    object-fit: contain;
    border-radius: 18px;
    background: white;
}

.tcg-watchdog-info strong {
    display: block;
    font-size: 18px;
    font-weight: 950;
}

.tcg-watchdog-info span {
    display: block;
    margin-top: 4px;
    color: rgba(0,0,0,.55);
    font-weight: 800;
}

.tcg-watchdog-item > a {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: #080808;
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

@media(max-width: 700px) {
    .tcg-watchdog-item {
        grid-template-columns: 70px 1fr;
    }

    .tcg-watchdog-item > a {
        grid-column: 1 / -1;
        justify-content: center;
    }

    .tcg-watchdog-img img {
        width: 70px;
        height: 70px;
    }
}

.tcg-watchdog-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.tcg-watchdog-actions a,
.tcg-watchdog-cancel {
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    border: 0;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
    cursor: pointer;
}

.tcg-watchdog-actions a {
    background: #080808;
    color: white;
}

.tcg-watchdog-cancel {
    background: white;
    color: #080808;
    border: 1px solid rgba(0,0,0,.08);
}

.tcg-watchdog-item {
    transition: .25s ease;
}

@media(max-width: 700px) {
    .tcg-watchdog-actions {
        grid-column: 1 / -1;
        flex-direction: column;
    }

    .tcg-watchdog-actions a,
    .tcg-watchdog-cancel {
        width: 100%;
        justify-content: center;
    }
}
.tcg-buyout-page {
    background: #f6f1e8;
}

.tcg-buyout-hero {
    padding: 170px 0 120px;
}

.tcg-buyout-grid {
    display: grid;
    grid-template-columns: 1fr .85fr;
    gap: 46px;
    align-items: start;
}

.tcg-buyout-hero span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-buyout-hero h1 {
    margin: 16px 0 22px;
    font-size: clamp(50px, 7vw, 96px);
    line-height: .9;
    letter-spacing: -4px;
}

.tcg-buyout-hero p {
    max-width: 620px;
    color: rgba(0,0,0,.58);
    font-size: 20px;
    line-height: 1.65;
}

.tcg-buyout-form {
    padding: 34px;
    border-radius: 36px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.09);
    display: grid;
    gap: 14px;
}

.tcg-buyout-form h2 {
    margin: 0 0 12px;
    font-size: 38px;
    line-height: 1;
    letter-spacing: -1.6px;
}

.tcg-buyout-form input,
.tcg-buyout-form select,
.tcg-buyout-form textarea {
    width: 100%;
    min-height: 56px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    padding: 0 18px;
    font-weight: 800;
    outline: none;
}

.tcg-buyout-form textarea {
    min-height: 130px;
    padding: 18px;
    resize: vertical;
}

.tcg-buyout-form input:focus,
.tcg-buyout-form select:focus,
.tcg-buyout-form textarea:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(200,167,93,.14);
}

.tcg-buyout-upload {
    min-height: 86px;
    padding: 18px;
    border-radius: 22px;
    background: #f6f1e8;
    border: 1px dashed rgba(0,0,0,.18);
    display: grid;
    gap: 10px;
    font-weight: 950;
    color: rgba(0,0,0,.68);
}

.tcg-buyout-upload input {
    min-height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    border-radius: 0;
}

.tcg-buyout-form button {
    min-height: 60px;
    border: 0;
    border-radius: 999px;
    background: #080808;
    color: white;
    font-weight: 950;
    font-size: 16px;
    cursor: pointer;
}

.tcg-buyout-success {
    margin-bottom: 18px;
    padding: 18px 22px;
    border-radius: 22px;
    background: #e8f7ee;
    color: #14833b;
    font-weight: 900;
}

@media(max-width: 900px) {
    .tcg-buyout-hero {
        padding: 120px 0 80px;
    }

    .tcg-buyout-grid {
        grid-template-columns: 1fr;
    }

    .tcg-buyout-form {
        padding: 26px;
        border-radius: 30px;
    }
}

.tcg-buyout-trust {
    padding: 0 0 120px;
    background: #f6f1e8;
}

.buyout-trust-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 24px;
}

.buyout-trust-card {
    padding: 42px;
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.08);
}

.buyout-trust-card > span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.buyout-trust-card h2 {
    margin: 14px 0 30px;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .95;
    letter-spacing: -2.4px;
}

.buyout-steps-list,
.buyout-benefits-list {
    display: grid;
    gap: 14px;
}

.buyout-steps-list div,
.buyout-benefits-list div {
    padding: 18px;
    border-radius: 22px;
    background: #f6f1e8;
    display: flex;
    align-items: center;
    gap: 14px;
    font-weight: 900;
}

.buyout-steps-list strong {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #080808;
    color: var(--gold);
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.buyout-steps-list p {
    margin: 0;
}

.buyout-trust-dark {
    background: #080808;
    color: white;
}

.buyout-trust-dark h2 {
    color: white;
}

.buyout-benefits-list div {
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.9);
}

.buyout-benefits-list div::before {
    content: "✓";
    color: var(--gold);
    font-weight: 950;
}

@media(max-width: 900px) {
    .buyout-trust-grid {
        grid-template-columns: 1fr;
    }

    .buyout-trust-card {
        padding: 28px;
        border-radius: 30px;
    }
}

.tcg-about-page {
    background: #f6f1e8;
}

.tcg-about-hero {
    padding: 170px 0 90px;
}

.tcg-about-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .75fr;
    gap: 40px;
    align-items: center;
}

.tcg-about-hero span,
.tcg-about-card span,
.tcg-store-content span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-about-hero h1 {
    margin: 16px 0 22px;
    max-width: 860px;
    font-size: clamp(50px, 7vw, 96px);
    line-height: .9;
    letter-spacing: -4px;
}

.tcg-about-hero p {
    max-width: 660px;
    color: rgba(0,0,0,.58);
    font-size: 20px;
    line-height: 1.65;
}

.tcg-about-hero-card {
    min-height: 360px;
    padding: 38px;
    border-radius: 38px;
    background:
        radial-gradient(circle at 80% 15%, rgba(200,167,93,.24), transparent 30%),
        #080808;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-shadow: 0 34px 100px rgba(0,0,0,.16);
}

.tcg-about-hero-card strong {
    font-size: 54px;
    line-height: .9;
    letter-spacing: -2.5px;
}

.tcg-about-hero-card p {
    color: rgba(255,255,255,.68);
    margin-top: 18px;
}

.tcg-about-story {
    padding: 0 0 90px;
}

.tcg-about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.tcg-about-card,
.tcg-about-values > div,
.tcg-store-content,
.tcg-store-image {
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.08);
}

.tcg-about-card {
    padding: 42px;
}

.tcg-about-card h2,
.tcg-store-content h2 {
    margin: 14px 0 22px;
    font-size: clamp(36px, 4vw, 62px);
    line-height: .95;
    letter-spacing: -2.6px;
}

.tcg-about-card p,
.tcg-store-content p {
    color: rgba(0,0,0,.6);
    font-size: 18px;
    line-height: 1.7;
}

.tcg-about-values {
    display: grid;
    gap: 18px;
}

.tcg-about-values > div {
    padding: 28px;
}

.tcg-about-values strong {
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: #080808;
    color: var(--gold);
    display: grid;
    place-items: center;
    font-weight: 950;
}

.tcg-about-values h3 {
    margin: 22px 0 10px;
    font-size: 28px;
    letter-spacing: -1px;
}

.tcg-about-values p {
    margin: 0;
    color: rgba(0,0,0,.58);
    line-height: 1.65;
    font-weight: 750;
}

.tcg-store-section {
    padding: 0 0 120px;
}

.tcg-store-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 24px;
    align-items: stretch;
}

.tcg-store-image {
    overflow: hidden;
    min-height: 560px;
}

.tcg-store-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tcg-store-content {
    padding: 42px;
}

.tcg-store-info {
    display: grid;
    gap: 14px;
    margin: 30px 0;
}

.tcg-store-info div {
    padding: 18px;
    border-radius: 22px;
    background: #f6f1e8;
}

.tcg-store-info strong {
    display: block;
    margin-bottom: 6px;
    font-weight: 950;
}

.tcg-store-info p {
    margin: 0;
    font-size: 16px;
}

.tcg-about-btn {
    min-height: 58px;
    padding: 0 26px;
    border-radius: 999px;
    background: #080808;
    color: white;
    display: inline-flex;
    align-items: center;
    font-weight: 950;
}

@media(max-width: 900px) {
    .tcg-about-hero {
        padding: 120px 0 70px;
    }

    .tcg-about-hero-grid,
    .tcg-about-story-grid,
    .tcg-store-grid {
        grid-template-columns: 1fr;
    }

    .tcg-about-card,
    .tcg-store-content,
    .tcg-about-hero-card {
        padding: 28px;
        border-radius: 30px;
    }

    .tcg-store-image {
        min-height: 360px;
        border-radius: 30px;
    }
}
.tcg-contact-page {
    background: #f6f1e8;
}

.tcg-contact-hero {
    padding: 170px 0 90px;
}

.tcg-contact-grid {
    display: grid;
    grid-template-columns: 1.1fr .85fr;
    gap: 32px;
    align-items: start;
}

.tcg-contact-intro span,
.tcg-contact-card > span,
.tcg-company-card > span,
.tcg-contact-actions > span {
    color: var(--gold);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-contact-intro h1 {
    margin: 16px 0 22px;
    font-size: clamp(50px, 7vw, 94px);
    line-height: .9;
    letter-spacing: -4px;
}

.tcg-contact-intro p {
    max-width: 640px;
    color: rgba(0,0,0,.58);
    font-size: 20px;
    line-height: 1.65;
}

.tcg-contact-card,
.tcg-company-card,
.tcg-contact-actions {
    padding: 38px;
    border-radius: 38px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 34px 100px rgba(0,0,0,.08);
}

.tcg-contact-card h2,
.tcg-company-card h2,
.tcg-contact-actions h2 {
    margin: 12px 0 28px;
    font-size: clamp(34px, 4vw, 56px);
    line-height: .95;
    letter-spacing: -2px;
}

.tcg-contact-list,
.tcg-company-info {
    display: grid;
    gap: 14px;
}

.tcg-contact-list div,
.tcg-company-info div {
    padding: 18px;
    border-radius: 22px;
    background: #f6f1e8;
}

.tcg-contact-list strong,
.tcg-company-info strong {
    display: block;
    margin-bottom: 6px;
    font-weight: 950;
}

.tcg-contact-list p,
.tcg-company-info p,
.tcg-contact-list a {
    margin: 0;
    color: rgba(0,0,0,.62);
    font-weight: 850;
    line-height: 1.55;
}

.tcg-company-section {
    padding: 0 0 120px;
}

.tcg-company-grid {
    display: grid;
    grid-template-columns: 1fr .8fr;
    gap: 24px;
}

.tcg-contact-actions {
    background:
        radial-gradient(circle at 85% 10%, rgba(200,167,93,.16), transparent 28%),
        #080808;
    color: white;
}

.tcg-contact-actions h2 {
    color: white;
}

.tcg-contact-actions a {
    min-height: 58px;
    margin-bottom: 12px;
    padding: 0 22px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: white;
    display: flex;
    align-items: center;
    font-weight: 950;
}

.tcg-contact-actions a:hover {
    background: var(--gold);
    color: #080808;
}

@media(max-width: 900px) {
    .tcg-contact-hero {
        padding: 120px 0 70px;
    }

    .tcg-contact-grid,
    .tcg-company-grid {
        grid-template-columns: 1fr;
    }

    .tcg-contact-card,
    .tcg-company-card,
    .tcg-contact-actions {
        padding: 28px;
        border-radius: 30px;
    }
}

.tcg-company-checkout {
    margin: 24px 0;
    padding: 22px;
    border-radius: 26px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
}

.tcg-company-toggle {
    display: flex !important;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-weight: 950 !important;
    color: var(--black) !important;
    margin: 0 !important;
}

.tcg-company-toggle input {
    width: 20px;
    height: 20px;
    accent-color: #080808;
}

.tcg-company-fields {
    display: none;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 18px;
}

.tcg-company-fields.is-open {
    display: grid;
}

.tcg-company-fields input {
    width: 100%;
    min-height: 56px;
    border-radius: 18px;
    border: 1px solid rgba(0,0,0,.08);
    background: white;
    padding: 0 18px;
    font-weight: 850;
}

@media(max-width: 700px) {
    .tcg-company-fields {
        grid-template-columns: 1fr;
    }
}

.tcg-field-error input,
.tcg-field-error select,
.tcg-field-error textarea {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 4px rgba(220,38,38,.12) !important;
}

.tcg-thankyou-company {
    margin-top: 22px;
    padding: 22px;
    border-radius: 22px;
    background: #f6f1e8;
    border: 1px solid rgba(0,0,0,.06);
}

.tcg-thankyou-company h3 {
    margin: 0 0 14px;
    font-size: 22px;
}

.tcg-thankyou-company p {
    margin: 6px 0;
    font-weight: 750;
}
.open-global-search {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.header-actions .open-global-search {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
    display: grid;
    place-items: center;
}

.header-actions .open-global-search svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.tcg-global-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 9997;
    background: rgba(8, 8, 8, 0.54);
    backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.tcg-global-search-overlay.is-open {
    opacity: 1;
    visibility: visible;
}

.tcg-global-search {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    max-height: 90vh;
    padding: 34px;
    overflow-y: auto;
    border-radius: 0 0 42px 42px;
    background: #f6f1e8;
    box-shadow: 0 40px 120px rgba(0, 0, 0, 0.24);
    transform: translateY(-105%);
    visibility: hidden;
    transition: transform 0.38s cubic-bezier(.2,.8,.2,1), visibility 0.38s;
}

.tcg-global-search.is-open {
    transform: translateY(0);
    visibility: visible;
}

.tcg-global-search-inner {
    width: min(1100px, 100%);
    margin: 0 auto;
}

.tcg-global-search-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
}

.tcg-global-search-head span {
    color: var(--gold);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.tcg-global-search-head h2 {
    margin: 10px 0 0;
    font-size: clamp(42px, 6vw, 76px);
    line-height: 0.92;
    letter-spacing: -3px;
}

.close-global-search {
    width: 58px;
    height: 58px;
    flex: 0 0 auto;
    border: 0;
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}

.tcg-global-search-form {
    position: relative;
    margin-top: 34px;
}

.tcg-global-search-field {
    display: flex;
    gap: 10px;
    padding: 8px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.08);
}

.tcg-global-search-field input[type="search"] {
    width: 100%;
    min-width: 0;
    min-height: 62px;
    border: 0;
    outline: 0;
    padding: 0 22px;
    background: transparent;
    font-size: 18px;
    font-weight: 800;
}

.tcg-global-search-field button {
    min-width: 140px;
    min-height: 62px;
    border: 0;
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-weight: 950;
    cursor: pointer;
}

.tcg-global-search-results {
    position: static;
    width: 100%;
    max-height: 440px;
    margin-top: 14px;
    overflow-y: auto;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.12);
}

.tcg-global-search-results .live-search-item {
    display: grid;
    grid-template-columns: 78px 1fr;
    gap: 18px;
    align-items: center;
    padding: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.tcg-global-search-results .live-search-item:last-child {
    border-bottom: 0;
}

.tcg-global-search-results img {
    width: 78px;
    height: 78px;
    object-fit: contain;
    border-radius: 18px;
    background: #f6f1e8;
}

.tcg-global-search-results strong,
.tcg-global-search-results span,
.tcg-global-search-results small {
    display: block;
}

.tcg-global-search-results strong {
    color: #080808;
    font-size: 18px;
    font-weight: 950;
}

.tcg-global-search-results span {
    margin-top: 4px;
    color: var(--gold);
    font-weight: 950;
}

.tcg-global-search-results small {
    margin-top: 4px;
    color: rgba(0, 0, 0, 0.52);
    font-weight: 800;
}

.tcg-global-search-suggestions {
    margin-top: 26px;
}

.tcg-global-search-suggestions > span {
    display: block;
    margin-bottom: 12px;
    color: rgba(0, 0, 0, 0.52);
    font-size: 13px;
    font-weight: 900;
}

.tcg-global-search-suggestions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tcg-global-search-suggestions a {
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: #fff;
    color: #080808;
    display: inline-flex;
    align-items: center;
    font-weight: 900;
    border: 1px solid rgba(0, 0, 0, 0.06);
}

body.global-search-open {
    overflow: hidden;
}

@media (max-width: 700px) {
    .tcg-global-search {
        max-height: 100dvh;
        min-height: 100dvh;
        padding: 24px 16px;
        border-radius: 0;
    }

    .tcg-global-search-head h2 {
        font-size: 44px;
    }

    .close-global-search {
        width: 48px;
        height: 48px;
        font-size: 28px;
    }

    .tcg-global-search-field {
        display: grid;
        border-radius: 26px;
    }

    .tcg-global-search-field input[type="search"] {
        min-height: 56px;
    }

    .tcg-global-search-field button {
        width: 100%;
        min-width: 0;
        min-height: 54px;
    }

    .tcg-global-search-results .live-search-item {
        grid-template-columns: 64px 1fr;
    }

    .tcg-global-search-results img {
        width: 64px;
        height: 64px;
    }
}

/* Fix prekrytia obsahu desktopovým headerom na shope a kategóriách */
@media (min-width: 901px) {
    body.woocommerce-shop main,
    body.post-type-archive-product main,
    body.tax-product_cat main {
        padding-top: 105px !important;
    }
}

.tcg-coupon-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    margin-top: 16px;
}

.tcg-coupon-code {
    width: 100%;
    min-height: 54px;
    padding: 0 18px;
    border: 1px solid #ded8ce;
    border-radius: 16px;
    background: #fff;
    font: inherit;
    outline: none;
}

.tcg-coupon-code:focus {
    border-color: #111;
}

.tcg-apply-coupon {
    min-height: 54px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.tcg-apply-coupon:disabled {
    opacity: 0.55;
    cursor: wait;
}

.tcg-coupon-message {
    display: none;
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 14px;
    font-weight: 700;
}

.tcg-coupon-message.is-success {
    display: block;
    background: #edf8ee;
    color: #23732d;
}

.tcg-coupon-message.is-error {
    display: block;
    background: #fff0f0;
    color: #b42318;
}

@media (max-width: 600px) {
    .tcg-coupon-fields {
        grid-template-columns: 1fr;
    }

    .tcg-apply-coupon {
        width: 100%;
    }
}
/* =========================================================
   365TCG CHECKOUT – DOPRAVA
   ========================================================= */

   .woocommerce-checkout-review-order-table tr.shipping,
   .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
       display: grid !important;
       grid-template-columns: 1fr !important;
       padding: 26px !important;
       
       border: 0 !important;
   }
   
   .woocommerce-checkout-review-order-table tr.shipping > th,
   .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th {
       display: block !important;
       width: 100% !important;
       padding: 0 0 18px !important;
       border: 0 !important;
       text-align: left !important;
       font-size: 24px !important;
       line-height: 1.1 !important;
       font-weight: 900 !important;
       color: #080808 !important;
   }
   
   .woocommerce-checkout-review-order-table tr.shipping > td,
   .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
       display: block !important;
       width: 100% !important;
       padding: 0 !important;
       border: 0 !important;
       text-align: left !important;
   }
   
   /* Zoznam dopravy */
   
   .woocommerce-checkout #shipping_method {
       display: grid !important;
       grid-template-columns: repeat(2, minmax(0, 1fr));
       gap: 14px;
       width: 100%;
       margin: 0 !important;
       padding: 0 !important;
       list-style: none !important;
   }
   
   .woocommerce-checkout #shipping_method li {
       position: relative;
       display: flex !important;
       flex-wrap: wrap;
       align-items: flex-start;
       align-content: flex-start;
       gap: 12px;
       min-width: 0;
       min-height: 112px;
       margin: 0 !important;
       padding: 20px !important;
       border: 1px solid #ddd6ca;
       border-radius: 20px;
       background: #fff;
       text-align: left !important;
       transition:
           border-color 0.2s ease,
           box-shadow 0.2s ease,
           transform 0.2s ease;
   }
   
   .woocommerce-checkout #shipping_method li:hover {
       border-color: #c8a45d;
       box-shadow: 0 14px 36px rgba(0, 0, 0, 0.06);
       transform: translateY(-1px);
   }
   
   .woocommerce-checkout #shipping_method li:has(input[type="radio"]:checked) {
       border-color: #080808;
       box-shadow: 0 14px 36px rgba(0, 0, 0, 0.08);
   }
   
   /* Rádio */
   
   .woocommerce-checkout #shipping_method input[type="radio"] {
       appearance: none;
       -webkit-appearance: none;
       flex: 0 0 auto;
       width: 21px;
       height: 21px;
       margin: 1px 0 0 !important;
       border: 2px solid #aaa49a;
       border-radius: 50%;
       background: #fff;
       cursor: pointer;
       transition: 0.2s ease;
   }
   
   .woocommerce-checkout #shipping_method input[type="radio"]:checked {
       border: 6px solid #080808;
   }
   
   /* Text dopravy */
   
   .woocommerce-checkout #shipping_method label {
       flex: 1 1 calc(100% - 36px);
       min-width: 0;
       margin: 0 !important;
       color: #080808 !important;
       font-size: 15px !important;
       line-height: 1.4 !important;
       font-weight: 850 !important;
       cursor: pointer;
   }
   
   .woocommerce-checkout #shipping_method label .woocommerce-Price-amount {
       color: #c29b45 !important;
       font-weight: 900 !important;
       white-space: nowrap;
   }
   
   /* =========================================================
      PACKETA WIDGET
      ========================================================= */
   
   /* Skrytie veľkého loga Packety */
   
   .woocommerce-checkout #shipping_method img[src*="packeta"],
   .woocommerce-checkout #shipping_method img[src*="zasilkovna"],
   .woocommerce-checkout #shipping_method img[alt*="Packeta"],
   .woocommerce-checkout #shipping_method img[alt*="Zásielkovňa"] {
       display: none !important;
   }
   
   /* Obaly Packeta widgetu */
   
   .woocommerce-checkout #shipping_method [class*="packeta"],
   .woocommerce-checkout #shipping_method [class*="packetery"] {
       max-width: 100%;
   }
   
   /* Tlačidlo na výber miesta */
   
   .woocommerce-checkout #shipping_method a[class*="packeta"],
   .woocommerce-checkout #shipping_method button[class*="packeta"],
   .woocommerce-checkout #shipping_method a[class*="packetery"],
   .woocommerce-checkout #shipping_method button[class*="packetery"],
   .woocommerce-checkout #shipping_method [onclick*="Packeta"],
   .woocommerce-checkout #shipping_method [onclick*="packeta"] {
       flex: 0 0 100%;
       display: inline-flex !important;
       align-items: center;
       justify-content: center;
       width: fit-content !important;
       max-width: 100%;
       min-height: 44px !important;
       margin: 6px 0 0 33px !important;
       padding: 0 18px !important;
       border: 0 !important;
       border-radius: 999px !important;
       background: #080808 !important;
       color: #fff !important;
       font-family: inherit !important;
       font-size: 13px !important;
       line-height: 1.2 !important;
       font-weight: 900 !important;
       text-align: center !important;
       text-decoration: none !important;
       box-shadow: none !important;
       cursor: pointer;
   }
   
   /* Vybrané miesto Packety */
   
   .woocommerce-checkout #shipping_method [class*="selected-point"],
   .woocommerce-checkout #shipping_method [class*="selected-branch"],
   .woocommerce-checkout #shipping_method [class*="pickup-point"] {
       flex: 0 0 100%;
       margin: 8px 0 0 33px !important;
       padding: 12px 14px !important;
       border-radius: 13px;
       background: #f7f2e9;
       color: #55514b;
       font-size: 13px;
       line-height: 1.45;
   }
   
   /* =========================================================
      CELKOVÁ CENA
      ========================================================= */
   
   .woocommerce-checkout-review-order-table .order-total th,
   .woocommerce-checkout-review-order-table .order-total td {
       padding: 22px 20px !important;
       background: #fff !important;
       font-size: 24px !important;
       line-height: 1.1 !important;
       font-weight: 900 !important;
   }
   
   /* =========================================================
      MOBIL
      ========================================================= */
   
   @media (max-width: 700px) {
       .woocommerce-checkout-review-order-table tr.shipping,
       .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
           padding: 20px 16px !important;
       }
   
       .woocommerce-checkout #shipping_method {
           grid-template-columns: 1fr;
       }
   
       .woocommerce-checkout #shipping_method li {
           min-height: 0;
           padding: 17px !important;
           border-radius: 17px;
       }
   
       .woocommerce-checkout #shipping_method label {
           font-size: 14px !important;
       }
   
       .woocommerce-checkout #shipping_method a[class*="packeta"],
       .woocommerce-checkout #shipping_method button[class*="packeta"],
       .woocommerce-checkout #shipping_method a[class*="packetery"],
       .woocommerce-checkout #shipping_method button[class*="packetery"],
       .woocommerce-checkout #shipping_method [onclick*="Packeta"],
       .woocommerce-checkout #shipping_method [onclick*="packeta"] {
           width: 100% !important;
           margin: 8px 0 0 !important;
       }
   
       .woocommerce-checkout #shipping_method [class*="selected-point"],
       .woocommerce-checkout #shipping_method [class*="selected-branch"],
       .woocommerce-checkout #shipping_method [class*="pickup-point"] {
           margin-left: 0 !important;
       }
   }
   /* =========================================================
   365TCG – LEGAL PAGE
   ========================================================= */

.tcg-legal-page {
    background: #f6f1e8;
    color: #080808;
}

.tcg-legal-hero {
    position: relative;
    overflow: hidden;
    padding: 190px 0 84px;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(200, 164, 93, 0.2),
            transparent 36%
        ),
        #080808;
    color: #fff;
}

.tcg-legal-hero-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 48px;
}

.tcg-legal-hero-copy {
    max-width: 850px;
}

.tcg-legal-eyebrow {
    display: inline-block;
    margin-bottom: 20px;
    color: #c8a45d;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.tcg-legal-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(52px, 8vw, 104px);
    font-weight: 950;
    line-height: 0.9;
    letter-spacing: -5px;
}

.tcg-legal-hero p {
    max-width: 680px;
    margin: 27px 0 0;
    color: rgba(255, 255, 255, 0.66);
    font-size: 18px;
    line-height: 1.7;
}

.tcg-legal-hero-mark {
    flex: 0 0 auto;
    color: rgba(255, 255, 255, 0.05);
    font-size: clamp(90px, 15vw, 190px);
    font-weight: 950;
    line-height: 0.75;
    letter-spacing: -10px;
    user-select: none;
}

.tcg-legal-content-section {
    padding: 70px 0 120px;
}

.tcg-legal-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 34px;
}

.tcg-legal-sidebar {
    position: sticky;
    top: 150px;
    display: grid;
    gap: 16px;
}

.tcg-legal-sidebar-card,
.tcg-legal-contact-card,
.tcg-legal-nav {
    overflow: hidden;
    border: 1px solid rgba(8, 8, 8, 0.07);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(8, 8, 8, 0.04);
}

.tcg-legal-sidebar-card {
    padding: 24px;
}

.tcg-legal-sidebar-card span,
.tcg-legal-contact-card > span {
    display: block;
    margin-bottom: 9px;
    color: #b58d36;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.tcg-legal-sidebar-card strong {
    display: block;
    font-size: 17px;
    line-height: 1.4;
}

.tcg-legal-nav {
    display: grid;
    padding: 10px;
}

.tcg-legal-nav a {
    display: flex;
    align-items: center;
    min-height: 43px;
    padding: 0 14px;
    border-radius: 14px;
    color: #514d46;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.tcg-legal-nav a:hover {
    background: #f6f1e8;
    color: #080808;
    transform: translateX(3px);
}

.tcg-legal-contact-card {
    padding: 24px;
    background: #080808;
    color: #fff;
}

.tcg-legal-contact-card p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 13px;
    line-height: 1.7;
}

.tcg-legal-contact-card a {
    color: #c8a45d;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

.tcg-legal-document {
    min-width: 0;
    padding: 46px 52px 60px;
    border: 1px solid rgba(8, 8, 8, 0.07);
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(8, 8, 8, 0.06);
}

.tcg-legal-document-head {
    margin-bottom: 42px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eae4da;
}

.tcg-legal-document-head span {
    display: inline-block;
    margin-bottom: 10px;
    color: #b58d36;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.tcg-legal-document-head p {
    max-width: 700px;
    margin: 0;
    color: #6d675f;
    font-size: 14px;
    line-height: 1.7;
}

.tcg-legal-entry {
    color: #45413c;
    font-size: 15px;
    line-height: 1.85;
}

.tcg-legal-entry > *:first-child {
    margin-top: 0;
}

.tcg-legal-entry h1 {
    margin: 0 0 20px;
    color: #080808;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.12;
    letter-spacing: -1.5px;
}

.tcg-legal-entry h2,
.tcg-legal-entry h3,
.tcg-legal-entry .tcg-legal-article-title {
    scroll-margin-top: 170px;
    margin: 56px 0 20px;
    padding-top: 4px;
    color: #080808;
    font-size: 25px;
    font-weight: 950;
    line-height: 1.2;
    letter-spacing: -0.7px;
}

.tcg-legal-entry h2::before,
.tcg-legal-entry h3::before,
.tcg-legal-entry .tcg-legal-article-title::before {
    content: "";
    display: block;
    width: 42px;
    height: 4px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: #c8a45d;
}

.tcg-legal-entry p {
    margin: 0 0 18px;
}

.tcg-legal-entry strong {
    color: #080808;
    font-weight: 900;
}

.tcg-legal-entry a {
    color: #a77e27;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.tcg-legal-entry ul,
.tcg-legal-entry ol {
    margin: 18px 0 26px;
    padding-left: 24px;
}

.tcg-legal-entry li {
    margin-bottom: 11px;
    padding-left: 5px;
}

.tcg-legal-entry blockquote {
    margin: 28px 0;
    padding: 22px 24px;
    border: 0;
    border-left: 4px solid #c8a45d;
    border-radius: 0 18px 18px 0;
    background: #f6f1e8;
    color: #514d46;
}

.tcg-legal-entry table {
    width: 100%;
    margin: 28px 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #e6dfd5;
    border-radius: 18px;
}

.tcg-legal-entry th,
.tcg-legal-entry td {
    padding: 14px 16px;
    border-right: 1px solid #e6dfd5;
    border-bottom: 1px solid #e6dfd5;
    text-align: left;
    vertical-align: top;
}

.tcg-legal-entry th {
    background: #f6f1e8;
    color: #080808;
    font-weight: 900;
}

.tcg-legal-entry th:last-child,
.tcg-legal-entry td:last-child {
    border-right: 0;
}

.tcg-legal-entry tr:last-child td {
    border-bottom: 0;
}

@media (max-width: 980px) {
    .tcg-legal-hero {
        padding-top: 150px;
    }

    .tcg-legal-hero-mark {
        display: none;
    }

    .tcg-legal-layout {
        grid-template-columns: 1fr;
    }

    .tcg-legal-sidebar {
        position: static;
    }

    .tcg-legal-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .tcg-legal-nav a {
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 700px) {
    .tcg-legal-hero {
        padding: 126px 0 54px;
    }

    .tcg-legal-hero h1 {
        font-size: 52px;
        letter-spacing: -3px;
    }

    .tcg-legal-hero p {
        font-size: 15px;
    }

    .tcg-legal-content-section {
        padding: 30px 0 80px;
    }

    .tcg-legal-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tcg-legal-document {
        padding: 28px 20px 40px;
        border-radius: 24px;
    }

    .tcg-legal-document-head {
        margin-bottom: 30px;
        padding-bottom: 22px;
    }

    .tcg-legal-entry {
        font-size: 14px;
        line-height: 1.8;
    }

    .tcg-legal-entry h2,
    .tcg-legal-entry h3,
    .tcg-legal-entry .tcg-legal-article-title {
        margin-top: 42px;
        font-size: 22px;
    }

    .tcg-legal-entry table {
        display: block;
        overflow-x: auto;
        white-space: normal;
    }
}
/* =========================================================
   365TCG – MAPA KAMENNEJ PREDAJNE
========================================================= */

.tcg-store-map {
    position: relative;
    overflow: hidden;
    min-height: 620px;
    border-radius: 34px;
    background: #ede8de;
}

.tcg-store-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 620px;
    border: 0;
    filter: grayscale(15%) contrast(0.95);
}

/* Jemné prekrytie, aby mapa viac ladila s dizajnom */
.tcg-store-map::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
        inset 0 0 0 1px rgba(0, 0, 0, 0.05),
        inset 0 0 60px rgba(200, 164, 93, 0.05);
}

@media (max-width: 900px) {
    .tcg-store-map,
    .tcg-store-map iframe {
        min-height: 460px;
    }
}

@media (max-width: 600px) {
    .tcg-store-map {
        min-height: 360px;
        border-radius: 24px;
    }

    .tcg-store-map iframe {
        min-height: 360px;
    }
}
/* Predobjednávka badge na produktovej karte */
.tcg-product-card {
    position: relative;
}

.tcg-preorder-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: #f28c28;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}

@media (max-width: 768px) {
    .tcg-preorder-badge {
        top: 10px;
        left: 10px;
        padding: 7px 9px;
        font-size: 9px;
    }
}
/* Predobjednávka badge na detaile produktu */
.product-preorder-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin: 10px 0 14px;
    padding: 8px 13px;
    border-radius: 999px;
    background: #f28c28;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .product-preorder-badge {
        margin-top: 8px;
        margin-bottom: 12px;
        padding: 7px 10px;
        font-size: 9px;
    }
}
/* Predobjednávka badge nad galériou produktu */
.product-gallery-card {
    position: relative;
}

.product-gallery-preorder-badge {
    position: absolute;
    top: 24px;
    left: 24px;
    z-index: 20;

    display: inline-flex;
    align-items: center;
    width: fit-content;

    padding: 9px 14px;
    border-radius: 999px;

    background: #f28c28;
    color: #fff;

    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;

    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
}

@media (max-width: 768px) {
    .product-gallery-preorder-badge {
        top: 16px;
        left: 16px;
        padding: 8px 11px;
        font-size: 9px;
    }
}
/* =========================================================
   O NÁS – FAKTURAČNÉ ÚDAJE
========================================================= */

.tcg-about-company {
    padding: 40px 0 120px;
}

.tcg-about-company-card {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 70px;
    padding: 56px;
    border: 1px solid rgba(8, 8, 8, 0.08);
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 24px 70px rgba(8, 8, 8, 0.06);
}

.tcg-about-company-heading span {
    display: block;
    margin-bottom: 14px;
    color: #c9a654;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tcg-about-company-heading h2 {
    margin: 0 0 18px;
    color: #080808;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.tcg-about-company-heading p {
    max-width: 430px;
    margin: 0;
    color: rgba(8, 8, 8, 0.62);
    font-size: 16px;
    line-height: 1.7;
}

.tcg-about-company-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.tcg-about-company-item {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(8, 8, 8, 0.07);
    border-radius: 22px;
    background: #f7f1e7;
}

.tcg-about-company-item > span {
    display: block;
    margin-bottom: 9px;
    color: rgba(8, 8, 8, 0.48);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.tcg-about-company-item strong {
    display: block;
    color: #080808;
    font-size: 18px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.tcg-about-company-item small {
    display: block;
    margin-top: 7px;
    color: rgba(8, 8, 8, 0.55);
    font-size: 12px;
    line-height: 1.5;
}

.tcg-about-company-item p {
    margin: 8px 0 0;
    color: rgba(8, 8, 8, 0.68);
    font-size: 15px;
    line-height: 1.65;
}

.tcg-about-company-address {
    grid-column: 1 / -1;
}

@media (max-width: 900px) {
    .tcg-about-company {
        padding: 20px 0 90px;
    }

    .tcg-about-company-card {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 36px;
        border-radius: 28px;
    }
}

@media (max-width: 620px) {
    .tcg-about-company-card {
        padding: 24px;
        border-radius: 24px;
    }

    .tcg-about-company-grid {
        grid-template-columns: 1fr;
    }

    .tcg-about-company-address {
        grid-column: auto;
    }

    .tcg-about-company-item {
        padding: 19px;
        border-radius: 18px;
    }

    .tcg-about-company-heading h2 {
        font-size: 36px;
    }
}
/* =========================================================
   HIERARCHICKÉ EDÍCIE VO FILTRI
========================================================= */

.edition-family-accordion {
    margin-top: 8px;
    padding-left: 10px;
}

.edition-family-toggle {
    padding: 12px 0 !important;
    border-top: 1px solid rgba(8, 8, 8, 0.08);
}

.edition-family-toggle span {
    font-size: 14px;
    font-weight: 800;
}

.edition-family-content {
    padding-top: 6px;
    padding-left: 8px;
}

.edition-parent-check {
    margin-bottom: 6px;
}

@media (max-width: 768px) {
    .edition-family-accordion {
        padding-left: 4px;
    }

    .edition-family-toggle span {
        font-size: 13px;
    }
}

/* =========================================================
   KONTAKT – NOVÝ PREHĽADNÝ LAYOUT
========================================================= */

.tcg-contact-page {
    background: #f6f1e8;
}

.tcg-contact-hero {
    padding: 130px 0 56px;
}

.tcg-contact-heading {
    max-width: 760px;
    margin-bottom: 42px;
}

.tcg-contact-heading > span,
.tcg-contact-store-card > span {
    display: block;
    margin-bottom: 12px;
    color: #c9a654;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.tcg-contact-heading h1 {
    margin: 0 0 18px;
    color: #080808;
    font-size: clamp(48px, 6vw, 86px);
    line-height: 0.95;
    letter-spacing: -0.055em;
}

.tcg-contact-heading p {
    max-width: 620px;
    margin: 0;
    color: rgba(8, 8, 8, 0.62);
    font-size: 18px;
    line-height: 1.65;
}

.tcg-contact-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.tcg-contact-quick-card {
    display: flex;
    flex-direction: column;
    min-height: 170px;
    padding: 26px;
    border: 1px solid rgba(8, 8, 8, 0.08);
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.88);
    color: #080808;
    text-decoration: none;
    box-shadow: 0 18px 48px rgba(8, 8, 8, 0.05);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.tcg-contact-quick-card:hover {
    transform: translateY(-4px);
    border-color: rgba(201, 166, 84, 0.45);
    box-shadow: 0 24px 60px rgba(8, 8, 8, 0.09);
}

.tcg-contact-quick-card > span {
    display: block;
    margin-bottom: 18px;
    color: rgba(8, 8, 8, 0.48);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.tcg-contact-quick-card strong {
    display: block;
    color: #080808;
    font-size: 22px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.tcg-contact-quick-card small {
    display: block;
    margin-top: auto;
    padding-top: 24px;
    color: #bd9847;
    font-size: 13px;
    font-weight: 850;
}

.tcg-contact-store {
    padding: 24px 0 120px;
}

.tcg-contact-store-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(360px, 0.7fr);
    gap: 18px;
    align-items: stretch;
}

.tcg-contact-map {
    min-height: 560px;
    overflow: hidden;
    border: 1px solid rgba(8, 8, 8, 0.08);
    border-radius: 34px;
    background: #e9e2d7;
    box-shadow: 0 24px 64px rgba(8, 8, 8, 0.06);
}

.tcg-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
}

.tcg-contact-store-card {
    padding: 38px;
    border: 1px solid rgba(8, 8, 8, 0.08);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 24px 64px rgba(8, 8, 8, 0.06);
}

.tcg-contact-store-card h2 {
    margin: 0 0 30px;
    color: #080808;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.tcg-contact-detail {
    margin-bottom: 12px;
    padding: 20px;
    border: 1px solid rgba(8, 8, 8, 0.05);
    border-radius: 20px;
    background: #f5efe5;
}

.tcg-contact-detail > span {
    display: block;
    margin-bottom: 7px;
    color: rgba(8, 8, 8, 0.47);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.tcg-contact-detail strong {
    display: block;
    color: #080808;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.tcg-contact-detail p {
    margin: 5px 0 0;
    color: rgba(8, 8, 8, 0.62);
    font-size: 14px;
    line-height: 1.5;
}

.tcg-contact-store-card .tcg-about-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 12px;
    padding: 15px 22px;
    border-radius: 999px;
    background: #080808;
    color: #fff;
    font-size: 14px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition:
        transform 0.2s ease,
        background-color 0.2s ease;
}

.tcg-contact-store-card .tcg-about-btn:hover {
    transform: translateY(-2px);
    background: #c9a654;
    color: #080808;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {
    .tcg-contact-hero {
        padding-top: 110px;
    }

    .tcg-contact-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tcg-contact-store-grid {
        grid-template-columns: 1fr;
    }

    .tcg-contact-map,
    .tcg-contact-map iframe {
        min-height: 440px;
    }
}

/* =========================================================
   MOBIL
========================================================= */

@media (max-width: 620px) {
    .tcg-contact-hero {
        padding: 90px 0 34px;
    }

    .tcg-contact-heading {
        margin-bottom: 28px;
    }

    .tcg-contact-heading h1 {
        font-size: 46px;
        line-height: 0.98;
    }

    .tcg-contact-heading p {
        font-size: 16px;
        line-height: 1.6;
    }

    .tcg-contact-quick-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .tcg-contact-quick-card {
        min-height: 132px;
        padding: 22px;
        border-radius: 22px;
    }

    .tcg-contact-quick-card strong {
        font-size: 19px;
    }

    .tcg-contact-quick-card small {
        padding-top: 18px;
    }

    .tcg-contact-store {
        padding: 8px 0 90px;
    }

    .tcg-contact-store-grid {
        gap: 14px;
    }

    .tcg-contact-map {
        min-height: 340px;
        border-radius: 24px;
    }

    .tcg-contact-map iframe {
        min-height: 340px;
    }

    .tcg-contact-store-card {
        padding: 24px;
        border-radius: 24px;
    }

    .tcg-contact-store-card h2 {
        margin-bottom: 24px;
        font-size: 38px;
    }

    .tcg-contact-detail {
        padding: 18px;
        border-radius: 18px;
    }

    .tcg-contact-store-card .tcg-about-btn {
        width: 100%;
        min-height: 50px;
    }
}

.tcg-contact-detail a {
    color: inherit;
    text-decoration: none;
}

.tcg-contact-detail a:hover {
    color: #c9a654;
}
/* =========================================================
   ORANŽOVÉ TLAČIDLO PREDOBJEDNÁVKY
========================================================= */

/* Výpis produktov */
.tcg-preorder-button,
.tcg-preorder-button:hover,
.tcg-preorder-button:focus {
    background: #f28c28 !important;
    border-color: #f28c28 !important;
    color: #fff !important;
}

/* Detail produktu */
body.tcg-preorder-product .product-cart-box .single_add_to_cart_button,
body.tcg-preorder-product .product-cart-box .single_add_to_cart_button:hover,
body.tcg-preorder-product .product-cart-box .single_add_to_cart_button:focus {
    background: #f28c28 !important;
    border-color: #f28c28 !important;
    color: #fff !important;
}
/* =========================================================
   KONTAKT – PREMIUM REDESIGN
========================================================= */

.tcg-contact-page {
    background:
        radial-gradient(
            circle at 85% 8%,
            rgba(201, 166, 84, 0.13),
            transparent 28%
        ),
        #f6f1e8;
}

.tcg-contact-main {
    padding: 132px 0 42px;
}

.tcg-contact-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.65fr);
    align-items: end;
    gap: 60px;
    margin-bottom: 48px;
}

.tcg-contact-eyebrow {
    display: block;
    margin-bottom: 16px;
    color: #c9a654;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tcg-contact-intro h1 {
    max-width: 820px;
    margin: 0;
    color: #080808;
    font-size: clamp(58px, 7vw, 108px);
    line-height: 0.91;
    letter-spacing: -0.065em;
}

.tcg-contact-intro p {
    max-width: 480px;
    margin: 0 0 8px;
    color: rgba(8, 8, 8, 0.6);
    font-size: 17px;
    line-height: 1.7;
}

.tcg-contact-panel {
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(0, 0.85fr)
        minmax(0, 0.85fr);
    overflow: hidden;
    border: 1px solid rgba(8, 8, 8, 0.09);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow:
        0 30px 80px rgba(8, 8, 8, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(18px);
}

.tcg-contact-panel-section {
    min-width: 0;
    padding: 38px;
    border-left: 1px solid rgba(8, 8, 8, 0.08);
}

.tcg-contact-panel-section:first-child {
    border-left: 0;
}

.tcg-contact-panel-section > span {
    display: block;
    margin-bottom: 20px;
    color: rgba(8, 8, 8, 0.43);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcg-contact-panel-primary {
    background:
        linear-gradient(
            135deg,
            rgba(8, 8, 8, 0.98),
            rgba(22, 22, 22, 0.96)
        );
    color: #fff;
}

.tcg-contact-panel-primary > span {
    color: rgba(255, 255, 255, 0.52);
}

.tcg-contact-large-link {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 12px;
    color: #fff;
    font-size: clamp(22px, 2vw, 31px);
    font-weight: 800;
    line-height: 1.16;
    letter-spacing: -0.025em;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color 0.2s ease;
}

.tcg-contact-large-link:hover {
    color: #d8b765;
}

.tcg-contact-panel-primary p {
    max-width: 390px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 13px;
    line-height: 1.65;
}

.tcg-contact-hours {
    display: grid;
    gap: 22px;
}

.tcg-contact-hours div {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(8, 8, 8, 0.08);
}

.tcg-contact-hours div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.tcg-contact-hours strong,
.tcg-contact-hours em {
    display: block;
}

.tcg-contact-hours strong {
    margin-bottom: 7px;
    color: #080808;
    font-size: 16px;
    line-height: 1.35;
}

.tcg-contact-hours em {
    color: rgba(8, 8, 8, 0.56);
    font-size: 14px;
    font-style: normal;
}

.tcg-contact-address {
    display: block;
    margin-bottom: 28px;
    color: #080808;
    font-size: 22px;
    line-height: 1.35;
    letter-spacing: -0.025em;
}

.tcg-contact-route {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 19px;
    border: 1px solid rgba(8, 8, 8, 0.13);
    border-radius: 999px;
    color: #080808;
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.tcg-contact-route::after {
    content: "↗";
    margin-left: 9px;
    font-size: 14px;
}

.tcg-contact-route:hover {
    transform: translateY(-2px);
    border-color: #080808;
    background: #080808;
    color: #fff;
}

.tcg-contact-map-section {
    padding: 18px 0 120px;
}

.tcg-contact-map-card {
    position: relative;
    min-height: 560px;
    overflow: hidden;
    border: 1px solid rgba(8, 8, 8, 0.09);
    border-radius: 36px;
    background: #ded7cc;
    box-shadow: 0 30px 85px rgba(8, 8, 8, 0.08);
}

.tcg-contact-map-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 560px;
    filter: saturate(0.8) contrast(0.98);
}

.tcg-contact-map-overlay {
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    max-width: calc(100% - 48px);
    padding: 20px 23px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 22px;
    background: rgba(8, 8, 8, 0.9);
    color: #fff;
    box-shadow: 0 18px 45px rgba(8, 8, 8, 0.24);
    backdrop-filter: blur(14px);
    pointer-events: none;
}

.tcg-contact-map-overlay span {
    margin-bottom: 7px;
    color: #d6b45f;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.tcg-contact-map-overlay strong {
    margin-bottom: 5px;
    font-size: 19px;
    line-height: 1.25;
}

.tcg-contact-map-overlay small {
    color: rgba(255, 255, 255, 0.6);
    font-size: 12px;
    line-height: 1.45;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .tcg-contact-main {
        padding-top: 108px;
    }

    .tcg-contact-intro {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .tcg-contact-intro p {
        max-width: 620px;
    }

    .tcg-contact-panel {
        grid-template-columns: 1fr 1fr;
    }

    .tcg-contact-panel-primary {
        grid-column: 1 / -1;
    }

    .tcg-contact-panel-section:nth-child(2) {
        border-left: 0;
    }

    .tcg-contact-panel-section:nth-child(3) {
        border-left: 1px solid rgba(8, 8, 8, 0.08);
    }

}

/* =========================================================
   MOBIL
========================================================= */

@media (max-width: 680px) {

    .tcg-contact-main {
        padding: 88px 0 24px;
    }

    .tcg-contact-intro {
        margin-bottom: 30px;
    }

    .tcg-contact-intro h1 {
        font-size: 52px;
        line-height: 0.94;
    }

    .tcg-contact-intro p {
        font-size: 15px;
        line-height: 1.65;
    }

    .tcg-contact-panel {
        grid-template-columns: 1fr;
        border-radius: 26px;
    }

    .tcg-contact-panel-primary {
        grid-column: auto;
    }

    .tcg-contact-panel-section {
        padding: 27px 24px;
        border-top: 1px solid rgba(8, 8, 8, 0.08);
        border-left: 0 !important;
    }

    .tcg-contact-panel-section:first-child {
        border-top: 0;
    }

    .tcg-contact-large-link {
        font-size: 23px;
    }

    .tcg-contact-map-section {
        padding: 8px 0 90px;
    }

    .tcg-contact-map-card {
        min-height: 390px;
        border-radius: 26px;
    }

    .tcg-contact-map-card iframe {
        min-height: 390px;
    }

    .tcg-contact-map-overlay {
        left: 14px;
        right: 14px;
        bottom: 14px;
        max-width: none;
        padding: 17px 18px;
        border-radius: 18px;
    }

}
/* =========================================================
   KONTAKT – OPRAVA HORNEJ ČASTI
========================================================= */

.tcg-contact-main {
    padding-top: 125px;
}

.tcg-contact-intro {
    display: block;
    max-width: 980px;
    margin-bottom: 48px;
}

.tcg-contact-eyebrow {
    display: block;
    margin-bottom: 18px;
}

.tcg-contact-intro h1 {
    max-width: 900px;
    margin: 0;
    font-size: clamp(58px, 6vw, 96px);
    line-height: 0.92;
    letter-spacing: -0.065em;
}

.tcg-contact-intro p {
    max-width: 610px;
    margin: 28px 0 0;
    font-size: 17px;
    line-height: 1.7;
}

/* Tablet */
@media (max-width: 1000px) {
    .tcg-contact-main {
        padding-top: 110px;
    }

    .tcg-contact-intro {
        max-width: 800px;
        margin-bottom: 38px;
    }

    .tcg-contact-intro h1 {
        max-width: 760px;
        font-size: clamp(54px, 8vw, 82px);
    }
}

/* Mobil */
@media (max-width: 680px) {
    .tcg-contact-main {
        padding-top: 88px;
    }

    .tcg-contact-intro {
        margin-bottom: 30px;
    }

    .tcg-contact-eyebrow {
        margin-bottom: 13px;
    }

    .tcg-contact-intro h1 {
        max-width: 100%;
        font-size: 48px;
        line-height: 0.96;
        letter-spacing: -0.055em;
    }

    .tcg-contact-intro p {
        margin-top: 20px;
        font-size: 15px;
        line-height: 1.65;
    }
}