/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.1.1770050435
Updated: 2026-02-02 16:40:35

*/


html {
    scroll-behavior: smooth;
}

/* Default hidden */
.mobile-account-icons {
    display: none;
}

    /* Header */
/* =====================================================
   ASTRA MENU – parent + jeho child zůstanou černé,
   ostatní položky se při hoveru zesvětlí
===================================================== */

/* ZÁKLAD: vše černé a tučné */
.ast-header-menu .menu-link {
    color: #000 !important;
    font-weight: 700 !important;
    transition: color 0.2s ease !important;
}

/* KDYŽ HOVERUJU NAD JEDNÍM MENU ITEMEM → vše zesvětlí */
.ast-header-menu .menu-item:hover ~ .menu-item .menu-link,
.ast-header-menu .menu-item:hover .menu-item .menu-link {
    color: #b5b5b5;
}

/* HOVERNUTÝ PARENT ZŮSTÁVÁ ČERNÝ */
.ast-header-menu .menu-item:hover > .menu-link {
    color: #000;
}

/* JEHO CHILD POLOŽKY ZŮSTÁVAJÍ ČERNÉ */
.ast-header-menu .menu-item:hover .sub-menu .menu-link {
    color: #000;
}

/* AKTUÁLNÍ STRÁNKA JE VŽDY ČERNÁ */
.ast-header-menu .current-menu-item > .menu-link,
.ast-header-menu .current_page_item > .menu-link {
    color: #000;
}

/* =========================
   Secondary menu Basket, My account
========================= */



/* ===== IKONY PŘÍMO PODLE ID ===== */

.cart-icon-wrapper {
    position: relative;
    margin-left: 15px;
}

.header-cart-icon {
    position: relative;
    font-size: 22px;
    color: #000;
    display: inline-block;
}

.cart-count {
    position: absolute;
    top: -6px;
    right: -10px;
    background: #e10600;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 6px;
    border-radius: 20px;
    line-height: 1;
}




/* Homepage content*/

/* =========================
   H1 INTRO SECTION
========================= */

.home-intro {
    padding: 60px 0;
}

.home-intro .intro-inner {
    text-align: center;
    max-width: 1400px;
    margin: 0 auto;
}

.home-intro h1 {
    font-size: 42px;
    margin-bottom: 20px;
}


.home-intro p {
    max-width: 800px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.6;
}


/* =========================
   50/50 SECTION
========================= */

.home-cta-50 {
    padding: 80px 20px;
}

.cta-50-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: flex-start;
}

.cta-50-text h2 {
    font-size: 32px;
    margin-bottom: 20px;
}

.cta-50-text p {
    margin-bottom: 25px;
    font-size: 18px;
    line-height: 1.6;
}

.cta-btn {
    display: inline-block;
    padding: 14px 28px;
    margin: 20px 0;
    background: #000;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    transition: 0.3s;
}

.cta-btn:hover {
    opacity: 0.85;
    color: #fff;
}

.cta-50-image img {
    width: 100%;
    max-width: 700px;
    height: auto;
    border-radius: 10px;
}

/* =========================
   Pages, posts content
========================= */

.page .entry-header {
    margin-bottom: 1.5em;
}


/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .home-intro h1 {
        font-size: 30px;
    }

    .cta-50-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .cta-50-text {
        text-align: center;
    }

    .cta-btn {
        width: 100%;
        text-align: center;
    }

}

/* =====================================================
   KONTAKTY – TRUE 50 / 50
===================================================== */

.contact-50 {
    padding: 80px 20px;
}

.contact-50-grid {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 50% 50%;
    gap: 80px;
}

/* LEVÁ STRANA */
.contact-left {
    width: 100%;
}

/* PRAVÁ STRANA */
.contact-right {
    width: 100%;
}

.contact-map iframe {
    width: 100%;
    height: 500px;
    border: 0;
    border-radius: 8px;
}

/* =====================
   MOBILE
===================== */

@media (max-width: 992px) {
    .contact-50-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
}


