
/*** Masque les flèches de défilement sur les input[type=number] */
#tt-shop input::-webkit-outer-spin-button,
#tt-shop input::-webkit-inner-spin-button,
#tt-cart input::-webkit-outer-spin-button,
#tt-cart input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#tt-shop input[type=number],
#tt-cart input[type=number] {
    -moz-appearance: textfield;
}



/* Les boutons */
.tt-btn,
.tt-mini-btn {
    display:inline-block; cursor:pointer; outline:1px solid black; padding:0 .5em;
}
.tt-btn.secondary {
    background:white; color:black;
}
.tt-btn.primary {
    background:black; color:white;
}
.tt-btn.highlight {
    background:yellow; color:black;
}
.tt-btn.book {
    background:black; color:white;
}
.tt-btn.disabled {
    cursor:default; opacity:.3;
}
.tt-btn.hidden {
    display:none;
}
.tt-field.qty {
    text-align:center; width:1.5em;
}


/* La boutique */
#tt-shop .tabs {
    display:flex;
}
#tt-shop .tabs > .tab {
    cursor:pointer;
}
#tt-shop .tabs > .tab.current {
    font-weight:bold;
}
#tt-shop .tabs-contents > .tab-content:not(.current) {
    display:none;
}
#tt-shop .breadcrumb ol {
    list-style:none;
    display:flex;
    margin:0;
    color: #5ab5a7;
}
#tt-shop .breadcrumb ol li.current {
    color: #000000;
}

#tt-shop .breadcrumb ol li.clickable {
    cursor:pointer;
}
#tt-shop .breadcrumb ol li:not(.current) .label {
    opacity: .7;
}
#tt-shop .breadcrumb ol li:not(:last-child):after {
    content:"";
    background: url(/wp-content/plugins/wp-booking-calendar/jcd/img/shop/shop-breadcrumb-arrow.png);
    width: 14px;
    height: 21px;
    background-size: contain;
    display: inline-block;
    background-repeat: no-repeat;
    vertical-align: middle;
}
#tt-shop .steps > .step:not(.current) {
    display:none;
}
#tt-shop .items-descriptions > .item-description:not(.current) {
    display:none;
}

.items-images-default.hidden {
    display:none;
}


.item-image, .item-infos {
    display: none;
}


.item-image.current, .item-infos.current {
    display: initial;
}

.item-image .thumb {
    padding-left:60px;
}


#tt-shop .step:not(.slot-selected) .only-if-slot-selected {
    display:none;
}
#tt-shop .step-body {
    display: block;
    width:100%;
    justify-content:space-between;
}
#tt-shop .step-body .items-descriptions {
    width:200px; min-width:200px; margin-left:60px;
}
#tt-shop .step-body .items-descriptions .thumb img {
    width:100%; height:auto;
}
#tt-shop table.calendar {
    table-layout:fixed; border-collapse:collapse; width:100%;
}
#tt-shop table.calendar thead th,
#tt-shop table.calendar tbody td {
    text-align:center; outline:1px solid rgba(0,0,0,.2);
}
#tt-shop table.calendar tbody td.has-not-slots,
#tt-shop table.calendar tbody td.past {
    opacity:.3;
}
#tt-shop table.calendar tbody td.today .day-number {
    font-size:133%;
}
#tt-shop table.calendar tbody td.has-slots {
    cursor:pointer;
}
#tt-shop table.calendar tbody td.has-slots:hover {
    font-weight:bold;
}
#tt-shop table.calendar tbody td.half-full {
    background:orange; color:white;
}
#tt-shop table.calendar tbody td.full {
    background:red; color:white;
}
#tt-shop table.calendar tbody td.selected {
    outline:2px solid black;
}
#tt-shop table.calendar tbody tr.slots-details-line:not(.opened) {
    display:none;
}
#tt-shop .slots-details:not(.selected) {
    display:none;
}
#tt-shop .slots-details .hour-line {
    display:flex; justify-content:space-between; align-items:flex-end;
}
#tt-shop .slots-details .hour-line .slots {
    display:flex;
}
#tt-shop .slots-details .hour-line .slot.booked .hour {
    background:red; color:white;
}
#tt-shop .slots-details .hour-line .slot:not(.booked) .hour {
    background:green; color:white;
}
#tt-shop .slots-details .hour-line .slot > * {
    display:block; text-align:center;
}
#tt-shop .slots-details .book.selected {
    background:#7070FF; color:white;
}


