*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans Kannada","Nirmala UI",sans-serif;background:#eef6fb;color:#163a72}a{text-decoration:none;color:inherit}.site-header{background:linear-gradient(135deg,#dff5ff,#fff);display:flex;justify-content:space-between;align-items:center;padding:16px max(18px,calc((100% - 1200px)/2));gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{font-size:45px}.brand h1{margin:0;font-size:34px;color:#12458d}.brand p{margin:3px 0;color:#555}.year-switch{display:flex;align-items:center;gap:12px}.year-switch a{background:#0873bf;color:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:30px}.year-switch strong{background:#fff;padding:10px 35px;border-radius:12px;box-shadow:0 2px 10px #aac}.month-nav{max-width:1200px;margin:0 auto;padding:8px;display:flex;gap:6px;overflow-x:auto;background:#e7f4fb}.month-nav a{white-space:nowrap;background:#fff;padding:10px 15px;border-radius:8px;font-weight:700}.month-nav a.active{background:#e52c2c;color:#fff}.container{max-width:1200px;margin:auto;padding:12px}.banner-wrap{max-width:1200px;margin:15px auto}.banner{display:block;margin:14px 0;border-radius:12px;overflow:hidden;background:#ddd}.banner img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}.month-title{display:flex;align-items:center;justify-content:space-between;background:#fff4cc;border:1px solid #e4d69b;border-radius:10px;padding:8px 18px}.month-title h2{margin:0;color:#d92828;font-size:30px}.month-title a{background:#0873bf;color:#fff;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:30px}.calendar-card{display:grid;grid-template-columns:110px repeat(5,1fr);border:1px solid #b9d0df;background:#fff}.weekday-side{background:#086db3;color:white;min-height:115px;padding:12px;text-align:center;border-bottom:1px solid #b9d0df}.weekday-side b{display:block;font-size:22px}.weekday-side small{display:block;margin-top:8px;font-size:12px;line-height:1.5}.weekday-side.sunday{background:#e32c25}.day{min-height:115px;border-left:1px solid #c8dbe8;border-bottom:1px solid #c8dbe8;padding:9px;background:#eef8ff;display:flex;flex-direction:column;align-items:flex-end}.day strong{font-size:32px}.day .festival-dot{align-self:stretch;font-size:12px;color:#c62525;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day.today{background:#fff0f0;outline:3px solid #e22 inset}.day.empty{background:#f7fbfd}.info-card{background:#fff;border-radius:14px;padding:20px;margin:18px 0;box-shadow:0 2px 10px #bdd0dc}.eyebrow{color:#e02c2c;font-weight:700}.info-card h2{margin:4px 0}.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.info-grid div{background:#f0f7fc;padding:14px;border-radius:10px}.info-grid span{display:block;font-size:12px;color:#666;margin-top:5px}.simple-header{display:flex;gap:18px;align-items:center;padding:15px max(18px,calc((100% - 1200px)/2));background:#fff}.simple-header a{font-size:32px}.simple-header h1{margin:0}.detail-hero{display:flex;align-items:center;gap:20px;background:#fff;padding:20px;border-radius:14px}.detail-hero>span{font-size:55px;font-weight:800;color:#e02c2c}.detail-hero h2{margin:0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.detail-box{background:#fff;padding:18px;border-radius:14px;box-shadow:0 2px 8px #cbd9e1}.detail-box h3{margin-top:0;color:#c62828}.festival-row{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #eee}.festival-row span{font-size:12px;color:#777}footer{background:#073b73;color:#fff;padding:25px max(18px,calc((100% - 1200px)/2));display:flex;justify-content:space-between;margin-top:30px}@media(max-width:700px){.site-header{padding:10px 12px}.brand h1{font-size:22px}.brand p{font-size:10px}.brand-icon{font-size:30px}.year-switch a{width:32px;height:32px;font-size:24px}.year-switch strong{padding:7px 13px}.month-nav{padding:6px}.month-nav a{padding:8px 10px;font-size:13px}.calendar-card{grid-template-columns:70px repeat(5,minmax(55px,1fr));overflow-x:auto}.weekday-side{min-height:95px;padding:7px}.weekday-side b{font-size:16px}.weekday-side small{font-size:9px}.day{min-height:95px;padding:6px}.day strong{font-size:23px}.day .festival-dot{font-size:9px}.month-title h2{font-size:22px}.info-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.banner img{max-height:150px}footer{display:block;font-size:12px}footer span{display:block;margin-top:10px}}
