@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  margin: 0;
  padding: 0;
  font-family: "century-gothic";
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}

.firsttop {
  position: absolute;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  left: 0%;
}

/* .image-container {
  position: absolute;
  width: 100%;
  height: 100%;
} */



#addBtn p {
  font-family: Calibri !important;
}

.card-container {
  position: absolute;
  right: 7%;
  bottom: 15%;
  width: 19%;
  height: fit-content;
  padding: 14px;
  box-sizing: border-box;
  background-color: rgb(15 49 23 / 80%);
  z-index: 10;
  display: none;
  flex-direction: column;
  align-items: center;
  border-radius: 34px;
}

.card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: transparent;
  border: none;
}

h1 {
  font-size: 15px;
  margin-bottom: 5px;
  text-align: left;
  color: white;
}

.orientation-buttons {
  display: flex;
  flex-direction: row;
  gap: 6px;
  margin-bottom: 20px;
  width: 100%;
}

.orientation-buttons button {
  width: 100%;
  padding: 1px;
  border: 1px solid;
  color: white;
  font-size: 16px;
  cursor: pointer;
  border-radius: 5px;
  background: transparent;
}

#reset-button {
  margin: 5px 4px 3px 1px;
  background: #218838;
  color: white;
  border: 1px solid white;
  font-size: 12px;
  border-radius: 5px;
  width: 94%;
  padding: 5px;
  cursor: pointer;
}

#reset-button:hover {
  background-color: #4caf50;
}

.orientation-buttons button:hover {
  background-color: #d3dddf8e;
}

#corner-plots-button {
  width: 45%;
  padding: 1px;
  border: 1px solid;
  color: white;
  font-size: 15px;
  cursor: pointer;
  border-radius: 5px;
  background: transparent;
}

.card-container button:hover {
  background-color: #218838;
}

#corner-plots-button:hover {
  background-color: #218838;
}

.slider-section {
  width: 100%;
  margin: 15px 0px 0px 0px;
}

.slider-section h2 {
  color: white;
  font-size: 16px;
  margin: 12px 0px;
}

.slider-section .slider-value {
  color: white;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  height: 3px;
  background: #ddd;
  border-radius: 5px;
  outline: none;
  opacity: 0.7;
  transition: opacity 0.2s;
  cursor: pointer;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 10px;
  height: 10px;
  background: #ffffff;
  cursor: pointer;
  border-radius: 50%;
}

.slider::-moz-range-thumb {
  width: 10px;
  height: 10px;
  background: #4caf50;
  cursor: pointer;
  border-radius: 50%;
}

.amenities-section,
.availability-section {
  width: 100%;
  color: white;
  font-size: 10px;
}

.amenities-buttons,
.availability-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.amenities-buttons button,
.availability-buttons button {
  margin: 5px 4px 3px 1px;
  background: transparent;
  color: white;
  border: 1px solid white;
  font-size: 12px;
  border-radius: 5px;
  width: 30%;
  padding: 5px;
  cursor: pointer;
}

#info-card {
  position: absolute;
  bottom: 0%;
  left: 1%;
  width: 16%;
  height: fit-content;
  padding: 14px;
  background-color: rgb(15 49 23 / 80%);
  color: white;
  border-radius: 23px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 10;
}

.plot-data-value {
  font-size: 16px;
}

#info-card .card-body {
  padding: 0;
}

#info-card .card-title {
  margin-bottom: 10px;
  font-size: 18px;
}

#info-card #plot-info {
  font-size: 14px;
  padding: 10px 0px 0px 0px;
}

#plot-info strong {
  padding: 10px 0px;
  display: inline-block;
  font-weight: 600;
  font-size: 12px;
}

.topbutton {
  display: flex;
  width: 41%;
  position: absolute;
  left: 64%;
  top: 8%;
}

.amenities-selected {
  position: relative;
  right: 48%;
}

.modal-content {
  background-color: transparent;
  margin: auto;
  width: 100%;
  position: relative;
  bottom: 10%;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: red;
  text-decoration: none;
  cursor: pointer;
}

.alertmodal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

