.package-pricing { padding: 64px 0; background: #f2f6ef; border-top: 1px solid #dce6d6; color: #27392b; }
.package-pricing .pricing-heading { max-width: 680px; margin: 0 auto 28px; text-align: center; }
.package-pricing .pricing-eyebrow { color: #64734e; text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 700; }
.package-pricing h2 { color: #1b5e20; font-size: clamp(1.65rem, 3vw, 2.3rem); font-weight: 700; margin: 12px 0; }
.package-pricing .pricing-heading > p:last-child { color: #657263; line-height: 1.7; }
.package-pricing .pricing-tabs { display: flex; justify-content: center; gap: 6px; max-width: 510px; margin: 0 auto 32px; padding: 6px; border: 1px solid #ccd8c3; background: #fff; border-radius: 14px; }
.package-pricing .pricing-tabs button { flex: 1; min-height: 48px; border: 0; border-radius: 9px; padding: 12px; font-size: .9rem; font-weight: 600; background: transparent; color: #4c5e47; }
.package-pricing .pricing-tabs button[aria-selected="true"] { background: #1e4c2d; color: #fff; box-shadow: 0 3px 9px #1e4c2d22; }
.package-pricing [hidden] { display: none !important; }
.package-pricing .package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.package-pricing .package-card { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #dde6d7; border-radius: 20px; padding: 28px; box-shadow: 0 8px 28px #203c2010; }
.package-pricing .package-card:last-child { grid-column: 1 / -1; }
.package-pricing .package-status { align-self: flex-start; padding: 5px 10px; border-radius: 30px; font-size: .7rem; font-weight: 700; color: #765a20; background: #fbf1d9; }
.package-pricing .package-status.confirmed { color: #235a32; background: #e7f2e4; }
.package-pricing .package-card h3 { color: #213f2a; font-size: 1.3rem; font-weight: 700; margin: 16px 0 6px; line-height: 1.35; }
.package-pricing .package-period { color: #6b7568; font-size: .85rem; margin-bottom: 20px; }
.package-pricing .package-rates { margin: 0 0 20px; }
.package-pricing .package-rate { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid #eef1eb; }
.package-pricing dt { font-size: .9rem; font-weight: 500; }
.package-pricing dd { margin: 0; color: #1d562b; font-size: 1rem; font-weight: 700; text-align: right; }
.package-pricing dd small { display: block; color: #667260; font-size: .72rem; font-weight: 500; }
.package-pricing .group-rate { grid-template-columns: 1fr; }
.package-pricing .group-rate dd { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; text-align: left; }
.package-pricing .group-rate dd > span { padding: 10px; background: #f5f8f1; border-radius: 8px; }
.package-pricing .package-features { padding-left: 20px; color: #52604e; font-size: .88rem; line-height: 1.65; margin-bottom: 20px; }
.package-pricing .package-features li { margin-bottom: 6px; }
.package-pricing .package-note { padding: 12px 14px; background: #f5f7f1; border-radius: 8px; color: #626b58; font-size: .8rem; line-height: 1.6; }
.package-pricing .package-enquire { display: flex; align-items: center; justify-content: center; min-height: 48px; margin-top: auto; padding: 12px 16px; border: 1px solid #b9cbb0; border-radius: 10px; color: #214c2b; background: #f9fcf6; text-decoration: none; font-size: .87rem; font-weight: 600; text-align: center; }
.package-pricing .package-enquire:hover { background: #214c2b; border-color: #214c2b; color: #fff; }
.package-pricing :is(a, button):focus-visible { outline: 3px solid #a57c24; outline-offset: 3px; }
.package-pricing .hotel-pricing { margin-top: 36px; background: #fff; padding: 28px; border: 1px solid #dde6d7; border-radius: 18px; }
.package-pricing .hotel-pricing h3 { font-size: 1.3rem; color: #213f2a; }
.package-pricing .hotel-rate { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 20px; padding: 16px 0; border-bottom: 1px solid #e7ede2; }
.package-pricing .hotel-rate span { color: #1d562b; font-weight: 600; }
@media(max-width: 767px) {
 .package-pricing { padding: 40px 0; }
 .package-pricing .package-grid { grid-template-columns: 1fr; gap: 18px; }
 .package-pricing .package-card, .package-pricing .hotel-pricing { padding: 22px 18px; }
 .package-pricing .pricing-tabs button { font-size: .8rem; }
 .package-pricing .hotel-rate { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
 .package-pricing .hotel-rate strong { grid-column: 1 / -1; }
}

.package-card .package-select { margin-top: 10px; background: #285331; color: #fff; }
.hotel-enrol-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
#packageConditions { padding-left: 20px; line-height: 1.7; }
#packageConditions li { margin-bottom: 6px; }

.package-pricing .group-rate dd { grid-template-columns: minmax(0,1fr); }
