/* Rent & Share unified application layer v5 */
:root {
  --rs-red: var(--rs-forest);
  --rs-red-dark: var(--rs-forest-deep);
  --rs-oxblood: var(--rs-forest);
  --rs-pale-red: #ecefe9;
  --rs-accent: #7d836f;
  --rs-panel: #f1f0ea;
  --rs-panel-soft: #f7f6f1;
}

/* One visual language throughout the legacy application */
a, .Link, .GreyLink, .RedLink, .BoldLink, .AccountLink {
  color: var(--rs-forest);
  text-decoration-color: rgba(23, 54, 45, .34);
  text-underline-offset: 3px;
}
a:hover, .Link:hover, .GreyLink:hover, .RedLink:hover, .BoldLink:hover,
.PageSortButton:hover, .site-nav a:hover, .site-account a:hover {
  color: var(--rs-moss) !important;
}
.RedTitle, .GreyTitle { color: var(--rs-forest) !important; }
.ListingPrice { color: var(--rs-forest) !important; }

input[type="text"], input[type="email"], input[type="password"],
input[type="number"], input[type="tel"], input[type="date"], select, textarea {
  border-color: #c7ccc6;
  border-radius: 3px;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input:focus, select:focus, textarea:focus {
  border-color: var(--rs-forest) !important;
  outline: 2px solid rgba(23, 54, 45, .13) !important;
  box-shadow: none !important;
}
input[type="submit"], input[type="button"], button, .PageSortButton,
.ButtonDefault, .ButtonRemove, .ListingAction, .Refresh, .ButtonPricing {
  border-color: var(--rs-forest);
  border-radius: 3px;
  color: var(--rs-white);
  background: var(--rs-forest);
  box-shadow: none;
}
input[type="submit"]:hover, input[type="button"]:hover, button:hover,
.ButtonDefault:hover, .ButtonRemove:hover, .ListingAction:hover,
.Refresh:hover, .ButtonPricing:hover {
  color: var(--rs-white) !important;
  background: var(--rs-forest-deep);
}

/* Search shared by every inner page */
.site-search-strip {
  min-height: 86px;
  gap: 24px;
  padding: 16px 32px;
  border-color: var(--rs-line);
  background: var(--rs-panel-soft);
}
.site-search--compact { width: min(760px, 68vw); }
.site-search--compact input {
  height: 54px;
  padding: 0 18px;
  border: 1px solid #c7ccc6;
  border-right: 0;
  border-radius: 3px 0 0 3px;
  font-size: 14px;
}
.site-search--compact button {
  min-width: 118px;
  height: 54px;
  border: 1px solid var(--rs-forest);
  border-radius: 0 3px 3px 0;
  color: var(--rs-white);
  background: var(--rs-forest);
  font-size: 12px;
  font-weight: 720;
}
.site-facebook-proof { color: var(--rs-muted); font-size: 10px; }

/* Consistent three-column inner-page frame */
body:not(.home-page) .content {
  width: min(var(--rs-page), calc(100% - 64px));
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 238px;
  gap: 30px;
  align-items: start;
  padding: 56px 0 100px;
}
body:not(.home-page) .ColumnLeft,
body:not(.home-page) .ContentMain,
body:not(.home-page) .ColumnRight {
  width: auto;
  min-width: 0;
  display: block;
  margin: 0;
  padding: 0;
}
body:not(.home-page) .ContentMain { text-align: left; }
body:not(.home-page) h1 {
  margin: 0;
  color: var(--rs-forest);
  font-family: "Newsreader", Georgia, serif;
  font-size: 46px;
  font-weight: 580;
  line-height: 1;
  letter-spacing: -.038em;
}

/* Category navigation and utility panels */
body:not(.home-page) .BoxTable,
body:not(.home-page) .FavBox {
  padding: 0;
  border: 1px solid var(--rs-line);
  border-radius: 3px;
  background: var(--rs-white);
  box-shadow: none;
}
#categories::before {
  content: "Browse categories";
  display: block;
  padding: 18px 16px 15px;
  border-bottom: 1px solid var(--rs-line);
  color: var(--rs-forest);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#categories { font-size: 11px; }
#categories ul.top-level { background: transparent; }
#categories ul.top-level > li {
  position: relative;
  border: 0;
  border-bottom: 1px solid #e6e8e3;
}
#categories ul.top-level > li:last-child { border-bottom: 0; }
#categories a {
  height: auto;
  min-height: 34px;
  display: flex;
  align-items: center;
  padding: 6px 14px;
  color: var(--rs-ink);
  line-height: 1.25;
  text-indent: 0;
}
#categories a:hover { color: var(--rs-forest) !important; background: var(--rs-panel); }
#categories .sub-level, #categories .sub-level .sub-level-2,
li:hover .sub-level, li:hover .sub-level-2 {
  border: 1px solid var(--rs-line);
  border-radius: 3px;
  background: var(--rs-white);
  box-shadow: 0 16px 36px rgba(23, 54, 45, .12);
}