/* =========================
   VIDEO 50 / 50
========================= */

.home-video-50 {
    padding: 40px 20px;
}

.video-50-grid {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 50% 50%;
    gap: 80px;
    align-items: center;
}

/* VIDEO */
.video-50-left video {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

/* TEXT */
.video-50-right h2 {
    font-size: 34px;
    margin-bottom: 20px;
}

.video-50-right p {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* =====================
   MOBILE
===================== */

@media (max-width: 992px) {

    .video-50-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}


/* =========================
   MODELS SECTION
========================= */

.home-models {
    padding: 40px 20px;
}

.models-inner {
    max-width: 1400px;
    margin: 0 auto;
}

.section-title {
    text-align: center;
    margin-bottom: 80px;
    font-size: 38px;
}

/* ROW */
.model-row {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 80px;
    align-items: center;
    margin-bottom: 60px;
}

.model-row.reverse {
    direction: rtl;
}

.model-row.reverse .model-text {
    direction: ltr;
}

.model-text h3 {
    font-size: 28px;
    margin-bottom: 20px;
}

.model-text p {
    font-size: 18px;
    line-height: 1.7;
}

.model-image img {
    width: 100%;
    border-radius: 12px;
    display: block;
}

/* =========================
   BRANDING SECTION
========================= */

.home-branding {
    padding: 60px 20px;
}

.branding-section {
    max-width: 1400px;
    margin: 0 auto;
    padding: 70px;
    background: #f5f5f5;
    border-radius: 20px;
}

/* GRID */
.branding-grid {
    display: grid;
    grid-template-columns: 1fr 600px; /* video užší */
    gap: 80px;
    align-items: center;
}

/* TEXT */
.branding-content {
    text-align: left;
}

.branding-content h2 {
    margin-bottom: 25px;
}

.branding-content p {
    font-size: 18px;
    line-height: 1.7;
}

.branding-content ul {
    margin: 25px 0;
    padding-left: 20px;
}

/* IMAGE */
.branding-image {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
}

/* VIDEO */
.branding-video video {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
}

/* CTA */
.branding-cta {
    margin-top: 60px;
}

.branding-cta-text {
    font-weight: 600;
    margin-bottom: 20px;
}

.branding-cta-btn {
    display: inline-block;
    padding: 16px 36px;
    background: #D02B2F;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    border-radius: 6px;
    transition: 0.3s ease;
}

.branding-cta-btn:hover {
    opacity: 0.85;
    color: #ffffff;
}


/* =====================
   GAMES
===================== */

/* ===== S3 ===== */



.hover-s3 {
    position: relative;
    display: inline-block;
}

.hover-s3 img {
    display: block;
    width: 100%;
    transition: opacity 0.4s ease;
}

.hover-s3::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/wp-content/uploads/2026/02/Subsoccer_S3_FRONT_LR_7.jpg.webp");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hover-s3:hover img {
    opacity: 0;
}

.hover-s3:hover::after {
    opacity: 1;
}


/* ===== S7 ===== */

.hover-s7 {
    position: relative;
    display: inline-block;
}

.hover-s7 img {
    display: block;
    width: 100%;
    transition: opacity 0.4s ease;
}

.hover-s7::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/wp-content/uploads/2026/02/Subsoccer_S7_Office3-2.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hover-s7:hover img {
    opacity: 0;
}

.hover-s7:hover::after {
    opacity: 1;
}

/* ===== Herní podložka ===== */

.hover-podlozka {
    position: relative;
    display: inline-block;
}

.hover-podlozka img {
    display: block;
    width: 100%;
    transition: opacity 0.4s ease;
}

.hover-podlozka::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/wp-content/uploads/2026/02/SS3_spareparts_S3_matt_2.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hover-podlozka:hover img {
    opacity: 0;
}

.hover-podlozka:hover::after {
    opacity: 1;
}

/* ===== Herní stůl ===== */

.hover-bagtable {
    position: relative;
    display: inline-block;
}

.hover-bagtable img {
    display: block;
    width: 100%;
    transition: opacity 0.4s ease;
}

.hover-bagtable::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/wp-content/uploads/2026/02/SS3_table_bag_2-scaled.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hover-bagtable:hover img {
    opacity: 0;
}

.hover-bagtable:hover::after {
    opacity: 1;
}

/* ===== Herní židle ===== */

.hover-bagchair {
    position: relative;
    display: inline-block;
}

.hover-bagchair img {
    display: block;
    width: 100%;
    transition: opacity 0.4s ease;
}

.hover-bagchair::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("/wp-content/uploads/2026/02/SS3_chair_bag_2-scaled.jpg");
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.hover-bagchair:hover img {
    opacity: 0;
}

.hover-bagchair:hover::after {
    opacity: 1;
}


/* =====================
   PRONÁJEM
===================== */

.corner-image-wrapper {
    position: relative;
}

.corner-image-wrapper .corner-image {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px; /* uprav podle potřeby */
    z-index: -1;
}

.corner-image-wrapper > *:not(.corner-image) {
    position: relative;
    z-index: 2;
}

/* =====================
   MODAL POPUP SINGLE PRODUCT FORMINATOR
===================== */

.inquiry-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.inquiry-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

.inquiry-modal-content {
    position: relative;
    max-width: 600px;
    margin: 5% auto;
    background: #fff;
    padding: 40px;
    z-index: 2;
}

.inquiry-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    padding: 7px 15px;
    color: #fff;
    border: none;
    cursor: pointer;
}


