.excursion-price-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.tour-price-card {
  display: flex; flex-direction: column; min-width: 0; padding: 32px;
  border: 1px solid #aac8bf; border-top: 4px solid #e5bd25; border-radius: 15px;
  background: #fffdf2; box-shadow: 0 10px 25px #0b41510d;
}
.tour-price-fishing { background: #eef8f0; border-top-color: #299299; }
.tour-price-kind { font-size: 10px; font-weight: 800; letter-spacing: .07em; color: #426970; margin-bottom: 12px; }
.tour-price-card>h3 { font: 500 34px/1.2 Oswald,sans-serif; color: #103d50; margin-bottom: 23px; }
.tour-price-label { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; }
.tour-price-label del { color: #718076; font-size: 22px; font-weight: 600; text-decoration-thickness: 2px; }
.tour-price-label>span { background: #ffe151; color: #103d50; border-radius: 5px; padding: 6px 9px; font-size: 10px; font-weight: 800; }
.tour-price-amount { display: flex; align-items: baseline; gap: 13px; margin-top: 15px; color: #103d50; }
.tour-price-amount strong { font: 600 76px/1.1 Oswald,sans-serif; letter-spacing: -.025em; white-space: nowrap; }
.tour-price-amount>span { font-size: 19px; font-weight: 800; }
.tour-price-unit { font-size: 15px; font-weight: 800; line-height: 1.65; margin-top: 8px; color: #174c5b; }
.tour-price-sharing { font-size: 14px; line-height: 1.7; color: #45656d; margin-top: 9px; }
.tour-price-included { list-style: none; padding: 20px 0 0; margin: 20px 0 0; border-top: 1px solid #b9d0c6; }
.tour-price-included li { position: relative; padding-left: 23px; color: #315967; font-size: 14px; line-height: 1.7; margin-bottom: 9px; }
.tour-price-included li:before { content: '✓'; position: absolute; left: 0; font-weight: 800; color: #16838c; }
.tour-price-note { font-size: 12px; line-height: 1.8; color: #55717a; margin: 14px 0 20px; }
.tour-price-card>.text-link { align-self: flex-start; margin-top: auto; padding-top: 20px; font-size: 14px; }
.private-fishing-rate { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0 5px; padding: 18px 0 0; border-top: 1px solid #b9d0c6; }
.private-fishing-rate h4 { font-size: 15px; line-height: 1.5; color: #174c5b; margin: 0 0 5px; }
.private-fishing-rate>div>p { font-size: 12px; color: #55717a; line-height: 1.7; }
.private-fishing-amount { flex: none; text-align: right; color: #103d50; }
.private-fishing-amount strong { display: block; font: 500 34px/1.15 Oswald,sans-serif; white-space: nowrap; }
.private-fishing-amount span { font-size: 12px; font-weight: 800; }
.price-extras { margin-top: 28px; padding: 30px 32px; border-radius: 15px; color: #fff; background: #103d50; box-shadow: 0 10px 25px #0b41511a; }
.price-extras-heading { display: flex; align-items: center; gap: 18px; padding-bottom: 23px; }
.price-extras-heading>svg { flex: none; width: 35px; height: 35px; color: #ffe151; }
.price-extras-heading h3 { font: 500 29px/1.2 Oswald,sans-serif; color: #fff; }
.price-extras-heading p { font-size: 13px; line-height: 1.7; color: #c7e0de; margin-top: 7px; }
.price-extras-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #8cbbb755; }
.price-extras-grid article { padding: 24px 24px 0 0; }
.price-extras-grid article+article { border-left: 1px solid #8cbbb755; padding-left: 26px; padding-right: 0; }
.extra-package-title { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.extra-package-title h4 { font-size: 15px; line-height: 1.6; color: #fff; margin: 0; }
.extra-package-title>p { text-align: right; flex: none; }
.extra-package-title strong { display: block; font: 500 35px/1.15 Oswald,sans-serif; color: #ffe151; white-space: nowrap; }
.extra-package-title span { display: block; margin-top: 5px; color: #c7e0de; font-size: 11px; }
.extra-package-copy { color: #d9eae4; font-size: 14px; line-height: 1.75; margin-top: 15px; }
.price-extras-note { margin-top: 23px; color: #b9d9d8; font-size: 12px; line-height: 1.7; }
.pricing-booking-panel { margin-top: 40px; padding: 31px 32px; border: 1px solid #b5ccc2; background: #f6faf0; border-radius: 15px; }
.pricing-booking-panel .booking { margin: 0; }
.pricing-booking-panel .booking-steps { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 36px; }
.pricing-booking-panel .booking-steps h4 { font-size: 15px; }
.pricing-booking-panel .booking-steps p { font-size: 14px; }
.pricing-booking-panel .booking-note { padding: 20px 23px; background: #e9f1df; border-left: 3px solid #d6b42a; border-radius: 5px; }
@media(max-width:1000px) {
  .tour-price-card { padding: 25px; }
  .tour-price-card>h3 { font-size: 30px; }
  .tour-price-amount strong { font-size: 68px; }
  .private-fishing-rate { gap: 12px; }
  .private-fishing-amount strong { font-size: 30px; }
}
@media(max-width:760px) {
  .excursion-price-grid { grid-template-columns: 1fr; gap: 20px; }
  .tour-price-card { padding: 24px 22px; border-radius: 12px; }
  .tour-price-card>h3 { font-size: 31px; margin-bottom: 20px; }
  .tour-price-amount strong { font-size: 68px; }
  .tour-price-amount>span { font-size: 18px; }
  .tour-price-label del { font-size: 21px; }
  .tour-price-label>span { font-size: 9px; }
  .tour-price-unit { font-size: 14px; }
  .private-fishing-rate { display: block; }
  .private-fishing-amount { display: flex; align-items: baseline; gap: 9px; text-align: left; margin-top: 12px; }
  .private-fishing-amount strong { display: inline; font-size: 34px; }
  .price-extras { padding: 24px 22px; border-radius: 12px; }
  .price-extras-heading { align-items: start; gap: 13px; }
  .price-extras-heading h3 { font-size: 27px; }
  .price-extras-heading p { font-size: 12px; }
  .price-extras-heading>svg { width: 28px; height: 28px; }
  .price-extras-grid { grid-template-columns: 1fr; }
  .price-extras-grid article { padding: 22px 0; }
  .price-extras-grid article+article { border-left: 0; border-top: 1px solid #8cbbb755; padding: 22px 0 0; }
  .extra-package-title { gap: 12px; }
  .extra-package-title h4 { font-size: 14px; }
  .extra-package-title strong { font-size: 32px; }
  .extra-package-copy { font-size: 13px; }
  .pricing-booking-panel { margin-top: 27px; padding: 24px 21px; }
  .pricing-booking-panel .booking-steps { grid-template-columns: 1fr; }
  .pricing-booking-panel .booking-note { padding: 18px 16px; }
}
