/* ============================================================
   ŠÁPARA CHILD THEME – STYLES
   Mobile-first, BEM, CSS custom properties
   Cíl: 1:1 vizuální kopie sapara.cz
   ============================================================ */

/* ── 0. DESIGN TOKENS ─────────────────────────────────────── */
:root {
    /* Barvy – extrahováno z Divi/sapara.cz */
    --sp-blue:          #323c6e;   /* primární tmavá modrá */
    --sp-blue-dark:     #263059;   /* hover state */
    --sp-green:         #46b450;   /* primární zelená (tlačítka WC) */
    --sp-green-dark:    #3a9a43;   /* hover zelená */
    --sp-green-info:    #29c4a9;   /* info/notice boxy */
    --sp-white:         #ffffff;
    --sp-bg:            #ffffff;
    --sp-bg-light:      #f5f5f5;
    --sp-text:          #666666;
    --sp-text-dark:     #333333;
    --sp-border:        #e6e6e6;
    --sp-border-mid:    #b3b3b3;
    --sp-link:          #323c6e;
    --sp-link-hover:    #2ea3f2;
    --sp-bg-dark: #242424;

    /* Typografie */
    --sp-font:          'Bellota Text', 'Open Sans', Arial, sans-serif;
    --sp-font-size:     14px;
    --sp-line-height:   1.7em;

    /* Spacing */
    --sp-gap:           20px;
    --sp-section-pad:   clamp(2rem, 5vw, 4rem);

    /* Container */
    --sp-container:     1200px;

    /* Header */
    --sp-header-bg:     #323c6e;
    --sp-header-height: 48px;
}

/* ── 1. RESET & BASE ──────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--sp-font);
    font-size: var(--sp-font-size);
    color: var(--sp-text);
    background: var(--sp-bg);
    line-height: var(--sp-line-height);
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--sp-link);
    text-decoration: none;
}

a:hover {
    color: var(--sp-link-hover);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* Skip link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 0.5rem 1rem;
    z-index: 9999;
    font-size: 0.875rem;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 0;
}



h1, h2, h3, h4, h5, h6 {
    font-family: 'Bellota', display;
}




/* ── 2. ASTRA OVERRIDES ───────────────────────────────────── */
/* Vypnout Astra layout wrappers */
#page.site {
    margin: 0;
    padding: 0;
}

.ast-container {
    max-width: var(--sp-container) !important;
    padding-left: var(--sp-gap) !important;
    padding-right: var(--sp-gap) !important;
}

/* ── 3. HEADER ────────────────────────────────────────────── */


#page > header > div.sp-header__logo-bar-wrap > div {
    background-size: contain;
    background-image: url(/wp-content/themes/sapara-child/assets/img/menu_bg-1-.jpg);
    display: flex;
    background-repeat: no-repeat;
    background-position: center;
}

#page > header > div.sp-header__logo-bar-wrap > div > div.sp-header__phone {
    width: 55px;
    height: auto;
}


#page > header > div.sp-header__logo-bar-wrap > div > div.sp-header__phone svg{
    fill: #b3b3b3;
        width: 55px;
    height: auto;
}


#page > header > div.sp-header__logo-bar-wrap{
    background-color: #ffffff;
}

#page > header > div.sp-header__topbar-wrap > div.vlnka{
    background-color: var(--sp-header-bg);
        background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMHB4IiB2aWV3Qm94PSIwIDAgMTI4MCAxNDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iI2ZmZmZmZiI+PHBhdGggZD0iTTAgMHYxMDBjMjAgMTcuMyA0MCAyOS41MSA4MCAyOS41MSA1MS43OSAwIDc0LjY5LTQ4LjU3IDE1MS43NS00OC41NyA3My43MiAwIDkxIDU0Ljg4IDE5MS41NiA1NC44OEM1NDMuOTUgMTM1LjggNTU0IDE0IDY2NS42OSAxNGMxMDkuNDYgMCA5OC44NSA4NyAxODguMiA4NyA3MC4zNyAwIDY5LjgxLTMzLjczIDExNS42LTMzLjczIDU1Ljg1IDAgNjIgMzkuNjIgMTE1LjYgMzkuNjIgNTguMDggMCA1Ny41Mi00Ni41OSAxMTUtNDYuNTkgMzkuOCAwIDYwIDIyLjQ4IDc5Ljg5IDM5LjY5VjB6Ii8+PC9nPjwvc3ZnPg==);
    background-size: 50% 10px;
    top: 0;
    height: 10px;
    z-index: 1;
    transform: scale(-1, 1);
}