/* =====================
   PRODUCT DESC & PARAMETERS
===================== */

.product-stock {
    margin-top: 8px;
}

.stock-label.in-stock {
    color: #2e7d32;
    font-weight: 600;
}

.stock-label.out-of-stock {
    color: #c62828;
    font-weight: 600;
}

.stock-label.backorder {
    color: #000;
    font-weight: 600;
}

.woocommerce-js div.product form.cart .variations {
    border-bottom: 0 !important;
    position: relative;
    margin-bottom: 1em;
    width: 100%;
}

.more-info-anchor {
    margin: 5px 0 50px 0;
}

.bottom-tabs {
    margin-top: 40px;
    padding-top: 0;
    border-top: 2px solid #eee;
}.more-info-anchor {
     margin: 5px 0 50px 0;
 }

.bottom-tabs {
    margin-top: 40px;
    padding-top: 0;
    border-top: 2px solid #eee;
}

.custom-tabs {
    display: flex;
    margin: 30px 0 50px 0;
}

.custom-tabs-nav {
    width: 250px;
    display: flex;
    flex-direction: column;
}

.custom-tabs-wrapper {
    position: relative;
    z-index: 10;
}

.custom-tabs-nav button {
    position: relative;
    z-index: 20;
}

.custom-tabs-nav button {
    padding: 15px;
    border: none;
    background: #f3f3f3;
    color: #000;
    cursor: pointer;
    text-align: left;
}

.custom-tabs-nav button.active {
    background: #000;
    color: #fff;
}