.sidebar-action {
  width: 100% !important;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--rs-forest);
  border-radius: 3px;
  color: var(--rs-white);
  background: var(--rs-forest);
  font-size: 11px;
  font-weight: 720;
}
.sidebar-action span { color: inherit; }
.sidebar-action--secondary { color: var(--rs-forest); background: transparent; }
.sidebar-action--secondary:hover { color: var(--rs-white); background: var(--rs-forest); }
.marketplace-note { padding: 20px !important; }
.marketplace-note .home-eyebrow { margin-bottom: 10px; color: var(--rs-accent); }
.marketplace-note h3 { font-size: 24px; line-height: 1.05; }
.marketplace-note p { font-size: 11px; line-height: 1.65; }

/* Modern information and data tables */
.DataTable, .OrdersListTable, .PriceTable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--rs-line);
  border-radius: 3px;
  background: var(--rs-white);
  overflow: hidden;
}
.DataTableHeading, .PriceTableHeadingRow {
  color: var(--rs-forest);
  background: var(--rs-panel);
  font-family: "Manrope", sans-serif;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .025em;
}
.DataTableCell, .PriceTableHeadingCell, .PriceTableContentCell {
  padding: 11px 12px;
  border: 0;
  border-right: 1px solid var(--rs-line);
  border-bottom: 1px solid var(--rs-line);
  vertical-align: top;
}
.DataTableCell:last-child, .PriceTableHeadingCell:last-child,
.PriceTableContentCell:last-child { border-right: 0; }
.DataTable tr:last-child td, .PriceTable tr:last-child td { border-bottom: 0; }
.PriceTableContentRow {
  color: var(--rs-ink);
  font-family: "Manrope", sans-serif;
  font-size: 10.5px;
  line-height: 1.55;
}
.PriceTableContentRow:hover { background: #fafaf7; }
.PriceTableContentRow > .PriceTableHeadingCell {
  color: var(--rs-forest);
  background: var(--rs-panel-soft);
  font-size: 10px;
  font-weight: 740;
}
.ButtonPricing {
  width: auto;
  min-width: 92px;
  height: auto;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  line-height: 1.3;
  font-size: 9px;
  letter-spacing: .025em;
}

/* Pricing is now a deliberate page rather than a legacy table dropped in */
.pricing-page .content {
  grid-template-columns: 190px minmax(0, 1fr) 220px;
  gap: 28px;
}
.inner-page-intro { margin-bottom: 30px; text-align: left; }
.inner-page-intro .home-eyebrow { margin-bottom: 10px; color: var(--rs-accent); }
.inner-page-intro p:last-child {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--rs-muted);
  font-size: 13px;
  line-height: 1.65;
}
.price-table-wrap { width: 100%; overflow-x: auto; }
.pricing-page .PriceTable { min-width: 660px; }
.pricing-page .PriceTableHeadingRow td:not(:first-child) { background: #e5e8e3; }
.pricing-page .smallText { margin-top: 12px; color: var(--rs-muted) !important; font-size: 9px; }

/* Replace any remaining hard-coded legacy red used by old PHP fragments */
[style*="#B23B3F"], [style*="#b23b3f"], [style*="#D51E2B"],
[style*="#d51e2b"], [style*="color: red"] { color: var(--rs-forest) !important; }

@media (max-width: 1050px) {
  body:not(.home-page) .content,
  .pricing-page .content { grid-template-columns: 180px minmax(0, 1fr); gap: 24px; }
  body:not(.home-page) .ColumnRight { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
  body:not(.home-page) .ColumnRight > .Sp10 { display: none; }
}

@media (max-width: 780px) {
  .site-search-strip { padding: 13px 16px; }
  .site-search--compact { width: 100%; }
  body:not(.home-page) .content,
  .pricing-page .content { width: min(100% - 32px, var(--rs-page)); grid-template-columns: 1fr; padding-top: 34px; }
  body:not(.home-page) .ColumnLeft { order: 2; }
  body:not(.home-page) .ContentMain { order: 1; }
  body:not(.home-page) .ColumnRight { order: 3; grid-column: auto; grid-template-columns: 1fr; }
  #categories ul.top-level { display: grid; grid-template-columns: repeat(2, 1fr); }
  #categories ul.top-level > li { border-right: 1px solid #e6e8e3; }
  body:not(.home-page) h1 { font-size: 40px; }
}

@media (max-width: 540px) {
  .site-search--compact input { min-width: 0; }
  .site-search--compact button { min-width: 92px; }
  #categories ul.top-level { grid-template-columns: 1fr; }
}