.alert-content {
  background-color: rgb(15 49 23 / 80%);
  margin: 15% auto;
  padding: 13px;
  border: 1px solid #888;
  width: 23%;
  max-width: 400px;
  border-radius: 10px;
  position: absolute;
  top: 54%;
  left: 19%;
  color: white;
  display: flow;
  text-align: center;
}

#compareModal {
  display: none;
  position: fixed;
  top: 57%;
  left: 45%;
  transform: translate(-50%, -50%);
  width: 47%;
  height: 38%;
  padding: 20px;
  background-color: rgb(15 49 23 / 80%);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
  z-index: 1000;
  border-radius: 10px;
}

#compareModal h2 {
  font-size: 16px;
  display: flex;
  justify-content: center;
  position: relative;
  bottom: 8%;
  color: white;
}

.row-wrapper {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.compared-plot.card {
  flex: 1;
  border-radius: 12px;
  max-width: 25%;
  height: 248px;
  font-size: 14px;
  background: transparent;
  border: 1px solid white;
  padding: 15px;
  color: white;
}

.compared-plot h4 {
  margin-top: 0;
}

.compared-plot button {
  margin-top: 10px;
  padding: 5px 10px;
  background-color: #ec0909;
  color: white;
  border: none;
  border-radius: 3px;
  cursor: pointer;
}

.compared-plot button:hover {
  background-color: #c30707;
}

.threebtns {
  display: flex;
  z-index: 100;
  position: absolute;
  bottom: 3%;
  width: fit-content;
  right: 2%;
  flex-direction: column;
  gap: 10px;
}

#display-filters-button,
#threebtn,
#highlights {
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
}

#display-filters-button:hover img {
  content: url("images/filter_hover.png");
}

#threebtn:hover img {
  content: url("images/three_sxty_hover.png");
}

#highlights:hover img {
  content: url("images/location_hover.png");
}

#info-card {
  transition: transform 1s ease !important;
}

.minimized {
  transform: translateY(100%) !important;
}

#minimize-btn {
  font-size: 11px !important;
  color: #d8e9bc !important;
  cursor: pointer !important;
  background-color: transparent !important;
  border: 4px solid #d8e9bc !important;
  padding: 0px !important;
  position: absolute !important;
  bottom: 100% !important;
  left: 82% !important;
  width: 12% !important;
  height: 5% !important;
  display: flex !important;
  justify-content: center !important;
}

#minimize-btn:hover {
  color: #d8e9bc !important;
}

.tooltip-close-btn {
  background: transparent;
  border: none;
  color: red;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  margin-left: 10px;
}

.tooltip-close-btn:hover {
  color: #ff0000;
}

.slider-section,
.orientation-section {
  margin-top: 10px;
  /* Adjust the value to decrease the space */
}

h2 {
  margin-bottom: 5px;
  /* Reduce the bottom margin of headings */
}

/* Initially hiding content of both sections */
#size-slider,
#size-value,
#orientation-buttons,
#corner-plots-button {
  display: none;
}

button:focus {
  outline: none;
  outline: none;
}

#landscapeAlert {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(34 57 87);
  color: white;
  z-index: 9999;
  text-align: center;
}

#landscapeAlert p {
  font-size: 24px;
  margin-top: 30%;
}

.tooltip-button {
  position: relative;
}

.tool-text {
  visibility: hidden;
  background-color: rgb(255 255 255 / 80%);
  color: black;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 0.3s;
  font-size: 18px;
}

.close-tooltip {
  font-weight: bold;
  cursor: pointer;
  margin-left: 10px;
  color: red;
  font-size: 24px;
}

/* #firsttooltip {
    position: absolute;
    z-index: 1;
    bottom: 23%;
    left: 200px;
    width: 171px;
} */

#firsttooltip {
  position: absolute;
  z-index: 1;
  bottom: 0%;
  left: 200px;
  width: 171px;
  padding: 10px;
  border: 1px solid #ccc;
}

#firsttooltip::after {
  content: "";
  position: absolute;
  bottom: 47%;
  right: 100%;
  width: 30%;
  height: 3px;
  background: rgb(255 255 255 / 80%);
}

#firsttooltip::before {
  content: "";
  position: absolute;
  right: 100%;
  bottom: 37%;
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: transparent white transparent transparent;
}

