/* Hoa Yeu Thuong - modern luxury flower product page v1.5.40 - specificity/layout fix */

/* =========================================================
   v1.5.40 critical layout fix
   Legacy theme CSS forces .content-single-product .container to flex.
   Force the redesigned product container back to a real 2-column grid.
   ========================================================= */
body.single-product section.content-single-product.hyt-single-product > .container.hyt-product-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr) !important;
    gap: 64px !important;
    align-items: start !important;
    flex-wrap: nowrap !important;
}

body.single-product section.content-single-product.hyt-single-product .product-image-wrapper.hyt-product-gallery {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    flex-basis: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
}

body.single-product section.content-single-product.hyt-single-product .product-summary.hyt-product-summary {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    flex-basis: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    min-width: 0 !important;
}

body.single-product section.content-single-product.hyt-single-product .hyt-product-gallery .slider-product-wrapper {
    width: 100% !important;
}

body.single-product section.content-single-product.hyt-single-product .hyt-product-gallery .slider-product-wrapper > .slider-inner {
    width: 100% !important;
}

body.single-product section.content-single-product.hyt-single-product .hyt-product-gallery .slider-product-wrapper > .slider-inner > ul {
    max-width: none !important;
}

:root {
    --hyt-ink: #111111;
    --hyt-ink-2: #181818;
    --hyt-text: #2d2d2d;
    --hyt-muted: #77716f;
    --hyt-line: #e9e4e1;
    --hyt-soft: #faf8f7;
    --hyt-blush: #f8edef;
    --hyt-wine: #9a3f52;
    --hyt-champagne: #b79256;
    --hyt-cream: #f5efe7;
    --hyt-green: #2f865d;
}

