
/* Basic reset inside the widget so Divi doesn't wreck it */
.tiui-wrap, .tiui-wrap * { box-sizing: border-box; }

.tiui-layout{ display:flex; gap:18px; align-items:flex-start; width:100%; }
.tiui-sidebar{
  width:300px;
  background:#0f0f0f;
  border-radius:6px;
  overflow:hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
}
.tiui-filter{ border-bottom:1px solid rgba(255,255,255,.08); }
.tiui-filter-head{
  appearance:none;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 16px;
  background:#0f0f0f !important;
  color:#fff !important;
  border:0 !important;
  cursor:pointer;
  font-weight:800;
  font-size:16px;
  line-height:1;
}
.tiui-filter-head:focus{ outline:2px solid rgba(201,21,21,.35); outline-offset:-2px; }
.tiui-chevron{ opacity:.9; font-size:14px; }
.tiui-filter-body{ display:none; padding:12px 16px 18px; background:#0f0f0f; }
.tiui-filter.open .tiui-filter-body{ display:block; }

.tiui-select, .tiui-input{
  width:100% !important;
  border-radius:4px !important;
  border:1px solid #d7d7d7 !important;
  padding:10px 12px !important;
  background:#fff !important;
  font-size:14px !important;
  line-height:1.2 !important;
  height:auto !important;
}
.tiui-two{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }

.tiui-help{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:16px;
  text-decoration:none !important;
  background:#c91515 !important;
  color:#111 !important;
  font-weight:900;
}
.tiui-help-icon{
  width:18px;height:18px;border-radius:3px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.35);
}

.tiui-main{ flex:1; min-width:0; }
.tiui-toolbar{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:14px;
}
.tiui-view-toggle{ display:flex; gap:10px; }
.tiui-btn{
  border:1px solid #cfcfcf !important;
  background:#fff !important;
  padding:10px 14px !important;
  border-radius:4px !important;
  font-weight:900 !important;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
}
.tiui-btn.active{
  background:#c91515 !important;
  border-color:#c91515 !important;
  color:#fff !important;
}
.tiui-search{
  flex:1;
  display:flex;
  border:1px solid #cfcfcf;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
}
.tiui-search .tiui-input{
  border:0 !important;
  border-radius:0 !important;
  padding:10px 12px !important;
}
.tiui-search-btn{
  width:52px;
  border:0;
  background:#fff;
  cursor:pointer;
  border-left:1px solid #e6e6e6;
}
.tiui-sort{ display:flex; gap:8px; align-items:center; min-width:300px; }
.tiui-sort-label{ font-weight:900; color:#666; white-space:nowrap; }

.tiui-message{
  padding:10px 12px;
  border:1px solid #f0c36d;
  background:#fff7e6;
  color:#222;
  border-radius:6px;
  margin-bottom:12px;
  font-weight:700;
}

.tiui-results{ display:flex; flex-direction:column; gap:14px; }
.tiui-empty{ padding:14px 0; font-size:22px; font-weight:900; color:#222; }

.tiui-card{
  display:grid;
  grid-template-columns: 360px 1fr 220px;
  gap:14px;
  border:1px solid #e1e1e1;
  border-radius:4px;
  background:#fff;
  overflow:hidden;
}
.tiui-card-left{ padding:16px; }
.tiui-card-top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.tiui-print{
  font-weight:800;
  text-decoration:none !important;
  color:#c91515 !important;
  white-space:nowrap;
}
.tiui-title{ margin:0 0 6px; font-size:28px; font-weight:1000; }
.tiui-title a{ color:#111; text-decoration:none; }
.tiui-sub{ color:#333; font-weight:800; margin-bottom:4px; }
.tiui-muted{ color:#777; font-weight:700; }

.tiui-price-row{ margin-top:10px; }
.tiui-price{ font-size:36px; font-weight:1000; }
.tiui-pay-row{ margin-top:6px; }
.tiui-pay{ font-size:24px; font-weight:1000; }

.tiui-loc{ margin-top:10px; font-weight:900; color:#444; display:flex; gap:8px; align-items:center; }

.tiui-card-mid{ background:#f7f7f7; display:flex; align-items:center; justify-content:center; }
.tiui-card-mid img{ width:100%; height:100%; object-fit:cover; display:block; }

.tiui-card-right{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content:flex-start;
  background:#fff;
}
.tiui-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  padding:14px 12px;
  border-radius:12px;
  font-weight:1000;
  border:1px solid #e0e0e0;
  background:#f4f4f4;
  color:#111;
}
.tiui-cta-primary{
  background:#c91515 !important;
  border-color:#c91515 !important;
  color:#fff !important;
}

/* Grid view */
.tiui-results[data-view="grid"]{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
}
.tiui-results[data-view="grid"] .tiui-card{ grid-template-columns: 1fr; }
.tiui-results[data-view="grid"] .tiui-card-mid{ height:220px; }
.tiui-results[data-view="grid"] .tiui-card-right{ flex-direction:row; flex-wrap:wrap; }
.tiui-results[data-view="grid"] .tiui-cta{ flex:1 1 calc(50% - 10px); }

/* Responsive */
@media (max-width: 1100px){
  .tiui-layout{ flex-direction:column; }
  .tiui-sidebar{ width:100%; }
  .tiui-card{ grid-template-columns: 1fr; }
  .tiui-card-mid{ height:240px; }
  .tiui-results[data-view="grid"]{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .tiui-toolbar{ flex-direction:column; align-items:stretch; }
  .tiui-sort{ min-width:unset; }
  .tiui-results[data-view="grid"]{ grid-template-columns: 1fr; }
}
