/* Shared shop styles — Macajou */
:root{
  --creme:#FBF5E8;
  --creme-2:#F5EDDA;
  --beurre:#FFDE8F;
  --rouge:#B5121B;
  --rouge-sombre:#82090F;
  --encre:#1C1611;
  --brun:#6E4118;
  --display:'Cormorant Garamond',serif;
  --body:'Jost',sans-serif;
  --script:'Pinyon Script',cursive;
  --line:rgba(28,22,17,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--body);font-weight:300;background:var(--creme);color:var(--encre);line-height:1.7;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.shop-top{background:var(--creme);border-bottom:1px solid var(--line);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;text-align:center;padding:.65rem 1rem}
.shop-nav-shell{position:sticky;top:0;z-index:50;width:100%;background:rgba(251,245,232,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.shop-nav-shell .shop-top{border-bottom:none}
.shop-nav-shell .shop-nav{border-bottom:none;background:transparent;backdrop-filter:none;position:static}
.shop-nav{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem clamp(1rem,4vw,3rem);gap:1rem;border-bottom:1px solid var(--line);background:rgba(251,245,232,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}
.shop-nav .links{display:flex;gap:1.4rem;flex-wrap:wrap;font-family:var(--display);font-size:1.02rem}
.shop-nav .links.right{justify-content:flex-end;align-items:center}
.shop-nav .logo{display:flex;align-items:center;justify-content:center;line-height:0}
.shop-nav .logo img{height:72px;width:auto;display:block}
.shop-nav .cart-link{position:relative}
.shop-nav .cart-count{position:absolute;top:-8px;right:-10px;background:var(--rouge);color:var(--creme);font-size:.65rem;min-width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-weight:500;letter-spacing:0}
.shop-nav .shop-home{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.45rem .75rem;border:1px solid var(--line);align-self:center}
.shop-nav .shop-home:hover{border-color:var(--encre)}
.qty{display:flex;align-items:center;justify-content:center;gap:.35rem}
.qty button{width:32px;height:32px;border:1px solid var(--line);background:var(--creme);cursor:pointer;font-size:1.1rem;line-height:1}
.qty button:disabled{opacity:.35;cursor:not-allowed}
.qty span{min-width:1.4rem;font-weight:500;text-align:center}
.shop-wrap{max-width:1400px;margin:0 auto;padding:2.5rem 2rem 5rem}
.fmt{font-variant-numeric:tabular-nums}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;padding:.95rem 1.6rem;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;transition:opacity .25s,background .25s,color .25s}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-dark{background:var(--encre);color:var(--creme)}
.btn-dark:hover{opacity:.88}
.btn-outline{background:transparent;border:1px solid var(--encre);color:var(--encre)}
.btn-outline:hover{background:var(--encre);color:var(--creme)}
.btn-rouge{background:var(--rouge);color:var(--creme)}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.field label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.75}
.field input,.field select,.field textarea{background:#fff;border:1px solid var(--line);padding:.85rem 1rem;color:var(--encre);outline:none;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brun)}
.field textarea{min-height:110px;resize:vertical}
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%) translateY(20px);background:var(--encre);color:var(--creme);padding:.8rem 1.4rem;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:200;letter-spacing:.04em}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:860px){
  .shop-nav{grid-template-columns:auto 1fr auto;padding:.75rem 1rem;gap:.5rem}
  .shop-nav .links.left{display:none}
  .shop-nav .logo{justify-self:center}
  .shop-nav .logo img{height:52px}
  .shop-nav .shop-home{display:none}
  .shop-nav .links.right{gap:.6rem}
  .shop-wrap{padding:1.25rem 1.1rem 4rem}
  body{overflow-x:hidden}
}