.sp-header {
    background-color: var(--sp-header-bg);
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
}

/* Horní lišta – košík + navigace */
.sp-header__topbar {
    display: flex;
    align-items: center;
    gap: 0;
    max-width: var(--sp-container);
    margin: 0 auto;
    padding: 0 var(--sp-gap);
    min-height: var(--sp-header-height);
}

/* Košík v hlavičce */
.sp-header__cart {
    margin-top: 10px;
    background-color: var(--sp-green);
    color: var(--sp-white);
    padding: 0.5rem 1rem 0.5rem;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    transition: background-color 0.2s;
    min-width: 120px;
}

.sp-header__cart:hover {
    background-color: var(--sp-green-dark);
    color: var(--sp-white);
}

.sp-header__cart-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.sp-header__cart-count {
    font-weight: 700;
}

/* Navigace */
.sp-header__nav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.sp-header__nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sp-header__nav ul li a {
    display: block;
    color: var(--sp-white);
    font-size: 22px;
    font-weight: 500;
    padding: 0.3rem 0.9rem;
    text-decoration: none;
    transition: color 0.2s, background-color 0.2s;
    letter-spacing: 0.01em;
}

.sp-header__nav ul li a:hover,
.sp-header__nav ul li.current-menu-item > a,
.sp-header__nav ul li.current-page-ancestor > a {
    color: var(--sp-white);
    background-color: var(--sp-green);
}

/* Aktivní položka navigace */
.sp-header__nav ul li.current-menu-item > a {
    background-color: var(--sp-green);
}

/* Submenu */
.sp-header__nav ul li {
    position: relative;
}

.sp-header__nav ul li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--sp-blue);
    min-width: 180px;
    z-index: 999;
    border-top: 2px solid var(--sp-green);
}

.sp-header__nav ul li:hover > ul {
    display: block;
}

.sp-header__nav ul li ul li a {
    padding: 0.6rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

/* Hamburger – mobile */
.sp-header__toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    margin-left: auto;
    color: var(--sp-white);
}

.sp-header__toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--sp-white);
    margin: 5px 0;
    transition: all 0.3s;
}

/* Logo oblast nad navigací */
.sp-header__logo-bar {
    background: var(--sp-white);
    padding: 0.6rem var(--sp-gap);
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--sp-container);
    margin: 0 auto;
}

.sp-header__logo img {
    max-height: 60px;
    width: auto;
}

.sp-header__phone {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--sp-blue);
    font-weight: 700;
    font-size: 24px;
}



.sp-header__phone a{
    margin-top: 0.5em;
    font-size: 19px;
}

#page > header > div.sp-header__logo-bar-wrap > div > div.sp-header__phone > a > div > span:nth-child(1){
    font-size: 24px;
}


#page > header > div.sp-header__logo-bar-wrap > div > div.sp-header__phone > a:hover > svg{
    fill: var(--sp-blue);
}


.sp-header__phone a:hover{
    text-decoration: underline;
    color: var(--sp-blue);
}


.sp-header__phone svg {
    flex-shrink: 0;
    color: var(--sp-blue);
}

@media (max-width: 767px) {
    .sp-header__toggle {
        display: block;
    }

    .sp-header__nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--sp-blue);
        padding: 0.5rem 0;
    }

    .sp-header__nav.is-open {
        display: block;
    }

    .sp-header__nav ul {
        flex-direction: column;
        align-items: stretch;
    }

    .sp-header__nav ul li ul {
        position: static;
        display: block;
        background: rgba(0,0,0,0.2);
        border-top: none;
    }

    .sp-header__logo-bar {
        padding: 0.5rem var(--sp-gap);
    }

    .sp-header__phone span {
        display: none;
    }
}



