/* ChefMate Frontend Styles */
.chefmate-ingredients,
.chefmate-imperial-ingredients {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.chefmate-ingredients li,
.chefmate-imperial-ingredients li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
}

.chefmate-ingredients li:last-child,
.chefmate-imperial-ingredients li:last-child {
    margin-bottom: 0 !important;
}

/* ============================================================
   Section Headings inside Ingredients list
   – A default bottom border (line) is shown by default.
   – Elementor's native border/padding/margin controls
     will override these values per-widget-instance.
============================================================ */
.chefmate-section-heading {
    display: block;
    font-weight: 600;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 6px !important;
    margin: 14px 0 10px 0 !important;
    list-style: none !important;
}

/* ============================================================
   Nutrition sub-headings (section group headings inside grid)
   – A default bottom border (line) is shown by default.
   – Elementor's native border/padding/margin/typography
     controls will override these per-widget-instance.
============================================================ */
.chefmate-nutrition-subheading {
    display: block;
    grid-column: 1 / -1;
    width: 100%;
    font-weight: 600;
    border-bottom: 2px solid #e2e8f0;
    padding-bottom: 6px;
    margin: 14px 0 10px 0;
}

/* Timer Trigger */
.chefmate-timer-trigger {
    cursor: pointer;
}

/* ============================================================
   WYSIWYG Editor Standards
============================================================ */
img.aligncenter, .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    clear: both;
}
img.alignleft, .alignleft {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}
img.alignright, .alignright {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}
.wp-caption { max-width: 100%; }
.wp-caption-text { text-align: center; font-size: 0.85em; margin-top: 5px; }

/* WYSIWYG Heading Fixes */
.chefmate-step-description h1, .chefmate-description h1, .chefmate-faq-answer h1 { font-size: 2em; margin: 0.67em 0; font-weight: bold; }
.chefmate-step-description h2, .chefmate-description h2, .chefmate-faq-answer h2 { font-size: 1.5em; margin: 0.83em 0; font-weight: bold; }
.chefmate-step-description h3, .chefmate-description h3, .chefmate-faq-answer h3 { font-size: 1.17em; margin: 1em 0; font-weight: bold; }
.chefmate-step-description h4, .chefmate-description h4, .chefmate-faq-answer h4 { font-size: 1em; margin: 1.33em 0; font-weight: bold; }
.chefmate-step-description h5, .chefmate-description h5, .chefmate-faq-answer h5 { font-size: 0.83em; margin: 1.67em 0; font-weight: bold; }
.chefmate-step-description h6, .chefmate-description h6, .chefmate-faq-answer h6 { font-size: 0.67em; margin: 2.33em 0; font-weight: bold; }

/* WYSIWYG Bold & Italic Fixes */
.chefmate-step-description strong, .chefmate-description strong, .chefmate-faq-answer strong, .chefmate-excerpt strong, .chefmate-wine-description strong,
.chefmate-step-description b, .chefmate-description b, .chefmate-faq-answer b, .chefmate-excerpt b, .chefmate-wine-description b {
    font-weight: bold !important;
}
.chefmate-step-description em, .chefmate-description em, .chefmate-faq-answer em, .chefmate-excerpt em, .chefmate-wine-description em,
.chefmate-step-description i, .chefmate-description i, .chefmate-faq-answer i, .chefmate-excerpt i, .chefmate-wine-description i {
    font-style: italic !important;
}

/* ============================================================
   Time Slider Styling via CSS Variables
============================================================ */
.chefmate-time-slider-wrapper {
    position: relative;
    width: 100%;
    height: 40px;
    /* Defaults */
    --cm-track-bg: #e2e8f0;
    --cm-track-active: #3182ce;
    --cm-thumb-bg: #fff;
    --cm-thumb-border: #3182ce;
    --cm-thumb-size: 20px;
}

.chefmate-time-slider-wrapper input[type="range"] {
    position: absolute;
    width: 100%;
    -webkit-appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    top: 10px;
    border: none !important;
}

.chefmate-time-slider-wrapper input[type="range"]:focus {
    outline: none;
}

.chefmate-time-slider-wrapper input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px !important;
    background: var(--cm-track-bg) !important;
    border-radius: 2px;
}

.chefmate-time-slider-wrapper input[type="range"]::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: none;
    height: var(--cm-thumb-size) !important;
    width: var(--cm-thumb-size) !important;
    border-radius: 50%;
    background: var(--cm-thumb-bg) !important;
    border: 2px solid var(--cm-thumb-border) !important;
    margin-top: calc((var(--cm-thumb-size) / -2) + 2px) !important;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.chefmate-time-slider-wrapper input[type="range"]::-moz-range-track {
    width: 100%;
    height: 4px !important;
    background: var(--cm-track-bg) !important;
    border-radius: 2px;
}

.chefmate-time-slider-wrapper input[type="range"]::-moz-range-thumb {
    pointer-events: auto;
    height: var(--cm-thumb-size) !important;
    width: var(--cm-thumb-size) !important;
    border-radius: 50%;
    background: var(--cm-thumb-bg) !important;
    border: 2px solid var(--cm-thumb-border) !important;
    cursor: pointer;
}