/* SMEDG Work Opportunities V2: bold editorial black/gold direction */
.swo{--swo-gold:#e3bf25;--swo-gold2:#f8d75c;--swo-ink:#080808;--swo-charcoal:#151515;--swo-line:rgba(227,191,37,.25);background:#090909;color:#fff}.swo *{box-sizing:border-box}.swo button,.swo input{font:inherit}.swo-directory{padding:0 0 90px;}.swo-filterbar{position:relative;z-index:5;transform:translateY(-26px);padding:clamp(22px,4vw,38px);border:1px solid var(--swo-line);border-radius:22px;background:linear-gradient(145deg,rgba(32,32,32,.98),rgba(8,8,8,.99));box-shadow:0 30px 80px rgba(0,0,0,.4);margin-top:70px;}.swo-filterbar__head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1)}.swo-filterbar__head h2{margin:0;color:#fff;font:800 clamp(1.6rem,3vw,2.5rem)/1 var(--mh-font-heading);letter-spacing:-.04em}.swo-clear{padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fff;font-weight:800;cursor:pointer}.swo-clear:hover:not(:disabled){border-color:var(--swo-gold);color:var(--swo-gold)}.swo-clear:disabled{opacity:.35;cursor:not-allowed}.swo-filterbar__controls{display:grid;grid-template-columns:1fr 1.4fr;gap:13px;margin:18px 0}.swo-picker{position:relative}.swo-picker__trigger{display:flex;width:100%;min-height:66px;align-items:center;justify-content:space-between;padding:12px 17px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;text-align:left;cursor:pointer}.swo-picker__trigger:hover,.swo-picker__trigger[aria-expanded=true]{border-color:var(--swo-gold);background:rgba(227,191,37,.08)}.swo-picker__trigger small{display:block;margin-bottom:3px;color:var(--swo-gold);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.swo-picker__trigger strong{font-size:.95rem}.swo-picker__trigger i{width:9px;height:9px;border-right:2px solid var(--swo-gold);border-bottom:2px solid var(--swo-gold);transform:rotate(45deg)}.swo-picker__panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:100%;min-width:290px;padding:12px;border:1px solid var(--swo-line);border-radius:15px;background:#171717;box-shadow:0 25px 60px rgba(0,0,0,.55)}.swo-picker__search input{width:100%!important;padding:12px 13px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:10px!important;background:#0c0c0c!important;color:#fff!important;box-shadow:none!important}.swo-picker__list{max-height:280px;overflow:auto;margin:10px 0}.swo-picker__list label{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;min-height:43px;padding:8px 10px;border-radius:8px;color:rgba(255,255,255,.8);cursor:pointer}.swo-picker__list label:hover{background:rgba(227,191,37,.09);color:#fff}.swo-picker__list input{position:absolute;opacity:0}.swo-picker__list b{display:grid;width:21px;height:21px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:6px;color:transparent}.swo-picker__list input:checked~b{border-color:var(--swo-gold);background:var(--swo-gold);color:#000}.swo-picker__done{width:100%;padding:11px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--swo-gold),var(--swo-gold2));color:#000;font-weight:900;cursor:pointer}
.swo-months{margin:0;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:15px}.swo-months legend{padding:0 8px;color:#fff;font:800 .9rem var(--mh-font-heading)}.swo-months legend small{margin-left:9px;color:rgba(255,255,255,.42);font:400 .75rem var(--mh-font-body)}.swo-months__rail{display:grid;grid-template-columns:repeat(11,minmax(61px,1fr));gap:7px}.swo-month{cursor:pointer}.swo-month input{position:absolute;opacity:0}.swo-month span{display:flex;min-height:60px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);color:#fff}.swo-month b{font-family:var(--mh-font-heading);font-size:.84rem}.swo-month small{color:rgba(255,255,255,.48);font-size:.68rem}.swo-month input:checked+span{border-color:var(--swo-gold);background:linear-gradient(145deg,var(--swo-gold2),var(--swo-gold));color:#050505;box-shadow:0 8px 25px rgba(227,191,37,.18)}.swo-month input:checked+span small{color:rgba(0,0,0,.65)}.swo-month.is-extra{display:none}.swo-months.is-expanded .swo-month.is-extra{display:block}.swo-months.is-expanded .swo-months__rail{grid-template-columns:repeat(12,minmax(61px,1fr))}.swo-months__more{margin-top:11px;padding:4px;border:0;background:transparent;color:var(--swo-gold);font-size:.78rem;font-weight:800;cursor:pointer}.swo-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.swo-chips:empty{display:none}.swo-chips button{display:flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid rgba(227,191,37,.28);border-radius:999px;background:rgba(227,191,37,.08);color:#fff;font-size:.75rem;cursor:pointer}.swo-chips i{color:var(--swo-gold);font-style:normal;font-size:1rem}.swo-results-head{display:flex;align-items:center;gap:12px;min-height:70px;color:#222}.swo-count{margin:0}.swo-count strong{color:#000;font:900 1.4rem var(--mh-font-heading)}.swo-loader{width:18px;height:18px;border:2px solid #ddd;border-top-color:var(--swo-gold);border-radius:50%;opacity:0}.swo-loader.is-active{opacity:1;animation:swoSpin .7s linear infinite}@keyframes swoSpin{to{transform:rotate(360deg)}}
.swo-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;transition:opacity .16s}.swo-results[aria-busy=true]{opacity:.48}/* =========================================================
   GOLDEN OPPORTUNITY CARDS
   Premium, optimistic, gold-forward card design
   ========================================================= */

.swo-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 32px);
    transition: opacity 160ms ease;
}

