/* Shared expanded states. Keep form semantics and the existing commercial layout. */
:root { --field-gap: 8px; --section-gap: 16px; --ui-border: #c6d1de; --ui-subtle: #f5f8fb; --ui-secondary: #485d75; }
main details { min-width: 0; }
main summary { overflow-wrap: anywhere; }
main :is(input, select, textarea, button, summary):focus-visible { outline: 3px solid #2475c7; outline-offset: 3px; }
main label:has(> select) { display: flex; flex-direction: column; align-items: stretch; gap: var(--field-gap); min-width: 0; }
main label > select { width: 100%; min-width: 0; max-width: 100%; }
.select-full-value, .product-select-value { display: block; min-width: 0; white-space: normal; overflow-wrap: anywhere; color: var(--ui-secondary); font-size: 13px; font-weight: 400; line-height: 1.5; }
.select-full-value[hidden], .product-select-value[hidden], .product-select-status[hidden] { display: none !important; }
.product-select-control { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--field-gap); min-width: 0; }
.product-select-control > :is(input, select) { width: 100%; min-width: 0; min-height: 44px; margin: 0; }
.product-select-control .product-select-status { margin: 0; padding: 8px 10px; border-radius: 6px; background: var(--ui-subtle); color: var(--ui-secondary); line-height: 1.5; }
.product-select-control.has-no-results .product-select-status { color: #7a4816; background: #fff4e5; }
.actions-menu-panel { white-space: normal; overflow-wrap: anywhere; }
.actions-menu-panel > form, .actions-menu-panel details > form { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; padding: 12px 0; margin: 0; border-top: 1px solid #e1e7ef; }
.actions-menu-panel :is(input, select, textarea):not([type=hidden]):not([type=checkbox]) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--ui-border); border-radius: 8px; font: inherit; background: #fff; color: #1c2d43; }
.actions-menu-panel label { display: grid; gap: 8px; margin: 0; }
.actions-menu-panel > a, .actions-menu-panel button { min-height: 44px; line-height: 1.4; }
.actions-menu-panel .menu-danger { margin-top: 8px; padding-top: 8px; border-top: 1px solid #ead9d9; }
.actions-menu[open] > .actions-menu-panel:not(.actions-menu-floating) { position: static; width: min(22rem, 100%); max-width: 100%; }
body.manager-cabinet .actions-menu-floating { width: min(22rem, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 16px; overscroll-behavior: contain; }
body.manager-cabinet .manager-actions details[open] > .django-form:not(.lot-create-compact) { gap: 20px; }
body.manager-cabinet .django-form > div { min-width: 0; }
body.manager-cabinet .django-form > div > label { display: block; margin-bottom: 8px; }
body.manager-cabinet .lot-create-compact .lot-field > label { font-size: 14px; line-height: 1.45; }
body.manager-cabinet .lot-create-compact .lot-primary-fields { gap: 16px; align-items: start; }
body.manager-cabinet .lot-create-compact > details { margin-top: 16px; background: #fff; }
body.manager-cabinet .lot-create-compact > details > summary { justify-content: flex-start; gap: 8px 12px; padding: 14px 16px; font-size: 14px; line-height: 1.5; }
body.manager-cabinet .lot-create-compact > details > summary > b { flex: 1 1 auto; }
body.manager-cabinet .lot-create-compact > details > summary > span { color: var(--ui-secondary); font-size: 13px; }
body.manager-cabinet .lot-create-compact .lot-extra-body { padding: 16px; background: var(--ui-subtle); }
body.manager-cabinet .lot-create-compact .lot-extra-body > .lot-step-grid { gap: 20px; }
.catalog-filter-fields > label { color: var(--ui-secondary); font-size: 13px; font-weight: 600; }
.catalog-filter-fields [hidden], .catalog-more-fields [hidden] { display: none !important; }
.catalog-filter-pending { grid-column: 1 / -1; margin: 0; color: var(--ui-secondary); font-size: 13px; line-height: 1.5; }
.catalog-filter-fields > label > select { min-height: 44px; padding: 10px 12px; border: 1px solid var(--ui-border); border-radius: 8px; font: inherit; background: white; color: #1c2d43; }
.catalog-more-filters[open] > summary { margin-bottom: 12px; }
.catalogue-contact[open] > label { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
/* Reference flowers have different source ratios. Show the whole reference,
   while batch-photo presentation keeps its existing behavior. */
.trade-grid .trade-photo img[data-product-reference],
.main-lot-photo img[data-product-reference],
.upcoming-photo img[data-product-reference] { object-fit: contain; object-position: center; padding: 8px; box-sizing: border-box; background: #fff; }
@media (max-width: 600px) {
 .trade-grid.list-view .trade-card { display: flex; flex-direction: column; }
 .trade-grid.list-view .trade-photo { width: 100%; height: 220px; min-height: 0; max-height: 220px; flex: 0 0 auto; }
 .trade-grid.list-view .trade-card-body { display: flex; flex-direction: column; gap: 10px; padding: 16px; }
 .trade-grid.list-view .trade-card-body > * { width: 100%; min-width: 0; }
 body.manager-cabinet .lot-create-compact .lot-primary-fields { grid-template-columns: minmax(0,1fr); gap: 16px; }
 body.manager-cabinet .lot-create-compact .lot-primary-fields > .lot-field { grid-column: 1 / -1 !important; }
 body.manager-cabinet .lot-create-compact > details > summary { padding: 12px; }
 body.manager-cabinet .lot-create-compact > details > summary > span { flex-basis: 100%; margin-left: 22px; }
 body.manager-cabinet .lot-create-compact .lot-extra-body { padding: 12px; }
 main label > select, .product-select-control > :is(input,select) { font-size: 16px; }
}
