/* Page CSS for /photos/, lifted verbatim out of the design file so it loads in the
   same cascade position as the static page (after mma-core, before mma-footer /
   mma-blocks / mma-shell). Previously it sat inline in the page body, i.e. last. */

/* ---------- inspiration photo grid ---------- */
.roomchips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:26px}
.roomchips button{font-family:var(--body);font-size:13.5px;font-weight:600;padding:10px 18px;
  border-radius:999px;border:1px solid var(--line-2);background:var(--card);color:var(--ink-70);cursor:pointer;
  transition:all .2s}
.roomchips button:hover{border-color:var(--emerald);color:var(--emerald)}
.roomchips button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}

.masonry{columns:4;column-gap:14px}
.ph{break-inside:avoid;margin-bottom:14px;position:relative;border-radius:var(--r);overflow:hidden;
  background:var(--card);border:1px solid var(--line);display:block;box-shadow:var(--shadow)}
.ph:hover{box-shadow:var(--shadow-lg)}
.ph img{width:100%;display:block;transition:transform .6s cubic-bezier(.2,.8,.3,1)}
.ph:hover img{transform:scale(1.04)}
.ph .save{position:absolute;top:11px;right:11px;width:34px;height:34px;border-radius:999px;
  background:rgba(255,255,255,.94);display:grid;place-items:center;border:none;cursor:pointer;
  box-shadow:0 2px 8px rgba(14,31,54,.18);transition:background .2s,transform .2s}
.ph .save:hover{transform:scale(1.08)}
.ph .save svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.7}
.ph .save[aria-pressed="true"]{background:var(--clay)}
.ph .save[aria-pressed="true"] svg{stroke:#fff;fill:#fff}
.ph .cap{padding:15px 17px 17px}
.ph .cap b{display:block;font-size:14.5px;font-weight:700;line-height:1.3}
.ph .cap span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-40);margin-top:6px}
.ph .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.ph .tags i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--emerald);border:1px solid var(--line);border-radius:999px;padding:4px 9px}
.ph .room{position:absolute;top:11px;left:11px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;background:rgba(23,26,32,.72);color:#fff;padding:5px 11px;border-radius:999px}

/* ---------- workshop (pro) cards ---------- */
.pros{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pro{display:grid;grid-template-columns:150px 1fr;gap:0;background:var(--card);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);transition:box-shadow .3s,border-color .3s,transform .3s}
.pro:hover{box-shadow:var(--shadow-lg);border-color:var(--emerald);transform:translateY(-4px)}
.pro .pi{background:var(--paper-2);overflow:hidden}
.pro .pi img{width:100%;height:100%;object-fit:cover}
.pro .pb{padding:20px 22px;display:flex;flex-direction:column}
.pro h3{font-size:19px}
.pro .loc{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-40);margin-top:5px}
.pro .rt{display:flex;align-items:center;gap:7px;margin-top:9px;font-size:12px;color:var(--ink-60)}
.pro .rt b{color:var(--amber);letter-spacing:-1px}
.pro p{font-size:13px;color:var(--ink-60);margin-top:10px;flex:1}
.pro .badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pro .badges i{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.08em;
  text-transform:uppercase;background:rgba(30,69,113,.09);color:var(--emerald);
  border:1px solid rgba(30,69,113,.22);border-radius:999px;padding:4px 9px}
.pro .badges i.seal{background:rgba(169,128,62,.12);color:var(--amber);border-color:rgba(169,128,62,.3)}
.pro .meta{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink-40);
  display:flex;justify-content:space-between;gap:8px}

/* ---------- reviews ---------- */
.revs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rev{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;
  display:flex;flex-direction:column;box-shadow:var(--shadow)}
.rev .st{color:var(--amber);letter-spacing:-1px;font-size:15px}
.rev p{font-size:14px;color:var(--ink-70);margin-top:12px;flex:1;line-height:1.6}
.rev .who{margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
.rev .who b{display:block;font-size:13.5px;font-weight:700}
.rev .who span{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;
  color:var(--ink-40);margin-top:4px}

@media(max-width:1080px){.masonry{columns:3}.pros{grid-template-columns:1fr}.revs{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.masonry{columns:2;column-gap:10px}.revs{grid-template-columns:1fr}
  .pro{grid-template-columns:1fr}.pro .pi{height:170px}}