.swo-results[aria-busy="true"] {
    opacity: 0.48;
}

/* Main card */

.swo-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(184, 139, 18, 0.28);
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 95% 2%,
            rgba(248, 215, 92, 0.32),
            transparent 29%
        ),
        radial-gradient(
            circle at 5% 94%,
            rgba(227, 191, 37, 0.10),
            transparent 25%
        ),
        linear-gradient(
            145deg,
            #fffef8 0%,
            #ffffff 42%,
            #fff9df 100%
        );
    color: var(--mh-gray-800);
    box-shadow:
        0 18px 50px rgba(93, 70, 6, 0.10),
        0 3px 10px rgba(0, 0, 0, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.96);
    isolation: isolate;
    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease;
}

/* Soft decorative glow */

.swo-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -100px;
    right: -100px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(227, 191, 37, 0.20);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(248, 215, 92, 0.18) 0%,
            rgba(227, 191, 37, 0.06) 46%,
            transparent 70%
        );
    pointer-events: none;
    transition:
        transform 320ms ease,
        opacity 320ms ease;
}

/* Bottom gold reflection */

.swo-card::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 12%;
    bottom: -80px;
    left: 12%;
    height: 130px;
    border-radius: 50%;
    background: rgba(227, 191, 37, 0.10);
    filter: blur(35px);
    pointer-events: none;
}

.swo-card:hover {
    transform: translateY(-7px);
    border-color: rgba(184, 139, 18, 0.60);
    box-shadow:
        0 28px 70px rgba(122, 91, 7, 0.18),
        0 8px 24px rgba(0, 0, 0, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 1);
}

.swo-card:hover::before {
    opacity: 0.92;
    transform: scale(1.08) translate(-8px, 8px);
}

/* Premium gold top accent */

.swo-card__goldline {
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background:
        linear-gradient(
            90deg,
            #9d7508 0%,
            #e3bf25 23%,
            #fff0a0 50%,
            #e3bf25 75%,
            #a77a06 100%
        );
    box-shadow:
        0 3px 16px rgba(227, 191, 37, 0.30),
        0 1px 0 rgba(255, 255, 255, 0.80);
}

/* =========================================================
   CARD HEADER
   ========================================================= */

