/* Product pages: one compact, service-specific working exhibit after each hero.
   The shared kraft mount belongs to the site's old-print world; each inner surface
   shows the real place a customer or owner would use. Flat borders only. */
.product-exhibit-band{padding:54px 0 18px}
.product-exhibit{position:relative;display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1.66fr);gap:clamp(22px,4vw,54px);align-items:center;margin:0;padding:26px 30px 28px;border:1px solid var(--c-text);background-color:var(--kraft);background-image:var(--tx-kraft);color:var(--c-kraft-text)}
.product-exhibit::before{content:"";position:absolute;right:14%;top:-12px;width:86px;height:25px;border:1px solid var(--c-line);background:var(--c-bg-alt);transform:rotate(2deg)}
.product-exhibit__caption{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-family:var(--f-display);font-weight:700;font-size:clamp(23px,2.4vw,30px);line-height:1.18}
.product-exhibit__mark{width:58px;height:58px;padding:10px;border:1px solid var(--c-text);color:var(--c-accent);background:var(--c-card);transform:rotate(-2deg)}
.product-exhibit__surface{position:relative;min-width:0;max-width:100%;padding:22px;border:1px solid var(--c-text);background:var(--c-card);color:var(--c-text);font-family:var(--f-ui);font-size:17px;line-height:1.35;transform:rotate(-.35deg)}
.product-exhibit:nth-child(even) .product-exhibit__surface{transform:rotate(.35deg)}
.product-exhibit__surface *{box-sizing:border-box}
.exhibit-note{position:absolute;right:30px;bottom:-17px;max-width:70%;padding:7px 12px;border:1px solid var(--c-text);background:var(--c-bg);font-family:var(--f-display);font-size:17px;font-weight:700;line-height:1.2;transform:rotate(1deg)}

/* Website window and inquiry form. */
.exhibit-browser{border:1px solid var(--c-text);background:var(--c-screen)}
.exhibit-browser__bar{display:flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border-bottom:1px solid var(--c-line);background:var(--c-bg-alt)}
.exhibit-browser__bar i{width:8px;height:8px;border:1px solid var(--c-text);border-radius:50%}
.exhibit-browser__bar span{margin-left:6px;color:var(--c-muted);font-size:16px}
.exhibit-browser__body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr);gap:18px;align-items:center;padding:18px}
.exhibit-browser__page{display:flex;flex-direction:column;gap:10px;padding:14px}
.exhibit-browser__page b{font:700 28px/1.1 var(--f-display)}
.exhibit-browser__page span{max-width:13em;font-size:17px}
.exhibit-form{display:grid;gap:7px;padding:13px;border:1px solid var(--c-line);background:var(--c-bg)}
.exhibit-form>b{font-family:var(--f-display);font-size:20px}
.exhibit-form>span{min-height:30px;padding:5px 8px;border:1px solid var(--c-line);background:var(--c-screen);color:var(--c-muted)}
.exhibit-form>strong{justify-self:start;padding:7px 11px;border:1px solid var(--c-cta);background:var(--c-cta);color:var(--c-cta-text);font-family:var(--f-display)}

/* Local search result beside a simple paper map. */
.exhibit-search{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr);gap:16px}
.exhibit-search__bar{grid-column:1/-1;padding:10px 14px;border:1px solid var(--c-text);background:var(--c-screen)}
.exhibit-search__bar span{display:block;max-width:22em;color:var(--c-muted)}
.exhibit-search__result{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:16px;border:1px solid var(--c-line);background:var(--c-screen)}
.exhibit-search__result small,.exhibit-search__result b{grid-column:1}
.exhibit-search__result b{font:700 24px/1.1 var(--f-display)}
.exhibit-search__result em{grid-column:2;grid-row:2;color:var(--c-accent);font-style:normal;font-weight:700}
.exhibit-search__result>span{padding-top:8px;border-top:1px solid var(--c-line);font-size:16px}
.exhibit-map{position:relative;min-height:150px;overflow:hidden;border:1px solid var(--c-line);background-color:var(--c-bg-alt);background-image:var(--tx-paper)}
.exhibit-map__road{position:absolute;display:block;width:140%;height:18px;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);background:var(--c-card)}
.exhibit-map__road.road-a{left:-20%;top:44%;transform:rotate(-12deg)}
.exhibit-map__road.road-b{left:-15%;top:58%;transform:rotate(58deg)}
.exhibit-map>b{position:absolute;left:52%;top:42%;width:26px;height:26px;border:2px solid var(--c-cta);border-radius:50% 50% 50% 0;background:var(--c-card);transform:rotate(-45deg)}
.exhibit-map>b::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--c-cta)}

/* Missed call state next to the automatic text that follows it. */
.exhibit-call{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);gap:18px;align-items:stretch}
.exhibit-call__ring,.exhibit-call__text{display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid var(--c-line);background:var(--c-screen)}
.exhibit-call__ring{align-items:center;text-align:center;gap:8px}
.exhibit-ring{position:relative;width:54px;height:54px;border:2px solid var(--c-accent);border-radius:50%}
.exhibit-ring::before,.exhibit-ring::after{content:"";position:absolute;top:8px;width:12px;height:34px;border-top:2px solid var(--c-cta);border-bottom:2px solid var(--c-cta)}
.exhibit-ring::before{left:-17px;border-left:2px solid var(--c-cta)}
.exhibit-ring::after{right:-17px;border-right:2px solid var(--c-cta)}
.exhibit-call__ring small,.exhibit-call__text small{color:var(--c-alert);font-weight:700}
.exhibit-call__ring b{font-family:var(--f-display);font-size:20px}
.exhibit-call__text{align-items:flex-end}
.exhibit-call__text p{max-width:26em;margin:10px 0 0;padding:11px 14px;border-radius:16px 16px 4px 16px;background:var(--c-accent);color:var(--c-bubble-out-text);font-size:17px}

