@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root {
    --main-blue: rgb(8, 31, 92);
    --partial-blue:rgb(8 31 92 / 60%);
   --calendar-bg: rgb(240, 240, 229);
   --light-w-bg: rgb(255 255 255 / 0%);
    --card-bg: #eff1ea;
    --body-bg: #eff1ea;
    --text-secondary: #666;
    --text-light: #888;
    --text-lighter: #999;
    --text-very-light: #ccc;
    --border-light: #ddd;
    --shadow-light: rgba(0, 0, 0, 0.1);
    --shadow-medium: rgba(0, 0, 0, 0.2);
    --shadow-blue: rgba(8, 31, 92, 0.3);
    --shadow-blue-light: rgba(30, 58, 138, 0.3);
    --shadow-blue-medium: rgba(30, 58, 138, 0.4);
    --white-overlay: rgba(255, 255, 255, 0.3);
    --white-overlay-light: rgba(255, 255, 255, 0.4);
}
#page{
    width:95%;
}
.d-flex{
    display: flex;
    justify-content: space-between;
   padding:0px 60px;

    
}
.wp-site-blocks{
    width:1300px;
}
.menu-toggle:hover, button:hover, .ast-button:hover, .ast-custom-button:hover .button:hover, .ast-custom-button:hover, input[type=reset]:hover, input[type=reset]:focus, input#submit:hover, input#submit:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus{
    
    background-color: rgb(234 240 235) !important;
    border-color: var(--main-blue) !important;
}
.justify-content-end{
    justify-content:end;
}
.p-0{
    padding:0;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ==========================================================================
   BASE STYLES
   ========================================================================== */

body {
    font-family: 'Poppins', sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

/* ==========================================================================
   TYPOGRAPHY
   ========================================================================== */
.menu-toggle, button, .ast-button, .ast-custom-button, .button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button, body .wp-block-file .wp-block-file__button{
    border-radius: 0 !important;
}
h1 {
    font-size: 3.5rem;
    font-family: 'Playfair Display', serif !important;
    color: var(--main-blue) !important;
    font-style: italic;
    font-weight: 500;
    margin-bottom: 80px;
    letter-spacing: -1px;
    text-transform: inherit !important;
}

/* ==========================================================================
   LAYOUT COMPONENTS
   ========================================================================== */

.container {
    text-align: center;
    max-width: 1400px;
    width: 100%;
    background: transparent;
    min-height: 2vh;
    margin: 0;
}
.wp-block-group{
    padding:  0 !important;
}
/* calendar page */
.booking-container .sessions-section { display: none; }
.booking-container.date-selected .sessions-section { display: block; }

/* hide prompt after date selected */
.booking-container.date-selected .info-section { display: none; }
/* Add-on item controls - removed duplicate definitions (later rules kept) */

/* Main Options - removed duplicate definitions (later rules kept) */
/* Restored: .options-container (was unique) */
.options-container {
    display: flex;
    gap: 60px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    min-height: 350px;
}





.category-card.selected {
    background-color: var(--main-blue);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px var(--shadow-blue);
}

 .category-text,
.category-card.selected .category-text {
    color: white;
}

/* Quantity Section */
.quantity-container {
    background-color: var(--body-bg);
    padding: 80px 40px;
    width: 100%;
    text-align: center;
    position: relative;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


/* Custom slider track styling */
.quantity-slider::-webkit-slider-track {
    width: 100%;
    height: 6px;
    background-color: var(--border-light);
    border-radius: 3px;
}

.quantity-slider::-moz-range-track {
    width: 100%;
    height: 6px;
    background-color: var(--border-light);
    border-radius: 3px;
    border: none;
}

/* Custom slider thumb styling */
.quantity-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--main-blue);
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.quantity-slider::-moz-range-thumb {
    height: 20px;
    width: 20px;
    border-radius: 50%;
    background: var(--main-blue);
    cursor: pointer;
    border: 2px solid white;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.form-input.error {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2) !important;
}

.field-error {
    color: #e74c3c;
    font-size: 12px;
    margin-top: 5px;
    font-weight: 500;
}

.form-input:focus {
    outline: none;
    border-color: #3498db;
    box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.2);
}

.form-input.error:focus {
    border-color: #e74c3c !important;
    box-shadow: 0 0 0 2px rgba(231, 76, 60, 0.2) !important;
}
/* Hide the slider handle div if using custom track */
.slider-handle {
    display: none;
}

/* Base calendar cell styling */
.calendar-grid td {
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
    background: white;
    border-radius: 8px;
    overflow: hidden; /* Important for line patterns */
}

.calendar-grid td.calendar-day { 
    position: relative; 
}

/* Past dates */
.calendar-grid td.past-date {
    opacity: 0.4;
    cursor: default;
}

/* Other month dates */
.calendar-grid td.other-month {
    color: var(--text-very-light);
}
/* Available dates */
.calendar-grid td.available {
    background:#eff1ea;
    color: #374151;
    border: 1px solid var(--border-color);
}
/* Selected date */
.calendar-grid td.selected {
    background-color: var(--main-blue);
    color: white;
    transform: scale(1.05);
    box-shadow: 0 4px 12px var(--shadow-blue-light);
    
}

/* Hover effect for available dates */
.calendar-grid td:hover:not(.past-date):not(.fully-booked):not(.unavailable) {
    background-color: #f8fafc;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}



.calendar-grid td.available:hover {
    background: #f0f9ff;
    border-color: var(--main-blue);
}
/* Base style */
.calendar-grid td {
    background: white;
    position: relative;
    color: #000;
    overflow: hidden; /* keep lines inside */
}

/* 25% booked → 1 line (bottom-left corner) */
.calendar-grid td.partially-booked::after {
    content: "";
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(45deg, #1e3a8a 25%, transparent 0);
    opacity: 0.8;
}

/* 50% booked → 2 lines (bottom + middle) */
.calendar-grid td.booked-50::after {
    content: "";
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(45deg, #1e3a8a 25%, transparent 0),
        linear-gradient(45deg, #1e3a8a 50%, transparent 0);
    opacity: 0.8;
}

/* 75% booked → 3 lines (bottom + middle + upper) */
.calendar-grid td.booked-75::after {
    content: "";
    position: absolute;
    inset: 0;
    background: 
        linear-gradient(45deg, #1e3a8a 25%, transparent 0),
        linear-gradient(45deg, #1e3a8a 50%, transparent 0),
        linear-gradient(45deg, #1e3a8a 75%, transparent 0);
    opacity: 0.8;
}

/* Fully booked = solid fill */
.calendar-grid td.fully-booked {
    background:#485e9c;
    color: #fff;
}

.continue-btn {
    right: 20px;
    padding: 0;
}

.back-btn {
   
    font-size: 1.2rem;
    width: 80px;
    
}


/* Responsive Design */
@media (max-width: 768px) {
    h1 {
        font-size: 2.5rem;
        margin-bottom: 60px;
    }

    .options-container {
        flex-direction: column;
        gap: 40px;
        margin-bottom: 20px;
    }

    .option-card {
        width: 300px;
        height: 180px;
    }

    .main-content {
        flex-direction: column;
        gap: 40px;
    }

    .packages-section {
        border-right: none;
        padding-right: 0;
        width: 100%;
    }

    .packages-container {
        flex-direction: column;
        gap: 20px;
    }

    .addons-section {
        width: 100%;
    }

    .booking-container {
        flex-direction: column;
        padding: 0px;
        gap: 30px;
    }

    .continue-btn,
    .back-btn {

        margin: 20px auto 0;
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

  /* ==========================================================================
   CSS VARIABLES & RESET
   ========================================================================== */


/* ==========================================================================
   LAYOUT COMPONENTS
   ========================================================================== */

/* Continue Buttons */
.continue-btn,
.back-btn {
   
    width: 60px;
    height: 60px;
    background-color: transparent;
    color: white;
    border: 4px solid var(--main-blue);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.3s ease;
    border-radius: 0;
    text-decoration: none;
    font-family: inherit;
}
.continue-btn img:hover, .back-btn img:hover{
        filter: brightness(0) invert(1);
}
 .back-btn img{
      margin-right: 4px;
    }
     .continue-btn img{
       margin-left: 4px;
    }
/* ==========================================================================
   MAIN OPTIONS SECTION
   ========================================================================== */



.option-card {
    width: 260px;
    height: 260px;
    border: 6px solid var(--main-blue);
    background-color: var(--card-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    
    border-radius: 6px;
}

.option-card:hover {
    background-color: var(--main-blue);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px var(--shadow-blue);
}

.option-card:hover .option-text {
    color: white;
}

.option-card.selected {
    background-color: var(--main-blue);
    transform: scale(1.05);
    box-shadow: 0 15px 35px var(--shadow-blue-medium);
}

.option-card.selected .option-text {
    color: white;
}

.option-text {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--main-blue);
    letter-spacing: 2px;
    transition: color 0.3s ease;
    text-transform: uppercase;
    
}

/* ==========================================================================
   EXPERIENCE CONTAINER
   ========================================================================== */

.experience-container {
    background-color: var(--body-bg);
    padding: 90px 40px;
    width: 100%;
    position: relative;
}
 h1 {
    margin-bottom: 100px !important;
}
.breadcrumb {
    position: absolute;
    top: 20px;
    left: 40px;
    
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 400;
}

.note {
    position: absolute;
    top: 20px;
    right: 40px;
    
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 400;
    font-style: italic;
    text-align: right;
}

.main-content {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

/* ==========================================================================
   PACKAGES SECTION
   ========================================================================== */

.packages-section {
    flex: 1;
    border-right: 2px solid var(--main-blue);
    padding-right: 60px;
}

.packages-container {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
}

.package-card {
    flex: 1;
    border: 6px solid var(--main-blue);
    background-color: var(--card-bg);
    padding: 40px 20px 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    min-height: 250px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 6px;
    min-width: 300px;
}

.package-card:hover,
.package-card.selected {
    background-color: var(--main-blue);
    transform: translateY(-3px);
    box-shadow: 0 8px 20px var(--shadow-blue-light);
}

.package-card.selected {
    transform: scale(1.02);
    box-shadow: 0 12px 25px var(--shadow-blue-medium);
}

.package-card:hover .package-title,
.package-card:hover .package-price,
.package-card.selected .package-title,
.package-card.selected .package-price {
    color: white;
}

.package-title {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--main-blue);
    letter-spacing: 2px;
    transition: color 0.3s ease;
    text-transform: uppercase;
    
    margin-bottom: 20px;
}

.package-price {
    
    font-size: 0.9rem;
    color: var(--main-blue);
    font-weight: 700;
    transition: color 0.3s ease;
    margin-top: auto;
    position: absolute;
    bottom: -35px;
    left: 35%;
}

/* ==========================================================================
   ADDONS SECTION
   ========================================================================== */

.addons-section {
    width: 300px;
}

.addons-title {
    
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--main-blue);
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: left;
}

.addon-item {
    border: 2px solid var(--main-blue);
    margin-bottom: 10px;
    background-color: var(--card-bg);
    padding: 10px;
}
.print-container .addon-item{
    margin-bottom: 10px;
}
.addon-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px;
}

.addon-info {
    flex: 1;
}

.addon-name {
    
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
    text-align: left;
}

.addon-price {
    
    font-size: 0.8rem;
    color: var(--text-secondary);
    font-weight: 400;
    text-align: left;
}

.addon-details {
    
    font-size: 0.75rem;
    color: var(--text-light);
    font-weight: 300;
}

.addon-controls ,.output-controls {
    display: flex;
    align-items: center;
    gap: 0px;
    border: 1px solid  var(--main-blue);
}

.addon-btn,.output-btn, .output-count {
    width: 30px;
    height: 30px;
   border: none;
    background-color: var(--card-bg);
    color: var(--main-blue);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    
    font-weight: 500;
    font-size: 1rem;
    transition: all 0.2s ease;
}

.addon-btn:hover {
    background-color: var(--main-blue);
    color: white;
}



/* ==========================================================================
   BUSINESS OUTPUT SECTION
   ========================================================================== */

.output-container {
    background-color: var(--body-bg);
    padding: 60px 40px;
    width: 100%;
    position: relative;
}

.output-container h1 {
    font-size: 3.5rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 500;
    margin-bottom: 80px;
    letter-spacing: -1px;
    text-align: center;
}

.output-grid {
    display: flex;
    gap: 60px;
    justify-content: center;
    margin: 0 auto 60px;
}

.output-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.output-item {
    border: 2px solid var(--main-blue);
    background-color: var(--card-bg);
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}



.output-info {
    flex: 1;
    text-align: left;
}

.output-title ,.print-title{
    
    font-size: 1.1rem;
    font-weight: 500;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
    transition: color 0.3s ease;
}

.output-price,.print-details, .print-price {
    
    font-size: 0.9rem;
    color: var(--text-secondary);
    font-weight: 500;
    transition: color 0.3s ease;
}


.output-btn:hover {
    background-color: var(--main-blue);
    color: white;
    transform: scale(1.05);
}

.output-footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 40px;
}

.minimum-order-note {
    flex: 1;
}

.minimum-order-note p {
    
    font-size: 0.9rem;
    color: var(--main-blue);
    line-height: 1.4;
    font-weight: 500;
    text-align: center;
    margin: 0;
}

.selection-indicator {
    display: flex;
    align-items: center;
    gap: 30px;
}

.selection-text {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 1px;
}

/* ==========================================================================
   BOOKING SECTION
   ========================================================================== */

.booking-container {
    background-color: transparent;
    padding: 40px 0px;
    width: 100%;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    position: relative;
    transition: all 0.5s ease;
    align-items: center;
}

.booking-container.date-selected {
    background-color: var(--main-blue);
    padding: 25px;
}

.calendar-section {
    width: 100%;
    background-color: transparent;
    padding: 20px;
    transition: all 0.5s ease;
}

.booking-container.date-selected .calendar-section {
    background-color: var(--calendar-bg);
}

.calendar-header {
    text-align: center;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.month-number {
    font-family: 'Playfair Display', serif;
    font-size: 4rem;
    font-weight: 300;
    color: var(--main-blue);
    line-height: 1;
    margin-bottom: 10px;
    text-align: left;
    width:60%;
}

.month-year {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--main-blue);
    font-weight: 400;
    letter-spacing: 3px;
    text-transform: uppercase;
    float: right;
    text-align: right;
    width:40%;
    line-height: 1;
}
.calendar-nav-prev, .calendar-nav-next{
    background-color: var(--main-blue) !important;
    border:none !important;
    color: #fff;
    padding: 15px 20px;
    text-align: center;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
}
.menu-toggle:hover, button:hover, .ast-button:hover, .ast-custom-button:hover .button:hover, .ast-custom-button:hover, input[type=reset]:hover,  input#submit:hover,  input[type="button"]:hover,  input[type="submit"]:hover,  form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover,  body .wp-block-file .wp-block-file__button:hover, .back-btn:hover{
    background-color: var(--main-blue) !important;
  
}
.calendar-grid {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    min-width: 265px;
}

.calendar-grid th,
.calendar-grid td {
    width: 14.28%;
    height: 50px;
    border: 1px solid var(--border-light);
    text-align: center;
    vertical-align: middle;
    font-family: 'Playfair Display', serif;
    position: relative;
}

.calendar-grid th {
    background-color: var(--calendar-bg);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 1px;
    height: 35px;
    border-bottom: 2px solid var(--main-blue);
}

.calendar-grid td {
    font-size: 1rem;
    color: var(--main-blue);
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: transparent;
}

.calendar-grid td:hover {
    background-color: #f8fafc;
    transform: scale(1.02);
}

.calendar-grid td.unavailable {
    background-color: var(--main-blue);
    color: white;
    position: relative;
    overflow: hidden;
}

.calendar-grid td.unavailable::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 3px,
        var(--white-overlay) 3px,
        var(--white-overlay) 6px
    );
    transform: translateX(100%);
}



.calendar-grid td.other-month {
    color: var(--text-very-light);
}

.legend {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    
    font-size: 0.85rem;
    color: var(--text-secondary);
}

.legend-box {
    width: 20px;
    height: 20px;
    border: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.legend-box.unavailable {
    background-color: var(--main-blue);
    position: relative;
    overflow: hidden;
}

.legend-box.unavailable::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 2px,
        var(--white-overlay-light) 2px,
        var(--white-overlay-light) 4px
    );
}

.legend-box.available {
    background-color: white;
}

.info-section {
  width: 75%;
    background-color: var(--main-blue);
    padding: 30px 20px;
    position: relative;
    transition: all 0.5s ease;
    text-align: left;
}

.print-container .info-section{
    width:100%;
}
input[type="radio"]:checked, input[type=reset], input[type="checkbox"]:checked, input[type="checkbox"]:hover:checked, input[type="checkbox"]:focus:checked, input[type=range]::-webkit-slider-thumb{
    background-color:transparent !important;
}

.sessions-section {
    background-color: var(--main-blue);
    padding:  20px;
    display: none;
    flex-direction: row;
    gap: 15px;
    align-items: center;
    width: 100%;
}

.booking-container.date-selected .sessions-section {
    display: flex;
}

.booking-container.date-selected .info-section {
    display: none;
}

.sessions-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 50px;
    justify-self: center;
}

.session-details {
    flex: 1;
    background-color: var(--main-blue);
    padding: 20px;
    display: none;
    flex-direction: column;
    gap: 0px;
    border-left: 2px solid white;
    text-align: left;
    min-width: 300px;
}

.session-details.show {
    display: flex;
}

.session-option.unavailable {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(100%);
}

.session-option.unavailable .session-title,
.session-option.unavailable .session-time {
    color: var(--text-very-light);
}

.session-option.unavailable:hover {
    transform: none;
    box-shadow: none;
}

.session-option {
    background-color: var(--calendar-bg);
    padding: 20px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid white;
}

.session-option:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--shadow-light);
}

