/* =========================================================
   VIDEURO COUNTRY THEME — FINAL STABLE VERSION

   LIGHT:
   background = white
   text       = dark

   DARK:
   background = dark
   text       = white

   Image overlays remain white in BOTH themes.
   Header / global homepage / hero layout untouched.
   ========================================================= */


/* =========================================================
   THEME VARIABLES
   ========================================================= */

html:not([data-theme="dark"]){
    --vc-bg:#ffffff;
    --vc-surface:#ffffff;
    --vc-surface-2:#f7f9f8;
    --vc-text:#0d1814;
    --vc-muted:#415149;
    --vc-dim:#69776f;
    --vc-line:rgba(13,24,20,.12);
    --vc-chip:#f2f6f4;
    --vc-chip-text:#17241f;
}

html[data-theme="dark"]{
    --vc-bg:#07111a;
    --vc-surface:#0d1720;
    --vc-surface-2:#101d27;
    --vc-text:#f7faf8;
    --vc-muted:#c5d0cb;
    --vc-dim:#94a49d;
    --vc-line:rgba(255,255,255,.12);
    --vc-chip:#13231f;
    --vc-chip-text:#ecf5f1;
}


/* =========================================================
   COUNTRY CONTENT BACKGROUND
   Do NOT touch the photo hero.
   ========================================================= */

html:not([data-theme="dark"]) .country-page-v2{
    background:#ffffff !important;
}

html[data-theme="dark"] .country-page-v2{
    background:#07111a !important;
}


/* All CRX sections after the photo hero */
html:not([data-theme="dark"]) section[class*="crx-"]:not(.country-v2-hero),
html:not([data-theme="dark"]) div[class*="crx-"]:not(.country-v2-hero){
    --x-text:var(--vc-text);
    --x-muted:var(--vc-muted);
    --x-dim:var(--vc-dim);
    --x-line:var(--vc-line);
}

html[data-theme="dark"] section[class*="crx-"]:not(.country-v2-hero),
html[data-theme="dark"] div[class*="crx-"]:not(.country-v2-hero){
    --x-text:var(--vc-text);
    --x-muted:var(--vc-muted);
    --x-dim:var(--vc-dim);
    --x-line:var(--vc-line);
}


/* =========================================================
   NORMAL SECTION TEXT
   ========================================================= */

html:not([data-theme="dark"])
section[class*="crx-"]:not(.country-v2-hero)
:is(h1,h2,h3,h4,h5,h6,p,strong,b,label),

html:not([data-theme="dark"])
div[class*="crx-"]:not(.country-v2-hero)
:is(h1,h2,h3,h4,h5,h6,p,strong,b,label){
    color:var(--vc-text) !important;
    -webkit-text-fill-color:var(--vc-text) !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}


html[data-theme="dark"]
section[class*="crx-"]:not(.country-v2-hero)
:is(h1,h2,h3,h4,h5,h6,p,strong,b,label),

html[data-theme="dark"]
div[class*="crx-"]:not(.country-v2-hero)
:is(h1,h2,h3,h4,h5,h6,p,strong,b,label){
    color:var(--vc-text) !important;
    -webkit-text-fill-color:var(--vc-text) !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}


/* Muted descriptions */
html:not([data-theme="dark"])
:is(
    .crx-place-list p,
    .crx-place-summary-v4,
    .crx-place-desc-v3,
    .crx-route-grid p,
    .crx-route-note,
    .crx-section-head > p,
    .crx-readmore p
){
    color:var(--vc-muted) !important;
    -webkit-text-fill-color:var(--vc-muted) !important;
    opacity:1 !important;
    visibility:visible !important;
}


html[data-theme="dark"]
:is(
    .crx-place-list p,
    .crx-place-summary-v4,
    .crx-place-desc-v3,
    .crx-route-grid p,
    .crx-route-note,
    .crx-section-head > p,
    .crx-readmore p
){
    color:var(--vc-muted) !important;
    -webkit-text-fill-color:var(--vc-muted) !important;
    opacity:1 !important;
    visibility:visible !important;
}


/* labels */
html:not([data-theme="dark"])
:is(.crx-label, section[class*="crx-"] small){
    color:#52665d !important;
    -webkit-text-fill-color:#52665d !important;
    opacity:1 !important;
}

