/*
Theme Name: Trolly Fils
Author: Trolly Fils
Description: Thème WordPress e-commerce artisanal pour les créations en fil de Trolly. Compatible WooCommerce.
Version: 5.7.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: trolly-fils
License: GPL-2.0-or-later
*/
:root{
--rose:#e91e63;
--rose-dark:#b7154d;
--rose-light:#ffe3ee;
--coral:#ff704d;
--orange:#ff9f43;
--violet:#6f42c1;
--blue:#2f8da8;
--green:#7fa34d;
--cream:#fffaf2;
--ink:#3d2147;
--muted:#715c73;
--line:#ead9df;
--gold:#d9a441
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Georgia,"Times New Roman",serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--rose)}img{max-width:100%;height:auto;display:block}.wrap{width:min(1180px,92%);margin:auto}
.topbar{background:var(--rose);color:#fff;font:13px Arial,sans-serif;padding:7px 0}.topbar .wrap{display:flex;justify-content:space-between}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:25px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{font-size:35px}.brand-name{display:block;font-size:31px;font-style:italic;line-height:1.05}.brand-tag{display:block;font:11px Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:5px}.nav{display:flex;align-items:center;gap:22px;font:13px Arial,sans-serif}.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}.nav li{list-style:none}.nav a{padding:8px 0}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--rose)}
.hero{background:linear-gradient(110deg,#fff5f0,#f5dfdb);padding:70px 0}.hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:55px;align-items:center}.eyebrow{color:var(--rose);font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:2.4px}.hero h1{font-size:clamp(42px,6vw,70px);line-height:1.04;margin:15px 0 20px}.hero h1 em{color:var(--rose);font-weight:normal}.hero p{font-size:19px;color:#514749;max-width:590px}.button{display:inline-block;background:var(--rose);color:#fff!important;padding:13px 24px;border-radius:3px;font:700 13px Arial,sans-serif;margin-top:12px}.button:hover{background:var(--rose-dark)}.button.light{background:#fff;color:var(--rose)!important}.hero-art{border-radius:8px;overflow:hidden;box-shadow:0 20px 55px rgba(92,57,49,.18)}.hero-art img{width:100%;aspect-ratio:1.55;object-fit:cover}
.features{padding:24px 0;border-bottom:1px solid var(--line)}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.feature{text-align:center;font:13px Arial,sans-serif;color:var(--muted)}.feature strong{display:block;color:var(--ink)}.icon{font-size:24px;color:var(--rose)}
.section{padding:68px 0}.section.alt{background:var(--cream)}.section-title{text-align:center;font-size:35px;line-height:1.2;margin:0 0 12px}.section-lead{text-align:center;max-width:700px;margin:0 auto 35px;color:var(--muted)}.section-title:after{content:"✦";display:block;color:var(--rose);font-size:19px;margin-top:7px}
.categories{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.cat{position:relative;min-height:285px;border-radius:5px;overflow:hidden;background:var(--rose-light)}.cat img{width:100%;height:100%;object-fit:cover;position:absolute}.cat:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(20,12,14,.65))}.cat-content{position:absolute;z-index:1;inset:auto 12px 16px;color:#fff;text-align:center}.cat h3{font-size:24px;margin:0 0 5px}.cat .button{background:#ffffff22;border:1px solid #fff;padding:9px 13px}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card{border:1px solid var(--line);background:#fff}.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover}.product-info{padding:16px}.product-info h3{margin:0 0 5px;font-size:20px}.price{color:var(--rose);font:700 15px Arial,sans-serif}.badge{display:inline-block;background:var(--rose-light);color:var(--rose);font:700 10px Arial,sans-serif;padding:4px 8px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.gallery-banner{position:relative;min-height:360px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.gallery-banner:before{content:"";position:absolute;inset:0;background:rgba(30,18,20,.43)}.gallery-banner .wrap{position:relative;z-index:1}.gallery-banner h2{font-size:42px;margin:0 0 10px}.custom-order{background:var(--rose);color:#fff;text-align:center;padding:60px 20px}.custom-order h2{font-size:38px;margin:0 0 10px}.custom-order p{max-width:700px;margin:0 auto 17px}
.page-title{background:var(--rose-light);padding:55px 0}.page-title h1{font-size:45px;margin:0}.content{padding:55px 0}.content img{border-radius:5px}.site-footer{background:#30292a;color:#eee;padding:48px 0 20px;font:14px Arial,sans-serif}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.site-footer h3{font-family:Georgia,serif;color:#fff}.copyright{border-top:1px solid #ffffff22;margin-top:35px;padding-top:18px;text-align:center;color:#bbb}
.woocommerce .site-main,.woocommerce-page .site-main{padding:45px 0}.woocommerce ul.products li.product{border:1px solid var(--line);padding:12px;background:#fff}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--rose);color:#fff;border-radius:3px}.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--rose-dark);color:#fff}.woocommerce span.onsale{background:var(--rose)}
@media(max-width:950px){.nav{display:none}.menu-toggle{display:block}.hero-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.categories{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr}}
@media(max-width:650px){.topbar .wrap{display:block;text-align:center}.topbar .wrap span:last-child{display:none}.header-inner{min-height:70px}.brand-name{font-size:26px}.hero{padding:45px 0}.section{padding:48px 0}.features-grid,.categories,.products{grid-template-columns:1fr 1fr}.categories .cat{min-height:230px}}
@media(max-width:430px){.features-grid,.categories,.products{grid-template-columns:1fr}.hero h1{font-size:42px}.gallery-banner h2{font-size:32px}}

/* Version 3 — pages institutionnelles */
.prose{max-width:850px;margin:0 auto}.prose h2{font-size:28px;margin-top:36px}.prose h3{font-size:21px;margin-top:28px}.prose p,.prose li{color:#514749}.prose ul{padding-left:22px}.notice{padding:15px 18px;border-left:4px solid var(--rose);background:var(--cream);margin-bottom:25px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.contact-card{background:var(--cream);padding:28px;border:1px solid var(--line)}.contact-form{display:grid;gap:15px}.contact-form label{font:700 13px Arial,sans-serif}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:3px;font:15px Arial,sans-serif;background:#fff}.contact-form textarea{min-height:170px;resize:vertical}.contact-success{padding:14px;background:#edf7ee;border-left:4px solid #5a9561}.contact-error{padding:14px;background:#fff0ef;border-left:4px solid #a75c6c}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-hero img{width:100%;border-radius:6px}.legal-box{font:13px Arial,sans-serif;background:#faf6f3;padding:18px;border:1px solid var(--line);margin:25px 0}.creation-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.creation-gallery figure{margin:0;border:1px solid var(--line);background:#fff}.creation-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}.creation-gallery figcaption{padding:12px;font-size:15px;text-align:center}
@media(max-width:800px){.contact-grid,.about-hero{grid-template-columns:1fr}.creation-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.creation-gallery{grid-template-columns:1fr}}

/* Trolly Fils v3.1 — Boutique WooCommerce améliorée */
.woocommerce-page main.woocommerce.wrap,
.woocommerce main.woocommerce.wrap{
  width:min(1320px,94%);
  padding:48px 0 72px;
}

.woocommerce-products-header{
  margin-bottom:28px;
}
.woocommerce-products-header__title.page-title{
  background:none;
  padding:0;
  margin:0 0 10px;
  font-size:clamp(36px,4vw,52px);
  line-height:1.1;
}
.woocommerce .woocommerce-result-count{
  margin:10px 0 24px;
  color:var(--muted);
  font:14px Arial,sans-serif;
}
.woocommerce .woocommerce-ordering{
  margin:0 0 24px;
}
.woocommerce .woocommerce-ordering select{
  min-width:220px;
  padding:11px 38px 11px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
  color:var(--ink);
}

/* On remplace les largeurs flottantes de WooCommerce par une vraie grille. */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px 24px;
  margin:0 0 40px !important;
  padding:0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{
  display:none !important;
  content:none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce-page[class*=columns-] ul.products li.product,
.woocommerce[class*=columns-] ul.products li.product{
  float:none !important;
  clear:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 0 18px !important;
  border:1px solid var(--line);
  border-radius:7px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 22px rgba(55,34,37,.06);
  transition:transform .2s ease,box-shadow .2s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(55,34,37,.11);
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  width:100% !important;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
  margin:0 0 16px !important;
  background:var(--cream);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  padding:0 18px !important;
  margin:0 0 8px !important;
  font-size:21px !important;
  line-height:1.28;
  min-height:2.55em;
}
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price{
  display:block;
  padding:0 18px;
  margin:0 0 13px;
  color:var(--rose);
  font:700 17px Arial,sans-serif;
}
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  display:inline-block;
  margin:0 18px !important;
  padding:11px 16px;
  font-size:13px;
}
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale{
  top:12px;
  right:12px;
  left:auto;
  margin:0;
  min-width:auto;
  min-height:auto;
  padding:6px 10px;
  line-height:1.2;
  border-radius:999px;
  font:700 11px Arial,sans-serif;
}

/* Pagination plus lisible */
.woocommerce nav.woocommerce-pagination ul{
  border:0;
  display:flex;
  gap:7px;
}
.woocommerce nav.woocommerce-pagination ul li{
  border:0;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  min-width:40px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:4px;
  background:#fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--rose);
  color:#fff;
  border-color:var(--rose);
}

/* Fiche produit : image et résumé plus généreux */
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  margin-bottom:45px;
}
.woocommerce div.product .product_title{
  font-size:clamp(32px,4vw,46px);
  line-height:1.12;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--rose);
  font-size:22px;
}

@media(max-width:900px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
  }
}
@media(max-width:560px){
  .woocommerce-page main.woocommerce.wrap,
  .woocommerce main.woocommerce.wrap{width:min(94%,680px);padding-top:32px}
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    grid-template-columns:1fr;
    gap:20px;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title{
    min-height:0;
  }
  .woocommerce .woocommerce-ordering,
  .woocommerce .woocommerce-result-count{
    float:none;
    width:100%;
  }
  .woocommerce .woocommerce-ordering select{width:100%}
}


/* ===== Trolly Fils v3.4 — Boutique WooCommerce améliorée ===== */
.woocommerce-page .woocommerce,
.woocommerce .woocommerce,
.woocommerce-page main.woocommerce,
main.woocommerce{
    width:min(1280px,94%);
    margin:0 auto;
    padding:42px 0 70px;
}
.woocommerce .woocommerce-products-header,
.woocommerce-page .woocommerce-products-header{
    margin-bottom:24px;
}
.woocommerce .woocommerce-result-count{
    margin:10px 0 22px;
    color:var(--muted);
    font:14px Arial,sans-serif;
}
.woocommerce .woocommerce-ordering{
    margin:0 0 22px;
}
.woocommerce .woocommerce-ordering select{
    min-width:230px;
    padding:10px 34px 10px 12px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:4px;
    font:14px Arial,sans-serif;
}
.woocommerce ul.products,
.woocommerce-page ul.products{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px 24px;
    margin:0 0 45px !important;
    padding:0 !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{
    display:none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
    float:none !important;
    width:auto !important;
    margin:0 !important;
    padding:0 0 18px !important;
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    background:#fff;
    display:flex;
    flex-direction:column;
    min-width:0;
    transition:transform .18s ease,box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(60,35,40,.10);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
    display:block;
}
.woocommerce ul.products li.product a img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1/1;
    object-fit:cover;
    margin:0 0 16px !important;
    background:var(--cream);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    padding:0 18px !important;
    margin:0 0 8px !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px !important;
    line-height:1.25;
    color:var(--ink);
}
.woocommerce ul.products li.product .price{
    display:block;
    padding:0 18px;
    margin:0 0 14px !important;
    color:var(--rose) !important;
    font:700 17px Arial,sans-serif !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
    align-self:flex-start;
    margin:0 18px !important;
    padding:11px 16px !important;
    font:700 13px Arial,sans-serif !important;
}
.woocommerce ul.products li.product .added_to_cart{
    margin-top:8px !important;
    color:var(--rose);
}
.woocommerce ul.products li.product .onsale{
    top:12px !important;
    right:12px !important;
    left:auto !important;
    min-width:auto;
    min-height:auto;
    padding:6px 9px;
    line-height:1.2;
    border-radius:3px;
    font:700 11px Arial,sans-serif;
}
.woocommerce nav.woocommerce-pagination{
    margin-top:20px;
}
.woocommerce nav.woocommerce-pagination ul{
    border:0;
}
.woocommerce nav.woocommerce-pagination ul li{
    border:0;
    margin:0 3px;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
    min-width:38px;
    padding:10px;
    border:1px solid var(--line);
    background:#fff;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover{
    background:var(--rose);
    color:#fff;
    border-color:var(--rose);
}

/* Fiche produit : image et informations mieux équilibrées */
.woocommerce div.product{
    margin-top:20px;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
    margin-bottom:45px;
}
.woocommerce div.product .product_title{
    font-size:clamp(32px,4vw,48px);
    line-height:1.1;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
    color:var(--rose);
    font-size:22px;
}
.woocommerce div.product form.cart .button{
    padding:13px 22px;
}
.woocommerce div.product .woocommerce-product-gallery__image img{
    border-radius:5px;
}

/* Produits apparentés */
.woocommerce .related.products,
.woocommerce .upsells.products{
    clear:both;
    padding-top:25px;
}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2{
    font-size:30px;
    margin-bottom:25px;
}

@media(max-width:900px){
    .woocommerce ul.products,
    .woocommerce-page ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:22px;
    }
}
@media(max-width:560px){
    .woocommerce-page .woocommerce,
    .woocommerce .woocommerce,
    .woocommerce-page main.woocommerce,
    main.woocommerce{
        width:min(94%,680px);
        padding-top:28px;
    }
    .woocommerce ul.products,
    .woocommerce-page ul.products{
        grid-template-columns:1fr;
        gap:20px;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title{
        font-size:20px !important;
    }
    .woocommerce .woocommerce-result-count,
    .woocommerce .woocommerce-ordering{
        float:none;
        width:100%;
    }
    .woocommerce .woocommerce-ordering select{
        width:100%;
    }
}


/* ===== Trolly Fils v3.5 — catégories & nouvelles images ===== */
.categories{
    align-items:stretch;
}
.categories .cat{
    display:block;
    position:relative;
    height:330px;
    min-height:330px;
    overflow:hidden;
    cursor:pointer;
}
.categories .cat img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}
.categories .cat-content{
    left:0;
    right:0;
    bottom:0;
    padding:46px 12px 16px;
    background:linear-gradient(transparent,rgba(49,26,31,.82));
}
.categories .cat:hover img{
    transform:scale(1.025);
}
.categories .cat img{
    transition:transform .25s ease;
}
.categories .cat .button{
    pointer-events:none;
}
.trolly-shop-categories{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin:0 0 28px;
    padding:0 0 20px;
    border-bottom:1px solid var(--line);
}
.trolly-shop-categories a{
    display:inline-block;
    padding:9px 15px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--ink);
    font:700 12px Arial,sans-serif;
}
.trolly-shop-categories a:hover,
.trolly-shop-categories a.active{
    background:var(--rose);
    border-color:var(--rose);
    color:#fff;
}
.trolly-product-categories{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:0 18px;
    margin:0 0 10px;
}
.trolly-category-badge{
    display:inline-block;
    padding:4px 8px;
    border-radius:999px;
    background:var(--rose-light);
    color:var(--rose) !important;
    font:700 10px Arial,sans-serif;
    text-transform:uppercase;
    letter-spacing:.45px;
}
.trolly-category-badge:hover{
    background:var(--rose);
    color:#fff !important;
}
@media(max-width:650px){
    .categories .cat{height:300px;min-height:300px}
    .trolly-shop-categories{gap:7px}
    .trolly-shop-categories a{padding:8px 12px}
}


/* ===== Trolly Fils v3.6 — Galerie non marchande ===== */
.trolly-creation-gallery{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px 24px;
}
.trolly-creation-card{
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    background:#fff;
    display:flex;
    flex-direction:column;
    min-width:0;
    transition:transform .18s ease,box-shadow .18s ease;
}
.trolly-creation-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 32px rgba(60,35,40,.10);
}
.trolly-creation-image{
    display:block;
    background:var(--cream);
}
.trolly-creation-image img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    margin:0;
}
.trolly-creation-info{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:16px 18px 18px;
}
.trolly-creation-info .trolly-product-categories{
    padding:0;
    margin:0 0 10px;
}
.trolly-creation-info h2{
    font-size:21px;
    line-height:1.25;
    margin:0 0 10px;
}
.trolly-creation-excerpt{
    color:var(--muted);
    font-size:14px;
    margin-bottom:14px;
}
.trolly-creation-excerpt p{
    margin:0;
}
.trolly-view-creation{
    margin-top:auto;
    align-self:flex-start;
}
.trolly-gallery-notice{
    margin:16px 0 20px;
    padding:14px 16px;
    background:var(--cream);
    border-left:4px solid var(--rose);
    color:var(--ink);
    font:14px Arial,sans-serif;
}
.single-product .product.product_cat-creation-artistique form.cart,
.single-product .product.product_cat-creation-artistique .price{
    display:none !important;
}
@media(max-width:900px){
    .trolly-creation-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:560px){
    .trolly-creation-gallery{grid-template-columns:1fr;}
}


