/* ── "What's in the Box" shared item row styles ──────────────────────────── */
/* Used by: ProductExtension (single product page) and Shortcodes (box grid)  */

/* ── Product page section wrapper ── */
.sol-box-menu-section {
    clear: both;
    margin: 2.5em 0;
    padding: 1.8em 2em 2em;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #d8e8d8;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* Header row */
.sol-box-menu-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75em;
    margin-bottom: 1.4em;
    padding-bottom: 1em;
    border-bottom: 1px solid #e8f0e8;
}
.sol-box-menu-title {
    font-size: 1.4em;
    font-weight: 700;
    color: #1a3a1a;
    margin: 0 0 .2em;
    line-height: 1.2;
}
.sol-box-menu-subtitle {
    font-size: .85em;
    color: #6a8a6a;
    margin: 0;
}
.sol-box-menu-date {
    font-size: 1.7em;
    color: #5a8a5a;
    font-weight: 600;
    white-space: nowrap;
    padding-top: .25em;
}

/* Two-column grid (product page only) */
.sol-box-menu-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5em;
}
@media (max-width: 600px) {
    .sol-box-menu-columns {
        grid-template-columns: 1fr;
    }
}

/* ── Individual item row (shared) ── */
.sol-box-menu-item {
    display: flex;
    align-items: center;
    gap: .75em;
    padding: .55em 0;
    border-bottom: 1px solid #f0f6f0;
}
.sol-box-menu-item:last-child {
    border-bottom: none;
}

/* Product thumbnail */
.sol-box-menu-item__img {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
}
.sol-box-menu-item__img img {
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: 8px;
    display: block;
}

/* Item name */
.sol-box-menu-item__name {
    flex: 1;
    font-weight: 700;
    font-size: 1.425em;
    color: #1a3a1a;
}

/* Local indicator dot */
.sol-box-menu-item__local {
    color: #5a8a5a;
    font-size: 1em;
    cursor: default;
}

/* Qty + unit */
.sol-box-menu-item__qty {
    flex-shrink: 0;
    font-size: 1.32em;
    color: #6a8a6a;
    text-align: right;
    white-space: nowrap;
}

/* Footnote */
.sol-box-menu-footnote {
    margin: 1em 0 0;
    font-size: .78em;
    color: #8aaa8a;
    font-style: italic;
}

/* Coming soon placeholder */
.sol-box-menu-coming-soon {
    color: #6a8a6a;
    font-style: italic;
    margin: 0;
}

/* ── Deliveries page "View items" toggle ─────────────────────────────────── */
/* Used by: AccountExtension (my-account/deliveries page)                     */

.sol-view-items-wrap {
    padding: .75em 1em;
}
.sol-view-items-toggle {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    font-size: 1.1em;
    font-weight: 600;
    color: #3a7a3a;
    text-decoration: none !important;
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    font-family: inherit;
}
.sol-view-items-toggle:hover {
    color: #1a5a1a;
    text-decoration: none !important;
    background: none !important;
}
.sol-view-items-toggle:focus,
.sol-view-items-toggle:active {
    color: #3a7a3a;
    text-decoration: none !important;
    background: none !important;
    outline: none;
    box-shadow: none;
}
.sol-view-items-count {
    color: #6a8a6a;
    font-weight: 400;
}
.sol-view-items-chevron {
    font-size: 1em;
    transition: transform .2s ease;
    display: inline-block;
}
.sol-view-items-toggle.is-open .sol-view-items-chevron {
    transform: rotate(180deg);
}
.sol-view-items-panel {
    margin-top: .75em;
    border-top: 1px solid #e8f0e8;
    padding-top: .75em;
}

/* Item rows inside the deliveries panel */
.sol-delivery-items-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.sol-delivery-item {
    display: flex;
    align-items: center;
    gap: .65em;
    padding: .45em 0;
    border-bottom: 1px solid #f0f6f0;
}
.sol-delivery-item:last-child {
    border-bottom: none;
}
.sol-delivery-item__img {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
}
.sol-delivery-item__img img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}
.sol-delivery-item__name {
    flex: 1;
    font-weight: 600;
    font-size: .92em;
    color: #1a3a1a;
}
.sol-delivery-item__local {
    color: #5a8a5a;
}
.sol-delivery-item__qty {
    flex-shrink: 0;
    font-size: .85em;
    color: #6a8a6a;
    text-align: right;
    white-space: nowrap;
}
.sol-delivery-items-footnote {
    font-size: .75em;
    color: #8aaa8a;
    font-style: italic;
    margin: .5em 0 0;
}
.sol-delivery-items-empty {
    font-size: .85em;
    color: #8aaa8a;
    font-style: italic;
    margin: 0;
}

/* ── Box grid flip-card back overrides ── */
.sol-box-grid-back {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.sol-box-grid-date {
    font-size: 1.1em;
    font-weight: 700;
    color: #5a8a5a;
    padding: .5em .75em .4em;
    border-bottom: 1px solid #e8f0e8;
    flex-shrink: 0;
}
.sol-box-menu-items-list {
    flex: 1;
    overflow-y: auto;
    padding: 0 .5em;
}
.sol-box-grid-back .sol-box-menu-item {
    gap: .6em;
    padding: .4em 0;
}
.sol-box-grid-back .sol-box-menu-item__img,
.sol-box-grid-back .sol-box-menu-item__img img {
    width: 40px;
    height: 40px;
}
.sol-box-grid-back .sol-box-menu-item__img img {
    border-radius: 6px;
}
.sol-box-grid-back .sol-box-menu-item__name {
    font-size: .95em;
    line-height: 1.3;
}
.sol-box-grid-back .sol-box-menu-item__qty {
    font-size: .85em;
}
.sol-box-grid-back .sol-box-menu-footnote {
    font-size: .72em;
    margin: .4em .5em 0;
    flex-shrink: 0;
}
