/* Bengali almanac visual system and print/download UI */
:root{
  --brand:#df1f26;
  --brand-dark:#9d1017;
  --brand-soft:#fff0f0;
  --calendar-blue:#123b88;
  --calendar-blue-dark:#08275f;
  --calendar-yellow:#ffd44d;
  --calendar-paper:#fffef5;
  --calendar-cream:#fff7dc;
  --calendar-ink:#171717;
  --gold:#d89b16;
  --green:#176547;
  --line:#e7cbb4;
  --ink:#221611;
  --muted:#6f5f57;
}
body.theme-authentic-calendar{
  background:
    linear-gradient(rgba(255,255,255,.74),rgba(255,255,255,.74)),
    repeating-linear-gradient(0deg,rgba(223,31,38,.025) 0,rgba(223,31,38,.025) 1px,transparent 1px,transparent 24px),
    #fff8e8;
}
body.theme-authentic-calendar:before{opacity:.08;background-size:18px 18px}

/* Header inspired by printed Bengali calendar covers */
.festival-ribbon{
  gap:10px;
  padding:8px 14px;
  color:#fff;
  background:linear-gradient(90deg,#c70e16,#ed2229 50%,#c70e16);
  border-bottom:3px solid var(--calendar-yellow);
  letter-spacing:0;
  box-shadow:inset 0 -1px rgba(0,0,0,.12);
}
.festival-ribbon b{font-size:.9rem;letter-spacing:.02em}
.festival-ribbon small{padding-left:10px;border-left:1px solid rgba(255,255,255,.5);font-size:.68rem;font-weight:800;letter-spacing:.05em}
.festival-ribbon span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-weight:900;opacity:1}
.site-header{background:rgba(255,254,247,.98);border-bottom:0;box-shadow:0 7px 24px rgba(28,28,35,.12)}
.header-shell{border-bottom:1px solid #efd4b5}
.nav-bar{background:linear-gradient(90deg,var(--calendar-blue-dark),var(--calendar-blue),var(--calendar-blue-dark));border-top:4px solid var(--calendar-yellow);border-bottom:3px solid var(--brand)}
.nav-menu{min-height:62px}
.nav-menu a{min-height:48px;padding:7px 12px;color:#fff;line-height:1.05}
.nav-menu a:hover,.nav-menu a.is-active{background:#fff;color:var(--calendar-blue-dark);box-shadow:0 4px 0 var(--calendar-yellow)}
.nav-menu a:hover .fa,.nav-menu a.is-active .fa{color:var(--brand)}
.nav-label{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.nav-label-bn{font-size:.86rem;font-weight:900;white-space:nowrap}
.nav-label small{color:inherit;font-size:.58rem;font-weight:800;letter-spacing:.04em;opacity:.82;white-space:nowrap}
.mobile-menu-title{display:flex;flex-direction:column;line-height:1.1;color:var(--brand-dark)}
.mobile-menu-title small{margin-top:4px;color:var(--calendar-blue);font-size:.68rem}
.mobile-menu a .nav-label{align-items:flex-start}
.today-strip{background:#fff;border:2px solid var(--brand);border-radius:8px;box-shadow:4px 4px 0 rgba(18,59,136,.12)}
.today-icon{background:var(--calendar-blue);border-radius:6px}
.today-bangla{color:var(--brand);font-size:.94rem}

/* Home hero */
.home-hero{
  border:3px solid var(--brand);
  border-radius:16px;
  background:
    linear-gradient(90deg,rgba(255,212,77,.16),transparent 35%),
    linear-gradient(135deg,#fffef8,#fff7d9 58%,#fff0f1);
  box-shadow:0 8px 0 rgba(18,59,136,.11),0 24px 44px rgba(76,24,20,.11);
}
.home-hero:before,.home-hero:after{border-color:rgba(223,31,38,.17)}
.home-hero .main-title{color:var(--brand);text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(18,59,136,.13)}
.home-hero .main-title small{color:var(--calendar-blue-dark)}
.hero-seal{border-color:var(--brand);background:#fff;border-radius:12px;transform:rotate(-2deg);box-shadow:inset 0 0 0 6px #fff7c6,6px 6px 0 rgba(18,59,136,.18)}
.hero-seal span{color:var(--brand)}
.hero-seal small{color:var(--calendar-blue)}
.primary-action{background:var(--brand);border:2px solid var(--brand-dark);box-shadow:3px 3px 0 var(--calendar-yellow)}
.secondary-action{color:var(--calendar-blue);border:2px solid var(--calendar-blue);box-shadow:3px 3px 0 rgba(223,31,38,.15)}
.hero-benglish{margin-top:-7px!important;color:var(--calendar-blue)!important;font-size:.86rem!important;font-weight:700}

/* Simple search placed directly before the calendar */
.simple-home-search{margin:22px auto 12px;max-width:900px}
.simple-search-form{display:block;padding:16px;background:#fff;border:1px solid #e5c9b3;border-radius:12px;box-shadow:0 8px 24px rgba(62,35,22,.08)}
.simple-search-form>label{display:flex;align-items:baseline;gap:9px;margin-bottom:8px;color:var(--brand-dark)}
.simple-search-form>label strong{color:var(--brand-dark);font-size:1rem}
.simple-search-form>label small{color:var(--calendar-blue);font-size:.72rem;font-weight:800}
.simple-search-row{display:flex;align-items:stretch}
.simple-search-row input{height:48px;padding:0 15px;border:2px solid var(--calendar-blue);border-right:0;border-radius:8px 0 0 8px;background:#fff}
.simple-search-row button{display:flex;align-items:center;gap:7px;min-width:118px;padding:0 16px;border-radius:0 8px 8px 0;background:var(--calendar-blue)}
.simple-search-row button small{font-size:.64rem;opacity:.82}
.simple-search-form .search-suggestions{top:calc(100% + 6px)}

/* Bengali + Benglish assistance */
.benglish-line{display:block;margin:-10px 0 14px;color:var(--calendar-blue);font-size:.78rem;font-weight:800;letter-spacing:.015em}
.section-heading .benglish-line{margin:-2px 0 8px}
.calendar-data-section .benglish-line{margin:-12px 0 14px;color:#5d3c34}
.month-editorial-intro .benglish-line,.authentic-card .benglish-line,.page-lead .benglish-line{margin:-4px 0 10px}
.quick-links-grid strong{display:flex;flex-direction:column;line-height:1.2}
.quick-links-grid strong small{margin-top:4px;color:#ffd98a;font-size:.66rem}
.footer-benglish{margin-top:4px!important;color:#ffd5a2!important;font-size:.78rem!important;font-weight:700}

/* Print and download toolbar */
.calendar-tools{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,2fr);gap:16px;align-items:center;margin:18px 0 24px;padding:15px;border:2px solid var(--calendar-blue);border-radius:12px;background:linear-gradient(135deg,#fff,#fff9dc);box-shadow:5px 5px 0 rgba(223,31,38,.12)}
.calendar-tools-copy{display:flex;flex-direction:column;line-height:1.25}
.calendar-tools-copy strong{color:var(--brand);font-size:1rem}
.calendar-tools-copy small{margin-top:5px;color:var(--calendar-blue);font-size:.71rem;font-weight:750}
.calendar-tools-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.calendar-tool-button{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-height:52px;padding:8px 10px;border:1px solid var(--calendar-blue);border-radius:8px;background:#fff;color:var(--calendar-blue-dark);cursor:pointer;text-align:left;line-height:1.08;transition:transform .16s,box-shadow .16s,background-color .16s}
.calendar-tool-button:hover{transform:translateY(-2px);background:#fff9d9;box-shadow:0 5px 0 rgba(18,59,136,.14)}
.calendar-tool-button .fa{grid-row:1/3;color:var(--brand);font-size:1.05rem}
.calendar-tool-button span{font-size:.75rem;font-weight:900}
.calendar-tool-button small{font-size:.58rem;font-weight:800;color:#6d5d55}
.calendar-tool-button.is-working{opacity:.58;pointer-events:none}
.calendar-tool-message{grid-column:1/-1;margin:7px 0 0;color:var(--brand-dark);font-size:.8rem;font-weight:800}

/* Authentic calendar grid */
.current-month-live-head{border:2px solid var(--brand);border-radius:10px;background:#fff;box-shadow:4px 4px 0 rgba(18,59,136,.12)}
.current-month-live-head:after{color:rgba(223,31,38,.15)}
.current-month-page-link{border-radius:6px;background:var(--calendar-blue);box-shadow:3px 3px 0 var(--calendar-yellow)}
.static-bangla-calendar{padding:12px;border:3px solid var(--brand);border-radius:10px;background:var(--calendar-paper);box-shadow:7px 7px 0 rgba(18,59,136,.13)}
.static-calendar-head{margin:-12px -12px 10px;padding:16px 16px 14px;background:linear-gradient(90deg,var(--brand),#f3353c);border-bottom:5px solid var(--calendar-yellow);color:#fff;align-items:center}
.static-calendar-head .eyebrow,.static-calendar-head h2,.static-calendar-head h2 small,.static-calendar-head>span{color:#fff}
.static-calendar-head h2{font-size:clamp(1.35rem,3vw,2rem);text-shadow:1px 1px 0 rgba(0,0,0,.23)}
.weekdays,.bangla-day-grid{gap:2px}
.weekdays{border:2px solid var(--calendar-blue);border-bottom:0;background:var(--calendar-blue)}
.weekdays b{display:flex;flex-direction:column;justify-content:center;min-height:46px;padding:5px 2px;border-radius:0;background:var(--calendar-blue);color:#fff;border-right:1px solid rgba(255,255,255,.35);line-height:1.06}
.weekdays b:first-child{background:var(--brand)}
.weekdays b:last-child{background:var(--calendar-blue-dark)}
.weekdays b small{margin-top:3px;color:var(--calendar-yellow);font-size:.56rem;letter-spacing:.02em}
.bangla-day-grid{margin-top:0;padding:2px;border:2px solid var(--calendar-blue);background:var(--calendar-blue)}
.bangla-day-cell,.calendar-blank{min-height:96px;padding:8px;border:0;border-radius:0;background:#fff;box-shadow:none}
.calendar-blank{background:#fff8df}
.bangla-day-cell{outline:1px solid #c7d1e9;outline-offset:-1px}
.bangla-day-cell:hover{outline:3px solid var(--calendar-yellow);z-index:1;box-shadow:none}
.bangla-day-cell.is-today{border:0;background:#fff3a8;outline:3px solid var(--brand);box-shadow:inset 0 0 0 2px #fff}
.bn-day{color:var(--calendar-blue);font-size:1.55rem;line-height:1;font-family:"Noto Sans Bengali","Nirmala UI",sans-serif}
.bangla-day-grid>article:nth-child(7n+1) .bn-day{color:var(--brand)}
.bangla-day-grid>article:nth-child(7n) .bn-day{color:var(--calendar-blue-dark)}
.en-day{color:var(--brand-dark);font-size:.67rem}
.bangla-day-cell small{color:#4e4e4e;font-size:.62rem}

/* Month cards, tables, and information */
.month-button-grid a{border:2px solid var(--calendar-blue);border-radius:8px;background:#fff;box-shadow:3px 3px 0 rgba(223,31,38,.12)}
.month-button-grid a:hover{border-color:var(--brand);box-shadow:4px 4px 0 var(--calendar-yellow)}
.month-button-grid span{color:var(--brand)}
.quick-links-grid a{border:2px solid var(--calendar-yellow);border-radius:9px;background:var(--calendar-blue-dark);box-shadow:4px 4px 0 rgba(223,31,38,.22)}
.calendar-data-section{padding:18px;border:2px solid var(--calendar-blue);border-radius:10px;background:#fff;box-shadow:5px 5px 0 rgba(223,31,38,.1)}
.calendar-data-section>h2{margin:-18px -18px 18px;padding:13px 16px;color:#fff;background:var(--brand);border-bottom:4px solid var(--calendar-yellow);font-size:1.25rem}
.calendar-data-section>h2:before{display:none!important}
.table-wrapper{border:2px solid var(--calendar-blue);border-radius:4px}
.table-wrapper table{border-collapse:collapse}
.table-wrapper th,.table-wrapper td{border:1px solid #adb9d6}
.table-wrapper thead th,.extra-content>table th{background:var(--calendar-blue);color:#fff}
.table-wrapper thead th:first-child{background:var(--brand)}
.table-wrapper tbody tr:nth-child(even) td{background:#fff9df}
.table-wrapper tbody tr:hover td{background:#fff0ae}
.month-editorial-intro,.authentic-card,.page-lead{border:2px solid #d9a867;border-radius:10px;background:#fffdf2;box-shadow:4px 4px 0 rgba(18,59,136,.1)}
.main-title{border:3px solid var(--brand);border-radius:10px;background:#fffdf0;color:var(--brand);box-shadow:5px 5px 0 rgba(18,59,136,.14)}
.main-title small{color:var(--calendar-blue)}
.month-page-nav a{border-radius:7px;background:var(--calendar-blue);box-shadow:2px 2px 0 var(--calendar-yellow)}
.month-facts div{border:2px solid #d9a867;border-radius:8px;background:#fffdf2;box-shadow:3px 3px 0 rgba(18,59,136,.08)}

/* Footer */
.site-footer{border-top:5px solid var(--calendar-yellow);background:linear-gradient(135deg,var(--calendar-blue-dark),#0a326f);color:#fff}
.footer-links a{border-color:rgba(255,212,77,.35);border-radius:7px}
.footer-links a:hover{background:var(--brand);border-color:#fff}
.footer-links .fa{color:var(--calendar-yellow)}

/* Downloaded/printed document support */
.print-source-note{margin:8px 0 18px;padding:9px 11px;border:1px solid #d8b87a;background:#fff8dc;color:#4c3a22;font-size:10pt}

@media(max-width:1080px){
  .calendar-tools{grid-template-columns:1fr}
  .calendar-tools-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .festival-ribbon small{display:none}
  .calendar-tools{margin-top:15px}
  .simple-home-search{margin-top:16px}
}
@media(max-width:600px){
  .festival-ribbon{gap:6px;padding:6px 8px}
  .festival-ribbon span{width:22px;height:22px;font-size:.68rem}
  .festival-ribbon b{font-size:.74rem}
  .simple-search-form{padding:12px}
  .simple-search-form>label{display:block}
  .simple-search-form>label small{display:block;margin-top:2px}
  .simple-search-row{display:grid;grid-template-columns:1fr auto}
  .simple-search-row input{min-width:0;height:45px;padding:0 10px}
  .simple-search-row button{min-width:86px;padding:0 9px}
  .simple-search-row button small{display:none}
  .calendar-tools{padding:11px;border-radius:8px}
  .calendar-tools-actions{grid-template-columns:1fr}
  .calendar-tool-button{min-height:48px}
.static-bangla-calendar{padding:6px;box-shadow:4px 4px 0 rgba(18,59,136,.13)}
  .static-calendar-head{margin:-6px -6px 6px;padding:12px 9px}
  .weekdays b{min-height:42px;font-size:.62rem}
  .weekdays b small{font-size:.45rem}
  .bangla-day-cell,.calendar-blank{min-height:65px;padding:4px}
  .bn-day{font-size:1.08rem}
  .en-day{font-size:.52rem}
  .bangla-day-cell small{font-size:.45rem;line-height:1.06}
  .calendar-data-section>h2{margin:-14px -14px 14px;padding:11px 12px;font-size:1.05rem}
  .calendar-data-section{padding:14px}
  .benglish-line{font-size:.7rem}
  .nav-label small{font-size:.54rem}
}

@media print{
  @page{size:A4 portrait;margin:9mm}
  body{background:#fff!important;color:#000!important;font-size:10pt}
  body:before,.site-header,.site-footer,.scroll-top,.no-print,.adsbygoogle,.search-suggestions{display:none!important}
  .site-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .main-title,.static-bangla-calendar,.calendar-data-section,.authentic-card,.month-editorial-intro,.page-lead,.table-wrapper{box-shadow:none!important}
  .current-month-panel{display:block!important;break-after:page}
  .current-month-panel:last-child{break-after:auto}
  .static-bangla-calendar{break-inside:avoid;border-width:1.5px!important}
  .calendar-data-section{break-inside:auto;border-width:1px!important}
  .calendar-data-section>h2{color:#000!important;background:#fff!important;border:1px solid #000!important}
  .table-wrapper{overflow:visible!important;border-color:#000!important}
  table{width:100%!important;table-layout:fixed!important;font-size:8.5pt!important}
  th,td{padding:4px!important;border-color:#777!important}
  .weekdays b{color:#000!important;background:#fff!important;border:1px solid #777!important}
  .weekdays b small{color:#333!important}
  .bangla-day-grid{border-color:#777!important;background:#777!important}
  .bangla-day-cell,.calendar-blank{min-height:22mm!important;outline-color:#aaa!important}
  .bangla-day-cell small{font-size:7pt!important}
  a{color:#000!important;text-decoration:none!important}
}


/* 2026-07-19 layout correction: standard English weekday abbreviations */
.weekdays b{flex-direction:row;align-items:center;justify-content:center;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
@media(max-width:600px){.weekdays b{font-size:.64rem;letter-spacing:.025em;min-height:38px}}
@media print{.weekdays b{font-family:Arial,Helvetica,sans-serif;font-size:8.5px;letter-spacing:.04em}}

.today-icon .fa{font-size:1.2rem;line-height:1;color:#fff}