.swo-card header {
    position: relative;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding-bottom: 5px;
}

/* Logo presentation */

.swo-card__logo {
    position: relative;
    display: grid;
    width: 84px;
    height: 84px;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(184, 139, 18, 0.34);
    border-radius: 20px;
    background:
        radial-gradient(
            circle at 25% 20%,
            rgba(255, 255, 255, 0.94),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fff8d3 100%
        );
    color: #b3870e;
    font-family: var(--mh-font-heading);
    font-size: 2.15rem;
    font-weight: 900;
    box-shadow:
        0 12px 28px rgba(142, 104, 4, 0.14),
        inset 0 0 0 5px rgba(255, 255, 255, 0.55);
}

.swo-card__logo::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(227, 191, 37, 0.15);
    border-radius: 15px;
    pointer-events: none;
}

.swo-card__logo img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 11px;
    object-fit: contain;
}

/* Card eyebrow */

.swo-card .swo-kicker {
    margin: 0 0 7px;
    color: #a87c06;
    font-family: var(--mh-font-heading);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* Company title */

.swo-card h2 {
    margin: 0;
    color: #17130a;
    font-family: var(--mh-font-heading);
    font-size: clamp(1.3rem, 2vw, 1.85rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.04em;
    overflow-wrap: anywhere;
}

/* =========================================================
   CARD META INFORMATION
   MINIMAL • CLEAN • NO INNER BOXES
   ========================================================= */

.swo-card__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}


/* Remove decorative effects */

.swo-card__meta::before {
    display: none;
}


/* Individual information items */

.swo-card__meta > div {
    position: relative;
    min-width: 0;

    padding: 0;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0;
    box-shadow: none;
}


/* Remove existing icons and pseudo-elements */

.swo-card__meta > div::before,
.swo-card__meta > div::after {
    display: none !important;
}


/* Meta labels */

.swo-card__meta small {
    display: block;
    margin: 0 0 6px;

    color: #777;

    font-family: var(--mh-font-body);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.08em;

    text-transform: uppercase;
}


/* Meta values */

.swo-card__meta strong {
    display: block;

    color: #111;

    font-family: var(--mh-font-heading);
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;

    overflow-wrap: anywhere;
}


/* Optional states */

.swo-card__meta .is-yes,
.swo-card__meta .is-no {
    background: transparent !important;
    border: 0 !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .swo-card__meta {
        grid-template-columns: 1fr;
        gap: 18px;

        margin-top: 20px;
        padding: 20px 0;
    }
}


@media (max-width: 480px) {

    .swo-card__meta {
        gap: 16px;
        padding: 18px 0;
    }

    .swo-card__meta small {
        font-size: 0.65rem;
    }

    .swo-card__meta strong {
        font-size: 0.9rem;
    }
}
/* =========================================================
   STATE AND CATEGORY TAGS
   ========================================================= */

.swo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 0 19px;
}

.swo-tags span {
    display: inline-flex;
    min-height: 29px;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(184, 139, 18, 0.22);
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            #fffdf4,
            #fff4bd
        );
    color: #654d0a;
    font-size: 0.70rem;
    font-weight: 800;
    line-height: 1.2;
    box-shadow: 0 3px 8px rgba(117, 87, 5, 0.05);
}

/* Add a small gold marker */

.swo-tags span::before {
    content: "";
    width: 5px;
    height: 5px;
    margin-right: 6px;
    border-radius: 50%;
    background: #d5aa18;
    box-shadow: 0 0 0 3px rgba(227, 191, 37, 0.13);
}

/* Alternate selected labels for visual rhythm */

.swo-tags span:nth-child(3n + 2) {
    background:
        linear-gradient(
            135deg,
            #fff8d9,
            #ffe98d
        );
}

.swo-tags span:nth-child(4n) {
    border-color: rgba(184, 139, 18, 0.31);
    background:
        linear-gradient(
            135deg,
            #f7d964,
            #fceba4
        );
    color: #3d2e04;
}