/* Facebook ikona v navigaci */
.sp-header__nav li.facebook a {
    padding: 0.4rem;
    background: #ffffff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: transparent;
    /* f bude průhledné — prosvítá modrá navigace přes mix-blend-mode */
    mix-blend-mode: normal;
}

.sp-header__nav li.facebook a svg {
    color: var(--sp-blue);
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.sp-header__nav li.facebook a:hover {
    background: rgba(255,255,255,0.85);
}



.sp-header__cart {
    background-color: var(--sp-green);
    color: var(--sp-white);
    padding: 0.5rem 1rem;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;      /* změna: sloupec místo řádku */
    align-items: flex-start;
    gap: 0.2rem;
    text-decoration: none;
    transition: background-color 0.2s;
    min-width: 120px;
    align-self: stretch;         /* přetáhnout přes celou výšku topbaru */
    position: relative;
    margin-bottom: -10px;        /* přesah dolů */

}

.sp-header__cart-count {
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.sp-header__cart-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

#menu-item-422{
    margin-left: 1em;
}



/* ── 4. LAYOUT – SIDEBAR ──────────────────────────────────── */
.sp-layout {
    max-width: var(--sp-container);
    margin: 0 auto;
    padding: var(--sp-gap);
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 2rem;
    align-items: start;
}

.sp-layout--full {
    grid-template-columns: 1fr;
}

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

/* ── 5. SIDEBAR ───────────────────────────────────────────── */
.sp-sidebar {
    font-size: 13px;
}

.sp-sidebar .widget {
    margin-bottom: 1.5rem;
}

.sp-sidebar .widget-title,
.sp-sidebar h2,
.sp-sidebar h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--sp-text-dark);
    margin-bottom: 0.5rem;
    padding-bottom: 0.3rem;
    border-bottom: 1px solid var(--sp-border);
}

.sp-sidebar ul li {
    padding: 0.2rem 0;
}

.sp-sidebar ul li a {
    color: var(--sp-link);
    font-size: 13px;
}

.sp-sidebar ul li a:hover {
    color: var(--sp-link-hover);
    text-decoration: underline;
}

/* Info box v sidebaru */
.sp-sidebar .sp-info-box {
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 1rem;
    border-radius: 2px;
    font-size: 13px;
    line-height: 1.5;
}

/* .sp-sidebar .sp-info-box strong {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 14px;
} */

/* ── 6. NOTICE / INFO BOX ─────────────────────────────────── */
.sp-notice {
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 1rem 1.2rem;
    margin-bottom: 1.5rem;
    border-radius: 2px;
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
}

.sp-notice__icon {
    flex-shrink: 0;
    background: var(--sp-green-info);
    color: var(--sp-white);
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    margin-top: 0.1rem;
}

.sp-notice p {
    margin: 0 0 0.3rem;
}

.sp-notice p:last-child {
    margin: 0;
}

.sp-notice strong {
    color: var(--sp-white);
}

/* ── 7. WOOCOMMERCE – OBECNÉ ──────────────────────────────── */

/* Breadcrumb */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
    font-size: 13px;
    color: var(--sp-text);
    margin-bottom: 1.5rem;
    padding: var(--sp-gap) var(--sp-gap) 0;
    max-width: var(--sp-container);
    margin-left: auto;
    margin-right: auto;
    border-bottom: 1px solid var(--sp-border);
    padding-bottom: 0.8rem;
}

.woocommerce .woocommerce-breadcrumb a,
.woocommerce-breadcrumb a {
    color: var(--sp-link);
}

/* Výsledky */
.woocommerce-result-count {
    font-size: 13px;
    color: var(--sp-text);
    margin-bottom: 1rem;
}

/* Třídění */
.woocommerce-ordering select {
    border: 1px solid var(--sp-border);
    padding: 0.3rem 0.6rem;
    font-size: 13px;
    color: var(--sp-text-dark);
    background: var(--sp-white);
    border-radius: 2px;
}

