.package-detail-section {
  background: radial-gradient(ellipse at 95% 0, #fce9ee 0, transparent 32%), radial-gradient(ellipse at 0 22%, #edf1ff 0, transparent 35%), #f7f8fc;
  padding: 1.75rem 0 3rem;
}
.package-detail-section .package-breadcrumb { font-size: .8125rem; }
.tour-heading { padding: 1.75rem 0; max-width: 850px; }
.tour-kicker { color: #9b2944; font-size: .6875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.tour-kicker i { margin-right: .4rem; }
.tour-heading h1 { margin: .65rem 0; letter-spacing: -.035em; color: #17233b; }
.tour-intro { color: #647086; margin: .65rem 0 1rem; max-width: 740px; }
.tour-tags { display: flex; flex-wrap: wrap; gap: .5rem; }
.tour-tags span { display: inline-flex; align-items: center; gap: .45rem; padding: .3rem .7rem; background: #ffffffba; border: 1px solid #e2e5ee; border-radius: 50px; font-size: .75rem; color: #47556b; }
.package-detail-section .package-detail-grid { gap: 1.5rem; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
.package-detail-section .package-gallery { background: white; border: 1px solid #e4e7ef; padding: .65rem; border-radius: 20px; box-shadow: 0 12px 36px #24365b0a; }
.package-detail-section #gallery-open { overflow: hidden; border-radius: 13px; }
.package-detail-section #gallery-main { transition: transform .65s ease; border-radius: 13px; }
.package-detail-section #gallery-open:hover #gallery-main { transform: scale(1.025); }
.package-detail-section .gallery-thumbnails { gap: .45rem; padding-top: .6rem; }
.package-detail-section .gallery-thumbnail { border-radius: 9px; transition: border-color .2s, background .2s; }
.package-detail-section .gallery-thumbnail[aria-pressed="true"] { background: #fff1f4; }
.package-detail-section .gallery-count { font-size: .75rem; padding: .1rem .3rem; }
.package-detail-section .package-summary { position: relative; padding: 1.5rem; border-radius: 20px; border: 1px solid #e4e7ef; background: linear-gradient(145deg, #fff, #fff 65%, #fff7f8); box-shadow: 0 16px 44px #24365b0a; overflow: hidden; }
.package-detail-section .package-summary::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, #bc2548, #f5a477, #b9a5ed); }
.tour-summary-heading { display: flex; align-items: center; justify-content: space-between; }
.tour-summary-heading > i { color: #bc2548; background: #fbedf1; padding: .65rem; border-radius: 12px; }
.package-detail-section .package-summary h2 { font-size: 1.25rem; letter-spacing: -.025em; margin: .65rem 0 1rem; }
.tour-price { display: flex; flex-direction: column; padding: 1rem; border: 1px solid #ece3e8; border-radius: 12px; background: #ffffffb3; }
.tour-price > span { color: #738096; font-size: .75rem; }
.tour-price strong { color: #17233b; font-size: 1.625rem; letter-spacing: -.04em; line-height: 1.4; }
.package-detail-section .package-summary dl { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: .75rem; margin: 1.25rem 0; font-size: .8125rem; }
.package-detail-section .package-summary dt { font-size: inherit; color: #748096; }
.package-detail-section .package-summary dd { margin: 0; text-align: right; color: #334158; overflow-wrap: anywhere; }
.package-detail-section .btn { border-radius: 10px; padding: .8rem 1rem; font-size: .8125rem; transition: transform .2s, box-shadow .2s; }
.package-detail-section .btn-primary { background: linear-gradient(115deg, #b91d40, #dc4662); box-shadow: 0 5px 14px #b91d4020; }
.package-detail-section .btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px #24365b18; }
.package-detail-section .btn-secondary { background: #fff; border: 1px solid #dfe3ec; }
.package-detail-section .package-expert { color: #657187; font-size: .75rem; text-decoration: none; padding-top: 1rem; border-top: 1px solid #eceef3; }
.package-expert span { display: block; color: #334158; font-weight: 600; margin-top: .2rem; }
.package-detail-section .package-section-links { gap: .35rem; width: fit-content; max-width: 100%; background: #e9ecf3; border: 1px solid #e0e4ee; padding: .35rem; border-radius: 13px; margin: 1.75rem 0; }
.package-detail-section .package-section-links a { display: flex; align-items: center; gap: .5rem; color: #657187; border: 0; font-size: .8125rem; font-weight: 600; border-radius: 9px; transition: background .2s, color .2s; }
.package-detail-section .package-section-links a:hover,
.package-detail-section .package-section-links a[aria-current] { background: #fff; color: #a91d3d; box-shadow: 0 2px 6px #24365b0a; }
.package-detail-section .package-rich-content { padding: 1.75rem; border-radius: 16px; border: 1px solid #e4e7ef; background: #fff; box-shadow: 0 5px 20px #24365b04; }
.tour-section-heading { display: flex; gap: 1rem; align-items: center; padding-bottom: 1.25rem; margin-bottom: 1.25rem; border-bottom: 1px solid #edf0f5; }
.tour-section-number { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 12px; background: linear-gradient(135deg, #fbedf1, #f2efff); color: #a42d49; font-size: .875rem; font-weight: 700; }
.tour-section-heading h2 { margin: .2rem 0 0; font-size: 1.2rem; color: #17233b; letter-spacing: -.025em; }
.tour-section-body { color: #546176; line-height: 1.75; }
.tour-section-body > :first-child { margin-top: 0; }
.tour-section-body > :last-child { margin-bottom: 0; }
.tour-section-body h2, .tour-section-body h3, .tour-section-body h4 { color: #27364e; }
.tour-section-body li { padding: .2rem 0; }
.tour-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem; border-radius: 18px; color: white; background: radial-gradient(ellipse at right top, #703957 0, transparent 65%), #1d2942; }
.tour-final-cta .tour-kicker { color: #efb7c6; }
.tour-final-cta h2 { margin: .5rem 0; font-size: 1.4rem; letter-spacing: -.03em; }
.tour-final-cta p { color: #c2cadd; margin: 0; font-size: .875rem; }
.tour-final-cta .btn { flex-shrink: 0; }
.package-detail-section a:focus-visible, .package-detail-section button:focus-visible { outline: 3px solid #b91d4080; outline-offset: 4px; }
@media (max-width: 720px) {
  .package-detail-section .package-detail-grid { grid-template-columns: 1fr; }
  .tour-heading { padding: 1.25rem 0; }
  .package-detail-section .package-summary, .package-detail-section .package-rich-content { padding: 1.25rem; }
  .package-detail-section .package-section-links { width: 100%; flex-wrap: nowrap; overflow-x: auto; }
  .package-detail-section .package-section-links a { white-space: nowrap; padding: .6rem .7rem; font-size: .75rem; }
  .tour-final-cta { flex-direction: column; align-items: stretch; padding: 1.5rem; }
  .tour-final-cta .btn { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .package-detail-section *, .package-detail-section *::before { transition: none !important; }
  .package-detail-section #gallery-open:hover #gallery-main, .package-detail-section .btn:hover { transform: none; }
}
