/*
Theme Name: Blocksy Child
Theme URI:  https://example.com
Description: Child theme pro Blocksy
Author:      Tvoje jméno
Author URI:  https://example.com
Template:    blocksy
Version:     1.0.0
Text Domain: blocksy-child
*/

/* Tady budeš psát vlastní CSS */

/* Light Mode */
:root {
    --theme-text-color: #0a0a0a;
    --theme-palette-color-1: #c1a65d;
    --theme-palette-color-2: #a79051;
    --theme-palette-color-3: #3c3c3c;
    --theme-palette-color-4: #0a0a0a;
    --theme-palette-color-5: #b9b9b9;
    --theme-palette-color-6: #cdcdcd;
    --theme-palette-color-7: #ebebeb;
    --theme-palette-color-8: #f5f5f5;
    --header: rgba(245, 245, 245, 0.70);
}

/* Dark Mode */
@media (prefers-color-scheme: dark) {
    :root {
        --theme-text-color: #f5f5f5;
        --theme-palette-color-1: #c1a65d;
        --theme-palette-color-2: #a79051;
        --theme-palette-color-3: #c3c3c3;
        --theme-palette-color-4: #f5f5f5;
        --theme-palette-color-5: #464646;
        --theme-palette-color-6: #323232;
        --theme-palette-color-7: #141414;
        --theme-palette-color-8: #0a0a0a;
        --header: rgba(10, 10, 10, 0.70);
        
    }
}



@media (min-width: 700px){
  .wc-block-checkout__sidebar.is-sticky{
    top:80px;
  }
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    background-color: var(--theme-palette-color-8) !important;
    color: var(--theme-palette-color-4) !important;
    border: 2px solid var(--theme-palette-color-1) !important;
    font-size: 1.1rem;
}

/* Skryje nadpis "Neu im Shop" v prázdném košíku */
.wp-block-woocommerce-empty-cart-block #neu-im-shop {
    display: none !important;
}

/* Skryje výpis produktů v prázdném košíku */
.wp-block-woocommerce-empty-cart-block .wc-block-grid.wp-block-product-new {
    display: none !important;
}

/* Volitelné: Skryje i tu dělící čáru (separator), pokud tam zůstala */
.wp-block-woocommerce-empty-cart-block .wp-block-separator {
    display: none !important;
}

/* Zvětšení fontu a přidání horního odsazení u detailů objednávky */
h2.woocommerce-order-details__title {
    font-size: 1.6rem !important;    /* Uprav si velikost podle potřeby */
    margin-top: 30px !important;   /* Mezera nad nadpisem */
}

.hero {
    position: relative;
    width: 100vw;
    overflow: hidden;
    line-height: 0; /* Odstraní drobnou mezeru pod obrázkem */
}

.hero-img {
    width: 100%;
    height: 100vh; 
    object-fit: cover;
    object-position: bottom;
    display: block;
}

@media (max-width: 768px) {
    .hero-img {
        height: 500px; 
        object-fit: cover;
    }
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(245,245,245,1), rgba(245,245,245,0.2));
}

@media (prefers-color-scheme: dark) {
    .hero-overlay {
        background: linear-gradient(to bottom, rgba(10,10,10,1), rgba(10,10,10,0.2));
    }
}

@media (prefers-color-scheme: dark) {
    .site-branding img {
        content: url("https://www.one2one-epp.at/wp-content/uploads/2026/03/header_logo_dark-scaled.png");
    }
}

.hero-content {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%); /* Dokonalé vycentrování textu */
    width: 90%;
    max-width: 800px;
    text-align: center;
    z-index: 2;
}

.hero-content h5 {
    margin: 0;
    line-height: 1.1;
    font-size: clamp(1.8rem, 5vw, 2.6rem);
    color: var(--theme-palette-color-4);
}

.hero-content h6 {
    margin: 0;
    font-size: clamp(1.4rem, 3vw, 2rem); 
    color: var(--theme-palette-color-2);
    text-shadow: 1px 1px 2px rgba(255, 255, 255, 1);
}

@media (max-width: 1500px) {
    .hero-content {
        margin-top: 30px; /* Posune celý obsah o 50px níž */
        /* Alternativně můžete použít padding-top: 50px; */
    }
}

