.odhf{--r:#c8102e;max-width:1150px;margin:0 auto;font-size:15px}
.odhf-noscript{display:none}
.odhf-now{margin-bottom:18px}
.odhf-now-h{font-weight:800;font-size:1.1rem;margin-bottom:10px}
.odhf-now-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.odhf-mini{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,.09);text-decoration:none;color:#222;transition:transform .2s,box-shadow .2s}
.odhf-mini,.odhf-mini *,.odhf-chip,.odhf-up2-c *{text-decoration:none!important}
.odhf-mini:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(0,0,0,.14)}
.odhf-mimg,.odhf-cimg{background:#eee center/cover no-repeat;aspect-ratio:16/9}
.noimg{display:flex;align-items:center;justify-content:center;font-size:42px;background:linear-gradient(135deg,#ffe7c2,#ffd0d0)}
.noimg.t-Jagannath{background:linear-gradient(135deg,#ffd3d3,#f6a3a3)}.noimg.t-Fair{background:linear-gradient(135deg,#d8e9ff,#b2d0ff)}.noimg.t-Culture{background:linear-gradient(135deg,#eadcff,#cdb5ff)}
.odhf-mb{padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px}
.odhf-mb small{color:var(--r);font-weight:700;font-size:.78rem}.odhf-mb b{font-size:.95rem;line-height:1.3}.odhf-mb i{font-style:normal;font-size:.8rem;color:#666}
.odhf-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}
.odhf-nav{display:flex;align-items:center;gap:8px}
.odhf-nav h2{margin:0 6px;min-width:190px;text-align:center;font-size:1.4rem}
.odhf-nav button{border:1px solid #ddd;background:#fff;border-radius:10px;padding:6px 12px;cursor:pointer;font-size:1rem}
.odhf-prev,.odhf-next{font-size:1.4rem!important;line-height:1}
.odhf-filters{display:flex;flex-wrap:wrap;gap:6px}
.odhf-filters button{border:1px solid #ddd;background:#fff;border-radius:18px;padding:5px 12px;cursor:pointer;font-weight:600;font-size:.85rem}
.odhf-filters button.on{background:var(--r);border-color:var(--r);color:#fff}
.odhf-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #eee;border-radius:14px;overflow:hidden;background:#fff}
.odhf-dow{background:#fafafa;text-align:center;font-weight:700;font-size:.8rem;padding:8px 0;color:#666;border-bottom:1px solid #eee}
.odhf-day{min-width:0;min-height:104px;border-right:1px solid #f1f1f1;border-bottom:1px solid #f1f1f1;padding:4px 5px;display:flex;flex-direction:column;gap:3px}
.odhf-day.out{background:#fcfcfc}.odhf-day.out .odhf-n{color:#bbb}
.odhf-n{font-size:.8rem;font-weight:700;color:#444}
.odhf-day.today .odhf-n{background:var(--r);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.odhf-chip img,.odhf-ce{width:16px;height:16px;border-radius:50%;object-fit:cover;vertical-align:-4px;margin-right:4px;display:inline-block;font-size:11px;line-height:16px;text-align:center}
.odhf-chip{display:block;font-size:.72rem;line-height:1.25;padding:3px 6px;border-radius:6px;color:#222;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid #999}
.odhf-more{font-size:.7rem;color:var(--r)}
.t-Jagannath.odhf-chip,.odhf-card.t-Jagannath .odhf-tag,.odhf-up-i.t-Jagannath .odhf-up-d{background:#ffe1e1;border-color:#c8102e}
.t-Festival.odhf-chip,.odhf-card.t-Festival .odhf-tag,.odhf-up-i.t-Festival .odhf-up-d{background:#fff1d1;border-color:#e0a100}
.t-Fair.odhf-chip,.odhf-card.t-Fair .odhf-tag,.odhf-up-i.t-Fair .odhf-up-d{background:#e1efff;border-color:#2f6fd6}
.t-Culture.odhf-chip,.odhf-card.t-Culture .odhf-tag,.odhf-up-i.t-Culture .odhf-up-d{background:#efe6ff;border-color:#7a4cd6}
.odhf-list{display:none;gap:12px;margin-top:12px}
.odhf-card{position:relative;background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.08);margin-bottom:14px;overflow:hidden}
.odhf-cb{position:relative;padding:12px 16px 14px}
.odhf-date em{font-style:normal;background:#fff1d1;color:#7a5200;border-radius:10px;padding:1px 8px;margin-left:6px;font-size:.78rem}
.odhf-big .odhf-cimg{aspect-ratio:16/8}
.odhf-card h3{margin:4px 0 2px;font-size:1.1rem}
.odhf-date{color:var(--r);font-weight:700;font-size:.88rem}
.odhf-odia{color:#555}.odhf-place{font-size:.9rem;margin:6px 0}
.odhf-card p{margin:4px 0 8px;font-size:.92rem;color:#444}
.odhf-act{display:flex;gap:12px;flex-wrap:wrap;font-weight:600;font-size:.9rem}
.odhf-rem{background:#fff4d6;padding:4px 10px;border-radius:14px;text-decoration:none}
.odhf-tag{position:absolute;top:-14px;right:12px;box-shadow:0 1px 4px rgba(0,0,0,.15);font-size:.7rem;padding:2px 8px;border-radius:10px}
.odhf-empty{color:#777}
.odhf-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.odhf-modal[hidden]{display:none}
.odhf-box{background:#f7f7f7;border-radius:16px;max-width:520px;width:100%;max-height:88vh;overflow:auto;padding:14px;position:relative}
.odhf-box .odhf-card:first-child{margin-top:0}
.odhf-x{position:absolute;top:8px;right:10px;border:0;background:#fff;border-radius:50%;width:32px;height:32px;font-size:20px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2);z-index:2}
@media (max-width:767px){
	.odhf-grid{display:none}.odhf-list{display:block}
	.odhf-nav{width:100%;justify-content:space-between}.odhf-nav h2{min-width:0;font-size:1.2rem}
	.odhf-now-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.odhf-mini{flex:0 0 72%;scroll-snap-align:start}
}
/* upcoming widget (homepage) */
.odhf-up2{--r:#c8102e}
.odhf-up2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.odhf-up2-c{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;text-decoration:none!important;color:#222!important;box-shadow:0 6px 24px rgba(0,0,0,.18);transition:transform .25s,box-shadow .25s}
.odhf-up2-c:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.odhf-up2-img{position:relative;aspect-ratio:4/3;background:#ddd center/cover no-repeat;transition:background-size .4s}
.odhf-up2-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.45))}
.odhf-up2-img.noimg{background:linear-gradient(135deg,#ffe7c2,#ffd0d0)}
.t-Jagannath .odhf-up2-img.noimg{background:linear-gradient(135deg,#ffd3d3,#f39a9a)}.t-Fair .odhf-up2-img.noimg{background:linear-gradient(135deg,#d8e9ff,#a9c9ff)}.t-Culture .odhf-up2-img.noimg{background:linear-gradient(135deg,#eadcff,#c6a9ff)}
.odhf-up2-emo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:64px}
.odhf-up2-date{position:absolute;top:12px;left:12px;z-index:1;background:#fff;border-radius:12px;padding:6px 10px;text-align:center;line-height:1;font-size:.75rem;font-weight:700;text-transform:uppercase;color:var(--r);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.odhf-up2-date b{display:block;font-size:1.5rem;color:#222;margin-bottom:2px}
.odhf-up2-tag{position:absolute;bottom:10px;left:12px;z-index:1;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:rgba(200,16,46,.9);padding:3px 9px;border-radius:10px}
.odhf-up2-b{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.odhf-up2-when{align-self:flex-start;background:#fff1d1;color:#7a5200;font-weight:700;font-size:.75rem;border-radius:10px;padding:2px 9px}
.odhf-up2-b h3{margin:4px 0 0;font-size:1.08rem;line-height:1.3;color:#222}
.odhf-up2-odia{color:#666;font-size:.9rem}.odhf-up2-place{font-size:.85rem;color:#555;margin-top:auto;padding-top:6px}
.odhf-up2-foot{text-align:center;margin-top:26px}
.odhf-up2-all{display:inline-block;background:var(--r);color:#fff!important;font-weight:800;padding:12px 26px;border-radius:30px;text-decoration:none!important;box-shadow:0 6px 18px rgba(200,16,46,.4)}
.odhf-up2-all:hover{filter:brightness(1.07)}
@media (max-width:767px){
	.odhf-up2-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:4px 2px 10px;margin:0 -4px}
	.odhf-up2-c{flex:0 0 78%;scroll-snap-align:start}
}