.session-option.selected {
    border-color: var(--calendar-bg);
    background-color: var(--main-blue);
    color: white;
}

.session-title {
    
    font-size: 1rem;
    font-weight: 600;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1;
}

.session-option.selected .session-title {
    color: #fff;
}

.session-time {
    
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 400;
}

.session-option.selected .session-time {
    color: white;
}

.info-content {
    color: white;
    text-align: center;
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem;
    font-style: italic;
}

/* ==========================================================================
   FORM ELEMENTS
   ========================================================================== */

.form-group {
    margin-bottom: 15px;
}

.form-label {
    
    font-size: 0.85rem;
    font-weight: 600;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: block;
}

.form-input {
    width: 100%;
    padding: 12px;
    border: none;
    background-color: var(--calendar-bg);
    
    font-size: 0.9rem;
    color: var(--main-blue);
}

.form-input::placeholder {
    color: var(--text-lighter);
}

.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--main-blue);
    
    font-size: 0.85rem;
    background-color: var(--calendar-bg);
    padding: 5px 10px;
    text-align: right;
    justify-content: space-between;
}

.checkbox-input {
    width: 25px;
    height: 25px;
    border: 2px solid var(--main-blue);
    background-color: transparent;
    appearance: none;
    cursor: pointer;
    position: relative;
}

