/* KRÉATIF · styles des widgets KRÉATIF et habillage sombre de WooCommerce.
   Les couleurs utilisent les couleurs globales Elementor (Site Settings) quand elles existent. */
:root{--krf-red:var(--e-global-color-primary,#D8301C);--krf-black:#080808;--krf-panel:#111111;--krf-field:#171717;--krf-line:rgba(238,238,235,.14);--krf-muted:#AAAAAA;--krf-font:var(--e-global-typography-text-font-family,Poppins),system-ui,sans-serif}

/* ---------- Grille de produits ---------- */
.krf-pgrid__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:30px}
.krf-pgrid__pills{display:flex;flex-wrap:wrap;gap:9px}
.krf-pill{font:500 14px/1.3 var(--krf-font);color:#C4C4C1;background:transparent;border:1px solid #393936;border-radius:30px;padding:10px 17px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.krf-pill:hover{border-color:#fff;background:transparent;color:#fff}
.krf-pill[aria-pressed="true"]{background:var(--krf-red);border-color:var(--krf-red);color:#fff}
.krf-pill:focus-visible,.krf-pgrid__more:focus-visible,.krf-cart-button:focus-visible,.krf-menu__toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}
.krf-pgrid__select{min-width:220px;width:245px;max-width:100%}
.krf-pgrid__select label{display:block;font:500 13px var(--krf-font);margin-bottom:9px;color:#fff}
.krf-pgrid__select select{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.19);background-color:var(--krf-field);color:#fff;border-radius:8px;padding:12px 40px 12px 14px;font:14px/1.4 var(--krf-font);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.krf-pgrid__select select option{background:var(--krf-field);color:#fff}
.krf-pgrid__count{font:400 12px var(--krf-font);color:var(--krf-muted);margin:-18px 0 22px}
.krf-pgrid__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:42px}
.krf-pgrid__item{min-width:0}
.krf-pgrid__item[hidden]{display:none!important}
.krf-pgrid__item>.elementor{height:100%}
.krf-pgrid__empty{padding:40px;border:1px solid var(--krf-line);color:#ccc;margin:0}
.krf-pgrid__more-wrap{text-align:center;margin-top:40px}
.krf-pgrid__more-wrap[hidden]{display:none}
.krf-pgrid__more{font:600 15px var(--krf-font);color:#fff;background:transparent;border:1px solid #fff;border-radius:30px;padding:13px 22px;cursor:pointer;transition:background-color .2s,color .2s}
.krf-pgrid__more:hover{background:#fff;color:var(--krf-black)}
.krf-pgrid__notice{padding:24px;border:1px dashed #888;color:#888;text-align:center;font:14px var(--krf-font)}
@media(max-width:767px){.krf-pgrid__toolbar{flex-direction:column;align-items:stretch;gap:20px}.krf-pgrid__select{width:100%}.krf-pill{font-size:12px;padding:9px 13px}.krf-pgrid__pills{gap:7px}}

/* Effets des cartes (classes CSS posées dans les modèles de carte) */
.krf-card-visual{overflow:hidden}
.krf-card-visual img{transition:transform .4s ease}
.krf-card:hover .krf-card-visual img{transform:scale(1.03)}
.elementor-widget-image.krf-card-visual a{display:block}
.krf-card-title a:hover,.krf-card-title:hover a{color:var(--krf-red)!important}
.krf-card .elementor-button:hover{background:#fff!important;color:var(--krf-black)!important;border-color:#fff!important}
.krf-card{height:100%}

/* ---------- Bouton panier ---------- */
.krf-cart-wrap{display:flex}
.krf-cart-button{display:inline-flex;align-items:center;gap:12px;font:600 14px var(--krf-font);color:#fff;text-decoration:none;border:1px solid #555;border-radius:30px;padding:11px 12px 11px 18px;transition:border-color .2s}
.krf-cart-button:hover{color:#fff;border-color:#fff}
.krf-cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:50%;background:var(--krf-red);color:#fff;font-size:12px;font-weight:600;line-height:1}

/* ---------- Menu hamburger ---------- */
.krf-menu{display:flex;justify-content:flex-end}
.krf-menu__toggle{display:flex;flex-direction:column;gap:6px;background:none!important;border:0!important;padding:10px 2px!important;cursor:pointer}
.krf-menu__toggle span{display:block;width:28px;height:2px;background:#fff;border-radius:2px}
.krf-menu__panel{position:fixed;inset:0;z-index:99999;background:var(--krf-black);color:#fff;padding:28px max(24px,calc((100vw - 1320px)/2));overflow:auto;font-family:var(--krf-font)}
.krf-menu__panel[hidden]{display:none}
.krf-menu__bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--krf-line);padding-bottom:20px;margin-bottom:28px}
.krf-menu__bar h2{font:500 12px var(--krf-font);letter-spacing:.14em;text-transform:uppercase;margin:0;color:#fff}
.krf-menu__close{width:42px;height:42px;border:1px solid #444!important;background:transparent!important;border-radius:50%!important;color:#fff!important;font-size:26px!important;line-height:1!important;padding:0!important;cursor:pointer}
.krf-menu__nav{display:flex;flex-direction:column}
.krf-menu__nav>a,.krf-menu__nav summary{font:600 clamp(24px,3.4vw,40px)/1.25 var(--krf-font);letter-spacing:-.02em;color:#fff;text-decoration:none;padding:10px 0;cursor:pointer;list-style:none}
.krf-menu__nav summary::-webkit-details-marker{display:none}
.krf-menu__nav summary::after{content:" +";color:var(--krf-red)}
.krf-menu__nav details[open] summary::after{content:" −"}
.krf-menu__sub{display:flex;flex-direction:column;padding:4px 0 14px 4px}
.krf-menu__sub a{font:400 17px/1.5 var(--krf-font);color:#ccc;text-decoration:none;padding:6px 0}
.krf-menu__nav a:hover,.krf-menu__nav summary:hover{color:var(--krf-red)}
.krf-menu__footer{display:inline-block;margin-top:36px;color:#aaa;text-decoration:none;font-size:15px}
html.krf-menu-open{overflow:hidden}

/* ---------- Habillage WooCommerce (fiches produits, panier, paiement, compte) ---------- */
.woocommerce,.woocommerce-page{color:#fff}
.krf-woo-scope .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb{font-size:13px;color:#ccc;margin:0 0 24px}
.woocommerce .woocommerce-breadcrumb a{color:#fff;text-decoration:underline;text-underline-offset:3px}
body.single-product div.product{font-family:var(--krf-font)}
body.single-product .product_title{font:500 clamp(30px,3vw,40px)/1.15 var(--e-global-typography-secondary-font-family,Inter),sans-serif;letter-spacing:-.02em;color:#fff}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff;font-size:30px;font-weight:600}
.woocommerce div.product .woocommerce-product-details__short-description,.woocommerce div.product .woocommerce-Tabs-panel{color:#c8c8c4;font-size:15px;line-height:1.65}
.woocommerce div.product div.images img{border-radius:12px;background:#e9e9e7}
.woocommerce div.product form.cart .variations{margin-bottom:12px;border:0}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations td{display:block;padding:0;border:0;text-align:left;background:none}
.woocommerce div.product form.cart .variations th label{font-size:14px;font-weight:500;color:#fff;margin:14px 0 8px;display:block}
.woocommerce select,.woocommerce input.input-text,.woocommerce textarea,.krf-config select,.krf-config input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),.krf-config textarea,.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{width:100%;min-height:48px;border:1px solid rgba(255,255,255,.19)!important;background-color:var(--krf-field)!important;color:#fff!important;border-radius:8px!important;padding:12px 14px!important;font:14px/1.5 var(--krf-font)!important;box-shadow:none!important}
.woocommerce select option,.krf-config select option{background:var(--krf-field);color:#fff}
.woocommerce select:focus,.woocommerce input.input-text:focus,.woocommerce textarea:focus,.krf-config select:focus,.krf-config input:focus,.krf-config textarea:focus{border-color:var(--krf-red)!important;outline:none}
.woocommerce div.product form.cart .reset_variations{color:#aaa;font-size:12px}
.woocommerce .quantity .qty{width:72px;min-height:48px;background:var(--krf-field);color:#fff;border:1px solid rgba(255,255,255,.19);border-radius:8px}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .single_add_to_cart_button,.woocommerce a.checkout-button,.woocommerce #place_order,.wc-block-components-button{background:var(--krf-red)!important;color:#fff!important;border:0!important;border-radius:30px!important;padding:16px 26px!important;font:700 16px/1.2 var(--krf-font)!important;transition:filter .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce .single_add_to_cart_button:hover{filter:brightness(1.1)}
.woocommerce div.product form.cart .single_add_to_cart_button{width:100%;margin-top:18px}
.woocommerce div.product form.cart .button:disabled,.woocommerce div.product form.cart .button.disabled{opacity:.45}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.krf-notice{background:#181818!important;color:#fff!important;border-top-color:var(--krf-red)!important;border-left:0!important;border-radius:8px}
.woocommerce-message::before,.woocommerce-info::before{color:var(--krf-red)!important}
.woocommerce table.shop_table{border:1px solid var(--krf-line);border-radius:10px;color:#fff;background:transparent}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--krf-line)!important;color:#fff}
.woocommerce table.shop_table td.product-name a{color:#fff}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-billing-fields h3{font:600 26px var(--krf-font);color:#fff}
.woocommerce form .form-row label{color:#ddd;font-size:14px}
.woocommerce-checkout #payment,.woocommerce-checkout #payment div.payment_box{background:#181818!important;color:#ddd;border-radius:10px}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#181818!important}
.woocommerce a{color:#fff}
.woocommerce .woocommerce-Tabs-panel h2,.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#fff}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border-color:var(--krf-line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#181818}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce span.onsale{background:var(--krf-red)}
.woocommerce .related.products h2,.woocommerce .upsells h2{font:600 28px var(--krf-font);color:#fff}
.woocommerce ul.products li.product .woocommerce-loop-product__title{color:#fff}
.woocommerce ul.products li.product .price{color:#ccc}
.woocommerce ul.products li.product a img{border-radius:10px;background:#e9e9e7}

/* Configurateur KRÉATIF (fiche produit) */
.krf-config{font-family:var(--krf-font);color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#111;padding:22px;margin:22px 0}
.krf-config h3{font:600 20px var(--krf-font);color:#fff;margin:0 0 6px}
.krf-config label{display:block;font-size:14px;font-weight:500;color:#fff;margin:16px 0}
.krf-config input,.krf-config select,.krf-config textarea{margin-top:8px}
.krf-config input[type=range]{width:100%;accent-color:var(--krf-red)}
.krf-config input[type=file]{color:#ccc;font-size:13px;margin-top:8px}
.krf-config input[type=file]::file-selector-button{border:1px solid #fff;background:transparent;color:#fff;border-radius:30px;padding:9px 16px;margin-right:12px;font:600 13px var(--krf-font);cursor:pointer}
.krf-config .krf-note{color:#aaa!important}
.krf-config .krf-preview{background:#e9e6df;border-radius:8px}
.krf-config .button.krf-proof{background:transparent!important;border:1px solid #fff!important;color:#fff!important;width:100%}
.krf-config .krf-clear{color:#ccc}

/* Retouches des blocs natifs dans les modèles KRÉATIF */
.krf-nowrap .elementor-heading-title{white-space:nowrap}
.krf-cart-button{white-space:nowrap}
.krf-faq .elementor-toggle-item{border-bottom:1px solid var(--krf-line)}
.krf-faq .elementor-tab-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.krf-faq .elementor-tab-title .elementor-toggle-icon{order:2;font-size:12px;width:auto!important;color:#aaa}
.krf-faq .elementor-tab-title .elementor-toggle-icon svg{width:12px;height:12px;fill:currentColor}
.krf-faq .elementor-tab-title a{color:inherit;text-decoration:none}
.krf-faq .elementor-tab-content ul{padding-left:20px;margin:6px 0 0}
.krf-faq .elementor-tab-content li+li{margin-top:8px}
.krf-card-link a{text-decoration:underline;text-underline-offset:4px;color:inherit}
.krf-card-link a:hover{color:var(--krf-red)}
.krf-config input[type=file]{display:block;width:100%;background:transparent!important;border:1px dashed rgba(255,255,255,.3)!important;border-radius:8px;padding:12px!important;color:#ccc!important;min-height:0}
.krf-config .krf-clear,.krf-config button.krf-clear{border:0!important;background:none!important;color:#bbb!important;padding:6px 0!important;font-size:12px!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent!important;border:1px solid var(--krf-line)!important;border-radius:30px!important;margin:0 6px 0 0!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:#ccc!important;font:500 14px var(--krf-font)!important;padding:10px 18px!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff!important;border-color:#fff!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#080808!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin-bottom:24px!important}
.woocommerce div.product .product_meta{font-size:12px;color:#888;margin-top:20px}
.woocommerce div.product .product_meta a{color:#bbb}
.woocommerce-variation-description{color:#c8c8c4;font-size:14px}
.woocommerce .woocommerce-ordering select,.woocommerce .woocommerce-result-count{color:#ccc}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important;line-height:22px!important;padding:0!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:11px!important;right:8px!important}
.select2-dropdown{background:#171717!important;color:#fff!important;border-color:rgba(255,255,255,.19)!important}
.select2-container--default .select2-search--dropdown .select2-search__field{background:#111;color:#fff;border-color:#444}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:#D8301C!important}

/* Menus déroulants KRÉATIF (fiches produits) : identiques sur mobile et ordinateur */
.krf-select{position:relative;width:100%;margin-top:8px}
.krf-select__native{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0!important;pointer-events:none!important;margin:0!important}
.krf-select__button{display:block;width:100%;min-height:48px;text-align:left;font:500 15px/1.4 var(--krf-font)!important;color:#fff!important;background:var(--krf-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center!important;border:1px solid rgba(255,255,255,.19)!important;border-radius:8px!important;padding:12px 44px 12px 14px!important;cursor:pointer;transition:border-color .15s}
.krf-select__button:hover,.krf-select.is-open .krf-select__button{border-color:var(--krf-red)!important}
.krf-select__button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.krf-select__button:disabled{opacity:.5;cursor:not-allowed}
.krf-select__list{display:none;position:absolute;z-index:50;left:0;right:0;top:calc(100% + 6px);max-height:280px;overflow:auto;margin:0;padding:6px;list-style:none;background:#1c1c1c;border:1px solid rgba(255,255,255,.16);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.55)}
.krf-select.is-open .krf-select__list{display:block}
.krf-select__option{position:relative;padding:11px 12px 11px 34px;border-radius:8px;font:400 15px/1.35 var(--krf-font);color:#fff;cursor:pointer}
.krf-select__option:hover,.krf-select__option.is-active{background:rgba(255,255,255,.08)}
.krf-select__option[aria-selected="true"]::before{content:"✓";position:absolute;left:12px;color:var(--krf-red);font-weight:600}
.krf-select__option[aria-disabled="true"]{color:#666;cursor:not-allowed}
.woocommerce div.product form.cart .variations td.value{position:relative}
@media(max-width:767px){.krf-select__button,.krf-select__option{font-size:16px!important}}

/* Mobile : empêcher la page de s'élargir (loupe de zoom WooCommerce, éléments trop larges) */
html,body{overflow-x:clip}
.woocommerce-product-gallery,.woocommerce-product-gallery__wrapper,.woocommerce-product-gallery__image{overflow:hidden;max-width:100%}
.woocommerce-product-gallery__image .zoomImg{max-width:none}
.krf-preview canvas,.woocommerce div.product div.images img{max-width:100%}

/* Boutons KRÉATIF : neutraliser le fond rose (#c36) que Hello Elementor applique au focus */
.krf-pgrid__more:focus,.krf-pgrid__more:active{background-color:transparent;color:#fff;border-color:#fff}
.krf-pgrid__more:hover{background-color:#fff;color:#080808}
.krf-pill:focus{background-color:transparent;color:#C4C4C1}
.krf-pill[aria-pressed="true"]:focus{background-color:var(--krf-red);color:#fff}
.krf-menu__toggle:focus,.krf-menu__close:focus,.krf-config .krf-clear:focus{background-color:transparent!important}
.krf-select__button:focus{background-color:var(--krf-field)!important}

/* 1.2.3 · Aperçu de la carte dans la colonne de gauche (ordinateur) */
.woocommerce div.product.krf-has-dock{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4%;align-items:stretch}
.woocommerce div.product.krf-has-dock::before,.woocommerce div.product.krf-has-dock::after{display:none}
.woocommerce div.product.krf-has-dock>*{grid-column:1/-1}
.woocommerce div.product.krf-has-dock>.krf-left{grid-column:1;grid-row:1;min-width:0}
.woocommerce div.product.krf-has-dock>.summary{grid-column:2;grid-row:1;width:auto!important;float:none!important;margin:0;min-width:0}
.woocommerce div.product.krf-has-dock .krf-left>.woocommerce-product-gallery{width:auto!important;float:none!important;margin-bottom:24px}
.krf-left{display:contents}
.woocommerce div.product.krf-has-dock>.krf-left{display:block}
.krf-preview-dock{position:sticky;top:110px;z-index:2}
.krf-preview-dock:empty{display:none}
.krf-preview-dock .krf-preview{margin-top:0}
.krf-preview-dock .krf-proof{width:100%;margin-top:10px}
.krf-preview-dock .krf-preview{gap:14px;padding:14px}
.krf-preview-dock .krf-preview canvas{width:auto;max-width:100%;margin:auto}
.krf-preview-dock .krf-preview .krf-cover{max-height:min(300px,calc((100vh - 300px) * .45))}
.krf-preview-dock .krf-preview .krf-inside{max-height:min(330px,calc((100vh - 300px) * .55))}
.krf-preview-dock .krf-preview-status{margin:8px 0 0}
.krf-preview-dock .krf-note{font-size:12px;opacity:.7;margin:8px 0 0}

/* 1.2.5 · carte horizontale : intérieur au même format et à la même taille que le devant */
.krf-preview.is-land .krf-inside{max-height:360px;width:auto;max-width:100%;margin:auto}
.krf-preview-dock .krf-preview.is-land .krf-inside{max-height:min(300px,calc((100vh - 300px) * .45))}
