/*
 * Hempli Product Tabs
 * Keeps the original WooCommerce tabs and panel IDs intact.
 */

:root {
    --hempli-tabs-bg: #fbfaf7;
    --hempli-tabs-head-bg: #f2eee6;
    --hempli-tabs-border: #d8d1c4;
    --hempli-tabs-accent: #58793C;
    --hempli-tabs-text: #1b211e;
    --hempli-tabs-muted: #65706a;
}

.elementor-widget-woocommerce-product-data-tabs,
.elementor-widget-woocommerce-product-data-tabs > .elementor-widget-container,
.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper {
    margin: 24px 0 !important;
    color: var(--hempli-tabs-text);
}


/* Desktop tabs */
@media (min-width: 769px) {
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
        display: flex !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid var(--hempli-tabs-border) !important;
        border-bottom: 1px solid var(--hempli-tabs-border) !important;
        border-radius: 8px 8px 0 0 !important;
        overflow: hidden !important;
        background: var(--hempli-tabs-head-bg) !important;
        box-sizing: border-box !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::before,
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs::after {
        display: none !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--hempli-tabs-head-bg) !important;
        text-align: center !important;
        box-shadow: none !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li::before,
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li::after {
        display: none !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li + li {
        border-left: 1px solid var(--hempli-tabs-border) !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li a {
        display: block !important;
        width: 100% !important;
        padding: 16px 12px !important;
        color: var(--hempli-tabs-text) !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
        box-sizing: border-box !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li.active {
        background: var(--hempli-tabs-head-bg) !important;
        box-shadow: inset 0 -2px 0 var(--hempli-tabs-accent) !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li.active a,
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li a:hover,
    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs li a:focus {
        color: var(--hempli-tabs-accent) !important;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 28px 26px !important;
        border: 1px solid var(--hempli-tabs-border) !important;
        border-top: 0 !important;
        border-radius: 0 0 8px 8px !important;
        background: var(--hempli-tabs-bg) !important;
        color: var(--hempli-tabs-text) !important;
        font-size: 15px !important;
        line-height: 1.65 !important;
        box-sizing: border-box !important;
    }

    .woocommerce div.product .woocommerce-tabs.hempli-desktop-all-closed .woocommerce-Tabs-panel {
        display: none !important;
    }

    .hempli-mobile-tab-toggle {
        display: none !important;
    }
}

/* Mobile accordion using the existing WooCommerce panels */
@media (max-width: 768px) {
    .elementor-widget-woocommerce-product-data-tabs,
    .elementor-widget-woocommerce-product-data-tabs > .elementor-widget-container,
    .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: stretch !important;
    }

    .woocommerce div.product .woocommerce-tabs.wc-tabs-wrapper {
        margin-top: 0 !important;
        border: 1px solid var(--hempli-tabs-border) !important;
        border-radius: 9px !important;
        overflow: hidden !important;
        background: var(--hempli-tabs-head-bg) !important;
    }

    .woocommerce div.product .woocommerce-tabs ul.tabs.wc-tabs {
        display: none !important;
    }

    .woocommerce div.product .woocommerce-tabs .hempli-mobile-tab-toggle {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 17px 50px 17px 18px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--hempli-tabs-border) !important;
        border-radius: 0 !important;
        background: var(--hempli-tabs-head-bg) !important;
        color: var(--hempli-tabs-text) !important;
        text-align: left !important;
        font: inherit !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        cursor: pointer !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        appearance: none !important;
    }

    .woocommerce div.product .woocommerce-tabs .hempli-mobile-tab-toggle:last-of-type {
        border-bottom: 0 !important;
    }

    .woocommerce div.product .woocommerce-tabs .hempli-mobile-tab-toggle::after {
        content: "+";
        position: absolute;
        right: 19px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--hempli-tabs-accent);
        font-size: 21px;
        font-weight: 400;
        line-height: 1;
    }

    .woocommerce div.product .woocommerce-tabs .hempli-mobile-tab-toggle.is-open {
        color: var(--hempli-tabs-accent) !important;
        background: var(--hempli-tabs-head-bg) !important;
        border-bottom-color: var(--hempli-tabs-border) !important;
    }

    .woocommerce div.product .woocommerce-tabs .hempli-mobile-tab-toggle.is-open::after {
        content: "−";
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        display: none !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 22px 18px 26px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--hempli-tabs-border) !important;
        border-radius: 0 !important;
        background: var(--hempli-tabs-bg) !important;
        color: var(--hempli-tabs-text) !important;
        font-size: 14px !important;
        line-height: 1.6 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.hempli-mobile-panel-open {
        display: block !important;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel.hempli-mobile-panel-open + .hempli-mobile-tab-toggle {
        border-top: 0 !important;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
    }

    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel img,
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel iframe,
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel video {
        max-width: 100% !important;
        height: auto;
    }
}

/* Review summary */
.hempli-review-summary {
    display: grid;
    grid-template-columns: minmax(150px, 210px) minmax(280px, 1fr);
    gap: 34px;
    align-items: center;
    margin: 0 0 34px;
    padding: 24px;
    border: 1px solid var(--hempli-tabs-border);
    border-radius: 10px;
    background: #ffffff;
    color: var(--hempli-tabs-text);
}

.hempli-review-summary__score { font-size: clamp(56px, 7vw, 82px); font-weight: 800; line-height: .95; letter-spacing: -.05em; }
.hempli-review-summary__stars { margin-top: 12px; color: var(--hempli-tabs-accent); font-size: 24px; letter-spacing: 2px; line-height: 1; }
.hempli-review-summary__count { margin-top: 10px; color: var(--hempli-tabs-muted); font-size: 15px; }
.hempli-review-summary__row { display:grid; grid-template-columns:18px 18px minmax(120px,1fr) 34px; gap:8px; align-items:center; margin:8px 0; }
.hempli-review-summary__row-star { color:var(--hempli-tabs-accent); }
.hempli-review-summary__track { height:10px; overflow:hidden; border-radius:999px; background:#e6e1d8; }
.hempli-review-summary__fill { display:block; height:100%; min-width:0; border-radius:inherit; background:var(--hempli-tabs-accent); }
.hempli-review-summary__row-count { color:var(--hempli-tabs-muted); font-size:13px; text-align:right; }

@media (max-width: 650px) {
    .hempli-review-summary { grid-template-columns:1fr; gap:22px; padding:20px 16px; }
    .hempli-review-summary__score-block { text-align:center; }
    .hempli-review-summary__row { grid-template-columns:16px 16px minmax(80px,1fr) 28px; }
}

/* Existing Hempli review styling */
.woocommerce #reviews .star-rating span,
.woocommerce #reviews p.stars a,
.woocommerce #reviews .stars a { color:var(--hempli-tabs-accent) !important; }

.woocommerce #reviews #comments ol.commentlist li .comment-meta,
.woocommerce #reviews #comments ol.commentlist li .comment-meta *,
.woocommerce #reviews #comments ol.commentlist li .meta,
.woocommerce #reviews #comments ol.commentlist li .meta *,
.woocommerce-review__author,
.woocommerce-review__published-date,
.woocommerce-review__dash,
.woocommerce-review__verified { color:var(--hempli-tabs-text) !important; }

.woocommerce #reviews textarea#comment,
.woocommerce #review_form textarea#comment { color:var(--hempli-tabs-text) !important; caret-color:var(--hempli-tabs-text); }

.woocommerce #reviews textarea#comment::placeholder,
.woocommerce #review_form textarea#comment::placeholder { color:#8a918d; }

.woocommerce #review_form #submit { background:var(--hempli-tabs-accent) !important; color:#232325 !important; }
.woocommerce #review_form #submit:hover,
.woocommerce #review_form #submit:focus { background:#58793C !important; color:#232325 !important; }

/* Stored AI review summary inside the existing rating overview */
.hempli-review-summary__ai {
    grid-column: 1 / -1;
    position: relative;
    margin-top: 4px;
    padding: 20px 0 2px;
    border-top: 1px solid var(--hempli-tabs-border);
}

.hempli-review-summary__ai-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.35;
}

.hempli-review-summary__ai-heading strong {
    display: block;
    margin: 0;
}

.hempli-review-summary__ai-text {
    max-width: none;
    margin: 0;
    color: var(--hempli-tabs-text);
    font-size: 15px;
    line-height: 1.55;
}

.hempli-review-summary__ai-meta {
    margin: 8px 0 0;
    color: var(--hempli-tabs-muted);
    font-size: 12px;
    line-height: 1.45;
}

.hempli-review-summary__info-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.hempli-review-summary__info-button {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--hempli-tabs-accent);
    color: #232325;
    font: 800 12px/1 sans-serif;
    cursor: pointer;
    box-shadow: none;
}

.hempli-review-summary__info-button:hover,
.hempli-review-summary__info-button:focus-visible {
    background: #58793C;
    color: #232325;
    outline: 2px solid rgba(88,121,60,.28);
    outline-offset: 2px;
}

.hempli-review-summary__tooltip {
    position: absolute;
    z-index: 30;
    left: 0;
    top: calc(100% + 9px);
    width: min(390px, 78vw);
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 8px;
    background: #171819;
    box-shadow: 0 12px 30px rgba(0,0,0,.38);
    color: rgba(255,255,255,.92);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-3px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
}

.hempli-review-summary__info-wrap:hover .hempli-review-summary__tooltip,
.hempli-review-summary__info-wrap.is-open .hempli-review-summary__tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (max-width: 650px) {
    .hempli-review-summary__ai {
        padding-top: 17px;
    }

    .hempli-review-summary__ai-heading {
        align-items: center;
        font-size: 16px;
    }

    .hempli-review-summary__ai-text {
        font-size: 15px;
        line-height: 1.5;
    }

    .hempli-review-summary__tooltip {
        left: auto;
        right: -4px;
        width: min(310px, 78vw);
    }
}



/* Disclaimer inside the existing Info tab */
.woocommerce-tabs #tab-info .hempli-disclaimer,
.woocommerce-tabs #tab-additional_information .hempli-disclaimer{
width:100%;box-sizing:border-box;margin:24px 0 0;padding:20px 24px;border:1px solid rgba(35,35,37,.12);border-radius:10px;background:#f1eee7;color:#232325!important;font-size:14px;line-height:1.65}
.woocommerce-tabs #tab-info .hempli-disclaimer *,
.woocommerce-tabs #tab-additional_information .hempli-disclaimer *{color:#232325!important}
.woocommerce-tabs #tab-info .hempli-disclaimer strong,
.woocommerce-tabs #tab-additional_information .hempli-disclaimer strong{color:#58793C!important;font-weight:700}
@media (max-width:768px){
.woocommerce-tabs #tab-info .hempli-disclaimer,
.woocommerce-tabs #tab-additional_information .hempli-disclaimer{margin-top:18px;padding:17px 18px;font-size:13px;line-height:1.6}
}