.checkbox-input:checked {
    background-color: white;
}

.checkbox-input:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--main-blue);
    font-size: 12px;
    font-weight: bold;
}

.checkbox-label {
    cursor: pointer;
    font-weight: 500;
}

.button-group {
    display: flex;
    gap: 10px;
}

.option-button {
    flex: 1;
    padding: 12px;
    background-color: var(--calendar-bg);
    color: var(--main-blue);
    border: 2px solid white;
    
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
}

.option-button.selected {
    background-color: var(--main-blue);
    color: #fff;
    border: 2px solid white;
}
.option-button:hover{
    background-color: #fff !Important;
    color: var(--main-blue);
    
}
/* ==========================================================================
   CONTINUE BUTTONS
   ========================================================================== */

.continue-btn,
.quantity-continue,
.business-continue {
  
    width: 60px;
    height: 60px;
    background-color:transparent;
    color: white;
    border: 4px solid var(--main-blue);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.3s ease;
    border-radius: 0;
}

.continue-btn:hover,
.quantity-continue:hover,
.business-continue:hover {
    background-color: white;
    color: var(--main-blue);
    transform: scale(1.05);
}

/* ==========================================================================
   BUSINESS EXPERIENCE SECTION
   ========================================================================== */

.business-experience-container {
    background-color: var(--body-bg);
    padding: 60px 40px;
    width: 100%;
    text-align: center;
    position: relative;
}

