/**
 * Casino hub — authored styles (the static export lacked rules for the listing,
 * share block and FAQ chevrons; these classes exist in the markup but were never
 * shipped). Scoped to .casino-body where a class is generic.
 */

/* ---------------------------------------------------------------------------
 * Article header (template-generated) + share block
 * ------------------------------------------------------------------------ */
.casino-body .article-header { margin: 8px 0 22px; }
.casino-body .article-header__title.is-large {
	font-size: clamp(26px, 4vw, 40px);
	line-height: 1.15;
	color: #2a1533;
	margin: 4px 0 10px;
}
.casino-body .article-header__subtitle { color: #6b6b6b; font-size: 16px; margin-bottom: 8px; }
.casino-body .article-header__meta-descr {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px;
	color: #8a8a8a; font-size: 13px; margin: 0 0 12px;
}
.casino-body .article-header__logo { color: #6A327F; font-weight: 600; text-decoration: none; }

/* Share links — simple horizontal row, generous spacing. */
.casino-body .article__share-links { display: flex; align-items: center; gap: 14px; margin: 18px 0 6px; flex-wrap: wrap; }
.casino-body .article__share-links .icon {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	height: 40px; padding: 0 18px; border-radius: 10px; box-sizing: border-box;
	font-size: 14px; font-weight: 600; line-height: 1; text-decoration: none;
	border: 1px solid #e3dcea; color: #3a3143; background: #fff; cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.casino-body .article__share-links .icon i { font-size: 16px; }
.casino-body .article__share-links .whatsapp { width: 44px; padding: 0; color: #fff; background: #25D366; border-color: #25D366; }
.casino-body .article__share-links .whatsapp:hover { filter: brightness(1.05); }
.casino-body .m-share-dropdown { position: relative; display: inline-flex; }
.casino-body .dropdown-btn.icon { color: #6A327F; border-color: #dcccE6; background: #f7f2fa; }
.casino-body .dropdown-btn.icon:hover { background: #efe6f4; }
.casino-body .m-share-dropdown .dropdown-content {
	display: none; position: absolute; top: calc(100% + 8px); left: 0; z-index: 30;
	min-width: 190px; background: #fff; border: 1px solid #e6e0ec; border-radius: 12px;
	padding: 7px; box-shadow: 0 10px 28px rgba(20,10,30,.16);
}
.casino-body .m-share-dropdown:hover .dropdown-content,
.casino-body .m-share-dropdown:focus-within .dropdown-content { display: block; }
.casino-body .dropdown-content__item {
	display: flex; align-items: center; gap: 11px; padding: 10px 14px; border-radius: 8px;
	color: #333; text-decoration: none; font-size: 14px;
}
.casino-body .dropdown-content__item i { width: 18px; text-align: center; color: #6A327F; }
.casino-body .dropdown-content__item:hover { background: #f5f0f8; color: #6A327F; }

/* ---------------------------------------------------------------------------
 * Casino listing ([casino_list] → content__popular-bk-main) — ranked toplist
 * ------------------------------------------------------------------------ */
.casino-body .card__items { margin: 28px 0 38px; }
.casino-body .card__item { counter-reset: casino-rank; display: flex; flex-direction: column; gap: 14px; }

.casino-body .content__popular-bk-main__item {
	counter-increment: casino-rank;
	position: relative;
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr) minmax(150px, 220px) 180px;
	align-items: center;
	column-gap: 24px;
	row-gap: 12px;
	background: #fff;
	border: 1px solid #eae3ef;
	border-radius: 16px;
	padding: 20px 24px 20px 22px;
	box-shadow: 0 3px 14px rgba(30,15,45,.06);
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
	overflow: hidden;
}
.casino-body .content__popular-bk-main__item::after {
	content: "#" counter(casino-rank);
	position: absolute; top: 0; left: 0;
	background: #6A327F; color: #fff;
	font-size: 12px; font-weight: 800; letter-spacing: .5px;
	padding: 4px 12px 5px; border-radius: 0 0 12px 0;
}
.casino-body .content__popular-bk-main__item:hover {
	box-shadow: 0 10px 28px rgba(106,50,127,.16);
	border-color: #d9c9e3;
	transform: translateY(-2px);
}
/* #1 highlighted */
.casino-body .card__item .content__popular-bk-main__item:first-child {
	border: 2px solid #6A327F;
	box-shadow: 0 8px 26px rgba(106,50,127,.18);
}

/* Logo + name/rating cluster */
.casino-body .content__popular-bk-main__wrap__title { display: flex; align-items: center; gap: 18px; min-width: 0; }
.casino-body .content__popular-bk__link {
	flex: 0 0 96px; display: inline-flex; align-items: center; justify-content: center;
	width: 96px; height: 96px; border-radius: 12px; background: #f7f4fa; padding: 8px;
}
.casino-body .content__popular-bk__link img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.casino-body .content__popular-bk-main__title { min-width: 0; }
.casino-body .content__popular-bk-main__title p { margin: 0 0 6px; }
.casino-body .popular-bk__title { color: #241030; font-weight: 800; font-size: 19px; line-height: 1.2; text-decoration: none; }
.casino-body a.popular-bk__title:hover { color: #6A327F; }
.casino-body .content__popular-bk__rating { display: flex; align-items: center; gap: 8px; }
.casino-body .content__popular-bk__rating .grey__text {
	margin: 0; font-weight: 800; color: #6A327F; font-size: 14px;
	background: #f1e9f5; padding: 2px 8px; border-radius: 6px;
}
.casino-body .content__popular-bk__rating--stars { display: inline-flex; gap: 2px; }
.casino-body .content__popular-bk__rating--stars img { width: 15px; height: 15px; }

/* Bonus */
.casino-body .content__popular-bk-main__text { text-align: center; }
.casino-body .content__popular-bk-main__text p { margin: 0; }
.casino-body .content__popular-bk-main__text .popular-bk__title {
	font-size: 15px; font-weight: 700; color: #3a1b46; line-height: 1.35; display: block;
}
.casino-body .content__popular-bk-main__text__descr { color: #6b6b6b; font-size: 13px; margin-top: 5px; }
.casino-body .content__popular-bk-main__text__descr:empty { display: none; }

/* CTA column */
.casino-body .content__popular-bk-main__right { display: flex; flex-direction: column; gap: 10px; }
.casino-body .content__popular-bk-main__btn a {
	display: block; text-align: center;
	background: linear-gradient(135deg, #7a3a92 0%, #6A327F 100%);
	color: #fff; font-weight: 800; letter-spacing: .4px; text-transform: uppercase;
	font-size: 14px; padding: 14px 20px; border-radius: 10px; text-decoration: none;
	box-shadow: 0 6px 16px rgba(106,50,127,.32);
	transition: filter .15s ease, transform .15s ease;
}
.casino-body .content__popular-bk-main__btn a:hover { filter: brightness(1.09); transform: translateY(-1px); }
.casino-body .content__popular-bk-main__link a {
	display: block; text-align: center; color: #6A327F; font-weight: 600;
	font-size: 13px; text-decoration: none;
}
.casino-body .content__popular-bk-main__link a:hover { text-decoration: underline; }

@media (max-width: 900px) {
	.casino-body .content__popular-bk-main__item { grid-template-columns: 100px minmax(0,1fr) 170px; }
	.casino-body .content__popular-bk-main__text { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 620px) {
	.casino-body .content__popular-bk-main__item { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-top: 28px; }
	.casino-body .content__popular-bk-main__wrap__title { flex-direction: column; text-align: center; }
	.casino-body .content__popular-bk-main__text { grid-column: auto; text-align: center; }
	.casino-body .content__popular-bk-main__right { width: 100%; max-width: 280px; }
}

/* ---------------------------------------------------------------------------
 * FAQ accordion polish (base rules are in casino.css)
 * ------------------------------------------------------------------------ */
#faq-block { max-width: 100%; margin: 34px 0; background: #fff; }
.faq-question { position: relative; padding-right: 30px; }
.faq-question h3 { margin: 0; font-size: 16px; }
.faq-question::after {
	content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900;
	position: absolute; right: 2px; top: 3px; font-size: 12px; color: #6A327F;
	transition: transform .25s ease;
}
.faq-item.open .faq-question::after { transform: rotate(180deg); }
.faq-answer { padding-top: 4px; line-height: 1.65; }
.faq-answer p { margin: 0 0 8px; }
.faq-answer p:last-child { margin-bottom: 0; }

/* ---------------------------------------------------------------------------
 * Author box (static bio at the end of the body — was sticking to the FAQ)
 * ------------------------------------------------------------------------ */
.casino-body .author-box {
	margin-top: 46px; padding: 22px 24px;
	background: #faf8fc; border: 1px solid #ece7f0; border-radius: 14px;
}
.casino-body .author-header { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.casino-body .author-avatar img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.casino-body .author-info { font-weight: 700; color: #2a1533; }
.casino-body .author-description { color: #4a4a4a; font-size: 14px; line-height: 1.7; margin: 0; }

/* ---------------------------------------------------------------------------
 * Header: desktop dropdown + language switcher
 * ------------------------------------------------------------------------ */
.casino-lang-switch { position: relative; margin-left: auto; }
.casino-lang-switch__toggle {
	display: inline-flex; align-items: center; gap: 9px; cursor: pointer;
	background: #6A327F; color: #fff; border: 1px solid #6A327F;
	border-radius: 9px; padding: 8px 14px; font: inherit; font-size: 13px; font-weight: 700;
	line-height: 1.2; box-shadow: 0 3px 10px rgba(106,50,127,.22);
	transition: background .15s, box-shadow .15s;
}
.casino-lang-switch__toggle:hover { background: #57296a; }
.casino-lang-switch__toggle .fa-chevron-down { font-size: 10px; opacity: .85; transition: transform .2s; }
.casino-lang-switch.is-open .casino-lang-switch__toggle .fa-chevron-down { transform: rotate(180deg); }
.casino-lang-switch__flag { font-size: 18px; line-height: 1; }
.casino-lang-switch__menu {
	display: none; position: absolute; top: 100%; right: 0; z-index: 60; margin: 8px 0 0;
	min-width: 210px; background: #fff; border: 1px solid #e6e0ec; border-radius: 12px;
	padding: 7px; list-style: none; box-shadow: 0 12px 30px rgba(30,15,45,.2);
}
.casino-lang-switch.is-open .casino-lang-switch__menu { display: block; }
.casino-lang-switch__menu li { margin: 0; }
.casino-lang-switch__menu a {
	display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 8px;
	color: #3a2545; text-decoration: none; font-size: 14px; font-weight: 600;
}
.casino-lang-switch__menu a:hover { background: #f5eef9; color: #6A327F; }
.casino-lang-switch__menu a.is-active { color: #fff; background: #6A327F; }
.casino-lang-switch__menu .casino-lang-switch__name { white-space: nowrap; }

@media (max-width: 991px) {
	.oc-head-row__right .casino-lang-switch { display: none; }
	.mob-menu .casino-lang-switch { margin: 16px 0 6px; }
	.mob-menu .casino-lang-switch__menu { position: static; box-shadow: none; border-color: #e6e0ec; margin-top: 8px; }
}

/* Dropdown for a wp_nav_menu-built header menu (.sub-menu markup). */
.theme-header__menu .main-nav .menu-item-has-children { position: relative; }
.theme-header__menu .main-nav .sub-menu {
	display: none; position: absolute; top: 100%; left: 0; z-index: 40;
	min-width: 220px; background: #fff; border: 1px solid #e6e0ec; border-radius: 8px;
	padding: 6px 0; box-shadow: 0 8px 26px rgba(20,10,30,.14); list-style: none; margin: 0;
}
.theme-header__menu .main-nav .menu-item-has-children:hover > .sub-menu { display: block; }
.theme-header__menu .main-nav .sub-menu li a { display: block; padding: 9px 16px; color: #333; text-decoration: none; }
.theme-header__menu .main-nav .sub-menu li a:hover { background: #f5f0f8; color: #6A327F; }

/* ===========================================================================
 * Casino offers listing — the "casino-offer" reference layout, recoloured to
 * the site palette. Renderer outputs this exact markup (offers-grid >
 * casino-offer-item). Ranking number via CSS counter.
 * ======================================================================== */
.casino-body .casino-offers-section {
	--co-frame:#2a1339; --co-panel:#2b2733; --co-badge:#1c1226;
	--co-accent:#7c74ff; --co-accent-dark:#5b52e0; --co-star:#ffc107; --co-border:#4a4458;
	margin:26px 0 36px;
}
.casino-body .casino-list-title { font-size:22px; font-weight:700; margin:0 0 18px; color:#241030; line-height:1.3; }

.casino-body .offers-grid { display:flex; flex-direction:column; counter-reset:casino-counter 0; gap:8px; }

.casino-body .casino-offer-item {
	position:relative; display:grid; align-items:center; padding-left:46px; counter-increment:casino-counter 1;
	border-radius:4px; background:var(--co-frame); box-shadow:0 1px 2px rgba(0,0,0,.24), 0 4px 16px rgba(0,0,0,.36);
	gap:14px; grid-template-areas:'logo rating main'; grid-template-columns:150px 148px auto; grid-template-rows:1fr;
	transition:transform .2s, box-shadow .2s; overflow:hidden;
}
.casino-body .casino-offer-item:hover { transform:translateY(-2px); box-shadow:0 4px 8px rgba(0,0,0,.3), 0 8px 20px rgba(0,0,0,.4); }
.casino-body .casino-offer-item::before {
	font-size:12px; font-weight:700; line-height:22px; position:absolute; left:0; display:flex; align-items:center;
	justify-content:center; width:30px; height:100%; content:counter(casino-counter); color:#fff;
	border-radius:4px 2px 2px 4px; background:var(--co-badge);
}

/* Logo — white chip so any brand mark reads on the dark bar. */
.casino-body .casino-brand-logo { display:flex; align-items:center; justify-content:center; grid-area:logo; margin:6px 0 6px 6px; background:#fff; border-radius:6px; text-decoration:none; padding:8px 12px; }
.casino-body .casino-offer-item .casino-brand-logo img { width:auto; height:auto; max-width:126px; max-height:58px; object-fit:contain; margin:0 !important; border-radius:0; }
.casino-body .casino-brand-logo__txt { color:#241030; font-weight:800; font-size:15px; text-align:center; padding:0 8px; }

/* Score + stars + name. */
.casino-body .casino-score-block { display:flex; align-items:center; gap:12px; grid-area:rating; }
.casino-body .score-value {
	font-size:16px; font-weight:700; line-height:22px; display:flex; align-items:center; justify-content:center;
	width:40px; min-width:40px; height:40px; text-align:center; color:#fff; border:2px solid var(--co-border);
	border-radius:3px; background:var(--co-panel);
}
.casino-body .score-details { display:flex; flex-direction:column; gap:4px; min-width:0; }
.casino-body .star-rating-visual { display:inline-flex; }
.casino-body .star-rating-visual .stars {
	display:inline-block; width:80px; height:15px;
	background:linear-gradient(90deg, var(--co-star) var(--fill,100%), rgba(255,255,255,.25) var(--fill,100%));
	-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.784 1.401 8.169L12 18.896l-7.335 3.867 1.401-8.169L.132 8.21l8.2-1.192z'/%3E%3C/svg%3E") 0 0/16px 15px repeat-x;
	        mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 .587l3.668 7.431 8.2 1.192-5.934 5.784 1.401 8.169L12 18.896l-7.335 3.867 1.401-8.169L.132 8.21l8.2-1.192z'/%3E%3C/svg%3E") 0 0/16px 15px repeat-x;
}
.casino-body .casino-brand-title { font-size:12px; font-weight:400; line-height:16px; color:#fff; }

/* Content panel: bonus + features + Claim button. */
.casino-body .casino-offer-content {
	display:flex; align-items:center; justify-content:space-between; margin:6px; padding:10px 16px;
	background:var(--co-panel); gap:18px; grid-area:main; border-radius:4px;
}
.casino-body .bonus-description { font-size:14px; font-weight:700; line-height:18px; color:#fff; flex:0 0 160px; }
.casino-body .casino-features { list-style:none; padding:0; margin:0; font-size:11.5px; line-height:1.35; color:#fff; flex:1 1 auto; min-width:0; }
.casino-body .casino-features li { padding:1px 0 1px 15px; position:relative; border:none; }
.casino-body .casino-features li::marker { content:""; }
.casino-body .casino-features li::before { content:"\2713"; position:absolute; left:0; color:#4caf50; font-weight:bold; font-size:12px; }

.casino-body .claim-bonus-button {
	font-size:14px; font-weight:800; line-height:16px; display:flex; align-items:center; justify-content:center;
	width:200px; min-width:200px; height:38px; flex-shrink:0; text-align:center; color:#fff !important;
	border-radius:8px; background:var(--co-accent); text-decoration:none !important; transition:background .3s;
}
.casino-body .claim-bonus-button:hover { background:var(--co-accent-dark); }
.casino-body .claim-bonus-button::before {
	width:20px; height:20px; margin-right:8px; content:''; flex:0 0 auto;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21' viewBox='0 0 21 21'%3E%3Cpath d='M11.46 1.9 3.12 11.9h7.5l-.83 6.67 8.33-10h-7.5z' fill='white'/%3E%3C/svg%3E") no-repeat center/contain;
}

@media (max-width:991px) {
	.casino-body .offers-grid { gap:16px; }
	.casino-body .casino-offer-item { padding-top:8px; padding-left:0; gap:8px 16px; grid-template-areas:'logo rating' 'main main'; grid-template-columns:176px auto; }
	.casino-body .casino-offer-item::before { top:0; width:30px; height:22px; border-radius:4px 2px 2px; }
	.casino-body .casino-brand-logo { margin:8px 0 8px 34px; }
	.casino-body .casino-offer-item .casino-brand-logo img { max-width:132px; max-height:62px; }
	.casino-body .casino-offer-content { flex-direction:column; align-items:center; margin:8px; padding:16px; gap:12px; }
	.casino-body .bonus-description { font-size:16px; line-height:20px; flex:none; width:100%; text-align:center; }
	.casino-body .casino-features { font-size:12px; width:100%; }
	.casino-body .casino-features li { text-align:left; }
	.casino-body .claim-bonus-button { width:100%; max-width:320px; min-width:auto; }
	.casino-body .casino-score-block { gap:12px; }
	.casino-body .score-value { font-size:16px; width:34px; min-width:34px; height:34px; }
	.casino-body .casino-brand-title { font-size:10px; }
}
@media (max-width:599px) {
	.casino-body .claim-bonus-button { font-size:15px; height:42px; width:100%; max-width:100%; min-width:auto; }
	.casino-body .casino-offer-content { padding:12px; gap:10px; }
	.casino-body .bonus-description { font-size:15px; line-height:19px; }
	.casino-body .casino-features { font-size:11px; }
}


/* ---- Auto TOC (Contents) ---- */
.casino-body .article-toc-nav { margin:22px 0; }
.casino-body .article-toc { border:1px solid #e6dced; border-radius:12px; background:#faf8fc; padding:4px 18px; }
.casino-body .article-toc__summary { cursor:pointer; font-weight:700; color:#241030; padding:12px 0; font-size:15px; list-style:none; }
.casino-body .article-toc__summary::-webkit-details-marker { display:none; }
.casino-body .article-toc__summary::before { content:"\f0ca"; font-family:"Font Awesome 6 Free"; font-weight:900; color:#6A327F; margin-right:9px; font-size:13px; }
.casino-body .article-toc__list { margin:0 0 14px; padding-left:20px; columns:2; column-gap:28px; }
.casino-body .article-toc__item { margin:6px 0; break-inside:avoid; }
.casino-body .article-toc__link { color:#5b52e0; text-decoration:none; font-size:13.5px; line-height:1.4; }
.casino-body .article-toc__link:hover { text-decoration:underline; }
.casino-body .l-main h2[id] { scroll-margin-top:90px; }
@media (max-width:640px){ .casino-body .article-toc__list { columns:1; } }

/* ---- Author box (rendered from author data) ---- */
.casino-body .author-box { margin:36px 0 10px; border:1px solid #eaeaea; border-radius:16px; padding:22px; background:#f7f7f7; }
.casino-body .author-header { display:flex; gap:16px; align-items:center; }
.casino-body .author-avatar { flex:0 0 auto; }
.casino-body .author-avatar img { width:72px; height:72px; border-radius:50%; object-fit:cover; display:block; }
.casino-body .author-info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.casino-body .author-name { font-size:18px; font-weight:700; color:#1a1a1a; text-decoration:none; }
.casino-body .author-name:hover { text-decoration:underline; }
.casino-body .author-title { font-size:13px; color:#5b52e0; font-weight:600; margin:0; }
.casino-body .author-social { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#0a66c2; color:#fff; margin-top:4px; font-size:13px; text-decoration:none; }
.casino-body .author-social:hover { filter:brightness(1.08); }
.casino-body .author-description { font-size:14.5px; line-height:1.65; color:#444; margin:14px 0 0; }
.casino-body .author-description p { margin:0 0 10px; }
.casino-body .author-description p:last-child { margin:0; }
@media (max-width:600px){
	.casino-body .author-box { padding:18px; }
	.casino-body .author-header { flex-direction:column; align-items:center; text-align:center; }
	.casino-body .author-info { align-items:center; }
	.casino-body .author-description { text-align:left; }
}

/* ===========================================================================
 * ys-popup — sticky featured offer
 * ======================================================================== */
.ys-popup {
	--yc-frame:#2a1339; --yc-accent:#7c74ff; --yc-accent-dark:#5b52e0; --yc-star:#ffc107;
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; width: 100%;
	box-shadow: 0 -6px 30px rgba(20,10,30,.4);
	transform: translateY(110%); opacity: 0; transition: transform .35s ease, opacity .35s ease;
}
.ys-popup.is-visible { transform: translateY(0); opacity: 1; }
.ys-popup, .ys-popup * { box-sizing: border-box; }
.ys-popup__inner {
	position: relative; display: flex; align-items: center; gap: 16px; text-decoration: none; color: #fff;
	max-width: 1200px; margin: 0 auto; padding: 12px 60px 12px 20px;
	background: var(--ys-bg, linear-gradient(90deg, var(--yc-frame), #3a1c4d));
}
.ys-popup__logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	background: #F47C2B;
	border-radius: 10px;
	overflow: hidden;
}
.ys-popup__logo--transparent { background: transparent !important; }
.ys-popup__logo img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	object-position: center;
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin: 0 auto;
}
.ys-popup__content { flex: 1 1 auto; min-width: 0; color: inherit; display: flex; flex-direction: column; gap: 2px; }
.ys-popup__row { display: flex; align-items: center; gap: 12px; }
.ys-popup__brand { font-weight: 800; font-size: 16px; color: #fff; }
.ys-popup__rating {
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	color: #2a1533;
	background: #eee5f4;
	padding: 2px 8px;
	border-radius: 999px;
}
.ys-popup__star { color: var(--yc-star); }
.ys-popup__desc { margin: 0; font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.3; }
.ys-popup__bonus { font-size: 14px; font-weight: 800; color: #fff; }
.ys-popup__btn {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	background: var(--yc-accent); color: #fff; font-weight: 800; font-size: 14px; text-transform: uppercase;
	letter-spacing: .3px; padding: 11px 26px; border-radius: 8px; white-space: nowrap; min-width: 160px; text-align: center;
	transition: background .2s;
}
.ys-popup__inner:hover .ys-popup__btn { background: var(--yc-accent-dark); }
.ys-popup__close { position: absolute; top: 8px; right: 12px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(0,0,0,.35); color: #fff; font-size: 17px; line-height: 1; cursor: pointer; z-index: 2; }
.ys-popup__close:hover { background: rgba(0,0,0,.55); }

@media (max-width: 700px) {
	.ys-popup__inner { flex-wrap: wrap; align-items: center; gap: 8px 12px; max-width: 100%; padding: 10px 42px 10px 14px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
	.ys-popup__logo { width: 48px; height: 48px; }
	.ys-popup__logo img { width: 44px; height: 44px; max-width: 44px; max-height: 44px; }
	.ys-popup__content { flex: 1 1 0; gap: 1px; }
	.ys-popup__row { flex-wrap: wrap; gap: 3px 10px; }
	.ys-popup__brand { font-size: 15px; }
	.ys-popup__rating { font-size: 12px; }
	.ys-popup__desc { display: none; }
	.ys-popup__bonus { font-size: 12.5px; }
	.ys-popup__btn { flex: 1 1 100%; width: 100%; min-width: auto; text-align: center; padding: 10px 18px; font-size: 13px; }
	.ys-popup__close { top: 6px; right: 8px; width: 24px; height: 24px; font-size: 15px; }
}

/* ===========================================================================
 * Content base — styles any editor content (headings, tables, lists, images,
 * quotes) on a casino page, so new pages built in the editor look consistent
 * without hand-writing markup. Casino components come via [casino_list] /
 * [casino_faq] shortcodes.
 * ======================================================================== */
.casino-body .l-main .container > h2,
.casino-body .l-main .container > h3,
.casino-body .l-main .container > h4 { color: #241030; line-height: 1.25; margin: 28px 0 12px; }
.casino-body .l-main .container > h2 { font-size: clamp(21px, 2.4vw, 27px); }
.casino-body .l-main .container > h3 { font-size: clamp(18px, 2vw, 21px); }
.casino-body .l-main .container > p { line-height: 1.7; margin: 0 0 16px; color: #37303d; }
.casino-body .l-main .container > ul,
.casino-body .l-main .container > ol { line-height: 1.7; margin: 0 0 16px; padding-left: 22px; color: #37303d; }
.casino-body .l-main .container > ul li,
.casino-body .l-main .container > ol li { margin: 4px 0; }
.casino-body .l-main a { color: #6A327F; }
.casino-body .l-main img { max-width: 100%; height: auto; border-radius: 10px; }
.casino-body .l-main .img__content { border-radius: 12px; }
.casino-body .l-main blockquote {
	margin: 20px 0; padding: 14px 20px; border-left: 4px solid #6A327F;
	background: #faf6fc; border-radius: 0 10px 10px 0; color: #3a2545;
}

/* Tables — light, prod-style: thin grey borders, plain light header, no purple
   fill / stripes / hover / radius. */
.casino-body .l-main .table-wrap,
.casino-body .l-main .wp-block-table { overflow-x: auto; margin: 22px 0; -webkit-overflow-scrolling: touch; }
.casino-body .l-main table {
	width: 100%; border-collapse: collapse; background: #fff; font-size: 14px; min-width: 560px;
}
.casino-body .l-main table th,
.casino-body .l-main table td { padding: 9px 12px; text-align: left; vertical-align: top; border: 1px solid #dcdcdc; }
.casino-body .l-main table th { background: #f7f7f7; font-weight: 600; color: #1a1a1a; }
.casino-body .l-main table tr:nth-child(even) td { background: #fafafa; }

/* ---- Editorial components that shipped without styles (pokies / regbox) ---- */
.casino-body .pokies-block { display: flex; flex-direction: column; gap: 18px; margin: 22px 0; }
.casino-body .pokies-block .game { display: flex; gap: 18px; align-items: center; background: #fff; border: 1px solid #eae3ef; border-radius: 14px; padding: 16px; }
.casino-body .pokies-block .game-image { flex: 0 0 auto; }
.casino-body .pokies-block .game-image img, .casino-body .img-pokies { max-width: 160px; height: auto; border-radius: 10px; display: block; }
.casino-body .pokies-block .game-text { flex: 1; min-width: 0; line-height: 1.6; }
@media (max-width: 600px) { .casino-body .pokies-block .game { flex-direction: column; align-items: flex-start; } .casino-body .pokies-block .game-image img { max-width: 100%; } }

.casino-body .regbox { border: 1px solid #e6dced; background: #faf8fc; border-radius: 14px; padding: 20px 22px; margin: 22px 0; }
.casino-body .regbox__intro { line-height: 1.6; margin-bottom: 12px; }
.casino-body .regbox__logos { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.casino-body .regbox__logos img { max-height: 40px; width: auto; }

/* ---------------------------------------------------------------------------
 * Header — match the main site header height/width (was 8px padding vs 12px)
 * ------------------------------------------------------------------------ */
.casino-body .theme-header .bot-head.light-header { padding-top: 12px; padding-bottom: 12px; }
.casino-body .theme-header .bot-head { background: var(--z-purple); }
.casino-body .oc-head-row { min-height: 0; }
.casino-body .l-header__logo > img { width: 120px; height: auto; }

/* ---------------------------------------------------------------------------
 * Mobile hub header — balance the row so the logo sits dead-centre (the lang
 * switcher is hidden on mobile → the logo was drifting right).
 * ------------------------------------------------------------------------ */
@media (max-width: 991px) {
  .casino-body .oc-head-row { column-gap: 10px; }
  .casino-body .oc-head-row__left { flex: 1 1 0; min-width: 0; }
  .casino-body .oc-head-row__mobile-logo { flex: 0 0 auto; padding: 0; }
  .casino-body .oc-head-row__mobile-logo .l-header__logo img { width: 110px; height: auto; }
  .casino-body .oc-head-row__right { flex: 1 1 0; min-width: 0; }
  .casino-body .nav-toggle { font-size: 22px; }
}
@media (max-width: 575px) {
  .casino-body .oc-head-row__mobile-logo .l-header__logo img { width: 96px; }
}