/* =========================================================
   SINGLE-COLUMN OPPORTUNITY RESULTS
   One full-width opportunity per row
   ========================================================= */

.swo-results {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(24px, 3vw, 36px);
    width: 100%;
    margin-inline: auto;
    transition: opacity 180ms ease;
}

.swo-results[aria-busy="true"] {
    opacity: 0.45;
}

/* Balanced information columns inside the full-width card */

.swo-card__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Continue stacking the meta panels on mobile */

@media (max-width: 680px) {
    .swo-results {
        gap: 20px;
    }

    .swo-card__meta {
        grid-template-columns: 1fr;
    }
}
@media (min-width: 900px) {

    .swo-card > section {
        padding-top: 16px;
        padding-bottom: 16px;
    }
}
/* =========================================================
   MAIN CARD
   ========================================================= */

.swo-card {
    position: relat*ve;
    display: flex;
    min-wid*h: 0;
    flex-direction: column;
*   overflow: hidden;
    padding: *;
    border: 2px solid #e3bf25;
 *  border-radius: 24px;
    backgro*nd:
        radial-gradient(
     *      circle at 95% 75%,
         *  rgba(227, 191, 37, 0.18),
      *     transparent 28%
        ),
  *     linear-gradient(
            *45deg,
            #ffffff 0%,
   *        #fffdf3 62%,
            #*ff5be 100%
        );
    color: #*00000;
    box-shadow:
        0 2*px 55px rgba(0, 0, 0, 0.12),
     *  0 8px 24px rgba(227, 191, 37, 0.*4);
    isolation: isolate;
    tr*nsition:
        transform 220ms e*se,
        border-color 220ms eas*,
        box-shadow 220ms ease;
}*
.swo-card:hover {
    transform: *ranslateY(-7px);
    border-color:*#000000;
    box-shadow:
        0 30px 75px rgba(0, 0, 0, 0.18),
        0 13px 36px rgba(227, 191, 37, 0.28),
        0 0 0 4px rgba(227, 191, 37, 0.12);
}

/* Large decorative yellow reflection */

.swo-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: -90px;
    bottom: -100px;
    width: 270px;
    height: 270px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(227, 191, 37, 0.24) 0%,
            rgba(227, 191, 37, 0.07) 52%,
            transparent 72%
        );
    pointer-events: none;
}

/* Subtle inner frame */

.swo-card::after {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 8px;
    border: 1px solid rgba(227, 191, 37, 0.18);
    border-radius: 17px;
    pointer-events: none;
}


/* =========================================================
   TOP ACCENT
   ========================================================= */

.swo-card__goldline {
    position: absolute;
    z-index: 10;
    inset: 0 0 auto;
    height: 7px;
    background:
        linear-gradient(
            90deg,
            #000000 0%,
            #e3bf25 18%,
            #fff3a4 50%,
            #e3bf25 82%,
            #000000 100%
        );
    box-shadow:
        0 4px 20px rgba(227, 191, 37, 0.48);
}


/* =========================================================
   COMPANY HEADER
   ========================================================= */

.swo-card header {
    position: relative;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 19px;
    align-items: center;
    overflow: hidden;
    padding:10px 10px;
    background:
        radial-gradient(
            circle at 92% 16%,
            rgba(227, 191, 37, 0.34),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #000000 0%,
            #111111 62%,
            #2e270b 100%
        );
}

/* Fine SMEDG-style grid texture */

.swo-card header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(227, 191, 37, 0.08) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(227, 191, 37, 0.06) 1px,
            transparent 1px
        );
    background-size: 38px 38px;
    opacity: 0.5;
    pointer-events: none;
}

/* Large yellow decorative circle */

.swo-card header::after {
    content: "";
    position: absolute;
    top: -110px;
    right: -70px;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(227, 191, 37, 0.26);
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(227, 191, 37, 0.12),
            transparent 68%
        );
    box-shadow:
        inset 0 0 55px rgba(227, 191, 37, 0.08);
    pointer-events: none;
}