@media (prefers-color-scheme: dark) {
    .hero-content h6 {
        color: var(--theme-palette-color-1);
        text-shadow: none;
        }
}

/* --- Desktop (ponecháno, pouze drobné úpravy) --- */
.info-section {
    width: 100%;
    background-color: var(--theme-palette-color-7);
    padding: 40px 0;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    overflow: hidden;
}

.info-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center; /* Přidáno pro lepší zarovnání textu vůči fotce */
    padding: 0 20px;
}

.info-text {
    flex: 1;
}

.info-text h1 {
    margin-bottom: 20px;
    text-align: center;
    width: 100%;
}

/* POUZE obyčejný text bude do bloku */
.info-text p {
    color: var(--theme-text-color);
    font-size: 1.2rem;
    line-height: 1.6;
    margin-bottom: 15px;
    text-align: justify;
    hyphens: none;
}

.info-text ul {
    list-style-position: inside;
    padding: 0;
    margin-bottom: 20px;
    color: var(--theme-text-color);
    text-align: left; 
}

/* Ostatní styly pro h3, ul, p zůstávají stejné... */

.info-image {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end; 
    margin-bottom: -60px; /* Tahá fotku dolů na desktopu */
}

.info-image img {
    width: 100%; /* Aby poslouchal max-width kontejneru */
    max-width: 400px;
    height: auto;
    display: block;
}

/* --- RESPONSIVITA (Mobilní telefony) --- */
@media (max-width: 768px) {
    .info-container {
        flex-direction: column; 
        padding: 0 30px; /* Trochu víc místa po stranách na mobilu */
    }

    .info-section {
        padding: 20px 0;
    }

    .info-text {
        padding-right: 0;
        margin-bottom: 30px;
        text-align: justify; /* VYNUCENÍ ZAROVNÁNÍ DO BLOKU I NA MOBILU */
        hyphens: auto; /* Pomůže s mezerami u dlouhých slov při justify */
    }

    .info-image {
        margin-bottom: 0; /* ZRUŠENÍ záporného marginu, aby fotka neutíkala z bloku */
        max-width: 100%;   /* ZMENŠENÍ FOTKY na mobilu */
        margin-left: auto;  /* VYCENTROVÁNÍ kontejneru fotky */
        margin-right: auto; /* VYCENTROVÁNÍ kontejneru fotky */
        margin-bottom: -60px;
    }

    .info-image img {
        max-width: 100%; /* Aby se podřídil těch 50% nadřazeného divu */
    }
}

.ct-header {
  z-index: 999999 !important;
}

.ct-toggle-close {
    display: none !important;
}

.ct-panel-content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important; /* Zarovná nahoru */
    padding-top: 20vh; /* Ručně ho posuneme níž, aby byl "opticky" na středu */
}

body[data-panel="in"] [data-row="middle"] {
    background-color: transparent !important;
    box-shadow: none !important;
}

.scroll-down-btn {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    padding: 6px 20px;
    border: 2px solid var(--theme-palette-color-2);
    border-radius: 8px;
    background: var(--theme-palette-color-1);
    cursor: pointer;
    text-decoration: none;
    transition: 0.3s ease;
    z-index: 20;
    animation: float 2s ease-in-out infinite;

    /* OPRAVA PRO ZALAMOVÁNÍ */
    display: flex;
    flex-direction: column;    /* Seřadí text a případnou ikonu pod sebe */
    align-items: center;
    justify-content: center;
    text-align: center;        /* Vycentruje text po zalomení */
    
    width: auto;               /* Přizpůsobí se obsahu */
    max-width: 90vh;          /* KLÍČOVÉ: Maximální šířka, při které DOCHÁZÍ k zalomení */
    box-sizing: border-box;    /* Započítá padding do šířky */
}

/* Úprava pro opravdu malé telefony */
@media (max-width: 768px) {
    .scroll-down-btn {
        bottom: 20px;
        padding: 3px 10px;
    }
}
.scroll-down-btn:hover {
    background: var(--theme-palette-color-2);
    transform: translateX(-50%) translateY(-4px);
}

.scroll-text {
    color: rgb(245,245,245);
    font-size: clamp(1.2rem, 3vw, 1.8rem); /* Mírně zmenšeno pro lepší čitelnost */
    font-weight: 600;
    letter-spacing: 0.5px;
    
    /* VYNUCENÍ ZALOMENÍ */
    white-space: normal !important; 
    word-wrap: break-word;
    display: block;            /* Zajistí, že se chová jako blokový element */
    line-height: 1.2;          /* Mezera mezi řádky po zalomení */
}

