/*
Theme Name: Instruments Lite
Theme URI: https://www.instrumentsenligne.fr/
Author: OpenAI
Description: Lightweight WooCommerce theme for Instruments En Ligne. No page builder and no external CSS frameworks.
Version: 1.0.4
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: instruments-lite
License: GPL-2.0-or-later
*/

:root {
  --iel-accent: #08a9e6;
  --iel-accent-dark: #0789bc;
  --iel-text: #161616;
  --iel-muted: #6b7280;
  --iel-border: #e5e7eb;
  --iel-bg: #ffffff;
  --iel-soft: #f7f9fb;
  --iel-max: 1180px;
  --iel-radius: 8px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--iel-bg);
  color: var(--iel-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--iel-accent-dark); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Amazon / affiliate disclosure details shown directly below the WooCommerce price. */
.iel-product-disclaimer { margin: -6px 0 14px; line-height: 1.2; }
.iel-product-disclaimer a { font-size: 8pt; font-weight: 400; }
img { max-width: 100%; height: auto; }
.container { width: min(calc(100% - 32px), var(--iel-max)); margin-inline: auto; }

.site-header { border-bottom: 1px solid var(--iel-border); background: #fff; }
.header-main { display: grid; grid-template-columns: 280px minmax(240px, 1fr) auto; gap: 24px; align-items: center; padding: 18px 0; }
.site-logo img { display: block; max-height: 92px; width: auto; }
.site-title { font-size: 1.35rem; font-weight: 700; }
.product-search { position: relative; }
.product-search form { display: flex; }
.product-search input[type="search"] { width: 100%; min-height: 44px; border: 1px solid var(--iel-border); border-right: 0; border-radius: var(--iel-radius) 0 0 var(--iel-radius); padding: 0 14px; font: inherit; }
.product-search button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 0 var(--iel-radius) var(--iel-radius) 0; background: var(--iel-accent); color: #fff; font-weight: 700; cursor: pointer; }
.header-cart { white-space: nowrap; font-weight: 700; }

.primary-nav { background: #111; position: relative; z-index: 50; }
.primary-nav ul { list-style: none; margin: 0; padding: 0; }
.primary-nav > .container > ul,
.primary-nav > .container > .menu { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; }
.primary-nav li { position: relative; margin: 0; }
.primary-nav a { display: block; color: #fff; padding: 13px 15px; font-size: .95rem; line-height: 1.35; white-space: nowrap; }
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.primary-nav .current-menu-ancestor > a { background: var(--iel-accent); text-decoration: none; }

/* Keep child menu items as real dropdowns instead of letting every level wrap
   into the main navigation bar. */
.primary-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 230px;
  max-width: 340px;
  background: #171717;
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  z-index: 100;
}
.primary-nav .sub-menu li { width: 100%; }
.primary-nav .sub-menu a { white-space: normal; padding: 11px 15px; }
.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu { display: block; }
.primary-nav .sub-menu .sub-menu { top: 0; left: 100%; }

.site-main { padding: 34px 0 52px; min-height: 50vh; }
.content-area { width: min(calc(100% - 32px), var(--iel-max)); margin-inline: auto; }
.entry-title, .woocommerce-products-header__title.page-title { line-height: 1.2; margin-top: 0; }

.button, button, input[type="submit"], .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border: 0;
  border-radius: var(--iel-radius);
  background: var(--iel-accent);
  color: #fff;
  padding: .75em 1.15em;
  font-weight: 700;
  cursor: pointer;
}
.button:hover, button:hover, input[type="submit"]:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--iel-accent-dark); color: #fff; text-decoration: none; }

.woocommerce div.product { display: flow-root; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { margin-bottom: 2.2rem; }
.woocommerce div.product .product_title { font-size: clamp(1.7rem, 3vw, 2.35rem); margin-bottom: .5rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #111; font-size: 1.45rem; font-weight: 700; }
.woocommerce-product-details__short-description { color: #333; }
.woocommerce div.product form.cart { display: flex; gap: 10px; align-items: center; }
.woocommerce .quantity .qty { min-height: 42px; border: 1px solid var(--iel-border); border-radius: var(--iel-radius); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding-left: 0; border-bottom: 1px solid var(--iel-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 0; background: transparent; margin: 0 6px 0 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 11px 15px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #111; border-bottom: 3px solid var(--iel-accent); }

.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; border: 1px solid var(--iel-border); border-radius: var(--iel-radius); padding: 14px; background: #fff; }
.woocommerce ul.products li.product a img { margin-bottom: 12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; line-height: 1.35; }
.woocommerce ul.products li.product .price { color: #111; font-weight: 700; }

.woocommerce-message, .woocommerce-info { border-top-color: var(--iel-accent); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--iel-accent); }
.woocommerce table.shop_table { border-color: var(--iel-border); border-radius: var(--iel-radius); }

.site-footer { border-top: 4px solid var(--iel-accent); background: #1b639b; color: #fff; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.footer-inner { padding: 30px 0; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.footer-inner p { margin: 0; }

@media (max-width: 900px) {
  .header-main { grid-template-columns: 1fr auto; }
  .product-search { grid-column: 1 / -1; grid-row: 2; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .header-main { grid-template-columns: 1fr; gap: 14px; }
  .header-cart { justify-self: start; }
  .primary-nav > .container > ul,
  .primary-nav > .container > .menu { display: block; }
  .primary-nav a { white-space: normal; }
  .primary-nav .sub-menu,
  .primary-nav .sub-menu .sub-menu {
    display: block;
    position: static;
    min-width: 0;
    max-width: none;
    box-shadow: none;
    background: #1b1b1b;
    padding-left: 14px;
  }
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce div.product form.cart { align-items: stretch; flex-wrap: wrap; }
}
