/*
Theme Name: FELIX City
Author: FELIX
Description: Şehir bazlı FELIX ilan siteleri için mobil öncelikli, şampanya ve sıcak antrasit renklerinde WordPress teması.
Version: 1.3.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: felix-city
*/

:root {
  --felix-bg: #070708;
  --felix-panel: #111114;
  --felix-panel-2: #17171b;
  --felix-gold: #d8b45f;
  --felix-gold-soft: #f2d98d;
  --felix-text: #f8f5ec;
  --felix-muted: #bdb8aa;
  --felix-green: #087443;
  --felix-danger: #c94848;
  --felix-border: rgba(216, 180, 95, .42);
  --felix-radius: 16px;
  --felix-width: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--felix-bg); color: var(--felix-text); font: 16px/1.6 Arial, Helvetica, sans-serif; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; background: radial-gradient(900px 430px at 50% -10%, #36270f 0, transparent 67%); pointer-events: none; }
a { color: var(--felix-gold-soft); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.felix-wrap { width: min(calc(100% - 28px), var(--felix-width)); margin-inline: auto; }

.felix-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--felix-border); background: rgba(7,7,8,.94); backdrop-filter: blur(12px); }
.felix-header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.felix-brand { color: var(--felix-gold-soft); text-decoration: none; font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px,5vw,38px); font-weight: 700; letter-spacing: .25em; text-transform: uppercase; }
.felix-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 14px; }
.felix-nav a { color: var(--felix-text); text-decoration: none; font-size: 14px; font-weight: 700; }
.felix-nav a:hover, .felix-nav a:focus-visible { color: var(--felix-gold-soft); }