.business-experience-container h1 {
    font-size: 3.5rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 500;
    margin-bottom: 80px;
    letter-spacing: -1px;
}

.business-categories {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.category-card {
    width: 220px;
    height: 220px;
    border: 6px solid var(--main-blue);
    background-color: var(--card-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    border-radius: 6px;
}

/*.category-card:hover {*/
/*    background-color: var(--main-blue);*/
/*    transform: translateY(-5px);*/
/*    box-shadow: 0 10px 25px var(--shadow-blue);*/
/*}*/

/*.category-card:hover .category-text {*/
/*    color: white;*/
/*}*/

.category-card.selected .category-text {
    color: white;
}

.category-text {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 1.5px;
    transition: color 0.3s ease;
    text-transform: uppercase;
    
    line-height: 1.4;
    text-align: center;
}

/* ==========================================================================
   QUANTITY SECTION
   ========================================================================== */

.quantity-container h1 {
    font-size: 3.5rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 500;
    margin-bottom: 80px;
    letter-spacing: -1px;
    line-height: 1.2;
}


.quantity-number {
    font-size: 12rem;
    font-weight: 900;
    color: var(--main-blue);
   font-family: 'Playfair Display', serif;
    line-height: 1;
    text-shadow: 2px 2px 4px var(--shadow-light);
}

.quantity-slider-container {
    width: 100%;
    margin: 0 auto 80px;
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
}

.quantity-slider {
    width: 100%;
    height: 8px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    outline: none;
    position: absolute;
    z-index: 10;
    cursor: pointer;
}

.quantity-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--main-blue);
    border: 4px solid white;
    box-shadow: 0 2px 8px var(--shadow-medium);
    cursor: pointer;
}

.quantity-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--main-blue);
    border: 4px solid white;
    box-shadow: 0 2px 8px var(--shadow-medium);
    cursor: pointer;
    border: none;
}

.slider-track {
    width: 100%;
    height: 6px;
    background-color: var(--border-light);
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    pointer-events: none;
}

.slider-progress {
    height: 100%;
    background-color: var(--main-blue);
    border-radius: 3px;
    width: 45%; /* This will be updated by JavaScript */
    transition: width 0.2s ease;
    pointer-events: none; /* Prevent interference with slider */
}

/* ==========================================================================
   CONFIRMATION SECTION
   ========================================================================== */

.confirmation-container {

    background-color: var(--main-blue);
    padding: 40px;
    width: 100%;
    margin-top: 40px;
}


.confirmation-form {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    margin: 0 auto;
}

.user-details-section {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 30px;
    text-align: left;
}

.user-details-section .form-group {
    margin-bottom: 25px;
}

.user-details-section .form-label {
    
    font-size: 1rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    display: block;
}

.user-details-section .form-input {
    width: 100%;
    padding: 15px;
    border: none;
    background-color: var(--calendar-bg);
    
    font-size: 1rem;
    color: var(--main-blue);
    border-radius: 0;
}

.confirmation-details {
    flex: 1.5;
    background-color: var(--card-bg);
    padding: 30px;
    color: var(--main-blue);
}

.confirmation-details h2 {
    
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--main-blue);
    padding-bottom: 10px;
}

.details-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 30px;
}

.detail-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    text-align: left;
}

.detail-item {
    flex: 1;
    min-width: 200px;
}

.detail-label {
    
    font-size: 1rem;
    font-weight: 800;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.detail-value {
    
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.total-section {
    border-top: 2px solid var(--main-blue);
    padding-top: 25px;
}

.estimated-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.total-label {
    
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.total-amount {
    
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
}

.booking-fee-note {
    
    font-size: 1rem;
    color: var(--main-blue);
    margin-bottom: 25px;
    line-height: 1.4;
    font-weight: 500;
    text-align: left;
}

.payment-section {
    margin-bottom: 30px;
}

.payment-label {
    
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: left;
    margin-bottom: 15px;
}

.payment-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.payment-option {
    display: flex;
    align-items: center;
    gap: 12px;
}

.payment-option input[type="radio"] {
    width: 20px;
    height: 20px;
    border: 2px solid var(--main-blue);
    background-color: transparent;
    appearance: none;
    cursor: pointer;
    position: relative;
    border-radius: 50%;
}

.payment-option input[type="radio"]:checked {
    background-color: var(--main-blue);
}

.payment-option input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: white;
    border-radius: 50%;
}

.payment-option label {
    
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
}

.payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 25px;
}

.payment-icons img {
    height: 30px;
    width: auto;
}

.confirm-booking-btn {
    width: 100%;
    padding: 18px;
    background-color: var(--main-blue);
    color: white;
    border: none;
    
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 6px;
}

.confirm-booking-btn:hover {
    background-color: #1a3a7a;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px var(--shadow-blue);
}

/* ==========================================================================
   THANK YOU SECTION
   ========================================================================== */

.thankyou-container {
    display: none;
    background-color: var(--main-blue);
    padding: 60px 40px;
    width: 100%;
    min-height: 100vh;
    position: relative;
}

.thankyou-content {
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    background-color: var(--calendar-bg);
    padding: 40px;
}

.thankyou-icon {
    margin-bottom: 20px;
    animation: celebrateScale 2s ease-in-out;
}

@keyframes celebrateScale {
    0% { 
        transform: scale(0.8); 
        opacity: 0; 
    }
    50% { 
        transform: scale(1.1); 
        opacity: 1; 
    }
    100% { 
        transform: scale(1); 
        opacity: 1; 
    }
}
.entry-header {
    display:none;
}
.thankyou-message h1 {
    font-family: 'Playfair Display', serif;
    font-size: 2.8rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: -1px;
    line-height: 1.2;
    margin-bottom: 0px !important;
}

.thankyou-message h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: -0.5px;
    line-height: 1.3;
}

