.fx-exhibitions { padding-top:clamp(40px,5vw,76px); }
.fx-exhibitions h2 { max-width:28ch; }
.fx-intro { max-width:70ch; margin:15px 0 24px; color:var(--in-muted); line-height:1.72; }
.fx-show {
  display:grid; grid-template-columns:minmax(145px,.65fr) minmax(0,2fr); align-items:stretch;
  overflow:hidden; border:1px solid var(--in-line); border-radius:10px 48px 8px 24px;
  background:linear-gradient(115deg,#254435,#11271e 72%); color:var(--in-text);
}
.fx-sample {
  margin:0; display:grid; place-items:center; padding:20px; overflow:hidden;
  background:linear-gradient(0deg,#152d1fe6,#122c2180),url("media/shelf-pet-food-800.webp") center / cover;
}
.fx-sample img { width:min(85%,150px); height:auto; transform:rotate(-5deg); filter:drop-shadow(4px 7px 6px #0b1b15a6); }
.fx-show-info { padding:clamp(19px,3.2vw,46px); min-width:0; }
.fx-edition { color:var(--in-accent); font-size:.875rem; font-weight:700; }
.fx-show-info h3 { font:600 clamp(1.65rem,3vw,2.75rem)/1.13 var(--serif); margin-top:5px; }
.fx-facts { display:flex; flex-wrap:wrap; gap:12px clamp(18px,3.2vw,42px); margin:19px 0 8px; }
.fx-facts dt { color:var(--in-muted); font-size:.9rem; margin-bottom:4px; }
.fx-facts dd { font-weight:650; line-height:1.42; }
.fx-facts dd span { display:block; color:var(--in-muted); font-size:.94rem; font-weight:400; }
.fx-source { display:inline-flex; align-items:center; gap:5px; min-height:44px; color:var(--in-accent); text-decoration:underline; text-underline-offset:.2em; }
.fx-source .ico { width:16px; height:16px; }
.fx-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px 20px; margin-top:16px; }
@media(max-width:600px) {
  .fx-show { grid-template-columns:minmax(0,1fr); border-radius:8px 32px 8px 18px; }
  .fx-sample { height:120px; padding:9px; }
  .fx-sample img { height:100%; width:auto; min-height:0; }
  .fx-facts { margin-top:14px; }
}
.fx-exhibitions > .eyebrow { color:var(--in-accent); }

.exhibition-booking {
  scroll-margin-top:1rem; margin-block:18px 0; min-width:0;
  color:var(--in-text); border:1px solid var(--in-line); border-radius:8px 22px 8px 8px; background:var(--in-card);
}
.exhibition-booking summary {
  display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:48px; padding:12px 16px;
  list-style:none; cursor:pointer; font-weight:650; color:var(--in-text);
}
.exhibition-booking summary::-webkit-details-marker { display:none; }
.eb-chevron { width:9px; height:9px; border-bottom:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-right:4px; }
.exhibition-booking[open] .eb-chevron { transform:rotate(225deg); }
.eb-panel { padding:0 clamp(12px,2vw,22px) 18px; }
.eb-panel .eb-event { margin:0 0 .3rem; color:var(--in-accent); font-weight:650; }
.eb-panel .eb-note { margin:0; color:var(--in-muted); line-height:1.5; }
.eb-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.exhibition-booking form { display:grid; gap:14px; margin-top:16px; }
.exhibition-booking [hidden] { display:none!important; }
.exhibition-booking label { display:block; min-width:0; font-size:.94rem; font-weight:600; }
.exhibition-booking label>span,.eb-optional,.exhibition-booking label small { color:var(--in-muted); font-weight:400; }
.exhibition-booking :is(input,textarea,select) {
  display:block; width:100%; min-width:0; min-height:44px; margin-top:5px; padding:7px 10px;
  border:1px solid var(--in-field-border); border-radius:5px; background:var(--in-inset); color:var(--in-text);
  font:400 1rem/1.4 var(--body); color-scheme:dark;
}
.exhibition-booking textarea { resize:vertical; }
.exhibition-booking input::placeholder,.exhibition-booking textarea::placeholder { color:var(--in-muted); }
.exhibition-booking .btn { min-height:44px; justify-self:start; }
.eb-draft { margin-top:16px; padding:14px; border:1px solid var(--in-line); border-radius:8px; background:var(--in-inset); }
.eb-draft h3 { margin:0; }
.eb-draft pre { white-space:pre-wrap; overflow-wrap:anywhere; margin:.7em 0; font:400 .93rem/1.5 var(--body); }
.eb-actions { display:flex; gap:8px; flex-wrap:wrap; }
.exhibition-booking :focus-visible { outline:2px solid var(--in-accent); outline-offset:3px; }
@media(max-width:550px){ .eb-fields { grid-template-columns:minmax(0,1fr); } }
