/* HOMEPAGE + GLOBAL LAYOUT - Effet Wellness 2026 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Open Sans',sans-serif;color:#333;line-height:1.6;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;height:auto;}
.ew-c{max-width:1200px;margin:0 auto;padding:0 20px;}

/* === TOPBAR === */
.ew-topbar{background:#0f4f52;color:#fff;font-size:12px;padding:7px 0;}
.ew-topbar-inner{display:flex;align-items:center;justify-content:space-between;}
.ew-topbar-l{color:rgba(255,255,255,.75);}
.ew-topbar-l a{color:#fff;text-decoration:underline;}
.ew-topbar-r{display:flex;align-items:center;gap:16px;}
.ew-topbar-r a{color:rgba(255,255,255,.75);font-size:12px;}
.ew-topbar-r a:hover{color:#fff;}
.ew-topbar-btn{border:1px solid #fff;padding:4px 14px;border-radius:3px;color:#fff !important;font-weight:600;}
.ew-topbar-btn:hover{background:rgba(255,255,255,.1);}

/* === HEADER (supports both front-page .ew-hdr and header.php .ew-header classes) === */
.ew-hdr,.ew-header{background:#fff !important;padding:10px 0 !important;border-bottom:1px solid #eee !important;position:sticky !important;top:0 !important;z-index:999 !important;display:block !important;}
.ew-hdr-inner,.ew-header-inner{display:flex !important;align-items:center !important;justify-content:space-between !important;}
.ew-hdr-nav-l,.ew-nav-left{display:flex !important;align-items:center !important;gap:20px !important;}
.ew-hdr-nav-l>a,.ew-nav-left>a,.ew-dd>a,.ew-dropdown>a{font-size:13px !important;color:#0f4f52 !important;font-weight:500 !important;padding:6px 0 !important;transition:color .2s !important;text-decoration:none !important;}
.ew-hdr-nav-l>a:hover,.ew-nav-left>a:hover,.ew-dd>a:hover,.ew-dropdown>a:hover{color:#ab9a65 !important;}
.ew-dd,.ew-dropdown{position:relative !important;}
.ew-dd-menu,.ew-drop-menu{display:none !important;position:absolute !important;top:100% !important;left:0 !important;background:#fff !important;border-radius:8px !important;box-shadow:0 8px 24px rgba(0,0,0,.12) !important;padding:8px 0 !important;min-width:200px !important;z-index:9000 !important;margin-top:6px !important;}
.ew-dd-menu a,.ew-drop-menu a{display:block !important;padding:7px 18px !important;font-size:13px !important;color:#333 !important;text-decoration:none !important;}
.ew-dd-menu a:hover,.ew-drop-menu a:hover{background:#f4efe8 !important;color:#0f4f52 !important;}
.ew-hdr-logo img,.ew-header-logo img,.ew-logo-center img{max-height:42px !important;}
.ew-hdr-right,.ew-header-right{display:flex !important;align-items:center !important;gap:16px !important;}
.ew-hdr-icons,.ew-header-icons{display:flex !important;align-items:center !important;gap:6px !important;}

/* Header icon buttons (header.php uses .ew-icon-btn, front-page uses .ew-icn) */
.ew-icon-btn{display:flex !important;align-items:center !important;justify-content:center !important;width:34px !important;height:34px !important;color:#0f4f52 !important;background:none !important;border:none !important;cursor:pointer !important;position:relative !important;border-radius:50% !important;transition:background .2s !important;padding:0 !important;text-decoration:none !important;}
.ew-icon-btn:hover{background:#f4efe8 !important;color:#0f4f52 !important;}
.ew-icon-btn svg{width:18px !important;height:18px !important;}
.ew-badge{position:absolute !important;top:-2px !important;right:-2px !important;background:#ab9a65 !important;color:#fff !important;font-size:9px !important;font-style:normal !important;font-weight:700 !important;width:16px !important;height:16px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.ew-icn{display:flex !important;align-items:center !important;justify-content:center !important;width:34px !important;height:34px !important;color:#0f4f52 !important;background:none !important;border:none !important;cursor:pointer !important;position:relative !important;border-radius:50% !important;transition:background .2s !important;padding:0 !important;}
.ew-icn:hover{background:#f4efe8 !important;}
.ew-icn svg{width:18px !important;height:18px !important;}
.ew-icn em{position:absolute !important;top:-2px !important;right:-2px !important;background:#ab9a65 !important;color:#fff !important;font-size:9px !important;font-style:normal !important;font-weight:700 !important;width:16px !important;height:16px !important;border-radius:50% !important;display:flex !important;align-items:center !important;justify-content:center !important;}
.ew-marque{display:flex !important;flex-direction:column !important;align-items:flex-start !important;border-left:1px solid #ddd !important;padding-left:14px !important;line-height:1.15 !important;gap:4px !important;}
.ew-marque small{font-size:8px !important;color:#999 !important;text-transform:uppercase !important;letter-spacing:.5px !important;}
.ew-marque-logo{height:28px !important;width:auto !important;display:block !important;}
.ew-sb{display:none;background:#fff;border-top:1px solid #eee;padding:10px 0;}
.ew-sb.open{display:block;}

/* === HERO === */
.ew-hero{position:relative;min-height:620px;overflow:hidden;background:#003841;}
.ew-hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.85;}
.ew-hero-ov{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(0,56,65,.5) 0%,rgba(0,56,65,.2) 50%,rgba(0,56,65,0) 100%);}
.ew-hero-ct{position:relative;z-index:2;padding:90px 0 0;}
.ew-hero h1{font-family:'Libre Bodoni',Georgia,serif;font-size:48px;color:#fff;line-height:1.18;font-weight:400;font-style:italic;max-width:640px;text-shadow:0 2px 16px rgba(0,0,0,.35);letter-spacing:-.005em;}
.ew-hero h1 em{font-style:italic;}
@media(max-width:700px){.ew-hero{min-height:480px;}.ew-hero h1{font-size:30px;}.ew-hero-ct{padding:70px 0 180px;}}

/* Benefits strip */
.ew-bene{position:absolute;bottom:80px;left:0;right:0;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 28px rgba(0,0,0,.18);}
.ew-bene-row{display:flex;align-items:center;}
.ew-bene-item{flex:1;display:flex;align-items:center;gap:16px;padding:22px 28px;}
.ew-bene-item + .ew-bene-item{border-left:1px solid #e9e2d5;}
.ew-bene-ic{
    width:54px;height:54px;min-width:54px;
    border-radius:50%;
    background:transparent;
    border:1.5px solid #c5d3cf;
    display:flex;align-items:center;justify-content:center;
    box-shadow:none;
}
.ew-bene-ic svg{display:block;}
.ew-bene-item b{display:block;font-size:12px;color:#0f4f52;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.ew-bene-item p{font-size:12px;color:#5b6470;line-height:1.5;margin:0;}
@media(max-width:768px){.ew-bene{position:static;}.ew-bene-row{flex-direction:column;}.ew-bene-item{border-left:0;border-bottom:1px solid #e9e2d5;width:100%;padding:18px 22px;}.ew-bene-item:last-child{border-bottom:0;}}
@media(max-width:768px){.ew-bene{position:static;}.ew-bene-row{flex-direction:column;}.ew-bene-item{border-right:0;border-bottom:1px solid #ece6da;}.ew-bene-item:last-child{border-bottom:0;}}

/* === RECOMMANDATIONS === */
.ew-reco{padding:80px 0 64px;background:#fff;text-align:center;}
.ew-reco h2{font-family:'Open Sans',sans-serif;font-size:38px;color:#1a1a1a;font-weight:800;letter-spacing:-.01em;margin-bottom:18px;line-height:1.2;}
.ew-reco-sub{font-size:14px;color:#6b7775;line-height:1.7;max-width:640px;margin:0 auto 48px;}
.ew-reco-scroll{position:relative;}
.ew-reco-scroll::before,
.ew-reco-scroll::after{
    content:"";
    position:absolute;
    top:-8px;bottom:-8px;
    width:60px;
    pointer-events:none;
    z-index:1;
}
.ew-reco-scroll::before{left:0;background:linear-gradient(to right,#fff 0%,rgba(255,255,255,0) 100%);}
.ew-reco-scroll::after{right:0;background:linear-gradient(to left,#fff 0%,rgba(255,255,255,0) 100%);}
.ew-reco-track{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:8px 0;scrollbar-width:none;}
.ew-reco-track::-webkit-scrollbar{display:none;}
.ew-reco-arr{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:#1e3a35;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(30,58,53,.25);z-index:2;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;}
.ew-reco-arr:hover{background:#0f4f52;box-shadow:0 10px 24px rgba(30,58,53,.32);}
.ew-reco-arr-prev{left:-6px;}
.ew-reco-arr-prev:hover{transform:translateY(-50%) translateX(-2px);}
.ew-reco-arr-next{right:-6px;}
.ew-reco-arr-next:hover{transform:translateY(-50%) translateX(2px);}
.ew-reco-card{min-width:240px;max-width:240px;text-align:center;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e9e2d5;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(30,58,53,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.ew-reco-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(30,58,53,.12);border-color:#d6e4e1;}
.ew-reco-card-inner{background:#fff;padding:24px 16px 20px;position:relative;transition:none;overflow:hidden;border-radius:0;margin:0;border-bottom:1px solid #f0ebde;}
.ew-reco-badge{display:inline-block;padding:5px 14px;background:#0f4f52;color:#fff;font-size:11px;font-weight:700;border-radius:999px;margin-bottom:14px;position:relative;z-index:1;letter-spacing:.04em;text-transform:uppercase;}
.ew-reco-img{width:120px;height:170px;object-fit:contain;margin:0 auto;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));transition:transform .25s ease;}
.ew-reco-card:hover .ew-reco-img{transform:scale(1.05);}
.ew-reco-card h3{font-size:14px;font-weight:700;color:#1e3a35;line-height:1.35;margin:14px 12px 4px;font-family:'Open Sans',sans-serif;padding:0;}
.ew-reco-cat{display:block;font-size:12px;color:#9aa39f;margin:0 0 14px;padding:0 12px;}
.ew-reco-price{display:inline-block;align-self:center;margin:0 12px 18px;padding:11px 24px;background:#0f4f52;border:none;border-radius:999px;color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;box-shadow:0 4px 12px rgba(15,79,82,.18);text-decoration:none;white-space:nowrap;}
.ew-reco-price:hover{background:#003841;color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(15,79,82,.28);}
@media(max-width:700px){.ew-reco{padding:56px 0 40px;}.ew-reco h2{font-size:26px;}.ew-reco-arr{display:none;}}

/* === REASSURANCE === */
.ew-reas{padding:80px 0;background:#fff;}
.ew-reas-row{display:flex;gap:60px;text-align:center;justify-content:center;align-items:flex-start;}
.ew-reas-item{flex:1;max-width:320px;display:flex;flex-direction:column;align-items:center;}
.ew-reas-ic{width:96px;height:96px;background:#e6ece9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:22px;transition:background .2s ease,transform .2s ease;}
.ew-reas-item:hover .ew-reas-ic{background:#d4e0dc;transform:translateY(-2px);}
.ew-reas-ic svg{width:42px;height:42px;display:block;}
.ew-reas-item h4{font-family:'Open Sans',sans-serif;font-size:16px;font-weight:700;color:#1a1a1a;margin-bottom:12px;letter-spacing:0;line-height:1.2;}
.ew-reas-item p{font-size:14px;color:#555;line-height:1.6;max-width:240px;margin:0 auto;}
@media(max-width:768px){.ew-reas-row{flex-direction:column;gap:36px;}.ew-reas-item{max-width:100%;}}

/* === A PROPOS === */
.ew-about{padding:80px 0;background:#f4efe8;}
.ew-about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;}
.ew-lead{font-family:'Libre Bodoni',Georgia,serif;font-size:24px;font-weight:400;color:#1e3a35;line-height:1.4;margin-bottom:20px;}
.ew-about-txt p{font-size:14px;color:#6b7775;line-height:1.75;margin-bottom:18px;}
.ew-btn-dark{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;background:#1e3a35;color:#fff;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease,transform .05s ease,box-shadow .2s ease;box-shadow:0 4px 12px rgba(30,58,53,.15);text-decoration:none;}
.ew-btn-dark:hover{background:#0f4f52;color:#fff;box-shadow:0 6px 16px rgba(30,58,53,.22);transform:translateY(-1px);}
.ew-btn-dark:active{transform:translateY(0);}
.ew-about-img{position:relative;}
.ew-about-img img{width:100%;border-radius:16px;box-shadow:0 12px 32px rgba(30,58,53,.12);display:block;}
@media(max-width:900px){.ew-about-grid{grid-template-columns:1fr;gap:32px;}.ew-about{padding:56px 0;}}

/* === CONFIANCE === */
.ew-trust{padding:64px 0;background:#fff;text-align:center;}
.ew-trust h2{font-family:'Libre Bodoni',Georgia,serif;font-size:26px;color:#1e3a35;margin-bottom:10px;}
.ew-trust-sub{font-size:13px;color:#9aa39f;margin-bottom:40px;line-height:1.7;}
.ew-trust-logos{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap;padding:0 20px;}
.ew-trust-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.7;transition:opacity .3s ease,transform .2s ease;filter:grayscale(100%);}
.ew-trust-logo:hover{opacity:1;filter:grayscale(0);transform:translateY(-2px);}
.ew-trust-logo img{max-width:160px;max-height:80px;width:auto;height:auto;object-fit:contain;display:block;}
.ew-trust-name{font-family:'Libre Bodoni',Georgia,serif;font-size:16px;color:#0f4f52;line-height:1.2;}
.ew-trust-serif{font-style:italic;}
.ew-trust-script{font-family:'Libre Bodoni',Georgia,serif;font-style:italic;font-size:18px;color:#0f4f52;}
.ew-trust-script sup{font-size:10px;}
.ew-trust-circle em{font-family:'Libre Bodoni',Georgia,serif;font-style:normal;font-size:28px;display:inline-block;width:36px;height:36px;border:1.5px solid #0f4f52;border-radius:50%;text-align:center;line-height:33px;}
.ew-trust-small{font-family:'Open Sans',sans-serif;font-size:8px;color:#0f4f52;text-transform:uppercase;letter-spacing:1.5px;}

/* ============================================================
   NEWSLETTER
   ============================================================ */

/* === Footer integrated with newsletter on top === */
.ew-nl-block{padding:48px 0 40px;}
.ew-nl-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:40px;
}
.ew-nl-logo-link{display:block;}
.ew-nl-logo{max-width:280px;width:100%;height:auto;display:block;}
.ew-nl-body{display:flex;flex-direction:column;gap:18px;}
.ew-nl-body h3{
    font-family:'Open Sans',sans-serif;
    font-size:20px;
    font-weight:700;
    color:#fff;
    margin:0;
    line-height:1.3;
    letter-spacing:-.01em;
}
.ew-ft-sep{
    height:1px;
    background:rgba(255,255,255,.12);
    margin:0;
}
.ew-nl-text{color:#fff;}
.ew-nl-text h3{
    font-family:"Libre Bodoni",Georgia,serif;
    font-size:22px;
    font-weight:700;
    color:#fff;
    margin:0 0 6px;
    line-height:1.2;
}
.ew-nl-text p{
    font-size:13px;
    color:rgba(255,255,255,.75);
    margin:0;
    line-height:1.5;
}

/* Form layout — supports CF7 / Brevo / generic forms */
.ew-nl-form{width:100%;}
.ew-nl-form .wpcf7-form,
.ew-nl-form form{
    display:flex !important;
    flex-direction:row !important;
    align-items:stretch !important;
    gap:0 !important;
    flex-wrap:nowrap !important;
    background:transparent !important;
    border:1px solid rgba(255,255,255,.4) !important;
    border-radius:0 !important;
    padding:0 !important;
}
.ew-nl-form .wpcf7-form:focus-within,
.ew-nl-form form:focus-within{
    border-color:rgba(255,255,255,.7);
}
.ew-nl-form .wpcf7-form>div,
.ew-nl-form .wpcf7-form>fieldset.hidden-fields-container,
.ew-nl-form .wpcf7-form>.wpcf7-response-output,
.ew-nl-form .wpcf7-form>input.apbct_special_field{display:contents !important;}
.ew-nl-form .wpcf7-form>div>p,
.ew-nl-form form>p{display:contents !important;margin:0 !important;}
.ew-nl-form .wpcf7-form-control-wrap{display:contents !important;}

.ew-nl-form input[type="email"],
.ew-nl-form input[type="text"]:not([type="hidden"]),
.ew-nl-form input.wpcf7-email{
    flex:1 !important;
    padding:0 18px !important;
    border:none !important;
    background:transparent !important;
    color:#fff !important;
    border-radius:0 !important;
    font-size:14px !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    height:54px !important;
    margin:0 !important;
    width:auto !important;
    max-width:none !important;
    outline:none !important;
    font-family:'Open Sans',sans-serif !important;
    font-style:normal !important;
    font-weight:400 !important;
    letter-spacing:.2px !important;
}
.ew-nl-form input[type="email"]::placeholder,
.ew-nl-form input[type="text"]::placeholder{color:rgba(255,255,255,.85) !important;font-style:normal !important;font-family:'Open Sans',sans-serif !important;opacity:1 !important;}

.ew-nl-form input[type="submit"],
.ew-nl-form button[type="submit"],
.ew-nl-form .wpcf7-submit{
    padding:0 28px !important;
    background:#fff !important;
    color:#0f4f52 !important;
    border:0 !important;
    border-radius:0 !important;
    font-family:'Open Sans',sans-serif !important;
    font-style:normal !important;
    font-weight:600 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    font-size:14px !important;
    letter-spacing:.02em !important;
    margin:0 !important;
    height:54px !important;
    line-height:54px !important;
    width:auto !important;
    min-width:130px !important;
    transition:background .15s ease !important;
}
.ew-nl-form input[type="submit"]:hover,
.ew-nl-form button[type="submit"]:hover,
.ew-nl-form .wpcf7-submit:hover{background:#faf7ef !important;}
.ew-nl-form input[type="submit"]:active,
.ew-nl-form button[type="submit"]:active{transform:translateY(1px);}

.ew-nl-form .wpcf7-spinner,
.ew-nl-form .screen-reader-response,
.ew-nl-form .wpcf7-response-output:empty,
.ew-nl-form .apbct_special_field{display:none !important;position:absolute !important;visibility:hidden !important;}

@media(max-width:900px){
    .ew-nl-inner{grid-template-columns:1fr;gap:24px;text-align:center;}
    .ew-nl-heading{flex-direction:column;text-align:center;gap:16px;}
    .ew-nl-text h3{font-size:20px;}
}
@media(max-width:560px){
    .ew-nl-form .wpcf7-form,.ew-nl-form form{
        flex-direction:column !important;
        border-radius:14px;
        padding:8px;
    }
    .ew-nl-form input[type="submit"],
    .ew-nl-form button[type="submit"],
    .ew-nl-form .wpcf7-submit{width:100% !important;border-radius:8px !important;}
    .ew-nl-form input[type="email"]{text-align:center !important;}
}

/* ============================================================
   FOOTER
   ============================================================ */

.ew-ft{
    background:#1a3d3a;
    color:rgba(255,255,255,.7);
    padding:0;
}
.ew-ft-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:32px;
    padding:48px 0;
    margin-bottom:0;
}
.ew-ft-col h4{
    font-family:"Libre Bodoni",Georgia,serif;
    font-size:14px;
    font-weight:700;
    color:#fff;
    text-transform:none;
    letter-spacing:0;
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.12);
}
.ew-ft-col h4.ew-ft-h4-secondary{margin-top:28px;padding-top:0;border-top:0;}
.ew-ft-col a{
    display:block;
    font-size:13px;
    color:rgba(255,255,255,.7);
    margin-bottom:8px;
    text-decoration:none;
    transition:color .15s ease,transform .15s ease;
    line-height:1.5;
}
.ew-ft-col a:hover{color:#ab9a65;}
.ew-ft-col p{
    font-size:13px;
    line-height:1.6;
    margin:0 0 12px;
    color:rgba(255,255,255,.7);
}
.ew-ft-col p strong{color:#fff;font-weight:600;}
.ew-ft-link-strong{color:rgba(255,255,255,.85) !important;font-weight:500;}
.ew-ft-link-strong:hover{color:#ab9a65 !important;}

.ew-ft-soc{
    display:flex;
    gap:10px;
    margin-top:8px;
}
.ew-ft-soc a{
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    margin:0;
    transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.ew-ft-soc a:hover{
    background:#ab9a65;
    border-color:#ab9a65;
    transform:translateY(-2px);
    color:#fff;
}

.ew-ft-copy{
    padding:16px 0;
    background:transparent;
}
.ew-ft-copy .ew-c{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
    font-size:13px;
    color:rgba(255,255,255,.6);
}
.ew-ft-copy a{
    color:rgba(255,255,255,.55);
    text-decoration:none;
    transition:color .15s ease;
}
.ew-ft-copy a:hover{color:#ab9a65;}
.ew-ft-copy-sep{color:rgba(255,255,255,.25);}

@media(max-width:1100px){.ew-ft-grid{grid-template-columns:repeat(3,1fr);gap:36px 24px;}}
@media(max-width:700px){
    .ew-ft{padding:48px 0 0;}
    .ew-ft-grid{grid-template-columns:1fr 1fr;gap:32px 20px;}
    .ew-ft-col h4{font-size:13px;}
}
@media(max-width:480px){
    .ew-ft-grid{grid-template-columns:1fr;gap:28px;}
}

/* === HIDE PARENT THEME ELEMENTS === */
#offcanvas-mobile-menu{position:fixed !important;left:-300px !important;top:0 !important;width:280px !important;height:100% !important;z-index:9999 !important;background:#fff !important;overflow-y:auto !important;transition:left .3s !important;box-shadow:2px 0 10px rgba(0,0,0,.2) !important;}
#offcanvas-mobile-menu.show,#offcanvas-mobile-menu.active{left:0 !important;}
.offcanvas-overlay{display:none !important;position:fixed !important;top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;background:rgba(0,0,0,.5) !important;z-index:9998 !important;}
.offcanvas-overlay.show,.offcanvas-overlay.active{display:block !important;}
header.header.style2.theme1,header#sticky.header,#sticky.header{display:none !important;}
footer.bg-lighten2.theme1{display:none !important;}
section.news-letter-section.theme1{display:none !important;}
.coppy-right:not(.ew-copyright){display:none !important;}
.footer-bottom:not(.ew-ft){display:none !important;}

/* Responsive utility classes for header.php */
.ew-desktop-only{display:flex !important;align-items:center !important;}
.ew-mobile-only{display:none !important;align-items:center !important;}
@media(max-width:991px){
    .ew-desktop-only{display:none !important;}
    .ew-mobile-only{display:flex !important;}
    .ew-marque{display:none !important;}
    .ew-topbar{display:none !important;}
}

/* === PRODUCT PAGE === */
.ew-product-banner{background:linear-gradient(135deg,#0f4f52 0%,#1e5f63 40%,#003841 100%) !important;padding:28px 0 !important;text-align:center !important;}
.ew-product-banner h2{font-family:'Libre Bodoni',Georgia,serif !important;font-size:22px !important;color:#fff !important;margin:0 !important;font-weight:400 !important;}
.ew-product-page{padding:30px 0 !important;}
.ew-product-page .ew-c{max-width:1200px !important;margin:0 auto !important;padding:0 20px !important;}

/* The product wrapper contains .interieur_produit AND section.related - must NOT be grid */
.ew-product-page .product{display:block !important;}

/* Product detail: image left, description right */
.interieur_produit{display:grid !important;grid-template-columns:45% 1fr !important;gap:40px !important;align-items:start !important;margin-bottom:40px !important;}
.interieur_produit .woocommerce-product-gallery{width:100% !important;float:none !important;}
.interieur_produit .woocommerce-product-gallery img{width:100% !important;height:auto !important;border-radius:10px !important;}
.interieur_produit .summary.entry-summary{width:100% !important;float:none !important;margin-top:0 !important;}
.interieur_produit .summary > a[href*="categorie"]{display:inline-block !important;padding:3px 12px !important;background:#f3f7f7 !important;color:#0f4f52 !important;font-size:12px !important;font-weight:600 !important;border-radius:16px !important;text-decoration:none !important;margin-bottom:8px !important;}
.interieur_produit .summary .product_title{font-family:'Libre Bodoni',Georgia,serif !important;font-size:28px !important;color:#0f4f52 !important;margin:0 0 12px !important;}
.interieur_produit .summary .price,.interieur_produit .summary .hopihopla{font-size:24px !important;font-weight:700 !important;color:#0f4f52 !important;margin:0 0 20px !important;}
.interieur_produit .summary .shop_attributes{width:100% !important;margin-bottom:20px !important;border:1px solid #eee !important;border-radius:8px !important;overflow:hidden !important;}
.interieur_produit .summary .shop_attributes th{background:#f3f7f7 !important;color:#0f4f52 !important;font-weight:600 !important;font-size:13px !important;padding:10px 16px !important;}
.interieur_produit .summary .shop_attributes td{padding:10px 16px !important;font-size:13px !important;}
.interieur_produit .summary .woocommerce-product-details__short-description{font-size:14px !important;color:#555 !important;line-height:1.7 !important;margin-bottom:20px !important;}
.interieur_produit .summary .woocommerce-product-details__short-description p{margin:0 0 10px !important;}
.interieur_produit .summary .woocommerce-variation-add-to-cart,
.interieur_produit .summary form.cart:not(.variations_form){display:flex !important;align-items:stretch !important;gap:0 !important;max-width:100% !important;}
.interieur_produit .summary .quantity{margin:0 !important;display:flex !important;}
.interieur_produit .summary .quantity input{width:60px !important;padding:0 8px !important;border:1px solid #d1d5db !important;border-right:none !important;border-radius:10px 0 0 10px !important;text-align:center !important;font-size:15px !important;background:#fff !important;height:46px !important;margin:0 !important;}
.interieur_produit .summary .single_add_to_cart_button,
.interieur_produit .summary .button.alt{background:#0f4f52 !important;color:#fff !important;border:none !important;padding:0 28px !important;border-radius:0 10px 10px 0 !important;font-size:14px !important;font-weight:600 !important;cursor:pointer !important;transition:background .2s !important;white-space:nowrap !important;margin:0 !important;height:46px !important;flex:none !important;line-height:46px !important;}
.interieur_produit .summary .single_add_to_cart_button:hover{background:#003841 !important;}
.interieur_produit .summary .woocommerce-product-details__short-description{font-size:14px !important;color:#555 !important;line-height:1.7 !important;margin-bottom:20px !important;}
.interieur_produit .summary .woocommerce-product-details__short-description p{margin:0 0 10px !important;}
.interieur_produit .summary select{width:100% !important;padding:10px 14px !important;border:1px solid #ddd !important;border-radius:8px !important;font-size:14px !important;}

/* Related products: full width, SINGLE ROW forced */
section.related.products{display:block !important;clear:both !important;width:100% !important;margin-top:40px !important;padding-top:30px !important;border-top:1px solid #eee !important;}
section.related.products>h2{font-family:'Libre Bodoni',Georgia,serif !important;font-size:22px !important;color:#0f4f52 !important;margin:0 0 20px !important;}
section.related.products ul.products,
.woocommerce section.related.products ul.products{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:14px !important;list-style:none !important;padding:0 !important;margin:0 !important;}
section.related.products ul.products::before,
section.related.products ul.products::after{display:none !important;content:none !important;}
section.related.products ul.products>li.product,
.woocommerce section.related.products ul.products>li.product{width:100% !important;min-width:0 !important;float:none !important;clear:none !important;margin:0 !important;padding:0 !important;overflow:hidden !important;border:1px solid #eee !important;border-radius:10px !important;background:#fff !important;}
section.related.products ul.products>li.product .item{overflow:hidden !important;}
section.related.products ul.products>li.product .cadre .shop_attributes{display:none !important;}
/* ---- New product card design (.ew-card-product) ---- */
.ew-card-product{height:100% !important;display:flex !important;flex-direction:column !important;}
.ew-card-img{background:#d6e4e1 !important;border-radius:10px !important;overflow:hidden !important;margin-bottom:12px !important;}
.ew-card-img img{width:100% !important;height:220px !important;object-fit:contain !important;padding:16px !important;display:block !important;transition:transform .3s !important;}
.ew-card-product:hover .ew-card-img img{transform:scale(1.05) !important;}
.ew-card-body{text-align:center !important;flex:1 !important;display:flex !important;flex-direction:column !important;}
.ew-card-cat{font-size:11px !important;color:#92aba7 !important;display:block !important;margin-bottom:2px !important;}
.ew-card-title{font-size:14px !important;font-weight:700 !important;color:#0f4f52 !important;margin:0 0 6px !important;line-height:1.3 !important;}
.ew-card-title a{color:#0f4f52 !important;text-decoration:none !important;}
.ew-card-title a:hover{color:#ab9a65 !important;}
.ew-card-price{font-size:15px !important;font-weight:700 !important;color:#0f4f52 !important;margin-bottom:12px !important;}
.ew-card-btn{display:block !important;padding:10px 16px !important;background:#0f4f52 !important;color:#fff !important;border:none !important;border-radius:8px !important;font-size:13px !important;font-weight:600 !important;cursor:pointer !important;text-align:center !important;text-decoration:none !important;transition:background .2s !important;margin-top:auto !important;}
.ew-card-btn:hover{background:#003841 !important;color:#fff !important;}
.ew-card-btn-option{background:transparent !important;color:#0f4f52 !important;border:2px solid #0f4f52 !important;}
.ew-card-btn-option:hover{background:#0f4f52 !important;color:#fff !important;}

/* Fallback: hide old template elements if they still render */
section.related.products .cadre .shop_attributes{display:none !important;}
section.related.products .cadre .card{border:none !important;box-shadow:none !important;}
section.related.products .media-body .product-desc .onsale{display:none !important;}
section.related.products .item > .onsale{display:none !important;}

/* ---- Product popup with blur ---- */
.ew-popup-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:99999;align-items:center;justify-content:center;}
.ew-popup-overlay.active{display:flex !important;}
.ew-popup{background:#fff;border-radius:16px;width:92%;max-width:900px;max-height:88vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.25);position:relative;animation:ew-popup-in .3s ease;}
@keyframes ew-popup-in{from{opacity:0;transform:scale(.95) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
.ew-popup-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#f3f4f6;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#333;transition:background .2s;z-index:2;}
.ew-popup-close:hover{background:#e5e7eb;}
.ew-popup-body{padding:0;}

/* Popup product layout */
.ew-popup-product{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:400px;}
.ew-popup-product-img{background:#d6e4e1;display:flex;align-items:center;justify-content:center;padding:30px;border-radius:16px 0 0 16px;}
.ew-popup-product-img img{max-width:100%;max-height:350px;object-fit:contain;}
.ew-popup-product-info{padding:32px 28px;display:flex;flex-direction:column;justify-content:center;}
.ew-popup-product-info .ew-popup-cat{font-size:11px;color:#92aba7;display:block;margin-bottom:4px;}
.ew-popup-product-info .ew-popup-title{font-family:'Libre Bodoni',Georgia,serif;font-size:22px;color:#0f4f52;margin:0 0 12px;line-height:1.3;}
.ew-popup-product-info .ew-popup-price{font-size:22px;font-weight:700;color:#0f4f52;margin-bottom:16px;}
.ew-popup-product-info .ew-popup-desc{font-size:13px;color:#666;line-height:1.6;margin-bottom:20px;max-height:120px;overflow-y:auto;}
.ew-popup-product-info .ew-popup-desc p{margin:0 0 8px;}
.ew-popup-product-info .ew-popup-variations{margin-bottom:16px;}
.ew-popup-product-info .ew-popup-variations label{font-size:13px;font-weight:700;color:#333;display:block;margin-bottom:6px;}
.ew-popup-product-info .ew-popup-variations select{width:100%;padding:11px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background:#fff;}
.ew-popup-product-info .ew-popup-variations select:focus{border-color:#0f4f52;outline:none;}
.ew-popup-product-info .ew-popup-cart{display:flex;align-items:center;gap:10px;margin-top:auto;}
.ew-popup-product-info .ew-popup-cart input[type="number"]{width:60px;padding:11px;border:1px solid #d1d5db;border-radius:8px;text-align:center;font-size:14px;}
.ew-popup-product-info .ew-popup-cart button,.ew-popup-product-info .ew-popup-cart .ew-popup-add-btn{flex:1;padding:12px 20px;background:#0f4f52;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .2s;}
.ew-popup-product-info .ew-popup-cart button:hover,.ew-popup-product-info .ew-popup-cart .ew-popup-add-btn:hover{background:#003841;}
.ew-popup-product-info .ew-popup-link{display:inline-block;margin-top:12px;font-size:12px;color:#ab9a65;text-decoration:none;}
.ew-popup-product-info .ew-popup-link:hover{text-decoration:underline;}
/* Style WC form inside popup */
.ew-popup-product-info form.cart{margin:0 !important;padding:0 !important;background:transparent !important;border:none !important;}
.ew-popup-product-info .variations{width:100% !important;border:none !important;margin-bottom:14px !important;}
.ew-popup-product-info .variations tr{display:block !important;margin-bottom:6px !important;}
.ew-popup-product-info .variations th,.ew-popup-product-info .variations td{display:block !important;padding:0 !important;border:none !important;background:transparent !important;}
.ew-popup-product-info .variations th label{font-size:13px !important;font-weight:700 !important;color:#333 !important;margin-bottom:6px !important;display:block !important;}
.ew-popup-product-info .variations select{width:100% !important;padding:11px 14px !important;border:1px solid #d1d5db !important;border-radius:8px !important;font-size:14px !important;}
.ew-popup-product-info .reset_variations{font-size:11px !important;color:#ab9a65 !important;}
.ew-popup-product-info .woocommerce-variation-add-to-cart,
.ew-popup-product-info form.cart:not(.variations_form){display:flex !important;align-items:stretch !important;gap:0 !important;margin-top:12px !important;}
.ew-popup-product-info .quantity{margin:0 !important;display:flex !important;}
.ew-popup-product-info .quantity{margin:0 !important;display:flex !important;}
.ew-popup-product-info .quantity input{width:55px !important;padding:0 6px !important;border:1px solid #d1d5db !important;border-right:none !important;border-radius:8px 0 0 8px !important;text-align:center !important;font-size:14px !important;margin:0 !important;height:42px !important;}
.ew-popup-product-info .single_add_to_cart_button{flex:none !important;padding:0 22px !important;background:#0f4f52 !important;color:#fff !important;border:none !important;border-radius:0 8px 8px 0 !important;font-size:13px !important;font-weight:600 !important;cursor:pointer !important;margin:0 !important;height:42px !important;line-height:42px !important;white-space:nowrap !important;}
.ew-popup-product-info .single_add_to_cart_button:hover{background:#003841 !important;}
.ew-popup-product-info .tinv-wraper,.ew-popup-product-info .tinv-wishlist{width:100% !important;display:block !important;margin-top:10px !important;clear:both !important;}
.ew-popup-product-info .tinvwl_add_to_wishlist_button{
    width:100% !important;
    height:46px !important;
    line-height:46px !important;
    text-align:center !important;
    justify-content:center !important;
    padding:0 14px !important;
    font-size:13px !important;
    font-weight:600 !important;
    color:#0f4f52 !important;
    background:#fff !important;
    border:1.5px solid #d6e4e1 !important;
    border-radius:8px !important;
    white-space:nowrap !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    text-decoration:none !important;
}
.ew-popup-product-info .tinvwl_add_to_wishlist_button:hover{border-color:#0f4f52 !important;background:#f3f7f7 !important;}
.ew-popup-product-info .woocommerce-variation-price .price{font-size:20px !important;font-weight:700 !important;color:#0f4f52 !important;margin-bottom:10px !important;}
@media(max-width:640px){
    /* === POPUP : fixe, centré, contenu dans l'écran === */
    .ew-popup-overlay{align-items:flex-start !important;padding:0 !important;}
    .ew-popup{
        width:94vw !important;
        max-width:94vw !important;
        max-height:90vh !important;
        margin:5vh auto !important;
        border-radius:14px !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        overflow-x:hidden !important;
    }
    .ew-popup-body{overflow-x:hidden !important;}
    .ew-popup-product{grid-template-columns:1fr !important;min-height:auto !important;}
    .ew-popup-product-img{border-radius:14px 14px 0 0 !important;padding:16px !important;max-height:240px !important;}
    .ew-popup-product-img img{max-height:200px !important;}
    .ew-popup-product-info{padding:18px !important;}
    .ew-popup-product-info .ew-popup-title{font-size:20px !important;line-height:1.25 !important;margin-bottom:10px !important;}
    .ew-popup-product-info .ew-popup-desc{font-size:13px !important;line-height:1.5 !important;}

    /* Cart form INSIDE popup — qty + add + wishlist tout verticalement */
    .ew-popup-product-info form.cart,
    .ew-popup-product-info .woocommerce-variation-add-to-cart{
        display:flex !important;
        flex-direction:column !important;
        flex-wrap:wrap !important;
        gap:10px !important;
        align-items:stretch !important;
    }
    .ew-popup-product-info .quantity{
        width:100% !important;
        margin:0 !important;
        display:block !important;
    }
    .ew-popup-product-info .quantity input{
        width:100% !important;
        height:46px !important;
        border-radius:8px !important;
        border:1.5px solid #d6e4e1 !important;
        border-right:1.5px solid #d6e4e1 !important;
        text-align:center !important;
        font-size:16px !important;
        font-weight:600 !important;
        color:#0f4f52 !important;
    }
    .ew-popup-product-info .single_add_to_cart_button{
        width:100% !important;
        flex:1 1 100% !important;
        height:48px !important;
        line-height:48px !important;
        border-radius:8px !important;
        padding:0 !important;
        font-size:14px !important;
        font-weight:700 !important;
    }
    .ew-popup-product-info .tinv-wraper{
        width:100% !important;
        flex:1 1 100% !important;
        margin:0 !important;
        order:99 !important;
    }
    .ew-popup-product-info .tinvwl_add_to_wishlist_button{
        width:100% !important;
        height:46px !important;
        line-height:46px !important;
        font-size:13px !important;
    }
    .ew-popup-product-info .ew-popup-link{margin-top:14px !important;font-size:13px !important;}
}

/* ====== WC CLASSIC PAGES (panier + checkout hors espace pro) ====== */
/* Container */
.woocommerce-page:not(.ew-espace-pro-page) .woocommerce{max-width:1200px !important;margin:0 auto !important;padding:30px 20px !important;}

/* Cart page */
.woocommerce-page.woocommerce-cart .shop_table{border-radius:10px !important;overflow:hidden !important;border:1px solid #e5e7eb !important;border-collapse:collapse !important;width:100% !important;}
.woocommerce-page.woocommerce-cart .shop_table thead th{background:#f3f7f7 !important;color:#0f4f52 !important;font-weight:700 !important;font-size:12px !important;text-transform:uppercase !important;letter-spacing:.5px !important;padding:14px 16px !important;border-bottom:2px solid #0f4f52 !important;}
.woocommerce-page.woocommerce-cart .shop_table tbody td{padding:16px !important;border-bottom:1px solid #f3f4f6 !important;vertical-align:middle !important;}
.woocommerce-page.woocommerce-cart .shop_table .product-thumbnail img{width:60px !important;height:60px !important;object-fit:cover !important;border-radius:8px !important;}
.woocommerce-page.woocommerce-cart .shop_table .product-name a{color:#0f4f52 !important;font-weight:600 !important;text-decoration:none !important;}
.woocommerce-page.woocommerce-cart .shop_table .product-remove a{color:#dc2626 !important;font-size:20px !important;}
.woocommerce-page.woocommerce-cart .shop_table .qty{width:65px !important;padding:10px !important;border:1px solid #d1d5db !important;border-radius:8px !important;text-align:center !important;font-size:14px !important;}
.woocommerce-page.woocommerce-cart .cart_totals{background:#f3f7f7 !important;border-radius:12px !important;padding:28px !important;border:1px solid #d6e4e1 !important;float:right !important;width:420px !important;margin-top:24px !important;}
.woocommerce-page.woocommerce-cart .cart_totals h2{font-family:'Libre Bodoni',Georgia,serif !important;font-size:20px !important;color:#0f4f52 !important;margin:0 0 16px !important;padding-bottom:14px !important;border-bottom:2px solid #0f4f52 !important;}
.woocommerce-page.woocommerce-cart .cart_totals .shop_table{border:none !important;background:transparent !important;}
.woocommerce-page.woocommerce-cart .cart_totals th{color:#0f4f52 !important;font-weight:600 !important;font-size:13px !important;text-transform:uppercase !important;background:transparent !important;padding:12px 0 !important;border-bottom:1px solid #d6e4e1 !important;}
.woocommerce-page.woocommerce-cart .cart_totals td{text-align:right !important;padding:12px 0 !important;border-bottom:1px solid #d6e4e1 !important;background:transparent !important;}
.woocommerce-page.woocommerce-cart .cart_totals .order-total th,.woocommerce-page.woocommerce-cart .cart_totals .order-total td{font-size:18px !important;font-weight:700 !important;color:#0f4f52 !important;border-bottom:none !important;}
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout .button{background:#ab9a65 !important;color:#fff !important;font-size:16px !important;font-weight:700 !important;padding:16px !important;width:100% !important;border-radius:10px !important;border:none !important;text-transform:uppercase !important;letter-spacing:.5px !important;display:block !important;text-align:center !important;}
.woocommerce-page.woocommerce-cart .wc-proceed-to-checkout .button:hover{background:#8f784b !important;}
/* Cart buttons */
.woocommerce-page.woocommerce-cart .actions .button{background:#0f4f52 !important;color:#fff !important;padding:12px 24px !important;border-radius:8px !important;border:none !important;font-weight:600 !important;font-size:13px !important;cursor:pointer !important;}
.woocommerce-page.woocommerce-cart .actions .button:hover{background:#003841 !important;}
.woocommerce-page.woocommerce-cart .coupon .input-text{padding:12px 14px !important;border:1px solid #d1d5db !important;border-radius:8px !important;font-size:13px !important;}

/* ====== CHECKOUT - PREMIUM DESIGN ====== */
/* Kill ALL phantom borders from WooCommerce on checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{border:none !important;box-shadow:none !important;background:#f3f7f7 !important;border-left:4px solid #0f4f52 !important;border-radius:10px !important;}
.woocommerce-checkout fieldset,.woocommerce-checkout .clear{border:none !important;display:none !important;padding:0 !important;margin:0 !important;}
.woocommerce-checkout .clear{display:none !important;}
.woocommerce-checkout .woocommerce-form-coupon{border:none !important;background:#f9fdfb !important;border-radius:10px !important;padding:16px !important;margin-bottom:20px !important;}
.woocommerce-checkout .form-row{border:none !important;}
.woocommerce-checkout .woocommerce-input-wrapper{border:none !important;}
.woocommerce-checkout .select2-container{border:none !important;}
.woocommerce-checkout #ship-to-different-address{border:none !important;box-shadow:none !important;background:transparent !important;padding:0 24px !important;}
.woocommerce-checkout .woocommerce-shipping-fields{border:none !important;}
.woocommerce-checkout .woocommerce-additional-fields{border:none !important;}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{border:none !important;padding:0 !important;}
.woocommerce-checkout .shipping_address{border:none !important;padding:0 !important;}
.woocommerce-checkout p.form-row{border:none !important;}
/* Card internals */
.ew-checkout-card fieldset,.ew-checkout-card .clear{display:none !important;border:none !important;}
.ew-checkout-card p.form-row{border:none !important;}
.ew-checkout-card .woocommerce-input-wrapper{border:none !important;}
.ew-checkout-card .shipping_address{border:none !important;padding:0 !important;}
.ew-checkout-card #ship-to-different-address{border:none !important;background:transparent !important;padding:0 24px !important;margin:0 0 10px !important;}
/* Summary internals */
.ew-checkout-summary .woocommerce-checkout-review-order-table{border:none !important;}
.ew-checkout-summary .woocommerce-checkout-review-order-table th,
.ew-checkout-summary .woocommerce-checkout-review-order-table td{border:none !important;border-bottom:1px solid #e5e7eb !important;background:transparent !important;}
.ew-checkout-summary .woocommerce-checkout-payment{border:none !important;background:transparent !important;box-shadow:none !important;padding:12px 0 0 !important;}
.ew-checkout-summary .woocommerce-terms-and-conditions-wrapper{border:none !important;padding:0 !important;}
.ew-checkout-summary .place-order{border:none !important;padding:0 !important;}
.ew-checkout-summary .wc_payment_methods li{background:#f9fdfb !important;}
/* Hide empties */
.ew-checkout-card > p:empty,.ew-checkout-card > div:empty,.ew-checkout-left > .clear,.ew-checkout-right > .clear{display:none !important;}

.woocommerce-page.woocommerce-checkout .woocommerce{max-width:1100px !important;}

/* Progress steps */
.ew-checkout-steps{display:flex !important;align-items:center !important;justify-content:center !important;gap:0 !important;margin-bottom:36px !important;padding:24px 0 !important;}
.ew-step{display:flex !important;align-items:center !important;gap:8px !important;text-decoration:none !important;color:#999 !important;font-size:13px !important;font-weight:600 !important;}
.ew-step.active{color:#0f4f52 !important;}
.ew-step.done{color:#ab9a65 !important;}
.ew-step-num{width:32px !important;height:32px !important;border-radius:50% !important;border:2px solid #ddd !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:14px !important;font-weight:700 !important;}
.ew-step.active .ew-step-num{border-color:#0f4f52 !important;background:#0f4f52 !important;color:#fff !important;}
.ew-step.done .ew-step-num{border-color:#ab9a65 !important;background:#ab9a65 !important;color:#fff !important;}
.ew-step-line{flex:0 0 60px !important;height:2px !important;background:#ddd !important;margin:0 12px !important;}

/* Grid layout */
.ew-checkout-grid{display:grid !important;grid-template-columns:1.2fr 1fr !important;gap:30px !important;align-items:start !important;}

/* Cards */
.ew-checkout-card{background:#fff !important;border-radius:14px !important;border:1px solid #e5e7eb !important;margin-bottom:20px !important;overflow:hidden !important;box-shadow:0 1px 4px rgba(0,0,0,.04) !important;}
/* Kill all borders INSIDE cards */
.ew-checkout-card *{border-color:transparent !important;}
.ew-checkout-card input,.ew-checkout-card select,.ew-checkout-card textarea{border:1px solid #d1d5db !important;}
.ew-checkout-card input:focus,.ew-checkout-card select:focus{border-color:#0f4f52 !important;}
.ew-checkout-card .ew-checkout-card-header{border-bottom:1px solid #e5e7eb !important;}
.ew-checkout-card .shop_table th,.ew-checkout-card .shop_table td{border-bottom:1px solid #e5e7eb !important;}
.ew-checkout-card .wc_payment_methods li{border:2px solid #e5e7eb !important;}
.ew-checkout-card .wc_payment_methods li:hover{border-color:#0f4f52 !important;}
.ew-checkout-card-header{display:flex !important;align-items:center !important;gap:10px !important;padding:18px 24px !important;background:#f3f7f7 !important;font-family:'Libre Bodoni',Georgia,serif !important;font-size:18px !important;color:#0f4f52 !important;border-bottom:1px solid #e5e7eb !important;}
.ew-checkout-card .woocommerce-billing-fields,
.ew-checkout-card .woocommerce-shipping-fields,
.ew-checkout-card .woocommerce-additional-fields{background:transparent !important;border:none !important;padding:20px 24px 24px !important;margin:0 !important;box-shadow:none !important;border-radius:0 !important;}
.ew-checkout-card h3{display:none !important;}
.ew-checkout-card fieldset,.ew-checkout-card .clear{display:none !important;}
.ew-checkout-card .form-row{border:none !important;}
.ew-checkout-card .woocommerce-input-wrapper{border:none !important;}
.ew-checkout-card #ship-to-different-address{border:none !important;background:transparent !important;padding:0 !important;margin:0 0 10px 24px !important;}

/* Summary card internals */
.ew-checkout-summary .woocommerce-checkout-review-order-table{border:none !important;}
.ew-checkout-summary .woocommerce-checkout-review-order-table th,
.ew-checkout-summary .woocommerce-checkout-review-order-table td{border:none !important;border-bottom:1px solid #e5e7eb !important;background:transparent !important;}
.ew-checkout-summary .woocommerce-checkout-payment{border:none !important;background:transparent !important;box-shadow:none !important;padding:12px 0 0 !important;}
.ew-checkout-summary .wc_payment_methods li{background:#f9fdfb !important;}
.ew-checkout-summary .woocommerce-terms-and-conditions-wrapper{border:none !important;padding:0 !important;}

/* Empty element cleanup */
.ew-checkout-card > .clear,.ew-checkout-left > .clear,.ew-checkout-right > .clear{display:none !important;}

/* Summary card */
.ew-checkout-summary{position:sticky !important;top:80px !important;}
.ew-checkout-summary #order_review{padding:20px 24px !important;background:transparent !important;border:none !important;border-radius:0 !important;}
.ew-checkout-summary .woocommerce-checkout-payment{border:none !important;box-shadow:none !important;padding:16px 0 0 !important;margin:0 !important;background:transparent !important;}
.ew-checkout-summary .woocommerce-checkout-review-order-table{border:none !important;}
.ew-checkout-summary .woocommerce-checkout-review-order-table th,.ew-checkout-summary .woocommerce-checkout-review-order-table td{padding:10px 0 !important;border-bottom:1px solid #e5e7eb !important;background:transparent !important;}
.ew-checkout-summary .woocommerce-checkout-review-order-table .order-total th,.ew-checkout-summary .woocommerce-checkout-review-order-table .order-total td{border-bottom:none !important;font-size:18px !important;font-weight:700 !important;color:#0f4f52 !important;padding-top:14px !important;}
/* Ship to different address - no double lines */
.ew-checkout-card #ship-to-different-address{border:none !important;padding:0 !important;margin:0 0 10px !important;}

/* Reassurance */
.ew-checkout-reassurance{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:16px !important;padding:18px !important;background:#f9fdfb !important;border-radius:10px !important;border:1px solid #d6e4e1 !important;}
.ew-checkout-reas-item{display:flex !important;align-items:center !important;gap:8px !important;font-size:12px !important;font-weight:600 !important;color:#0f4f52 !important;}

/* Progress bar style title area */
.woocommerce-page.woocommerce-checkout h3#ship-to-different-address-checkbox,.woocommerce-page.woocommerce-checkout h3:not(#order_review_heading){font-family:'Libre Bodoni',Georgia,serif !important;font-size:20px !important;color:#0f4f52 !important;margin:0 0 20px !important;padding-bottom:12px !important;border-bottom:2px solid #d6e4e1 !important;}

/* 2 columns layout */
.woocommerce-page.woocommerce-checkout .col2-set{display:grid !important;grid-template-columns:1fr 1fr !important;gap:30px !important;}
.woocommerce-page.woocommerce-checkout .col-1,.woocommerce-page.woocommerce-checkout .col-2{width:100% !important;float:none !important;padding:0 !important;}

/* Field containers */
.woocommerce-page.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-page.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-page.woocommerce-checkout .woocommerce-additional-fields{background:#fff !important;border-radius:12px !important;padding:28px !important;border:1px solid #e5e7eb !important;margin-bottom:20px !important;box-shadow:0 1px 3px rgba(0,0,0,.04) !important;}

/* Form rows */
.woocommerce-page.woocommerce-checkout .form-row{margin-bottom:14px !important;padding:0 4px !important;}
.woocommerce-page.woocommerce-checkout .form-row label{font-size:13px !important;font-weight:600 !important;color:#0f4f52 !important;margin-bottom:6px !important;display:block !important;}
.woocommerce-page.woocommerce-checkout .form-row .required{color:#ab9a65 !important;}
.woocommerce-page.woocommerce-checkout .form-row input,
.woocommerce-page.woocommerce-checkout .form-row select,
.woocommerce-page.woocommerce-checkout .form-row textarea{width:100% !important;padding:13px 16px !important;border:1px solid #d1d5db !important;border-radius:10px !important;font-size:14px !important;font-family:'Open Sans',sans-serif !important;box-sizing:border-box !important;transition:border .2s,box-shadow .2s !important;}
.woocommerce-page.woocommerce-checkout .form-row input:focus,
.woocommerce-page.woocommerce-checkout .form-row select:focus,
.woocommerce-page.woocommerce-checkout .form-row textarea:focus{border-color:#0f4f52 !important;outline:none !important;box-shadow:0 0 0 3px rgba(15,79,82,.08) !important;}
.woocommerce-page.woocommerce-checkout .form-row-first{float:left !important;width:48% !important;}
.woocommerce-page.woocommerce-checkout .form-row-last{float:right !important;width:48% !important;}
/* Select2 (Pays/region) */
.woocommerce-page.woocommerce-checkout .select2-container{width:100% !important;}
.woocommerce-page.woocommerce-checkout .select2-container .select2-selection--single{height:auto !important;padding:13px 16px !important;border:1px solid #d1d5db !important;border-radius:10px !important;background:#fff !important;}
.woocommerce-page.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4 !important;color:#333 !important;font-size:14px !important;padding:0 !important;}
.woocommerce-page.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow{top:50% !important;transform:translateY(-50%) !important;right:12px !important;}
.woocommerce-page.woocommerce-checkout .select2-container--open .select2-selection--single{border-color:#0f4f52 !important;box-shadow:0 0 0 3px rgba(15,79,82,.08) !important;}
.select2-dropdown{border:1px solid #d1d5db !important;border-radius:8px !important;box-shadow:0 4px 16px rgba(0,0,0,.1) !important;margin-top:4px !important;}
.select2-results__option{padding:10px 14px !important;font-size:14px !important;}
.select2-results__option--highlighted{background:#0f4f52 !important;color:#fff !important;}

/* Order review */
.woocommerce-page.woocommerce-checkout #order_review_heading{font-family:'Libre Bodoni',Georgia,serif !important;font-size:22px !important;color:#0f4f52 !important;margin:36px 0 16px !important;padding-bottom:12px !important;border-bottom:2px solid #0f4f52 !important;}
.woocommerce-page.woocommerce-checkout #order_review{background:#f3f7f7 !important;border-radius:14px !important;padding:28px !important;border:1px solid #d6e4e1 !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-review-order-table{width:100% !important;margin-bottom:16px !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-review-order-table th{color:#0f4f52 !important;font-weight:700 !important;background:transparent !important;font-size:12px !important;text-transform:uppercase !important;padding:10px 0 !important;border-bottom:1px solid #d6e4e1 !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-review-order-table td{text-align:right !important;background:transparent !important;padding:10px 0 !important;border-bottom:1px solid #d6e4e1 !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td{font-size:18px !important;font-weight:700 !important;color:#0f4f52 !important;border-bottom:none !important;padding-top:16px !important;}

/* Payment methods */
.woocommerce-page.woocommerce-checkout .woocommerce-checkout-payment{background:#fff !important;border-radius:12px !important;padding:24px !important;border:1px solid #e5e7eb !important;margin-top:20px !important;box-shadow:0 1px 3px rgba(0,0,0,.04) !important;}
.woocommerce-page.woocommerce-checkout .wc_payment_methods{list-style:none !important;padding:0 !important;margin:0 0 16px !important;}
.woocommerce-page.woocommerce-checkout .wc_payment_methods li{padding:16px 18px !important;border:2px solid #e5e7eb !important;border-radius:10px !important;margin-bottom:10px !important;background:#fff !important;transition:border .2s !important;}
.woocommerce-page.woocommerce-checkout .wc_payment_methods li:hover{border-color:#0f4f52 !important;}
.woocommerce-page.woocommerce-checkout .wc_payment_methods label{font-weight:700 !important;font-size:14px !important;color:#333 !important;cursor:pointer !important;}
.woocommerce-page.woocommerce-checkout .wc_payment_methods .payment_box{padding:16px !important;background:#f9fdfb !important;border-radius:8px !important;margin-top:12px !important;max-height:120px !important;overflow:hidden !important;font-size:13px !important;color:#666 !important;}

/* Place order button */
.woocommerce-page.woocommerce-checkout #place_order{background:#ab9a65 !important;color:#fff !important;font-size:17px !important;font-weight:700 !important;padding:18px !important;width:100% !important;border:none !important;border-radius:12px !important;text-transform:uppercase !important;letter-spacing:.5px !important;cursor:pointer !important;transition:background .2s !important;margin-top:8px !important;}
.woocommerce-page.woocommerce-checkout #place_order:hover{background:#8f784b !important;}

/* Notices */
.woocommerce-page.woocommerce-checkout .woocommerce-info{background:#f3f7f7 !important;color:#0f4f52 !important;border-left:4px solid #0f4f52 !important;padding:14px 18px !important;border-radius:10px !important;margin-bottom:20px !important;font-size:13px !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-info a{color:#0f4f52 !important;font-weight:600 !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-privacy-policy-text{font-size:12px !important;color:#888 !important;margin:12px 0 !important;}
.woocommerce-page.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:13px !important;margin:12px 0 !important;}
@media(max-width:768px){
    .woocommerce-page.woocommerce-checkout .col2-set{grid-template-columns:1fr !important;}
    .woocommerce-page.woocommerce-cart .cart_totals{float:none !important;width:100% !important;}
}
section.related.products ul.products>li.product .media-body h6.product-price,
section.related.products ul.products>li.product .media-body .onsale{font-size:17px !important;color:#0f4f52 !important;font-weight:700 !important;margin:6px 0 0 !important;}
section.related.products ul.products>li.product .media-body .onsale .woocommerce-Price-amount{font-size:17px !important;font-weight:700 !important;}
/* Hover on product cards */
section.related.products ul.products>li.product{transition:transform .2s,box-shadow .2s !important;}
section.related.products ul.products>li.product:hover{transform:translateY(-4px) !important;box-shadow:0 8px 24px rgba(0,0,0,.1) !important;}

/* Product add-to-cart form - card gris-vert */
.interieur_produit .summary .cart,
.interieur_produit .summary form.cart{margin:20px 0 !important;padding:30px 28px !important;background:#f3f7f7 !important;border:1px solid #d6e4e1 !important;border-radius:14px !important;display:block !important;}
/* Variations: label ABOVE select */
.interieur_produit .summary .cart .variations{width:100% !important;margin-bottom:24px !important;border:none !important;border-collapse:collapse !important;}
.interieur_produit .summary .cart .variations tr{display:block !important;margin-bottom:6px !important;}
.interieur_produit .summary .cart .variations td,.interieur_produit .summary .cart .variations th{display:block !important;padding:0 !important;border:none !important;background:transparent !important;}
.interieur_produit .summary .cart .variations th label{font-size:14px !important;font-weight:700 !important;color:#333 !important;margin-bottom:8px !important;display:block !important;}
.interieur_produit .summary .cart .variations td select{width:100% !important;padding:14px 18px !important;border:1px solid #d1d5db !important;border-radius:10px !important;font-size:15px !important;background:#fff !important;}
.interieur_produit .summary .cart .variations .reset_variations{font-size:11px !important;color:#ab9a65 !important;margin-top:4px !important;display:inline-block !important;}
/* Variation price */
.interieur_produit .summary .cart .woocommerce-variation-price .price{font-size:22px !important;font-weight:700 !important;color:#0f4f52 !important;margin-bottom:16px !important;}
/* Quantity + Button row */
.interieur_produit .summary .cart .quantity{margin:0 !important;}
.interieur_produit .summary .cart .woocommerce-variation-add-to-cart{display:flex !important;align-items:center !important;gap:0 !important;}
.interieur_produit .summary > a[href*="categorie"]{display:inline-block !important;padding:3px 12px !important;background:#f3f7f7 !important;color:#0f4f52 !important;font-size:12px !important;font-weight:600 !important;border-radius:16px !important;text-decoration:none !important;margin-bottom:8px !important;}
/* Hide UGS, social share, product meta */
.interieur_produit .summary .product_meta{display:none !important;}
.interieur_produit .summary .a2a_kit{display:none !important;}
/* Force parent containers to wrap so the wishlist drops to a new line */
.woocommerce div.product form.cart,
.interieur_produit .summary form.cart {
    flex-wrap: wrap !important;
}

/* Variation "selected value" — empêcher l'affichage en bleu link */
.interieur_produit .summary .variations select,
.interieur_produit .summary .variations a.reset_variations{
    color:#0f4f52 !important;
    text-decoration:none !important;
}
.interieur_produit .summary .variations td.value{
    background:transparent !important;
}
.interieur_produit .summary table.variations{background:transparent !important;}

/* Single variation price - clean style */
.interieur_produit .summary .woocommerce-variation-price{margin-bottom:14px !important;}
.interieur_produit .summary .woocommerce-variation-price .price{font-size:26px !important;font-weight:800 !important;color:#0f4f52 !important;}

/* Wishlist "Ajouter à votre liste" — proper standalone button below add-to-cart */
.interieur_produit .summary .tinv-wishlist,
.interieur_produit .summary .tinv-wraper,
.woocommerce div.product .tinv-wraper,
.woocommerce div.product form.cart .tinv-wraper {
    width:100% !important;
    flex-basis:100% !important;
    display:block !important;
    margin:18px 0 0 !important;
    padding:0 !important;
    clear:both !important;
    background:transparent !important;
    border:none !important;
    float:none !important;
    order:99 !important;
    text-align:left !important;
}
.interieur_produit .summary .tinv-wishlist-clear,
.woocommerce div.product .tinv-wishlist-clear{display:none !important;}
.interieur_produit .summary .tinvwl_add_to_wishlist_button,
.woocommerce div.product .tinvwl_add_to_wishlist_button {
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:10px 18px !important;
    background:#fff !important;
    color:#0f4f52 !important;
    border:1.5px solid #d6e4e1 !important;
    border-radius:8px !important;
    font-size:13px !important;
    font-weight:600 !important;
    text-decoration:none !important;
    cursor:pointer !important;
    transition:border-color .15s ease,background .15s ease,color .15s ease !important;
    float:none !important;
    margin:0 !important;
}
.interieur_produit .summary .tinvwl_add_to_wishlist_button:hover,
.woocommerce div.product .tinvwl_add_to_wishlist_button:hover {
    border-color:#0f4f52 !important;
    background:#f3f7f7 !important;
    color:#003841 !important;
}
.interieur_produit .summary .tinvwl-icon-heart:before,
.woocommerce div.product .tinvwl-icon-heart:before {
    content:"" !important;
    width:16px;height:16px;
    display:inline-block !important;
    background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f4f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/></svg>") no-repeat center / contain !important;
    margin-right:4px !important;
    vertical-align:middle !important;
}
.tinvwl-tooltip{display:none !important;}

/* Product gallery thumbnails */
.woocommerce-product-gallery .flex-control-thumbs{display:flex !important;gap:8px !important;margin-top:10px !important;list-style:none !important;padding:0 !important;}
.woocommerce-product-gallery .flex-control-thumbs li{width:70px !important;height:70px !important;}
.woocommerce-product-gallery .flex-control-thumbs li img{width:100% !important;height:100% !important;object-fit:cover !important;border-radius:6px !important;border:2px solid #eee !important;cursor:pointer !important;transition:border .2s !important;}
.woocommerce-product-gallery .flex-control-thumbs li img:hover,.woocommerce-product-gallery .flex-control-thumbs li img.flex-active{border-color:#0f4f52 !important;}

/* Product reassurance strip */
.ew-product-reassurance{display:flex !important;gap:20px !important;margin:24px 0 !important;padding:20px !important;background:#f3f7f7 !important;border-radius:10px !important;border:1px solid #d6e4e1 !important;}
.ew-product-reassurance-item{flex:1 !important;display:flex !important;align-items:center !important;gap:10px !important;font-size:12px !important;color:#0f4f52 !important;font-weight:600 !important;}
.ew-product-reassurance-item svg{flex-shrink:0 !important;color:#0f4f52 !important;}

@media(max-width:768px){
    .interieur_produit{grid-template-columns:1fr !important;gap:20px !important;}
    section.related.products ul.products>li{flex:0 0 70% !important;min-width:200px !important;}
    .ew-product-reassurance{flex-direction:column !important;gap:12px !important;}
}

/* === NEWSLETTER (used by footer.php on all pages) === */
.ew-nl{background:#0f4f52 !important;padding:44px 0 !important;}
.ew-nl .ew-c{max-width:1200px !important;margin:0 auto !important;padding:0 20px !important;}
.ew-nl-inner{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:40px !important;}
.ew-nl-logo{max-width:190px !important;height:auto !important;flex-shrink:0 !important;}
.ew-nl-form{flex:1 !important;max-width:480px !important;}
.ew-nl-form h3{font-size:16px !important;color:#fff !important;margin:0 0 12px !important;font-weight:400 !important;white-space:nowrap !important;}
/* CF7 newsletter override (all pages) */
.ew-nl-form .wpcf7-form,.ew-nl-form form{display:flex !important;flex-direction:row !important;align-items:stretch !important;gap:0 !important;flex-wrap:nowrap !important;}
.ew-nl-form .wpcf7-form>div,.ew-nl-form .wpcf7-form>fieldset.hidden-fields-container{display:contents !important;}
.ew-nl-form .wpcf7-form>div>p,.ew-nl-form form>p{display:contents !important;margin:0 !important;}
.ew-nl-form .wpcf7-form-control-wrap{display:contents !important;}
.ew-nl-form .wpcf7-spinner,.ew-nl-form .screen-reader-response,.ew-nl-form .wpcf7-response-output:empty,.ew-nl-form .apbct_special_field{display:none !important;position:absolute !important;visibility:hidden !important;}
@media(max-width:768px){.ew-nl-inner{flex-direction:column !important;text-align:center !important;}.ew-nl-form h3{white-space:normal !important;}}

/* === FOOTER (used by footer.php on all pages) === */
.ew-ft,.ew-ft *{font-family:'Open Sans',sans-serif !important;font-style:normal !important;}
.ew-ft{background:#003841 !important;color:rgba(255,255,255,.6) !important;padding:44px 0 16px !important;}
.ew-ft .ew-c{max-width:1200px !important;margin:0 auto !important;padding:0 20px !important;}
.ew-ft-grid{display:grid !important;grid-template-columns:repeat(6,1fr) !important;gap:24px !important;}
.ew-ft-col h4{font-family:'Open Sans',sans-serif !important;font-size:11px !important;font-weight:700 !important;color:#fff !important;text-transform:uppercase !important;letter-spacing:.5px !important;margin:0 0 10px !important;}
.ew-ft-col h4.ew-ft-h4-secondary{margin-top:32px !important;}
.ew-ft-col a{font-family:'Open Sans',sans-serif !important;display:block !important;font-size:12px !important;color:rgba(255,255,255,.7) !important;margin-bottom:6px !important;text-decoration:none !important;font-weight:400 !important;}
.ew-ft-col a:hover{color:#fff !important;}
.ew-ft-col p{font-family:'Open Sans',sans-serif !important;font-size:12px !important;line-height:1.55 !important;margin:0 0 6px !important;color:rgba(255,255,255,.7) !important;font-weight:400 !important;}
.ew-ft-col p strong{font-family:'Open Sans',sans-serif !important;color:#fff !important;font-weight:600 !important;}
.ew-ft-soc{display:flex !important;gap:6px !important;margin-top:6px !important;}
.ew-ft-soc a{width:26px !important;height:26px !important;border-radius:50% !important;background:rgba(255,255,255,.12) !important;display:flex !important;align-items:center !important;justify-content:center !important;color:#fff !important;font-size:10px !important;font-weight:700 !important;}
.ew-ft-soc a:hover{background:#ab9a65 !important;}
.ew-ft-copy{border-top:1px solid rgba(255,255,255,.08) !important;margin-top:24px !important;padding-top:12px !important;text-align:center !important;font-size:11px !important;color:rgba(255,255,255,.35) !important;}
.ew-ft-copy a{color:rgba(255,255,255,.35) !important;text-decoration:none !important;}
.ew-ft-copy a:hover{color:#ab9a65 !important;}
@media(max-width:768px){.ew-ft-grid{grid-template-columns:repeat(2,1fr) !important;gap:16px !important;}}
@media(max-width:480px){.ew-ft-grid{grid-template-columns:1fr !important;}}

/* === BOOTSTRAP GRID ESSENTIALS (for standalone pages where bootstrap is dequeued) === */
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 15px;box-sizing:border-box;}
.row{display:flex;flex-wrap:wrap;margin:0 -15px;}
.row>[class*="col-"]{padding:0 15px;box-sizing:border-box;}
.col-12{width:100%;}.col-lg-12{width:100%;}
.col-4{width:33.333%;}.col-6{width:50%;}.col-8{width:66.666%;}
.col-sm-5{width:41.666%;}.col-sm-6{width:50%;}.col-lg-2{width:16.666%;}.col-lg-5{width:41.666%;}
.d-flex{display:flex;}.d-none{display:none;}
.align-items-center{align-items:center;}.justify-content-between{justify-content:space-between;}
.text-center{text-align:center;}.mb-30{margin-bottom:30px;}.pt-20{padding-top:20px;}.pb-20{padding-bottom:20px;}
.position-relative{position:relative;}
@media(min-width:992px){.d-lg-flex{display:flex;}.d-lg-none{display:none;}.d-none.d-lg-flex{display:flex;}.d-none.d-lg-block{display:block;}}
@media(max-width:991px){.d-lg-none{display:block;}.d-none.d-lg-flex{display:none;}}

/* === WOOCOMMERCE PRODUCT PAGES === */
.breadcrumb-section{background-size:cover;background-position:center;padding:30px 0;position:relative;}
.breadcrumb-section::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(15,79,82,.7);}
.breadcrumb-section .container{position:relative;z-index:1;}
.breadcrumb-section h2{font-family:'Libre Bodoni',Georgia,serif;color:#fff;font-size:22px;margin:0;}
.contact-section{padding:30px 0;}
.contenuform{max-width:1200px;margin:0 auto;}
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start;}
.woocommerce div.product div.images{width:100%;}
.woocommerce div.product div.images img{width:100%;height:auto;border-radius:10px;}
.woocommerce div.product div.summary{width:100%;}
.woocommerce div.product .summary h1{font-family:'Libre Bodoni',Georgia,serif;font-size:24px;color:#0f4f52;margin:0 0 12px;}
.woocommerce div.product .summary .price{font-size:20px;font-weight:700;color:#0f4f52;margin-bottom:16px;}
.woocommerce div.product .summary .price del{color:#999;font-size:16px;}
.woocommerce div.product .summary .price ins{text-decoration:none;}
.woocommerce div.product .summary .single_add_to_cart_button{background:#0f4f52;color:#fff;border:none;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s;}
.woocommerce div.product .summary .single_add_to_cart_button:hover{background:#003841;}
.woocommerce div.product .summary .quantity input{width:60px;padding:8px;border:1px solid #ddd;border-radius:6px;text-align:center;margin-right:8px;}
.woocommerce div.product .summary table{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:13px;}
.woocommerce div.product .summary table th{text-align:left;padding:8px 12px;background:#f3f7f7;color:#0f4f52;font-weight:600;border-bottom:1px solid #e5e7eb;}
.woocommerce div.product .summary table td{padding:8px 12px;border-bottom:1px solid #f3f4f6;}
.woocommerce div.product .woocommerce-product-gallery__image{margin-bottom:8px;}
.woocommerce .related.products{margin-top:40px;padding-top:30px;border-top:1px solid #eee;}
.woocommerce .related.products h2{font-family:'Libre Bodoni',Georgia,serif;font-size:20px;color:#0f4f52;margin:0 0 20px;}
.woocommerce .related.products ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;padding:0;}
.woocommerce .related.products ul.products li{background:#fff;border:1px solid #eee;border-radius:10px;overflow:hidden;padding:12px;text-align:center;}
.woocommerce .related.products ul.products li a img{width:100%;height:auto;border-radius:6px;margin-bottom:8px;}
.woocommerce .related.products ul.products li a{text-decoration:none;color:#333;font-size:13px;font-weight:600;}
.woocommerce .related.products ul.products li .price{color:#0f4f52;font-weight:700;font-size:14px;}

/* WC related products & product grids - parent theme Zonan template */
section.related.products{clear:both !important;margin-top:40px !important;padding-top:30px !important;border-top:1px solid #eee !important;}
section.related.products>h2{font-family:'Libre Bodoni',Georgia,serif !important;font-size:20px !important;color:#0f4f52 !important;margin:0 0 20px !important;}
section.related.products ul.products,
ul.products.columns-4{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:16px !important;list-style:none !important;padding:0 !important;margin:0 !important;}
ul.products li.product{padding:0 !important;border:none !important;overflow:visible !important;margin:0 !important;float:none !important;width:auto !important;}

/* Product card (.item) */
ul.products li.product .item{background:#fff !important;border:1px solid #eee !important;border-radius:10px !important;overflow:hidden !important;}

/* Hide attribute tables inside product cards */
ul.products li.product .cadre .shop_attributes{display:none !important;}

/* Image */
ul.products li.product .cadre .card{border:none !important;box-shadow:none !important;background:transparent !important;margin:0 !important;border-radius:0 !important;}
ul.products li.product .cadre .card .card-body{padding:0 !important;}
ul.products li.product .cadre .media{display:block !important;}
ul.products li.product .cadre .product-thumbnail{width:100% !important;}
ul.products li.product .cadre .product-thumbnail img{width:100% !important;height:200px !important;object-fit:contain !important;display:block !important;background:#f9fafb !important;padding:8px !important;}
ul.products li.product .cadre .product-thumbnail a{display:block !important;}

/* Text body below image */
ul.products li.product .media-body{padding:12px !important;}
ul.products li.product .media-body .row{display:block !important;margin:0 !important;}
ul.products li.product .media-body [class*="col-"]{width:100% !important;padding:0 !important;}
ul.products li.product .media-body .product-desc{padding:0 !important;}
ul.products li.product .media-body .product-desc h3,
ul.products li.product .media-body .product-desc .title{font-size:13px !important;font-weight:600 !important;line-height:1.4 !important;margin:0 0 6px !important;}
ul.products li.product .media-body .product-desc h3 a,
ul.products li.product .media-body .product-desc .title a{color:#333 !important;text-decoration:none !important;font-size:13px !important;}
ul.products li.product .media-body .product-desc h3 a:first-child{font-size:11px !important;color:#888 !important;font-weight:400 !important;}
ul.products li.product .media-body h6.product-price,
ul.products li.product .media-body .price,
ul.products li.product .media-body .onsale{font-size:15px !important;font-weight:700 !important;color:#0f4f52 !important;margin:0 !important;}
ul.products li.product .media-body .onsale .woocommerce-Price-amount{font-size:15px !important;}

@media(max-width:768px){
    section.related.products ul.products,ul.products.columns-4{grid-template-columns:repeat(2,1fr) !important;}
}
@media(max-width:480px){
    section.related.products ul.products,ul.products.columns-4{grid-template-columns:1fr !important;}
}

/* WC shop/archive pages */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;padding:0;}
.woocommerce ul.products li.product{background:#fff;border:1px solid #eee;border-radius:10px;overflow:hidden;padding:12px;text-align:center;transition:box-shadow .2s;}
.woocommerce ul.products li.product:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);}
.woocommerce ul.products li.product a img{width:100%;height:auto;border-radius:6px;margin-bottom:8px;}
.woocommerce ul.products li.product a{text-decoration:none;color:#333;font-size:13px;font-weight:600;}
.woocommerce ul.products li.product .price{color:#0f4f52;font-weight:700;font-size:14px;display:block;margin-top:4px;}
.woocommerce-page .woocommerce-result-count,.woocommerce-page .woocommerce-ordering{margin-bottom:16px;}

/* WC select/variations on product pages */
.woocommerce div.product .summary select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;}
.woocommerce div.product .summary .reset_variations{font-size:12px;color:#0f4f52;margin-left:8px;}

@media(max-width:768px){
    .woocommerce div.product{grid-template-columns:1fr;}
    .woocommerce .related.products ul.products,.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
    .woocommerce .related.products ul.products,.woocommerce ul.products{grid-template-columns:1fr;}
}

/* === iOS Safari : empêcher le zoom auto sur le focus des inputs ===
   Tous les champs texte doivent faire >= 16px en mobile.
   Sinon iOS zoome la page entière au tap. */
@media(max-width:991px){
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="number"],
    input[type="search"],
    input[type="url"],
    select,
    textarea{
        font-size:16px !important;
    }
}

/* === HOMEPAGE RESPONSIVE === */

/* Burger button (hidden by default, shown <= 991px) */
.ew-burger{display:none;background:transparent;border:0;cursor:pointer;padding:8px;margin-right:6px;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.ew-burger span{display:block;width:24px;height:2px;background:#0f4f52;border-radius:2px;transition:transform .2s ease, opacity .2s ease;}
.ew-burger:hover span{background:#003841;}

/* Mobile drawer (hidden by default) */
.ew-mdrawer{position:fixed;inset:0;z-index:9999;display:none;}
.ew-mdrawer.open{display:block;}
.ew-mdrawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:ew-mdrawer-fade .2s ease;}
.ew-mdrawer-panel{position:absolute;left:0;top:0;bottom:0;width:300px;max-width:85vw;background:#fff;box-shadow:4px 0 24px rgba(0,0,0,.2);overflow-y:auto;animation:ew-mdrawer-slide .25s ease;display:flex;flex-direction:column;}
@keyframes ew-mdrawer-fade{from{opacity:0;}to{opacity:1;}}
@keyframes ew-mdrawer-slide{from{transform:translateX(-100%);}to{transform:translateX(0);}}
.ew-mdrawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #eee;}
.ew-mdrawer-close{background:transparent;border:0;font-size:28px;line-height:1;color:#999;cursor:pointer;padding:0 6px;}
.ew-mdrawer-close:hover{color:#0f4f52;}
.ew-mdrawer-nav{display:flex;flex-direction:column;padding:12px 0;}
.ew-mdrawer-nav a{display:block;padding:14px 22px;color:#0f4f52;font-size:15px;font-weight:500;text-decoration:none;border-bottom:1px solid #f3f3f3;}
.ew-mdrawer-nav a:hover{background:#f9fdfb;color:#ab9a65;}
.ew-mdrawer-sub{border-bottom:1px solid #f3f3f3;}
.ew-mdrawer-sub summary{padding:14px 22px;color:#0f4f52;font-size:15px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.ew-mdrawer-sub summary::-webkit-details-marker{display:none;}
.ew-mdrawer-sub summary::after{content:"+";color:#999;font-size:18px;font-weight:300;}
.ew-mdrawer-sub[open] summary::after{content:"−";}
.ew-mdrawer-sub a{padding-left:36px;font-size:14px;color:#555;border-bottom:0;}
.ew-mdrawer-sub a:hover{color:#0f4f52;}
.ew-mdrawer-sep{height:8px;background:#f9fdfb;margin:8px 0;}
.ew-mdrawer-pro{background:#0f4f52 !important;color:#fff !important;text-align:center;margin:12px 22px;border-radius:8px;border:0 !important;font-weight:700 !important;padding:14px !important;}
.ew-mdrawer-pro:hover{background:#003841 !important;color:#fff !important;}

@media(max-width:991px){
    .ew-burger{display:flex !important;}
    .ew-hdr-nav-l{display:none !important;}
    .ew-hdr-right .ew-marque{display:none !important;}
    .ew-topbar{display:none !important;}
    .ew-hdr-inner{justify-content:space-between !important;}
    .ew-hdr-logo{flex:1;display:flex;justify-content:center;}
    .ew-hdr-logo img{max-height:36px !important;}
    .ew-hdr-icons{gap:4px !important;}
    .ew-c{padding:0 16px !important;}
}

@media(max-width:768px){
    /* Hero — plus haut, image visible, texte lisible */
    .ew-hero{min-height:560px !important;}
    .ew-hero-bg{object-position:center 30% !important;}
    .ew-hero-ov{background:linear-gradient(180deg,rgba(0,56,65,.45) 0%,rgba(0,56,65,.2) 40%,rgba(0,56,65,.55) 100%) !important;}
    .ew-hero h1{font-size:28px;line-height:1.3;max-width:100% !important;padding:0 20px;}
    .ew-hero-ct{padding:60px 0 60px !important;}

    /* Benefits — full width sous le hero, lecture verticale */
    .ew-bene{position:static !important;background:#faf7ef !important;}
    .ew-bene-row{flex-direction:column;}
    .ew-bene-item{border-right:0 !important;border-left:0 !important;border-bottom:1px solid #e8e2d3;padding:18px 22px;gap:18px;}
    .ew-bene-item:last-child{border-bottom:0;}
    .ew-bene-ic{width:54px !important;height:54px !important;flex-shrink:0;}
    .ew-bene-ic svg{width:28px !important;height:28px !important;}
    .ew-bene-item b{font-size:13px !important;}
    .ew-bene-item p{font-size:13px !important;line-height:1.5 !important;}

    /* Recommandations */
    .ew-reco{padding:40px 0 32px;}
    .ew-reco h2{font-size:26px;}
    .ew-reco-sub{font-size:13px;margin-bottom:24px;padding:0 16px;}
    .ew-reco-track{justify-content:flex-start;gap:14px;padding:0 16px;scroll-snap-type:x mandatory;}
    .ew-reco-card{scroll-snap-align:start;min-width:230px;max-width:230px;}
    .ew-reco-card h3{font-size:14px;line-height:1.3;}
    .ew-reco-price{font-size:13px !important;padding:10px 16px !important;white-space:normal !important;max-width:90%;line-height:1.3 !important;}
    .ew-reco-arr{display:none !important;}

    /* Réassurance */
    .ew-reas{padding:40px 0;}
    .ew-reas-row{flex-direction:column;align-items:center;gap:24px;}
    .ew-reas-item{max-width:280px;padding:0 16px;}
    .ew-reas-ic{width:72px !important;height:72px !important;margin-bottom:14px;}
    .ew-reas-ic svg{width:34px !important;height:34px !important;}

    /* About — image + texte */
    .ew-about{padding:40px 0;}
    .ew-about-grid{grid-template-columns:1fr;gap:24px;}
    .ew-lead{font-size:18px;line-height:1.5;}
    .ew-about-txt p{font-size:14px;}
    .ew-about-img{order:-1;}
    .ew-about-img img{width:100%;height:240px !important;object-fit:cover !important;object-position:center top !important;border-radius:14px;}

    /* Confiance */
    .ew-trust{padding:36px 0;}
    .ew-trust h2{font-size:22px;}
    .ew-trust-sub{font-size:13px;padding:0 16px;}
    .ew-trust-logos{gap:32px 24px;padding:0 20px;}
    .ew-trust-logo{flex:0 0 auto;max-width:140px;}

    /* Newsletter — logo carré centré + texte + form en colonne sur mobile */
    .ew-nl{padding:40px 0;}
    .ew-nl-inner{grid-template-columns:1fr !important;text-align:center;gap:18px;justify-items:center;}
    .ew-nl-logo-square{width:140px;padding:18px !important;}
    .ew-nl-heading{flex-direction:column;text-align:center;gap:12px;}
    .ew-nl-logo{max-width:100%;}
    .ew-nl-body{width:100%;}
    .ew-nl-text h3{font-size:22px;line-height:1.25;}
    .ew-nl-text p{font-size:13px;color:rgba(255,255,255,.75);padding:0 12px;margin-bottom:8px;}
    .ew-nl-form{padding:0 20px;}
    .ew-nl-form .wpcf7-form,.ew-nl-form form{
        flex-direction:column !important;
        background:transparent !important;
        border:none !important;
        border-radius:0 !important;
        padding:0 !important;
        gap:10px !important;
        max-width:420px !important;
        margin:0 auto !important;
        box-shadow:none !important;
    }
    .ew-nl-form input[type="email"],.ew-nl-form input[type="text"]{
        text-align:center !important;
        background:rgba(255,255,255,.12) !important;
        height:48px !important;
        max-height:48px !important;
        min-height:48px !important;
        line-height:48px !important;
        padding:0 18px !important;
        border:1px solid rgba(255,255,255,.25) !important;
        border-radius:8px !important;
        font-size:16px !important;
        font-weight:500 !important;
        color:#fff !important;
        box-sizing:border-box !important;
        display:block !important;
        width:100% !important;
    }
    .ew-nl-form input[type="email"]::placeholder,.ew-nl-form input[type="text"]::placeholder{
        color:rgba(255,255,255,.6) !important;
    }
    .ew-nl-form input[type="email"]:focus,.ew-nl-form input[type="text"]:focus{
        background:rgba(255,255,255,.18) !important;
        border-color:rgba(255,255,255,.5) !important;
        outline:none !important;
    }
    .ew-nl-form button[type="submit"],.ew-nl-form input[type="submit"]{
        display:block !important;
        width:100% !important;
        border:0 !important;
        border-radius:8px !important;
        height:48px !important;
        max-height:48px !important;
        min-height:48px !important;
        line-height:48px !important;
        padding:0 !important;
        font-size:14px !important;
        letter-spacing:.05em !important;
        font-weight:700 !important;
        background:#ab9a65 !important;
        color:#fff !important;
        text-transform:uppercase !important;
        box-shadow:none !important;
        box-sizing:border-box !important;
    }
    .ew-nl-form button[type="submit"]:hover,.ew-nl-form input[type="submit"]:hover{
        background:#8a7d51 !important;
    }

    /* Footer — colonnes propres */
    .ew-ft{padding:32px 0 0;}
    .ew-ft-grid{grid-template-columns:1fr;gap:24px;margin-bottom:24px;padding:0 20px;}
    .ew-ft-col h4{font-size:13px;margin-bottom:10px;padding-bottom:8px;}
    .ew-ft-col a,.ew-ft-col p{font-size:13px;margin-bottom:6px;}
    .ew-ft-copy{padding:16px 20px;}
    .ew-ft-copy .ew-c{flex-direction:column;gap:6px;font-size:11px;}
    .ew-ft-copy-sep{display:none;}
}

@media(max-width:560px){
    .ew-nl-form .wpcf7-form,.ew-nl-form form{flex-direction:column !important;border-radius:14px !important;padding:8px !important;}
    .ew-nl-form input[type="submit"],.ew-nl-form button[type="submit"]{width:100% !important;border-radius:8px !important;}
}

@media(max-width:480px){
    .ew-hdr-logo img{max-height:32px !important;}
    .ew-ft-grid{grid-template-columns:1fr;}
    .ew-reco-card{min-width:160px;max-width:160px;}
    .ew-reco-card-inner{padding:16px 10px 12px;}
    .ew-reco-img{width:90px;height:130px;}
}

/* === PRODUCT PAGE MOBILE === */
@media(max-width:768px){
    .ew-product-banner{padding:18px 0 !important;}
    .ew-product-banner h2{font-size:18px !important;}

    /* Layout = single column */
    .interieur_produit{grid-template-columns:1fr !important;gap:20px !important;padding:0 16px !important;}
    .interieur_produit .summary .product_title{font-size:22px !important;}
    .interieur_produit .summary .price,
    .interieur_produit .summary .woocommerce-variation-price .price{font-size:22px !important;}

    /* Variations form */
    .interieur_produit .summary table.variations{display:block !important;width:100% !important;}
    .interieur_produit .summary table.variations tbody{display:block !important;width:100% !important;}
    .interieur_produit .summary table.variations tr{display:block !important;margin-bottom:14px !important;}
    .interieur_produit .summary table.variations th,
    .interieur_produit .summary table.variations td{display:block !important;width:100% !important;padding:0 !important;}
    .interieur_produit .summary table.variations th{font-size:13px !important;font-weight:700 !important;color:#0f4f52 !important;margin-bottom:6px !important;}
    .interieur_produit .summary table.variations td.value select{
        width:100% !important;
        padding:14px 16px !important;
        border:1.5px solid #d6e4e1 !important;
        border-radius:10px !important;
        font-size:15px !important;
        font-weight:600 !important;
        color:#0f4f52 !important;
        background:#fff !important;
        appearance:menulist !important;
        -webkit-appearance:menulist !important;
        line-height:1.4 !important;
    }
    .interieur_produit .summary .reset_variations{
        font-size:12px !important;color:#9ca3af !important;margin-top:6px !important;text-decoration:underline !important;
    }

    /* Cart form — qty + buttons stacked tight (couvre TOUTES les structures WC) */
    .woocommerce div.product form.cart,
    .woocommerce div.product form.variations_form,
    .woocommerce div.product form.cart .woocommerce-variation-add-to-cart{
        display:flex !important;
        flex-direction:column !important;
        gap:10px !important;
        align-items:stretch !important;
        padding:0 !important;
        width:100% !important;
    }
    .woocommerce div.product form.cart .quantity,
    .woocommerce div.product .woocommerce-variation-add-to-cart .quantity{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        display:block !important;
        float:none !important;
    }
    .woocommerce div.product form.cart .quantity input.qty{
        width:100% !important;
        height:46px !important;
        max-height:46px !important;
        min-height:46px !important;
        text-align:center !important;
        font-size:16px !important;
        font-weight:600 !important;
        border:1.5px solid #d6e4e1 !important;
        border-radius:10px !important;
        padding:0 14px !important;
        line-height:46px !important;
        background:#fff !important;
        color:#0f4f52 !important;
        box-sizing:border-box !important;
    }
    .woocommerce div.product form.cart button.single_add_to_cart_button,
    .woocommerce div.product form.cart .single_add_to_cart_button{
        width:100% !important;
        height:48px !important;
        padding:0 !important;
        font-size:15px !important;
        line-height:48px !important;
        border-radius:10px !important;
        background:#0f4f52 !important;
        color:#fff !important;
        font-weight:700 !important;
        margin:0 !important;
        border:0 !important;
        text-transform:none !important;
        letter-spacing:0 !important;
    }

    /* Wishlist button — full width below cart */
    .woocommerce div.product .tinv-wraper,
    .interieur_produit .summary .tinv-wraper{
        width:100% !important;
        margin:0 !important;
    }
    .woocommerce div.product .tinvwl_add_to_wishlist_button,
    .interieur_produit .summary .tinvwl_add_to_wishlist_button{
        width:100% !important;
        height:46px !important;
        line-height:46px !important;
        text-align:center !important;
        justify-content:center !important;
        padding:0 14px !important;
        font-size:14px !important;
        border-radius:10px !important;
        white-space:nowrap !important;
        background:#fff !important;
        border:1.5px solid #d6e4e1 !important;
        color:#0f4f52 !important;
    }

    /* === RELATED PRODUCTS — 2 colonnes au lieu de 4 === */
    section.related.products ul.products,
    .woocommerce section.related.products ul.products{
        grid-template-columns:repeat(2,1fr) !important;
        gap:12px !important;
    }
    section.related.products>h2{font-size:20px !important;padding:0 16px !important;}
    section.related.products ul.products li.product{padding:0 !important;}
    section.related.products ul.products li.product h2,
    section.related.products ul.products li.product h3{font-size:13px !important;line-height:1.3 !important;}
    section.related.products ul.products li.product .price{font-size:14px !important;}
    section.related.products ul.products li.product .button{
        font-size:12px !important;
        padding:8px 10px !important;
        white-space:normal !important;
    }
}

@media(max-width:480px){
    section.related.products ul.products,
    .woocommerce section.related.products ul.products{
        grid-template-columns:repeat(2,1fr) !important;
    }
    section.related.products ul.products li.product .price{font-size:13px !important;}
}