/* ── 8. PRODUKTOVÝ VÝPIS (ARCHIV) ─────────────────────────── */
.woocommerce ul.products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

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

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

.woocommerce ul.products li.product {
    text-align: left;
    position: relative;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border: 1px solid var(--sp-border);
    margin-bottom: 0.6rem;
    transition: opacity 0.2s;
}

.woocommerce ul.products li.product a img:hover {
    opacity: 0.85;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--sp-blue) !important;
    margin: 0.3rem 0 !important;
    line-height: 1.3 !important;
    font-style: italic;
}

.woocommerce ul.products li.product .price {
    font-size: 14px;
    color: var(--sp-text-dark);
    margin-bottom: 0.6rem;
    display: block;
}

.woocommerce ul.products li.product .price .amount {
    font-weight: 400;
}

/* Tlačítko přidat do košíku – výpis */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: inline-block;
    background-color: var(--sp-green) !important;
    color: var(--sp-white) !important;
    border: none !important;
    padding: 0.55rem 1.2rem !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background-color: var(--sp-green-dark) !important;
    color: var(--sp-white) !important;
}

/* ── 9. PRODUKT DETAIL ────────────────────────────────────── */
.woocommerce div.product {
    padding: var(--sp-gap);
}

.woocommerce div.product .woocommerce-product-gallery {
    float: left;
    width: 48%;
}

.woocommerce div.product .summary {
    float: right;
    width: 48%;
}

@media (max-width: 767px) {
    .woocommerce div.product .woocommerce-product-gallery,
    .woocommerce div.product .summary {
        float: none;
        width: 100%;
    }
}

.woocommerce div.product .product_title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--sp-text-dark) !important;
    margin-bottom: 0.5rem !important;
    font-style: normal !important;
    line-height: 1.3 !important;
}

.woocommerce div.product p.price {
    font-size: 24px !important;
    color: var(--sp-text-dark) !important;
    margin: 0.8rem 0 !important;
}

.woocommerce div.product p.price .amount {
    font-weight: 400;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 14px;
    color: var(--sp-text);
    line-height: 1.7;
    margin-bottom: 1rem;
}

/* Dostupnost */
.woocommerce div.product .stock {
    font-size: 13px;
    color: var(--sp-green);
    font-weight: 700;
    margin-bottom: 0.8rem;
}

.woocommerce div.product .out-of-stock {
    color: #e2401c;
}

/* Tlačítko detail */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background-color: var(--sp-green) !important;
    color: var(--sp-white) !important;
    border: none !important;
    padding: 0.7rem 1.5rem !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}

.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background-color: var(--sp-green-dark) !important;
    color: var(--sp-white) !important;
}

/* Gallery */
.woocommerce div.product .woocommerce-product-gallery__image img {
    border: 1px solid var(--sp-border);
}

/* ── 10. KOŠÍK ────────────────────────────────────────────── */
.woocommerce-cart .entry-content,
.woocommerce-cart #primary {
    padding: var(--sp-gap);
    max-width: var(--sp-container);
    margin: 0 auto;
}

.woocommerce-cart h1.entry-title,
.woocommerce-cart .page-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--sp-green);
    font-style: italic;
    border-bottom: 1px solid var(--sp-border);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Tabulka košíku */
.woocommerce-cart-form {
    float: left;
    width: 55%;
}

.cart_totals {
    float: right;
    width: 40%;
}

@media (max-width: 767px) {
    .woocommerce-cart-form,
    .cart_totals {
        float: none;
        width: 100%;
    }
}

.woocommerce-cart-form h2,
.cart_totals h2 {
    font-size: 16px;
    font-weight: 400;
    color: var(--sp-green);
    font-style: italic;
    margin-bottom: 0.8rem;
}