.swo-card header > * {
    position: relative;
    z-index: 2;
}


/* =========================================================
   COMPANY LOGO
   ========================================================= */

.swo-card__logo {
    position: relative;
    display: grid;
    width: 86px;
    height: 86px;
    place-items: center;
    overflow: hidden;
    border: 2px solid #e3bf25;
    border-radius: 20px;
    background:
        radial-gradient(
            circle at 25% 18%,
            #ffffff,
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #ffffff 0%,
            #fff2a5 100%
        );
    color: #000000;
    font-family: var(--mh-font-heading);
    font-size: 2.1rem;
    font-weight: 900;
    box-shadow:
        0 15px 34px rgba(0, 0, 0, 0.35),
        0 0 0 5px rgba(227, 191, 37, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.swo-card__logo::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    border-radius: 14px;
    pointer-events: none;
}

.swo-card__logo img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 10px;
    object-fit: contain;
}


/* =========================================================
   HEADER TYPOGRAPHY
   ========================================================= */

.swo-card .swo-kicker {
    margin: 0 0 7px;
    color: #e3bf25;
    font-family: var(--mh-font-heading);
    font-size: 0.67rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.swo-card h2 {
    margin: 0;
    color: #ffffff;
    font-family: var(--mh-font-heading);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -0.04em;
    overflow-wrap: anywhere;
}


/* =========================================================
   CONSISTENT BODY SPACING
   ========================================================= */

.swo-card .swo-tags,
.swo-card > section,
.swo-card > address,
.swo-card > footer {
    margin-right: clamp(24px, 3vw, 34px);
    margin-left: clamp(24px, 3vw, 34px);
}


/* =========================================================
   AVAILABILITY DASHBOARD
   Dominant yellow with black information cards
   ========================================================= */

.swo-card__meta {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(155px, 0.85fr);
    gap: 10px;
    overflow: hidden;
}

/* Abstract black decorative form */

/* .swo-card__meta::before {
    content: "";
    position: absolute;
    top: -75px;
    right: -55px;
    width: 190px;
    height: 190px;
    border: 24px solid rgba(0, 0, 0, 0.06);
    border-radius: 50%;
    pointer-events: none;
}*/

.swo-card__meta > div {
    position: relative;
    z-index: 1;
    min-width: 0;
    padding: 17px 0px 17px 0px;
     display: flex;
    justify-content: flex-end;
}


/* =========================================================
   AVAILABILITY CALENDAR ICON
   ========================================================= */

.swo-card__meta > div:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 16px;
    width: 23px;
    height: 21px;
    border: 2px solid #e3bf25;
    border-radius: 5px;
    background:
        linear-gradient(
            to bottom,
            #e3bf25 0 6px,
            transparent 6px
        );
    transform: translateY(-50%);
}

.swo-card__meta > div:first-child::after {
    content: "";
    position: absolute;
    top: calc(50% - 15px);
    left: 21px;
    width: 2px;
    height: 6px;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 9px 0 0 #ffffff;
}


/* =========================================================
   VACATION WORK STATUS ICON
   ========================================================= */

.swo-card__meta > div:nth-child(2)::before {
    content: "✓";
    position: absolute;
    top: 50%;
    left: 15px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 2px solid #000000;
    border-radius: 50%;
    background: #e3bf25;
    color: #000000;
    font-family: var(--mh-font-heading);
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow:
        0 0 0 4px rgba(227, 191, 37, 0.12),
        0 7px 16px rgba(0, 0, 0, 0.20);
    transform: translateY(-50%);
}


/* Positive vacation status */

.swo-card__meta .is-yes {
    border-color: #e3bf25;
    background:
        radial-gradient(
            circle at 88% 8%,
            rgba(227, 191, 37, 0.24),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #000000,
            #211c09
        );
}

