/*
Theme Name: Atelier Pêche
Theme URI: https://example.com/atelierpeche
Author: Atelier Pêche Studio
Description: Thème WooCommerce français pour les équipements de pêche, avec navigation par catégories et mise en page responsive.
Version: 1.0.4
Text Domain: atelierpeche
*/

:root { --ink:#0b2239; --forest:#123a50; --paper:#f3eee5; --stage:#eee9df; --line:#d8d4cb; --sage:#dfe9e8; --rust:#d8684c; --muted:#64717a; --blue:#1c6e8c; --serif: Georgia, 'Times New Roman', serif; --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.55; }
img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button, input, select { font:inherit; }
button { cursor:pointer; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.atelierpeche-container { width:min(1320px, calc(100% - 64px)); margin-inline:auto; }
.atelierpeche-header { position:relative; z-index:10; border-bottom:1px solid rgba(255,255,255,.14); background:var(--ink); color:#fff; }
.atelierpeche-header__inner { position:relative; min-height:78px; display:flex; align-items:center; gap:25px; }
.atelierpeche-brand { flex:0 0 auto; display:flex; align-items:center; }
.site-logo-image { width:auto; height:auto; max-width:180px; max-height:55px; object-fit:contain; }
.site-logo-text, .atelierpeche-footer__logo { font: 34px/1 var(--serif); letter-spacing:-.04em; }
.site-logo-text { color:#fff; }
.atelierpeche-nav { display:flex; align-items:center; gap:8px; flex:1; min-width:0; }
.atelierpeche-nav__item { position:relative; }
.atelierpeche-nav__link { display:inline-flex; align-items:center; gap:5px; padding:13px 9px; font-size:13px; white-space:nowrap; }
.atelierpeche-nav__link:hover, .atelierpeche-nav__link:focus-visible, .atelierpeche-footer a:hover { color:var(--rust); }
.atelierpeche-nav__chevron { display:inline-block; width:7px; height:7px; margin:-4px 0 0 2px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); transition:transform .18s ease, margin .18s ease; }
.atelierpeche-nav__item:hover .atelierpeche-nav__chevron, .atelierpeche-nav__item:focus-within .atelierpeche-nav__chevron { margin-top:4px; transform:rotate(225deg); }
.atelierpeche-nav__panel { position:absolute; top:100%; left:0; z-index:20; display:none; min-width:230px; padding:10px; background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:0 16px 32px rgba(11,34,57,.14); }
.atelierpeche-nav__item:hover .atelierpeche-nav__panel, .atelierpeche-nav__item:focus-within .atelierpeche-nav__panel { display:block; }
.atelierpeche-nav__panel a { display:flex; padding:9px 10px; font-size:13px; white-space:nowrap; }
.atelierpeche-nav__panel a:hover, .atelierpeche-nav__panel a:focus-visible { background:var(--paper); color:var(--blue); }
.atelierpeche-search { position:absolute; top:100%; right:0; z-index:30; display:none; width:min(320px, calc(100vw - 32px)); padding:8px; background:var(--paper); border:1px solid var(--line); box-shadow:0 16px 32px rgba(11,34,57,.16); }
.atelierpeche-search.is-open { display:block; }
.atelierpeche-search input { width:100%; border:1px solid rgba(11,34,57,.28); background:#fff; padding:10px 12px 10px 38px; color:var(--ink); border-radius:2px; }
.atelierpeche-search .atelierpeche-icon { position:absolute; left:19px; top:18px; color:var(--ink); }
.atelierpeche-header__actions { display:flex; align-items:center; gap:15px; flex:0 0 auto; }
.atelierpeche-header__action, .atelierpeche-menu-toggle { position:relative; display:inline-flex; border:0; background:none; padding:4px; color:#fff; }
.atelierpeche-icon { width:21px; height:21px; display:inline-flex; }
.atelierpeche-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.atelierpeche-cart-count { position:absolute; top:-7px; right:-7px; min-width:17px; height:17px; padding:0 4px; border-radius:50%; background:var(--rust); color:#fff; font-size:10px; line-height:17px; text-align:center; }
.atelierpeche-cart-count[hidden] { display:none; }
.atelierpeche-menu-toggle, .atelierpeche-mobile-nav { display:none; }
.atelierpeche-main { min-height:40vh; }
.atelierpeche-banner { position:relative; width:100%; margin:0; overflow:hidden; background:var(--stage); line-height:0; }
.atelierpeche-banner img { display:block; width:100%; height:clamp(280px, 42vw, 620px); max-height:none; object-fit:cover; object-position:center; }
.atelierpeche-section { padding:58px 0 0; }
.atelierpeche-section__heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:20px; }
.atelierpeche-section__heading h2, .atelierpeche-page-header h1, .atelierpeche-content h1, .atelierpeche-empty h1 { margin:0; font: 37px/1.1 var(--serif); letter-spacing:-.03em; font-weight:500; }
.atelierpeche-section__heading a { display:inline-flex; align-items:center; gap:5px; font-size:13px; }
.atelierpeche-section__heading a .atelierpeche-icon { width:15px; height:15px; }
.atelierpeche-category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
.atelierpeche-category-card { background:var(--stage); min-width:0; }
.atelierpeche-category-card__image { aspect-ratio:1.1; overflow:hidden; background:#e5e1d7; }
.atelierpeche-category-card__image img { width:100%; height:100%; object-fit:cover; }
.atelierpeche-category-card__placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#d7ddd1,#ebe8df); }
.atelierpeche-category-card__label { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 13px; font-size:13px; }
.atelierpeche-category-card__label .atelierpeche-icon { width:14px; height:14px; }
.atelierpeche-product-grid { display:grid; gap:11px; }
.atelierpeche-product-grid--featured { grid-template-columns:repeat(4,1fr); }
.atelierpeche-product-grid--four { grid-template-columns:repeat(4,1fr); }
.atelierpeche-product-card { min-width:0; }
.atelierpeche-product-card__image { display:block; position:relative; background:var(--stage); aspect-ratio:1 / 1; overflow:hidden; }
.atelierpeche-product-card__image img { width:100%; height:100%; object-fit:contain; }
.atelierpeche-badge { position:absolute; top:10px; left:10px; z-index:1; padding:4px 7px; background:var(--rust); color:#fff; font-size:11px; line-height:1; }
.atelierpeche-product-card__body { padding:10px 1px 0; }
.atelierpeche-product-card h3 { margin:0 0 4px; font-size:14px; line-height:1.35; font-weight:500; }
.atelierpeche-price { font-size:14px; font-weight:650; color:var(--ink); }
.atelierpeche-price del { color:#888; font-weight:400; margin-right:4px; }
.atelierpeche-stock { margin:4px 0 0; color:var(--muted); font-size:12px; }
.atelierpeche-stock--out { color:var(--rust); }
.atelierpeche-footer { margin-top:80px; padding:54px 0 18px; background:var(--forest); color:#f4f1ea; }
.atelierpeche-footer__grid { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:45px; }
.atelierpeche-footer h2 { margin:0 0 15px; font-size:13px; font-weight:600; letter-spacing:.04em; }
.atelierpeche-footer ul { list-style:none; padding:0; margin:0; }
.atelierpeche-footer li { margin:5px 0; font-size:13px; }
.atelierpeche-footer__brand p { max-width:280px; color:#c9d2cc; font-size:13px; margin:14px 0 0; }
.atelierpeche-footer__detail { margin:3px 0 !important; }
.atelierpeche-social-list { display:flex; gap:13px; }
.atelierpeche-social { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid rgba(255,255,255,.65); border-radius:50%; font-size:15px; }
.atelierpeche-footer__bottom { margin-top:38px; padding-top:13px; border-top:1px solid rgba(255,255,255,.28); color:#c9d2cc; font-size:12px; }
.atelierpeche-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:22px 0 28px; color:var(--muted); font-size:13px; }
.atelierpeche-breadcrumbs a:hover { color:var(--ink); text-decoration:underline; }
.atelierpeche-page-header { padding-bottom:28px; }
.atelierpeche-page-header .term-description, .atelierpeche-archive-description { color:var(--muted); margin-top:12px; max-width:700px; }
.atelierpeche-toolbar { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; margin-bottom:18px; font-size:13px; }
.atelierpeche-toolbar .woocommerce-ordering { margin:0; }
.atelierpeche-toolbar select { border:1px solid var(--line); background:transparent; padding:8px 28px 8px 10px; color:var(--ink); }
.woocommerce ul.products, .woocommerce-page ul.products { margin:0 !important; display:grid; grid-template-columns:repeat(4,1fr); gap:32px 11px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none !important; }
.woocommerce ul.products li.product { width:auto !important; float:none !important; margin:0 !important; }
.woocommerce nav.woocommerce-pagination { margin-top:44px; text-align:center; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:inline-flex; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width:34px; padding:8px 10px; border:1px solid var(--line); color:var(--ink); }
.woocommerce nav.woocommerce-pagination ul li span.current { background:var(--forest); color:#fff; }
.atelierpeche-product-single .atelierpeche-breadcrumbs { margin-bottom:26px; }
.atelierpeche-product-detail__grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr); gap:60px; align-items:start; }
.atelierpeche-product-detail__gallery .woocommerce-product-gallery { position:relative; width:100% !important; float:none !important; margin:0 !important; background:transparent !important; }
.atelierpeche-product-detail__gallery .woocommerce-product-gallery__wrapper, .woocommerce-product-gallery__image, .woocommerce-product-gallery__image a { background:transparent !important; text-align:center; }
.woocommerce-product-gallery__image { position:relative; display:flex !important; align-items:center; justify-content:center; }
.woocommerce-product-gallery__image a { display:block; width:100%; }
.woocommerce-product-gallery__image img { display:block; width:auto !important; max-width:82%; max-height:380px; height:auto; margin:0 auto; object-fit:contain; }
.atelierpeche-product-detail__gallery .woocommerce-product-gallery__trigger { top:12px !important; right:9% !important; width:34px !important; height:34px !important; background:#fff !important; box-shadow:0 4px 12px rgba(11,34,57,.16); }
.atelierpeche-product-detail__gallery .woocommerce-product-gallery__trigger::before { left:8px !important; top:8px !important; }
.atelierpeche-product-detail__gallery .woocommerce-product-gallery__trigger::after { left:21px !important; top:18px !important; }
.flex-control-thumbs { display:flex; gap:10px; margin-top:10px !important; overflow-x:auto; }
.flex-control-thumbs li { flex:0 0 86px; }
.flex-control-thumbs img { width:100%; aspect-ratio:1; object-fit:contain; background:transparent !important; }
.atelierpeche-product-detail__summary .product_title { margin:0 0 14px; font:500 30px/1.15 var(--serif); color:var(--ink); }
.atelierpeche-product-detail__summary .price { margin:0 0 14px; color:var(--forest); font-size:25px; font-weight:650; }
.atelierpeche-product-detail__summary .woocommerce-product-details__short-description { color:var(--muted); }
.atelierpeche-product-detail__summary form.cart { display:flex; flex-wrap:wrap; gap:10px; margin:25px 0; }
.atelierpeche-product-detail__summary form.cart .quantity { flex:0 0 100px; }
.atelierpeche-product-detail__summary form.cart .quantity input { width:100%; border:1px solid var(--line); padding:12px 8px; text-align:center; background:transparent; }
.atelierpeche-product-detail__summary form.cart .single_add_to_cart_button, .atelierpeche-button { min-height:47px; border:0; padding:12px 20px; background:var(--rust); color:#fff; font-weight:650; }
.atelierpeche-product-detail__summary form.cart .single_add_to_cart_button:hover, .atelierpeche-button:hover { background:#b84f38; color:#fff; }
.atelierpeche-product-detail__tabs { margin-top:50px; }
.woocommerce-tabs ul.tabs { padding:0 !important; margin:0 0 24px !important; display:flex; gap:28px; border-bottom:1px solid var(--line); }
.woocommerce-tabs ul.tabs::before { display:none !important; }
.woocommerce-tabs ul.tabs li { border:0 !important; background:none !important; padding:0 0 12px !important; margin:0 !important; }
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--forest) !important; }
.woocommerce-tabs .panel h2 { font:500 27px/1.2 var(--serif); }
.atelierpeche-content { padding-top:45px; }
.atelierpeche-content-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:52px; align-items:start; }
.atelierpeche-catalog-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:start; }
.atelierpeche-catalog-layout.has-filters { grid-template-columns:220px minmax(0,1fr); }
.atelierpeche-catalog-filters { position:sticky; top:22px; }
.atelierpeche-filter-widget { padding:16px 0; border-bottom:1px solid var(--line); }
.atelierpeche-filter-widget h2 { margin:0 0 12px; font-size:14px; }
.atelierpeche-filter-widget ul { list-style:none; margin:0; padding:0; }
.atelierpeche-filter-widget li { margin:7px 0; font-size:13px; }
.atelierpeche-content-main { min-width:0; }
.atelierpeche-page-sidebar { display:grid; gap:16px; position:sticky; top:24px; }
.atelierpeche-sidebar-card { border:1px solid var(--line); background:var(--stage); padding:22px 20px; }
.atelierpeche-sidebar-card h2 { margin:0 0 15px; font:500 24px/1.2 var(--serif); }
.atelierpeche-sidebar-card h3 { margin:24px 0 11px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.atelierpeche-sidebar-card .atelierpeche-social-list { flex-wrap:wrap; gap:9px; }
.atelierpeche-sidebar-card .atelierpeche-social { border-color:var(--forest); color:var(--forest); }
.atelierpeche-share-list { display:grid; gap:8px; }
.atelierpeche-share { display:flex; align-items:center; gap:9px; padding:8px 10px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:13px; }
.atelierpeche-share:hover { border-color:var(--forest); color:var(--rust); }
.atelierpeche-share > span:first-child { display:inline-flex; width:20px; height:20px; align-items:center; justify-content:center; border-radius:50%; background:var(--forest); color:#fff; font-size:11px; font-weight:700; }
.atelierpeche-contact-card ul { list-style:none; padding:0; margin:0; display:grid; gap:13px; }
.atelierpeche-contact-card li { display:grid; gap:2px; font-size:13px; overflow-wrap:anywhere; }
.atelierpeche-contact-card a:hover { color:var(--rust); }
.atelierpeche-contact-label { color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.atelierpeche-content h1 { margin-bottom:20px; }
.atelierpeche-editor-content { max-width:780px; }
.atelierpeche-post-list { display:grid; gap:18px; }
.atelierpeche-post-list article { border-bottom:1px solid var(--line); padding-bottom:18px; }
.atelierpeche-post-list h2 { margin:0 0 4px; font:500 24px var(--serif); }
.atelierpeche-meta { color:var(--muted); font-size:13px; }
.atelierpeche-empty { padding:110px 0; text-align:center; }
.atelierpeche-eyebrow { color:var(--rust); letter-spacing:.1em; }
.atelierpeche-empty p:not(.atelierpeche-eyebrow) { color:var(--muted); margin:12px auto 25px; }
.atelierpeche-empty-text { color:var(--muted); padding:30px 0; }
.atelierpeche-lightbox { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:5vw; background:rgba(243,238,229,.96); }
.atelierpeche-lightbox img { max-width:100%; max-height:90vh; width:auto; height:auto; object-fit:contain; background:transparent; }
.atelierpeche-lightbox button { position:absolute; top:20px; right:25px; border:0; background:none; color:var(--ink); font-size:36px; line-height:1; }
.atelierpeche-site .pswp__bg { background:var(--paper) !important; opacity:1 !important; }
.atelierpeche-lightbox-open { overflow:hidden; }
@media (max-width: 1100px) { .atelierpeche-header__inner { gap:16px; } .atelierpeche-nav { gap:12px; } .atelierpeche-nav a { font-size:12px; } .atelierpeche-footer__grid { gap:25px; } }
@media (max-width: 840px) { .atelierpeche-container { width:min(100% - 32px, 680px); } .atelierpeche-nav, .atelierpeche-search { display:none; } .atelierpeche-search.is-open { display:block; position:absolute; left:16px; right:16px; top:68px; width:auto; z-index:30; padding:8px; background:var(--paper); border:1px solid var(--line); } .atelierpeche-header__inner { min-height:68px; justify-content:space-between; } .atelierpeche-header__actions { margin-left:auto; } .atelierpeche-menu-toggle, .atelierpeche-mobile-search { display:inline-flex; } .atelierpeche-mobile-nav { display:none; border-top:1px solid var(--line); } .atelierpeche-mobile-nav.is-open { display:block; } .atelierpeche-mobile-nav .atelierpeche-container { display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px; } .atelierpeche-mobile-nav a { padding:13px 0; border-bottom:1px solid var(--line); font-size:14px; } .atelierpeche-mobile-nav__child { padding-left:12px !important; color:var(--muted); font-size:13px !important; } .atelierpeche-category-grid { grid-template-columns:repeat(3,1fr); } .atelierpeche-product-grid--featured, .atelierpeche-product-grid--four, .woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(2,1fr); } .atelierpeche-product-detail__grid { grid-template-columns:1fr; gap:34px; } .atelierpeche-product-detail__summary .product_title { font-size:25px; } .atelierpeche-footer__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 520px) { body { font-size:14px; } .atelierpeche-container { width:calc(100% - 28px); } .site-logo-text { font-size:29px; } .atelierpeche-header__actions { gap:8px; } .atelierpeche-header__action, .atelierpeche-menu-toggle { padding:5px 3px; } .atelierpeche-section { padding-top:40px; } .atelierpeche-section__heading h2, .atelierpeche-page-header h1, .atelierpeche-content h1, .atelierpeche-empty h1 { font-size:30px; } .atelierpeche-category-grid { grid-template-columns:repeat(2,1fr); gap:8px; } .atelierpeche-category-card__label { padding:9px 10px; font-size:12px; } .atelierpeche-product-grid { gap:24px 8px; } .atelierpeche-product-card h3, .atelierpeche-price { font-size:13px; } .atelierpeche-footer { margin-top:56px; padding-top:38px; } .atelierpeche-footer__grid { grid-template-columns:1fr 1fr; gap:28px 18px; } .atelierpeche-footer__brand { grid-column:1/-1; } .atelierpeche-footer__logo { font-size:30px; } .atelierpeche-breadcrumbs { margin:16px 0 22px; font-size:12px; } .atelierpeche-product-detail__summary .product_title { font-size:22px; } .atelierpeche-product-detail__summary .price { font-size:22px; } .woocommerce-tabs ul.tabs { gap:18px; overflow-x:auto; white-space:nowrap; } .woocommerce-product-gallery__image img { max-width:90%; max-height:300px; } .atelierpeche-product-detail__gallery .woocommerce-product-gallery__trigger { right:5% !important; } }
@media (max-width: 840px) { .atelierpeche-content-layout, .atelierpeche-catalog-layout.has-filters { grid-template-columns:1fr; gap:34px; } .atelierpeche-page-sidebar, .atelierpeche-catalog-filters { position:static; } }