html[data-theme="dark"]
:is(.crx-label, section[class*="crx-"] small){
    color:#9eb0a8 !important;
    -webkit-text-fill-color:#9eb0a8 !important;
    opacity:1 !important;
}


/* =========================================================
   ROUTE SECTION
   ========================================================= */

html:not([data-theme="dark"]) .crx-route{
    background:#ffffff !important;
    color:var(--vc-text) !important;
    border-color:var(--vc-line) !important;
}

html[data-theme="dark"] .crx-route{
    background:
        linear-gradient(
            135deg,
            #101923,
            #080e14 58%,
            #101820
        ) !important;

    color:#f7faf8 !important;
    border-color:var(--vc-line) !important;
}


html:not([data-theme="dark"]) .crx-route-grid{
    background:var(--vc-line) !important;
    border-color:var(--vc-line) !important;
}

html[data-theme="dark"] .crx-route-grid{
    background:var(--vc-line) !important;
    border-color:var(--vc-line) !important;
}


html:not([data-theme="dark"]) .crx-route-grid article{
    background:#ffffff !important;
    color:#0d1814 !important;
}

html[data-theme="dark"] .crx-route-grid article{
    background:#0d1720 !important;
    color:#ffffff !important;
}


html:not([data-theme="dark"])
.crx-route-grid article :is(h2,h3,h4,strong,b,p,span){
    color:#0d1814 !important;
    -webkit-text-fill-color:#0d1814 !important;
}

html[data-theme="dark"]
.crx-route-grid article :is(h2,h3,h4,strong,b){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}

html[data-theme="dark"]
.crx-route-grid article p{
    color:#c5d0cb !important;
    -webkit-text-fill-color:#c5d0cb !important;
}


/* =========================================================
   MAP / BEFORE YOU GO / SIDE CARD
   ========================================================= */

html:not([data-theme="dark"])
:is(
    .crx-map-card,
    .crx-map-info,
    .crx-map-side,
    .crx-glance,
    .crx-before,
    [class*="glance"]
){
    background:#ffffff !important;
    color:#0d1814 !important;
    border-color:var(--vc-line) !important;
}

html[data-theme="dark"]
:is(
    .crx-map-card,
    .crx-map-info,
    .crx-map-side,
    .crx-glance,
    .crx-before,
    [class*="glance"]
){
    background:#0d1720 !important;
    color:#ffffff !important;
    border-color:var(--vc-line) !important;
}


/* =========================================================
   TOURIST PLACE CARDS BELOW MAP
   ========================================================= */

html:not([data-theme="dark"])
:is(.crx-place-card-v2,.crx-place-card-v3,.crx-place-list article){
    background:#ffffff !important;
    border-color:var(--vc-line) !important;
    color:#0d1814 !important;
    box-shadow:0 10px 28px rgba(10,30,20,.05) !important;
}

html[data-theme="dark"]
:is(.crx-place-card-v2,.crx-place-card-v3,.crx-place-list article){
    background:#0d1720 !important;
    border-color:rgba(255,255,255,.12) !important;
    color:#ffffff !important;
    box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
}


