/* MISTEC Rental Network — Porto integration.
 * Porto owns fonts, heading sizes, button/input skins and container width.
 * This stylesheet only arranges the rental interface.
 */
.mrn { width:100%; margin:0; font-family:inherit; color:inherit; line-height:inherit; }
.mrn *, .mrn *::before, .mrn *::after { box-sizing:border-box; }
.mrn-hero { padding:1.5rem 0; margin-bottom:1.5rem; }
.mrn-hero > span, .mrn-inquiry > span { display:block; margin-bottom:.75rem; }
.mrn-hero h2 { margin:0 0 1rem; }
.mrn-hero p { margin:0; }
.mrn-search { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:end; padding:1.25rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; }
.mrn label { display:block; margin:0; }
.mrn input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]), .mrn select, .mrn textarea { display:block; width:100%; max-width:100%; margin-top:.375rem; font-family:inherit; }
.mrn input[type=checkbox], .mrn input[type=radio] { width:auto; flex-shrink:0; margin-top:.25rem; }
.mrn button { cursor:pointer; }
.mrn button:disabled { cursor:wait; opacity:.65; }
.mrn :focus-visible { outline:2px solid var(--porto-primary-color,currentColor); outline-offset:3px; }
.mrn-general { margin-top:1rem; }
.mrn-search-feedback { margin:.75rem 0; }
.mrn-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:1.5rem; margin:1.5rem 0; }
.mrn-layout > * { min-width:0; }
.mrn-map { height:28rem; overflow:hidden; position:relative; z-index:0; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; }
.mrn-map-intro { padding:1.5rem; }
.mrn-map-hint { margin-top:.75rem; }
.mrn-count, .mrn-small, #mrn-search-help, .mrn-map-hint { font-size:.875em; }
.mrn-card { padding:1.25rem; margin-bottom:1rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; }
.mrn-card h3 { margin:.5rem 0; }
.mrn-card p { margin:.75rem 0; }
.mrn .mrn-results .mrn-card > img { width:100%; height:16rem; object-fit:contain; object-position:center; background:#fff; padding:.5rem; border-radius:.25rem; margin-bottom:1rem; }
.mrn-card button { display:block; margin-top:1rem; }
.mrn-category { display:block; }
.mrn-badge { display:inline-block; padding:.25rem .625rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.25rem; font-size:.875em; }
.mrn-inquiry { padding:1.5rem; margin-top:1.5rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; scroll-margin-top:2rem; }
.mrn-inquiry h3 { margin:0 0 1rem; }
.mrn-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.mrn-consent { display:flex; align-items:flex-start; gap:.625rem; margin:1.25rem 0 !important; }
.mrn-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.mrn-success { padding:1rem; border:1px solid currentColor; }
.mrn details summary { cursor:pointer; }
.mrn details form > label, .mrn-card form > label { margin:.875rem 0; }
.mrn-how { margin:1.5rem 0; padding:1.25rem; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; scroll-margin-top:2rem; }
.mrn-how ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; padding-left:1.25rem; margin-bottom:0; }
/* Compatibility for optional old layout shortcodes. Use Porto templates instead. */
.mrn-site-header, .mrn-site-footer { font-family:inherit; color:inherit; }
.mrn-site-header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding-top:1rem; padding-bottom:1rem; }
.mrn-brand { display:flex; flex-direction:column; }
.mrn-brand img { width:auto; max-width:100%; height:auto; }
.mrn-primary-menu, .mrn-legal-menu { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1.25rem; }
.mrn-languages { display:flex; gap:.625rem; }
.mrn-site-footer { margin-top:2rem; padding-top:2rem; padding-bottom:1rem; }
.mrn-footer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.mrn-footer-grid a { display:block; margin:.5rem 0; }
.mrn-footer-bottom { padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid color-mix(in srgb,currentColor 16%,transparent); }
@media(max-width:991px) { .mrn-search { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .mrn-layout, .mrn-search, .mrn-form-grid, .mrn-how ol, .mrn-footer-grid { grid-template-columns:1fr; }
 .mrn-map { height:20rem; }
 .mrn-hero { padding:1rem 0; }
 .mrn-search, .mrn-card, .mrn-inquiry, .mrn-how { padding:1rem; }
 .mrn-site-header-inner { flex-wrap:wrap; }
 .mrn-site-header nav { order:3; width:100%; }
 .mrn-site-header .mrn-languages { order:2; width:auto; }
}

/* Supplier portal controls inherit Porto typography and colours. */
.mrn [hidden] { display:none !important; }
.mrn-portal .mrn-form-grid { align-items:start; }
.mrn-portal .mrn-form-grid > * { min-width:0; }
.mrn-portal .mrn-error { padding:1rem; border:1px solid #b42318; border-radius:.5rem; color:#b42318; }
.mrn-country-picker { min-width:0; border:1px solid color-mix(in srgb,currentColor 16%,transparent); border-radius:.5rem; padding:1rem; margin:1rem 0; }
.mrn-country-picker legend { float:none; width:auto; padding:0 .5rem; font-size:inherit; }
.mrn-country-options { max-height:15rem; overflow:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem 1rem; padding:.5rem; }
.mrn-country-options label { display:flex; align-items:start; gap:.5rem; }
.mrn-prices { margin:1rem 0; padding:.75rem; background:var(--porto-gray-1,#f1f1f1); border-radius:.5rem; }
.mrn-prices strong { display:block; }
@media(max-width:575px) { .mrn-country-options { grid-template-columns:1fr; } }

.mrn .select2-container { max-width:100%; font-family:inherit; }
.mrn .select2-container .select2-selection { min-height:2.75rem; border:1px solid #ced4da; border-radius:.375rem; font-family:inherit; }
.mrn .select2-container .select2-selection--single .select2-selection__rendered { line-height:2.6rem; padding-left:.75rem; }
.mrn .select2-container .select2-selection--single .select2-selection__arrow { height:2.6rem; }
.mrn .select2-container .select2-selection--multiple { padding:.25rem .5rem; }
.mrn .select2-search--inline .select2-search__field { min-height:1.5rem; margin:.25rem 0; padding:0; border:0; box-shadow:none; background:transparent; }
.mrn .select2-dropdown { border-color:#ced4da; }
.mrn .select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--porto-primary-color,#2e68ac); }

/* Visible customer feedback: colour, border and text distinguish each message. */
.mrn .mrn-search-feedback:not(:empty), .mrn .mrn-success, .mrn .mrn-error { padding:1rem 1.125rem; margin:1rem 0; border:1px solid #b8d6ef; border-left:4px solid #2e68ac; border-radius:.5rem; background:#edf5fc; color:#123454; }
.mrn .mrn-search-feedback[data-state="warning"] { background:#fff7e8; border-color:#efd19a; border-left-color:#a66a00; color:#684400; }
.mrn .mrn-search-feedback[data-state="error"], .mrn .mrn-error { background:#fff0ee; border-color:#efc2ba; border-left-color:#b42318; color:#8a1c13; }
.mrn .mrn-success { background:#edf8f0; border-color:#b9dfc3; border-left-color:#287c42; color:#205d33; }
.mrn .mrn-empty { background:#edf5fc; border-color:#b8d6ef; }

/* Compact catalogue; scoped to the rental search. */
.mrn .mrn-coverage {display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0;}
.mrn .mrn-coverage .mrn-badge {background:#edf5fc;color:#123454;margin:0;padding:.35rem .75rem;border-radius:2rem;}
.mrn .mrn-country-details {flex-basis:100%;}
.mrn details summary {cursor:pointer;color:var(--porto-primary-color,#2e68ac);font-weight:600;padding:.5rem 0;}
.mrn details p {overflow-wrap:anywhere;}
.mrn .mrn-product-details {margin:.5rem 0 1rem;border-bottom:1px solid #dbe5ef;}
.mrn .mrn-excerpt {margin-bottom:.5rem;}
.mrn .mrn-pagination {display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:1rem 0;}
.mrn .mrn-pagination button:disabled {opacity:.45;cursor:default;}
.mrn .mrn-count {scroll-margin-top:100px;}

/* Search and map above full-width product rows. */
.mrn .mrn-search-top {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:start;margin:1.5rem 0;}
.mrn .mrn-search-top > * {min-width:0;}
.mrn .mrn-search-top .mrn-search {grid-template-columns:repeat(2,minmax(0,1fr));}
.mrn .mrn-search-top .mrn-search > [data-search] {align-self:end;}
.mrn .mrn-map-panel {position:static;}
.mrn .mrn-map-instructions {padding:.875rem 1rem;margin:0 0 .75rem;background:#edf5fc;border-left:4px solid #2e68ac;border-radius:.4rem;color:#123454;}
.mrn .mrn-search-top .mrn-map {height:24rem;}
.mrn .mrn-wide-results {display:block;}
.mrn .mrn-product-row {display:grid;grid-template-columns:minmax(140px,.65fr) minmax(0,1.5fr) minmax(210px,.85fr);gap:1.25rem;align-items:start;}
.mrn .mrn-product-row.mrn-product-no-image {grid-template-columns:minmax(0,2fr) minmax(210px,1fr);}
.mrn .mrn-results .mrn-product-row > img {height:13rem;margin:0;}
.mrn .mrn-product-row > * {min-width:0;overflow-wrap:anywhere;}
.mrn .mrn-product-offer .mrn-prices {margin:0;}
.mrn .mrn-product-offer > button {width:100%;white-space:normal;}
@media(max-width:767px) {
 .mrn .mrn-search-top {grid-template-columns:1fr;}
 .mrn .mrn-search-top .mrn-map {height:20rem;}
 .mrn .mrn-product-row,.mrn .mrn-product-row.mrn-product-no-image {grid-template-columns:1fr;}
 .mrn .mrn-results .mrn-product-row > img {height:12rem;}
}
@media(max-width:420px) {.mrn .mrn-search-top .mrn-search {grid-template-columns:1fr;}}

/* Readable form text and consistent action spacing across customer/supplier forms. */
.mrn input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.mrn select,.mrn textarea {color:#334155 !important;font-weight:400;}
.mrn input::placeholder,.mrn textarea::placeholder {color:#526171 !important;opacity:1 !important;}
.mrn .select2-container .select2-selection__rendered,
.mrn .select2-container .select2-selection__choice {color:#334155 !important;font-weight:400 !important;}
.mrn .select2-container .select2-selection__placeholder {color:#526171 !important;font-weight:400 !important;}
.mrn button:not(.select2-selection__choice__remove),.mrn .btn,
.mrn input[type=submit],.mrn input[type=button] {font-size:17px !important;font-weight:400 !important;line-height:1.4;white-space:normal;}
.mrn .mrn-search [data-search] {min-height:48px;}
.mrn .mrn-search-panel > .mrn-general {margin-top:22px !important;}
.mrn .mrn-map-panel .mrn-map-hint {display:flex;justify-content:flex-end;margin:.75rem 0 0;}
.mrn .mrn-map-hint [data-clear-point] {margin:0 !important;}
.mrn-customer form > label {margin:.875rem 0;}
.mrn-customer .mrn-customer-nav {margin:1rem 0 1.5rem;line-height:1.9;}
.mrn-customer .mrn-card {overflow-wrap:anywhere;}
.mrn-customer form > button {margin-top:1rem;}