/* Shop table */
.woocommerce table.shop_table {
    border: none;
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.woocommerce table.shop_table th {
    font-weight: 600;
    color: var(--sp-text-dark);
    padding: 0.5rem 0.3rem;
    border-bottom: 1px solid var(--sp-border);
    text-align: left;
    font-size: 13px;
}

.woocommerce table.shop_table td {
    padding: 0.7rem 0.3rem;
    border-bottom: 1px solid var(--sp-border);
    vertical-align: middle;
    color: var(--sp-text);
}

.woocommerce table.shop_table td.product-name a {
    color: var(--sp-text-dark);
    font-weight: 400;
}

.woocommerce table.shop_table td.product-thumbnail img {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border: 1px solid var(--sp-border);
}

/* Odebrat z košíku */
.woocommerce table.cart td.actions,
.woocommerce table.cart td.product-remove {
    text-align: left;
}

.woocommerce table.cart td.product-remove a {
    color: #e2401c !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #e2401c;
    color: white !important;
    border-radius: 50%;
    font-size: 13px;
}

/* Počet ks v košíku */
.woocommerce table.cart td.product-quantity input {
    width: 60px;
    border: 1px solid var(--sp-border);
    padding: 0.3rem;
    text-align: center;
    font-size: 13px;
}

/* Lišta doprava zdarma */
.sp-free-shipping-bar {
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 0.7rem 1rem;
    font-size: 13px;
    margin: 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    border-radius: 2px;
}

.sp-free-shipping-bar svg {
    flex-shrink: 0;
}

/* Celkem */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.cart_totals table th,
.cart_totals table td {
    padding: 0.6rem 0.3rem;
    border-bottom: 1px solid var(--sp-border);
    text-align: left;
    vertical-align: top;
}

.cart_totals table th {
    font-weight: 600;
    color: var(--sp-text-dark);
    white-space: nowrap;
    font-size: 13px;
}

/* Přejít k pokladně */
.wc-proceed-to-checkout .checkout-button,
.woocommerce a.checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: var(--sp-green) !important;
    color: var(--sp-white) !important;
    padding: 0.9rem 1rem !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 2px !important;
    margin-top: 1rem !important;
    text-decoration: none !important;
    transition: background-color 0.2s !important;
}

.woocommerce a.checkout-button:hover {
    background-color: var(--sp-green-dark) !important;
}

/* ── 11. POKLADNA ─────────────────────────────────────────── */
.woocommerce-checkout #primary,
.woocommerce-checkout .entry-content {
    max-width: var(--sp-container);
    margin: 0 auto;
    padding: var(--sp-gap);
}

.woocommerce-checkout h1.entry-title,
.woocommerce-checkout .page-title {
    font-size: 28px;
    font-weight: 400;
    color: var(--sp-green);
    font-style: italic;
    border-bottom: 1px solid var(--sp-border);
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* Checkout grid */
.woocommerce-checkout #customer_details {
    float: left;
    width: 47%;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    float: right;
    width: 47%;
}

@media (max-width: 767px) {
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #order_review_heading,
    .woocommerce-checkout #order_review {
        float: none;
        width: 100%;
    }
}

/* Nadpisy sekcí */
.woocommerce-checkout h3 {
    font-size: 18px;
    font-weight: 400;
    color: var(--sp-green);
    font-style: italic;
    margin-bottom: 1rem;
}

/* Form fields */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce-checkout .woocommerce-input-wrapper textarea,
.woocommerce-checkout form .form-row input,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row textarea {
    width: 100% !important;
    border: 1px solid var(--sp-border) !important;
    padding: 0.6rem 0.8rem !important;
    font-size: 13px !important;
    color: var(--sp-text-dark) !important;
    background: var(--sp-white) !important;
    border-radius: 2px !important;
    font-family: var(--sp-font) !important;
}

.woocommerce-checkout form .form-row input:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout form .form-row textarea:focus {
    outline: 2px solid var(--sp-green) !important;
    border-color: var(--sp-green) !important;
}

.woocommerce-checkout form .form-row label {
    font-size: 13px !important;
    color: var(--sp-text-dark) !important;
    margin-bottom: 0.3rem !important;
    display: block !important;
}

/* Termín expedice – custom radio pole */
.sp-checkout-termin label {
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 0.5rem;
    display: block;
    color: var(--sp-text-dark);
}