.felix-hero { padding: 44px 0 24px; text-align: center; }
.felix-kicker { display: inline-block; margin-bottom: 10px; color: var(--felix-gold); font-size: 12px; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.felix-hero h1 { max-width: 850px; margin: 0 auto 14px; font: 800 clamp(30px,7vw,58px)/1.08 Georgia, serif; }
.felix-hero p { max-width: 720px; margin: 0 auto; color: var(--felix-muted); }
.felix-safety { margin: 18px auto 0; padding: 10px 14px; max-width: 760px; border: 1px solid rgba(216,180,95,.25); border-radius: 10px; background: rgba(17,17,20,.76); color: #ddd7c7; font-size: 13px; }

.felix-districts { display: flex; gap: 8px; overflow-x: auto; margin: 0 auto 22px; padding: 5px 0 10px; scrollbar-width: thin; }
.felix-districts a { flex: 0 0 auto; padding: 8px 13px; border: 1px solid var(--felix-border); border-radius: 999px; background: #101013; color: var(--felix-text); text-decoration: none; font-size: 13px; font-weight: 800; }

.felix-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 24px 0 14px; }
.felix-section-heading h2 { margin: 0; font: 800 clamp(22px,5vw,34px)/1.2 Georgia, serif; }
.felix-section-heading p { margin: 0; color: var(--felix-muted); font-size: 13px; }
.felix-list { display: grid; gap: 14px; padding-bottom: 34px; }

.felix-card { position: relative; overflow: hidden; min-height: clamp(190px,34vw,335px); border: 1px solid var(--felix-border); border-radius: var(--felix-radius); background: var(--felix-panel); box-shadow: 0 18px 44px rgba(0,0,0,.35); isolation: isolate; }
.felix-card-gallery { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); background: #151519; }
.felix-card-gallery figure { position: relative; min-width: 0; margin: 0; overflow: hidden; border-right: 2px solid rgba(7,7,8,.85); }
.felix-card-gallery figure:last-child { border-right: 0; }
.felix-card-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.felix-card-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#1a1813,#5b4520 50%,#151515); }
.felix-card::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(5,5,6,.90) 0,rgba(5,5,6,.58) 28%,rgba(5,5,6,.07) 62%), linear-gradient(0deg,rgba(5,5,6,.45),transparent 45%); pointer-events: none; }
.felix-card-main-link { position: absolute; inset: 0; z-index: 2; }
.felix-card-info { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 7px; width: min(55%, 440px); min-height: inherit; padding: 22px; pointer-events: none; }
.felix-card-name { margin: 0; padding: 5px 11px; border: 1px solid var(--felix-gold); background: rgba(10,10,11,.85); color: var(--felix-gold-soft); font: 800 clamp(15px,3vw,25px)/1.2 Georgia, serif; letter-spacing: .09em; text-transform: uppercase; }
.felix-pill { display: inline-flex; padding: 4px 9px; border-radius: 4px; background: rgba(7,7,8,.84); color: #fff; font-size: clamp(10px,2vw,14px); font-weight: 900; text-transform: uppercase; }
.felix-verified { position: absolute; right: 12px; bottom: 12px; z-index: 4; padding: 5px 9px; border-radius: 5px; background: var(--felix-gold-soft); color: #171006; font-size: 11px; font-weight: 900; }
.felix-whatsapp { position: absolute; left: 20px; bottom: 14px; z-index: 5; display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; border-radius: 6px; background: var(--felix-green); color: #fff; text-decoration: none; font-size: 12px; font-weight: 900; box-shadow: 0 8px 20px rgba(0,0,0,.32); }
.felix-card-info:has(+ .felix-whatsapp) { padding-bottom: 58px; }

.felix-empty, .felix-content-panel { padding: 24px; border: 1px solid var(--felix-border); border-radius: var(--felix-radius); background: var(--felix-panel); }
.felix-empty { margin-bottom: 35px; text-align: center; }
.felix-content-panel { margin: 28px auto; }
.felix-content-panel h1, .felix-content-panel h2 { font-family: Georgia, serif; }

.felix-guide { margin: 20px auto 48px; padding: clamp(22px,5vw,42px); border: 1px solid rgba(216,180,95,.25); border-radius: var(--felix-radius); background: linear-gradient(145deg,#121214,#0c0c0e); }
.felix-guide h2 { margin-top: 0; font: 800 clamp(22px,5vw,34px)/1.2 Georgia, serif; }
.felix-guide p { color: #d5d0c3; }

.felix-footer { border-top: 1px solid var(--felix-border); background: #09090a; }
.felix-footer-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; padding: 34px 0; }
.felix-footer h2 { margin: 0 0 8px; color: var(--felix-gold-soft); font: 700 22px Georgia, serif; }
.felix-footer p { margin: 0; color: var(--felix-muted); font-size: 13px; }
.felix-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.felix-footer-links a { font-size: 13px; }
.felix-copyright { padding: 14px 0 22px; color: #7f7b72; font-size: 12px; text-align: center; }
.felix-floating-cta { position: fixed; left: 18px; bottom: 18px; z-index: 25; padding: 11px 16px; border: 1px solid var(--felix-border); border-radius: 999px; background: #111114; color: var(--felix-text); text-decoration: none; font-size: 13px; font-weight: 900; box-shadow: 0 10px 28px rgba(0,0,0,.42); }

.felix-single { padding: 32px 0 56px; }
.felix-single-head { margin-bottom: 18px; }
.felix-single-head h1 { margin: 0 0 7px; font: 800 clamp(30px,7vw,55px)/1.1 Georgia, serif; }
.felix-single-meta { color: var(--felix-muted); }
.felix-gallery { position: relative; overflow: hidden; aspect-ratio: 16/10; border: 1px solid var(--felix-border); border-radius: var(--felix-radius); background: #111; }
.felix-gallery-track { display: flex; height: 100%; transition: transform .28s ease; }
.felix-gallery-slide { position: relative; flex: 0 0 100%; min-width: 0; height: 100%; margin: 0; }
.felix-gallery-slide img { width: 100%; height: 100%; object-fit: contain; background: #080808; }
.felix-gallery-button { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 44px; height: 44px; border: 1px solid var(--felix-border); border-radius: 50%; background: rgba(7,7,8,.82); color: #fff; cursor: pointer; }
.felix-gallery-prev { left: 12px; }
.felix-gallery-next { right: 12px; }
.felix-single-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 24px; margin-top: 24px; }
.felix-contact-card { position: sticky; top: 100px; align-self: start; padding: 20px; border: 1px solid var(--felix-border); border-radius: var(--felix-radius); background: var(--felix-panel); }
.felix-contact-card a { display: block; padding: 12px; border-radius: 8px; background: var(--felix-green); color: #fff; text-align: center; text-decoration: none; font-weight: 900; }
.felix-report-form input, .felix-report-form select, .felix-report-form textarea { width: 100%; max-width: 760px; padding: 10px; border: 1px solid #454147; border-radius: 7px; background: #0c0c0e; color: #fff; }
.felix-report-form button { padding: 10px 16px; border: 0; border-radius: 7px; background: var(--felix-gold); color: #171006; font-weight: 900; cursor: pointer; }
.felix-notice-success { padding: 12px; border-left: 4px solid var(--felix-green); background: #12241c; }

.felix-age-gate { position: fixed; inset: 0; z-index: 100; display: none; place-items: center; padding: 18px; background: rgba(0,0,0,.92); }
.felix-age-gate.is-visible { display: grid; }
.felix-age-gate-panel { width: min(100%,480px); padding: 30px; border: 1px solid var(--felix-gold); border-radius: var(--felix-radius); background: var(--felix-panel); text-align: center; }
.felix-age-gate button { padding: 11px 18px; border: 0; border-radius: 8px; background: var(--felix-gold); color: #171006; font-weight: 900; cursor: pointer; }

@media (max-width: 760px) {
  .felix-header-inner { min-height: 64px; }
  .felix-brand { font-size: 23px; }
  .felix-nav a:not(.felix-nav-primary) { display: none; }
  .felix-hero { padding-top: 30px; }
  .felix-card { min-height: 168px; border-radius: 10px; }
  .felix-card-info { width: 61%; padding: 12px; gap: 5px; }
  .felix-card-name { padding: 4px 7px; }
  .felix-pill { padding: 3px 6px; }
  .felix-whatsapp { left: 11px; bottom: 10px; padding: 5px 8px; font-size: 10px; }
  .felix-verified { right: 7px; bottom: 7px; padding: 4px 6px; font-size: 9px; }
  .felix-card::after { background: linear-gradient(90deg,rgba(5,5,6,.92) 0,rgba(5,5,6,.57) 38%,rgba(5,5,6,.04) 75%); }
  .felix-footer-inner, .felix-single-grid { grid-template-columns: 1fr; }
  .felix-footer-links { justify-content: flex-start; }
  .felix-contact-card { position: static; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* FELIX City 1.1 — refined editorial layout and account experience. */
:root {
  --felix-bg: #08090b;
  --felix-panel: #111318;
  --felix-panel-2: #171a20;
  --felix-gold: #d7b66b;
  --felix-gold-soft: #f3dda1;
  --felix-text: #f7f5ef;
  --felix-muted: #aaa8a1;
  --felix-border: rgba(215,182,107,.28);
  --felix-radius: 22px;
  --felix-width: 1220px;
}
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.01em; }
body::before { background: radial-gradient(900px 500px at 10% -10%, rgba(176,126,39,.22), transparent 62%), radial-gradient(720px 420px at 90% 3%, rgba(87,68,34,.18), transparent 65%); }
.felix-header { background: rgba(8,9,11,.88); border-color: rgba(255,255,255,.08); }
.felix-header-inner { min-height: 72px; }
.felix-brand { font-family: Georgia, serif; font-size: clamp(25px,4vw,34px); letter-spacing: .19em; }
.felix-nav { gap: 8px; }
.felix-nav a { padding: 9px 12px; border-radius: 999px; color: #d8d6cf; transition: background .2s ease, color .2s ease; }
.felix-nav a:hover, .felix-nav a:focus-visible { background: rgba(255,255,255,.06); }
.felix-nav .felix-nav-primary { border: 1px solid var(--felix-border); background: linear-gradient(135deg,#d7b66b,#f0d99a); color: #171109; }

.felix-hero { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); align-items: end; gap: clamp(28px,6vw,80px); padding: clamp(56px,9vw,112px) 0 34px; text-align: left; }
.felix-hero h1 { max-width: 880px; margin: 0 0 18px; font: 800 clamp(42px,7vw,78px)/.99 Georgia, serif; letter-spacing: -.045em; }
.felix-hero p { max-width: 720px; margin: 0; font-size: clamp(16px,2vw,19px); }
.felix-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.felix-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 19px; border: 1px solid var(--felix-gold); border-radius: 999px; background: linear-gradient(135deg,#d7b66b,#f0d99a); color: #171109; text-decoration: none; font-size: 14px; font-weight: 900; }
.felix-button-ghost { background: transparent; color: var(--felix-gold-soft); }
.felix-hero-summary { padding: 24px; border: 1px solid var(--felix-border); border-radius: var(--felix-radius); background: linear-gradient(145deg,rgba(24,25,30,.96),rgba(13,14,17,.96)); box-shadow: 0 24px 70px rgba(0,0,0,.32); }
.felix-hero-summary span { display: block; color: var(--felix-gold); font-size: 11px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.felix-hero-summary strong { display: block; margin: 4px 0; font: 800 clamp(28px,4vw,42px)/1.1 Georgia, serif; }
.felix-hero-summary p { color: var(--felix-muted); font-size: 13px; }
.felix-safety { max-width: none; margin: 0 0 32px; padding: 13px 16px; text-align: left; }
.felix-districts { margin-bottom: 38px; }
.felix-districts a { padding: 9px 15px; background: rgba(17,19,24,.86); transition: transform .2s ease, border-color .2s ease; }
.felix-districts a:hover { transform: translateY(-2px); border-color: var(--felix-gold); }

.felix-section-heading { margin: 30px 0 18px; }
.felix-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.felix-card { display: flex; flex-direction: column; min-height: 410px; border-color: rgba(255,255,255,.09); background: linear-gradient(160deg,#15171c,#0f1014); box-shadow: 0 24px 64px rgba(0,0,0,.32); transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.felix-card:hover { transform: translateY(-5px); border-color: var(--felix-border); box-shadow: 0 32px 78px rgba(0,0,0,.45); }
.felix-card::after { display: none; }
.felix-card-gallery { position: relative; inset: auto; display: block; height: 265px; overflow: hidden; background: #151519; }
.felix-card-gallery::after { content: ""; position: absolute; inset: auto 0 0; height: 35%; background: linear-gradient(transparent,rgba(8,9,11,.72)); pointer-events: none; }
.felix-card-gallery-track { display: flex; height: 100%; }
.felix-card-gallery figure { position: relative; flex: 0 0 100%; height: 100%; margin: 0; border: 0; border-right: 2px solid #08090b; overflow: hidden; }
.felix-card-gallery.is-marquee .felix-card-gallery-track { width: 200%; animation: felix-card-scroll 6s linear infinite; will-change: transform; }
.felix-card-gallery.is-marquee figure { flex-basis: calc(100% / (var(--felix-photo-count) * 2)); }
@keyframes felix-card-scroll { to { transform: translate3d(-50%,0,0); } }
.felix-card-gallery img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.felix-card-info { width: 100%; min-height: 145px; padding: 16px 16px 62px; justify-content: flex-start; gap: 10px; }
.felix-card-name { padding: 0; border: 0; background: none; color: var(--felix-text); font: 800 clamp(18px,2.2vw,25px)/1.18 Georgia, serif; letter-spacing: -.015em; text-transform: none; }
.felix-card-meta { display: grid; gap: 6px; color: var(--felix-muted); font-size: 12px; }
.felix-card-meta span:first-child { color: var(--felix-gold-soft); font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.felix-whatsapp { left: 18px; right: 18px; bottom: 16px; justify-content: center; min-height: 38px; border-radius: 999px; }
.felix-verified { top: 14px; right: 14px; bottom: auto; border-radius: 999px; }
.felix-guide { margin-top: 42px; }

.felix-page { padding: clamp(42px,7vw,82px) 0 70px; }
.felix-page-header { max-width: 850px; margin-bottom: 22px; }
.felix-page-header h1 { margin: 0; font: 800 clamp(38px,7vw,66px)/1.02 Georgia, serif; letter-spacing: -.035em; }
.felix-page-header p { max-width: 680px; color: var(--felix-muted); }
.felix-page-content { padding: clamp(22px,5vw,44px); border: 1px solid rgba(255,255,255,.09); border-radius: var(--felix-radius); background: linear-gradient(145deg,#13151a,#0e0f12); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.felix-page-content > :first-child { margin-top: 0; }
.felix-page-content > :last-child { margin-bottom: 0; }
.felix-page-content h2, .felix-page-content h3 { color: var(--felix-gold-soft); font-family: Georgia, serif; }
.felix-page-content input:not([type="hidden"]), .felix-page-content select, .felix-page-content textarea { width: 100% !important; min-height: 48px; padding: 11px 13px !important; border: 1px solid rgba(255,255,255,.15) !important; border-radius: 11px !important; outline: 0; background: #090a0d !important; color: #fff !important; font: inherit; box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.felix-page-content input:focus, .felix-page-content select:focus, .felix-page-content textarea:focus { border-color: var(--felix-gold) !important; box-shadow: 0 0 0 3px rgba(215,182,107,.13); }
.felix-page-content button[type="submit"], .felix-page-content input[type="submit"] { min-height: 46px; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important; background: linear-gradient(135deg,#d7b66b,#f0d99a) !important; color: #171109 !important; font-weight: 900 !important; cursor: pointer; }
.felix-account-page { max-width: 820px; }
.felix-account-page .felix-page-header { text-align: center; }
.felix-account-page .felix-page-content { padding: clamp(16px,3vw,26px); }
.felix-account-page .fxhub-contact-only { max-width: 560px !important; margin: 0 auto !important; padding: clamp(24px,5vw,40px) !important; border: 0 !important; border-radius: 18px !important; background: linear-gradient(145deg,#17191f,#0d0e11) !important; box-shadow: none !important; }
.felix-account-page .fxhub-contact-only h1 { margin: 6px 0 8px; font: 800 clamp(29px,5vw,42px)/1.1 Georgia, serif; }
.felix-account-page .fxhub-chip { display: inline-flex; padding: 6px 10px; border: 1px solid var(--felix-border); border-radius: 999px; color: var(--felix-gold-soft); font-size: 11px; font-weight: 900; letter-spacing: .12em; }
.felix-account-page form[action*="fxhub_customer_login"] { margin-top: 22px; }
.felix-password-wrap { position: relative; }
.felix-password-wrap input { padding-right: 92px !important; }
.felix-password-toggle { position: absolute; top: 50%; right: 8px; min-height: 34px; padding: 0 10px; transform: translateY(-50%); border: 0; border-radius: 8px; background: rgba(255,255,255,.08); color: var(--felix-gold-soft); font-size: 12px; font-weight: 800; cursor: pointer; }
.felix-account-help { margin-top: 14px; padding: 18px 20px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; color: var(--felix-muted); background: rgba(255,255,255,.025); font-size: 13px; }
.felix-account-help strong { color: var(--felix-text); }
.felix-account-help p { margin: 4px 0 0; }

@media (max-width: 980px) {
  .felix-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .felix-hero { grid-template-columns: 1fr; }
  .felix-hero-summary { max-width: 520px; }
}
@media (max-width: 640px) {
  .felix-list { grid-template-columns: 1fr; }
  .felix-card { min-height: 370px; }
  .felix-card-gallery { height: 235px; }
  .felix-hero { padding-top: 44px; }
  .felix-hero h1 { font-size: clamp(40px,13vw,58px); }
  .felix-section-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .felix-page-content { padding: 18px; }
}

/* FELIX City 1.1.1 — compact, listing-first home page. */
.home .felix-header { position: relative; }
.felix-home-catalog { padding-top: clamp(22px,4vw,44px); }
.felix-home-title { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.1); }
.felix-home-title span { color: var(--felix-gold); font-size: 11px; font-weight: 900; letter-spacing: .22em; }
.felix-home-title h1 { margin: 0; font: 800 clamp(27px,5vw,46px)/1 Georgia, serif; letter-spacing: -.035em; }
.felix-home-actions { display: grid; gap: 10px; margin: 8px 0 48px; }
.felix-list .felix-list-promo { grid-column: 1 / -1; width: 100%; margin: 0; }
.felix-contact-promo { position: relative; display: grid; grid-template-columns: minmax(150px,42%) 1fr auto; align-items: center; gap: clamp(16px,3vw,30px); width: calc(50% - 10px); min-height: 230px; overflow: hidden; padding: 18px 22px 18px 18px; border: 1px solid rgba(201,130,97,.48); border-radius: var(--felix-radius); background: linear-gradient(145deg,#151f2a 0%,#0b1119 55%,#16110f 100%); color: var(--felix-text); text-decoration: none; box-shadow: 0 24px 64px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.045); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.felix-contact-promo::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 25% 50%,rgba(201,130,97,.16),transparent 38%), linear-gradient(110deg,transparent 62%,rgba(34,143,151,.09)); pointer-events: none; }
.felix-contact-promo:hover, .felix-contact-promo:focus-visible { transform: translateY(-4px); border-color: #e29b78; box-shadow: 0 32px 80px rgba(0,0,0,.48), 0 0 34px rgba(201,130,97,.08); }
.felix-contact-promo-logo { position: relative; z-index: 1; display: block; height: 178px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: #070707; }
.felix-contact-promo-logo img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 8% center; filter: saturate(.92) contrast(1.04); }
.felix-contact-promo-copy { position: relative; z-index: 1; display: grid; gap: 12px; }
.felix-contact-promo-copy strong { color: var(--felix-gold-soft); font: 800 clamp(28px,3.2vw,42px)/1 Georgia, serif; letter-spacing: .16em; }
.felix-contact-promo-copy span { color: #d9e1e6; font-size: clamp(14px,1.5vw,18px); font-weight: 800; line-height: 1.35; }
.felix-contact-promo-arrow { position: relative; z-index: 1; color: #e29b78; font-size: 28px; }
.felix-home-action { display: grid; grid-template-columns: minmax(92px,.32fr) 1fr auto; align-items: center; gap: 18px; min-height: 82px; padding: 15px 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: linear-gradient(120deg,#15171c,#0d0e11); color: var(--felix-text); text-decoration: none; transition: transform .2s ease, border-color .2s ease; }
.felix-home-action:hover, .felix-home-action:focus-visible { transform: translateY(-2px); border-color: var(--felix-gold); }
.felix-home-action-brand { color: var(--felix-gold-soft); font: 800 20px/1 Georgia, serif; letter-spacing: .18em; }
.felix-home-action strong { font-size: clamp(17px,2.5vw,23px); }
.felix-home-action > span:last-child { color: var(--felix-gold); font-size: 23px; }
.felix-single-primary-action { display: flex; align-items: center; justify-content: center; min-height: 52px; margin: 14px 0 22px; border-radius: 12px; background: var(--felix-green); color: #fff; text-align: center; text-decoration: none; font-size: 15px; font-weight: 900; box-shadow: 0 12px 32px rgba(24,168,102,.18); }

@media (max-width: 760px) {
  .home .felix-header-inner { justify-content: center; }
  .home .felix-nav { display: none; }
  .felix-home-catalog { padding-top: 18px; }
  .felix-home-title { align-items: flex-start; flex-direction: column; gap: 5px; margin-bottom: 13px; }
  .felix-home-title h1 { font-size: clamp(27px,9vw,38px); }
  .felix-contact-promo { grid-template-columns: 118px 1fr auto; width: 100%; min-height: 168px; padding: 14px; gap: 14px; }
  .felix-contact-promo-logo { height: 136px; border-radius: 12px; }
  .felix-contact-promo-copy { gap: 8px; }
  .felix-contact-promo-copy strong { font-size: 26px; }
  .felix-contact-promo-copy span { font-size: 13px; }
  .felix-contact-promo-arrow { font-size: 22px; }
  .felix-home-action { grid-template-columns: 82px 1fr auto; min-height: 68px; padding: 12px 14px; }
  .felix-home-action-brand { font-size: 16px; }
}

@media (max-width: 420px) {
  .felix-contact-promo { grid-template-columns: 96px 1fr; min-height: 142px; padding: 12px; }
  .felix-contact-promo-logo { height: 116px; }
  .felix-contact-promo-arrow { display: none; }
  .felix-contact-promo-copy strong { font-size: 22px; }
}

/* FELIX City 1.1.2 — original obsidian, petrol and copper premium palette. */
:root {
  --felix-bg: #070b12;
  --felix-panel: #101722;
  --felix-panel-2: #152331;
  --felix-gold: #c98261;
  --felix-gold-soft: #f1c6ae;
  --felix-text: #f6f3ef;
  --felix-muted: #9ba9b6;
  --felix-border: rgba(201,130,97,.34);
}
body { background: var(--felix-bg); }
body::before { background: radial-gradient(850px 500px at 8% -8%, rgba(21,113,126,.24), transparent 64%), radial-gradient(760px 470px at 92% 2%, rgba(201,130,97,.18), transparent 67%); }
.felix-header { border-color: rgba(92,177,186,.18); background: rgba(7,11,18,.9); }
.felix-brand { color: #f2c7af; text-shadow: 0 0 28px rgba(201,130,97,.17); }
.felix-nav .felix-nav-primary, .felix-button { border-color: #db9673; background: linear-gradient(135deg,#b9694e,#e3a17e); color: #110b09; }
.home .felix-home-title { border-color: rgba(92,177,186,.22); }
.home .felix-home-title span { color: #69c4cc; }
.home .felix-home-title h1 { color: #f6f3ef; text-shadow: 0 8px 36px rgba(32,148,157,.12); }
.home .felix-card { border-color: rgba(111,172,180,.17); background: linear-gradient(155deg,#152331 0%,#0c131d 58%,#101720 100%); box-shadow: 0 24px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.035); }
.home .felix-card:hover { border-color: rgba(223,145,108,.55); box-shadow: 0 30px 85px rgba(0,0,0,.48), 0 0 34px rgba(33,135,146,.09); }
.home .felix-card-gallery { background: #0c141e; }
.home .felix-card-gallery::after { background: linear-gradient(transparent,rgba(7,11,18,.82)); }
.home .felix-card-gallery figure { border-color: rgba(92,177,186,.14); }
.home .felix-card-name { color: #f7f2ee; }
.home .felix-card-meta span:first-child { color: #73cbd2; }
.home .felix-verified { background: #d68c69; color: #160d09; }
.home .felix-home-action { border-color: rgba(92,177,186,.2); background: linear-gradient(120deg,#152534,#0d151f 62%,#14161d); box-shadow: inset 3px 0 0 rgba(201,130,97,.74), 0 16px 42px rgba(0,0,0,.22); }
.home .felix-home-action:hover, .home .felix-home-action:focus-visible { border-color: rgba(225,151,115,.72); box-shadow: inset 3px 0 0 #e29b78, 0 20px 48px rgba(0,0,0,.3); }
.home .felix-home-action-brand { color: #73cbd2; }
.home .felix-home-action > span:last-child { color: #e29b78; }
.felix-footer { border-color: rgba(92,177,186,.14); background: #080d14; }

/* FELIX City 1.1.3 — faster marquee and consistent image watermark. */
.felix-card-gallery figure::before,
.felix-gallery-slide::after {
  content: "FELIX";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  padding: .32em .7em;
  transform: translate(-50%,-50%) rotate(-14deg);
  border: 1px solid rgba(246,243,239,.72);
  border-radius: 4px;
  color: rgba(246,243,239,.78);
  font: 800 clamp(10px,1.6vw,18px)/1 Georgia, serif;
  letter-spacing: .22em;
  text-shadow: 0 2px 8px rgba(0,0,0,.8);
  box-shadow: 0 3px 14px rgba(0,0,0,.24);
  pointer-events: none;
}

/* FELIX City 1.1.7 — restrained editorial palette and single contact card. */
:root {
  --felix-bg: #0b1017;
  --felix-panel: #121a24;
  --felix-panel-2: #182330;
  --felix-gold: #b87352;
  --felix-gold-soft: #dfb397;
  --felix-text: #f1eee9;
  --felix-muted: #9da8b2;
  --felix-border: rgba(184,115,82,.34);
}
body { background: #0b1017; }
body::before { background: linear-gradient(180deg,rgba(49,87,96,.13) 0,rgba(11,16,23,0) 420px); }
.felix-header { border-color: rgba(255,255,255,.08); background: rgba(11,16,23,.94); }
.felix-brand { color: #dfb397; text-shadow: none; }
.home .felix-card { border-color: rgba(255,255,255,.09); background: #121a24; box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.home .felix-card:hover { border-color: rgba(184,115,82,.55); box-shadow: 0 24px 52px rgba(0,0,0,.36); }
.home .felix-card-gallery { background: #0f161f; }
.home .felix-card-gallery::after { background: linear-gradient(transparent,rgba(11,16,23,.76)); }
.home .felix-card-meta span:first-child { color: #78adb1; }
.home .felix-verified { background: #b87352; color: #140d09; }
.felix-contact-promo { border-color: rgba(184,115,82,.48); background: #121a24; box-shadow: 0 18px 42px rgba(0,0,0,.3); }
.felix-contact-promo::before { display: none; }
.felix-contact-promo:hover, .felix-contact-promo:focus-visible { border-color: #c98662; box-shadow: 0 24px 54px rgba(0,0,0,.38); }
.felix-contact-promo-copy strong { color: #dfb397; }
.felix-contact-promo-copy span { color: #d6dce1; }
.felix-contact-promo-arrow { color: #c98662; }
.home .felix-home-action { border-color: rgba(255,255,255,.1); background: #121a24; box-shadow: none; }
.home .felix-home-action:hover, .home .felix-home-action:focus-visible { border-color: rgba(184,115,82,.65); box-shadow: 0 14px 34px rgba(0,0,0,.22); }
.home .felix-home-action-brand { color: #78adb1; }
.home .felix-home-action > span:last-child { color: #c98662; }
.felix-nav .felix-nav-primary, .felix-button { border-color: #b87352; background: #b87352; color: #120d0a; }
.felix-footer { border-color: rgba(255,255,255,.08); background: #0d131b; }

/* FELIX City 1.1.9 — compact cards, crafted material palette and triple contact row. */
:root {
  --felix-bg: #171214;
  --felix-panel: #21191c;
  --felix-panel-2: #2a2022;
  --felix-gold: #b88764;
  --felix-gold-soft: #e2c3a4;
  --felix-text: #f3eee7;
  --felix-muted: #b1a39b;
  --felix-green: #176246;
  --felix-border: rgba(184,135,100,.36);
}
body { background: #171214; }
body::before { background: radial-gradient(680px 360px at 12% -4%,rgba(125,65,78,.24),transparent 68%), radial-gradient(720px 400px at 88% 4%,rgba(112,126,91,.14),transparent 72%); }
.felix-header { border-color: rgba(226,195,164,.13); background: rgba(23,18,20,.94); }
.felix-brand { color: #e2c3a4; }
.home .felix-home-title { border-color: rgba(226,195,164,.16); }
.home .felix-home-title span { color: #89967a; }
.home .felix-home-title h1 { color: #f3eee7; text-shadow: none; }
.home .felix-list { gap: 14px; padding-bottom: 10px; }
.home .felix-card { min-height: 0; height: 318px; border-color: rgba(226,195,164,.12); border-radius: 14px; background: #21191c; box-shadow: 0 14px 34px rgba(0,0,0,.3); }
.home .felix-card:hover { transform: translateY(-3px); border-color: rgba(184,135,100,.62); box-shadow: 0 20px 42px rgba(0,0,0,.38); }
.home .felix-card-info { order: -1; flex: 0 0 68px; width: 100%; min-height: 0; padding: 10px 118px 9px 13px; justify-content: center; gap: 3px; border-bottom: 1px solid rgba(226,195,164,.1); background: #21191c; }
.home .felix-card-name { overflow: hidden; width: 100%; color: #f3eee7; font: 800 clamp(15px,1.55vw,20px)/1.15 Georgia, serif; white-space: nowrap; text-overflow: ellipsis; }
.home .felix-card-meta { display: flex; width: 100%; gap: 8px; overflow: hidden; font-size: 10px; line-height: 1.2; white-space: nowrap; }
.home .felix-card-meta span { overflow: hidden; text-overflow: ellipsis; }
.home .felix-card-meta span:first-child { flex: 0 0 auto; color: #89967a; letter-spacing: .07em; }
.home .felix-card-meta span:last-child { color: #a99d96; }
.home .felix-card-gallery { flex: 1 1 auto; height: auto; min-height: 0; background: #181216; }
.home .felix-card-gallery::after { height: 22%; background: linear-gradient(transparent,rgba(23,18,20,.72)); }
.home .felix-card-gallery figure { border-color: rgba(226,195,164,.1); }
.home .felix-whatsapp { left: 10px; right: 10px; bottom: 9px; min-height: 32px; padding: 5px 10px; border: 1px solid rgba(255,255,255,.11); border-radius: 9px; background: rgba(23,98,70,.94); font-size: 11px; box-shadow: 0 7px 18px rgba(0,0,0,.3); }
.home .felix-verified { top: 14px; right: 12px; padding: 4px 7px; background: #8f4a58; color: #fff8f2; font-size: 9px; }
.felix-home-actions { gap: 11px; margin-top: 0; }
.felix-contact-promo { grid-template-columns: 150px 1fr auto; width: 100%; min-height: 124px; padding: 12px 18px 12px 12px; border-color: rgba(184,135,100,.45); border-radius: 15px; background: #21191c; box-shadow: inset 5px 0 0 #b88764, 0 14px 32px rgba(0,0,0,.25); }
.felix-contact-promo:nth-child(2) { border-color: rgba(137,150,122,.42); box-shadow: inset 5px 0 0 #89967a, 0 14px 32px rgba(0,0,0,.25); }
.felix-contact-promo:nth-child(3) { border-color: rgba(143,74,88,.48); box-shadow: inset 5px 0 0 #8f4a58, 0 14px 32px rgba(0,0,0,.25); }
.felix-contact-promo-logo { height: 96px; border-color: rgba(226,195,164,.13); border-radius: 10px; }
.felix-contact-promo-copy { gap: 7px; }
.felix-contact-promo-copy strong { color: #e2c3a4; font-size: clamp(24px,2.8vw,34px); }
.felix-contact-promo-copy span { color: #ded6cf; font-size: clamp(13px,1.35vw,16px); }
.felix-contact-promo-arrow { color: #b88764; }
.felix-footer { border-color: rgba(226,195,164,.12); background: #130f11; }

@media (max-width: 640px) {
  .home .felix-list { gap: 11px; }
  .home .felix-card { height: 268px; min-height: 0; }
  .home .felix-card-info { flex-basis: 58px; padding: 8px 86px 7px 10px; }
  .home .felix-card-name { font-size: 15px; }
  .home .felix-card-meta { font-size: 9px; }
  .home .felix-card-gallery { height: auto; }
  .home .felix-verified { top: 11px; right: 9px; max-width: 72px; overflow: hidden; white-space: nowrap; }
  .felix-contact-promo { grid-template-columns: 92px 1fr auto; min-height: 98px; padding: 9px 12px 9px 9px; gap: 11px; }
  .felix-contact-promo-logo { height: 78px; border-radius: 8px; }
  .felix-contact-promo-copy strong { font-size: 21px; }
  .felix-contact-promo-copy span { font-size: 12px; }
}

/* FELIX City 1.2.0 — focused single-listing page without a second bottom action. */
.single-felix_listing .felix-single { width: min(calc(100% - 28px), 1060px); padding-top: clamp(20px,3.5vw,38px); }
.single-felix_listing .felix-single-head { display: grid; gap: 7px; margin-bottom: 14px; padding: 0 2px; }
.single-felix_listing .felix-kicker { width: fit-content; margin: 0; padding: 5px 9px; border: 1px solid rgba(137,150,122,.34); border-radius: 999px; background: rgba(137,150,122,.08); color: #a9b59b; font-size: 10px; letter-spacing: .14em; }
.single-felix_listing .felix-single-head h1 { margin: 0; color: #f3eee7; font: 800 clamp(28px,5vw,48px)/1.05 Georgia, serif; letter-spacing: -.025em; }
.single-felix_listing .felix-single-meta { color: #9f938d; font-size: 12px; }
.single-felix_listing .felix-gallery { aspect-ratio: 16/9; max-height: 610px; border-color: rgba(226,195,164,.17); border-radius: 16px; background: #120e10; box-shadow: 0 20px 54px rgba(0,0,0,.34); }
.single-felix_listing .felix-gallery-button { width: 40px; height: 40px; border-color: rgba(226,195,164,.34); background: rgba(23,18,20,.78); }
.single-felix_listing .felix-single-primary-action { min-height: 48px; margin: 10px 0 0; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: #176246; box-shadow: 0 10px 26px rgba(0,0,0,.24); }
.single-felix_listing .felix-single-primary-action:hover,
.single-felix_listing .felix-single-primary-action:focus-visible { background: #1d7555; }
.single-felix_listing .felix-single-safety { margin: 7px 2px 0; color: #9f938d; font-size: 11px; line-height: 1.45; }
.single-felix_listing .felix-single-grid { display: block; margin-top: 14px; }
.single-felix_listing .felix-content-panel { margin: 0; padding: clamp(18px,3.2vw,32px); border-color: rgba(226,195,164,.13); border-radius: 16px; background: #21191c; box-shadow: 0 16px 40px rgba(0,0,0,.22); }
.single-felix_listing .felix-content-panel > h2:first-child { margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid rgba(226,195,164,.12); color: #e2c3a4; font: 800 clamp(22px,3vw,30px)/1.15 Georgia, serif; }
.single-felix_listing .felix-content-panel p { color: #d7cfc8; line-height: 1.72; }
.single-felix_listing .felix-content-panel > :last-child { margin-bottom: 0; }
.single-felix_listing .felix-contact-card { display: none !important; }
.single-felix_listing .jp-relatedposts { margin-top: 30px !important; padding-top: 20px !important; border-top: 1px solid rgba(226,195,164,.12) !important; }
.single-felix_listing .jp-relatedposts h3.jp-relatedposts-headline { color: #e2c3a4 !important; font-family: Georgia, serif !important; }

@media (max-width: 640px) {
  .single-felix_listing .felix-single { padding-top: 16px; padding-bottom: 34px; }
  .single-felix_listing .felix-single-head { gap: 6px; margin-bottom: 11px; }
  .single-felix_listing .felix-single-head h1 { font-size: clamp(25px,8.4vw,34px); }
  .single-felix_listing .felix-gallery { aspect-ratio: 4/3; border-radius: 12px; }
  .single-felix_listing .felix-gallery-button { width: 36px; height: 36px; }
  .single-felix_listing .felix-single-primary-action { min-height: 44px; margin-top: 8px; font-size: 14px; }
  .single-felix_listing .felix-content-panel { padding: 17px 15px; border-radius: 12px; }
}

/* FELIX City 1.2.1 — one material palette across the complete site. */
:root {
  --felix-bg: #191715;
  --felix-panel: #24211e;
  --felix-panel-2: #2d2824;
  --felix-gold: #baa17c;
  --felix-gold-soft: #dbc9aa;
  --felix-text: #f2eee5;
  --felix-muted: #b6ab9c;
  --felix-green: #245c47;
  --felix-border: rgba(186,161,124,.24);
  --felix-radius: 12px;
}
body { background: var(--felix-bg); color: var(--felix-text); }
body::before { background: linear-gradient(180deg,rgba(186,161,124,.045),transparent 380px); }
a { text-underline-offset: 3px; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--felix-gold-soft); outline-offset: 4px; }
.felix-header { border-color: var(--felix-border); background: rgba(25,23,21,.97); backdrop-filter: blur(10px); }
.felix-header-inner { min-height: 76px; gap: 20px; }
.felix-brand { display: inline-flex; align-items: center; gap: 13px; color: var(--felix-gold-soft); letter-spacing: .2em; }
.felix-brand-mark { display: block; width: 49px; height: 49px; overflow: hidden; flex: 0 0 49px; border: 1px solid rgba(186,161,124,.32); border-radius: 50%; background: #100f0d; }
.felix-brand-mark img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 8% center; }
.felix-brand-name { font: 700 29px/1 Georgia, serif; }
.felix-brand-tier { margin-left: 1px; padding: 3px 0 3px 12px; border-left: 1px solid var(--felix-border); color: var(--felix-muted); font: 600 9px/1.4 Arial, sans-serif; letter-spacing: .22em; }
.felix-nav a { padding: 7px 10px; border-radius: 4px; color: #c9bfaf; font-size: 12px; font-weight: 600; }
.felix-nav a:hover, .felix-nav a:focus-visible { background: rgba(186,161,124,.075); color: var(--felix-text); }
.felix-home-catalog { padding-top: 22px; }
.home .felix-home-title { align-items: center; margin-bottom: 14px; padding-bottom: 13px; border-color: var(--felix-border); }
.home .felix-home-title span { color: var(--felix-gold); font-size: 9px; letter-spacing: .28em; }
.home .felix-home-title h1 { color: var(--felix-text); font-size: clamp(28px,3.5vw,39px); font-weight: 500; letter-spacing: -.03em; }
.home .felix-card { height: 300px; border-color: var(--felix-border); border-radius: 11px; background: var(--felix-panel); box-shadow: 0 9px 24px rgba(0,0,0,.18); }
.home .felix-card:hover { transform: translateY(-2px); border-color: rgba(186,161,124,.56); box-shadow: 0 14px 30px rgba(0,0,0,.26); }
.home .felix-card-info { flex-basis: 62px; padding: 10px 16px; border-color: var(--felix-border); background: var(--felix-panel); }
.home .felix-card-name { color: var(--felix-text); font-weight: 600; font-size: clamp(16px,1.6vw,20px); line-height: 1.15; letter-spacing: -.015em; }
.home .felix-card-meta { gap: 10px; font-size: 9px; }
.home .felix-card-meta span:first-child { max-width: 55%; color: var(--felix-gold); font-weight: 600; letter-spacing: .1em; }
.home .felix-card-meta span:last-child { color: var(--felix-muted); }
.home .felix-card-gallery { background: #151311; }
.home .felix-card-gallery::after { height: 32%; background: linear-gradient(transparent,rgba(15,14,12,.74)); }
.home .felix-card-gallery figure { border-color: #191715; }
.home .felix-whatsapp { left: 12px; right: 12px; bottom: 10px; min-height: 31px; border-color: rgba(207,224,208,.16); border-radius: 6px; background: rgba(36,92,71,.96); font-weight: 600; letter-spacing: .02em; box-shadow: 0 5px 14px rgba(0,0,0,.2); }
.home .felix-whatsapp:hover, .home .felix-whatsapp:focus-visible { background: #2d7056; }
.home .felix-verified { top: 73px; right: 10px; max-width: calc(100% - 20px); border: 1px solid rgba(219,201,170,.28); border-radius: 4px; background: rgba(25,23,21,.83); color: var(--felix-gold-soft); font-size: 8px; font-weight: 500; }
.felix-contact-promo { min-height: 112px; grid-template-columns: 118px 1fr auto; gap: 22px; padding: 10px 22px 10px 10px; border-color: var(--felix-border); border-radius: 11px; background: var(--felix-panel); box-shadow: inset 3px 0 0 var(--felix-gold), 0 8px 22px rgba(0,0,0,.17); }
.felix-contact-promo:nth-child(2) { border-color: var(--felix-border); box-shadow: inset 3px 0 0 #69755d, 0 8px 22px rgba(0,0,0,.17); }
.felix-contact-promo:nth-child(3) { border-color: var(--felix-border); box-shadow: inset 3px 0 0 #7b4950, 0 8px 22px rgba(0,0,0,.17); }
.felix-contact-promo:hover, .felix-contact-promo:focus-visible { transform: translateY(-2px); border-color: rgba(186,161,124,.6); box-shadow: inset 3px 0 0 var(--felix-gold-soft), 0 13px 28px rgba(0,0,0,.24); }
.felix-contact-promo-logo { height: 90px; border-color: rgba(186,161,124,.2); border-radius: 7px; }
.felix-contact-promo-copy { gap: 8px; }
.felix-contact-promo-copy strong { color: var(--felix-gold-soft); font: 500 clamp(24px,2.6vw,32px)/1 Georgia, serif; letter-spacing: .2em; }
.felix-contact-promo-copy span { color: #d4c9b9; font-size: 14px; font-weight: 500; }
.felix-contact-promo-arrow { width: 30px; height: 30px; border: 1px solid var(--felix-border); border-radius: 50%; color: var(--felix-gold); font: 400 19px/27px Arial, sans-serif; text-align: center; }
.felix-footer { border-color: var(--felix-border); background: #151311; }
.felix-footer-inner { gap: 20px; padding: 26px 0 20px; }
.felix-footer h2 { color: var(--felix-gold-soft); font-weight: 500; font-size: 20px; }
.felix-footer p, .felix-footer-links a { color: var(--felix-muted); font-size: 11px; }
.felix-copyright { color: #8e8375; font-size: 10px; }
.single-felix_listing .felix-single-head h1 { color: var(--felix-text); font-weight: 500; font-size: clamp(28px,4.4vw,43px); }
.single-felix_listing .felix-kicker { border-color: var(--felix-border); background: rgba(186,161,124,.06); color: var(--felix-gold); font-weight: 500; }
.single-felix_listing .felix-single-meta, .single-felix_listing .felix-single-safety { color: var(--felix-muted); }
.single-felix_listing .felix-gallery { border-color: var(--felix-border); border-radius: 12px; background: #151311; box-shadow: 0 12px 32px rgba(0,0,0,.23); }
.single-felix_listing .felix-single-primary-action { border-radius: 7px; background: var(--felix-green); font-weight: 600; box-shadow: 0 7px 20px rgba(0,0,0,.2); }
.single-felix_listing .felix-single-primary-action:hover { background: #2d7056; }
.single-felix_listing .felix-content-panel { border-color: var(--felix-border); border-radius: 12px; background: var(--felix-panel); box-shadow: none; }
.single-felix_listing .felix-content-panel > h2:first-child { border-color: var(--felix-border); color: var(--felix-gold-soft); font-weight: 500; }
.single-felix_listing .felix-content-panel p { color: #d4c9b9; }
.single-felix_listing .jp-relatedposts h3.jp-relatedposts-headline { color: var(--felix-gold-soft) !important; }
.felix-page-content, .felix-account-page .fxhub-contact-only { border-color: var(--felix-border); border-radius: 12px !important; background: var(--felix-panel) !important; box-shadow: none; }
.felix-page-content h2, .felix-page-content h3 { color: var(--felix-gold-soft); }
.felix-page-content input:not([type="hidden"]), .felix-page-content select, .felix-page-content textarea { border-color: var(--felix-border) !important; background: #191715 !important; }
.felix-page-content button[type="submit"], .felix-page-content input[type="submit"], .felix-nav .felix-nav-primary, .felix-button { border-color: var(--felix-gold) !important; background: var(--felix-gold) !important; color: #191715 !important; box-shadow: none; }
.felix-account-help { border-color: var(--felix-border); background: var(--felix-panel); }
.felix-age-gate-panel { border-color: var(--felix-border); border-radius: 12px; background: var(--felix-panel); }
.felix-age-gate-panel h2 { color: var(--felix-gold-soft); font: 500 28px/1.2 Georgia, serif; }
.felix-age-gate-panel p { color: var(--felix-muted); }
.felix-age-gate button { background: var(--felix-gold); }

@media (max-width: 640px) {
  .felix-header-inner { min-height: 66px; }
  .felix-brand { gap: 10px; }
  .felix-brand-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .felix-brand-name { font-size: 25px; }
  .felix-brand-tier { font-size: 8px; padding-left: 10px; }
  .home .felix-home-title { flex-direction: row; align-items: center; margin-bottom: 12px; padding-bottom: 11px; }
  .home .felix-home-title h1 { font-size: clamp(26px,7.6vw,33px); }
  .home .felix-home-title span { font-size: 8px; }
  .home .felix-card { height: 252px; }
  .home .felix-card-info { flex-basis: 57px; padding: 9px 11px; }
  .home .felix-card-name { font-size: 16px; }
  .home .felix-card-meta { gap: 7px; font-size: 8px; }
  .home .felix-verified { top: 66px; right: 9px; }
  .felix-contact-promo { grid-template-columns: 82px 1fr auto; gap: 12px; min-height: 92px; padding: 8px 12px 8px 8px; }
  .felix-contact-promo-logo { height: 74px; }
  .felix-contact-promo-copy strong { font-size: 22px; }
  .felix-contact-promo-copy span { font-size: 11px; }
  .felix-contact-promo-arrow { width: 26px; height: 26px; font-size: 16px; line-height: 23px; }
  .single-felix_listing .felix-single-head h1 { font-size: clamp(25px,8vw,33px); }
}


/* FELIX City 1.2.3 - homepage compact photo overlays */
body.home .felix-list .felix-card { position:relative; display:block; height:260px; min-height:260px; overflow:hidden; isolation:isolate; }
body.home .felix-list .felix-card-gallery { position:absolute; inset:0; width:100%; height:100%; min-height:0; z-index:0; }
body.home .felix-list .felix-card-gallery::after { inset:auto 0 0; height:60%; background:linear-gradient(transparent,rgba(0,0,0,.90)); }
body.home .felix-list .felix-card-main-link { z-index:2; }
body.home .felix-list .felix-card-overlay-name { position:absolute; top:11px; left:11px; z-index:3; max-width:38%; padding:6px 10px; border:1px solid rgba(216,180,95,.7); border-radius:5px; background:rgba(12,11,9,.83); color:#f2d28b; font-weight:800; font-size:13px; line-height:1.25; overflow-wrap:anywhere; pointer-events:none; }
body.home .felix-list .felix-card-overlay-place { position:absolute; top:11px; right:11px; z-index:3; max-width:56%; padding:6px 10px; border:1px solid rgba(216,180,95,.7); border-radius:5px; background:rgba(12,11,9,.83); color:#f2d28b; font-weight:800; font-size:13px; line-height:1.25; text-align:right; overflow-wrap:anywhere; pointer-events:none; }
body.home .felix-list .felix-card-info { position:absolute; inset:auto 0 0; z-index:3; display:flex; width:100%; height:auto; min-height:0; max-height:58%; flex-basis:auto; padding:13px 13px 49px; margin:0; border:0; background:transparent; justify-content:flex-end; gap:5px; overflow:hidden; pointer-events:none; }
body.home .felix-list .felix-card-name { white-space:normal; text-overflow:clip; overflow:visible; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#f7e2ae; font-size:clamp(15px,1.5vw,19px); font-weight:800; line-height:1.2; }
body.home .felix-list .felix-card-meta { display:flex; flex-wrap:wrap; gap:4px 10px; font-size:10px; color:#f4f1e8; }
body.home .felix-list .felix-card-meta span:first-child { max-width:100%; color:#f0c977; }
body.home .felix-list .felix-verified { top:12px; right:10px; }
body.home .felix-list .felix-whatsapp { z-index:5; }
@media(max-width:640px){body.home .felix-list .felix-card {height:245px;min-height:245px;} body.home .felix-list .felix-card-info {padding:10px 11px 46px;} body.home .felix-list .felix-card-overlay-name,body.home .felix-list .felix-card-overlay-place {top:7px;padding:4px 7px;font-size:10px;} body.home .felix-list .felix-card-overlay-name {left:7px;} body.home .felix-list .felix-card-overlay-place {right:7px;} }

/* FELIX City 1.2.8 — full-width listing banner after every four listings. */
body.home .felix-list .felix-list-promo {
  display:block;
  grid-column:1 / -1;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid var(--felix-border);
  border-radius:11px;
  background:#050505;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
body.home .felix-list .felix-list-promo-banner {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2161 / 728;
  object-fit:cover;
}


/* FELIX-CARD-META-HIDE */
.felix-card-meta{display:none!important}
