/* Scoped to BDC summaries and the existing rental listing; no theme-wide overrides. */
.bdcbc-package-summary { font-family: var(--e-global-typography-text-font-family, "Inter"), sans-serif; color: #17334b; }
.bdcbc-package-summary .bdc-package-item { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 24px; align-items: start; padding: 12px 0 24px; }
.bdcbc-package-summary .bdc-package-item__image { width: 112px; align-self: start; }
.bdcbc-package-summary .bdc-package-item__image img { display: block; width: 112px; height: 112px; object-fit: cover; border-radius: 14px; }
.bdcbc-package-summary .bdc-package-item__content { min-width: 0; flex: 1; }
.bdcbc-package-summary .bdc-package-item__top { display: block; margin-bottom: 18px; }
.bdcbc-package-summary .bdc-package-item__eyebrow { display: block; margin-bottom: 6px; color: #147f98; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.bdcbc-package-summary .bdc-package-item__title { margin: 0; font-family: var(--e-global-typography-primary-font-family, "Poppins"), sans-serif; font-size: clamp(19px, 2vw, 24px); line-height: 1.4; font-weight: 650; color: #102e48; overflow-wrap: anywhere; }
.bdcbc-package-summary .bdc-package-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 24px; padding: 0; margin: 0; }
.bdcbc-package-summary .bdc-package-detail { padding: 0; margin: 0; min-width: 0; }
.bdcbc-package-summary .bdc-package-detail dt { float: none; display: block; margin: 0 0 4px; color: #667c8e; font-size: 12px; font-weight: 500; line-height: 1.5; }
.bdcbc-package-summary .bdc-package-detail dd { display: block; margin: 0; padding: 0; color: #17334b; font-size: 14px; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
.bdcbc-package-summary .bdc-package-item__total { border-top: 1px solid #e2edf2; padding: 18px 0 0; margin: 0 0 18px; color: #127e98; text-align: right; font-size: 20px; font-weight: 700; }
body .elementor .booking-addon-card { box-sizing: border-box; display: flex; flex-direction: column; gap: 14px; height: 100%; min-height: 256px; padding: 18px !important; border: 1px solid #d9e6ed !important; border-radius: 16px !important; background: #fff; box-shadow: 0 3px 12px #143e5810; font-family: var(--e-global-typography-text-font-family, "Inter"),sans-serif; transition: border-color .18s, box-shadow .18s; }
body .elementor .booking-addon-card:hover, body .elementor .booking-addon-card:focus-within { border-color: #29a9c5 !important; box-shadow: 0 5px 18px #1489a018; }
.booking-addon-card > .e-con-inner { display: contents; }
.booking-addon-card .elementor-element-e544e7c > .e-con-inner { display: contents; }
body .elementor .booking-addon-card .elementor-element-e544e7c { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 8px 14px; width: 100%; padding: 0; margin: 0; }
body .elementor .booking-addon-card .elementor-element-987b1cd { grid-column: 1; grid-row: 1 / 3; width: 72px; padding: 0; align-self: start; }
body .elementor .booking-addon-card .elementor-element-ed0a057 { display: contents; }
body .elementor .booking-addon-card .addon-product-title { grid-column: 2; margin: 0; width: auto; min-width: 0; }
body .elementor .booking-addon-card .addon-product-title .elementor-heading-title { color: #14364e; font-size: 14px; font-weight: 600; line-height: 1.45; margin: 0; min-height: 40px; overflow-wrap: anywhere; }
body .elementor .booking-addon-card .addon-product-image img { display: block; width: 72px; height: 88px; object-fit: contain; border-radius: 10px; background: #f5f9fb; padding: 4px; }
body .elementor .booking-addon-card .addon-stext { grid-column: 2; margin: 0; font-size: 12px; line-height: 1.5; color: #6b8090; min-height: 36px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body .elementor .booking-addon-card .addon-stext p { margin: 0; }
body .elementor .booking-addon-card .elementor-element-a392974 { grid-column: 1 / -1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 10px 0 0; }
body .elementor .booking-addon-card .elementor-element-8b81ae8, body .elementor .booking-addon-card .elementor-element-fcef6b6 { width: auto; padding: 0; flex: 0 1 auto; }
body .elementor .booking-addon-card .elementor-element-cb21ab2 .elementor-heading-title { color: #117f99; font-size: 15px; font-weight: 700; line-height: 1.4; }
body .elementor .booking-addon-card .addon-qty-control { border: 1px solid #d5e3eb; border-radius: 9px; background: #f8fbfc; }
body .elementor .booking-addon-card .addon-qty-control button { width: 30px; height: 34px; color: #146b86; border: 0; font: 18px/1 sans-serif; }
body .elementor .booking-addon-card input.addon-qty-input { width: 32px; height: 34px !important; padding: 0 !important; color: #183b52; font: 600 13px/1.2 sans-serif; background: #fff; border-color: #e0eaf0; }
body .elementor .booking-addon-card button:disabled { opacity: .35; cursor: not-allowed; }
body .elementor .booking-addon-card .bdc-addon-option-label, body .elementor .booking-addon-card .bdc-addon-standard, body .elementor .booking-addon-card .bdc-addon-unavailable { display: block; box-sizing: border-box; width: 100%; margin: auto 0 0; min-height: 72px; padding: 12px 0 0; border-top: 1px solid #e7eff4; font-size: 11px; line-height: 1.5; font-weight: 600; color: #567283; }
body .elementor .booking-addon-card .bdc-addon-variation { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-height: 38px; height: auto; margin: 5px 0 0; padding: 7px 32px 7px 10px; border: 1px solid #ccdfe9; border-radius: 8px; background-color: #f5fafc; color: #193e55; font: 500 12px/1.5 "Inter",sans-serif; cursor: pointer; }
body .elementor .booking-addon-card .bdc-addon-variation:focus-visible, body .elementor .booking-addon-card button:focus-visible { outline: 2px solid #168eaa; outline-offset: 3px; }
body .elementor .booking-addon-card .bdc-addon-standard { display: flex; align-items: center; color: #538076; font-weight: 500; }
body .elementor .booking-addon-card .bdc-addon-unavailable { display: flex; align-items: center; color: #8a6437; font-weight: 500; }
body .elementor .booking-addon-card[data-bdc-rental-available="false"] { background: #fafcfd; border-style: dashed !important; }
body .elementor .booking-addon-card[data-bdc-rental-available="false"] .elementor-element-cb21ab2 .elementor-heading-title { color: #8a6437; font-size: 13px; }
@media (min-width: 768px) {
    .jet-listing-grid__items:has(.booking-addon-card) { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 16px; margin: 0 !important; }
    .jet-listing-grid__item:has(.booking-addon-card) { width: 100% !important; max-width: none !important; padding: 0 !important; min-width: 0; }
    .jet-listing-grid__item .elementor-5002 { height: 100%; }
}
@media (max-width: 600px) {
    .bdcbc-package-summary .bdc-package-item { grid-template-columns: 72px minmax(0,1fr); gap: 14px; }
    .bdcbc-package-summary .bdc-package-item__image, .bdcbc-package-summary .bdc-package-item__image img { width: 72px; height: 80px; }
    .bdcbc-package-summary .bdc-package-details { grid-template-columns: 1fr; gap: 12px; }
    .bdcbc-package-summary .bdc-package-item__title { font-size: 18px; }
    body .elementor .booking-addon-card { min-height: 280px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .jet-listing-grid__items:has(.booking-addon-card) { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { body .elementor .booking-addon-card { transition: none; } }
