/* Vlastní produktová šablona (HVG_Product_Template) — mobile-first */
.hvg-pt {
    max-width: 1060px;
    margin: 0 auto;
    padding: 12px 18px 13vh; /* spodní buffer kvůli rotujícím recenzím */
    box-sizing: border-box;
}

.hvg-pt__crumb { margin-bottom: 8px; }

.hvg-pt__title {
    font-size: 26px;
    line-height: 1.25;
    color: #1f2d1f;
    margin: 0 0 16px;
}

/* ── horní blok: galerie + side ── */
.hvg-pt__top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 28px;
}

@media (min-width: 768px) {
    .hvg-pt__top { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 32px; }
    .hvg-pt__title { font-size: 32px; }
}

.hvg-pt__img-main img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
}

.hvg-pt__thumbs {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.hvg-pt__thumb {
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 0;
    background: none;
    cursor: pointer;
    line-height: 0;
    overflow: hidden;
}

.hvg-pt__thumb img { width: 56px; height: 56px; object-fit: cover; display: block; }
.hvg-pt__thumb.is-active { border-color: #16a34a; }

/* ── Informace ── */
.hvg-pt__info {
    background: #f7faf5;
    border: 1px solid #e3e8e0;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 14px;
}

.hvg-pt__info-title {
    font-size: 17px;
    color: #1f2d1f;
    margin: 0 0 8px;
}

.hvg-pt__info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}

.hvg-pt__info-list li {
    position: relative;
    padding-left: 24px;
}

.hvg-pt__info-list li:before {
    content: "\1F4C4"; /* 📄 */
    position: absolute;
    left: 0;
    font-size: 14px;
}

.hvg-pt__info-list a {
    color: #166534 !important;
    text-decoration: none;
    font-size: 15px;
}
.hvg-pt__info-list a:hover { text-decoration: underline; }

.hvg-pt__calc { margin-bottom: 14px; }

/* ── Buy box ── */
.hvg-buybox {
    background: #fff;
    border: 1px solid #e3e8e0;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .05);
}

.hvg-buybox__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.hvg-buybox__price,
.hvg-buybox__price .price {
    font-size: 28px;
    font-weight: 800;
    color: #1f2d1f;
}
.hvg-buybox__price del { font-size: 18px; opacity: .55; font-weight: 400; margin-right: 8px; }
.hvg-buybox__price ins { text-decoration: none; }

.hvg-buybox .stock { margin: 0; font-size: 14px; }
/* skladem ukazujeme jen v horním řádku — WC ho tiskne i u formuláře (duplikát) */
.hvg-buybox .stock { display: none; }
.hvg-buybox__row .stock { display: block; }
.hvg-buybox .stock.in-stock { color: #16a34a; font-weight: 600; }
.hvg-buybox .stock.out-of-stock { color: #b91c1c; font-weight: 600; }

.hvg-buybox form.cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 0;
}

.hvg-buybox form.cart .quantity {
    flex: 0 0 auto;
    margin: 0;
}

.hvg-buybox form.cart .quantity input.qty {
    width: 64px;
    height: 50px;
    border: 1px solid #cfd6cc;
    border-radius: 10px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}

.hvg-buybox form.cart .single_add_to_cart_button {
    flex: 1 1 auto;
    height: 50px;
    background: #16a34a !important;
    color: #fff !important;
    border: 0;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background .15s ease;
}
.hvg-buybox form.cart .single_add_to_cart_button:hover { background: #15803d !important; }

/* ── Variabilní produkt: option boxy místo selectu ── */
/* form.cart je flex (qty+tlačítko) — variations_form ale potřebuje sloupec */
.hvg-buybox form.cart.variations_form { display: block; }

.hvg-buybox .woocommerce-variation-add-to-cart {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

/* JS postavil boxy → původní tabulku (label + select + Vyčistit) skrýt */
.hvg-buybox form.cart.hvg-has-pills table.variations { display: none; }

.hvg-var { margin-bottom: 14px; }

.hvg-var__title {
    font-size: 15px;
    font-weight: 700;
    color: #1f2d1f;
    margin-bottom: 8px;
}

.hvg-var__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* !important: globální button styly themu (zelené pozadí + bílý text) jinak vyhrají */
.hvg-buybox button.hvg-var__pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    min-width: 92px;
    padding: 9px 16px;
    border: 2px solid #cfd6cc !important;
    border-radius: 10px;
    background: #fff !important;
    color: #1f2d1f !important;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}
.hvg-buybox button.hvg-var__pill:hover { border-color: #16a34a !important; }
.hvg-buybox button.hvg-var__pill.is-active { border-color: #16a34a !important; background: #f0fdf4 !important; }
.hvg-buybox button.hvg-var__pill:disabled { opacity: .35; cursor: not-allowed; }

.hvg-buybox .hvg-var__val { font-size: 15px; font-weight: 700; color: #1f2d1f !important; }
.hvg-buybox .hvg-var__price { font-size: 13px; color: #4a554a !important; }
.hvg-buybox .hvg-var__pill.is-active .hvg-var__price { color: #15803d !important; font-weight: 600; }

/* horní statický řádek („od X Kč") je u variabilních duplicitní → skrýt */
.hvg-buybox--variable .hvg-buybox__row { display: none; }

/* vybraná varianta: název + cena na jednom řádku, dostupnost pod tím */
.hvg-buybox .woocommerce-variation.single_variation {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 12px;
    margin-bottom: 12px;
}

.hvg-buybox .woocommerce-variation-description p { margin: 0; font-weight: 600; color: #1f2d1f; }

.hvg-buybox .woocommerce-variation-price .price {
    font-size: 24px;
    font-weight: 800;
    color: #1f2d1f;
}
.hvg-buybox .woocommerce-variation-price del { font-size: 16px; opacity: .55; font-weight: 400; margin-right: 6px; }
.hvg-buybox .woocommerce-variation-price ins { text-decoration: none; }

.hvg-buybox .woocommerce-variation-availability { flex-basis: 100%; }
/* obecné pravidlo výš skrývá .stock mimo __row — u variant ho chceme */
.hvg-buybox .woocommerce-variation-availability .stock { display: block; font-size: 14px; }

.hvg-pt__pricematch { margin-top: 12px; }

/* Na mobilu výraznější „Našli jste to jinde levněji?" vč. emotikony (Rudolf 12.6.) */
@media (max-width: 768px) {
    .hvg-pt__pricematch,
    .hvg-pt__pricematch a,
    .hvg-pt__pricematch button,
    .hvg-pt__pricematch span {
        font-size: 18px !important;
        line-height: 1.5 !important;
    }
    .hvg-pt__pricematch { padding: 4px 2px; }
}

/* ── Popis ── */
.hvg-pt__desc {
    background: #fff;
    border: 1px solid #e3e8e0;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.65;
    color: #374151;
}

.hvg-pt__desc h2:first-child {
    font-size: 20px;
    color: #1f2d1f;
    margin: 0 0 10px;
}

/* obrázky a YouTube videa v popisu nesmí přetékat (Svlečky mají vložené video) */
.hvg-pt__desc img { max-width: 100%; height: auto; }

/* WP oEmbed/Rocket-lazyload může mít src=data: → nelze cílit na [src*=youtube];
   stylujeme proto VŠECHNY iframy v popisu (jiné tam nejsou). */
.hvg-pt__desc .wp-block-embed,
.hvg-pt__desc .wp-block-embed__wrapper { max-width: 100%; }

.hvg-pt__desc iframe {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9;
    margin: 14px auto;
    border: 0;
    border-radius: 10px;
}

.hvg-pt__reviews { margin-top: 24px; }