/* Le panier */
#tt-cart .top-errors {
    background:#A00000; padding:1em; margin-bottom:1em;
}
#tt-cart .top-errors .error {
    font-weight:bold; color:white;
}
#tt-cart ul.cart-items {
    list-style:none;
    margin:0;
    margin-top: 30px;
    border-top: 1px solid #00000050;
}
#tt-cart ul.cart-items > li {
    display:flex; border-bottom:1px solid #00000050;
}
#tt-cart ul.cart-items > li > * {
    flex: 5;
    padding-right:2em;
}
#tt-cart ul.cart-items > li > .description {
    flex: 25;
}

/*Assurance*/
.styles-refundRoot-wbRfn {
    font-family: inherit !important;
}

.styles-refundSubHeader-x7DmI {
    background-color: #5ab5a7!important;
}

@media (min-width:574px) {
    #tt-cart .cart-items li > .thumb {
        align-items:flex-start !important;
    }
    #tt-cart .cart-items li > .price-wrapper {
        justify-content:flex-start !important;
        padding-top:36px !important;
    }
    #tt-cart ul.cart-items li > .delete-cart-item {
        align-items:flex-start !important;
        padding-top:44px !important;
    }
}

#tt-cart .cart-items .thumb img {
    width:100%; height:auto;
}
#tt-cart .price-wrapper .delete {
    text-decoration:underline; cursor:pointer;
}
#tt-cart .delete-button:not(.open) .delete-button-choice {height:0 !important; padding:0 !important; overflow:hidden;}

#tt-cart .event-option {
    position:absolute; bottom:25px;
    width:100%; max-width:680px; box-sizing:border-box;
}
#tt-cart .event-option.confirmed {
    max-width:calc(100% - 190px);
}
#tt-cart .event-option .head {
    color:#5ab5a7; font-weight:600; padding-bottom:3px;
}
#tt-cart .event-option .body {
    padding:10px 20px; border:3px solid #5ab5a7;
}
#tt-cart .event-option .body .if-not-confirmed label {
    font-weight:600; cursor:pointer; margin-bottom:0;
}
#tt-cart .event-option .body .if-not-confirmed label .tt-field {
    margin-right:.5em;
}
#tt-cart .event-option .body .if-checked {
    margin-top:15px;
}
#tt-cart .event-option .body .opt-description img {
    float:right; width:150px; height:auto; margin-left:50px;
    position:relative; top:10px;
}
#tt-cart .event-option .body .opt-description h3 {
    text-transform:uppercase; font-size:1.5rem; margin-bottom:0.3rem;
}
#tt-cart .event-option .body .opt-description p {
    line-height:1.3em;
}
#tt-cart .event-option .body .opt-description strong {
    font-weight:600;
}
#tt-cart .event-option .body .action {
    clear:right; padding:15px 0 8px;
}
#tt-cart .event-option .body .action .tt-btn {
    background:#5ab5a7; color:white;
    border:1px solid #5ab5a7; outline:0;
    padding:6px 18px;
}

#tt-cart .event-option .body .if-confirmed {
    display:flex; align-items:center; justify-content:space-between;
}
#tt-cart .event-option .body .if-confirmed .message strong {
    font-size:1.2rem; font-weight:700;
}
#tt-cart .event-option .body .if-confirmed .message {
    width:calc(100% - 194px);
}
#tt-cart .event-option .body .if-confirmed .delete-option {
    margin-top:-3px; cursor:pointer;
}
#tt-cart .event-option .body .if-confirmed .price-wrapper {
    flex:none;
}

