/* Inner-page blocks for the New Year page (light sunrise theme) */
.ny-eyebrow { font-size: .76rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: #0E8A94; margin: 0 0 8px; }

.ny-icon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; margin-top: 30px; }
.ny-icon-card { background: #fff; border: 1px solid #F3E3C8; border-radius: 18px; padding: 22px 20px; box-shadow: 0 10px 26px rgba(27,42,58,.08); transition: transform .25s ease; }
.ny-icon-card:hover { transform: translateY(-5px); }
.ny-icon-card i { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; color: #fff; margin-bottom: 12px; background: linear-gradient(135deg, #FF6B57, #FF9A5A); }
.ny-icon-card:nth-child(3n+2) i { background: linear-gradient(135deg, #0E8A94, #3BB5BE); }
.ny-icon-card:nth-child(3n) i { background: linear-gradient(135deg, #E8B93C, #F6D06B); color: #1B2A3A; }
.ny-icon-card h3 { font-size: 1rem; margin: 0 0 6px; text-transform: none; letter-spacing: 0; }
.ny-icon-card p { margin: 0; font-size: .88rem; color: #55677A; }

.ny-reserve { max-width: 760px; margin: 28px auto 0; background: #fff; border: 1px solid #F3E3C8; border-radius: 24px; padding: 24px 20px; box-shadow: 0 16px 40px rgba(27,42,58,.1); text-align: center; }
.ny-step { margin-bottom: 18px; }
.ny-step-label { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #B8821A; margin-bottom: 8px; }
.ny-pills { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.ny-pill-btn { padding: 10px 16px; border-radius: 999px; border: 1.5px solid #F0D9AE; background: #FFF8EC; color: #1B2A3A; font-weight: 700; font-size: .86rem; cursor: pointer; transition: all .2s ease; font-family: inherit; }
.ny-pill-btn.active { background: #FF6B57; border-color: #FF6B57; color: #fff; box-shadow: 0 6px 16px rgba(255,107,87,.35); }
.ny-reserve-btn { display: inline-flex !important; width: auto !important; padding: 14px 30px !important; }
.ny-note { margin: 12px 0 0; font-size: .8rem; color: #55677A; }

.ny-menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin-top: 30px; }
.ny-menu-box { background: #fff; border: 1px solid #F3E3C8; border-radius: 18px; padding: 20px; box-shadow: 0 8px 22px rgba(27,42,58,.07); }
.ny-menu-box h3 { font-size: .9rem; margin: 0 0 10px; color: #FF6B57; letter-spacing: .08em; display: flex; align-items: center; gap: 8px; }
.ny-menu-box ul { list-style: none; margin: 0; padding: 0; }
.ny-menu-box li { font-size: .88rem; color: #1B2A3A; padding: 4px 0 4px 16px; position: relative; }
.ny-menu-box li::before { content: ''; position: absolute; left: 0; top: 12px; width: 6px; height: 6px; border-radius: 50%; background: #E8B93C; }

.ny-faq { margin-top: 26px; display: grid; gap: 10px; }
.ny-faq details { background: #fff; border: 1px solid #F3E3C8; border-radius: 16px; padding: 0 18px; box-shadow: 0 6px 16px rgba(27,42,58,.06); }
.ny-faq summary { cursor: pointer; padding: 16px 0; font-weight: 800; color: #1B2A3A; list-style: none; display: flex; justify-content: space-between; gap: 12px; font-family: var(--font-heading, inherit); font-size: .95rem; }
.ny-faq summary::-webkit-details-marker { display: none; }
.ny-faq summary::after { content: '+'; color: #FF6B57; font-size: 1.4rem; line-height: 1; }
.ny-faq details[open] summary::after { content: '\2212'; }
.ny-faq details p { margin: 0 0 16px; color: #55677A; font-size: .92rem; }