/* ===== Trolly Fils v3.9 — Nouveau bandeau d'accueil ===== */
.hero-home{
    position:relative;
    overflow:hidden;
    padding:88px 0 92px;
    background:
        radial-gradient(circle at 18% 30%, rgba(167,92,108,.10), transparent 28%),
        radial-gradient(circle at 82% 20%, rgba(185,150,103,.10), transparent 30%),
        linear-gradient(135deg,#fffaf7 0%,#f7e5e3 55%,#fff8f3 100%);
    border-bottom:1px solid var(--line);
}
.hero-home:before,
.hero-home:after{
    content:"";
    position:absolute;
    border:1px solid rgba(167,92,108,.16);
    border-radius:50%;
    pointer-events:none;
}
.hero-home:before{
    width:360px;
    height:360px;
    left:-170px;
    top:-120px;
}
.hero-home:after{
    width:420px;
    height:420px;
    right:-220px;
    bottom:-230px;
}
.hero-home-inner{
    position:relative;
    z-index:1;
    max-width:860px;
    text-align:center;
}
.hero-home .eyebrow{
    margin-bottom:16px;
}
.hero-home h1{
    max-width:820px;
    margin:0 auto 22px;
    font-size:clamp(46px,7vw,78px);
    line-height:1.02;
    letter-spacing:-1.5px;
}
.hero-home h1 em{
    color:var(--rose);
    font-weight:normal;
}
.hero-home p{
    max-width:720px;
    margin:0 auto;
    color:#514749;
    font-size:19px;
}
.hero-thread{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
    color:var(--rose);
}
.thread-ball{
    font-size:34px;
    line-height:1;
}
.thread-line{
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    letter-spacing:2px;
    transform:translateY(-1px);
}
.hero-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin-top:28px;
    flex-wrap:wrap;
}
.hero-actions .button{
    margin-top:0;
}
.hero-secondary{
    display:inline-block;
    padding:11px 2px 8px;
    border-bottom:1px solid var(--rose);
    color:var(--rose);
    font:700 13px Arial,sans-serif;
}
.hero-secondary:hover{
    color:var(--rose-dark);
    border-color:var(--rose-dark);
}
@media(max-width:650px){
    .hero-home{
        padding:62px 0 66px;
    }
    .hero-home h1{
        font-size:44px;
        letter-spacing:-.5px;
    }
    .hero-home p{
        font-size:17px;
    }
    .thread-line{
        font-size:22px;
    }
}


