.ttygc-wrap{max-width:980px;margin:0 auto;padding:28px 16px 50px}.ttygc-hero{text-align:center;margin-bottom:28px}.ttygc-kicker{font-size:.78rem;letter-spacing:.13em;font-weight:700;color:#365b49;margin-bottom:8px}.ttygc-hero h1{color:#365b49;margin-bottom:10px}.ttygc-hero p{max-width:720px;margin-left:auto;margin-right:auto}.ttygc-form{background:#fff;border:1px solid #dfe5dc;border-radius:18px;padding:24px;box-shadow:0 3px 14px rgba(0,0,0,.035)}.ttygc-card{background:#f5f7f3;border-radius:14px;padding:20px;margin-bottom:20px}.ttygc-card h2{font-size:1.15rem;margin:0 0 14px}.ttygc-amounts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.ttygc-amounts label{margin:0}.ttygc-amounts input{position:absolute;opacity:0;pointer-events:none}.ttygc-amounts span{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #cbd6c8;border-radius:999px;background:#fff;color:#365b49;font-weight:700;cursor:pointer}.ttygc-amounts input:checked+span{background:#365b49;color:#fff;border-color:#365b49}.ttygc-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ttygc-field{display:block;margin:14px 0}.ttygc-field>span,.ttygc-fieldset legend{display:block;font-size:.86rem;font-weight:700;color:#394239;margin-bottom:6px}.ttygc-field input,.ttygc-field textarea{width:100%;margin:0;border-radius:10px!important}.ttygc-fieldset{border:0;padding:0;margin:20px 0}.ttygc-fieldset label{display:block;margin:8px 0}.ttygc-submit{margin-top:10px!important}.ttygc-note{font-size:.78rem;color:#777;margin:12px 0 0}@media(max-width:549px){.ttygc-wrap{padding:16px 12px 35px}.ttygc-form{padding:16px}.ttygc-grid{grid-template-columns:1fr}.ttygc-amounts span{padding:8px 12px}}

/* TEA & TY Cartes Cadeaux — UX 0.1.1 */

.ttygc-conditional{
    display:none;
}

.ttygc-conditional.is-visible{
    display:block;
}

.ttygc-fieldset input[type="radio"]{
    accent-color:#365b49;
}

.ttygc-submit,
.ttygc-submit.button,
.ttygc-submit.button.primary{
    background:#365b49!important;
    border-color:#365b49!important;
    color:#fff!important;
}

.ttygc-submit:hover,
.ttygc-submit.button:hover,
.ttygc-submit.button.primary:hover{
    background:#294838!important;
    border-color:#294838!important;
    color:#fff!important;
}

.ttygc-fieldset{
    padding-top:4px;
}

.ttygc-fieldset legend{
    margin-bottom:10px;
    text-transform:uppercase;
    letter-spacing:.02em;
}

.ttygc-fieldset label{
    cursor:pointer;
}


/* TEA & TY - redemption V0.2 */

.ttygc-redeem-box{
    margin:18px 0 24px;
    padding:18px;
    border:1px solid #dfe5dc;
    border-radius:14px;
    background:#f7f8f5;
}

.ttygc-redeem-title{
    margin-bottom:10px;
    font-size:14px;
    font-weight:700;
    color:#365b49;
}

.ttygc-redeem-form{
    display:flex;
    align-items:center;
    gap:10px;
}

.ttygc-redeem-form input{
    flex:1;
    margin:0!important;
    border-radius:9px!important;
}

.ttygc-redeem-form .button{
    margin:0!important;
    background:#365b49!important;
    border-color:#365b49!important;
    color:#fff!important;
}

.ttygc-redeem-active{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.ttygc-redeem-remove{
    margin:0!important;
}

@media(max-width:549px){

    .ttygc-redeem-form,
    .ttygc-redeem-active{
        display:block;
    }

    .ttygc-redeem-form input{
        width:100%;
        margin-bottom:10px!important;
    }
}



/* TEA & TY - carte cadeau dans les moyens de paiement V0.2.1 */

.ttygc-redeem-box{
    margin:0 0 18px!important;
    padding:18px 20px!important;
    border:1px solid #e1e5df!important;
    border-radius:10px!important;
    background:#fafbf8!important;
}

.ttygc-redeem-payment-title{
    margin:0 0 4px;
    font-size:15px;
    font-weight:700;
    color:#365b49;
}

.ttygc-redeem-payment-description{
    margin:0 0 14px;
    font-size:13px;
    line-height:1.45;
    color:#666;
}

.ttygc-redeem-entry{
    display:flex;
    gap:10px;
    align-items:center;
}

.ttygc-redeem-entry input{
    flex:1;
    height:42px;
    margin:0!important;
    border-radius:6px!important;
}

.ttygc-redeem-entry .button{
    height:42px;
    margin:0!important;
    padding:0 18px!important;
    background:#365b49!important;
    border-color:#365b49!important;
    color:#fff!important;
}

.ttygc-redeem-active{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.ttygc-redeem-active strong{
    display:block;
    margin-bottom:4px;
    color:#365b49;
}

.ttygc-redeem-active span{
    display:block;
    font-size:13px;
    line-height:1.45;
}

.ttygc-redeem-message{
    margin-top:10px;
    padding:8px 10px;
    border-radius:5px;
    font-size:13px;
}

.ttygc-redeem-message.is-error{
    background:#fff0f0;
    color:#a12622;
}

.ttygc-redeem-message.is-success{
    background:#eef7ee;
    color:#365b49;
}

@media(max-width:549px){

    .ttygc-redeem-entry{
        display:block;
    }

    .ttygc-redeem-entry input{
        width:100%;
        margin-bottom:9px!important;
    }

    .ttygc-redeem-active{
        display:block;
    }

    .ttygc-redeem-active .button{
        margin-top:10px!important;
    }
}



/* TEA & TY - retrait discret carte cadeau */

.ttygc-redeem-active{
    display:block!important;
}

.ttygc-redeem-active strong{
    display:block;
    margin-bottom:4px;
}

.ttygc-redeem-active span{
    display:block;
}

.ttygc-redeem-remove{
    display:inline-block;
    margin:7px 0 0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
    color:#6b776e!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1.4!important;
    text-decoration:underline!important;
    text-transform:none!important;
    cursor:pointer;
}

.ttygc-redeem-remove:hover{
    color:#365b49!important;
    background:none!important;
}



/* TEA & TY - retrait carte cadeau depuis le panier */

.ttygc-cart-total-row td{
    vertical-align:top;
}

.ttygc-redeem-remove-total{
    display:block!important;
    margin:3px 0 0 auto!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    box-shadow:none!important;
    color:#6b776e!important;
    font-size:11px!important;
    font-weight:400!important;
    line-height:1.3!important;
    text-decoration:underline!important;
    text-transform:none!important;
    cursor:pointer;
}

.ttygc-redeem-remove-total:hover{
    color:#365b49!important;
    background:none!important;
}



/* TEA & TY - saisie carte cadeau dans zone paiement panier V0.2.3 */

.woocommerce-cart .ttygc-cart-payment-box{
    margin:14px 0 12px;
}

.woocommerce-cart .ttygc-cart-payment-box .ttygc-redeem-box{
    margin:0!important;
    padding:14px 16px!important;
}

.woocommerce-cart
.ttygc-cart-payment-box
.ttygc-redeem-payment-description{
    margin-bottom:10px;
}

.woocommerce-cart
.ttygc-cart-payment-box
.ttygc-redeem-entry input{
    height:40px;
}

.woocommerce-cart
.ttygc-cart-payment-box
.ttygc-redeem-entry .button{
    height:40px;
}



/* TEA & TY - UX carte cadeau panier V0.2.4 */

.woocommerce-cart .ttygc-cart-gift-details{
    margin:12px 0 14px;
    padding:0;
    border:0;
    background:none;
}

.woocommerce-cart .ttygc-cart-gift-details summary{
    position:relative;
    padding:7px 22px 7px 0;
    color:#365b49;
    font-size:13px;
    font-weight:600;
    line-height:1.4;
    cursor:pointer;
    list-style:none;
}

.woocommerce-cart .ttygc-cart-gift-details summary::-webkit-details-marker{
    display:none;
}

.woocommerce-cart .ttygc-cart-gift-details summary:after{
    content:"+";
    position:absolute;
    right:2px;
    top:5px;
    font-size:18px;
    font-weight:400;
    color:#6b776e;
}

.woocommerce-cart .ttygc-cart-gift-details[open] summary:after{
    content:"−";
}

.woocommerce-cart .ttygc-cart-gift-content{
    padding:6px 0 2px;
}

.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-box{
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
}

.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-payment-title,
.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-payment-description{
    display:none!important;
}

.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-entry{
    display:flex!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
}

.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-code{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    height:40px!important;
    margin:0!important;
    padding:0 11px!important;
    font-size:13px!important;
}

.woocommerce-cart
.ttygc-cart-gift-content
.ttygc-redeem-apply{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:105px!important;
    height:40px!important;
    margin:0!important;
    padding:0 15px!important;
    font-size:12px!important;
    line-height:40px!important;
    white-space:nowrap!important;
}

@media(max-width:549px){

    .woocommerce-cart
    .ttygc-cart-gift-content
    .ttygc-redeem-entry{
        display:flex!important;
    }

    .woocommerce-cart
    .ttygc-cart-gift-content
    .ttygc-redeem-apply{
        min-width:90px!important;
        padding:0 10px!important;
    }
}


/* ===== TEA & TY — Cartes cadeaux ateliers V0.3.0 ===== */

.ttygc-gift-types{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
}

.ttygc-gift-types label,
.ttygc-workshop-options label{
    position:relative;
    margin:0;
    cursor:pointer;
}

.ttygc-gift-types input,
.ttygc-workshop-options input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.ttygc-gift-types label > span,
.ttygc-workshop-options label > span{
    display:block;
    border:1px solid #dfe5df;
    border-radius:8px;
    background:#fff;
    transition:border-color .15s ease,
               box-shadow .15s ease,
               background .15s ease;
}

.ttygc-gift-types label > span{
    padding:16px 18px;
}

.ttygc-gift-types strong{
    display:block;
    margin-bottom:3px;
    font-size:16px;
}

.ttygc-gift-types small{
    display:block;
    color:#6b746e;
    font-size:13px;
}

.ttygc-gift-types input:checked + span,
.ttygc-workshop-options input:checked + span{
    border-color:#365b49;
    box-shadow:0 0 0 1px #365b49;
    background:#f7f9f6;
}

.ttygc-workshop-intro{
    margin-bottom:18px;
}

.ttygc-workshop-options{
    display:grid;
    gap:10px;
}

.ttygc-workshop-options label > span{
    padding:16px 18px;
}

.ttygc-workshop-name{
    display:block;
    font-weight:700;
    font-size:17px;
    margin-bottom:5px;
}

.ttygc-workshop-meta{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:center;
    color:#687169;
    font-size:13px;
}

.ttygc-workshop-meta strong{
    color:#365b49;
    font-size:17px;
    white-space:nowrap;
}

@media (max-width:700px){

    .ttygc-gift-types{
        grid-template-columns:1fr;
    }
}

/* ===== TEA & TY — Réservation carte atelier V0.3.2 ===== */

.ttygc-workshop-booking{
    max-width:900px;
    margin-left:auto;
    margin-right:auto;
}

.ttygc-workshop-booking .ttygc-card{
    margin-bottom:18px;
}

.ttygc-booking-sessions{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.ttygc-booking-sessions label{
    position:relative;
    margin:0;
    cursor:pointer;
}

.ttygc-booking-sessions input[type="radio"]{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.ttygc-booking-sessions label > span{
    display:block;
    padding:16px 18px;
    border:1px solid #dfe5df;
    border-radius:8px;
    background:#fff;
    transition:border-color .15s ease,
               box-shadow .15s ease,
               background .15s ease;
}

.ttygc-booking-sessions input:checked + span{
    border-color:#365b49;
    box-shadow:0 0 0 1px #365b49;
    background:#f7f9f6;
}

.ttygc-booking-sessions strong{
    display:block;
    font-size:16px;
}

.ttygc-booking-sessions small{
    display:block;
    margin-top:4px;
    color:#687169;
}

.ttygc-booking-sessions .is-full{
    opacity:.5;
    cursor:not-allowed;
}

.ttygc-grid-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}

.ttygc-booking-success{
    border-color:#365b49;
}

.ttygc-booking-date{
    font-size:20px;
    font-weight:700;
    color:#365b49;
}

.ttygc-notice-error{
    padding:14px 16px;
    margin-bottom:18px;
    border:1px solid #c96d62;
    background:#fff7f5;
    border-radius:8px;
}

@media (max-width:700px){

    .ttygc-grid-2{
        grid-template-columns:1fr;
    }
}

/* ===== Réservation atelier V0.3.3 ===== */

.ttygc-workshop-booking.has-code .ttygc-code-card{
    display:none;
}

.ttygc-code-compact{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin:0 0 18px;
    padding:11px 16px;
    border:1px solid #dfe5df;
    border-radius:8px;
    background:#f7f9f6;
    font-size:14px;
}

.ttygc-code-compact strong{
    color:#365b49;
}

.ttygc-code-compact a{
    font-size:13px;
    color:#365b49;
    text-decoration:underline;
}

.ttygc-booking-main h2{
    margin-bottom:5px;
}

.ttygc-booking-main > p:not(.ttygc-kicker){
    margin-bottom:18px;
}

.ttygc-booking-sessions label > span{
    position:relative;
    padding-left:52px;
}

.ttygc-booking-sessions label > span:before{
    content:"";
    position:absolute;
    left:18px;
    top:50%;
    width:17px;
    height:17px;
    border:2px solid #9ba79f;
    border-radius:50%;
    transform:translateY(-50%);
    background:#fff;
}

.ttygc-booking-sessions input:checked + span:before{
    border-color:#365b49;
}

.ttygc-booking-sessions input:checked + span:after{
    content:"";
    position:absolute;
    left:23px;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#365b49;
    transform:translateY(-50%);
}

.ttygc-workshop-booking-form button.button{
    background:#365b49 !important;
    border-color:#365b49 !important;
    color:#fff !important;
}

.ttygc-workshop-booking-form button.button:hover{
    opacity:.9;
}