/* Additional yellow status indicator */

.swo-card__meta .is-yes::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #e3bf25;
    box-shadow:
        0 0 0 4px rgba(227, 191, 37, 0.12),
        0 0 14px rgba(227, 191, 37, 0.55);
}


/* Unavailable or not indicated */

.swo-card__meta .is-no {
    border-color: rgba(227, 191, 37, 0.26);
    background:
        linear-gradient(
            145deg,
            #000000,
            #181818
        );
}

.swo-card__meta .is-no::before {
    content: "–";
    border-color: rgba(227, 191, 37, 0.48);
    background: rgba(227, 191, 37, 0.12);
    color: #e3bf25;
    box-shadow: none;
}


/* Meta field labels */

.swo-card__meta small {
    display: block;
    margin-bottom: 5px;
    color: #e3bf25;
    font-family: var(--mh-font-heading);
    font-size: 0.63rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* Meta field values */

.swo-card__meta strong {
    display: block;
    color: #000;
    font-family: var(--mh-font-heading);
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.42;
    overflow-wrap: anywhere;
}


/* =========================================================
   STATE AND CATEGORY TAGS
   ========================================================= */

.swo-card .swo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 20px;
}

.swo-card .swo-tags span {
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid #000000;
    border-radius: 999px;
    background: #e3bf25;
    color: #000000;
    font-family: var(--mh-font-body);
    font-size: 0.70rem;
    font-weight: 800;
    line-height: 1.2;
    box-shadow:
        0 5px 12px rgba(227, 191, 37, 0.15);
}

.swo-card .swo-tags span::before {
    content: "";
    width: 5px;
    height: 5px;
    margin-right: 7px;
    border-radius: 50%;
    background: #000000;
}

/* Controlled alternating black labels */

.swo-card .swo-tags span:nth-child(3n + 2) {
    border-color: #e3bf25;
    background: #000000;
    color: #e3bf25;
}

.swo-card .swo-tags span:nth-child(3n + 2)::before {
    background: #e3bf25;
    box-shadow: 0 0 0 3px rgba(227, 191, 37, 0.13);
}


/* =========================================================
   STANDARD CARD CONTENT
   ========================================================= */

.swo-card > section {
    position: relative;
    margin-top: 0;
    margin-bottom: 0;
    padding: 19px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.10);
}

.swo-card section h3,
.swo-card address b {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 9px;
    color: #000000;
    font-family: var(--mh-font-heading);
    font-size: 0.73rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.swo-card section h3::before {
    content: "";
    width: 25px;
    height: 4px;
    border-radius: 999px;
    background:
        linear-gradient(
            90deg,
            #000000 0 32%,
            #e3bf25 32% 100%
        );
}

.swo-card section p {
    margin: 0;
    color: var(--mh-gray-600);
    font-size: 0.92rem;
    line-height: 1.64;
}


/* =========================================================
   GOLDEN HONOURS PROJECT PANEL
   ========================================================= */

.swo-card > .swo-project {
    position: relative;
    margin-top: 4px;
    margin-bottom: 4px;
    overflow: hidden;
}


.swo-card > .swo-project h3,
.swo-card > .swo-project p {
    position: relative;
    z-index: 1;
}

.swo-card > .swo-project h3 {
    color: #000000;
}

.swo-card > .swo-project h3::before {
    background: #000000;
}

.swo-card > .swo-project p {
    color: rgba(0, 0, 0, 0.76);
    font-weight: 520;
}


/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.swo-card > address {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 13px;
    overflow: hidden;
    color: var(--mh-gray-600);
    font-style: normal;
    font-size: 0.92rem;
}

.swo-card address b {
    grid-column: 1 / -1;
    margin: 0 0 2px;
}

.swo-card address span {
    grid-column: 1 / -1;
    color: rgba(0, 0, 0, 0.76);font-style:normal;
    font-weight: 520;
}

.swo-card address a {
    min-width: 0;
    color: rgba(0, 0, 0, 0.76);font-style:normal;display:block;
    text-decoration: none;
    font-weight:520;
    overflow-wrap: anywhere;
}

.swo-card address a:hover {
    color: #8a6b00;
    text-decoration-color: #000000;
}


/* =========================================================
   COMPANY WEBSITE BUTTON
   ========================================================= */

.swo-card > footer {
    margin-top: auto;
    margin-bottom: clamp(24px, 3vw, 34px);
    padding-top: 10px;
    margin-left: clamp(24px, 3vw, 34px);
    margin-right: clamp(24px, 3vw, 34px);
}
.swo-card > footer .swo-card__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 20px;
    width: 100%;
    overflow: visible;
}
/* Left side: Vacation work information */
.swo-card > footer .swo-card__meta > div:first-child {
    min-width: 0;
}