#tt-cart .event-option:not(.checked) .if-checked,
#tt-cart .event-option:not(.confirmed) .if-confirmed,
#tt-cart .event-option.confirmed .if-not-confirmed {
    display:none;
}

@media screen and (max-width:1300px) {
    #tt-cart .event-option {
        /*width:calc(78% + 55px); */
        width:calc(85%);
        max-width:100% !important;
    }
}
@media screen and (max-width:830px) {
    #tt-cart .event-option {
        width:calc(80% + 26px);
    }
}
@media screen and (max-width:768px) {
    #tt-cart .event-option {
        width:80%;
    }
    #tt-cart .event-option .body .opt-description img {
        float:none; top:0; margin-bottom:20px; width:100px; margin-left:0;
    }
}
@media screen and (max-width:680px) {
    #tt-cart .event-option {
        width:calc(100% - 40px);
    }
}
@media screen and (max-width:575px) {
    #tt-cart .event-option {
        width:100%;
    }
    #tt-cart .event-option .head {
        margin-top:25px;
    }
    #tt-cart .event-option .body .if-confirmed {
        flex-direction:column;
    }
    #tt-cart .event-option .body .if-confirmed .message {
        width:100%;
    }
    #tt-cart .event-option .body .if-confirmed .price-wrapper {
        text-align:center; margin-bottom:25px;
    }
}



#tt-cart .coupon-form {
    display:flex;
}
#tt-cart .cart-coupon-total {
    padding: 25px 0;
    border-bottom:1px solid #00000050;
    display: flex;
}
#tt-cart .coupon-line {width: 50%;}
#tt-cart .total-lines {width: 50%;}
#tt-cart .title-label {
    font-weight:600; font-size:18px;
}
#tt-cart .title-label.small {
    font-size:14px;
}
#tt-cart .print-at-home-choice {
    margin-bottom:1em;
}
#tt-cart .print-at-home-choice > label {
    position:relative; margin-bottom:1em; font-size:14px; font-weight:300; cursor:pointer;
}
#tt-cart .print-at-home-choice > label > input[type=radio] {
    position:absolute; left:-20px; top:7px;
}
#tt-cart .print-at-home-choice em {
    display:block; max-width:320px;
}
@media (max-width: 668px) {
    #tt-cart .print-at-home-choice > label {
        margin-left:20px;
    }
    #tt-cart .print-at-home-choice em {
        max-width:none;
    }
}
#tt-cart .coupon-line .error {
    font-weight:bold; color:#C61D1B;
}
#tt-cart .discount.price-wrapper {
    text-align: left;
    font-size: 23px;
    color: #5ab5a7;
    font-weight: 700;
}

#tt-cart .coupon-line.coupon-applied {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 20px;
}

#tt-cart .coupon-line.coupon-applied .code {
    text-transform: none;
}
#tt-cart .total-line {
    display:flex;
    justify-content:space-between;
}
#tt-cart .total-line > * {
    padding-right:2em;
}
#tt-cart .price-wrapper {
    text-align:right;
}
#tt-cart .fields > .line {
    display:flex;
}
#tt-cart .checkout-form:not(.is-company) .only-if-company {
    display:none;
}
#tt-cart .checkout-errors {
    font-weight:bold;
    color: #C61D1B;
    text-align: center;
    margin-bottom: 20px;
}


