/*
Theme Name: Vert De Rosée (clean)
*/

/* ----------------------------- */
/* Fonts (inchangés)             */
/* ----------------------------- */
/*@font-face { font-family:'Alice'; font-style:normal; font-weight:400; src:url(fonts/alice-opncnoeemtha6gcdrg7shw.woff2) format('woff2'); unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Alice'; font-style:normal; font-weight:400; src:url(fonts/alice-opncnoeemtha6gckrg7shw.woff2) format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Alice'; font-style:normal; font-weight:400; src:url(fonts/alice-opncnoeemtha6gcarg7shw.woff2) format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Alice'; font-style:normal; font-weight:400; src:url(fonts/alice-opncnoeemtha6gcorg4.woff2) format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Glass Antiqua'; font-style:normal; font-weight:400; src:local('Glass Antiqua'), url('fonts/GlassAntiqua-Regular.woff') format('woff'); }
*/
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');
/* Childos Light */
@font-face {
    font-family: 'Childos';
    font-style: normal;
    font-weight: 300;
    src: url('fonts/ChildosFREEPERSONALUSE-Light.otf') format('opentype');
}

/* Childos Regular */
@font-face {
    font-family: 'Childos';
    font-style: normal;
    font-weight: 400;
    src: url('fonts/ChildosFREEPERSONALUSE-Regular.otf') format('opentype');
}

/* Childos Medium */
@font-face {
    font-family: 'Childos';
    font-style: normal;
    font-weight: 500;
    src: url('fonts/ChildosFREEPERSONALUSE-Medium.otf') format('opentype');
}

/* Childos SemiBold */
@font-face {
    font-family: 'Childos';
    font-style: normal;
    font-weight: 600;
    src: url('fonts/ChildosFREEPERSONALUSE-SemiBold.otf') format('opentype');
}

/* Childos Bold */
@font-face {
    font-family: 'Childos';
    font-style: normal;
    font-weight: 700;
    src: url('fonts/ChildosFREEPERSONALUSE-Bold.otf') format('opentype');
}

/* ----------------------------- */
/* Variables                     */
/* ----------------------------- */
:root{
  --beige:#F4F0ED;
  --beige-2:#555;
  --ink:#555;
  --container:1200px;
  --gap-lg:50px; --gap-md:40px; --gap-sm:35px;
  --tr: .25s ease;
}

/* ----------------------------- */
/* Global                        */
/* ----------------------------- */
body{ background:#fff; 
  font-family: "Raleway", sans-serif;}
.responsive-site-style-boxed .hentry{ padding-right:0; padding-left:0; }
main#primary{ width:100%; }

a{ text-decoration:none; transition:all .4s ease-in; }
a:hover{ color:var(--ink); }
p{ text-align:justify; }
b,strong{ color:var(--beige-2); }

/* Headings */
h1,h2,h3,h4,h5,h6{
  color:var(--ink);
  font-family: 'Childos';
  text-align:center;
}
h2{ font-size:1.9em; letter-spacing:.7px; }

/* Page title */
body.page #page h1.entry-title,.page .post-title{
  font-size:3em; font-weight:400; text-align:center; padding-bottom:40px;
}
p, .entry-content p {
    margin: 10px 0;
}

span.woocommerce-Price-currencySymbol {
    font-family: 'Raleway';
}
.woocommerce div.product form.cart .button, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock, .woocommerce ul.products li.product .button, .page.woocommerce-cart .woocommerce button.button:disabled, .page.woocommerce-cart .woocommerce button.button:disabled[disabled], .page.woocommerce-cart .woocommerce button.button, .page.woocommerce-cart .woocommerce .checkout-button, .page.woocommerce-cart .woocommerce a.button.alt, .page.woocommerce-cart .woocommerce a.button, .woocommerce-message .woocommerce a.button {
    color: var(--beige-2);
}
a.checkout-button.button.alt.wc-forward:before {border: none;}
/* ----------------------------- */
/* Header / Nav                  */
/* ----------------------------- */
.site-branding-wrapper{ width:160px; }

.responsive-site-primary-header-wrap,
.site-header-row-container-inner,
.responsive-site-primary-header-wrap:hover{
  background:var(--beige); border:none; 
    font-family: 'Childos';
}

