/* ==========================================================================
   BASE Stylesheet — Shared design tokens for every site theme
   ========================================================================== 
@media (min-width: 1400px) {
    .container {
        max-width: 1140px;
    }
}*/
/* --------------------------------------------------------------------------
   Type scale
   --------------------------------------------------------------------------
   A single 8-step scale shared by all site themes (prbase, prfree, ...).
   Templates must reference these tokens instead of hard-coding rem values, so
   a size change is one edit here rather than a hunt across 40+ partials.

   Step 1  --pri-fs-2xs   0.6rem   icon corners, status badges
   Step 2  --pri-fs-xs    0.7rem   small labels, meta, button microcopy
   Step 3  --pri-fs-sm    0.8rem   helper text, small body
   Step 4  --pri-fs-base  0.9rem   secondary body
   Step 5  --pri-fs-md      1rem   body baseline
   Step 6  --pri-fs-lg    1.1rem   emphasized body, subheads
   Step 7  --pri-fs-xl    1.3rem   section headings, icon containers
   Step 8  --pri-fs-2xl   2.2rem   page hero, empty-state icon
   -------------------------------------------------------------------------- */
:root {
    --pri-fs-2xs: 0.6rem;
    --pri-fs-xs:  0.7rem;
    --pri-fs-sm:  0.8rem;
    --pri-fs-base: 0.9rem;
    --pri-fs-md:  1rem;
    --pri-fs-lg:  1.1rem;
    --pri-fs-xl:  1.3rem;
    --pri-fs-2xl: 2.2rem;
}

/* --------------------------------------------------------------------------
   Type scale utilities
   --------------------------------------------------------------------------
   Use as `class="pri-fs-sm"` in place of `style="font-size: 0.8rem;"`.
   !important is intentional: these utilities must win over Bootstrap's own
   sizing helpers (.small, .fs-5, ...) when combined on the same element.
   -------------------------------------------------------------------------- */
.pri-fs-2xs  { font-size: var(--pri-fs-2xs) !important; }
.pri-fs-xs   { font-size: var(--pri-fs-xs) !important; }
.pri-fs-sm   { font-size: var(--pri-fs-sm) !important; }
.pri-fs-base { font-size: var(--pri-fs-base) !important; }
.pri-fs-md   { font-size: var(--pri-fs-md) !important; }
.pri-fs-lg   { font-size: var(--pri-fs-lg) !important; }
.pri-fs-xl   { font-size: var(--pri-fs-xl) !important; }
.pri-fs-2xl  { font-size: var(--pri-fs-2xl) !important; }

.full_with {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Select2 overrides: match Bootstrap 5 form-control / form-select height */
.select2-container {
    display: block;
    width: 100% !important;
}

.select2-container--bootstrap-5 .select2-selection--single,
.select2-container--default .select2-selection--single {
    min-height: calc(1.5em + 0.75rem + 2px) !important;
    height: calc(1.5em + 0.75rem + 2px) !important;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    display: flex !important;
    align-items: center !important;
    border-radius: var(--bs-border-radius, 0.25rem) !important;
    border: var(--bs-border-width, 1px) solid var(--bs-border-color, #ced4da) !important;
    background-color: var(--bs-body-bg, #ffffff) !important;
    box-sizing: border-box !important;
}

.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    line-height: 1.5 !important;
    color: var(--bs-body-color, #212529) !important;
}

.form-select-sm ~ .select2-container .select2-selection--single,
.form-control-sm ~ .select2-container .select2-selection--single {
    min-height: calc(1.5em + 0.5rem + 2px) !important;
    height: calc(1.5em + 0.5rem + 2px) !important;
    padding: 0.25rem 2rem 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
}

/* ---------------------------------------------------------------------------
   Media Contact block (simple PR detail page)
   ---------------------------------------------------------------------------
   One field per row, read left to right: icon, then label, then value. The
   box only spans a 5-of-12 column, so a fixed-width label column squeezed the
   value (emails, URLs) into a narrow strip — the label now hugs its own text
   and the value takes every pixel that is left.
   --------------------------------------------------------------------------- */
.pri-contact-list {
    margin: 0;
}

.pri-contact-row {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    padding: 0.4rem 0;
}

.pri-contact-row:first-child {
    border-top: 0;
    padding-top: 0;
}

.pri-contact-icon {
    width: 1rem;
    flex-shrink: 0;
    text-align: center;
}

.pri-contact-label {
    flex-shrink: 0;
    font-weight: 600;
    color: var(--bs-secondary-color, #6c757d);
}

.pri-contact-label::after {
    content: ":";
}

.pri-contact-value {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}
