* {
  box-sizing: border-box;
}

:root {
  --booking-bg: #f7f4ef;
  --booking-card: #fff;
  --booking-line: #e5ded4;
  --booking-ink: #222;
  --booking-muted: #7d746a;
  --booking-green: #0d7f40;
  --booking-gold: #ad985c;
}

.PriceName {
  display: none;
}

.booking-page,
.PrdListBlk {
  width: 100%;
  max-width: 646px;
  margin: 0 auto;
  font-family: "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
  color: var(--booking-ink);
}

.booking-page {
  background: var(--booking-bg);
}

.booking-card {
  width: 100%;
  background: var(--booking-card);
  overflow: hidden;
}

.booking-header {
  width: 100%;
  height: 101px;
  display: flex;
  align-items: center;
  padding: 0 28px;
  background: #fff;
}

.icon-box {
  width: 53px;
  height: 53px;
  background: #147b42;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.home-icon {
  width: 32px;
  height: 32px;
}

.home-icon path {
  fill: none;
  stroke: #fff;
  stroke-width: 2.6;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.title-box {
  margin-left: 18px;
  min-width: 0;
}

.main-title {
  color: #1f1f1f;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: 0.4px;
}

.sub-title {
  margin-top: 4px;
  color: var(--booking-muted);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.4px;
}

.booking-bottom {
  width: 100%;
  height: 89px;
  background: var(--booking-bg);
  border-top: 1px solid var(--booking-line);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 27px 24px 0;
}

.bottom-title {
  color: #202020;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.bottom-desc {
  color: var(--booking-muted);
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* Product list */
.PrdListBlk,
.PrdListBlk * {
  box-sizing: border-box;
}

.PrdListBlk {
  background: var(--booking-bg);
  padding: 32px 29px 38px;
}

.PrdListBlk a {
  color: inherit;
  text-decoration: none;
}

.PrdListBlk .PrdList {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.PrdListBlk .PrdList .divCell {
  width: 100%;
  margin: 0;
  padding: 0;
}

.PrdListBlk .PrdList .divCell .liCell,
.PrdListBlk .PrdList .divCell .liCel,
.PrdListBlk .PrdCell,
.PrdListBlk .liCell,
.PrdListBlk .liCel {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--booking-line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: none;
  text-align: left;
}

.PrdList .PrdListCont {
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  text-align: left;
}

.PrdList .PrdImgURL,
.PrdList .PrdImg {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 0;
  overflow: hidden;
}

.PrdListBlk .PrdList .divCell img,
.PrdList .PrdImg img {
  display: block;
  width: 100%;
  max-width: none;
  height: 224px;
  margin: 0;
  border: 0;
  float: none;
  object-fit: cover;
}

.PrdList .pContent {
  width: 100%;
  margin: 0;
  padding: 0 21px;
  background: #fff;
  text-align: left;
}

/* 第一列：標題與價格同一列 */
.PrdList .pContent:nth-of-type(2) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
  align-items: start;
  padding-top: 22px;
  padding-bottom: 12px;
}

.PrdList .PrdTitleURL {
  display: block;
  min-width: 0;
}

.PrdList .PrdTitle {
  margin: 0;
  padding: 0;
  color: #222;
  font-family: inherit;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: 0.6px;
  word-break: break-word;
}

.PrdList .allPrice {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 2px;
  margin: 0;
  padding: 0;
  color: var(--booking-green);
  text-align: right;
  white-space: nowrap;
  line-height: 1.2;
}

.PrdList .PriceHintName,
.PrdList .PrdPrice {
  display: inline-block;
  color: var(--booking-green);
  font-family: inherit;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.4px;
}

.PrdList .PrdPriceHint {
  display: none;
}

.PrdList .DollarSign {
  display: none;
}

.PrdList .DollarUnit {
  display: inline-block;
  margin-left: 4px;
  color: #6d675f;
  font-family: inherit;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

/* 第二列：狀態 */
.PrdList .pContent:nth-of-type(3) {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 0;
  padding-bottom: 14px;
}

.PrdList .PrdStatus,
.PrdList .PrdOrder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.PrdList .PrdStatus {
  background: #dff3e5;
  color: #108044;
}

.PrdList .PrdOrder {
  background: #fbecd8;
  color: #b36a14;
}

/* 第三列：描述 */
.PrdList .pContent:nth-of-type(4) {
  padding-top: 0;
  padding-bottom: 16px;
}

.PrdList .PrdDesc {
  margin: 0;
  padding: 0;
  color: var(--booking-muted);
  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}

/* 第四列：按鈕 */
.PrdList .pContent:nth-of-type(5) {
  display: block;
  padding-top: 0;
  padding-bottom: 22px;
}

.PrdList .btn,
a.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  height: auto;
  margin: 0;
  padding: 0 16px;
  border: 0;
  border-radius: 13px;
  outline: 0;
  background: var(--booking-green);
  color: #fff;
  font-family: inherit;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 2px;
  text-align: center;
  cursor: pointer;
  overflow: hidden;
}

.PrdList .btn:hover,
a.btn:hover {
  background: var(--booking-green);
  color: #fff;
}

.PrdList .btn .more,
a.btn .more {
  display: inline-block;
}

/* 移除方案說明按鈕 */
.PrdList .pContent:nth-of-type(5)::after {
  display: none;
  content: none;
}

/* 清除舊版奇偶列左右交錯設定 */
.PrdListBlk .PrdList .divCell:nth-child(odd) img,
.PrdListBlk .PrdList .divCell:nth-child(even) img {
  width: 100%;
  max-width: none;
  float: none;
}

.PrdListBlk .PrdList .divCell:nth-child(odd) .pContent,
.PrdListBlk .PrdList .divCell:nth-child(even) .pContent {
  float: none;
  text-align: left;
}

.PrdListBlk .PrdList .divCell:nth-child(odd) .PrdDesc,
.PrdListBlk .PrdList .divCell:nth-child(even) .PrdDesc {
  text-align: left;
}

@media (max-width: 480px) {
  .booking-header {
    height: 78px;
    padding: 0 18px;
  }

  .icon-box {
    width: 43px;
    height: 43px;
    border-radius: 9px;
  }

  .home-icon {
    width: 27px;
    height: 27px;
  }

  .title-box {
    margin-left: 13px;
  }

  .main-title {
    font-size: 22px;
  }

  .sub-title {
    font-size: 20px;
  }

  .booking-bottom {
    height: 72px;
    padding: 22px 18px 0;
  }

  .bottom-title {
    font-size: 22px;
  }

  .bottom-desc {
    font-size: 20px;
  }

  .PrdListBlk {
    padding: 26px 18px 30px;
  }

  .PrdListBlk .PrdList .divCell .liCell,
  .PrdListBlk .PrdList .divCell .liCel,
  .PrdListBlk .PrdCell,
  .PrdListBlk .liCell,
  .PrdListBlk .liCel {
    border-radius: 18px;
  }

  .PrdListBlk .PrdList .divCell img,
  .PrdList .PrdImg img {
    height: 180px;
  }

  .PrdList .pContent {
    padding-left: 16px;
    padding-right: 16px;
  }

  .PrdList .pContent:nth-of-type(2) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 12px;
    align-items: start;
    padding-top: 18px;
    padding-bottom: 10px;
  }

  .PrdList .PrdTitle {
    font-size: 22px;
  }

  .PrdList .allPrice {
    justify-content: flex-end;
    margin: 0;
  }

  .PrdList .PriceHintName,
  .PrdList .PrdPrice {
    font-size: 16px;
  }

  .PrdList .DollarUnit {
    font-size: 16px;
  }

  .PrdList .PrdStatus,
  .PrdList .PrdOrder {
    min-height: 32px;
    padding: 0 12px;
    font-size: 16px;
  }

  .PrdList .PrdDesc {
    margin: 0;
    font-size: 16px;
  }

  .PrdList .btn,
  a.btn {
    min-height: 48px;
    border-radius: 12px;
    font-size: 16px;
  }
}

@media (max-width: 360px) {
  .bottom-title,
  .bottom-desc {
    font-size: 18px;
  }

  .PrdList .PriceHintName,
  .PrdList .PrdPrice {
    font-size: 16px;
  }
}
