/* ==========================================================
   WORLDCUPSPAIN GLOBAL CONTENT LAYOUT
   ========================================================== */

:root {
    --wcs-max-width: 1320px;
    --wcs-side-space: 32px;
    --wcs-card-radius: 18px;
}

/* ----------------------------------------------------------
   GLOBAL CENTERED CONTENT
   ---------------------------------------------------------- */

.page-hero > .container,
main.page,
main > .container,
section > .container,
.wrap {
    width: calc(100% - (var(--wcs-side-space) * 2)) !important;
    max-width: var(--wcs-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* Never allow normal page content to touch browser edges */
main.page {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ----------------------------------------------------------
   PAGE HERO
   ---------------------------------------------------------- */

.page-hero {
    width: 100%;
    box-sizing: border-box;
}

.page-hero > .container {
    padding-top: 34px;
    padding-bottom: 30px;
}

.page-hero.compact > .container {
    padding-top: 30px;
    padding-bottom: 26px;
}

.page-hero .eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.page-hero h1 {
    margin: 0 0 14px;
    max-width: 950px;
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.page-hero p {
    max-width: 900px;
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

/* ----------------------------------------------------------
   STANDARD PAGE SPACING
   ---------------------------------------------------------- */

main.page {
    padding-top: 30px;
    padding-bottom: 48px;
}

/* ----------------------------------------------------------
   GLOBAL CARD IMPROVEMENT
   ---------------------------------------------------------- */

main.page .card {
    box-sizing: border-box;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15, 39, 64, .10);
    border-radius: var(--wcs-card-radius);
    padding: 26px;
    text-decoration: none;
    box-shadow:
        0 2px 4px rgba(15,39,64,.025),
        0 12px 32px rgba(15,39,64,.055);
    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease;
}

main.page a.card {
    display: block;
    color: inherit;
}

main.page .card:hover {
    transform: translateY(-3px);
    border-color: rgba(15,39,64,.18);
    box-shadow:
        0 6px 14px rgba(15,39,64,.06),
        0 20px 42px rgba(15,39,64,.09);
}

/* ----------------------------------------------------------
   COUNTRY / DESTINATION GRID
   ---------------------------------------------------------- */

main.page .grid3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch;
}

main.page .grid3 > .card {
    min-width: 0;
    height: 100%;
}

main.page .grid3 .card h3 {
    margin: 17px 0 10px;
    font-size: 21px;
    line-height: 1.25;
}

main.page .grid3 .card p {
    margin: 0 0 20px;
    line-height: 1.65;
}

main.page .grid3 .card .muted {
    color: #52677d;
}

main.page .grid3 .card > span:last-child {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    font-weight: 700;
    line-height: 1.4;
}

/* Country code badge */
main.page .country-pill {
    display: inline-flex;
    min-width: 34px;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

/* Slightly emphasize the three principal hosts */
main.page .country-spain,
main.page .country-portugal,
main.page .country-morocco {
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.25);
}

/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media (max-width: 1050px) {

    :root {
        --wcs-side-space: 24px;
    }

    main.page .grid3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 680px) {

    :root {
        --wcs-side-space: 16px;
    }

    .page-hero > .container {
        padding-top: 24px;
        padding-bottom: 22px;
    }

    .page-hero h1 {
        font-size: 30px;
    }

    main.page {
        padding-top: 20px;
        padding-bottom: 36px;
    }

    main.page .grid3 {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    main.page .card {
        padding: 21px;
        border-radius: 15px;
    }
}


/* ==========================================================
   WORLDCUPSPAIN COUNTRY COLOR SYSTEM
   Spain / Portugal / Morocco / Argentina / Paraguay / Uruguay
   ========================================================== */

/*
   Reusable variables.
   These classes can be attached to country cards, city cards,
   stadium cards, badges and other country-related UI elements.
*/

/* SPAIN */
.country-spain {
    --country-primary: #c60b1e;
    --country-secondary: #ffc400;
    --country-text: #7a0712;
    --country-soft: #fff7d6;
}

/* PORTUGAL */
.country-portugal {
    --country-primary: #046a38;
    --country-secondary: #da291c;
    --country-text: #034c29;
    --country-soft: #eaf7f0;
}

/* MOROCCO */
.country-morocco {
    --country-primary: #c1272d;
    --country-secondary: #006233;
    --country-text: #8d1820;
    --country-soft: #fff0f1;
}

/* ARGENTINA */
.country-argentina {
    --country-primary: #75aadb;
    --country-secondary: #f6b40e;
    --country-text: #174d78;
    --country-soft: #eef8ff;
}

/* PARAGUAY */
.country-paraguay {
    --country-primary: #d52b1e;
    --country-secondary: #0038a8;
    --country-text: #8f1b13;
    --country-soft: #fff1f0;
}

/* URUGUAY */
.country-uruguay {
    --country-primary: #0038a8;
    --country-secondary: #fcd116;
    --country-text: #002c82;
    --country-soft: #eef5ff;
}


/* ----------------------------------------------------------
   COUNTRY CODE BADGES
   ---------------------------------------------------------- */

.country-pill.country-spain,
.country-pill.country-portugal,
.country-pill.country-morocco,
.country-pill.country-argentina,
.country-pill.country-paraguay,
.country-pill.country-uruguay {
    background: var(--country-primary) !important;
    color: #fff !important;
    border: 1px solid var(--country-primary) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.22),
        0 2px 5px rgba(15,39,64,.10);
}


/* Spain badge uses yellow with dark text */
.country-pill.country-spain {
    background: #f1bf00 !important;
    color: #111 !important;
    border-color: #b98d00 !important;
}


/* Argentina - light blue + sun accent */
.country-pill.country-argentina {
    background: #75aadb !important;
    color: #082f4f !important;
    border-color: #174d78 !important;
}


/* Paraguay - red */
.country-pill.country-paraguay {
    background: #d52b1e !important;
    color: #fff !important;
    border-color: #a51e15 !important;
}


/* Uruguay - blue */
.country-pill.country-uruguay {
    background: #ffffff !important;
    color: #0038a8 !important;
    border-color: #0038a8 !important;
}


/* ----------------------------------------------------------
   REUSABLE COUNTRY CARD ACCENTS
   ---------------------------------------------------------- */

.country-theme.country-spain,
.country-theme.country-portugal,
.country-theme.country-morocco,
.country-theme.country-argentina,
.country-theme.country-paraguay,
.country-theme.country-uruguay {
    position: relative;
    overflow: hidden;
    border-top: 4px solid var(--country-primary) !important;
}

.country-theme.country-spain::before,
.country-theme.country-portugal::before,
.country-theme.country-morocco::before,
.country-theme.country-argentina::before,
.country-theme.country-paraguay::before,
.country-theme.country-uruguay::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 72px;
    height: 4px;
    background: var(--country-secondary);
}


/* ----------------------------------------------------------
   REUSABLE COUNTRY BADGE
   ---------------------------------------------------------- */

.country-badge.country-spain,
.country-badge.country-portugal,
.country-badge.country-morocco,
.country-badge.country-argentina,
.country-badge.country-paraguay,
.country-badge.country-uruguay {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border-radius: 8px;
    background: var(--country-soft);
    color: var(--country-text);
    border: 1px solid color-mix(
        in srgb,
        var(--country-primary) 28%,
        transparent
    );
    font-weight: 800;
}


/* ----------------------------------------------------------
   REUSABLE COUNTRY LINK / ACCENT
   ---------------------------------------------------------- */

.country-link.country-spain,
.country-link.country-portugal,
.country-link.country-morocco,
.country-link.country-argentina,
.country-link.country-paraguay,
.country-link.country-uruguay {
    color: var(--country-text);
    font-weight: 700;
}


/* ----------------------------------------------------------
   COUNTRY PAGE CARD - subtle matching accent
   ---------------------------------------------------------- */

main.page .card:has(.country-spain) {
    border-top: 4px solid #f1bf00;
}

main.page .card:has(.country-portugal) {
    border-top: 4px solid #046a38;
}

main.page .card:has(.country-morocco) {
    border-top: 4px solid #c1272d;
}

main.page .card:has(.country-argentina) {
    border-top: 4px solid #75aadb;
}

main.page .card:has(.country-paraguay) {
    border-top: 4px solid #d52b1e;
}

main.page .card:has(.country-uruguay) {
    border-top: 4px solid #0038a8;
}


/* secondary flag-color accent */

main.page .card:has(.country-spain)::after,
main.page .card:has(.country-portugal)::after,
main.page .card:has(.country-morocco)::after,
main.page .card:has(.country-argentina)::after,
main.page .card:has(.country-paraguay)::after,
main.page .card:has(.country-uruguay)::after {
    content: "";
    position: absolute;
    top: -4px;
    right: 24px;
    width: 58px;
    height: 4px;
    border-radius: 0 0 3px 3px;
}

main.page .card:has(.country-spain)::after {
    background: #c60b1e;
}

main.page .card:has(.country-portugal)::after {
    background: #da291c;
}

main.page .card:has(.country-morocco)::after {
    background: #006233;
}

main.page .card:has(.country-argentina)::after {
    background: #f6b40e;
}

main.page .card:has(.country-paraguay)::after {
    background: #0038a8;
}

main.page .card:has(.country-uruguay)::after {
    background: #fcd116;
}

main.page .card:has(.country-pill) {
    position: relative;
    overflow: hidden;
}



/* ==========================================================
   WORLDCUPSPAIN GLOBAL SIX-COUNTRY THEME V2
   Countries / Cities / Stadiums
   ========================================================== */

/* ---------------------------
   COUNTRY PALETTES
   --------------------------- */

.country-spain {
    --ct-primary:#f1bf00;
    --ct-secondary:#c60b1e;
    --ct-dark:#7d101b;
    --ct-soft:#fff9df;
}

.country-portugal {
    --ct-primary:#046a38;
    --ct-secondary:#da291c;
    --ct-dark:#034c29;
    --ct-soft:#edf8f2;
}

.country-morocco {
    --ct-primary:#c1272d;
    --ct-secondary:#006233;
    --ct-dark:#8d1820;
    --ct-soft:#fff1f2;
}

.country-argentina {
    --ct-primary:#75aadb;
    --ct-secondary:#f6b40e;
    --ct-dark:#174d78;
    --ct-soft:#eef8ff;
}

.country-paraguay {
    --ct-primary:#d52b1e;
    --ct-secondary:#0038a8;
    --ct-dark:#8f1b13;
    --ct-soft:#fff2f1;
}

.country-uruguay {
    --ct-primary:#0038a8;
    --ct-secondary:#fcd116;
    --ct-dark:#002c82;
    --ct-soft:#eef5ff;
}


/* ==========================================================
   COUNTRY PILLS / KICKERS / ACCENTS
   ========================================================== */

.country-pill.country-spain,
.country-pill.country-portugal,
.country-pill.country-morocco,
.country-pill.country-argentina,
.country-pill.country-paraguay,
.country-pill.country-uruguay,

.country-kicker.country-spain,
.country-kicker.country-portugal,
.country-kicker.country-morocco,
.country-kicker.country-argentina,
.country-kicker.country-paraguay,
.country-kicker.country-uruguay,

.country-accent.country-spain,
.country-accent.country-portugal,
.country-accent.country-morocco,
.country-accent.country-argentina,
.country-accent.country-paraguay,
.country-accent.country-uruguay {
    background:var(--ct-primary) !important;
    border-color:var(--ct-primary) !important;
    color:#fff !important;
}


/* Spain yellow needs dark text */
.country-pill.country-spain,
.country-kicker.country-spain,
.country-accent.country-spain {
    color:#161616 !important;
}


/* Argentina light blue */
.country-pill.country-argentina,
.country-kicker.country-argentina,
.country-accent.country-argentina {
    color:#082f4f !important;
}


/* Uruguay: white badge with blue outline */
.country-pill.country-uruguay,
.country-kicker.country-uruguay,
.country-accent.country-uruguay {
    background:#fff !important;
    color:#0038a8 !important;
    border:1px solid #0038a8 !important;
}


/* ==========================================================
   CITY + STADIUM CARDS
   ========================================================== */

.city-card.country-theme,
.stadium-card.country-theme {
    position:relative;
    overflow:hidden;
    border-top:4px solid var(--ct-primary) !important;
    transition:
        transform .20s ease,
        box-shadow .20s ease,
        border-color .20s ease;
}


/* Secondary flag color */
.city-card.country-theme::after,
.stadium-card.country-theme::after {
    content:"";
    position:absolute;
    top:0;
    right:24px;
    width:70px;
    height:4px;
    background:var(--ct-secondary);
    z-index:3;
}


.city-card.country-theme:hover,
.stadium-card.country-theme:hover {
    transform:translateY(-3px);
    box-shadow:
        0 7px 18px rgba(15,39,64,.07),
        0 20px 44px rgba(15,39,64,.09);
}


/* Country label inside city/stadium card */
.city-card .country-pill,
.stadium-card .country-accent,
.stadium-card .country-pill {
    font-weight:800;
}


/* ==========================================================
   CITY + STADIUM DETAIL HERO
   ========================================================== */

.city-cover.country-page-theme,
.stadium-cover.country-page-theme {
    position:relative;
}


/* colored bottom line */
.city-cover.country-page-theme::after,
.stadium-cover.country-page-theme::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:5px;
    background:
        linear-gradient(
            90deg,
            var(--ct-primary) 0%,
            var(--ct-primary) 70%,
            var(--ct-secondary) 70%,
            var(--ct-secondary) 100%
        );
}


/* ==========================================================
   COUNTRY-THEMED LINKS INSIDE DETAIL PAGE
   ========================================================== */

.country-page-theme .country-kicker {
    display:inline-flex;
    align-items:center;
    border-radius:8px;
    padding:6px 10px;
    font-weight:800;
}


/* ==========================================================
   ARGENTINA
   ========================================================== */

.country-argentina.country-theme,
.country-argentina.country-page-theme {
    --ct-primary:#75aadb;
    --ct-secondary:#f6b40e;
}


/* ==========================================================
   PARAGUAY
   ========================================================== */

.country-paraguay.country-theme,
.country-paraguay.country-page-theme {
    --ct-primary:#d52b1e;
    --ct-secondary:#0038a8;
}


/* ==========================================================
   URUGUAY
   ========================================================== */

.country-uruguay.country-theme,
.country-uruguay.country-page-theme {
    --ct-primary:#0038a8;
    --ct-secondary:#fcd116;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:680px) {

    .city-card.country-theme::after,
    .stadium-card.country-theme::after {
        right:16px;
        width:48px;
    }

}


/* ==========================================================
   COUNTRY BADGE CONTRAST FIX
   Spain / Portugal / Morocco
   ========================================================== */

/* SPAIN: red text on yellow */
.country-pill.country-spain,
.country-kicker.country-spain,
.country-accent.country-spain {
    background: #f4c300 !important;
    color: #c60b1e !important;
    border-color: #c60b1e !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

/* PORTUGAL: red text on green */
.country-pill.country-portugal,
.country-kicker.country-portugal,
.country-accent.country-portugal {
    background: #046a38 !important;
    color: #ff5a4f !important;
    border-color: #da291c !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

/* MOROCCO: white text on green */
.country-pill.country-morocco,
.country-kicker.country-morocco,
.country-accent.country-morocco {
    background: #006233 !important;
    color: #ffffff !important;
    border-color: #c1272d !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}


/* Stadium badges need a little breathing room */
.stadium-card .country-accent,
.stadium-card .country-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    line-height: 1.25 !important;
}


/* City badges too */
.city-card .country-pill {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    line-height: 1.25 !important;
}


/* Improve visual clarity on cards */
.stadium-card .country-accent,
.city-card .country-pill {
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.15),
        0 1px 3px rgba(15,39,64,.12);
}



/* ==========================================================
   STADIUM INDEX COUNTRY BADGES - FINAL OVERRIDE
   /stadiums
   ========================================================== */

/* Base stadium country badge */
main .stadium-card .pill.country-accent {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: max-content !important;

    padding: 5px 9px !important;
    border-radius: 4px !important;

    font-weight: 800 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
    text-shadow: none !important;
}


/* ==========================================================
   SPAIN
   red text on yellow
   ========================================================== */

main .stadium-card .pill.country-accent.country-spain {
    background: #f4c300 !important;
    background-color: #f4c300 !important;

    color: #c60b1e !important;
    -webkit-text-fill-color: #c60b1e !important;

    border: 1px solid #c60b1e !important;
}


/* ==========================================================
   PORTUGAL
   red text on green
   ========================================================== */

main .stadium-card .pill.country-accent.country-portugal {
    background: #046a38 !important;
    background-color: #046a38 !important;

    color: #ff5a4f !important;
    -webkit-text-fill-color: #ff5a4f !important;

    border: 1px solid #da291c !important;
}


/* ==========================================================
   MOROCCO
   white text on green
   ========================================================== */

main .stadium-card .pill.country-accent.country-morocco {
    background: #006233 !important;
    background-color: #006233 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    border: 1px solid #c1272d !important;
}


/* ==========================================================
   ARGENTINA
   dark blue text on light blue
   ========================================================== */

main .stadium-card .pill.country-accent.country-argentina {
    background: #75aadb !important;
    background-color: #75aadb !important;

    color: #123f63 !important;
    -webkit-text-fill-color: #123f63 !important;

    border: 1px solid #174d78 !important;
}


/* ==========================================================
   PARAGUAY
   white text on red
   ========================================================== */

main .stadium-card .pill.country-accent.country-paraguay {
    background: #d52b1e !important;
    background-color: #d52b1e !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    border: 1px solid #0038a8 !important;
}


/* ==========================================================
   URUGUAY
   blue text on white
   ========================================================== */

main .stadium-card .pill.country-accent.country-uruguay {
    background: #ffffff !important;
    background-color: #ffffff !important;

    color: #0038a8 !important;
    -webkit-text-fill-color: #0038a8 !important;

    border: 1px solid #0038a8 !important;
}


/* Prevent inherited stadium-card link colors */
main .stadium-card:hover .pill.country-accent.country-spain {
    color: #c60b1e !important;
    -webkit-text-fill-color: #c60b1e !important;
}

main .stadium-card:hover .pill.country-accent.country-portugal {
    color: #ff5a4f !important;
    -webkit-text-fill-color: #ff5a4f !important;
}

main .stadium-card:hover .pill.country-accent.country-morocco {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

main .stadium-card:hover .pill.country-accent.country-argentina {
    color: #123f63 !important;
    -webkit-text-fill-color: #123f63 !important;
}

main .stadium-card:hover .pill.country-accent.country-paraguay {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

main .stadium-card:hover .pill.country-accent.country-uruguay {
    color: #0038a8 !important;
    -webkit-text-fill-color: #0038a8 !important;
}



/* ==========================================================
   LOCATION BADGE
   ========================================================== */

.stadium-cover .stadium-cover-copy .country-kicker {
    position: relative !important;
    z-index: 6 !important;

    display: inline-flex !important;
    width: auto !important;

    margin: 0 0 14px 0 !important;
    padding: 6px 10px !important;

    border-radius: 7px !important;

    font-weight: 800 !important;
    line-height: 1.2 !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* ==========================================================
   TITLE
   ========================================================== */

.stadium-cover .stadium-cover-copy h1 {
    position: relative !important;
    z-index: 6 !important;

    display: block !important;

    max-width: 1200px !important;

    margin: 0 0 12px 0 !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    visibility: visible !important;
    opacity: 1 !important;

    text-shadow:
        0 2px 4px rgba(0,0,0,.80),
        0 6px 22px rgba(0,0,0,.45) !important;
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.stadium-cover .stadium-cover-copy p {
    position: relative !important;
    z-index: 6 !important;

    display: block !important;

    width: auto !important;
    max-width: 820px !important;

    margin: 0 0 12px 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    line-height: 1.55 !important;

    visibility: visible !important;
    opacity: 1 !important;

    text-shadow:
        0 1px 3px rgba(0,0,0,.95),
        0 3px 10px rgba(0,0,0,.55) !important;
}


/* ==========================================================
   CAPACITY
   ========================================================== */

.stadium-cover .stadium-cover-copy b,
.stadium-cover .stadium-cover-copy strong {
    position: relative !important;
    z-index: 6 !important;

    display: inline-block !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;

    visibility: visible !important;
    opacity: 1 !important;

    text-shadow:
        0 1px 3px rgba(0,0,0,.95) !important;
}


/* ==========================================================
   COUNTRY BADGES
   ========================================================== */

/* Uruguay */
.stadium-cover .country-kicker.country-uruguay {
    background: #ffffff !important;
    color: #0038a8 !important;
    -webkit-text-fill-color: #0038a8 !important;
    border: 1px solid #0038a8 !important;
}

/* Argentina */
.stadium-cover .country-kicker.country-argentina {
    background: #75aadb !important;
    color: #123f63 !important;
    -webkit-text-fill-color: #123f63 !important;
    border: 1px solid #174d78 !important;
}

/* Paraguay */
.stadium-cover .country-kicker.country-paraguay {
    background: #d52b1e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid #0038a8 !important;
}

/* Spain */
.stadium-cover .country-kicker.country-spain {
    background: #f4c300 !important;
    color: #c60b1e !important;
    -webkit-text-fill-color: #c60b1e !important;
    border: 1px solid #c60b1e !important;
}

/* Portugal */
.stadium-cover .country-kicker.country-portugal {
    background: #046a38 !important;
    color: #ff5a4f !important;
    -webkit-text-fill-color: #ff5a4f !important;
    border: 1px solid #da291c !important;
}

/* Morocco */
.stadium-cover .country-kicker.country-morocco {
    background: #006233 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border: 1px solid #c1272d !important;
}


/* Country accent line */
.stadium-cover.country-page-theme::after {
    z-index: 7 !important;
    pointer-events: none !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:900px) {

    .stadium-cover .stadium-cover-copy {
        width: calc(100% - 40px) !important;
        padding-bottom: 24px !important;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:600px) {

    .stadium-cover .stadium-cover-copy {
        width: calc(100% - 28px) !important;
        padding-bottom: 20px !important;
    }

    .stadium-cover .stadium-cover-copy h1 {
        font-size: clamp(28px,8vw,40px) !important;
        line-height: 1.08 !important;
    }

    .stadium-cover .stadium-cover-copy p {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

}


/* ==========================================================
   STADIUM HERO - IMAGE DARKENING ONLY
   DO NOT alter text position/layout/z-index
   ========================================================== */

/*
 * Important:
 * Only the photograph is darkened.
 * The original stadium-cover-copy positioning remains untouched.
 */
.stadium-cover > img {
    filter: brightness(0.62) contrast(1.03) !important;
}


/*
 * Slightly stronger darkening on very small displays.
 */
@media (max-width: 680px) {
    .stadium-cover > img {
        filter: brightness(0.56) contrast(1.03) !important;
    }
}



/* ==========================================================
   CITY HERO - IMAGE DARKENING ONLY
   Keeps ALL original text positioning unchanged.
   ========================================================== */

/*
 * City detail page.
 * Only modify the actual photograph.
 * Do NOT modify city hero content positioning.
 */
.city-cover > img,
.city-hero > img {
    filter: brightness(0.58) contrast(1.04) !important;
}


/*
 * Mobile photographs benefit from slightly stronger darkening
 * because text occupies a larger percentage of the image.
 */
@media (max-width: 680px) {

    .city-cover > img,
    .city-hero > img {
        filter: brightness(0.53) contrast(1.04) !important;
    }

}



/* ==========================================================
   GLOBAL LOWER CONTENT ALIGNMENT
   Keeps ordinary page sections away from browser edges.
   Full-width hero/cover sections remain untouched.
   ========================================================== */

:root {
    --wcs-content-width: 1320px;
    --wcs-content-side: 32px;
}


/* ----------------------------------------------------------
   NORMAL CONTENT SECTIONS
   ---------------------------------------------------------- */

/*
 * Center regular sections that are direct children of main.
 * Hero/cover/map sections are deliberately excluded.
 */
main > section:not(.page-hero):not(.city-cover):not(.stadium-cover):not(.hero):not(.full-width):not(.full-bleed),
main > article,
main > .contentpanel,
main > .seo-content,
main > .seo-depth,
main > .seo-section,
main > .related-guides {
    width: calc(100% - (var(--wcs-content-side) * 2)) !important;
    max-width: var(--wcs-content-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   SEO / TRAVEL CONTENT GENERATED BELOW PRIMARY PAGE CONTENT
   ---------------------------------------------------------- */

.seo-depth-v5,
.seo-depth,
.seo-content,
.seo-content-cluster,
.travel-guides,
.country-guides,
.related-guides,
.related-content,
.guide-links,
.content-cluster {
    width: calc(100% - (var(--wcs-content-side) * 2)) !important;
    max-width: var(--wcs-content-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/* Give lower sections breathing room */
main > section:not(.page-hero):not(.city-cover):not(.stadium-cover):not(.hero) {
    padding-left: 0;
    padding-right: 0;
}


/* ----------------------------------------------------------
   HEADINGS / TEXT INSIDE LOWER CONTENT
   ---------------------------------------------------------- */

.seo-depth-v5 h2,
.seo-depth h2,
.seo-content h2,
.seo-content-cluster h2,
.travel-guides h2,
.country-guides h2 {
    margin-top: 0;
}

.seo-depth-v5 p,
.seo-depth p,
.seo-content p,
.seo-content-cluster p,
.travel-guides p,
.country-guides p {
    max-width: 1050px;
    line-height: 1.7;
}


/* ----------------------------------------------------------
   GUIDE LINK CARDS / BUTTONS
   ---------------------------------------------------------- */

.seo-depth-v5 a,
.country-guides a,
.travel-guides a {
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}


/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */

footer,
.site-footer {
    width: 100% !important;
    box-sizing: border-box !important;
}

footer > .wrap,
footer > .container,
.site-footer > .wrap,
.site-footer > .container,
.footer-inner {
    width: calc(100% - (var(--wcs-content-side) * 2)) !important;
    max-width: var(--wcs-content-width) !important;

    margin-left: auto !important;
    margin-right: auto !important;

    box-sizing: border-box !important;
}


/*
 * Fallback for footers whose content is not wrapped
 * in .wrap/.container.
 */
footer:not(:has(> .wrap)):not(:has(> .container)),
.site-footer:not(:has(> .wrap)):not(:has(> .container)) {
    padding-left: max(
        var(--wcs-content-side),
        calc((100% - var(--wcs-content-width)) / 2)
    ) !important;

    padding-right: max(
        var(--wcs-content-side),
        calc((100% - var(--wcs-content-width)) / 2)
    ) !important;
}


/* ----------------------------------------------------------
   TABLET
   ---------------------------------------------------------- */

@media(max-width:900px) {

    :root {
        --wcs-content-side: 22px;
    }

}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media(max-width:600px) {

    :root {
        --wcs-content-side: 15px;
    }

}



/* ==========================================================
   WORLD CUP 2030 - BOTTOM TRAVEL GUIDE SECTION
   Exact styling for /world-cup-2030
   ========================================================== */

.wc2030-destination-guides {
    margin-top: 28px !important;
    margin-bottom: 38px !important;

    padding: 28px !important;

    background: #ffffff !important;

    border: 1px solid rgba(25, 55, 82, .16) !important;
    border-radius: 16px !important;

    box-shadow:
        0 2px 5px rgba(15,39,64,.025),
        0 14px 38px rgba(15,39,64,.055);

    box-sizing: border-box !important;
}


/* Section heading */
.wc2030-destination-guides > h2 {
    margin: 0 0 10px !important;

    font-size: 27px !important;
    line-height: 1.2 !important;

    color: #09243c !important;
}


/* Intro */
.wc2030-destination-guides > p {
    max-width: 900px !important;

    margin: 0 0 24px !important;

    line-height: 1.65 !important;
    color: #496178 !important;
}


/* Three country guides */
.wc2030-destination-guides .grid3 {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0,1fr)) !important;

    gap: 20px !important;

    margin: 0 !important;
}


/* Individual guide card */
.wc2030-destination-guides .card {
    display: flex !important;
    flex-direction: column !important;

    min-height: 185px !important;

    padding: 24px !important;

    background: #f8fafc !important;

    border: 1px solid #d8e2eb !important;
    border-radius: 13px !important;

    color: #09243c !important;
    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}


.wc2030-destination-guides .card:hover {
    transform: translateY(-3px);

    border-color: #afbecb !important;

    box-shadow:
        0 8px 24px rgba(15,39,64,.08) !important;
}


/* Card heading */
.wc2030-destination-guides .card h3 {
    margin: 0 0 12px !important;

    font-size: 19px !important;
    line-height: 1.3 !important;

    color: #09243c !important;
}


/* Card body */
.wc2030-destination-guides .card p {
    margin: 0 0 20px !important;

    line-height: 1.6 !important;

    color: #52687c !important;
}


/* Explore link */
.wc2030-destination-guides .card span {
    display: block !important;

    margin-top: auto !important;

    font-weight: 800 !important;

    color: #d82332 !important;
}


/* ----------------------------------------------------------
   Country accent lines
   ---------------------------------------------------------- */

.wc2030-destination-guides .card:nth-child(1) {
    border-top: 4px solid #f4c300 !important;
}

.wc2030-destination-guides .card:nth-child(2) {
    border-top: 4px solid #046a38 !important;
}

.wc2030-destination-guides .card:nth-child(3) {
    border-top: 4px solid #006233 !important;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media(max-width:900px) {

    .wc2030-destination-guides {
        padding: 22px !important;
    }

    .wc2030-destination-guides .grid3 {
        grid-template-columns: 1fr !important;
    }

}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media(max-width:600px) {

    .wc2030-destination-guides {
        padding: 18px !important;
        margin-top: 20px !important;
        margin-bottom: 28px !important;

        border-radius: 13px !important;
    }

    .wc2030-destination-guides > h2 {
        font-size: 23px !important;
    }

    .wc2030-destination-guides .card {
        min-height: auto !important;
        padding: 20px !important;
    }

}


/* =========================================================
   WORLDCUPSPAIN ADSENSE
   ========================================================= */

.wc-adsense {
    width: min(100%, 1120px);
    margin: 28px auto;
    text-align: center;
    overflow: hidden;
    min-height: 90px;
}

.wc-ad-label {
    display: block;
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #8795a2;
}

.wc-adsense .adsbygoogle {
    width: 100%;
}

/* =========================================================
   HEADER BRAND + SINGLE LINE NAV V1
   Desktop:
       WORLD CUP 2030
       SPAIN · PORTUGAL · MOROCCO

   Navigation labels stay on one line.
   ========================================================= */

@media (min-width: 1001px) {

    /*
     * MAIN HEADER
     */

    .topbar .nav {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;

        gap: 18px;
    }


    /*
     * LOGO / BRAND
     */

    .topbar .brand {
        display: flex;
        align-items: center;

        flex: 0 0 auto;

        gap: 9px;

        min-width: 0;

        text-decoration: none;
        white-space: nowrap;
    }

    .topbar .brand > img {
        flex: 0 0 auto;
    }


    /*
     * Text next to trophy:
     *
     * WORLD CUP 2030
     * SPAIN · PORTUGAL · MOROCCO
     */

    .topbar .brand > span {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;

        gap: 1px;

        line-height: 1;
    }

    .topbar .brand > span > b {
        display: block;

        margin: 0;

        white-space: nowrap;

        line-height: 1.05;
    }

    .topbar .brand-countries {
        display: flex !important;
        align-items: center;

        width: 100%;

        margin: 3px 0 0 !important;
        padding: 0 !important;

        gap: 3px;

        white-space: nowrap;

        line-height: 1;
    }

    .topbar .brand-countries > span {
        display: inline-block;
        white-space: nowrap;
    }


    /*
     * MAIN NAVIGATION
     */

    .topbar .nav > nav {
        display: flex;
        align-items: center;
        justify-content: center;

        flex: 1 1 auto;

        min-width: 0;

        gap: 20px;
    }

    .topbar .nav > nav > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        flex: 0 0 auto;

        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;

        line-height: 1.2;
    }


    /*
     * LANGUAGE / PREMIUM / LOGIN / PLAN TRIP
     */

    .topbar .nav-actions {
        display: flex;
        align-items: center;

        flex: 0 0 auto;

        gap: 10px;

        white-space: nowrap;
    }

    .topbar .nav-actions > a {
        white-space: nowrap !important;
    }

    .topbar .langs {
        display: flex;
        flex-wrap: nowrap;

        white-space: nowrap;
    }

}


/*
 * Medium desktop/laptop.
 *
 * Keep every navigation item on one line,
 * but reduce spacing slightly.
 */

@media (min-width: 1001px) and (max-width: 1500px) {

    .topbar .nav {
        gap: 13px;
    }

    .topbar .nav > nav {
        gap: 14px;
    }

    .topbar .nav > nav > a {
        font-size: 13px;
    }

    .topbar .nav-actions {
        gap: 7px;
    }

    .topbar .brand > span > b {
        font-size: 18px;
    }

    .topbar .brand-countries {
        font-size: 10px;
    }

}


/*
 * Smaller desktop.
 * Still NO wrapping of Tickets Guide / Travel Guide / AI Tools.
 */

@media (min-width: 1001px) and (max-width: 1250px) {

    .topbar .nav {
        gap: 9px;
    }

    .topbar .nav > nav {
        gap: 10px;
    }

    .topbar .nav > nav > a {
        font-size: 12px;
    }

    .topbar .nav-actions {
        gap: 5px;
    }

    .topbar .brand > span > b {
        font-size: 16px;
    }

    .topbar .brand-countries {
        font-size: 9px;
    }

}

/* =========================================================
   END HEADER BRAND + SINGLE LINE NAV V1
   ========================================================= */

/*
 * NEWS_IMAGE_QUALITY_V1
 * Do not visually upscale low-resolution news thumbnails.
 */
.news-article .news-hero-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 680px;
    object-fit: cover;
    object-position: center;
}

.news-article .news-hero-img.news-hero-img--small-source {
    width: auto;
    max-width: min(100%, 900px);
    max-height: 600px;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}

/*
 * NEWS_EYEFOOTBALL_IMAGE_V2
 * Restore the normal article hero size.
 * EyeFootball now uses its largest available source image.
 */
.news-article .news-hero-img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 680px;
    object-fit: cover;
    object-position: center;
}

.news-article .news-hero-img.news-hero-img--small-source {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    object-fit: cover;
}

/* =========================================================
   TRIPADVISOR MARKETPLACE V1
   ========================================================= */

.ta-marketplace-rating{
    margin-top:14px;
    padding:11px 13px;
    border:1px solid #d7e3df;
    border-radius:12px;
    background:#f7fbf9;
    line-height:1.35;
}

.ta-marketplace-score{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
}

.ta-marketplace-brand{
    display:inline-flex;
    align-items:center;
    font-size:12px;
    font-weight:800;
    color:#006b54;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.ta-marketplace-stars{
    font-size:14px;
    font-weight:800;
    color:#06233f;
}

.ta-marketplace-reviews{
    font-size:13px;
    color:#52677d;
}

.ta-marketplace-name{
    margin-top:5px;
    font-size:12px;
    color:#65778a;
}

.ta-marketplace-link{
    display:inline-block;
    margin-top:7px;
    font-size:13px;
    font-weight:800;
    color:#006b54;
    text-decoration:none;
}

.ta-marketplace-link:hover{
    text-decoration:underline;
}



/* =========================================================
   MARKETPLACE PREMIUM CARDS V3
   ========================================================= */

.tm-grid{
    align-items:stretch;
}

.tm-place-card{
    position:relative;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:0 !important;
    background:#fff;
    border-radius:18px;
    min-height:420px;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.tm-place-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 35px rgba(12,38,63,.10);
}

.tm-place-card > .tm-card-top,
.tm-place-card > h3,
.tm-place-card > p,
.tm-place-card > small,
.tm-place-card > .tm-actions{
    margin-left:20px;
    margin-right:20px;
}

.tm-place-card > .tm-card-top{
    order:2;
    margin-top:17px;
}

.tm-place-image-wrap{
    position:relative;
    order:1;
    width:100%;
    height:190px;
    overflow:hidden;
    background:#eef3f6;
}

.tm-place-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    margin:0 !important;
    border-radius:0 !important;
    transition:transform .35s ease;
}

.tm-place-card:hover .tm-place-image{
    transform:scale(1.025);
}

.tm-place-image-overlay{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:8px;
    padding:34px 13px 12px;
    background:linear-gradient(
        to bottom,
        transparent,
        rgba(5,23,39,.76)
    );
}

.tm-image-type{
    display:inline-flex;
    padding:6px 9px;
    border-radius:999px;
    background:rgba(255,255,255,.94);
    color:#0a2943;
    font-size:11px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.tm-ta-overlay{
    display:inline-flex;
    padding:7px 9px;
    border-radius:999px;
    background:#fff;
    color:#006b54;
    font-size:11px;
    line-height:1;
    font-weight:900;
    white-space:nowrap;
}

.tm-place-card > h3{
    order:3;
    margin-top:11px;
    margin-bottom:5px;
    font-size:20px;
    line-height:1.25;
}

.tm-place-card > p{
    order:4;
    margin-top:4px;
    margin-bottom:5px;
    color:#52677d;
    line-height:1.45;
}

.tm-place-card > small{
    order:5;
    display:block;
    margin-top:5px;
    margin-bottom:10px;
    color:#65798c;
}

.tm-place-card > .tm-actions{
    order:6;
    margin-top:auto;
    margin-bottom:18px;
    padding-top:12px;
}

.tm-place-card .ta-marketplace-rating{
    width:100%;
    box-sizing:border-box;
    margin:0 0 10px;
    padding:10px 12px;
    border:1px solid #dce9e4;
    background:#f5faf8;
}

.tm-place-card .ta-marketplace-score{
    gap:6px;
}

.tm-place-card .ta-marketplace-brand{
    color:#006b54;
}

.tm-place-card .ta-marketplace-link{
    color:#006b54;
}

@media (max-width:700px){

    .tm-place-card{
        min-height:400px;
    }

    .tm-place-image-wrap{
        height:180px;
    }

    .tm-place-image-overlay{
        padding-left:11px;
        padding-right:11px;
    }

    .tm-ta-overlay{
        font-size:10px;
    }
}



/* ==========================================================
   WORLD CUP SPAIN CARD SYSTEM V4
   Travel marketplace
   ========================================================== */

.tm-place-card{
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    border:1px solid #d5e0e8;
    min-height:430px;
}

.tm-place-image-wrap{
    position:relative;
    width:100%;
    height:205px;
    overflow:hidden;
    background:#eaf0f4;
}

.tm-place-image{
    width:100% !important;
    height:100% !important;
    display:block;
    object-fit:cover;
    object-position:center;
    margin:0 !important;
    border-radius:0 !important;
}

.tm-place-image-overlay{
    left:0;
    right:0;
    bottom:0;
    padding:42px 14px 13px;
}

.tm-card-body{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;

    /* important: text no longer touches card edge */
    padding:18px 22px 20px;
    min-width:0;
}

/*
 * Previous V3 rules put margins directly on children.
 * Body now owns spacing.
 */
.tm-place-card > .tm-card-top,
.tm-place-card > h3,
.tm-place-card > p,
.tm-place-card > small,
.tm-place-card > .tm-actions{
    margin-left:0 !important;
    margin-right:0 !important;
}

.tm-card-body .tm-card-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin:0 0 12px !important;
}

.tm-card-body > h3{
    margin:0 0 9px !important;
    padding:0 !important;
    font-size:20px;
    line-height:1.28;
    font-weight:800;
    color:#082642;
    overflow-wrap:anywhere;
}

.tm-card-body > p{
    margin:0 0 11px !important;
    padding:0 !important;
    color:#536a80;
    font-size:14px;
    line-height:1.55;
    overflow-wrap:anywhere;
}

.tm-card-body > small{
    display:block;
    margin:0 0 14px !important;
    padding:0 !important;
    color:#587087;
    font-size:13px;
    line-height:1.45;
}

.tm-card-body .tm-actions{
    margin-top:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:0 !important;

    padding:15px 0 0 !important;

    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:10px 16px;

    border-top:1px solid #edf1f4;
}

.tm-card-body .ta-marketplace-rating{
    margin:0 0 15px !important;
    padding:12px 14px;
    border-radius:12px;
}

.tm-card-body .ta-marketplace-score{
    line-height:1.4;
}

.tm-card-body .ta-marketplace-name{
    line-height:1.4;
}

.tm-card-body .ta-marketplace-link{
    margin-top:7px;
}

/* category badge */

.tm-image-type{
    padding:7px 11px;
    border-radius:999px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* TA badge */

.tm-ta-overlay{
    padding:7px 11px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* Keep cards aligned within a row */

.tm-grid{
    align-items:stretch;
}

.tm-grid .tm-place-card{
    height:100%;
}

/* Tablet */

@media (max-width:1000px){

    .tm-card-body{
        padding:17px 18px 19px;
    }

    .tm-place-image-wrap{
        height:190px;
    }
}

/* Mobile */

@media (max-width:700px){

    .tm-place-card{
        min-height:0;
    }

    .tm-place-image-wrap{
        height:190px;
    }

    .tm-card-body{
        padding:16px 17px 18px;
    }

    .tm-card-body > h3{
        font-size:19px;
    }

    .tm-card-body .tm-actions{
        align-items:flex-start;
    }
}



/* ==========================================================
   MARKETPLACE CARD SPACING V5
   Hotels / Restaurants / Cafes
   ========================================================== */

/*
 * Image remains full bleed.
 * Everything below image receives consistent padding.
 */
.tm-place-card .tm-card-body {
    box-sizing: border-box !important;
    width: 100% !important;

    padding:
        20px
        24px
        22px
        24px !important;

    margin: 0 !important;
}


/* ----------------------------------------------------------
   Reset old child margins which caused text to touch edges
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body > * {
    max-width: 100%;
    box-sizing: border-box;
}

.tm-place-card .tm-card-body .tm-card-top {
    margin:
        0
        0
        15px
        0 !important;

    padding: 0 !important;
}


/* ----------------------------------------------------------
   Title
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body > h3 {
    margin:
        0
        0
        10px
        0 !important;

    padding: 0 !important;

    font-size: 20px;
    line-height: 1.30;
    font-weight: 800;

    color: #082642;

    overflow-wrap: break-word;
    word-break: normal;
}


/* ----------------------------------------------------------
   Address / description
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body > p {
    margin:
        0
        0
        14px
        0 !important;

    padding: 0 !important;

    font-size: 14px;
    line-height: 1.55;

    color: #536a80;

    overflow-wrap: break-word;
}


/* ----------------------------------------------------------
   City + distance
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body > small {
    display: block;

    margin:
        0
        0
        15px
        0 !important;

    padding: 0 !important;

    font-size: 13px;
    line-height: 1.45;

    color: #5d7286;
}


/* ----------------------------------------------------------
   Tripadvisor information
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body .ta-marketplace-rating {
    width: 100%;

    margin:
        2px
        0
        15px
        0 !important;

    padding:
        12px
        14px !important;

    box-sizing: border-box;

    border-radius: 12px;
}


/* ----------------------------------------------------------
   Bottom actions
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body .tm-actions {
    width: 100%;

    margin:
        auto
        0
        0
        0 !important;

    padding:
        15px
        0
        0
        0 !important;

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap:
        10px
        16px;

    border-top: 1px solid #edf1f4;
}


/*
 * Links must never touch card border.
 */
.tm-place-card .tm-card-body .tm-actions a {
    display: inline-flex;
    align-items: center;

    max-width: 100%;

    margin: 0 !important;

    line-height: 1.35;

    overflow-wrap: anywhere;
}


/*
 * Claim link stays right when there is enough room.
 */
.tm-place-card .tm-card-body .tm-claim {
    margin-left: auto !important;
}


/* ----------------------------------------------------------
   Badge
   ---------------------------------------------------------- */

.tm-place-card .tm-card-body .tm-badge {
    margin: 0 !important;
}


/* ----------------------------------------------------------
   Card height / structure
   ---------------------------------------------------------- */

.tm-place-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}

.tm-place-card .tm-place-image-wrap {
    flex: 0 0 auto;
}

.tm-place-card .tm-card-body {
    flex:
        1
        1
        auto;

    display: flex;
    flex-direction: column;
}


/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */

@media (max-width: 1000px) {

    .tm-place-card .tm-card-body {
        padding:
            19px
            20px
            21px
            20px !important;
    }

}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media (max-width: 700px) {

    .tm-place-card .tm-card-body {
        padding:
            17px
            18px
            19px
            18px !important;
    }

    .tm-place-card .tm-card-body > h3 {
        font-size: 19px;
    }

    .tm-place-card .tm-card-body .tm-actions {
        gap: 12px;
    }

    .tm-place-card .tm-card-body .tm-claim {
        margin-left: 0 !important;
    }

}



/* ==========================================================
   REAL MARKETPLACE PLACE CARDS V6
   ========================================================== */

.tm-place-card .tm-place-content {
    box-sizing: border-box !important;

    width: 100% !important;

    padding:
        20px
        24px
        22px
        24px !important;

    margin: 0 !important;

    display: flex;
    flex-direction: column;
    flex: 1 1 auto;

    min-width: 0;
}


/* reset old direct-child margins */

.tm-place-card .tm-place-content > h3,
.tm-place-card .tm-place-content > p,
.tm-place-card .tm-place-content > small,
.tm-place-card .tm-place-content > .tm-actions {
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* title */

.tm-place-card .tm-place-content > h3 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;

    padding: 0 !important;

    font-size: 20px;
    line-height: 1.3;
    font-weight: 800;

    color: #082642;

    overflow-wrap: anywhere;
}


/* address */

.tm-place-card .tm-place-content > p {
    margin-top: 0 !important;
    margin-bottom: 14px !important;

    padding: 0 !important;

    font-size: 14px;
    line-height: 1.55;

    color: #536a80;

    overflow-wrap: anywhere;
}


/* city + distance */

.tm-place-card .tm-place-content > small {
    display: block;

    margin-top: 0 !important;
    margin-bottom: 15px !important;

    padding: 0 !important;

    font-size: 13px;
    line-height: 1.45;

    color: #5d7286;
}


/* action area */

.tm-place-card .tm-place-content > .tm-actions {
    box-sizing: border-box;

    width: 100%;

    margin-top: auto !important;
    margin-bottom: 0 !important;

    padding:
        15px
        0
        0
        0 !important;

    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap: 10px 16px;

    border-top: 1px solid #edf1f4;
}


/* never let links touch edges */

.tm-place-card .tm-place-content .tm-actions a {
    margin: 0 !important;

    max-width: 100%;

    display: inline-flex;
    align-items: center;

    line-height: 1.35;

    overflow-wrap: anywhere;
}


.tm-place-card .tm-place-content .tm-claim {
    margin-left: auto !important;
}


/*
 * Existing LOCAL LISTING block is still outside content wrapper.
 * Give it matching horizontal spacing.
 */

.tm-place-card > .tm-card-top {
    box-sizing: border-box;

    width: 100%;

    margin:
        0
        0
        0
        0 !important;

    padding:
        18px
        24px
        10px
        24px !important;
}


/*
 * Because content now owns card padding, remove any old
 * direct child spacing from V3/V4.
 */

.tm-place-card > h3,
.tm-place-card > p,
.tm-place-card > small,
.tm-place-card > .tm-actions {
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* Tripadvisor box inside content */

.tm-place-content .ta-marketplace-rating {
    box-sizing: border-box;

    width: 100%;

    margin:
        0
        0
        15px
        0 !important;

    padding:
        12px
        14px !important;
}


/* tablet */

@media (max-width: 1000px) {

    .tm-place-card .tm-place-content {
        padding:
            18px
            20px
            21px
            20px !important;
    }

    .tm-place-card > .tm-card-top {
        padding:
            17px
            20px
            9px
            20px !important;
    }

}


/* mobile */

@media (max-width: 700px) {

    .tm-place-card .tm-place-content {
        padding:
            16px
            18px
            19px
            18px !important;
    }

    .tm-place-card > .tm-card-top {
        padding:
            16px
            18px
            8px
            18px !important;
    }

    .tm-place-card .tm-place-content > h3 {
        font-size: 19px;
    }

    .tm-place-card .tm-place-content .tm-claim {
        margin-left: 0 !important;
    }

}


/* ==========================================================
   WORLDCUPSPAIN GLOBAL CRAWL HUB V2
   Human-useful site directory + search-engine discovery links.
   ========================================================== */

.wc-crawl-hub {
    width: 100%;
    margin-top: 34px;
    padding: 30px 0;
    border-top: 1px solid rgba(127,127,127,.20);
    border-bottom: 1px solid rgba(127,127,127,.15);
}

.wc-crawl-hub-inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 28px;
}

.wc-crawl-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.wc-crawl-group strong {
    display: block;
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 1.3;
}

.wc-crawl-group a {
    display: block;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
    opacity: .82;
}

.wc-crawl-group a:hover {
    opacity: 1;
    text-decoration: underline;
}

@media (max-width: 850px) {
    .wc-crawl-hub-inner {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 520px) {
    .wc-crawl-hub {
        margin-top: 24px;
        padding: 24px 0;
    }

    .wc-crawl-hub-inner {
        grid-template-columns: 1fr 1fr;
        gap: 22px 18px;
    }

    .wc-crawl-group a {
        font-size: 12px;
    }
}

/* END WORLDCUPSPAIN GLOBAL CRAWL HUB V2 */