.custom-tabs-content {
    flex: 1;
    padding: 40px;
    border-left: 1px solid #ddd;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}


.custom-tabs {
    display: flex;
    margin: 30px 0 50px 0;
}

.custom-tabs-nav {
    width: 250px;
    display: flex;
    flex-direction: column;
}

.custom-tabs-nav button {
    padding: 15px;
    border: none;
    background: #f3f3f3;
    color: #000;
    cursor: pointer;
    text-align: left;
}

.custom-tabs-nav button.active {
    background: #000;
    color: #fff;
}

.custom-tabs-content {
    flex: 1;
    padding: 40px;
    border-left: 1px solid #ddd;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}



/* === PRODUCT GALLERY LAYOUT  === */


.single-product .woocommerce-product-gallery {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

/* LEFT COLUMN – thumbnails */
.single-product .flex-control-thumbs {
    order: -1;
    flex: 0 0 100px;
    width: 100px;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin: 0;
}

/* Thumbnails full width of their column */
.single-product .flex-control-thumbs li {
    width: 100% !important;
}

.single-product .flex-control-thumbs img {
    width: 100% !important;
    height: auto;
}

/* RIGHT COLUMN – main image container */
.single-product .woocommerce-product-gallery__wrapper {
    flex: 1 1 auto;
    min-width: 0; /* 🔥 zabraňuje přetečení */
}

/* Fix Flexslider overflow */
.single-product .woocommerce-product-gallery .flex-viewport {
    overflow: hidden !important;
}

/* Main image always responsive */
.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
}

.thumb-arrow {
    position: absolute;
    left: 0;
    width: 100px;
    text-align: center;
    cursor: pointer;
    background: rgba(255,255,255,0.9);
    z-index: 10;
    font-size: 18px;
    padding: 6px 0;
}

.thumb-arrow.up {
    top: 0;
}

.thumb-arrow.down {
    bottom: 0;
}

.single-product .flex-control-thumbs {
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: none;
}

.single-product .flex-control-thumbs::-webkit-scrollbar {
    display: none;
}

/* === Floating Technical Parameters Banner (Desktop Only) === */

.tech-floating-banner {
    position: fixed;
    right: 40px;
    bottom: 140px;
    background: #d40000;
    color: #fff;
    padding: 16px 22px;
    font-weight: 600;
    cursor: pointer;
    z-index: 9999;
    transition: 0.3s ease;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.tech-floating-banner:hover {
    background: #a80000;
    transform: translateY(-3px);
}

/* Pulse highlight efect */

@keyframes sectionPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(240, 245, 250, 0.9); /* #F0F5FA */
    }
    50% {
        box-shadow: 0 0 0 18px rgba(219, 230, 242, 0.4);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(240, 245, 250, 0);
    }
}

.pulse-highlight {
    position: relative;
    animation: sectionPulse 1.4s ease-out 2;
    border-radius: 8px;
}

.product-delivery-time {
    margin-top: 15px;
    padding: 12px 16px;
    background: #fff9e6;
    border-left: 4px solid #f0d46a;
    font-size: 14px;
    border-radius: 4px;
}

.product-delivery-time strong {
    display: block;
    font-size: 16px;
    text-transform: uppercase;
    margin-bottom: 4px;
    opacity: 0.8;
}



/* Footer */
footer {
    background-color: #232020 !important;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
    background-color: #232020 !important;
}

.ast-footer-copyright p {
    color: #FFF;
}

/* =====================
   RESPONSIVE
===================== */

/* Sticky header jen desktop */
@media (min-width: 769px) {

    .site-header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
    }

    body {
        padding-top: 130px;
    }



}


@media (max-width: 1400px) {

    .corner-image-wrapper {
        display: none !important;
    }
}

@media (max-width: 992px) {

    .branding-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}


@media (max-width: 992px) {

    .model-row {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-bottom: 80px;
    }

    .model-row.reverse {
        direction: ltr;
    }

    .section-title {
        font-size: 28px;
        margin-bottom: 50px;
    }

    .custom-tabs {
        flex-direction: column;
    }

    .custom-tabs-nav {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .custom-tabs-nav button {
        flex: 1 1 50%;
        text-align: center;
    }

    .custom-tabs-content {
        border-left: none;
        border-top: 1px solid #ddd;
        padding: 20px 0;
    }

}


@media (max-width: 768px) {
    .cta-50-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .cta-50-text h2 {
        font-size: 28px;
    }
    .contact-50-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .branding-section {
        padding: 20px;
    }

    .single-product .woocommerce-product-gallery {
        flex-direction: column;
    }

    .single-product .flex-control-thumbs {
        order: 0;
        flex-direction: row;
        margin: 20px 0 0;
        width: 100%;
    }

    .thumb-arrow {
        display: none !important;
    }

    .tech-floating-banner {
        display: none;
    }

    /* fix mobile padding */
    .woocommerce-cart .ast-container,
    .woocommerce-checkout .ast-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .woocommerce-cart .site-content,
    .woocommerce-checkout .site-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }


}
