/* === theme-v103-footer-trust-contact-phone.css === */

/* V103 — keep footer assurances in one mobile row and centre official contact details. */

/* Three assurances always stay in a single, balanced row. */
html:root body .compact-footer-trust,
html:root body .luxury-footer-trust.compact-footer-trust{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  gap:10px!important;
  padding-inline:0!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html:root body .compact-footer-trust span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  gap:6px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
html:root body .compact-footer-trust span::before{
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
}

/* Centre Contact heading and every complete icon + text line on PC and mobile. */
html:root body .compact-contact-col,
html:root body .compact-contact-col h4,
html:root body .compact-contact-col .footer-contact-list{
  width:100%!important;
  text-align:center!important;
}
html:root body .compact-contact-col .footer-contact-list{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  margin-inline:auto!important;
}
html:root body .compact-contact-col .footer-contact-row,
html:root body .compact-contact-col a.footer-contact-row,
html:root body .compact-contact-col p.footer-contact-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  margin:7px auto!important;
  padding:0 4px!important;
  gap:9px!important;
  text-align:center!important;
  white-space:normal!important;
  transform:none!important;
}
html:root body .compact-contact-col .footer-contact-icon{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 18px!important;
  width:18px!important;
  min-width:18px!important;
  margin:0!important;
  color:#f6bd55!important;
  text-align:center!important;
}
html:root body .compact-contact-col .footer-contact-row > span:last-child{
  display:inline-block!important;
  flex:0 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 30px)!important;
  color:#fff!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
html:root body .compact-contact-col .compact-newsletter{
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:640px){
  html:root body .compact-footer-trust,
  html:root body .luxury-footer-trust.compact-footer-trust{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
    margin-top:20px!important;
    padding:11px 0!important;
    font-size:clamp(.68rem,2.75vw,.78rem)!important;
    letter-spacing:0!important;
    overflow:hidden!important;
  }
  html:root body .compact-footer-trust span{
    gap:4px!important;
    line-height:1.12!important;
  }
  html:root body .compact-footer-trust span::before{
    flex-basis:15px!important;
    width:15px!important;
    height:15px!important;
    min-width:15px!important;
    font-size:.62rem!important;
  }
  html:root body .compact-contact-col .footer-contact-row,
  html:root body .compact-contact-col a.footer-contact-row,
  html:root body .compact-contact-col p.footer-contact-row{
    width:100%!important;
    max-width:100%!important;
    margin:8px auto!important;
    padding-inline:8px!important;
    font-size:.92rem!important;
    line-height:1.45!important;
  }
  html:root body .compact-contact-col .footer-contact-row > span:last-child{
    max-width:calc(100% - 28px)!important;
    text-align:center!important;
  }
}

@media(max-width:360px){
  html:root body .compact-footer-trust,
  html:root body .luxury-footer-trust.compact-footer-trust{
    font-size:.63rem!important;
    gap:1px!important;
  }
  html:root body .compact-footer-trust span{
    gap:2px!important;
  }
  html:root body .compact-footer-trust span::before{
    flex-basis:13px!important;
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
  }
}

/* === theme-v105-package-rich-content-mobile-order.css === */