.thankyou-info-box {
    padding: 30px 40px;
    ext-align: center;
}

.thankyou-info-box p {
        font-size: 1rem;
    color: var(--main-blue);
    line-height: 1.9;
    margin-bottom: 3px;
    font-weight: 400;
}

.thankyou-info-box p:last-child {
    margin-bottom: 0;
    font-weight: 600;
}

.thankyou-footer {
    margin-top: 20px;
}

.thankyou-footer p {
    
        font-size: 1.1rem;
    color: var(--main-blue);
    font-weight: 900;
}
    
        /* Payment Processing Overlay */
        .payment-processing {
               position: fixed;
    top: 30%;
    left: 30%;
    width: 100%;
   display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
        }
        
        .payment-processing.active {
            display: flex;
        }
        
        .processing-content {
            background: white;
            padding: 40px;
            border-radius: 8px;
            text-align: center;
        }

/* ==========================================================================
   RESPONSIVE DESIGN - TABLET
   ========================================================================== */

@media (max-width: 768px) {
    /* Base Typography */
    h1 {
        font-size: 2.5rem;
        margin-bottom: 60px;
    }
    .back-btn img .continue-btn img{
        width:40px !important;
    }
    .wp-site-blocks{
        width:97%;
    }.payment-processing{
        left: 5%;
    }
    .processing-content{
         
    padding: 40px 0px;
  
    width: 90%;
    }
    .continue-btn, .back-btn{
        width: 55px;
        height: 55px;
       
    }
    .d-flex{
        padding: 0;
    }
    .calendar-section,.sessions-section {
        padding: 10px 0px;
    }
    .confirmation-details {

        padding: 20px 10px;
        
    }
    .payment-option label {
font-size: 12px;
}
#stripe-card-element {

    padding: 10px;
    margin:0px;
}
.stripe-elements-container{
    padding: 10px;
}
.ElementsApp, .ElementsApp .InputElement{
    font-size: 12px !important;
}
    .session-details.show {
width:100%;
padding:10px;
border:none;
        
    }
.container{
    padding: 0px !important;
}
    /* Main Options */
    .options-container {
        flex-direction: column;
        gap: 40px;
        margin-bottom: 20px;
    }
.session-title,.thankyou-footer p{
    font-size: 0.8rem;
}
    .option-card {
        width: 300px;
        height: 180px;
    }
.confirmation-container{
    padding: 10px;
}
.booking-container.date-selected{
    padding: 0;
}
.user-details-section .form-input{
    font-size: 0.8rem;
}
    .option-text {
        font-size: 1.6rem;
    }

    /* Experience Container */
    .experience-container {
        padding: 20px 10px;
    }
    .output-container{
        padding: 10px;
    }
.package-card{
    margin-bottom: 20px;
    min-width: 100px;
    width:100%;
}
.package-price{
    left: 35%;
}
    .breadcrumb,
    .note {
        position: static;
        margin-bottom: 20px;
    }

    .main-content {
        flex-direction: column;
        gap: 40px;
    }

    .packages-section {
        border-right: none;
        padding-right: 0;
        width:100%
    }
.user-details-section{width: 100%;}
    .addons-section {
        width: 100%;
    }

    .packages-container {
        flex-direction: column;
        gap: 20px;
    }

    /* Business Output */
    .output-container {
        padding: 10px;
    }

    .output-container h1 {
        font-size: 2.8rem;
        margin-bottom: 60px;
    }

    .output-grid {
        flex-direction: column;
        gap: 30px;
    }

    .output-item {
        padding: 10px 5px;
    }

    .output-title {
        font-size: 0.8rem;
    }

    .output-price {
        font-size: 0.85rem;
    }

    .output-btn {
        width: 32px;
        height: 32px;
        font-size: 1.1rem;
    }

    .output-footer {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }

    .minimum-order-note {
        text-align: center;
    }

    /* Booking */
    .booking-container {
        flex-direction: column;
        padding: 0px;
        gap: 30px;
        overflow-x: scroll;
    }
.sessions-section{
    flex-direction: column;
    
}
.sessions-section,.sessions-list{
    width: 100%;
}
    .info-section {
        width: 100%;
    }

    .month-number {
        font-size: 3rem;
    }

    .month-year {
        font-size: 1.4rem;
        letter-spacing: 2px;
    }

    .calendar-grid th,
    .calendar-grid td {
        height: 40px;
        font-size: 0.9rem;
    }

    /* Business Experience */
    .business-experience-container {
        padding: 40px 20px;
    }

    .business-experience-container h1 {
        font-size: 2.5rem;
        margin-bottom: 60px;
    }

    .business-categories {
        flex-direction: column;
        gap: 30px;
    }

    .category-card {
        width: 280px;
        height: 180px;
    }

    .category-text {
        font-size: 1.1rem;
        letter-spacing: 1px;
    }

    .selection-indicator {
        flex-direction: column;
        gap: 20px;
    }

    /* Quantity */
    .quantity-container {
        padding: 60px 20px;
    }

    .quantity-container h1 {
        font-size: 2.8rem;
        margin-bottom: 60px;
    }

    .quantity-number {
        font-size: 8rem;
    }

    .quantity-slider-container {
        max-width: 400px;
        margin-bottom: 60px;
    }

    /* Confirmation */
    .confirmation-form {
        flex-direction: column;
        gap: 40px;
    }

    .detail-row {
        flex-direction: column;
        gap: 20px;
    }

    .detail-item {
        min-width: auto;
    }

    .estimated-total {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    /* Thank You */
    .thankyou-container {
        padding: 10px;
    }
.thankyou-content,.business-confirmation-details{
    padding: 20px 10px;
}
    .thankyou-message h1 {
        font-size: 2.2rem;
    }

    .thankyou-message h2 {
        font-size: 1.8rem;
    }

    .thankyou-info-box {
        padding: 25px;
    }

    .thankyou-info-box p {
        font-size: 0.9rem;
    }

    /* Continue Buttons */
    .continue-btn,
    .quantity-continue,
    .business-continue {
       
        margin: 20px auto 0;
    }
}

/* ==========================================================================
   RESPONSIVE DESIGN - MOBILE
   ========================================================================== */

