/* Stylování pro tlačítko "Do košíku" v tabulce variant */
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button {
display: inline-block;
min-width: 140px;           /* rozumná šířka */
padding: 13px 18px;
font-size: 15px;
font-weight: 600;
line-height: 1.3;
text-align: center;
color: #fff !important;
background-color: var(--color-primary);  /* Shoptet primární modrá */
border: 1px solid var(--color-primary);
cursor: pointer;
transition: background-color .2s ease, border-color .2s ease;
}

/* Hover/focus stav */
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button:hover,
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button:focus {
background-color: var(--color-primary-hover);
border-color: var(--color-primary-hover);
text-decoration: none;
outline: none;
}

/* Disabled stav */
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button:disabled,
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button.is-disabled {
opacity: .6;
cursor: not-allowed;
background-color: #999;
border-color: #999;
}

/* Zviditelnění textu uvnitř */
.variant-table .btn.btn-plain.btn-cart.add-to-cart-button .sr-only {
position:static;
font-weight: 400;
}

.type-product .p-detail {
    display: flex;
flex-direction:column;
}

.products-related-header {
order: 2;
}

.products-related {
order:3;
}

.products-related + .browse-p {
order: 4;
}

#footer .site-name,
.latest-contribution-wrapper {
display: none;
}

/* Držák + centrování */
.variant-buttons-holder {
margin: 12px 0 16px;
display: flex;
flex-direction: column;
gap: 12px;
}
/* Klikací varianty – centrované, menší vert. padding, bez radiusu */
.variant-buttons {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.variant-pill {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 10px 14px;   /* menší výška */
border: 1px solid #ddd;
border-radius: 0;
background: #fff;
cursor: pointer;
font: inherit;
font-size: 15px;
min-width: 120px;
text-align: center;
transition: border-color .15s ease, background .15s ease;
}
.variant-pill .main-line { font-size: 15px; }
.variant-pill .price { font-weight: 700; }
.variant-pill .per-unit {
font-size: 12px;      /* o 1 px menší řádek */
color: #666;
margin-top: 3px;
}
.variant-pill:hover { border-color: #bbb; }
.variant-pill.is-active { border-color: #111; background: #f7f7f7; }
.variant-pill.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
/* Sjednocený Add-to-Cart formulář */
.unified-variant-form {
width: 100%;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.unified-variant-form fieldset {
display: flex;
}
.unified-variant-form .amount { max-width: 80px; text-align: center; }
.variant-pill .discount-badge{
display:inline-flex;
font-size:12px;
margin-left:6px;
transform: translateY(-2px);
color:#fff;
padding:2px 6px;
border-radius:999px;
background: red;
font-weight: 700;
}

@media (min-width: 768px) {
    .header-top {
        height: auto;
        padding-bottom: 0;
        padding-top: 0;
    }
    
    #header .site-name a img {
        margin: 0;
        max-height: 80px;
    }
    
    #header .site-name {
        display: flex;
    }
}

@media (min-width: 1200px) {
    .multiple-columns-body .variant-table .table-row .table-col.variant-name-wrapper {
        width: calc(100% - 540px);
    }
    
    .multiple-columns-body .variant-table .table-row .table-col.cart {
        width: 290px;
    }
}

.custom-footer {
    padding-left: 0;
}

/* Zboží.cz Badge */
.badge-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.badge-left {
    flex-shrink: 0;
}

.zbozi-logo {
    width: 70px;
    height: 70px;
    display: block;
}

.badge-right {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 5px;
}

.rating-score {
    font-weight: bold;
    color: #28a745;
    line-height: 1.2;
}

.badge-link {
    font-size: 18px;
    color: #333;
    transition: text-decoration 0.2s;
    display: inline-block;
    font-weight: 600;
    text-decoration: none;
}

.badge-link:hover {
    text-decoration: underline;
}

/* Hvězdičky v badge */
.badge-stars {
    display: flex;
    align-items: center;
    gap: 2px 8px;
    font-size: 16px;
    flex-wrap: wrap;
}

.stars-container {
    position: relative;
    display: inline-block;
    font-size: 16px;
    line-height: 1;
}

.stars-empty {
    color: #ddd;
    letter-spacing: 2px;
}

.stars-filled {
    position: absolute;
    top: 0;
    left: 0;
    color: #FFD700;
    letter-spacing: 2px;
    overflow: hidden;
    white-space: nowrap;
}

.reviews-count {
    font-size: 13px;
    color: #666;
}

.badge-percentage {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
}

.badge-percentage strong {
    color: #28a745;
    font-weight: bold;
}

/* Responsive */
@media (max-width: 768px) {
    .zbozi-logo {
        width: 60px;
        height: 60px;
    }

    .badge-content {
        gap: 15px;
    }
}

/* ================================================
   ZBOŽÍ.CZ REVIEWS SLIDER
   ================================================ */

/* Wrapper pro celý reviews slider */
.zbozi-reviews-wrapper {
    margin-top: 40px;
}

/* Reviews Slider */
.zbozi-slider-wrapper {
    position: relative;
    margin-bottom: 40px;
    padding: 0 40px;
}

.zbozi-reviews-slider {
    overflow: hidden;
    width: 100%;
}

.zbozi-reviews-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    gap: 20px;
}

.zbozi-review-card {
    flex: 0 0 calc(25% - 15px);
    background: white;
    border: 1px solid #e0e0e0;
    padding: 20px;
    min-width: 0;
    opacity: 0;
    animation: zboziReviewFadeIn 0.5s forwards;
}

@keyframes zboziReviewFadeIn {
    to {
        opacity: 1;
    }
}

/* Minimalistické chevron šipky */
.zbozi-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: none;
    color: #34495e;
    font-size: 24px;
    width: 24px;
    height: 24px;
    cursor: pointer;
    z-index: 10;
    transition: color 0.3s;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.zbozi-slider-arrow:hover {
    color: #000;
}

.zbozi-slider-arrow-left {
    left: 0;
}

.zbozi-slider-arrow-right {
    right: 0;
}

.zbozi-slider-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.zbozi-slider-arrow:disabled:hover {
    color: #34495e;
}

/* Review Card Content */
.zbozi-review-verified {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #28a745;
    margin-bottom: 8px;
    font-weight: 500;
}

.zbozi-verified-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #28a745;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    flex-shrink: 0;
}