.sp-checkout-termin .sp-termin-options {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.sp-checkout-termin .sp-termin-option {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 13px;
}

.sp-checkout-termin input[type="radio"] {
    accent-color: var(--sp-green);
    width: auto !important;
}

/* Platba – přehled objednávky */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 0.6rem 0.3rem;
    border-bottom: 1px solid var(--sp-border);
    text-align: left;
}

.woocommerce-checkout-review-order-table th {
    font-weight: 600;
    color: var(--sp-text-dark);
    font-size: 13px;
}

/* Platební metody */
.woocommerce-checkout #payment {
    background: var(--sp-bg-light);
    padding: 1rem;
    border-radius: 2px;
    font-size: 13px;
}

.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 0 1rem;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0.3rem 0;
}

/* Info o platbě */
.payment_box {
    background: var(--sp-green) !important;
    color: var(--sp-white) !important;
    padding: 0.7rem 1rem !important;
    font-size: 13px !important;
    border-radius: 2px !important;
    margin: 0.5rem 0 !important;
}

/* Dokončit objednávku */
#place_order {
    float: right !important;
    background-color: var(--sp-blue) !important;
    color: var(--sp-white) !important;
    padding: 0.8rem 1.5rem !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 2px !important;
    border: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}

#place_order:hover {
    background-color: var(--sp-blue-dark) !important;
}

/* ── 12. SEKCE DOPRAVA (homepage/archiv) ──────────────────── */
.sp-shipping {
    background: var(--sp-bg-light);
    padding: var(--sp-section-pad) var(--sp-gap);
    text-align: center;
}

.sp-shipping__title {
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 400;
    color: #ffffff;
    font-style: italic;
    margin-bottom: 2rem;
}

.sp-shipping__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    max-width: var(--sp-container);
    margin: 0 auto;
}

@media (min-width: 768px) {
    .sp-shipping__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.sp-shipping__item {
    background: var(--sp-white);
    border: 1px solid var(--sp-border);
    padding: 1.2rem;
    text-align: left;
    border-radius: 2px;
}

.sp-shipping__item-icon {
    font-size: 28px;
    margin-bottom: 0.5rem;
    color: var(--sp-blue);
}

.sp-shipping__item-icon svg {
    width: 32px;
    height: 32px;
    color: var(--sp-blue);
}

.sp-shipping__item-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--sp-blue);
    margin-bottom: 0.4rem;
}

.sp-shipping__item-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--sp-text-dark);
    margin-bottom: 0.2rem;
}

.sp-shipping__item-desc {
    font-size: 12px;
    color: var(--sp-text);
    line-height: 1.4;
}

div.sp-shipping__item-icon svg{
    fill: var(--sp-green);
}



/* ── 13. FOOTER ───────────────────────────────────────────── */
.sp-footer {
    background: var(--sp-blue);
    color: rgba(255,255,255,0.85);
    font-size: 16px;
    padding: 2.5rem var(--sp-gap) 0;
}

.sp-footer__inner {
    max-width: var(--sp-container);
    margin: 0 auto;
}

.sp-footer__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    margin-bottom: 2rem;
}

@media (min-width: 768px) {
    .sp-footer__grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.sp-footer__col h4,
.sp-footer__col .widget-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--sp-white);
    margin-bottom: 0.8rem;
    text-transform: none;
}

.sp-footer__col p {
    margin: 0 0 0.4rem;
    color: rgba(255,255,255,0.8);
    line-height: 1.5;
}

.sp-footer__col a {
    color: rgba(255,255,255,0.8);
    display: block;
    margin-bottom: 0.2rem;
    transition: color 0.2s;
}

.sp-footer__col a:hover {
    color: var(--sp-white);
    text-decoration: underline;
}

.sp-footer__col ul li {
    margin-bottom: 0.2rem;
}

.sp-footer__logo img {
    max-width: 80px;
    margin-bottom: 0.5rem;
}

/* Social links */
.sp-footer__social {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.8rem;
}