/* The same inquiry thread, with the automatic check-in in place. */
.exhibit-thread{display:flex;flex-direction:column;gap:9px;max-width:570px;margin:0 auto}
.exhibit-thread>small{align-self:center;color:var(--c-muted)}
.exhibit-thread p{max-width:78%;margin:0;padding:9px 12px;border:1px solid var(--c-line);background:var(--c-bubble-in)}
.exhibit-thread__in{align-self:flex-start;border-radius:15px 15px 15px 3px!important}
.exhibit-thread__out{align-self:flex-end;border-color:var(--c-accent)!important;border-radius:15px 15px 3px 15px!important;background:var(--c-accent)!important;color:var(--c-bubble-out-text)}

/* Booking calendar. */
.exhibit-calendar{max-width:620px;margin:0 auto;border:1px solid var(--c-line);background:var(--c-screen)}
.exhibit-calendar__head{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--c-line)}
.exhibit-calendar__head b{font-family:var(--f-display);font-size:20px}
.exhibit-calendar__head span{color:var(--c-muted)}
.exhibit-calendar__days,.exhibit-calendar__slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.exhibit-calendar__days span{padding:8px;text-align:center;color:var(--c-muted);border-bottom:1px solid var(--c-line)}
.exhibit-calendar__slots>*{padding:10px 6px;text-align:center;border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.exhibit-calendar__slots>*:nth-child(3n){border-right:0}
.exhibit-calendar__slots b{background:var(--c-highlight);color:var(--c-highlight-text)}
.exhibit-calendar>p{margin:0;padding:10px 14px;text-align:center;font-weight:700}

/* Review request text and the five-star result. */
.exhibit-review{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr);gap:18px;align-items:center}
.exhibit-review__request{padding:16px;border:1px solid var(--c-line);background:var(--c-screen)}
.exhibit-review__request small{color:var(--c-muted)}
.exhibit-review__request p{margin:9px 0 12px;padding:10px 12px;border-radius:15px 15px 4px 15px;background:var(--c-accent);color:var(--c-bubble-out-text)}
.exhibit-review__request b{display:inline-block;padding:7px 10px;border:1px solid var(--c-cta);background:var(--c-cta);color:var(--c-cta-text);font-family:var(--f-display)}
.exhibit-review__stars{padding:22px 14px;text-align:center;border:1px solid var(--c-line);background:var(--c-bg)}
.exhibit-review__stars span{display:block;margin-bottom:12px;font-family:var(--f-display);font-weight:700}
.exhibit-review__stars div{display:flex;justify-content:center;gap:4px}
.exhibit-review__stars .exhibit-star{width:26px;height:26px;color:var(--c-highlight)}

/* Campaign list. Each row is a real message type from the product copy. */
.exhibit-campaigns{border:1px solid var(--c-line);background:var(--c-screen)}
.exhibit-campaigns__head{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--c-text);background:var(--c-bg-alt)}
.exhibit-campaigns__head b{font-family:var(--f-display);font-size:21px}
.exhibit-campaigns__head span{max-width:23em;color:var(--c-muted);text-align:right}
.exhibit-campaigns__row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;padding:12px 14px;border-bottom:1px solid var(--c-line)}
.exhibit-campaigns__row:last-child{border-bottom:0}
.exhibit-campaigns__row b{font-family:var(--f-display);font-size:19px}
.exhibit-campaigns__row span{color:var(--c-muted)}

@media (max-width:760px){
  .product-exhibit-band{padding:40px 0 6px}
  .product-exhibit{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 18px 30px}
  .product-exhibit__caption{flex-direction:row;align-items:center;gap:12px;font-size:24px}
  .product-exhibit__mark{flex:none;width:48px;height:48px;padding:8px}
  .product-exhibit__surface{padding:15px;transform:none}
  .exhibit-note{right:15px;bottom:-16px;max-width:calc(100% - 30px);font-size:16px}
}

@media (max-width:520px){
  .product-exhibit::before{right:10%;width:68px}
  .product-exhibit__caption{font-size:22px}
  .product-exhibit__surface{font-size:16px}
  .exhibit-browser__body,.exhibit-search,.exhibit-call,.exhibit-review{grid-template-columns:minmax(0,1fr)}
  .exhibit-browser__page{padding:4px 4px 8px}
  .exhibit-browser__page b{font-size:24px}
  .exhibit-search__bar{grid-column:1}
  .exhibit-map{min-height:118px}
  .exhibit-call__ring{padding:13px}
  .exhibit-call__text{padding:13px}
  .exhibit-call__text p{max-width:92%}
  .exhibit-thread p{max-width:90%}
  .exhibit-calendar__head{align-items:flex-start}
  .exhibit-calendar__slots>*{font-size:15px;padding:9px 3px}
  .exhibit-campaigns__head,.exhibit-campaigns__row{grid-template-columns:minmax(0,1fr);display:grid;gap:3px}
  .exhibit-campaigns__head span{text-align:left}
}
