﻿@import url("/css/style_inn.css");
/* 景點首頁：沿用住宿 RWD 卡片，景點卡片加上簡介 */
.scenic-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.scenic-card {
  display:flex;
  gap:16px;
  min-width:0;
  padding:14px;
  border:1px solid #e8e8e8;
  border-radius:14px;
  background:#fff
}
.scenic-card>a {
  width:38%;
  flex:0 0 38%;
  display:block
}
.scenic-card .visual {
  height:155px;
  border-radius:9px;
  overflow:hidden;
  background:#f2f4f5;
  display:flex;
  align-items:center;
  justify-content:center
}
.scenic-card .visual img {
  width:100%;
  height:100%;
  object-fit:cover
}
.scenic-card .no-photo {
  color:#7b858d
}
.scenic-card-body {
  min-width:0;
  flex:1
}
.scenic-card-body h3 {
  margin:3px 0 10px;
  font-size:18px;
  line-height:1.45
}
.scenic-card-body h3 a {
  text-decoration:none;
  color:inherit
}
.scenic-card-body p,.scenic-card-desc {
  margin:0;
  color:#64717c;
  font-size:14px;
  line-height:1.7
}
.scenic-more {
  color:inherit;
  text-decoration:none;
  font-size:14px
}
@media(max-width:720px) {
.scenic-grid {
  grid-template-columns:1fr;
  gap:12px
}
.scenic-card {
  gap:12px;
  padding:10px
}
.scenic-card .visual {
  height:116px
}
.scenic-card-body h3 {
  font-size:16px;
  margin-bottom:5px
}
}
/* 推薦區「查看更多」按鈕 */
.inn-section .heading a.scenic-more {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  padding:10px 20px;
  border:1px solid #1768b2;
  border-radius:8px;
  background:#1768b2;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  line-height:1.4;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease
}
.inn-section .heading a.scenic-more:hover {
  background:#104d88;
  border-color:#104d88;
  color:#fff;
  box-shadow:0 4px 12px rgba(16,77,136,.22);
  transform:translateY(-1px)
}
.inn-section .heading a.scenic-more:focus-visible {
  outline:3px solid #82baf2;
  outline-offset:3px
}
@media(max-width:480px) {
.inn-section .heading a.scenic-more {
  padding:8px 13px;
  font-size:14px
}
}
/* 景點簡介卡片：滑鼠移入時柔和變色，保留原有版面 */
.scenic-card {
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease
}
.scenic-card:hover,.scenic-card:focus-within {
  background-color:#f0f7ff;
  border-color:#a9cbed;
  box-shadow:0 6px 18px rgba(32,91,145,.12);
  transform:translateY(-2px)
}
.scenic-card:hover .scenic-card-body h3 a,.scenic-card:focus-within .scenic-card-body h3 a {
  color:#1766a8
}
@media (prefers-reduced-motion:reduce) {
.scenic-card {
  transition:none
}
.scenic-card:hover,.scenic-card:focus-within {
  transform:none
}
}
.scenic-detail {
  padding:30px 0 55px
}
.scenic-detail .crumb {
  font-size:14px;
  margin-bottom:18px;
  color:#64748b
}
.scenic-detail .crumb a {
  color:inherit;
  text-decoration:none
}
.scenic-detail h1 {
  font-size:clamp(26px,4vw,38px);
  margin:0 0 20px
}
.scenic-detail-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:28px;
  align-items:start
}
.scenic-panel {
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:24px;
  margin-bottom:22px;
  overflow-wrap:anywhere
}
.scenic-panel h2 {
  font-size:22px;
  margin:0 0 16px
}
.scenic-panel p {
  line-height:1.85
}
.scenic-rich-text {
  line-height:1.85
}
.scenic-rich-text ul,.scenic-rich-text ol {
  padding-left:24px;
  margin:8px 0 14px
}
.scenic-rich-text div,.scenic-rich-text p {
  margin-bottom:8px
}
.scenic-main-photo {
  width:100%;
  max-height:520px;
  object-fit:cover;
  border-radius:12px
}
.scenic-meta {
  display:grid;
  gap:12px
}
.scenic-meta div {
  line-height:1.7
}
.scenic-meta strong {
  display:inline-block;
  min-width:85px
}
.scenic-related {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px
}
.scenic-related a {
  padding:10px;
  border-radius:8px;
  background:#f5f7fa;
  color:inherit;
  text-decoration:none;
  transition:background .2s,color .2s,box-shadow .2s
}
.scenic-related a:hover {
  background:#e0efff;
  color:#155c9a;
  box-shadow:0 2px 9px rgba(15,67,115,.1)
}
.scenic-related a.is-current,.scenic-related a[aria-current="page"] {
  background:#2563a6;
  color:#fff;
  font-weight:700;
  box-shadow:inset 0 0 0 1px #1e5187
}
.scenic-related a.is-current:hover {
  background:#1e5187;
  color:#fff
}
.scenic-side-card {
  display:flex;
  gap:12px;
  padding:12px 0;
  border-bottom:1px solid #edf0f3;
  color:inherit;
  text-decoration:none
}
.scenic-side-card img {
  width:92px;
  height:70px;
  object-fit:cover;
  border-radius:8px;
  flex-shrink:0
}
.scenic-side-card .no-photo {
  width:92px;
  height:70px;
  border-radius:8px;
  background:#f1f5f9;
  display:grid;
  place-items:center;
  font-size:12px;
  color:#64748b;
  flex-shrink:0
}
.scenic-side-card strong {
  display:block;
  line-height:1.5
}
.scenic-side-card small {
  display:block;
  color:#64748b;
  margin-top:4px;
  line-height:1.5
}
.scenic-back,.scenic-action {
  display:inline-block;
  padding:11px 20px;
  border-radius:9px;
  background:#2563a6;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  transition:background .2s,transform .2s,box-shadow .2s
}
.scenic-back:hover,.scenic-action:hover {
  background:#174c85;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 5px 14px rgba(20,67,120,.22)
}
.scenic-action-row {
  margin:18px 0 0;
  text-align:center
}
.scenic-side-card {
  transition:background .2s
}
.scenic-side-card:hover {
  background:#f2f7fc
}
@media(max-width:850px) {
.scenic-detail-layout {
  grid-template-columns:1fr
}
.scenic-related {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.scenic-panel {
  padding:18px
}
}
@media(max-width:450px) {
.scenic-related {
  grid-template-columns:1fr
}
}
/* Mobile: match scenic listing page outer gutters */
@media (max-width:850px) {
  main.wrap.scenic-detail {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  padding:24px 15px 48px;
  margin-left:auto;
  margin-right:auto;
}
.scenic-detail-layout {
  min-width:0;
  grid-template-columns:minmax(0,1fr);
}
.scenic-detail-layout>div,.scenic-detail-layout>aside {
  min-width:0;
}
.scenic-panel {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin-left:0;
  margin-right:0;
}
.scenic-main-photo {
  display:block;
  max-width:100%;
  height:auto;
}

}

/* Medium desktop: preserve comfortable main content width */
@media (min-width: 851px) and (max-width: 1100px) {
  .scenic-detail-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 20px;
  }
}