/* ===== Trolly Fils v4.0 — logo amélioré ===== */
.site-header .header-inner{
    min-height:96px;
}
.brand{
    display:flex;
    align-items:center;
    min-width:0;
}
.brand-generated-logo{
    display:block;
    line-height:0;
}
.brand-generated-logo img{
    display:block;
    width:auto;
    height:74px;
    max-width:min(520px,46vw);
    object-fit:contain;
    object-position:left center;
}
.brand-custom-logo .custom-logo-link{
    display:block;
    line-height:0;
}
.brand-custom-logo .custom-logo{
    display:block;
    width:auto;
    height:74px;
    max-width:min(520px,46vw);
    object-fit:contain;
}
@media(max-width:950px){
    .site-header .header-inner{min-height:84px}
    .brand-generated-logo img,
    .brand-custom-logo .custom-logo{
        height:62px;
        max-width:58vw;
    }
}
@media(max-width:650px){
    .site-header .header-inner{min-height:76px}
    .brand-generated-logo img,
    .brand-custom-logo .custom-logo{
        height:54px;
        max-width:68vw;
    }
}


/* ===== Trolly Fils v4.5 — devis ===== */
.light-outline{
    background:#fff !important;
    color:var(--rose) !important;
    border:1px solid var(--rose) !important;
}
.light-outline:hover{
    background:var(--rose-light) !important;
}
.quote-layout{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:46px;
    align-items:start;
}
.quote-intro{
    padding:28px;
    background:var(--cream);
    border:1px solid var(--line);
}
.quote-two-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.quote-status-card{
    margin-top:28px;
    padding:24px;
    border:1px solid var(--line);
    background:var(--cream);
    border-radius:5px;
}
.quote-status-pill{
    display:inline-block;
    padding:5px 10px;
    background:var(--rose-light);
    color:var(--rose);
    border-radius:999px;
    font:700 12px Arial,sans-serif;
}
@media(max-width:800px){
    .quote-layout{grid-template-columns:1fr}
}
@media(max-width:560px){
    .quote-two-columns{grid-template-columns:1fr}
}


