/*
Theme Name: Опера — редактируемый сайт
Theme URI: https://karaokeomsk.ru/
Description: Классическая тема для караоке-бара «Опера». Контент редактируется через записи и ACF.
 Version: 1.7.0
Author: Opera
Text Domain: opera
*/
.opera-card-arrow-icon{position:absolute;right:18px;bottom:14px;z-index:3;width:42px;height:42px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;font-size:28px;color:#fff}.opera-song-kicker{color:var(--accent2);letter-spacing:.18em;font-size:14px}.opera-song-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.opera-song-actions button,.opera-song-tools button{background:var(--accent2)!important;border:1px solid var(--accent2)!important;color:#fff!important;padding:13px 20px!important;font:500 16px/1.2 Arial,sans-serif!important;cursor:pointer}.opera-song-tools input{border-color:var(--accent2)!important}
.opera-hero h1 em{display:block;color:var(--accent2);font-style:italic}
:root{--bg:#070a0c;--surface:#0c1013;--ink:#f7f2ec;--muted:#a9a3a0;--line:#2c3034;--accent:#a21e78;--accent2:#d057ac}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;color:inherit}.opera-site{min-height:100vh;background:radial-gradient(circle at 70% 5%,#11151a 0,transparent 28%),var(--bg)}
.opera-header{height:86px;padding:0 clamp(22px,5vw,82px);display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:30px;position:sticky;top:0;z-index:20;background:rgba(5,8,10,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}.opera-logo{display:block}.opera-logo img{display:block;width:126px;height:48px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}.opera-nav{display:flex;justify-content:center;gap:28px}.opera-nav a{text-decoration:none;font-size:14px}.opera-nav a:hover{color:var(--accent2)}.opera-cta{background:linear-gradient(110deg,#8f1a6b,#ad2b84);padding:13px 20px;text-decoration:none;font-size:13px}.opera-cta:hover{background:#bd338f}
.opera-hero{min-height:650px;padding:120px clamp(24px,6.5vw,105px) 80px;display:flex;align-items:end;background-position:center;background-size:cover;position:relative}.opera-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,8,.98),rgba(5,7,8,.68) 42%,rgba(5,7,8,.18) 74%,rgba(5,7,8,.5)),linear-gradient(0deg,#080b0d 0,transparent 34%)}.opera-hero>div{position:relative;max-width:620px}.opera-hero h1{font:500 clamp(62px,7vw,108px)/.88 Georgia,serif;margin:0 0 26px;letter-spacing:-.04em}.opera-hero h1 em{color:var(--accent2)}.opera-hero p{color:#c9c3bf;line-height:1.7;max-width:510px}.opera-button{display:inline-block;background:linear-gradient(110deg,#8f1a6b,#ad2b84);padding:16px 24px;text-decoration:none;margin-top:14px}.opera-section{padding:56px clamp(24px,6.5vw,105px);border-top:1px solid rgba(255,255,255,.05)}.opera-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.opera-section-title h2{font:500 clamp(44px,4vw,64px) Georgia,serif;margin:0}.opera-grid{display:grid;gap:18px}.opera-grid-4{grid-template-columns:repeat(4,1fr)}.opera-grid-3{grid-template-columns:repeat(3,1fr)}.opera-card{position:relative;overflow:hidden;border:1px solid var(--line);background:#0d1114;min-height:270px}.opera-card img{width:100%;height:100%;min-height:270px;object-fit:cover}.opera-card:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(4,6,7,.96))}.opera-card-content{position:absolute;z-index:2;left:20px;right:20px;bottom:18px}.opera-card-content small{color:var(--accent2)}.opera-card-content h3{font:500 28px Georgia,serif;margin:8px 0}.opera-footer{margin:0 clamp(24px,6.5vw,105px);padding:30px 0 42px;border-top:1px solid var(--line);display:grid;grid-template-columns:160px repeat(3,1fr);gap:30px;color:#bdb7b3;font-size:14px}.opera-footer p{margin:0;line-height:1.6}.opera-footer a{text-decoration:none}.opera-footer a:hover{color:#fff}
.opera-inner{padding:60px clamp(24px,6.5vw,105px)}.opera-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.opera-detail-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#0b0f12;text-decoration:none}.opera-detail-card img{width:100%;height:330px;object-fit:cover}.opera-detail-card div{padding:22px;display:flex;flex-direction:column;flex:1}.opera-detail-card h2{font:500 38px Georgia,serif;margin:0 0 10px}.opera-detail-card p{color:var(--muted);line-height:1.6}.opera-detail-card span{margin-top:auto;color:var(--accent2)}.opera-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.opera-menu-grid figure{margin:0;border:1px solid var(--line);background:#0d1013;overflow:hidden}.opera-menu-grid img{display:block;width:100%;height:auto}.opera-hall-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}.opera-hall-facts div{padding:18px;background:#101417;border:1px solid var(--line)}.opera-hall-facts span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.opera-hall-facts strong{font-size:15px;line-height:1.45;font-weight:500}.opera-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin-top:28px}.opera-gallery img{width:100%;height:340px;object-fit:cover}
@media(max-width:980px){.opera-header{grid-template-columns:140px 1fr auto;gap:16px}.opera-nav{gap:12px}.opera-nav a{font-size:12px}.opera-grid-4{grid-template-columns:repeat(2,1fr)}.opera-menu-grid{grid-template-columns:repeat(3,1fr)}.opera-footer{grid-template-columns:1fr 1fr}.opera-gallery{grid-template-columns:1fr 1fr}.opera-gallery img:first-child{grid-column:1/-1}}
@media(max-width:680px){.opera-header{height:auto;min-height:72px;padding:12px 18px;grid-template-columns:1fr auto;grid-template-areas:'logo cta' 'nav nav';row-gap:8px}.opera-header .opera-logo{grid-area:logo}.opera-header .opera-nav{grid-area:nav;justify-content:flex-start;flex-wrap:wrap;gap:5px 14px}.opera-cta{grid-area:cta;padding:10px 12px;font-size:12px}.opera-hero{min-height:620px;padding:80px 22px 70px}.opera-hero h1{font-size:62px}.opera-section{padding:42px 18px}.opera-grid-4,.opera-grid-3,.opera-detail-grid{grid-template-columns:1fr}.opera-card{min-height:300px}.opera-menu-grid{grid-template-columns:repeat(2,1fr);gap:10px}.opera-inner{padding:42px 18px}.opera-detail-card img{height:270px}.opera-gallery{grid-template-columns:1fr}.opera-gallery img,.opera-gallery img:first-child{height:260px;grid-column:auto}.opera-hall-facts{grid-template-columns:1fr}.opera-footer{margin:0 18px;grid-template-columns:1fr;gap:20px}}
.opera-song-subtitle{font-size:18px;line-height:1.55;color:#c9c3bf;max-width:760px;margin:0 0 22px}.opera-song-note{font-size:18px;line-height:1.55;color:#c9c3bf;margin-top:42px}
.opera-songs-page h1{font:500 clamp(44px,4vw,64px) Georgia,serif;margin:0 0 18px}.opera-song-tools{display:flex;gap:12px;align-items:center;max-width:720px}.opera-song-tools input{flex:1;padding:14px;background:#101417;border:1px solid #353a3e;color:#fff}.opera-song-tools button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:12px 18px!important;background:#151515!important;border:1px solid #c89b3c!important;border-radius:4px;color:#fff!important;font:600 16px/1.2 Arial,sans-serif!important;cursor:pointer;white-space:nowrap}.opera-songs-page .opera-song-note{font-size:14px;margin-top:18px}
@media(max-width:600px){.opera-songs-page .opera-song-tools{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;max-width:none!important}.opera-songs-page .opera-song-tools input{grid-column:1/-1;width:100%;box-sizing:border-box}.opera-songs-page .opera-song-tools button{width:100%!important}}
.opera-song-tools button{background:var(--accent2)!important;border-color:var(--accent2)!important;color:#fff!important}.opera-back{display:inline-block;color:var(--accent2);text-decoration:none;margin-bottom:20px}.opera-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.opera-lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.opera-lightbox button{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:42px;cursor:pointer}
/* Prevent hall galleries from creating horizontal overflow on narrow screens. */
img{max-width:100%;height:auto}.opera-gallery{width:100%;max-width:100%;min-width:0;overflow:hidden}.opera-gallery a{display:block;max-width:100%;min-width:0;overflow:hidden}.opera-gallery img{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:680px){.opera-gallery,.opera-gallery a,.opera-gallery img{max-width:calc(100vw - 36px)}.opera-gallery img{height:260px!important;object-fit:cover}}.opera-lightbox-prev,.opera-lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.7);color:#fff;width:48px;height:64px;font-size:46px;line-height:1;cursor:pointer}.opera-lightbox-prev{left:18px}.opera-lightbox-next{right:18px}


/* Improve event date readability */
.opera-event-card .opera-card-content small { font-size: 18px; font-weight: 600; text-shadow: 0 1px 2px rgba(0,0,0,.95), 0 0 1px rgba(255,255,255,.8); }
@media (max-width:680px){ .opera-event-card .opera-card-content small { font-size: 17px; } }

/* Larger event date with black outline */
.opera-card-content small {
  font-size: 22px;
  font-weight: 700;
  color: var(--accent2);
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 2px 3px rgba(0,0,0,.9);
}
@media (max-width:680px){ .opera-card-content small { font-size: 20px; } }

/* Ensure archive cards use the larger outlined date */
.opera-event-card .opera-card-content small { font-size: 22px; font-weight: 700; color: var(--accent2); text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 2px 3px rgba(0,0,0,.9); }
@media (max-width:680px){ .opera-event-card .opera-card-content small { font-size: 20px; } }