/* Right side: Find Out More button */
.swo-card > footer .swo-card__meta > div:last-child {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

/* Button */
.swo-card > footer .swo-card__meta a {
    display: flex;
    width: max-content;
    max-width: 200px;
    min-height: 53px;
    margin-left: auto;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px;

    border: 2px solid #e3bf25;
    border-radius: 14px;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(227, 191, 37, 0.22),
            transparent 28%
        ),
        linear-gradient(135deg, #000000, #171717);

    color: #ffffff;
    font-family: var(--mh-font-heading);
    font-size: 0.84rem;
    font-weight: 900;
    text-decoration: none;

    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.18),
        0 7px 18px rgba(227, 191, 37, 0.12);

    transition:
        transform 180ms ease,
        background 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        color 180ms ease;
}

.swo-card footer a {
    position: relative;
    display: flex;
    min-height: 53px;
    max-width:200px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    float:none;
    overflow: hidden;
    padding: 10px;
    border: 2px solid #e3bf25;
    border-radius: 14px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(227, 191, 37, 0.22),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #000000,
            #171717
        );
    color: #ffffff;
    font-family: var(--mh-font-heading);
    font-size: 0.84rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.18),
        0 7px 18px rgba(227, 191, 37, 0.12);
    transition:
        transform 180ms ease,
        background 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        color 180ms ease;
}

/* Moving yellow highlight */

.swo-card footer a::before {
    content: "";
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -30%;
    width: 18%;
    background: rgba(227, 191, 37, 0.30);
    transform: rotate(18deg);
    transition: left 450ms ease;
}

.swo-card footer a:hover {
    border-color: #000000;
    background:
        linear-gradient(
            135deg,
            #e3bf25,
            #f2d34e
        );
    color: #000000;
    transform: translateY(-2px);
    box-shadow:
        0 17px 38px rgba(0, 0, 0, 0.16),
        0 9px 24px rgba(227, 191, 37, 0.24);
}

.swo-card footer a:hover::before {
    left: 115%;
}

.swo-card footer a span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    place-items: center;
    border: 1px solid #e3bf25;
    border-radius: 50%;
    background: rgba(227, 191, 37, 0.13);
    color: #e3bf25;
    font-size: 1rem;
}

.swo-card footer a:hover span {
    border-color: #000000;
    background: #000000;
    color: #e3bf25;
}

/* Footer: availability on left, button on right */
.swo-card > footer .swo-card__meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    gap: 20px;
    overflow: visible;
}

/* Vacation Work block */
.swo-card > footer .swo-card__meta > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding: 0;
}

/* Find Out More block */
.swo-card > footer .swo-card__meta > div:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    padding: 0;
}

/* Find Out More button */
.swo-card > footer .swo-card__meta > div:last-child a {
    margin-left: auto;
    float: none;
}
/* =========================================================
   EMPTY RESULTS
   ========================================================= */