.main-navigation .menu>li>a{ font-size:1.1rem; }
.main-navigation .menu li>a:hover{ background:none; }
.site-header-section>.site-header-item:last-child{ width:100%; }

/* Nav layout */
#site-navigation .nav-menu{ align-items:center; justify-content:space-around; }
@media (min-width:600px){ #site-navigation .nav-menu{ display:flex; } }
#site-navigation .nav-menu>li{ position:relative; list-style:none; }
#site-navigation .nav-menu a{
  display:inline-block; padding:12px 0; color:#111; line-height:1.2; position:relative;
}

/* Soulignement animé */
#site-navigation .nav-menu>li>a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-6px; height:2px; background:#111; transition:right .4s ease;
}
#site-navigation .nav-menu>li:hover>a::after,
#site-navigation .nav-menu>li:focus-within>a::after,
#site-navigation .nav-menu>li.current-menu-item>a::after,
#site-navigation .nav-menu>li.current-menu-ancestor>a::after{ right:0; }

/* Carets */
#site-navigation .nav-menu>li.menu-item-has-children>a{ padding-right:25px; }
#site-navigation .nav-menu>li.menu-item-has-children>a::before{
  content:"\f107"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:0; top:50%; transform:translateY(-50%); transition:transform .2s;
}
#site-navigation .nav-menu>li.menu-item-has-children:hover>a::before,
#site-navigation .nav-menu>li.menu-item-has-children:focus-within>a::before{ transform:translateY(-50%) rotate(180deg); }

/* Dropdowns */
#site-navigation .nav-menu>li>.sub-menu{
  position:absolute; left:0; top:calc(100% + 14px); min-width:220px;
  background:#fff; border:1px solid #eee; box-shadow:0 10px 30px rgba(0,0,0,.08);
  padding:8px 0; z-index:1000; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .2s, transform .2s, visibility .2s step-end;
}
#site-navigation .nav-menu>li:hover>.sub-menu,
#site-navigation .nav-menu>li:focus-within>.sub-menu{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .2s, transform .2s, visibility 0s; }
#site-navigation .sub-menu li{ position:relative; }
#site-navigation .sub-menu a{ display:block; padding:10px 16px; white-space:nowrap; font-size:.9em; color:#111; }
#site-navigation .sub-menu a:hover{ background:#f7f5f3; }

/* Sous-menu niveau 2 */
#site-navigation .sub-menu .sub-menu{
  left:100%; top:-8px; min-width:220px; opacity:0; visibility:hidden; transform:translateX(6px);
  transition:opacity .2s, transform .2s, visibility .2s step-end;
}
#site-navigation .sub-menu li:hover>.sub-menu,
#site-navigation .sub-menu li:focus-within>.sub-menu{ opacity:1; visibility:visible; transform:translateX(0); }
#site-navigation .sub-menu li.menu-item-has-children>a{ padding-right:20px; }
#site-navigation .sub-menu li.menu-item-has-children>a::before{
  content:"\f107"; font-family:"Font Awesome 6 Free"; font-weight:900;
  position:absolute; right:10px; top:50%; transform:translateY(-50%) rotate(-90deg);
}
/* tampon hover */
#site-navigation .nav-menu>li>.sub-menu::before{ content:""; position:absolute; top:-10px; left:12px; right:12px; height:10px; }



