
/* ============================================================
   POSEIDON × PLANYO
   Loaded only on /bookings/
   Scoped again inside .planyo-shell
============================================================ */


/* ------------------------------------------------------------
   BASE
------------------------------------------------------------ */

.booking-planyo-section {
    background: #f4f7f6;
}

.booking-planyo-section .poseidon-container {
    max-width: 1180px;
}

.planyo-shell {
    padding: 34px 38px;

    border: 1px solid #d8e2e3;
    border-radius: 28px;

    background: #fff;

    box-shadow:
        0 22px 65px
        rgba(3, 30, 43, .07);
}


.planyo-shell,
.planyo-shell .planyo,
.planyo-shell #planyo_content {
    color: #082b38;

    font-family: inherit !important;

    font-size: 15px;
    line-height: 1.5;
}


.planyo-shell * {
    box-sizing: border-box;
}


/* ------------------------------------------------------------
   LINKS
------------------------------------------------------------ */

.planyo-shell a {
    color: #078895 !important;

    font-weight: 700;

    text-decoration: none;
}


.planyo-shell a:hover {
    color: #035e68 !important;
}


/* ------------------------------------------------------------
   MAIN PLANYO PRODUCT TITLE
------------------------------------------------------------ */

.planyo-shell #planyo_content > h1,
.planyo-shell #planyo_content > h2,
.planyo-shell .planyo > h1,
.planyo-shell .planyo > h2 {
    max-width: 760px;

    margin:
        0
        0
        26px !important;

    color: #082b38 !important;

    font-family: inherit !important;

    font-size:
        clamp(
            1.55rem,
            3vw,
            2.1rem
        ) !important;

    font-weight: 800 !important;

    line-height: 1.05 !important;

    letter-spacing: -.035em !important;

    text-align: left !important;
}


/* ------------------------------------------------------------
   SECTION TITLES
------------------------------------------------------------ */

.planyo-shell h1,
.planyo-shell h2,
.planyo-shell h3,
.planyo-shell h4,
.planyo-shell h5 {
    color: #082b38 !important;

    font-family: inherit !important;
}


.planyo-shell h2,
.planyo-shell h3 {
    margin:
        34px
        0
        15px;

    font-weight: 800 !important;

    letter-spacing: -.025em;
}


.planyo-shell h2 {
    font-size: 1.55rem !important;
}


.planyo-shell h3 {
    font-size: 1.25rem !important;
}


/* ------------------------------------------------------------
   LABELS
------------------------------------------------------------ */

.planyo-shell label,
.planyo-shell .control-label {
    display: block;

    margin-bottom: 6px;

    color: #166a75 !important;

    font-family: inherit !important;

    font-size: .82rem !important;

    font-weight: 750 !important;
}


/* ------------------------------------------------------------
   INPUTS
------------------------------------------------------------ */