@media (max-width: 480px) {
    /* Base Typography */
    h1 {
        font-size: 2rem;
        margin-bottom: 40px;
    }

    /* Main Options */
    .option-card {
        width: 280px;
        height: 160px;
    }

    .option-text {
        font-size: 1.4rem;
        letter-spacing: 1px;
    }

    /* Business Categories */
    .category-card {
        width: 260px;
        height: 160px;
    }

    .category-text {
        font-size: 1rem;
    }

    /* Business Output */
    .output-container h1 {
        font-size: 2.2rem;
        margin-bottom: 40px;
    }

    .output-title {
        font-size: 0.8rem;
    }

    .output-price {
        font-size: 0.8rem;
    }

    .output-btn {
        width: 30px;
        height: 30px;
        font-size: 1rem;
    }

    .output-count {
        font-size: 1rem;
        height: 32px;
    }

    .minimum-order-note p {
        font-size: 0.85rem;
    }

    .selection-text {
        font-size: 1.5rem;
    }

    /* Quantity */
    .quantity-container h1 {
        font-size: 2.2rem;
        margin-bottom: 40px;
    }

    .quantity-number {
        font-size: 6rem;
    }

    .quantity-slider-container {
        max-width: 300px;
    }

    /* Thank You */
    .thankyou-message h1 {
        font-size: 1.8rem;
    }

    .thankyou-message h2 {
        font-size: 1.5rem;
    }
}
    /* ==========================================================================
   SEND/VISIT SELECTION SECTION
   ========================================================================== */

.send-visit-container {
    background-color: var(--body-bg);
    padding: 80px 40px;
    width: 100%;
    text-align: center;
    position: relative;
    min-height: 70vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    
}

.send-visit-container h1 {
    font-size: 3.5rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 500;
    margin-bottom: 80px;
    letter-spacing: -1px;
    line-height: 1.2;
}

.send-visit-options {
    display: flex;
    gap: 60px;
    justify-content: center;
    align-items: center;
    margin-bottom: 60px;
    flex-wrap: wrap;
}

.send-visit-card {
    width: 280px;
    height: 280px;
    border: 6px solid var(--main-blue);
    background-color: var(--card-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    border-radius: 6px;
}

.send-visit-card:hover {
    background-color: var(--main-blue);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px var(--shadow-blue);
}

.send-visit-card:hover .send-visit-text {
    color: white;
}

.send-visit-card.selected {
    background-color: var(--main-blue);
    transform: scale(1.02);
    box-shadow: 0 15px 35px var(--shadow-blue-medium);
}

.send-visit-card.selected .send-visit-text {
    color: white;
}

.send-visit-text {
    font-size: 2rem;
    font-weight: 600;
    color: var(--main-blue);
    letter-spacing: 3px;
    transition: color 0.3s ease;
    text-transform: uppercase;
    
}

.single-select-note {
    margin-bottom: 40px;
}

.single-select-note span {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    color: var(--main-blue);
    font-style: italic;
    font-weight: 400;
    letter-spacing: 1px;
}


/* Responsive Design */
@media (max-width: 768px) {
    .business-confirmation-container,.send-visit-container {
        padding: 10px 0px;
    }
    
    .send-visit-container h1 {
        font-size: 2.8rem;
        margin-bottom: 60px;
    }
    
    .send-visit-options {
        flex-direction: column;
        gap: 40px;
        width:100%;
    }
    
    .send-visit-card {
        width: 100%;
        height: 200px;
    }

    .send-visit-text {
        font-size: 1.8rem;
        letter-spacing: 2px;
    }
    
    .single-select-note span {
        font-size: 1.5rem;
    }
}

@media (max-width: 480px) {
    .send-visit-container h1 {
        font-size: 2.2rem;
        margin-bottom: 40px;
    }
    
    .send-visit-card {
        
        height: 180px;
    }
    
    .send-visit-text {
        font-size: 1.6rem;
        letter-spacing: 1px;
    }
    
    .single-select-note span {
        font-size: 1.3rem;
    }
}
/* Business Confirmation Styles */
.business-confirmation-container {
    background-color: var(--main-blue);
    padding: 40px;
    width: 100%;
    margin-top: 40px;
}

.business-confirmation-form {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    margin: 0 auto;
}

.business-user-details-section {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
    text-align: left;
    width:100%;
}

.business-user-details-section .form-group {
    margin-bottom: 20px;
}

.business-user-details-section .form-label {
    
    font-size: 1rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
    display: block;
}

.business-user-details-section .form-input,
.business-user-details-section .form-textarea {
    width: 100%;
    padding: 15px;
    border: none;
    background-color: var(--calendar-bg);
    
    font-size: 1rem;
    color: var(--main-blue);
    border-radius: 0;
    resize: vertical;
}

.form-textarea {
    min-height: 100px;
}

.business-confirmation-details {
    flex: 1;
    background-color: var(--card-bg);
    padding: 30px;
    color: var(--main-blue);
    width:100%;
}

.business-confirmation-details h2 {
    
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--main-blue);
    padding-bottom: 10px;
}

.business-details-grid {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 30px;
}

.business-detail-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    text-align: left;
}

.business-detail-item {
    flex: 1;
    min-width: 200px;
    margin-bottom: 15px;
}

.business-detail-label {
    
    font-size: 0.9rem;
    font-weight: 800;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 5px;
}

.business-detail-value {
    
    font-size: 0.85rem;
    font-weight: 400;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.3;
}

.business-total-section {
    border-top: 2px solid var(--main-blue);
    padding-top: 25px;
}

.business-estimated-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.business-total-label {
    
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.business-total-amount {
    
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--main-blue);
    text-transform: uppercase;
}

.submit-booking-btn {
    width: 100%;
    padding: 18px;
    background-color: var(--main-blue);
    color: white;
    border: none;
    
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 0;
}

.submit-booking-btn:hover {
    background-color: #1a3a7a;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px var(--shadow-blue);
}

.business-booking-note {
    margin-bottom: 20px;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.1);
    border-left: 4px solid var(--main-blue);
}

.business-booking-note p {
    
    font-size: 0.9rem;
    color: var(--main-blue);
    margin: 0;
    line-height: 1.4;
    font-weight: 400;
}

