/* ==========================================================================
   ODIACALENDAR.COM - CALENDAR SHEET & HUB DETAIL PAGES
   File: /mycss/calendar.style.css
   Direct 1:1 Parity with home.style.css Card & Header Architecture
   ========================================================================== */

/* Typography & Upper Case Header Accents */
.cal-hero-title-main, 
.download-heading-main,
.hub-month-en, 
.archive-label, 
.archive-year-btn,
.cal-breadcrumb-pro a, 
.cal-breadcrumb-pro .bc-current {
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* Professional Link Underscore Look */
a {
    color: var(--link-color, #0f4c81);
    text-decoration: underline;
    text-decoration-color: var(--link-decoration, #93c5fd);
    text-underline-offset: 3.5px;
    text-decoration-thickness: 1.5px;
    transition: color .15s ease, text-decoration-color .15s ease;
}
a:hover {
    color: var(--brand-primary, #b84a0b);
    text-decoration-color: var(--brand-primary, #b84a0b);
    text-decoration-thickness: 2px;
}

/* Breadcrumb Bar */
.cal-breadcrumb-pro {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1px solid var(--border-color, #cbd5e1);
    padding: 7px 16px;
    border-radius: 30px;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-muted, #475569);
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,.03);
}
.cal-breadcrumb-pro a {
    color: var(--brand-primary, #b84a0b);
    text-decoration: underline;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.bc-sep { 
    color: #94a3b8; 
    font-size: 12px; 
}
.bc-current { 
    color: var(--text-heading, #0f172a); 
    font-weight: 800; 
}

/* ==========================================================================
   HOMEPAGE CARD & HEADER PARITY (.home-pro-card & .pro-card-header)
   ========================================================================== */
.home-pro-card {
    background: #ffffff;
    border: 1px solid var(--border-color, #cbd5e1);
    border-radius: var(--radius-md, 12px);
    overflow: hidden;
    box-shadow: var(--card-shadow, 0 4px 14px -2px rgba(15,23,42,.05));
    margin-bottom: 24px;
}

/* Header with Solid Bottom Border Divider & Left Accent */
.pro-card-header {
    background: #ffffff;
    border-bottom: 1px solid var(--border-color, #cbd5e1);
    padding: 14px 20px;
    border-left: 4px solid var(--brand-primary, #b84a0b);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.pro-card-title {
    font-size: 17px;
    font-weight: 800;
    color: var(--text-heading, #0f172a);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: .02em;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pro-card-title a {
    color: var(--text-heading, #0f172a);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.pro-card-title a:hover {
    color: var(--brand-primary, #b84a0b);
}
.pro-card-subtitle-or {
    font-family: 'Noto Sans Oriya', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--brand-primary, #b84a0b);
    margin: 0;
}

/* Full Width Card Body with Generous Padding - Zero Nested Borders */
.pro-card-body {
    padding: 20px;
}
@media (max-width: 640px) {
    .pro-card-body { padding: 14px; }
    .pro-card-header { padding: 12px 14px; }
}

/* Top Hero Split (Fixed 300x250 Ad Left + Content Right) */
.cal-hero-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}
.cal-hero-ad-slot {
    flex: 0 0 300px;
    width: 300px;
    max-width: 100%;
    margin: 0 auto;
}
.cal-hero-content {
    flex: 1 1 auto;
    width: 100%;
}
.cal-title-header {
    border-bottom: 2px solid var(--brand-subtle, #fae8d4);
    padding-bottom: 10px;
    margin-bottom: 12px;
}
.cal-hero-title-main {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 800;
    color: var(--text-heading, #0f172a);
    margin: 0 0 4px 0;
    display: block;
}
.cal-hero-title-sub-odia {
    font-family: 'Noto Sans Oriya', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--text-muted, #475569);
    line-height: 1.5;
    display: block;
}
.cal-hero-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--text-body, #1e293b);
    margin: 0;
}

/* Panjika Sheet Container - NO Inner Box Border */
.panji-sheet-wrapper {
    width: 100%;
    margin: 0 0 20px 0;
    padding: 0;
    background: transparent;
    border: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
}
.panji-sheet-img-full {
    width: 100%;
    max-width: 1080px;
    height: auto;
    display: block;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* 12 Months Directory Grid with Clear Underscore Links */
.hub-months-grid-cover {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 18px 0;
    width: 100%;
}
.hub-month-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
    border-radius: 8px;
    border: 1px solid var(--border-color, #cbd5e1);
    background: #ffffff;
    text-align: center;
    min-height: 60px;
    text-decoration: none !important;
    transition: all .15s ease;
    box-sizing: border-box;
}
.hub-month-btn:hover {
    border-color: var(--brand-primary, #b84a0b);
    background: #fcf8f5;
    transform: translateY(-1px);
}
.hub-month-btn .hub-month-subhead {
    font-size: 11px;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 2px;
}
.hub-month-btn .hub-month-en {
    font-size: 14.5px;
    font-weight: 800;
    color: #0f4c81;
    text-decoration: underline;
    text-decoration-color: #93c5fd;
    text-underline-offset: 3.5px;
    text-decoration-thickness: 1.5px;
}
.hub-month-btn:hover .hub-month-en {
    color: #b84a0b;
    text-decoration-color: #b84a0b;
}
.hub-month-btn.current-active {
    background: linear-gradient(135deg, #991b1b 0%, #7f1d1d 100%) !important;
    border-color: #7f1d1d !important;
    box-shadow: 0 4px 12px rgba(153,27,27,.25);
}
.hub-month-btn.current-active .hub-month-subhead,
.hub-month-btn.current-active .hub-month-en {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
}

/* Month Action Download Buttons */
.sheet-actions-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 14px;
}
@media (min-width: 680px) {
    .sheet-actions-grid { grid-template-columns: 1fr 1fr; }
}
.btn-sheet-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #1e293b;
    color: #ffffff !important;
    font-weight: 800;
    font-size: 14px;
    padding: 14px 20px;
    border-radius: var(--radius-sm, 8px);
    border: none;
    text-decoration: none !important;
    transition: all .15s ease;
    box-shadow: 0 2px 6px rgba(15,23,42,.12);
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
}
.btn-sheet-download:hover {
    background: #334155;
    transform: translateY(-1px);
}
.btn-panji-download {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #b84a0b 0%, #ea580c 100%);
    color: #ffffff !important;
    font-weight: 800;
    font-size: 14px;
    padding: 14px 20px;
    border-radius: var(--radius-sm, 8px);
    border: none;
    width: 100%;
    box-shadow: 0 4px 12px rgba(184,74,11,.25);
    transition: all .15s ease;
    cursor: pointer;
    box-sizing: border-box;
}
.btn-panji-download:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* Archives Navigation Box */
.cal-archives-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed var(--border-color, #cbd5e1);
}
.archive-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--text-muted, #475569);
}
.archive-year-btn {
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    background: #f8fafc;
    border: 1px solid var(--border-color, #cbd5e1);
    color: var(--text-heading, #0f172a) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    transition: all .15s ease;
}
.archive-year-btn:hover {
    background: #ffffff;
    border-color: var(--brand-primary, #b84a0b);
    color: var(--brand-primary, #b84a0b) !important;
}
.archive-year-btn.active-year {
    background: var(--brand-primary, #b84a0b);
    border-color: var(--brand-primary, #b84a0b);
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Table - Seamless Full-Width, NO Inner Boxing Border */
.annual-highlights-wrap {
    overflow-x: auto;
    width: 100%;
    margin: 0;
    border: none !important;
    border-radius: 6px;
}
.annual-highlights-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    min-width: 580px;
}
.annual-highlights-table th {
    background: #0f172a;
    color: #ffffff;
    padding: 12px 16px;
    text-align: left;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: .03em;
}
.annual-highlights-table th:first-child { border-top-left-radius: 6px; }
.annual-highlights-table th:last-child { border-top-right-radius: 6px; }
.annual-highlights-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    color: var(--text-body, #1e293b);
    vertical-align: middle;
}
.annual-highlights-table tr:last-child td {
    border-bottom: none;
}
.table-action-link {
    color: var(--brand-primary, #b84a0b) !important;
    font-weight: 800;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Anti-Bot Rate-Limiting Download Screen */
.download-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1.5px dashed var(--border-color, #cbd5e1);
    padding-bottom: 12px;
    margin-bottom: 18px;
    flex-wrap: wrap;
    gap: 10px;
}
.download-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f1f5f9;
    color: #334155;
    font-size: 11.5px;
    font-weight: 800;
    padding: 5px 10px;
    border-radius: 20px;
    border: 1px solid #cbd5e1;
    text-transform: uppercase;
}
.btn-clean-close {
    background: #ffffff;
    color: #334155;
    border: 1.5px solid #cbd5e1;
    padding: 7px 16px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .2s ease;
}
.btn-clean-close:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #94a3b8;
}
.download-content-split {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}
.download-ad-left {
    flex: 0 0 300px;
    width: 300px;
    max-width: 100%;
    margin: 0 auto;
}
.download-info-right {
    flex: 1 1 auto;
    width: 100%;
}
.download-heading-main {
    font-size: 20px;
    font-weight: 800;
    color: var(--text-heading, #0f172a);
    margin: 0 0 4px 0;
}
.download-filename {
    font-size: 14px;
    color: var(--text-muted, #475569);
    margin-bottom: 14px;
}
.countdown-timer-wrap {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 10px;
}
.countdown-digits {
    font-size: 42px;
    font-weight: 800;
    color: var(--brand-primary, #b84a0b);
    font-family: 'Lexend', monospace;
    line-height: 1;
}
.countdown-label { 
    font-size: 14px; 
    font-weight: 700; 
    color: var(--text-muted, #64748b); 
}
.progress-track {
    width: 100%;
    height: 9px;
    background: #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 12px;
}
.progress-fill {
    width: 0%;
    height: 100%;
    background: linear-gradient(90deg, #b84a0b 0%, #ea580c 100%);
    transition: width 1s linear;
}
.security-notice-box {
    background: #f8fafc;
    border: 1px solid var(--border-color, #cbd5e1);
    border-left: 4px solid #64748b;
    padding: 10px 14px;
    border-radius: 4px;
    font-size: 13px;
    color: var(--text-body, #334155);
    line-height: 1.6;
}
.download-ready-box {
    margin-top: 14px;
    background: #ecfdf5;
    border: 1.5px solid #a7f3d0;
    border-radius: var(--radius-sm, 8px);
    padding: 14px;
}
.btn-download-success {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #047857;
    color: #ffffff !important;
    font-weight: 800;
    font-size: 14.5px;
    padding: 12px 20px;
    border-radius: var(--radius-sm, 8px);
    text-decoration: none !important;
    box-shadow: 0 4px 10px rgba(4,120,87,.2);
    transition: background .2s ease;
}
.btn-download-success:hover { background: #065f46; }

/* Responsive Grid Rules */
@media (min-width: 600px) {
    .hub-months-grid-cover { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
    .cal-hero-grid { flex-direction: row; align-items: flex-start; gap: 24px; }
    .cal-hero-ad-slot { margin: 0; }
    .hub-months-grid-cover { grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .download-content-split { flex-direction: row; align-items: flex-start; gap: 24px; }
    .download-ad-left { margin: 0; }
}