html:not([data-theme="dark"])
:is(.crx-place-card-v2,.crx-place-card-v3,.crx-place-list article)
:is(h2,h3,h4,strong,b,p,span:not(a span)){
    color:#0d1814 !important;
    -webkit-text-fill-color:#0d1814 !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}

html[data-theme="dark"]
:is(.crx-place-card-v2,.crx-place-card-v3,.crx-place-list article)
:is(h2,h3,h4,strong,b){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
}

html[data-theme="dark"]
:is(.crx-place-card-v2,.crx-place-card-v3,.crx-place-list article)
p{
    color:#c8d3ce !important;
    -webkit-text-fill-color:#c8d3ce !important;
    opacity:1 !important;
    visibility:visible !important;
}


/* Place number stays red */
.crx-place-number-v2{
    color:#ff4057 !important;
    -webkit-text-fill-color:#ff4057 !important;
}


/* =========================================================
   CHIPS / TAGS
   ========================================================= */

html:not([data-theme="dark"])
:is(.crx-place-tags-v3 span,.crx-place-list a:not(.button)){
    background:#f1f6f3 !important;
    color:#13221c !important;
    -webkit-text-fill-color:#13221c !important;
    border-color:#d5dfda !important;
}

html[data-theme="dark"]
:is(.crx-place-tags-v3 span,.crx-place-list a:not(.button)){
    background:#13231f !important;
    color:#edf5f1 !important;
    -webkit-text-fill-color:#edf5f1 !important;
    border-color:rgba(255,255,255,.14) !important;
}


/* =========================================================
   VIEW ON MAP
   Green in BOTH themes — SMALL shadow only
   ========================================================= */

a.button[href*="map"],
a[href*="#country-map"],
.crx-place-list a:first-of-type,
.crx-place-card-v2 a:first-of-type,
.crx-place-card-v3 a:first-of-type{
    background:#118a70 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;

    box-shadow:
        0 3px 8px rgba(0,0,0,.10) !important;

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


/* text inside primary button */
.crx-place-list a:first-of-type *,
.crx-place-card-v2 a:first-of-type *,
.crx-place-card-v3 a:first-of-type *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}


/* Secondary Open Maps */
html:not([data-theme="dark"])
.crx-place-list a:not(:first-of-type),
html:not([data-theme="dark"])
.crx-place-card-v2 a:not(:first-of-type),
html:not([data-theme="dark"])
.crx-place-card-v3 a:not(:first-of-type){
    background:#f4f7f5 !important;
    color:#101713 !important;
    -webkit-text-fill-color:#101713 !important;
    border-color:#d4ddd8 !important;
    box-shadow:none !important;
}

html[data-theme="dark"]
.crx-place-list a:not(:first-of-type),
html[data-theme="dark"]
.crx-place-card-v2 a:not(:first-of-type),
html[data-theme="dark"]
.crx-place-card-v3 a:not(:first-of-type){
    background:#132029 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:rgba(255,255,255,.16) !important;
    box-shadow:none !important;
}


/* =========================================================
   STORIES / READ MORE
   ========================================================= */

html:not([data-theme="dark"])
:is(.crx-stories,.crx-readmore){
    background:#ffffff !important;
    color:#0d1814 !important;
}

html[data-theme="dark"]
:is(.crx-stories,.crx-readmore){
    background:#07111a !important;
    color:#ffffff !important;
}


html:not([data-theme="dark"]) .crx-article-card{
    background:#ffffff !important;
    color:#0d1814 !important;
    border-color:var(--vc-line) !important;
}

html[data-theme="dark"] .crx-article-card{
    background:#0d1720 !important;
    color:#ffffff !important;
    border-color:var(--vc-line) !important;
}


/* =========================================================
   IMPORTANT:
   CARDS THAT HAVE A REAL IMAGE BACKGROUND
   must always use WHITE overlay text.
   ========================================================= */

:is(
    .crx-featured-place,
    .crx-place-card-v2:has(img),
    .crx-place-card-v3:has(img)
)
:is(h1,h2,h3,h4,p,strong,b,small,span){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    text-shadow:0 1px 3px rgba(0,0,0,.45) !important;
}


/* =========================================================
   COUNTRY PHOTO HERO
   ALWAYS WHITE — both themes
   ========================================================= */

.country-v2-hero
:is(h1,h2,h3,h4,p,strong,b,small,span,a){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}


/* handwritten Discover title keeps its gold */
.country-v2-hero
:is(
    [class*="script"],
    [class*="discover"],
    [class*="hand"]
){
    color:#e8ad3d !important;
    -webkit-text-fill-color:#e8ad3d !important;
}


/* =========================================================
   SIGNATURE PLACES
   TEXT OVER IMAGES = ALWAYS WHITE
   Applies in BOTH Light and Dark mode
   ========================================================= */

/* Card-level variables */
.crx-places .crx-featured-place,
.crx-places .crx-place-list article{
    color:#ffffff !important;

    --x-text:#ffffff !important;
    --x-muted:rgba(255,255,255,.88) !important;
    --x-dim:rgba(255,255,255,.72) !important;
}


/* Main place titles */
.crx-places .crx-featured-place h1,
.crx-places .crx-featured-place h2,
.crx-places .crx-featured-place h3,
.crx-places .crx-featured-place h4,

.crx-places .crx-place-list article h1,
.crx-places .crx-place-list article h2,
.crx-places .crx-place-list article h3,
.crx-places .crx-place-list article h4{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;

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

    text-shadow:
        0 2px 8px rgba(0,0,0,.50) !important;
}


/* Descriptions */
.crx-places .crx-featured-place p,
.crx-places .crx-place-list article p{
    color:rgba(255,255,255,.90) !important;
    -webkit-text-fill-color:rgba(255,255,255,.90) !important;

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

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


/* Small labels:
   Recommended / Best for / categories etc. */
.crx-places .crx-featured-place small,
.crx-places .crx-featured-place strong,
.crx-places .crx-featured-place b,
.crx-places .crx-featured-place label,

.crx-places .crx-place-list article small,
.crx-places .crx-place-list article strong,
.crx-places .crx-place-list article b,
.crx-places .crx-place-list article label{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;

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

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


/* Keep the 01 / 02 / 03 / 04 / 05 numbers red */
.crx-places .crx-place-no,
.crx-places .crx-place-number-v2{
    color:#ff4057 !important;
    -webkit-text-fill-color:#ff4057 !important;
}


/* Do NOT alter white circular arrows / map buttons */
.crx-places a,
.crx-places button,
.crx-places a *,
.crx-places button *{
    text-shadow:none !important;
}


/* =========================================================
   TOURIST PLACES BELOW MAP - LIGHT MODE ONLY
   Fix only the white cards under the map
   - description text = black
   - green button shadow = reduced
   ========================================================= */

/* Light mode only */
html[data-theme="light"] .crx-place-summary-v4,
html[data-theme="light"] .crx-place-desc-v3,
html[data-theme="light"] .crx-place-card-v4 p,
html[data-theme="light"] .crx-place-list-v4 article p,
html[data-theme="light"] .crx-place-list article p{
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}

/* also when site is effectively light by default */
html:not([data-theme="dark"]) .crx-place-summary-v4,
html:not([data-theme="dark"]) .crx-place-desc-v3,
html:not([data-theme="dark"]) .crx-place-card-v4 p,
html:not([data-theme="dark"]) .crx-place-list-v4 article p,
html:not([data-theme="dark"]) .crx-place-list article p{
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:none !important;
}

/* keep titles/labels in the white cards dark too */
html[data-theme="light"] .crx-place-card-v4 h2,
html[data-theme="light"] .crx-place-card-v4 h3,
html[data-theme="light"] .crx-place-card-v4 h4,
html[data-theme="light"] .crx-place-list-v4 article h2,
html[data-theme="light"] .crx-place-list-v4 article h3,
html[data-theme="light"] .crx-place-list-v4 article h4,
html[data-theme="light"] .crx-place-list article h2,
html[data-theme="light"] .crx-place-list article h3,
html[data-theme="light"] .crx-place-list article h4,
html[data-theme="light"] .crx-place-card-v4 small,
html[data-theme="light"] .crx-place-list-v4 article small,
html[data-theme="light"] .crx-place-list article small,
html[data-theme="light"] .crx-place-card-v4 strong,
html[data-theme="light"] .crx-place-list-v4 article strong,
html[data-theme="light"] .crx-place-list article strong{
    color:#111111 !important;
    -webkit-text-fill-color:#111111 !important;
    text-shadow:none !important;
}

/* reduce green button shadow only in these white cards */
html[data-theme="light"] .crx-place-card-v4 .button,
html[data-theme="light"] .crx-place-card-v4 .btn,
html[data-theme="light"] .crx-place-card-v4 a.button,
html[data-theme="light"] .crx-place-card-v4 a.btn,
html[data-theme="light"] .crx-place-list-v4 article .button,
html[data-theme="light"] .crx-place-list-v4 article .btn,
html[data-theme="light"] .crx-place-list-v4 article a.button,
html[data-theme="light"] .crx-place-list-v4 article a.btn,
html[data-theme="light"] .crx-place-list article .button,
html[data-theme="light"] .crx-place-list article .btn,
html[data-theme="light"] .crx-place-list article a.button,
html[data-theme="light"] .crx-place-list article a.btn{
    box-shadow:0 4px 10px rgba(0,0,0,.10) !important;
}

/* same reduced shadow for default-light case */
html:not([data-theme="dark"]) .crx-place-card-v4 .button,
html:not([data-theme="dark"]) .crx-place-card-v4 .btn,
html:not([data-theme="dark"]) .crx-place-card-v4 a.button,
html:not([data-theme="dark"]) .crx-place-card-v4 a.btn,
html:not([data-theme="dark"]) .crx-place-list-v4 article .button,
html:not([data-theme="dark"]) .crx-place-list-v4 article .btn,
html:not([data-theme="dark"]) .crx-place-list-v4 article a.button,
html:not([data-theme="dark"]) .crx-place-list-v4 article a.btn,
html:not([data-theme="dark"]) .crx-place-list article .button,
html:not([data-theme="dark"]) .crx-place-list article .btn,
html:not([data-theme="dark"]) .crx-place-list article a.button,
html:not([data-theme="dark"]) .crx-place-list article a.btn{
    box-shadow:0 4px 10px rgba(0,0,0,.10) !important;
}


/* =========================================================
   FINAL — SIGNATURE PLACE IMAGE CARDS
   TEXT OVER IMAGE = ALWAYS WHITE
   BOTH LIGHT + DARK
   DOES NOT TOUCH WHITE TOURIST CARDS BELOW MAP
   ========================================================= */

/* BIG FEATURED IMAGE: Paris */
html .crx-places .crx-featured-place,
html[data-theme="light"] .crx-places .crx-featured-place,
html[data-theme="dark"] .crx-places .crx-featured-place{
    --x-text:#ffffff !important;
    --x-muted:rgba(255,255,255,.94) !important;
    --x-dim:rgba(255,255,255,.82) !important;
    color:#ffffff !important;
}


/* SMALL IMAGE CARDS:
   Mont Saint-Michel / Loire / Nice / Provence */
html .crx-places .crx-place-list article,
html[data-theme="light"] .crx-places .crx-place-list article,
html[data-theme="dark"] .crx-places .crx-place-list article{
    --x-text:#ffffff !important;
    --x-muted:rgba(255,255,255,.94) !important;
    --x-dim:rgba(255,255,255,.82) !important;
}


/* TITLES */
html .crx-places .crx-featured-place h1,
html .crx-places .crx-featured-place h2,
html .crx-places .crx-featured-place h3,

html .crx-places .crx-place-list article h1,
html .crx-places .crx-place-list article h2,
html .crx-places .crx-place-list article h3{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:0 2px 7px rgba(0,0,0,.65) !important;
}


/* DESCRIPTION TEXT */
html .crx-places .crx-featured-place p,
html .crx-places .crx-place-list article p,
html .crx-places .crx-place-summary-v4,
html .crx-places .crx-place-desc-v3{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:0 2px 6px rgba(0,0,0,.70) !important;
}


/* RECOMMENDED / BEST FOR + OTHER LABELS */
html .crx-places .crx-featured-place small,
html .crx-places .crx-featured-place strong,
html .crx-places .crx-featured-place b,
html .crx-places .crx-featured-place label,

html .crx-places .crx-place-list article small,
html .crx-places .crx-place-list article strong,
html .crx-places .crx-place-list article b,
html .crx-places .crx-place-list article label{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    opacity:1 !important;
    visibility:visible !important;
    text-shadow:0 1px 5px rgba(0,0,0,.70) !important;
}


/* PARIS TAGS: Eiffel Tower / Louvre / Montmartre / Seine */
html .crx-places .crx-featured-place
:is(.crx-place-tags-v3,.crx-place-tags,.place-tags) *{
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    border-color:rgba(255,255,255,.55) !important;
}


/* TOP DARK PILLS */
html .crx-places
:is(.crx-featured-place,.crx-place-list article)
:is(.crx-place-type,.crx-place-region,[class*="badge"],[class*="pill"]){
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
}


/* KEEP CARD NUMBERS RED */
html .crx-places .crx-place-no,
html .crx-places .crx-place-number,
html .crx-places .crx-place-number-v2{
    color:#ff4057 !important;
    -webkit-text-fill-color:#ff4057 !important;
    text-shadow:none !important;
}


/* DO NOT RECOLOR WHITE ACTION BUTTONS */
html .crx-places
:is(.crx-featured-place,.crx-place-list article)
a,
html .crx-places
:is(.crx-featured-place,.crx-place-list article)
button{
    -webkit-text-fill-color:initial;
}


/* View on map stays dark text on white button */
html .crx-places .crx-featured-place a.button,
html .crx-places .crx-featured-place a.button *{
    color:#101713 !important;
    -webkit-text-fill-color:#101713 !important;
    text-shadow:none !important;
}