/* V105 — package rich-text list format and mobile-only content order */
.package-story-v105{
  display:grid;
  gap:20px;
}
.package-story-desktop-v105{margin-top:25px}
.package-story-mobile-v105{display:none}
.package-story-panel-v105{margin:0}
.package-story-panel-v105 h2{
  margin:0 0 16px;
  color:#063844;
  font-size:clamp(1.45rem,2.2vw,1.8rem);
  line-height:1.18;
}
.package-rich-content-v105{
  color:#304b52;
  font-size:1rem;
  line-height:1.78;
}
.package-rich-paragraph-v105{
  margin:0 0 14px;
  line-height:1.78;
}
.package-rich-paragraph-v105:last-child{margin-bottom:0}
.package-overview-text-v105 .package-rich-paragraph-v105{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
.package-rich-list-v105{
  display:grid;
  gap:10px;
  margin:13px 0 17px;
  padding:0;
  list-style:none;
  text-align:left;
}
.package-rich-list-v105:last-child{margin-bottom:0}
.package-rich-list-v105 li{
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:#183d45;
  text-align:left;
  line-height:1.58;
}
.package-rich-list-icon-v105{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  margin-top:1px;
  border-radius:50%;
  background:#063844;
  color:#f6bd55;
  font-size:1.05rem;
  font-weight:800;
  line-height:1;
}
.package-day-list-v105{display:grid;gap:0}
.package-day-v105{
  padding:18px 0;
  border-bottom:1px solid var(--line,rgba(6,56,68,.13));
}
.package-day-v105:first-child{padding-top:2px}
.package-day-v105:last-child{padding-bottom:0;border-bottom:0}
.package-day-heading-v105{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:9px;
  color:#063844;
}
.package-day-heading-v105>span{
  flex:0 0 auto;
  border-radius:999px;
  background:#063844;
  color:#f6bd55;
  padding:5px 10px;
  font-size:.76rem;
  font-weight:800;
  line-height:1;
}
.package-day-heading-v105>strong{font-size:1.02rem;line-height:1.4}
.package-day-text-v105 .package-rich-paragraph-v105{text-align:left}

/* Admin guidance for the ## list syntax. */
.package-overview-editor-v105>label{
  display:grid;
  gap:7px;
  color:#063844;
  font-weight:800;
}
.package-overview-editor-v105 textarea{min-height:190px;resize:vertical;line-height:1.6}
.package-format-guide-v105{
  display:block;
  margin-top:7px;
  border:1px solid rgba(246,189,85,.72);
  border-radius:12px;
  background:#fff9eb;
  color:#425b61 !important;
  padding:10px 12px;
  font-size:.86rem;
  font-weight:500 !important;
  line-height:1.55 !important;
}
.package-format-guide-v105 b{color:#063844}
.package-format-guide-v105 code,
.field-format-note-v105 code{
  border-radius:6px;
  background:#063844;
  color:#f6bd55;
  padding:1px 6px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-weight:800;
}
.field-format-note-v105{
  display:block;
  color:#60757c;
  font-size:.78rem;
  font-weight:500;
  line-height:1.45;
}

@media (max-width:900px){
  .page-package-details aside .form-card{position:static !important;top:auto !important}
  .package-story-desktop-v105{display:none}
  .package-story-mobile-v105{
    display:grid;
    gap:14px;
    margin-top:18px;
  }
  .package-story-mobile-v105 .package-story-panel-v105{
    border:1px solid rgba(6,56,68,.12);
    border-radius:18px;
    background:linear-gradient(180deg,#fff 0%,#f7fbfa 100%);
    padding:17px;
    box-shadow:none;
  }
  .package-story-mobile-v105 .package-story-panel-v105 h2{
    margin-bottom:13px;
    font-size:1.35rem;
  }
  .package-story-mobile-v105 .package-rich-content-v105,
  .package-story-mobile-v105 .package-rich-paragraph-v105{font-size:.95rem;line-height:1.68}
  .package-story-mobile-v105 .package-day-v105{padding:15px 0}
  .package-story-mobile-v105 .package-day-heading-v105{align-items:flex-start;flex-direction:column;gap:7px}
  .package-story-mobile-v105 .package-day-heading-v105>strong{font-size:.98rem}
  .package-story-mobile-v105 .package-rich-list-v105{gap:9px}
  .package-story-mobile-v105 .package-rich-list-v105 li{grid-template-columns:23px minmax(0,1fr);gap:9px}
  .package-story-mobile-v105 .package-rich-list-icon-v105{width:21px;height:21px;font-size:.95rem}
  .package-format-guide-v105{font-size:.82rem;padding:9px 10px}
}

/* === theme-v106-mobile-story-flat-square-list.css === */

/* V106 — mobile full-width tour story and square gold list arrows */

/* ## list markers: warm-gold square with a precisely centred Deep Teal arrow. */
.package-rich-list-icon-v105{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:5px;
  background:#f6bd55;
  color:#063844;
  box-shadow:0 4px 10px rgba(6,56,68,.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:0;
  overflow:hidden;
}
.package-rich-list-icon-v105 svg{
  display:block;
  width:14px;
  height:14px;
  flex:0 0 14px;
  fill:none;
  stroke:#063844;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:900px){
  /* Match Included / Not Included: no second card/container around the story. */
  .page-package-details .package-story-mobile-v105{
    width:100%;
    margin:22px 0 0;
    gap:23px;
  }

  .page-package-details .package-story-mobile-v105 .package-story-panel-v105{
    width:100%;
    margin:0;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .page-package-details .package-story-mobile-v105 .package-story-panel-v105 h2{
    margin:0 0 13px;
    padding:0;
    font-size:1.28rem;
    line-height:1.25;
    text-align:left;
  }

  .page-package-details .package-story-mobile-v105 .package-rich-content-v105,
  .page-package-details .package-story-mobile-v105 .package-rich-paragraph-v105{
    width:100%;
    max-width:none;
  }

  .page-package-details .package-story-mobile-v105 .package-rich-list-v105 li{
    grid-template-columns:24px minmax(0,1fr);
    gap:10px;
  }

  .page-package-details .package-story-mobile-v105 .package-rich-list-icon-v105{
    width:24px;
    height:24px;
    min-width:24px;
    border-radius:5px;
    background:#f6bd55;
    color:#063844;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:0;
  }

  .page-package-details .package-story-mobile-v105 .package-rich-list-icon-v105 svg{
    width:14px;
    height:14px;
    flex-basis:14px;
    stroke:#063844;
  }

  /* Keep the day plan open and wide, with only a light divider between days. */
  .page-package-details .package-story-mobile-v105 .package-day-v105{
    padding:15px 0;
    border-bottom:1px solid rgba(6,56,68,.13);
  }
  .page-package-details .package-story-mobile-v105 .package-day-v105:first-child{padding-top:0}
  .page-package-details .package-story-mobile-v105 .package-day-v105:last-child{
    padding-bottom:0;
    border-bottom:0;
  }
}

/* V108 — keep mobile Day label and itinerary title on one compact row. */
@media (max-width:900px){
  .page-package-details .package-story-mobile-v105 .package-day-heading-v105{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    gap:8px !important;
    width:100%;
    min-width:0;
    overflow:hidden;
    margin-bottom:9px;
  }

  .page-package-details .package-story-mobile-v105 .package-day-heading-v105 > span{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .page-package-details .package-story-mobile-v105 .package-day-heading-v105 > strong{
    display:block;
    flex:1 1 auto;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(.86rem,3.6vw,.98rem);
    line-height:1.25;
  }
}

/* === theme-v149-tourist-places.css === */

/* TripWithEra Tourist Places Directory — v149 */
:root{--tp-teal:#063844;--tp-green:#0a5c49;--tp-gold:#f6bd55;--tp-mint:#eef6f4;--tp-white:#fff;--tp-ink:#102a31;--tp-muted:#63767b;--tp-line:#dbe8e5;--tp-shadow:0 18px 50px rgba(6,56,68,.11)}
.tourist-directory-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#052f39,#0a5c49);color:#fff;padding:76px 0 62px}
.tourist-directory-hero:before,.tourist-directory-hero:after{content:"";position:absolute;border-radius:50%;background:rgba(246,189,85,.12)}
.tourist-directory-hero:before{width:390px;height:390px;right:-120px;top:-180px}.tourist-directory-hero:after{width:240px;height:240px;left:-90px;bottom:-160px}
.tourist-directory-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:48px;align-items:end}
.tourist-directory-hero .eyebrow{color:var(--tp-gold)}.tourist-directory-hero h1{font-size:clamp(2.25rem,5vw,4.3rem);line-height:1.02;margin:10px 0 16px;color:#fff;max-width:760px}.tourist-directory-hero p{font-size:1.08rem;max-width:720px;color:rgba(255,255,255,.82);margin:0}
.tourist-hero-search{display:flex;padding:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:18px;backdrop-filter:blur(10px)}.tourist-hero-search input{flex:1;min-width:0;border:0;background:#fff;border-radius:12px;padding:15px 16px;font:inherit;color:var(--tp-ink)}.tourist-hero-search .btn{white-space:nowrap;margin-left:8px;background:var(--tp-gold);color:#19323a;border-color:var(--tp-gold)}
.tourist-destination-strip{background:#fff;padding-top:34px}.tourist-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.tourist-section-heading span{display:block;color:var(--tp-green);font-size:.75rem;font-weight:800;letter-spacing:.14em}.tourist-section-heading h2{margin:5px 0 0;font-size:clamp(1.7rem,3vw,2.55rem);color:var(--tp-ink)}.tourist-section-heading>p,.tourist-section-heading>small{max-width:540px;color:var(--tp-muted);text-align:right}
.tourist-destination-scroll{display:flex;gap:12px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:thin}.tourist-destination-chip{flex:0 0 auto;min-width:200px;padding:16px 19px;border:1px solid var(--tp-line);border-radius:16px;background:linear-gradient(145deg,#fff,#f6fbfa);box-shadow:0 7px 22px rgba(6,56,68,.05);color:var(--tp-ink);text-decoration:none}.tourist-destination-chip span{display:block;font-weight:800;font-size:1rem}.tourist-destination-chip small{display:block;margin-top:4px;color:var(--tp-muted)}.tourist-destination-chip:hover,.tourist-destination-chip.active{border-color:var(--tp-gold);transform:translateY(-2px);box-shadow:0 12px 30px rgba(6,56,68,.1)}
.tourist-directory-content{background:#f5faf9}.tourist-filter-panel{display:grid;grid-template-columns:1.35fr repeat(6,minmax(128px,1fr)) auto auto;gap:10px;align-items:end;padding:18px;background:#fff;border:1px solid var(--tp-line);border-radius:20px;box-shadow:0 10px 32px rgba(6,56,68,.07);margin-bottom:30px}.tourist-filter-panel .field{min-width:0}.tourist-filter-panel label{display:block;margin:0 0 6px;font-size:.72rem;font-weight:800;color:var(--tp-muted);text-transform:uppercase;letter-spacing:.06em}.tourist-filter-panel input,.tourist-filter-panel select{width:100%;height:44px;border:1px solid #d7e4e1;border-radius:10px;background:#fff;padding:0 11px;font:inherit;color:var(--tp-ink)}.tourist-filter-panel .btn{height:44px;padding:0 17px;white-space:nowrap}
.tourist-results-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:34px 0 20px}.tourist-results-head span{color:var(--tp-green);font-weight:800;font-size:.72rem;letter-spacing:.14em}.tourist-results-head h2{margin:4px 0 0;color:var(--tp-ink)}.tourist-results-head p{max-width:520px;margin:0;text-align:right;color:var(--tp-muted);font-size:.9rem}
.tourist-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tourist-place-card{overflow:hidden;background:#fff;border:1px solid var(--tp-line);border-radius:22px;box-shadow:0 12px 38px rgba(6,56,68,.08);transition:.25s}.tourist-place-card:hover{transform:translateY(-5px);box-shadow:var(--tp-shadow)}.tourist-place-image{position:relative;display:block;aspect-ratio:8/5;overflow:hidden;background:var(--tp-mint)}.tourist-place-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.tourist-place-card:hover .tourist-place-image img{transform:scale(1.045)}.tourist-place-image>b{position:absolute;top:14px;right:14px;padding:7px 10px;border-radius:999px;background:var(--tp-gold);color:#17333b;font-size:.65rem;letter-spacing:.08em}.tourist-type-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e8f4f1;color:var(--tp-green);font-size:.72rem;font-weight:800}.tourist-place-image .tourist-type-pill{position:absolute;left:14px;bottom:14px;background:rgba(6,56,68,.88);color:#fff;backdrop-filter:blur(8px)}
.tourist-place-card-body{padding:19px}.tourist-card-location{display:flex;justify-content:space-between;gap:10px;color:var(--tp-green);font-size:.77rem;font-weight:700}.tourist-card-location small{color:var(--tp-muted);text-align:right}.tourist-place-card h3{margin:10px 0 8px;font-size:1.32rem}.tourist-place-card h3 a{color:var(--tp-ink);text-decoration:none}.tourist-place-card p{margin:0;color:var(--tp-muted);font-size:.92rem;line-height:1.58;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tourist-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.tourist-card-tags span,.tourist-chip-list span{padding:5px 9px;border-radius:999px;background:#f1f7f6;color:#50676c;font-size:.7rem;font-weight:700}.tourist-card-rating{display:flex;align-items:center;gap:14px;padding-top:14px;border-top:1px solid #e7efed}.tourist-card-rating>div{display:grid;grid-template-columns:auto auto;align-items:baseline}.tourist-card-rating strong{font-size:1.5rem;color:var(--tp-green)}.tourist-card-rating span{font-size:.8rem;color:var(--tp-muted)}.tourist-card-rating small{grid-column:1/-1;color:var(--tp-muted);font-size:.65rem}.tourist-card-rating .btn{margin-left:auto}.tourist-empty{grid-column:1/-1}
.destination-guide-hero{position:relative;min-height:520px;display:flex;align-items:end;background-image:linear-gradient(180deg,rgba(4,31,38,.08),rgba(4,31,38,.88)),var(--destination-cover);background-position:center;background-size:cover;color:#fff}.destination-guide-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,38,.72),rgba(4,31,38,.08))}.destination-guide-hero-copy{position:relative;z-index:1;padding-bottom:54px}.destination-guide-hero-copy>span{color:var(--tp-gold);font-weight:800;letter-spacing:.16em;font-size:.76rem}.destination-guide-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.95;margin:12px 0 18px;color:#fff}.destination-guide-hero p{max-width:760px;font-size:1.1rem;color:rgba(255,255,255,.85)}.destination-guide-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.destination-guide-stats div{min-width:150px;padding:13px 16px;border:1px solid rgba(255,255,255,.22);background:rgba(6,56,68,.38);border-radius:13px;backdrop-filter:blur(8px)}.destination-guide-stats strong,.destination-guide-stats small{display:block}.destination-guide-stats strong{font-size:1.15rem}.destination-guide-stats small{color:rgba(255,255,255,.68);margin-top:3px}
.destination-guide-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:34px;align-items:start}.destination-guide-main,.destination-quick-card,.destination-reach-card{background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:28px;box-shadow:0 12px 35px rgba(6,56,68,.07)}.destination-guide-main h2,.destination-reach-card h2{color:var(--tp-ink)}.rich-copy{color:#425b61;line-height:1.82}.destination-quick-card{position:sticky;top:90px}.destination-quick-card h3{margin-top:0}.destination-quick-card>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--tp-line)}.destination-quick-card span{color:var(--tp-muted)}.destination-quick-card strong{text-align:right;color:var(--tp-ink)}.destination-reach-section{background:var(--tp-mint)}.destination-reach-card{background:linear-gradient(135deg,#fff,#f5fbf9)}
.tourist-place-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.tourist-place-hero-image{position:absolute;inset:0}.tourist-place-hero-image img{width:100%;height:100%;object-fit:cover}.tourist-place-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,29,35,.05) 10%,rgba(3,29,35,.86) 90%),linear-gradient(90deg,rgba(3,29,35,.5),transparent 65%)}.tourist-place-hero-copy{position:relative;z-index:1;padding-bottom:54px}.tourist-place-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:.8rem;color:rgba(255,255,255,.78)}.tourist-place-breadcrumb a{color:#fff}.tourist-place-hero .tourist-type-pill{background:var(--tp-gold);color:#1a343b}.tourist-place-hero h1{font-size:clamp(2.9rem,7vw,6.4rem);line-height:.96;margin:14px 0;color:#fff;max-width:980px}.tourist-place-hero-copy>p{max-width:780px;font-size:1.07rem;color:rgba(255,255,255,.86)}.tourist-place-hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.tourist-place-hero-meta span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(6,56,68,.34);font-size:.78rem;backdrop-filter:blur(8px)}
.tourist-place-overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:32px;align-items:start}.tourist-place-overview{background:#fff;border:1px solid var(--tp-line);border-radius:22px;padding:30px}.tourist-place-overview h2{color:var(--tp-ink)}.tourist-chip-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tourist-rating-summary{border-radius:22px;overflow:hidden;box-shadow:var(--tp-shadow);position:sticky;top:90px}.tourist-expert-score{padding:28px;background:linear-gradient(145deg,var(--tp-teal),var(--tp-green));color:#fff}.tourist-expert-score>span,.tourist-traveller-score>span{display:block;font-size:.7rem;font-weight:800;letter-spacing:.12em}.tourist-expert-score>strong,.tourist-traveller-score>strong{display:block;font-size:4rem;line-height:1;margin:13px 0 8px}.tourist-expert-score>strong small,.tourist-traveller-score>strong small{font-size:1.1rem}.tourist-expert-score p,.tourist-traveller-score p{margin:0;opacity:.72}.tourist-traveller-score{padding:22px 28px;background:#fff;color:var(--tp-ink);border:1px solid var(--tp-line);border-top:0}.tourist-traveller-score>strong{font-size:2.4rem;color:var(--tp-green)}.tourist-last-verified{display:flex;align-items:center;gap:12px;padding:16px 22px;background:#fff8e9;border:1px solid #f0d99e}.tourist-last-verified>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--tp-gold);color:#17333b;font-weight:900}.tourist-last-verified small,.tourist-last-verified strong{display:block}.tourist-last-verified small{color:#80704d}
.tourist-info-section{background:#f4f9f8}.tourist-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tourist-info-grid>div{min-height:100px;padding:16px;border:1px solid var(--tp-line);border-radius:15px;background:#fff}.tourist-info-grid span,.tourist-address-row span{display:block;color:var(--tp-muted);font-size:.72rem;text-transform:uppercase;font-weight:800;letter-spacing:.05em}.tourist-info-grid strong,.tourist-address-row strong{display:block;margin-top:8px;color:var(--tp-ink);font-size:.94rem}.tourist-address-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:14px;padding:18px 20px;background:#fff;border:1px solid var(--tp-line);border-radius:15px}
.tourist-rating-section{background:#fff}.tourist-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tourist-rating-card{padding:20px;border:1px solid var(--tp-line);border-radius:17px;background:linear-gradient(145deg,#fff,#f8fbfa)}.tourist-rating-card.is-na{opacity:.72;background:#f6f7f7}.tourist-rating-card-head{display:flex;justify-content:space-between;gap:18px}.tourist-rating-card h3{margin:0;color:var(--tp-ink);font-size:1rem}.tourist-rating-card p{margin:5px 0 0;color:var(--tp-muted);font-size:.79rem}.tourist-rating-card-head>strong{flex:0 0 auto;color:var(--tp-green);font-size:1.1rem}.tourist-score-track{height:7px;background:#dfeae7;border-radius:999px;overflow:hidden;margin-top:15px}.tourist-score-track span{display:block;height:100%;background:linear-gradient(90deg,var(--tp-green),var(--tp-gold));border-radius:inherit}.tourist-rating-reason{padding-top:11px!important;margin-top:12px!important;border-top:1px solid var(--tp-line);font-size:.85rem!important;color:#38545a!important}
.tourist-feature-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tourist-feature-columns article{padding:24px;border:1px solid var(--tp-line);border-radius:20px;background:#fff}.tourist-feature-columns h2{font-size:1.35rem;color:var(--tp-ink)}.tourist-feature-list{display:flex;flex-wrap:wrap;gap:8px}.tourist-feature-list span{padding:8px 10px;border-radius:10px;background:#edf7f4;color:var(--tp-green);font-size:.78rem;font-weight:700}
.tourist-place-gallery-section{background:#f4f9f8}.tourist-place-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tourist-place-gallery a{aspect-ratio:4/3;overflow:hidden;border-radius:15px;background:#dbe8e5}.tourist-place-gallery img{width:100%;height:100%;object-fit:cover;transition:.3s}.tourist-place-gallery a:hover img{transform:scale(1.05)}
.tourist-nearby-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tourist-nearby-grid article{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:12px;border:1px solid var(--tp-line);border-radius:17px;background:#fff}.tourist-nearby-grid img{width:125px;height:105px;object-fit:cover;border-radius:12px}.tourist-nearby-grid span{font-size:.67rem;color:var(--tp-green);font-weight:800;text-transform:uppercase}.tourist-nearby-grid h3{margin:4px 0}.tourist-nearby-grid h3 a{color:var(--tp-ink)}.tourist-nearby-grid p{margin:0;color:var(--tp-muted);font-size:.78rem}.tourist-nearby-grid strong{display:block;margin-top:8px;color:var(--tp-green)}
.tourist-related-packages{background:#f5faf9}.tourist-review-section{background:#edf6f4}.tourist-review-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:28px;align-items:start}.tourist-review-list{display:grid;gap:12px}.tourist-review-list article{padding:20px;border:1px solid var(--tp-line);border-radius:17px;background:#fff}.tourist-review-list article>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tourist-review-list article small{margin-left:auto;color:var(--tp-muted)}.tourist-review-list article>b{display:block;color:#efac23;margin:9px 0}.tourist-review-list article>b i{color:#cdd8d5;font-style:normal}.tourist-review-list article>p{margin:0;color:#435a60}.tourist-verified-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#def3e8;color:#167047;font-size:.63rem;font-weight:800}.tourist-review-form-card{position:sticky;top:90px;padding:25px;border-radius:20px;background:#fff;border:1px solid var(--tp-line);box-shadow:var(--tp-shadow)}.tourist-review-form-card>span{font-size:.7rem;color:var(--tp-green);font-weight:800;letter-spacing:.12em}.tourist-review-form-card h2{color:var(--tp-ink)}.tourist-review-form-card label{display:block;margin:14px 0 6px;font-weight:700}.tourist-review-form-card .btn{width:100%;margin-top:12px}.tourist-review-form-card small{display:block;margin-top:10px;color:var(--tp-muted)}
/* Admin */
.tourist-admin-top{gap:22px}.tourist-admin-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:9px;align-items:center}.tourist-admin-actions .btn{white-space:nowrap}.tourist-admin-editor{padding:0!important;overflow:hidden}.tourist-editor-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:23px 26px;background:linear-gradient(135deg,var(--tp-teal),var(--tp-green));color:#fff}.tourist-editor-heading span{color:var(--tp-gold);font-size:.7rem;font-weight:800;letter-spacing:.14em}.tourist-editor-heading h2{color:#fff;margin:5px 0}.tourist-editor-heading p{margin:0;color:rgba(255,255,255,.75)}.tourist-editor-heading .text-link{color:#fff}.tourist-editor-section{padding:24px 26px;border-top:1px solid var(--tp-line)}.tourist-editor-section:first-of-type{border-top:0}.tourist-editor-section>h3{margin:0 0 17px;color:var(--tp-ink)}.tourist-section-note{margin:-9px 0 18px;color:var(--tp-muted)}.tourist-image-upload{display:grid!important;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.tourist-image-upload img{width:280px;max-height:180px;object-fit:cover;border-radius:14px}.tourist-current-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tourist-current-gallery label{position:relative;border:1px solid var(--tp-line);border-radius:12px;overflow:hidden;background:#fff}.tourist-current-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.tourist-current-gallery span{display:block;padding:7px;font-size:.72rem}.check-line{display:inline-flex!important;gap:8px;align-items:center}.tourist-form-actions,.tourist-sticky-save{display:flex!important;gap:10px}.tourist-check-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.tourist-check-groups>div{padding:17px;border:1px solid var(--tp-line);border-radius:15px;background:#f9fcfb}.tourist-check-groups h4{margin:0 0 12px}.tourist-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tourist-checkbox-grid label{font-size:.78rem;color:#435a60}.tourist-rating-editor{display:grid;gap:10px}.tourist-rating-input{display:grid;grid-template-columns:minmax(230px,.9fr) 110px minmax(260px,1.1fr);gap:12px;align-items:center;padding:13px;border:1px solid var(--tp-line);border-radius:14px;background:#fbfdfd}.tourist-rating-input label{font-weight:800;color:var(--tp-ink)}.tourist-rating-input small{display:block;color:var(--tp-muted);font-size:.7rem;margin-top:3px}.tourist-rating-input textarea{min-height:58px}.tourist-rating-average-preview{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:13px}.tourist-rating-average-preview span{font-weight:700;color:var(--tp-muted)}.tourist-rating-average-preview strong{font-size:1.8rem;color:var(--tp-green)}.tourist-multi-select{min-height:150px}.tourist-nearby-editor{display:grid;gap:8px}.tourist-nearby-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px minmax(220px,.8fr);gap:8px}.tourist-sticky-save{position:sticky;bottom:0;z-index:4;padding:15px 26px;background:rgba(255,255,255,.95);border-top:1px solid var(--tp-line);backdrop-filter:blur(10px)}.tourist-table-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}.tourist-table-head h2{margin:0}.tourist-table-head p{margin:4px 0 0;color:var(--tp-muted)}.tourist-admin-name{display:flex;align-items:center;gap:11px;min-width:210px}.tourist-admin-name img{width:70px;height:50px;object-fit:cover;border-radius:9px}.tourist-admin-name strong,.tourist-admin-name small{display:block}.tourist-admin-name small{color:var(--tp-muted)}.tourist-admin-table td>small{display:block;color:var(--tp-muted);margin-top:4px}.table-actions{display:flex;gap:10px;flex-wrap:wrap}.text-link.danger{color:#b33a3a}
@media(max-width:1180px){.tourist-filter-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-search-wide{grid-column:span 2}.tourist-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tourist-current-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-rating-input{grid-template-columns:minmax(200px,.8fr) 100px minmax(220px,1fr)}}
@media(max-width:850px){.tourist-directory-hero{padding:54px 0 42px}.tourist-directory-hero-inner{grid-template-columns:1fr;gap:26px}.tourist-place-grid,.tourist-rating-grid,.tourist-feature-columns,.tourist-review-layout,.destination-guide-layout,.tourist-place-overview-grid{grid-template-columns:1fr}.tourist-rating-summary,.destination-quick-card,.tourist-review-form-card{position:static}.tourist-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-place-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-section-heading,.tourist-results-head{align-items:start;flex-direction:column}.tourist-section-heading>p,.tourist-section-heading>small,.tourist-results-head p{text-align:left}.tourist-check-groups{grid-template-columns:1fr}.tourist-rating-input{grid-template-columns:1fr 100px}.tourist-rating-input textarea{grid-column:1/-1}.tourist-nearby-row{grid-template-columns:1fr 100px}.tourist-nearby-row input:last-child{grid-column:1/-1}.tourist-current-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.tourist-image-upload{grid-template-columns:1fr}.tourist-image-upload img{width:100%;max-height:260px}}
@media(max-width:640px){.tourist-directory-hero h1{font-size:2.55rem}.tourist-hero-search{display:grid;gap:8px}.tourist-hero-search .btn{margin:0}.tourist-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:13px}.tourist-filter-panel .tourist-search-wide{grid-column:1/-1}.tourist-filter-panel .btn{width:100%}.tourist-place-grid{grid-template-columns:1fr}.tourist-place-hero{min-height:560px}.tourist-place-hero h1{font-size:3rem}.tourist-place-hero-copy{padding-bottom:34px}.tourist-info-grid{grid-template-columns:1fr 1fr}.tourist-info-grid>div{min-height:90px;padding:13px}.tourist-address-row{align-items:flex-start;flex-direction:column}.tourist-nearby-grid{grid-template-columns:1fr}.tourist-nearby-grid article{grid-template-columns:100px 1fr}.tourist-nearby-grid img{width:100px;height:92px}.tourist-admin-top{align-items:flex-start!important}.tourist-admin-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr!important}.tourist-admin-actions .btn{min-width:0;padding-left:8px;padding-right:8px}.tourist-editor-heading{padding:18px;flex-direction:column}.tourist-editor-section{padding:18px}.tourist-current-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-checkbox-grid{grid-template-columns:1fr 1fr}.tourist-rating-input{grid-template-columns:1fr 86px}.tourist-nearby-row{grid-template-columns:1fr 86px}.tourist-sticky-save{padding:12px 18px}.tourist-card-rating{align-items:flex-end}.tourist-card-rating>div:nth-child(2){display:none}.destination-guide-hero{min-height:470px}.destination-guide-hero h1{font-size:3.2rem}}
@media(max-width:430px){.tourist-info-grid{grid-template-columns:1fr}.tourist-checkbox-grid{grid-template-columns:1fr}.tourist-rating-input{grid-template-columns:1fr}.tourist-rating-input textarea{grid-column:auto}.tourist-nearby-row{grid-template-columns:1fr}.tourist-nearby-row input:last-child{grid-column:auto}}

/* === theme-v150-tourist-place-manager.css === */

/* TripWithEra Tourist Place Easy Manager — v150 */
.tourist-editor-step-note{display:flex;align-items:center;gap:14px;margin:0;padding:14px 26px;background:linear-gradient(90deg,#fff8e8,#fffdf8);border-top:1px solid #f2dca8;border-bottom:1px solid #f2dca8;color:#51666b}.tourist-editor-step-note strong{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#f6bd55;color:#14313a;font-size:.75rem}.tourist-editor-step-note span{font-size:.86rem}
.tourist-category-picker{padding:14px;border:1px solid var(--tp-line,#dbe8e5);border-radius:15px;background:#f9fcfb}.tourist-category-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:12px}.tourist-category-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding:2px 3px 5px}.tourist-category-options label{display:block;cursor:pointer}.tourist-category-options label[hidden]{display:none!important}.tourist-category-options input{position:absolute;opacity:0;pointer-events:none}.tourist-category-options span{display:flex;min-height:38px;align-items:center;justify-content:center;padding:7px 9px;border:1px solid #d6e5e1;border-radius:10px;background:#fff;color:#52696f;text-align:center;font-size:.74rem;font-weight:750;transition:.18s}.tourist-category-options input:checked+span{border-color:#0a5c49;background:#0a5c49;color:#fff;box-shadow:0 6px 16px rgba(10,92,73,.18)}.tourist-category-picker>small{display:block;margin-top:10px;color:#63767b}.tourist-category-picker>small b{color:#0a5c49}
.tourist-filter-panel{grid-template-columns:minmax(180px,1.35fr) minmax(155px,1fr) minmax(190px,1.15fr) repeat(4,minmax(125px,.9fr)) auto auto}.tourist-filter-categories{position:relative}.tourist-filter-category-picker{position:relative}.tourist-filter-category-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;height:44px;padding:0 12px;border:1px solid #d7e4e1;border-radius:10px;background:#fff;color:#102a31;cursor:pointer;list-style:none}.tourist-filter-category-picker>summary::-webkit-details-marker{display:none}.tourist-filter-category-picker[open]>summary{border-color:#0a5c49;box-shadow:0 0 0 3px rgba(10,92,73,.1)}.tourist-filter-category-popover{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(420px,88vw);padding:12px;border:1px solid #dbe8e5;border-radius:15px;background:#fff;box-shadow:0 20px 45px rgba(6,56,68,.18)}.tourist-category-options-public{grid-template-columns:repeat(2,minmax(0,1fr));max-height:290px;margin-top:10px}.tourist-category-popover-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #e5efed}.tourist-active-category-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:-15px 0 26px;color:#63767b;font-size:.78rem}.tourist-active-category-filters b{padding:6px 9px;border-radius:999px;background:#e9f5f2;color:#0a5c49}
.tourist-step-kicker{display:block;margin-bottom:5px;color:#0a5c49;font-size:.7rem;font-weight:850;letter-spacing:.13em}.tourist-photo-guide{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1.55fr);gap:22px;align-items:center;background:linear-gradient(135deg,#063844,#0a5c49);color:#fff}.tourist-photo-guide>div{display:grid;gap:3px;padding:14px 18px;border:1px solid rgba(246,189,85,.42);border-radius:14px;background:rgba(0,0,0,.13)}.tourist-photo-guide span{color:#f6bd55;font-size:.68rem;font-weight:850;letter-spacing:.13em}.tourist-photo-guide strong{font-size:1.1rem}.tourist-photo-guide small{color:rgba(255,255,255,.76)}.tourist-photo-guide p{margin:0;color:rgba(255,255,255,.82);line-height:1.65}.tourist-photo-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tourist-photo-upload-card{min-width:0}.tourist-photo-upload-form{display:grid;gap:11px;margin-top:16px}.tourist-photo-upload-form>label{font-weight:800;color:#102a31}.tourist-photo-upload-form>small{color:#63767b}.tourist-photo-upload-form>.btn{justify-self:start}.tourist-cover-preview{position:relative;overflow:hidden;border-radius:17px;background:#eef6f4}.tourist-cover-preview>picture,.tourist-cover-preview>img{display:block}.tourist-cover-preview img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}.tourist-cover-preview form{position:absolute;right:12px;bottom:12px}.tourist-photo-empty{display:grid;place-items:center;min-height:230px;padding:25px;border:2px dashed #cbded9;border-radius:17px;background:#f7fbfa;text-align:center}.tourist-photo-empty strong{color:#102a31}.tourist-photo-empty span{max-width:360px;color:#63767b}.tourist-photo-admin-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.tourist-photo-admin-gallery article{overflow:hidden;border:1px solid #dbe8e5;border-radius:15px;background:#fff}.tourist-photo-admin-gallery article.is-cover{border:2px solid #f6bd55;box-shadow:0 9px 24px rgba(246,189,85,.22)}.tourist-photo-admin-gallery article>picture,.tourist-photo-admin-gallery article>img{display:block}.tourist-photo-admin-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.tourist-photo-admin-gallery article>div{padding:10px}.tourist-photo-admin-gallery article>div>span{display:block;margin-bottom:8px;color:#0a5c49;font-size:.67rem;font-weight:850;letter-spacing:.08em}.tourist-photo-card-actions{display:flex;gap:7px;flex-wrap:wrap}.tourist-photo-card-actions form{margin:0}.tourist-photo-finish{display:flex;justify-content:flex-end;gap:10px;padding:4px 0 18px}.gallery-selection-preview-v146:empty{display:none}
@media(max-width:1180px){.tourist-category-options{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-filter-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-photo-admin-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.tourist-category-options{grid-template-columns:repeat(3,minmax(0,1fr))}.tourist-photo-manager-grid{grid-template-columns:1fr}.tourist-photo-guide{grid-template-columns:1fr}.tourist-photo-admin-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.tourist-editor-step-note{align-items:flex-start;padding:13px 18px}.tourist-category-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:310px}.tourist-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-filter-categories{grid-column:1/-1}.tourist-filter-category-popover{position:fixed;top:86px;left:12px;right:12px;width:auto;max-height:calc(100vh - 110px);overflow:auto}.tourist-category-options-public{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-photo-admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.tourist-photo-finish{display:grid;grid-template-columns:1fr 1fr}.tourist-photo-finish .btn{min-width:0;text-align:center}.tourist-photo-upload-form>.btn{justify-self:stretch}}
@media(max-width:420px){.tourist-category-options,.tourist-category-options-public{grid-template-columns:1fr 1fr}.tourist-photo-admin-gallery{grid-template-columns:1fr 1fr}.tourist-photo-card-actions{display:grid}.tourist-photo-card-actions .btn{width:100%}}

/* === theme-v153-user-tourist-places.css === */

/* TripWithEra public Tourist Places redesign — v153 */
.tourist-directory-user-v153{--tpu-teal:#063844;--tpu-green:#0a5c49;--tpu-gold:#f6bd55;--tpu-mint:#eef6f4;--tpu-ink:#102a31;--tpu-muted:#62777c;--tpu-line:#dbe8e5;--tpu-card:#fff;background:#f6faf9;color:var(--tpu-ink)}
.tourist-directory-user-v153 .tourist-user-hero{position:relative;isolation:isolate;overflow:hidden;padding:82px 0 46px;background:radial-gradient(circle at 18% 18%,rgba(246,189,85,.17),transparent 24%),radial-gradient(circle at 83% 15%,rgba(238,246,244,.13),transparent 26%),linear-gradient(135deg,#052f39 0%,#063844 48%,#0a5c49 100%);color:#fff}
.tourist-user-hero-pattern{position:absolute;inset:0;z-index:-1;opacity:.19;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(180deg,#000,transparent 86%)}
.tourist-user-hero:before,.tourist-user-hero:after{content:"";position:absolute;border:1px solid rgba(246,189,85,.27);border-radius:50%;pointer-events:none}.tourist-user-hero:before{width:390px;height:390px;right:-140px;top:-190px}.tourist-user-hero:after{width:250px;height:250px;left:-135px;bottom:-160px}
.tourist-user-hero-inner{position:relative;z-index:1;text-align:center}.tourist-user-hero-copy{max-width:850px;margin:0 auto}.tourist-user-kicker{display:inline-flex;align-items:center;gap:9px;color:var(--tpu-gold);font-size:.72rem;font-weight:850;letter-spacing:.18em}.tourist-user-kicker:before,.tourist-user-kicker:after{content:"";width:26px;height:1px;background:currentColor}.tourist-user-hero h1{margin:14px 0 14px;color:#fff;font-size:clamp(3rem,7vw,6.2rem);line-height:.94;letter-spacing:-.045em}.tourist-user-hero-copy p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.8);font-size:clamp(.98rem,1.7vw,1.15rem);line-height:1.75}
.tourist-user-hero-search{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;max-width:850px;margin:31px auto 0;padding:8px 8px 8px 17px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.13);box-shadow:0 18px 46px rgba(1,24,29,.25);backdrop-filter:blur(14px)}.tourist-search-icon{display:grid;place-items:center}.tourist-search-icon svg{width:20px;fill:none;stroke:rgba(255,255,255,.72);stroke-width:1.8}.tourist-user-hero-search input{min-width:0;height:52px;border:0;outline:0;background:transparent;padding:0 12px;color:#fff;font:600 .95rem/1.2 "DM Sans",sans-serif}.tourist-user-hero-search input::placeholder{color:rgba(255,255,255,.62)}.tourist-user-hero-search button{height:52px;border:0;border-radius:12px;padding:0 23px;background:var(--tpu-gold);color:#17343b;font:850 .78rem/1 "Montserrat",sans-serif;letter-spacing:.04em;cursor:pointer;transition:.2s}.tourist-user-hero-search button:hover{transform:translateY(-1px);background:#ffd176}
.tourist-user-hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:880px;margin:30px auto 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.tourist-user-hero-stats div{padding:17px 14px;border-left:1px solid rgba(255,255,255,.13)}.tourist-user-hero-stats div:first-child{border-left:0}.tourist-user-hero-stats strong,.tourist-user-hero-stats span{display:block}.tourist-user-hero-stats strong{color:#fff;font:800 1.5rem/1.1 "Manrope",sans-serif}.tourist-user-hero-stats span{margin-top:4px;color:rgba(255,255,255,.63);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.tourist-user-section{padding:68px 0}.tourist-user-section-head{max-width:760px;margin:0 auto 30px;text-align:center}.tourist-user-section-head>span{display:block;color:var(--tpu-green);font-size:.7rem;font-weight:850;letter-spacing:.17em}.tourist-user-section-head h2{margin:7px 0 10px;color:var(--tpu-ink);font-size:clamp(1.9rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.035em}.tourist-user-section-head p{max-width:650px;margin:0 auto;color:var(--tpu-muted);line-height:1.72}.tourist-user-section-head-compact{margin-bottom:23px}.tourist-user-soft-section{background:#f5faf9}
.tourist-user-destination-section{background:#fff}.tourist-user-destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.tourist-user-destination-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--tpu-line);border-radius:21px;background:#fff;color:var(--tpu-ink);text-decoration:none;box-shadow:0 10px 30px rgba(6,56,68,.07);transition:transform .22s,box-shadow .22s,border-color .22s}.tourist-user-destination-card:hover,.tourist-user-destination-card.is-active{transform:translateY(-5px);border-color:rgba(246,189,85,.9);box-shadow:0 18px 42px rgba(6,56,68,.13)}.tourist-user-destination-image{position:relative;display:block;aspect-ratio:8/5;overflow:hidden;background:var(--tpu-mint)}.tourist-user-destination-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}.tourist-user-destination-card:hover img{transform:scale(1.055)}.tourist-user-destination-image i{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,31,38,.48))}.tourist-user-destination-copy{display:block;padding:17px 48px 18px 18px}.tourist-user-destination-copy small,.tourist-user-destination-copy strong,.tourist-user-destination-copy em{display:block}.tourist-user-destination-copy small{min-height:18px;color:var(--tpu-green);font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.tourist-user-destination-copy strong{margin-top:4px;font:800 1.28rem/1.2 "Manrope",sans-serif}.tourist-user-destination-copy em{margin-top:5px;color:var(--tpu-muted);font-size:.77rem;font-style:normal}.tourist-user-card-arrow{position:absolute;right:15px;bottom:17px;display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:var(--tpu-mint);color:var(--tpu-green);font-size:1rem;transition:.2s}.tourist-user-destination-card:hover .tourist-user-card-arrow{background:var(--tpu-gold);transform:translateX(2px)}
.tourist-user-category-section{padding-top:55px;padding-bottom:55px;background:linear-gradient(180deg,#eef6f4,#f8fbfa)}.tourist-user-category-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.tourist-user-category-grid>a{display:grid;justify-items:center;min-width:0;padding:17px 8px 15px;border:1px solid transparent;border-radius:16px;background:#fff;color:var(--tpu-ink);text-align:center;text-decoration:none;box-shadow:0 6px 22px rgba(6,56,68,.05);transition:.2s}.tourist-user-category-grid>a:hover,.tourist-user-category-grid>a.is-active{transform:translateY(-3px);border-color:var(--tpu-gold);box-shadow:0 13px 28px rgba(6,56,68,.1)}.tourist-user-category-icon{display:grid;width:44px;height:44px;place-items:center;margin-bottom:10px;border-radius:14px;background:var(--tpu-mint);color:var(--tpu-green)}.tourist-user-category-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tourist-user-category-grid strong{min-height:34px;font-size:.73rem;line-height:1.3}.tourist-user-category-grid small{margin-top:3px;color:var(--tpu-muted);font-size:.62rem}
.tourist-user-results-section{background:#f7faf9;padding-top:62px}.tourist-user-filter-shell{margin-bottom:24px;border:1px solid var(--tpu-line);border-radius:22px;background:#fff;box-shadow:0 12px 38px rgba(6,56,68,.07)}.tourist-user-filter-shell>summary{display:none;cursor:pointer;list-style:none}.tourist-user-filter-shell>summary::-webkit-details-marker{display:none}.tourist-user-filter-panel{grid-template-columns:minmax(180px,1.35fr) repeat(6,minmax(125px,1fr));gap:12px;margin:0;padding:19px;border:0;border-radius:22px;box-shadow:none}.tourist-user-filter-panel label{margin-bottom:7px;color:#6b7f83;font-size:.64rem;letter-spacing:.09em}.tourist-user-filter-panel input,.tourist-user-filter-panel select,.tourist-user-filter-panel .tourist-filter-category-picker>summary{height:46px;border-color:#d5e4e0;border-radius:11px;background:#fbfdfc}.tourist-user-input-icon{position:relative}.tourist-user-input-icon svg{position:absolute;left:12px;top:50%;width:17px;transform:translateY(-50%);fill:none;stroke:#708388;stroke-width:1.8;pointer-events:none}.tourist-user-input-icon input{padding-left:38px}.tourist-user-filter-actions{display:flex;align-items:end;gap:8px;grid-column:1/-1;justify-content:flex-end}.tourist-user-filter-actions .btn{min-width:132px}.tourist-user-filter-panel .tourist-filter-category-popover{z-index:80}.tourist-user-active-filters{justify-content:center;margin:0 0 28px}.tourist-user-active-filters b{background:#e1f0ec}
.tourist-user-results-head{margin-top:46px;margin-bottom:28px}.tourist-user-place-grid{gap:24px}.tourist-user-place-card{display:flex;flex-direction:column;border:0;border-radius:23px;box-shadow:0 12px 38px rgba(6,56,68,.09)}.tourist-user-place-image{aspect-ratio:8/5}.tourist-user-place-image:focus-visible{outline:3px solid var(--tpu-gold);outline-offset:3px}.tourist-user-place-image img{position:relative;z-index:0}.tourist-user-image-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(2,27,33,.05) 35%,rgba(2,27,33,.75) 100%)}.tourist-user-place-image .tourist-type-pill{z-index:2;left:15px;top:15px;bottom:auto;background:rgba(255,255,255,.92);color:var(--tpu-green);box-shadow:0 5px 18px rgba(0,0,0,.08)}.tourist-user-place-image>b{z-index:2;top:15px;right:15px;background:var(--tpu-gold);color:#17343b}.tourist-user-image-location{position:absolute;z-index:2;left:15px;right:15px;bottom:13px;display:flex;align-items:center;gap:7px;color:#fff;font-size:.75rem;font-weight:700}.tourist-user-image-location svg{width:16px;fill:none;stroke:var(--tpu-gold);stroke-width:1.8}
.tourist-user-place-body{display:flex;flex:1;flex-direction:column;padding:20px}.tourist-user-place-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px;align-items:start}.tourist-user-place-card h3{margin:0;font-size:1.32rem;line-height:1.25}.tourist-user-place-title-row>div:first-child>small{display:block;margin-top:5px;color:var(--tpu-muted);font-size:.7rem}.tourist-user-score{display:grid;grid-template-columns:auto auto;align-items:baseline;min-width:65px;padding:7px 8px 6px;border-radius:12px;background:var(--tpu-mint);text-align:center}.tourist-user-score strong{color:var(--tpu-green);font:850 1.2rem/1 "Manrope",sans-serif}.tourist-user-score span{color:var(--tpu-muted);font-size:.65rem}.tourist-user-score small{grid-column:1/-1;margin-top:2px;color:#6d817f;font-size:.54rem;font-weight:800;text-transform:uppercase}.tourist-user-place-body>p{margin-top:12px;-webkit-line-clamp:2;min-height:46px}.tourist-user-card-tags{margin:13px 0}.tourist-user-card-tags span{background:#f2f7f6;color:#50696e}
.tourist-user-place-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:2px 0 15px}.tourist-user-place-facts>span{display:grid;grid-template-columns:17px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;min-width:0;padding:9px 8px;border:1px solid #e3ecea;border-radius:11px;background:#fbfdfc}.tourist-user-place-facts svg{grid-row:1/3;width:17px;margin-top:2px;fill:none;stroke:var(--tpu-green);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tourist-user-place-facts b,.tourist-user-place-facts em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tourist-user-place-facts b{color:#6a7d81;font-size:.54rem;text-transform:uppercase}.tourist-user-place-facts em{margin-top:1px;color:var(--tpu-ink);font-size:.67rem;font-style:normal;font-weight:700}.tourist-user-card-footer{margin-top:auto;padding-top:14px}.tourist-user-card-footer .btn{display:inline-flex;align-items:center;gap:7px;margin-left:auto}.tourist-user-traveller-score{display:grid}.tourist-user-traveller-score strong{color:var(--tpu-green);font-size:.85rem}.tourist-user-traveller-score small,.tourist-user-rating-note{color:var(--tpu-muted);font-size:.64rem}.tourist-user-no-results{padding:55px 25px;border:1px dashed #c7dcd7;border-radius:23px;background:#fff}.tourist-user-no-results-icon{display:grid;width:65px;height:65px;place-items:center;margin:0 auto 16px;border-radius:20px;background:var(--tpu-mint);color:var(--tpu-green)}.tourist-user-no-results-icon svg{width:32px;fill:none;stroke:currentColor;stroke-width:1.7}.tourist-user-no-results .btn{margin-top:12px}.tourist-user-empty-wide{grid-column:1/-1}
.tourist-user-cta-section{padding:0 0 72px;background:#f7faf9}.tourist-user-cta-card{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:37px 42px;border-radius:25px;background:linear-gradient(125deg,#063844,#0a5c49);box-shadow:0 20px 50px rgba(6,56,68,.19);color:#fff}.tourist-user-cta-card:after{content:"";position:absolute;width:250px;height:250px;right:-90px;top:-120px;border:1px solid rgba(246,189,85,.35);border-radius:50%}.tourist-user-cta-card>div,.tourist-user-cta-card>.btn{position:relative;z-index:1}.tourist-user-cta-card span{color:var(--tpu-gold);font-size:.68rem;font-weight:850;letter-spacing:.16em}.tourist-user-cta-card h2{margin:7px 0 7px;color:#fff;font-size:clamp(1.7rem,3vw,2.6rem)}.tourist-user-cta-card p{max-width:660px;margin:0;color:rgba(255,255,255,.75)}.tourist-user-cta-card .btn{flex:0 0 auto;background:var(--tpu-gold);border-color:var(--tpu-gold);color:#17343b}
@media(max-width:1180px){.tourist-user-destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tourist-user-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-user-filter-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.tourist-user-filter-panel .tourist-search-wide{grid-column:span 2}}
@media(max-width:850px){.tourist-directory-user-v153 .tourist-user-hero{padding:66px 0 38px}.tourist-user-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:570px}.tourist-user-hero-stats div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.13)}.tourist-user-hero-stats div:nth-child(4){border-top:1px solid rgba(255,255,255,.13)}.tourist-user-section{padding:54px 0}.tourist-user-destination-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 2px 16px}.tourist-user-destination-card{flex:0 0 min(350px,82vw);scroll-snap-align:start}.tourist-user-filter-shell>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px}.tourist-user-filter-shell>summary span b,.tourist-user-filter-shell>summary span small{display:block}.tourist-user-filter-shell>summary span b{color:var(--tpu-ink)}.tourist-user-filter-shell>summary span small{margin-top:3px;color:var(--tpu-muted);font-size:.69rem}.tourist-user-filter-shell>summary em{flex:0 0 auto;color:var(--tpu-green);font-size:.68rem;font-style:normal;font-weight:800}.tourist-user-filter-shell:not([open]) .tourist-user-filter-panel{display:none}.tourist-user-place-facts{grid-template-columns:1fr}.tourist-user-place-facts>span{grid-template-columns:17px minmax(0,1fr)}.tourist-user-cta-card{align-items:flex-start;flex-direction:column}.tourist-user-cta-card .btn{width:100%;text-align:center}}
@media(max-width:640px){.tourist-directory-user-v153 .tourist-user-hero{padding-top:52px}.tourist-user-hero h1{font-size:3.1rem}.tourist-user-hero-copy p{font-size:.93rem}.tourist-user-hero-search{grid-template-columns:25px minmax(0,1fr);padding:7px 10px 7px 14px}.tourist-user-hero-search input{height:47px;padding-right:0}.tourist-user-hero-search button{grid-column:1/-1;width:100%;height:47px;margin-top:4px}.tourist-user-hero-stats{margin-top:23px}.tourist-user-hero-stats div{padding:14px 8px}.tourist-user-hero-stats strong{font-size:1.25rem}.tourist-user-section-head{margin-bottom:23px}.tourist-user-section-head h2{font-size:2rem}.tourist-user-category-grid{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 14px;scroll-snap-type:x mandatory}.tourist-user-category-grid>a{flex:0 0 112px;scroll-snap-align:start}.tourist-user-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.tourist-user-filter-panel .tourist-search-wide,.tourist-user-filter-panel .tourist-filter-categories{grid-column:1/-1}.tourist-user-filter-actions{display:grid;grid-template-columns:1fr 1fr}.tourist-user-filter-actions .btn{min-width:0;width:100%}.tourist-user-filter-panel .tourist-filter-category-popover{top:76px}.tourist-user-results-head{margin-top:36px}.tourist-user-place-grid{grid-template-columns:1fr}.tourist-user-place-body{padding:17px}.tourist-user-place-title-row{grid-template-columns:minmax(0,1fr) 62px}.tourist-user-place-body>p{min-height:0}.tourist-user-cta-card{padding:28px 22px;border-radius:20px}}
@media(max-width:420px){.tourist-user-hero-stats span{font-size:.59rem}.tourist-user-filter-panel{grid-template-columns:1fr}.tourist-user-filter-panel .tourist-search-wide,.tourist-user-filter-panel .tourist-filter-categories{grid-column:auto}.tourist-user-filter-actions{grid-template-columns:1fr 1fr}.tourist-user-place-title-row{grid-template-columns:1fr}.tourist-user-score{justify-self:start}.tourist-user-card-footer{align-items:flex-start;flex-direction:column}.tourist-user-card-footer .btn{width:100%;margin:0;text-align:center;justify-content:center}}

/* === theme-v154-destination-place-details.css === */

/* TripWithEra Destination & Tourist Place Detail Pages — v154 */
:root{
  --td-teal:#063844;
  --td-green:#0a5c49;
  --td-gold:#f6bd55;
  --td-mint:#eef6f4;
  --td-ink:#102a31;
  --td-muted:#64787d;
  --td-line:#dce9e6;
  --td-white:#fff;
  --td-shadow:0 18px 50px rgba(6,56,68,.10);
  --td-shadow-lg:0 26px 70px rgba(6,56,68,.17);
}

.destination-detail-v154,
.tourist-place-detail-v154{background:#f8fbfa;color:var(--td-ink)}
.destination-detail-v154 .site-main,
.tourist-place-detail-v154 .site-main{overflow:visible}

/* Shared hero */
.detail-hero{position:relative;isolation:isolate;min-height:610px;display:grid;place-items:end center;overflow:hidden;background:#073943;color:#fff}
.detail-hero-media{position:absolute;inset:0;z-index:-3}
.detail-hero-media picture,.detail-hero-media img{width:100%;height:100%;display:block}
.detail-hero-media img{object-fit:cover;object-position:center}
.destination-detail-hero{background-image:var(--detail-cover);background-size:cover;background-position:center}
.detail-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(3,26,32,.12) 0%,rgba(3,27,33,.42) 44%,rgba(3,27,33,.92) 100%),linear-gradient(90deg,rgba(4,37,45,.34),rgba(4,37,45,.08),rgba(4,37,45,.34))}
.detail-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.18)}
.detail-hero-inner{position:relative;z-index:2;width:100%;max-width:980px;padding-top:110px;padding-bottom:76px;text-align:center}
.detail-breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 auto 18px;color:rgba(255,255,255,.73);font-size:.76rem;font-weight:700}
.detail-breadcrumb a{color:#fff;text-decoration:none}.detail-breadcrumb a:hover{color:var(--td-gold)}
.detail-breadcrumb strong{color:rgba(255,255,255,.78);font-weight:700}
.detail-kicker{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border:1px solid rgba(246,189,85,.55);border-radius:999px;background:rgba(6,56,68,.45);color:var(--td-gold);font-size:.7rem;font-weight:850;letter-spacing:.16em;backdrop-filter:blur(8px)}
.detail-hero h1{max-width:1000px;margin:15px auto 14px;color:#fff;font-size:clamp(3.15rem,7.3vw,6.75rem);font-weight:850;line-height:.94;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 8px 30px rgba(0,0,0,.22)}
.detail-hero p{max-width:800px;margin:0 auto;color:rgba(255,255,255,.86);font-size:clamp(.98rem,1.5vw,1.16rem);line-height:1.7;text-wrap:balance}
.detail-hero-actions{display:flex;align-items:center;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:27px}
.detail-hero-actions .btn{min-width:174px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;font-size:.76rem;font-weight:850;letter-spacing:.035em}
.detail-btn-gold{background:var(--td-gold)!important;border-color:var(--td-gold)!important;color:#18343b!important;box-shadow:0 12px 30px rgba(246,189,85,.19)}
.detail-btn-gold:hover{background:#ffd071!important;border-color:#ffd071!important;transform:translateY(-2px)}
.detail-btn-glass{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.45)!important;color:#fff!important;backdrop-filter:blur(12px)}
.detail-btn-glass:hover{background:rgba(255,255,255,.18)!important}

/* Floating summary */
.detail-summary-wrap{position:relative;z-index:8;margin-top:-35px}
.detail-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid rgba(220,233,230,.9);border-radius:22px;background:#fff;box-shadow:var(--td-shadow-lg)}
.detail-summary-grid article{position:relative;min-width:0;padding:23px 22px;text-align:center}
.detail-summary-grid article+article:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--td-line)}
.detail-summary-grid span,.detail-summary-grid strong,.detail-summary-grid small{display:block}
.detail-summary-grid span{color:var(--td-green);font-size:.65rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.detail-summary-grid strong{margin-top:7px;color:var(--td-ink);font-size:clamp(1.05rem,2vw,1.4rem);font-weight:850;line-height:1.2}
.detail-summary-grid small{margin-top:4px;color:var(--td-muted);font-size:.66rem}

/* Shared sections */
.detail-page-main{padding-top:15px}
.detail-section{padding:72px 0;background:#f8fbfa}
.detail-section+.detail-section{border-top:1px solid rgba(220,233,230,.7)}
.detail-section-tint{background:linear-gradient(180deg,#eef6f4 0%,#f6faf9 100%)}
.detail-section-dark{position:relative;overflow:hidden;background:linear-gradient(135deg,#052f39,#0a5c49);color:#fff}
.detail-section-dark:before,.detail-section-dark:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(246,189,85,.16)}
.detail-section-dark:before{width:380px;height:380px;right:-160px;top:-190px}.detail-section-dark:after{width:250px;height:250px;left:-120px;bottom:-160px}
.detail-section-dark>.container{position:relative;z-index:1}
.detail-section-head{max-width:820px;margin:0 auto 34px;text-align:center}
.detail-section-head>span{display:block;color:var(--td-green);font-size:.7rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.detail-section-head h2{margin:8px 0 10px;color:var(--td-ink);font-size:clamp(2rem,4vw,3.25rem);font-weight:850;line-height:1.08;letter-spacing:-.035em;text-align:center;text-wrap:balance}
.detail-section-head p{max-width:680px;margin:0 auto;color:var(--td-muted);font-size:.96rem;line-height:1.7;text-align:center;text-wrap:balance}
.detail-section-head-light>span{color:var(--td-gold)}
.detail-section-head-light h2{color:#fff}
.detail-section-head-light p{color:rgba(255,255,255,.72)}
.detail-content-card,.detail-side-card,.detail-info-panel{border:1px solid var(--td-line);border-radius:24px;background:#fff;box-shadow:0 13px 38px rgba(6,56,68,.065)}
.detail-content-card{padding:34px}
.detail-content-card .rich-copy{color:#40595f;font-size:.99rem;line-height:1.92}
.detail-side-card{padding:25px}
.detail-side-card-title{padding-bottom:17px;border-bottom:1px solid var(--td-line)}
.detail-side-card-title span{display:block;color:var(--td-green);font-size:.64rem;font-weight:850;letter-spacing:.13em}
.detail-side-card-title h3{margin:6px 0 0;color:var(--td-ink);font-size:1.35rem}
.detail-side-card dl,.detail-info-panel dl{margin:0}
.detail-side-card dl>div,.detail-info-panel dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid #e7efed}
.detail-side-card dl>div:last-child,.detail-info-panel dl>div:last-child{border-bottom:0}
.detail-side-card dt,.detail-info-panel dt{color:var(--td-muted);font-size:.76rem}
.detail-side-card dd,.detail-info-panel dd{margin:0;color:var(--td-ink);font-size:.79rem;font-weight:800;text-align:right}
.detail-chip-list{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:25px;padding-top:22px;border-top:1px solid var(--td-line)}
.detail-chip-list span{padding:7px 11px;border-radius:999px;background:var(--td-mint);color:var(--td-green);font-size:.68rem;font-weight:800}
.detail-center-action{text-align:center;margin-top:32px}
.detail-empty-wide{grid-column:1/-1}

/* Destination */
.destination-about-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:start}
.destination-quick-guide{position:sticky;top:90px}
.destination-reach-v154{display:grid;grid-template-columns:66px minmax(0,1fr);gap:22px;align-items:start;max-width:960px;margin:0 auto;padding:30px;border:1px solid var(--td-line);border-radius:24px;background:#fff;box-shadow:var(--td-shadow)}
.destination-reach-icon{display:grid;width:58px;height:58px;place-items:center;border-radius:18px;background:var(--td-gold);color:#17343b;font-size:1.65rem;font-weight:900}
.destination-reach-v154 .rich-copy{color:#40595f;line-height:1.9}

/* Shared place cards */
.detail-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.detail-place-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--td-line);border-radius:23px;background:#fff;box-shadow:0 13px 38px rgba(6,56,68,.08);transition:transform .25s,box-shadow .25s}
.detail-place-card:hover{transform:translateY(-5px);box-shadow:var(--td-shadow)}
.detail-place-card-image{position:relative;display:block;overflow:hidden;aspect-ratio:8/5;background:var(--td-mint)}
.detail-place-card-image picture,.detail-place-card-image img{width:100%;height:100%;display:block}
.detail-place-card-image img{object-fit:cover;transition:transform .4s}
.detail-place-card:hover .detail-place-card-image img{transform:scale(1.045)}
.detail-place-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,31,38,.72) 100%)}
.detail-place-card-image>span,.detail-place-card-image>b{position:absolute;z-index:2;top:14px;padding:7px 10px;border-radius:999px;font-size:.65rem;font-weight:850}
.detail-place-card-image>span{left:14px;background:rgba(255,255,255,.92);color:var(--td-green)}
.detail-place-card-image>b{right:14px;background:var(--td-gold);color:#17343b}
.detail-place-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.detail-place-card-body>small{color:var(--td-green);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.detail-place-card-body h3{margin:9px 0 8px;font-size:1.3rem;line-height:1.25}
.detail-place-card-body h3 a{color:var(--td-ink);text-decoration:none}
.detail-place-card-body>p{margin:0;color:var(--td-muted);font-size:.9rem;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.detail-place-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:17px;border-top:1px solid var(--td-line)}
.detail-place-card-footer span{color:var(--td-muted);font-size:.69rem}
.detail-place-card-footer a{color:var(--td-green);font-size:.72rem;font-weight:850;text-decoration:none;white-space:nowrap}
.detail-package-grid{position:relative;z-index:1}
.detail-section-dark .package-card{background:#fff;color:var(--td-ink)}
.detail-section-dark .package-card p{color:var(--td-muted)}

/* Tourist place score bar */
.tourist-summary-wrap{margin-top:-48px}
.tourist-detail-scorebar{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,.85fr));overflow:hidden;border:1px solid rgba(220,233,230,.9);border-radius:24px;background:#fff;box-shadow:var(--td-shadow-lg)}
.tourist-detail-scorebar>div,.tourist-detail-scorebar>article{position:relative;min-width:0;padding:22px 19px;text-align:center}
.tourist-detail-scorebar>article:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--td-line)}
.tourist-detail-scorebar span,.tourist-detail-scorebar strong,.tourist-detail-scorebar small{display:block}
.tourist-detail-scorebar>article span{color:var(--td-green);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.tourist-detail-scorebar>article strong{margin-top:7px;color:var(--td-ink);font-size:1.05rem;line-height:1.2}
.tourist-detail-scorebar>article small{margin-top:4px;color:var(--td-muted);font-size:.61rem}
.tourist-main-score{display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(135deg,var(--td-teal),var(--td-green));color:#fff}
.tourist-main-score span{color:var(--td-gold);font-size:.63rem;font-weight:850;letter-spacing:.12em}
.tourist-main-score strong{margin-top:4px;color:#fff;font-size:2.15rem;line-height:1}.tourist-main-score strong small{display:inline;color:rgba(255,255,255,.62);font-size:.75rem}
.tourist-main-score p{margin:6px 0 0;color:rgba(255,255,255,.7);font-size:.61rem}
.tourist-traveller-summary{display:none}

/* Tourist overview */
.tourist-about-layout-v154{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:28px;align-items:start}
.tourist-visit-card{position:sticky;top:90px}
.detail-verified-note{display:flex;align-items:center;gap:10px;margin-top:15px;padding:12px;border-radius:14px;background:var(--td-mint)}
.detail-verified-note>span{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--td-green);color:#fff;font-size:.7rem;font-weight:900}
.detail-verified-note small,.detail-verified-note strong{display:block}.detail-verified-note small{color:var(--td-muted);font-size:.61rem}.detail-verified-note strong{margin-top:2px;color:var(--td-ink);font-size:.76rem}

/* Visit planning */
.tourist-plan-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.detail-info-panel{overflow:hidden;padding:0}
.detail-info-panel-head{display:flex;align-items:center;gap:14px;padding:20px 22px;background:linear-gradient(135deg,var(--td-teal),var(--td-green));color:#fff}
.detail-info-panel-head>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(246,189,85,.48);border-radius:12px;color:var(--td-gold);font-size:.72rem;font-weight:850}
.detail-info-panel-head small{display:block;color:var(--td-gold);font-size:.58rem;font-weight:850;letter-spacing:.12em}.detail-info-panel-head h3{margin:3px 0 0;color:#fff;font-size:1.18rem}
.detail-info-panel dl{padding:7px 22px 13px}
.detail-info-panel dt{max-width:55%}.detail-info-panel dd{max-width:45%}
.detail-location-card{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:23px;padding:22px 24px;border:1px solid var(--td-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(6,56,68,.055)}
.detail-location-card span,.detail-location-card strong{display:block}.detail-location-card span{color:var(--td-green);font-size:.63rem;font-weight:850;letter-spacing:.1em}.detail-location-card strong{margin-top:5px;color:var(--td-ink);font-size:.92rem}.detail-location-card .btn{flex:0 0 auto}

/* Ratings */
.tourist-rating-v154{background:#fff}
.tourist-rating-overview-v154{display:grid;grid-template-columns:minmax(260px,.35fr) minmax(0,1fr);gap:24px;align-items:start}
.tourist-rating-big-score{position:sticky;top:90px;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:310px;padding:30px;border-radius:25px;background:linear-gradient(145deg,var(--td-teal),var(--td-green));box-shadow:var(--td-shadow-lg);text-align:center;color:#fff}
.tourist-rating-big-score>span{color:var(--td-gold);font-size:.68rem;font-weight:850;letter-spacing:.13em}.tourist-rating-big-score>strong{margin-top:15px;color:#fff;font-size:4rem;line-height:.9}.tourist-rating-big-score>strong small{font-size:1rem;color:rgba(255,255,255,.63)}.tourist-rating-big-score>p{max-width:210px;margin:15px auto 0;color:rgba(255,255,255,.72);font-size:.75rem;line-height:1.55}
.tourist-rating-bars-v154{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tourist-rating-bars-v154 article{padding:18px;border:1px solid var(--td-line);border-radius:17px;background:#f9fcfb}
.tourist-rating-bars-v154 article.is-na{opacity:.65;background:#f5f7f6}
.tourist-rating-bars-v154 article>div:first-child{display:flex;align-items:start;justify-content:space-between;gap:14px}.tourist-rating-bars-v154 h3{margin:0;color:var(--td-ink);font-size:.88rem;line-height:1.35}.tourist-rating-bars-v154 strong{color:var(--td-green);font-size:.95rem}.tourist-rating-bars-v154 p{margin:10px 0 0;color:var(--td-muted);font-size:.68rem;line-height:1.55}
.detail-score-track{height:7px;margin-top:12px;overflow:hidden;border-radius:999px;background:#dfeae7}.detail-score-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--td-green),var(--td-gold))}

/* Facilities */
.tourist-feature-grid-v154{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.tourist-feature-grid-v154>article{padding:25px;border:1px solid var(--td-line);border-radius:22px;background:#fff;box-shadow:0 11px 34px rgba(6,56,68,.06);text-align:center}
.tourist-feature-icon{display:grid;width:52px;height:52px;place-items:center;margin:0 auto 14px;border-radius:17px;background:var(--td-mint);color:var(--td-green);font-size:1.2rem;font-weight:900}
.tourist-feature-grid-v154 h3{margin:0 0 16px;color:var(--td-ink);font-size:1.25rem}.tourist-feature-grid-v154 article>div:last-child{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.tourist-feature-grid-v154 article>div:last-child span{padding:7px 10px;border-radius:999px;background:#f1f7f6;color:#50696e;font-size:.67rem;font-weight:750}.tourist-feature-grid-v154 small{color:var(--td-muted);font-size:.72rem}

/* Gallery */
.tourist-gallery-v154{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px}
.tourist-gallery-v154 a{position:relative;overflow:hidden;display:block;border-radius:17px;background:#dce9e6;box-shadow:0 8px 25px rgba(6,56,68,.07)}
.tourist-gallery-v154 a.is-featured{grid-column:span 2;grid-row:span 2}
.tourist-gallery-v154 picture,.tourist-gallery-v154 img{width:100%;height:100%;display:block}.tourist-gallery-v154 img{object-fit:cover;transition:transform .4s}.tourist-gallery-v154 a:hover img{transform:scale(1.04)}
.tourist-gallery-v154 a:after{content:"VIEW";position:absolute;right:10px;bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(6,56,68,.76);color:#fff;font-size:.56rem;font-weight:850;letter-spacing:.08em;opacity:0;transition:.2s}.tourist-gallery-v154 a:hover:after{opacity:1}

/* Reviews */
.tourist-review-layout-v154{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:25px;align-items:start}
.tourist-review-list-v154{display:grid;gap:13px}
.tourist-review-list-v154>article{padding:21px;border:1px solid var(--td-line);border-radius:18px;background:#fff;box-shadow:0 9px 28px rgba(6,56,68,.05)}
.tourist-review-author{display:flex;align-items:start;justify-content:space-between;gap:14px}.tourist-review-author strong{color:var(--td-ink)}.tourist-review-author span{display:inline-flex;margin-left:7px;padding:4px 7px;border-radius:999px;background:var(--td-mint);color:var(--td-green);font-size:.57rem;font-weight:850}.tourist-review-author small{color:var(--td-muted);font-size:.64rem}.tourist-review-list-v154 article>b{display:block;margin-top:9px;color:#e8a929;font-size:.83rem}.tourist-review-list-v154 article>b i{color:#d9e2e0;font-style:normal}.tourist-review-list-v154 article>p{margin:9px 0 0;color:#4d656b;font-size:.85rem;line-height:1.7}
.tourist-review-form-v154{position:sticky;top:90px;padding:25px;border-radius:22px;background:linear-gradient(150deg,var(--td-teal),var(--td-green));box-shadow:var(--td-shadow-lg);color:#fff}.tourist-review-form-v154>span{color:var(--td-gold);font-size:.64rem;font-weight:850;letter-spacing:.13em}.tourist-review-form-v154 h3{margin:6px 0 15px;color:#fff;font-size:1.45rem}.tourist-review-form-v154 p{color:rgba(255,255,255,.75);font-size:.83rem;line-height:1.65}.tourist-review-form-v154 label{display:block;margin:13px 0 6px;color:rgba(255,255,255,.8);font-size:.7rem;font-weight:750}.tourist-review-form-v154 .form-control{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.96)}.tourist-review-form-v154 textarea{resize:vertical}.tourist-review-form-v154 .btn{width:100%;margin-top:13px;background:var(--td-gold);border-color:var(--td-gold);color:#17343b}.tourist-review-form-v154 form>small{display:block;margin-top:9px;color:rgba(255,255,255,.62);font-size:.62rem}

/* Mobile sticky actions */
.detail-mobile-actions{display:none}

@media(max-width:1100px){
  .detail-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tourist-detail-scorebar{grid-template-columns:1.25fr repeat(2,minmax(0,.85fr))}
  .tourist-detail-scorebar>article:nth-of-type(n+3){display:none}
  .tourist-traveller-summary{display:none!important}
  .tourist-gallery-v154{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tourist-rating-bars-v154{grid-template-columns:1fr}
}

@media(max-width:850px){
  .detail-hero{min-height:560px}
  .detail-hero-inner{padding-top:92px;padding-bottom:70px}
  .detail-hero h1{font-size:clamp(3rem,12vw,5.2rem)}
  .detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-summary-grid article:nth-child(3):before{display:none}
  .detail-summary-grid article:nth-child(n+3){border-top:1px solid var(--td-line)}
  .detail-section{padding:58px 0}
  .destination-about-layout,.tourist-about-layout-v154,.tourist-plan-columns,.tourist-rating-overview-v154,.tourist-review-layout-v154{grid-template-columns:1fr}
  .destination-quick-guide,.tourist-visit-card,.tourist-rating-big-score,.tourist-review-form-v154{position:static}
  .tourist-rating-big-score{min-height:260px}
  .tourist-feature-grid-v154{grid-template-columns:1fr}
  .tourist-gallery-v154{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:175px}
  .detail-mobile-actions{position:fixed;z-index:1000;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(6,56,68,.96);box-shadow:0 18px 45px rgba(6,56,68,.25);backdrop-filter:blur(14px)}
  .detail-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;padding:9px;color:#fff;font-size:.72rem;font-weight:850;text-align:center;text-decoration:none}
  .detail-mobile-actions a+a{border-left:1px solid rgba(255,255,255,.18);background:var(--td-gold);color:#17343b}
  .destination-detail-v154,.tourist-place-detail-v154{padding-bottom:74px}
}

@media(max-width:640px){
  .detail-hero{min-height:520px}
  .detail-hero-inner{padding-top:78px;padding-bottom:62px}
  .detail-breadcrumb{font-size:.66rem}
  .detail-kicker{font-size:.59rem;letter-spacing:.12em}
  .detail-hero h1{font-size:clamp(2.75rem,13vw,4rem)}
  .detail-hero p{font-size:.9rem;line-height:1.62}
  .detail-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  .detail-hero-actions .btn{min-width:0;width:100%;padding-left:9px;padding-right:9px}
  .detail-summary-wrap{margin-top:-28px}
  .tourist-summary-wrap{margin-top:-34px}
  .detail-summary-grid article{padding:18px 10px}
  .detail-summary-grid span{font-size:.57rem}.detail-summary-grid strong{font-size:1rem}.detail-summary-grid small{font-size:.57rem}
  .tourist-detail-scorebar{grid-template-columns:1.2fr 1fr}
  .tourist-detail-scorebar>article:nth-of-type(n+2){display:none}
  .tourist-detail-scorebar>div,.tourist-detail-scorebar>article{padding:18px 10px}
  .tourist-main-score strong{font-size:1.75rem}
  .detail-section{padding:48px 0}
  .detail-section-head{margin-bottom:27px}
  .detail-section-head h2{font-size:2rem}
  .detail-section-head p{font-size:.86rem}
  .detail-content-card,.detail-side-card{padding:21px}
  .detail-content-card .rich-copy{font-size:.91rem;line-height:1.82}
  .destination-reach-v154{grid-template-columns:1fr;padding:22px}.destination-reach-icon{width:50px;height:50px}
  .detail-place-grid{grid-template-columns:1fr;gap:17px}
  .detail-place-card-body{padding:17px}
  .detail-info-panel-head{padding:17px}.detail-info-panel dl{padding:5px 17px 11px}.detail-info-panel dl>div{gap:12px}.detail-info-panel dt{max-width:52%}.detail-info-panel dd{max-width:48%}
  .detail-location-card{align-items:flex-start;flex-direction:column;padding:18px}.detail-location-card .btn{width:100%}
  .tourist-rating-bars-v154 article{padding:15px}
  .tourist-rating-big-score>strong{font-size:3.3rem}
  .tourist-gallery-v154{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;gap:10px}.tourist-gallery-v154 a,.tourist-gallery-v154 a.is-featured{flex:0 0 82vw;height:230px;grid-column:auto;grid-row:auto;scroll-snap-align:center}
  .tourist-review-author{align-items:flex-start;flex-direction:column;gap:5px}
}

@media(max-width:390px){
  .detail-hero-actions{grid-template-columns:1fr}
  .detail-summary-grid{grid-template-columns:1fr 1fr}
  .detail-summary-grid article{padding:16px 7px}
  .tourist-detail-scorebar{grid-template-columns:1fr 1fr}
  .detail-side-card dl>div,.detail-info-panel dl>div{gap:8px}
  .detail-side-card dt,.detail-side-card dd,.detail-info-panel dt,.detail-info-panel dd{font-size:.7rem}
}

/* === theme-v155-safe-html-description.css === */

:root{--rh-teal:#063844;--rh-green:#0a5c49;--rh-gold:#f6bd55;--rh-mint:#eef6f4;--rh-line:#d9e8e5}
.rich-html-badge-v155{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:#fff2ce;color:#6d4b00;font-size:.62rem;font-weight:800;letter-spacing:.06em;vertical-align:middle}
.rich-html-editor-v155{overflow:hidden;border:1px solid var(--rh-line);border-radius:16px;background:#f9fcfb;box-shadow:0 8px 24px rgba(6,56,68,.045)}
.rich-html-toolbar-v155{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px;border-bottom:1px solid var(--rh-line);background:linear-gradient(135deg,#eef8f5,#fff)}
.rich-html-toolbar-v155 button{appearance:none;border:1px solid #c9ded9;border-radius:8px;background:#fff;color:var(--rh-teal);min-height:32px;padding:0 10px;font:700 .72rem/1 'Plus Jakarta Sans','DM Sans',sans-serif;cursor:pointer;transition:.18s ease}
.rich-html-toolbar-v155 button:hover,.rich-html-toolbar-v155 button:focus-visible{border-color:var(--rh-gold);background:#fff8e7;outline:none;transform:translateY(-1px)}
.rich-html-editor-v155 textarea.form-control{border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;min-height:210px;font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-size:.84rem;line-height:1.65;resize:vertical}
.rich-html-help-v155{display:block;padding:9px 12px;color:#587076;font-size:.72rem;line-height:1.55;background:#f7fbfa}
.rich-copy> :first-child{margin-top:0}.rich-copy> :last-child{margin-bottom:0}
.rich-copy p{margin:0 0 1.1em}.rich-copy h2,.rich-copy h3,.rich-copy h4{color:var(--rh-teal);font-family:'Manrope','Plus Jakarta Sans',sans-serif;line-height:1.25;letter-spacing:-.025em}.rich-copy h2{margin:1.55em 0 .65em;font-size:1.7rem}.rich-copy h3{margin:1.4em 0 .6em;font-size:1.35rem}.rich-copy h4{margin:1.25em 0 .55em;font-size:1.08rem}
.rich-copy strong,.rich-copy b{color:#173f47}.rich-copy em,.rich-copy i{color:#355d64}.rich-copy a{color:var(--rh-green);font-weight:750;text-decoration-thickness:1.5px;text-underline-offset:3px}.rich-copy a:hover{color:#083e34}
.rich-copy ul,.rich-copy ol{margin:1em 0 1.3em;padding-left:1.3em}.rich-copy li{margin:.48em 0;padding-left:.25em}.rich-copy li::marker{color:var(--rh-green);font-weight:800}
.rich-copy blockquote{position:relative;margin:1.35em 0;padding:18px 20px 18px 24px;border-left:4px solid var(--rh-gold);border-radius:0 14px 14px 0;background:var(--rh-mint);color:#294e55;font-weight:600}
.rich-copy hr{height:1px;margin:1.7em 0;border:0;background:linear-gradient(90deg,transparent,#bcd7d1,transparent)}
.rich-copy table{display:table;width:100%;margin:1.35em 0;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #d7e6e3;border-radius:14px;background:#fff;font-size:.9em}.rich-copy th,.rich-copy td{padding:12px 13px;border-right:1px solid #e1ece9;border-bottom:1px solid #e1ece9;text-align:left;vertical-align:top}.rich-copy th{background:var(--rh-teal);color:#fff;font-weight:800}.rich-copy tr:last-child td{border-bottom:0}.rich-copy th:last-child,.rich-copy td:last-child{border-right:0}.rich-copy tbody tr:nth-child(even) td{background:#f7fbfa}
@media(max-width:700px){.rich-html-toolbar-v155{gap:5px;padding:7px}.rich-html-toolbar-v155 button{min-height:30px;padding:0 8px;font-size:.66rem}.rich-html-editor-v155 textarea.form-control{min-height:190px;font-size:.78rem}.rich-copy h2{font-size:1.35rem}.rich-copy h3{font-size:1.15rem}.rich-copy table{display:block;overflow-x:auto;white-space:nowrap;font-size:.82em}.rich-copy th,.rich-copy td{padding:10px}}

/* === theme-v156-verified-tour-reviews.css === */

/* V156 — Verified completed-tour reviews */
.verified-reviews-hero{padding:78px 0 64px;background:radial-gradient(circle at 10% 0,rgba(246,189,85,.22),transparent 34%),linear-gradient(135deg,#063844,#0a5c49);color:#fff;text-align:center}.verified-reviews-hero .container{max-width:900px}.verified-reviews-hero span,.verified-review-form-hero>span,.review-section-heading>span,.verified-review-cta span{display:inline-block;color:#f6bd55;font-size:12px;font-weight:800;letter-spacing:.16em}.verified-reviews-hero h1,.verified-review-form-hero h1{margin:10px 0 12px;color:#fff;font-size:clamp(2.2rem,5vw,4.7rem);line-height:1.02}.verified-reviews-hero p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.84);font-size:17px}.verified-review-trust-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.verified-review-trust-row b{padding:9px 14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-size:12px}.verified-reviews-page{background:#f4f9f7}.review-tour-filter{display:flex;align-items:end;gap:12px;max-width:820px;margin:-42px auto 38px;padding:18px;border:1px solid #d8e7e2;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(6,56,68,.12);position:relative;z-index:2}.review-tour-filter label{flex:1}.review-tour-filter label span{display:block;margin:0 0 7px;font-size:12px;font-weight:800;color:#31555d}.review-tour-filter select{width:100%;height:48px;border:1px solid #cfe0dc;border-radius:12px;padding:0 14px;background:#fff}.review-tour-filter>a{padding:14px;color:#0a5c49;font-weight:700}.verified-review-overview{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:15px;margin-bottom:34px}.verified-review-overview>div{min-height:120px;padding:24px;border:1px solid #dbe9e5;border-radius:22px;background:#fff;box-shadow:0 12px 35px rgba(6,56,68,.06);display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.verified-review-overview>div>span{font-size:34px;font-weight:900;color:#063844}.review-score-main{flex-direction:row!important;gap:18px;text-align:left!important}.review-score-main>span{font-size:58px!important;line-height:1}.review-score-main strong{color:#f0a900;letter-spacing:2px}.verified-review-overview p{margin:5px 0 0;color:#60777d}.review-parameter-summary{margin:0 0 42px;padding:30px;border-radius:26px;background:#063844;color:#fff}.review-section-heading{text-align:center;margin-bottom:25px}.review-section-heading h2{margin:7px 0;color:inherit;font-size:clamp(1.7rem,3vw,2.5rem)}.review-section-heading p{margin:0;color:#71878c}.review-parameter-summary .review-section-heading p{color:rgba(255,255,255,.68)}.review-average-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}.review-average-grid>div{display:grid;grid-template-columns:145px 1fr 48px;align-items:center;gap:12px}.review-average-grid span{font-size:13px}.review-average-grid i,.review-card-parameters i{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.review-average-grid i b,.review-card-parameters i b{display:block;height:100%;border-radius:inherit;background:#f6bd55}.review-average-grid strong{font-size:12px}.verified-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.verified-tour-review-card{padding:25px;border:1px solid #d8e7e2;border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(6,56,68,.07)}.verified-tour-review-card>header{display:flex;justify-content:space-between;align-items:center;gap:14px}.verified-review-person{display:flex;align-items:center;gap:11px}.verified-review-person>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#063844;color:#fff;font-weight:900}.verified-review-person div{display:flex;flex-direction:column}.verified-review-person small{color:#0a7a5a;font-weight:700}.verified-review-score{text-align:right}.verified-review-score strong{display:block;font-size:24px;color:#063844}.verified-review-score span{color:#e7a80a;font-size:13px}.verified-review-tour{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0 14px;padding:10px 12px;border-radius:12px;background:#eef6f4;font-size:12px;color:#516c72}.verified-review-tour b{color:#063844}.verified-tour-review-card h2{margin:0 0 10px;font-size:20px;color:#063844}.verified-review-text{color:#425f66;line-height:1.72}.review-highlight,.review-improvement{margin-top:15px;padding:14px;border-left:4px solid #f6bd55;background:#fff9ea;border-radius:0 12px 12px 0}.review-highlight p,.review-improvement p{margin:5px 0 0}.review-recommend-badge{display:inline-flex;margin:16px 0 0;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.review-recommend-badge.yes{background:#e6f7ef;color:#08734f}.review-recommend-badge.no{background:#fff1e8;color:#a34b16}.verified-tour-review-card details{margin-top:16px;border-top:1px solid #e1ebe8;padding-top:14px}.verified-tour-review-card summary{cursor:pointer;font-weight:800;color:#0a5c49;display:flex;justify-content:space-between}.review-card-parameters{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.review-card-parameters>div{display:grid;grid-template-columns:1fr 36px;gap:6px;font-size:12px}.review-card-parameters i{grid-column:1/-1;background:#e6eeeb}.verified-tour-review-card footer{display:flex;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid #e7efec;color:#72868b;font-size:11px}.verified-review-empty{text-align:center;padding:70px 20px;border:1px dashed #bfd4ce;border-radius:26px;background:#fff}.verified-review-empty>span{font-size:50px;color:#f2b63d}.verified-review-cta{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:45px;padding:34px;border-radius:26px;background:linear-gradient(135deg,#063844,#0a5c49);color:#fff}.verified-review-cta h2{margin:6px 0;color:#fff}.verified-review-cta p{margin:0;color:rgba(255,255,255,.76)}.verified-review-cta .btn{background:#f6bd55;color:#063844;white-space:nowrap}
/* Account review form */.verified-review-form-hero{text-align:center;padding:38px 20px 30px;border-radius:24px;background:linear-gradient(135deg,#063844,#0a5c49);color:#fff;margin-bottom:20px}.verified-review-form-hero h1{font-size:clamp(2rem,4vw,3.2rem)}.verified-review-form-hero p{margin:0;color:rgba(255,255,255,.78)}.review-booking-summary{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px;padding:18px;border:1px solid #d8e7e2;border-radius:20px;background:#fff;margin-bottom:20px}.review-booking-image{height:100px;border-radius:14px;overflow:hidden}.review-booking-image img{width:100%;height:100%;object-fit:cover}.review-booking-summary h2{margin:4px 0;color:#063844}.review-booking-summary p{margin:0;color:#6a7f84}.review-booking-summary>div>span{font-size:11px;font-weight:800;color:#a17819}.review-booking-summary>div>strong{display:block;margin-top:8px;color:#08734f;font-size:12px}.review-existing-status{text-align:right}.review-existing-status small{display:block;margin-top:5px;color:#73868a}.verified-tour-review-form{display:grid;gap:20px;padding-bottom:40px}.review-form-panel{padding:28px;border:1px solid #d9e7e3;border-radius:24px;background:#fff}.review-parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-rating-field{margin:0;padding:16px;border:1px solid #dfeae7;border-radius:16px}.review-rating-field legend{padding:0 6px}.review-rating-field legend strong,.review-rating-field legend small{display:block}.review-rating-field legend strong{color:#063844}.review-rating-field legend small{color:#7a8c90;font-size:11px}.rating-choice-row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.rating-choice-row label{position:relative;text-align:center;cursor:pointer}.rating-choice-row input{position:absolute;opacity:0;pointer-events:none}.rating-choice-row label>span{display:grid;place-items:center;height:40px;border:1px solid #cfe0dc;border-radius:10px;background:#f7fbfa;font-weight:800;color:#48666d}.rating-choice-row input:checked+span{border-color:#0a5c49;background:#0a5c49;color:#fff;box-shadow:0 5px 14px rgba(10,92,73,.24)}.rating-choice-row label small{display:block;min-height:14px;margin-top:3px;font-size:9px;color:#809095}.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-form-grid label>span,.review-recommend legend{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#234e57}.review-form-grid input,.review-form-grid select,.review-form-grid textarea{width:100%;border:1px solid #cfe0dc;border-radius:12px;padding:13px 14px;background:#fff;font:inherit}.review-full{grid-column:1/-1}.review-recommend{display:flex;gap:12px;flex-wrap:wrap;border:0;padding:0}.review-recommend legend{width:100%}.review-recommend label{display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #d5e4e0;border-radius:12px}.review-recommend input{width:auto}.review-submit-bar{position:sticky;bottom:12px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;border:1px solid #d0e1dc;border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 15px 45px rgba(6,56,68,.16);backdrop-filter:blur(10px)}.review-submit-bar>div{display:flex;align-items:center;gap:14px}.review-submit-bar small{color:#718388}.review-tour-btn,.read-tour-reviews-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 13px;border-radius:10px;font-weight:800;font-size:12px}.review-tour-btn{background:#f6bd55;color:#063844}.read-tour-reviews-btn{border:1px solid #0a5c49;color:#0a5c49}.booking-review-status{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.booking-review-status.pending{background:#fff4d8;color:#9a6811}.booking-review-status.approved{background:#dff5eb;color:#08734f}.booking-review-status.rejected{background:#ffe5e5;color:#a82929}.verified-review-submitted{margin-bottom:16px}
/* Past tours — preserve the original card design; reviews are compact image overlays only. */
.page-past-tours .past-tour-review-overlay,.page-past-tours .past-tour-write-review-overlay{position:absolute;z-index:6;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:8px;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 22px rgba(6,56,68,.22)}
.page-past-tours .past-tour-review-overlay{top:18px;left:18px;background:#fff;color:#063844;border:1px solid rgba(6,56,68,.15)}
.page-past-tours .past-tour-write-review-overlay{top:62px;left:18px;background:#f6bd55;color:#063844;border:1px solid rgba(6,56,68,.08)}
.page-past-tours .tour-record:nth-of-type(even) .past-tour-review-overlay,.page-past-tours .tour-record:nth-of-type(even) .past-tour-write-review-overlay{left:auto;right:18px}
.page-past-tours .past-tour-review-overlay:hover,.page-past-tours .past-tour-write-review-overlay:hover{transform:translateY(-1px)}
/* Admin */.verified-admin-review-head{align-items:center}.verified-admin-review-head>div>span{font-size:11px;letter-spacing:.14em;color:#a17819;font-weight:800}.verified-admin-review-filter{display:flex;gap:10px;align-items:center;margin-bottom:18px;padding:14px;border-radius:16px;background:#fff;border:1px solid #d8e6e2}.verified-admin-review-filter select{height:42px;border:1px solid #d0e0dc;border-radius:10px;padding:0 12px}.verified-admin-review-list{display:grid;gap:16px}.verified-admin-review-card{padding:20px;border:1px solid #d7e5e1;border-radius:18px;background:#fff}.verified-admin-review-card>header,.verified-admin-review-card footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.verified-admin-review-card>header>div{display:flex;align-items:center;gap:10px}.verified-admin-review-card>header>div>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#063844;color:#fff;font-weight:900}.verified-admin-review-card>header small{display:block;color:#0a7a5a}.verified-admin-review-card>header>div:last-child{flex-direction:column;align-items:end}.verified-admin-tour-row{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0;padding:9px 11px;border-radius:10px;background:#eef6f4;font-size:12px}.verified-admin-review-card h2{font-size:18px}.verified-admin-parameter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.verified-admin-parameter-grid span{padding:9px;border-radius:9px;background:#f3f8f6;font-size:11px}.verified-admin-parameter-grid b{display:block;color:#063844}.verified-admin-review-card footer{margin-top:15px;padding-top:13px;border-top:1px solid #e1ebe8}.verified-admin-review-card footer>div{display:flex;gap:8px}.admin-review-approve,.admin-review-reject{padding:9px 13px;border-radius:9px;font-weight:800}.admin-review-approve{background:#0a5c49;color:#fff}.admin-review-reject{background:#ffe7e7;color:#9a2c2c}
@media(max-width:900px){.verified-review-overview{grid-template-columns:1fr 1fr}.review-score-main{grid-column:1/-1}.verified-review-list{grid-template-columns:1fr}.review-parameter-grid{grid-template-columns:1fr}.verified-admin-parameter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.verified-reviews-hero{padding:54px 0 48px}.review-tour-filter{margin:-30px 10px 28px;flex-direction:column;align-items:stretch}.verified-review-overview{grid-template-columns:1fr 1fr}.verified-review-overview>div{min-height:105px;padding:16px}.review-score-main{grid-column:1/-1}.review-average-grid{grid-template-columns:1fr}.review-average-grid>div{grid-template-columns:120px 1fr 44px}.review-parameter-summary{padding:22px 16px}.verified-tour-review-card{padding:18px}.verified-review-cta{flex-direction:column;text-align:center;padding:25px 20px}.review-booking-summary{grid-template-columns:90px 1fr}.review-booking-image{height:80px}.review-existing-status{grid-column:1/-1;text-align:left}.review-form-panel{padding:20px 14px}.review-form-grid{grid-template-columns:1fr}.review-full{grid-column:auto}.review-submit-bar{bottom:8px;flex-direction:column;align-items:stretch}.review-submit-bar>div{justify-content:space-between}.review-submit-bar small{display:none}.rating-choice-row label>span{height:38px}.verified-tour-review-card footer{flex-direction:column;align-items:flex-start}.verified-admin-review-filter{flex-wrap:wrap}.verified-admin-review-card>header,.verified-admin-review-card footer{align-items:flex-start;flex-direction:column}.verified-admin-review-card>header>div:last-child{align-items:flex-start}.page-past-tours .past-tour-review-overlay{top:12px;left:12px!important;right:auto!important}.page-past-tours .past-tour-write-review-overlay{top:54px;left:12px!important;right:auto!important}}

/* === theme-v157-final-ui-fixes.css === */

/* V157 — Past Tours clear-filter alignment, mobile tourist-place centering,
   and complete Verified Reviews admin redesign. */

/* ---------- Past Tours: keep original cards, centre Clear Filter ---------- */
.page-past-tours .past-tour-filter-actions {
  justify-content: center !important;
}
.page-past-tours .past-tour-clear-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-inline: auto !important;
  text-align: center !important;
}
@media (max-width: 560px) {
  .page-past-tours .past-tour-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    width: 100% !important;
  }
  .page-past-tours .past-tour-filter-actions > button:first-child {
    width: 100% !important;
  }
  .page-past-tours .past-tour-clear-btn {
    width: auto !important;
    min-width: 154px !important;
    flex: 0 0 auto !important;
  }
}

/* ---------- Tourist Place detail: centre all mobile text ---------- */
@media (max-width: 700px) {
  .page-tourist-place-details .detail-hero-inner,
  .page-tourist-place-details .detail-breadcrumb,
  .page-tourist-place-details .detail-section-head,
  .page-tourist-place-details .detail-content-card,
  .page-tourist-place-details .detail-side-card,
  .page-tourist-place-details .tourist-plan-columns > *,
  .page-tourist-place-details .detail-info-panel,
  .page-tourist-place-details .detail-location-card,
  .page-tourist-place-details .tourist-rating-overview-v154,
  .page-tourist-place-details .tourist-rating-bars-v154 article,
  .page-tourist-place-details .tourist-feature-grid-v154 > article,
  .page-tourist-place-details .tourist-review-list-v154 > article,
  .page-tourist-place-details .tourist-review-form-v154 {
    text-align: center !important;
  }
  .page-tourist-place-details .detail-breadcrumb,
  .page-tourist-place-details .detail-hero-actions,
  .page-tourist-place-details .detail-location-card,
  .page-tourist-place-details .tourist-feature-grid-v154 article > div:last-child,
  .page-tourist-place-details .tourist-review-author {
    justify-content: center !important;
  }
  .page-tourist-place-details .detail-kicker,
  .page-tourist-place-details .detail-section-head > span,
  .page-tourist-place-details .tourist-feature-icon,
  .page-tourist-place-details .tourist-review-form-v154 > span {
    margin-inline: auto !important;
    text-align: center !important;
  }
  .page-tourist-place-details .detail-section-head h2,
  .page-tourist-place-details .detail-section-head p,
  .page-tourist-place-details #plan-your-visit .detail-section-head,
  .page-tourist-place-details #plan-your-visit .detail-section-head > span,
  .page-tourist-place-details #plan-your-visit .detail-section-head h2,
  .page-tourist-place-details #plan-your-visit .detail-section-head p {
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  .page-tourist-place-details .detail-content-card .rich-copy,
  .page-tourist-place-details .detail-content-card .rich-copy p,
  .page-tourist-place-details .detail-content-card .rich-copy h2,
  .page-tourist-place-details .detail-content-card .rich-copy h3,
  .page-tourist-place-details .detail-content-card .rich-copy h4,
  .page-tourist-place-details .detail-content-card .rich-copy blockquote {
    text-align: center !important;
  }
  .page-tourist-place-details .detail-content-card .rich-copy ul,
  .page-tourist-place-details .detail-content-card .rich-copy ol {
    padding-left: 0 !important;
    list-style-position: inside !important;
    text-align: center !important;
  }
  .page-tourist-place-details .detail-info-panel-head,
  .page-tourist-place-details .detail-info-panel dl > div,
  .page-tourist-place-details .detail-side-card dl > div {
    justify-content: center !important;
    text-align: center !important;
  }
  .page-tourist-place-details .detail-info-panel dt,
  .page-tourist-place-details .detail-info-panel dd,
  .page-tourist-place-details .detail-side-card dt,
  .page-tourist-place-details .detail-side-card dd {
    max-width: 100% !important;
    width: 100% !important;
    text-align: center !important;
  }
  .page-tourist-place-details .detail-info-panel dl > div,
  .page-tourist-place-details .detail-side-card dl > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
  .page-tourist-place-details .detail-location-card {
    align-items: center !important;
  }
  .page-tourist-place-details .tourist-review-author {
    align-items: center !important;
  }
}

/* ---------- Admin Verified Reviews redesign ---------- */
.admin-page-reviews {
  --review-teal:#063844;
  --review-green:#0a5c49;
  --review-gold:#f6bd55;
  --review-mint:#eef6f4;
  --review-line:#d8e6e2;
  --review-ink:#153a43;
  --review-muted:#6e8287;
  background:#f4f8f7 !important;
}
.review-admin-main-v157 {
  display:block !important;
  min-width:0 !important;
  padding-bottom:48px !important;
}
.review-admin-hero-v157 {
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  overflow:hidden;
  margin-bottom:22px;
  padding:28px 30px;
  border:1px solid rgba(246,189,85,.28);
  border-radius:24px;
  background:linear-gradient(135deg,#063844 0%,#0a5c49 100%);
  box-shadow:0 18px 50px rgba(6,56,68,.16);
  color:#fff;
}
.review-admin-hero-v157:before,
.review-admin-hero-v157:after {
  content:"";
  position:absolute;
  border:1px solid rgba(246,189,85,.16);
  border-radius:50%;
  pointer-events:none;
}
.review-admin-hero-v157:before {width:230px;height:230px;right:-110px;top:-130px}
.review-admin-hero-v157:after {width:120px;height:120px;left:-60px;bottom:-80px}
.review-admin-menu-v157 {position:relative;z-index:2}
.review-admin-hero-copy-v157 {position:relative;z-index:2;text-align:center}
.review-admin-hero-copy-v157 > span {
  display:block;
  margin-bottom:5px;
  color:var(--review-gold);
  font-size:10px;
  font-weight:850;
  letter-spacing:.16em;
}
.review-admin-hero-copy-v157 h1 {
  margin:0;
  color:#fff;
  font-size:clamp(1.75rem,3vw,2.55rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.review-admin-hero-copy-v157 p {
  max-width:690px;
  margin:8px auto 0;
  color:rgba(255,255,255,.76);
  font-size:.84rem;
  line-height:1.6;
}
.review-public-link-v157 {
  position:relative;
  z-index:2;
  min-height:42px;
  border-color:var(--review-gold)!important;
  background:var(--review-gold)!important;
  color:var(--review-teal)!important;
  white-space:nowrap;
}
.review-admin-notice-v157 {margin-bottom:16px!important}
.review-admin-metrics-v157 {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}
.review-admin-metrics-v157 article {
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:20px;
  border:1px solid var(--review-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(6,56,68,.06);
}
.review-admin-metrics-v157 article:after {
  content:"";
  position:absolute;
  right:-18px;
  top:-18px;
  width:62px;
  height:62px;
  border-radius:50%;
  background:var(--review-mint);
}
.review-admin-metrics-v157 span,
.review-admin-metrics-v157 strong,
.review-admin-metrics-v157 small {display:block;position:relative;z-index:1}
.review-admin-metrics-v157 span {color:var(--review-muted);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.review-admin-metrics-v157 strong {margin-top:7px;color:var(--review-ink);font-size:2rem;line-height:1}
.review-admin-metrics-v157 small {margin-top:6px;color:#809095;font-size:.68rem}
.review-admin-metrics-v157 .is-pending:before,
.review-admin-metrics-v157 .is-approved:before,
.review-admin-metrics-v157 .is-verified:before {content:"";position:absolute;left:0;top:0;bottom:0;width:4px}
.review-admin-metrics-v157 .is-pending:before {background:#e4a832}
.review-admin-metrics-v157 .is-approved:before {background:#0a8d66}
.review-admin-metrics-v157 .is-verified:before {background:#2676c8}
.review-admin-filter-card-v157 {
  margin-bottom:20px;
  padding:20px;
  border:1px solid var(--review-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 34px rgba(6,56,68,.055);
}
.review-admin-filter-title-v157 {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:15px;
}
.review-admin-filter-title-v157 span {display:block;color:var(--review-green);font-size:.64rem;font-weight:850;letter-spacing:.12em}
.review-admin-filter-title-v157 h2 {margin:4px 0 0;color:var(--review-ink);font-size:1.22rem}
.review-admin-filter-title-v157 > b {padding:7px 10px;border-radius:999px;background:var(--review-mint);color:var(--review-green);font-size:.68rem}
.review-admin-filter-v157 {
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto auto;
  align-items:end;
  gap:11px;
}
.review-admin-filter-v157 label > span {display:block;margin-bottom:6px;color:#315760;font-size:.69rem;font-weight:800}
.review-admin-filter-v157 select {
  width:100%;
  min-height:43px;
  padding:9px 36px 9px 12px;
  border:1px solid #cddfda;
  border-radius:11px;
  background:#fff;
  color:var(--review-ink);
  font:inherit;
}
.review-admin-filter-v157 .btn {min-height:43px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.review-admin-reset-v157 {color:var(--review-green)!important}
.review-admin-list-v157 {display:grid;gap:17px}
.review-admin-card-v157 {
  overflow:hidden;
  border:1px solid var(--review-line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 38px rgba(6,56,68,.065);
}
.review-admin-card-v157.status-pending {border-top:4px solid #e4a832}
.review-admin-card-v157.status-approved {border-top:4px solid #0a8d66}
.review-admin-card-v157.status-rejected {border-top:4px solid #c64b4b}
.review-admin-card-head-v157 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:19px 21px;
  border-bottom:1px solid #e5eeeb;
  background:linear-gradient(180deg,#fff,#fbfdfc);
}
.review-admin-person-v157 {display:flex;align-items:center;gap:12px;min-width:0}
.review-admin-person-v157 > span {
  flex:0 0 44px;
  display:grid;
  width:44px;
  height:44px;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,var(--review-teal),var(--review-green));
  color:#fff;
  font-size:1.05rem;
  font-weight:900;
}
.review-admin-person-v157 strong {display:block;overflow:hidden;color:var(--review-ink);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}
.review-admin-person-v157 small {display:block;margin-top:3px;color:#0a7a5a;font-size:.67rem;font-weight:750}
.review-admin-status-v157 {display:flex;align-items:center;gap:13px}
.review-admin-status-v157 > strong {color:var(--review-teal);font-size:1.45rem;white-space:nowrap}
.review-admin-status-v157 > strong small {font-size:.68rem;color:var(--review-muted)}
.review-admin-tour-meta-v157 {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr .8fr;
  gap:1px;
  border-bottom:1px solid #e3ece9;
  background:#e3ece9;
}
.review-admin-tour-meta-v157 > span {min-width:0;padding:13px 16px;background:#f4f9f7;color:#385a61;font-size:.74rem;overflow-wrap:anywhere}
.review-admin-tour-meta-v157 b {display:block;margin-bottom:3px;color:var(--review-green);font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}
.review-admin-content-v157 {padding:23px 21px}
.review-admin-recommend-v157 {display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.61rem;font-weight:850}
.review-admin-recommend-v157.yes {background:#e1f6ec;color:#08734f}
.review-admin-recommend-v157.no {background:#ffebe6;color:#a23b27}
.review-admin-content-v157 h2 {margin:12px 0 8px;color:var(--review-ink);font-size:1.25rem;line-height:1.3}
.review-admin-content-v157 > p {margin:0;color:#526b71;font-size:.87rem;line-height:1.75}
.review-admin-note-v157 {display:grid;grid-template-columns:155px 1fr;gap:12px;margin-top:15px;padding:13px 14px;border-radius:13px;background:#edf7f3;color:#45636a;font-size:.78rem;line-height:1.6}
.review-admin-note-v157 b {color:var(--review-green)}
.review-admin-note-v157.is-improvement {background:#fff7e8}
.review-admin-note-v157.is-improvement b {color:#9c6a13}
.review-admin-parameters-v157 {margin:0 21px 20px;border:1px solid #d8e7e2;border-radius:15px;background:#fbfdfc}
.review-admin-parameters-v157 summary {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;cursor:pointer;color:var(--review-green);font-size:.76rem;font-weight:850;list-style:none}
.review-admin-parameters-v157 summary::-webkit-details-marker {display:none}
.review-admin-parameters-v157 summary b {font-size:.62rem;color:var(--review-muted)}
.review-admin-parameters-v157[open] summary {border-bottom:1px solid #e2ebe8}
.review-admin-parameters-v157 > div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.review-admin-parameters-v157 article {display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,1.2fr) 36px;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;background:#fff;color:#4f676d;font-size:.69rem}
.review-admin-parameters-v157 article > div {height:7px;overflow:hidden;border-radius:999px;background:#dce9e6}
.review-admin-parameters-v157 article i {display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--review-green),var(--review-gold))}
.review-admin-parameters-v157 article b {text-align:right;color:var(--review-teal)}
.review-admin-card-footer-v157 {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 21px;
  border-top:1px solid #e2ebe8;
  background:#f8fbfa;
}
.review-admin-card-footer-v157 > span {color:#778a8f;font-size:.67rem}
.review-admin-card-footer-v157 > div {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.review-admin-approve-v157,
.review-admin-reject-v157 {display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 13px;border-radius:10px;text-decoration:none;font-size:.7rem;font-weight:850}
.review-admin-approve-v157 {background:var(--review-green);color:#fff}
.review-admin-reject-v157 {border:1px solid #efcccc;background:#fff0f0;color:#a33434}
.review-admin-empty-v157 {padding:65px 20px;border:1px dashed #bed3cd;border-radius:22px;background:#fff;text-align:center}
.review-admin-empty-v157 > span {display:block;color:var(--review-gold);font-size:2.7rem}
.review-admin-empty-v157 h3 {margin:8px 0;color:var(--review-ink)}
.review-admin-empty-v157 p {margin:0 0 17px;color:var(--review-muted)}

@media (max-width: 1050px) {
  .review-admin-metrics-v157 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-admin-filter-v157 {grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-admin-tour-meta-v157 {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px) {
  .review-admin-main-v157 {padding-inline:12px!important}
  .review-admin-hero-v157 {grid-template-columns:1fr;padding:24px 17px;text-align:center}
  .review-admin-menu-v157 {position:absolute!important;left:12px;top:12px;min-width:0!important;padding:7px 10px!important}
  .review-public-link-v157 {width:100%;margin-top:3px}
  .review-admin-metrics-v157 {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .review-admin-metrics-v157 article {padding:16px 13px;text-align:center}
  .review-admin-filter-title-v157 {align-items:center;flex-direction:column;text-align:center}
  .review-admin-filter-v157 {grid-template-columns:1fr}
  .review-admin-filter-v157 .btn {width:100%}
  .review-admin-card-head-v157 {align-items:center;flex-direction:column;text-align:center}
  .review-admin-person-v157 {flex-direction:column}
  .review-admin-person-v157 strong {white-space:normal;text-align:center}
  .review-admin-status-v157 {justify-content:center}
  .review-admin-tour-meta-v157 {grid-template-columns:1fr 1fr}
  .review-admin-tour-meta-v157 > span {text-align:center}
  .review-admin-content-v157 {padding:20px 16px;text-align:center}
  .review-admin-note-v157 {grid-template-columns:1fr;text-align:center}
  .review-admin-parameters-v157 {margin:0 14px 17px}
  .review-admin-parameters-v157 > div {grid-template-columns:1fr}
  .review-admin-card-footer-v157 {align-items:center;flex-direction:column;text-align:center}
  .review-admin-card-footer-v157 > div {justify-content:center;width:100%}
  .review-admin-approve-v157,.review-admin-reject-v157 {flex:1 1 0}
}
@media (max-width: 430px) {
  .review-admin-metrics-v157 {grid-template-columns:1fr 1fr}
  .review-admin-metrics-v157 strong {font-size:1.65rem}
  .review-admin-tour-meta-v157 {grid-template-columns:1fr}
  .review-admin-parameters-v157 article {grid-template-columns:1fr 36px}
  .review-admin-parameters-v157 article > div {grid-column:1/-1;grid-row:2}
}

/* Tourist Places directory listing: centre the complete mobile presentation. */
@media (max-width: 700px) {
  .page-tourist-places .tourist-user-hero-copy,
  .page-tourist-places .tourist-user-section-head,
  .page-tourist-places .tourist-user-results-head,
  .page-tourist-places .tourist-user-destination-card,
  .page-tourist-places .tourist-user-place-body,
  .page-tourist-places .tourist-user-cta-card,
  .page-tourist-places .tourist-user-filter-shell > summary {
    text-align:center !important;
  }
  .page-tourist-places .tourist-user-section-head > span,
  .page-tourist-places .tourist-user-section-head h2,
  .page-tourist-places .tourist-user-section-head p,
  .page-tourist-places .tourist-user-results-head > span,
  .page-tourist-places .tourist-user-results-head h2,
  .page-tourist-places .tourist-user-results-head p {
    width:100% !important;
    margin-inline:auto !important;
    text-align:center !important;
  }
  .page-tourist-places .tourist-user-place-title-row {
    grid-template-columns:1fr !important;
    justify-items:center !important;
    text-align:center !important;
  }
  .page-tourist-places .tourist-user-score {
    justify-self:center !important;
  }
  .page-tourist-places .tourist-user-image-location,
  .page-tourist-places .tourist-user-card-tags,
  .page-tourist-places .tourist-user-card-footer,
  .page-tourist-places .tourist-user-active-filters {
    justify-content:center !important;
    text-align:center !important;
  }
  .page-tourist-places .tourist-user-place-facts > span {
    justify-content:center !important;
    text-align:left !important;
  }
  .page-tourist-places .tourist-user-card-footer {
    align-items:center !important;
    flex-direction:column !important;
    gap:11px !important;
  }
  .page-tourist-places .tourist-user-card-footer .btn {
    margin-inline:auto !important;
  }
  .page-tourist-places .tourist-user-cta-card {
    align-items:center !important;
  }
  .page-tourist-places .tourist-user-cta-card p {
    margin-inline:auto !important;
    text-align:center !important;
  }
}

/* === theme-v160-route-safe-ui-fixes.css === */

/* V160 — Route-safe Past Tours centering, full mobile Tourist Places centering,
   and final admin Reviews responsive polish. */

/* Past Tours: Clear Filter always centred on list and clean detail routes. */
.route-past-tours .past-tour-filter-actions,
.page-past-tours .past-tour-filter-actions,
.past-tour-filter .past-tour-filter-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-align: center !important;
}
.route-past-tours .past-tour-clear-btn,
.page-past-tours .past-tour-clear-btn,
.past-tour-filter .past-tour-clear-btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 150px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
@media (max-width: 600px) {
  .route-past-tours .past-tour-filter-actions,
  .page-past-tours .past-tour-filter-actions,
  .past-tour-filter .past-tour-filter-actions {
    flex-direction: column !important;
  }
  .route-past-tours .past-tour-filter-actions > .btn:first-child,
  .page-past-tours .past-tour-filter-actions > .btn:first-child,
  .past-tour-filter .past-tour-filter-actions > .btn:first-child {
    width: 100% !important;
  }
  .route-past-tours .past-tour-clear-btn,
  .page-past-tours .past-tour-clear-btn,
  .past-tour-filter .past-tour-clear-btn {
    align-self: center !important;
  }
}

/* Tourist Place Directory: every important mobile text block is centred. */
@media (max-width: 700px) {
  .route-tourist-place-directory .tourist-user-hero-copy,
  .route-tourist-place-directory .tourist-user-section-head,
  .route-tourist-place-directory .tourist-user-results-head,
  .tourist-directory-user-v153 .tourist-user-hero-copy,
  .tourist-directory-user-v153 .tourist-user-section-head,
  .tourist-directory-user-v153 .tourist-user-results-head,
  .tourist-directory-user-v153 .tourist-user-place-body,
  .tourist-directory-user-v153 .tourist-user-place-title-row,
  .tourist-directory-user-v153 .tourist-user-place-body > p,
  .tourist-directory-user-v153 .tourist-user-card-footer,
  .tourist-directory-user-v153 .tourist-user-destination-copy,
  .tourist-directory-user-v153 .tourist-user-filter-shell > summary {
    text-align: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-section-head,
  .tourist-directory-user-v153 .tourist-user-results-head {
    align-items: center !important;
    justify-content: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-section-head > span,
  .tourist-directory-user-v153 .tourist-user-section-head h2,
  .tourist-directory-user-v153 .tourist-user-section-head p,
  .tourist-directory-user-v153 .tourist-user-results-head > span,
  .tourist-directory-user-v153 .tourist-user-results-head h2,
  .tourist-directory-user-v153 .tourist-user-results-head p {
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-place-title-row {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-score {
    justify-self: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-image-location,
  .tourist-directory-user-v153 .tourist-user-card-tags,
  .tourist-directory-user-v153 .tourist-user-card-footer,
  .tourist-directory-user-v153 .tourist-user-active-filters {
    justify-content: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-place-facts > span {
    justify-items: center !important;
    text-align: center !important;
  }
  .tourist-directory-user-v153 .tourist-user-place-facts svg {
    grid-row: auto !important;
    margin: 0 auto 3px !important;
  }
  .tourist-directory-user-v153 .tourist-user-place-facts > span {
    grid-template-columns: 1fr !important;
  }
  .tourist-directory-user-v153 .tourist-user-card-footer .btn {
    width: 100% !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Tourist Place detail: route-safe centre alignment, including Plan Your Visit. */
@media (max-width: 700px) {
  .route-tourist-place-details .detail-hero-inner,
  .route-tourist-place-details .detail-breadcrumb,
  .route-tourist-place-details .detail-section-head,
  .route-tourist-place-details .detail-content-card,
  .route-tourist-place-details .detail-side-card,
  .route-tourist-place-details .detail-info-panel,
  .route-tourist-place-details .tourist-plan-columns > *,
  .route-tourist-place-details #plan-your-visit,
  .route-tourist-place-details #plan-your-visit * {
    text-align: center !important;
  }
  .route-tourist-place-details .detail-breadcrumb,
  .route-tourist-place-details .detail-hero-actions,
  .route-tourist-place-details .detail-chip-list,
  .route-tourist-place-details .detail-location-card,
  .route-tourist-place-details .detail-info-panel-head {
    justify-content: center !important;
  }
  .route-tourist-place-details .detail-kicker,
  .route-tourist-place-details .detail-section-head > span,
  .route-tourist-place-details #plan-your-visit .detail-section-head > span {
    display: table !important;
    margin-inline: auto !important;
  }
  .route-tourist-place-details #plan-your-visit .detail-section-head,
  .route-tourist-place-details #plan-your-visit .detail-section-head h2,
  .route-tourist-place-details #plan-your-visit .detail-section-head p {
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  .route-tourist-place-details .detail-info-panel dl > div,
  .route-tourist-place-details .detail-side-card dl > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 3px !important;
  }
  .route-tourist-place-details .rich-copy ul,
  .route-tourist-place-details .rich-copy ol {
    padding-left: 0 !important;
    list-style-position: inside !important;
  }
}

/* Admin Reviews: final hierarchy and mobile action polish. */
.admin-page-reviews .review-admin-main-v157 { max-width: 1540px; width: 100%; margin-inline: auto; }
.admin-page-reviews .review-admin-card-v157 { overflow: hidden; }
.admin-page-reviews .review-admin-card-footer-v157 { align-items: center; }
.admin-page-reviews .review-admin-card-footer-v157 > div:last-child { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.admin-page-reviews .review-admin-approve-v157,
.admin-page-reviews .review-admin-reject-v157 { min-height: 40px; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
@media (max-width: 760px) {
  .admin-page-reviews .review-admin-hero-v157 {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 24px 18px !important;
    text-align: center !important;
  }
  .admin-page-reviews .review-admin-menu-v157 { justify-self: start !important; }
  .admin-page-reviews .review-public-link-v157 { width: 100% !important; }
  .admin-page-reviews .review-admin-metrics-v157 { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .admin-page-reviews .review-admin-filter-title-v157,
  .admin-page-reviews .review-admin-card-head-v157,
  .admin-page-reviews .review-admin-card-footer-v157 {
    align-items: center !important;
    flex-direction: column !important;
    text-align: center !important;
  }
  .admin-page-reviews .review-admin-filter-v157 { grid-template-columns: 1fr !important; }
  .admin-page-reviews .review-admin-filter-v157 .btn,
  .admin-page-reviews .review-admin-reset-v157 { width: 100% !important; }
  .admin-page-reviews .review-admin-card-footer-v157 > div:last-child { width:100%; justify-content:center; }
  .admin-page-reviews .review-admin-approve-v157,
  .admin-page-reviews .review-admin-reject-v157 { flex:1 1 150px; }
}
@media (max-width: 430px) {
  .admin-page-reviews .review-admin-metrics-v157 { grid-template-columns: 1fr !important; }
  .admin-page-reviews .review-admin-approve-v157,
  .admin-page-reviews .review-admin-reject-v157 { flex-basis:100%; width:100%; }
}

/* === theme-v162-centre-reviews-final.css === */

/* V162 — definitive route-independent centring and admin review redesign. */

/* ==================== Past Tours: Clear Filter truly centred ==================== */
.past-tours-user-v162 .past-tour-filter-actions,
.page-past-tours .past-tour-filter-actions,
.route-past-tours .past-tour-filter-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  gap: 10px !important;
  text-align: center !important;
}
.past-tours-user-v162 .past-tour-submit-v162,
.page-past-tours .past-tour-submit-v162,
.route-past-tours .past-tour-submit-v162 {
  min-width: 180px !important;
  margin-inline: auto !important;
}
.past-tours-user-v162 .past-tour-clear-row-v162,
.page-past-tours .past-tour-clear-row-v162,
.route-past-tours .past-tour-clear-row-v162 {
  flex: 0 0 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
}
.past-tours-user-v162 .past-tour-clear-btn,
.page-past-tours .past-tour-clear-btn,
.route-past-tours .past-tour-clear-btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 154px !important;
  margin: 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
@media (max-width: 600px) {
  .past-tours-user-v162 .past-tour-filter-actions,
  .page-past-tours .past-tour-filter-actions,
  .route-past-tours .past-tour-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }
  .past-tours-user-v162 .past-tour-submit-v162,
  .page-past-tours .past-tour-submit-v162,
  .route-past-tours .past-tour-submit-v162 {
    width: 100% !important;
  }
  .past-tours-user-v162 .past-tour-clear-row-v162,
  .page-past-tours .past-tour-clear-row-v162,
  .route-past-tours .past-tour-clear-row-v162 {
    grid-column: 1 !important;
  }
}

/* ==================== Tourist Place Directory: all mobile text centred ==================== */
@media (max-width: 767px) {
  .tourist-directory-centre-v162 .tourist-user-hero-copy,
  .tourist-directory-centre-v162 .tourist-user-hero-copy *,
  .tourist-directory-centre-v162 .tourist-user-section-head,
  .tourist-directory-centre-v162 .tourist-user-section-head *,
  .tourist-directory-centre-v162 .tourist-user-results-head,
  .tourist-directory-centre-v162 .tourist-user-results-head *,
  .tourist-directory-centre-v162 .tourist-user-destination-copy,
  .tourist-directory-centre-v162 .tourist-user-category-grid a,
  .tourist-directory-centre-v162 .tourist-user-filter-shell > summary,
  .tourist-directory-centre-v162 .tourist-user-filter-shell > summary *,
  .tourist-directory-centre-v162 .tourist-user-filter-panel .field,
  .tourist-directory-centre-v162 .tourist-user-filter-panel label,
  .tourist-directory-centre-v162 .tourist-user-place-body,
  .tourist-directory-centre-v162 .tourist-user-place-body *,
  .tourist-directory-centre-v162 .tourist-user-no-results,
  .tourist-directory-centre-v162 .tourist-user-cta-card,
  .tourist-directory-centre-v162 .tourist-user-cta-card * {
    text-align: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-hero-copy,
  .tourist-directory-centre-v162 .tourist-user-section-head,
  .tourist-directory-centre-v162 .tourist-user-results-head,
  .tourist-directory-centre-v162 .tourist-user-place-title-row,
  .tourist-directory-centre-v162 .tourist-user-card-footer,
  .tourist-directory-centre-v162 .tourist-user-cta-card {
    align-items: center !important;
    justify-content: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-section-head > span,
  .tourist-directory-centre-v162 .tourist-user-section-head h2,
  .tourist-directory-centre-v162 .tourist-user-section-head p,
  .tourist-directory-centre-v162 .tourist-user-results-head > span,
  .tourist-directory-centre-v162 .tourist-user-results-head h2,
  .tourist-directory-centre-v162 .tourist-user-results-head p {
    display: block !important;
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-hero-search input,
  .tourist-directory-centre-v162 .tourist-user-filter-panel input,
  .tourist-directory-centre-v162 .tourist-user-filter-panel select {
    text-align: center !important;
    text-align-last: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-destination-card {
    text-align: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-destination-copy {
    align-items: center !important;
    justify-content: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-card-arrow {
    display: none !important;
  }
  .tourist-directory-centre-v162 .tourist-user-place-title-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 12px !important;
  }
  .tourist-directory-centre-v162 .tourist-user-place-title-row > div,
  .tourist-directory-centre-v162 .tourist-user-score {
    justify-self: center !important;
    margin-inline: auto !important;
  }
  .tourist-directory-centre-v162 .tourist-user-image-location,
  .tourist-directory-centre-v162 .tourist-user-card-tags,
  .tourist-directory-centre-v162 .tourist-user-active-filters,
  .tourist-directory-centre-v162 .tourist-user-filter-actions,
  .tourist-directory-centre-v162 .tourist-user-card-footer {
    justify-content: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-place-facts {
    justify-items: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-place-facts > span {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: start !important;
    text-align: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-place-facts svg {
    grid-row: auto !important;
    margin: 0 auto 4px !important;
  }
  .tourist-directory-centre-v162 .tourist-user-card-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .tourist-directory-centre-v162 .tourist-user-card-footer .btn {
    width: 100% !important;
    justify-content: center !important;
  }
  .tourist-directory-centre-v162 .tourist-user-cta-card {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* ==================== Tourist Place detail: Plan Your Visit centred ==================== */
@media (max-width: 767px) {
  .tourist-place-details-v162 #plan-your-visit,
  .tourist-place-details-v162 #plan-your-visit *,
  .page-tourist-place-details #plan-your-visit,
  .page-tourist-place-details #plan-your-visit *,
  .route-tourist-place-details #plan-your-visit,
  .route-tourist-place-details #plan-your-visit * {
    text-align: center !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-section-head,
  .page-tourist-place-details #plan-your-visit .detail-section-head,
  .route-tourist-place-details #plan-your-visit .detail-section-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    max-width: 100% !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-section-head > span,
  .page-tourist-place-details #plan-your-visit .detail-section-head > span,
  .route-tourist-place-details #plan-your-visit .detail-section-head > span {
    display: table !important;
    margin-inline: auto !important;
  }
  .tourist-place-details-v162 #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    grid-template-columns: 1fr !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel-head,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel-head > span,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head > span,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head > span {
    margin-inline: auto !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 4px !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dt,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dd,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dd,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dd {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-location-card,
  .page-tourist-place-details #plan-your-visit .detail-location-card,
  .route-tourist-place-details #plan-your-visit .detail-location-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
  }
  .tourist-place-details-v162 #plan-your-visit .detail-location-card .btn,
  .page-tourist-place-details #plan-your-visit .detail-location-card .btn,
  .route-tourist-place-details #plan-your-visit .detail-location-card .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* ==================== Admin Reviews: final clean responsive design ==================== */
.admin-page-reviews {
  --review-ink: #082f3a;
  --review-muted: #60757a;
  --review-line: #dce9e7;
  --review-soft: #f4f9f8;
  --review-gold: #f6bd55;
  --review-green: #0a5c49;
}
.admin-page-reviews .review-admin-main-v162 {
  width: 100% !important;
  max-width: 1540px !important;
  margin-inline: auto !important;
  padding: 28px clamp(18px, 3vw, 42px) 54px !important;
}
.admin-page-reviews .review-admin-hero-v162 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  overflow: hidden !important;
  padding: 30px 32px !important;
  border: 1px solid var(--review-line) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f0f8f6 100%) !important;
  box-shadow: 0 16px 42px rgba(6, 56, 68, .08) !important;
}
.admin-page-reviews .review-admin-hero-v162::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -80px;
  border-radius: 50%;
  background: rgba(246, 189, 85, .18);
  pointer-events: none;
}
.admin-page-reviews .review-admin-hero-copy-v157 {
  position: relative !important;
  z-index: 1 !important;
  max-width: 820px !important;
}
.admin-page-reviews .review-admin-hero-copy-v157 > span {
  color: var(--review-green) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .16em !important;
}
.admin-page-reviews .review-admin-hero-copy-v157 h1 {
  margin: 7px 0 8px !important;
  color: var(--review-ink) !important;
  font-size: clamp(2rem, 4vw, 3.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
}
.admin-page-reviews .review-admin-hero-copy-v157 p {
  max-width: 720px !important;
  margin: 0 !important;
  color: var(--review-muted) !important;
  line-height: 1.7 !important;
}
.admin-page-reviews .review-public-link-v157 {
  position: relative !important;
  z-index: 1 !important;
  min-width: 190px !important;
  justify-content: center !important;
  background: var(--review-ink) !important;
  color: #fff !important;
}
.admin-page-reviews .review-admin-metrics-v157 {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 20px 0 !important;
}
.admin-page-reviews .review-admin-metrics-v157 > article {
  position: relative !important;
  min-height: 126px !important;
  overflow: hidden !important;
  padding: 20px !important;
  border: 1px solid var(--review-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(6, 56, 68, .055) !important;
}
.admin-page-reviews .review-admin-metrics-v157 > article::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #8aa09d;
}
.admin-page-reviews .review-admin-metrics-v157 > article.is-pending::before { background: #d99516; }
.admin-page-reviews .review-admin-metrics-v157 > article.is-approved::before { background: #149669; }
.admin-page-reviews .review-admin-metrics-v157 > article.is-rejected::before { background: #d24f4f; }
.admin-page-reviews .review-admin-metrics-v157 > article.is-verified::before { background: #2d78d4; }
.admin-page-reviews .review-admin-metrics-v157 span,
.admin-page-reviews .review-admin-metrics-v157 small { color: var(--review-muted) !important; }
.admin-page-reviews .review-admin-metrics-v157 strong {
  display: block !important;
  margin: 7px 0 4px !important;
  color: var(--review-ink) !important;
  font-size: 2rem !important;
}
.admin-page-reviews .review-admin-filter-card-v157 {
  margin-bottom: 20px !important;
  padding: 22px !important;
  border: 1px solid var(--review-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 30px rgba(6, 56, 68, .055) !important;
}
.admin-page-reviews .review-admin-filter-title-v157 {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 17px !important;
  padding-bottom: 15px !important;
  border-bottom: 1px solid var(--review-line) !important;
}
.admin-page-reviews .review-admin-filter-title-v157 h2 {
  margin: 3px 0 0 !important;
  color: var(--review-ink) !important;
}
.admin-page-reviews .review-admin-filter-title-v157 > b {
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: var(--review-soft) !important;
  color: var(--review-green) !important;
}
.admin-page-reviews .review-admin-filter-v157 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) auto auto !important;
  align-items: end !important;
  gap: 12px !important;
}
.admin-page-reviews .review-admin-filter-v157 label span {
  display: block !important;
  margin-bottom: 7px !important;
  color: var(--review-ink) !important;
  font-size: .76rem !important;
  font-weight: 800 !important;
}
.admin-page-reviews .review-admin-filter-v157 select {
  width: 100% !important;
  min-height: 47px !important;
  border: 1px solid #cfdfdc !important;
  border-radius: 12px !important;
  background: #fbfdfd !important;
}
.admin-page-reviews .review-admin-list-v157 {
  display: grid !important;
  gap: 18px !important;
}
.admin-page-reviews .review-admin-card-v157 {
  overflow: hidden !important;
  border: 1px solid var(--review-line) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(6, 56, 68, .065) !important;
}
.admin-page-reviews .review-admin-card-v157.status-pending { border-top: 4px solid #d99516 !important; }
.admin-page-reviews .review-admin-card-v157.status-approved { border-top: 4px solid #149669 !important; }
.admin-page-reviews .review-admin-card-v157.status-rejected { border-top: 4px solid #d24f4f !important; }
.admin-page-reviews .review-admin-card-head-v157 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 20px 22px !important;
  background: linear-gradient(180deg, #fff, #f8fbfa) !important;
  border-bottom: 1px solid var(--review-line) !important;
}
.admin-page-reviews .review-admin-person-v157 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
.admin-page-reviews .review-admin-person-v157 > span {
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center !important;
  flex: 0 0 46px !important;
  border-radius: 14px !important;
  background: var(--review-ink) !important;
  color: var(--review-gold) !important;
  font-weight: 850 !important;
}
.admin-page-reviews .review-admin-tour-meta-v157 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 16px 22px !important;
  background: var(--review-soft) !important;
  border-bottom: 1px solid var(--review-line) !important;
}
.admin-page-reviews .review-admin-tour-meta-v157 > span {
  min-width: 0 !important;
  padding: 11px 12px !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--review-ink) !important;
  overflow-wrap: anywhere !important;
}
.admin-page-reviews .review-admin-tour-meta-v157 b {
  display: block !important;
  margin-bottom: 3px !important;
  color: var(--review-muted) !important;
  font-size: .66rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.admin-page-reviews .review-admin-content-v157 {
  padding: 22px !important;
}
.admin-page-reviews .review-admin-content-v157 h2 {
  margin: 12px 0 8px !important;
  color: var(--review-ink) !important;
}
.admin-page-reviews .review-admin-content-v157 > p {
  color: #40595f !important;
  line-height: 1.75 !important;
}
.admin-page-reviews .review-admin-note-v157 {
  margin-top: 12px !important;
  padding: 14px 16px !important;
  border: 1px solid #dce9e7 !important;
  border-radius: 14px !important;
  background: #f8fbfa !important;
}
.admin-page-reviews .review-admin-parameters-v157 {
  margin: 0 22px 20px !important;
  border: 1px solid var(--review-line) !important;
  border-radius: 15px !important;
  background: #fbfdfd !important;
}
.admin-page-reviews .review-admin-parameters-v157 summary {
  padding: 15px 17px !important;
  cursor: pointer !important;
}
.admin-page-reviews .review-admin-card-footer-v157 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 17px 22px !important;
  border-top: 1px solid var(--review-line) !important;
  background: #f9fbfb !important;
}
.admin-page-reviews .review-admin-card-footer-v157 > div:last-child {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 9px !important;
}
.admin-page-reviews .review-admin-approve-v157,
.admin-page-reviews .review-admin-reject-v157 {
  display: inline-flex !important;
  min-height: 42px !important;
  padding: 10px 15px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 11px !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.admin-page-reviews .review-admin-approve-v157 { background: #0a7257 !important; color: #fff !important; }
.admin-page-reviews .review-admin-reject-v157 { background: #fff0f0 !important; color: #a72f2f !important; border: 1px solid #f1caca !important; }

@media (max-width: 1180px) {
  .admin-page-reviews .review-admin-metrics-v157 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .admin-page-reviews .review-admin-tour-meta-v157 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
  .admin-page-reviews .review-admin-main-v162 { padding: 18px 14px 42px !important; }
  .admin-page-reviews .review-admin-hero-v162 {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 24px 18px !important;
    text-align: center !important;
  }
  .admin-page-reviews .review-admin-hero-copy-v157 p { margin-inline: auto !important; }
  .admin-page-reviews .review-public-link-v157 { width: 100% !important; }
  .admin-page-reviews .review-admin-metrics-v157 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .admin-page-reviews .review-admin-filter-title-v157,
  .admin-page-reviews .review-admin-card-head-v157,
  .admin-page-reviews .review-admin-card-footer-v157 {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .admin-page-reviews .review-admin-filter-v157 { grid-template-columns: 1fr !important; }
  .admin-page-reviews .review-admin-filter-v157 .btn,
  .admin-page-reviews .review-admin-reset-v157 { width: 100% !important; }
  .admin-page-reviews .review-admin-person-v157 { flex-direction: column !important; text-align: center !important; }
  .admin-page-reviews .review-admin-status-v157 { align-items: center !important; }
  .admin-page-reviews .review-admin-card-footer-v157 > div:last-child { width: 100% !important; justify-content: center !important; }
}
@media (max-width: 520px) {
  .admin-page-reviews .review-admin-metrics-v157,
  .admin-page-reviews .review-admin-tour-meta-v157 { grid-template-columns: 1fr !important; }
  .admin-page-reviews .review-admin-filter-card-v157,
  .admin-page-reviews .review-admin-content-v157,
  .admin-page-reviews .review-admin-card-head-v157,
  .admin-page-reviews .review-admin-card-footer-v157 { padding-left: 16px !important; padding-right: 16px !important; }
  .admin-page-reviews .review-admin-parameters-v157 { margin-inline: 16px !important; }
  .admin-page-reviews .review-admin-approve-v157,
  .admin-page-reviews .review-admin-reject-v157 { width: 100% !important; }
}

/* === theme-v163-plan-visit-mobile.css === */

/* V163 — Tourist-place mobile Plan Your Visit alignment and two-column travel cards. */

/* A single hero action must remain visually centred instead of occupying the first grid cell. */
.tourist-place-detail-page .detail-hero-actions.is-single-action,
.page-tourist-place-details .detail-hero-actions.is-single-action,
.route-tourist-place-details .detail-hero-actions.is-single-action {
  display: grid;
  grid-template-columns: minmax(210px, 330px);
  justify-content: center;
  width: 100%;
  margin-inline: auto;
}

.tourist-place-detail-page .detail-hero-actions.is-single-action .plan-visit-action,
.page-tourist-place-details .detail-hero-actions.is-single-action .plan-visit-action,
.route-tourist-place-details .detail-hero-actions.is-single-action .plan-visit-action {
  width: 100%;
  margin-inline: auto;
  text-align: center;
  justify-content: center;
}

@media (max-width: 767px) {
  /* Keep the hero Plan Your Visit action centred on narrow/clean URLs. */
  .tourist-place-detail-page .detail-hero-actions.is-single-action,
  .page-tourist-place-details .detail-hero-actions.is-single-action,
  .route-tourist-place-details .detail-hero-actions.is-single-action {
    grid-template-columns: minmax(200px, 78vw) !important;
    justify-content: center !important;
    justify-items: stretch !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }

  /* Centre the section eyebrow/title/description. */
  .tourist-place-detail-page #plan-your-visit .detail-section-head,
  .page-tourist-place-details #plan-your-visit .detail-section-head,
  .route-tourist-place-details #plan-your-visit .detail-section-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-section-head > span,
  .page-tourist-place-details #plan-your-visit .detail-section-head > span,
  .route-tourist-place-details #plan-your-visit .detail-section-head > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto 10px !important;
    text-align: center !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-section-head h2,
  .tourist-place-detail-page #plan-your-visit .detail-section-head p,
  .page-tourist-place-details #plan-your-visit .detail-section-head h2,
  .page-tourist-place-details #plan-your-visit .detail-section-head p,
  .route-tourist-place-details #plan-your-visit .detail-section-head h2,
  .route-tourist-place-details #plan-your-visit .detail-section-head p {
    width: 100% !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  /* User requested Distance & Transport + Timing & Entry in one row even on mobile. */
  .tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel,
  .page-tourist-place-details #plan-your-visit .detail-info-panel,
  .route-tourist-place-details #plan-your-visit .detail-info-panel {
    min-width: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    text-align: center !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 126px !important;
    padding: 15px 10px !important;
    gap: 8px !important;
    text-align: center !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head > span,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head > span,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head > span {
    margin-inline: auto !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head h3,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head h3,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head h3 {
    margin: 3px 0 0 !important;
    font-size: clamp(.88rem, 3.7vw, 1.08rem) !important;
    line-height: 1.22 !important;
    overflow-wrap: anywhere !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head small,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head small,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head small {
    font-size: .57rem !important;
    letter-spacing: .08em !important;
    line-height: 1.25 !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl {
    padding: 5px 9px 12px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-content: start !important;
    gap: 3px !important;
    min-width: 0 !important;
    padding: 10px 2px !important;
    text-align: center !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dt,
  .tourist-place-detail-page #plan-your-visit .detail-info-panel dd,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dd,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dd {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dt,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dt {
    font-size: .59rem !important;
    line-height: 1.3 !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dd,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dd,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dd {
    font-size: .72rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 390px) {
  .tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    gap: 7px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head {
    min-height: 118px !important;
    padding-inline: 6px !important;
  }
}

/* === theme-v164-plan-fact-rows.css === */

/* V164 — Keep visitor facts in one left-label/right-value row and align HTML editor note left. */

/* Admin Tourist Place editor: the description label, HTML badge and help note stay left aligned. */
body.admin-page-tourist-place-editor .tourist-html-description-group-v164,
body.admin-page-tourist-place-editor .tourist-html-description-group-v164 > label,
body.admin-page-tourist-place-editor .tourist-html-description-group-v164 .rich-html-help-v155 {
  text-align: left !important;
}

body.admin-page-tourist-place-editor .tourist-html-description-group-v164 > label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  width: 100% !important;
}

body.admin-page-tourist-place-editor .tourist-html-description-group-v164 .rich-html-badge-v155 {
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}

/* Visitor guide: every fact remains a single row — label left, value right. */
.tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
.tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
.page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
.route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(58px, .72fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 12px 0 !important;
  text-align: initial !important;
}

.tourist-place-detail-page #plan-your-visit .detail-info-panel dt,
.tourist-place-details-v162 #plan-your-visit .detail-info-panel dt,
.page-tourist-place-details #plan-your-visit .detail-info-panel dt,
.route-tourist-place-details #plan-your-visit .detail-info-panel dt {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.tourist-place-detail-page #plan-your-visit .detail-info-panel dd,
.tourist-place-details-v162 #plan-your-visit .detail-info-panel dd,
.page-tourist-place-details #plan-your-visit .detail-info-panel dd,
.route-tourist-place-details #plan-your-visit .detail-info-panel dd {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  text-align: right !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 767px) {
  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl {
    padding: 5px 9px 12px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
    grid-template-columns: minmax(0, 1fr) minmax(48px, .78fr) !important;
    gap: 6px !important;
    padding: 10px 1px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dt,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dt,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dt,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dt {
    font-size: .59rem !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dd,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dd,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dd,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dd {
    font-size: .70rem !important;
    line-height: 1.3 !important;
    text-align: right !important;
  }
}

@media (max-width: 390px) {
  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl {
    padding-inline: 7px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
    grid-template-columns: minmax(0, 1fr) minmax(43px, .80fr) !important;
    gap: 5px !important;
  }
}

/* === theme-v165-plan-stack-description-left.css === */

/* V165 — Stack travel sections vertically and keep public detailed HTML copy left aligned. */

/* Public user mode: the full detailed description is editorial content, not centred promo copy. */
.tourist-place-detail-page .user-full-description-v165,
.tourist-place-details-v162 .user-full-description-v165,
.page-tourist-place-details .user-full-description-v165,
.route-tourist-place-details .user-full-description-v165,
.tourist-place-detail-page .user-full-description-v165 .rich-copy,
.tourist-place-details-v162 .user-full-description-v165 .rich-copy,
.page-tourist-place-details .user-full-description-v165 .rich-copy,
.route-tourist-place-details .user-full-description-v165 .rich-copy,
.tourist-place-detail-page .user-full-description-v165 .rich-copy :is(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,li,table,thead,tbody,tr,th,td),
.tourist-place-details-v162 .user-full-description-v165 .rich-copy :is(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,li,table,thead,tbody,tr,th,td),
.page-tourist-place-details .user-full-description-v165 .rich-copy :is(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,li,table,thead,tbody,tr,th,td),
.route-tourist-place-details .user-full-description-v165 .rich-copy :is(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,li,table,thead,tbody,tr,th,td) {
  text-align: left !important;
}

.tourist-place-detail-page .user-full-description-v165 .rich-copy ul,
.tourist-place-detail-page .user-full-description-v165 .rich-copy ol,
.tourist-place-details-v162 .user-full-description-v165 .rich-copy ul,
.tourist-place-details-v162 .user-full-description-v165 .rich-copy ol,
.page-tourist-place-details .user-full-description-v165 .rich-copy ul,
.page-tourist-place-details .user-full-description-v165 .rich-copy ol,
.route-tourist-place-details .user-full-description-v165 .rich-copy ul,
.route-tourist-place-details .user-full-description-v165 .rich-copy ol {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 1.35rem !important;
  list-style-position: outside !important;
}

/* Distance & Transport first, Timing & Entry below it on every viewport. */
.tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
.tourist-place-details-v162 #plan-your-visit .tourist-plan-columns,
.page-tourist-place-details #plan-your-visit .tourist-plan-columns,
.route-tourist-place-details #plan-your-visit .tourist-plan-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 18px !important;
  width: 100% !important;
}

.tourist-place-detail-page #plan-your-visit .detail-info-panel,
.tourist-place-details-v162 #plan-your-visit .detail-info-panel,
.page-tourist-place-details #plan-your-visit .detail-info-panel,
.route-tourist-place-details #plan-your-visit .detail-info-panel {
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}

/* Each fact remains one row: label left, value right. */
.tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
.tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
.page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
.route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
  grid-template-columns: minmax(0, 1fr) minmax(88px, auto) !important;
}

@media (max-width: 767px) {
  .tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
  .tourist-place-details-v162 #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    gap: 13px !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel-head,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head {
    flex-direction: row !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: 17px 16px !important;
    text-align: left !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head > span,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel-head > span,
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head > span,
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head > span {
    margin-inline: 0 !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel-head :is(small,h3),
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel-head :is(small,h3),
  .page-tourist-place-details #plan-your-visit .detail-info-panel-head :is(small,h3),
  .route-tourist-place-details #plan-your-visit .detail-info-panel-head :is(small,h3) {
    text-align: left !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel dl > div,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel dl > div,
  .page-tourist-place-details #plan-your-visit .detail-info-panel dl > div,
  .route-tourist-place-details #plan-your-visit .detail-info-panel dl > div {
    grid-template-columns: minmax(0, 1fr) minmax(78px, auto) !important;
    gap: 10px !important;
    padding: 12px 2px !important;
  }

  .tourist-place-detail-page .user-full-description-v165,
  .tourist-place-details-v162 .user-full-description-v165,
  .page-tourist-place-details .user-full-description-v165,
  .route-tourist-place-details .user-full-description-v165 {
    text-align: left !important;
  }
}

/* === theme-v166-plan-sections-responsive.css === */

/* V166 — Keep Plan Your Visit cards side-by-side on desktop and stacked only on mobile. */

/* Tablet / PC / desktop: preserve the original two-column presentation. */
@media (min-width: 768px) {
  .tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
  .tourist-place-details-v162 #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel,
  .page-tourist-place-details #plan-your-visit .detail-info-panel,
  .route-tourist-place-details #plan-your-visit .detail-info-panel {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
  }
}

/* Mobile only: Distance & Transport first, Timing & Entry underneath. */
@media (max-width: 767px) {
  .tourist-place-detail-page #plan-your-visit .tourist-plan-columns,
  .tourist-place-details-v162 #plan-your-visit .tourist-plan-columns,
  .page-tourist-place-details #plan-your-visit .tourist-plan-columns,
  .route-tourist-place-details #plan-your-visit .tourist-plan-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 13px !important;
    width: 100% !important;
  }

  .tourist-place-detail-page #plan-your-visit .detail-info-panel,
  .tourist-place-details-v162 #plan-your-visit .detail-info-panel,
  .page-tourist-place-details #plan-your-visit .detail-info-panel,
  .route-tourist-place-details #plan-your-visit .detail-info-panel {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }
}
