/* ===================================================================
   FOTOGRAFIA — grade, ficha de pedido e simulador de parede
   =================================================================== */

.foto-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.foto-card{cursor:pointer;background:var(--bg);text-align:left;border:none;font:inherit;color:inherit;padding:0}
.foto-card .fc-img{overflow:hidden;aspect-ratio:4/5;background:var(--bg-2);box-shadow:0 16px 40px rgba(20,20,20,.12),0 3px 10px rgba(20,20,20,.06);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.foto-card:hover .fc-img{transform:translateY(-5px);box-shadow:0 30px 70px rgba(20,20,20,.20),0 6px 16px rgba(20,20,20,.10)}
.foto-card img{width:100%;height:100%;object-fit:cover}
.foto-card .fc-t{font-family:var(--disp);font-size:1.25rem;font-weight:500;margin-top:16px;letter-spacing:-.01em}
.foto-card .fc-m{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:2px}

/* ---------- ficha ---------- */
.ficha{position:fixed;inset:0;z-index:90;background:var(--bg);display:none;overflow-y:auto}
.ficha.open{display:block}
.ficha-close{position:fixed;top:18px;right:20px;z-index:3;width:42px;height:42px;border:1px solid var(--line-2);border-radius:50%;background:#fff;cursor:pointer;font-size:15px;transition:.3s}
.ficha-close:hover{border-color:var(--ink);transform:rotate(90deg)}
.ficha-inner{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:44px;max-width:1400px;margin:0 auto;padding:70px 32px 50px}

.sim-stage{background:var(--bg-2);position:relative;line-height:0}
#sim-canvas{width:100%;display:block;touch-action:none;cursor:grab}
#sim-canvas.drag{cursor:grabbing}
.sim-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.sim-bar .btn{padding:13px 20px;font-size:11px;font-family:var(--sans);background-color:transparent}
.sim-bar .btn-fill{background:var(--ink)}
.sim-hint{font-size:13px;color:var(--faint);margin-top:10px}

.calib{margin-top:16px;padding:18px 20px;border:1px solid var(--line-2);background:#fffdf7}
.calib p{font-size:14px;color:#3a3a37;line-height:1.55}
.calib-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 8px}
.calib-row select,.calib-row input{padding:10px 12px;border:1px solid var(--line-2);font:inherit;font-size:14px;background:#fff}
.calib-row input{width:90px}
.calib-row .btn{padding:11px 20px;font-size:11px;border:none}
.calib-note{font-size:12.5px!important;color:var(--faint)!important}
.calib-note.ok{color:#2f7a4a!important}

.pedido h2{font-size:clamp(1.9rem,3vw,2.6rem);margin:10px 0 4px}
.p-sub{min-height:4px;color:var(--faint);font-size:13px;letter-spacing:.06em;margin-bottom:26px}
.opt{margin-bottom:22px}
.opt-l{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{border:1px solid var(--line-2);background:#fff;padding:10px 15px;font:inherit;font-size:14px;cursor:pointer;transition:.2s;color:var(--ink)}
.chips button:hover{border-color:var(--ink)}
.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.opt select,.opt input{width:100%;padding:12px 14px;border:1px solid var(--line-2);font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.opt input{margin-top:8px}

.conta{border-top:1px solid var(--line);margin:28px 0 22px;padding-top:14px}
.conta-row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:15px;color:#3a3a37}
.conta-row span:last-child{text-align:right}
.conta-row.total{font-family:var(--disp);font-size:1.5rem;color:var(--ink);border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-weight:500}
.p-cta{width:100%;justify-content:center;padding:18px}
.p-obs{font-size:12.5px;color:var(--faint);margin-top:12px;line-height:1.5}

@media(max-width:980px){
  .foto-grid{grid-template-columns:repeat(2,1fr)}
  .ficha-inner{grid-template-columns:1fr;gap:30px;padding:66px 16px 40px}
}
@media(max-width:560px){
  .foto-grid{grid-template-columns:1fr}
}
.ficha [hidden]{display:none!important}
.sim-amb{margin-bottom:12px}
.sim-amb button{font-size:13px;padding:8px 14px}

/* díptico / tríptico */
.comp{display:flex;gap:10px;margin-top:14px}
.comp .slot{flex:0 0 92px;border:1px solid var(--line-2);background:#fff;padding:6px;cursor:pointer;font:inherit;text-align:center;transition:.2s}
.comp .slot img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.comp .slot span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.comp .slot.fixo{cursor:default;opacity:.75}
.comp .slot.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;margin-top:10px;padding:10px;background:var(--bg-2)}
.picker .pick-l{grid-column:1/-1;font-size:12px;color:var(--muted)}
.picker .pick{border:2px solid transparent;padding:0;background:none;cursor:pointer;line-height:0}
.picker .pick img{width:100%;aspect-ratio:1;object-fit:cover}
.picker .pick.on{border-color:var(--ink)}
.p-corte{font-size:12.5px;color:var(--muted);margin-top:8px;line-height:1.5}

/* séries */
.foto-serie{margin-bottom:90px}
.serie-h{font-size:clamp(2rem,4vw,3rem);font-weight:500;letter-spacing:-.02em;margin-bottom:34px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.sim-dica{margin-top:12px;padding:10px 14px;background:#fff7e6;border-left:3px solid #c9a35a;font-size:13.5px;color:#4a3d22;line-height:1.5}
.chips .girar{margin-left:auto;border-style:dashed}
.comp .slot{position:relative}
.comp .slot img{transition:transform .25s}
.girar-mini{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);background:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0}
.girar-mini:hover{border-color:var(--ink)}

/* compra */
.p-wa2{margin-top:10px;background:#fff}
.checkout{margin-top:14px;padding:18px;border:1px solid var(--line-2);background:var(--bg-2);display:flex;flex-direction:column;gap:8px}
.checkout .ck-t{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.checkout input{width:100%;padding:12px 14px;border:1px solid var(--line-2);font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.checkout input.bad{border-color:#b3261e}
.checkout .ck-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.checkout .ck-erro{color:#b3261e;font-size:13.5px}
.checkout .p-cta{margin-top:6px;border:none}
.checkout .p-cta[disabled]{opacity:.6;cursor:wait}

/* sobre / condições */
.sobre-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-bottom:70px}
.foto-sobre h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:12px 0 18px;font-weight:500}
.foto-sobre p{color:#3a3a37;margin-bottom:14px}
.cond{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-top:1px solid var(--line);padding-top:36px}
.cond h3{font-size:1.15rem;margin-bottom:10px;font-weight:500}
.cond p{font-size:14.5px;color:var(--muted)}
.cond a{text-decoration:underline}
.p-edicao{font-size:12.5px;color:var(--muted);margin:-14px 0 24px;letter-spacing:.02em}
@media(max-width:980px){.sobre-grid{grid-template-columns:1fr;gap:40px}.cond{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cond{grid-template-columns:1fr}}
.foto-manifesto{margin-top:20px}
.arq{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:40px;background:#fff;border:1px solid var(--line);margin-bottom:56px}
.arq h2{margin:10px 0 12px!important}
.arq p{max-width:62ch;margin:0!important}
.arq .btn{white-space:nowrap;flex-shrink:0}
@media(max-width:780px){.arq{flex-direction:column;align-items:flex-start;padding:26px 20px}}

/* grade: ao passar o mouse, a foto aparece na parede */
.foto-card .fc-img{position:relative}
.foto-card .fc-amb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s var(--ease)}
@media(hover:hover){.foto-card:hover .fc-amb{opacity:1}}
