/* Field groups own their spacing; control margins do not affect alignment. */
.shop-main:has(.catalog-filters){display:flex;flex-direction:column;gap:20px}
.shop-main:has(.catalog-filters)>.shop-intro,.shop-main:has(.catalog-filters)>.catalog-filters,.shop-main:has(.catalog-filters)>.listing-head{margin:0}
.catalog-filters{padding:0;border:0}
.catalog-filters .shop-filters{margin:0;gap:16px;align-items:end}
.shop-filters>label,.set-components>label,.product-list>label,.service-pricing-settings>label:first-child{display:grid;gap:8px;min-width:0;margin:0}
.shop-filters>label>input,.shop-filters>label>select,.shop-filters .corei-select,.product-list>label>input,.product-list>label>select,.product-list .corei-select,.service-pricing-settings select,.service-pricing-settings .corei-select{margin:0}
.listing-head{gap:16px;flex-wrap:wrap}
.listing-head>p{margin:0}
#product-form,#checkout-form{display:grid;gap:12px}
#product-form>label,#checkout-form>label{margin:0}
#product-form>input,#product-form>textarea,#checkout-form>input,#checkout-form>textarea{margin:0}
#product-form>.shop-stepper{margin:0}
#product-form>.shop-help,#product-form>#product-status,#checkout-form>.shop-help,#checkout-status{margin:0}
.shop-main #product-options{display:grid;gap:8px}
.shop-main #product-options>label{margin:8px 0 0}
.shop-main #product-options>label:first-child{margin-top:0}
.shop-main #product-options>select,.shop-main #product-options>.corei-select,.shop-main #product-options>.shop-help{margin:0}
.set-components{display:grid;gap:16px;margin:8px 0 0;padding:16px}
.set-components label{margin:0}
.set-components select,.set-components .corei-select{margin:0}
#checkout-form>label:not(:first-child){margin-top:6px}
.cart-summary #cart-total{margin:6px 0}
.contact #brief-form{display:grid;gap:12px}
.contact #brief-form>label,.contact #brief-form>select,.contact #brief-form>textarea,.contact #brief-form>.corei-select,.contact #brief-form>#form-status{margin:0}
.option-section{display:grid;gap:12px}
.option-section>h3,.option-section>label,.option-section>.two-cols,.option-section>.section-hint,.option-section>.field-error{margin:0}
.option-section>h3{margin-bottom:2px}
.option-section>label:not(:first-child){margin-top:4px}
.option-section>.two-cols>div,.option-section>#institution-field,.option-section>#fabric-field,#embroidery-options,#text-field{display:grid;gap:8px;min-width:0}
.option-section>.two-cols>div>label,.option-section>#institution-field>label,.option-section>#fabric-field>label,#embroidery-options>label,#text-field>label{margin:0}
#embroidery-options{gap:12px}
#embroidery-options>.design-mode,#embroidery-options>.dimensions-heading,#embroidery-options>.dimension-row{margin:0}
#embroidery-options>.dimensions-heading{gap:12px}
.field{display:grid;align-content:start;gap:8px;min-width:0}
.field>label,.field>small,.field>.field-error,.field label input,.field label select,.field label textarea,.management-main .field label input,.management-main .field label select,.management-main .field label textarea,.catalog-admin .field label input{margin:0}
.field>label:has(input:not([type=checkbox]),select,textarea){display:grid;gap:8px}
.field>.field-error:empty,.field>small:empty,.option-section>.field-error:empty{display:none}
.management-main .product-list{display:flex;flex-direction:column;gap:12px}
.product-list #product-list-count{margin:0}
.quote-search{gap:12px;margin:20px 0}
.quote-search>label{display:grid;gap:8px;margin:0}
.quote-search>label>input{margin:0}
@media(min-width:701px){.catalog-filters>summary{display:none}}
@media(max-width:750px){.management-main .product-list{display:grid;gap:12px}.management-main .product-list>label:first-child{grid-column:1/-1}}
@media(max-width:700px){
 .shop-main:has(.catalog-filters){gap:16px}
 .catalog-filters{border-bottom:1px solid #ddd;padding-bottom:8px}
 .catalog-filters .shop-filters{margin:8px 0;gap:12px}
 .catalog-filters .shop-filters>label:first-child,.catalog-filters .shop-filters>.shop-button{grid-column:1/-1}
 .catalog-filters>summary{padding:0;gap:12px}
 .listing-head{gap:8px 14px}
 .option-section{gap:12px}
 .set-components{gap:12px;padding:12px}
}
@media(max-width:420px){.catalog-filters .shop-filters{grid-template-columns:minmax(0,1fr)}}
