/*! SPDX-License-Identifier: BSD-3-Clause · © 2026 WebTigers · Tiger™/WebTigers™ are trademarks */
/* PUMA base — puma's own defaults layered on Bootstrap.
 * Skins (assets/skins/*.css) override THIS file, not Bootstrap directly. */
:root {
    --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Dropdown menus — guarantee an OPAQUE, theme-aware background. Bootstrap derives the menu
 * background from --bs-body-bg with no fallback, so if that variable ever fails to resolve in a
 * given context the background-color collapses to `transparent` and page content shows through
 * the menu (seen on the header theme/lang/skin switchers). The concrete fallback keeps it solid. */
.dropdown-menu {
    background-color: var(--bs-body-bg, #fff);
}
[data-bs-theme="dark"] .dropdown-menu {
    background-color: var(--bs-body-bg, #212529);
}

.tiger-hero { padding: 4rem 0; }

footer.tiger-foot {
    color: var(--bs-secondary-color);
    padding: 2rem 0;
}

/* --- Blog single-post reading layout — moved from modules/blog/views/scripts/index/view.phtml --- */
.post-wrap{max-width:720px;margin:0 auto;padding:2.5rem 1rem 4rem;}
.post-hero{width:100%;max-height:460px;object-fit:cover;border-radius:.6rem;margin-bottom:2rem;}
.post-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:650;color:var(--bs-secondary-color);margin-bottom:.6rem;}
.post-title{font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;line-height:1.12;font-weight:700;letter-spacing:-.02em;margin:0 0 .6rem;}
.post-subtitle{font-family:Georgia,serif;font-size:1.45rem;line-height:1.3;color:var(--bs-secondary-color);font-weight:400;margin-bottom:1.4rem;}
.post-meta{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--bs-secondary-color);padding-bottom:1.4rem;margin-bottom:1.8rem;border-bottom:1px solid var(--bs-border-color);}
.post-meta .who{font-weight:600;color:var(--bs-body-color);}
.post-preamble{font-family:Georgia,serif;font-size:1.3rem;line-height:1.65;color:var(--bs-body-color);margin-bottom:1.6rem;}
.post-body{font-family:Georgia,serif;font-size:1.19rem;line-height:1.8;color:var(--bs-body-color);}
.post-body h2{font-size:1.7rem;font-weight:700;margin:2rem 0 .7rem;}
.post-body h3{font-size:1.35rem;font-weight:700;margin:1.6rem 0 .6rem;}
.post-body p{margin:0 0 1.3rem;}
.post-body img{max-width:100%;height:auto;border-radius:.4rem;margin:1.4rem 0;}
.post-body blockquote{border-left:3px solid var(--bs-border-color);margin:1.5rem 0;padding:.3rem 0 .3rem 1.2rem;color:var(--bs-secondary-color);font-style:italic;}
.post-body a{color:var(--bs-primary);}
.post-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--bs-border-color);}
.post-terms a{text-decoration:none;}

/* ── Named content-width containers (theme base — apply under EVERY skin) ─────
   Pick one per <section> instead of a hand-set max-width. Complete containers
   (centered, standard Bootstrap gutters) — except -full-bleed, edge-to-edge with
   NO padding or margin. Names don't collide with Bootstrap's .container-{sm..xxl}/-fluid. */
.container-narrow,.container-menu,.container-wide{
  width:100%;margin-right:auto;margin-left:auto;
  padding-right:calc(var(--bs-gutter-x,1.5rem)*.5);
  padding-left:calc(var(--bs-gutter-x,1.5rem)*.5);
}
.container-narrow{max-width:760px;}   /* a tight reading/prose column */
.container-wide{max-width:1440px;}    /* roomier than the menu bar */

/* matches the main menu bar (the public navbar + footer use Bootstrap .container) */
.container-menu{max-width:100%;}
@media(min-width:576px){.container-menu{max-width:540px;}}
@media(min-width:768px){.container-menu{max-width:720px;}}
@media(min-width:992px){.container-menu{max-width:960px;}}
@media(min-width:1200px){.container-menu{max-width:1140px;}}
@media(min-width:1400px){.container-menu{max-width:1320px;}}

/* edge-to-edge: no max-width, no padding, no margin */
.container-full-bleed{width:100%;max-width:none;margin:0;padding:0;}
