/*
Theme Name: Emmanuel Gill
Description: Thème de staging léger pour Emmanuel Gill Editions.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: emmanuel-gill
*/

:root { --eg-ink:#171717; --eg-paper:#fffdf8; --eg-accent:#c34b3e; --eg-line:#dedbd4; }
body { background:var(--eg-paper); color:var(--eg-ink); }
a { color:inherit; text-underline-offset:.18em; }
.eg-site-header, .eg-site-footer { border-color:var(--eg-line); }
.eg-site-header { border-bottom:1px solid var(--eg-line); padding-block:clamp(1rem,2vw,1.5rem); }
.eg-site-header__inner, .eg-site-footer__inner { align-items:center; column-gap:2rem; row-gap:1.25rem; }
.eg-brand { display:grid; gap:.1rem; }
.eg-wordmark { font-weight:700; letter-spacing:.08em; margin:0; text-transform:uppercase; }
.eg-brand__tagline { color:#625f59; font-size:.72rem; letter-spacing:.08em; margin:0; text-transform:uppercase; }
.eg-primary-navigation .wp-block-navigation__container { column-gap:clamp(.8rem,1.8vw,1.8rem); row-gap:.65rem; }
.eg-primary-navigation .wp-block-navigation-item__content { font-size:.82rem; font-weight:700; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; }
.eg-primary-navigation .wp-block-navigation-item__content:hover { color:var(--eg-accent); }
.eg-site-footer { border-top:1px solid var(--eg-line); margin-top:clamp(4rem,8vw,8rem); padding-block:clamp(2rem,4vw,3.5rem) 1.5rem; }
.eg-site-footer__brand { font-size:.9rem; font-weight:700; letter-spacing:.08em; margin:0; text-transform:uppercase; }
.eg-footer-navigation .wp-block-navigation__container { column-gap:1.25rem; row-gap:.75rem; }
.eg-footer-navigation .wp-block-navigation-item__content { color:#625f59; font-size:.84rem; text-decoration:none; }
.eg-footer-navigation .wp-block-navigation-item__content:hover { color:var(--eg-ink); text-decoration:underline; }
.eg-site-footer__copyright { border-top:1px solid var(--eg-line); color:#625f59; font-size:.78rem; margin:1.5rem 0 0; padding-top:1.25rem; }
.product-sku { color:#6b6863; font-size:.85rem; margin-top:.45rem; }
.egc-selected-photo { display:grid; gap:.5rem; margin:1rem 0; padding:1rem; border-left:.3rem solid var(--eg-accent); background:#f3f1ed; }
.egc-selected-photo strong { font-size:.75rem; letter-spacing:.06em; }
.egc-selected-photo span { color:var(--eg-accent); font-size:1.1rem; font-weight:700; }
.egc-selected-photo small { color:#615e59; }
.egc-selected-photo img { width:11rem; max-width:100%; border:1px solid var(--eg-line); }
.eg-gallery-intro { margin-block:1.25rem 3rem; padding-left:1.25rem; border-left:.3rem solid var(--eg-ink); font-size:1.15rem; }
.eg-gallery-collection { margin-block:4rem; }
.eg-gallery-collection h2 { margin-bottom:1.25rem; font-size:1.2rem; letter-spacing:.08em; text-transform:uppercase; }
.eg-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:1rem; }
.eg-gallery-item { margin:0; }
.eg-gallery-card { display:block; overflow:hidden; background:#eeece7; aspect-ratio:1 / 1.25; }
.eg-gallery-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.eg-gallery-card:hover img, .eg-gallery-card:focus-visible img { transform:scale(1.03); }
.eg-gallery-item figcaption { margin-top:.55rem; }
.eg-gallery-buy { font-size:.85rem; font-weight:700; text-decoration:none; }
.eg-gallery-buy:hover, .eg-gallery-buy:focus-visible { text-decoration:underline; }
.single-product div.product .summary { width:48%; }
.eg-photo-in-gallery .wp-block-post-featured-image { display:none; }
.eg-photo-in-gallery .wp-block-woocommerce-product-image img,
.eg-photo-in-gallery .woocommerce-product-gallery img,
.eg-photo-in-gallery .wc-block-components-product-image img { object-fit:contain; background:#eeece7; }
.single-product .product_title { font-size:clamp(2rem,4vw,3.5rem); line-height:1.08; }
.single-product .price { color:var(--eg-accent); font-size:1.5rem; font-weight:700; }
.single-product form.cart { padding-top:1.25rem; border-top:1px solid var(--eg-line); }
.single-product .single_add_to_cart_button { padding:.85rem 1.2rem; }
.eg-photo-viewer { align-items:center; background:rgba(0,0,0,.9); cursor:zoom-out; display:flex; inset:0; justify-content:center; padding:2rem; position:fixed; z-index:999999; }
.eg-photo-viewer img { cursor:auto; max-height:calc(100vh - 4rem); max-width:calc(100vw - 4rem); object-fit:contain; }
.eg-photo-viewer__close { appearance:none; background:transparent; border:0; color:#fff; cursor:pointer; font-size:3rem; line-height:1; padding:.2rem .7rem; position:absolute; right:1rem; top:1rem; }
.eg-shop-landing { margin-inline:auto; max-width:1280px; padding:clamp(1.25rem,4vw,4rem) clamp(1rem,3vw,2rem) 5rem; }
.eg-shop-hero { background:var(--eg-ink); color:var(--eg-paper); margin-bottom:clamp(3rem,7vw,6rem); padding:clamp(2rem,6vw,5.5rem); }
.eg-shop-hero h1 { font-size:clamp(2.5rem,6vw,5.5rem); letter-spacing:-.045em; line-height:.96; margin:.35rem 0 1.4rem; max-width:15ch; }
.eg-shop-hero > p:not(.eg-shop-eyebrow) { font-size:clamp(1.08rem,2vw,1.4rem); line-height:1.55; max-width:43rem; }
.eg-shop-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.13em; margin:0; text-transform:uppercase; }
.eg-shop-hero__cta { border-bottom:1px solid currentColor; display:inline-block; font-weight:700; margin-top:1.5rem; padding-bottom:.35rem; text-decoration:none; }
.eg-shop-collections { display:grid; gap:clamp(3.5rem,7vw,6.5rem); }
.eg-shop-collection__heading { align-items:end; border-bottom:1px solid var(--eg-line); display:flex; gap:1rem; justify-content:space-between; margin-bottom:1.5rem; padding-bottom:1rem; }
.eg-shop-collection__heading h2, .eg-shop-directory h2 { font-size:clamp(1.7rem,3vw,2.5rem); letter-spacing:-.035em; line-height:1; margin:.35rem 0 0; }
.eg-shop-collection__heading > a { font-size:.9rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.eg-shop-products { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.eg-shop-product-card { background:#f2f0ea; min-width:0; }
.eg-shop-product-card__image { aspect-ratio:4 / 3; background:#e5e2da; display:block; overflow:hidden; }
.eg-shop-product-card__image img { display:block; height:100%; object-fit:contain; transition:none; width:100%; }
.eg-shop-product-card:hover .eg-shop-product-card__image img { transform:none; }
.eg-shop-product-card__body { padding:1rem 1rem 1.2rem; }
.eg-shop-product-card h3 { font-size:1rem; line-height:1.25; margin:0; }
.eg-shop-product-card h3 a { text-decoration:none; }
.eg-shop-product-card__price { color:var(--eg-accent); font-size:.95rem; font-weight:700; margin:.65rem 0 0; }
.eg-shop-product-card__description { color:#625f59; font-size:.84rem; line-height:1.45; margin:.7rem 0 0; }
.eg-shop-directory { border-top:1px solid var(--eg-line); margin-top:clamp(4rem,8vw,7rem); padding-top:1.35rem; }
.eg-shop-directory__links { display:grid; gap:.65rem; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:1.8rem; }
.eg-shop-directory__links a { background:#f2f0ea; font-weight:700; padding:1rem; text-decoration:none; }
.eg-shop-directory__links a:hover { background:#e8e4dc; }
.eg-shop-empty { border:1px solid var(--eg-line); padding:1rem; }
.eg-shop-category__back { display:inline-block; font-weight:700; margin-bottom:2.4rem; text-decoration:none; }
.eg-shop-category__title { font-size:clamp(2.2rem,5vw,4.5rem); letter-spacing:-.045em; line-height:.98; margin:.35rem 0 1.25rem; }
.eg-shop-category__intro { border-left:.25rem solid var(--eg-accent); max-width:48rem; padding-left:1rem; }
.eg-shop-category .eg-shop-products { margin-top:2.5rem; }
@media (max-width: 700px) { .eg-product-selected-image, .single-product div.product .summary { float:none; width:100%; margin-right:0; } .eg-site-header__inner, .eg-site-footer__inner { align-items:flex-start; } .eg-primary-navigation, .eg-footer-navigation { width:100%; } .eg-primary-navigation .wp-block-navigation__container, .eg-footer-navigation .wp-block-navigation__container { justify-content:flex-start; } .eg-primary-navigation .wp-block-navigation__responsive-container-open { margin-left:auto; } }
@media (max-width: 960px) { .eg-shop-products { grid-template-columns:repeat(2,minmax(0,1fr)); } .eg-shop-directory__links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .eg-shop-hero { margin-inline:-1rem; } .eg-shop-collection__heading { align-items:start; flex-direction:column; } .eg-shop-directory__links { grid-template-columns:1fr; } .eg-site-header { padding-block:1rem; } .eg-wordmark { font-size:1.05rem; } .eg-primary-navigation .wp-block-navigation-item__content { font-size:.78rem; } }