/* ======= MENU MOBILE : accordéon sous le parent ======= */
@media (max-width: 768px) {

  /* On force le menu en colonne */
  #site-navigation .nav-menu {
    /*display: block;*/
  }

  #site-navigation .nav-menu > li {
    width: 100%;
  }

  #site-navigation .nav-menu > li > a {
    display: block;
    width: 100%;
    text-align: center;
  }

  /* Sous-menu : plus de position absolue, on le met sous l'item */
  #site-navigation .nav-menu > li > .sub-menu {
    position: static;
    top: auto;
    left: auto;
    min-width: 100%;
    box-shadow: none;
    border: 0;
    padding: 0;
    margin: 0;
    background: transparent;

    /* Accordéon */
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    opacity: 1;           /* on gère l'ouverture avec max-height */
    visibility: visible;
    transform: none;
  }

  /* Quand l'item est "ouvert" (classe ajoutée en JS) */
  #site-navigation .nav-menu > li.is-open > .sub-menu {
    max-height: 600px;    /* assez grand pour contenir toutes les entrées */
  }

  /* On annule l'ouverture au survol en mobile */
  #site-navigation .nav-menu > li:hover > .sub-menu,
  #site-navigation .nav-menu > li:focus-within > .sub-menu {
    /* rien : l'ouverture est gérée par .is-open */
  }

  /* Un peu de style pour les liens de sous-menu */
  #site-navigation .sub-menu a {
    padding: 10px 0;
    display: block;
    text-align: center;
  }

  /* Flèche : on utilise .is-open pour l'orientation */
  #site-navigation .nav-menu > li.menu-item-has-children > a::before {
    right: 10px; /* adapte si besoin */
  }

  #site-navigation .nav-menu > li.menu-item-has-children.is-open > a::before {
    transform: translateY(-50%) rotate(180deg);
  }
}

/* =======================================================
   Mobile : Instagram + Panier sur la même ligne
======================================================= */
@media (max-width: 768px) {

  /* UL du menu */
  .toggled #menu-menu-principal-1 {
    text-align: center;
    display: block;
  }

  /* Tous les items : comportement standard, menu vertical */
  #menu-menu-principal-1 > li {
    display: block;
    width: 100%;
  }

  /* Sauf Instagram + Panier => côte à côte */
  #menu-menu-principal-1 > li.menu-item-2333,
  #menu-menu-principal-1 > li.menu-item-cart {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    flex: 0 0 auto !important;  /* annule un éventuel flex:1; du thème */
    margin: 12px 8px 0 !important;
  }

  /* Optionnel : enlever la ligne de séparation sous ces deux items */
  #menu-menu-principal-1 > li.menu-item-2333::before,
  #menu-menu-principal-1 > li.menu-item-cart::before {
    content: none;
  }

  /* Badge du panier bien positionné */
  .menu-item-cart .menu-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .menu-item-cart .cart-count {
    top: -6px;
    right: -10px;
  }
}




/* ----------------------------- */
/* Accueil : desktop/mobile swap */
/* ----------------------------- */
.forMobile{ display:none; }
@media (max-width:600px){ .forMobile{ display:block; } .forDesktop{ display:none; } }


/* Item de menu "Panier" — seulement desktop */
@media (min-width: 769px) {
  .menu-item-cart {
      display: inline-flex;
      align-items: center;
      margin-left: 16px; /* espace avec "Contact" */
  }
}


/* Lien panier */
.menu-item-cart .menu-cart-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
}

/* Icône panier */
.menu-item-cart .cart-icon {
    font-size: 1.3rem;              /* taille de l’icône */
    color: var(--beige-2);          /* ta couleur texte/menu */
    line-height: 1;
}

/* Pastille du compteur */
.menu-item-cart .cart-count {
    position: absolute;
    top: -6px;
    right: -10px;
    min-width: 16px;
    height: 20px;
    /* padding: 3px 0; */
    background: #111;
    color: #fff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    line-height: 22px;
    text-align: center;
    box-shadow: 0 0 0 2px var(--beige);
    width: 20px;
}

/* Accessibilité : on cache le texte "Panier" visuellement mais lisible par lecteur d’écran */
.menu-item-cart .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}


/* ----------------------------- */
/* Produits (grille + cartes)    */
/* ----------------------------- */
/* Grille aérée */
ul.products{
  display:grid; grid-template-columns:repeat(3, minmax(300px,1fr));
  gap:0; justify-items:center; padding:0; margin:40px auto; max-width:var(--container);
}
@media (max-width:992px){ ul.products{ grid-template-columns:repeat(2, minmax(250px,1fr)); gap:var(--gap-md); } }
@media (max-width:640px){ ul.products{ grid-template-columns:1fr; gap:var(--gap-sm); } }

/* Désactiver toute width forcée par WooCommerce ou le thème */
ul.products li.product {
    width: auto !important;
}

.woocommerce .products ul::after, .woocommerce .products ul::before, .woocommerce ul.products::after, .woocommerce ul.products::before {
  display: none;
}

.single-product .product .product_meta {
  display: none;
}


