/* psy2b – Red Cats psychic sites (top10psychics.online, guiadelecturaspsiquicas.com), 2026-10-29.
   Skin over the original psy2 markup (bootstrap + style-psy2.css): structure and order of every page unchanged. */
@font-face { font-family: "Cinzel"; font-style: normal; font-weight: 600 700; font-display: swap; src: url(/fonts/psy1v2/cinzel-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+2000-206F, U+20AC, U+2122; }
:root { --ink: #0c2530; --text: #314650; --muted: #66787f; --night: #071a22; --sea: #0e3440; --teal: #14967f; --teal-d: #0c6f5f; --gold: #d9b45a; --gold-l: #e7cf8f; --paper: #fffdf8; --page: #eff3f1; --line: #e4dcc6;
	--serif: "Cinzel", "Trajan Pro", "Times New Roman", serif; --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body { background: var(--page) !important; color: var(--text); font-family: var(--sans); }
h1, h2, .h2, .h5, .title { font-family: var(--serif); color: var(--ink); letter-spacing: .01em; }

/* header: midnight teal with a crescent moon and a few stars */
.top-bg { position: relative; background: radial-gradient(circle at 88% 50%, rgba(255, 244, 214, .9) 0 11px, transparent 12px), radial-gradient(circle at calc(88% + 6px) calc(50% - 4px), #0f3946 0 10px, transparent 11px), linear-gradient(100deg, #071a22 0%, #0e3440 70%, #145061 100%) !important; border-bottom: 2px solid var(--gold) !important; }
.top-bg::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(1.4px 1.4px at 22% 30%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 46% 70%, #ffe9b0 50%, transparent 51%), radial-gradient(1.4px 1.4px at 63% 25%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 78% 72%, #fff 50%, transparent 51%); }
.top-bg .container { position: relative; }
.p2b-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none !important; padding: 6px 0; }
.p2b-word { font: 700 17px/1.1 var(--serif); color: #fff; letter-spacing: .06em; text-transform: uppercase; }
.p2b-word b { color: var(--gold); font-weight: 700; }
.top-navbar .nav-link, .top-bg .nav-link { color: #e9f1ef !important; font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.top-navbar .nav-link:hover { color: var(--gold) !important; }
.navbar-toggler { border-color: rgba(217, 180, 90, .55) !important; color: #fff !important; }
.dropdown-menu { border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 14px 30px rgba(7, 26, 34, .18); }
.dropdown-item:hover { background: #f3efe2; }
.notification-bell svg { fill: var(--gold) !important; }

/* homepage hero: the zodiac wheel on a night band */
.container.pb-5:first-of-type > .row > .col-12.pt-4 { position: relative; }
h1.h2 { font-size: 30px; }
.date-month-year { color: var(--teal) !important; }
.btn-visit, .btn-green, .btn-offer { background: linear-gradient(180deg, #1aa88f, var(--teal-d)) !important; border: 0 !important; color: #fff !important; border-radius: 8px !important; font-weight: 700; letter-spacing: .02em; text-transform: none; box-shadow: 0 6px 16px rgba(12, 111, 95, .3), inset 0 0 0 1px rgba(217, 180, 90, .5); }
.btn-visit:hover, .btn-green:hover, a.list:hover .btn-visit, .card:hover .btn-visit { background: linear-gradient(180deg, #149580, #0a5e51) !important; }

/* list cards: parchment tarot cards with a thin gold inner frame */
a.list { position: relative; background: var(--paper) !important; border: 1px solid var(--line) !important; border-radius: 10px !important; box-shadow: 0 1px 2px rgba(7, 26, 34, .08), 0 8px 22px rgba(7, 26, 34, .08) !important; margin-bottom: 14px; }
a.list::before { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(217, 180, 90, .35); border-radius: 6px; pointer-events: none; }
a.list::after { content: "✦"; position: absolute; right: 12px; bottom: 8px; font-size: 11px; color: var(--gold); opacity: .7; pointer-events: none; }
a.list:hover { box-shadow: 0 2px 4px rgba(7, 26, 34, .1), 0 14px 30px rgba(7, 26, 34, .12) !important; }
a.list.lpm-1:first-of-type, .ribbon-number-one + .row { }
.ribbon-number-one .top1, .top1 { background: linear-gradient(90deg, #0c2530, #145061) !important; color: var(--gold) !important; font: 700 11px/1 var(--serif); letter-spacing: .16em; border: 1px solid var(--gold); }
.ribbon-number-one .top1::after { border-color: transparent !important; }
.arating { font-family: var(--serif); color: var(--gold) !important; }
.ticks-top10 li, .ticks-top3 li { color: var(--text); }
.ticks-top10 li::before, .ticks-top3 li::before { color: var(--gold) !important; content: "✦" !important; }
.feature-1 .feature-desc { color: var(--ink); }
.promo { font-family: var(--serif); color: #9a5b00 !important; letter-spacing: .02em; }
/* score dial: teal arc on a gold-rimmed medallion */
.circular-chart .circle { stroke: var(--teal) !important; }
.circular-chart .circle-bg { stroke: #efe7cf !important; }
.circular-chart .percentage { fill: var(--ink) !important; font-family: var(--serif); }
.d-rating { font-family: var(--serif); color: var(--teal-d) !important; letter-spacing: .1em; }
.disclosure { color: var(--muted) !important; letter-spacing: .12em; }
.features.icons li span { color: var(--ink); }

/* homepage cards + review tiles */
.homepage-cards .card { background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 8px 22px rgba(7, 26, 34, .08); }
.homepage-cards .card-header { background: #fbf6ea; border-bottom: 1px solid var(--line); }
.reviews-list { border: 1px solid var(--line); font-family: var(--serif); color: var(--ink) !important; }
.reviews-list:hover { background: #fbf6ea !important; }
.card-offer { border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }

/* article / FAQ */
.faq1 h2, .faq1 .title { font-family: var(--serif); }
a { color: var(--teal-d); }

/* footer: deep teal with gold headings */
.wrap-footer { background: linear-gradient(180deg, #0c2530, #071a22) !important; border-top: 2px solid var(--gold); color: #b9cfcb; }
.wrap-footer a { color: #d6e6e3 !important; }
.wrap-footer a:hover { color: var(--gold) !important; }
.wrap-footer .footer-header { color: var(--gold) !important; font-family: var(--serif); letter-spacing: .12em; }
.wrap-footer .copyright { color: #8fb0aa !important; }
@media (max-width: 767px) { h1.h2 { font-size: 24px; } .p2b-word { font-size: 15px; } }
/* fixes 1: no moon behind the bell/menu (the logo carries it), readable subtitle, ribbon tail in theme, consistent logo heights on phones, promo readable */
.top-bg { background: linear-gradient(100deg, #071a22 0%, #0e3440 70%, #145061 100%) !important; }
h2.h5, .desc { font-family: var(--sans) !important; text-transform: none !important; letter-spacing: 0 !important; font-variant: normal !important; font-weight: 600; color: var(--text) !important; }
.ribbon-number-one::after, .ribbon-number-one .top1::after, .ribbon-number-one::before { border-left-color: #145061 !important; border-right-color: transparent !important; background: none !important; }
.ribbon-number-one * , .ribbon-number-one { --tail: #145061; }
.promo { font: 800 18px/1.25 var(--sans) !important; text-transform: none !important; color: #9a5b00 !important; }
@media (max-width: 767px) {
	.logo-holder img, .logo-holder span img { max-height: 52px !important; width: auto !important; max-width: 220px !important; }
	.promo { font-size: 18px !important; }
	h1.yellow { font-size: 22px !important; }
}
.ribbon-number-one::after { border-top-color: #145061 !important; border-bottom-color: #145061 !important; border-left-color: transparent !important; }

/* canvas = theme colour (phone navigation bar, overscroll) */
html { background: #0c2530 !important; }
/* review pages: gold title rule, serif sidebar name, star ticks for pros, muted crosses for cons */
.b-big, h1.left-border-yellow, .wrap-white h1 { border-color: var(--gold) !important; }
.review-right h2, .rating-box .title, .review-right .title { font-family: var(--serif); color: var(--ink); }
.ticks-good li::before { content: "✦" !important; color: var(--gold) !important; }
.ticks-bad li::before { color: #b3523a !important; }
.reviews-list span { color: var(--ink); }
.title-gray { color: #5c4a1e !important; }   /* contrast */
.p2b-ul { padding-left: 0; list-style: none; }

/* ===== bottom of the list pages: one rhythm (32px between sections), article card, FAQ accordion, disclaimer box ===== */
.p2b-bottom { padding-top: 18px; }
.p2b-sec { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 26px 30px; margin: 0 0 32px; box-shadow: 0 1px 2px rgba(7, 26, 34, .05); }
.p2b-sec h2, .p2b-h { font: 700 26px/1.25 var(--serif) !important; color: var(--ink) !important; margin: 0 0 16px !important; letter-spacing: .01em; }
.p2b-sec h2::after { content: " ✦"; color: var(--gold); font-size: .55em; vertical-align: middle; }
.p2b-sec h3 { font: 700 17px/1.3 var(--sans); color: var(--ink); margin: 22px 0 6px; padding-left: 14px; border-left: 3px solid var(--gold); }
.p2b-sec, .p2b-sec p { font-size: 15.5px; line-height: 1.7; color: var(--text); }
.p2b-faq a.faq1 { display: block; position: relative; padding: 15px 44px 15px 18px; margin: 10px 0 0; background: #fff; border: 1px solid var(--line); border-radius: 10px; color: var(--ink) !important; font-weight: 700; text-decoration: none !important; }
.p2b-faq a.faq1::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; color: var(--gold); }
.p2b-faq a.faq1[aria-expanded="true"] { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.p2b-faq a.faq1[aria-expanded="true"]::after { content: "–"; }
.p2b-faq .collapse, .p2b-faq .collapsing { background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 10px 10px; padding: 0 18px; }
.p2b-faq .collapse.show { padding: 12px 18px 16px; }
.p2b-disc { background: #f6f1e3; }
.p2b-disc p { font-size: 13.5px; color: var(--muted); margin: 0; }
.p2b-bottom + .wrap-footer, .wrap-footer { margin-top: 0; }
/* list area rhythm: title → icons → disclosure → cards */
h1.yellow { margin-bottom: 6px !important; }
.features.icons { margin: 6px 0 4px !important; }
.features.icons li { padding: 10px 24px 10px 0 !important; }
@media (max-width: 767px) {
	.p2b-sec { padding: 20px 18px; margin-bottom: 22px; border-radius: 10px; }
	.p2b-sec h2, .p2b-h { font-size: 21px !important; }
	.p2b-sec h3 { font-size: 16px; margin-top: 18px; }
	.p2b-sec, .p2b-sec p { font-size: 15px; }
	.p2b-bottom { padding-top: 10px; }
}
/* same gap everywhere: list → article → FAQ → disclaimer → footer = 32px desktop, 22px phones */
.p2b-bottom { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: -30px; }
.p2b-bottom .row.faq { padding-bottom: 0 !important; }
@media (max-width: 767px) { .p2b-bottom { margin-top: -40px; } }

/* ===== 2026-10-29 "bump it up": glass header, modern phone menu, offers panel, homepage hero ===== */
/* header */
.top-bg { position: sticky; top: 0; z-index: 1030; backdrop-filter: saturate(140%) blur(8px); -webkit-backdrop-filter: saturate(140%) blur(8px); background: linear-gradient(100deg, rgba(7, 26, 34, .96) 0%, rgba(14, 52, 64, .96) 70%, rgba(20, 80, 97, .96) 100%) !important; }
.navbar { padding-top: 6px !important; padding-bottom: 6px !important; }
.navbar-toggler { width: 44px; height: 44px; border-radius: 12px !important; border: 1px solid rgba(217, 180, 90, .55) !important; background: rgba(255, 255, 255, .08) !important; display: inline-flex; align-items: center; justify-content: center; margin-top: 2px; }
.notification-bell { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: rgba(255, 255, 255, .06); margin: 2px 8px 0 0; cursor: pointer; }
@media (max-width: 991px) {
	#navbarSupportedContent { position: fixed; left: 12px; right: 12px; top: 72px; z-index: 1040; background: #0b2a33; border: 1px solid rgba(217, 180, 90, .4); border-radius: 18px; padding: 8px 0; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); max-height: calc(100vh - 96px); overflow-y: auto; float: none !important; }
	#navbarSupportedContent::before { content: ""; position: fixed; inset: 0; z-index: -1; background: rgba(7, 26, 34, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
	#navbarSupportedContent .top-navbar { margin: 0; padding: 0; }
	#navbarSupportedContent .nav-item { padding: 0 !important; border-top: 1px solid rgba(255, 255, 255, .07); }
	#navbarSupportedContent .nav-item:first-child { border-top: 0; }
	#navbarSupportedContent .nav-link { padding: 15px 20px !important; font: 600 16px/1.2 var(--sans) !important; letter-spacing: .02em !important; text-transform: none !important; color: #eef5f3 !important; }
	#navbarSupportedContent .dropdown-toggle::after { display: none; }
	#navbarSupportedContent .dropdown-menu { display: block !important; position: static !important; float: none; background: transparent; border: 0; box-shadow: none; padding: 0 0 10px; margin: 0; }
	#navbarSupportedContent .dropdown-item { color: #c8ddd9 !important; padding: 10px 20px 10px 34px; font-size: 15px; background: transparent !important; }
	#navbarSupportedContent .dropdown-item::before { content: "✦"; color: var(--gold); font-size: 11px; margin-right: 10px; }
	#navbarSupportedContent .dropdown-item img { display: none; }
	html.p2b-menu-open, html.p2b-menu-open body { overflow: hidden; }
}
/* offers panel (bell) */
.notification-container { background: rgba(7, 26, 34, .45) !important; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.notification-container .mainwrapper { background: var(--page) !important; border-left: 2px solid var(--gold); box-shadow: -20px 0 50px rgba(0, 0, 0, .35); }
.notification-container .header { background: linear-gradient(100deg, #071a22, #145061) !important; color: var(--gold) !important; display: flex; align-items: center; justify-content: space-between; padding: 16px 18px !important; }
.notification-container .header .title { font: 700 15px/1.2 var(--serif) !important; letter-spacing: .14em; color: var(--gold) !important; text-transform: uppercase; }
.notification-container .header .title::before { content: "☾ "; }
.p2b-x { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(217, 180, 90, .6); background: rgba(255, 255, 255, .08); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.notification-container .body { padding: 14px !important; }
.p2b-offer { position: relative; display: flex; flex-direction: column; gap: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 16px; margin: 0 0 12px; text-decoration: none !important; box-shadow: 0 6px 18px rgba(7, 26, 34, .08); }
.p2b-offer::before { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(217, 180, 90, .3); border-radius: 10px; pointer-events: none; }
.p2b-offer-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.p2b-offer-top img { height: 38px; width: auto; max-width: 160px; object-fit: contain; }
.p2b-offer-score { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #1d6676, #0c2530 70%); color: #fff6dd; font: 700 15px/1 var(--serif); box-shadow: 0 0 0 2px var(--gold); }
.p2b-offer-txt { color: var(--ink); font: 700 15px/1.35 var(--sans); }
.p2b-offer .btn-offer { width: 100%; padding: 11px 0 !important; font-size: 15px; }
/* homepage hero: the zodiac wheel glowing on a night band */
.p2b-hero { max-width: none !important; background: radial-gradient(600px 320px at 50% 30%, rgba(95, 211, 192, .18), transparent 70%), linear-gradient(180deg, #0e3440 0%, #0c2530 100%); margin: 0 0 0; padding-bottom: 46px !important; position: relative; overflow: hidden; }
.p2b-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(1.5px 1.5px at 12% 30%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 22% 72%, #ffe9b0 50%, transparent 51%), radial-gradient(1.6px 1.6px at 80% 22%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 90% 64%, #fff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 66% 82%, #ffe9b0 50%, transparent 51%); }
.p2b-hero .row { position: relative; max-width: 1110px; margin: 0 auto; }
.p2b-wheel { width: 230px; height: auto; filter: drop-shadow(0 0 28px rgba(217, 180, 90, .45)); animation: p2b-spin 120s linear infinite; }
@keyframes p2b-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .p2b-wheel { animation: none; } }
.p2b-hero h1, .p2b-hero h1.h2 { color: #fff !important; font-size: 34px; margin-top: 18px !important; }
.p2b-hero h1 .date-month-year { color: var(--gold) !important; }
.p2b-hero h2.h5 { color: #cfe3df !important; font-weight: 500 !important; max-width: 640px; margin: 10px auto 0 !important; line-height: 1.5; }
.p2b-hero .btn-visit { margin-top: 22px !important; padding: 14px 34px !important; font-size: 17px; border-radius: 12px !important; }
@media (max-width: 767px) { .p2b-wheel { width: 170px; } .p2b-hero h1, .p2b-hero h1.h2 { font-size: 25px; } .p2b-hero h2.h5 { font-size: 15px; } .p2b-hero { padding-bottom: 32px !important; } }
/* homepage offer cards + review tiles: modern cards */
.homepage-cards .card { border-radius: 16px !important; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.homepage-cards .card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(7, 26, 34, .14); }
.reviews-list { border-radius: 0; transition: background .15s; }
/* fix: a backdrop-filter on the header made it the containing block of the fixed menu (menu clipped, blur only over the header) */
.top-bg { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: linear-gradient(100deg, #071a22 0%, #0e3440 70%, #145061 100%) !important; }
@media (max-width: 991px) { #navbarSupportedContent { width: auto !important; flex-basis: auto !important; } }
.notification-bell { position: relative; }
.notification-bell .badge, .notification-bell span { position: absolute; top: 4px; right: 4px; }
@media (max-width: 991px) { #navbarSupportedContent .nav-link, #navbarSupportedContent .nav-item, #navbarSupportedContent .dropdown-menu { border-bottom: 0 !important; border-left: 0 !important; border-right: 0 !important; } #navbarSupportedContent .nav-item { border-top: 1px solid rgba(255, 255, 255, .08) !important; } #navbarSupportedContent .nav-item:first-child { border-top: 0 !important; } }
.notification-container .mainwrapper { min-height: 100vh; }

/* ===== advertiser disclosure popup ===== */
button.disclosure { background: none; border: 0; padding: 0; cursor: pointer; font: 600 11.5px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--muted) !important; text-decoration: none !important; }
button.disclosure:hover { color: var(--teal-d) !important; }
button.disclosure::before { content: "ⓘ "; color: var(--gold); }
.p2b-dlg { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(7, 26, 34, 0); backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); transition: background .22s, backdrop-filter .22s; }
.p2b-dlg[hidden] { display: none; }
.p2b-dlg.on { background: rgba(7, 26, 34, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.p2b-dlg-card { position: relative; width: 100%; max-width: 560px; max-height: 86vh; overflow-y: auto; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 30px 30px 24px; box-shadow: 0 30px 80px rgba(0, 0, 0, .4); transform: translateY(18px) scale(.98); opacity: 0; transition: transform .22s ease-out, opacity .22s; }
.p2b-dlg.on .p2b-dlg-card { transform: none; opacity: 1; }
.p2b-dlg-card::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(217, 180, 90, .4); border-radius: 13px; pointer-events: none; }
.p2b-dlg-moon { width: 46px; height: 46px; margin: 0 auto 10px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #1d6676, #0c2530 70%); color: #fff4d6; font-size: 22px; box-shadow: 0 0 0 2px var(--gold); }
.p2b-dlg-card h2 { text-align: center; font: 700 22px/1.25 var(--serif) !important; color: var(--ink) !important; margin: 0 0 14px !important; }
.p2b-dlg-c { font-size: 14.5px; line-height: 1.7; color: var(--text); margin: 0 0 20px; }
.p2b-dlg-x { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); font-size: 22px; line-height: 1; cursor: pointer; z-index: 1; }
.p2b-dlg-ok { display: block; width: 100%; padding: 13px 0 !important; font-size: 16px; }
@media (max-width: 767px) {
	.p2b-dlg { align-items: flex-end; padding: 0; }
	.p2b-dlg-card { max-width: none; border-radius: 22px 22px 0 0; padding: 14px 20px calc(20px + env(safe-area-inset-bottom)); transform: translateY(100%); }
	.p2b-dlg-card::before { border-radius: 18px 18px 0 0; bottom: -10px; }
	.p2b-dlg-card::after { content: ""; position: absolute; top: 8px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 3px; background: #d7dbe2; }
	.p2b-dlg-moon { margin-top: 12px; }
}
@media (prefers-reduced-motion: reduce) { .p2b-dlg, .p2b-dlg-card { transition: none; } }

/* ===== owner fixes 2026-10-29 (2) ===== */
/* bell: one round button, small red badge on its corner */
.notification-bell { width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .08) !important; border: 1px solid rgba(217, 180, 90, .45); box-shadow: none !important; margin: 3px 10px 0 0 !important; }
.notification-bell svg { width: 20px !important; height: 20px !important; fill: var(--gold) !important; }
.notification-bell .badge { position: absolute !important; top: -3px !important; right: -3px !important; left: auto !important; min-width: 18px; height: 18px; padding: 0 5px !important; border-radius: 9px !important; font: 700 11px/18px var(--sans) !important; background: #e2463b !important; color: #fff !important; border: 2px solid #0c2530; box-shadow: none !important; margin: 0 !important; width: auto !important; }
/* "Best overall": a clean gold-edged label on the card's top edge (no ribbon tail) */
.ribbon-number-one { left: 18px !important; top: -12px !important; }
.ribbon-number-one::after, .ribbon-number-one::before { display: none !important; }
.ribbon-number-one .top1 { display: inline-block; padding: 6px 12px 5px !important; border-radius: 6px !important; background: #0c2530 !important; border: 1px solid var(--gold) !important; color: var(--gold) !important; font: 700 10.5px/1 var(--serif) !important; letter-spacing: .16em !important; box-shadow: 0 4px 12px rgba(7, 26, 34, .2); }
.ribbon-number-one .top1::before { content: "☾ "; }
/* icon row: three calm chips with gold stars instead of the coloured clip-art */
.features.icons { display: flex !important; flex-wrap: wrap; gap: 8px; list-style: none; margin: 10px 0 6px !important; padding: 0 !important; }
.features.icons li { display: inline-flex !important; align-items: center; gap: 8px; padding: 7px 14px !important; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font: 600 13px/1.2 var(--sans); color: var(--ink); }
.features.icons li img { display: none !important; }
.features.icons li::before { content: "✦"; color: var(--gold); font-size: 12px; }
.features.icons li span { margin: 0 !important; }
/* title + description: description on desktop only */
h1.yellow { margin-bottom: 4px !important; }
.desc { max-width: 760px; font: 400 15.5px/1.55 var(--sans) !important; color: var(--text) !important; margin: 6px 0 0 !important; }
@media (max-width: 767px) { .desc { display: none !important; } }
/* offers panel: compact cards, every logo the same height */
.p2b-offer { padding: 12px 14px !important; gap: 8px !important; margin-bottom: 10px !important; }
.p2b-offer-top { min-height: 40px; }
.p2b-offer-top img { height: 28px !important; width: auto !important; max-width: 140px !important; object-fit: contain; object-position: left center; }
.p2b-offer-score { width: 36px !important; height: 36px !important; font-size: 13px !important; }
.p2b-offer-txt { font-size: 14px !important; line-height: 1.35; }
.p2b-offer .btn-offer { padding: 8px 0 !important; font-size: 14px !important; min-height: 0; }
.notification-container .header { padding: 12px 16px !important; }
.notification-container .header .title { font-size: 13px !important; }
/* the shared style.css sets .disclosure:hover to 10px bold underlined – keep one size in every state */
button.disclosure, button.disclosure:hover, button.disclosure:focus, .disclosure, .disclosure:hover { font: 600 11.5px/1 var(--sans) !important; letter-spacing: .12em !important; text-decoration: none !important; text-transform: uppercase !important; }
/* list logos: one visual size – every logo fits the same 190×46 box (desktop) / 170×40 (phones), so tall marks like Keen don't dominate */
.logo-holder span { display: flex; align-items: center; justify-content: center; height: 56px; }
.logo-holder img { width: auto !important; height: auto !important; max-width: 190px !important; max-height: 46px !important; object-fit: contain; }
@media (max-width: 767px) { .logo-holder span { height: 48px; } .logo-holder img, .logo-holder span img { max-width: 170px !important; max-height: 40px !important; } }
.homepage-cards .card-header img, .reviews-list img { max-height: 44px !important; width: auto !important; max-width: 180px !important; }
/* bell bigger (owner 2026-10-29) */
.notification-bell { width: 46px !important; height: 46px !important; }
.notification-bell svg { width: 26px !important; height: 26px !important; }
/* offers panel: header with the title left and a proper round close button inside it (it was cut off at the edge) */
.notification-container .header { position: relative; display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 12px 18px !important; min-height: 60px; }
.notification-container .header .title { flex: 1; text-align: left; margin: 0 !important; }
.notification-container .p2b-x, .notification-container .btn-close-notification-container-icon { position: static !important; flex: 0 0 auto; width: 38px !important; height: 38px !important; margin: 0 !important; padding: 0 !important; display: inline-flex !important; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid rgba(217, 180, 90, .7); background: rgba(255, 255, 255, .1); color: #fff !important; font: 400 24px/1 var(--sans); cursor: pointer; transform: none !important; right: auto !important; top: auto !important; }
.notification-container .p2b-x:hover { background: rgba(217, 180, 90, .25); }
/* phone menu: the backdrop is a page-level layer under the panel (the panel stays sharp, everything else – header included – is blurred) */
@media (max-width: 991px) {
	#navbarSupportedContent::before { content: none !important; }
	html.p2b-menu-open .top-bg { position: static !important; z-index: auto !important; }
	html.p2b-menu-open body::after { content: ""; position: fixed; inset: 0; z-index: 1035; background: rgba(7, 26, 34, .45); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
	html.p2b-menu-open #navbarSupportedContent { z-index: 1040; }
	html.p2b-menu-open .navbar-toggler { position: relative; z-index: 1041; }
}
/* header scrolls with the page (owner 2026-10-29); bell badge = small circle on the corner */
.top-bg { position: relative !important; top: auto !important; }
.notification-bell .badge, .notification-bell span.badge { width: 20px !important; height: 20px !important; min-width: 0 !important; padding: 0 !important; border-radius: 50% !important; display: grid !important; place-items: center; font: 700 11px/1 var(--sans) !important; top: -4px !important; right: -4px !important; }
/* close button in the offers panel: gold disc with a dark × – visible on the dark header */
.notification-container .p2b-x, .notification-container .btn-close-notification-container-icon { background: var(--gold) !important; border: 0 !important; color: #0c2530 !important; font-weight: 700 !important; filter: none !important; opacity: 1 !important; box-shadow: 0 2px 8px rgba(0, 0, 0, .35); }
.notification-container .p2b-x:hover { background: #f0d48a !important; }
/* buttons: warm crimson (complementary to the teal night = stands out most; owner: green had low CTR) */
.btn-visit, .btn-green, .btn-offer, .p2b-disc-ok, .p2b-dlg-ok { background: linear-gradient(180deg, #ef3b4f 0%, #c81d34 100%) !important; color: #fff !important; box-shadow: 0 8px 18px rgba(200, 29, 52, .32), inset 0 0 0 1px rgba(255, 210, 150, .35) !important; }
.btn-visit:hover, .btn-green:hover, .btn-offer:hover, a.list:hover .btn-visit, .card:hover .btn-visit, .p2b-offer:hover .btn-offer { background: linear-gradient(180deg, #e02e43 0%, #a8162b 100%) !important; }

/* ===== exit offer card (desktop centred, phones bottom sheet) ===== */
.p2b-exit .modal-dialog { max-width: 430px; }
.p2b-exit-card { position: relative; border: 1px solid var(--line) !important; border-radius: 20px !important; background: var(--paper) !important; padding: 30px 26px 22px !important; text-align: center; box-shadow: 0 30px 80px rgba(0, 0, 0, .45) !important; overflow: hidden; }
.p2b-exit-card::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(217, 180, 90, .45); border-radius: 15px; pointer-events: none; }
.p2b-exit-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, #0c2530, var(--gold), #0c2530); }
.p2b-exit-x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: #0c2530; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; z-index: 2; }
.p2b-exit-k { font: 700 12px/1.2 var(--serif) !important; letter-spacing: .16em; text-transform: uppercase; color: #9a6b13 !important; margin: 0 40px 14px !important; background: none !important; }
.p2b-exit-logo { display: flex; justify-content: center; align-items: center; height: 56px; margin-bottom: 8px; }
.p2b-exit-logo img { max-height: 48px; max-width: 220px; width: auto; height: auto; object-fit: contain; }
.p2b-exit-h { font: 800 25px/1.2 var(--sans); color: #c81d34; margin: 4px 0 8px; }
.p2b-exit-score { font-size: 13.5px; color: var(--muted); margin-bottom: 14px; } .p2b-exit-score b { color: var(--ink); font-size: 16px; }
.p2b-exit-list { list-style: none; text-align: left; margin: 0 auto 18px; padding: 0; max-width: 330px; }
.p2b-exit-list li { position: relative; padding-left: 24px; margin: 7px 0; font-size: 14.5px; line-height: 1.4; color: var(--text); }
.p2b-exit-list li::before { content: "✦"; position: absolute; left: 2px; top: 0; color: var(--gold); }
.p2b-exit-btn { display: block !important; width: 100%; padding: 14px 0 !important; font-size: 17px !important; border-radius: 12px !important; }
.p2b-exit-foot { margin-top: 12px; font-size: 12.5px; color: var(--muted); } .p2b-exit-foot a { color: var(--muted) !important; }
.p2b-exit-no { border: 0; background: none; color: var(--muted); text-decoration: underline; cursor: pointer; padding: 0; font-size: 12.5px; }
@media (max-width: 767px) {
	.p2b-exit .modal-dialog { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; max-width: none; min-height: 0; align-items: flex-end; }
	.p2b-exit.fade .modal-dialog { transform: translateY(40px); } .p2b-exit.show .modal-dialog { transform: none; }
	.p2b-exit-card { border-radius: 22px 22px 0 0 !important; padding: 26px 20px calc(18px + env(safe-area-inset-bottom)) !important; }
	.p2b-exit-card::before { border-radius: 18px 18px 0 0; bottom: -10px; }
	.p2b-exit-h { font-size: 22px; }
}