.sp-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: rgba(255,255,255,0.15);
    border-radius: 2px;
    color: var(--sp-white);
    transition: background-color 0.2s;
}

.sp-footer__social a:hover {
    background: rgba(255,255,255,0.3);
}

/* Patička – copyright */
.sp-footer__bottom {
    border-top: 1px solid rgba(255,255,255,0.15);
    padding: 0.8rem 0;
    text-align: center;
    font-size: 12px;
    color: rgba(255,255,255,0.6);
    max-width: var(--sp-container);
    margin: 0 auto;
}

#page > footer > div > div.sp-footer__grid > div.sp-footer__col.col_1.sp-footer__col--logo > div > a{
    padding: 0.4rem;
    background: #ffffff;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: transparent;
    mix-blend-mode: normal;
}

#page > footer > div > div.sp-footer__grid > div.sp-footer__col.col_1.sp-footer__col--logo > div > a > svg
{
    fill: var(--sp-bg-dark);
}


#page > footer > div > div.sp-footer__grid > div.sp-footer__col.col_1.sp-footer__col--logo img{
            height: 19px;
    width : auto;
    margin-bottom: 10px;
}

#page > footer > div > div.sp-footer__grid > div.sp-footer__col > div > div > svg{
        height: 20px;
    width: auto;
    fill:  var(--sp-border-mid);
}


    



/* ── 14. HOMEPAGE SEKCE ───────────────────────────────────── */
.sp-hero {
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 3rem var(--sp-gap);
    text-align: center;
}

.sp-hero__title {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 700;
    margin-bottom: 1rem;
    font-style: italic;
}

.sp-hero__subtitle {
    font-size: clamp(1rem, 2vw, 1.3rem);
    opacity: 0.85;
    max-width: 600px;
    margin: 0 auto;
}

/* ── 15. UTILITY ──────────────────────────────────────────── */
.sp-clearfix::after {
    content: '';
    display: table;
    clear: both;
}

.sp-container {
    max-width: var(--sp-container);
    margin: 0 auto;
    padding: 0 var(--sp-gap);
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-size: 13px !important;
}

.woocommerce-message {
    border-top-color: var(--sp-green) !important;
}

.woocommerce-message a {
    background-color: var(--sp-blue) !important;
    color: var(--sp-white) !important;
}

/* Stránkování */
.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    gap: 0.3rem;
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    display: inline-block;
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--sp-border);
    font-size: 13px;
    color: var(--sp-link);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--sp-blue);
    color: var(--sp-white);
    border-color: var(--sp-blue);
}


/* footer */


footer .foot_image_wrap span.fa-solid{
    font-size: 20px;
    color: #b3b3b3;
    font-family: FontAwesome;
    font-weight: 900;
}

#page > footer{
    background: var(--sp-bg-dark);
}

#main-content > section.sp-shipping{
    background: var(--sp-blue);
}
    



/* woocommerce box */
.sp-info-box {
    position: relative;
    background: var(--sp-blue);
    color: var(--sp-white);
    padding: 2.5rem 1.5rem 1.5rem;
    margin-top: 2rem;
}

.sp-info-box__icon {
    position: absolute;
    top: -1.25rem;
    left: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    background: var(--sp-green);
    display: flex;
    align-items: center;
    justify-content: center;
}

.sp-info-box__icon svg {
    width: 10px;
    height: 22px;
}

.sp-info-box h4 {
    color: var(--sp-white);
    font-style: italic;
    font-size: 1.5rem;
    margin: 2rem 0 0.75rem;
}

.sp-info-box p {
    color: var(--sp-white);
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.6;
}

#primary
{  
    max-width: var(--sp-container);
    margin-left: auto;
    margin-right: auto;
}

header > div.entry-meta{
    display: none;
}

/* obchod stránka */

.page-description {
    display: flex;
    flex-direction: column;
    background: #46b464;
    color: #fff;
    border-radius: 4px;
    padding: 2rem 1.5rem 1.25rem 1.5rem;
        
    margin-bottom: 2rem;
    position: relative;
}