.planyo-shell input[type="text"],
.planyo-shell input[type="email"],
.planyo-shell input[type="tel"],
.planyo-shell input[type="number"],
.planyo-shell input[type="password"],
.planyo-shell input[type="date"],
.planyo-shell select,
.planyo-shell textarea,
.planyo-shell .form-control {
    width: 100%;

    min-height: 48px;

    padding:
        10px
        13px;

    border:
        1px solid
        #cad8da !important;

    border-radius:
        12px !important;

    outline: none !important;

    background:
        #fbfcfc !important;

    color:
        #082b38 !important;

    font-family:
        inherit !important;

    font-size:
        .93rem !important;

    box-shadow:
        none !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.planyo-shell textarea {
    min-height: 120px;

    resize: vertical;
}


.planyo-shell input:focus,
.planyo-shell select:focus,
.planyo-shell textarea:focus,
.planyo-shell .form-control:focus {
    border-color:
        #0795a1 !important;

    background:
        #fff !important;

    box-shadow:
        0 0 0 4px
        rgba(7,149,161,.10) !important;
}


/* ------------------------------------------------------------
   CHECKBOXES / RADIO
------------------------------------------------------------ */

.planyo-shell input[type="checkbox"],
.planyo-shell input[type="radio"] {
    width: 17px;
    height: 17px;

    margin-right: 6px;

    accent-color: #078895;
}


/* ------------------------------------------------------------
   HELP / DESCRIPTION TEXT
------------------------------------------------------------ */

.planyo-shell small,
.planyo-shell .help-block,
.planyo-shell .help-inline {
    color:
        #6d858b !important;

    font-family:
        inherit !important;

    font-size:
        .76rem !important;
}


.planyo-shell p {
    color:
        #314f57;

    font-family:
        inherit !important;
}


/* ------------------------------------------------------------
   BOOTSTRAP GRID CLEANUP
------------------------------------------------------------ */

.planyo-shell .row {
    margin-right: -7px !important;
    margin-left: -7px !important;
}


.planyo-shell [class*="col-"] {
    padding-right: 7px !important;
    padding-left: 7px !important;
}


/* ------------------------------------------------------------
   BUTTONS
------------------------------------------------------------ */

.planyo-shell .btn,
.planyo-shell button,
.planyo-shell input[type="button"],
.planyo-shell input[type="submit"] {
    min-height: 44px;

    padding:
        9px
        17px;

    border-radius:
        999px !important;

    font-family:
        inherit !important;

    font-size:
        .82rem !important;

    font-weight:
        800 !important;

    line-height:
        1.1 !important;

    box-shadow:
        none !important;

    transition:
        transform .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.planyo-shell .btn:hover,
.planyo-shell button:hover,
.planyo-shell input[type="button"]:hover,
.planyo-shell input[type="submit"]:hover {
    transform:
        translateY(-1px);
}


/* Primary actions */

.planyo-shell .btn-primary,
.planyo-shell input[type="submit"],
.planyo-shell button[type="submit"] {
    border-color:
        #ffd54a !important;

    background:
        #ffd54a !important;

    color:
        #082b38 !important;

    box-shadow:
        0 8px 24px
        rgba(255,213,74,.20) !important;
}


.planyo-shell .btn-primary:hover,
.planyo-shell input[type="submit"]:hover,
.planyo-shell button[type="submit"]:hover {
    border-color:
        #ffca19 !important;

    background:
        #ffca19 !important;
}


/* Secondary actions */

.planyo-shell .btn-default,
.planyo-shell .btn-secondary {
    border:
        1px solid
        #c8d7da !important;

    background:
        #fff !important;

    color:
        #087f8b !important;
}


/* ------------------------------------------------------------
   REMOVE THE OLD ORANGE PLANYO LOOK
------------------------------------------------------------ */

.planyo-shell
[style*="background-color: rgb(255, 80"],
.planyo-shell
[style*="background-color:#ff"],
.planyo-shell
[style*="background:#ff"] {
    border-color:
        #ffd54a !important;

    background:
        #ffd54a !important;

    color:
        #082b38 !important;
}


/* ------------------------------------------------------------
   WIZARD / BOOKING STEPS
------------------------------------------------------------ */

.planyo-shell .steps,
.planyo-shell .step-container,
.planyo-shell .wizard,
.planyo-shell .wizard-steps {
    margin:
        15px
        0
        30px !important;
}


.planyo-shell [class*="step"] {
    font-family:
        inherit !important;
}


.planyo-shell [class*="step"] a,
.planyo-shell [class*="step"] span {
    font-weight:
        700;
}


/*
   Common Planyo/Bootstrap step circles.
*/

.planyo-shell .circle,
.planyo-shell .step-circle,
.planyo-shell [class*="circle"] {
    border-radius:
        50% !important;
}


/* ------------------------------------------------------------
   CALENDAR CONTAINER
------------------------------------------------------------ */

.planyo-shell .calendar,
.planyo-shell [class*="calendar"] {
    font-family:
        inherit !important;
}


.planyo-shell table {
    max-width:
        100%;

    border-collapse:
        separate !important;

    border-spacing:
        2px !important;

    background:
        transparent !important;
}


/*
   Calendar headers.
*/

.planyo-shell table th {
    padding:
        8px 5px !important;

    border:
        0 !important;

    background:
        #edf5f5 !important;

    color:
        #557178 !important;

    font-family:
        inherit !important;

    font-size:
        .72rem !important;

    font-weight:
        800 !important;

    text-align:
        center !important;
}


/*
   Calendar day cells.
*/

.planyo-shell table td {
    border:
        1px solid
        #e2e9ea !important;

    background:
        #fff;

    font-family:
        inherit !important;
}


/*
   Bookable calendar slots.
*/

.planyo-shell table td a {
    border-radius:
        6px !important;

    font-family:
        inherit !important;
}


/* ------------------------------------------------------------
   CALENDAR CONTROLS
------------------------------------------------------------ */

.planyo-shell .btn-group {
    display:
        inline-flex;

    overflow:
        hidden;

    border-radius:
        10px;
}


.planyo-shell .btn-group > .btn {
    margin:
        0 !important;

    border-radius:
        0 !important;
}


.planyo-shell .btn-group > .btn:first-child {
    border-radius:
        10px
        0
        0
        10px !important;
}


.planyo-shell .btn-group > .btn:last-child {
    border-radius:
        0
        10px
        10px
        0 !important;
}


/* ------------------------------------------------------------
   SELECTED / ACTIVE CALENDAR ELEMENTS
------------------------------------------------------------ */

.planyo-shell .active,
.planyo-shell .selected {
    border-color:
        #087f8b !important;
}


/* ------------------------------------------------------------
   FORM SECTIONS
------------------------------------------------------------ */

.planyo-shell .form-group {
    margin-bottom:
        18px !important;
}


.planyo-shell hr {
    margin:
        30px
        0;

    border:
        0;

    border-top:
        1px solid
        #e2e9ea;
}


/* ------------------------------------------------------------
   NOTES / ALERTS
------------------------------------------------------------ */

.planyo-shell .alert {
    padding:
        14px
        16px;

    border:
        0 !important;

    border-radius:
        13px !important;

    font-family:
        inherit !important;
}


.planyo-shell .alert-info {
    background:
        #e9f7f8 !important;

    color:
        #175c65 !important;
}


.planyo-shell .alert-warning {
    background:
        #fff7d9 !important;

    color:
        #645723 !important;
}


.planyo-shell .alert-danger {
    background:
        #fff0ed !important;

    color:
        #8b382d !important;
}


/* ------------------------------------------------------------
   RED WARNING TEXT
------------------------------------------------------------ */

.planyo-shell font[color="red"],
.planyo-shell .text-danger,
.planyo-shell [style*="color:red"],
.planyo-shell [style*="color: red"] {
    color:
        #d94a3f !important;
}


/* ------------------------------------------------------------
   CART
------------------------------------------------------------ */

.planyo-shell #planyo_cart_widget,
.planyo-shell .planyo_cart_widget {
    border-radius:
        999px;

    font-family:
        inherit !important;
}


/* ------------------------------------------------------------
   RATE BOX
------------------------------------------------------------ */

.planyo-shell [class*="rate"],
.planyo-shell [id*="rate"] {
    font-family:
        inherit !important;
}


.planyo-shell [class*="rate"]
h2,
.planyo-shell [id*="rate"]
h2 {
    font-size:
        1.2rem !important;
}


/* ------------------------------------------------------------
   PLANYO SHELL SPACING
------------------------------------------------------------ */

.planyo-shell #planyo_content {
    max-width:
        100%;

    margin:
        0 auto;
}


.planyo-shell #planyo_content > div {
    max-width:
        100%;
}


