.pdp-cruise .cruise-itinerary .itinerary-carousel {
    max-width: 100%;
}

.itinerary-carousel .itinerary-day {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-content: flex-start;
    background: none;
}


.itinerary-carousel .carousel-indicators {
    bottom: var(--add-on-height);
    display: none;
}


.itinerary-carousel .carousel-indicators [data-bs-target] {
    margin-right: 0;
    margin-left: 0;
    width: auto;
}


.pdp-cruise .cruise-itinerary .itinerary-carousel .carousel-indicators div {

    position: relative;

    z-index: 2;
    height: 32px;

    opacity: 1;

    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: center;

    margin-bottom: 6rem;
}


.pdp-cruise .cruise-itinerary .itinerary-carousel .carousel-indicators [data-bs-target] div {

    box-sizing: border-box;
    /* border-radius: 50%;*/
    border-radius: 999px;
    /* width: 32px;*/
    padding: 0 16px;
    height: 32px;
    font-size: 16px;

    position: relative;

    text-indent: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--light-dusk);
    color: var(--azamara-blue);

    opacity: 1;
    margin: -26px 1rem 1rem 1rem;
}

.pdp-cruise .cruise-itinerary .carousel .carousel-control-prev {

    height: 64px;
    width: 64px;
    border: 2.5px solid var(--azamara-blue);
    opacity: 1;
    left: -1rem;

    top: 0;

    margin-right: 1rem;
}

.pdp-cruise .cruise-itinerary .carousel .carousel-control-next {

    height: 64px;
    width: 64px;
    border: 2.5px solid var(--azamara-blue);
    opacity: 1;
    right: -1rem;

    top: 0;

}

.pdp-cruise .cruise-itinerary .itinerary-carousel .carousel-indicators [data-bs-target].active div {
    color: var(--pure-white);
    background: var(--azamara-blue);
}

.pdp-cruise .cruise-itinerary .itinerary-carousel .carousel-indicators [data-bs-target]:not(.active) div {
    display: none;
}



.pdp-cruise .cruise-itinerary {
    display: flex;
    flex-direction: column;
    align-items: center;

    background: url(../../images/backgrounds/light-paint-stroke.png) no-repeat center center;
    background-size: cover;
}

.pdp-cruise .cruise-itinerary .itinerary-headline {
    font-weight: 420;
    font-size: 48px;
    line-height: 60px;

    display: flex;
    flex-direction: column;
    align-items: center;
    letter-spacing: 0.025em;

    margin: 3rem auto 1rem auto;
}


.pdp-cruise .itinerary-group {

}


/* Featured Image and Text */
.pdp-cruise .cruise-itinerary .feature-image-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 5rem;
}

.pdp-cruise .cruise-itinerary .feature-image-text .featured-text {
    width: 90%;
    justify-content: center;
}