/* Page de remerciement */
#tt-thankyou .thankyou-notice {
    background:#00A000; color:white; text-align:center; padding:1em;
}
#tt-thankyou .order-summary .line {
    display:flex; justify-content:space-between; border-bottom:1px solid black;
}
#tt-thankyou .lines {
    margin:30px 0;
}
#tt-thankyou .players .checkboxes {
    display:flex;
}
#tt-thankyou .players .checkbox-col {
    width:50px; text-align:center;
}
#tt-thankyou .players .head-line {
    display:flex; justify-content:flex-end;
}
#tt-thankyou .players .body .player-line {
    display:flex; justify-content:space-between;
}
#tt-thankyou .players .actions {
    display:flex; justify-content:flex-end;
}
#tt-thankyou .error {
    font-weight:bold; color:#A00000;
}
#tt-thankyou .success {
    font-weight:bold; color:#00A000;
}

/* Prochaines sessions */
#tt-next-sessions #wrapper {
    text-align: center
}
#tt-next-sessions #wrapper #date {
    font-size: 1.2em; text-transform: capitalize; text-align:center;
}
#tt-next-sessions .block-room-wrapper {
    position: relative; display: inline-block;
}
#tt-next-sessions .block-room-wrapper .block-room {
    display:inline-block; 
    vertical-align:top; 
    width:74px;
}
#tt-next-sessions .block-room-wrapper .block-room .next-session-game {
    text-align:center;
}
#tt-next-sessions .block-room-wrapper .block-room .next-session-game .icon {
    margin-right: 0;
}
#tt-next-sessions .block-room-wrapper .block-room .next-session-game .name {
    font-size: 10px; line-height: 1em; height:40px; padding: 0 5px
}
#tt-next-sessions .block-room-wrapper .block-room .book {
    min-width: 72px
}

@media (max-width:750px) {
    #tt-next-sessions .block-room-wrapper .block-room {
        width: 56px;
    }
    #tt-next-sessions .block-room-wrapper .block-room .next-session-game .name {
        font-size: 8px;
    }
    #tt-next-sessions .block-room-wrapper .block-room .book {
        min-width: 56px;
        font-size: 0.8em;        
    }    

}

@media (max-width:575px) {
    #tt-next-sessions #wrapper {
        position: relative;
    }

    #tt-next-sessions .block-room-wrapper .block-room {
        width: 35px;
    }
    #tt-next-sessions .block-room-wrapper .block-room .book {
        min-width: 33px;
        font-size: 0.6em;
        padding: 9px 0px;
        position: relative;
        left: 2px;
    }

    #tt-next-sessions .block-room-wrapper .block-room .next-session-game .image {
        width: 40px;
    }
    #tt-next-sessions .block-room-wrapper .block-room .next-session-game .name {
        width: 65px;
        transform: rotate(90deg);
        position: relative;
        left: -23px;
        top: 10px;
        text-align: left;
    }
}

@media (max-width:415px) {
    #tt-next-sessions #wrapper {
        overflow: scroll;    
        text-align: left; 
    }
    #tt-next-sessions #wrapper #date {
        position: absolute;
        width: 100%;
    }
    #tt-next-sessions .block-room-wrapper {
        min-width: 385px;
        margin-top: 30px;
    }
}


#tt-next-sessions table {
    border-collapse:collapse; width:100%;
}
#tt-next-sessions table thead th {
    background:white;
}
#tt-next-sessions tr th:not(:first-child),
#tt-next-sessions tr td:not(:first-child) {
    /* text-align:center; */
}
#tt-next-sessions table thead th .inner {
    margin:.5em;
}
#tt-next-sessions table tbody td .inner {
    margin:.1em .5em;
}
#tt-next-sessions td.col-room {
    width: 250px;
    text-align: right;
}
#tt-next-sessions .col-name .icon {
    width: 63px;
    height:auto;
    margin-right: 10px;
}
#tt-next-sessions .slot {
    background:#00B000; color:white; text-align:center;
}
#tt-next-sessions .slot.booked {
    background:#A00000;
}
#tt-next-sessions .right-sep {
    position:relative;
}
#tt-next-sessions .right-sep:after {
    content:''; position:absolute; right:0; top:10px; bottom:10px; border-right:1px solid black;
}
#tt-next-sessions .all-sessions {
    text-align: center;
    text-decoration: underline;
}
