/* Obecné styly pro tabulku obchodních míst */
.obchodni-mista-wrapper {
    margin: 0 0;
    max-width: 100%;
    overflow-x: auto;
}

.obchodni-mista-frontend {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    border-radius: 6px;
    overflow: hidden;
}

.obchodni-mista-frontend thead th {
    background-color: #2271b1; /* WordPress primární barva */
    color: white;
    text-align: left;
    padding: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 14px;
}

.obchodni-mista-frontend tbody tr {
    background-color: #fff;
    transition: all 0.2s ease;
    border-left: 3px solid transparent;
}

.obchodni-mista-frontend tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.obchodni-mista-frontend tbody tr:hover {
    background-color: #f0f7ff;
    border-left-color: #2271b1;
}

.obchodni-mista-frontend td {
    padding: 15px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    font-size: 15px;
}

.obchodni-mista-frontend a {
    color: #2271b1;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.obchodni-mista-frontend a:hover {
    color: #135e96;
    text-decoration: underline;
}

/* Styly pro telefonní číslo */
.obchodni-mista-frontend .telefon-cell a {
    padding-left: 5px;
    position: relative;
    display: inline-block;
}

/* Styly pro email */
.obchodni-mista-frontend .email-cell a {
    padding-left: 5px;
    position: relative;
    display: inline-block;
}

/* Základní stylizace emailu */
.email-cell {
    word-break: keep-all;
    position: relative;
}

.email-cell a {
    text-decoration: none;
    color: #2271b1;
    transition: color 0.2s;
    display: inline-block;
    vertical-align: middle;
}

.email-cell a:hover {
    color: #135e96;
    text-decoration: underline;
}

/* Stylizace ikonky */
.email-cell .porto-icon-envelope {
    vertical-align: middle;
    display: inline-block;
}

/* Responzivní email - při zúžení obrazovky */
@media screen and (max-width: 767px) {
    .email-cell {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        max-width: 100%;
        overflow: hidden;
    }
    
    .email-cell .porto-icon-envelope {
        flex-shrink: 0;
    }
    
    .email-cell a {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: calc(100% - 30px); /* Místo pro ikonu a padding */
    }
    
    /* Přizpůsobení pro velmi úzké obrazovky */
    @media screen and (max-width: 380px) {
        table.obchodni-mista-frontend .email-cell {
            min-width: 180px;
        }
        
        table.obchodni-mista-frontend td.email-cell {
            padding-left: 8px;
            padding-right: 8px;
        }
    }
}

/* Speciální řešení pro velmi dlouhé emaily */
@media screen and (max-width: 767px) {
    .email-cell a[href*="@"] {
        font-size: 0.95em; /* Mírně menší písmo na mobilu */
    }
    
    /* Emaily delší než 24 znaků */
    .email-cell a[href*="@"][href*=".com"],
    .email-cell a[href*="@"][href*=".cz"],
    .email-cell a[href*="@"][href*=".sk"],
    .email-cell a[href*="@"][href*=".eu"],
    .email-cell a[href*="@"][href*=".net"],
    .email-cell a[href*="@"][href*=".org"] {
        font-size: 0.9em; /* Ještě menší písmo pro dlouhé domény */
    }
    
    /* Velmi dlouhé emaily */
    .email-cell a[href$=".com"]:not([href$="@gmail.com"]):not([href$="@seznam.com"]) {
        font-size: 0.9em;
    }
}

/* Řešení pro vertikální zobrazení na mobilech */
@media screen and (max-width: 576px) {
    table.obchodni-mista-frontend td {
        display: block;
        text-align: right;
        padding-left: 45%;
        position: relative;
    }
    
    table.obchodni-mista-frontend td:before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 40%;
        padding-right: 15px;
        font-weight: 600;
        text-align: left;
        color: #555;
    }
    
    table.obchodni-mista-frontend .email-cell {
        padding-left: 45%;
        text-align: right;
    }
    
    
    table.obchodni-mista-frontend .email-cell a {
        max-width: 100%;
        display: inline-block;
        word-break: break-all;
        white-space: normal;
    }
}

/* Responzivní styly pro mobilní zařízení */
@media screen and (max-width: 767px) {
    .obchodni-mista-frontend {
        border: 0;
        box-shadow: none;
    }
    
    .obchodni-mista-frontend thead {
        display: none;
    }
    
    .obchodni-mista-frontend tr {
        margin-bottom: 20px;
        display: block;
        border: 1px solid #ddd;
        border-radius: 5px;
        overflow: hidden;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }
    
    .obchodni-mista-frontend td {
        display: block;
        text-align: right;
        font-size: 14px;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 45%;
    }
    
    .obchodni-mista-frontend td:last-child {
        border-bottom: 0;
    }
    
    .obchodni-mista-frontend td:before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        width: 40%;
        padding-right: 15px;
        font-weight: 600;
        text-align: left;
        color: #555;
    }
    
    .obchodni-mista-frontend .firma-cell:before { content: 'Firma:'; }
    .obchodni-mista-frontend .adresa-cell:before { content: 'Adresa:'; }
    .obchodni-mista-frontend .telefon-cell:before { content: 'Telefon:'; }
    .obchodni-mista-frontend .email-cell:before { content: 'Email:'; }
}

/* Modifikace pro různé styly */

/* Styl "modern" */
.obchodni-mista-frontend.style-modern {
    border-spacing: 0 10px;
    border-collapse: separate;
    background: transparent;
    box-shadow: none;
}

.obchodni-mista-frontend.style-modern thead th {
    background-color: transparent;
    color: #333;
    border-bottom: 2px solid #2271b1;
    padding: 15px;
}

.obchodni-mista-frontend.style-modern tbody tr {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    border-radius: 6px;
    margin-bottom: 10px;
}

.obchodni-mista-frontend.style-modern tbody td {
    border: none;
    padding: 15px 20px;
}

.obchodni-mista-frontend.style-modern tbody td:first-child {
    border-radius: 6px 0 0 6px;
}

.obchodni-mista-frontend.style-modern tbody td:last-child {
    border-radius: 0 6px 6px 0;
}

/* Styl "minimal" */
.obchodni-mista-frontend.style-minimal {
    box-shadow: none;
    border: none;
}

.obchodni-mista-frontend.style-minimal thead th {
    background-color: white;
    color: #2271b1;
    border-bottom: 2px solid #2271b1;
    font-weight: 700;
}

.obchodni-mista-frontend.style-minimal tbody tr {
    border-left: none;
}

.obchodni-mista-frontend.style-minimal tbody tr:hover {
    background-color: #f9f9f9;
    border-left: none;
}

.obchodni-mista-frontend.style-minimal tbody td {
    border-bottom: 1px solid #eee;
}

/* Zpráva o nenalezených místech */
.no-locations-message {
    padding: 20px;
    background-color: #f8f9fa;
    border-left: 4px solid #2271b1;
    color: #555;
    font-style: italic;
}