.pdp-cruise .cruise-itinerary .feature-image-text img {
    aspect-ratio: 16/9;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.pdp-cruise .cruise-itinerary .feature-image-text .card {
    width: 80vw;
    margin-top: -4rem;
    align-self: center;
    height: var(--card-height);
}

.pdp-cruise .cruise-itinerary .feature-image-text .port-headline {
    font-weight: 420;
    font-size: 30px;
    text-transform: capitalize;
    margin-top: 6px
}

.pdp-cruise .cruise-itinerary .feature-image-text .embark {
    font-weight: 420;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: var(--night-sky);
}

.pdp-cruise .cruise-itinerary .feature-image-text .embark > span {
    text-transform: capitalize;
    color: var(--azamara-blue);

}

.pdp-cruise .cruise-itinerary .feature-image-text .card .card-body.blurb {
    /* min-height: 300px; */
}

.pdp-cruise .cruise-itinerary .feature-image-text .card .card-body p {
    font-weight: 390;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.05em;
}

.pdp-cruise .cruise-itinerary .feature-image-text .card .link-text {
    font-weight: 420;
    font-size: 20px;
    line-height: 30px;
    letter-spacing: 0.05em;

    display: flex;
    align-items: end;

    color: var(--azamara-blue);
    fill: var(--azamara-blue);
}


.pdp-cruise .cruise-itinerary .feature-image-text .card .link-text > svg {
    margin-right: 1rem;
}


.pdp-cruise .cruise-itinerary .feature-image-text .card .link-text a {
    line-height: 20px;
}

.pdp-cruise .cruise-itinerary .feature-image-text .eyebrow, .pdp-cruise .cruise-itinerary .feature-image-text .days {
    font-weight: 390;
    font-size: 18px;
    line-height: 28px;

    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: var(--night-sky);
}

.pdp-cruise .cruise-itinerary .feature-image-text .days {
    font-weight: 420;
}

.pdp-cruise .cruise-itinerary .feature-image-text .featured-text {
    display: flex;
    flex-direction: column;
    width: 35%;
}

.pdp-cruise .featured-group .headline {
    font-weight: 420;
    font-size: 36px;

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    letter-spacing: 0.025em;


    color: var(--azamara-blue);
}

.pdp-cruise .featured-group .headline  {
    text-transform: capitalize;
    margin-bottom: 1rem;
    font-size: 30px;
}

.pdp-cruise .featured-group .add-on-container {
    width: 100%;
    height: var(--add-on-height);
    padding-top: 40px;
}

.pdp-cruise .featured-group .add-on-grid {
    display: flex;
    gap: 2rem;
    width: 100%;
    overflow-x: auto;
    padding: 0 2rem 1rem;
}

.pdp-cruise .featured-group .add-on-grid::-webkit-scrollbar {
    -webkit-appearance: none;
}

.pdp-cruise .featured-group .add-on-grid svg + * {
    margin-left: .5rem;
}

.pdp-cruise .featured-group .add-on-grid .prices-group {
    padding: 24px;
}

.pdp-cruise .featured-group .add-on-grid .split-group {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: start;
}

.pdp-cruise .featured-group .add-on-grid .middle-section .split-group {
    height: 100%;
}

.pdp-cruise .featured-group .add-on-grid .split-group.center {
    border-bottom: 1px solid var(--divider-gray);
}

.pdp-cruise .featured-group .add-on-grid .split-group.center > div {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

}

.pdp-cruise .featured-group .add-on-grid .split-group > div {
    width: 50%;
    height: 100%;
    padding: 24px;
}

.pdp-cruise .featured-group .add-on-grid .split-group > div.box {
    border-left: 1px solid var(--divider-gray);
}


.pdp-cruise .featured-group .add-on-grid .card {
    display: flex;
    flex-direction: column;
    align-items: center;

    color: var(--azamara-blue);
    fill: var(--azamara-blue);

    background-color: var(--pure-white);

    user-select: none;

    min-width: 70vw;
    width: 100%;
    margin: 0;
}


.pdp-cruise .featured-group .add-on-grid .card:first-child {
    margin-left: auto;
}

.pdp-cruise .featured-group .add-on-grid .card:last-child {
    margin-right: auto;
}


.pdp-cruise .add-on-grid .card img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
    width: 100%;
    height: auto;
}

.pdp-cruise .add-on-grid .eyebrow {
    font-style: normal;
    font-weight: 420;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.05em;
    color: var(--dusk);
    user-select: none;
}

.pdp-cruise .add-on-grid .card .top-half {
    width: 100%;
}

.pdp-cruise .add-on-grid .card .top-half .image-wrapper {
    aspect-ratio: 16 / 9;
    background-color: var(--light-dusk);
}

.pdp-cruise .add-on-grid .card .info-bar {
    display: flex;
    height: 44px;

    border-bottom: 1px solid var(--light-dusk);
}

.pdp-cruise .add-on-grid .card .info-bar > * {
    flex-grow: 1;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;

    height: 100%;
}

.pdp-cruise .add-on-grid .card .info-bar svg {
    font-size: 20px;
}

.pdp-cruise .add-on-grid .card .info-bar .activity-type {
    background-color: var(--azamara-blue);
    color: var(--pure-white);
}

.pdp-cruise .add-on-grid .card .region {
    background-color: var(--azamara-blue);
    color: var(--pure-white);

    font-size: 18px;

    height: auto;
    padding: 1rem 2rem;

    position: absolute;
    top: 0;
    left: 0;
}

.pdp-cruise .add-on-grid .card .card-header h3 {
    margin-top: 0;
}

.pdp-cruise .add-on-grid .card .card-header .text-eyebrow {
    display: flex;
    align-items: center;
    gap: .5rem;

    font-size: 14px;

    color: var(--night-sky);
}

.pdp-cruise .add-on-grid .card .card-header .text-eyebrow svg {
    font-size: 14px;
}

.pdp-cruise .add-on-grid .card .card-header .cruise-name {
    margin: 0;
    font-size: 20px;
}


.pdp-cruise .add-on-grid .card .card-body.list-group {
    border-top: 1px solid var(--divider-gray);
    padding: 24px;
}