body.single-product { background: #fff; color: var(--hyt-text); }
body.single-product section { overflow: visible; }
body.single-product .container { width: 1280px; max-width: calc(100% - 48px); }

.hyt-product-breadcrumb { padding: 24px 0 12px; background: #fff; }
.hyt-product-breadcrumb ul { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #85807d; font-size: 13px; }
.hyt-product-breadcrumb ul li { display: inline-flex; align-items: center; }
.hyt-product-breadcrumb ul li + li::before { content: "/"; margin-right: 8px; color: #c8c2bf; }
.hyt-product-breadcrumb a:hover { color: var(--hyt-ink); }
.hyt-product-breadcrumb .current { color: #aaa4a1; max-width: 360px; }
.hyt-product-breadcrumb .current span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.hyt-single-product { padding: 10px 0 52px; background: #fff; }
.hyt-single-product .hyt-product-main { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); gap: 64px; align-items: start; }

/* Gallery */
.hyt-product-gallery { position: relative; width: auto !important; flex-basis: auto !important; min-width: 0; }
.hyt-gallery-badges { position: absolute; z-index: 4; top: 14px; left: 14px; display: flex; gap: 7px; }
.hyt-badge { display: inline-flex; min-height: 28px; padding: 5px 11px; border-radius: 999px; align-items: center; justify-content: center; font-size: 12px; line-height: 1; font-weight: 700; letter-spacing: .01em; }
.hyt-badge--sale { background: var(--hyt-wine); color: #fff; }
.hyt-badge--new { background: var(--hyt-cream); color: #6c5632; border: 1px solid #e8dac4; }

.hyt-product-gallery .slider-product-wrapper { position: relative; margin: 0 0 14px !important; border: 1px solid var(--hyt-line); border-radius: 14px; background: #fff; overflow: hidden; }
.hyt-product-gallery .slider-product-wrapper > .slider-inner { overflow: hidden; border-radius: inherit; }
.hyt-product-gallery .slider-product-wrapper > .slider-inner > ul { float: left; width: 100%; visibility: visible; }
.hyt-product-gallery .slider-product-wrapper > .slider-inner > ul > li { float: left; width: 100%; }
.hyt-product-gallery .slider-product-wrapper .image { width: 100%; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: #fff; }
.hyt-product-gallery .slider-product-wrapper .image img { width: 100%; height: 100%; object-fit: contain; }
.hyt-product-gallery .slider-control > a { position: absolute; z-index: 3; top: 50%; width: 42px !important; height: 42px !important; margin-top: -21px; border: 1px solid #ded8d4; border-radius: 50%; background: rgba(255,255,255,.96) !important; color: var(--hyt-ink); display: flex !important; align-items: center; justify-content: center; opacity: 1 !important; cursor: pointer; }
.hyt-product-gallery .slider-control > a.prev { left: 16px !important; }
.hyt-product-gallery .slider-control > a.next { right: 16px !important; }
.hyt-product-gallery .slider-control > a:hover { background: var(--hyt-ink) !important; color: #fff; border-color: var(--hyt-ink); }
.hyt-product-gallery .slider-control > a svg { width: 20px !important; height: 20px !important; fill: none !important; color: currentColor; }
.hyt-product-gallery .slider-control > a.hide { opacity: .28 !important; pointer-events: none; }

.hyt-product-gallery .slider-product-thumbnail { position: relative; overflow: hidden; }
.hyt-product-gallery .slider-product-thumbnail > .slider-inner { overflow: hidden; }
.hyt-product-gallery .slider-product-thumbnail > .slider-inner > ul { float: left; visibility: hidden; }
.hyt-product-gallery .slider-product-thumbnail > .slider-inner > ul > li { float: left; margin-right: 8px !important; opacity: 1 !important; border: 1px solid var(--hyt-line); border-radius: 9px; overflow: hidden; background: #fff; cursor: pointer; transition: border-color .2s ease; }
.hyt-product-gallery .slider-product-thumbnail > .slider-inner > ul > li.active { border: 1.5px solid var(--hyt-ink); }
.hyt-product-gallery .slider-product-thumbnail .image { width: 100%; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: #fff; }
.hyt-product-gallery .slider-product-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover; }

/* Summary */
.hyt-product-summary { width: auto !important; flex-basis: auto !important; padding-left: 0 !important; min-width: 0; }
.hyt-product-summary h1 { margin: 0 0 12px !important; color: var(--hyt-ink) !important; font-size: 30px !important; line-height: 1.25; font-weight: 700 !important; letter-spacing: -.025em; }
.hyt-product-meta-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; min-height: 28px; margin-bottom: 14px; color: #76716e; font-size: 13px; }
.hyt-product-meta-row > span + span { position: relative; padding-left: 14px; }
.hyt-product-meta-row > span + span::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 13px; margin-top: -6px; background: #d9d2cf; }
.hyt-rating { display: inline-flex; align-items: center; gap: 7px; }
.hyt-rating .star-rating { margin: 0; color: var(--hyt-champagne); font-size: 14px; width: 5.4em; }
.hyt-rating .star-rating::before, .hyt-rating .star-rating span::before { color: var(--hyt-champagne); }
.hyt-stock { display: inline-flex; align-items: center; gap: 5px; }
.hyt-stock svg { width: 16px; height: 16px; }
.hyt-stock.is-in-stock { color: var(--hyt-green); }
.hyt-stock.is-out-of-stock { color: var(--hyt-wine); }

.hyt-price-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 7px; }
.hyt-product-summary .price-wrapper span.amount { color: var(--hyt-wine) !important; font-size: 30px !important; line-height: 1; font-weight: 750 !important; }
.hyt-product-summary .price-wrapper ins { text-decoration: none; }
.hyt-product-summary .price-wrapper del { order: 2; opacity: 1; }
.hyt-product-summary .price-wrapper del span.amount { margin: 0 !important; color: #9e9895 !important; font-size: 16px !important; font-weight: 400 !important; text-decoration: line-through; }
.hyt-discount-chip { display: inline-flex; min-height: 28px; padding: 5px 9px; border: 1px solid #efd9de; border-radius: 6px; background: var(--hyt-blush); color: var(--hyt-wine); align-items: center; font-size: 12px; font-weight: 700; }
.hyt-product-summary .note-vat { margin: 0 0 13px !important; color: #77716f; font-size: 12.5px; font-style: italic; }
.hyt-soft-chip { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 7px 10px; border-radius: 999px; background: #f7f3ed; color: #705d3e; font-size: 12.5px; }
.hyt-soft-chip svg { width: 17px; height: 17px; }

.hyt-product-intro { margin: 0 0 18px !important; padding: 15px 0 0 !important; border-top: 1px solid var(--hyt-line) !important; color: #4f4b49; font-size: 14px !important; line-height: 1.75; }
.hyt-product-intro p { margin: 0 0 8px !important; }
.hyt-product-intro p:last-child { margin-bottom: 0 !important; }
.hyt-product-intro h4 { color: var(--hyt-ink) !important; font-size: 14px !important; font-weight: 650; }
.hyt-product-intro ul { margin: 8px 0; }
.hyt-product-intro ul li { padding-left: 16px !important; }
.hyt-product-intro ul li::before { content: "•" !important; color: var(--hyt-wine); }

/* Info boxes */
.hyt-product-summary .hyt-info-box { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 11px; margin: 15px 0 0 !important; padding: 14px 15px !important; border: 1px solid var(--hyt-line) !important; border-radius: 10px; background: var(--hyt-soft); position: relative; }
.hyt-info-box__icon { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--hyt-wine); border: 1px solid #eadfe1; }
.hyt-info-box__icon svg { width: 18px; height: 18px; }
.hyt-info-box .heading h2 { position: static !important; display: block !important; margin: 0 0 5px !important; padding: 0 !important; background: none !important; color: var(--hyt-ink) !important; font-size: 14px !important; line-height: 1.4; font-weight: 700 !important; text-transform: none !important; }
.hyt-info-box .content-inner { color: #5e5956; font-size: 13px; line-height: 1.65; }
.hyt-info-box .content-inner p { margin: 0 0 5px !important; color: inherit !important; font-size: inherit !important; }
.hyt-info-box .content-inner p:last-child { margin-bottom: 0 !important; }
.hyt-info-box .content-inner ul { margin: 4px 0 0; counter-reset: none !important; }
.hyt-info-box .content-inner ul li { min-height: 0 !important; padding: 2px 0 2px 16px !important; line-height: 1.55 !important; color: #5e5956 !important; font-size: 13px !important; }
.hyt-info-box .content-inner ul li::before { content: "•" !important; counter-increment: none !important; position: absolute !important; left: 1px !important; top: 2px !important; width: auto !important; height: auto !important; border-radius: 0 !important; background: none !important; color: var(--hyt-wine) !important; font-size: 16px !important; line-height: 1.3 !important; }
.hyt-info-box .content-inner a { color: var(--hyt-wine) !important; text-decoration: underline; text-underline-offset: 2px; }
.hyt-info-box--promotion { background: #fcf9f5 !important; border-color: #eadfce !important; }
.hyt-info-box--promotion .hyt-info-box__icon { color: #80643a; border-color: #eadbc3; }

/* Quantity + actions */
.hyt-purchase-row { display: flex; align-items: center; gap: 12px; margin: 18px 0 10px; }
.hyt-quantity { display: grid; grid-template-columns: 38px 44px 38px; height: 44px; border: 1px solid #d7d1ce; border-radius: 9px; overflow: hidden; background: #fff; }
.hyt-quantity button, .hyt-quantity input { width: 100%; min-width: 0; border: 0; background: transparent; color: var(--hyt-ink); text-align: center; font-size: 16px; outline: 0; }
.hyt-quantity button { cursor: pointer; font-size: 20px; color: #625d5a; }
.hyt-quantity button:hover { background: #f7f5f4; color: var(--hyt-ink); }
.hyt-quantity input { appearance: textfield; -moz-appearance: textfield; }
.hyt-quantity input::-webkit-outer-spin-button, .hyt-quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hyt-stock-note { color: #7b7572; font-size: 12.5px; }

.hyt-product-summary .hyt-action-group { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 !important; }
.hyt-product-summary .hyt-action-group > div { width: auto !important; flex-basis: auto !important; margin: 0 !important; }
.hyt-product-summary .hyt-action-group a { min-height: 50px; border-radius: 9px; display: flex !important; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px !important; text-align: center; font-size: 15px !important; line-height: 1.2; font-weight: 700 !important; text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
.hyt-product-summary .hyt-action-group .add-to-cart a { background: #fff !important; border: 1.5px solid var(--hyt-ink) !important; color: var(--hyt-ink) !important; }
.hyt-product-summary .hyt-action-group .add-to-cart a:hover { background: #f7f7f7 !important; }
.hyt-product-summary .hyt-action-group .add-to-cart.added a { border-color: var(--hyt-ink) !important; color: var(--hyt-ink) !important; }
.hyt-product-summary .hyt-action-group .add-to-buy-now a { background: var(--hyt-ink) !important; border: 1.5px solid var(--hyt-ink) !important; color: #fff !important; }
.hyt-product-summary .hyt-action-group .add-to-buy-now a:hover { background: #2b2b2b !important; border-color: #2b2b2b !important; }
.hyt-product-summary .hyt-action-group .call-hotline { grid-column: 1 / -1; }
.hyt-product-summary .hyt-action-group .call-hotline a { background: #fff !important; border: 1px solid #d9d2cf !important; color: #45403e !important; }
.hyt-product-summary .hyt-action-group .call-hotline a:hover { border-color: var(--hyt-wine) !important; color: var(--hyt-wine) !important; }
.hyt-product-summary .hyt-action-group a svg { width: 19px; height: 19px; }
.hyt-product-summary .hyt-action-group a.loading { opacity: .55; cursor: wait; }

/* Elegant service mini-grid */
.hyt-service-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 15px; overflow: hidden; border: 1px solid var(--hyt-line); border-radius: 10px; background: var(--hyt-line); }
.hyt-service-mini { min-height: 72px; padding: 12px 13px; display: flex; align-items: center; gap: 10px; background: #fff; }
.hyt-service-mini__icon { width: 34px; height: 34px; flex: 0 0 34px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--hyt-blush); color: var(--hyt-wine); }
.hyt-service-mini:nth-child(2n) .hyt-service-mini__icon { background: #f7f1e8; color: #856b43; }
.hyt-service-mini__icon svg { width: 18px; height: 18px; }
.hyt-service-mini strong { display: block; margin-bottom: 2px; color: var(--hyt-ink); font-size: 12.5px; line-height: 1.3; font-weight: 700; }
.hyt-service-mini small { display: block; color: #88817e; font-size: 11px; line-height: 1.35; }

/* Flower group chips */
.hyt-product-groups { padding: 0 0 32px; background: #fff; }
.hyt-product-groups__inner { padding: 20px 0; border-top: 1px solid var(--hyt-line); border-bottom: 1px solid var(--hyt-line); display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 22px; align-items: center; }
.hyt-product-groups h2 { margin: 0; color: var(--hyt-ink); font-size: 15px; font-weight: 700; }
.hyt-product-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.hyt-product-tags a { display: inline-flex; min-height: 34px; padding: 7px 13px; border: 1px solid #ddd6d2; border-radius: 999px; background: #fff; color: #4c4745; align-items: center; font-size: 12.5px; }
.hyt-product-tags a:hover { border-color: var(--hyt-ink); color: var(--hyt-ink); }

/* Product long description */
.hyt-product-description { padding: 8px 0 54px; background: #fff; }
.hyt-product-description__inner { border-top: 1px solid var(--hyt-line); padding-top: 30px; }
.hyt-product-description__heading { margin-bottom: 24px; }
.hyt-product-description__heading span { display: block; margin-bottom: 5px; color: var(--hyt-wine); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.hyt-product-description__heading h2 { margin: 0; color: var(--hyt-ink); font-size: 22px; line-height: 1.3; font-weight: 700; }
.hyt-product-description__content { width: 100%; max-width: 980px; color: #514c49; font-size: 14px; line-height: 1.8; }
.hyt-product-description__content h2, .hyt-product-description__content h3, .hyt-product-description__content h4 { margin: 24px 0 10px; color: var(--hyt-ink); line-height: 1.35; }
.hyt-product-description__content h2 { font-size: 21px; }
.hyt-product-description__content h3 { font-size: 18px; }
.hyt-product-description__content h4 { font-size: 15px; }
.hyt-product-description__content p { margin: 0 0 12px; }
.hyt-product-description__content ul, .hyt-product-description__content ol { margin: 8px 0 14px 20px; }
.hyt-product-description__content li { list-style: disc; margin: 4px 0; }
.hyt-product-description__content img { border-radius: 8px; }

/* Related products: keep legacy cards functional, make section cleaner. */
.hyt-related-products { padding: 40px 0 58px; background: #faf9f8; }
.hyt-related-products .box-heading { margin-bottom: 10px; border: 0; }
.hyt-related-products .box-heading h2 { margin: 0; color: var(--hyt-ink) !important; font-size: 22px !important; font-weight: 700 !important; text-transform: none !important; }
.hyt-related-products .list-inner ul { gap: 14px 0; }
.hyt-related-products .list-inner ul li { padding-right: 14px !important; }
.hyt-related-products .list-inner ul li .image { border: 1px solid var(--hyt-line) !important; background: #fff; }
.hyt-related-products .list-inner ul li .info { border: 1px solid var(--hyt-line) !important; border-top: 0 !important; background: #fff; }
.hyt-related-products .view-more a { border: 1px solid var(--hyt-ink); border-radius: 999px; padding: 0 22px; color: var(--hyt-ink) !important; background: #fff; }
.hyt-related-products .view-more a::after { display: none; }
.hyt-related-products .view-more a:hover { background: var(--hyt-ink) !important; color: #fff !important; }

@media (max-width: 1100px) {
    body.single-product .container { max-width: calc(100% - 36px); }
    .hyt-single-product .hyt-product-main { gap: 34px; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
    .hyt-product-summary h1 { font-size: 26px !important; }
    .hyt-product-summary .price-wrapper span.amount { font-size: 27px !important; }
    .hyt-service-mini { padding: 10px; }
}

@media (max-width: 820px) {
    .hyt-product-breadcrumb { padding-top: 16px; }
    .hyt-product-breadcrumb .current { display: none; }
    .hyt-single-product { padding-bottom: 36px; }
    .hyt-single-product .hyt-product-main { grid-template-columns: 1fr; gap: 28px; }
    .hyt-product-gallery { max-width: 620px; width: 100% !important; margin: 0 auto; }
    .hyt-product-summary { margin-top: 0 !important; }
    .hyt-product-groups__inner { grid-template-columns: 1fr; gap: 12px; }
    .hyt-related-products .list-inner ul li { width: 50% !important; flex-basis: 50% !important; }
}

@media (max-width: 560px) {
    body.single-product .container { max-width: calc(100% - 28px); }
    .hyt-product-breadcrumb { padding: 12px 0 8px; }
    .hyt-product-breadcrumb ul { font-size: 11.5px; gap: 5px; }
    .hyt-product-breadcrumb ul li + li::before { margin-right: 5px; }
    .hyt-single-product { padding-top: 4px; }
    .hyt-product-gallery .slider-product-wrapper { border-radius: 10px; }
    .hyt-product-gallery .slider-control > a { width: 36px !important; height: 36px !important; margin-top: -18px; }
    .hyt-product-gallery .slider-control > a.prev { left: 9px !important; }
    .hyt-product-gallery .slider-control > a.next { right: 9px !important; }
    .hyt-product-gallery .slider-product-thumbnail > .slider-inner > ul > li { margin-right: 6px !important; }
    .hyt-product-summary h1 { font-size: 23px !important; }
    .hyt-product-meta-row { font-size: 12px; gap: 6px 10px; }
    .hyt-rating { width: 100%; }
    .hyt-product-meta-row > span + span { padding-left: 10px; }
    .hyt-product-summary .price-wrapper span.amount { font-size: 26px !important; }
    .hyt-product-summary .price-wrapper del span.amount { font-size: 14px !important; }
    .hyt-product-summary .hyt-info-box { grid-template-columns: 31px minmax(0,1fr); gap: 9px; padding: 12px !important; }
    .hyt-info-box__icon { width: 30px; height: 30px; }
    .hyt-product-summary .hyt-action-group { grid-template-columns: 1fr; }
    .hyt-product-summary .hyt-action-group .call-hotline { grid-column: auto; }
    .hyt-product-summary .hyt-action-group a { min-height: 48px; }
    .hyt-service-mini-grid { grid-template-columns: 1fr; }
    .hyt-service-mini { min-height: 64px; }
    .hyt-product-tags { gap: 6px; }
    .hyt-product-tags a { min-height: 32px; padding: 6px 11px; font-size: 12px; }
    .hyt-product-description { padding-bottom: 38px; }
    .hyt-product-description__heading h2 { font-size: 20px; }
    .hyt-related-products { padding: 32px 0 42px; }
    .hyt-related-products .list-inner ul li { padding-right: 8px !important; }
}


/* v1.5.40 responsive specificity overrides */
@media (max-width: 1100px) {
    body.single-product section.content-single-product.hyt-single-product > .container.hyt-product-main {
        grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
        gap: 34px !important;
    }
}

@media (max-width: 820px) {
    body.single-product section.content-single-product.hyt-single-product > .container.hyt-product-main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 28px !important;
        flex-wrap: nowrap !important;
    }
    body.single-product section.content-single-product.hyt-single-product .product-image-wrapper.hyt-product-gallery {
        width: 100% !important;
        max-width: 620px !important;
        margin: 0 auto !important;
    }
    body.single-product section.content-single-product.hyt-single-product .product-summary.hyt-product-summary {
        width: 100% !important;
        margin: 0 !important;
    }
}