#secondtooltip {
  position: absolute;
  z-index: 1;
  bottom: 62px;
  left: 340px;
  width: 186px;
  padding: 10px;
  background: rgb(255 255 255 / 80%);
  border: 1px solid #ccc;
  font-size: 17px;
}

#secondtooltip::after {
  content: "";
  position: absolute;
  bottom: 47%;
  right: 100%;
  width: 100%;
  height: 3px;
  background: rgb(255 255 255 / 80%);
}

#secondtooltip::before {
  content: "";
  position: absolute;
  right: 100%;
  bottom: 37%;
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: transparent white transparent transparent;
}

.paraline::before {
  content: "";
  position: absolute;
  top: 47% !important;
  right: 100%;
  width: 4%;
  height: 60%;
  background: rgb(255 255 255 / 80%);
}

#thirdtooltip {
  position: absolute;
  z-index: 1;
  bottom: 38px;
  left: 244px;
  width: 186px;
  padding: 10px;
  background: rgb(255 255 255 / 80%);
  border: 1px solid #ccc;
}

#thirdtooltip::after {
  content: "";
  position: absolute;
  bottom: 47%;
  right: 100%;
  width: 70%;
  height: 3px;
  background: rgb(255 255 255 / 80%);
}

#thirdtooltip::before {
  content: "";
  position: absolute;
  right: 100%;
  bottom: 37%;
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: transparent white transparent transparent;
}

.secondparaline::before {
  content: "";
  position: absolute;
  top: 47% !important;
  right: 100%;
  width: 4%;
  height: 60%;
  background: rgb(255 255 255 / 80%);
}

#polytooltip {
  position: fixed;
  top: 20%;
  left: 49%;
  transform: translate(-50%, -50%);
  display: block;
  z-index: 1000;
  background: rgb(255 255 255 / 80%);
  padding: 10px;
  border: 1px solid #ccc;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

.polytooltip:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: rgb(255 255 255 / 80%) transparent transparent transparent;
}

.filtertooltip,
.threetooltip,
.maptooltip {
  z-index: 1;
  width: 160px;
  padding: 10px;
  background: rgb(255 255 255 / 80%);
  border: 1px solid #ccc;
  border-radius: 6px;
}

.filtertooltip {
  position: fixed;
  right: 7%;
  font-size: 14px;
  bottom: 18%;
  width: 170px;
}

.threetooltip {
  position: fixed;
  right: 7%;
  font-size: 14px;
  bottom: 10%;
  width: 14%;
}

.maptooltip {
  position: fixed;
  right: 7%;
  font-size: 14px;
  bottom: 2%;
  width: 20%;
}

.minimizetooltip {
  display: none;
  position: absolute;
  z-index: 1;
  bottom: 109%;
  left: 40%;
  width: 100%;
  padding: 2px;
  border: 1px solid #ccc;
  background: rgb(255 255 255 / 80%);
  color: black;
  justify-content: center;
  font-size: 14px;
}

.minimizetooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px;
  border-style: solid;
  border-color: rgb(255 255 255 / 80%) transparent transparent transparent;
}

.closet-tooltip {
  font-weight: bold;
  cursor: pointer;
  margin-left: 10px;
  color: red;
  font-size: 24px;
}

.central-tooltip {
  position: fixed;
  bottom: 50%;
  left: 0.2%;
  color: #000;
  padding: 10px;
  border-radius: 5px;
  font-size: 14px;
  display: none;
  z-index: 9999;
  background: rgb(255 255 255 / 80%);
  width: 14%;
}

#central-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 6%;
  transform: translateX(-50%);
  border-width: 8px;
  border-style: solid;
  border-color: rgb(255 255 255 / 80%) transparent transparent transparent;
  display: block;
  z-index: 1001;
}

#central-tooltip.tooltip-visible::after {
  display: block;
}

#central-tooltip::before {
  content: "";
  position: absolute;
  top: calc(100% + 5px);
  left: 6%;
  transform: translateX(-50%);
  height: var(--line-height, 99px);
  width: 0;
  background: none;
  border-left: 2px solid white;
  z-index: 1001;
}