.pdp-cruise .add-on-grid .card .bottom-half {
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.pdp-cruise .add-on-grid .card .bottom-half .card-header {
    flex-grow: 1;
}

.pdp-cruise .add-on-grid .card.amenity-card .card-body .card-blurb {
    font-weight: 390;
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0.05em;
}

.pdp-cruise .add-on-grid .card .right-side {
    border-left: 1px solid var(--divider-gray);
}

.pdp-cruise .add-on-grid .card .card-body {
    display: flex;
    flex-direction: column;
    padding: 24px;
    border-bottom: 1px solid var(--divider-gray);
}


.pdp-cruise .featured-group .add-on-grid h3 {
    font-weight: 420;
    font-size: 20px;
    line-height: 30px;
}

.pdp-cruise .featured-group .add-on-grid .text-eyebrow {
    font-size: 14px;
}


.pdp-cruise .itinerary-modal p {
    font-style: italic;
    font-weight: 390;
    font-size: 14px;
    line-height: 20px;
}


.pdp-cruise .itinerary-modal .modal-dialog .modal-header {
    border-bottom: none;
    padding: 1rem;
}

.pdp-cruise .itinerary-modal .modal-dialog .modal-body {
    padding: 1rem 2rem;
}

.pdp-cruise .itinerary-modal .modal-dialog .table-header {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom: 1rem;
}

.pdp-cruise .itinerary-modal .modal-dialog .table-header .itinerary-actions {
    align-self: center;
}

.pdp-cruise .itinerary-modal .modal-dialog .table-header .itinerary-actions a {
    color: var(--dusk);
    fill: var(--dusk);
    text-decoration: none;
    font-size: 14px;
}

.pdp-cruise .itinerary-modal .modal-dialog .table-header .itinerary-actions a svg {
    padding-bottom: 4px;
    font-size: 18px;
    margin-right: 12px;
}

.pdp-cruise .itinerary-modal.rich-text-area table {
    border: 1px solid var(--azamara-blue);
}

.pdp-cruise .itinerary-modal.rich-text-area table :is(td, th) {
    padding: 8px;
}



/* -sm breakpoint */
@media (min-width: 576px) {


}

/* -md breakpoint */
@media (min-width: 768px) {
    .pdp-cruise .itinerary-modal .modal-dialog .table-header {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        margin-bottom: 0;
    }

    .pdp-cruise .featured-group .add-on-grid {
        gap: 2rem;
    }

    .pdp-cruise .featured-group .headline  {
        font-size: 36px;
    }

    .pdp-cruise .add-on-grid .card .card-header .text-eyebrow {
        font-size: 18px;
    }

    .pdp-cruise .add-on-grid .card .card-header .text-eyebrow svg {
        font-size: 18px;
    }

    .pdp-cruise .featured-group .add-on-grid h3 {
        font-size: 30px;
        line-height: 38px;
    }


}


/* -lg breakpoint*/
@media (min-width: 992px) {

    .pdp-cruise {
        --padding-x: 5rem;
    }

    .pdp-cruise .product-hero .image-card-group {
        flex-direction: row;
    }

    .pdp-cruise .itinerary-group {
        height: auto;
        padding: 3rem var(--padding-x);
    }

    .pdp-cruise .itinerary-carousel .carousel-indicators {
        position: absolute;
        display: flex;
        top: 273px;
        margin: 0;
    }

    .pdp-cruise .cruise-itinerary .carousel .carousel-control-prev {
        left: calc((var(--padding-x) / 2) - 20px);
    }

    .pdp-cruise .cruise-itinerary .carousel .carousel-control-next {
        right: calc((var(--padding-x) / 2) - 20px);
    }

    .pdp-cruise .itinerary-carousel .carousel-indicators [data-bs-target] {
        margin-right: 0;
        margin-left: 0;
        opacity: 1;
    }

    .pdp-cruise .cruise-itinerary .feature-image-text .port-headline {
        font-size: 36px;
    }

    .pdp-cruise .featured-group {
        margin-top: 0;
    }

    .pdp-cruise .cruise-itinerary .itinerary-carousel .carousel-indicators [data-bs-target] div.small-screen {
        display: none;
    }

    .pdp-cruise .itinerary-group .feature-image-text {
        display: flex;
        flex-direction: row;
        height: 450px;
        margin-bottom: 3rem;
    }

    .pdp-cruise .itinerary-group .feature-image-text .image {
        width: 60%;
    }

    .pdp-cruise .featured-group .headline {
        margin-bottom: 3rem;
    }

    .pdp-cruise .featured-group .add-on-container {
        padding-top: unset;
    }

    .pdp-cruise .featured-group .add-on-grid .card img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 16 / 9;
    }

    .pdp-cruise .cruise-itinerary .feature-image-text .card {
        margin-top: 0;
        margin-bottom: 0;
        width: 40%;
        align-self: stretch;
    }

    .pdp-cruise .featured-group .add-on-grid .card {

        min-width: auto;
        max-width: 50%;
    }

    .pdp-cruise .featured-group .add-on-grid {
        width: 100%;
        gap: 1.5rem;
        overflow: visible;
        padding: 0;
    }

    .pdp-cruise .itinerary-modal .modal-dialog {
        width: 800px;
        max-width: 800px;
    }


}

/* -xl breakpoint */
@media (min-width: 1200px) {

}

/* -xxl breakpoint */
@media (min-width: 1400px) {
    .pdp-cruise {
        --padding-x: min(15rem, 10vw)
    }

    .pdp-cruise .featured-group .add-on-grid {
        gap: min(3vw, 4rem);
    }
}