/* ------------------------------------------------------------
   DESKTOP: LIMIT CALENDAR WIDTH A LITTLE
------------------------------------------------------------ */

@media (min-width: 801px) {

    .planyo-shell table {
        font-size:
            .85rem;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 700px) {

    .planyo-shell {
        padding:
            20px
            15px;

        border-radius:
            20px;
    }


    .planyo-shell #planyo_content > h1,
    .planyo-shell #planyo_content > h2,
    .planyo-shell .planyo > h1,
    .planyo-shell .planyo > h2 {
        margin-bottom:
            20px !important;

        font-size:
            1.35rem !important;
    }


    .planyo-shell h2 {
        font-size:
            1.35rem !important;
    }


    .planyo-shell h3 {
        font-size:
            1.15rem !important;
    }


    /*
     * Bootstrap columns from Planyo become full-width.
     */

    .planyo-shell [class*="col-xs-"],
    .planyo-shell [class*="col-sm-"],
    .planyo-shell [class*="col-md-"],
    .planyo-shell [class*="col-lg-"] {
        width:
            100% !important;

        max-width:
            100% !important;

        float:
            none !important;
    }


    .planyo-shell .row {
        margin-right:
            0 !important;

        margin-left:
            0 !important;
    }


    .planyo-shell [class*="col-"] {
        padding-right:
            0 !important;

        padding-left:
            0 !important;
    }


    .planyo-shell input[type="text"],
    .planyo-shell input[type="email"],
    .planyo-shell input[type="tel"],
    .planyo-shell input[type="number"],
    .planyo-shell input[type="password"],
    .planyo-shell input[type="date"],
    .planyo-shell select,
    .planyo-shell textarea,
    .planyo-shell .form-control {
        min-height:
            50px;

        font-size:
            16px !important;
    }


    /*
     * Calendar must remain usable without breaking the page.
     */

    .planyo-shell table {
        min-width:
            560px;
    }


    .planyo-shell [class*="calendar"],
    .planyo-shell .calendar {
        overflow-x:
            auto;

        -webkit-overflow-scrolling:
            touch;
    }


    .planyo-shell .btn-group {
        max-width:
            100%;

        overflow-x:
            auto;
    }


    .planyo-shell .btn {
        white-space:
            nowrap;
    }

}


/* ============================================================
   POSEIDON PLANYO CALENDAR V5
============================================================ */


/* ------------------------------------------------------------
   CALENDAR WRAPPER
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-wrapper {
    width: 100% !important;

    max-width: 680px !important;

    margin-right: auto !important;
    margin-left: 0 !important;

    overflow: visible !important;
}


/* ------------------------------------------------------------
   BOTH HEADER + BODY TABLES
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-table {
    width: 100% !important;

    min-width: 0 !important;
    max-width: none !important;

    margin:
        0 !important;

    border-collapse:
        separate !important;

    border-spacing:
        3px !important;

    table-layout:
        fixed !important;
}


/*
 * Every calendar column = exactly 1/7.
 */

.planyo-shell
.poseidon-calendar-table
th,

.planyo-shell
.poseidon-calendar-table
td {
    width:
        14.285714% !important;

    min-width:
        0 !important;

    max-width:
        14.285714% !important;
}


/* ------------------------------------------------------------
   WEEKDAY HEADER
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-header-table
th {
    height:
        38px !important;

    padding:
        7px
        3px !important;

    border:
        0 !important;

    background:
        #edf5f5 !important;

    color:
        #315a63 !important;

    font-size:
        .7rem !important;

    font-weight:
        900 !important;

    text-align:
        center !important;
}


/* ------------------------------------------------------------
   CALENDAR CELLS
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-body-table
td {
    height:
        auto !important;

    min-height:
        0 !important;

    padding:
        4px !important;

    overflow:
        hidden !important;

    vertical-align:
        top !important;

    border:
        1px solid
        #d8e4e6 !important;

    background:
        #fff !important;
}


/* ------------------------------------------------------------
   DAY NUMBER
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-day {
    width:
        auto !important;

    min-width:
        0 !important;

    min-height:
        0 !important;

    display:
        inline-block !important;

    margin:
        0 !important;

    padding:
        2px
        3px !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    color:
        #087887 !important;

    font-size:
        .7rem !important;

    font-weight:
        900 !important;

    line-height:
        1 !important;

    box-shadow:
        none !important;
}


/* ------------------------------------------------------------
   BOOKABLE SLOT
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-slot {
    width:
        100% !important;

    min-width:
        0 !important;

    min-height:
        31px !important;

    display:
        block !important;

    margin:
        3px
        0 !important;

    padding:
        5px
        6px !important;

    overflow:
        hidden !important;

    border:
        0 !important;

    border-radius:
        7px !important;

    background:
        #087f9b !important;

    color:
        #fff !important;

    font-size:
        .7rem !important;

    font-weight:
        900 !important;

    line-height:
        1.12 !important;

    text-align:
        left !important;

    white-space:
        normal !important;

    box-shadow:
        none !important;
}


.planyo-shell
.poseidon-calendar-slot:hover {
    background:
        #05667c !important;

    color:
        #fff !important;
}


/* ------------------------------------------------------------
   TOOLBAR BUTTONS
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-toolbar-button {
    float:
        none !important;

    margin:
        0
        8px
        10px
        0 !important;

    border-radius:
        999px !important;
}


/*
 * Bootstrap / Planyo normally uses negative margins
 * to visually join adjacent buttons.
 */

.planyo-shell
.btn-group
> .btn
+ .btn,

.planyo-shell
.btn-group
> button
+ button,

.planyo-shell
.btn-group
> button
+ .btn,

.planyo-shell
.btn-group
> .btn
+ button {
    margin-left:
        0 !important;
}


.planyo-shell
.btn-group {
    overflow:
        visible !important;
}


/* ------------------------------------------------------------
   LANGUAGE SELECT
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-toolbar-button
+ select,

.planyo-shell
.btn-group
+ select {
    margin-left:
        8px !important;
}


/* ------------------------------------------------------------
   ADD TO CART
------------------------------------------------------------ */

.planyo-shell
input[type="submit"],

.planyo-shell
button[type="submit"],

.planyo-shell
.btn-primary {
    min-width:
        210px !important;

    min-height:
        56px !important;

    padding:
        0
        28px !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    background:
        #ffd54a !important;

    color:
        #062b39 !important;

    font-size:
        1rem !important;

    font-weight:
        900 !important;

    box-shadow:
        0 10px 28px
        rgba(255,213,74,.22) !important;
}


/* ------------------------------------------------------------
   MOBILE
------------------------------------------------------------ */

@media (max-width: 700px) {

    .planyo-shell
    .poseidon-calendar-wrapper {
        max-width:
            100% !important;

        overflow-x:
            auto !important;

        -webkit-overflow-scrolling:
            touch;
    }


    .planyo-shell
    .poseidon-calendar-table {
        width:
            620px !important;

        min-width:
            620px !important;

        max-width:
            620px !important;
    }


    .planyo-shell
    .poseidon-calendar-toolbar-button {
        margin:
            0
            6px
            8px
            0 !important;
    }


    .planyo-shell
    input[type="submit"],

    .planyo-shell
    button[type="submit"],

    .planyo-shell
    .btn-primary {
        width:
            100% !important;

        min-width:
            0 !important;
    }

}


/* ============================================================
   POSEIDON PLANYO TOOLBAR V6
============================================================ */


/* ------------------------------------------------------------
   REMOVE UNUSED VIEWS
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-extra-view {
    display: none !important;
}


/* ------------------------------------------------------------
   RESET PLANYO / BOOTSTRAP JOINED BUTTON BEHAVIOUR
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-prev,

.planyo-shell
.poseidon-calendar-next,

.planyo-shell
.poseidon-calendar-today,

.planyo-shell
.poseidon-calendar-month {
    float: none !important;

    position: relative !important;

    width: auto !important;

    min-width: 48px !important;
    min-height: 44px !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding:
        0
        14px !important;

    border-radius:
        999px !important;

    vertical-align:
        middle !important;
}


/* ------------------------------------------------------------
   THE IMPORTANT PART:
   REAL INDIVIDUAL SPACING
------------------------------------------------------------ */

.planyo-shell
.poseidon-calendar-prev {
    margin:
        0
        10px
        10px
        0 !important;
}


.planyo-shell
.poseidon-calendar-next {
    margin:
        0
        16px
        10px
        0 !important;
}


.planyo-shell
.poseidon-calendar-today {
    margin:
        0
        34px
        10px
        0 !important;
}


.planyo-shell
.poseidon-calendar-month {
    margin:
        0
        24px
        10px
        0 !important;
}


/*
 * Kill Bootstrap's negative margin even if the
 * buttons remain inside a .btn-group.
 */

.planyo-shell
.btn-group
> .poseidon-calendar-prev
+ .poseidon-calendar-next,

.planyo-shell
.btn-group
> .poseidon-calendar-next
+ .poseidon-calendar-today,

.planyo-shell
.btn-group
> .poseidon-calendar-today
+ .poseidon-calendar-month {
    margin-left:
        0 !important;
}


/* ------------------------------------------------------------
   LANGUAGE
------------------------------------------------------------ */

.planyo-shell
select {
    vertical-align:
        middle !important;
}


@media (min-width: 701px) {

    .planyo-shell
    select {
        max-width:
            230px !important;

        margin-bottom:
            10px !important;
    }

}


/* ------------------------------------------------------------
   MOBILE
------------------------------------------------------------ */

@media (max-width: 700px) {

    .planyo-shell
    .poseidon-calendar-prev {
        margin-right:
            8px !important;
    }


    .planyo-shell
    .poseidon-calendar-next {
        margin-right:
            12px !important;
    }


    .planyo-shell
    .poseidon-calendar-today {
        margin-right:
            18px !important;
    }


    .planyo-shell
    .poseidon-calendar-month {
        margin-right:
            0 !important;
    }


    .planyo-shell
    select {
        display:
            block !important;

        width:
            100% !important;

        max-width:
            100% !important;

        margin:
            4px
            0
            12px !important;
    }

}


/* ============================================================
   POSEIDON × PLANYO — SHOPPING CART
============================================================ */


/* ------------------------------------------------------------
   CART TITLE
------------------------------------------------------------ */

.planyo-shell
.poseidon-cart-title {
    margin:
        25px
        0
        30px !important;

    color:
        #082b38 !important;

    font-family:
        inherit !important;

    font-size:
        clamp(
            2rem,
            4vw,
            3.2rem
        ) !important;

    font-weight:
        850 !important;

    line-height:
        1 !important;

    letter-spacing:
        -.05em !important;

    text-align:
        left !important;
}


/* ------------------------------------------------------------
   PRODUCT IMAGE
------------------------------------------------------------ */

.planyo-shell.poseidon-cart-step
img {
    border-radius:
        14px !important;
}


/* ------------------------------------------------------------
   DIVIDERS
------------------------------------------------------------ */

.planyo-shell.poseidon-cart-step
hr {
    margin:
        28px
        0 !important;

    border:
        0 !important;

    border-top:
        1px solid
        #dfe7e8 !important;
}


/* ------------------------------------------------------------
   PRODUCT TEXT
------------------------------------------------------------ */

.planyo-shell.poseidon-cart-step
strong,

.planyo-shell.poseidon-cart-step
b {
    color:
        #082b38;
}


/* ------------------------------------------------------------
   TOTAL
------------------------------------------------------------ */

.planyo-shell
.poseidon-cart-total {
    padding:
        10px
        16px !important;

    border-radius:
        12px !important;

    background:
        #f1f6f5 !important;

    color:
        #082b38 !important;

    font-size:
        1.2rem !important;

    font-weight:
        900 !important;
}


/* ------------------------------------------------------------
   CHECKOUT — PRIMARY CTA
------------------------------------------------------------ */

.planyo-shell
.poseidon-cart-checkout {
    min-width:
        220px !important;

    min-height:
        56px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        0
        26px !important;

    margin:
        12px
        12px
        0
        0 !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    background:
        #ffd54a !important;

    color:
        #082b38 !important;

    font-family:
        inherit !important;

    font-size:
        .95rem !important;

    font-weight:
        900 !important;

    box-shadow:
        0 10px 28px
        rgba(255,213,74,.25) !important;
}


.planyo-shell
.poseidon-cart-checkout:hover {
    background:
        #ffca22 !important;

    color:
        #082b38 !important;

    transform:
        translateY(-1px);
}


/* ------------------------------------------------------------
   CONTINUE SHOPPING — SECONDARY
------------------------------------------------------------ */

.planyo-shell
.poseidon-cart-continue {
    min-height:
        56px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        0
        22px !important;

    margin:
        12px
        0
        0 !important;

    border:
        1px solid
        #b9cdd1 !important;

    border-radius:
        999px !important;

    background:
        #ffffff !important;

    color:
        #087f8b !important;

    font-family:
        inherit !important;

    font-size:
        .88rem !important;

    font-weight:
        850 !important;

    box-shadow:
        none !important;
}


.planyo-shell
.poseidon-cart-continue:hover {
    border-color:
        #087f8b !important;

    background:
        #eef7f7 !important;

    color:
        #065f68 !important;
}


/* ------------------------------------------------------------
   REMOVE — SMALL SUBTLE ACTION
------------------------------------------------------------ */

.planyo-shell
.poseidon-cart-remove {
    min-width:
        0 !important;

    min-height:
        38px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    padding:
        0
        14px !important;

    border:
        1px solid
        #e6aaaa !important;

    border-radius:
        999px !important;

    background:
        #fff5f4 !important;

    color:
        #b64038 !important;

    font-family:
        inherit !important;

    font-size:
        .76rem !important;

    font-weight:
        800 !important;

    box-shadow:
        none !important;
}


.planyo-shell
.poseidon-cart-remove:hover {
    border-color:
        #d86158 !important;

    background:
        #ffebe8 !important;

    color:
        #9e2e27 !important;
}


/* ------------------------------------------------------------
   STEP INDICATOR
------------------------------------------------------------ */

.planyo-shell.poseidon-cart-step
[class*="step"] {
    font-family:
        inherit !important;
}


/* ------------------------------------------------------------
   MOBILE
------------------------------------------------------------ */

@media (max-width: 700px) {

    .planyo-shell
    .poseidon-cart-title {
        font-size:
            2rem !important;
    }


    .planyo-shell
    .poseidon-cart-checkout,

    .planyo-shell
    .poseidon-cart-continue {
        width:
            100% !important;

        min-width:
            0 !important;

        margin:
            8px
            0 !important;
    }


    .planyo-shell
    .poseidon-cart-remove {
        min-height:
            36px !important;
    }

}



/* ============================================================
   POSEIDON × PLANYO — CHECKOUT V2
============================================================ */


/* ------------------------------------------------------------
   BASE
------------------------------------------------------------ */

.planyo-shell.poseidon-checkout-step {
    padding:
        38px !important;

    background:
        #ffffff !important;
}


.planyo-shell.poseidon-checkout-step
> * {
    background-color:
        transparent;
}


/*
 * Safety:
 * if an old Planyo wrapper accidentally retains our warning
 * class, never paint the whole checkout yellow.
 */

.planyo-shell
.poseidon-payment-warning:has(
    .poseidon-payment-method
) {
    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;
}


/* ------------------------------------------------------------
   INTRODUCTION
------------------------------------------------------------ */

.planyo-shell
.poseidon-checkout-intro {
    max-width:
        720px !important;

    margin:
        20px
        0
        14px !important;

    color:
        #38565e !important;

    font-size:
        .95rem !important;

    line-height:
        1.6 !important;
}


/* ------------------------------------------------------------
   IMPORTANT NOTICE
------------------------------------------------------------ */

.planyo-shell
.poseidon-payment-warning {
    width:
        fit-content !important;

    max-width:
        720px !important;

    display:
        block !important;

    margin:
        0
        0
        26px !important;

    padding:
        11px
        14px !important;

    border:
        1px solid
        #d5e5e7 !important;

    border-radius:
        11px !important;

    background:
        #eef7f7 !important;

    color:
        #164e58 !important;

    font-size:
        .79rem !important;

    font-weight:
        800 !important;

    line-height:
        1.4 !important;
}


/* ------------------------------------------------------------
   PAYMENT METHOD CARDS
------------------------------------------------------------ */

.planyo-shell
.poseidon-payment-method {
    width:
        100% !important;

    max-width:
        500px !important;

    min-height:
        70px !important;

    display:
        flex !important;

    align-items:
        center !important;

    gap:
        13px !important;

    margin:
        9px
        0 !important;

    padding:
        12px
        16px !important;

    border:
        1px solid
        #d7e2e4 !important;

    border-radius:
        15px !important;

    background:
        #ffffff !important;

    color:
        #082b38 !important;

    box-shadow:
        0 5px 16px
        rgba(3,30,43,.035) !important;

    cursor:
        pointer;
}


.planyo-shell
.poseidon-payment-method:hover {
    border-color:
        #85bcc2 !important;

    background:
        #f9fcfc !important;
}


.planyo-shell
.poseidon-payment-method:has(
    input[type="radio"]:checked
) {
    border-color:
        var(--poseidon-brand-blue-dark) !important;

    background:
        #f1fbfb !important;

    box-shadow:
        0 0 0 3px
        rgba(7,147,160,.08) !important;
}


/* Radio */

.planyo-shell
.poseidon-payment-method
input[type="radio"] {
    width:
        19px !important;

    height:
        19px !important;

    flex:
        0
        0
        auto !important;

    margin:
        0 !important;

    accent-color:
        #078895;
}


/* Payment text */

.planyo-shell
.poseidon-payment-method {
    font-size:
        .85rem !important;

    font-weight:
        800 !important;
}


/* ------------------------------------------------------------
   PAYMENT LOGOS — MUCH SMALLER
------------------------------------------------------------ */

.planyo-shell
.poseidon-payment-logo {
    width:
        auto !important;

    height:
        auto !important;

    margin-left:
        auto !important;

    border-radius:
        0 !important;

    object-fit:
        contain !important;
}


.planyo-shell
.poseidon-payment-logo-stripe {
    max-width:
        88px !important;

    max-height:
        29px !important;
}


.planyo-shell
.poseidon-payment-logo-paypal {
    max-width:
        105px !important;

    max-height:
        30px !important;
}


/* ------------------------------------------------------------
   PAY CTA
------------------------------------------------------------ */

.planyo-shell
.poseidon-checkout-pay {
    min-width:
        250px !important;

    min-height:
        58px !important;

    display:
        inline-flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    margin:
        24px
        0
        30px !important;

    padding:
        0
        30px !important;

    border:
        0 !important;

    border-radius:
        999px !important;

    background:
        #ffd54a !important;

    color:
        #082b38 !important;

    font-family:
        inherit !important;

    font-size:
        1.02rem !important;

    font-weight:
        900 !important;

    letter-spacing:
        -.015em !important;

    box-shadow:
        0 11px 28px
        rgba(255,213,74,.23) !important;
}


.planyo-shell
.poseidon-checkout-pay:hover {
    background:
        #ffca22 !important;

    color:
        #082b38 !important;

    transform:
        translateY(-1px);
}


/* ------------------------------------------------------------
   RESERVATION SUMMARY
------------------------------------------------------------ */

.planyo-shell
.poseidon-checkout-table {
    width:
        100% !important;

    max-width:
        none !important;

    margin:
        8px
        0
        0 !important;

    border:
        1px solid
        #dce6e7 !important;

    border-radius:
        14px !important;

    border-collapse:
        separate !important;

    border-spacing:
        0 !important;

    overflow:
        hidden;

    background:
        #ffffff !important;

    font-size:
        .8rem !important;
}


.planyo-shell
.poseidon-checkout-table
th {
    padding:
        12px !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        #dce6e7 !important;

    background:
        #edf6f5 !important;

    color:
        #08737f !important;

    font-size:
        .66rem !important;

    font-weight:
        900 !important;

    letter-spacing:
        .03em;

    text-align:
        left !important;

    text-transform:
        uppercase;
}


.planyo-shell
.poseidon-checkout-table
td {
    width:
        auto !important;

    height:
        auto !important;

    padding:
        13px
        12px !important;

    border:
        0 !important;

    border-bottom:
        1px solid
        #e7eeee !important;

    background:
        #ffffff !important;

    color:
        #26464e !important;

    font-size:
        .8rem !important;

    line-height:
        1.45 !important;

    vertical-align:
        top !important;
}


.planyo-shell
.poseidon-checkout-table
tr:last-child
td {
    border-bottom:
        0 !important;
}


.planyo-shell
.poseidon-checkout-table
td:last-child {
    color:
        #082b38 !important;

    font-weight:
        900 !important;

    white-space:
        nowrap;
}


/* ------------------------------------------------------------
   MOBILE
------------------------------------------------------------ */

@media (max-width: 700px) {

    .planyo-shell.poseidon-checkout-step {
        padding:
            21px
            15px !important;
    }


    .planyo-shell
    .poseidon-payment-warning {
        width:
            100% !important;
    }


    .planyo-shell
    .poseidon-payment-method {
        max-width:
            none !important;

        min-height:
            66px !important;
    }


    .planyo-shell
    .poseidon-payment-logo-stripe {
        max-width:
            72px !important;
    }


    .planyo-shell
    .poseidon-payment-logo-paypal {
        max-width:
            90px !important;
    }


    .planyo-shell
    .poseidon-checkout-pay {
        width:
            100% !important;

        min-width:            0 !important;
    }


    .planyo-shell
    .poseidon-checkout-table {
        min-width:
            680px !important;
    }

}

/* ============================================================
   STRIPE — EXACT LOGO REPLACEMENT
============================================================ */

.planyo-shell #stripe_checkout_logo {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;

    display: inline-flex !important;
    align-items: center !important;

    margin-left: auto !important;

    background: none !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;
}

