/* TICINO theatre facade: decorative only; access logic is in app.php.
   Scoped to room-theatre. No external assets, trackers, scripts or fonts. */
.room-theatre .content{padding-top:0}
.room-theatre .t-theatre-venue{
  --td-gold:#efb981; --td-rose:#f2adc4;
  position:relative;isolation:isolate;overflow:hidden;
  margin:20px 0 0; border:1px solid #906148;
  background-color:#0b0613;
  background-image:linear-gradient(180deg,rgba(5,12,23,.33),rgba(16,3,21,.3) 52%,rgba(5,3,12,.94)),
    radial-gradient(ellipse at 84% 40%,#f5096044,transparent 48%),
    radial-gradient(ellipse at 17% 65%,#ce15463d,transparent 48%),
    repeating-linear-gradient(0deg,transparent 0 29px,rgba(6,3,13,.65) 30px 32px),
    repeating-linear-gradient(90deg,#301225 0 75px,#210c1c 76px 82px);
  box-shadow:0 20px 56px #0009, inset 0 0 65px #000a;
}
.room-theatre .t-theatre-venue::before{
  content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 85% 20%,rgba(249,27,117,.25),transparent 52%),
   linear-gradient(90deg,rgba(3,8,18,.76),transparent 65%);
}
.room-theatre .t-theatre-canopy{
  position:relative;z-index:2; display:flex;justify-content:center;align-items:center;
  min-height:82px;padding:16px 14px;gap:24px;
  border-bottom:2px solid rgba(225,133,93,.6);
  background:linear-gradient(180deg,#050a15ee,#171023f5 47%,#0c0714ee);
  color:var(--td-gold);text-align:center;
  font:500 clamp(11px,1.55vw,18px)/1.3 Georgia,serif;letter-spacing:.28em;
  text-shadow:0 0 11px #f84f5182,0 0 28px #f1376954;
  box-shadow:0 8px 25px #06040e8a,0 2px 0 #f1a0676b;
}
.room-theatre .t-theatre-star{font:20px Georgia,serif;color:#d69b67;opacity:.8}
.room-theatre .t-theatre-street{
  position:relative;display:grid;grid-template-columns:minmax(235px, .86fr) minmax(0,1.6fr);
  gap:24px;align-items:stretch;min-height:520px;padding:32px 25px 44px;
}
.room-theatre .t-theatre-street::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(#eb819722 1px,transparent 1px);
  background-size:5px 5px;opacity:.15;
}
.room-theatre .t-theatre-intro{
  align-self:center;position:relative;z-index:2;
  padding:32px 0 55px 13px;
  text-shadow:0 3px 15px #03040d,0 5px 30px #000;
}
.room-theatre .t-theatre-intro::before{
  content:'';position:absolute;inset:-18px -25px 0 -25px;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 38% 50%,#0e0c1fdd,transparent 75%);
}
.room-theatre .t-theatre-intro .eyebrow{color:#efad82;letter-spacing:.21em}
.room-theatre .t-theatre-intro h1{
  margin:24px 0 20px;letter-spacing:-.05em;font-size:clamp(41px,4.1vw,69px);
  color:#f4eeea;line-height:1.12;
}
.room-theatre .t-theatre-intro h1 em{color:#f3b3be;text-shadow:0 0 28px #e8497980}
.room-theatre .t-theatre-intro p{max-width:330px;font:13px/1.95 Arial,sans-serif;color:#f4d6dd}
.room-theatre .t-theatre-whisper{
  display:block;margin-top:38px;padding:13px 0 0;border-top:1px solid #dd958f53;
  color:#dda4a2;font:8px/1.75 Arial,sans-serif;letter-spacing:.14em;
}
.room-theatre .t-theatre-portals{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;gap:6px;min-width:0;min-height:423px;
  border:7px solid #170d1b;outline:1px solid #9662477d;
  background:#070613;box-shadow:0 18px 42px #000c, 0 0 55px #d7095327;
}
.room-theatre .t-theatre-portals::before{
  content:'';position:absolute;z-index:4;left:-12px;right:-12px;top:-14px;height:13px;
  background:linear-gradient(180deg,#462039,#0f0b18);
  border-top:2px solid #b96974;box-shadow:0 5px 18px #ff24723a;
  pointer-events:none;
}
.room-theatre .t-theatre-portal{
  --pane:url('/assets/theatre-glass-public.webp');position:relative;isolation:isolate;
  min-width:0;overflow:hidden;border:2px solid #60364a;
  box-shadow:inset 0 0 0 4px #1e0c1a,inset 0 0 19px #080312;
  display:flex;align-items:stretch;flex-direction:column;
  background:linear-gradient(180deg,#2d102a,#080916);color:#f5dccb;
  transition:box-shadow .2s,transform .2s;
}
.room-theatre .portal-members{--pane:url('/assets/theatre-glass-members.webp')}
.room-theatre .portal-supporters{--pane:url('/assets/theatre-glass-balcony.webp')}
.room-theatre .t-theatre-portal::before{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#0804178a,transparent 26%,#ff7b7d12 60%,#07051d70),
    linear-gradient(180deg,transparent 12%,#1407190b 43%,#0b0619 78%,#070913 100%);
}
.room-theatre .t-theatre-portal:hover,.room-theatre .t-theatre-portal:focus-visible{
  box-shadow:inset 0 0 0 4px #6a324c,0 0 19px #f5307ca6;
  outline:2px solid #f6bd94;outline-offset:-1px;
}
.room-theatre .t-theatre-transom{
  display:block;height:53px;flex:none;
  border-bottom:9px solid #0a0816;box-shadow:0 4px 0 #7e34537e;
  background:linear-gradient(#03040bd0,#2b143975),var(--pane) center 5%/cover;
  opacity:.9;
}
.room-theatre .t-theatre-glass{
  display:block;flex:1;min-height:235px;
  background-image:linear-gradient(170deg,#69063136,#360b3333 32%,#df14551c 59%,#0b07184d),var(--pane);
  background-position:center,center 40%;background-size:cover;
  filter:saturate(1.18);border-bottom:8px solid #1c0b20;
}
.room-theatre .portal-supporters .t-theatre-glass{filter:saturate(.8) brightness(.54) blur(2px)}
.room-theatre .t-theatre-sign{
  display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:3;
  min-height:126px;gap:7px;padding:16px 8px 17px;
  background:linear-gradient(180deg,#150716e8,#100918f6 55%,#070b17);
  border-top:1px solid #a2536377;text-align:center;text-shadow:0 3px 15px #000;
}
.room-theatre .t-theatre-sign small{font:8px/1.4 Arial,sans-serif;letter-spacing:.22em;color:#d0a9a4}
.room-theatre .t-theatre-sign strong{font:18px/1.15 Georgia,serif;color:#f7c7aa}
.room-theatre .t-theatre-sign span{font:8px/1.5 Arial,sans-serif;letter-spacing:.05em;color:#efd8d0}
.room-theatre .portal-closed .t-theatre-sign span{color:#fac2ae}
.room-theatre .t-theatre-handle{
  position:absolute;z-index:5;top:52%;right:7px;width:4px;height:38px;
  border-radius:6px;background:linear-gradient(90deg,#7e4f37,#f7c18f,#744e44);
  box-shadow:0 1px 9px #000;
}
.room-theatre .t-theatre-pavement{
  height:68px;position:relative;overflow:hidden;border-top:2px solid #623043;
  background:repeating-linear-gradient(168deg,transparent 0 52px,#0b0e21b0 53px 56px),
  radial-gradient(ellipse at 65% 0,#ed23776a,transparent 50%),
  linear-gradient(180deg,#2a1227,#090d1b 93%);
  box-shadow:inset 0 12px 16px #0805138f;
}
.room-theatre .t-theatre-pavement span{display:block;text-align:center;color:#e1799663;font-size:22px;line-height:57px}
.room-theatre .t-theatre-access-note{padding:15px 2px 26px;color:#ddc9cd;font:9px/1.8 Arial,sans-serif;letter-spacing:.1em}
.room-theatre .t-theatre-access-note span{padding:0 7px;color:#e5b389}
/* Lower room description cards remain navigable; presentation aligns with the frontage. */
.room-theatre .section-tag{color:#f2c9b4;border-color:#d5839350}
.room-theatre .theatre-doors{gap:15px;margin:4px 0 33px}
.room-theatre .theatre-door{background:linear-gradient(150deg,#2c142a,#111826 86%);border:1px solid #a86c675c;box-shadow:inset 0 0 22px #0007}
.room-theatre .theatre-door .door-window{height:120px;border:8px solid #301b2b;background:linear-gradient(180deg,#330e3096,#110b1dbb),url('/assets/theatre-glass-public.webp') center 45%/cover}
.room-theatre .theatre-door:nth-child(2) .door-window{background-image:linear-gradient(180deg,#280c3096,#110b1dbb),url('/assets/theatre-glass-members.webp')}
.room-theatre .theatre-door:nth-child(3) .door-window{background-image:linear-gradient(180deg,#130c22ca,#080b19dc),url('/assets/theatre-glass-balcony.webp')}
.room-theatre .theatre-door-info h3{color:#f4c5bd}
.room-theatre .theatre-door-info small,.room-theatre .door-entry{color:#eab498}
.room-theatre .stage-visit{background:linear-gradient(135deg,#211123,#0c1d26);border-color:#a56a6957}
.room-theatre .stage-visit-locked{background:linear-gradient(120deg,#211422,#13232b)}
.room-theatre .stage-visit-open{background:linear-gradient(120deg,#24152e,#152332)}
.room-theatre .transparency{border-color:#c58d8b56}
@media(max-width:1260px){
 .room-theatre .t-theatre-street{grid-template-columns:minmax(175px,.7fr) minmax(0,1.5fr);padding:26px 16px 36px;gap:14px}
 .room-theatre .t-theatre-intro{padding-left:5px}
 .room-theatre .t-theatre-intro h1{font-size:clamp(37px,4vw,54px)}
 .room-theatre .t-theatre-sign strong{font-size:15px}
}
@media(max-width:900px){
 .room-theatre .t-theatre-street{grid-template-columns:1fr;gap:22px}
 .room-theatre .t-theatre-intro{padding:10px 16px 0}
 .room-theatre .t-theatre-intro::before{inset:-10px}
 .room-theatre .t-theatre-intro p{max-width:620px}
 .room-theatre .t-theatre-whisper{margin-top:20px}
 .room-theatre .t-theatre-portals{min-height:370px}
}
@media(max-width:540px){
 .room-theatre .t-theatre-venue{margin:12px -5px 0}
 .room-theatre .t-theatre-canopy{min-height:62px;gap:12px;letter-spacing:.12em}
 .room-theatre .t-theatre-street{padding:22px 11px 27px;gap:23px}
 .room-theatre .t-theatre-intro{padding:3px 8px 0}
 .room-theatre .t-theatre-intro h1{font-size:clamp(42px,11vw,57px)}
 .room-theatre .t-theatre-portals{grid-template-columns:1fr;gap:9px;min-height:0;border-width:6px}
 .room-theatre .t-theatre-portal{flex-direction:row;min-height:150px}
 .room-theatre .t-theatre-transom{display:none}
 .room-theatre .t-theatre-glass{height:auto;min-height:150px;flex:0 0 36%;border-bottom:0;border-right:5px solid #1c0b20}
 .room-theatre .t-theatre-sign{min-height:150px;flex:1;padding:15px 6px}
 .room-theatre .t-theatre-sign strong{font-size:19px}
 .room-theatre .t-theatre-handle{top:54%;right:auto;left:calc(36% - 3px)}
 .room-theatre .t-theatre-pavement{height:35px}
 .room-theatre .t-theatre-pavement span{line-height:30px;font-size:14px}
 .room-theatre .t-theatre-access-note{letter-spacing:.02em}
}
@media(prefers-reduced-motion:reduce){.room-theatre .t-theatre-portal{transition:none}}
