/* Event announcement: larger artwork, concise copy, preserved homepage. */
.pleinair-announcement {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px 24px;
    margin: 4px 0 10px;
    padding: 10px 12px 10px 28px;
    border: 1px solid #baa27c;
    position: relative;
    background: #173c35;
    box-shadow: 0 4px 12px rgba(63,48,30,.1);
}
.pleinair-announcement::before { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(220,195,154,.38); pointer-events: none; }
.pleinair-announcement-copy { min-width: 0; }
.pleinair-announcement-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 14px;
    color: #dcc39a;
    font-size: 10px;
    line-height: 1.3;
    font-weight: 650;
    letter-spacing: 1.7px;
    text-transform: uppercase;
}
.pleinair-announcement-label { padding: 5px 9px; border: 1px solid #b88167; background: #914936; color: #fff2dd; font-size: 9px; letter-spacing: 1.4px; }
.pleinair-announcement-season { font-size: 13px; letter-spacing: 2px; }
.pleinair-announcement-soon { grid-column: 1 / -1; margin: 0; padding: 12px 0 8px; border-top: 1px solid rgba(220,195,154,.28); text-align: center; line-height: 1.05; }
.pleinair-announcement-soon-text { display: block; color: #dcc39a; font-family: var(--serif); font-size: 52px; font-style: italic; font-weight: 400; letter-spacing: -.5px; }
.pleinair-announcement h2 {
    margin: 0;
    color: #f3eddf;
    font-family: var(--serif);
    font-size: clamp(30px,3.2vw,44px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.8px;
}
.pleinair-announcement h2 em { display: block; color: #dcc39a; font-weight: 400; }
.pleinair-announcement-art {
    display: block;
    width: auto;
    height: 168px;
    max-width: 100%;
    padding: 4px;
    border: 1px solid #c8b38f;
    background: #f3eddf;
    object-fit: contain;
    box-shadow: 0 3px 10px rgba(0,0,0,.18);
}
@media (min-width: 701px) {
    .has-pleinair-announcement .page-shell { height: auto; min-height: 100vh; min-height: 100dvh; }
    .has-pleinair-announcement #main { grid-template-rows: auto auto auto; }
    .has-pleinair-announcement .entrances { max-height: none; }
    .has-pleinair-announcement .entrance-art,
    .has-pleinair-announcement .art-plate,
    .has-pleinair-announcement .painting { height: auto; }
    .pleinair-announcement-art { height: 168px; }
}
@media (min-width: 701px) and (max-height: 600px) {
    .has-pleinair-announcement .page-shell { height: auto; min-height: 100dvh; }
    .has-pleinair-announcement #main { grid-template-rows: auto auto auto; }
    .has-pleinair-announcement .painting { height: auto; }
    .pleinair-announcement { padding-top: 8px; padding-bottom: 8px; }
    .pleinair-announcement h2 { font-size: 28px; }
}
@media (max-width: 700px) {
    .pleinair-announcement { grid-template-columns: minmax(0,1fr); gap: 12px; margin: 5px 0 15px; padding: 13px; }
    .pleinair-announcement-copy { text-align: center; }
    .pleinair-announcement-kicker { justify-content: center; gap: 10px; margin-bottom: 8px; font-size: 9px; letter-spacing: 1.2px; }
    .pleinair-announcement-label { padding: 4px 7px; font-size: 8px; letter-spacing: 1px; }
    .pleinair-announcement-season { font-size: 12px; letter-spacing: 1.5px; }
    .pleinair-announcement-soon-text { font-size: 40px; }
    .pleinair-announcement h2 { font-size: clamp(25px,6.7vw,32px); line-height: 1.08; letter-spacing: -.5px; }
    .pleinair-announcement h2 em { display: inline; }
    .pleinair-announcement-art { width: 100%; max-width: 360px; justify-self: center; height: auto; padding: 3px; }
}
@media (max-width: 350px) {
    .pleinair-announcement { gap: 10px; padding-left: 13px; padding-right: 9px; }
    .pleinair-announcement h2 { font-size: 25px; }
}