/* ===== Trolly Fils v5.0 — identité plus dynamique ===== */
body{background:#fffdf9;color:var(--ink)}
.topbar{background:linear-gradient(90deg,var(--rose-dark),var(--rose))}
.site-header{border-bottom:1px solid rgba(233,30,99,.16)}
.nav a:hover{color:var(--rose)}

.hero-home{
    background:
      radial-gradient(circle at 16% 20%,rgba(255,112,77,.15),transparent 28%),
      radial-gradient(circle at 82% 20%,rgba(111,66,193,.10),transparent 30%),
      linear-gradient(135deg,#fff9f1 0%,#ffe9de 52%,#fff4f8 100%)!important;
}
.hero-home .eyebrow{color:var(--green)}
.hero-home h1 em,.hero-thread{color:var(--rose)}
.button{
    background:linear-gradient(135deg,var(--rose),#ff4f7b);
    box-shadow:0 6px 16px rgba(233,30,99,.18)
}
.button:hover{background:linear-gradient(135deg,var(--rose-dark),var(--rose))}
.hero-secondary{color:var(--violet);border-bottom-color:var(--violet)}
.hero-secondary:hover{color:var(--rose);border-bottom-color:var(--rose)}

.feature:nth-child(1) .icon{color:var(--rose)}
.feature:nth-child(2) .icon{color:var(--green)}
.feature:nth-child(3) .icon{color:var(--orange)}
.feature:nth-child(4) .icon{color:var(--violet)}

.categories .cat:nth-child(1) .cat-content{background:linear-gradient(transparent,rgba(233,30,99,.93))}
.categories .cat:nth-child(2) .cat-content{background:linear-gradient(transparent,rgba(255,112,77,.93))}
.categories .cat:nth-child(3) .cat-content{background:linear-gradient(transparent,rgba(127,163,77,.93))}
.categories .cat:nth-child(4) .cat-content{background:linear-gradient(transparent,rgba(47,141,168,.93))}
.categories .cat:nth-child(5) .cat-content{background:linear-gradient(transparent,rgba(111,66,193,.93))}

.section.alt{background:linear-gradient(180deg,#fff9f4,#fff)}
.product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.trolly-creation-card{
    border-color:#f1d8e2;
    box-shadow:0 8px 20px rgba(91,39,78,.04)
}
.trolly-shop-categories a.active,
.trolly-shop-categories a:hover{
    background:linear-gradient(135deg,var(--rose),var(--violet));
    border-color:transparent
}
.trolly-category-badge{background:#ffe6ef;color:var(--rose)!important}
.trolly-category-badge:hover{background:var(--rose)}
.custom-order{background:linear-gradient(135deg,var(--rose),var(--coral))}
.site-footer{background:linear-gradient(135deg,#5a1f55,#3d2147)}
.contact-card,.quote-intro,.quote-status-card,.notice,.form-note,.legal-box{background:#fff7f2}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
    outline:none;
    border-color:var(--rose);
    box-shadow:0 0 0 3px rgba(233,30,99,.10)
}

.brand-generated-logo img,
.brand-custom-logo .custom-logo{
    height:82px;
}
@media(max-width:950px){
    .brand-generated-logo img,
    .brand-custom-logo .custom-logo{height:68px}
}
@media(max-width:650px){
    .brand-generated-logo img,
    .brand-custom-logo .custom-logo{height:58px}
}

/* ===== Trolly Fils v5.2 — logo escargot / pelote validé ===== */
.brand-generated-logo img{
    height:94px;
    max-width:min(560px,48vw);
}
@media(max-width:950px){
    .brand-generated-logo img{height:76px;max-width:60vw}
}
@media(max-width:650px){
    .brand-generated-logo img{height:62px;max-width:72vw}
}


/* ===== Trolly Fils v5.3 — finalisation commande / expédition ===== */
.trolly-check-line{
    display:flex!important;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    background:var(--cream);
    border:1px solid var(--line);
    border-radius:4px;
    font:700 13px Arial,sans-serif!important;
}
.trolly-check-line input{
    width:auto!important;
    margin:0;
}
.trolly-shipping-address-block{
    padding-top:10px;
}
.trolly-shipping-rates{
    display:grid;
    gap:12px;
    margin:10px 0 22px;
}
.trolly-shipping-rate{
    display:flex!important;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:5px;
    cursor:pointer;
    font:14px Arial,sans-serif!important;
}
.trolly-shipping-rate:hover{
    border-color:var(--rose);
    box-shadow:0 5px 18px rgba(233,30,99,.08);
}
.trolly-shipping-rate input{
    width:auto!important;
    margin:0;
}

/* ===== Trolly Fils v5.6 — identité graphique sans coeurs =====
   Les ornements en forme de coeur sont remplacés par des motifs
   de fil, étoiles discrètes, fleurs ou éléments artisanaux.
*/