.zbozi-review-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.zbozi-review-author {
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.zbozi-review-date {
    font-size: 12px;
    color: #999;
}

.zbozi-review-stars {
    margin-bottom: 12px;
    font-size: 20px;
    color: #FFD700;
}

.zbozi-review-text {
    color: #555;
    line-height: 1.5;
    margin-bottom: 12px;
}

/* Loading, Error & Empty States */
.loading {
    text-align: center;
    padding: 40px;
    font-size: 18px;
    color: #666;
}

.spinner {
    border: 4px solid #f3f3f3;
    border-top: 4px solid #ff6600;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
    margin: 20px auto;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.error {
    background: #fee;
    border: 1px solid #fcc;
    color: #c33;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #999;
}

.empty-state-icon {
    font-size: 48px;
    margin-bottom: 20px;
}

/* Responsive Breakpoints */

/* Mobil: 1 recenze */
@media (max-width: 480px) {
    .zbozi-review-card {
        flex: 0 0 100%;
    }

    .zbozi-slider-wrapper {
        padding: 0 30px;
    }

    .zbozi-slider-arrow {
        width: 20px;
        height: 20px;
        font-size: 20px;
    }
}

/* Tablet small: 2 recenze */
@media (min-width: 481px) and (max-width: 768px) {
    .zbozi-review-card {
        flex: 0 0 calc(50% - 10px);
    }

    .zbozi-slider-wrapper {
        padding: 0 30px;
    }
}

/* Tablet large: 3 recenze */
@media (min-width: 769px) and (max-width: 991px) {
    .zbozi-review-card {
        flex: 0 0 calc(33.333% - 14px);
    }
}

/* Desktop: 4 recenze */
@media (min-width: 992px) {
    .zbozi-review-card {
        flex: 0 0 calc(25% - 15px);
    }
}