/* ==========================================================================
   Operation detail page.

   The page was assembled from leftover theme demo markup: two metadata rows
   that had no data behind them, a prev/next pair built from two col-md-5
   columns that never filled the row, and a "suggested operations" carousel
   whose Swiper was never initialised, so its slides stacked on top of each
   other. These styles back the rebuilt blocks.
   ========================================================================== */

.op-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
    margin: 22px 0 0;
    padding: 14px 18px;
    color: #2c3b32;
    background: rgba(23, 60, 43, .045);
    border: 1px solid rgba(23, 60, 43, .1);
    border-radius: 14px;
    list-style: none;
}

.dz-bnr-inr#my-element {
    min-height: 220px;
    height: auto;
    background-position: center;
    background-size: cover;
}

.op-meta li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: .84rem;
    font-weight: 600;
}

.op-meta li .ui-icon {
    width: 17px;
    height: 17px;
    color: #9a8030;
}

.op-meta time {
    direction: ltr;
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 575.98px) {
    /* Previously hidden outright on phones; give it a compact height instead
       so the page keeps its banner like every other page does. */
    .dz-bnr-inr#my-element {
        min-height: 0;
        height: 190px;
    }

    .dz-bnr-inr#my-element .dz-bnr-inr-entry {
        height: 190px;
    }

    .dz-bnr-inr#my-element h1,
    .dz-bnr-inr#my-element .h1 {
        font-size: 22px;
    }
}

/* --- previous / next -------------------------------------------------- */

.op-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 34px 0;
    padding: 0;
    list-style: none;
}

.op-nav__item {
    display: flex;
    min-height: 104px;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    padding: 18px 20px;
    color: #fff;
    background: linear-gradient(145deg, #23503b, #143025);
    border: 1px solid rgba(216, 189, 97, .28);
    border-radius: 16px;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

a.op-nav__item:hover,
a.op-nav__item:focus-visible {
    border-color: var(--d9-gold, #d8bd61);
    box-shadow: 0 16px 34px rgba(20, 45, 31, .26);
    transform: translateY(-3px);
}

.op-nav__label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--d9-gold, #d8bd61);
    font-size: .72rem;
    font-weight: 700;
}

.op-nav__label .ui-icon {
    width: 15px;
    height: 15px;
}

.op-nav__title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #fff;
    font-size: .95rem;
    font-weight: 700;
    line-height: 1.5;
}

/* The end of the archive: keep the slot so the pair stays balanced. */
.op-nav__item--empty {
    color: rgba(255, 255, 255, .5);
    background: rgba(23, 60, 43, .07);
    border-style: dashed;
    border-color: rgba(23, 60, 43, .18);
}

.op-nav__item--empty .op-nav__label {
    color: #8d7c46;
}

.op-nav__item--empty .op-nav__title {
    color: #6b786f;
    font-weight: 600;
}

/* --- suggested operations --------------------------------------------- */

.op-more {
    margin: 42px 0 12px;
}

.op-more__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.op-more__head h2 {
    margin: 0;
    color: var(--d9-green, #173c2b);
    font-size: 1.25rem;
    font-weight: 800;
}

.op-more__head a {
    color: #9a8030;
    font-size: .78rem;
    font-weight: 700;
}

.op-more__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.op-card {
    display: flex;
    overflow: hidden;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(23, 60, 43, .12);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(23, 46, 30, .07);
    transition: transform .28s ease, box-shadow .28s ease;
}

.op-card:hover,
.op-card:focus-within {
    box-shadow: 0 20px 44px rgba(23, 46, 30, .16);
    transform: translateY(-4px);
}

.op-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #16281f;
}

.op-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.op-card:hover .op-card__media img {
    transform: scale(1.05);
}

.op-card__play {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--d9-green-deep, #0b2117);
    background: rgba(216, 189, 97, .95);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .3);
    transform: translate(-50%, -50%);
}

.op-card__play .ui-icon {
    width: 17px;
    height: 17px;
}

.op-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 8px;
    padding: 14px 15px 16px;
}

.op-card__body h3 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.5;
}

.op-card__body h3 a {
    color: var(--d9-ink, #142019);
    transition: color .25s ease;
}

.op-card:hover .op-card__body h3 a {
    color: #8a7327;
}

.op-card__date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    color: #6b786f;
    font-size: .74rem;
    font-weight: 600;
}

.op-card__date .ui-icon {
    width: 14px;
    height: 14px;
}

.op-card__date time {
    direction: ltr;
    unicode-bidi: isolate;
}

@media (max-width: 900px) {
    .op-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .op-nav { grid-template-columns: 1fr; }
    .op-more__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .op-card,
    .op-card__media img,
    .op-nav__item { transition: none; }

    .op-card:hover,
    .op-card:focus-within,
    a.op-nav__item:hover { transform: none; }

    .op-card:hover .op-card__media img { transform: none; }
}
