.concert-page{color:#173c37;max-width:1240px;margin:auto;padding:40px 24px 64px}.concert-hero{color:#fffaf0;background:linear-gradient(125deg,#123a34,#17675f);border-radius:24px;padding:40px;position:relative;overflow:hidden}.concert-hero:after{content:"";pointer-events:none;border:1px solid #e8ba6380;border-radius:50%;width:320px;height:320px;position:absolute;top:-180px;right:-100px;box-shadow:0 0 0 32px #e8ba6310,0 0 0 64px #e8ba6310}.concert-hero h1{max-width:750px;color:inherit;margin:12px 0;font-size:clamp(28px,4vw,48px);line-height:1.1}.concert-hero p{max-width:750px;color:inherit;margin:12px 0 0;line-height:1.6}.concert-hero small{color:#ffc56f;letter-spacing:.12em;text-transform:uppercase}.concert-note{color:#684a1a;background:#fff4d9;border-radius:12px;padding:16px 20px;font-size:14px;line-height:1.6}.concert-filters{background:#fffdf7;border:1px solid #d4dfda;border-radius:18px;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px;display:grid}.concert-filters label{color:#173c37;flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.concert-filters select,.concert-filters input{width:100%;min-width:0;height:44px;font:inherit;color:#173c37;background:#fff;border:1px solid #b8cbc3;border-radius:8px;padding:8px 10px}.concert-explorer a,.concert-details a{color:#075f56;text-underline-offset:3px;font-weight:650;text-decoration:underline}.concert-explorer button,.concert-primary{cursor:pointer;color:#075f56;min-height:42px;font:inherit;background:#fff;border:1px solid #abc4bc;border-radius:9px;padding:8px 13px;font-weight:700}.concert-explorer .concert-primary,.concert-details .concert-primary{color:#fff;background:#14675c;border-color:#14675c;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.concert-explorer :focus-visible{outline-offset:3px;outline:3px solid #c85b38}.concert-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:24px 0;font-size:14px;display:flex}.concert-toolbar div{gap:8px;display:flex}.concert-toolbar div a{border:1px solid #abc4bc;border-radius:30px;padding:10px 20px;text-decoration:none;display:inline-block}.concert-toolbar [aria-current=page]{color:#fff;background:#173c37}.concert-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.concert-cards article{background:#fffdf7;border:1px solid #cddad4;border-radius:18px;min-width:0;display:flex;overflow:hidden}.concert-date-block{color:#fff7e4;background:linear-gradient(150deg,#c6492a,#a13726);flex-direction:column;flex:0 0 102px;justify-content:center;align-items:center;gap:6px;width:102px;padding:12px 8px;display:flex}.concert-date-block strong{font-family:var(--font-display),serif;font-size:48px;line-height:1}.concert-date-block span{text-transform:uppercase;font-size:18px}.concert-date-block small{color:#ffe4ae;font-weight:700}.concert-cards article:nth-child(3n+2) .concert-date-block{background:linear-gradient(150deg,#176d60,#133e39)}.concert-cards article:nth-child(3n+3) .concert-date-block{background:linear-gradient(150deg,#88641c,#614711)}.concert-card-body{flex-direction:column;flex:1;min-width:0;padding:20px;display:flex}.concert-card-body h2{color:#173c37;margin:7px 0 10px;font-size:24px;line-height:1.15}.concert-card-body small{color:#52716c;font-size:12px}.concert-card-body p{color:#3e5f59;overflow-wrap:anywhere;margin:4px 0;font-size:13px;line-height:1.5}.concert-card-body .concert-price{color:#173c37;font-weight:750}.concert-card-body .concert-sold{color:#a13726;font-weight:750}.concert-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:16px;font-size:13px;display:flex}.concert-empty{border:1px dashed #abc4bc;border-radius:12px;padding:24px}.concert-calendar-wrap{max-width:100%;overflow:auto}.concert-calendar{background:#cddad4;border:1px solid #cddad4;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-width:720px;padding:1px;display:grid;overflow:hidden}.concert-calendar>b{color:#fff;text-align:center;background:#173c37;padding:12px;font-size:13px}.concert-calendar>div{background:#fffdf7;min-height:94px;padding:8px}.concert-day time{font-size:12px;font-weight:700}.concert-day button{text-align:left;background:#e5efea;border:0;width:100%;margin:7px 0 0;padding:8px;font-size:12px;display:block}.concert-day small{color:#476c63;margin-top:4px;font-size:10px;display:block}.concert-dialog{color:#173c37;background:#fffdf7;border:1px solid #b8cbc3;border-radius:18px;width:calc(100% - 32px);max-width:650px;max-height:85vh;padding:28px;overflow:auto}.concert-dialog::backdrop{background:#092d27b3}.concert-close{float:right}.concert-dialog h2{margin-top:4px;font-size:28px}.concert-details{line-height:1.65}.concert-details li{overflow-wrap:anywhere;margin:10px 0}.concert-details h3{margin-top:28px}@media (max-width:760px){.concert-page{padding:24px 14px 40px}.concert-hero{padding:28px 24px}.concert-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.concert-cards{grid-template-columns:1fr}.concert-date-block{flex-basis:80px;width:80px}.concert-card-body{padding:16px}.concert-card-body h2{font-size:22px}}@media (max-width:600px){.concert-calendar{min-width:0}.concert-calendar>b{padding:8px 2px;font-size:11px}.concert-calendar>div{min-height:76px;padding:4px}.concert-day button{overflow-wrap:anywhere;padding:4px 2px;font-size:10px}.concert-day small{display:none}}@media (prefers-reduced-motion:no-preference){.concert-actions button{transition:background .15s}.concert-actions button:hover{background:#e5efea}}