.planyo-shell #stripe_checkout_logo::after {
    content: "stripe";

    color: #635bff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 2.35rem !important;
    font-weight: 800 !important;

    line-height: 1 !important;
    letter-spacing: -0.07em !important;

    text-transform: lowercase !important;
    white-space: nowrap !important;
}

@media (max-width: 700px) {
    .planyo-shell #stripe_checkout_logo::after {
        font-size: 2rem !important;
    }
}

/* ============================================================
   PAYMENT LOGOS — FINAL ALIGNMENT
============================================================ */

.planyo-shell .poseidon-payment-method {
    position: relative !important;
}

/* Stripe */
.planyo-shell #stripe_checkout_logo {
    position: absolute !important;

    left: 190px !important;
    top: 50% !important;

    margin: 0 !important;

    transform: translateY(-50%) !important;
}

/* PayPal */
.planyo-shell .poseidon-payment-logo-paypal {
    position: absolute !important;

    left: 190px !important;
    top: 50% !important;

    margin: 0 !important;

    transform: translateY(-50%) !important;
}

/* Stripe wordmark */
.planyo-shell #stripe_checkout_logo::after {
    font-size: 2.15rem !important;
}

/* PayPal logo */
.planyo-shell .poseidon-payment-logo-paypal {
    max-width: 150px !important;
    max-height: 36px !important;
}