.page-description::before {
    content: '';
    position: absolute;
    left: 1.25rem;
    top: -1rem;
    width: 2.2rem;
    height: 2.2rem;
    background: #323c6e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640' fill='white'%3E%3Cpath d='M320 496C342.1 496 360 513.9 360 536C360 558.1 342.1 576 320 576C297.9 576 280 558.1 280 536C280 513.9 297.9 496 320 496zM320 64C346.5 64 368 85.5 368 112C368 112.6 368 113.1 368 113.7L352 417.7C351.1 434.7 337 448 320 448C303 448 289 434.7 288 417.7L272 113.7C272 113.1 272 112.6 272 112C272 85.5 293.5 64 320 64z'/%3E%3C/svg%3E") center/55% no-repeat;
    border-radius: 3px;
}

.page-description h1.wp-block-heading, 
.page-description h2.wp-block-heading, 
.page-description h3.wp-block-heading {
    font-style: italic;
    font-size: 2rem;
    font-weight: 400;
    margin: 0 0 0.35rem;
    opacity: 0.9;
    color: #fff;
}

.page-description p.wp-block-paragraph {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0;
    color: #fff;
}

.page-description p.wp-block-paragraph:empty {
    display: none;
}

#ast-scroll-top {
    position: fixed !important;
    bottom: 2rem !important;
    right: 2rem !important;
    left: auto !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    top: auto !important;
    background: var(--sp-blue) !important;
    border-radius: 4px !important;
    text-align: center !important;
    line-height: 2.5rem !important;
}

#ast-scroll-top .ast-icon {
    line-height: 0 !important;
    vertical-align: middle !important;
}

#ast-scroll-top .ast-arrow-svg {
    width: 20px !important;
    height: 20px !important;
    transform: rotate(180deg) !important;
    vertical-align: middle !important;
        margin-left: 0px;
    margin-bottom: 6px;
}

#ast-scroll-top .ast-arrow-svg path {
    fill: #fff !important;
}

.astra-shop-thumbnail-wrap a.add_to_cart_button.ajax_add_to_cart,
.astra-shop-thumbnail-wrap:hover a.add_to_cart_button.ajax_add_to_cart{
    display: none!important;
}




/* eshop */
.sp-product-title {
    margin-bottom: 0.5rem;
}

.sp-product-divider {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin: 0 0 1.5rem;
}

/* Skrýt breadcrumbs v summary */
.single-product .summary .woocommerce-breadcrumb {
    display: none !important;
}

/* Skrýt kategorie (single-product-category od Astry) */
.single-product .summary .single-product-category {
    display: none !important;
}

/* Skrýt SKU a kategorie dole */
.single-product .summary .product_meta {
    display: none !important;
}

/* Flex order pro přesun ceny pod popis */
.single-product .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

.single-product .summary .woocommerce-product-details__short-description {
    order: 1;
}

.single-product .summary .price {
    order: 2;
}

.single-product .summary .ast-stock-detail {
    order: 3;
}

.single-product .summary .cart {
    order: 4;
}

.single-product .summary .product_meta {
    order: 5;
}



.post-type-archive-product #primary{
    margin-top: 20px!important;
}


.single-product #primary{
    margin-top: 0!important;
}

.single-product .woocommerce-breadcrumb{
    margin-bottom: 0!important;
}


#main-content > div > aside.sp-sidebar{
margin-top: 1.6rem;
}

.woocommerce-message{
        border: solid 3px var(--sp-green) !important;
}

#post-10 > div > div > div.cart-collaterals > div > div > div.woocommerce-info,
#post-10 > div > div > div.sp-free-shipping-bar{
    display: none!important;
}

#post-10 > div > div > div.cart-collaterals > div.cart_totals {
 
    border: none!important;
}


@media (min-width: 921px) {

    #post-10 > div > div > div.cart-collaterals > div.cart_totals {
        width: 42%;
 
}
}

@media (max-width: 920px) {


#page > header > div.sp-header__logo-bar-wrap > div

 {

    background-image: none;
}
}

.home .woocommerce-no-products-found{
	display: none;
}

