/**
 * CSS Pour la fiche produit
 * Author: GBI
 */

/** 
 * FICHE PRODUIT - STRUCTURE GLOBALE 
 */
.tc-single-product-page {
    width:100%;
    margin:0;
    padding:0;
    overflow:hidden;
}
.single-product .woocommerce-breadcrumb,
.single-product #sidebar,
.single-product .et_pb_widget_area,
.single-product .widget-area {
    display:none!important;
}
.single-product #main-content,
.single-product #main-content .container,
.single-product #left-area,
.single-product .woocommerce,
.single-product .product {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.tc-product-container {
    width:min(1280px, calc(100% - 48px));
    margin:0 auto;
}
.tc-product-section {
    width:100%;
    position:relative;
}
@media(max-width:767px){
    .tc-product-container {
        width:calc(100% - 24px);
    }
}
.tc-product-single {
    width:100%;
    margin:0;
    padding:0;
}
.tc-product-container {
    width:min(1180px, calc(100% - 48px));
    margin:0 auto;
    position:relative;
    z-index:2;
}
.tc-product-zone {
    width:100%;
    position:relative;
}
/**
 * FICHE PRODUITS
 */
/* Zone Haute */
.tc-product-zone-top {
    min-height:560px;
    padding:42px 0 80px;
    background:transparent;
}
/* Vague svg */
.tc-product-wave-separator {
    width:100%;
    height:90px;
    margin-top:-1px;
    line-height:0;
    background:transparent;
}
.tc-product-wave-separator svg {
    display:block;
    width:100%;
    height:100%;
}
.tc-product-wave-separator path {
    fill:#EEE4D6;
}
/* Zone basse */
.tc-product-zone-bottom {
    min-height:520px;
    padding:30px 0 70px;
    background:#EEE4D6;
    position:relative;
}
@media(max-width:767px){
    .tc-product-container {
        width:calc(100% - 24px);
    }
    .tc-product-zone-top {
        padding:28px 0 60px;
    }
    .tc-product-wave-separator {
        height:56px;
    }
    .tc-product-zone-bottom {
        padding:24px 0 50px;
    }
}
/**
 * Fiche produit partie haute (image et informations)
 */
.tc-product-top-layout {
    display:grid;
    grid-template-columns:1fr 0.82fr;
    gap:48px;
    align-items:start;
    
    display:grid;
    grid-template-columns:1fr 0.82fr;
    gap:48px;
    align-items:stretch;
    margin-bottom:75px;
}
.tc-product-buy-box {
    display:flex;
    flex-direction:column;
    height:100%;
}
/* -=- GALERIE PRODUIT -=- */
.tc-product-gallery-wrap {
    width:100%;
    max-width:620px;
}
.tc-product-main-image {
    width:100%;
    aspect-ratio:1.18 / 1;
    overflow:hidden;
    border-radius:22px;
    background:#EDE4D8;
    box-shadow: 0 12px 30px rgba(47,38,31,.08);
}
.tc-product-main-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.tc-product-thumbs {
    display:flex;
    gap:12px;
    margin-top:16px;
}
.tc-product-thumb {
    width:72px;
    height:72px;
    padding:0;
    border:none;
    overflow:hidden;
    border-radius:12px;
    cursor:pointer;
    background:#F7F1E8;
    transition:
        transform .18s ease,
        border-color .18s ease;
    border:2px solid transparent;
}
.tc-product-thumb img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.tc-product-thumb.is-active {
    border-color:#B08A49;
}
.tc-product-thumb:hover {
    transform:none!important;
}
@media(max-width:767px){
    .tc-product-gallery-wrap {
        max-width:none;
    }
    .tc-product-main-image {
        border-radius:18px;
    }
    .tc-product-thumbs {
        gap:8px;
        overflow-x:auto;
        padding-bottom:4px;
    }
    .tc-product-thumb {
        flex:0 0 62px;
        width:62px;
        height:62px;
    }
}
/* -=- TitreT -=- */
.tc-product-buy-title-wrap {
    display:flex;
    flex-direction:column;
    gap:2px;
}
.tc-product-buy-title-line1,
.tc-product-buy-title-line2 {
    margin:0;
    color:#241D18;
    font-family:"Cormorant Garamond", serif;
    font-weight:500;
    line-height:.95;
    letter-spacing:-0.5px;
    font-size:64px;
}
@media(max-width:767px){
    .tc-product-buy-title-line1,
    .tc-product-buy-title-line2 {
        font-size:46px;
    }
} 
/* -=- Sous titre -=- */
.tc-product-buy-subtitle {
    margin-top:6px;
    color:#9A7A43;
    font-size:20px;
    line-height:1.2;
}
/* -=- Prix -=- */
.tc-product-buy-price {
    margin-top:20px;
    color:#9A7A43;
    font-size:52px;
    line-height:1;
    font-weight:500;
    letter-spacing:-1px;
    margin-top:34px;
    margin-bottom:30px;
}
.tc-product-buy-price span {
    margin-left:6px;
    color:#6C6258;
    font-size:24px;
    font-weight:400;
}
@media(max-width:767px){
    .tc-product-buy-price {
        font-size:44px;
    }
}
/* -=- Informations -=- */
.tc-product-buy-infos {
    margin-top:16px;
    display:grid;
    gap:8px;
    color:#241D18;
    font-size:15px;
    line-height:1.25;
}
/* -=- Informations Disponibilité -=- */
.tc-product-stock-ok .tc-product-info-icon {
    color:#8A6A35;
}
.tc-product-stock-ko {
    color:#9A2F1F;
}
.tc-product-stock-ko .tc-product-info-icon {
    color:#9A2F1F;
    font-weight:700;
}
.tc-product-info-icon {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    margin-right:7px;
    vertical-align:-5px;
}
.tc-product-info-icon svg {
    display:block;
}
.tc-product-info-icon-ok {
    color:#8A6A35;
}
.tc-product-info-icon-ko {
    color:#9A2F1F;
}
.tc-product-stock-ko {
    color:#9A2F1F;
}
/* -=- Information livraison -=- */
.tc-product-info-icon-delivery {
    color:#A88445;
    color:#8A6A35;
    vertical-align: -3px;
}
/* -=- Information fiche top -=- */
.tc-product-info-icon-extra {
    color:#8A6A35;
    position:relative;
    top:-1px;
}
/* -=- Quantité, total -=- */
.tc-product-buy-bottom {
    margin-top:auto;
}
.tc-product-surface-row {
    margin-top:32px;
    display:grid;
    grid-template-columns:auto auto;
    align-items:end;
    justify-content:space-between;
    gap:40px;
}
.tc-product-surface-box {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}
.tc-product-surface-box label {
    display:block;
    margin-bottom:10px;
    font-size:18px;
    font-weight:500;
    line-height:1;
}
.tc-product-surface-input {
    display:inline-flex;
    height:50px;
    border:1px solid rgba(154,122,67,.45);
    border-radius:8px;
    overflow:hidden;
    background:#FBF8F3;
    font-size:30px;
}
.tc-product-surface-input input {
    width:88px;
    min-width:88px;
    border:0!important;
    outline:none!important;
    background:transparent!important;
    color:#241D18;
    font-size:34px;
    font-weight:500;
    text-align:center;
    padding:0!important;
}
.tc-product-surface-input span {
    min-width:52px;
    width:auto;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#EFE3CF;
    color:#6C6258;
    font-size:18px;
    font-weight:500;
    white-space:nowrap;
}
.tc-product-total-box {
    position:relative;
    top:-4px;
    text-align:right;
    white-space:nowrap;
}
.tc-product-total-box span {
    font-size:20px;
    margin-bottom:4px;
}
.tc-product-total-box strong {
    display:block;
    white-space:nowrap;
    font-size:52px;
    line-height:.95;
}
/* -=- Bouton d'ajout au panier '-=- */
.tc-product-actions {
    display:flex;
    gap:14px;
    margin-top:35px;
    align-items:stretch;
}

.tc-product-main-cta,
.tc-view-cart-link {
    min-height:48px;
    border-radius:7px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none!important;
    text-transform:uppercase;
    font-size:14px;
    font-weight:500;
    letter-spacing:.35px;
    box-shadow:0 5px 14px rgba(83,58,24,.20);
}

.tc-product-main-cta {
    flex:1;
    border:none;
    background:#B08A49;
    color:#fff!important;
    cursor:pointer;
}

.tc-view-cart-link {
    display:none;
    flex:0 0 190px;
    background:#B08A49;
    color:#fff!important;
    border:none!important;
    white-space:nowrap;
}

.tc-view-cart-link.is-visible {
    display:flex;
}
.tc-product-buy-bottom .added_to_cart,
.tc-add-to-cart-btn + .added_to_cart {
    display:none!important;
}
/* RESPONSIVE */
@media(max-width:980px){
    .tc-product-top-layout {
        grid-template-columns:1fr;
        gap:28px;
    }
}
@media(max-width:767px){
    .tc-product-surface-row {
        gap:16px;
    }
    .tc-product-total-box strong {
        font-size:28px;
    }
}
/**
 * Partie description courte et image 2
 */
.tc-product-description-block {
    display:grid;
    grid-template-columns:1fr .92fr;
    gap:70px;
    align-items:center;
}
.tc-product-description-text {
    max-width:560px;
    color:#241D18;
}
.tc-product-description-text h2 {
    margin:0 0 24px!important;
    color:#241D18!important;
    font-family:"Cormorant Garamond", serif;
    font-size:48px!important;
    line-height:1.02!important;
    font-weight:500!important;
    letter-spacing:-.4px;
}
.tc-product-description-text p {
    margin:0 0 18px;
    color:#4F463D;
    font-size:17px;
    line-height:1.65;
}
.tc-product-description-text ul {
    margin:18px 0 22px;
    padding:0;
    list-style:none;
}
.tc-product-description-text li {
    position:relative;
    margin-bottom:10px;
    padding-left:24px;
    color:#4F463D;
    font-size:16px;
    line-height:1.5;
}
.tc-product-description-text li::before {
    content:"";
    position:absolute;
    left:0;
    top:.62em;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#A88445;
}
.tc-product-description-image {
    width:100%;
    aspect-ratio:1.08 / 1;
    overflow:hidden;
    border-radius:28px;
    box-shadow:0 14px 34px rgba(47,38,31,.10);
}
.tc-product-description-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
@media(max-width:980px) {
    .tc-product-description-block {
        grid-template-columns:1fr;
        gap:34px;
    }
    .tc-product-description-text {
        max-width:none;
    }
}
@media(max-width:767px) {
    .tc-product-description-text h2 {
        font-size:36px!important;
    }
    .tc-product-description-text p,
    .tc-product-description-text li {
        font-size:15px;
    }
    .tc-product-description-image {
        border-radius:20px;
    }
}

/* =========================================================
   BLOC CARACTÉRISTIQUES / LIVRAISON
========================================================= */
/**
 * Partie caractéristiques et livraison
 */
.tc-product-bottom-info {
    display:grid;
    grid-template-columns:1fr 340px;
    gap:64px;
    align-items:start;
}
.tc-product-characteristics h2,
.tc-product-delivery-stock h2 {
    margin:0 0 22px!important;
    color:#241D18!important;
    font-family:"Cormorant Garamond", serif;
    font-size:34px!important;
    line-height:1.05!important;
    font-weight:500!important;
}
.tc-product-characteristics-grid {
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
}
.tc-product-characteristic-card {
    min-height:96px;
    padding:18px 18px 16px;
    border-radius:12px;
    background:rgba(255,255,255,.62);
    box-shadow:0 8px 22px rgba(47,38,31,.08);
    border:1px solid rgba(255,255,255,.55);
}
.tc-product-characteristic-card span {
    display:block;
    margin-bottom:8px;
    color:#5E544B;
    font-size:14px;
    line-height:1.2;
    font-weight:500;
}
.tc-product-characteristic-card strong {
    display:block;
    color:#241D18;
    font-size:17px;
    line-height:1.25;
    font-weight:500;
}
/* -=- Livraison -=- */
.tc-product-delivery-stock {
    padding-top:2px;
}
.tc-product-delivery-list {
    display:grid;
    gap:20px;
    color:#241D18;
    font-size:17px;
    line-height:1.3;
}
.tc-product-delivery-list div {
    display:flex;
    align-items:center;
    gap:12px;
}
.tc-product-delivery-list span {
    width:26px;
    display:inline-flex;
    justify-content:center;
    color:#A88445;
}
.tc-product-delivery-list span.tc-delivery-icon {
    width:26px;
    height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#8A6A35;
}
.tc-delivery-icon svg {
    display:block;
}
.tc-delivery-icon-fr {
    font-size:12px;
    font-weight:700;
    letter-spacing:.5px;
}
@media(max-width:980px) {
    .tc-product-bottom-info {
        grid-template-columns:1fr;
        gap:36px;
    }
    .tc-product-characteristics-grid {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:767px) {
    .tc-product-characteristics-grid {
        grid-template-columns:1fr;
    }
    .tc-product-bottom-info {
        gap:30px;
    }
}
/**
 * Fiche produit - Produits liés
 */
.tc-product-linked-products {
    margin-top:64px;
}
.tc-product-linked-header {
    margin-bottom:24px;
}
.tc-product-linked-header h2 {
    margin:0!important;
    color:#241D18!important;
    font-family:"Cormorant Garamond", serif;
    font-size:34px!important;
    line-height:1.05!important;
    font-weight:500!important;
}
.tc-linked-products-woocommerce ul.products {
    margin-top:0!important;
}