.tooltip-plot-number {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-plot-area {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-plot-cost {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-plot-facing {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-plot-availability {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-amenity-name {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.tooltip-amenity-area {
  background-color: rgb(255 255 255 / 80%);
  color: black;
}

.center-line {
  position: fixed;
  bottom: 34.5%;
  left: 1%;
  width: 10px;
  height: 2px;
  background-color: white;
  display: none;
  z-index: 9998;
}
#info-card {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25);
  z-index: 1500;
  display: none;
}

#info-card h4 {
  font-weight: 600;
  letter-spacing: 1px;
}

#plot-info strong {
  color: #1b4321;
}

.plot-status-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 11px;
  border-radius: 20px;
  margin-bottom: 10px;
  text-transform: uppercase;
}

.plot-status-badge.available {
  background: #e6f6ec;
  color: #1b7f3a;
}

.plot-status-badge.sold {
  background: #fdeaea;
  color: #b91c1c;
}

.plot-status-badge.mortgage {
  background: #fff7e0;
  color: #9a6b00;
}
/*
new card code */
.plot-panel {
  position: fixed;
  right: 5%;
  top: 20%;
  width: min(90vw, 380px); /* responsive width */
  max-width: 100%;
  font-family: "Century Gothic", sans-serif;
  color: #5b5f2a;
  display: none;
}
.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}

.panel-title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1px;
  border-bottom: 2px solid #5b5f2a;
  padding-bottom: 4px;
}

.panel-icons button {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #5b5f2a;
}

.label {
  font-size: 14px;
  letter-spacing: 2px;
  position: relative;
}

.value {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1px;
}

.status-pill {
  display: inline-block;
  margin-top: 18px;
  padding: 6px 16px;
  font-size: 12px;
  letter-spacing: 1px;
  border-radius: 20px;
  text-transform: uppercase;
}

/* Status colors */
.status-pill.available {
  background: #94e897;
  color: #1f5f2a;
}
.status-pill.sold {
  background: #f05656;
  color: #fff;
}
.status-pill.mortgage {
  background: #bdc584;
  color: #3b3b1f;
}
.image-container {
  position: relative;
  width: 100vw;
  height: 100vh;
  background-color: #d5ced1;
}

#layout-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

#svg-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

#svg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.svg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.svg-container polygon {
  transition: fill 0.3s ease;
}

.svg-container polygon:hover {
  fill: rgba(148, 232, 151, 0.7);
}
  z-index: 10;
}

#svg-container polygon {
  pointer-events: auto;
  cursor: pointer;
}

.status-pill {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  text-transform: uppercase;
}

.status-pill.available {
  background: #2ecc71;
  color: #fff;
}
.status-pill.sold {
  background: #e74c3c;
  color: #fff;
}
.status-pill.mortgage {
  background: #f1c40f;
  color: #000;
}

#plot-hover-tooltip {
  position: fixed;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 4px 8px;
  font-size: 12px;
  border-radius: 6px;
  pointer-events: none;
  display: none;
  z-index: 9999;
}

@media (max-width: 768px) {
  .plot-panel {
    right: 0;
    left: 0;
    top: auto;
    bottom: 0;
    width: 100%;
    border-radius: 18px 18px 0 0;
  }

  .panel-title {
    font-size: 16px;
  }

  .value {
    font-size: 14px;
  }
}
.panel-row .label {
  font-size: 14px;
  letter-spacing: 2px;
  min-width: 160px; /* keeps label fixed */
}

.panel-row .line {
  flex: 1;
  height: 1px;
  background: #5b5a2f;
  margin: 0 12px;
  opacity: 0.6;
}

.panel-row .value {
  font-size: 16px;
  letter-spacing: 1px;
  min-width: 60px; /* keeps number aligned */
  text-align: right;
}
.plot-info-panel {
  position: fixed;
  right: 10%;
  top: 30%;
  width: 380px;
  padding: 26px 28px;
  font-family: "Century Gothic", sans-serif;
  color: #5b5a2f;
  display: none;
  z-index: 1000;
}

/* Header */
.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
}