@keyframes float {
    0%   { transform: translateX(-50%) translateY(0); }
    50%  { transform: translateX(-50%) translateY(-6px); }
    100% { transform: translateX(-50%) translateY(0); }
}

/* Hlavní kontejner sekce */
.features-section {
    width: 100%;
    background-color: var(--theme-palette-color-7);
    padding: 40px 0px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    overflow: hidden;
}

@media (max-width: 768px) {
    .features-section {
        padding: 20px 0;
    }
}

.features-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

/* Nadpis sekce */
.section-title {
  margin-bottom: 20px;
  font-size: clamp(1.8rem, 5vw, 2.6rem);
  text-transform: uppercase;
}

/* Flexibilní mřížka (Grid) */
.features-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
  align-items: stretch; /* Zajistí stejnou výšku všech karet v řadě */
}



/* Styl karty */
.feature-card {
  background: var(--theme-palette-color-1);
  padding: 30px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.05); /* Jemný okraj */
  border-bottom: 2px solid var(--theme-palette-color-2); /* Zlatý akcent dole */
  transition: transform 0.3s ease-out, box-shadow 0.3s ease-out, background-color 0.3s ease;
  will-change: transform; /* Optimalizace pro plynulejší animaci */
  cursor: default;
  height: 100%; /* Důležité pro sjednocení */
  /* CENTROVÁNÍ OBSAHU */
    display: flex;           /* Nutné pro flexbox zarovnání */
    flex-direction: column;  /* Prvky pod sebou */
    align-items: center;     /* Horizontální centrování ikony, h3 a p */
    text-align: center;      /* Centrování samotného textu */
}

@media (max-width: 1360px) {
    .features-grid {
        /* Přepneme na 2 sloupce - boxy budou mít opět stejnou šířku (cca 50%) */
        grid-template-columns: repeat(2, minmax(0, 1fr)); 
    }
}

/* Interaktivní efekt */
.feature-card:hover {
  /* Zvětšení o 3 % (jemný zoom) */
  transform: scale(1.02); 
  
  /* Větší, měkčí stín pro pocit hloubky */
  box-shadow: 0 0px 4px rgba(0, 0, 0, 0.5);
}

