@media (min-width: 992px) {
    .offcanvas.offcanvas-end {
        width: 700px;
    }
}
.border-none{
    border-radius:0 !important;
}
#offcanvasShoppingCart .offcanvas-body,
#offcanvasShoppingCart .offcanvas-footer {
    background-color: #f5f6f8;
}
.select-quantity {
    background-color: #f5f6f8;
    max-width: 6.5rem;
}
#calendar-table {
    width: 100%;
    background: #fff;
    margin-bottom: 1rem;
}
#calendar-table td {
    text-align: center; 
    vertical-align: middle;
}
#calendar-table tbody td {
    padding-bottom: 0.5rem;
}
#calendar-table .calendar-month-name {
    font-size: 14px;
    padding: 5px 0;
    font-weight: bold;
}
#calendar-table .calendar-day-off {
    color: #ccc;
}

#calendar-table .calendar-day-on {
    text-decoration: none;
    color: #fff;
    background-color: #39cb75;
}

#calendar-table .calendar-day-special {
    text-decoration: none;
    color: #fff;
    background-color: #82cb39;
}

#destiny-period label{
    cursor: pointer;
    width: 100%;
    padding: 1rem;
}

#calendar-table .calendar-week-name {
    padding-bottom: 10px;
}

/*
#shopping-cart-products .cartDel {
    
}
#destiny-period .destiny-periods-line {
    cursor: pointer;
    padding: 0.2rem 2.5rem;
    border-bottom: 2px solid #ccc;
}
#destiny-period .destiny-periods-line:last-child {
    border: 0;
}
#destiny-period .destiny-periods-line:hover {
    background: #cff4fc;
} */

/*
#destiny-period .destiny-periods-line label {
    display: block;
    padding: 0.5rem;
    padding-top: 0.8rem;
}
#destiny-period .destiny-periods-line input[type="radio"]{
    width: 1.2em;
    height: 1.2em;
    margin-top: 8%;
    border-color: green;
} */

.bgAlertPulse {
    background-color: #b02a37;
    color: #fff;
}
.bgAlertPulseToggle {
    background-color: #f1aeb5 !important;
    color: #b02a37;
}

            #x_calendar-table {
                margin: 0 auto;
                border: 1px solid #CCC;
                -webkit-border-radius: 0.25rem;
                -moz-border-radius: 0.25rem;
                        border-radius: 0.25rem;
                text-align: center;
            }
            #x_calendar-table thead td {
                background: red !important;
                display: none;
            }
            #x_calendar-table .calendar-month-name {
                font: bold 12px verdana;
                padding: 5px 5px;
            }
            #x_calendar-table .calendar-week-name {
                background: #ccc !important;
                padding: 3px 10px;
                font-size: small;
                text-align: center;
            }
            #x_calendar-table .calendar-day-off {
                color: #ccc;
            }

            #x_calendar-table .calendar-day-on,
            #x_calendar-table .calendar-day-special {
                text-decoration: none;
                /* margin: 0.15rem; */
                color: #fff;
            }

            #x_calendar-table .calendar-day-on {
                background-color: #39cb75;
            }
                #x_calendar-table .calendar-day-on:hover{
                    background-color: #86bfa0;
                    color: #fff;
                }

            #x_calendar-table .calendar-day-special {
                background-color: yellow !important;
            }
                #x_calendar-table .calendar-day-special:hover {
                    background-color: red !important;
                }

/* Form */
/* Acessory */
.center-pills {
    display: flex;
    justify-content: center;
}
.nav-custom .nav-link {
    border-radius: 0.95rem;
    border: 1px solid #000;
    margin-right: 0.5rem;
}
.nav-custom .nav-link {
    color: #000;
    padding: 0.15rem 1.5rem;
}
.nav-custom .nav-link:focus,
.nav-custom .nav-link:hover {
    color: #fff;
    background-color: #000;
}
.nav-custom .nav-link.active,
.nav-custom .show>.nav-link {
    color: #fff;
    background-color: #000;
}

.acessoryItemCarousel .image {
    height: 150px;
    width: 100%;
    position: relative;
    text-align: center;
}
.acessoryItemCarousel .image img{
    max-height: 100%;
    max-width: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.acessoryItemCarousel .item-name {
    height: 40px;
    overflow-y: hidden;
    margin-bottom: 0;
}
.acessoryItemCarousel .item-name a{
    color: #000;
    font-size: small;
    text-decoration: none;
}
.acessoryItemCarousel .item-price {
    font-size: small;
}

/* Base*/
#bg-form {
    background: #f5f6f8;
    min-height: 500px;
}
/* .indiceBG{
    background: #fff;
} */
/* .sections {
    background: #fff !important;
} */
h6 {
    font-size: 1rem!important;
}
.bgAlertPulseToggle {
    background-color: #fff;
    color: #000 !important;
}
.section-load {
    text-align: center;
    margin-left: 1rem;
}
/* Form */
.form-switch-custom .form-check-input {
    width: 3em;
    margin-left: -3.5em;
    height: 1.5em;
}
.form-floating_textarea > .form-control:focus ~ label,
.form-floating_textarea > .form-control:not(:placeholder-shown) ~ label,
.form-floating_textarea > .form-select ~ label {
    opacity: 1;
    background-color: #fff;
    height: auto;
    padding: 0px 0px 0px 10px;
    width: 89%;
    transform: scale(0.982) translateY(0.045rem) translateX(0.1rem);
    border-radius: 5px 0 0 0;
}
.form-floating>.form-select {
    padding-top: 0.6rem;
}
.form-floating_select>.form-control,
.form-floating_select>.form-control-plaintext,
.form-floating_select>.form-select {
    height: calc(2.5rem + calc(var(--bs-border-width)* 2));
    line-height: 1.25;
}