.panel-header h3 {
  font-size: 20px;
  letter-spacing: 1.5px;
  margin: 0;
  border-bottom: 2px solid #5b5a2f;
  padding-bottom: 4px;
}

/* Audio icons */
.panel-icons button {
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
  margin-left: 12px;
  color: #5b5a2f;
}

/* Rows */
.panel-row {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
  white-space: nowrap;
}

.panel-row .label {
  min-width: 195px;
  font-size: 14px;
  letter-spacing: 2px;
}

.line {
  display: block;
  height: 1.2px;
  background: #5b5a2f;
  margin: 3px 20px;
  opacity: 0.6;
}

.panel-row .value {
  min-width: 80px;
  font-size: 16px;
  text-align: right;
}

/* Language buttons */
.lang-selector {
  display: none;
  gap: 10px;
  margin-top: 22px;
}

.lang-selector button {
  border: 1px solid #5b5a2f;
  background: transparent;
  padding: 6px 12px;
  font-size: 12px;
  letter-spacing: 1px;
  cursor: pointer;
}

.lang-selector button.active {
  background: #5b5a2f;
  color: #fff;
}
@media (max-width: 768px) {
  .plot-info-panel {
    position: fixed;
    /* left: 0; */
    right: 0;
    bottom: 0;
    top: auto;
    width: 44%;
    border-radius: 16px 16px 0 0;
    padding: 20px 18px 24px;
  }

  .panel-header {
    margin-bottom: 20px;
  }

  .panel-header h3 {
    font-size: 17px;
  }

  .panel-row {
    margin-bottom: 14px;
  }

  .panel-row .label {
    min-width: 120px;
    font-size: 12px;
  }

  .panel-row .value {
    font-size: 14px;
  }

  .lang-selector {
    justify-content: center;
  }
}
@media (max-width: 425px) {
  .image-container {
    height: 100vh;
  }

  #layout-image {
    object-fit: contain;
  }

  #svg-map {
    width: 100%;
    height: 100%;
  }
}
/* =========================
   MOBILE INFO CONTAINER
   ========================= */

#mobile-info-slot {
  display: none;
}

/* Mobile only */
/* ==============================
   MOBILE INFO PANEL – HARD RESET
   ============================== */
@media (max-width: 480px) {
  #mobile-info-slot {
    display: block;
    position: fixed;
    top: 120px; /* below compass */
    right: 12px;
    width: 46vw;
    height: 52vh;
    z-index: 2000;
    pointer-events: auto;
  }

  .plot-info-panel {
    position: relative !important;
    display: block !important;
    width: 100%;
    height: 100%;
    padding: 14px;
    overflow-y: auto;

    background: transparent; /* black area already exists */
    box-shadow: none !important;
    transform: none !important;
  }

  /* 🔴 FORCE ALL CHILDREN VISIBLE */
  .plot-info-panel *,
  .panel-header,
  .panel-row,
  .label,
  .value {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
/* ==============================
   MOBILE INFO PANEL – FONT SCALE
   ============================== */
@media (max-width: 480px) {
  .plot-info-panel {
    font-size: 12px; /* base text */
    line-height: 1.4;
  }

  .panel-header h3 {
    font-size: 14px; /* "PLOT DETAILS" */
    letter-spacing: 1.5px;
    margin-bottom: 10px;
  }

  .panel-row .label {
    font-size: 10px; /* headings like PLOT NUMBER */
    letter-spacing: 1.2px;
    margin-bottom: 2px;
  }

  .panel-row .value {
    font-size: 13px; /* values like 33, 500 s.ft */
    font-weight: 600;
  }

  /* Audio & language buttons */
  #audio-btn,
  #lang-selector button {
    font-size: 12px;
    padding: 4px 6px;
  }
}
/* =====================
   COMPARE BUTTONS
   ===================== */

.compare-btn {
  /* margin-top: 12px; */
  width: 100%;
  padding: 8px;
  background: #5b5a2f;
  color: #fff;
  border: none;
  font-size: 13px;
  cursor: pointer;
  border-radius: 4px;
}

.compare-btn:disabled {
  background: #999;
  cursor: not-allowed;
}

