/* CK Krokus: isolated trip detail styles. */
.productdetails-view.krokus-trip-detail { --kd-green: #12854c; padding-top: 12px; color: #24342b; }
.krokus-trip-detail .kd-heading { margin-bottom: 24px; }
.krokus-trip-detail .trip-links { float: none; margin: 0 0 12px; text-align: left; }
.krokus-trip-detail .trip-links a.btn { padding: 0; font-size: 13px; font-weight: 500; color: #617167; text-decoration: none; border: 0; }
.krokus-trip-detail .trip-links a.btn:hover { color: var(--kd-green); text-decoration: underline; }
.krokus-trip-detail .trip-badge { margin: 0 0 10px !important; padding: 6px 10px; border-radius: 6px; background: var(--kd-green); font-size: 11px; line-height: 1.4; }
.krokus-trip-detail .trip-title { margin: 0 !important; max-width: 100%; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.2; color: #20372a; overflow-wrap: anywhere; }
.krokus-trip-detail .kd-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: start; gap: 32px; margin-bottom: 30px; }
.krokus-trip-detail .kd-gallery-column,
.krokus-trip-detail .kd-summary { min-width: 0; }
.krokus-trip-detail .trip-detail-gallery { margin: 0; }
.krokus-trip-detail .product-image-gallery { margin-bottom: 0 !important; }
.krokus-trip-detail .product-image-gallery__main img { border-radius: 14px; }
.krokus-trip-detail .kd-meta { padding: 20px; margin-bottom: 16px !important; border: 1px solid #e3ebe6; border-radius: 12px; box-shadow: none; background: #fff; }
.krokus-trip-detail .product-trip-location { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.krokus-trip-detail .product-trip-dates { margin: 0; font-size: 15px; line-height: 1.55; }
.krokus-trip-detail .product-trip-dates .trip-row { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 7px 0; }
.krokus-trip-detail .product-trip-dates .trip-label { color: #526159; flex-basis: 100%; font-size: 13px; }
.krokus-trip-detail .product-trip-dates .trip-date { font-weight: 600; }
.krokus-trip-detail .trip-availability { display: inline-block; padding: 6px 10px; border-radius: 6px; background: #edf7f0; font-size: 14px; line-height: 1.4; }
.krokus-trip-detail .trip-availability.is-low { background: #fff4e8; color: #965b17; }
.krokus-trip-detail .kd-booking { margin-bottom: 16px !important; padding: 22px; border: 1px solid #dce8e0; border-radius: 12px; box-shadow: none; background: #f4f8f5; }
.krokus-trip-detail .trip-price { margin: 0 0 20px !important; }
.krokus-trip-detail .trip-price .PricesalesPrice,
.krokus-trip-detail .trip-price .salesPrice { font-size: 32px; line-height: 1.25; font-weight: 700; color: var(--kd-green); }
.krokus-trip-detail .addtocart-area,
.krokus-trip-detail .addtocart-area form.product { margin: 0; padding: 0; width: 100%; min-width: 0; }
.krokus-trip-detail .product-field { margin-bottom: 18px; }
.krokus-trip-detail .product-fields-title-wrapper { margin-bottom: 8px; }
.krokus-trip-detail .product-fields-title { font-size: 14px; font-weight: 600; }
.krokus-trip-detail .product-field-display { width: 100%; min-width: 0; border: 0 !important; box-shadow: none !important; }
.krokus-trip-detail .product-field-display :where(div, span):has(> select) { padding: 0 !important; border: 0 !important; box-shadow: none !important; background-color: transparent; }
.krokus-trip-detail .product-field-display select {
    width: 100% !important; max-width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box;
    border: 1px solid #c2d2c7 !important; border-radius: 8px; box-shadow: none !important;
    background-color: #fff; color: #24392c; padding: 10px 38px 10px 12px; font-size: 16px; line-height: 1.5;
}
.krokus-trip-detail .product-field-display select:focus-visible,
.krokus-trip-detail .addtocart-button:focus-visible { outline: 3px solid #95c8ab; outline-offset: 3px; }
.krokus-trip-detail .choices,
.krokus-trip-detail .chosen-container { width: 100% !important; max-width: 100%; margin-bottom: 0; }
.krokus-trip-detail .choices__inner,
.krokus-trip-detail .chosen-single { min-height: 48px; height: auto; background: #fff; box-shadow: none; border-radius: 8px; font-size: 16px; }
.krokus-trip-detail .choices__list--single .choices__item,
.krokus-trip-detail .chosen-single span { white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.krokus-trip-detail .addtocart-bar { gap: 12px !important; margin: 0; }
.krokus-trip-detail .quantity-box { flex: 0 0 124px; width: 124px !important; margin: 0; transform: none; }
.krokus-trip-detail .quantity-controls { width: 36px; min-height: 48px; padding: 6px; }
.krokus-trip-detail .quantity-input { min-width: 0; width: 50px; min-height: 48px; padding: 5px; font-size: 16px; text-align: center; }
.krokus-trip-detail .addtocart-button-container { flex: 1 1 180px; min-width: 0; }
.krokus-trip-detail .addtocart-button { width: 100%; min-height: 48px; padding: 12px 16px; border: 1px solid var(--kd-green); border-radius: 8px; background: var(--kd-green); color: #fff; box-shadow: none; font-size: 14px; font-weight: 600; line-height: 1.4; white-space: normal; }
.krokus-trip-detail .addtocart-button:hover:not(:disabled) { background: #0d6a3c; border-color: #0d6a3c; }
.krokus-trip-detail .addtocart-button:disabled { opacity: .55; cursor: not-allowed; }
.krokus-trip-detail .ask-a-question-wrap { margin: 0 0 18px; text-align: left; }
.krokus-trip-detail .btn-ask-question { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid #dce6df; background: #fff; color: #355640; border-radius: 8px; box-shadow: none; font-size: 14px; }
.krokus-trip-detail .btn-ask-question .icon { background: var(--kd-green); }
.krokus-trip-detail .kd-short { padding: 0; border: 0; box-shadow: none; font-size: 15px; line-height: 1.65; }
.krokus-trip-detail .trip-detail-tabs .nav { justify-content: flex-start; gap: 8px; margin-bottom: 16px; }
.krokus-trip-detail .trip-detail-tabs .nav-link { padding: 12px 16px; color: #526159; font-weight: 600; }
.krokus-trip-detail .trip-detail-tabs .nav-link.active { color: var(--kd-green); border-color: var(--kd-green); }
.krokus-trip-detail .trip-detail-tabs .nav-link::after { background-color: var(--kd-green); }
.krokus-trip-detail .trip-detail-tabs .tab-pane { padding: 24px; border: 1px solid #e3ebe6; border-radius: 12px; box-shadow: none; font-size: 16px; line-height: 1.75; }
.krokus-trip-detail .trip-detail-tabs .tab-pane img { max-width: 100%; height: auto; }
@media (max-width: 991px) {
    .krokus-trip-detail .kd-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .krokus-trip-detail .kd-heading { margin-bottom: 18px; }
}
@media (max-width: 640px) {
    .productdetails-view.krokus-trip-detail { padding-top: 8px; }
    .krokus-trip-detail .trip-title { font-size: 25px; }
    .krokus-trip-detail .trip-links a.btn { font-size: 12px; }
    .krokus-trip-detail .kd-meta { padding: 0 0 16px; border: 0; border-bottom: 1px solid #e5ece7; border-radius: 0; margin-bottom: 16px !important; }
    .krokus-trip-detail .kd-booking { padding: 16px; border-radius: 10px; }
    .krokus-trip-detail .trip-price .PricesalesPrice,
    .krokus-trip-detail .trip-price .salesPrice { font-size: 28px; }
    .krokus-trip-detail .quantity-box { flex-basis: 108px; width: 108px !important; }
    .krokus-trip-detail .quantity-controls { width: 32px; }
    .krokus-trip-detail .quantity-input { width: 42px; }
    .krokus-trip-detail .addtocart-button-container { flex-basis: 145px; }
    .krokus-trip-detail .addtocart-button { font-size: 12px; padding: 12px 8px; }
    .krokus-trip-detail .trip-detail-tabs .tab-pane { padding: 16px; font-size: 15px; line-height: 1.65; }
    .krokus-trip-detail .trip-detail-tabs .nav-link { padding: 10px 8px; font-size: 13px; }
}
@media print {
    .krokus-trip-detail .kd-layout { display: block; }
    .krokus-trip-detail .addtocart-area,
    .krokus-trip-detail .ask-a-question-wrap { display: none; }
}
