/* ══ PRODUITS & PHOTOS — le catalogue commun (2026-09-19) ════════════
   Même matière que la boutique des thèmes : fiches de papier grainé,
   ombres portées. Palette fixée pour les deux modes du tableau de bord. */
section[data-vue="produits"],section[data-vue="photos"]{
  --cg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .14 0 0 0 0 .08 0 0 0 .2 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --c-ombre:1px 1px 1px rgba(40,22,8,.18),3px 6px 10px -4px rgba(40,22,8,.24),12px 22px 34px -18px rgba(40,22,8,.4);
  --encre:#1f1a15;--encre-2:#4d4338;--encre-3:#7d7064;--filet:rgba(40,26,14,.13);--fond:#fbf8f2}
section[data-vue="produits"] .carte,section[data-vue="photos"] .carte{border:0;border-radius:8px;color:var(--encre);
  background:var(--cg),linear-gradient(180deg,#fffdf8,#f4ecdf);background-size:220px,auto;box-shadow:var(--c-ombre)}
section[data-vue="produits"] .sous,section[data-vue="photos"] .sous{color:var(--encre-3)}
.cat-limite{font-size:.84rem;padding:.55rem .8rem;border-radius:4px;background:rgba(201,154,69,.12);box-shadow:inset 3px 0 0 #c99a45;color:#5c4526!important}

/* ── Les fiches produit ─────────────────────────────────────────── */
.cat-liste{display:grid;gap:14px;margin:1rem 0}
.cat-f{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr) auto;gap:14px 18px;align-items:start;
  padding:14px;border-radius:6px;background:var(--cg),linear-gradient(180deg,#fff,#faf5ec);background-size:220px,auto;
  box-shadow:0 0 0 1px rgba(40,26,14,.07),var(--c-ombre)}
.cat-f.cat-hors{opacity:.7}
.cat-ph{width:118px;aspect-ratio:1;border:0;border-radius:4px;cursor:pointer;background:#efe6d6 center/cover no-repeat;
  box-shadow:0 0 0 5px #fff,0 0 0 6px rgba(40,26,14,.1),0 8px 14px -8px rgba(40,26,14,.5);transition:transform .25s}
.cat-ph:hover{transform:rotate(-1.5deg) scale(1.02)}
.cat-ph-vide{display:grid;place-items:center;color:#8a7c6c;font-size:.82rem;
  background:repeating-linear-gradient(135deg,rgba(40,26,14,.04) 0 8px,transparent 8px 16px),#f5eee2}
.cat-charge{opacity:.5;animation:cat-p 1s ease-in-out infinite alternate}
@keyframes cat-p{to{opacity:.85}}
.cat-t{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px 12px}
.cat-t .cat-ch:nth-child(2){grid-column:1 / -1}
.cat-t .cat-prix{grid-column:2;grid-row:1}
.cat-ch{display:flex;flex-direction:column;gap:3px;font-size:.74rem;color:var(--encre-3)}
.cat-ch input,.cat-ch textarea{font:inherit;font-size:.95rem;color:var(--encre);padding:.5rem .6rem;border:0;border-radius:4px;
  background:rgba(255,255,255,.75);box-shadow:inset 0 1px 2px rgba(40,26,14,.18),inset 0 0 0 1px rgba(40,26,14,.1);resize:vertical}
.cat-ch input:focus,.cat-ch textarea:focus{outline:none;box-shadow:inset 0 1px 2px rgba(40,26,14,.18),0 0 0 2px #bd4a2c}
.cat-prix input{text-align:right;font-variant-numeric:tabular-nums}
.cat-a{display:flex;flex-direction:column;gap:6px}
.cat-a .b{padding:.35rem .6rem;font-size:.8rem}
.cat-sup{color:#9c3b23!important}
.cat-note{grid-column:1 / -1;margin:0;font-size:.78rem;color:#8a6d1f}
.cat-actions{justify-content:space-between}
@media (max-width:640px){
  .cat-f{grid-template-columns:88px minmax(0,1fr)}
  .cat-ph{width:88px}
  .cat-a{grid-column:1 / -1;flex-direction:row;justify-content:flex-end}
  .cat-t{grid-template-columns:1fr}
  .cat-t .cat-prix{grid-column:auto;grid-row:auto}
}

/* ── La photothèque : des tirages posés ─────────────────────────── */
.ph-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 18px;margin:1.1rem 0 .4rem}
.ph-c{position:relative;margin:0;padding:8px 8px 10px;border-radius:3px;background:#fdfbf6;
  box-shadow:0 0 0 1px rgba(40,26,14,.06),var(--c-ombre);transition:transform .3s}
.ph-c:nth-child(3n+1){transform:rotate(-1deg)}.ph-c:nth-child(3n+2){transform:rotate(.8deg)}
.ph-c:hover{transform:rotate(0) translateY(-3px)}
.ph-im{aspect-ratio:1;border-radius:2px;background:#efe6d6 center/cover no-repeat}
.ph-leg{width:100%;margin-top:8px;border:0;border-bottom:1px dashed rgba(40,26,14,.2);background:transparent;
  font:inherit;font-size:.82rem;color:var(--encre);padding:3px 0}
.ph-leg:focus{outline:none;border-bottom-color:#bd4a2c}
.ph-us{display:block;margin-top:4px;font-size:.7rem;color:var(--encre-3)}
.ph-x{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:#9c3b23;font-size:1rem;line-height:1;box-shadow:0 2px 6px rgba(40,22,8,.3);opacity:0;transition:opacity .2s}
.ph-c:hover .ph-x,.ph-x:focus{opacity:1}
@media (hover:none){.ph-x{opacity:1}}

/* ── Les emplacements du thème ───────────────────────────────────── */
.ph-places{display:grid;gap:16px;margin:1rem 0}
.ph-g{padding:12px 14px;border-radius:6px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(40,26,14,.08)}
.ph-g h3{margin:0 0 8px;font-size:.95rem}
.ph-r{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,220px);gap:12px;align-items:center;padding:8px 0;
  border-top:1px dashed rgba(40,26,14,.12)}
.ph-r:first-of-type{border-top:0}
.ph-mini{width:56px;aspect-ratio:1;border-radius:3px;background:#efe6d6 center/cover no-repeat;box-shadow:0 3px 6px -3px rgba(40,22,8,.5)}
.ph-mini-vide{background:repeating-linear-gradient(135deg,rgba(40,26,14,.05) 0 6px,transparent 6px 12px),#f5eee2}
.ph-r-n{font-size:.88rem;color:var(--encre-2)}
.ph-sel{font:inherit;font-size:.85rem;padding:.45rem .5rem;border-radius:4px;border:0;background:#fff;color:var(--encre);
  box-shadow:inset 0 0 0 1px rgba(40,26,14,.15)}
@media (max-width:640px){.ph-r{grid-template-columns:48px minmax(0,1fr)}.ph-sel{grid-column:1 / -1}}