.scenic-detail{padding:30px 0 55px}.scenic-detail .crumb{font-size:14px;margin-bottom:18px;color:#64748b}.scenic-detail .crumb a{color:inherit;text-decoration:none}.scenic-detail h1{font-size:clamp(26px,4vw,38px);margin:0 0 20px}.scenic-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start}.scenic-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;margin-bottom:22px;overflow-wrap:anywhere}.scenic-panel h2{font-size:22px;margin:0 0 16px}.scenic-panel p{line-height:1.85}.scenic-rich-text{line-height:1.85}.scenic-rich-text ul,.scenic-rich-text ol{padding-left:24px;margin:8px 0 14px}.scenic-rich-text div,.scenic-rich-text p{margin-bottom:8px}.scenic-main-photo{width:100%;max-height:520px;object-fit:cover;border-radius:12px}.scenic-meta{display:grid;gap:12px}.scenic-meta div{line-height:1.7}.scenic-meta strong{display:inline-block;min-width:85px}.scenic-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scenic-related a{padding:10px;border-radius:8px;background:#f5f7fa;color:inherit;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}.scenic-related a:hover{background:#e0efff;color:#155c9a;box-shadow:0 2px 9px rgba(15,67,115,.1)}.scenic-related a.is-current,.scenic-related a[aria-current="page"]{background:#2563a6;color:#fff;font-weight:700;box-shadow:inset 0 0 0 1px #1e5187}.scenic-related a.is-current:hover{background:#1e5187;color:#fff}.scenic-side-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3;color:inherit;text-decoration:none}.scenic-side-card img{width:92px;height:70px;object-fit:cover;border-radius:8px;flex-shrink:0}.scenic-side-card .no-photo{width:92px;height:70px;border-radius:8px;background:#f1f5f9;display:grid;place-items:center;font-size:12px;color:#64748b;flex-shrink:0}.scenic-side-card strong{display:block;line-height:1.5}.scenic-side-card small{display:block;color:#64748b;margin-top:4px;line-height:1.5}.scenic-back,.scenic-action{display:inline-block;padding:11px 20px;border-radius:9px;background:#2563a6;color:#fff;text-decoration:none;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.scenic-back:hover,.scenic-action:hover{background:#174c85;color:#fff;transform:translateY(-2px);box-shadow:0 5px 14px rgba(20,67,120,.22)}.scenic-action-row{margin:18px 0 0;text-align:center}.scenic-side-card{transition:background .2s}.scenic-side-card:hover{background:#f2f7fc}@media(max-width:850px){.scenic-detail-layout{grid-template-columns:1fr}.scenic-related{grid-template-columns:repeat(2,minmax(0,1fr))}.scenic-panel{padding:18px}}@media(max-width:450px){.scenic-related{grid-template-columns:1fr}}

/* Mobile: match scenic listing page outer gutters */
@media (max-width:850px){
  main.wrap.scenic-detail{box-sizing:border-box;width:100%;max-width:100%;padding:24px 15px 48px;margin-left:auto;margin-right:auto;}
  .scenic-detail-layout{min-width:0;grid-template-columns:minmax(0,1fr);}
  .scenic-detail-layout>div,.scenic-detail-layout>aside{min-width:0;}
  .scenic-panel{box-sizing:border-box;width:100%;max-width:100%;margin-left:0;margin-right:0;}
  .scenic-main-photo{display:block;max-width:100%;height:auto;}
}

/* 景點首頁：住宿、租屋、美食、旅遊服務推薦卡片互動效果 */
.inn-section .grid > .card {
  transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.inn-section .grid > .card:hover,
.inn-section .grid > .card:focus-within {
  background-color: #f0f7ff;
  border-color: #a9cbed;
  box-shadow: 0 6px 18px rgba(32,91,145,.12);
  transform: translateY(-2px);
}
.inn-section .grid > .card:hover .cardbody h3,
.inn-section .grid > .card:focus-within .cardbody h3 {
  color: #1766a8;
}
@media (prefers-reduced-motion: reduce) {
  .inn-section .grid > .card { transition: none; }
  .inn-section .grid > .card:hover,
  .inn-section .grid > .card:focus-within { transform: none; }
}
.discount-detail{padding:30px 0 55px}.discount-detail .crumb{font-size:14px;margin-bottom:18px;color:#64748b}.discount-detail .crumb a{color:inherit;text-decoration:none}.discount-detail h1{font-size:clamp(25px,3.5vw,36px);line-height:1.4;margin:0 0 20px}.discount-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:26px;align-items:start}.discount-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;margin-bottom:22px;overflow-wrap:anywhere}.discount-panel h2{font-size:21px;margin:0 0 18px}.discount-info{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px 16px;line-height:1.8}.discount-info dt{font-weight:600;color:#64748b}.discount-info dd{margin:0;min-width:0;overflow-wrap:anywhere}.discount-info a{color:#2563a6}.discount-message{line-height:1.9;overflow-wrap:anywhere}.discount-message img{max-width:100%;height:auto;vertical-align:middle}.discount-message{white-space:normal}.discount-message p{margin:0 0 10px}.discount-message div{margin:0}.discount-message br{line-height:1.5}.discount-message h2,.discount-message h3{margin:16px 0 8px}.discount-photo{margin:0 0 18px}.discount-photo img{display:block;width:100%;height:auto;border-radius:9px}.discount-photo figcaption{font-size:13px;color:#64748b;margin-top:6px}.discount-warning{border-left:4px solid #dc2626;background:#fef2f2;padding:12px 16px;color:#991b1b;margin-top:20px}.discount-action{display:inline-block;background:#2563a6;color:white;padding:11px 20px;border-radius:9px;text-decoration:none}.discount-action:hover{background:#174c85;color:white}.discount-return{text-align:center;margin-top:22px}@media(max-width:850px){main.wrap.discount-detail{box-sizing:border-box;width:100%;max-width:100%;padding:24px 15px 48px}.discount-layout{grid-template-columns:minmax(0,1fr)}.discount-panel{padding:18px}.discount-info{grid-template-columns:88px minmax(0,1fr)}}
/* 優惠內文：16px；覆蓋舊編輯器內嵌字級與行距。 */
.discount-detail .discount-panel .discount-message,
.discount-detail .discount-panel .discount-message * {
  font-size:16px !important;
  line-height:1.75 !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
.discount-detail .discount-panel .discount-message h1,
.discount-detail .discount-panel .discount-message h2,
.discount-detail .discount-panel .discount-message h3,
.discount-detail .discount-panel .discount-message h4,
.discount-detail .discount-panel .discount-message h5,
.discount-detail .discount-panel .discount-message h6 {
  margin:0 0 8px !important;
  font-weight:inherit;
}
.discount-detail .discount-panel .discount-message img {max-width:100%;height:auto;}
.discount-photo img[data-lightbox]{cursor:zoom-in}
.discount-lightbox[hidden]{display:none!important}
.discount-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:56px 52px 64px;box-sizing:border-box}
.discount-lightbox img{display:block;max-width:100%;max-height:calc(100vh - 155px);width:auto;height:auto;object-fit:contain}
.discount-lightbox button{background:rgba(255,255,255,.16);color:white;border:1px solid rgba(255,255,255,.35);border-radius:8px;cursor:pointer;font-size:20px;padding:9px 14px}
.discount-lightbox button:hover{background:rgba(255,255,255,.3)}
.discount-lightbox .lb-close{position:absolute;right:14px;top:12px}
.discount-lightbox .lb-prev,.discount-lightbox .lb-next{position:absolute;top:48%;transform:translateY(-50%)}
.discount-lightbox .lb-prev{left:8px}.discount-lightbox .lb-next{right:8px}
.discount-lightbox .lb-toolbar{position:absolute;bottom:14px;display:flex;align-items:center;gap:15px;color:white}
.discount-lightbox .lb-caption{color:white;text-align:center;max-width:90%;margin:12px auto 0;max-height:2.8em;overflow:hidden}
@media(max-width:600px){.discount-lightbox{padding:55px 38px 75px}.discount-lightbox button{padding:8px 10px}.discount-lightbox .lb-caption{font-size:14px}}

.discount-detail{padding:30px 0 55px}.discount-detail .crumb{font-size:14px;margin-bottom:18px;color:#64748b}.discount-detail .crumb a{color:inherit;text-decoration:none}.discount-detail h1{font-size:clamp(26px,4vw,38px);margin:0 0 20px}.discount-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start}.discount-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:24px;margin-bottom:22px;overflow-wrap:anywhere}.discount-panel h2{font-size:22px;margin:0 0 16px}.discount-item{padding:18px 12px;border-bottom:1px solid #e5e7eb;border-radius:10px;transition:background-color .2s ease,box-shadow .2s ease}.discount-item:hover{background-color:#eef6ff;box-shadow:inset 3px 0 0 #2563a6}.discount-item:hover h2 a{color:#174c85}.discount-item:first-child{padding-top:0}.discount-item:last-child{border-bottom:0;padding-bottom:0}.discount-item h2{font-size:20px;margin:0 0 10px;line-height:1.5}.discount-item h2 a{color:#2563a6;text-decoration:none}.discount-item h2 a:hover{text-decoration:underline}.discount-meta{font-size:14px;color:#64748b;line-height:1.8}.discount-meta a{color:#2563a6}.discount-summary{color:#475569;line-height:1.8;margin:10px 0 0}.discount-side-card{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3;color:inherit;text-decoration:none;transition:background .2s}.discount-side-card:hover{background:#eef6ff;box-shadow:inset 3px 0 0 #2563a6;border-radius:8px}.discount-side-card:hover strong{color:#174c85}.discount-side-card img,.discount-side-card .no-photo{width:92px;height:70px;border-radius:8px;flex-shrink:0}.discount-side-card img{object-fit:cover}.discount-side-card .no-photo{background:#f1f5f9;display:grid;place-items:center;font-size:12px;color:#64748b}.discount-side-card strong{display:block;line-height:1.5}.discount-side-card small{display:block;color:#64748b;margin-top:4px;line-height:1.5}.discount-action-row{text-align:center;margin:18px 0 0}.discount-action{display:inline-block;padding:11px 20px;border-radius:9px;background:#2563a6;color:#fff;text-decoration:none;font-weight:600}.discount-action:hover{background:#174c85;color:#fff}.discount-pagination{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin:20px 0}.discount-pagination a,.discount-pagination span{display:inline-block;padding:9px 12px;border:1px solid #dbe2ea;border-radius:8px;text-decoration:none;color:#2563a6}.discount-pagination span{color:#475569}.discount-pagination select{padding:8px;border-radius:7px;border:1px solid #cbd5e1}@media(max-width:850px){main.wrap.discount-detail{box-sizing:border-box;width:100%;max-width:100%;padding:24px 15px 48px;margin-left:auto;margin-right:auto}.discount-layout{grid-template-columns:minmax(0,1fr)}.discount-layout>div,.discount-layout>aside{min-width:0}.discount-panel{box-sizing:border-box;width:100%;max-width:100%;padding:18px}}

.news-meta{color:#64748b;line-height:1.9;margin:0 0 16px}.news-article{line-height:1.9;overflow-wrap:anywhere;font-size:16px}
.news-article img{max-width:100%;height:auto}.news-article table{display:block;overflow-x:auto;max-width:100%}
.news-block{margin:0 0 28px}.news-figure{margin:0 0 16px;text-align:center}
.news-image{display:block;max-width:100%;max-height:650px;width:auto;height:auto;margin:0 auto;border-radius:10px;cursor:zoom-in}
.news-caption{font-size:14px;color:#64748b;margin-top:8px}.news-subheading{font-size:19px;background:#f0f7ff;border-left:4px solid #2563a6;padding:10px 14px;margin:18px 0}
.news-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.news-related a{color:#2563a6;text-decoration:none;text-align:center;overflow-wrap:anywhere}.news-related img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:8px}
.news-related span{display:block;padding:7px 2px}.news-warning{margin-top:20px;padding:14px;border:1px solid #e7b5a9;border-radius:8px;color:#9a3412;background:#fff7ed}
.news-lightbox[hidden]{display:none!important}.news-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.94);display:flex;align-items:center;justify-content:center}
.news-lightbox img{max-width:95vw;max-height:80vh;object-fit:contain}.news-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.18);color:white;cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:26px}
.news-lightbox .lb-close{right:15px;top:15px}.news-lightbox .lb-prev{left:12px;top:50%}.news-lightbox .lb-next{right:12px;top:50%}
.news-lightbox .lb-toolbar{position:absolute;bottom:18px;color:#fff;display:flex;align-items:center;gap:18px}.news-lightbox .lb-play{position:static;width:auto;height:auto;padding:9px 15px;border-radius:9px;font-size:14px}
@media(max-width:650px){.news-related{grid-template-columns:repeat(2,minmax(0,1fr))}.news-article{font-size:15px}}

/* Match the wider recommendation sidebar of scenic detail pages. */
@media (min-width:1101px){.discount-detail .discount-layout{grid-template-columns:minmax(0,1fr) 420px;gap:28px}}
@media (min-width:851px) and (max-width:1100px){.discount-detail .discount-layout{grid-template-columns:minmax(0,1fr) 360px;gap:20px}}
/* Right-side recommendations: fixed horizontal cards, matching scenic detail CSS. */
.discount-layout>div,.discount-layout>aside{min-width:0}
.discount-layout aside .discount-panel{box-sizing:border-box;width:100%;max-width:100%}
.discount-layout aside a.scenic-side-card{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;padding:12px 0!important;border-bottom:1px solid #edf0f3;color:inherit;text-decoration:none;min-width:0;transition:background .2s}
.discount-layout aside a.scenic-side-card:hover{background:#f2f7fc}
.discount-layout aside a.scenic-side-card>img,.discount-layout aside a.scenic-side-card>.no-photo{display:block;box-sizing:border-box;width:92px!important;min-width:92px!important;max-width:92px!important;height:70px!important;flex:0 0 92px!important;object-fit:cover;border-radius:8px}
.discount-layout aside a.scenic-side-card>.no-photo{display:grid;place-items:center;background:#f1f5f9;color:#64748b;font-size:12px}
.discount-layout aside a.scenic-side-card>.side-copy{display:block;flex:1 1 0;min-width:0;overflow-wrap:anywhere}
.discount-layout aside a.scenic-side-card .side-copy strong{display:block;font-size:15px;line-height:1.5;font-weight:700;margin:0;color:#263c50}
.discount-layout aside a.scenic-side-card .side-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:13px;line-height:1.5;color:#64748b;margin-top:4px}
.discount-layout aside .discount-action-row{text-align:center;margin:18px 0 0}
