/* Monrespro storefront calculator — theme-neutral, inherits WooCommerce styles. */
/* Some themes override the HTML `hidden` attribute (e.g. display:block on rows),
   which would reveal every collection option at once. Force it to hide. */
.mrp-calc [hidden],
.mrp-locker [hidden],
.mrp-calc [data-mrp-collect-intl][hidden],
.mrp-calc [data-mrp-collect-domestic][hidden] { display: none !important; }
.mrp-calc { max-width: 640px; margin: 0 auto; }
.mrp-calc__title { margin: 0 0 .75em; font-size: 1.25rem; }
.mrp-calc__form { display: flex; flex-direction: column; gap: 1rem; }
.mrp-calc__row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; }
.mrp-calc__row > label,
.mrp-calc__row > div { flex: 1 1 200px; display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; }
.mrp-calc__form input,
.mrp-calc__form select { width: 100%; padding: .5rem .6rem; border: 1px solid #ccc; border-radius: 6px; font: inherit; }
.mrp-calc__dimgrp { display: flex; gap: .5rem; }
.mrp-calc__dimgrp input { text-align: center; }
.mrp-calc__submit { justify-content: flex-end; }

/* Neutralize aggressive theme button styles: keep buttons a normal size
   regardless of the active theme (some themes force huge min-heights). */
.mrp-calc button,
.mrp-calc .button {
    width: auto;
    min-width: 0;
    min-height: 0;
    height: auto;
    line-height: 1.3;
    padding: .55rem 1.1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-sizing: border-box;
}
.mrp-calc__submit .button { width: 100%; }
.mrp-calc__results { margin-top: 1.25rem; }
.mrp-calc__loading,
.mrp-calc__empty { color: #666; font-style: italic; }
.mrp-calc__note { margin: .25rem 0 0; color: #b5561a; font-size: .85rem; }
.mrp-calc__rates { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.mrp-calc__rate { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem; border: 1px solid #e3e3e3; border-radius: 8px; background: #fafafa; }
.mrp-calc__rate-name { font-weight: 600; display: flex; flex-direction: column; }
.mrp-calc__days { font-weight: 400; font-size: .8rem; color: #777; }
.mrp-calc__rate-price { font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.mrp-calc__rate-actions { display: flex; align-items: center; gap: .75rem; }
.mrp-calc__ship { white-space: nowrap; }
@media (prefers-color-scheme: dark) {
    .mrp-calc__rate { background: #1e1e1e; border-color: #333; }
    .mrp-calc__form input, .mrp-calc__form select { background: #111; border-color: #444; color: #eee; }
}

/* Fulfilment (drop-off / home pickup) */
.mrp-calc__fulfil { margin-top: 1rem; border: 1px solid #e3e3e3; border-radius: 8px; padding: .75rem 1rem 1rem; }
.mrp-calc__fulfil legend { font-weight: 600; padding: 0 .4rem; font-size: .9rem; }
.mrp-calc__radios { gap: 1.25rem; }
.mrp-calc__radio { display: inline-flex; align-items: center; gap: .4rem; font-weight: 400; cursor: pointer; }
.mrp-calc__radio input { width: auto; margin: 0; }
@media (prefers-color-scheme: dark) {
    .mrp-calc__fulfil { border-color: #333; }
}
.mrp-calc__fee { color: #666; font-size: .85rem; }
.mrp-calc__hub { margin: 0; font-size: .9rem; line-height: 1.4; }
.mrp-calc__hub span { white-space: pre-line; }
@media (prefers-color-scheme: dark) { .mrp-calc__fee { color: #aaa; } }

/* Virtual-locker widget */
.mrp-locker__addr { margin: 1rem 0; }
.mrp-locker__addr-label { font-weight: 600; margin-bottom: .35rem; }
.mrp-locker__addr-box { background: #fafafa; border: 1px solid #e3e3e3; border-radius: 8px; padding: .75rem 1rem; margin: 0 0 .5rem; white-space: pre-line; font-family: inherit; font-size: .95rem; }
.mrp-locker__how { background: #f4f8ff; border-radius: 8px; padding: .75rem 1rem; font-size: .9rem; margin-bottom: 1rem; }
.mrp-locker__how p { margin: .35rem 0 0; }
.mrp-locker__form h4, .mrp-locker__pa-wrap h4 { margin: 1rem 0 .5rem; }
.mrp-locker__pa { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .5rem; }
.mrp-locker__pa-item { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .6rem .9rem; border: 1px solid #e3e3e3; border-radius: 8px; background: #fafafa; }
.mrp-locker__pa-main { display: flex; flex-direction: column; }
.mrp-locker__pa-desc { color: #777; font-size: .85rem; }
.mrp-locker__pa-status { font-size: .8rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; background: #eee; white-space: nowrap; }
.mrp-locker__pa-status[data-st="converted"] { background: #d7f5dd; }
.mrp-locker__pa-status[data-st="cancelled"] { background: #f5d7d7; }
.mrp-locker__pa-status[data-st="received"], .mrp-locker__pa-status[data-st="processing"] { background: #fff0cc; }
@media (prefers-color-scheme: dark) {
    .mrp-locker__addr-box, .mrp-locker__pa-item { background: #1e1e1e; border-color: #333; }
    .mrp-locker__how { background: #16202e; }
    .mrp-locker__pa-status { background: #333; }
}

/* Multiple consolidation hubs */
.mrp-locker__hub { margin-bottom: .9rem; }
.mrp-locker__hub-name { font-weight: 600; margin-bottom: .25rem; }
.mrp-calc__hub-addr { white-space: pre-line; }
