/*
Theme Name: Croqua Moderne
Theme URI: https://croqua.com
Description: Thème enfant Astra moderne et One Page pour la boutique Croqua.
Author: Croqua
Version: 1.5.0
Template: astra
Text Domain: croqua-moderne
*/

:root {
  --croqua-ink: #161616;
  --croqua-green: #a8c92e;
  --croqua-green-dark: #718b12;
  --croqua-cream: #f7f2e9;
  --croqua-paper: #fffdf9;
  --croqua-muted: #68645d;
  --croqua-border: #e5dfd5;
}

html { scroll-behavior: smooth; scroll-padding-top: 98px; }
body.home { background: var(--croqua-paper); color: var(--croqua-ink); }
body.home .site-header, body.home .site-footer { display: none !important; }
body.home #content, body.home .site-content, body.home .ast-container { max-width: none; padding: 0; margin: 0; display: block; }
body.home #primary { width: 100%; margin: 0; }
body.home .entry-header { display: none; }
.croqua-page, .croqua-page * { box-sizing: border-box; }
.croqua-page { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; overflow: hidden; }
.croqua-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.croqua-announcement { height: 34px; display: grid; place-items: center; background: var(--croqua-ink); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.croqua-header { position: sticky; top: 0; z-index: 99; background: rgba(255,253,249,.94); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(0,0,0,.06); }
.croqua-nav { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.croqua-logo img { width: 164px; height: 58px; object-fit: contain; }
.croqua-menu { display: flex; gap: 32px; align-items: center; }
.croqua-menu a { color: var(--croqua-ink); font-size: 13px; font-weight: 700; text-decoration: none; position: relative; }
.croqua-menu a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -8px; height: 2px; background: var(--croqua-green); transition: right .25s; }
.croqua-menu a:hover::after, .croqua-menu a.is-active::after { right: 0; }
.croqua-cart { display: inline-flex; align-items: center; gap: 8px; color: var(--croqua-ink); font-size: 13px; font-weight: 800; text-decoration: none; }
.croqua-cart-count { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--croqua-green); }
.croqua-menu-toggle { display: none; border: 0; background: none; font-size: 25px; cursor: pointer; }
.croqua-eyebrow { margin: 0; font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.croqua-hero { min-height: 650px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-block: 58px 74px; }
.croqua-hero h1 { margin: 19px 0 27px; max-width: 650px; font-size: clamp(58px, 6.5vw, 91px); line-height: .92; letter-spacing: -.072em; }
.croqua-hero h1 em { font-family: Georgia, serif; font-weight: 400; }
.croqua-lead { max-width: 570px; color: var(--croqua-muted); font-size: 17px; line-height: 1.7; }
.croqua-actions { display: flex; align-items: center; gap: 28px; margin-top: 32px; }
.croqua-btn { display: inline-flex; justify-content: center; align-items: center; gap: 18px; padding: 16px 21px; background: var(--croqua-ink); color: #fff !important; font-size: 13px; font-weight: 800; text-decoration: none; transition: transform .2s, background .2s; }
.croqua-btn:hover { transform: translateY(-2px); background: #2b2b2b; }
.croqua-btn span { color: var(--croqua-green); }
.croqua-link { color: var(--croqua-ink); font-size: 12px; font-weight: 800; text-decoration: none; border-bottom: 1px solid #aaa; padding-bottom: 5px; }
.croqua-stats { display: flex; gap: 36px; margin-top: 48px; }
.croqua-stat { display: grid; border-left: 1px solid #ccc4b9; padding-left: 14px; }
.croqua-stat strong { font-size: 19px; }
.croqua-stat span { color: var(--croqua-muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.croqua-hero-media { position: relative; height: 555px; background: var(--croqua-cream); overflow: hidden; }
.croqua-hero-media::before { content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; background: var(--croqua-green); right: -70px; top: -70px; opacity: .82; }
.croqua-hero-media img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: contain; }
.croqua-badge { position: absolute; z-index: 3; left: 25px; top: 25px; width: 100px; height: 100px; display: grid; place-items: center; text-align: center; border-radius: 50%; background: #fff; box-shadow: 0 10px 25px #0002; transform: rotate(-9deg); font-size: 10px; font-weight: 900; line-height: 1.3; }
.croqua-marquee { padding: 14px 0; background: var(--croqua-green); overflow: hidden; white-space: nowrap; text-align: center; font-size: 12px; font-weight: 900; letter-spacing: .06em; }
.croqua-section { padding-block: 105px; }
.croqua-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 46px; }
.croqua-heading h2 { margin: 11px 0 0; font-size: clamp(40px, 5vw, 55px); letter-spacing: -.06em; }
.croqua-heading > p { max-width: 420px; color: var(--croqua-muted); line-height: 1.65; }
.croqua-categories { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 70px; }
.croqua-category { position: relative; min-height: 340px; display: flex; flex-direction: column; justify-content: end; padding: 24px; overflow: hidden; background: #eee; text-decoration: none; }
.croqua-category img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.croqua-category::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, #000c); }
.croqua-category:hover img { transform: scale(1.04); }
.croqua-category-content { position: relative; z-index: 2; color: #fff; }
.croqua-category-content h3 { margin: 0 0 4px; color: #fff; font-size: 22px; }
.croqua-category-content span { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.croqua-products { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.croqua-product { display: flex; flex-direction: column; border: 1px solid var(--croqua-border); background: #fff; }
.croqua-product-media { position: relative; aspect-ratio: 1; overflow: hidden; background: #f5f3ef; }
.croqua-product-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.croqua-product:hover .croqua-product-media img { transform: scale(1.025); }
.croqua-product-info { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.croqua-product-info h3 { margin: 0 0 6px; font-size: 18px; }
.croqua-product-info h3 a { color: var(--croqua-ink); text-decoration: none; }
.croqua-weight { margin: 0; color: var(--croqua-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.croqua-product-info .price { margin-top: auto; padding-top: 18px; color: var(--croqua-ink); font-size: 17px; font-weight: 800; }
.croqua-product-bottom { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; margin-top: 14px; }
.croqua-add { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 12px; background: var(--croqua-green); color: var(--croqua-ink) !important; font-size: 11px; line-height: 1; font-weight: 900; text-decoration: none; white-space: nowrap; }
.croqua-product-bottom .added_to_cart { grid-column: 1 / -1; display: block; padding: 8px 10px; background: var(--croqua-ink); color: #fff; text-align: center; font-size: 11px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.croqua-story { background: var(--croqua-cream); }
.croqua-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 92px; align-items: center; }
.croqua-story-media { position: relative; min-height: 560px; display: grid; place-items: center; background: var(--croqua-green); overflow: hidden; }
.croqua-story-media img { position: relative; z-index: 2; width: 85%; max-height: 520px; object-fit: contain; }
.croqua-story-media::before, .croqua-story-media::after { content: ""; position: absolute; width: 520px; height: 250px; border: 1px solid #5b6c1d; border-radius: 50%; transform: rotate(28deg); }
.croqua-story-media::after { transform: rotate(-28deg); }
.croqua-story-copy h2 { margin: 17px 0 28px; font-size: 53px; line-height: 1.03; letter-spacing: -.06em; }
.croqua-story-copy h2 em { font-family: Georgia, serif; font-weight: 400; }
.croqua-story-copy > p:not(.croqua-eyebrow) { color: var(--croqua-muted); line-height: 1.7; }
.croqua-steps { list-style: none; margin: 25px 0 0; padding: 0; }
.croqua-step { display: flex; gap: 20px; padding: 18px 0; border-bottom: 1px solid #d4cec4; }
.croqua-step > span { color: var(--croqua-green-dark); font-size: 10px; font-weight: 900; }
.croqua-step h3 { margin: 0 0 4px; font-size: 16px; }
.croqua-step p { margin: 0; color: var(--croqua-muted); font-size: 12px; }
.croqua-values { text-align: center; }
.croqua-values h2 { max-width: 700px; margin: 13px auto 55px; font-size: 51px; letter-spacing: -.06em; }
.croqua-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: left; }
.croqua-value { padding: 28px; border-top: 1px solid #d9d3c9; }
.croqua-value-icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--croqua-green); font-size: 24px; }
.croqua-value h3 { margin: 22px 0 10px; font-size: 18px; }
.croqua-value p { color: var(--croqua-muted); font-size: 12px; line-height: 1.7; }
.croqua-contact { padding: 65px 0; background: var(--croqua-green); }
.croqua-contact-inner { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.croqua-contact h2 { margin: 7px 0 0; font-size: 36px; letter-spacing: -.045em; }
.croqua-contact-form { display: flex; width: min(500px, 100%); }
.croqua-contact-form input { width: 100%; border: 0; border-radius: 0; padding: 16px; background: #fff; }
.croqua-contact-form button { border: 0; padding: 16px 20px; background: var(--croqua-ink); color: #fff; font-weight: 800; white-space: nowrap; }
.croqua-footer { padding: 70px 0 25px; background: var(--croqua-ink); color: #fff; }
.croqua-footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 50px; }
.croqua-footer-logo { width: 175px; padding: 6px; background: #fff; }
.croqua-footer-logo img { display: block; width: 100%; }
.croqua-footer h3 { margin: 0 0 18px; color: #888; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.croqua-footer p, .croqua-footer a { display: block; margin: 0 0 10px; color: #c7c7c7; font-size: 12px; text-decoration: none; }
.croqua-footer-note { margin-top: 50px; padding-top: 20px; border-top: 1px solid #333; display: flex; justify-content: space-between; color: #777; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

/* Boutique WooCommerce en français et dans l'identité Croqua */
body:not(.home) .site-header, body:not(.home) .site-footer { display: none !important; }
.croqua-global-header { display: block !important; }
.woocommerce-shop .site-content, .tax-product_cat .site-content, .single-product .site-content,
.woocommerce-cart .site-content, .woocommerce-checkout .site-content, .woocommerce-account .site-content { background: var(--croqua-paper); }
.woocommerce-shop .site-main, .tax-product_cat .site-main, .single-product .site-main,
.woocommerce-cart .site-main, .woocommerce-checkout .site-main, .woocommerce-account .site-main { padding-block: 55px 80px; }
.woocommerce-products-header__title.page-title { margin-bottom: 35px; color: var(--croqua-ink); font-size: clamp(40px, 5vw, 60px); letter-spacing: -.055em; }
.woocommerce .woocommerce-breadcrumb { color: var(--croqua-muted); font-size: 11px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--croqua-green-dark); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 0 20px; border: 1px solid var(--croqua-border); background: #fff; overflow: hidden; }
.woocommerce ul.products li.product a img { margin: 0 0 18px; aspect-ratio: 1; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin-left: 18px; margin-right: 18px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--croqua-ink); font-size: 18px; }
.woocommerce ul.products li.product .price { color: var(--croqua-ink); font-size: 16px; font-weight: 800; }
.woocommerce ul.products li.product .button, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit { border-radius: 0; background: var(--croqua-green); color: var(--croqua-ink); font-size: 12px; font-weight: 900; }
.woocommerce ul.products li.product .added_to_cart { display: block; margin-top: 10px; color: var(--croqua-green-dark); font-size: 12px; font-weight: 800; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: 7px 10px; border-radius: 0; background: var(--croqua-ink); color: #fff; line-height: 1; }
.woocommerce table.shop_table { border-color: var(--croqua-border); border-radius: 0; background: #fff; }
.woocommerce-cart .cart_totals, .woocommerce-checkout #order_review, .woocommerce-account .woocommerce-MyAccount-content { padding: 24px; background: #fff; border: 1px solid var(--croqua-border); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row select { border: 1px solid var(--croqua-border); border-radius: 0; background: #fff; }

@media (max-width: 960px) {
  .croqua-menu-toggle { display: block; }
  .croqua-menu { position: absolute; left: 0; right: 0; top: 82px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 18px 24px; background: #fff; box-shadow: 0 16px 30px #0002; }
  .croqua-menu.is-open { display: flex; }
  .croqua-menu a { padding: 12px 0; }
  .croqua-hero, .croqua-story-grid { grid-template-columns: 1fr; }
  .croqua-hero-media { height: 500px; }
  .croqua-products, .croqua-categories, .croqua-value-grid { grid-template-columns: repeat(2, 1fr); }
  .croqua-footer-grid { grid-template-columns: repeat(2, 1fr); }
  .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
  .croqua-contact-inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  .croqua-shell { width: calc(100% - 28px); }
  .croqua-announcement { font-size: 8px; }
  .croqua-logo img { width: 136px; }
  .croqua-cart { font-size: 0; }
  .croqua-hero { padding-block: 35px 60px; }
  .croqua-hero h1 { font-size: 54px; }
  .croqua-actions { align-items: flex-start; flex-direction: column; }
  .croqua-stats { gap: 14px; }
  .croqua-hero-media { height: 390px; }
  .croqua-section { padding-block: 72px; }
  .croqua-heading { display: block; }
  .croqua-heading h2, .croqua-values h2 { font-size: 39px; }
  .croqua-heading > p { margin-top: 18px; }
  .croqua-products, .croqua-categories, .croqua-value-grid { grid-template-columns: 1fr; }
  .croqua-category { min-height: 300px; }
  .croqua-story-media { min-height: 420px; }
  .croqua-story-copy h2 { font-size: 41px; }
  .croqua-contact h2 { font-size: 29px; }
  .croqua-contact-form { display: block; }
  .croqua-contact-form button { width: 100%; }
  .croqua-footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 20px; }
  .croqua-footer-note { display: grid; gap: 9px; }
  .woocommerce ul.products { grid-template-columns: 1fr; }
}