/* Carte */
body.home ul.products li.product{
  list-style:none; text-align:center; transition:transform .3s ease;
  padding:5px; display:flex; flex-direction:column; align-items:center;
}
ul.products li.product:hover{ transform:translateY(-5px); }

/* Image (et container) */
ul.products li.product a.woocommerce-LoopProduct-link{
  position:relative; display:block; overflow:hidden;
}
ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100%; height:auto; aspect-ratio:1/1; object-fit:cover;
  box-shadow:0 4px 15px rgba(0,0,0,.08);
}

/* Titre / prix / catégorie */
.woocommerce .products .product .woocommerce-loop-product__title{ margin:18px 0 6px; font-size:20px; font-weight:600; color:#2c2c2c; }
.woocommerce .products .product .price{ display:block; font-size:17px; font-weight:500; margin:10px 0 15px; }
span.woocommerce-Price-amount.amount{ color:var(--beige-2); 
    font-family: 'Childos';font-size:1.2em; font-weight:bold; }

.responsive_woo_shop_parent_category,
.product-card-category{
  display:block; margin:12px 0 6px; font-size:13px; letter-spacing:.06em;
  color:#555; opacity:.8; text-align:center;
}
h3 a{ color:var(--beige-2); 
    font-family: 'Childos'; }

/* Badges (communs) */
.products li.product .onsale,
.products li.product .lopale-badge.outofstock{
  position:absolute; top:10px; z-index:3;
  padding:7px 12px; font-size:13px; line-height:1; border-radius:3px;
  text-transform:uppercase; font-weight:600; color:#fff;
}
.products li.product .onsale{ left:10px; background:#c0392b; }
.products li.product .lopale-badge.outofstock{ right:10px; background:rgba(0,0,0,.8); }
.products li.product .onsale::before,
.products li.product .onsale::after{ content:none !important; }

/* ----------------------------- */
/* Boutons (style cadre double)  */
/* ----------------------------- */
a.button, button.button, input.button, .button{
  position:relative; background:transparent !important; color:var(--beige-2); !important;
  font-weight:600; font-size:15px; letter-spacing:.02em; line-height:1.3;
  padding:8px 22px; text-align:center; text-transform:none;
  border:1px solid var(--beige-2) !important; border-radius:0; box-shadow:none !important;
  transition:all var(--tr);
}
a.button::before, button.button::before, input.button::before, .button::before{
  content:""; position:absolute; inset:3px; border:1px solid var(--beige-2); pointer-events:none; transition:all var(--tr);
}
a.button:hover, button.button:hover, input.button:hover, .button:hover{
  background:var(--beige-2) !important; color:#fff !important; border-color:var(--beige-2) !important;
}
a.button:hover::before, button.button:hover::before, input.button:hover::before, .button:hover::before{ border-color:#fff; }
a.button.disabled, a.button:disabled, a.button.added{ opacity:.7; cursor:default; }
a.button:focus, button.button:focus, input.button:focus{ outline:none !important; box-shadow:none !important; }

/* Bouton AJAX inversé */
#jeChargeTout{
  position:relative; display:inline-block; cursor:pointer;
  background:var(--beige-2) !important; color:#fff !important; border:1px solid var(--beige-2) !important;
  font-weight:600; font-size:15px; letter-spacing:.02em; line-height:1.3;
  padding:10px 28px; border-radius:0; transition:all var(--tr);
}
#jeChargeTout::before{ content:""; position:absolute; inset:3px; border:1px solid #fff; transition:all var(--tr); }
#jeChargeTout:hover{ background:transparent !important; color:var(--beige-2) !important; }
#jeChargeTout:hover::before{ border-color:var(--beige-2); }
#jeChargeTout[disabled]{ opacity:.6; cursor:not-allowed; }
#jeChargeTout:focus{ outline:2px solid var(--beige-2); outline-offset:3px; }

/* Zone loader */
.lopale-more-products{ position:relative; min-height:80px; }
.lopale-more-products.is-loading::after{
  content:""; position:absolute; inset:0; background:rgba(255,255,255,.65); z-index:2; border-radius:6px;
}
.lopale-spinner{
  position:absolute; z-index:3; top:50%; left:50%; width:40px; height:40px;
  margin:-20px 0 0 -20px; border:3px solid #ddd; border-top-color:#1a73e8;
  border-radius:50%; animation:lopale-spin .8s linear infinite; display:none;
}
.lopale-more-products.is-loading .lopale-spinner{ display:block; }
@keyframes lopale-spin{ to{ transform:rotate(360deg); } }

/* Alignements utilitaires */
.forCenter{ text-align:center; }


/* Page stickers */
.subcat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(30%,1fr));
  gap:24px;
  margin:24px auto 48px auto;
  max-width: var(--container);
}
.subcat-card{
  display:block; background:#fff; border:1px solid #eee; border-radius:12px;
  padding:16px; text-decoration:none; color:inherit; transition:transform .2s, box-shadow .2s;
}
.subcat-card:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.06); }
.subcat-thumb img{ width:100%; height:auto; border-radius:8px; display:block; }
.subcat-title{ font-size:1.1rem; margin:.8rem 0 .4rem; }
.subcat-desc{ font-size:.95rem; color:#555; }
.term-intro{ margin:.5rem 0 1.5rem; color:#555; }


/* Portfolio */
.portfolio-masonry {
  column-count: 3;         /* nb de colonnes desktop */
  column-gap: 1.2rem;
  max-width: 90%;
  margin: 24px auto 64px;
  padding: 0 12px;
}
.portfolio-card {
  break-inside: avoid;
  display: inline-block;
  width: 100%;
  margin: 0 0 1.2rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.portfolio-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0,0,0,.08); }
.portfolio-media img { width: 100%; height: auto; display: block; }
.portfolio-meta { padding: 14px 16px 16px; }
.portfolio-title { margin: 0 0 .4rem; font-size: 1.05rem; }
.portfolio-excerpt { margin: 0; color: #555; font-size: .95rem; }
@media (max-width: 1024px){ .portfolio-masonry{ column-count: 2; } }
@media (max-width: 640px) { .portfolio-masonry{ column-count: 1; } }
.page-header { max-width:1200px; margin:10px auto 10px; padding:0 12px; }

/* ----- Single mon-portfolio ----- */
.single-portfolio {
  max-width: 1000px;
  margin: 40px auto 80px;
  padding: 0 20px;
}
.single-portfolio .portfolio-title {
  font-size: 2.2rem;
  text-align: center;
  margin: 0 0 6px;
}
.single-portfolio .portfolio-resume {
  text-align: center; color:#777; font-style: italic; margin: 0 0 18px;
}
.single-portfolio .portfolio-image { margin: 0 0 28px; text-align:center; }
.single-portfolio .portfolio-image img {
  width: 100%; height: auto; border-radius: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.single-portfolio .portfolio-content { font-size: 1rem; line-height:1.65; color:#444; margin-bottom: 36px; }
.single-portfolio .portfolio-footer { text-align:center; }
.single-portfolio .portfolio-nav { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

.single-portfolio .button {
  background:#d1bca1 !important; color:#fff !important; border:1px solid #d1bca1 !important;
  padding:10px 18px; font-weight:600; transition: all .25s; text-decoration:none;
}
.single-portfolio .button:hover { background:transparent !important; color:#d1bca1 !important; }

/* Woocommerce */


.woocommerce .woocommerce-ordering, .woocommerce .woocommerce-result-count { 
  max-width:var(--container);
  margin: 0 auto;
}
.woocommerce ul.products {
    margin: 0 auto;
}
.woocommerce ul.products li.product strong {
    display: contents;
}

/* Page panier */
.woocommerce-cart-form .product-name .a, 
.woocommerce-cart-form .product-name .a:visited,
.cart_totals a,
.cart_totals a:visited {
    color: var(--beige-2);
}

/* ----------------------------- */
/* Footer                        */
/* ----------------------------- */
footer{
  background:var(--beige); 
    font-family: 'Childos'; display:flex; justify-content:center; padding:15px;
}
footer .wrapper{
  max-width:var(--container); width:100%; display:flex; justify-content:space-between; color:var(--ink);
}

footer .wrapper .myCopyright {font-family: "Raleway", sans-serif;}
footer .wrapper a{ color:var(--ink); }
footer .wrapper a:hover{ color:var(--beige-2); }