.swo-empty {
    grid-column: 1 / -1;
    padding: clamp(42px, 7vw, 70px);
    border: 2px dashed rgba(0, 0, 0, 0.24);
    border-radius: 22px;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(227, 191, 37, 0.24),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #fffdf3,
            #ffffff
        );
    color: var(--mh-gray-600);
    text-align: center;
}

.swo-empty span {
    color: #e3bf25;
    font-family: var(--mh-font-heading);
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    text-shadow:
        2px 2px 0 #000000;
}

.swo-empty h2 {
    margin: 10px 0 6px;
    color: #000000;
    font-family: var(--mh-font-heading);
    font-weight: 900;
}

.swo-empty p {
    margin: 0;
}


/* =========================================================
   KEYBOARD ACCESSIBILITY
   ========================================================= */

.swo-card a:focus-visible {
    outline: 3px solid #e3bf25;
    outline-offset: 4px;
}


/* =========================================================
   RESPONSIVE DESIGN
   ========================================================= */

@media (max-width: 1050px) {
    .swo-results {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .swo-results {
        gap: 19px;
    }

    .swo-card {
        border-radius: 20px;
    }

    .swo-card::after {
        inset: 6px;
        border-radius: 14px;
    }

    .swo-card header {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
    }

    .swo-card__logo {
        width: 64px;
        height: 64px;
        border-radius: 15px;
        font-size: 1.7rem;
    }

    .swo-card__logo::after {
        inset: 4px;
        border-radius: 10px;
    }

    .swo-card__logo img {
        padding: 8px;
    }

    .swo-card h2 {
        font-size: clamp(1.2rem, 6vw, 1.55rem);
    }

    .swo-card__meta,
    .swo-card .swo-tags,
    .swo-card > section,
    .swo-card > address,
    .swo-card > footer {
        margin-right: 19px;
        margin-left: 19px;
    }

    .swo-card__meta {
        grid-template-columns: 1fr;
        margin-top: 19px;
        padding: 8px;
        border-radius: 16px;
    }

    .swo-card__meta > div {
        min-height: 70px;
        padding: 15px 14px 15px 50px;
    }

    .swo-card > .swo-project::after {
        display: none;
    }

    .swo-card > address {
        grid-template-columns: 1fr;
        padding: 15px 15px 15px 19px;
    }

    .swo-card address b,
    .swo-card address span {
        grid-column: 1;
    }

    .swo-card > footer {
        margin-bottom: 20px;
    }

    .swo-card footer a {
        min-height: 54px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
    .swo-card,
    .swo-card footer a,
    .swo-card footer a::before {
        transition: none;
    }

    .swo-card:hover,
    .swo-card footer a:hover {
        transform: none;
    }

    .swo-card footer a::before {
        display: none;
    }
}
.swo-empty{grid-column:1/-1;padding:60px;border:1px dashed #ccc;border-radius:20px;background:#fff;color:#555;text-align:center}.swo-empty span{color:var(--swo-gold);font:900 4rem var(--mh-font-heading)}.swo-empty h2{margin:0;color:#111}.swo-empty p{margin:6px 0 0}
@media(max-width:1050px){.swo-months__rail,.swo-months.is-expanded .swo-months__rail{display:flex;overflow-x:auto;padding-bottom:5px}.swo-month{min-width:67px}.swo-results{grid-template-columns:1fr}}
@media(max-width:680px){.swo-hero{padding-top:65px}.swo-filterbar{padding:19px}.swo-filterbar__controls{grid-template-columns:1fr}.swo-picker__panel{position:fixed;inset:auto 12px 12px;width:auto;max-height:75vh}.swo-picker__list{max-height:48vh}.swo-months legend small{display:block;margin:4px 0 0}.swo-filterbar__head{align-items:start}.swo-card{padding:21px}.swo-card header{grid-template-columns:58px 1fr}.swo-card__logo{width:58px;height:58px}.swo-card__meta{grid-template-columns:1fr}.swo-hero__mark{display:none}}
@media(prefers-reduced-motion:reduce){.swo *{transition:none!important;animation:none!important}}