/* Floating view button */
.view-compare-btn {
  position: fixed;
  bottom: 16px;
  right: 16px;
  padding: 10px 14px;
  background: #2f5b3b;
  color: #fff;
  border: none;
  font-size: 13px;
  border-radius: 6px;
  z-index: 3000;
}

.view-compare-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Mobile tweak */
@media (max-width: 480px) {
  .compare-btn {
    font-size: 12px;
  }
}
/* =========================
   COMPARE MODAL
   ========================= */

.compare-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 5000;
}

.compare-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.compare-dialog {
  position: relative;
  background: #f0ebe8;
  width: 90%;
  max-width: 900px;
  max-height: 85vh;
  margin: 6vh auto;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
}

.compare-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid #ccc;
}

.compare-header h3 {
  margin: 0;
  font-size: 16px;
  letter-spacing: 1px;
}

#close-compare {
  border: none;
  background: none;
  font-size: 18px;
  cursor: pointer;
}

.compare-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  padding: 16px;
  overflow-y: auto;
}

/* Plot card */
.compare-card {
  background: #e6e0dd;
  padding: 14px;
  border-radius: 6px;
  font-size: 13px;
}

.compare-card h4 {
  margin-bottom: 10px;
  font-size: 14px;
  border-bottom: 1px solid #bbb;
  padding-bottom: 6px;
}

/* Row */
.compare-row {
  margin-bottom: 8px;
}

.compare-row span {
  font-weight: 600;
}

/* Mobile */
@media (max-width: 480px) {
  .compare-dialog {
    width: 94%;
    margin: 4vh auto;
  }

  .compare-card {
    font-size: 12px;
  }
}
/* =========================
   FILTER MODAL
   ========================= */

.filter-btn {
  position: fixed;
  bottom: 16px;
  right: 185px;
  padding: 10px 14px;
  background: #5b5a2f;
  color: #fff;
  border: none;
  font-size: 13px;
  border-radius: 6px;
  z-index: 3000;
}

.filter-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 6000;
}

.filter-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}

.filter-dialog {
  background: #f0ebe8;
  width: 92%;
  max-width: 360px;
  margin: 10vh auto;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
}

.filter-header {
  display: flex;
  justify-content: space-between;
  padding: 14px;
  border-bottom: 1px solid #ccc;
}

.filter-body {
  padding: 14px;
}

.filter-group {
  margin-bottom: 12px;
}

.filter-group label {
  font-size: 12px;
  display: block;
  margin-bottom: 4px;
}

.filter-group input,
.filter-group select {
  width: 100%;
  padding: 6px;
  font-size: 13px;
}

.filter-footer {
  display: flex;
  justify-content: space-between;
  padding: 12px;
}

.filter-footer button {
  padding: 6px 12px;
  font-size: 13px;
}
.filter-group select {
  width: 100%;
  padding: 8px;
  font-size: 13px;
  border: 1px solid #999;
  border-radius: 4px;
  background: #fff;
  appearance: auto;
  -webkit-appearance: auto;
  cursor: pointer;
}
#filter-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

/* Overlay */
.filter-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}
#filter-modal.active {
  display: flex;
}
/* Dialog */
.filter-dialog {
  position: relative;
  z-index: 2; /* ABOVE overlay */
  background: #f0ebe8;
  width: 92%;
  max-width: 360px;
  margin: 10vh auto;
  border-radius: 8px;
  pointer-events: auto; /* IMPORTANT */
}

/* =========================
   COMPARE CARD HEADER & BUTTONS
   ========================= */

/* Card header with remove button */
.compare-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.compare-card-header h4 {
  margin: 0 0 10px 0;
  font-size: 14px;
  border-bottom: 1px solid #bbb;
  padding-bottom: 6px;
  flex: 1;
}

/* Individual remove button on each card */
.remove-compare-plot {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #c0392b;
  padding: 0 4px;
  line-height: 1;
  margin-left: 8px;
  transition: color 0.2s ease;
}

.remove-compare-plot:hover {
  color: #e74c3c;
}

/* Reset All button in compare header */
.reset-compare-btn {
  padding: 5px 12px;
  background: #c0392b;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: 0.5px;
  transition: background 0.2s ease;
}

.reset-compare-btn:hover {
  background: #e74c3c;
}
