
/* ===================================================================
   El Caldero — habillage du blog (module everpsblog)
   =================================================================== */
.page-everblog #wrapper, .page-everblog #content-wrapper{background:#f6f6f6}
.everpsblog-blog-header{background:#2B2320 !important;border-radius:0 0 18px 18px}
.everpsblog-blog-header__inner{padding:34px 20px 30px !important}
.everpsblog-blog-header__title{color:#FBF3E7;font-weight:800;font-size:30px}
.everpsblog-blog-header__title:after{content:"";display:block;width:56px;height:3px;background:#E8A33D;margin:12px auto 0;border-radius:2px}
.everpsblog-top-category-btn{background:transparent;border:1px solid rgba(251,243,231,.35);color:#FBF3E7;border-radius:20px;padding:6px 16px;font-weight:600;font-size:13px}
.everpsblog-top-category-btn:hover{background:#C1440E;border-color:#C1440E;color:#fff}
.everpsblog-listing-card{border-radius:14px !important;border:1px solid rgba(43,35,32,.12) !important;transition:box-shadow .15s,transform .08s}
.everpsblog-listing-card:hover{box-shadow:0 8px 22px rgba(193,68,14,.14) !important;transform:translateY(-2px)}
.everpsblog.article-content.h2 a, .everpsblog.article-content a{color:#2B2320;font-weight:800;text-decoration:none;font-size:19px;line-height:1.25}
.everpsblog.article-content a:hover{color:#C1440E}
.btn-blog-primary{background:#C1440E !important;border-color:#C1440E !important;color:#fff !important;font-weight:700}
.btn-blog-primary:hover{background:#a5390b !important;border-color:#a5390b !important}
.everpsblog-search-toolbar__search .btn{background:#C1440E;border-color:#C1440E}
.everpsblogcontent{color:rgba(43,35,32,.72);font-size:14.5px;line-height:1.6}
/* page article : réutilise la mise en page éditoriale */
.page-everblog .everpsblogcontent h2{font-size:23px;font-weight:800;color:#2B2320;border-bottom:2px solid #E8A33D;padding-bottom:6px;display:inline-block;margin:30px 0 10px}
.page-everblog .everpsblogcontent h3{font-size:17px;font-weight:800;color:#C1440E;margin:18px 0 6px}
.page-everblog .everpsblogcontent a{color:#C1440E;font-weight:600;text-decoration:underline}
.page-everblog .everpsblogcontent .ec-cms-intro{font-size:18px;border-left:4px solid #C1440E;padding:4px 0 4px 16px;color:rgba(43,35,32,.85)}
.page-everblog .everpsblogcontent .ec-cms-table{width:100%;border-collapse:collapse;margin:10px 0 20px}
.page-everblog .everpsblogcontent .ec-cms-table th{background:#2B2320;color:#FBF3E7;text-align:left;padding:10px 12px;font-size:13px;text-transform:uppercase}
.page-everblog .everpsblogcontent .ec-cms-table td{padding:10px 12px;border-bottom:1px solid rgba(43,35,32,.12)}
.page-everblog .everpsblogcontent .ec-cms-table tbody tr:nth-child(odd){background:#FBF3E7}
.page-everblog .everpsblogcontent .ec-btn-primary{display:inline-block;background:#C1440E;color:#fff;font-weight:800;padding:13px 22px;border-radius:10px;text-decoration:none}

/* ===================================================================
   El Caldero — Journal "La Une" (héroïne + grille + cartes badges)
   =================================================================== */
.ec-bhero{display:grid;grid-template-columns:1.45fr 1fr;border-radius:16px;overflow:hidden;margin:6px 0 26px;box-shadow:0 12px 32px rgba(43,35,32,.14);background:#2B2320}
.ec-bhero-img{display:block;min-height:300px}
.ec-bhero-img img{width:100%;height:100%;object-fit:cover;display:block}
.ec-bhero-txt{padding:34px 32px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.ec-bhero-kick{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E8A33D}
.ec-bhero-title{margin:0;font-size:28px;line-height:1.14}
.ec-bhero-title a{color:#FBF3E7 !important;font-family:Georgia,"Times New Roman",serif;font-weight:400;text-decoration:none}
.ec-bhero-title a:hover{color:#E8A33D !important}
.ec-bhero-sum{font-size:14.5px;color:rgba(251,243,231,.75);margin:0;line-height:1.6}
.ec-bhero-btn{align-self:flex-start;background:#C1440E;color:#fff !important;font-weight:800;font-size:14px;border-radius:10px;padding:12px 22px;text-decoration:none;transition:background .15s}
.ec-bhero-btn:hover{background:#a5390b}
.ec-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 30px}
.ec-bcard{background:#fff;border:1px solid rgba(43,35,32,.13);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .08s}
.ec-bcard:hover{box-shadow:0 10px 26px rgba(193,68,14,.14);transform:translateY(-3px)}
.ec-bcard-img{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#f4f1ec}
.ec-bcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ec-bcard:hover .ec-bcard-img img{transform:scale(1.04)}
.ec-bchip{position:absolute;top:10px;left:10px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:14px;padding:4px 11px}
.ec-bchip-rec{background:#C1440E;color:#fff}
.ec-bchip-gui{background:#2B2320;color:#FBF3E7}
.ec-bcard-bd{padding:14px 16px 15px;display:flex;flex-direction:column;flex:1}
.ec-bcard-title{margin:0 0 7px;font-size:16.5px;line-height:1.25}
.ec-bcard-title a{color:#2B2320 !important;font-weight:800;text-decoration:none}
.ec-bcard-title a:hover{color:#C1440E !important}
.ec-bcard-sum{font-size:13px;color:rgba(43,35,32,.62);line-height:1.55;margin:0 0 12px}
.ec-bcard-meta{margin-top:auto;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ec-bbadge{font-size:10.5px;font-weight:800;background:#FBF3E7;border:1px solid rgba(193,68,14,.3);color:#8f3208;border-radius:12px;padding:3px 10px}
.ec-brt{font-size:11px;color:rgba(43,35,32,.5);font-weight:600}
.ec-blire{margin-left:auto;font-size:12.5px;font-weight:800;color:#C1440E !important;text-decoration:none}
.ec-blire:hover{text-decoration:underline}
@media (max-width:991px){.ec-blog-grid{grid-template-columns:repeat(2,1fr)}.ec-bhero{grid-template-columns:1fr}.ec-bhero-img{min-height:200px}}
@media (max-width:575px){.ec-blog-grid{grid-template-columns:1fr}}
/* bloc produits liés = "Le matériel de l'article" */
.blog-linked-products h2{font-size:20px;font-weight:800;color:#2B2320;text-align:left !important;border-bottom:2px solid #E8A33D;display:inline-block;padding-bottom:6px}

/* Journal — page article : bandeau compact, méta discrète */
#module-everpsblog-post .everpsblog-post-hero{min-height:0 !important;height:auto !important;padding:38px 24px !important;border-radius:0 0 18px 18px}
#module-everpsblog-post .everpsblog-post-hero-overlay{min-height:0 !important;height:auto !important;padding:0 !important;position:static !important}
#module-everpsblog-post .everpsblog-post-title{font-size:clamp(24px,3.4vw,34px) !important;line-height:1.15 !important;margin:0 auto !important;max-width:820px}
.ec-post-meta{font-size:13px;color:rgba(43,35,32,.55)}
.ec-post-meta a{color:#C1440E !important;font-weight:700}
.postexcerpt{display:none}
.ai-summary-banner{display:none !important}

/* Journal — corps d'article : mêmes styles éditoriaux que les pages CMS */
#module-everpsblog-post .postcontent{font-size:16px;line-height:1.75;color:#2B2320;max-width:820px;margin:0 auto}
#module-everpsblog-post .postcontent h2{font-size:23px;font-weight:800;color:#2B2320;border-bottom:2px solid #E8A33D;padding-bottom:6px;display:inline-block;margin:30px 0 10px}
#module-everpsblog-post .postcontent h3{font-size:17px;font-weight:800;color:#C1440E;margin:18px 0 6px}
#module-everpsblog-post .postcontent p, #module-everpsblog-post .postcontent li{font-size:16px;color:#2B2320}
#module-everpsblog-post .postcontent a{color:#C1440E;font-weight:600;text-decoration:underline;text-underline-offset:2px}
#module-everpsblog-post .postcontent .ec-cms-intro{font-size:18.5px;border-left:4px solid #C1440E;padding:4px 0 4px 16px;color:rgba(43,35,32,.85)}
#module-everpsblog-post .postcontent .ec-cms-table{width:100%;border-collapse:collapse;margin:10px 0 20px;font-size:14.5px}
#module-everpsblog-post .postcontent .ec-cms-table th{background:#2B2320;color:#FBF3E7;text-align:left;padding:10px 12px;font-size:13px;text-transform:uppercase}
#module-everpsblog-post .postcontent .ec-cms-table td{padding:10px 12px;border-bottom:1px solid rgba(43,35,32,.12)}
#module-everpsblog-post .postcontent .ec-cms-table tbody tr:nth-child(odd){background:#FBF3E7}
#module-everpsblog-post .postcontent .ec-btn-primary{display:inline-block;background:#C1440E;color:#fff;font-weight:800;padding:13px 22px;border-radius:10px;text-decoration:none}
#module-everpsblog-post .card, #module-everpsblog-post .card-body{background:#fff !important;border:0}

/* Journal — la une : hauteur bridée (l'image se recadre), texte toujours centré */
.ec-bhero{height:440px}
.ec-bhero-img{height:100%;overflow:hidden}
.ec-bhero-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
@media (max-width:991px){
  .ec-bhero{height:auto}
  .ec-bhero-img{height:230px}
}

/* Journal — en-tête compact (remplace le pavé charbon pleine largeur) */
.ec-journal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:26px 0 18px;border-bottom:2px solid #2B2320;margin-bottom:22px}
.ec-journal-h1{font-size:clamp(28px,3.4vw,38px);font-weight:800;color:#2B2320;margin:0;line-height:1.05}
.ec-journal-h1:after{content:"";display:block;width:52px;height:4px;background:#E8A33D;border-radius:2px;margin-top:8px}
.ec-journal-tagline{margin:10px 0 0;font-size:14px;color:rgba(43,35,32,.6)}
.ec-journal-head-right{display:flex;gap:8px;flex-wrap:wrap}
.ec-journal-pill{font-size:12.5px;font-weight:800;color:#2B2320;border:1.5px solid rgba(43,35,32,.25);border-radius:20px;padding:8px 16px;text-decoration:none;transition:all .15s}
.ec-journal-pill:hover{background:#C1440E;border-color:#C1440E;color:#fff}
/* barre de recherche du module : discrète, alignée sur la largeur du contenu */
.everpsblog-search-toolbar{margin:0 0 18px}
.everpsblog-search-toolbar__search{display:flex;gap:8px;max-width:420px}
.everpsblog-search-toolbar__search .form-control{border:1.5px solid rgba(43,35,32,.2);border-radius:10px;font-size:14px}
.everpsblog-search-toolbar__search .btn{background:#2B2320 !important;border-color:#2B2320 !important;color:#FBF3E7 !important;border-radius:10px;font-weight:700;font-size:13px}
.everpsblog-search-toolbar__search .btn:hover{background:#C1440E !important;border-color:#C1440E !important}

/* Journal — pages catégorie/recherche/auteur/tag : bandeau fin (cohérent avec l'en-tête compact) */
#module-everpsblog-category .everpsblog-blog-header__inner,
#module-everpsblog-search .everpsblog-blog-header__inner,
#module-everpsblog-author .everpsblog-blog-header__inner,
#module-everpsblog-tag .everpsblog-blog-header__inner{padding:26px 20px !important}
#module-everpsblog-category .everpsblog-blog-header__title,
#module-everpsblog-search .everpsblog-blog-header__title,
#module-everpsblog-author .everpsblog-blog-header__title,
#module-everpsblog-tag .everpsblog-blog-header__title{font-size:26px}
#module-everpsblog-category .everpsblog-blog-header,
#module-everpsblog-search .everpsblog-blog-header,
#module-everpsblog-author .everpsblog-blog-header,
#module-everpsblog-tag .everpsblog-blog-header{border-radius:0 0 14px 14px}

/* Fiches produit — liste de caractéristiques dans la description */
.product-description .ec-specs{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid rgba(43,35,32,.12);display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px 24px}
.product-description .ec-specs li{font-size:13.5px;color:rgba(43,35,32,.75);margin:0}
.product-description .ec-specs strong{color:#2B2320}

/* Fiches produit — composants par catégorie (brûleurs, planchas, épicerie, accessoires) */
.ec-fx-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}
.ec-fx-chip{display:inline-block;font-size:12.5px;font-weight:600;color:#2B2320;background:#fff;border:1.5px solid rgba(43,35,32,.18);border-radius:20px;padding:7px 13px;text-decoration:none;transition:all .15s}
a.ec-fx-chip:hover{border-color:#C1440E;color:#C1440E}
.ec-fx-chip strong{font-weight:800}
.ec-fx-chip-flat{cursor:default;background:#fff}
.ec-fx-check{background:#fff;border:1px solid rgba(43,35,32,.12);border-radius:12px;padding:12px 16px}
.ec-fx-check-lbl{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:rgba(43,35,32,.55);margin-bottom:8px}
.ec-fx-check ul{list-style:none;margin:0;padding:0}
.ec-fx-check li{font-size:13.5px;margin-bottom:7px;color:rgba(43,35,32,.8)}
.ec-fx-check a{color:#C1440E;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ec-fx-req,.ec-fx-rec{display:inline-block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-radius:10px;padding:2px 8px;margin-right:6px;vertical-align:1px}
.ec-fx-req{background:#C1440E;color:#fff}
.ec-fx-rec{background:#FBF3E7;color:#8f3208;border:1px solid rgba(193,68,14,.3)}
.ec-fx-dose{width:100%;border-collapse:collapse;margin:2px 0 10px;background:#fff;border-radius:10px;overflow:hidden}
.ec-fx-dose td{padding:9px 13px;border-bottom:1px solid rgba(43,35,32,.1);font-size:13.5px}
.ec-fx-dose td:first-child{font-weight:800;color:#2B2320;white-space:nowrap}
.ec-fx-dose td:nth-child(2){color:#C1440E;font-weight:700}
.ec-fx-dose tr:last-child td{border-bottom:0}

/* ============ Batch check : catégories, fiches, blog, hub ============ */
/* Catégories : plus de colonne gauche, contenu pleine largeur */
#left-column{display:none !important}
#content-wrapper{flex:0 0 100% !important;max-width:100% !important;width:100% !important}
/* Tri : rangée propre alignée à droite au-dessus de la grille */
.products-selection{display:flex;justify-content:flex-end;align-items:center;margin:2px 0 14px;padding:0}
.products-sort-order{max-width:280px}
.products-sort-order .select-title{border:1.5px solid rgba(43,35,32,.2);border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600;background:#fff}
/* Blocs produits liés : carrousel scroll-snap, ~4 visibles */
.product-accessories .products,
.featured-products .products,
.viewed-products .products{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.product-accessories .products > *,
.featured-products .products > *,
.viewed-products .products > *{flex:0 0 240px;max-width:240px;scroll-snap-align:start}
.product-accessories .products::-webkit-scrollbar,
.featured-products .products::-webkit-scrollbar{height:8px}
.product-accessories .products::-webkit-scrollbar-thumb,
.featured-products .products::-webkit-scrollbar-thumb{background:rgba(193,68,14,.35);border-radius:10px}
.product-accessories > .h5, .featured-products > .h5, .viewed-products > .h5,
.product-accessories p.h5, .featured-products p.h5{font-size:18px;font-weight:800;color:#2B2320;text-transform:none;letter-spacing:0;border-bottom:2px solid #E8A33D;display:inline-block;padding-bottom:5px;margin-bottom:14px}
/* Quantité : input décollé des flèches */
.product-quantity .qty{margin-right:10px}
.product-quantity .qty input{border:1.5px solid rgba(43,35,32,.22);border-radius:10px;padding:10px 6px;text-align:center;min-width:64px;font-weight:700;font-size:15px}
.product-quantity .input-group-btn-vertical{margin-left:6px}
.product-quantity .input-group-btn-vertical .btn{border:1px solid rgba(43,35,32,.18);border-radius:6px;margin:1px 0;background:#fff}
/* Home : vignettes des cartes Journal */
.ec-journal-thumb{display:block;margin:-18px -18px 12px;overflow:hidden;border-radius:14px 14px 0 0;aspect-ratio:16/8}
.ec-journal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ec-journal-card:hover .ec-journal-thumb img{transform:scale(1.04)}
/* Hub catalogue */
.ec-cat-grid-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 30px}
@media(max-width:767px){.ec-cat-grid-hub{grid-template-columns:1fr 1fr}}
/* Blog article : en-tête net (sans arrondis), respiration, figure */
#module-everpsblog-post .everpsblog-post-hero{border-radius:0 !important;margin-bottom:0 !important}
#module-everpsblog-post .ec-post-meta{margin:16px 0 22px !important}
.ec-post-figure{max-width:820px;margin:26px auto 6px;padding:0 20px}
.ec-post-figure img{width:100%;max-height:420px;object-fit:cover;border-radius:14px;display:block}
/* Signature/boîte auteur : superflue (la méta "Par El Caldero" suffit) */
.everpsblog-post-author-box{display:none !important}
/* Commentaires : zone propre */
#module-everpsblog-post .comment-form{background:#fff;border:1px solid rgba(43,35,32,.12);border-radius:14px;padding:20px 22px;max-width:820px;margin:10px auto 30px}
#module-everpsblog-post .comment-form textarea,
#module-everpsblog-post .comment-form input{border:1.5px solid rgba(43,35,32,.18);border-radius:10px;font-size:14px}
#module-everpsblog-post .comment-form .btn,
#module-everpsblog-post .comment-form button[type=submit]{background:#C1440E;border-color:#C1440E;color:#fff;font-weight:800;border-radius:10px;padding:10px 20px}
#module-everpsblog-post .comment-form .btn:hover{background:#a5390b}
#module-everpsblog-post h2.text-center, #module-everpsblog-post #related-posts h2{font-size:20px;font-weight:800;color:#2B2320;text-align:left !important;border-bottom:2px solid #E8A33D;display:inline-block;padding-bottom:5px}
#related-posts{max-width:1100px;margin:0 auto;padding:0 20px}
/* Atelier : contenu inclus */
.ec-atelier-inclus{padding:12px 18px 4px}
.ec-atelier-inc{display:grid;grid-template-columns:22px 40px 1fr auto;align-items:center;gap:10px;padding:7px 10px;border:1px solid rgba(193,68,14,.18);background:#FBF3E7;border-radius:10px;margin-bottom:6px}
.ec-atelier-inc-thumb{width:40px;height:40px;border-radius:7px;overflow:hidden;background:#fff}
.ec-atelier-inc-thumb img{width:100%;height:100%;object-fit:cover}
.ec-atelier-inc-name{font-size:13px;font-weight:700;color:#2B2320 !important;text-decoration:none;line-height:1.25}
.ec-atelier-inc-name:hover{color:#C1440E !important}
.ec-atelier-inc-price{font-size:12.5px;font-weight:700;color:rgba(43,35,32,.55);white-space:nowrap}
.ec-atelier-saving{font-size:12.5px;color:rgba(43,35,32,.7);margin:10px 2px 2px}
.ec-atelier-saving strong{color:#C1440E}

/* ============ Corrections check #2 (20/07) ============ */

/* 1. TRI catégorie : le dropdown collé au bord droit de la grille */
.products-selection .sort-by-row{display:flex !important;justify-content:flex-end;align-items:center;flex-wrap:nowrap;margin:0}
.products-selection .products-sort-order{padding-right:0 !important;max-width:none}
.products-selection .products-sort-order .select-title{min-width:210px}
/* grille alignée sur le titre/bande (et non débordante de 15px) */
#js-product-list .ec-catalog-grid, #products .ec-catalog-grid{margin-left:0;margin-right:0}

/* 2. CARROUSELS : le bloc featured utilise .ec-catalog-grid (pas .products) */
.featured-products .ec-catalog-grid,
.product-accessories .ec-catalog-grid,
.viewed-products .ec-catalog-grid{
  display:flex !important;grid-template-columns:none !important;
  flex-wrap:nowrap;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;
  padding-bottom:10px;scrollbar-width:thin;
}
.featured-products .ec-catalog-grid > *,
.product-accessories .ec-catalog-grid > *,
.viewed-products .ec-catalog-grid > *{flex:0 0 240px;max-width:240px;scroll-snap-align:start}
.featured-products .ec-catalog-grid::-webkit-scrollbar,
.product-accessories .ec-catalog-grid::-webkit-scrollbar{height:8px}
.featured-products .ec-catalog-grid::-webkit-scrollbar-thumb,
.product-accessories .ec-catalog-grid::-webkit-scrollbar-thumb{background:rgba(193,68,14,.35);border-radius:10px}

/* 3. QUANTITÉ : flèches à la même hauteur que le champ */
.product-quantity{align-items:center !important}
.product-quantity .qty{display:flex;align-items:center}
.product-quantity .qty input{height:46px}
.product-quantity .input-group-btn-vertical{display:flex;flex-direction:column;height:46px;margin-left:6px}
.product-quantity .input-group-btn-vertical .btn{flex:1 1 50%;height:23px;min-height:0;line-height:1;padding:0 9px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(43,35,32,.2);border-radius:6px;margin:0 0 2px}
.product-quantity .input-group-btn-vertical .btn:last-child{margin:0}
.product-quantity .input-group-btn-vertical .btn i{font-size:15px}

/* 4. BLOG article : hero aligné avec le corps (plus de pleine largeur) */
#module-everpsblog-post .everpsblog-post-hero{
  max-width:1000px;margin:0 auto 6px !important;border-radius:0 0 16px 16px !important;
  padding:34px 30px !important;
}
#module-everpsblog-post .ec-post-figure,
#module-everpsblog-post .postcontent,
#module-everpsblog-post .comment-form,
#module-everpsblog-post #related-posts{max-width:1000px;margin-left:auto;margin-right:auto}
#module-everpsblog-post .ec-post-figure{padding:0}

/* Toast panier (confirmation d'ajout) */
.ec-cart-toast{position:fixed;top:92px;right:18px;z-index:9999;max-width:360px}
.ec-cart-toast-inner{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(43,35,32,.14);border-left:4px solid #6B7A4F;border-radius:12px;box-shadow:0 12px 34px rgba(43,35,32,.18);padding:13px 14px}
.ec-cart-toast{opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .25s}
.ec-cart-toast.is-in{opacity:1;transform:translateY(0)}
.ec-cart-toast-check{width:26px;height:26px;border-radius:50%;background:#6B7A4F;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:0 0 auto}
.ec-cart-toast-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.ec-cart-toast-txt strong{font-size:13.5px;color:#2B2320}
.ec-cart-toast-txt span{font-size:12px;color:rgba(43,35,32,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-cart-toast-btn{background:#C1440E;color:#fff !important;font-size:12px;font-weight:800;border-radius:8px;padding:8px 12px;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.ec-cart-toast-btn:hover{background:#a5390b}
.ec-cart-toast-close{background:none;border:0;font-size:20px;line-height:1;color:rgba(43,35,32,.4);cursor:pointer;padding:0 2px;flex:0 0 auto}
@media(max-width:575px){.ec-cart-toast{left:12px;right:12px;max-width:none}}

/* ============ Corrections check #3 (20/07) ============ */

/* 1. TRI aligné sur la ligne des pastilles matériau (déplacé par JS dans .ec-ev-filters) */
.ec-ev-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ec-ev-filters .ec-ev-sort{margin-left:auto}
.ec-ev-filters .ec-ev-sort .sort-by-row{margin:0}
.ec-ev-filters .products-sort-order .select-title{border:1.5px solid rgba(43,35,32,.2);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;background:#fff;min-width:190px}
.ec-ev-filters .ec-ev-count{margin-left:4px}

/* 2. MINI-PANIER (toast) enrichi conversion */
.ec-cart-toast{position:fixed;top:92px;right:18px;z-index:9999;width:340px;max-width:calc(100vw - 28px)}
.ec-cart-toast-inner{background:#fff;border:1px solid rgba(43,35,32,.14);border-radius:14px;box-shadow:0 18px 44px rgba(43,35,32,.22);overflow:hidden}
.ec-cart-toast{opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .25s}
.ec-cart-toast.is-in{opacity:1;transform:translateY(0)}
.ec-cart-toast-head{display:flex;align-items:center;gap:9px;padding:12px 14px;background:#6B7A4F;color:#fff}
.ec-cart-toast-head strong{font-size:14px;flex:1}
.ec-cart-toast-check{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.ec-cart-toast-close{background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.85;padding:0}
.ec-cart-toast-prod{display:flex;align-items:center;gap:12px;padding:14px}
.ec-cart-toast-thumb{width:56px;height:56px;border-radius:9px;overflow:hidden;background:#f4f1ec;flex:0 0 auto}
.ec-cart-toast-thumb img{width:100%;height:100%;object-fit:cover}
.ec-cart-toast-info{display:flex;flex-direction:column;gap:3px;min-width:0}
#ec-cart-toast-name{font-size:13.5px;font-weight:700;color:#2B2320;line-height:1.3}
.ec-cart-toast-price{font-size:13px;font-weight:800;color:#C1440E}
.ec-cart-toast-summary{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;background:#FBF3E7;font-size:13px}
#ec-cart-toast-count{color:rgba(43,35,32,.65);font-weight:600}
#ec-cart-toast-total{font-weight:800;color:#2B2320;font-size:15px}
.ec-cart-toast-actions{display:flex;gap:8px;padding:12px 14px}
.ec-cart-toast-continue{flex:1;background:#fff;border:1.5px solid rgba(43,35,32,.2);border-radius:9px;font-size:12.5px;font-weight:700;color:#2B2320;cursor:pointer;padding:10px 8px}
.ec-cart-toast-continue:hover{border-color:#2B2320}
.ec-cart-toast-btn{flex:1.3;display:flex;align-items:center;justify-content:center;background:#C1440E;color:#fff !important;border-radius:9px;font-size:12.5px;font-weight:800;text-decoration:none;padding:10px 8px}
.ec-cart-toast-btn:hover{background:#a5390b}
@media(max-width:575px){.ec-cart-toast{left:12px;right:12px;width:auto}}

/* 3. PAGE PRODUIT : colonne image sticky (comble le vide à gauche, moins de scroll) */
@media(min-width:768px){
  .product-container.row{align-items:flex-start}
  .product-container > .col-md-6:first-child{position:sticky;top:16px;align-self:flex-start}
}

/* ============ Blog article : hero magazine (photo + titre) ============ */
#module-everpsblog-post .card{box-shadow:none !important;background:transparent !important}
.ec-article-hero{
  position:relative;width:100%;min-height:440px;border-radius:16px;overflow:hidden;
  background-size:cover;background-position:center;
  display:flex;align-items:flex-end;margin:0 0 28px;
}
.ec-article-hero-inner{padding:34px 38px;max-width:820px}
.ec-article-eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#E8A33D;margin-bottom:12px}
.ec-article-title{
  font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-weight:400;
  color:#fff;font-size:clamp(28px,4vw,44px);line-height:1.12;margin:0;text-wrap:balance;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
}
.ec-article-author{display:block;margin-top:14px;font-size:14px;color:rgba(255,255,255,.85);font-weight:600}
/* le corps reste une colonne de lecture centrée, alignée sous le hero */
#module-everpsblog-post .ec-article-hero,
#module-everpsblog-post .postcontent,
#module-everpsblog-post .comment-form,
#module-everpsblog-post #related-posts{max-width:1000px;margin-left:auto;margin-right:auto}
#module-everpsblog-post .postcontent{background:#fff;border-radius:14px;padding:34px 42px !important;box-shadow:0 6px 22px rgba(43,35,32,.06)}
@media(max-width:767px){
  .ec-article-hero{min-height:320px}
  .ec-article-hero-inner{padding:24px 22px}
  #module-everpsblog-post .postcontent{padding:22px 20px !important}
}

/* Fix : neutralise l'ancienne règle flex qui cassait la mise en page du mini-panier */
.ec-cart-toast-inner{display:block !important}

/* ============ Tiroir panier latéral ============ */
.ec-drawer{position:fixed;inset:0;z-index:10000}
.ec-drawer[hidden]{display:none}
.ec-drawer-scrim{position:absolute;inset:0;background:rgba(43,35,32,.5);opacity:0;transition:opacity .3s}
.ec-drawer.is-open .ec-drawer-scrim{opacity:1}
.ec-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:390px;max-width:calc(100vw - 40px);background:#fff;display:flex;flex-direction:column;box-shadow:-16px 0 44px rgba(43,35,32,.25);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.ec-drawer.is-open .ec-drawer-panel{transform:translateX(0)}
.ec-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(43,35,32,.1)}
.ec-drawer-head strong{font-size:16px;color:#2B2320}
.ec-drawer-x{background:none;border:0;font-size:26px;line-height:1;color:rgba(43,35,32,.4);cursor:pointer;padding:0 2px}
.ec-drawer-x:hover{color:#2B2320}
.ec-drawer-added{display:flex;align-items:center;gap:9px;background:#eef1e8;color:#4a5a34;font-size:12.5px;font-weight:700;padding:11px 20px}
.ec-drawer-added-c{width:20px;height:20px;border-radius:50%;background:#6B7A4F;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto}
.ec-drawer-body{flex:1;overflow-y:auto;padding:16px 20px}
.ec-drawer-line{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(43,35,32,.09)}
.ec-drawer-line-im{width:54px;height:54px;border-radius:9px;overflow:hidden;background:#f4f1ec;flex:0 0 auto}
.ec-drawer-line-im img{width:100%;height:100%;object-fit:cover}
.ec-drawer-line-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ec-drawer-line-nm{font-size:13px;font-weight:700;color:#2B2320 !important;text-decoration:none;line-height:1.3}
.ec-drawer-line-nm:hover{color:#C1440E !important}
.ec-drawer-line-q{font-size:11.5px;color:rgba(43,35,32,.5)}
.ec-drawer-line-pr{font-size:13.5px;font-weight:800;color:#2B2320;white-space:nowrap}
.ec-drawer-cross{margin-top:6px}
.ec-drawer-cross-lbl{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(43,35,32,.5);margin-bottom:10px}
.ec-drawer-cross-item{display:flex;align-items:center;gap:10px;border:1px solid rgba(43,35,32,.12);border-radius:10px;padding:8px 10px;margin-bottom:8px}
.ec-drawer-cross-im{width:38px;height:38px;border-radius:7px;overflow:hidden;background:#f4f1ec;flex:0 0 auto}
.ec-drawer-cross-im img{width:100%;height:100%;object-fit:cover}
.ec-drawer-cross-nm{flex:1;min-width:0;font-size:12px;font-weight:600;color:#2B2320;line-height:1.25}
.ec-drawer-cross-add{background:#fff;border:1.5px solid #C1440E;color:#C1440E;font-size:11.5px;font-weight:800;border-radius:8px;padding:6px 11px;white-space:nowrap;cursor:pointer;transition:all .15s}
.ec-drawer-cross-add:hover{background:#C1440E;color:#fff}
.ec-drawer-foot{border-top:1px solid rgba(43,35,32,.1);padding:16px 20px;background:#FBF3E7}
.ec-drawer-tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.ec-drawer-tot span{font-size:13px;color:rgba(43,35,32,.65);font-weight:600}
.ec-drawer-tot b{font-size:20px;color:#2B2320;font-variant-numeric:tabular-nums}
.ec-drawer-checkout{display:block;background:#C1440E;color:#fff !important;text-align:center;font-weight:800;font-size:14.5px;border-radius:10px;padding:14px;text-decoration:none;transition:background .15s}
.ec-drawer-checkout:hover{background:#a5390b}
.ec-drawer-continue{display:block;width:100%;background:none;border:0;color:rgba(43,35,32,.6);font-size:12.5px;font-weight:700;cursor:pointer;padding:11px 0 2px}
.ec-drawer-continue:hover{color:#2B2320}
@media(max-width:575px){.ec-drawer-panel{width:100%;max-width:100%}}

/* ============ Article : fiche recette + rail matériel / guide épuré ============ */
/* Badges recette sous le hero */
.ec-recipe-wrap{max-width:1080px;margin:0 auto}
.ec-recipe-badges{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 20px}
.ec-recipe-badge{font-size:13px;font-weight:800;background:#FBF3E7;border:1px solid rgba(193,68,14,.28);color:#8f3208;border-radius:22px;padding:8px 16px}
/* 2 colonnes : contenu + rail */
.ec-recipe-grid{display:grid;grid-template-columns:1fr 280px;gap:26px;align-items:start}
.ec-recipe-grid .postcontent{background:#fff;border-radius:14px;padding:34px 40px !important;box-shadow:0 6px 22px rgba(43,35,32,.06)}
.ec-recipe-rail{position:sticky;top:16px}
.ec-recipe-rail-card{background:#fff;border:1px solid rgba(43,35,32,.13);border-radius:14px;padding:16px 16px 18px;box-shadow:0 6px 22px rgba(43,35,32,.06)}
.ec-recipe-rail-lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#C1440E;margin-bottom:12px}
.ec-rail-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(43,35,32,.08)}
.ec-rail-item:last-child{border-bottom:0}
.ec-rail-link{display:flex;align-items:center;gap:10px;flex:1;min-width:0;text-decoration:none}
.ec-rail-im{width:44px;height:44px;border-radius:8px;overflow:hidden;background:#f4f1ec;flex:0 0 auto}
.ec-rail-im img{width:100%;height:100%;object-fit:cover}
.ec-rail-nm{font-size:12px;font-weight:600;color:#2B2320;line-height:1.25}
.ec-rail-link:hover .ec-rail-nm{color:#C1440E}
.ec-rail-add{background:#fff;border:1.5px solid #C1440E;color:#C1440E;font-size:12px;font-weight:800;border-radius:8px;padding:6px 10px;white-space:nowrap;cursor:pointer;text-decoration:none;transition:all .15s}
.ec-rail-add:hover{background:#C1440E;color:#fff}
@media(max-width:900px){.ec-recipe-grid{grid-template-columns:1fr}.ec-recipe-rail{position:static}.ec-recipe-grid .postcontent{padding:22px 20px !important}}

/* Guide : éditorial épuré — hero clair, colonne étroite */
.ec-guide-wrap{max-width:820px;margin:0 auto}
.ec-guide-wrap .postcontent{background:transparent;box-shadow:none;padding:8px 0 !important}
#module-everpsblog-post .ec-guide-wrap+*{margin-top:10px}

/* ============ Check #4 : catégories cohérentes + article pleine largeur ============ */

/* Barre d'outils des catégories SANS bande convives (planchas, épicerie, accessoires) */
.ec-cat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:0 0 14px;border-bottom:2px solid #2B2320;margin-bottom:22px}
.ec-cat-toolbar-count{font-size:14px;font-weight:700;color:rgba(43,35,32,.6)}
.ec-cat-toolbar .ec-ev-sort{margin-left:auto}
.ec-cat-toolbar .products-sort-order .select-title,
.ec-ev-filters .products-sort-order .select-title{border:1.5px solid rgba(43,35,32,.2);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600;background:#fff;min-width:190px}

/* Article : pleine largeur (largeur du site, ~1240px) pour tout */
#module-everpsblog-post .ec-article-hero{max-width:1240px !important;margin-left:auto !important;margin-right:auto !important}
.ec-recipe-wrap, .ec-guide-wrap{max-width:none !important}
#module-everpsblog-post .postcontent{max-width:none !important}
#module-everpsblog-post .comment-form{max-width:none !important}
#module-everpsblog-post #related-posts{max-width:1240px !important}
.ec-guide-wrap .postcontent{padding:8px 0 !important}

/* Section commentaires : carte pleine largeur + en-tête aéré (plus de texte collé) */
#module-everpsblog-post .comment-form{background:#fff;border:1px solid rgba(43,35,32,.12);border-radius:14px;padding:22px 26px;margin:10px 0 30px}
#leaveComment{display:block;font-size:20px;font-weight:800;color:#2B2320;margin-bottom:4px}
#leaveComment + .text-muted{display:block;margin-bottom:6px}

/* En-tête commentaires propre (titre + note aérés) */
.ec-comment-head{margin-bottom:16px}
.ec-comment-head #leaveComment{display:block;font-size:20px;font-weight:800;color:#2B2320;margin:0 0 4px}
.ec-comment-head .ec-comment-note{display:block;font-size:13px;color:rgba(43,35,32,.55)}

/* ============ Check #5 : contenu blog en carte blanche, page grise conservée ============ */
/* Enlève le fond gris #f1f1f1 forcé par le module sur les .card ; la page (#f6f6f6) reste */
body#module-everpsblog-post .card{background:transparent !important;box-shadow:none !important;border:0 !important}
/* Contenu article = carte blanche nette */
body#module-everpsblog-post .postcontent{background:#fff !important;border-radius:14px;box-shadow:0 6px 22px rgba(43,35,32,.06);padding:34px 42px !important}
body#module-everpsblog-post .ec-guide-wrap .postcontent{background:#fff !important;padding:34px 42px !important}
/* Commentaire = même carte blanche que le contenu article */
body#module-everpsblog-post .comment-form{background:#fff !important;border:0 !important;border-radius:14px;box-shadow:0 6px 22px rgba(43,35,32,.06);padding:30px 36px;margin:10px 0 30px}
#module-everpsblog-post .comment-form .form-control{background:#fff}
@media(max-width:767px){#module-everpsblog-post .postcontent,.ec-guide-wrap .postcontent,#module-everpsblog-post .comment-form{padding:22px 20px !important}}

/* v22 — compteur de caractères commentaire collé au libellé (justify-content-between non chargé) */
body#module-everpsblog-post .comment-form .d-flex.justify-content-between{display:flex !important;justify-content:space-between !important;align-items:center;gap:14px}
body#module-everpsblog-post .comment-form #commentCounter{flex:0 0 auto;white-space:nowrap;margin-left:auto}

/* v23 — vignettes rail recette : fondre le fond blanc des packshots dans la cellule crème */
body#module-everpsblog-post .ec-rail-im{background:#F4F1EC}
body#module-everpsblog-post .ec-rail-im img{mix-blend-mode:multiply}

/* ===== v25 — compteur commentaire ancré dans le champ ===== */
#module-everpsblog-post .comment-form .ec-ta-wrap{position:relative}
#module-everpsblog-post .comment-form .ec-ta-wrap textarea{padding-bottom:30px}
#module-everpsblog-post .comment-form .ec-char-counter{position:absolute;right:14px;bottom:9px;
  font-size:12px;line-height:1;color:rgba(43,35,32,.5);background:#fff;padding:2px 6px;border-radius:6px;
  pointer-events:none;font-variant-numeric:tabular-nums}

/* ===== v25 — bloc commentaire : UNE seule carte blanche (titre + formulaire) ===== */
body#module-everpsblog-post .card-body:has(.comment-form){
  background:#fff !important;border-radius:14px;box-shadow:0 6px 22px rgba(43,35,32,.06);
  padding:30px 36px;margin:0 0 30px}
body#module-everpsblog-post .comment-form{
  background:transparent !important;box-shadow:none !important;border:0 !important;border-radius:0 !important;
  padding:0 !important;margin:0 !important;max-width:none !important}
body#module-everpsblog-post .card-body:has(.comment-form) .ec-comment-head{margin-bottom:18px}
@media(max-width:767px){body#module-everpsblog-post .card-body:has(.comment-form){padding:22px 20px !important}}

/* ===== v25 — pagination catégories : pastilles centrées, sans fond blanc ===== */
.pagination{display:flex !important;flex-direction:column;align-items:center;gap:12px;
  margin:6px 0 0;padding:20px 0 4px;background:transparent !important;border:0;border-top:2px solid #2B2320;box-shadow:none}
.pagination > .col-md-4{width:auto;max-width:none;flex:0 0 auto;padding:0;margin:0;order:2;
  color:rgba(43,35,32,.5);font-size:13px;font-weight:600;text-align:center}
.pagination > .col-md-6{width:auto;max-width:none;flex:0 0 auto;padding:0;margin:0 !important;order:1}
.pagination .page-list{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;float:none}
.pagination .page-list li{margin:0;float:none;background:transparent}
.pagination .page-list li a{min-width:44px;height:44px;padding:0 14px;border-radius:12px;
  border:1.5px solid rgba(43,35,32,.18);background:transparent;color:#2B2320;font-weight:700;font-size:15px;
  display:flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;box-shadow:none;
  transition:.16s;font-variant-numeric:tabular-nums}
.pagination .page-list li a:hover{border-color:#2B2320;background:rgba(43,35,32,.05);transform:translateY(-1px)}
.pagination .page-list li.current a,
.pagination .page-list li a.disabled:not(.previous):not(.next){background:#C1440E !important;border-color:#C1440E !important;
  color:#fff !important;box-shadow:0 4px 12px rgba(193,68,14,.28);transform:none}
.pagination .page-list li a.previous,
.pagination .page-list li a.next{border-color:transparent;color:rgba(43,35,32,.65);font-weight:600}
.pagination .page-list li a.previous:hover,
.pagination .page-list li a.next:hover{color:#2B2320;background:rgba(43,35,32,.05)}
.pagination .page-list li a.disabled.previous,
.pagination .page-list li a.disabled.next{opacity:.3;pointer-events:none;background:transparent}
.pagination .page-list .spacer{color:rgba(43,35,32,.4);padding:0 4px}
.pagination .page-list li a .material-icons{font-size:18px;line-height:1}

/* v26 — le UL page-list avait un fond blanc */
.pagination .page-list{background:transparent !important}

/* ===== v27 — formulaire commentaire : finitions esthétiques ===== */
/* le label "Votre commentaire" héritait d un text-align:right */
#module-everpsblog-post .comment-form label{text-align:left !important}
/* espacement des champs */
#module-everpsblog-post .comment-form .mb-3{margin-bottom:20px !important}
/* rangée de boutons : gap (la classe Bootstrap gap-2 n est pas chargée) */
#module-everpsblog-post .comment-form .d-flex.flex-wrap.gap-2{gap:12px !important;margin-top:6px}
/* Soumettre = terracotta plein */
#module-everpsblog-post .comment-form button[type=submit]{padding:11px 26px !important;border-radius:11px !important;box-shadow:0 4px 12px rgba(193,68,14,.22)}
#module-everpsblog-post .comment-form button[type=submit]:hover{background:#a5390b !important}
/* Réinitialiser = secondaire discret (au lieu de terracotta plein) */
#module-everpsblog-post .comment-form .btn.btn-secondary,
#module-everpsblog-post .comment-form button[type=reset]{
  background:transparent !important;border:1.5px solid rgba(43,35,32,.2) !important;color:#2B2320 !important;
  font-weight:700 !important;padding:11px 22px !important;border-radius:11px !important;box-shadow:none !important}
#module-everpsblog-post .comment-form button[type=reset]:hover{
  background:rgba(43,35,32,.05) !important;border-color:#2B2320 !important}
/* champs : focus soigné */
#module-everpsblog-post .comment-form .form-control:focus{
  border-color:#C1440E !important;box-shadow:0 0 0 3px rgba(193,68,14,.12) !important;outline:0}

/* ===== v28 — fiche produit : bouton + TTC ===== */
/* icône panier vide (24px) qui décale le texte -> masquée, texte recentré */
.product-add-to-cart .add-to-cart .material-icons,
button.add-to-cart .material-icons{display:none !important}
.product-add-to-cart .add-to-cart,
button.add-to-cart{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
/* TTC à côté du prix (au lieu d en dessous) */
.product-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.product-prices .product-price{margin-bottom:0}
.product-prices .tax-shipping-delivery-label{margin:0;font-size:13px;font-weight:600;color:rgba(43,35,32,.5);letter-spacing:.02em}

/* ===== v28 — recherche blog : pill terracotta pleine largeur ===== */
.everpsblog-search-toolbar{display:block;margin:0 0 26px}
.everpsblog-search-toolbar__search{max-width:none;width:100%}
.everpsblog-search .input-group{display:flex;flex-wrap:nowrap;gap:10px;align-items:stretch;width:100%}
.everpsblog-search .input-group-text{display:none !important}
.everpsblog-search .form-control{flex:1 1 auto;min-width:0;height:50px;border:1.5px solid rgba(43,35,32,.18);border-radius:12px;padding:0 18px;font-size:15px;background:#fff;box-shadow:none}
.everpsblog-search .form-control:focus{border-color:#C1440E;box-shadow:0 0 0 3px rgba(193,68,14,.12);outline:0}
.everpsblog-search .btn{flex:0 0 auto;background:#C1440E !important;border-color:#C1440E !important;color:#fff !important;border-radius:12px;padding:0 26px;font-weight:800;white-space:nowrap;height:50px}
.everpsblog-search .btn:hover{background:#a5390b !important}

/* v29 — la recherche blog ne s étirait pas dans son parent flex */
.everpsblog-search-toolbar__search{align-items:stretch}
.everpsblog-search{flex:1 1 auto;width:100%}

/* ===== v30 — visuels & tableaux dans les articles ===== */
#module-everpsblog-post .ec-cms-figure{margin:24px auto;text-align:center;max-width:400px}
#module-everpsblog-post .ec-cms-figure img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 8px 22px rgba(43,35,32,.12);background:#F4F1EC}
#module-everpsblog-post .ec-cms-figure figcaption{font-size:13px;color:rgba(43,35,32,.55);margin-top:10px;font-style:italic;line-height:1.45}
#module-everpsblog-post .ec-cms-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:20px 0;border-radius:12px}
#module-everpsblog-post .ec-cms-tablewrap .ec-cms-table{margin:0;min-width:520px}

/* ============================================================
   v31 — CORRECTIFS RESPONSIVE MOBILE
   ============================================================ */

/* [BUG RACINE] theme-elcaldero-24 : "body,html{height:100%}" + "overflow-x:hidden"
   forçaient overflow-y:auto => le <body> devenait une boîte de scroll figée à la
   hauteur de l ecran (scroll document cassé, position:sticky et 100vh iOS instables).
   height:auto rétablit le scroll normal du document. */
html, body { height: auto !important; }
body { min-height: 100dvh; }

@media (max-width: 767px){

  /* [NAV] La barre de catégories était en overflow-x:hidden et centrée :
     4 des 6 catégories (Planchas, Kits, Épicerie, Journal) étaient totalement
     coupées et inaccessibles. On la rend défilable horizontalement (swipe),
     alignée à gauche, avec un léger fondu à droite pour indiquer qu il y a plus. */
  .ec-cat-nav{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    justify-content:flex-start !important;
    scrollbar-width:none;
    -webkit-mask-image:linear-gradient(to right, #000 90%, transparent);
            mask-image:linear-gradient(to right, #000 90%, transparent);
  }
  .ec-cat-nav::-webkit-scrollbar{ display:none; }
  .ec-cat-nav > *{ flex:0 0 auto; }

  /* [IMAGES] Hero + bloc épicerie de l accueil : elles dépassaient la largeur
     de l écran (453px / 390px) et étaient rognées à droite. */
  .ec-hero-image, .ec-hero-image img,
  .ec-epicerie-image, .ec-epicerie-image img{ max-width:100%; height:auto; }

  /* [DÉTAIL] Guide des tailles : le prix "12,90 €" se coupait sur 2 lignes. */
  .ec-price{ white-space:nowrap; }
}

/* v31b — la nav défilable est en réalité .ec-cat-nav-inner (pas .ec-cat-nav).
   On met le fondu indicateur sur le bon élément. */
@media (max-width: 767px){
  .ec-cat-nav{ -webkit-mask-image:none; mask-image:none; }
  .ec-cat-nav-inner{
    -webkit-mask-image:linear-gradient(to right, #000 86%, transparent);
            mask-image:linear-gradient(to right, #000 86%, transparent);
    scrollbar-width:none;
  }
  .ec-cat-nav-inner::-webkit-scrollbar{ display:none; }
}

/* v31c — footer : liens légaux qui se coupaient en plein milieu sur mobile.
   On autorise le passage à la ligne ENTRE les liens, jamais dans un lien, centré. */
@media (max-width: 767px){
  .ec-footer-legal{ flex-wrap:wrap !important; justify-content:center; gap:10px 20px; text-align:center; }
  .ec-footer-legal a{ white-space:nowrap; }
}

/* v31d — catalogue mobile : 2 produits par ligne (plus scannable qu une colonne). */
@media (max-width: 767px){
  .ec-catalog-grid{ grid-template-columns:1fr 1fr !important; gap:14px !important; }
  .ec-catalog-grid .ec-product-card{ min-width:0 !important; width:auto !important; }
  .ec-catalog-grid .ec-product-name{ font-size:14.5px !important; line-height:1.3 !important; }
  .ec-catalog-grid .ec-product-card .ec-price{ font-size:15px !important; }
  .ec-catalog-grid .ec-product-card .ec-btn-small{ font-size:12.5px !important; padding:7px 12px !important; }
}

/* ============================================================
   v32 — Fil d Ariane mobile + PISTE 1 : espace compte à la marque
   ============================================================ */

/* Fil d Ariane : cassé et peu utile sur mobile -> masqué */
@media (max-width: 767px){
  .breadcrumb{ display:none !important; }
}

/* --- Espace compte / connexion / inscription / adresses : habillage El Caldero --- */
:is(#authentication,#registration,#password,#identity,#address,#addresses,#my-account,#history,#order-detail,#order-follow,#module-ps_emailalerts-account) .form-control{
  min-height:46px;
  border:1.5px solid rgba(43,35,32,.18);
  border-radius:12px;
  padding:10px 16px;
  font-size:15px;
  background:#FFFDF8;
  color:#2B2320;
  box-shadow:none;
  transition:border-color .15s, box-shadow .15s;
}
:is(#authentication,#registration,#password,#identity,#address,#addresses,#history,#order-detail) textarea.form-control{ min-height:110px; }
:is(#authentication,#registration,#password,#identity,#address,#addresses,#my-account,#history,#order-detail) .form-control:focus{
  border-color:#C1440E;
  box-shadow:0 0 0 3px rgba(193,68,14,.14);
  outline:0;
}
:is(#authentication,#registration,#password,#identity,#address,#addresses) select.form-control{ appearance:auto; }

/* Champ mot de passe + bouton "Afficher" accolé */
:is(#authentication,#registration,#identity,#password) .input-group{ align-items:stretch; }
:is(#authentication,#registration,#identity,#password) .input-group .form-control{
  border-top-right-radius:0; border-bottom-right-radius:0; border-right:0;
}
:is(#authentication,#registration,#identity,#password) .input-group-btn > .btn,
:is(#authentication,#registration,#identity,#password) .input-group-btn button,
:is(#authentication,#registration,#identity,#password) .input-group-append .btn{
  background:#F3E7D7; color:#8F320A;
  border:1.5px solid rgba(43,35,32,.18); border-left:0;
  border-radius:0 12px 12px 0;
  font-weight:700; font-size:11px; letter-spacing:.04em; text-transform:uppercase;
  box-shadow:none; padding:0 14px;
}

/* Boutons primaires à la marque */
:is(#authentication,#registration,#password,#identity,#address,#addresses,#history,#order-detail) .btn-primary{
  background:#C1440E; border:0; border-radius:12px;
  padding:13px 28px; font-weight:800; font-size:15px; letter-spacing:.01em;
  color:#fff; box-shadow:none;
}
:is(#authentication,#registration,#password,#identity,#address,#addresses,#history,#order-detail) .btn-primary:hover{ background:#a5390b; }

/* Liens secondaires en terracotta */
:is(#authentication,#registration,#password) .page-content a, :is(#authentication,#registration,#password) #content .forgotten-password a, :is(#authentication,#registration,#password) form a{ color:#8F320A; }
:is(#authentication,#registration,#password) .page-content a:hover, :is(#authentication,#registration,#password) form a:hover{ color:#C1440E; }

/* Formulaire de connexion contenu (pas pleine largeur sur desktop) */
#authentication .login-form, #password .forgotten-password{ max-width:460px; }

/* Messages d erreur : version douce plutôt que gros pavé rouge */
:is(#authentication,#registration,#identity,#address,#password) .alert-danger{
  background:#FBE7DF; color:#8F320A; border:1px solid rgba(193,68,14,.3);
  border-radius:12px; padding:12px 16px;
}

/* ============================================================
   v32 — PISTE 3 : réassurance panier + barre de paiement collante mobile
   ============================================================ */
#cart .cart-detailed-actions .btn-primary{
  background:#C1440E;border:0;border-radius:12px;padding:14px 26px;
  font-weight:800;font-size:15px;color:#fff;width:100%;box-shadow:none;
}
#cart .cart-detailed-actions .btn-primary:hover{ background:#a5390b; }

.ec-cart-reassurance{
  list-style:none;margin:18px 0 0;padding:16px 0 0;
  border-top:1px solid rgba(43,35,32,.12);display:grid;gap:10px;
}
.ec-cart-reassurance li{ position:relative;padding-left:26px;font-size:13.5px;color:#5F5147;line-height:1.4; }
.ec-cart-reassurance li::before{ content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#E4EDDD; }
.ec-cart-reassurance li::after{ content:"";position:absolute;left:5px;top:4px;width:5px;height:8px;border:solid #3F6E39;border-width:0 2px 2px 0;transform:rotate(45deg); }

.ec-cart-pay{ display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px; }
.ec-pay-logo{
  display:inline-flex;align-items:center;justify-content:center;
  height:30px;padding:0 9px;background:#fff;
  border:1px solid rgba(43,35,32,.14);border-radius:7px;
  box-shadow:0 1px 2px rgba(43,35,32,.05);
}
.ec-pay-logo svg{ height:17px;width:auto;display:block; }
.ec-pay-badge{
  display:inline-flex;align-items:center;height:30px;padding:0 10px;
  font-size:11px;font-weight:800;color:#3F6E39;background:#E9F0E2;
  border:1px solid rgba(63,110,57,.28);border-radius:7px;letter-spacing:.02em;
}

.ec-cart-stickybar{ display:none; }
@media (max-width:767px){
  .ec-cart-stickybar{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    position:fixed;left:0;right:0;bottom:0;z-index:1000;
    background:#FFFDF8;border-top:1px solid rgba(43,35,32,.15);
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    box-shadow:0 -8px 20px -12px rgba(43,35,32,.4);
  }
  .ec-cart-stickybar-total{ display:flex;flex-direction:column;line-height:1.15; }
  .ec-cart-stickybar-total span{ font-size:11px;color:#9C8C7D;text-transform:uppercase;letter-spacing:.1em;font-weight:700; }
  .ec-cart-stickybar-total strong{ font-size:19px;color:#2B2320;font-variant-numeric:tabular-nums; }
  .ec-cart-stickybar-btn{
    flex:0 0 auto;background:#C1440E;color:#fff;font-weight:800;font-size:15px;
    border-radius:12px;padding:13px 26px;text-decoration:none;
  }
  body#cart{ padding-bottom:84px; }
}

/* ============================================================
   v32 — Fiche produit : barre "Ajouter au panier" collante (apparait au scroll)
   ============================================================ */
.ec-buy-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  background:#FFFDF8;border-top:1px solid rgba(43,35,32,.15);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -8px 22px -12px rgba(43,35,32,.45);
  transform:translateY(115%);transition:transform .3s ease;
  visibility:hidden;
}
.ec-buy-sticky.is-visible{ transform:translateY(0);visibility:visible; }
.ec-buy-sticky-inner{
  max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.ec-buy-sticky-info{ display:flex;flex-direction:column;min-width:0; }
.ec-buy-sticky-name{
  font-size:13px;font-weight:700;color:#2B2320;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw;
}
.ec-buy-sticky-price{ font-size:16px;font-weight:800;color:#C1440E;font-variant-numeric:tabular-nums; }
.ec-buy-sticky-btn{
  flex:0 0 auto;background:#C1440E;color:#fff;font-weight:800;font-size:15px;
  border:0;border-radius:12px;padding:13px 26px;cursor:pointer;
}
.ec-buy-sticky-btn:hover{ background:#a5390b; }
@media (min-width:768px){
  .ec-buy-sticky{ padding:12px 32px; }
  .ec-buy-sticky-name{ font-size:15px;max-width:none; }
  .ec-buy-sticky-price{ font-size:18px; }
}

/* ============================================================
   v32 — Alignements mobile (retours user) : ligne panier, récap, form compte
   ============================================================ */
@media (max-width:767px){

  /* Ligne produit du panier : image | (nom au-dessus, actions dessous), alignées */
  #cart .product-line-grid{
    display:grid;
    grid-template-columns:64px minmax(0,1fr);
    grid-template-areas:"img body" "img actions";
    column-gap:14px;row-gap:10px;align-items:start;
  }
  #cart .product-line-grid-left{ grid-area:img;width:64px;max-width:64px;flex:none;padding:0; }
  #cart .product-line-grid-left .product-image,
  #cart .product-line-grid-left img{ width:64px;height:auto;border-radius:8px; }
  #cart .product-line-grid-body{ grid-area:body;max-width:none;width:auto;flex:none;padding:0; }
  #cart .product-line-grid-right{ grid-area:actions;max-width:none;width:auto;flex:none;padding:0; }

  #cart .product-line-actions .hidden-md-up{ display:none !important; }
  #cart .product-line-actions > .row{ display:flex;align-items:center;gap:12px;margin:0;width:100%; }
  #cart .product-line-actions > .row > [class*=col-]{ padding:0;max-width:none;flex:none; }
  #cart .product-line-actions .col-md-10{ flex:1 1 auto !important;min-width:0; }
  #cart .product-line-actions .col-md-10 > .row{ display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0; }
  #cart .product-line-actions .col-md-10 > .row > [class*=col-]{ padding:0;max-width:none;flex:none; }
  #cart .product-line-actions .price{ font-weight:800;color:#2B2320;font-variant-numeric:tabular-nums;white-space:nowrap; }

  /* Récap : montants alignés à droite, chiffres tabulaires */
  #cart .cart-summary-line{ display:flex;justify-content:space-between;align-items:baseline;gap:12px; }
  #cart .cart-summary-line .value{ font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap; }

  /* Formulaire compte : empilé, labels alignés à gauche (au lieu de text-align:right) */
  :is(#authentication,#registration,#identity,#address) .form-control-label{ text-align:left; }
}

/* v32 — corbeille sur la meme rangee que qte/prix */
@media (max-width:767px){
  #cart .product-line-actions > .row{ flex-wrap:nowrap; }
  #cart .product-line-actions .cart-line-product-actions{ margin:0; }
  #cart .product-line-actions .text-xs-right{ padding-left:4px; }
}

/* v32 — pages compte : contenu collé au bord gauche sur mobile
   (.row a margin -15px mais #content-wrapper n a pas son padding) -> on l aligne */
@media (max-width:767px){
  :is(#authentication,#registration,#password,#identity,#address,#addresses,#my-account,#history,#order-detail,#order-follow) #content-wrapper{
    padding-left:16px;padding-right:16px;
  }
}

/* v32 — FIX sticky : le thème met overflow-x:hidden sur html/body, ce qui casse
   position:sticky (colonne image de la fiche produit). overflow-x:clip protège
   du débordement horizontal sans créer de conteneur de scroll -> sticky OK. */
html, body { overflow-x: clip; }

/* ============================================================
   v32 — Fiche produit : zone d achat plus soignee
   ============================================================ */
/* Selecteur de quantite unifie (au lieu du touchspin en 3 boites) */
.product-quantity .bootstrap-touchspin{
  display:inline-flex;align-items:stretch;height:48px;
  border:1.5px solid rgba(43,35,32,.2);border-radius:12px;overflow:hidden;background:#fff;box-shadow:none;
}
.product-quantity .bootstrap-touchspin .form-control{
  border:0 !important;box-shadow:none !important;background:transparent;
  width:58px;height:auto;text-align:center;font-size:16px;font-weight:700;color:#2B2320;padding:0;
}
.product-quantity .bootstrap-touchspin-prefix,
.product-quantity .bootstrap-touchspin-postfix{ display:none !important; }
.product-quantity .input-group-btn-vertical{
  display:flex;flex-direction:column;border-left:1.5px solid rgba(43,35,32,.14);
}
.product-quantity .input-group-btn-vertical > .btn{
  border:0;border-radius:0;background:#F6EDDD;color:#8F320A;
  width:42px;flex:1 1 0;display:flex;align-items:center;justify-content:center;padding:0;margin:0;box-shadow:none;
}
.product-quantity .input-group-btn-vertical > .btn:hover{ background:#EAD9C4; }
.product-quantity .input-group-btn-vertical > .btn + .btn{ border-top:1.5px solid rgba(43,35,32,.14); }
.product-quantity .input-group-btn-vertical > .btn i{ font-size:16px;color:#8F320A; }

/* Reassurance produit avec petites coches */
.ec-pdt-reassurance{ display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px; }
.ec-pdt-reassurance span{ position:relative;padding-left:24px;font-size:14px;color:#5F5147; }
.ec-pdt-reassurance span::before{ content:"";position:absolute;left:0;top:1px;width:16px;height:16px;border-radius:50%;background:#E4EDDD; }
.ec-pdt-reassurance span::after{ content:"";position:absolute;left:5px;top:4px;width:5px;height:8px;border:solid #3F6E39;border-width:0 2px 2px 0;transform:rotate(45deg); }

/* "Donnez votre avis" : bouton discret en outline (ne rivalise plus avec Ajouter au panier) */
.post-product-comment{
  background:transparent !important;color:#8F320A !important;
  border:1.5px solid rgba(193,68,14,.45) !important;border-radius:12px !important;
  font-weight:700 !important;padding:9px 18px !important;box-shadow:none !important;
}
.post-product-comment:hover{ background:#F6E1D4 !important; }
.post-product-comment i{ color:#8F320A !important; }

/* ============================================================
   v33 — PISTE 2 : tableau de bord compte en cartes
   ============================================================ */
#my-account .ec-account-head{ margin:0 0 26px; }
#my-account .ec-account-sub{ color:#6E6055;font-size:15.5px;margin:2px 0 16px;max-width:60ch; }
#my-account .ec-account-actions{ display:flex;flex-wrap:wrap;gap:10px; }
#my-account .ec-acc-cta{
  background:#C1440E;color:#fff;font-weight:800;border-radius:12px;padding:12px 22px;
  text-decoration:none;font-size:15px;display:inline-block;
}
#my-account .ec-acc-cta:hover{ background:#a5390b; }
#my-account .ec-acc-cta-ghost{ background:transparent;color:#8F320A;border:1.5px solid rgba(193,68,14,.4); }
#my-account .ec-acc-cta-ghost:hover{ background:#F6E1D4; }

/* grille de cartes */
#my-account .links{ display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:0; }
#my-account .links a{
  width:auto !important;max-width:none !important;flex:none !important;float:none !important;
  padding:0 !important;margin:0 !important;display:block;text-decoration:none;
}
#my-account .links a .link-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:100%;
  background:#FFFDF8;border:1px solid rgba(43,35,32,.12);border-radius:14px;padding:20px;
  box-shadow:0 1px 0 rgba(43,35,32,.03);color:#2B2320;text-align:left;
  font-size:16px;font-weight:700;line-height:1.3;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
#my-account .links a:hover .link-item{
  transform:translateY(-2px);box-shadow:0 12px 28px -18px rgba(43,35,32,.55);border-color:rgba(193,68,14,.4);
}
#my-account .links a .link-item i.material-icons{
  font-size:24px;color:#C1440E;background:#F6E1D4;border-radius:10px;padding:9px;width:auto;height:auto;margin:0;
}
/* sous-titres */
#my-account .links a .link-item::after{ font-size:13px;font-weight:400;color:#8C7D6F; }
#my-account #identity-link .link-item::after{ content:"Nom, e-mail, mot de passe"; }
#my-account #addresses-link .link-item::after,
#my-account #address-link .link-item::after{ content:"Adresses de livraison & facturation"; }
#my-account #history-link .link-item::after{ content:"Suivi & rachat en 1 clic"; }
#my-account #order-slips-link .link-item::after{ content:"Avoirs & remboursements"; }
#my-account #discounts-link .link-item::after{ content:"Tes codes promo"; }
#my-account #returns-link .link-item::after{ content:"Retours sous 30 jours"; }
/* carte commandes mise en avant */
#my-account #history-link .link-item{ border:1.5px solid rgba(193,68,14,.5);background:#FFF7F1; }

/* v33 — forcer les cartes compte en flex colonne (thème force display:block) */
#my-account .links a .link-item{ display:flex !important;flex-direction:column;align-items:flex-start; }
#my-account .links a .link-item i.material-icons{ align-self:flex-start; }
#my-account .links a .link-item::after{ display:block;width:100%;margin-top:2px; }

/* v33 — cartes compte : libellés longs qui débordaient -> étirer + wrap */
#my-account .links a .link-item{ align-items:stretch !important;overflow-wrap:anywhere;width:100%;box-sizing:border-box; }
#my-account .links a .link-item i.material-icons{ align-self:flex-start; }

/* v33 — neutraliser la marge negative du .row qui fait deborder la grille compte */
#my-account .row:has(> .links){ margin-left:0;margin-right:0; }
#my-account .links{ max-width:100%; }
@media (max-width:767px){
  #my-account .links{ grid-template-columns:1fr; }
}

/* v33 — libellés compte en nowrap -> forcer le retour a la ligne + shrink grid items */
#my-account .links a{ min-width:0; }
#my-account .links a .link-item{ white-space:normal;min-width:0; }

/* v33 — mobile : cartes compte en bloc empile (evite le probleme de piste grille) */
@media (max-width:767px){
  #my-account .links{ display:block; }
  #my-account .links a{ display:block;width:100%;margin:0 0 12px; }
}

/* v34 — le theme force .links{display:flex !important} ; on impose le bloc sur mobile */
@media (max-width:767px){
  #my-account .links{ display:block !important; }
  #my-account .links a{ display:block !important;width:100% !important;max-width:100% !important;margin:0 0 12px !important; }
}

/* ============================================================
   v36 — PISTE 4 : cross-sell "Complète ta paella" sur la page panier
   ============================================================ */
.ec-cart-xsell{ margin:28px 0 0; }
.ec-cart-xsell-title{ font-size:19px;font-weight:800;color:#2B2320;margin:0 0 14px; }
.ec-cart-xsell-grid{ display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px; }
.ec-xsell-card{ display:flex;align-items:center;gap:12px;background:#FFFDF8;border:1px solid rgba(43,35,32,.12);border-radius:12px;padding:10px 12px; }
.ec-xsell-card img{ width:52px;height:52px;object-fit:cover;border-radius:8px;background:#F6EDDD;flex:0 0 auto; }
.ec-xsell-info{ display:flex;flex-direction:column;min-width:0;flex:1 1 auto; }
.ec-xsell-name{ font-size:13.5px;font-weight:600;color:#2B2320;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.ec-xsell-price{ font-size:14px;font-weight:800;color:#C1440E;font-variant-numeric:tabular-nums; }
.ec-xsell-add{ flex:0 0 auto;background:transparent;color:#8F320A;border:1.5px solid rgba(193,68,14,.4);border-radius:10px;padding:7px 12px;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap; }
.ec-xsell-add:hover{ background:#C1440E;color:#fff;border-color:#C1440E; }
@media (max-width:767px){ .ec-cart-xsell-grid{ grid-template-columns:1fr; } }

/* ============================================================
   v37 — Couverture du Journal (hero /blog) + cartes nettes
   ============================================================ */
.ec-journal-hero{ position:relative;border-radius:16px;overflow:hidden;margin:0 0 22px;background:#2B2320; }
.ec-journal-hero-img{ width:100%;height:auto;display:block;max-height:340px;object-fit:cover; }
.ec-journal-hero-text{ position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;
  padding:0 clamp(24px,5vw,56px);max-width:62%;
  background:linear-gradient(90deg, rgba(27,21,18,.72) 0%, rgba(27,21,18,.30) 55%, transparent 82%); }
.ec-journal-hero-eyebrow{ color:#E7A24A;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:800; }
.ec-journal-hero-h1{ color:#fff;font-size:clamp(30px,5vw,48px);font-weight:800;margin:6px 0 0;line-height:1.03; }
.ec-journal-hero-sub{ color:rgba(255,255,255,.92);font-size:clamp(14px,2vw,17px);margin:9px 0 0;max-width:34ch;line-height:1.4; }
.ec-journal-head-left{ display:none; }
@media (max-width:767px){
  .ec-journal-hero-img{ max-height:210px; }
  .ec-journal-hero-text{ max-width:100%;background:linear-gradient(90deg, rgba(27,21,18,.68), rgba(27,21,18,.40)); }
}

/* v38 — recap panier : la valeur collee a droite. Le clearfix ::after et le <div> vide de la ligne livraison devenaient des items flex fantomes qui poussaient le montant vers le centre. */
#cart .cart-summary-line::before,
#cart .cart-summary-line::after{ display:none !important; }
#cart .cart-summary-line > div:has(> .value:empty){ display:none !important; }
#cart .cart-summary-line{ display:flex; justify-content:space-between; align-items:baseline; gap:0; }
#cart .cart-summary-line .value{ margin-left:auto; float:none; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }

/* v38 — champ code promo : bouton decolle + style boutique (terracotta arrondi, comme COMMANDER) */
#cart .promo-code form{ display:flex; gap:10px; align-items:stretch; }
#cart .promo-code .promo-input{ flex:1 1 auto; margin:0; height:auto; border:1.5px solid rgba(43,35,32,.18); border-radius:12px; padding:12px 15px; background:#FBF6EE; font-size:14px; }
#cart .promo-code .promo-input:focus{ border-color:#C1440E; outline:none; background:#fff; }
#cart .promo-code form .btn{
  flex:0 0 auto; border:0; border-radius:12px; padding:12px 24px;
  background:#C1440E; color:#fff; font-family:"Montserrat",sans-serif;
  font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.02em;
  transition:background .15s; cursor:pointer;
}
#cart .promo-code form .btn:hover{ background:#a5390b; }
#cart .promo-code form .btn span{ text-transform:uppercase; }

/* v39 — checkout: cartes livraison+paiement, logos transporteurs & moyens de paiement */
#js-delivery .delivery-option{ display:flex; align-items:center; gap:12px; border:1.5px solid rgba(43,35,32,.14); border-radius:12px; padding:13px 16px; margin:0 0 10px; background:#fff; transition:border-color .15s, box-shadow .15s, background .15s; }
#js-delivery .delivery-option:hover{ border-color:rgba(193,68,14,.55); }
#js-delivery .delivery-option:has(input:checked){ border-color:#C1440E; box-shadow:0 0 0 1px #C1440E inset; background:#FFF9F3; }
#js-delivery .delivery-option .col-sm-1{ flex:0 0 auto; width:auto; padding:0; }
#js-delivery .delivery-option label.delivery-option-2{ flex:1 1 auto; padding:0; margin:0; cursor:pointer; max-width:none; }
#js-delivery .delivery-option label > .row{ display:flex; align-items:center; gap:14px; margin:0; flex-wrap:nowrap; }
#js-delivery .delivery-option label > .row > [class*=col-]{ padding:0; flex:0 0 auto; max-width:none; width:auto; }
#js-delivery .delivery-option .col-sm-5{ flex:1 1 auto; min-width:0; }
#js-delivery .delivery-option .carrier > .row{ display:flex; align-items:center; gap:0; }
#js-delivery .delivery-option .carrier-name{ font-size:14.5px; font-weight:700; color:#2B2320; }
#js-delivery .delivery-option .carrier-delay{ font-size:13px; color:#8a7a6c; }
#js-delivery .delivery-option .carrier-price{ margin-left:auto; font-size:16px; font-weight:800; color:#2B2320; white-space:nowrap; }
#js-delivery .delivery-option .carrier-name::before{ content:""; display:inline-block; vertical-align:middle; margin-right:9px; height:22px; background-repeat:no-repeat; background-position:left center; background-size:contain; }
#js-delivery label[for='delivery_option_5'] .carrier-name::before{ width:84px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%2026%27%3E%3Crect%20width%3D%27100%27%20height%3D%2726%27%20rx%3D%275%27%20fill%3D%27rgb%28255%2C205%2C0%29%27%2F%3E%3Ctext%20x%3D%2750%27%20y%3D%2718%27%20text-anchor%3D%27middle%27%20font-family%3D%27Arial%2CHelvetica%2Csans-serif%27%20font-size%3D%2713%27%20font-weight%3D%27800%27%20fill%3D%27rgb%2826%2C26%2C26%29%27%3EColissimo%3C%2Ftext%3E%3C%2Fsvg%3E"); }
#js-delivery label[for='delivery_option_6'] .carrier-name::before{ width:98px; background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20118%2026%27%3E%3Crect%20width%3D%27118%27%20height%3D%2726%27%20rx%3D%275%27%20fill%3D%27rgb%28214%2C31%2C42%29%27%2F%3E%3Ctext%20x%3D%2759%27%20y%3D%2718%27%20text-anchor%3D%27middle%27%20font-family%3D%27Arial%2CHelvetica%2Csans-serif%27%20font-size%3D%2712%27%20font-weight%3D%27800%27%20fill%3D%27rgb%28255%2C255%2C255%29%27%3EMondial%20Relay%3C%2Ftext%3E%3C%2Fsvg%3E"); }
@media(max-width:575px){ #js-delivery .delivery-option label > .row{ flex-wrap:wrap; } #js-delivery .delivery-option .carrier-price{ margin-left:0; } }
.payment-options .payment-option{ display:flex; align-items:center; gap:10px; border:1.5px solid rgba(43,35,32,.14); border-radius:12px; padding:13px 16px; margin:0 0 10px; background:#fff; transition:border-color .15s, box-shadow .15s, background .15s; }
.payment-options .payment-option:hover{ border-color:rgba(193,68,14,.55); }
.payment-options .payment-option:has(input:checked){ border-color:#C1440E; box-shadow:0 0 0 1px #C1440E inset; background:#FFF9F3; }
.payment-options .payment-option .custom-radio{ flex:0 0 auto; margin:0; }
.payment-options .payment-option > form{ display:none !important; }
.payment-options .payment-option > label{ flex:1 1 auto; margin:0; padding:0; font-size:14.5px; font-weight:700; color:#2B2320; cursor:pointer; }
.payment-options .payment-option:has(input[data-module-name='stripe_official']) > label{ display:flex; flex-direction:column; gap:7px; align-items:flex-start; }
.payment-options .payment-option:has(input[data-module-name='stripe_official']) > label::after{ content:""; display:block; width:144px; height:24px; background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20144%2026%27%3E%3Crect%20x%3D%270%27%20y%3D%271%27%20width%3D%2744%27%20height%3D%2724%27%20rx%3D%274%27%20fill%3D%27rgb%28255%2C255%2C255%29%27%20stroke%3D%27rgb%28223%2C223%2C223%29%27%2F%3E%3Ctext%20x%3D%2722%27%20y%3D%2717%27%20text-anchor%3D%27middle%27%20font-family%3D%27Arial%27%20font-size%3D%2712%27%20font-weight%3D%27800%27%20font-style%3D%27italic%27%20fill%3D%27rgb%2820%2C52%2C203%29%27%3EVISA%3C%2Ftext%3E%3Crect%20x%3D%2750%27%20y%3D%271%27%20width%3D%2744%27%20height%3D%2724%27%20rx%3D%274%27%20fill%3D%27rgb%28255%2C255%2C255%29%27%20stroke%3D%27rgb%28223%2C223%2C223%29%27%2F%3E%3Ccircle%20cx%3D%2768%27%20cy%3D%2713%27%20r%3D%277%27%20fill%3D%27rgb%28235%2C0%2C27%29%27%2F%3E%3Ccircle%20cx%3D%2776%27%20cy%3D%2713%27%20r%3D%277%27%20fill%3D%27rgb%28247%2C158%2C27%29%27%20fill-opacity%3D%270.85%27%2F%3E%3Crect%20x%3D%27100%27%20y%3D%271%27%20width%3D%2744%27%20height%3D%2724%27%20rx%3D%274%27%20fill%3D%27rgb%28255%2C255%2C255%29%27%20stroke%3D%27rgb%28223%2C223%2C223%29%27%2F%3E%3Ctext%20x%3D%27122%27%20y%3D%2717%27%20text-anchor%3D%27middle%27%20font-family%3D%27Arial%27%20font-size%3D%2712%27%20font-weight%3D%27800%27%20font-style%3D%27italic%27%20fill%3D%27rgb%2811%2C60%2C127%29%27%3ECB%3C%2Ftext%3E%3C%2Fsvg%3E") no-repeat left center; background-size:contain; }

/* v40 — fix alignement libellés paiement (thème force text-align:right) */
.payment-options .payment-option > label{ text-align:left !important; }
.payment-options .payment-option:has(input[data-module-name="stripe_official"]) > label{ display:flex !important; flex-direction:column; align-items:flex-start; gap:7px; }

/* v41 — mobile: nom transporteur qui passe à la ligne au lieu de déborder */
@media(max-width:575px){
  #js-delivery .delivery-option label > .row{ min-width:0; }
  #js-delivery .delivery-option .col-sm-5{ min-width:0; max-width:100%; flex:1 1 100%; }
  #js-delivery .delivery-option .carrier > .row{ flex-wrap:wrap; }
  #js-delivery .delivery-option .carriere-name-container{ min-width:0; }
  #js-delivery .delivery-option .carrier-name{ white-space:normal; word-break:break-word; line-height:1.3; }
}

/* v42 — vrais logos paiement (img) + alignement livraison + noms transporteurs nettoyés */
/* on retire l ancien strip CSS ::after (remplacé par les vrais logos injectés en JS) */
.payment-options .payment-option:has(input[data-module-name="stripe_official"]) > label::after{ content:none !important; background:none !important; }
.ec-pay-logos{ display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:3px; }
.ec-pay-chip{ display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 9px; background:#fff; border:1px solid rgba(43,35,32,.14); border-radius:7px; box-shadow:0 1px 2px rgba(43,35,32,.05); }
.ec-pay-chip img{ height:18px; width:auto; display:block; }

/* alignement + espacement de la livraison */
#js-delivery .delivery-option{ padding:14px 18px; gap:10px; align-items:center; }
#js-delivery .delivery-option .col-sm-1{ flex:0 0 auto; width:26px; }
#js-delivery .delivery-option label > .row{ align-items:center; gap:18px; flex-wrap:nowrap; }
#js-delivery .delivery-option .col-sm-5{ flex:1 1 auto; max-width:none; min-width:0; }
#js-delivery .delivery-option .carrier > .row{ flex-wrap:nowrap; align-items:center; }
#js-delivery .delivery-option .carrier-name{ white-space:nowrap; }
#js-delivery .delivery-option .carrier-name::before{ margin-right:12px; }
#js-delivery .delivery-option .carrier-delay{ flex:0 0 auto; white-space:nowrap; }
#js-delivery .delivery-option .carrier-price{ margin-left:auto; }
@media(max-width:575px){
  #js-delivery .delivery-option label > .row{ flex-wrap:wrap; gap:8px; }
  #js-delivery .delivery-option .carrier-name{ white-space:normal; }
}

/* v43 — fix: les logos img collapsaient (theme img{max-width:100%}) */
.ec-pay-chip{ display:inline-flex; align-items:center; justify-content:center; height:30px; padding:0 9px; background:#fff; border:1px solid rgba(43,35,32,.14); border-radius:7px; box-shadow:0 1px 2px rgba(43,35,32,.05); flex:0 0 auto; }
.ec-pay-chip img{ height:18px !important; width:auto !important; max-width:none !important; min-width:0; display:block; object-fit:contain; }

/* v44 — largeur des logos fixée en JS (width:auto donnait 0 sur SVG img) */
.ec-pay-chip img{ max-width:none !important; display:block; }

/* v45 — livraison: tuer les marges négatives Bootstrap qui font chevaucher nom/délai */
#js-delivery .delivery-option label > .row{ display:flex; align-items:center; gap:20px; margin:0; flex-wrap:nowrap; }
#js-delivery .delivery-option label > .row > [class*=col-]{ margin:0; padding:0; float:none; width:auto; max-width:none; flex:0 0 auto; }
#js-delivery .delivery-option .col-sm-5{ flex:0 1 auto; min-width:0; }
#js-delivery .delivery-option .carrier{ width:auto; }
#js-delivery .delivery-option .carrier > .row{ display:flex; align-items:center; gap:0; margin:0; flex-wrap:nowrap; }
#js-delivery .delivery-option .carrier > .row > [class*=col-]{ margin:0; padding:0; float:none; width:auto; max-width:none; flex:0 0 auto; }
#js-delivery .delivery-option .carrier-name{ white-space:nowrap; }
#js-delivery .delivery-option .carrier-delay{ white-space:nowrap; color:#8a7a6c; font-size:13px; }
#js-delivery .delivery-option .carrier-price{ margin-left:auto; white-space:nowrap; }
@media(max-width:575px){
  #js-delivery .delivery-option label > .row{ flex-wrap:wrap; gap:6px 14px; }
  #js-delivery .delivery-option .carrier-name{ white-space:normal; }
}

/* v46 — livraison: empêcher le rétrécissement de la colonne transporteur (le nom nowrap débordait sur le délai) */
#js-delivery .delivery-option label > .row{ flex-wrap:nowrap !important; }
#js-delivery .delivery-option .col-sm-5{ flex:0 0 auto !important; min-width:auto !important; }
#js-delivery .delivery-option .carriere-name-container{ flex:0 0 auto; }
@media(max-width:575px){
  #js-delivery .delivery-option label > .row{ flex-wrap:wrap !important; }
  #js-delivery .delivery-option .col-sm-5{ flex:1 1 100% !important; }
  #js-delivery .delivery-option .carrier-name{ white-space:normal; }
}

/* v47 — livraison: largeur fixe de la colonne transporteur (aligne les délais, plus de débordement) */
#js-delivery .delivery-option .col-sm-5{ flex:0 0 235px !important; width:235px !important; max-width:235px !important; min-width:235px !important; }
#js-delivery .delivery-option .carrier{ width:auto; overflow:visible; }
#js-delivery .delivery-option .carrier > .row{ width:auto; overflow:visible; }
#js-delivery .delivery-option .carriere-name-container{ flex:0 0 auto; width:auto; max-width:none; overflow:visible; }
#js-delivery .delivery-option .col-sm-4{ flex:0 1 auto !important; }
@media(max-width:575px){
  #js-delivery .delivery-option .col-sm-5{ flex:1 1 100% !important; width:auto !important; min-width:0 !important; max-width:100% !important; }
}

/* v48 — vrais logos transporteurs (fichiers officiels) au lieu des badges maison */
#js-delivery label[for="delivery_option_5"] .carrier-name::before{ width:84px; height:22px; background-image:url("/img/pay/colissimo.svg") !important; }
#js-delivery label[for="delivery_option_6"] .carrier-name::before{ width:70px; height:24px; background-image:url("/img/pay/mondialrelay.svg") !important; }

/* --- Header mobile: logo centré + Compte/Panier bien placés (custom-49) --- */
@media (max-width:767px){
  .ec-header-row{flex-wrap:wrap;gap:10px 14px;padding:12px 16px 14px}
  .ec-header-row .ec-logo-link{flex:1 1 100% !important;display:flex !important;justify-content:center !important;width:100% !important;margin:0 !important;text-align:center}
  .ec-header-row .ec-logo-img{height:50px;margin-left:auto !important;margin-right:auto !important;display:block}
  .ec-header-row .ec-search{order:2;flex:1 1 auto;min-width:0}
  .ec-header-row .ec-search-pill form{padding:10px 16px;gap:8px}
  .ec-header-row .ec-search-kbd{display:none}
  .ec-header-row .ec-header-icons{order:3;gap:18px;flex-shrink:0}
  .ec-header-row .ec-icon-link span{font-size:10px}
}
@media (max-width:400px){
  .ec-header-row .ec-header-icons{gap:14px}
  .ec-header-row .ec-icon-link svg{width:22px;height:22px}
}

/* --- Header sticky + compact au défilement (custom-51) --- */
#header{position:-webkit-sticky;position:sticky;top:0;z-index:999;transition:box-shadow .2s ease}
#header.ec-scrolled{box-shadow:0 6px 22px rgba(43,35,32,.13)}
/* El Caldero fix bug menu (custom-62) : header à HAUTEUR CONSTANTE au scroll.
   Avant, ec-scrolled cachait la barre promo et rétrécissait logo/padding/recherche,
   ce qui faisait sauter le contenu de 30 à 55px au seuil (visible Chrome/Firefox/Android,
   pas Safari). On ne change plus que l'ombre. Barre promo allégée sur mobile pour rester compact. */
@media (max-width:767px){
  /* mobile : header compact ET à hauteur constante (plus de saut). Barre promo masquée sur mobile pour gagner de la place, padding de la barre réduit. */
  #header .ec-promo-bar,#header .header-banner{display:none}
  .ec-header-row{padding-top:8px !important;padding-bottom:8px !important}
}

/* --- Page catégorie : tri + convives, mobile-first (custom-52) --- */
@media (max-width:767px){
  /* Tri "Pertinence" : pleine largeur, aligné à gauche comme les filtres au-dessus */
  .ec-ev-filters{width:100%}
  .ec-ev-filters .ec-ev-sort{margin-left:0 !important;width:100% !important;flex:1 1 100%;padding-left:0;padding-right:0}
  .ec-ev-filters .ec-ev-sort .products-sort-order,
  .ec-ev-filters .products-sort-order.dropdown{width:100%}
  .ec-ev-filters .products-sort-order .select-title{width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}

  /* Bloc convives : les 4 boutons en grille 2 colonnes égales */
  .ec-ev-guide{padding:16px;gap:14px}
  .ec-ev-seg{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;flex:1 1 100%}
  .ec-ev-seg button{width:100%;padding:12px 8px;text-align:center}
}

/* --- Recherche : bouton loupe + autocomplete + toggle mobile (custom-53) --- */
.ec-search{position:relative}
.ec-search-btn{border:0;background:transparent;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#7a6f68;flex-shrink:0}
.ec-search-btn:hover{color:#C1440E}

/* Dropdown suggestions */
.ec-ac{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid rgba(43,35,32,.1);border-radius:16px;box-shadow:0 18px 44px rgba(43,35,32,.18);z-index:1200;overflow:hidden;max-height:70vh;overflow-y:auto}
.ec-ac[hidden]{display:none}
.ec-ac-item{display:flex;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;color:#2B2320;border-bottom:1px solid rgba(43,35,32,.06)}
.ec-ac-item:hover{background:#FBF3E7}
.ec-ac-thumb{width:46px;height:46px;flex-shrink:0;border-radius:10px;overflow:hidden;background:#f3ede4;display:flex;align-items:center;justify-content:center}
.ec-ac-thumb img{width:100%;height:100%;object-fit:cover;max-width:none}
.ec-ac-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ec-ac-name{font-size:14px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ec-ac-price{font-size:13px;font-weight:700;color:#C1440E}
.ec-ac-empty{padding:16px;text-align:center;color:rgba(43,35,32,.55);font-size:14px}
.ec-ac-all{width:100%;border:0;background:#2B2320;color:#FBF3E7;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:13px;cursor:pointer}
.ec-ac-all:hover{background:#C1440E}

/* Bouton loupe mobile : masqué par défaut, visible seulement en mode compact mobile */
.ec-search-toggle{display:none;border:0;background:transparent;padding:0;cursor:pointer;color:#2B2320;align-items:center;justify-content:center}
.ec-search-toggle:hover{color:#C1440E}

/* El Caldero fix : recherche visible en permanence (plus de mode compact au scroll) → loupe mobile désactivée */

/* --- Bandeau consentement : boutons Accepter / Refuser (custom-54) --- */
.ec-cookie-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}
.ec-cookie-refuse{background:transparent;color:rgba(251,243,231,.9);border:1.5px solid rgba(251,243,231,.35);font-family:'Montserrat',sans-serif;font-size:13px;font-weight:700;padding:10px 18px;border-radius:8px;cursor:pointer;white-space:nowrap}
.ec-cookie-refuse:hover{border-color:#FBF3E7;color:#FBF3E7}
@media (max-width:575px){
  .ec-cookie-actions{width:100%}
  .ec-cookie-actions button{flex:1 1 0}
}

/* --- Bandeau promo marketing (lien + compte à rebours) custom-55 --- */
a.ec-promo-bar{display:block;text-decoration:none}
a.ec-promo-bar:hover{opacity:.9}
.ec-promo-cd{margin-left:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ec-promo-cd::before{content:'•';margin-right:12px;opacity:.5}
.ec-promo-cd-label{opacity:.75;margin-right:4px}
.ec-promo-cd-time{font-weight:700;letter-spacing:1px}
@media (max-width:575px){
  .ec-promo-cd{display:block;margin-left:0;margin-top:3px}
  .ec-promo-cd::before{display:none}
}

/* --- Page confirmation de commande : cartes blanches (custom-56) --- */
#content-hook_order_confirmation.card,
.page-order-confirmation.card,
#content-hook_payment_return.card,
#order-confirmation #content-hook-order-confirmation-footer > section > .card,
.account-transformation-form.card,
#registration-form .card{
  background:#fff !important;
  border:1px solid #ece6dd !important;
  border-radius:14px !important;
  box-shadow:0 2px 10px rgba(43,35,32,.05) !important;
  margin-bottom:1.25rem !important;
}
#content-hook_order_confirmation.card .card-block,
.page-order-confirmation.card .card-block,
#content-hook_payment_return.card .card-block{
  padding:1.25rem 1.5rem !important;
}
/* Lignes articles : séparateur propre, image encadrée */
#order-items .order-line{
  margin-top:0 !important;
  padding:.9rem 0;
  border-bottom:1px solid #f2ede5;
  align-items:center;
}
#order-items .order-line:last-of-type{border-bottom:0}
#order-items .order-line .image img{
  border-radius:8px;
  border:1px solid #f0ebe3;
  background:#fff;
}
#order-items .order-line .details span{color:#232323}
#order-items .order-confirmation-table > hr{border-top:1px solid #ece6dd;margin:1rem 0}
#order-items .order-confirmation-table table{width:100%}
#order-items .order-confirmation-table table td{padding:.25rem 0}
#order-items .order-confirmation-table .total-value td{
  padding-top:.6rem;
  font-size:1.05rem;
}
/* Bloc "Détails de la commande" */
#order-details{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid #ece6dd;
}
#order-details ul{padding-left:0;list-style:none}
#order-details li{padding:.15rem 0}
@media (min-width:768px){
  #order-details{
    border-top:0;
    border-left:1px solid #ece6dd;
    padding-left:1.5rem;
    margin-top:0;
  }
}

/* --- Description SEO bas de catégorie + repli "Lire la suite" (custom-57) --- */
#js-product-list-footer .card{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important}
.category-additional-description{
  background:#fff;
  border:1px solid #ece6dd;
  border-radius:14px;
  box-shadow:0 2px 10px rgba(43,35,32,.05);
  padding:1.5rem 1.75rem;
  margin-top:2rem;
  color:#3a332e;
  line-height:1.7;
}
.category-additional-description h2{font-size:1.25rem;margin:1.5rem 0 .5rem;color:#232323}
.category-additional-description h2:first-child{margin-top:0}
.category-additional-description p{margin:0 0 .85rem}
.category-additional-description.ec-collapsed{max-height:170px;overflow:hidden;position:relative}
.category-additional-description.ec-collapsed::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:80px;
  background:linear-gradient(rgba(255,255,255,0),#fff);
}
.ec-desc-more{
  display:inline-flex;align-items:center;gap:6px;margin-top:1rem;
  background:none;border:0;color:#C1440E;font-weight:700;cursor:pointer;font-size:.95rem;padding:.2rem 0;
}
.ec-desc-more:hover{text-decoration:underline}

/* --- Section "Le Journal" : panneau beige arrondi qui respire (custom-58) --- */
.ec-section-journal{
  border-radius:24px;
  margin-top:34px;
  margin-bottom:34px;
}
@media (max-width:575px){
  .ec-section-journal{
    border-radius:16px;
    margin-top:22px;
    margin-bottom:22px;
  }
}

/* --- En-tête catégories/tags/recherche du blog : bandeau compact au lieu du gros vide sombre (custom-59) --- */
.everpsblog-category-hero-overlay{
  min-height:0 !important;
  padding:6px 16px !important;
}
.everpsblog-category-header .everpsblog-category-hero{
  padding-top:30px !important;
  padding-bottom:30px !important;
}
.everpsblog-category-title{
  position:relative;
  display:inline-block;
}
.everpsblog-category-title:after{
  content:"";
  display:block;
  width:52px;height:4px;
  background:#E8A33D;
  border-radius:2px;
  margin:12px auto 0;
}

/* --- Blog : barre de recherche centrée + espacement en-tête catégorie (custom-60) --- */
.everpsblog-search{
  max-width:600px !important;
  margin:32px auto 40px !important;
}
.everpsblog-category-header{
  margin-bottom:0 !important;
}
/* un peu plus d'air entre l'en-tête sombre et la recherche */
.everpsblog-category-header + *{ margin-top:8px; }

/* --- Transitions douces du header au scroll + repli fluide du bandeau promo (custom-61) --- */
.ec-logo-img{ transition:height .25s ease; }
.ec-header-row{ transition:padding .25s ease; }
.ec-promo-bar{ transition:max-height .28s ease, opacity .22s ease, padding .28s ease; overflow:hidden; max-height:60px; }
#header.ec-scrolled .ec-promo-bar{
  display:block !important;
  max-height:0 !important;
  opacity:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border:0 !important;
}
/* apparition/disparition douce de la barre d'achat collante */
.ec-buy-sticky{ transition:transform .28s ease, opacity .22s ease; }

/* ============ Blog : tableaux lisibles (padding, en-tête, zébrures) ============ */
#module-everpsblog-post .postcontent table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;border:1px solid #EADFCE;border-radius:10px;overflow:hidden}
#module-everpsblog-post .postcontent table td{padding:12px 18px;border-bottom:1px solid #EFE6D6;vertical-align:top;line-height:1.45}
#module-everpsblog-post .postcontent table tr:first-child td{background:#F7EEDF;color:#2B2320;font-weight:800;border-bottom:2px solid #E3B778;letter-spacing:.01em}
#module-everpsblog-post .postcontent table tr:nth-child(even):not(:first-child) td{background:#FCF8F1}
#module-everpsblog-post .postcontent table tr:last-child td{border-bottom:none}
@media(max-width:600px){#module-everpsblog-post .postcontent table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:14px}#module-everpsblog-post .postcontent table td{padding:10px 14px}}


/* ============================================================
   Header mobile — barre compacte 56px + menu burger (custom-65)
   Hauteur CONSTANTE (aucun rétrécissement au scroll) => plus de
   saut sur Android. Catégories + Compte rangés dans le tiroir.
   Tout est sous @media (max-width:767px) : PC 100% inchangé.
   ============================================================ */

/* Bouton burger : masqué en desktop, visible en mobile */
.ec-menu-burger{display:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;color:#2B2320;width:40px;height:40px;align-items:center;justify-content:center;border-radius:10px;-webkit-tap-highlight-color:transparent}
.ec-menu-burger:hover{color:#C1440E}
.ec-menu-burger:focus-visible{outline:2px solid #C1440E;outline-offset:2px}

/* Tiroir menu */
.ec-menu-drawer{position:fixed;inset:0;z-index:1300}
.ec-menu-drawer[hidden]{display:none}
.ec-menu-scrim{position:absolute;inset:0;background:rgba(20,12,6,.45);opacity:0;transition:opacity .3s ease}
.ec-menu-drawer.is-open .ec-menu-scrim{opacity:1}
.ec-menu-panel{position:absolute;top:0;left:0;bottom:0;width:82%;max-width:300px;background:#fff;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:12px 0 40px -10px rgba(0,0,0,.4)}
.ec-menu-drawer.is-open .ec-menu-panel{transform:translateX(0)}
.ec-menu-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 13px;border-bottom:1px solid rgba(43,35,32,.08)}
.ec-menu-title{font-family:'Montserrat',system-ui,sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#7a6f68}
.ec-menu-x{width:34px;height:34px;border:0;background:#FBF3E7;border-radius:9px;color:#2B2320;font-size:22px;line-height:1;cursor:pointer;padding:0}
.ec-menu-x:hover{background:#f0e5d5;color:#C1440E}
.ec-menu-nav{display:flex;flex-direction:column;overflow-y:auto;padding:6px 0;flex:1}
.ec-menu-nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;text-decoration:none;color:#2B2320;font-weight:700;font-size:15px;border-bottom:1px solid rgba(43,35,32,.06)}
.ec-menu-nav a::after{content:'\203A';color:#c9bdb0;font-size:19px;font-weight:400;line-height:1}
.ec-menu-nav a:hover{background:#FBF3E7}
.ec-menu-nav a.ec-cat-nav-accent{color:#C1440E}
.ec-menu-foot{margin-top:auto;padding:14px 16px;border-top:1px solid rgba(43,35,32,.08);display:flex;gap:10px}
.ec-menu-foot a{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:13.5px;padding:12px;border-radius:10px}
.ec-menu-foot .ec-menu-acct{background:#FBF3E7;color:#2B2320}
.ec-menu-foot .ec-menu-acct:hover{background:#f0e5d5}
.ec-menu-foot .ec-menu-cart{background:#C1440E;color:#fff}
.ec-menu-foot .ec-menu-cart:hover{background:#a53a0c}
body.ec-menu-lock{overflow:hidden}

@media (max-width:767px){
  /* Une seule barre, hauteur fixe, 3 colonnes : burger | logo | icônes */
  #header .ec-menu-burger{display:inline-flex}
  .ec-header-row{display:grid !important;grid-template-columns:40px 1fr auto;align-items:center;gap:6px;
    flex-wrap:nowrap !important;padding:7px 12px !important;min-height:54px;position:relative}
  .ec-header-row .ec-menu-burger{grid-column:1;justify-self:start}
  .ec-header-row .ec-logo-link{grid-column:2 !important;justify-self:center !important;flex:0 0 auto !important;width:auto !important;margin:0 !important}
  .ec-header-row .ec-logo-img{height:40px !important}
  .ec-header-row .ec-header-icons{grid-column:3 !important;justify-self:end;order:0 !important;gap:2px !important;flex-shrink:0}
  /* Compte -> passe dans le burger ; libellé "Panier" masqué (on garde l'icône + le badge) */
  .ec-header-row .ec-header-icons .ec-icon-link:not(.ec-cart-link){display:none !important}
  .ec-header-row .ec-header-icons .ec-icon-link span{display:none !important}
  .ec-header-row .ec-header-icons .ec-cart-link{padding:0 8px}
  /* Loupe visible en mobile */
  .ec-search-toggle{display:inline-flex !important;width:40px;height:40px}
  /* Recherche : masquée, se déplie en pleine largeur au tap sur la loupe (position absolue => 0 saut) */
  .ec-header-row .ec-search-pill{grid-column:1 / -1;order:0 !important;position:absolute;top:100%;left:0;right:0;z-index:30;
    display:none;margin:0;padding:10px 12px;background:#FBF3E7;border-top:1px solid rgba(43,35,32,.1);
    box-shadow:0 14px 26px -14px rgba(43,35,32,.35)}
  #header.ec-search-open .ec-header-row .ec-search-pill{display:block}
  /* Barre catégories -> repliée dans le burger */
  #header .ec-cat-nav{display:none !important}
}

/* ============================================================
   Barre promo ré-affichée sur mobile (custom-66, 2026-08-19)
   HAUTEUR CONSTANTE : on neutralise le repli au scroll
   (#header.ec-scrolled .ec-promo-bar) qui, sur mobile,
   ferait revenir le saut de contenu Android. Compacte ~30px.
   ============================================================ */
@media (max-width:767px){
  #header .ec-promo-bar{display:block !important}
  /* jamais repliée au scroll sur mobile => aucun saut */
  #header.ec-scrolled .ec-promo-bar{max-height:60px !important;opacity:1 !important;padding-top:6px !important;padding-bottom:6px !important;border:0 !important}
  /* version compacte 1 ligne */
  .ec-promo-bar{font-size:10.5px !important;letter-spacing:1.4px !important;padding:6px 12px !important}
  .ec-promo-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}


/* ============================================================
   Blog mobile — corrections (custom-67, 2026-08-19)
   1) Recherche home : champ + bouton empilés pleine largeur
      (avant : bouton « RECHERCHER » mangeait la largeur -> champ 171px, placeholder tronqué)
   2) Hero « Le Journal » : image plus haute -> texte ne déborde plus
   3) Article : padding latéral raisonnable (corrige un bug de spécificité
      où le padding desktop 42px l'emportait sur mobile via body#... .postcontent)
   Tout sous @media -> PC 100% inchangé.
   ============================================================ */
@media (max-width:600px){
  /* 1) Recherche home blog */
  .everpsblog-search{max-width:none !important;margin:16px auto 24px !important}
  .everpsblog-search .input-group{flex-direction:column;gap:10px}
  .everpsblog-search .form-control{width:100%;height:52px}
  .everpsblog-search .btn{width:100%;height:50px;padding:0 20px}

  /* 2) Hero Journal : image plus haute + texte lisible sans déborder */
  .ec-journal-hero-img{height:185px !important;max-height:none !important;object-fit:cover}
  .ec-journal-hero-text{padding:0 20px !important;max-width:100% !important}
  .ec-journal-hero-eyebrow{font-size:11px !important}
  .ec-journal-hero-h1{font-size:26px !important}
  .ec-journal-hero-sub{font-size:13px !important;margin-top:6px !important;max-width:30ch}
}
@media (max-width:767px){
  /* 3) Article : padding latéral raisonnable (spécificité >= règle desktop) */
  body#module-everpsblog-post .postcontent{padding:22px 18px !important}
  body#module-everpsblog-post .ec-guide-wrap .postcontent{padding:22px 16px !important}
  body#module-everpsblog-post .ec-recipe-grid .postcontent{padding:22px 18px !important}
  /* un peu d'air sous l'en-tête catégorie/tags */
  .everpsblog-category-header + *{margin-top:12px}
}

/* Hero Journal mobile : overlay PLEINE LARGEUR + assombrissement uniforme (custom-68, 2026-08-19)
   Avant : .ec-journal-hero-text sans right:0 -> largeur = contenu (288px) -> bande droite (~37px) non assombrie,
   et dégradé finissant à .40 (trop clair sur la paella). */
@media (max-width:767px){
  .ec-journal-hero-text{
    left:0 !important; right:0 !important; width:100% !important; max-width:100% !important;
    background:linear-gradient(90deg, rgba(27,21,18,.80) 0%, rgba(27,21,18,.60) 100%) !important;
  }
}


/* Blog article images mobile : plein cadre, sans arrondi inutile, moins rogne (custom-69, 2026-08-19)
   Hero : coins arrondis 16px retires (bord a bord) + min-height reduit -> ratio plus proche du 16:9
   de la photo, donc moins rogne (le hero s'agrandit quand meme si le titre est long).
   Figures : arrondi 12px + ombre + carte beige retires -> image nette pleine largeur. */
@media (max-width:767px){
  #module-everpsblog-post .ec-article-hero{border-radius:0 !important;min-height:240px !important}
  #module-everpsblog-post .ec-cms-figure{max-width:100% !important;margin:20px auto}
  #module-everpsblog-post .ec-cms-figure img{border-radius:0 !important;box-shadow:none !important;background:transparent !important;width:100%}
}


/* Fix RGPD formulaire de commentaires (custom-70, 2026-08-19)
   La case #RgpdCompliance etait en position:absolute + margin-left:-20px (defaut Bootstrap
   .form-check-input, mais .p-0 a retire le padding-left compensatoire) -> case detachee tout
   a gauche, loin de son libelle. On la remet en flux normal, juste avant le texte. */
.comment-form .form-check.form-switch{padding-left:0}
.comment-form .form-check.form-switch .form-check-input{position:static !important;float:none !important;margin:0 8px 0 0 !important;flex:0 0 auto}
.comment-form .form-check.form-switch .d-flex.align-items-center{gap:0}


/* Fix chevauchement prix de ligne / corbeille dans le panier mobile (custom-71, 2026-08-19)
   Cause : colonnes Bootstrap imbriquees (.col-md-10>.row>.qty + .price) ou le total
   (col-xs-2) deborde de sa colonne et passe sous la corbeille (.col-md-2).
   Fix mobile : on aplatit la partie droite en une seule rangee flex (qty | total | corbeille). */
@media (max-width:767px){
  .product-line-grid-right > .row{display:flex !important;flex-wrap:nowrap;align-items:center;gap:12px;margin:0}
  .product-line-grid-right > .row > .col-md-10{flex:1 1 auto;max-width:none;width:auto;padding:0}
  .product-line-grid-right > .row > .col-md-2{flex:0 0 auto;max-width:none;width:auto;padding:0}
  .product-line-grid-right .col-md-10 > .row{display:flex !important;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin:0}
  .product-line-grid-right .col-md-10 > .row > .qty{flex:0 0 auto;max-width:none;width:auto;padding:0}
  .product-line-grid-right .col-md-10 > .row > .price{flex:0 0 auto;max-width:none;width:auto;padding:0;text-align:right;white-space:nowrap}
}


/* Fix panier mobile v2 (custom-72, 2026-08-19) : la partie droite (qty+total+corbeille)
   ne tient pas dans les ~183px dispo -> on DISSOUT les colonnes Bootstrap imbriquees
   (display:contents) pour une seule rangee flex : [qty] [total extensible aligne droite] [corbeille],
   + selecteur quantite compacte + petits espaces. */
@media (max-width:767px){
  .product-line-grid-right > .row{display:flex !important;flex-wrap:nowrap;align-items:center;gap:8px;margin:0}
  .product-line-grid-right > .row > .col-md-10{display:contents}
  .product-line-grid-right .col-md-10 > .row{display:contents}
  .product-line-grid-right .qty{flex:0 0 auto;padding:0;margin:0}
  .product-line-grid-right .price{flex:1 1 auto;text-align:right;padding:0;margin:0;white-space:nowrap;min-width:0}
  .product-line-grid-right > .row > .col-md-2{flex:0 0 auto;padding:0;margin:0}
  /* selecteur quantite compact dans le panier */
  #cart .product-line-grid-right .qty .bootstrap-touchspin{width:auto}
  #cart .product-line-grid-right .qty .js-cart-line-product-quantity{max-width:42px;padding-left:6px;padding-right:2px}
}


/* Checkout mobile : onglets invite/connexion propres (custom-73, 2026-08-19)
   L'ul.nav.nav-inline (invite | connexion) s'enroulait mal, laissant le separateur " | "
   isole. Sur mobile : flex qui s'enroule + separateur masque (les 2 liens s'empilent net). */
@media (max-width:767px){
  #checkout .nav.nav-inline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:8px;margin-bottom:14px}
  #checkout .nav.nav-inline .nav-item{display:inline-flex}
  #checkout .nav.nav-inline .nav-separator{display:none}
  #checkout .nav.nav-inline .nav-link{padding-left:0;padding-right:0}
}


/* ===== Retouches mobile (custom-74, 2026-08-19) ===== */

/* 1) Recherche blog : quasi pleine largeur (avant ~25px de marge de chaque cote
   a cause du padding du .container). On l'etend vers les bords via marge negative. */
@media (max-width:767px){
  .everpsblog-search{margin-left:-13px !important;margin-right:-13px !important}
}

/* 2) Checkout etape 1 : onglets invite/connexion en MODE BOUTON (empiles, pleine largeur).
   Actif = plein terracotta, autre = contour. Suit l'onglet selectionne (Bootstrap .active). */
@media (max-width:767px){
  #checkout .nav.nav-inline{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:10px 0 16px}
  #checkout .nav.nav-inline .nav-item{width:100%;display:block}
  #checkout .nav.nav-inline .nav-separator{display:none}
  #checkout .nav.nav-inline .nav-link{
    display:block;width:100%;box-sizing:border-box;text-align:center;
    border:1.5px solid #C1440E;border-radius:10px;padding:14px 16px;
    font-weight:700;line-height:1.2;text-decoration:none;transition:background .15s,color .15s;
  }
  #checkout .nav.nav-inline .nav-link.active{background:#C1440E;color:#fff !important}
  #checkout .nav.nav-inline .nav-link:not(.active){background:#fff;color:#C1440E !important}
  #checkout .nav.nav-inline .nav-link:not(.active):hover{background:#FBF3E7}
}


/* Checkout onglets-boutons : forcer meme alignement/largeur (custom-75, 2026-08-19)
   Le bouton Connexion etait decale de 16px a droite (marge Bootstrap sur .nav-item).
   On remet a zero les marges des items/liens -> les 2 boutons alignes pleine largeur. */
@media (max-width:767px){
  #checkout .nav.nav-inline{align-items:stretch}
  #checkout .nav.nav-inline .nav-item{width:100% !important;margin:0 !important;padding:0 !important}
  #checkout .nav.nav-inline .nav-link{width:100% !important;margin:0 !important;box-sizing:border-box}
}
