/* Fichier genere par ~/perf/build_css.py.
   Ne jamais l'editer a la main : editer les sources
   (reviews.css, checkout-fix.css) puis relancer le script. */
/* ==== reviews.css ==== */
/* kuycon — avis (productcomments) : design épuré, compact, professionnel, rassurant.
   Scopé .kc-reviews + .product-comment-modal. Chargée via head.tpl APRÈS productcomments.css. */

.kc-reviews{
  --kc-blue:#0071e3;--kc-ink:#1d1d1f;--kc-muted:#86868b;--kc-line:#e8e8ed;
  max-width:880px;margin:3rem auto;padding:1.8rem 1.9rem 1.9rem;
  border:1px solid var(--kc-line);border-radius:18px;background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Inter",Helvetica,Arial,sans-serif;
  color:var(--kc-ink);line-height:1.5;letter-spacing:-.004em;text-align:left;
}
.kc-reviews *{box-sizing:border-box}

/* barre de titre : titre centré (plus grand) + bouton traduire à droite */
.kc-reviews .kc-reviews-titlebar{position:relative;display:flex;align-items:center;justify-content:center;min-height:2.1rem;margin:0 0 1.5rem}
.kc-reviews .kc-reviews-title{
  text-align:center;font-size:1.95rem;font-weight:700;letter-spacing:-.02em;color:var(--kc-ink);
  margin:0;line-height:1.15;
}
.kc-reviews .kc-translate-btn{
  margin-left:auto;
  display:inline-flex;align-items:center;gap:.35rem;
  background:none;border:1px solid var(--kc-line);border-radius:8px;
  color:var(--kc-muted);font-size:.76rem;font-weight:500;padding:.4rem .7rem;cursor:pointer;line-height:1;
  font-family:inherit;transition:background .15s,color .15s,border-color .15s;
}
.kc-reviews .kc-translate-btn:hover{background:#f5f5f7;color:var(--kc-ink);border-color:#d6d6db}
.kc-reviews .kc-translate-btn:disabled{opacity:.6;cursor:default}
.kc-reviews .kc-translate-btn::before{content:"translate";font-family:"Material Icons";font-size:15px;line-height:1}
@media(max-width:640px){
  .kc-reviews .kc-reviews-titlebar{flex-direction:column;gap:.7rem}
  .kc-reviews .kc-reviews-title{font-size:1.7rem}
}

/* ---- En-tête : note/5 + étoiles à gauche · sous-titre + nombre à droite ---- */
.kc-reviews #product-comments-list-header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:none;border:none;border-bottom:1px solid var(--kc-line);border-radius:0;
  padding:0 0 1.2rem;margin:0 0 1.3rem;
}
.kc-reviews .kc-summary-left{display:flex;align-items:center;gap:.7rem}
.kc-reviews .kc-summary-score{
  font-size:1.7rem;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--kc-ink);
  display:inline-flex;align-items:baseline;
}
.kc-reviews .kc-summary-of{font-size:1.02rem;font-weight:500;color:var(--kc-muted);margin-left:.06rem}
.kc-reviews .kc-summary-left .grade-stars{margin:0}
.kc-reviews .kc-summary-right{display:flex;flex-direction:column;gap:.25rem;text-align:right;margin-left:auto}
.kc-reviews .kc-summary-sub{font-size:.82rem;color:var(--kc-muted);display:inline-flex;align-items:center;gap:.35rem;justify-content:flex-end}
.kc-reviews .kc-summary-sub::before{content:"check_circle";font-family:"Material Icons";font-size:14px;color:#1a8a2e;line-height:1}
.kc-reviews .kc-summary-count{font-size:.82rem;color:var(--kc-muted)}
.kc-reviews .kc-summary-count strong{color:var(--kc-ink);font-weight:600}
/* garde-fou ancien markup */
.kc-reviews #product-comments-list-header .comments-nb{font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:.4rem}
.kc-reviews #product-comments-list-header .comments-nb .material-icons{display:none}
.kc-reviews .comments-note span{display:none}

/* ---- Carousel horizontal de cartes ---- */
.kc-reviews .kc-carousel{position:relative}
.kc-reviews #product-comments-list{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:.3rem .1rem 1.1rem;margin:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;align-items:stretch;
}
.kc-reviews #product-comments-list::-webkit-scrollbar{height:6px}
.kc-reviews #product-comments-list::-webkit-scrollbar-thumb{background:#d6d6db;border-radius:3px}
.kc-reviews #product-comments-list::-webkit-scrollbar-track{background:transparent}