/* Kontejner pro ikonu */
.icon-container {
  width: 60px;  /* Pevná velikost kontejneru */
  height: 60px;
  margin: 0 auto 25px auto; /* Centrování a mezera dolů */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Styl pro samotnou ikonu (obrázek) */
.feature-icon {
  max-width: 100%; /* Aby se vešla do kontejneru */
  max-height: 100%;
  display: block;
}

/* Alternativa pro Emoji/FontAwesome */
.icon {
  font-size: 50px;
  color: var(--primary-gold);
  line-height: 1;
}

/* Nadpisy v kartách */
.feature-card h3 {
  color: #0a0a0a;
  margin-bottom: 15px;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 700;
  text-transform: uppercase;
  hyphens: none; 
  word-break: keep-all; /* Zabrání rozbití slova uprostřed */
  overflow-wrap: normal; /* Slovo se nezalomí násilím */
  font-stretch: 75% 100%;
}

/* Texty v kartách */
.feature-card p {
  line-height: 1.7;
  font-size: 0.98rem;
  color: #0a0a0a;
  margin: 0;
}

/* RESPONSIVITA */

/* Tablet (pod 1024px): 2x2 */
@media (max-width: 1024px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobil (pod 600px): Vše pod sebou */
@media (max-width: 600px) {
  .features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .feature-card {
    padding: 30px; /* Menší padding na mobilu */
  }
  
  .icon-container {
    width: 64px;
    height: 64px;
    margin-bottom: 15px;
  }
  
  .feature-card h3 {
    font-size: 1.25rem;
  }
}

/* --- ZÁKLADNÍ NASTAVENÍ SEKCE --- */
/* Kontejner sekce */
.camp-section {
    width: 100%;
    background-color: var(--theme-palette-color-7);
    padding: 40px 0;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    overflow: hidden;
}

@media (max-width: 768px) {
    .camp-section {
        padding: 20px 0;
    }
}

.camp-container {
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 20px;
}

/* Mřížka pro řádky */
.zigzag-grid {
    display: flex;
    flex-direction: column;
    gap: 40px; /* Mezera mezi bloky */
}

/* Základní řádek (Text vlevo, Foto vpravo) */
.zigzag-row {
    display: flex;
    flex-direction: row; /* Elementy vedle sebe */
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

/* --- MAGIE PRO ZIK-ZAK --- */
/* Pokud má řádek třídu .reverse, otočíme pořadí (Foto vlevo, Text vpravo) */
.zigzag-row.reverse {
    flex-direction: row-reverse;
}

/* Nastavení šířky, aby byly bloky 50/50 */
.zigzag-text, .zigzag-image {
    flex: 1;
    width: 50%;
}

/* Obrázky */
.zigzag-image {
    position: relative;
}

.zigzag-image img {
    width: 100%;
    height: 350px; /* Pevná výška pro eleganci */
    object-fit: cover; /* Ořízne fotku tak, aby vyplnila prostor */
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    display: block;
}

/* Responzivita pro mobily */
@media (max-width: 768px) {
    .zigzag-row, .zigzag-row.reverse {
        flex-direction: column !important; /* Vše pod sebou */
        gap: 30px;
        text-align: left;
    }

    .zigzag-text, .zigzag-image {
        width: 100%;
    }

    /* Na mobilu chceme vždy fotku jako první v každém bloku */
    .zigzag-row .zigzag-text {
        order: 2;
    }
    .zigzag-row .zigzag-image {
        order: 1;
    }
    
    .zigzag-image img {
        height: 300px;
    }
}

/* Styl pro seznam v balíčku (Im Paket enthalten) */
/* Kontejner pro seznam balíčku */
.camp-package-list {
    list-style: none; /* Odstraní výchozí tečky */
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px; /* Větší mezery mezi položkami */
}

/* Jednotlivá položka seznamu */
.camp-package-list li {
    font-size: 1.1rem; /* Zvětšený text pro lepší čitelnost */
    font-weight: 500;
    color: var(--theme-palette-color-4);
    display: flex;
    align-items: center; /* Vertikální zarovnání ikony a textu */
    padding-left: 0;
    transition: transform 0.2s ease;
}

/* Vlastní zlatá ikonka místo odrážky */
.camp-package-list li::before {
    content: "✓"; /* Můžeš nahradit i SVG ikonou */
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    background-color: var(--theme-palette-color-1); /* Tvoje zlatá */
    color: var(--theme-palette-color-8);
    font-size: 0.9rem;
    font-weight: 900;
    border-radius: 50%; /* Udělá z ikony kolečko */
    margin-right: 15px;
}

/* Nadpis "Im Paket enthalten" */
.zigzag-text h3 {
    font-size: 1.8rem;
    margin-bottom: 30px;
    position: relative;
    display: inline-block;
}

/* Jemná linka pod nadpisem pro zdůraznění */
.zigzag-text h3::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 50px;
    height: 3px;
    background-color: var(--theme-palette-color-1);
}

/* Responzivita: Na mobilu trochu zmenšíme, aby se text nelámal */
@media (max-width: 768px) {
    .camp-package-list li {
        font-size: 1.1rem;
    }
}

/* --- BOX S CENOU --- */
.camp-price {
    margin: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Zarovnání doleva, pokud je text vlevo */
    border-left: 3px solid var(--theme-palette-color-2); /* Zlatá linka na straně */
    padding-left: 20px;
}

.price-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    color: var(--theme-palette-color-3);
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.price-value {
    font-size: 2.5rem; /* Pořádně velká cena */
    font-weight: 800;
    color: var(--theme-palette-color-4);
    line-height: 1;
}

/* --- TLAČÍTKO (CTA) --- */
.btn-primary {
    display: inline-block;
    background-color: var(--theme-palette-color-1);
    color: #0a0a0a !important;
    padding: 6px 12px;
    font-size: 1.0rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 8px;
    letter-spacing: 1.5px;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border: 2px solid transparent;
}

.btn-primary:hover {
    background-color: var(--theme-palette-color-2); /* Změna na zlatou při hoveru */
    transform: translateY(-2px); /* Jemné nadskočení */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.btn-primary:active {
    transform: translateY(-1px);
}

/* Úprava pro mobil */
@media (max-width: 768px) {
    .camp-price {
        align-items: center; /* Na mobilu vycentrovat */
        border-left: none;
        border-top: 2px solid var(--theme-palette-color-2);
        padding-left: 0;
        padding-top: 15px;
    }
    
    .btn-primary {
        width: 100%; /* Na mobilu tlačítko přes celou šířku */
        text-align: center;
    }
}

/* Kontejner pro termíny */
.camp-dates {
    display: flex;
    flex-direction: row; /* Vedle sebe */
    gap: 20px; /* Mezera mezi bloky */
    justify-content: flex-start;
}

/* Jednotlivá "karta" s termínem */
.date-item {
    flex: 1; /* Obě karty budou stejně široké */
    background: var(--theme-palette-color-8); /* Velmi jemný šedý podklad */
    padding: 20px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, background 0.3s ease;
}

@media (prefers-color-scheme: dark) {
    .date-item {
        background: var(--theme-palette-color-6);
    }
}

.date-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

/* Ročníky (nadpis karty) */
.date-item strong {
    font-size: 1.2rem; /* Trochu jsme zmenšili, aby se to vešlo vedle sebe */
    color: var(--theme-palette-color-1); /* Zlatá barva pro ročník */
    text-transform: uppercase;
    margin-bottom: 8px;
    display: block;
}

/* Samotné datum */
.date-item span {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--theme-palette-color-4);
    white-space: nowrap; /* Aby se datum nerozlamovalo */
}

/* RESPONZIVITA - Na mobilu musí být pod sebou */
@media (max-width: 768px) {
    .camp-dates {
        flex-direction: column;
    }
    
    .date-item {
        width: 100%;
    }
}

/* Kontejner pro denní program */
.daily-schedule {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.schedule-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 15px;
    background: var(--theme-palette-color-8);
    border-radius: 8px;
    transition: transform 0.3s ease;
}

@media (prefers-color-scheme: dark) {
    .schedule-item {
        background: var(--theme-palette-color-6);
    }
}

.schedule-item:hover {
    transform: translateX(2px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

/* Časový údaj */
.schedule-time {
    font-weight: 800;
    color: var(--theme-palette-color-1);
    font-size: 1.1rem;
    white-space: nowrap;
    min-width: 110px;
}

/* Textová část */
.schedule-info h4 {
    margin: 0 0 5px 0;
    text-transform: uppercase;
    font-size: 1rem;
    color: var(--theme-palette-color-4);
}

.schedule-info p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--theme-palette-color-4);
}

@media (max-width: 768px) {
    .schedule-item {
        flex-direction: column; /* Čas a text pod sebou */
        gap: 8px; /* Menší mezera mezi časem a popisem */
        padding: 15px;
        text-align: left; /* Zarovnání textu doleva pro lepší čitelnost */
    }

    .schedule-time {
        width: 100%;
        font-size: 1.2rem; /* Na mobilu může být čas klidně výraznější */
        border-bottom: 1px solid #f0f0f0; /* Jemná linka pod časem */
        padding-bottom: 5px;
        margin-bottom: 5px;
    }
    
    .schedule-info h4 {
        margin-top: 5px;
    }
}

/* --- KARTA PRODUKTU --- */
.woocommerce ul.products li.product {
    background: #1a1a1a !important;
    border: 1px solid #333 !important;
    border-radius: 15px !important;
    padding: 0 !important; /* Fotka půjde až ke kraji */
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
    border-color: var(--theme-palette-color-2) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

/* Obrázek produktu */
.woocommerce ul.products li.product img {
    margin: 0 !important;
    border-radius: 0 !important;
}

/* Obsah pod fotkou (Nadpis, Cena, Tlačítko) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #ffffff !important;
    padding: 20px 15px 5px 15px !important;
    font-size: 1.25rem !important;
    text-transform: uppercase;
    font-weight: 700;
}

.woocommerce ul.products li.product .price {
    color: var(--theme-palette-color-2) !important; /* Zlatá */
    padding: 0 15px 15px 15px !important;
    font-size: 1.3rem !important;
    font-weight: 800;
    display: block;
}

/* --- TLAČÍTKO "IN DEN WARENKORB" --- */
.woocommerce ul.products li.product .button {
    background-color: var(--theme-palette-color-2) !important;
    color: #000000 !important;
    margin: 0 15px 20px 15px !important;
    border-radius: 50px !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    padding: 12px 20px !important;
    font-size: 0.85rem !important;
    transition: all 0.3s ease !important;
}

.woocommerce ul.products li.product .button:hover {
    background-color: #ffffff !important;
    color: #000000 !important;
}





/* Úprava nadpisu "Shop" (na screenshotu je moc tmavý na černém pozadí) */
.woocommerce-products-header__title.page-title, 
.hero-section h1 {
    color: var(--theme-palette-color-4) !important;
    font-size: 3.5rem !important;
    text-transform: uppercase;
    text-align: left;
}
/* Zacílí na jakýkoliv přímý div pod hlavním obsahem archivu */
.post-type-archive-product section {
    width: 100%;
    background-color: var(--theme-palette-color-7);
    padding: 30px 30px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    overflow: hidden;
}


.o2o-wrapper { background: var(--theme-palette-color-7); padding: 30px; border-radius: 10px; }
.o2o-gold-title { color: var(--theme-palette-color-1) !important; text-align: left; text-transform: uppercase; font-size: 1.8rem; }
.o2o-intro { text-align: justify; font-size: 1.1rem; color: var(--theme-palette-color-4);}

/* GRID NASTAVENÍ */
.o2o-main-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Dva sloupce */
    gap: 30px !important;
    width: 100% !important;
}

/* PRVKY CO MAJÍ BÝT PŘES CELOU ŠÍŘKU */
.o2o-full {
    grid-column: 1 / span 2 !important;
}

/* KARTY KEMPŮ */
.o2o-card {
    background: var(--theme-palette-color-8);
    padding: 10px;
    text-align: center;
    border-radius: 10px;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Vycentruje shora dolů */
    align-items: center !important;     /* Vycentruje zleva doprava */
    text-align: center !important;
}
.o2o-card p {
    display: none !important;
}
.o2o-card-header { color: var(--theme-palette-color-1); font-size: 1.8rem; font-weight: 800; text-transform: uppercase; }
.o2o-card-date { color: var(--theme-palette-color-4); font-size: 1.6rem; font-weight: 700; }

/* STYL SEKCE */
/* Základní styl nadpisu sekce */
.o2o-h3 { 
    color: var(--theme-palette-color-1) !important; 
    text-transform: uppercase; 
    margin-bottom: 20px !important; /* Trochu víc místa pro tu linku */
    padding-bottom: 12px;
    position: relative; /* Nutné pro správné umístění linky ::after */
    font-weight: 800;
}

/* Zlatá akcentová linka pod nadpisem */
.o2o-h3::after {
    content: '';
    position: absolute;
    bottom: 10px; /* Přesně na tu šedou linku */
    left: 0;
    width: 60px; /* Délka zlaté linky */
    height: 3px; /* Tloušťka zlaté linky */
    background-color: var(--theme-palette-color-1);
}

.o2o-list { list-style: none; padding: 0; }
.o2o-list li { padding: 5px 0; border-bottom: 1px solid #111; font-size: 0.9rem; }
.o2o-check li::before { content: "✓ "; color: #d4af37; }

.o2o-timeline { list-style: none; padding-left: 15px; border-left: 2px solid #d4af37; }
.o2o-dark { background: #0c0c0c; padding: 20px; border-radius: 10px; border: 1px solid #222; }

/* MOBILNÍ VERZE */
@media (max-width: 768px) {
    .o2o-main-grid {
        grid-template-columns: 1fr !important; /* Na mobilu jen jeden sloupec */
    }
    .o2o-full {
        grid-column: 1 !important;
    }
}

/* Box pro celý plán */

/* Horní štítky s dny */
.o2o-time-badge-row {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
}

@media (max-width: 768px) {
    .o2o-time-badge-row {
        flex-direction: column !important; /* Vynutí směr pod sebe */
        gap: 10px !important; /* TADY zmenšujeme mezeru mezi štítky pod sebou */
        margin-bottom: 15px !important; /* Zmenšení mezery pod celým blokem na mobilu */
    }
    
    .o2o-badge-day {
        width: 100% !important; /* Štítek zabere celou šířku mobilu */
        padding: 6px 10px !important; /* Trochu kompaktnější polstrování pro mobil */
    }

    .o2o-time-badge-row br {
        display: none !important;
    }
}

.o2o-badge-day {
    background: var(--theme-palette-color-8);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 1.1rem;
    color: var(--theme-palette-color-4);
}

.o2o-badge-day strong {
    color: var(--theme-palette-color-1);
    margin-right: 5px;
}

/* Moderní Timeline */
.o2o-timeline-v2 {
    list-style: none !important;
    padding: 0 !important;
    position: relative;
}

/* Svislá čára v pozadí */
.o2o-timeline-v2::before {
    content: '';
    position: absolute;
    left: 7px;
    top: 5px;
    bottom: 5px;
    width: 2px;
    background: linear-gradient(to bottom, #d4af37, #333);
}

.o2o-timeline-v2 li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 25px;
}

/* Tečka na lince */
.o2o-timeline-v2 li::after {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 16px;
    height: 16px;
    background: #000;
    border: 3px solid #d4af37;
    border-radius: 50%;
    z-index: 1;
}

/* Časový údaj */
.o2o-time-marker {
    font-size: 1.0rem;
    font-weight: 600;
    color: var(--theme-palette-color-1);
    text-transform: uppercase;
}

/* Text aktivity */
.o2o-time-content {
    color: var(--theme-palette-color-4);
    font-size: 1.1rem;
}

.o2o-time-content strong {
    display: block;
    color: #fff;
    margin-bottom: 2px;
}

.o2o-time-content span {
    color: #888;
    font-size: 0.85rem;
}

/* Seznam se šipkami (levá strana) */
.o2o-arrow-list {
    list-style: none !important;
    padding: 0 !important;
}

.o2o-arrow-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 1.1rem;
    line-height: 1.4;
}

.o2o-arrow-list li::before {
    content: '➤';
    position: absolute;
    left: 0;
    color: #d4af37;
    font-size: 1.1rem;
}

.o2o-check-list {
    list-style: none !important;
    padding: 0 !important;
}

.o2o-check-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 1.1rem;
    line-height: 1.4;
}

.o2o-check-list li::before {
    content: '✔';
    position: absolute;
    left: 0;
    color: #d4af37;
    font-size: 1.1rem;
}

/* Pravá strana - Erwartungen */
.o2o-red-text {
    color: #ff4444; /* Červená z prezentace pro Erwartungen */
    font-weight: 800;
    font-size: 0.85rem;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.o2o-check-list-v2 {
    list-style: none !important;
    padding: 0 !important;
    margin-bottom: 20px;
}

.o2o-check-list-v2 li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 8px;
    font-size: 0.9rem;
}

.o2o-check-list-v2 li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #fff;
    font-weight: bold;
}

.o2o-target-group {
    background: #1a1a1a;
    padding: 15px;
    border-radius: 8px;
    border-left: 3px solid #d4af37;
    font-size: 0.85rem;
}

.o2o-target-group strong {
    color: #d4af37;
}

.contact-card-wrapper {
    width: 100%;
    margin-bottom: 20px; /* Mezera pod každým divem */
}

.contact-card-wrapper:last-child {
    margin-bottom: 0; /* Poslední div už mezeru dole nepotřebuje */
}

.contact-card {
    display: flex;
    align-items: center;
    padding: 20px;
    background-color: var(--theme-palette-color-7);
    border-radius: 12px;
    text-decoration: none !important;
    color: #333 !important;
    border: 2px solid transparent;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    width: 100%;
    box-sizing: border-box; /* Zabrání roztažení karty mimo sloupec kvůli paddingu */
}

.contact-card:hover {
    background-color: var(--theme-palette-color-8);
    border-color: var(--theme-palette-color-1);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    transform: translateY(-5px);
}

.card-icon {
    font-size: 24px;
    margin-right: 15px;
    background: var(--theme-palette-color-8);
    flex-shrink: 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;    justify-content: center;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}

.contact-card:hover .card-icon {
    transform: scale(1.1);
}

.card-content {
    display: flex;
    flex-direction: column;
    min-width: 0; /* Důležité pro správné zalamování textu v flexboxu */
}

.card-label {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--theme-palette-color-3);
    margin-bottom: 2px;
}

.card-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--theme-palette-color-4);
    word-wrap: break-word;
    overflow-wrap: break-word;
}
