/* KrMel Librairie - design system (couche de style sur Astra + WooCommerce) */
:root{
  --kr-bg:#FFFFFF;--kr-surface:#F5F4F2;--kr-ink:#1A1A1A;--kr-muted:#5C5752;--kr-line:#E6E3DF;
  --kr-accent:#DB6816;--kr-accent-ink:#A84E0F;--kr-wa:#1FA855;
  --kr-r-sm:10px;--kr-r-md:16px;--kr-r-pill:999px;
  --kr-head:"Bricolage Grotesque",system-ui,sans-serif;--kr-body:"Figtree",system-ui,sans-serif;
  --kr-wrap:1240px;--kr-gut:20px;
}

/* ---------- Base ---------- */
body{font-family:var(--kr-body);color:var(--kr-ink);background:var(--kr-bg);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.entry-title,.product_title,.woocommerce-loop-product__title{font-family:var(--kr-head)!important;color:var(--kr-ink);letter-spacing:-0.01em}
a{color:var(--kr-ink)}
a:hover{color:var(--kr-accent-ink)}
:focus-visible{outline:3px solid var(--kr-accent);outline-offset:2px}

/* ---------- Boutons ---------- */
.kr-btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.single_add_to_cart_button,.wc-block-components-button,.checkout-button{
  font-family:var(--kr-body)!important;font-weight:600!important;border-radius:var(--kr-r-pill)!important;
  background:var(--kr-accent)!important;color:var(--kr-ink)!important;border:2px solid var(--kr-accent)!important;
  padding:.8em 1.5em!important;line-height:1.2!important;transition:background .15s,transform .1s;text-transform:none!important}
.kr-btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.single_add_to_cart_button:hover,.checkout-button:hover{background:#C45C12!important;border-color:#C45C12!important;color:var(--kr-ink)!important}
.kr-btn:active{transform:translateY(1px)}
.kr-btn{display:inline-flex;align-items:center;gap:.5em;text-decoration:none;font-size:1rem}
.kr-btn--ghost{background:transparent!important;border-color:var(--kr-ink)!important}
.kr-btn--ghost:hover{background:var(--kr-ink)!important;color:#fff!important;border-color:var(--kr-ink)!important}
.kr-btn--wa,.wa-order-button,.wa-order-button-after-atc,a.wa-order-class,.wa-order-thankyou a,.wc-proceed-to-checkout .wa-order-checkout{
  background:var(--kr-wa)!important;border:2px solid var(--kr-wa)!important;color:#fff!important;border-radius:var(--kr-r-pill)!important;font-weight:600!important}
.kr-btn--wa:hover{background:#178A45!important;border-color:#178A45!important;color:#fff!important}
.kr-btn svg{width:1.15em;height:1.15em;flex:none}

/* ---------- Barre d'annonce ---------- */
.kr-topbar{background:var(--kr-ink);color:#fff;font-size:.875rem}
.kr-topbar__in{max-width:var(--kr-wrap);margin:0 auto;padding:8px var(--kr-gut);display:flex;justify-content:center;gap:24px;flex-wrap:wrap;text-align:center}
.kr-topbar a{color:#fff;text-decoration:none;font-weight:600}
.kr-topbar a:hover{color:var(--kr-accent)}
.kr-topbar__sep{opacity:.4}
@media(max-width:600px){.kr-topbar__sep,.kr-topbar__opt{display:none}}

/* ---------- En-tete Astra ---------- */
.site-header .ast-primary-header-bar,.main-header-bar{border-bottom:1px solid var(--kr-line)!important;background:#fff!important}
.site-header .custom-logo{max-height:64px;width:auto}
.main-header-menu .menu-link{font-family:var(--kr-body);font-weight:600;color:var(--kr-ink)!important}
.main-header-menu .menu-item:hover>.menu-link,.main-header-menu .current-menu-item>.menu-link{color:var(--kr-accent-ink)!important}
.ast-site-header-cart .count,.ast-cart-menu-wrap .count{background:var(--kr-accent)!important;color:var(--kr-ink)!important}

/* ---------- Mise en page generique ---------- */
.kr-wrap{max-width:var(--kr-wrap);margin:0 auto;padding:0 var(--kr-gut)}
.kr-sec{padding:72px 0}
.kr-sec--tight{padding:48px 0}
.kr-h2{font-family:var(--kr-head);font-weight:700;font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1;margin:0 0 8px}
.kr-lead{color:var(--kr-muted);font-size:1.05rem;line-height:1.6;max-width:62ch;margin:0}
.kr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.kr-link{font-weight:600;color:var(--kr-accent-ink);text-decoration:none;white-space:nowrap}
.kr-link:hover{text-decoration:underline}

/* ---------- Hero ---------- */
.kr-hero{background:var(--kr-surface);overflow:hidden}
.kr-hero__in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;min-height:min(640px,82vh);padding-top:56px;padding-bottom:56px}
.kr-hero h1{font-family:var(--kr-head);font-weight:800;font-size:clamp(2.2rem,5vw,3.9rem);line-height:1.04;margin:0 0 20px;letter-spacing:-.02em}
.kr-hero h1 em{font-style:normal;color:var(--kr-accent-ink)}
.kr-hero p{font-size:1.15rem;line-height:1.6;color:var(--kr-muted);margin:0 0 28px;max-width:46ch}
.kr-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.kr-hero__art{position:relative;height:520px}
.kr-hero__art figure{position:absolute;margin:0;border-radius:var(--kr-r-md);overflow:hidden;background:#fff;box-shadow:0 18px 40px rgba(26,26,26,.14)}
.kr-hero__art img{width:100%;height:100%;object-fit:cover;display:block}
.kr-hero__art .f1{width:52%;height:78%;left:4%;top:10%;transform:rotate(-4deg);z-index:2}
.kr-hero__art .f2{width:46%;height:66%;right:2%;top:0;transform:rotate(3deg);z-index:1}
.kr-hero__art .f3{width:40%;height:52%;right:10%;bottom:0;transform:rotate(-1.5deg);z-index:3}
.kr-hero__disc{position:absolute;left:0;bottom:6%;z-index:4;background:var(--kr-accent);color:var(--kr-ink);font-family:var(--kr-head);font-weight:700;border-radius:var(--kr-r-pill);padding:12px 20px;font-size:.95rem}
@media(max-width:900px){
  .kr-hero__in{grid-template-columns:1fr;min-height:0;gap:28px;padding-top:36px;padding-bottom:40px}
  .kr-hero__art{height:340px;max-width:460px;width:100%;margin:0 auto}
}

/* ---------- Bento categories ---------- */
.kr-cats{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:14px}
.kr-cat{position:relative;border-radius:var(--kr-r-md);overflow:hidden;background:var(--kr-surface);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:var(--kr-ink);isolation:isolate}
.kr-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .35s}
.kr-cat:hover img{transform:scale(1.04)}
.kr-cat--img{color:#fff}
.kr-cat--img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(26,26,26,.82),rgba(26,26,26,.05) 60%)}
.kr-cat b{font-family:var(--kr-head);font-size:1.3rem;line-height:1.1}
.kr-cat span{font-size:.9rem;opacity:.85;margin-top:4px}
.kr-cat--xl{grid-column:span 2;grid-row:span 2}
.kr-cat--xl b{font-size:1.9rem}
.kr-cat--wide{grid-column:span 2}
.kr-cat--dark{background:var(--kr-ink);color:#fff}
.kr-cat--dark span{color:#fff}
.kr-cat--accent{background:var(--kr-accent)}
@media(max-width:900px){.kr-cats{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.kr-cat--xl{grid-row:span 2}}
@media(max-width:520px){.kr-cats{grid-auto-rows:130px;gap:10px}.kr-cat{padding:14px}.kr-cat b{font-size:1.1rem}.kr-cat--xl b{font-size:1.5rem}}

/* ---------- Cartes livres ---------- */
.kr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.kr-card{display:flex;flex-direction:column;text-decoration:none;color:var(--kr-ink)}
.kr-card__img{aspect-ratio:3/4;background:var(--kr-surface);border-radius:var(--kr-r-md);overflow:hidden;margin-bottom:12px}
.kr-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.kr-card:hover .kr-card__img img{transform:scale(1.03)}
.kr-card__cat{font-size:.8rem;color:var(--kr-muted);margin-bottom:4px}
.kr-card__t{font-family:var(--kr-head);font-weight:600;font-size:1.02rem;line-height:1.25;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kr-card__p{font-weight:700;color:var(--kr-ink)}
.kr-card__p del{color:var(--kr-muted);font-weight:400;margin-right:6px}
.kr-card__p ins{text-decoration:none;color:var(--kr-accent-ink)}
@media(max-width:900px){.kr-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .kr-grid--rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--kr-gut)*-1);padding:0 var(--kr-gut) 8px}
  .kr-grid--rail .kr-card{flex:0 0 58%;scroll-snap-align:start}
  .kr-grid:not(.kr-grid--rail){grid-template-columns:repeat(2,1fr);gap:14px}
}

/* ---------- Bande Bibles ---------- */
.kr-dark{background:var(--kr-ink);color:#fff}
.kr-dark .kr-h2,.kr-dark .kr-card__t,.kr-dark .kr-card__p{color:#fff}
.kr-dark .kr-lead,.kr-dark .kr-card__cat{color:#C9C4BE}
.kr-dark .kr-card__img{background:#2A2826}
.kr-dark .kr-link{color:var(--kr-accent)}
.kr-bib{display:grid;grid-template-columns:.8fr 2.2fr;gap:48px;align-items:start}
.kr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.kr-chip{border:1.5px solid #4A4642;border-radius:var(--kr-r-pill);padding:8px 14px;color:#fff;text-decoration:none;font-weight:500;font-size:.92rem}
.kr-chip:hover{border-color:var(--kr-accent);color:var(--kr-accent)}
.kr-bib .kr-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.kr-bib{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.kr-bib .kr-grid{display:flex}}

/* ---------- Commander ---------- */
.kr-steps{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.kr-steps ol{list-style:none;margin:0;padding:0;counter-reset:s}
.kr-steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--kr-line)}
.kr-steps li:last-child{border-bottom:1px solid var(--kr-line)}
.kr-steps li::before{content:counter(s);font-family:var(--kr-head);font-weight:800;font-size:2.2rem;line-height:1;color:var(--kr-accent)}
.kr-steps h3{font-size:1.15rem;margin:2px 0 4px}
.kr-steps p{margin:0;color:var(--kr-muted);line-height:1.55}
.kr-pay{background:var(--kr-surface);border-radius:var(--kr-r-md);padding:28px}
.kr-pay h3{margin:0 0 12px;font-size:1.2rem}
.kr-pay ul{margin:0 0 20px;padding-left:1.1em;line-height:1.9}
@media(max-width:900px){.kr-steps{grid-template-columns:1fr;gap:28px}}

/* ---------- Recherche / CTA ---------- */
.kr-find{background:var(--kr-accent);border-radius:24px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.kr-find .kr-h2{color:var(--kr-ink)}
.kr-find p{margin:0;color:var(--kr-ink);line-height:1.6}
.kr-search{display:flex;background:#fff;border-radius:var(--kr-r-pill);padding:6px;gap:6px}
.kr-search input{flex:1;border:0!important;background:transparent!important;padding:10px 16px!important;font-size:1rem;min-width:0;box-shadow:none!important}
.kr-search button{background:var(--kr-ink)!important;color:#fff!important;border:0!important;border-radius:var(--kr-r-pill)!important;padding:10px 20px!important;font-weight:600;cursor:pointer}
.kr-find .kr-btn--wa{margin-top:14px}
@media(max-width:800px){.kr-find{grid-template-columns:1fr;padding:28px;border-radius:18px}}

/* ---------- Pied de page ---------- */
.kr-foot{background:var(--kr-surface);border-top:1px solid var(--kr-line);padding:56px 0 24px;font-size:.95rem}
.kr-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px}
.kr-foot img{max-height:72px;width:auto;margin-bottom:12px}
.kr-foot h4{font-size:1rem;margin:0 0 12px}
.kr-foot ul{list-style:none;margin:0;padding:0;line-height:2}
.kr-foot a{text-decoration:none;color:var(--kr-ink)}
.kr-foot a:hover{color:var(--kr-accent-ink)}
.kr-foot p{color:var(--kr-muted);line-height:1.6;margin:0 0 12px}
.kr-foot__bot{border-top:1px solid var(--kr-line);margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--kr-muted);font-size:.85rem}
@media(max-width:900px){.kr-foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kr-foot__grid{grid-template-columns:1fr}}

/* ---------- Contact ---------- */
.kr-contact{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.kr-contact__main{background:var(--kr-ink);color:#fff;border-radius:24px;padding:40px}
.kr-contact__main h2{color:#fff;margin-top:0}
.kr-contact__main p{color:#D8D3CD;line-height:1.6}
.kr-contact dl{margin:0}
.kr-contact dt{font-weight:700;margin-top:18px;font-family:var(--kr-head)}
.kr-contact dd{margin:4px 0 0;color:var(--kr-muted)}
@media(max-width:860px){.kr-contact{grid-template-columns:1fr}.kr-contact__main{padding:28px}}

/* ---------- WooCommerce: boutique & fiche produit ---------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important;line-height:1.3}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--kr-ink)!important;font-weight:700}
.woocommerce ul.products li.product .price ins,.woocommerce div.product p.price ins{color:var(--kr-accent-ink)!important;text-decoration:none}
.woocommerce ul.products li.product a img{border-radius:var(--kr-r-md);background:var(--kr-surface)}
.woocommerce span.onsale,.ast-onsale-card{background:var(--kr-accent)!important;color:var(--kr-ink)!important;border-radius:var(--kr-r-pill)!important;font-weight:700}
.woocommerce div.product .product_title{font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.12}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--kr-accent-ink)}
.woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:var(--kr-muted)!important}
.ast-single-product-payments,.ast-shipping-text{display:none!important}
.woocommerce-info,.woocommerce-message{border-top-color:var(--kr-accent)!important}
.woocommerce-info::before,.woocommerce-message::before{color:var(--kr-accent)!important}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],textarea,select{border-radius:var(--kr-r-sm)!important}
.woocommerce .quantity .qty{border-radius:var(--kr-r-sm)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
