/* ofac-fixes.css
   Hugo migration fixes — loaded last to override Drupal artifacts.
   This file replaces inline <style> blocks that were embedded in
   49 content pages scraped from the live Drupal site. */

/* Accordion buttons — navy blue with white text (sanctions programs pages only) */
.ofac-blue-accordions .usa-accordion__button {
    background-color: #005ea2;
    color: #fff;
}

.ofac-blue-accordions .usa-accordion__button:hover {
    background-color: #2581fa;
    color: #fff;
}

/* Additional Resources alert icons — moved from Drupal-authored inline CSS. */
@supports ((-webkit-mask: url()) or (mask: url())) {
    .ofac-resource-alerts .usa-alert--info::before,
    .ofac-resource-alerts .usa-alert--success::before,
    .ofac-resource-alerts .usa-alert--warning::before {
        -webkit-mask-image: url("/img/usa-icons/fast_forward.svg") !important;
        mask-image: url("/img/usa-icons/fast_forward.svg") !important;
        background-image: url("/img/usa-icons/fast_forward.svg") !important;
    }
}

.ofac-faq-block .usa-accordion__button:focus {
    outline: 0.25rem solid #005ea2 !important;
    outline-offset: 0.25rem;
}

/* AddToAny uses the original Drupal CSS and provider-generated icon sizes.
   Fixed placeholders would add space when that service is blocked or unavailable.
   Screenshot-only stabilization stays in the parity runner, not production CSS. */

/* Drupal Views alignment utility used by source table markup. */
.views-align-center {
    text-align: center;
}

/* Contact page: card hover and layout (scoped to .ofac-contact-cards on contact page content) */
.ofac-contact-cards .usa-card__container {
    border-radius: 0;
}

.ofac-contact-cards .usa-card__container:hover {
    transform: scale(1.05, 1.05);
}

.ofac-contact-cards .usa-card__img {
    border-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Contact page: accent card title centering and table borders */
.ofac-contact-cards .treas-accent-card {
    background-position: 10% 50%;
    background-size: 200% auto;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-left: 1.5rem;
}

.ofac-contact-cards .treas-accent-card--title {
    font-size: 2.47rem;
}

.ofac-contact-cards .treas-accent-card--primary .treas-accent-card--title {
    font-size: 2.20rem;
}

.ofac-contact-cards .treas-accent-card--gold .treas-accent-card--title {
    font-size: 1.70rem;
}

.ofac-contact-cards .treas-accent-card--purple {
    background-color: #491780;
}

.ofac-contact-cards table,
.ofac-contact-cards th,
.ofac-contact-cards td {
    border: none;
    vertical-align: top;
}

/* Video embed responsive container */
.field--name-field-media-oembed-video {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top: 56.25%;
}

.media-oembed-content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

/* Drupal core views responsive grid — missing from migration CSS files.
   Source: Drupal core/modules/views/css/views.responsive-grid.css */
.views-view-responsive-grid {
    --views-responsive-grid--layout-gap: 10px;
    --views-responsive-grid--column-count: 4;
    --views-responsive-grid--cell-min-width: 100px;
}

.views-view-responsive-grid--horizontal {
    --views-responsive-grid--gap-count: calc(var(--views-responsive-grid--column-count) - 1);
    --views-responsive-grid--total-gap-width: calc(var(--views-responsive-grid--gap-count) * var(--views-responsive-grid--layout-gap));
    --views-responsive-grid-item--max-width: calc((100% - var(--views-responsive-grid--total-gap-width)) / var(--views-responsive-grid--column-count));
    --views-responsive-grid-item--calculated-min-width: min(100%, var(--views-responsive-grid--cell-min-width));
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(var(--views-responsive-grid-item--calculated-min-width), var(--views-responsive-grid-item--max-width)), 1fr));
    gap: var(--views-responsive-grid--layout-gap);
}

/* File Finder intro paragraph — override USWDS 68ex prose cap to match Drupal */
.usa-prose > p.file-finder-intro {
    max-width: 100%;
}

/* Replaces Drupal-authored max-width inline styles on full-width lead text. */
.usa-prose > p.ofac-full-width {
    max-width: 100%;
}

/* Drupal Better Exposed Filters inline form layout. */
.bef-exposed-form .form--inline > .form-item,
.bef-exposed-form .form--inline .js-form-wrapper > .form-item {
    float: left;
}

/* PDF icon for media download links — matches Drupal's original selector */
a[title$=".pdf"] {
    padding-right: 20px;
    background-image: url("/themes/custom/ofac/images/icons/pdf.gif");
    background-position: 100% 50%;
    background-repeat: no-repeat;
}

/* A bare Drupal media URL has no filename icon. Preserve that source treatment
   when migration changes its destination to a canonical .pdf path. */
a[data-ofac-source-media-icon="none"]:not([title$=".pdf"]) {
    padding-right: 0;
    background-image: none;
}

/* Submenu padding resets must leave room for the existing PDF background icon. */
.treas-main-nav__submenu-item a[href$=".pdf"],
.treas-main-nav__submenu-item a[title$=".pdf"] {
    padding-right: 20px !important;
}

/* Print styles — hide site chrome when printing FAQ topic pages */
@media print {
    .usa-banner,
    .treas-mini-banner,
    .treas-header,
    .ofac-header,
    nav,
    .region-highlighted,
    aside,
    footer,
    .breadcrumb,
    #block-faqsearchblock,
    .print-button {
        display: none !important;
    }
    .region-content {
        width: 100% !important;
        max-width: 100% !important;
    }
}
