/*
Theme Name: Hello Elementor Child
Theme URI: https://studionumerik.fr/
Description: Hello Elementor Child Theme
Author: Studio Numerik
Author URL: https://studionumerik.fr/
Template: hello-elementor
Version: 1.0.0
License: GNU General Public License v2 or later
License URL: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hello-elementorchild
*/

/* =========================================================
   1) FONTS
========================================================= */
@font-face{font-family:'LaBeauties';src:url('fonts/la_beauties.woff2') format('woff2'),url('fonts/la_beauties.woff') format('woff'),url('fonts/la_beauties.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Carlito';src:url('fonts/carlito-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Carlito';src:url('fonts/carlito-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/Lato-Thin.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/Lato-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/Lato-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/Lato-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Lato';src:url('fonts/Lato-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap;}

/* =========================================================
   2) VARIABLES & TYPO GLOBAL
========================================================= */
:root{
  --ccd-font-title:'LaBeauties',cursive;
  --ccd-font-body:'Lato',Arial,sans-serif;
  --color:#8E70B1;
  --color-hover:#6b4a93;
  --color-light:#fcf5ff;
}

body{font-family:var(--ccd-font-body);font-weight:300;}
h1,h2{font-family:var(--ccd-font-title);}

/* Si Elementor colle ses styles, on force (à ajuster si besoin) */
.elementor-kit-7 h1,.elementor-kit-7 h2,.elementor-kit-7 h3,.elementor-kit-7 h4{font-family:var(--ccd-font-title)!important;}

h1.elementor-heading-title, h1.ccd-cat-hero__title {font-family:var(--ccd-font-title); font-size:7rem!important; }
.page-id-43 h2 { font-family:var(--ccd-font-title)!important; font-size:55px; -webkit-text-stroke: 1px #000; }

h2.ccd-section-title { font-family:var(--ccd-font-title)!important; font-size:55px; -webkit-text-stroke: 1px #000; }
a { color: var(--color); text-decoration: none; transition-duration:0.3s; }
a:hover { color: var(--color-hover); }


h1.product_title { font-size:5rem;-webkit-text-stroke: 1px var(--color-hover); color:var(--color-hover); }
.related.products h2 { font-family:var(--ccd-font-title)!important; font-size:4rem; color:var(--color-hover); -webkit-text-stroke: 1px var(--color-hover);  }

/* =========================================================
   3) GLOBAL
========================================================= */
.ccd-main{min-height:60vh;}
.ccd-container{max-width:1200px;margin:0 auto;padding:0 18px;}

/* =========================================================
   4) HEADER + NAV (DESKTOP/MOBILE)
========================================================= */
.ccd-header								{ position:sticky;top:0;z-index:999;background:var(--color-light);border-bottom:1px solid transparent; margin-top:-100px; transition: background 0.3s ease; }
.ccd-header.transparent 				{ background: transparent; }
.single-product .ccd-header.transparent { background:var(--color-light); margin-top:0px;}
.ccd-header__inner						{ max-width:1200px;margin:0 auto;padding:0 18px;display:flex;align-items:center;gap:16px;}
.ccd-header__brand						{ flex:0 0 auto;}
.ccd-header__brand img					{ max-width:160px;}


.ccd-header__actions--desktop			{margin-left:auto;}
.ccd-header__inner a					{font-size:18px;color:#fff;letter-spacing:.2px;}
.single-product .ccd-header.transparent .ccd-header__inner a { color:#000; }
.ccd-header .ccd-header__inner a		{font-size:18px;color:#000;letter-spacing:.2px;}
.ccd-header.transparent .ccd-header__inner a {color:#fff;}


.ccd-header { transition: background-color .3s ease, box-shadow .3s ease;}

.menu-primary-menu a:hover{color:var(--color-hover)!important;}

.ccd-nav{flex:1 1 auto;}
.ccd-menu{list-style:none;margin:0;padding:0;display:flex;gap:14px;align-items:center;flex-wrap:wrap; justify-content:space-around; max-width:700px; margin: auto; }
.ccd-menu li{margin:0;position:relative; border-radius:10px; transition-duration:0.3s;}
.ccd-menu li:hover {background-color:var(--color)!important;}
.ccd-menu li:hover a {color:#fff!important;}

.ccd-menu a{text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;}
.ccd-menu a:focus{outline:2px solid #111;outline-offset:2px;}
.ccd-nav__actions{display:none;}

/* Sous-menu desktop */
.ccd-menu .sub-menu{list-style:none;margin:8px 0 0;padding:8px;min-width:220px;position:absolute;left:0;top:100%;background:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.08);display:none;z-index:10;}
.ccd-menu .sub-menu li a{display:flex;width:100%;}
.ccd-menu li.menu-item-has-children:hover>.sub-menu{display:block;}
.ccd-menu li.menu-item-has-children:focus-within>.sub-menu{display:block;}
.ccd-submenu-toggle{display:none;}

/* Burger */
.ccd-burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid #eee;border-radius:12px;background:var(--color);padding:10px;}
.ccd-burger:hover{background:var(--color-hover);}
.ccd-burger__bar{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px;width:100%;}

/* Overlay */
.ccd-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:998;}

/* Mobile nav */
@media (max-width:900px){
  .ccd-header__actions--desktop{display:none!important;}
  .ccd-burger{display:inline;align-items:center;justify-content:center;}
  .ccd-nav__actions{display:block;}
  .ccd-header__inner .ccd-nav a{font-size:18px;color:#000;letter-spacing:.2px;}

  .ccd-nav{position:fixed;top:0;right:0;height:100dvh;width:min(92vw,380px);background:var(--color-light);border-left:1px solid #eee;transform:translateX(100%);transition:transform .2s ease;padding:80px 18px 18px;overflow:auto;z-index:999;}
  body.ccd-nav-open .ccd-nav{transform:translateX(0);}
  .ccd-menu{display:flex;flex-direction:column;align-items:stretch;gap:6px;}
  .ccd-menu li.menu-item-has-children{display:grid;grid-template-columns:1fr 44px;gap:8px;align-items:center;}
  .ccd-menu a{width:100%;justify-content:space-between;padding:12px;border-radius:12px;}
  .ccd-menu .sub-menu{position:static;display:none;border:none;box-shadow:none;padding:6px 0 0 12px;margin:0;}
  .ccd-submenu-toggle{display:inline-flex;width:44px;height:44px;border:1px solid #eee;border-radius:12px;background:#fff;align-items:center;justify-content:center;}
  .ccd-submenu-toggle::before{content:"▾";font-size:18px;line-height:1;}
  .ccd-menu li.ccd-submenu-open>.sub-menu{display:block;}
  .ccd-menu li.ccd-submenu-open>.ccd-submenu-toggle::before{content:"▴";}

  .ccd-nav__actions{margin-top:18px;padding-top:14px;border-top:1px solid #eee;}
  .ccd-nav__actions .ccd-btn{width:100%;text-align:center;}
}

/* Checkout header minimal */
.ccd-header--minimal .ccd-burger,
.ccd-header--minimal .ccd-nav,
.ccd-header--minimal .ccd-header__actions{display:none!important;}
.ccd-header--minimal .ccd-header__inner{justify-content:center;}

/* =========================================================
   5) BUTTONS
========================================================= */
.ccd-btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none;}
.ccd-btn--primary{background:var(--color);color:#fff!important; transition-duration:0.3s;}
.ccd-btn--primary:hover{background:var(--color-hover);color:#fff!important;}

/* =========================================================
   6) VIDEO HERO
========================================================= */
.video-h1{position:absolute!important;top:10%;}
.ccd-video-hero{position:relative;width:100%;min-height:60vh;overflow:hidden;}
.ccd-video-hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ccd-video-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);z-index:1;}
.ccd-video-hero__content{position:relative;z-index:2;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;}
.ccd-video-hero__content h1{color:#fff;margin:0;line-height:1.1;font-size:6rem!important;}
.check-title { font-family:var(--ccd-font-title)!important; }
.home h2 { font-family:var(--ccd-font-title)!important; }
.home h3 { font-family:var(--ccd-font-title)!important; }

/* =========================================================
   7) CATEGORIES / HERO / WYSIWYG / FAQ
========================================================= */
.ccd-cat-section{padding:28px 0;}
.ccd-section-title{margin:0 0 14px;}
.ccd-cat-hero{position:relative;min-height:450px;max-height:450px;overflow:hidden;display:grid;place-items:center;}
.ccd-cat-hero__media{position:absolute;inset:0;}
.ccd-cat-hero__img{width:100%;height:100%;object-fit:cover;}
.ccd-cat-hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);}
.ccd-cat-hero__content{position:relative;z-index:2;text-align:center;padding:40px 18px;color:#fff;}
.ccd-cat-hero__intro{margin:10px 0 0;opacity:.95;font-size:1.05rem;}

.ccd-child-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.ccd-child-card{display:block;border:1px solid #eee;border-radius:14px;overflow:hidden;text-decoration:none;position:relative;}
.ccd-child-card img{width:100%;height:180px;object-fit:cover;display:block;}
.ccd-child-card__content{padding:12px;position:absolute;inset:0;background-color:#00000066;transition-duration:.3s;}
.ccd-child-card__content h3{margin:0 0 6px;text-align:center;font-size:55px;color:#fff!important;text-shadow:0 0 5px #fff;line-height:50px; font-family:var(--ccd-font-title)!important;}
.ccd-child-card__content p{margin:0;opacity:.8;}
.ccd-child-card:hover .ccd-child-card__content{background-color:#000000aa;}
.ccd-child-card:hover .ccd-child-card__content h3{color:#fff!important;text-shadow:0 0 10px #fff;}

@media (max-width:900px){.ccd-child-grid{grid-template-columns:1fr;}}

.ccd-wysiwyg p{margin:0 0 12px;}
.ccd-faq__item{border:1px solid #eee;border-radius:12px;padding:10px 12px;margin:0 0 10px;background:#fff;}
.ccd-faq__q{cursor:pointer;font-weight:700;}
.ccd-faq__a{margin-top:10px;}

/* =========================================================
   8) FILTRES (shop)
========================================================= */
.ccd-shop-filters { background-color:var(--color-light)!important; }
.ccd-filters{margin:10px 0 18px;}
.ccd-filters__row{display:grid;grid-template-columns:repeat(4,1fr) auto auto;gap:10px;align-items:end;}
.ccd-filters label{display:grid;gap:6px;font-size:.95rem;}
.ccd-filters input,.ccd-filters select{padding:10px;border:1px solid #eee;border-radius:12px;width:100%;}
.ccd-btn--ghost { color:var(--color)!important; }
.ccd-btn--ghost:hover { background-color:var(--color)!important; color:#fff!important;}
@media (max-width:900px){.ccd-filters__row{grid-template-columns:1fr;}}

/* Variante “grid” */
.ccd-filters__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.ccd-filter label{display:block;margin:0 0 6px;}
.ccd-filter select,.ccd-filter input{width:100%;padding:10px 12px;border:1px solid #e5e5e5;border-radius:12px;}
.ccd-filters__actions{display:flex;gap:10px;margin-top:12px;}
.ccd-filters__actions button { border: solid 1px var(--color)!important;}
@media (max-width:900px){.ccd-filters__grid{grid-template-columns:1fr;}}

/* =========================================================
   9) TITRES / BREADCRUMB / LISTING
========================================================= */
h2.ccd-section-title{font-size:5rem;color:var(--color);}
h2.woocommerce-loop-product__title{font-family:var(--ccd-font-body)!important;font-size:1.4rem!important;font-weight:300;color:#000;text-align:center;}

.ccd-breadcrumb{margin:14px auto 0;max-width:1200px;padding:0 18px;}
.ccd-breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.ccd-breadcrumb__item{opacity:.85;}
.ccd-breadcrumb__item a{text-decoration:none;}
.ccd-breadcrumb__sep{opacity:.5;}

/* =========================================================
   10) CARDS PRODUITS + WISHLIST + BADGES
========================================================= */
.products.columns-3{display:flex;flex-wrap:wrap;}

.ccd-card{border:1px solid #eee;border-radius:14px;overflow:hidden;background:var(--color-light);}
.ccd-card__media{display:block;aspect-ratio:4/3;overflow:hidden;}
.ccd-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition-duration:.3s;}
.ccd-card__media:hover img{scale:1.05;}

.ccd-card__body{padding:12px;display:grid;gap:10px;background-color:var(--color-light);}
.ccd-card__title{margin:0;font-size:1.05rem;line-height:1.2;text-align:center;}
.ccd-card__title a{text-decoration:none;color:inherit;font-family:var(--ccd-font-body)!important;font-size:20px;font-weight:300;}
.ccd-card__excerpt{opacity:.85;font-size:.95rem;}
.ccd-card__actions{display:flex;gap:8px;align-items:center;}
.ccd-card__actions .button{border-radius:12px;}

/* Wishlist heart */
.ccd-card__media-wrap{position:relative;}
.ccd-wishlist-heart{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:50%;border:none;background:rgba(0,0,0,.2);border:1px solid #fff;color:#eee;font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;transition:all .2s ease;z-index:3;}
.ccd-wishlist-heart:hover{transform:scale(1.10);color:#fff;}
.ccd-wishlist-heart.is-active{background:var(--color);color:#fff;}

/* Badges “Objet unique / Stock limité” */
.ccd-card__badges{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:6px;}
.ccd-card__badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;line-height:1;font-weight:600;background:#111;color:#fff;width:fit-content;}
.ccd-card__badge--unique{}
.ccd-card__badge--limited{}

/* =========================================================
   11) HOME CATALOG (chips/pills + owl)
========================================================= */
.ccd-home-catalog__cats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 10px;}
.ccd-cat-chip{padding:10px 14px;border:1px solid #eee;border-radius:999px;background:#fff;cursor:pointer;}
.ccd-cat-chip.is-active{background:#111;color:#fff;border-color:#111;}
.ccd-home-catalog__loader{margin:10px 0;opacity:.8;}
.ccd-carousel__item{padding:4px;}

.ccd-home-catalog__cats-wrap{margin:14px 0 10px;}
.ccd-cat-pill{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #eee;border-radius:999px;background:var(--color);cursor:pointer;white-space:nowrap; color:#fff;}
.ccd-cat-pill:hover{background-color:var(--color-hover);}
.ccd-cat-pill:hover .ccd-cat-pill__name{color:#fff;}
.ccd-cat-pill__thumb img{width:34px;height:34px;border-radius:999px;object-fit:cover;display:block;}
.ccd-cat-pill.is-active{background:#111;color:#fff;border-color:#111;}
.ccd-home-catalog__desc{margin:6px 0 16px;opacity:.85;}

.owl-item .ccd-card__excerpt{display:none;}
.owl-item .ccd-card__price{display:none;}

/* OWL – global */
.ccd-home-catalog .owl-nav,.ccd-home-catalog .owl-dots{display:flex;justify-content:center;align-items:center;}
.ccd-home-catalog .owl-nav{margin-top:12px;gap:10px;}
.ccd-home-catalog .owl-nav button{width:42px;height:42px;border-radius:999px;border:1px solid #e5e5e5;background:#fff;color:#111;font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;}
.ccd-home-catalog .owl-nav button:hover{background:#111;color:#fff;border-color:#111;transform:translateY(-1px);}
.ccd-home-catalog .owl-nav button:focus{outline:2px solid #111;outline-offset:2px;}
.ccd-home-catalog .owl-nav button span{font-size:22px;line-height:1;}
.ccd-home-catalog .owl-dots{margin-top:10px;gap:8px;}
.ccd-home-catalog .owl-dot{width:10px;height:10px;border-radius:999px;background:#dcdcdc;border:none;padding:0;cursor:pointer;transition:background .2s ease,transform .15s ease;}
.ccd-home-catalog .owl-dot:hover{background:#999;}
.ccd-home-catalog .owl-dot.active{background:#111;transform:scale(1.15);}

/* OWL – pointer events */
.ccd-home-catalog .owl-nav{pointer-events:none;}
.ccd-home-catalog .owl-nav button{pointer-events:all;}

@media (max-width:768px){
  .ccd-home-catalog .owl-nav button{width:36px;height:36px;font-size:18px;}
}

/* =========================================================
   12) CART / CHECKOUT
========================================================= */
.shop_table .product-thumbnail img{max-width:60px;}
.cart_totals h2{font-family:var(--ccd-font-body);}
.cart { background-color: transparent!important; padding: 5px; }

.order-total { display:none;  }

/* =========================================================
   13) FOOTER (Curiosités & Confettis)
========================================================= */
.ccd-footer{background-color:var(--color-light);margin-top:40px;padding:32px 0 0;}
.ccd-footer__inner{width:min(1100px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:1.8fr 1fr 1.5fr;gap:28px;padding-bottom:24px;align-items:flex-end;}
.ccd-footer__col{min-width:0;}
.ccd-footer__brand{display:flex;flex-direction:column;gap:10px;}
.ccd-footer__logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;}
.ccd-footer__logo img{max-width:170px;height:auto;display:block;}
.ccd-footer__sitename{font-size:18px;line-height:1.2;}
.ccd-footer__baseline{margin:0;opacity:.85;line-height:1.4;font-weight:500;}
.ccd-footer__small{margin:6px 0 0;opacity:.85;line-height:1.5;font-size:14px;}
.ccd-footer__list{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.ccd-footer__link,.ccd-footer a{text-decoration:none;color:var(--color);}
.ccd-footer a:hover,.ccd-footer a:focus-visible{text-decoration:underline;color:var(--color-hover);}
.ccd-footer__badges{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px;}
.ccd-footer__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:15px;line-height:1;}
.ccd-footer__efmm{display:inline-flex;align-items:center;padding:8px 10px;border-radius:10px;}
.ccd-footer__efmm img{height:35px;width:auto;display:block;}
.ccd-footer__social{display:grid;gap:10px;}
.ccd-footer__socialLink{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;line-height:1;font-size:15px;}
.ccd-footer__icon{display:inline-flex;align-items:center;justify-content:center;}
.ccd-footer__icon svg{display:block;fill:currentColor;}
.ccd-footer__right{display:flex;flex-direction:column;align-items:flex-start;}
.ccd-footer__cta{margin-top:6px;}

.ccd-footer__bottom{border-top:1px solid rgba(0,0,0,.08);text-align:center;padding:14px 0 18px;}
.ccd-footer__bottomInner{width:min(1100px,calc(100% - 32px));margin:0 auto;}
.ccd-footer__legalLine{margin:0;font-size:13px;line-height:1.5;opacity:.9;}
.ccd-footer__sep{margin:0 8px;opacity:.6;}

@media (max-width:767px){
  .ccd-footer__inner{grid-template-columns:2fr 1fr;}
}
@media (max-width:560px){
  .ccd-footer__inner{grid-template-columns:1fr;}
  .ccd-footer__logo img{max-width:200px;}
  .ccd-footer__badge,.ccd-footer__socialLink{width:100%;justify-content:flex-start;}
}

.ccd-footer-efmm__container{display:flex;align-items:center;}
.ccd-footer-efmm__container img{width:50px;}
.ccd-footer-efmm__text{font-size:15px;}

/* =========================================================
   14) RESPONSIVE (petits ajustements généraux)
========================================================= */
@media (max-width:800px){
  .ccd-header__inner{flex-wrap:wrap;}
}















.single-product .ccd-main { padding-top:3rem; padding-bottom:5rem; }
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: var(--color); font-size: 1.25em; font-weight:600; 
}
.related.products { display:inline-block; }
.woocommerce div.product div.images img {
   border-radius:10px;
}