/* Responsive styles for business confirmation */
@media (max-width: 768px) {
    .business-confirmation-form {
        flex-direction: column;
        gap: 40px;
    }
    
    .business-confirmation-container,.send-visit-container {
        padding: 20px 10px;
    }
    .business-confirmation-details h2,.business-total-amount,.confirmation-details h2,.total-label{
        font-size: 1rem;
    }
    .business-detail-row {
        flex-direction: column;
        gap: 20px;
    }
    .business-user-details-section .form-label,.submit-booking-btn,.detail-label,.total-amount{
        font-size: 0.9rem;
    }
    .business-detail-item {
        min-width: auto;
    }
    
    .business-estimated-total {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}



@media (max-width: 768px) {
    /* Base Typography */
    h1 {
        font-size: 2.5rem;
        margin-bottom: 60px;
    }
    .calendar-section,.sessions-section {
        padding: 10px 5px;
    }
    .confirmation-details {

        padding: 20px 10px;
        
    }
    .payment-option label {
font-size: 12px;
}
#stripe-card-element {

    padding: 10px;
    margin:0px;
}
.stripe-elements-container{
    padding: 10px;
}
.ElementsApp, .ElementsApp .InputElement{
    font-size: 12px !important;
}
    .session-details.show {
width:100%;
        
    }
.container{
    padding: 0px !important;
}
    /* Main Options */
    .options-container {
        flex-direction: column;
        gap: 40px;
        margin-bottom: 20px;
    }
.session-title,.thankyou-footer p{
    font-size: 0.8rem;
}
    .option-card {
        width: 300px;
        height: 180px;
    }
.confirmation-container{
    padding: 10px;
}
.booking-container.date-selected{
    padding: 0;
}
.user-details-section .form-input{
    font-size: 0.8rem;
}
    .option-text {
        font-size: 1.6rem;
    }

    /* Experience Container */
    .experience-container {
        padding: 20px 10px;
    }
    .output-container{
        padding: 10px;
    }
.package-card{
    margin-bottom: 20px;
    min-width: 100px;
    width:100%;
}
.package-price{
    left: 35%;
}
    .breadcrumb,
    .note {
        position: static;
        margin-bottom: 20px;
    }

    .main-content {
        flex-direction: column;
        gap: 40px;
    }

    .packages-section {
        border-right: none;
        padding-right: 0;
        width:100%
    }
.user-details-section{width: 100%;}
    .addons-section {
        width: 100%;
    }

    .packages-container {
        flex-direction: column;
        gap: 20px;
    }

    /* Business Output */
    .output-container {
        padding: 10px;
    }

    .output-container h1 {
        font-size: 2.8rem;
        margin-bottom: 60px;
    }

    .output-grid {
        flex-direction: column;
        gap: 30px;
    }

    .output-item {
        padding: 10px 5px;
    }


    .output-price {
        font-size: 0.85rem;
    }

    .output-btn {
        width: 32px;
        height: 32px;
        font-size: 1.1rem;
    }

   

    .output-footer {
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }

    .minimum-order-note {
        text-align: center;
    }

    /* Booking */
    .booking-container {
        flex-direction: column;
        padding: 0px;
        gap: 30px;
        overflow-x: scroll;
    }
.sessions-section{
    flex-direction: column;
    
}
.sessions-section,.sessions-list{
    width: 100%;
}
    .info-section {
        width: 100%;
    }

    .month-number {
        font-size: 3rem;
    }

    .month-year {
        font-size: 1.4rem;
        letter-spacing: 2px;
    }

    .calendar-grid th,
    .calendar-grid td {
        height: 40px;
        font-size: 1.5rem;
    }

    /* Business Experience */
    .business-experience-container {
        padding: 40px 20px;
    }

    .business-experience-container h1 {
        font-size: 2.5rem;
        margin-bottom: 60px;
    }

    .business-categories {
        flex-direction: column;
        gap: 30px;
    }

    .category-card {
        width: 280px;
        height: 180px;
    }

    .category-text {
        font-size: 1.1rem;
        letter-spacing: 1px;
    }

    .selection-indicator {
        flex-direction: column;
        gap: 20px;
    }

    /* Quantity */
    .quantity-container {
        padding: 60px 20px;
    }

    .quantity-container h1 {
        font-size: 2.8rem;
        margin-bottom: 60px;
    }

    .quantity-number {
        font-size: 8rem;
    }

    .quantity-slider-container {
        max-width: 400px;
        margin-bottom: 60px;
    }

    /* Confirmation */
    .confirmation-form {
        flex-direction: column;
        gap: 40px;
    }

    .detail-row {
        flex-direction: column;
        gap: 20px;
    }

    .detail-item {
        min-width: auto;
    }

    .estimated-total {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    /* Thank You */
    .thankyou-container {
        padding: 10px;
    }
.thankyou-content,.business-confirmation-details{
    padding: 20px 10px;
}
    .thankyou-message h1 {
        font-size: 2.2rem;
    }

    .thankyou-message h2 {
        font-size: 1.8rem;
    }

    .thankyou-info-box {
        padding: 25px;
    }

    .thankyou-info-box p {
        font-size: 0.9rem;
    }

    /* Continue Buttons */
    .continue-btn,
    .quantity-continue,
    .business-continue {
        
        margin: 20px auto 0;
        float: right;
    }
}
/* paymeent css */

        /* Enhanced Payment Options */
        .payment-options {
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin: 20px 0;
        }
        
        .payment-option {
            display: flex;
            align-items: center;
            padding: 15px;
            border: 2px solid #e0e0e0;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
        
        .payment-option:hover {
            border-color: #007cba;
            background-color: #f8f9fa;
        }
        
        .payment-option.selected {
            border-color: #007cba;
            background-color: #e3f2fd;
        }
        
        .payment-option input[type="radio"] {
            margin-right: 12px;
            transform: scale(1.2);
        }
        
        .payment-option label {
            font-weight: 600;
            font-size: 14px;
            cursor: pointer;
            flex: 1;
        }
        
        .payment-method-icon {
            width: 40px;
            height: 24px;
            margin-left: 10px;
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
        }
        
        .stripe-icon {
            background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCA0MCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjI0IiByeD0iNCIgZmlsbD0iIzYzNzJmZiIvPgo8dGV4dCB4PSIyMCIgeT0iMTUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjEwIiBmb250LWZhbWlseT0iQXJpYWwiPnN0cmlwZTwvdGV4dD4KPC9zdmc+');
        }
        
        .paypal-icon {
            background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCA0MCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjI0IiByeD0iNCIgZmlsbD0iIzAwMzA4NyIvPgo8dGV4dCB4PSIyMCIgeT0iMTUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjEwIiBmb250LWZhbWlseT0iQXJpYWwiPnBheXBhbDwvdGV4dD4KPC9zdmc+');
        }
        
        .apple-pay-icon {
            background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCA0MCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjI0IiByeD0iNCIgZmlsbD0iIzAwMDAwMCIvPgo8dGV4dCB4PSIyMCIgeT0iMTUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjEwIiBmb250LWZhbWlseT0iQXJpYWwiPmFwcGxlPC90ZXh0Pgo8L3N2Zz4=');
        }
        
        .card-icon {
            background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCA0MCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjI0IiByeD0iNCIgZmlsbD0iIzY2NzNlNSIvPgo8dGV4dCB4PSIyMCIgeT0iMTUiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IndoaXRlIiBmb250LXNpemU9IjEwIiBmb250LWZhbWlseT0iQXJpYWwiPmNhcmQ8L3RleHQ+Cjwvc3ZnPg==');
        }
        
        /* Stripe Elements Container */
        .stripe-elements-container {
            margin: 20px 0;
            padding: 20px;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            background: #f8f9fa;
            display: none;
        }
        
        .stripe-elements-container.active {
            display: block;
        }
        
        #stripe-card-element {
            padding: 15px;
            border: 1px solid #ccc;
            border-radius: 4px;
            background: white;
            margin-bottom: 15px;
        }
        
        .stripe-error {
            color: #e74c3c;
            font-size: 14px;
            margin-top: 10px;
        }
        
        /* PayPal Container */
        .paypal-container {
            margin: 20px 0;
            display: none;
        }
        
        .paypal-container.active {
            display: block;
        }
    
        
        .spinner {
            border: 4px solid #f3f3f3;
            border-top: 4px solid #007cba;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            animation: spin 1s linear infinite;
            margin: 0 auto 20px;
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        /* Test Mode Indicator */
        .test-mode-indicator {
            position: fixed;
            bottom: 20px;
            left: 20px;
            background: #ff9800;
            color: white;
            padding: 8px 12px;
            border-radius: 4px;
            font-size: 12px;
            font-weight: bold;
            z-index: 10000;
            display: none;
        }
        
        .test-mode-indicator.active {
            display: block;
        }
        
         /* ==========================================================================
  Print YOUR PHOTOS SECTION
   ========================================================================== */
   
   .content {
            display: grid;
            grid-template-columns: 1fr 600px;
            gap: 0;
            min-height: 375px;
            position: relative;
            
        }
.print-section{
    margin: 0px 10px;
    border-right: 1px solid black;
    padding-right: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.print-addon{
        text-align: left;
    margin: 0px 10px;
}
        .print-options {
            padding: 3rem;
            background: white;
        }

        .print-card {
            border: 2px solid var(--border-light);
            border-radius: 8px;
            padding: 2rem;
            margin-bottom: 2rem;
            transition: all 0.3s ease;
        }

        .print-card:hover {
            border-color: var(--main-blue);
            box-shadow: 0 4px 20px var(--shadow-blue-light);
        }

        .print-card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
        
        }

     
     
        .quantity-controls {
            display: flex;
            align-items: center;
            gap: 0;
            border-radius: 6px;
            overflow: hidden;
            margin:5px;
        }

        .quantity-btn {
            background: white;
            border: none;
            padding: 0.8rem 1.2rem;
            font-size: 1.2rem;
            font-weight: bold;
            color: var(--main-blue);
            cursor: pointer;
            transition: background-color 0.2s ease;
            min-width: 50px;
        }

        .quantity-btn:hover {
            background:#fff;
        }

        .quantity-btn:active {
            background: var(--main-blue);
            color: white;
        }

        .quantity-display ,.output-count{
           
            font-weight: 600;
            color: var(--main-blue);
            background: transparent;
           text-align: center;
            border-left:  1px solid  var(--main-blue);
            border-right:  1px solid  var(--main-blue);
          
        } 
#quantity-section  .quantity-display {
    border:none;
}
        .info-panel {
            background: var(--main-blue);
            color: white;
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .info-section {
            margin-bottom: 2.5rem;
        }

        .info-section:last-child {
            margin-bottom: 0;
        }

        .info-title {
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 1rem;
            color: rgba(255, 255, 255, 0.9);
        }

        .info-text {
            font-size: 0.95rem;
            line-height: 1.6;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 0.5rem;
        }

        .checkbox-container {
            display: flex;
            align-items: center;
            gap: 1rem;
            padding: 2rem 3rem;
            background: transparent;
            justify-content:center;
        }

        .checkbox {
            width: 20px;
            height: 20px;
            border: 2px solid var(--main-blue);
            cursor: pointer;
            position: relative;
            transition: all 0.2s ease;
        }

        .checkbox.checked {
            background: var(--main-blue);
        }

        .checkbox.checked::after {
            content: '✓';
            position: absolute;
            color: white;
            font-size: 14px;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

        .checkbox-label {
            font-size: 1rem;
            color: var(--main-blue);
            font-weight: 600;
            cursor: pointer;
            line-height: 1;
        }

   

        .continue-btn:active {
            transform: translateY(0);
        }

        /* Responsive Design */
        @media (max-width: 768px) {
            body {
                padding: 0;
            }
            .print-addon{
                margin: 0px;
            }
            .addon-header{
    padding: 10px 5px;
}
h1, .entry-content h1{
    font-size: 35px !important;
}
            .header h1 {
                font-size: 2rem;
            }

            .content {
                grid-template-columns: 1fr;
            }

            .info-panel {
                order: -1;
                padding: 2rem;
            }

            .print-options {
                padding: 2rem;
            }

            .print-card {
                padding: 1.5rem;
            }

            .print-card-header {
               
                align-items: flex-start;
                gap: 0rem;
            }
.print-section .print-card-header{
    align-items: center;
}.print-details{
    margin-bottom: 0px;
}
            .quantity-controls {
                align-self: center;
            }

            .checkbox-container {
                padding: 10px;
          
            }

          .print-section{
              margin: 0px;
              align-items: center;
              padding: 0px;
              border:none;
          }
          .print-container{
              padding: 10px;
          }
          .print-section .addon-item {
              width:100%;
              padding:10px;
          }
          .calendar-grid td, th{
              padding:2px;
          }
         
        }

        @media (max-width: 480px) {
          
            .print-options,
            .info-panel {
                padding: 1.5rem;
            }

            .print-card {
                padding: 1rem;
            }

            .print-title {
                font-size: 1.2rem;
            }

            .quantity-btn {
                padding: 0.6rem 1rem;
                font-size: 1rem;
                min-width: 40px;
            }

            .quantity-display {
                padding: 0.6rem 1rem;
                font-size: 1rem;
                
            }
        }
    h2, .entry-content h2{
        text-transform: inherit;
    }
