/* ═══════════════════════════════════════════════════════════════════════════
   MAQUINARIA — Public marketplace (rent + sale)
   Mirrors materiales.css palette and rhythm so brand stays consistent.
   ═══════════════════════════════════════════════════════════════════════════ */

:root{
  --mq-teal:#0b8aa0;
  --mq-teal-dark:#0b2f36;
  --mq-orange:#ff8500;
  --mq-orange-dark:#e67300;
  --mq-bg:#f5f7fb;
  --mq-card:#ffffff;
  --mq-text:#0b1b2b;
  --mq-muted:#5b6b73;
  --mq-border:#e2e8f0;
}

/* ── Scope all maquinaria public pages ───────────────────────────────────── */
.mq-page{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--mq-bg);
  color:var(--mq-text);
  min-height:100vh;
  padding-bottom:60px;
}
.mq-page *,
.mq-page *::before,
.mq-page *::after{ box-sizing:border-box; }

/* Override Materialize input defaults inside our scope so they look modern */
.mq-page input:not([type="checkbox"]):not([type="radio"]),
.mq-page select,
.mq-page textarea{
  border:1px solid var(--mq-border);
  border-radius:10px;
  padding:0 12px;
  height:42px;
  font-size:14px;
  width:100%;
  background:#fff;
  font-family:inherit;
  color:var(--mq-text);
  box-shadow:none;
  margin:0;
  display:block;
  box-sizing:border-box;
}
.mq-page textarea{ height:auto; padding:10px 12px; resize:vertical; }
.mq-page input:focus,
.mq-page select:focus,
.mq-page textarea:focus{
  outline:none;
  border-color:var(--mq-teal);
  box-shadow:0 0 0 3px rgba(11,138,160,.12);
}
.mq-page label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:var(--mq-muted);
  margin-bottom:6px;
}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.mq-hero{
  background:linear-gradient(135deg,#0d3b44 0%,#0b6e82 50%,#0b8aa0 100%);
  color:#fff;
  padding:54px 0 44px;
}
.mq-hero h1{
  font-size:34px;
  font-weight:800;
  letter-spacing:-0.02em;
  margin:0 0 10px;
  text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.mq-hero p{
  font-size:16px;
  color:rgba(255,255,255,.9);
  margin:0 0 18px;
  max-width:580px;
}
.mq-hero__steps{
  display:flex; flex-wrap:wrap; gap:8px;
}
.mq-step{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:500;
}
.mq-step i.material-icons{
  width:20px; height:20px;
  border-radius:999px;
  background:#fff;
  color:#0b8aa0;
  display:flex; align-items:center; justify-content:center;
  font-size:13px;
}

/* Hero responsive grid (used by landing hero with inline grid-template-columns) */
@media (max-width:880px){
  .mq-hero .container > div[style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
  }
}

/* ── Layout ─────────────────────────────────────────────────────────────── */
.mq-shell{
  display:grid;
  grid-template-columns:1fr 380px;
  gap:24px;
  margin-top:-30px;
  position:relative;
  z-index:2;
}
@media (max-width:880px){
  .mq-shell{ grid-template-columns:1fr; }
}

.mq-card{
  background:var(--mq-card);
  border:1px solid var(--mq-border);
  border-radius:14px;
  padding:22px;
  box-shadow:0 10px 32px rgba(15,23,42,.06);
}
.mq-card h2{
  margin:0 0 4px;
  font-size:18px;
  font-weight:800;
  color:var(--mq-text);
  letter-spacing:-0.01em;
}
.mq-card__sub{
  font-size:13px;
  color:var(--mq-muted);
  margin:0 0 16px;
}

/* ── Tabs (renta / venta) ────────────────────────────────────────────────── */
.mq-tabs{
  display:flex;
  gap:4px;
  background:#f1f5f9;
  border-radius:10px;
  padding:4px;
  margin-bottom:18px;
}
.mq-tabs a{
  flex:1;
  text-align:center;
  padding:9px 14px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  color:var(--mq-muted);
  border-radius:8px;
  transition:all .15s ease;
}
.mq-tabs a.is-active{
  background:#fff;
  color:var(--mq-text);
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}

/* ── Add-equipment row ───────────────────────────────────────────────────── */
.mq-add{
  display:grid;
  grid-template-columns:1fr 110px 110px;
  gap:8px;
  align-items:end;
}
@media (max-width:560px){
  .mq-add{ grid-template-columns:1fr 1fr; }
  .mq-add__btn{ grid-column:1 / -1; }
}
.mq-add__btn{
  background:var(--mq-orange);
  color:#fff;
  border:none;
  height:42px;
  border-radius:10px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:6px;
}
.mq-add__btn:hover{ background:var(--mq-orange-dark); }

/* ── Wishlist items ──────────────────────────────────────────────────────── */
.mq-list{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mq-list__empty{
  border:1px dashed #cbd5e1;
  border-radius:12px;
  padding:32px 18px;
  text-align:center;
  color:var(--mq-muted);
  background:#fafbfd;
}
.mq-list__empty i.material-icons{ font-size:36px; color:#cbd5e1; }
.mq-list__empty p{ margin:6px 0 0; font-size:13px; }
.mq-item{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:14px;
  align-items:center;
  background:#f8fafc;
  border:1px solid var(--mq-border);
  border-radius:10px;
  padding:12px 14px;
}
.mq-item__name{
  font-weight:700;
  color:var(--mq-text);
  font-size:14px;
}
.mq-item__meta{
  font-size:12px;
  color:var(--mq-muted);
  margin-top:2px;
}
.mq-item__qty{
  font-size:13px;
  color:var(--mq-muted);
  white-space:nowrap;
}
.mq-item__qty strong{ color:var(--mq-text); }
.mq-item__remove{
  background:transparent;
  border:none;
  color:#94a3b8;
  cursor:pointer;
  padding:6px;
  border-radius:6px;
}
.mq-item__remove:hover{ background:#fee2e2; color:#dc2626; }

/* ── Contact form (subtle) ───────────────────────────────────────────────── */
.mq-contact{ margin-top:18px; }
.mq-contact__divider{
  border:none;
  border-top:1px solid var(--mq-border);
  margin:18px 0;
}
.mq-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}
.mq-row--3{ grid-template-columns:1fr 1fr 1fr; }
@media (max-width:560px){
  .mq-row, .mq-row--3{ grid-template-columns:1fr; }
}

.mq-cta{
  width:100%;
  background:var(--mq-orange);
  color:#fff;
  border:none;
  height:48px;
  border-radius:12px;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  margin-top:10px;
  box-shadow:0 4px 14px rgba(255,133,0,.25);
}
.mq-cta:hover{ background:var(--mq-orange-dark); }
.mq-cta:disabled{ background:#cbd5e1; box-shadow:none; cursor:not-allowed; }
.mq-cta__hint{
  font-size:12px;
  color:var(--mq-muted);
  text-align:center;
  margin-top:8px;
}

/* ── Side card: how it works / value props ──────────────────────────────── */
.mq-aside h3{
  margin:0 0 8px;
  font-size:15px;
  font-weight:800;
  color:var(--mq-text);
  letter-spacing:-0.01em;
}
.mq-aside ul{
  list-style:none;
  margin:0;
  padding:0;
}
.mq-aside li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  color:var(--mq-text);
  padding:8px 0;
  border-bottom:1px solid var(--mq-border);
}
.mq-aside li:last-child{ border-bottom:none; }
.mq-aside li i.material-icons{
  color:#10b981;
  font-size:18px;
  flex:0 0 18px;
  margin-top:1px;
}

.mq-trust{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--mq-border);
}
.mq-trust__pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#f0f9ff;
  color:#0c4a6e;
  padding:5px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
  border:1px solid #bae6fd;
}

/* ── Thank-you / received ───────────────────────────────────────────────── */
.mq-received{
  background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);
  border:1px solid #6ee7b7;
  border-radius:14px;
  padding:24px;
  margin-bottom:18px;
}
.mq-received__icon{
  width:48px; height:48px;
  background:#10b981;
  color:#fff;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:12px;
}
.mq-received h2{
  margin:0 0 6px;
  font-size:20px;
  font-weight:800;
  color:#065f46;
  letter-spacing:-0.01em;
}
.mq-received p{
  margin:0;
  color:#047857;
  font-size:14px;
  line-height:1.5;
}

.mq-summary-list{
  list-style:none;
  margin:14px 0 0;
  padding:0;
}
.mq-summary-list li{
  padding:10px 0;
  border-bottom:1px solid var(--mq-border);
  font-size:13px;
  color:var(--mq-text);
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.mq-summary-list li:last-child{ border-bottom:none; }

.mq-stat-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:14px;
}
.mq-stat{
  background:#fff;
  border:1px solid var(--mq-border);
  border-radius:12px;
  padding:14px;
  text-align:center;
}
.mq-stat__label{
  font-size:11px;
  color:var(--mq-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
}
.mq-stat__val{
  font-size:24px;
  font-weight:800;
  color:var(--mq-text);
  letter-spacing:-0.02em;
  margin-top:4px;
}

/* ── Quote proposal cards (when suppliers respond) ──────────────────────── */
.mq-prop-card{
  background:#fff;
  border:1px solid var(--mq-border);
  border-radius:12px;
  padding:16px;
  margin-bottom:10px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:14px;
  align-items:center;
}
@media (max-width:680px){
  .mq-prop-card{ grid-template-columns:1fr; }
}
.mq-prop-card__name{
  font-weight:800;
  color:var(--mq-text);
  font-size:15px;
}
.mq-prop-card__pill{
  display:inline-flex; align-items:center; gap:3px;
  padding:2px 8px;
  border-radius:8px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.mq-prop-card__pill--quoted{ background:#dcfce7; color:#15803d; }
.mq-prop-card__pill--pending{ background:#fef3c7; color:#92400e; }
.mq-prop-card__pill--won{ background:#15803d; color:#fff; }
.mq-prop-card__total{
  font-size:18px; font-weight:800; color:var(--mq-text);
}
.mq-btn{
  padding:9px 16px;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  border:none;
  cursor:pointer;
  display:inline-flex; align-items:center; gap:5px;
}
.mq-btn--accept{ background:#15803d; color:#fff; }
.mq-btn--ghost{ background:#fff; color:var(--mq-text); border:1px solid var(--mq-border); }
.mq-btn--wa{ background:#25d366; color:#fff; }

/* ═══════════════════════════════════════════════════════════════════════════
   Category page (cart-style picker)
   ═══════════════════════════════════════════════════════════════════════════ */
.mqcat-shell{
  display:grid;
  grid-template-columns:1fr 360px;
  gap:24px;
  margin-top:-30px;
  position:relative;
  z-index:2;
  align-items:start;
}
@media (max-width:980px){
  .mqcat-shell{ grid-template-columns:1fr; }
}

.mqcat-toolbar{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.mqcat-toolbar h2{ margin:0; }
.mqcat-toolbar__count{
  font-size:12px;
  color:var(--mq-muted);
  background:#f1f5f9;
  padding:5px 10px;
  border-radius:999px;
  font-weight:600;
}

/* Equipment tile grid */
.mqcat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:12px;
}
.mqcat-tile{
  background:#fff;
  border:1px solid var(--mq-border);
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:all .15s ease;
}
.mqcat-tile:hover{
  border-color:#cbd5e1;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
}
.mqcat-tile__head{
  display:flex;
  align-items:flex-start;
  gap:8px;
  justify-content:space-between;
}
.mqcat-tile__name{
  font-weight:800;
  font-size:14px;
  color:var(--mq-text);
  line-height:1.25;
  letter-spacing:-0.01em;
  flex:1;
}
.mqcat-tile__badge{
  display:inline-flex;
  align-items:center;
  gap:3px;
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #a7f3d0;
  padding:2px 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}
.mqcat-tile__price{
  display:flex;
  align-items:baseline;
  gap:4px;
  flex-wrap:wrap;
  min-height:22px;
}
.mqcat-tile__price-from{
  font-size:10px;
  color:var(--mq-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
}
.mqcat-tile__price-val{
  font-size:14px;
  font-weight:800;
  color:var(--mq-teal);
  letter-spacing:-0.01em;
}
.mqcat-tile__price-suffix{
  font-size:11px;
  color:var(--mq-muted);
  font-weight:600;
}
.mqcat-tile__price-quote{
  font-size:12px;
  color:var(--mq-muted);
  font-style:italic;
}

.mqcat-tile__period-lbl{
  display:block;
  font-size:10px;
  color:var(--mq-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
  margin-bottom:4px;
}
.mqcat-period-pills{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:4px;
  background:#f1f5f9;
  padding:3px;
  border-radius:8px;
}
.mqcat-period-pill{
  background:transparent;
  border:none;
  padding:6px 0;
  font-size:11px;
  font-weight:700;
  color:var(--mq-muted);
  border-radius:6px;
  cursor:pointer;
  transition:all .15s ease;
}
.mqcat-period-pill.is-active{
  background:#fff;
  color:var(--mq-text);
  box-shadow:0 1px 3px rgba(0,0,0,.08);
}
.mqcat-period-pill:hover:not(.is-active){ color:var(--mq-text); }

.mqcat-tile__qty-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.mqcat-tile__qty.mqcat-tile__qty,
.mq-page input.mqcat-tile__qty{
  height:36px;
  font-size:13px;
  padding:0 8px;
}

.mqcat-tile__add{
  background:var(--mq-orange);
  color:#fff;
  border:none;
  height:38px;
  border-radius:8px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  transition:all .2s ease;
  margin-top:auto;
}
.mqcat-tile__add:hover{ background:var(--mq-orange-dark); }
.mqcat-tile__add.is-added{ background:#10b981; }

/* Sticky cart (right rail) */
.mqcat-cart-shell{ position:sticky; top:16px; }
@media (max-width:980px){ .mqcat-cart-shell{ position:static; } }

.mqcat-cart__head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--mq-border);
}
.mqcat-cart__count{
  background:var(--mq-orange);
  color:#fff;
  font-weight:800;
  font-size:11px;
  padding:2px 8px;
  border-radius:999px;
  min-width:22px;
  text-align:center;
}
.mqcat-cart__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:400px;
  overflow-y:auto;
}
.mqcat-cart__empty{
  border:1px dashed #cbd5e1;
  border-radius:10px;
  padding:24px 14px;
  text-align:center;
  color:var(--mq-muted);
  background:#fafbfd;
}
.mqcat-cart__empty i.material-icons{ font-size:32px; color:#cbd5e1; }
.mqcat-cart__empty p{ margin:6px 0 0; font-size:12px; }
.mqcat-cart__item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  background:#f8fafc;
  border:1px solid var(--mq-border);
  border-radius:8px;
  padding:8px 10px;
}
.mqcat-cart__item-name{
  font-weight:700;
  color:var(--mq-text);
  font-size:13px;
  line-height:1.25;
}
.mqcat-cart__item-meta{
  font-size:11px;
  color:var(--mq-muted);
  margin-top:2px;
}
.mqcat-cart__remove{
  background:transparent;
  border:none;
  color:#94a3b8;
  cursor:pointer;
  padding:4px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mqcat-cart__remove:hover{ background:#fee2e2; color:#dc2626; }
.mqcat-cart__remove i.material-icons{ font-size:18px; }

/* Mobile floating cart toggle */
.mqcat-mobile-toggle{
  position:fixed;
  bottom:16px;
  right:16px;
  z-index:50;
  background:var(--mq-orange);
  color:#fff;
  border:none;
  width:56px;
  height:56px;
  border-radius:50%;
  box-shadow:0 6px 20px rgba(255,133,0,.4);
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
}
.mqcat-mobile-toggle i.material-icons{ font-size:26px; }
.mqcat-mobile-toggle span{
  position:absolute;
  top:-4px;
  right:-4px;
  background:#0f172a;
  color:#fff;
  font-size:11px;
  font-weight:800;
  padding:2px 6px;
  border-radius:999px;
  min-width:22px;
}
@media (max-width:980px){
  .mqcat-mobile-toggle:not([hidden]){ display:flex; }
}

/* Inline contact step (revealed after first add) */
.mqcat-contact{ margin-top:18px; animation:mqcat-fade-in .25s ease; }
@keyframes mqcat-fade-in{
  from{ opacity:0; transform:translateY(6px); }
  to{ opacity:1; transform:translateY(0); }
}