.bgDisabled{
    background-color: #e9ecef;
    cursor: not-allowed;
}

.form-floating>label {
    border: 0 transparent;
}
.accordion-button:not(.collapsed){
    background-color: #fff;
    color: #000;
}
.disabledInput {
    background-color: #e9ecef;
    opacity: 1;
    cursor: not-allowed;
}

/* Sections */
.sectionWait {
    background:#e9ecef !important;
}

/* Radio */
.radioOptionBG label {
    cursor: pointer;
    width: 100%;
    padding: 1rem 0.5rem;
    font-size: 0.85rem;
}
.radioOptionBG div:hover {
    background-color: #efefef !important;
}
/* ...*/

.cart-item img{
    max-height: 100px;
}
.stepOptional{
    /* width: 250px; */
    -webkit-border-top-right-radius: 5px;
    -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.form-control-custom,
.form-select-custom {
    background-color: #f1f3f4!important;
    /* padding: 0.575rem 0.75rem; */
    padding: 0.35rem 0.75rem;
    border-radius: 0.95rem;
}
.form-control-custom:focus,
.form-select-custom:focus {
    background-color: #fff!important;
}
.creditcard_brands img {
    height: 20px;
    width: auto;
}

/**
* Delivery
**/

@keyframes pulse-green { 0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7); } 70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(25, 135, 84, 0); } 100% { transform: scale(1); } }
.pulse-confirm {
    /* animation: pulse-green 2s infinite;  */
    /* Plays 3 times, takes 2 seconds per pulse, then stops */
    animation: pulse-green 2s 5 ease-in-out;
}
/* Step Transitions */
.step-container { display: none; margin-top: 20px; }
.step-active { display: block; animation: fadeIn 0.3s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Selection Cards Base */
.option-card { 
    cursor: pointer; 
    border: 2px solid #eef0f2; 
    border-radius: 12px; 
    padding: 15px; 
    transition: all 0.2s ease; 
    background: #fff; 
    height: 100%; 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
    text-align: center; 
    position: relative;
    color: #212529;
}

/* Hover State - Now more subtle, using a soft gray instead of blue */
.option-card:hover { 
    border-color: #cbd5e1; 
    background: #fcfdfe; 
    transform: translateY(-2px); 
}

/* Selected State - Unified for both normal and economy cards */
.option-card.selected, 
.option-card.border-success.selected {
    background-color: #f8fafc !important; /* Very light gray/blue tint */
    border-color: #64748b !important;    /* Solid gray-blue border */
    box-shadow: 0 0 0 1px #64748b;        /* Sharp clean outline */
    transform: translateY(-1px);
    z-index: 2;
}

/* Ensure text in selected cards remains prominent */
.option-card.selected strong,
.option-card.selected .text-success,
.option-card.selected .text-primary {
    color: #0f172a !important; /* Darker navy for better contrast */
}

/* Economy Card Specifics (when not selected) */
.option-card.border-success {
    border-color: #d1fae5; /* Very light green border for idle state */
}

/* Period Selection List */
.period-btn { margin-bottom: 10px; text-align: left; }

/* Modal and Layout */
.modal-content { border-radius: 20px; border: none; min-height: 600px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15); }
.modal-header { border-bottom: 1px solid #f1f1f1; padding: 1.5rem; }
.modal-footer { border-top: 1px solid #f1f1f1; padding: 1.2rem; }

/* Address Context */
.address-context { 
    background: #f8f9fa; 
    border-radius: 12px; 
    padding: 15px; 
    box-shadow: inset 0 0 10px rgba(0,0,0,0.02);
}

/* Distance Label - Adjusted to match the cleaner look */
.dist-label { 
    font-weight: bold; 
    color: #64748b; 
    background: #fff; 
    padding: 4px 10px; 
    border-radius: 6px; 
    font-size: 0.85rem; 
    border: 1px solid #e2e8f0;
}

/* Finished State Animation */
#state-finished {
    animation: successPulse 2s 2 forwards;
}

@keyframes successPulse {
    0% { box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.2); }
    70% { box-shadow: 0 0 0 10px rgba(25, 135, 84, 0); }
    100% { box-shadow: 0 0 0 0 rgba(25, 135, 84, 0); }
}

/* Summary Text Formatting */
#summary-text div { line-height: 1.6; }
#summary-text b { color: #212529; }

/* Mobile Adjustments */
@media (max-width: 768px) {
    .modal-content { min-height: auto; }
    .option-card { margin-bottom: 10px; padding: 12px; }
}