/**
 * Restaurant Digital Menu — Public CSS
 * Version: 1.0.0
 *
 * RULE: Never declare a property here that an Elementor control also sets.
 * Only structural / layout properties live here.
 * Visual defaults (colors, padding, typography) live in control defaults.
 */

/* ── Widget container ──────────────────────────────────────── */
.rdm-menu-wrap {
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

/* ── Standalone Language Switcher widget ───────────────────── */
.rdm-ls-wrap {
    display:     flex;
    flex-wrap:   wrap;
    align-items: center;
    /* gap, justify-content set by Elementor controls */
}

/* ── Language switcher (inside menu widget OR standalone) ───── */
.rdm-lang-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.rdm-lang-btn {
    display:     inline-flex;
    align-items: center;
    gap:         6px;
    cursor:      pointer;
    border:      none;
    transition:  background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    line-height: 1.4;
}

.rdm-lang-btn .fi {
    width:         1.4em;
    height:        1.05em;
    border-radius: 2px;
    box-shadow:    0 0 1px rgba(0,0,0,.25);
    flex-shrink:   0;
}

.rdm-lang-btn:focus-visible {
    outline:        2px solid currentColor;
    outline-offset: 2px;
}

/* ── Category block ────────────────────────────────────────── */
.rdm-category-block {
    width: 100%;
}

.rdm-category-title {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

/* ── Table wrapper ─────────────────────────────────────────── */
.rdm-table-wrap {
    width:    100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    /* All border/radius/shadow written by widget inline <style> — zero baseline */
    border:        0 solid transparent;
    border-radius: 0;
}

/* ── Table ─────────────────────────────────────────────────── */
.rdm-menu-table {
    width:           100%;
    border-collapse: separate;
    border-spacing:  0;
    table-layout:    fixed;
    border:          0 solid transparent; /* kill UA stylesheet table border */
}

/* ── All td: zero borders as absolute baseline ─────────────── */
.rdm-menu-table td {
    border-top:    0 solid transparent;
    border-right:  0 solid transparent;
    border-bottom: 0 solid transparent;
    border-left:   0 solid transparent;
    vertical-align: top;
    transition: background-color 0.15s ease;
}

.rdm-menu-table thead td {
    vertical-align: middle;
    font-weight:    600;
}

/* ── Column widths ─────────────────────────────────────────── */
.rdm-col-img {
    width: 64px;
    flex-shrink: 0;
}

.rdm-col-item {
    /* grows to fill available space */
}

.rdm-col-price {
    text-align: right;
    white-space: nowrap;
}

/* ── Item image ────────────────────────────────────────────── */
.rdm-item-img {
    display: block;
    width: 56px;
    height: 56px;
    object-fit: cover;
    border-radius: 4px;
}

/* ── Item content ──────────────────────────────────────────── */
.rdm-lang-block {
    /* structural only */
}

.rdm-item-name {
    display: block;
    word-break: break-word;
}

.rdm-item-desc {
    display: block;
    word-break: break-word;
}

/* ── Price ─────────────────────────────────────────────────── */
.rdm-item-price {
    display: inline-block;
    white-space: nowrap;
}

/* ── Vegan badge ───────────────────────────────────────────── */
.rdm-vegan-badge {
    display:         inline-flex;
    align-items:     center;
    gap:             3px;
    font-size:       0.7em;
    font-weight:     700;
    color:           #166534;
    background:      #dcfce7;
    border:          1px solid #86efac;
    padding:         1px 5px 1px 3px;
    border-radius:   3px;
    vertical-align:  middle;
    letter-spacing:  0.02em;
    line-height:     1.4;
    white-space:     nowrap;
    margin-right:    5px;
    margin-left:     0;
    position:        relative;
    top:             -1px;
}

/* After-name position: badges appear last, flip margins */
.rdm-item-name .rdm-vegan-badge:last-child,
.rdm-item-name .rdm-badge2:last-child {
    margin-right: 0;
    margin-left:  4px;
}

/* Icon-only: just the leaf circle, no text */
.rdm-vegan-badge.rdm-vegan-icon-only {
    padding:       3px;
    gap:           0;
    border-radius: 50%;
    margin-right:  4px;
}

.rdm-vegan-icon {
    width:       1.1em;
    height:      1.1em;
    flex-shrink: 0;
    color:       #16a34a;
}

/* ── Badge 2 ────────────────────────────────────────────────── */
.rdm-badge2 {
    display:        inline-flex;
    align-items:    center;
    gap:            3px;
    font-size:      0.7em;
    font-weight:    700;
    color:          #ffffff;
    background:     #ef4444;
    border:         1px solid #fca5a5;
    padding:        1px 5px 1px 3px;
    border-radius:  3px;
    vertical-align: middle;
    letter-spacing: 0.02em;
    line-height:    1.4;
    white-space:    nowrap;
    margin-right:   5px;
    position:       relative;
    top:            -1px;
}

.rdm-badge2.rdm-badge2-icon-only {
    padding:       3px;
    gap:           0;
    border-radius: 50%;
    margin-right:  4px;
}

.rdm-badge-icon {
    width:       1.1em;
    height:      1.1em;
    flex-shrink: 0;
    color:       currentColor;
}

.rdm-badge-icon-img {
    width:       1.1em;
    height:      1.1em;
    flex-shrink: 0;
    object-fit:  contain;
    display:     inline-block;
}

.rdm-custom-icon {
    width:      1.1em;
    height:     1.1em;
    object-fit: contain;
    flex-shrink:0;
}

/* ── No items ──────────────────────────────────────────────── */
.rdm-no-items {
    margin: 0;
    padding: 12px 0;
    font-style: italic;
    opacity: 0.6;
}

/* ── Mobile ────────────────────────────────────────────────── */
@media (max-width: 767px) {
    .rdm-col-img {
        width: 44px;
    }
    .rdm-item-img {
        width: 40px;
        height: 40px;
    }
    .rdm-lang-switcher {
        gap: 6px;
    }
}