.kc-reviews .product-comment-list-item.row{
  flex:0 0 auto;width:320px;max-width:82vw;scroll-snap-align:start;
  display:flex;flex-direction:column;margin:0;padding:1.15rem 1.2rem;background:#fff;text-align:left;
  border:1px solid var(--kc-line);border-radius:14px;box-shadow:none;transition:box-shadow .18s ease;
}
.kc-reviews .product-comment-list-item.row:hover{box-shadow:0 4px 16px rgba(0,0,0,.06)}

/* flèches de navigation */
.kc-reviews .kc-arrow{
  position:absolute;top:calc(50% - .55rem);transform:translateY(-50%);z-index:3;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--kc-line);background:#fff;color:var(--kc-ink);
  font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
  box-shadow:0 2px 10px rgba(0,0,0,.1);transition:background .15s,opacity .15s;
}
.kc-reviews .kc-arrow:hover{background:#f5f5f7}
.kc-reviews .kc-arrow.kc-prev{left:-10px}
.kc-reviews .kc-arrow.kc-next{right:-10px}
.kc-reviews .kc-arrow[hidden]{display:none}

/* méta sur UNE seule ligne : étoiles · pays · auteur · date */
.kc-reviews .comment-infos{
  width:auto;max-width:none;flex:none;height:auto;min-height:0;padding:0;margin:0 0 .4rem;
  display:flex;align-items:center;flex-wrap:wrap;gap:.15rem .5rem;
}
.kc-reviews .comment-rating-line{display:inline-flex;align-items:center;gap:.5rem;margin:0;flex:0 0 auto}
.kc-reviews .comment-rating-line .grade-stars{flex:0 0 auto;margin:0 !important;transform:scale(.82);transform-origin:left center}
.kc-reviews .comment-country{font-size:.82rem;font-weight:500;color:var(--kc-muted);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;line-height:1}
.kc-reviews .comment-country:empty{display:none}
.kc-reviews .comment-author{order:3;font-weight:600;color:var(--kc-ink);font-size:.86rem}
.kc-reviews .comment-date{order:4;color:var(--kc-muted);font-size:.82rem}
.kc-reviews .comment-author::before{content:"·";margin-right:.5rem;color:#c7c7cc;font-weight:400}
.kc-reviews .comment-date::before{content:"·";margin-right:.5rem;color:#c7c7cc}

/* contenu compact — specificite renforcee (.product-comment-list-item) pour battre productcomments.css
   qui impose au .h4 une height:22px fixe -> titre sur 2 lignes qui empiete sur le texte */
.kc-reviews .comment-content{width:auto;max-width:none;flex:none;padding:0;display:block}
.kc-reviews .product-comment-list-item .comment-content .h4{
  height:auto !important;min-height:0;margin:0 0 .3rem;font-size:.96rem;font-weight:600;
  line-height:1.35 !important;letter-spacing:-.01em;color:var(--kc-ink);
}
.kc-reviews .product-comment-list-item .comment-content > p{
  font-size:.9rem;line-height:1.55 !important;color:#48484a;margin:0;
}

/* signalement discret */
.kc-reviews .comment-buttons.btn-group{margin-top:.6rem;display:flex;gap:.6rem}
.kc-reviews .comment-buttons a{display:inline-flex;align-items:center;margin:0;color:#c0c0c6;font-size:.72rem;cursor:pointer;transition:color .15s}
.kc-reviews .comment-buttons a:hover{color:var(--kc-muted)}
.kc-reviews .comment-buttons a .material-icons{font-size:14px}

/* état vide */
.kc-reviews #empty-product-comment{padding:1.6rem 0;text-align:left;background:none;border:none;border-radius:0;margin:0;color:var(--kc-muted);font-size:.9rem}

/* ---- Bouton "Donnez votre avis" : sobre ---- */
.kc-reviews .btn-comment,.kc-reviews .btn-comment-big{
  height:auto;border:1px solid var(--kc-blue);border-radius:8px;background:var(--kc-blue);color:#fff;
  font-size:.86rem;font-weight:500;line-height:1;padding:.58rem 1.2rem;box-shadow:none;
  display:inline-flex;align-items:center;gap:.4rem;transition:background .15s,border-color .15s;
}
.kc-reviews .btn-comment:hover{background:#0063c9;border-color:#0063c9;color:#fff;transform:none;box-shadow:none}
.kc-reviews .btn-comment .material-icons{margin:0;font-size:16px}

/* ---- Footer + pagination ---- */
.kc-reviews #product-comments-list-footer{margin-top:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.kc-reviews #product-comments-list-pagination ul{gap:.1rem;margin:0}
.kc-reviews #product-comments-list-pagination ul li span{
  width:30px;height:30px;line-height:30px;margin:0 2px;border-radius:7px;color:var(--kc-muted);font-size:13px;font-weight:500;transition:background .15s,color .15s;
}
.kc-reviews #product-comments-list-pagination ul li span:hover{background:#f2f2f4}
.kc-reviews #product-comments-list-pagination ul li.active span{background:var(--kc-ink);color:#fff}
.kc-reviews #product-comments-list-pagination ul li.active span:hover{background:var(--kc-ink);color:#fff}

/* ---- Modale "Écrire un avis" : allégée ---- */
.product-comment-modal .modal-content{border:none;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.product-comment-modal .modal-header .h2{font-weight:600;letter-spacing:-.02em}
.product-comment-modal label.form-label{font-weight:600;font-size:14px}
.product-comment-modal input,.product-comment-modal textarea{border:1px solid #d6d6da;border-radius:10px;transition:border-color .15s,box-shadow .15s}
.product-comment-modal input:focus,.product-comment-modal textarea:focus{outline:none;border-color:var(--kc-blue,#0071e3);box-shadow:0 0 0 3px rgba(0,113,227,.15)}
.product-comment-modal .btn-comment,.product-comment-modal .btn-comment-huge{height:auto;border:1px solid #0071e3;border-radius:8px;background:#0071e3;color:#fff;font-weight:500;padding:.6rem 1.35rem;box-shadow:none;transition:background .15s}
.product-comment-modal .btn-comment:hover{background:#0063c9;transform:none;color:#fff}
.product-comment-modal .btn-comment-inverse{height:auto;border-radius:8px;border:1px solid #d6d6da;background:#fff;color:#1d1d1f;padding:.6rem 1.35rem}
.product-comment-modal .btn-comment-inverse:hover{background:#f5f5f7;border-color:#d6d6da;color:#1d1d1f}

@media(max-width:767px){
  .kc-reviews{margin:2.2rem auto}
  .kc-reviews .kc-summary-score{font-size:2.2rem}
}

/* CE product-meta : stock EN VERT (inchangé) */
.ce-product-meta__quantity .ce-product-meta__label,
.ce-product-meta__quantity .ce-product-meta__value{color:#1a8a2e !important;font-weight:600}
/* ==== checkout-fix.css ==== */

/* KUY-RESTORE-CHECKOUT:START — fond blanc et suppression du cyan par défaut du thème classic
   (panier, tunnel de commande, pages pack). Bloc retirable d'un seul coup. */
body.page-cart #wrapper,
body.page-order #wrapper,
body.page-order-confirmation #wrapper,
body.page-authentication #wrapper,
body.page-addresses #wrapper,
body.page-address #wrapper,
body.page-product #wrapper,
body.ap5-pack-page #wrapper,
body.page-cart,
body.page-order,
body.page-order-confirmation{background:#fff!important}

body.page-cart .card,
body.page-order .card,
body.page-cart .cart-container,
body.page-order #js-checkout-summary,
body.page-cart .cart-summary,
body.page-order .card-block{background:#fff!important}

/* boutons principaux : noir de marque au lieu du cyan par défaut */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active,
body.page-order .btn-primary,
body.page-cart .btn-primary{background-color:#1d1d1f!important;border-color:#1d1d1f!important;color:#fff!important}
.btn-primary:hover{background-color:#000!important;border-color:#000!important}
.btn-primary:disabled,.btn-primary.disabled{background-color:#e5e5e7!important;border-color:#e5e5e7!important;color:#8a9099!important}

/* liens et accents : plus de cyan */
body.page-cart a:not(.btn):not(.elementor-button),
body.page-order a:not(.btn):not(.elementor-button),
body.ap5-pack-page a:not(.btn):not(.elementor-button),
.promo-code-button,
.cart-summary a,
#js-checkout-summary a{color:#1d1d1f}
body.page-cart a:not(.btn):hover,
body.page-order a:not(.btn):hover,
.promo-code-button:hover{color:#000}

/* icônes et pastilles restées en cyan */
body.page-cart .material-icons,
body.page-order .material-icons,
body.page-order .step-number,
body.page-order .step-title .done{color:#1d1d1f}


/* prix et accents restés au cyan par défaut du thème */
.product-price,
.current-price,
.current-price-value,
.product-prices .current-price span:not(.discount):not([class*=reduction]),
body.page-cart .product-price,
body.page-order .product-price,
body.page-order .cart-summary-line .value,
body.page-order-confirmation .product-price{color:#1d1d1f!important}
.has-discount .discount,
.product-flags .discount{background:#1d1d1f!important;color:#fff!important}
/* KUY-RESTORE-CHECKOUT:END */

/* ---- Sélecteur d'adresse, radios, champs : suppression du cyan #24b9d7 du thème classic ---- */
.custom-radio input[type=radio]:checked + span{background-color:#1d1d1f!important}
.custom-checkbox input[type=checkbox]:checked + span{background-color:#1d1d1f!important;border-color:#1d1d1f!important}
body#checkout section.checkout-step .address-item.selected,
.address-item.selected{border-color:#1d1d1f!important}
.form-control:focus,
.input-group.focus,
.search-widget form input[type=text]:focus,
.product-customization .product-message:focus,
.block_newsletter form input[type=text]:focus{outline-color:#1d1d1f!important}
.block_newsletter form input[type=email]:focus,
.block-promo .promo-input + button,
.facet-dropdown.open > .select-title{border-color:#1d1d1f!important}

/* boutons secondaires, pagination, onglets, étiquettes */
.btn-outline-primary{color:#1d1d1f!important;border-color:#1d1d1f!important}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active{background-color:#1d1d1f!important;border-color:#1d1d1f!important;color:#fff!important}
.page-item.active .page-link,
.page-item.active .page-link:focus,
.page-item.active .page-link:hover,
.list-group-item.active,
.dropdown-item.active,
.tag-primary,
.bg-primary,
.card-primary{background-color:#1d1d1f!important;border-color:#1d1d1f!important;color:#fff!important}
.pagination .current a,
.text-primary,
.btn-link,
.page-link{color:#1d1d1f!important}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover{color:#1d1d1f!important;border-bottom-color:#1d1d1f!important}
.product-flags li.product-flag{background:#1d1d1f!important}
#header .header-nav .cart-preview.active{background:#1d1d1f!important}

/* liens des pages hors Creative Elements */
body.page-cart a:not(.btn):not(.elementor-button):not(.text-muted),
body#checkout a:not(.btn):not(.elementor-button):not(.text-muted),
body.page-authentication a:not(.btn):not(.elementor-button),
body.page-addresses a:not(.btn):not(.elementor-button),
body.page-address a:not(.btn):not(.elementor-button),
body.page-order-confirmation a:not(.btn):not(.elementor-button),
body.page-history a:not(.btn):not(.elementor-button),
body.page-customer-account a:not(.btn):not(.elementor-button){color:#1d1d1f!important}
body#checkout a:not(.btn):hover,
body.page-cart a:not(.btn):hover{color:#000}

/* ---- Pages pack : pas de bloc de partage réseaux sociaux ---- */
body.ap5-pack-page .social-sharing,
body.ap5-pack-page .product-additional-info,
body.ap5-pack-page .product-comments-additional-info{display:none!important}

/* ---- Fond blanc sur toutes les pages ---- */
body,
#wrapper,
#main,
#content,
#content-wrapper,
.page-content,
.page-wrapper,
#products,
#js-product-list-top,
#js-product-list-bottom{background-color:#fff!important}
#wrapper > .container{background:transparent!important}

/* ---- Fil d'Ariane masqué visuellement, conservé dans le HTML pour le référencement
       (le balisage BreadcrumbList en JSON-LD reste lu par Google) ---- */
nav.breadcrumb,
.breadcrumb[data-depth]{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
#wrapper > .container > nav.breadcrumb + *{margin-top:0}

/* ---- Couleur des liens : noir au lieu du cyan #24b9d7 du thème classic ----
   Règle volontairement de faible spécificité (un simple `a`) : elle ne remplace que
   les liens qui héritaient du cyan de theme.css. Tout ce qui est stylé par
   Creative Elements ou custom.css conserve sa couleur (bleu de marque compris). */
/* Liens qui héritent encore du cyan #24b9d7 de theme.css : passés en noir.
   Spécificité volontairement basse (html body a = 0,0,3) : toute règle de
   Creative Elements (sélecteur de classe) reste prioritaire et garde son bleu. */
html body a{color:#1d1d1f}
html body a:hover,html body a:focus{color:#000}

/* Uniquement les blocs propres au thème classic (jamais Creative Elements) */
html body .contact-rich a,
html body .store-information a,
html body #contact-form a,
html body .block-contact a,
html body #left-column a,
html body #js-product-list a.product-thumbnail,
html body .cart-summary a,
html body #js-checkout-summary a,
html body .checkout-step a,
html body .address-item a,
html body #history a,
html body .order-confirmation-table a,
html body #order-details a{color:#1d1d1f}
html body .contact-rich a:hover,
html body .store-information a:hover,
html body #contact-form a:hover,
html body .checkout-step a:hover{color:#000}

/* bouton « Choisir un fichier » et boutons par défaut du thème */
.btn-default,
label.btn-default,
.group-span-filestyle .btn-default,
.bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-touchspin{background-color:#1d1d1f!important;border-color:#1d1d1f!important;color:#fff!important}
.btn-default:hover,label.btn-default:hover{background-color:#000!important;border-color:#000!important}

/* icônes et éléments d'interface restés cyan */
.material-icons.search,
.search-widget button .search,
#header .header-nav .blockcart .cart-products-count,
.js-search-filters-clear-all,
.link-item a,
.contact-rich .block .data a,
.store-information a{color:#1d1d1f!important}

/* ---- Pages pack ----
   Description et résumé conservés dans le HTML pour le référencement,
   mais masqués visuellement (technique accessible : le texte reste lisible
   par les robots, il n'occupe simplement aucune place à l'écran). */
body.ap5-pack-page #ap5-pack-description-block,
body.ap5-pack-page .product-description-short,
body.ap5-pack-page #product-description-short,
body.ap5-pack-page [id^="product-description-short"],
body.ap5-pack-page .ap5-pack-page-description{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* étiquette de remise sur les packs : texte en blanc */
.discount.discount-amount,
.discount.discount-percentage,
.ap5-pack-product-reduction-value,
.ap5-pack-product-reduction,
span.discount.discount-amount,
span.discount.discount-percentage,
span.ap5-pack-product-reduction-value,
.product-prices .current-price span.discount,
.ap5-old-price-container span.discount,
.ap5-pack-product-price-table-container span.discount{color:#fff!important;background-color:#1d1d1f!important}

/* résumé de pack (rendu dans un simple .text-justify sans identifiant) */
body.ap5-pack-page #main > .row > .col-12 > .text-justify,
body.ap5-pack-page #main > .row > .col-xs-12 > .text-xs-justify{position:absolute!important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---- Fiche P27Z : pastille « En stock » sous le prix de la barre d'achat ---- */
.product-id-81 .p27z .buybar .price{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}
.product-id-81 .p27z .price .instock{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;
  padding:.22rem .68rem;border-radius:980px;background:#e9f7ee;color:#137333;
  font-size:13px;font-weight:500;line-height:1.3;white-space:nowrap}
.product-id-81 .p27z .price .instock::before{content:"";width:7px;height:7px;border-radius:50%;
  background:#1e8e3e;flex:0 0 auto}

/* pages légales : la couleur du conteneur doit gagner sur les règles du thème
   (li en #7A7A7A, contraste insuffisant). Les liens gardent leur propre couleur. */
.kc-legal h2,.kc-legal h3,.kc-legal h4,.kc-legal p,.kc-legal li,
.kc-legal ul,.kc-legal ol,.kc-legal strong,.kc-legal em,.kc-legal span{color:inherit!important}
.kc-legal h2{margin-top:1.6rem;font-size:1.35rem}
.kc-legal h3{margin-top:1rem;font-size:1.1rem}
.kc-legal li{margin-bottom:.35rem}

/* survol des blocs du compte : gris clair plutot que le bleu de lien par defaut */
a:hover .link-item,
a:focus .link-item,
a:hover .link-item .material-icons,
a:focus .link-item .material-icons,
a:hover > .material-icons,
a:focus > .material-icons{color:#8e8e93!important}

/* Page d'accueil : blocs produit a fond noir.
   Le fond est bien defini cote Creative Elements mais il disparaissait sur
   mobile ; on le garantit ici pour toutes les langues et toutes les boutiques
   (les identifiants de section sont communs a toutes les traductions). */
/* NE VISER QUE les blocs noirs par conception : ca32361, 72b661f et 7eb2de2
   sont en #FBFBFB et 7094877 en #FFFFFF cote Creative Elements ; les noircir
   cassait le design, visible sur kuycon.nl qui n'est pas derriere Cloudflare. */
/* Creative Elements duplique la landing page en trois variantes, une par
   appareil, avec des identifiants differents. Les sections produit noires
   ont donc chacune un jumeau mobile : 31b044d/fb3eb41 et e98be3a/3dd6922.
   NE PAS y ajouter les colonnes 0755dc5 et 442ec314 (le bloc « voir tous
   les modeles ») : leur image est transparente et doit se poser sur le
   #FBFBFB de la section, les noircir plaquait un pave noir sur mobile. */
@media (max-width:767px){
  .elementor-element-31b044d,.elementor-element-fb3eb41,
  .elementor-element-e98be3a,.elementor-element-3dd6922{background-color:#000000!important}
}
