.kcr-booking-public {
margin: 0;
background: #eef3f7;
color: #13213a;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kcr-public-wrap {
width: min(960px, calc(100% - 32px));
margin: 32px auto;
}
.kcr-public-panel {
background: #fff;
border: 1px solid #d8e1ea;
border-radius: 8px;
padding: 24px;
margin-bottom: 16px;
box-shadow: 0 10px 28px rgba(20, 32, 54, .08);
}
.kcr-kicker {
margin: 0 0 8px;
color: #63ab45;
font-weight: 700;
text-transform: uppercase;
font-size: 12px;
letter-spacing: .04em;
}
.kcr-public-panel h1,
.kcr-public-panel h2 {
margin: 0 0 12px;
line-height: 1.25;
}
.kcr-public-muted {
color: #627084;
}
.kcr-public-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 10px;
margin: 18px 0;
}
.kcr-detail {
background: #f5f8fb;
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 12px;
}
.kcr-detail span,
.kcr-route span,
.kcr-totals span {
display: block;
color: #667085;
font-size: 15px;
}
.kcr-detail strong,
.kcr-route strong,
.kcr-totals strong {
display: block;
margin-top: 4px;
}
.kcr-totals strong {
text-align: right;
}
.kcr-route {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.kcr-route div {
border-left: 4px solid #63ab45;
background: #f8fafc;
padding: 14px;
border-radius: 8px;
}
.kcr-public-table {
width: 100%;
border-collapse: collapse;
margin: 12px 0;
}
.kcr-public-table th,
.kcr-public-table td {
border-bottom: 1px solid #e4eaf1;
padding: 10px;
text-align: left;
}
.kcr-public-table th:nth-child(2),
.kcr-public-table td:nth-child(2) {
text-align: center;
}
.kcr-public-table th:nth-child(3),
.kcr-public-table td:nth-child(3) {
text-align: right;
}
.kcr-totals {
display: grid;
grid-template-columns: 1fr auto;
gap: 8px 16px;
background: #f8fafc;
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 14px;
}
.kcr-terms {
margin-top: 14px;
color: #344054;
}
.kcr-quote-validity {
background: #f0fdf4;
border: 1px solid #bbf7d0;
border-radius: 8px;
color: #166534;
font-weight: 600;
margin-top: 14px;
padding: 10px 12px;
}
.kcr-quote-expired {
background: #fff7ed;
border-color: #fed7aa;
color: #9a3412;
}
.kcr-booking-meta {
display: grid;
gap: 6px;
margin: 4px 0 18px;
}
.kcr-booking-meta p {
margin: 0;
}
.kcr-button {
display: inline-block;
box-sizing: border-box;
background: #63ab45;
color: #fff;
text-decoration: none;
border-radius: 6px;
padding: 10px 16px;
font-weight: 700;
border: 0;
cursor: pointer;
}
.kcr-button-primary-action {
font-size: 17px;
min-height: 56px;
min-width: 270px;
padding: 15px 22px;
box-shadow: 0 8px 18px rgba(99, 171, 69, .24);
}
.kcr-button-secondary {
background: #f7921e;
color: #fff;
border: 1px solid #f7921e;
}
.kcr-button-danger {
background: #fff5f5;
color: #b42318;
border: 1px solid #fecaca;
}
.kcr-action-row {
display: flex;
flex-wrap: wrap;
gap: 10px 12px;
align-items: center;
margin-top: 18px;
}
.kcr-action-row form {
margin: 0;
}
.kcr-action-row .kcr-button {
min-height: 56px;
min-width: 270px;
padding: 15px 22px;
font-size: 17px;
text-align: center;
}
.kcr-action-row .kcr-button-secondary,
.kcr-action-row .kcr-button-danger {
min-height: 56px;
padding: 15px 22px;
}
.kcr-button:focus,
.kcr-button:hover,
.kcr-button-secondary:focus,
.kcr-button-secondary:hover {
color: #fff;
}
.kcr-button-danger:focus,
.kcr-button-danger:hover {
color: #b42318;
}
.kcr-transfer-form-wrap {
color: #17233c;
}
.kcr-transfer-form {
background: #fff;
border: 1px solid #d8e1ea;
border-radius: 8px;
padding: 22px;
}
.kcr-form-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
}
.kcr-transfer-form label {
display: block;
}
.kcr-transfer-form label span {
display: block;
font-weight: 600;
margin-bottom: 7px;
}
.kcr-transfer-form input,
.kcr-transfer-form select,
.kcr-transfer-form textarea {
box-sizing: border-box;
width: 100%;
border: 1px solid #f5f8f7;
border-radius: 6px;
background: #f5f8f7;
color: #17233c;
padding: 13px 14px;
font: inherit;
}
.kcr-transfer-form input:focus,
.kcr-transfer-form select:focus,
.kcr-transfer-form textarea:focus {
border-color: #63ab45;
outline: 0;
box-shadow: 0 0 0 2px rgba(99, 171, 69, .16);
}
.kcr-transfer-form input:active,
.kcr-transfer-form select:active,
.kcr-transfer-form textarea:active {
border-color: #63ab45;
}
.kcr-transfer-form textarea {
min-height: 150px;
resize: vertical;
}
.kcr-transfer-form .kcr-button {
font-size: 17px;
min-height: 56px;
min-width: 270px;
padding: 15px 22px;
}
.kcr-form-wide {
grid-column: 1 / -1;
}
.kcr-form-section {
border-bottom: 1px solid #e4eaf1;
margin-bottom: 20px;
padding-bottom: 20px;
}
.kcr-form-section:last-of-type {
border-bottom: 0;
}
.kcr-tour-progress {
display: none;
grid-template-columns: repeat(3, minmax(0, 1fr));
list-style: none;
margin: 0 0 24px;
padding: 0;
}
.kcr-custom-tour-form.is-enhanced .kcr-tour-progress {
display: grid;
}
.kcr-tour-progress li {
border-bottom: 3px solid #dbe4ee;
color: #667085;
font-size: 14px;
font-weight: 600;
padding: 0 8px 12px;
text-align: center;
}
.kcr-tour-progress li span {
align-items: center;
background: #e8edf2;
border-radius: 50%;
color: #344054;
display: inline-flex;
height: 28px;
justify-content: center;
margin-right: 5px;
width: 28px;
}
.kcr-tour-progress li.is-active,
.kcr-tour-progress li.is-complete {
border-color: #63ab45;
color: #17233c;
}
.kcr-tour-progress li.is-active span,
.kcr-tour-progress li.is-complete span {
background: #63ab45;
color: #fff;
}
.kcr-custom-tour-form.is-enhanced .kcr-tour-step {
display: none;
}
.kcr-custom-tour-form.is-enhanced .kcr-tour-step.is-active {
display: block;
}
.kcr-step-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end;
margin-top: 18px;
}
.kcr-step-next,
.kcr-step-back {
display: none;
}
.kcr-custom-tour-form.is-enhanced .kcr-step-next,
.kcr-custom-tour-form.is-enhanced .kcr-step-back {
display: inline-block;
}
.kcr-button-back {
background: #fff;
border: 1px solid #cfd8e3;
color: #344054;
}
.kcr-button-back:focus,
.kcr-button-back:hover {
background: #f8fafc;
color: #17233c;
}
.kcr-tour-review {
display: none;
background: #f8fafc;
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 16px;
}
.kcr-custom-tour-form.is-enhanced .kcr-tour-review {
display: block;
}
.kcr-tour-review h3 {
margin: 0 0 12px;
}
.kcr-tour-review dl {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 10px 20px;
margin: 0;
}
.kcr-tour-review dl div {
border-bottom: 1px solid #e4eaf1;
padding-bottom: 8px;
}
.kcr-tour-review dt {
color: #667085;
font-size: 13px;
}
.kcr-tour-review dd {
font-weight: 600;
margin: 3px 0 0;
}
.kcr-form-section h3 {
margin: 0 0 14px;
}
.kcr-check-group {
border: 1px solid #e4eaf1;
border-radius: 6px;
display: flex;
flex-wrap: wrap;
gap: 10px 18px;
padding: 12px;
}
.kcr-check-group legend {
font-weight: 600;
padding: 0 5px;
}
.kcr-check-group label {
align-items: center;
display: inline-flex;
gap: 6px;
}
.kcr-check-group input[type="checkbox"] {
width: auto;
}
.kcr-check-group label span {
font-weight: 400;
margin: 0;
}
.kcr-field-help {
color: #667085;
font-size: 14px;
margin: -4px 0 0;
}
.kcr-transfer-form small.kcr-field-help {
display: block;
margin: 0 0 7px;
}
.kcr-public-itinerary {
display: grid;
gap: 14px;
}
.kcr-public-itinerary-day {
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 16px;
}
.kcr-public-day-heading {
display: grid;
grid-template-columns: 72px 1fr;
gap: 14px;
align-items: start;
}
.kcr-public-day-heading > span {
background: #63ab45;
border-radius: 6px;
color: #fff;
font-weight: 700;
padding: 8px 6px;
text-align: center;
}
.kcr-public-day-heading h3 {
margin: 0 0 3px;
}
.kcr-public-day-heading small {
color: #667085;
}
.kcr-day-route {
display: grid;
grid-template-columns: 72px 1fr;
gap: 6px 14px;
background: #f8fafc;
border-left: 4px solid #63ab45;
margin-top: 14px;
padding: 12px;
}
.kcr-day-route span {
color: #667085;
}
.kcr-itinerary-list {
list-style: none;
margin: 14px 0 0;
padding: 0;
}
.kcr-itinerary-list li {
display: grid;
grid-template-columns: 90px 1fr;
gap: 12px;
border-top: 1px solid #e4eaf1;
padding: 12px 0;
}
.kcr-itinerary-list time,
.kcr-itinerary-list span {
display: block;
color: #667085;
}
.kcr-itinerary-list p {
margin: 4px 0 0;
}
.kcr-day-notes {
background: #fff7ed;
border: 1px solid #fed7aa;
border-radius: 6px;
margin-top: 10px;
padding: 10px 12px;
}
.kcr-hp-field {
height: 0;
left: -9999px;
overflow: hidden;
position: absolute;
width: 0;
}
.kcr-form-success {
background: #ecfdf5;
border: 1px solid #a7f3d0;
border-radius: 8px;
color: #065f46;
margin-bottom: 14px;
padding: 12px 14px;
}
.kcr-form-notice {
background: #fff7ed;
border: 1px solid #fed7aa;
border-radius: 8px;
color: #9a3412;
margin-bottom: 14px;
padding: 12px 14px;
}
@media (max-width: 720px) {
.kcr-public-grid,
.kcr-route,
.kcr-form-grid {
grid-template-columns: 1fr;
}
.kcr-public-panel {
padding: 18px;
}
.kcr-tour-progress li {
font-size: 12px;
padding-left: 3px;
padding-right: 3px;
}
.kcr-tour-progress li span {
display: flex;
margin: 0 auto 5px;
}
.kcr-tour-review dl {
grid-template-columns: 1fr;
}
.kcr-step-actions .kcr-button {
min-width: 0;
width: 100%;
}
}
.kcr-tour-package-list {
display: grid;
gap: 18px;
}
.kcr-package-card {
background: #fff;
border: 1px solid #d8e1ea;
border-radius: 8px;
display: grid;
grid-template-columns: 260px 1fr;
gap: 18px;
overflow: hidden;
padding: 16px;
box-shadow: 0 10px 28px rgba(20, 32, 54, .08);
}
.kcr-package-card img,
.kcr-package-hero img {
aspect-ratio: 16 / 10;
border-radius: 6px;
height: 100%;
object-fit: cover;
width: 100%;
}
.kcr-package-card h3 {
font-size: 24px;
line-height: 1.25;
margin: 0 0 8px;
}
.kcr-package-price {
display: block;
font-size: 18px;
margin: 12px 0;
}
.kcr-package-hero {
display: grid;
grid-template-columns: minmax(260px, 380px) 1fr;
gap: 18px;
}
.kcr-package-hero > img {
grid-row: span 4;
}
.kcr-package-content h2:not(:first-child) {
margin-top: 22px;
}
.kcr-package-price-box {
background: #fff;
border: 1px solid #dbe4ee;
border-radius: 8px;
grid-column: 1 / -1;
margin-top: 18px;
padding: 16px;
}
.kcr-package-price-box h3 {
margin: 0 0 12px;
}
.kcr-package-route-group {
display: grid;
gap: 16px;
grid-column: 1 / -1;
grid-template-columns: repeat(2, minmax(0, 1fr));
margin-top: 8px;
}
.kcr-route small {
display: block;
color: #667085;
margin-top: 4px;
}
@media (max-width: 720px) {
.kcr-package-card,
.kcr-package-hero {
grid-template-columns: 1fr;
}
.kcr-package-hero > img {
grid-row: auto;
}
}
.kcr-package-itinerary-box {
background: #f3f8f6;
border-radius: 8px;
margin: 18px 0;
padding: 18px;
}
.kcr-package-itinerary-box h2 {
margin-top: 0;
}
.kcr-package-inclusions {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin-top: 18px;
}
.kcr-package-inclusions > div {
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 18px;
}
.kcr-package-inclusions h2 {
margin-top: 0;
}
.kcr-package-admission-fees {
background: #fffdf5;
border-color: #fde68a;
}
.kcr-package-admission-fees h2 {
margin-top: 0;
}
@media (max-width: 720px) {
.kcr-package-inclusions {
grid-template-columns: 1fr;
}
}
@media (max-width: 720px) {
.kcr-package-route-group {
grid-template-columns: 1fr;
}
}
.kcr-package-time-warning {
grid-column: 1 / -1;
margin: 4px 0 14px;
padding: 12px 14px;
border: 1px solid #fed7aa;
border-radius: 8px;
background: #fff7ed;
color: #9a3412;
font-weight: 600;
}
.kcr-package-booking-form > p {
margin-top: 24px;
}
.kcr-package-custom-quote {
grid-column: 1 / -1;
margin: 0 0 16px;
}
.kcr-package-custom-quote .kcr-button {
min-width: 270px;
text-align: center;
}
.kcr-terms-check {
align-items: center;
background: #f8fafc;
border: 1px solid #dbe4ee;
border-radius: 8px;
display: flex !important;
gap: 10px;
margin-top: 16px;
margin-bottom: 18px;
padding: 12px 14px;
}
.kcr-terms-check input[type="checkbox"] {
flex: 0 0 auto;
height: 14px;
margin: 0;
width: 14px;
}
.kcr-terms-check span {
align-items: center;
display: inline-flex;
font-weight: 500;
line-height: 1.35;
margin: 0;
min-height: 16px;
padding-top: 1px;
}
.kcr-package-hero .kcr-public-grid .kcr-detail:first-child {
background: #63ab45;
border-color: #63ab45;
color: #fff;
}
.kcr-package-hero .kcr-public-grid .kcr-detail:first-child span,
.kcr-package-hero .kcr-public-grid .kcr-detail:first-child strong {
color: #fff;
}
.kcr-package-gallery h2 {
margin-top: 0;
}
.kcr-package-gallery-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}
.kcr-package-gallery-item {
display: block;
overflow: hidden;
border-radius: 8px;
background: #f3f8f6;
}
.kcr-package-gallery-item img {
aspect-ratio: 4 / 3;
display: block;
height: auto;
object-fit: cover;
transition: transform .18s ease;
width: 100%;
}
.kcr-package-gallery-item:hover img {
transform: scale(1.03);
}
@media (max-width: 760px) {
.kcr-package-gallery-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 520px) {
.kcr-package-gallery-grid {
grid-template-columns: 1fr;
}
}
body.kcr-gallery-lightbox-open {
overflow: hidden;
}
.kcr-gallery-lightbox {
align-items: center;
background: rgba(12, 18, 28, .86);
bottom: 0;
display: flex;
justify-content: center;
left: 0;
padding: 28px;
position: fixed;
right: 0;
top: 0;
z-index: 99999;
}
.kcr-gallery-lightbox[hidden] {
display: none;
}
.kcr-gallery-lightbox img {
background: #fff;
border-radius: 8px;
box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
max-height: calc(100vh - 70px);
max-width: min(1100px, calc(100vw - 48px));
object-fit: contain;
}
.kcr-gallery-lightbox-close {
align-items: center;
background: #fff;
border: 0;
border-radius: 50%;
box-shadow: 0 12px 32px rgba(0, 0, 0, .22);
color: #17233c;
cursor: pointer;
display: inline-flex;
font-size: 0;
height: 44px;
justify-content: center;
line-height: 1;
padding: 0;
position: absolute;
right: 22px;
text-align: center;
top: 18px;
width: 44px;
}
.kcr-gallery-lightbox-close::before {
align-items: center;
content: "\00d7";
display: flex;
font-family: Arial, sans-serif;
font-size: 28px;
font-weight: 700;
height: 100%;
justify-content: center;
line-height: 1;
width: 100%;
}
.kcr-gallery-lightbox-close:focus,
.kcr-gallery-lightbox-close:hover {
background: #63ab45;
color: #fff;
outline: 0;
}
@media (max-width: 600px) {
.kcr-gallery-lightbox {
padding: 18px;
}
.kcr-gallery-lightbox img {
max-height: calc(100vh - 58px);
max-width: calc(100vw - 28px);
}
.kcr-gallery-lightbox-close {
right: 12px;
top: 10px;
}
}
.kcr-button:disabled,
.kcr-button[aria-disabled="true"] {
cursor: not-allowed;
opacity: .56;
}
.kcr-good-for-badges {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.kcr-good-for-badge {
align-items: center;
background: #f3f8f6;
border: 1px solid #d7ead1;
border-radius: 999px;
color: #17233c;
display: inline-flex;
font-weight: 700;
gap: 8px;
line-height: 1.2;
padding: 8px 12px 8px 8px;
}
.kcr-good-for-icon {
align-items: center;
background: #63ab45;
border-radius: 999px;
color: #fff;
display: inline-flex;
font-size: 11px;
height: 26px;
justify-content: center;
min-width: 26px;
padding: 0 5px;
}
.kcr-package-extra-info {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin-top: 18px;
}
.kcr-package-extra-info > div {
background: #f8fafc;
border: 1px solid #dbe4ee;
border-radius: 8px;
padding: 18px;
}
.kcr-package-extra-info h2 {
margin-top: 0;
}
@media (max-width: 720px) {
.kcr-package-extra-info {
grid-template-columns: 1fr;
}
}