.package-breadcrumb { padding-top: 13px; padding-bottom: 27px; display: flex; flex-wrap: wrap; gap: 10px; color: var(--muted); font-size: 12px; }
.package-breadcrumb a { color: var(--gold-dark); }
.package-heading { margin-bottom: 22px; }
.package-heading h1 { margin: 0 0 4px; color: #202124; font-size: 22px; font-weight: 700; line-height: 1.35; }
.package-rating { margin: 0; color: #52565a; font-size: 12px; }
.package-rating span { color: #efa51d; }
.package-rating small { color: var(--muted); font-size: 11px; }
.package-gallery { height: auto; aspect-ratio: 2.12; margin-bottom: 24px; display: grid; grid-template-columns: 1.05fr 1fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 6px; overflow: hidden; border-radius: 9px; background: #f0eee8; }
.package-gallery img { width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: cover; }
.package-gallery img:first-child { grid-row: 1 / 3; }
.package-gallery-placeholder { grid-column: 1 / -1; grid-row: 1 / -1; display: grid; place-items: center; color: #6d604a; font-size: 18px; font-weight: 600; }
.package-gallery.gallery-count-1 { display: block; }
.package-gallery.gallery-count-1 img { aspect-ratio: 2.12; }
.package-gallery.gallery-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 1fr; }
.package-gallery.gallery-count-2 img:first-child { grid-row: auto; }
.package-facts { min-height: 74px; margin-bottom: 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.package-fact { min-width: 0; display: flex; align-items: center; gap: 12px; }
.fact-icon { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid #e4e7e9; border-radius: 8px; color: #66717a; font-size: 16px; }
.package-fact strong, .package-fact small { display: block; }
.package-fact strong { color: #30343a; font-size: 12px; line-height: 1.4; }
.package-fact small { color: var(--muted); font-size: 11px; line-height: 1.5; }
.package-content-layout { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(260px, .9fr); gap: 36px; align-items: start; }
.package-main-content { min-width: 0; }
.package-tour-copy h2, .package-detail-section h2 { margin: 0 0 10px; color: #292c30; font-size: 30px; line-height: 1.35; }
.package-description { color: #6d747a; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.package-description > :first-child { margin-top: 0; }
.package-description h2, .package-description h3 { margin: 18px 0 7px; color: #30343a; font-size: 30px; }
.package-description p { margin: 0 0 8px; }
.package-sidebar { position: sticky; top: 18px; display: grid; gap: 16px; }
.package-enquiry, .package-contact-card { padding: 20px 24px; border: 1px solid #e0e3e6; border-radius: 18px; background: #fff; box-shadow: 0 3px 13px #0000000b; }
.booking-price { margin: 0 0 12px; padding: 3px 0 17px; border-bottom: 1px solid #e4e8ee; color: #555b61; font-size: 12px; }
.booking-price small { display: block; margin-bottom: 2px; color: var(--muted); }
.booking-price strong { color: #172b4d; font-size: 24px; }
.package-enquiry h2 { margin: 0 0 16px; color: #172b4d; font-size: 16px; font-weight: 600; }
.package-enquiry input, .package-enquiry textarea { width: 100%; min-height: 43px; margin-bottom: 11px; padding: 11px 15px; border: 1px solid #e1e7ef; border-radius: 9px; color: #30343a; background: #fff; font: inherit; font-size: 13px; }
.package-enquiry textarea { min-height: 82px; resize: vertical; }
.package-enquiry input::placeholder, .package-enquiry textarea::placeholder { color: #8995a8; opacity: 1; }
.package-enquiry input:focus, .package-enquiry textarea:focus { border-color: #98aeca; outline: 2px solid #dce6f2; }
.booking-submit { width: 100%; min-height: 44px; border: 0; border-radius: 24px; color: #fff; background: #d3ad63; box-shadow: 0 4px 0 #a3854a; cursor: pointer; font-size: 16px; font-weight: 600; }
.booking-submit:hover { background: #e2bd73; }
.enquiry-status, .enquiry-errors { margin: 0 0 12px; color: #276749; font-size: 12px; line-height: 1.5; }
.enquiry-errors { color: #a52828; }
.enquiry-errors p { margin: 0 0 4px; }
.enquiry-errors ul { margin: 0; padding-left: 18px; }
.package-enquiry .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.package-contact-card { padding: 20px; }
.package-contact-card h2 { margin: 0 0 16px; color: #30343a; font-size: 16px; }
.package-contact-card p { margin: 0 0 12px; display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
.package-contact-card p:last-child { margin-bottom: 0; }
.package-contact-card strong { color: #353a40; font-weight: 500; }
.package-contact-card a { overflow-wrap: anywhere; }
.package-detail-section { margin-top: 30px; }
.package-detail-section h2 { margin-bottom: 13px; }
.package-detail-section h3 { margin: 0 0 8px; font-size: 15px; }
.package-itinerary { display: grid; gap: 10px; }
.package-itinerary article { padding: 13px 15px; border: 1px solid var(--line); border-radius: 6px; }
.package-itinerary h3 { margin: 0 0 6px; }
.package-itinerary article > div { color: #626a71; font-size: 13px; line-height: 1.7; }
.package-inclusions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.package-inclusions ul { margin: 0; padding-left: 19px; color: #626a71; font-size: 14px; line-height: 1.8; }
.package-map iframe { width: 100%; min-height: 280px; border: 0; }
.related-packages { margin-top: 76px; margin-bottom: 56px; }
.related-packages > h2 { margin: 0 0 22px; color: #292c30; font-size: 22px; }
.related-packages .package-info h2 { font-size: 16px; }
.related-packages .package-image-placeholder { min-height: 100%; }

@media (max-width: 760px) {
    .package-breadcrumb { padding-bottom: 18px; font-size: 11px; }
    .package-heading { margin-bottom: 14px; }
    .package-heading h1 { font-size: 20px; }
    .package-gallery { width: calc(100% - 36px); aspect-ratio: 1.2; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4px; border-radius: 7px; }
    .package-gallery img:first-child { grid-column: 1 / -1; grid-row: auto; }
    .package-gallery.gallery-count-1 { aspect-ratio: 1.5; }
    .package-gallery.gallery-count-1 img { aspect-ratio: 1.5; }
    .package-gallery.gallery-count-2 { grid-template-rows: 1fr; aspect-ratio: 1.5; }
    .package-gallery.gallery-count-2 img:first-child { grid-column: auto; }
    .package-facts { min-height: auto; padding-bottom: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
    .package-fact { gap: 8px; }
    .fact-icon { width: 30px; height: 30px; flex-basis: 30px; }
    .package-content-layout { grid-template-columns: 1fr; gap: 25px; }
    .package-sidebar { position: static; order: -1; }
    .package-inclusions { gap: 12px; }
    .related-packages { margin-top: 42px; margin-bottom: 36px; }
    .related-packages .package-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
}

@media (max-width: 420px) {
    .package-gallery { aspect-ratio: 1; }
    .package-gallery.gallery-count-1 { aspect-ratio: 1.3; }
    .package-inclusions { grid-template-columns: 1fr; }
    .related-packages .package-grid { grid-template-columns: 1fr; }
}
