/* Mindful Times — Bootstrap News Theme */
/* Reset & base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
/* Brand fonts (self‑hosted) */
@font-face {
  font-family: "Mindful Times Text";
  src: url("/fonts/mindful-times-text-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Mindful Times Text";
  src: url("/fonts/mindful-times-text-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: fallback;
}
@font-face {
  font-family: "Mindful Times Headline";
  src: url("/fonts/mindful-times-headline-semibold.woff") format("woff");
  font-weight: normal; /* treat semibold as normal */
  font-style: normal;
  font-display: fallback;
}
body{font-family:var(--font-brand1);line-height:1.5;color:#111;}
/* Default all headings to Text font; we'll opt-in Headline where needed */
h1,h2,h3,h4,h5,h6{font-family:var(--font-brand1);font-weight:100}
h2{text-transform:none;letter-spacing:normal}
.mt-hero-card h2,.mt-hero-card .h2{text-transform:none}
.mt-article h1,.mt-article h2{text-transform:none}
a{color:var(--mt-link);text-decoration:none}
a:visited{color:var(--mt-link)}
a:hover{text-decoration:underline}

/* Override default h1 scale */
.h1, h1 { font-size: calc(1.975rem + 1.5vw); }

/* Responsive heading sizes */
@media (min-width:1200px){
  .h1, h1 { font-size:2.9rem; }
}

/* Opt-in headline style for section headers */
.mt-headline{font-family:var(--font-brand2);font-size:2.4rem;line-height:1.2;font-weight:normal;letter-spacing:2px;text-transform:uppercase}

/* Favorite (Save) heart button */
.favorite-button{cursor:pointer;border:0;background:transparent;color:var(--mt-red);position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px}
.favorite-button .favorite__icon{width:24px;height:24px;opacity:0;transition:opacity .25s,transform .25s;transform:scale(.8);position:absolute}
.favorite-button.is-favorite .favorite--enable{opacity:1;transform:scale(1)}
.favorite-button:not(.is-favorite) .favorite--not{opacity:1;transform:scale(1)}

/* Color system */
:root{
  --mt-red:#d21f26;        /* primary accent for news/ticker */
  --mt-ink:#111315;        /* main text */
  --mt-ink-soft:#5a6169;   /* meta text */
  --mt-bg:#ffffff;         /* body bg */
  --mt-surface:#f6f7f8;    /* subtle background */
  --mt-border:#e3e6e8;     /* borders */
  --mt-link:#dc143c;       /* general links (crimson) */
  --font-brand1: "Mindful Times Text", sans-serif;
  --font-brand2: "Mindful Times Headline", sans-serif;
}

/* Buttons: standard + CTA (override Bootstrap) */
.btn:not(.btn-link):not(.btn-close){
  --btn-bg:#ffffff;
  --btn-fg:#111315;
  --btn-border:var(--mt-border);
  --btn-hover-bg:#f7f8f9;
  --btn-hover-fg:#111315;
  --btn-hover-border:#cfd6db;
  --btn-focus:rgba(210,31,38,.2); /* mt-red focus ring */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.5rem .875rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.1;
  color:var(--btn-fg);
  background:var(--btn-bg);
  border:1px solid var(--btn-border);
  border-radius:.375rem; /* ≥ 0.375rem per requirement */
  text-decoration:none;
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .02s ease;
}
.btn:not(.btn-link):not(.btn-close):hover{background:var(--btn-hover-bg);color:var(--btn-hover-fg);border-color:var(--btn-hover-border);text-decoration:none}
.btn:not(.btn-link):not(.btn-close):active{transform:translateY(1px)}
.btn:not(.btn-link):not(.btn-close):focus-visible{outline:none;box-shadow:0 0 0 3px var(--btn-focus)}
.btn.disabled,.btn:disabled{opacity:.65;pointer-events:none}

/* Fix grouped buttons: seamless joins and proper corner radii */
.btn-group>.btn{position:relative;margin-left:-1px}
.btn-group>.btn:hover,
.btn-group>.btn:focus,
.btn-group>.btn:active,
.btn-group>.btn:focus-visible{z-index:1}
.btn-group>.btn:not(:first-child){border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}
.btn-group>.btn:not(:last-child){border-top-right-radius:0 !important;border-bottom-right-radius:0 !important}

/* Sizes */
.btn-sm:not(.btn-link):not(.btn-close){padding:.25rem .625rem;font-size:.875rem;border-radius:.375rem}
.btn-lg:not(.btn-link):not(.btn-close){padding:.65rem 1.125rem;font-size:1.05rem;border-radius:.5rem}

/* CTA variant */
.btn-cta,.btn-primary:not(.btn-link),.btn-danger:not(.btn-link){
  --btn-bg:var(--mt-red);
  --btn-fg:#fff;
  --btn-border:var(--mt-red);
  --btn-hover-bg:#b81b21;
  --btn-hover-fg:#fff;
  --btn-hover-border:#b81b21;
}

/* Neutral/standard variants */
.btn-outline-dark:not(.btn-link){
  --btn-bg:#fff; --btn-fg:#111; --btn-border:#111;
  --btn-hover-bg:#111; --btn-hover-fg:#fff; --btn-hover-border:#111;
}
.btn-dark:not(.btn-link){
  --btn-bg:#111; --btn-fg:#fff; --btn-border:#111;
  --btn-hover-bg:#000; --btn-hover-fg:#fff; --btn-hover-border:#000;
}
.btn-light:not(.btn-link){
  --btn-bg:#fff; --btn-fg:#111; --btn-border:#e5e7eb;
  --btn-hover-bg:#f7f8f9; --btn-hover-fg:#111; --btn-hover-border:#d1d5db;
}
.btn-outline-light:not(.btn-link){
  --btn-bg:transparent; --btn-fg:#fff; --btn-border:#fff;
  --btn-hover-bg:#fff; --btn-hover-fg:#111; --btn-hover-border:#fff;
}

/* Link-style buttons remain minimal */
.btn-link{border:0;background:transparent;padding:0;box-shadow:none}

/* Header */
.mt-breaking{
  background:var(--mt-red);
  color:#fff;
  font-weight:700;
  font-size:.875rem;
}
.mt-breaking .label{background:#000;padding:.25rem .5rem;margin-right:.5rem;border-radius:.25rem}
.mt-breaking .ticker{white-space:nowrap;overflow:hidden}
.mt-breaking .ticker-inner{display:inline-block;padding-left:100%;animation:mt-ticker 22s linear infinite}
@keyframes mt-ticker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}

.mt-header{background:#fff;border-bottom:1px solid var(--mt-border);position:sticky;top:0;z-index:1050}
.mt-brand{display:flex;align-items:center;gap:.5rem;font-weight:800;letter-spacing:-.01em;font-size:1.25rem}
.mt-brand .badge{background:var(--mt-red);color:#fff;font-weight:800}

.mt-sections{background:#000;color:#fff;border-bottom:2px solid var(--mt-red);position:sticky;top:var(--mt-header-h,58px);z-index:1040}
.mt-sections .nav-link{color:#fff;opacity:.9;padding:.75rem .75rem}
.mt-sections .nav-link:hover,.mt-sections .nav-link.active{opacity:1;text-decoration:none;border-bottom:2px solid var(--mt-red)}
.mt-sections .nav-link.nav-link-logo{border-bottom:none !important}
.mt-sections .nav-link.nav-link-logo:hover{border-bottom:none}
/* Partner block separator with 20px gaps */
.mt-sections .nav .nav-partners{margin-left:20px;padding-left:20px;border-left:1px solid rgba(255,255,255,.3)}

/* Small weather chip in header */
.mt-weather{color:var(--mt-ink-soft)}
.mt-weather img{vertical-align:middle}

/* Hero */
.mt-hero{padding:1.25rem 0;background:var(--mt-surface)}
.mt-hero-card{background:#fff;border:1px solid var(--mt-border);border-radius:.5rem;overflow:hidden;height:100%;display:flex;flex-direction:column}
.mt-hero-card .thumb{aspect-ratio:16/9;object-fit:cover;width:100%;}
.mt-hero-card .body{padding:1rem}
.mt-hero-card .kicker{display:inline-block;margin-bottom:.5rem}
.mt-hero-card h2,.mt-hero-card h3{line-height:1.15;margin:.25rem 0 .5rem}
.mt-hero-card h2 a,.mt-hero-card h3 a{color:#222;text-decoration:none}
.mt-hero-card h2 a:hover,.mt-hero-card h3 a:hover{text-decoration:underline}
.mt-hero-card .meta{color:var(--mt-ink-soft);font-size:.875rem}

/* Cards */
.mt-card{background:#fff;border:1px solid var(--mt-border);border-radius:.5rem;overflow:hidden;display:flex;flex-direction:column}
.mt-card .thumb{width:100%;aspect-ratio:16/9;object-fit:cover}
.mt-card .body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}
.mt-card .kicker{display:inline-block}
.mt-card h4{margin:0;line-height:1.25}
.mt-card h4 a{color:#222;text-decoration:none}
.mt-card h4 a:hover{text-decoration:underline}
.mt-card .meta{color:var(--mt-ink-soft);font-size:.8125rem}

/* Lists */
.mt-list-item{display:flex;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--mt-border)}
.mt-list-item .thumb{width:110px;aspect-ratio:16/9;object-fit:cover;border-radius:.25rem}
.mt-list-item .title{font-weight:700;margin:0}
.mt-list-item .title a{color:#222;text-decoration:none}
.mt-list-item .title a:hover{text-decoration:underline}

/* Footer */
.mt-footer{background:#0b0c0c;color:#cfd3d6}
.mt-footer a{color:#e9eef2;text-decoration:none}
.mt-footer a:hover{color:#fff;text-decoration:underline}
.mt-footer .text-muted-ink{color:#9aa0a6}
.mt-footer .mt-footer-top{border-bottom:1px solid #1c1f22}
.mt-footer .ft-head{color:#cfd3d6;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;margin-bottom:.5rem}
.mt-footer .ft-list{display:flex;flex-direction:column;gap:.35rem}
.mt-footer .ft-list a{color:#cfd3d6}
.mt-footer .ft-list a:hover{color:#fff}
.mt-footer .mt-footer-bottom{border-top:1px solid #1c1f22}
.mt-footer .mt-footer-social .ft-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#1a1d1f;color:#cfd3d6;transition:background .2s,color .2s}
.mt-footer .mt-footer-social .ft-icon:hover{background:#2b2f33;color:#fff}

/* Utilities */
.mt-divider{border-top:2px solid var(--mt-border)}
.mt-sticky{position:sticky;top:1rem}
.mt-ghost-link{text-decoration:none}
.progress-24{height:24px}

/* ========== Include Banner Section (Ad Slot under navbar) ========== */
section.include-banner-section{position:sticky;top:calc(var(--mt-header-h,58px) + var(--mt-nav-h,0px));padding:0 !important;background:#fcfcfc;z-index:1020;transition:transform .25s ease, opacity .25s ease}
section.include-banner-section.is-hidden{transform:translateY(calc(-100% - 10px));opacity:0;pointer-events:none}
section.include-banner-section.slot-1.no-banner, section.include-banner-section.slot-2.no-banner{display:none}
.include-banner-section .iframe-ad-slot-wrapper{width:100%;max-width:970px;margin:0 auto;overflow:hidden;border-radius:6px}
.include-banner-section .iframe-ad-slot-wrapper iframe{padding-top:20px;width:100%;border:none;display:block;transition:height .2s ease-in-out}
@media (max-width: 767.98px){
  .include-banner-section .iframe-ad-slot-wrapper iframe{height:140px}
}
@media (min-width: 992px) and (max-width: 1199.98px){
  .include-banner-section .iframe-ad-slot-wrapper iframe{height:130px}
}
@media (min-width: 1200px) and (max-width: 1799.98px){
  .include-banner-section .iframe-ad-slot-wrapper iframe{height:130px}
}
@media (min-width: 1800px){
  .include-banner-section .iframe-ad-slot-wrapper iframe{height:130px}
}

/* Temporarily hide ad slot-1 wrapper */
#include-banner-wrapper-slot-1{display:none !important}

/* Pagination — classy, on-brand */
.mt-pagination-nav{margin:1rem 0}
.mt-pagination{
  --pg-size:40px;
  --pg-gap:6px;
  --pg-bg:#fff;
  --pg-fg:#111315;
  --pg-border:var(--mt-border);
  --pg-hover-bg:#f7f8f9;
  --pg-hover-fg:#111315;
  --pg-hover-border:#cfd6db;
  --pg-active-bg:var(--mt-red);
  --pg-active-fg:#fff;
  --pg-active-border:var(--mt-red);
  --pg-disabled-bg:#f6f7f8;
  --pg-disabled-fg:#9aa0a6;
  --pg-disabled-border:#e5e7eb;
}
.mt-pagination .page-item{margin:0 var(--pg-gap)}
.mt-pagination .page-link{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:var(--pg-size);height:var(--pg-size);
  padding:0 .75rem;line-height:1;font-weight:800;
  border-radius:999px;border:1px solid var(--pg-border);
  color:var(--pg-fg);background:var(--pg-bg);
  text-decoration:none;
  box-shadow:0 1px 0 rgba(16,18,22,.02) inset;
  transition:background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .02s ease;
}
.mt-pagination .page-link:hover{background:var(--pg-hover-bg);color:var(--pg-hover-fg);border-color:var(--pg-hover-border);text-decoration:none}
.mt-pagination .page-link:active{transform:translateY(1px)}
.mt-pagination .page-link:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(210,31,38,.2)}
.mt-pagination .page-item.active .page-link{background:var(--pg-active-bg);border-color:var(--pg-active-border);color:var(--pg-active-fg)}
.mt-pagination .page-item.disabled .page-link{background:var(--pg-disabled-bg);border-color:var(--pg-disabled-border);color:var(--pg-disabled-fg)}
.mt-pagination .page-link svg{width:18px;height:18px}

/* Sizes (Bootstrap compat) */
.pagination-lg.mt-pagination{--pg-size:46px}
.pagination-sm.mt-pagination{--pg-size:32px}

/* Category grid */
.mt-cat-section{padding:1.25rem 0}
.mt-cat-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.mt-cat-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.mt-cat{display:flex;align-items:center;justify-content:center;aspect-ratio:0 / 1;border:none;border-radius:.5rem;background:#0b3d91;color:#fff;font-weight:800;letter-spacing:-.01em;transition:transform .12s ease, box-shadow .12s ease;padding:6px}
.mt-cat:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,18,22,.12)}
.mt-cat .title{padding:.25rem .5rem;text-align:center}
/* Color cycling for category tiles (8 distinct per row) */
.mt-cat-grid .mt-cat:nth-child(8n+1){background:#0b3d91}
.mt-cat-grid .mt-cat:nth-child(8n+2){background:#2563eb}
.mt-cat-grid .mt-cat:nth-child(8n+3){background:#0ea5e9}
.mt-cat-grid .mt-cat:nth-child(8n+4){background:#059669}
.mt-cat-grid .mt-cat:nth-child(8n+5){background:#f59e0b}
.mt-cat-grid .mt-cat:nth-child(8n+6){background:#dc2626}
.mt-cat-grid .mt-cat:nth-child(8n+7){background:#7c3aed}
.mt-cat-grid .mt-cat:nth-child(8n+8){background:#f43f5e}
@media(min-width:576px){.mt-cat-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.mt-cat-grid{grid-template-columns:repeat(6,1fr)}}
@media(min-width:1200px){.mt-cat-grid{grid-template-columns:repeat(8,1fr)}}

/* Subscribe */
.mt-subscribe{background:linear-gradient(135deg,#f6f7f8 0%,#ffffff 60%);border:1px solid var(--mt-border);border-radius:12px;padding:24px}
.mt-subscribe h3{margin:0 0 .5rem;font-weight:800;letter-spacing:-.01em}
.mt-subscribe p{margin:0 0 1rem;color:var(--mt-ink-soft)}

/* Subscribe full strip */
.mt-subscribe-strip{position:relative;background:#111;color:#fff;overflow:hidden}
.mt-subscribe-strip::before{display:none}
.mt-subscribe-strip .lead{color:#fff}
.mt-subscribe-strip .form-control{border:1px solid #333;border-radius:.375rem;padding:.875rem 1rem;height:52px;background:#fff;color:#111}
.mt-subscribe-strip .btn{border-radius:.375rem;font-weight:800;padding:.5rem 1rem;height:52px}
.mt-subscribe-strip .btn-light{color:#111;background:#fff;border:1px solid #333}
section.mt-subscribe-strip.py-5.mt-4.text-center{border-bottom:1px solid #333}
.mt-subscribe-title{font-weight:900;letter-spacing:.02em;margin:0 0 .25rem}
.mt-subscribe-note{opacity:.8}

/* Align subscribe input and button heights and corners */
#home-subscribe-form .form-control{height:52px;border-top-right-radius:0;border-bottom-right-radius:0}
#home-subscribe-form .btn{height:52px;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}

/* Search modal */
.mt-search-modal .modal-dialog{max-width:680px}
.mt-search-modal .modal-content{border-radius:12px}

/* Search input with right icon (no submit button) */
.mt-search-wrap{position:relative}
.mt-search-input{padding-right:42px}
.mt-search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}
.mt-search-lg .mt-search-input{padding-right:48px;height:calc(1.5em + 1rem + 2px)}
.mt-search-lg .mt-search-icon{right:12px;width:28px;height:28px}

/* ================== Sitewide FAQ (Accordion) ================== */
.accordion{--faq-bg:#fff;--faq-border:var(--mt-border);--faq-radius:.5rem;--faq-btn-bg:#fff;--faq-btn-color:var(--mt-ink);--faq-btn-hover:#f7f8f9;--faq-btn-active:#f0f2f4;--faq-caret:#9aa0a6}
.accordion .accordion-item{background:var(--faq-bg);border:1px solid var(--faq-border);border-radius:var(--faq-radius);overflow:hidden}
.accordion .accordion-item+.accordion-item{margin-top:10px}
.accordion .accordion-button{background:var(--faq-btn-bg);color:var(--faq-btn-color);box-shadow:none;outline:0;padding:.75rem 1rem}
.accordion .accordion-button:hover{background:var(--faq-btn-hover)}
.accordion .accordion-button:not(.collapsed){background:var(--faq-btn-active);color:var(--faq-btn-color);box-shadow:none}
.accordion .accordion-button:focus{box-shadow:0 0 0 3px rgba(210,31,38,.2)}
.accordion .accordion-body{color:var(--mt-ink-soft);font-size:.95rem}
/* Replace default caret with subtle chevron */
.accordion .accordion-button::after{flex-shrink:0;width:12px;height:12px;background:none;border-right:2px solid var(--faq-caret);border-bottom:2px solid var(--faq-caret);transform:rotate(45deg);transition:transform .2s ease}
.accordion .accordion-button:not(.collapsed)::after{transform:rotate(-135deg)}

/* Ensure mobile offcanvas fills height */
@media (max-width: 767.98px){
  #mobileNav.offcanvas{height:100vh}
}

/* Article page */
.mt-article h1{font-weight:100;letter-spacing:-.01em}
.mt-article .mt-article-meta{color:var(--mt-ink-soft)}
.mt-article .mt-article-image{border-radius:.5rem;overflow:hidden;position:relative}
.mt-article .mt-article-image .favorite-button{position:absolute;top:20px;right:20px;z-index:3}
.mt-article .mt-article-image img{width:100%;height:auto;object-fit:cover}

/* Kicker badge: compact, never full width */
.mt-card .kicker, .mt-hero-card .kicker, .kicker{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.15rem .5rem;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  font-size:.875rem;
  letter-spacing:.02em;
  /* color system via CSS variables */
  --kicker-bg:#f3f4f6;
  --kicker-fg:#111;
  --kicker-border:#e5e7eb;
  color:var(--kicker-fg);
  background:var(--kicker-bg);
  border:1px solid var(--kicker-border);
  border-radius:999px;
  width:-moz-fit-content;
  width:fit-content;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Hero kicker uses brand red by default */
.mt-hero-card .kicker{
  --kicker-bg:var(--mt-red);
  --kicker-fg:#fff;
  --kicker-border:var(--mt-red);
}

/* Optional explicit color variants */
.kicker--blue{--kicker-bg:#0b3d91;--kicker-fg:#fff;--kicker-border:#0b3d91}
.kicker--indigo{--kicker-bg:#2563eb;--kicker-fg:#fff;--kicker-border:#2563eb}
.kicker--cyan{--kicker-bg:#0ea5e9;--kicker-fg:#06222b;--kicker-border:#0ea5e9}
.kicker--green{--kicker-bg:#059669;--kicker-fg:#fff;--kicker-border:#059669}
.kicker--amber{--kicker-bg:#f59e0b;--kicker-fg:#111;--kicker-border:#f59e0b}
.kicker--red{--kicker-bg:#dc2626;--kicker-fg:#fff;--kicker-border:#dc2626}
.kicker--violet{--kicker-bg:#7c3aed;--kicker-fg:#fff;--kicker-border:#7c3aed}
.kicker--rose{--kicker-bg:#f43f5e;--kicker-fg:#111;--kicker-border:#f43f5e}
/* Difficulty variants (puzzles) */
.kicker--easy{--kicker-bg:#dcfce7;--kicker-fg:#16a34a;--kicker-border:#16a34a}
.kicker--medium{--kicker-bg:#fef3c7;--kicker-fg:#d97706;--kicker-border:#d97706}
.kicker--hard{--kicker-bg:#fee2e2;--kicker-fg:#dc2626;--kicker-border:#dc2626}

/* Auto color cycling for grid cards without explicit variant */
/* Remove auto color cycling; non-difficulty badges use the light default */

/* Global meta text: force size and color */
.meta{color:#000 !important;font-size:1rem !important}

/* Hide legacy styles if still present */
.wow-provider-video-slider-section, .wow-video-slider-modal, #wow-video-modal, .technology-area, .google-add, .breadcrumb-area, .subscribe-area { display:none !important; }
.mt-hero-section { display:none !important; }

/* Hide first feature box globally when present */
#feature-box-1{display:none !important}

/* ================== Sudoku Board ================== */
.sudoku{max-width:620px;margin:0 auto 16px;padding:8px;--board-size:min(100%, 620px)}
.sudoku__header{display:block;margin-bottom:8px;text-align:center}
.sudoku__title{margin:0 0 4px 0}
.sudoku__description{margin:0}
.sudoku__title{font-weight:900;margin:0 0 4px 0;text-align:center}
.sudoku__description{color:var(--mt-ink-soft);font-size:.9rem;margin:0;text-align:center}
.sudoku__table{border-collapse:collapse;margin:0 auto;table-layout:fixed}
.sudoku__table-row{}
.sudoku__table-cell{width:52px;height:52px;text-align:center;vertical-align:middle;border:1px solid var(--mt-border);font-weight:800;font-size:1.25rem;line-height:1;color:#111;background:#fff}
/* Correct 3x3 block separators: thick lines after every 3rd row/column */
.sudoku__table tr td:nth-child(3n){border-right-width:3px}
.sudoku__table tr:nth-child(3n) td{border-bottom-width:3px}
/* Thicker outer border */
.sudoku__table tr:first-child td{border-top-width:3px}
.sudoku__table tr td:first-child{border-left-width:3px}
.sudoku__table-cell--editable{background:#f7fbff}
.sudoku__table-cell--editable:focus{outline:2px solid #0b3d91;outline-offset:-2px;background:#eef4ff}
.sudoku__table-cell--error{background:#fff1f2;border-color:#f43f5e}
.sudoku__table-cell--editable-error{background:#fff1f2}
.sudoku__table-cell--clue{background:#f0fff4 !important; color:#065f46}

@media (max-width: 576px){ .sudoku{max-width:100%;padding:0} }

/* Make Sudoku board fit viewport height on laptops/desktops */
@media (min-width: 577px){
  .sudoku{
    /* Consume header/nav heights provided by layout to avoid overflow */
    --mt-header: var(--mt-header-h, 58px);
    --mt-nav: var(--mt-nav-h, 0px);
    /* Approx. space for breadcrumbs, titles, padding */
    --sudoku-overhead: 200px;
    /* Compute available size by width and height, then take the smaller */
    --board-by-width: min(100%, 620px);
    --board-by-height: calc(100vh - var(--mt-header) - var(--mt-nav) - var(--sudoku-overhead));
    --board-size: min(var(--board-by-width), max(360px, var(--board-by-height)));
  }
}

/* Ensure board never overflows its container; size derives from --board-size */
.sudoku__table{width:var(--board-size);max-width:100%}
.sudoku__table-cell{width:calc(var(--board-size) / 9);height:calc(var(--board-size) / 9);font-size:clamp(0.9rem, calc(var(--board-size) / 9 * 0.45), 1.25rem)}

/* Selected cell highlight */
.sudoku__table-cell.is-selected{outline:3px solid #0b3d91;outline-offset:-3px;background:#eef4ff}

/* Disable text selection on mobile for cleaner tapping */
@media (max-width: 767px){
  .sudoku, .sudoku *{ -webkit-user-select: none; user-select: none; }
}

/* Mobile keypad for Sudoku */
.sudoku-keypad{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 12px rgba(0,0,0,.06);padding:8px calc(12px + env(safe-area-inset-right,0)) calc(8px + env(safe-area-inset-bottom,0)) calc(12px + env(safe-area-inset-left,0));z-index:1050}
.sudoku-keypad__row{display:grid;gap:8px}
.sudoku-keypad__row--nums{grid-template-columns:repeat(9,1fr);margin-bottom:8px}
.sudoku-keypad__row--actions{grid-template-columns:1fr 1fr 1fr}
.sudoku-keypad__row--submit{grid-template-columns:1fr;margin-top:8px}
@media (max-width: 767px){
  /* Allow 4th action to wrap nicely */
  .sudoku-keypad__row--actions{grid-auto-rows:minmax(48px, auto)}
}
.sudoku-key{display:inline-flex;align-items:center;justify-content:center;height:48px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;font-weight:700;font-size:18px;color:#111}
.sudoku-key:active{background:#f0f0f0}
.sudoku-key--action{font-weight:600}
.sudoku-key.is-active{background:#111;color:#fff;border-color:#111}
.sudoku-key{touch-action:manipulation}
/* Key colors by action */
.sudoku-key[data-action="erase"]{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
.sudoku-key[data-action="clue"]{background:#fef3c7;border-color:#fde68a;color:#92400e}
.sudoku-key[data-action="fullscreen"]{background:#e0f2fe;border-color:#bae6fd;color:#0c4a6e}
.sudoku-key--submit{height:56px;background:#16a34a;border-color:#16a34a;color:#fff;font-weight:800}

/* Ensure page chrome is hidden in pseudo-fullscreen */
body.mt-sudoku-fullscreen{overflow:hidden}
body.mt-sudoku-fullscreen .mt-header,
body.mt-sudoku-fullscreen .mt-sections,
body.mt-sudoku-fullscreen .include-banner-section.slot-1,
body.mt-sudoku-fullscreen footer{display:none !important}
body.mt-sudoku-fullscreen main{padding-top:0 !important}
/* White background in fullscreen and fallback */
body.mt-sudoku-fullscreen{background:#fff}
#sudoku-app:fullscreen{background:#fff;min-height:100vh}
#sudoku-app:-webkit-full-screen{background:#fff;min-height:100vh}
/* Hide Sudoku header (title/description) in fullscreen */
#sudoku-app:fullscreen .sudoku__header{display:none !important}
body.mt-sudoku-fullscreen #sudoku-app .sudoku__header{display:none !important}
/* In CSS fallback fullscreen, hide everything after the app; keep keypad/exit which are fixed */
body.mt-sudoku-fullscreen #sudoku-app ~ :not(.modal){display:none !important}
/* Hide breadcrumbs in fallback fullscreen */
body.mt-sudoku-fullscreen nav[aria-label="breadcrumb"]{display:none !important}

/* Exit fullscreen button */
.sudoku-fs-exit{position:fixed;top:calc(8px + env(safe-area-inset-top,0));right:calc(8px + env(safe-area-inset-right,0));z-index:1100;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 12px;font-weight:600;color:#111;box-shadow:0 2px 10px rgba(0,0,0,.08)}

/* All Categories block */

/* Ordered lists inside article content: use native markers and inline flow */
.mt-article-body ol{
  margin: 0 0 1rem 1.25rem;
  padding: 0;
  list-style: decimal;
  color:#333;
}

.mt-article-body ol>li{
  display:list-item;
  margin:.4rem 0;
  line-height:1.6;
  word-break:normal;
}

.mt-article-body ol>li::before{ content:none !important; }
.mt-all-cats{background:transparent;color:#111;padding:0}
.mt-all-cats a{color:inherit}

/* Podcast ticker */
.mt-podcast{background:linear-gradient(180deg,#0b0c0c 0%, #111 100%);color:#fff;overflow:hidden;position:relative;z-index:30;border-top:1px solid #1c1f22;border-bottom:1px solid #1c1f22}
@media (min-width: 992px){
  .mt-podcast{height:auto}
}
.mt-podcast .mt-label{background:#0b3d91;color:#fff;font-weight:900;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;border-radius:.25rem;padding:.25rem .5rem;margin-right:.75rem}
.mt-podcast-track{display:inline-flex;gap:32px;white-space:nowrap;will-change:transform;animation:mt-marquee 90s linear infinite}
.mt-podcast-item{display:inline-flex;flex-direction:column;align-items:center;gap:6px;width:140px;text-align:center;white-space:normal;position:relative;z-index:1}
.mt-podcast-item{overflow:hidden; position:relative}
.mt-podcast-item img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:8px;display:block}
.mt-podcast-item a{color:#fff;text-decoration:none;font-weight:700;display:block}
.mt-podcast-item a:hover{text-decoration:underline}
@keyframes mt-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)} }
.mt-podcast:hover{overflow:hidden}
.mt-podcast:hover .mt-podcast-track{animation-play-state:running}
.mt-podcast-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:.9rem;margin:.5rem 0 .3125rem}
.mt-podcast-desc{display:none;color:#cfd3d6;font-size:.85rem}
.mt-podcast-item{transition:transform .25s ease}
.mt-podcast-item:hover{transform:scale(1.03)}
.mt-podcast-item:hover .mt-podcast-desc{display:none}
.mt-podcast-item:hover .mt-podcast-title{font-size:inherit;white-space:nowrap}

/* generic zoom for podcast images in new layout */
.mt-podcast a img{transition:transform .25s ease}
.mt-podcast a:hover img{transform:scale(1.02)}

/* Classy section presentation */
.mt-podcast h2{color:#fff;letter-spacing:.02em;margin-bottom:.75rem}
.mt-podcast .ep-list{margin:0;padding:0}
.mt-podcast .ep-list li{list-style:none;border-bottom:1px solid rgba(255,255,255,.08)}
.mt-podcast .ep-list a{display:block;color:#e9eef2;text-decoration:none;padding:6px 0}
.mt-podcast .ep-list a:hover{color:#fff;text-decoration:underline}
.mt-podcast .ep-links a{color:#cfd3d6}
.mt-podcast .ep-links a:hover{color:#fff}
.mt-podcast .ep-links svg{display:inline-block;vertical-align:middle}

/* Featured podcast image sizing (reduce size, keep square) */
.mt-podcast .ep-feature .ep-thumb{
  width:100%;
  max-width:420px;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
  margin:0 auto;
}
@media(min-width:1200px){
  .mt-podcast .ep-feature .ep-thumb{ max-width:460px; }
}
@media(min-width:992px){
  .mt-podcast .ep-feature .ep-thumb{ margin-left:0; margin-right:auto; }
}

/* ================== Sidebar Feature Box (Products) ================== */
.mt-mobile-search{background:#000}
.mt-mobile-search__input{background:#fff;color:#111;border-color:#fff}
.mt-mobile-search__input::placeholder{color:#6b7280}

.mt-article aside .feature-box{background:#fff;border:1px solid var(--mt-border);border-radius:12px;padding:12px;margin-bottom:16px;width:100%;max-width:100%;overflow:hidden}
.mt-article aside .feature-box{background:#fff;border:1px solid var(--mt-border);border-radius:12px;padding:12px;margin-bottom:16px;width:100%;max-width:100%;overflow:hidden}
.mt-article aside #feature-box-1{width:100%;max-width:100%}
.mt-article aside #feature-box-1 *{max-width:100%}
.mt-article aside .feature-box .product-grid{display:grid;grid-template-columns:1fr;gap:12px}
.mt-article aside .feature-box .product-card{background:#fff;border:1px solid var(--mt-border);border-radius:10px;overflow:hidden;transition:box-shadow .2s ease, transform .2s ease}
.mt-article aside .feature-box .product-card:hover{box-shadow:0 10px 24px rgba(16,18,22,.12);transform:translateY(-2px)}
.mt-article aside .feature-box .product-card a{display:block;color:inherit;text-decoration:none}
.mt-article aside .feature-box .product-img-container{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}
.mt-article aside .feature-box .product-img-container img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.mt-article aside .feature-box .product-card:hover .product-img-container img{transform:scale(1.03)}
.mt-article aside .feature-box .product-content{padding:.75rem;display:flex;flex-direction:column;gap:.25rem}
.mt-article aside .feature-box .product-title{font-weight:800;line-height:1.25;font-size:.95rem;margin:0}
.mt-article aside .feature-box .product-type{display:inline-block;align-self:flex-start;margin-top:2px;margin-bottom:2px;padding:.15rem .5rem;border-radius:999px;background:var(--mt-surface);color:#0b3d91;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}

/* ================== Puzzles Spotlight ================== */
.mt-puzzles{margin-top:24px}
.mt-puzzles .mt-puzzles-head{border:1px solid var(--mt-border);border-bottom:none;border-top-left-radius:12px;border-top-right-radius:12px;background:#fff;padding:10px 14px}
.mt-puzzles .mt-puzzles-body{border:1px solid var(--mt-border);border-bottom-left-radius:12px;border-bottom-right-radius:12px;overflow:hidden;background:#fff}
.mt-puzzles-hero .media{position:relative;min-height:260px}
.mt-puzzles-hero .media img{width:100%;height:100%;object-fit:cover;display:block}
.mt-puzzles-hero .overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,.65) 0%, rgba(0,0,0,0) 55%)}
.mt-puzzles-hero .content{position:absolute;left:16px;bottom:12px;color:#fff}
.mt-puzzles-hero .btn{border-radius:999px;padding:.25rem .75rem}
.mt-puzzles-board{padding:14px}
.mt-puzzles-list{list-style:none;padding:0}
.mt-puzzles-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--mt-border)}
.mt-puzzles-row .no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--mt-border);border-radius:50%;font-weight:800;color:#666}
.mt-puzzles-row .name{flex:1}
.mt-puzzles-row .time{font-weight:800}

/* ================== All Categories (Homepage) — styled tiles ================== */
.mt-all-cats{background:transparent;color:#111;padding:0;margin-bottom:48px}
.mt-all-cats h2{color:#111;font-weight:400;letter-spacing:.02em}
.mt-all-cats .mt-cat-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
@media(min-width:576px){.mt-all-cats .mt-cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}
@media(min-width:992px){.mt-all-cats .mt-cat-grid{gap:14px}}
.mt-all-cats .mt-cat{
  position:relative;display:flex;align-items:center;justify-content:center;text-align:center;
  height:60px;border-radius:10px;overflow:hidden;text-decoration:none;
  background:#fff !important;color:#111 !important;border:1px solid var(--mt-border);
  padding:0 14px;box-shadow:0 1px 2px rgba(16,18,22,.06);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}
.mt-all-cats .mt-cat .title{display:block;width:100%;text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:.92rem}
/* remove arrow so text can be perfectly centered */
.mt-all-cats .mt-cat::after{content:none}
.mt-all-cats .mt-cat:focus{outline:none}
.mt-all-cats .mt-cat:focus-visible{outline:3px solid #0b3d91;outline-offset:2px}
/* Category color palette (8-cycle) */
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+1){--cat-bg:#0b3d91}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+2){--cat-bg:#2563eb}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+3){--cat-bg:#0ea5e9}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+4){--cat-bg:#059669}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+5){--cat-bg:#f59e0b}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+6){--cat-bg:#dc2626}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+7){--cat-bg:#7c3aed}
.mt-all-cats .mt-cat-grid .mt-cat:nth-child(8n+8){--cat-bg:#f43f5e}
/* On hover, reveal the category color */
.mt-all-cats .mt-cat:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(16,18,22,.12);
  background:var(--cat-bg, #111)!important;
  color:#fff!important;
  border-color:var(--cat-bg, #111);
}

/* ================== Auth Pages ================== */
.mt-auth{background:linear-gradient(180deg,#f8f9fb, #fff)}
.mt-auth-intro{padding:1rem 0}
.mt-auth-intro .badge{letter-spacing:.06em}
.mt-auth-intro h1{line-height:1.15;margin:.25rem 0 .5rem}
.mt-auth-card{border:1px solid var(--mt-border);border-radius:.75rem}
.mt-auth-card .form-control{border-radius:.5rem}
.mt-auth-card .btn{border-radius:.5rem}
.mt-auth .list-unstyled li{margin-bottom:.25rem}
.mt-article aside .feature-box .product-info{color:var(--mt-ink-soft);font-size:.8125rem}
.mt-article aside .feature-box .product-price{font-weight:900;margin-top:.15rem;font-size:.95rem}
.mt-article aside .feature-box .feature-view-all{text-align:center;margin-top:.25rem}
.mt-article aside .feature-box .feature-view-all a,
.mt-article aside .feature-box .wow-btn{display:inline-flex;align-items:center;gap:8px;background:#0b3d91;color:#fff;border-radius:999px;padding:.5rem 1rem;text-decoration:none;font-weight:800}
.mt-article aside .feature-box .feature-view-all a:hover,
.mt-article aside .feature-box .wow-btn:hover{opacity:.9}
