/* Ugrado v2: make native Elementor widgets render with the static design system.
   Loaded after style.css. Scope: only inside .ugv2 containers so old pages are untouched. */

/* kit resets: Elementor kit 57 sets 60px Poppins headings and #FAA61A links */
.ugv2 h1,.ugv2 h2,.ugv2 .elementor-heading-title{font-family:var(--serif);line-height:1.15;font-weight:600;margin:0 0 .4em}
/* h3 inside html widgets stays Poppins 1rem like static (h3 rule in style.css); only heading widgets get serif */
.ugv2 .elementor-widget-heading .elementor-heading-title{color:var(--ink)}
.ugv2.what h2,.ugv2.what h3,.ugv2.ug-awards h2,.ugv2.hero h1,.ugv2.page-hero h1{color:#fff}
/* headings inside navy sections */
.ugv2.hero h1.elementor-heading-title,.ugv2.page-hero h1.elementor-heading-title,.ugv2.what h2.elementor-heading-title,.ugv2.ug-awards h2.elementor-heading-title,.ugv2 .info-cta h2.elementor-heading-title,.ugv2 .rv-verdict h2.elementor-heading-title{color:#fff}
.ugv2.what,.ugv2.hero,.ugv2.page-hero{color:#DDD9CF}
/* size only the heading WIDGETS; headings inside html widgets keep style.css sizes (kit 57 h1-h6 sizes were cleared on staging so those win) */
.ugv2 .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.4rem,5vw,3.9rem)}
.ugv2 .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.7rem,2.6vw,2.4rem)}
.ugv2 .elementor-widget-heading h3.elementor-heading-title{font-size:1.15rem}
/* kit 57 link colours were removed from the kit on staging (2026-09-23): a{color:inherit} in style.css now wins and .btn-* / class link colours apply */
.elementor-kit-57 .ugv2 .g-hub a,.elementor-kit-57 .ugv2 .g-hub strong{color:#fff}
.ugv2 p{margin:0 0 1em}
.ugv2 .elementor-widget:not(:last-child){margin-block-end:0}
.ugv2 .elementor-widget-text-editor{font-size:inherit;color:inherit}

/* containers used as our layout wrappers */
.ugv2.e-con,.ugv2 .e-con{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--margin-top:0;--margin-bottom:0}
.ugv2 .e-con.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
/* our grid/flex layout classes must beat Elementor's --display:flex on containers */
.ugv2 .e-con.hero-grid,.ugv2 .e-con.hwr,.ugv2 .e-con.listing-grid,.ugv2 .e-con.what-grid,.ugv2 .e-con.trust-grid,.ugv2 .e-con.g-split,.ugv2 .e-con.contact-grid,.ugv2 .e-con.calc-grid{--display:grid;display:grid}
.ugv2 .e-con.hero-actions,.ugv2 .e-con.hwr-more{--display:flex;display:flex;flex-direction:row;--flex-direction:row}
.ugv2 .e-con.hwr-more{justify-content:center;margin-top:22px}
.ugv2 .e-con.section-head,.ugv2 .e-con.art-head,.ugv2 .e-con.info-head{--display:block;display:block}
.ugv2 .e-con.section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 18px;margin-bottom:22px}
.ugv2 .e-con.section-head>.elementor-widget-heading,.ugv2 .e-con.section-head>.elementor-widget-text-editor{grid-column:1}
.ugv2 .e-con.section-head>.elementor-widget-button{grid-column:2;grid-row:1/3;align-self:end}
.ugv2 .e-con.section-head .elementor-widget-text-editor{color:var(--muted);font-size:.85rem}
.ugv2 .e-con.art-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 18px;margin-bottom:22px}
.ugv2 .e-con.art-head>.elementor-widget-button{grid-column:2;grid-row:1/3}
.ugv2 .e-con.what-copy,.ugv2 .e-con.trust-copy,.ugv2 .e-con.hero-copy,.ugv2 .e-con.hero-side,.ugv2 .e-con.faq-card{--display:block;display:block}
.ugv2 .e-con.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ugv2 .e-con.hero-side{display:flex;justify-content:flex-end;align-items:center}
.ugv2 .e-con.hero-side .elementor-widget-html{width:100%;max-width:400px}
.ugv2 .e-con.what-copy .elementor-widget-button{margin-top:18px}
.ugv2 .what-list-w{align-self:stretch}
.ugv2 .what-list-w .elementor-widget-container,.ugv2 .what-list-w .what-list{height:100%} /* list centres in the full column height like static */
.ugv2 .e-con.hwr>.e-con.hwr-steps{margin:0;align-self:stretch} /* steps card = same height as the 4 method cards (.g-steps-card 44px margin was eating the row) */
.elementor-kit-57 .ugv2 :where(tbody>tr:nth-child(2n+1)>td){background-color:transparent}
.ugv2 :where(table td,table th){border:0} /* hello-elementor reset.css draws 1px grey borders on every cell; :where keeps .rank-table td border-top */ /* hello-biz theme.css stripes odd rows; :where keeps .is-top and :hover rules winning */
.ugv2 .e-con.hwr>.elementor-widget-html{align-self:stretch}
.ugv2 .e-con.faq-card>.e-con.section-head{display:block;text-align:center;margin-bottom:28px}
.ugv2 #faq.e-con.faq-v2{padding:44px 48px 40px} /* guard: if a card carries the #faq anchor, keep its padding */
@media(max-width:600px){.ugv2 #faq.e-con.faq-v2{padding:28px 18px 24px}}
.ugv2 .faq-eyebrow-w .elementor-heading-title{display:inline-flex;align-items:center;gap:14px;font-family:var(--sans);color:var(--gold-dark);font-size:.7rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;margin-bottom:10px}
.ugv2 .faq-eyebrow-w .elementor-heading-title::before,.ugv2 .faq-eyebrow-w .elementor-heading-title::after{content:"";width:36px;height:1px;background:rgba(201,164,78,.6)}
.ugv2 .e-con.faq-card .elementor-widget-text-editor{color:var(--muted);font-size:1rem}
.ugv2 .e-con.faq-card h2.elementor-heading-title{font-size:2.4rem;margin:0 0 8px}

/* heading widgets that carry our copy classes: class sits on the wrapper, so push styles down */
.ugv2 .eyebrow .elementor-heading-title{font-family:var(--sans);color:var(--gold-2);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:600;margin:0}
.ugv2 .hero h1.elementor-heading-title,.ugv2 .page-hero h1.elementor-heading-title{color:#fff}
.ugv2 .hero-v2 h1 em{font-style:normal;color:var(--gold-2)}
.ugv2.hero-v2 .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.2rem,3.4vw,3rem);max-width:540px}
.ugv2 .e-con.hero-copy>.elementor-widget{max-width:540px}
.ugv2 .lead{max-width:540px;margin-bottom:26px}
.ugv2 .lead .elementor-widget-container{color:#DDD9CF;font-size:.98rem}
.ugv2 .info-sub .elementor-heading-title{font-family:var(--sans);font-size:1.05rem;font-weight:500;color:#fff;margin:0}
.ugv2 .info-head .elementor-heading-title{font-size:2.3rem;margin:0 0 8px}
.ugv2 .info-head .elementor-widget-text-editor{color:#5B6B8A;font-size:1.1rem;max-width:760px}

/* button widget -> .btn styles */
.ugv2 .ug-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-family:var(--sans);font-weight:600;font-size:.92rem;border:1.5px solid transparent;transition:.2s;white-space:nowrap;line-height:1.2}
.ugv2 .ug-btn-gold .elementor-button{background:linear-gradient(135deg,#F7E9B5 0%,#E2C36A 38%,#C9A44E 70%,#B08A3E 100%);color:#14213D;border:1px solid rgba(255,248,220,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.15),0 8px 22px rgba(201,164,78,.35);text-shadow:0 1px 0 rgba(255,255,255,.35)}
.ugv2 .ug-btn-gold .elementor-button:hover{background:linear-gradient(135deg,#FBF0C4 0%,#EACB74 38%,#D2AC55 70%,#B8923F 100%);transform:translateY(-1px)}
.ugv2 .ug-btn-ghost .elementor-button{border-color:var(--gold);color:#fff;background:rgba(255,255,255,.04)}
.ugv2 .ug-btn-ghost .elementor-button:hover{background:rgba(201,168,92,.15)}
.ugv2 .ug-btn-outline .elementor-button{background:#fff;border-color:var(--gold);color:var(--gold-deep)}
.ugv2 .ug-btn-outline .elementor-button:hover{background:#FBF5E3}
.ugv2 .ug-btn-sm .elementor-button{padding:9px 16px;font-size:.85rem}
.ugv2 .elementor-widget-button .elementor-button-content-wrapper{gap:0}

/* hero v2 built from widgets */
.ugv2.hero-v2{position:relative;overflow:hidden;padding-top:72px;--curve:95%;-webkit-mask-image:radial-gradient(ellipse var(--curve) 100% at 50% 0,#000 calc(100% - 2px),transparent);mask-image:radial-gradient(ellipse var(--curve) 100% at 50% 0,#000 calc(100% - 2px),transparent);background:var(--navy) url(hero-hall.webp?v=2) center/cover no-repeat}
.ugv2 .hero-bg-w{position:absolute;inset:0;z-index:0;pointer-events:none;width:100%;margin:0}
.ugv2 .hero-bg-w .elementor-widget-container{position:static}
.ugv2 .hero-bg-w img{position:absolute;top:44px;height:calc(100% - 44px);width:auto;max-width:none;left:calc(50% + 15px);transform:translateX(-62%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 80%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 80%,transparent 100%)}
.ugv2 .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:40px;min-height:600px;align-items:center}
.ugv2 .hero-copy{padding:70px 0 120px}
.ugv2 .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:34px}
.ugv2 .hero-side{display:flex;justify-content:flex-end;padding:60px 0 110px}
/* phones/tablets: ugv2.js moves .hero-bg-w into .hero-copy so the man sits right of the buttons + trust bar (CS 2026-09-24: model was off-screen) */
@media(max-width:1000px){.ugv2 .hero-grid{grid-template-columns:1fr;min-height:0}.ugv2 .e-con.hero-copy{position:relative}.ugv2 .hero-copy .hero-bg-w{inset:auto 0 0 0;height:100%;max-width:none}.ugv2 .hero-copy>.elementor-widget:not(.hero-bg-w){position:relative;z-index:1}.ugv2 .hero-copy{padding-bottom:28px}.ugv2 .hero-grid{row-gap:20px}.ugv2 .e-con.hero-side{padding-top:0}.ugv2 .hero-bg-w img{right:auto;left:calc(100% - 20px);transform:translateX(-78%);top:auto;bottom:10px;height:330px;opacity:1;-webkit-mask-image:linear-gradient(90deg,transparent 45%,#000 66%),linear-gradient(180deg,transparent 0,#000 16%,#000 76%,transparent 100%);mask-image:linear-gradient(90deg,transparent 45%,#000 66%),linear-gradient(180deg,transparent 0,#000 16%,#000 76%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}}

/* accordion widget -> FAQ v2 rows */
.ugv2 .faq-v2 .e-n-accordion-item{background:#fff;border:1px solid var(--line-cool);border-radius:14px;margin-bottom:14px;padding:0 26px;box-shadow:0 4px 14px rgba(20,33,61,.04)}
.ugv2 .faq-v2 .e-n-accordion-item-title{padding:20px 60px 20px 0;font-family:var(--sans);font-size:1.05rem;font-weight:500;color:var(--ink);cursor:pointer;position:relative}
.ugv2 .faq-v2 .e-n-accordion-item-title-icon{display:none}
.ugv2 .faq-v2 .e-n-accordion-item-title::after{content:"";position:absolute;top:50%;right:0;width:36px;height:36px;margin-top:-18px;border-radius:50%;border:1px solid #E5DCC6;background:#fff linear-gradient(var(--gold-dark),var(--gold-dark)) center/14px 2px no-repeat;transition:.25s}
.ugv2 .faq-v2 .e-n-accordion-item-title::before{content:"";position:absolute;top:50%;right:17px;width:2px;height:14px;margin-top:-7px;background:var(--gold-dark);border-radius:1px;z-index:1;transition:transform .3s}
.ugv2 .faq-v2 .e-n-accordion-item[open]>.e-n-accordion-item-title::after{background:var(--gold) linear-gradient(var(--ink),var(--ink)) center/14px 2px no-repeat;border-color:var(--gold)}
.ugv2 .faq-v2 .e-n-accordion-item[open]>.e-n-accordion-item-title::before{transform:rotate(90deg);background:var(--ink)}
.ugv2 .faq-v2 .e-n-accordion-item>.e-con{padding:0 0 20px;font-size:.95rem;color:var(--muted);border:0;max-width:860px}
.ugv2 .faq-v2 .elementor-widget-n-accordion .e-n-accordion-item-title{border:0;background:none;transition:color .2s}
.ugv2 .faq-v2 .e-n-accordion-item{transition:border-color .2s,box-shadow .2s}
.ugv2 .faq-v2 .e-n-accordion-item:hover,.ugv2 .faq-v2 .e-n-accordion-item[open]{border-color:rgba(201,164,78,.55);box-shadow:0 8px 22px rgba(201,164,78,.12)}
.ugv2 .faq-v2 .elementor-widget-n-accordion .e-n-accordion-item:hover>.e-n-accordion-item-title,.ugv2 .faq-v2 .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title{color:var(--gold-deep)}
.ugv2 .faq-v2 .e-n-accordion-item:hover>.e-n-accordion-item-title::after{transform:scale(1.08);border-color:var(--gold);box-shadow:0 4px 12px rgba(201,164,78,.25)}
.ugv2 .faq-v2 .e-n-accordion-item[open]>.e-con{animation:faqIn .3s ease-out both}
.ugv2 .faq-v2 .e-n-accordion-item>.e-con .elementor-widget-text-editor,.ugv2 .faq-v2 .e-n-accordion-item>.e-con p{margin:0;font-size:.95rem;color:var(--muted)}

/* steps rendered by text-editor as an ordered list */
.ugv2 .g-steps-list ol{list-style:none;margin:0;padding:0;display:grid;gap:18px;counter-reset:s}
.ugv2 .g-steps-list li{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:start;counter-increment:s}
.ugv2 .g-steps-list li>*{grid-column:2}
.ugv2 .g-steps-list li::before{grid-column:1;grid-row:1/span 2}
.ugv2 .g-steps-list li::before{content:"0" counter(s);flex:none;min-width:38px;padding:5px 0;border-radius:8px;text-align:center;font-weight:700;font-size:.85rem;color:var(--gold-deep);background:#FBF5E3;border:1px solid #EBDDB5;margin-top:2px}
.ugv2 .g-steps-list strong{display:block;color:var(--ink);font-size:1.02rem;margin-bottom:3px}
.ugv2 .g-steps-list p{margin:0;font-size:.92rem;color:var(--text)}

/* ===== header theme part (Elementor Pro nav-menu widget) ===== */
.ugv2-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(7,17,34,.85) 0%,rgba(7,17,34,.45) 65%,rgba(7,17,34,0) 100%);transition:background .3s,backdrop-filter .3s}
.ugv2-header.is-scrolled{background:rgba(11,26,51,.94);backdrop-filter:blur(10px)}
body.admin-bar .ugv2-header{top:32px}
.ugv2-header .e-con.header-inner{--display:flex;display:flex;flex-direction:row;align-items:center;gap:24px;height:72px;width:100%;max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.ugv2-header .logo-w{width:auto;flex:none}
.ugv2-header .logo-w img{height:38px;width:auto}
.ugv2-header .nav-w{margin-left:auto;width:auto}
/* selectors carry .elementor-widget-nav-menu so they beat Elementor Pro's widget + kit defaults (orange hover, white dropdown, 16px accent font) */
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:#F3F0E8;font-family:var(--sans);font-size:.84rem;font-weight:500;padding:8px 10px;text-shadow:0 1px 10px rgba(0,0,0,.7);fill:#F3F0E8}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--gold-2);fill:var(--gold-2)}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active{border-bottom:0;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:7px}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item .sub-arrow{display:inline-block;text-decoration:none}
.ugv2-header .elementor-widget-nav-menu .sub-arrow{margin-left:4px;opacity:.7}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main ul.elementor-nav-menu--dropdown{margin-top:12px;min-width:236px;width:auto;padding:8px;border-radius:12px;background:rgba(11,26,51,.96);backdrop-filter:blur(12px);border:1px solid rgba(212,177,94,.45);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown a{color:#E9E6DE;font-family:var(--sans);font-size:.84rem;font-weight:400;text-transform:none;padding:9px 12px;border-radius:8px;text-shadow:none;border-inline-start:0;fill:#E9E6DE}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown a:hover,.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown a.highlighted{background:rgba(255,255,255,.06);color:var(--gold-2)}
.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-sub-item{padding-left:24px}
.ugv2-header .elementor-menu-toggle{color:#E9E6DE;background:none;border:0}
.ugv2-header .elementor-menu-toggle svg{fill:#fff;width:28px;height:28px}
.ugv2-header .search-w{width:auto;flex:none}
.ugv2-header .search-w button{background:none;border:0;color:#E9E6DE;cursor:pointer;padding:6px;display:flex}
@media(max-width:1024px){.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:fixed;top:72px!important;left:0;right:0;width:100%!important;margin:0;border-radius:0;background:#0B1A33;padding:10px 20px 20px;max-height:calc(100vh - 72px);overflow:auto}body.admin-bar .ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{top:104px!important}.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container a{color:#E9E6DE;font-size:.9rem;padding:10px 0;border-radius:0}.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item{padding-left:18px;color:#C9C4B8;font-size:.84rem}.ugv2-header .nav-w{margin-left:auto}}

/* ===== footer theme part ===== */
.ugv2-footer{position:relative;z-index:3;background:transparent;margin-top:-34px;padding:78px 0 44px;overflow:hidden}
.ugv2-footer .footer-layers,.ugv2-footer .footer-layers .elementor-widget-container{position:static}
.ugv2-footer .e-con.footer-grid{--display:grid;display:grid;grid-template-columns:1fr 2.3fr auto auto;gap:32px;align-items:center;position:relative;z-index:2;color:#CFCAC0;width:100%;max-width:1180px;margin:0 auto;padding:0 20px;box-sizing:border-box}
.ugv2-footer .e-con.footer-brand,.ugv2-footer .e-con.footer-follow{--display:block;display:block}
.ugv2-footer .footer-brand .elementor-widget-image{text-align:left}
.ugv2-footer .footer-brand img{height:40px;width:auto;margin-bottom:10px}
.ugv2-footer .footer-brand .elementor-widget-text-editor{font-size:.85rem;color:#E9E6DE}
.ugv2-footer .footer-brand p{margin:0 0 10px}
.ugv2-footer .footer-brand small{display:block;font-size:.72rem;color:#8F8A80}
.ugv2-footer .footer-nav-w .elementor-nav-menu--main ul.elementor-nav-menu{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,auto);justify-content:center;gap:10px 56px;margin:0;padding:0}
.ugv2-footer .footer-nav-w .elementor-nav-menu--main .elementor-item{color:#CFCAC0;font-family:var(--sans);font-size:.85rem;padding:0}
.ugv2-footer .footer-nav-w .elementor-nav-menu--main .elementor-item:hover{color:var(--gold-2)}
.ugv2-footer .footer-nav-w .elementor-nav-menu--main li{display:block}
.ugv2-footer .footer-review{display:flex;flex-direction:column;gap:14px;align-items:center;padding:0 32px;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}
.ugv2-footer .footer-review img{width:140px;height:auto}
.ugv2-footer .footer-follow{text-align:center;font-size:.78rem}
.ugv2-footer .footer-follow h4.elementor-heading-title{font-family:var(--sans);font-size:.72rem;font-weight:400;color:#CFCAC0;margin:0 0 6px}
.ugv2-footer .elementor-social-icons-wrapper{display:grid;grid-template-columns:repeat(4,32px);gap:8px;justify-content:center;max-width:152px;margin:0 auto}
.ugv2-footer .elementor-social-icon{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;margin:0}
.ugv2-footer .elementor-social-icon svg{width:14px;height:14px;fill:#fff}
.ugv2-footer .elementor-social-icon:hover{background:var(--gold)}
.ugv2-footer .elementor-social-icon:hover svg{fill:var(--ink)}
.ugv2-footer .footer-follow .elementor-widget-text-editor{margin-top:12px;color:#CFCAC0}
@media(max-width:1000px){.ugv2-footer .e-con.footer-grid{grid-template-columns:1fr 1fr}.ugv2-footer .footer-review{border:0;padding:0}}
@media(max-width:600px){.ugv2-footer .e-con.footer-grid{grid-template-columns:1fr;text-align:center}.ugv2-footer .footer-overlay{display:none}.ugv2-footer .footer-brand .elementor-widget-image{text-align:center}.ugv2-footer .footer-brand img{margin:0 auto 10px}.ugv2-footer .footer-nav-w .elementor-nav-menu--main{justify-content:center}.ugv2-footer .footer-nav-w .elementor-nav-menu--main ul.elementor-nav-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}}

/* ===== guide / provider pages: hero, cards as image-box widgets, side column ===== */
.ugv2.page-hero{position:relative;z-index:1;color:#fff;overflow:hidden;padding:72px 0 0;--curve:95%;-webkit-mask-image:radial-gradient(ellipse var(--curve) 100% at 50% 0,#000 calc(100% - 2px),transparent);mask-image:radial-gradient(ellipse var(--curve) 100% at 50% 0,#000 calc(100% - 2px),transparent);background:var(--navy) url(hero-hall.webp?v=2) center bottom/cover no-repeat}
.ugv2.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,34,.78) 0%,rgba(7,17,34,.45) 45%,rgba(7,17,34,0) 75%)}
.ugv2.page-hero .e-con.page-hero-in{position:relative;z-index:2;padding:30px 20px 110px;--display:flex;display:flex;flex-direction:column;align-items:flex-start}
.ugv2.page-hero .e-con.page-hero-in>.elementor-widget{width:auto;max-width:640px}
.ugv2.page-hero .page-hero-el-w{position:absolute;z-index:1;bottom:-10%;height:96%;width:auto;left:calc(50% + 690px);transform:translateX(-100%);margin:0;pointer-events:none}
.ugv2.page-hero .page-hero-el-w .elementor-widget-container,.ugv2.page-hero .page-hero-el-w img{height:100%;width:auto;max-width:none;filter:drop-shadow(0 20px 40px rgba(0,0,0,.5))}
.ugv2.page-hero .crumbs{margin-bottom:18px}
.ugv2.page-hero .e-con.p-brand{--display:flex;display:flex;flex-direction:row;align-items:center;gap:18px;margin-bottom:10px;width:100%}
.ugv2.page-hero .e-con.p-brand>.elementor-widget{width:auto}
.ugv2 .e-con.g-split{grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;margin-bottom:44px}
.ugv2 .e-con.g-side{--display:flex;display:flex;flex-direction:column;gap:18px;position:sticky;top:140px}
.ugv2 .e-con.g-intro{--display:block;display:block}
.ugv2 .e-con.info-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 34px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .e-con.g-steps-card{margin-bottom:44px}
.ugv2 .e-con.ug-cards{--display:grid;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:44px}
.ugv2 .e-con.ug-cards.info-cards>.elementor-widget-image-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 20px;text-align:center;box-shadow:0 8px 24px rgba(20,33,61,.05);width:auto}
.ugv2 .ug-card .elementor-image-box-img{width:68px;height:68px;margin:0 auto 16px;border-radius:50%;background:#FBF5E3;border:1px solid #EBDDB5;display:flex;align-items:center;justify-content:center}
.ugv2 .ug-card .elementor-image-box-img img{width:36px;height:36px;object-fit:contain}
.ugv2 .ug-card .elementor-image-box-title{font-family:var(--sans);font-size:1.15rem;font-weight:600;color:var(--ink);margin:0 0 6px}
.ugv2 .ug-card .elementor-image-box-description{font-size:.95rem;color:var(--muted);margin:0}
.ugv2 .e-con.rv-procon,.ugv2 .e-con.g-procon{--display:grid;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:44px}
.ugv2 .e-con.rv-card{--display:block;display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .e-con.rv-pros ul,.ugv2 .e-con.rv-cons ul{list-style:none;margin:0;padding:0;font-size:.85rem;display:flex;flex-direction:column;gap:10px}
.ugv2 .e-con.info-cta{--display:grid;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:20px;margin-top:44px}
.ugv2 .e-con.info-cta>.e-con{--display:block;display:block}
.ugv2 .e-con.info-cta h2.elementor-heading-title{color:#fff;font-size:2.2rem;margin-bottom:.3em}
.ugv2 .e-con.info-cta .elementor-widget-text-editor{color:#DDD9CF;font-size:1.08rem;max-width:520px;margin-bottom:24px}
.ugv2 .e-con.info-cta .cta-img-w{position:absolute;right:0;bottom:-18%;height:128%;width:auto;margin:0}
.ugv2 .e-con.info-cta .cta-img-w .elementor-widget-container{height:100%}
.ugv2 .e-con.info-cta .cta-img-w img{height:100%;width:auto;max-width:none;filter:drop-shadow(0 16px 30px rgba(0,0,0,.5))}
.ugv2 .e-con.info-head{margin-bottom:26px}
.ugv2 .info-head h2.elementor-heading-title{font-size:2.3rem;margin:0 0 8px}
.ugv2 .info-head .elementor-widget-text-editor{color:#5B6B8A;font-size:1.1rem;max-width:760px}
.ugv2 .e-con.info-body{padding-top:150px}
@media(max-width:1000px){.ugv2 .e-con.g-split{grid-template-columns:1fr}.ugv2 .e-con.g-side{position:static}.ugv2 .e-con.ug-cards{grid-template-columns:1fr 1fr}.ugv2 .e-con.g-procon{grid-template-columns:1fr}.ugv2 .e-con.info-cta{grid-template-columns:1fr}.ugv2 .e-con.info-cta .cta-img-w{opacity:.35}.ugv2.page-hero .page-hero-el-w{left:auto;right:-20%;transform:none;opacity:.45}}
@media(max-width:600px){.ugv2 .e-con.ug-cards{grid-template-columns:1fr}}

/* ===== ranking page (/review/grade-ranking/): list from [ugv2_ranking layout=list], sticky side column, SEO cards ===== */
.ugv2 .e-con.listing-side{--display:flex;display:flex;flex-direction:column;gap:18px;position:sticky;top:92px}
.ugv2 .e-con.side-card{--display:block;display:block}
.ugv2 .side-card .elementor-widget-text-editor{font-size:.85rem;margin-bottom:16px}
.ugv2 .side-card .elementor-widget-button .elementor-button{width:100%;justify-content:center}
.ugv2 .e-con.section-head.stack{--display:block;display:block}
.ugv2 .e-con.ug-cards.seo-cards{grid-template-columns:repeat(3,1fr)}
.ugv2 .e-con.ug-cards.seo-cards>.elementor-widget-image-box,.ugv2 .e-con.ug-cards.rate-cards>.elementor-widget-image-box{background:#fff;border:1px solid #ECE9E2;border-radius:12px;padding:22px;text-align:left;width:auto;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .e-con.ug-cards.rate-cards>.elementor-widget-image-box{padding:16px;border-color:var(--line)}
.ugv2 .seo-card .elementor-image-box-wrapper,.ugv2 .rate-card .elementor-image-box-wrapper{display:flex;gap:16px;align-items:flex-start;text-align:left}
.ugv2 .rate-card .elementor-image-box-wrapper{align-items:center;gap:14px}
.ugv2 .seo-card .elementor-image-box-img,.ugv2 .rate-card .elementor-image-box-img{width:52px;height:52px;flex:0 0 52px;margin:0;border-radius:50%;background:#FBF5E3;border:1px solid #EBDDB5;display:flex;align-items:center;justify-content:center}
.ugv2 .rate-card .elementor-image-box-img{background:#fff;border-color:var(--line)}
.ugv2 .seo-card .elementor-image-box-img img,.ugv2 .rate-card .elementor-image-box-img img{width:32px;height:32px;object-fit:contain}
.ugv2 .seo-card .elementor-image-box-title{font-size:1.02rem}
.ugv2 .seo-card .elementor-image-box-description{font-size:.85rem}
.ugv2 .rate-card .elementor-image-box-title{font-size:.9rem;white-space:nowrap;margin:0 0 2px}
.ugv2 .rate-card .elementor-image-box-description{font-size:.85rem}
.ugv2.ug-awards.aw-last{padding-bottom:130px}
.ugv2-footer.on-dark{margin-top:-96px}
@media(max-width:1000px){.ugv2 .e-con.listing-grid{grid-template-columns:1fr}.ugv2 .e-con.listing-side{position:static}.ugv2 .e-con.ug-cards.seo-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ugv2 .e-con.ug-cards.seo-cards{grid-template-columns:1fr}}

/* ===== bonus + article listing pages (/bonus/, /article/) ===== */
.ugv2 .e-con.bn-grid{--display:grid;display:grid}
.ugv2 .e-con.bn-head{--display:flex;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ugv2 .e-con.bn-head-copy{--display:block;display:block;width:auto}
.ugv2 .e-con.bn-head .elementor-widget-button{width:auto}
.ugv2 .e-con.info-head .elementor-widget-heading h2.elementor-heading-title{font-size:2.3rem;margin:0 0 8px}
.ugv2 .e-con.info-head .elementor-widget-text-editor{color:#5B6B8A;font-size:1.1rem}
.ugv2 .bn-card{grid-template-columns:96px minmax(0,1fr) auto} /* the static compare checkbox column is not rendered (no compare feature yet) */
@media(max-width:1000px){.ugv2 .bn-card{grid-template-columns:80px minmax(0,1fr)}.ugv2 .bn-cta{grid-column:2;justify-self:start}}
@media(max-width:600px){.ugv2 .bn-card{grid-template-columns:1fr}.ugv2 .bn-cta{grid-column:1;width:100%;justify-content:center}}
.ugv2.page-hero .bn-hero-el-w{bottom:-14%;height:96%}
.ugv2.page-hero .art-hero-el-w{bottom:-16%;height:90%}
.ugv2 .e-con.art-head{--display:grid;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 18px;margin-bottom:22px}
.ugv2 .e-con.art-head>.elementor-widget-heading,.ugv2 .e-con.art-head>.elementor-widget-text-editor{grid-column:1;width:auto}
.ugv2 .e-con.art-head>.elementor-widget-shortcode{grid-column:2;grid-row:1/3;align-self:end;width:auto}
.ugv2 .e-con.art-head .elementor-widget-heading h2.elementor-heading-title{font-size:1.9rem;margin:0}
.ugv2 .e-con.art-head .elementor-widget-text-editor{font-size:.85rem;color:var(--muted)}
.ugv2 .e-con.art-main{--display:block;display:block;min-width:0}
.ugv2 .e-con.art-side{gap:20px}
@media(max-width:1000px){.ugv2 .e-con.bn-grid{grid-template-columns:1fr}.ugv2 .bn-filter{position:static}.ugv2 .e-con.art-head{grid-template-columns:1fr}.ugv2 .e-con.art-head>.elementor-widget-shortcode{grid-column:1;grid-row:auto}}

/* [ugrado_rating] score card / inline badge (reuses the home .hero-card look) */
.ug-rating-card.hero-card{width:100%;max-width:400px;margin:28px auto;background:var(--navy);backdrop-filter:none;transform:none}
.ug-rating-card.hero-card:hover{transform:none}
.ug-rating-card .hc-cta{display:flex;gap:10px;flex-wrap:wrap}
.ug-rating-card .hc-cta .btn{flex:1;justify-content:center}
.ug-rating-card .rv-disclose{margin:12px 0 0;font-size:.72rem;color:rgba(221,217,207,.7);line-height:1.4}
.ug-rating .hc-stars i{font-style:normal;color:rgba(255,255,255,.22)}
.ug-rating-inline{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.88rem;line-height:1.2;vertical-align:middle;color:var(--ink);text-decoration:none}
.ug-rating-inline img{width:28px;height:28px;object-fit:contain;border-radius:50%;background:#fff}
.ug-rating-inline .hc-stars{font-size:.8rem}
.ug-rating-inline .hc-stars b{color:var(--ink);font-size:.95rem}
.ug-rating-inline .hc-stars i{color:#D8D2C4}
.ug-rating-inline a{color:var(--gold-deep);font-weight:600;text-decoration:none;border-left:1px solid var(--line);padding-left:8px}
.ug-rating-inline a:hover{text-decoration:underline}

/* single post template (static/article-918kiss.html) */
.ugv2 .e-con.post-hero-grid{--display:block;display:block}
.ugv2.post-hero .elementor-widget-theme-post-title h1{color:#fff;font-size:clamp(1.6rem,2.6vw,2.3rem);margin:0 0 .55em}
.ugv2 .e-con.post-grid{--display:grid;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
.ugv2 .e-con.post-card{--display:block;display:block;min-width:0}
.ugv2 .post-fig .elementor-widget-container,.ugv2 .post-fig img{height:100%}
.ugv2 .prose .elementor-widget-container>:first-child{margin-top:0}
.ugv2 .e-con.art-head>.elementor-widget-html{grid-column:2;grid-row:1/3;align-self:end;width:auto}
@media(max-width:1000px){.ugv2 .e-con.post-grid{grid-template-columns:1fr}.rel-grid{grid-template-columns:1fr 1fr}.ugv2 .e-con.post-card{padding:24px 20px}}
@media(max-width:600px){.rel-grid{grid-template-columns:1fr}}
.ugv2 .e-con.post-hero-grid{max-width:860px}
.ugv2.post-hero .elementor-widget-heading h1.elementor-heading-title{color:#fff;font-size:clamp(1.6rem,2.6vw,2.3rem);margin:0 0 .55em}

/* info pages: about / contact / partnership / sponsorship / affiliate / bonus calculator (static/*.html) */
.ugv2.page-hero .info-hero-el-w{bottom:-16%;height:92%}
.ugv2.page-hero .el-contact-w{height:106%;bottom:-20%;left:calc(50% + 720px)}
.ugv2.page-hero .el-partner-w{height:102%;bottom:-18%;left:calc(50% + 710px)}
.ugv2 .e-con.info-split{--display:grid;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:stretch;margin-bottom:40px}
.ugv2 .e-con.info-split-rev{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.ugv2 .info-visual-w{position:relative;margin:0;border-radius:14px;overflow:hidden;min-height:280px;background:var(--navy) url(panel-laurel.webp) center/cover no-repeat;width:auto}
.ugv2 .info-visual-w .elementor-widget-container{position:absolute;inset:0}
.ugv2 .info-visual-w img{width:100%;height:100%;object-fit:cover;display:block}
.ugv2 .e-con.info-row{--display:flex;display:flex;flex-direction:row;gap:24px;align-items:flex-start;padding:22px 0}
.ugv2 .e-con.info-row:first-child{padding-top:0}.ugv2 .e-con.info-row:last-child{padding-bottom:0}
.ugv2 .e-con.info-row>.elementor-widget-html{width:auto;flex:none}
.ugv2 .e-con.info-row>.e-con{padding:0;min-width:0}
.ugv2 .e-con.info-card .elementor-widget-heading h2.elementor-heading-title{font-size:1.7rem;margin:0 0 .35em}
.ugv2 .e-con.info-card .elementor-widget-text-editor{font-size:1.02rem;color:var(--text)}
.ugv2 .e-con.info-card .elementor-widget-text-editor p.sub{margin:0}
.ugv2 .e-con.info-card .elementor-widget-text-editor ul.info-points{margin:18px 0 26px}
.ugv2 .e-con.info-card>.elementor-widget-button{width:auto;align-self:flex-start}
.ugv2 .e-con.contact-form .elementor-widget-heading h2.elementor-heading-title{font-size:1.9rem;margin:0 0 .2em}
.ugv2 .e-con.contact-form .elementor-widget-text-editor p.sub{margin:0 0 24px;font-size:1rem;color:var(--muted)}
.ugv2 .contact-form .elementor-form-fields-wrapper{margin:0}
.ugv2 .contact-form .elementor-field-group{padding:0;margin-bottom:14px}
.ugv2 .contact-form .elementor-field-group:last-child{margin-bottom:0}
.ugv2 .contact-form .elementor-field-label{font-size:.88rem;font-weight:500;color:var(--ink)}
.ugv2 .contact-form .elementor-mark-required .elementor-field-label::after{color:#D64545;font-weight:600}
.ugv2 .contact-form .elementor-field-group .elementor-field{margin-top:8px;padding:13px 16px;font:inherit;font-size:.95rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none;transition:border-color .2s,box-shadow .2s}
.ugv2 .contact-form .elementor-field-group .elementor-field:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,78,.15);outline:0}
.ugv2 .contact-form textarea.elementor-field{min-height:130px;resize:vertical}
.ugv2 .contact-form .elementor-field-type-submit{margin-top:4px}
.ugv2 .contact-form .elementor-message{font-size:.9rem;margin-top:12px}
.ugv2 .e-con.calc-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.ugv2 .e-con.calc-grid>.elementor-widget-html{width:auto;min-width:0}
.ugv2 .e-con.contact-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:stretch;margin-bottom:44px}
.ugv2 .e-con.contact-grid>.elementor-widget-html{width:auto;min-width:0}
.ugv2 .e-con.contact-grid .contact-side{height:100%;box-sizing:border-box}
.ugv2 .e-con.contact-grid>.e-con.contact-form{margin-bottom:0}
@media(max-width:1000px){.ugv2 .e-con.info-split,.ugv2 .e-con.info-split-rev,.ugv2 .e-con.contact-grid,.ugv2 .e-con.calc-grid{grid-template-columns:1fr}.ugv2 .e-con.info-split-rev .info-visual-w{order:2}}
.ugv2 .contact-form .elementor-field-group .elementor-select-wrapper{padding:0;border:0;background:none;box-shadow:none}
.ugv2 .contact-form .elementor-select-wrapper select.elementor-field-textual{margin:0;padding:13px 40px 13px 16px;font:inherit;font-size:.95rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;width:100%;box-shadow:none}
.ugv2 .contact-form .elementor-select-wrapper select.elementor-field-textual:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,78,.15);outline:0}
.ugv2 .contact-form .elementor-field-type-submit{align-items:flex-start}
.ugv2 .contact-form .elementor-field-type-submit .elementor-button,.ugv2 .contact-form .elementor-field-type-submit .elementor-button:hover{width:auto;color:#14213D}
@media(max-width:1000px){.ugv2.page-hero .page-hero-el-w{opacity:.45;left:auto;transform:none;right:-20%}}

/* header search overlay */
.ugv2-search{position:fixed;inset:0;z-index:1200;background:rgba(7,17,34,.78);backdrop-filter:blur(6px);padding:12vh 16px 24px;overflow:auto}
.ugv2-search[hidden]{display:none}
.ugv2-search-box{max-width:640px;margin:0 auto;background:#fff;border-radius:16px;border:1px solid rgba(212,177,94,.5);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.ugv2-search-form{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 18px;border-bottom:1px solid var(--line);margin:0}
.ugv2-search-form svg{color:var(--gold-deep);flex:none}
.ugv2-search-form input{flex:1;border:0;outline:0;font:inherit;font-size:1.1rem;padding:12px 0;color:var(--ink);background:none;min-width:0;box-shadow:none}
.ugv2-search-x{background:none;border:0;font-size:1.6rem;line-height:1;color:var(--muted);cursor:pointer;padding:6px 10px;border-radius:8px}
.ugv2-search-x:hover{background:var(--porcelain);color:var(--ink)}
.ugv2-search-res{max-height:60vh;overflow:auto}
.ugv2-sr-g{padding:10px 8px}
.ugv2-sr-g+.ugv2-sr-g{border-top:1px solid var(--line)}
.ugv2-sr-g h4{margin:4px 10px 6px;font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.ugv2-sr{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--ink);text-decoration:none}
.ugv2-sr:hover,.ugv2-sr:focus-visible{background:#FBF5E3;color:var(--ink)}
.ugv2-sr .logo-ring{width:38px;height:38px;padding:5px;flex:none}
.ugv2-sr-ic{width:38px;height:38px;border-radius:50%;background:#FBF5E3;border:1px solid #EBDDB5;display:inline-flex;align-items:center;justify-content:center;color:var(--gold-deep);flex:none}
.ugv2-sr strong{display:block;font-size:.95rem;font-weight:500;line-height:1.3}
.ugv2-sr small{color:var(--muted);font-size:.78rem}
.ugv2-sr-empty,.ugv2-search-hint{margin:0;padding:14px 18px;font-size:.82rem;color:var(--muted)}
.ugv2-search-hint{border-top:1px solid var(--line);background:var(--porcelain)}
.ugv2-search .ugv2-search-x,.ugv2-search .ugv2-search-x:hover{background:none;border:0;color:var(--muted);padding:6px 10px;border-radius:8px;box-shadow:none;width:auto;height:auto;line-height:1;font-size:1.6rem}
.ugv2-search .ugv2-search-x:hover{background:var(--porcelain);color:var(--ink)}
.ugv2-search input[type=search]::-webkit-search-cancel-button,.ugv2-search input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}
.ugv2-search .ugv2-search-form input{border:0;background:none;box-shadow:none;padding:12px 0;border-radius:0}
/* phones: flatter hero curve (the ellipse is width-relative; mirrors style.css) */
@media(max-width:1000px){.ugv2.page-hero,.ugv2.hero-v2{--curve:140%}}
@media(max-width:600px){.ugv2.page-hero,.ugv2.hero-v2{--curve:220%}}
/* guide/provider sub-nav lives in an html widget: the widget box (not just the nav) must be the sticky element (CS 2026-09-23, like the review page) */
.ugv2 .elementor-widget-html:has(> .elementor-widget-container > .rv-subnav){position:sticky;top:72px;z-index:20}
@media(min-width:900px){.ugv2 .e-con.g-steps-card .g-steps-list ol{grid-template-columns:1fr 1fr;column-gap:40px}}
/* guide/provider overview: left column = intro + next block (steps / game tiles) so no blank sits beside the sticky side cards (CS 2026-09-23) */
.ugv2 .e-con.g-main{--display:block;display:block;min-width:0}
.ugv2 .e-con.g-main>.e-con.info-head{margin-top:36px}
.ugv2 .e-con.g-main>.e-con.g-steps-card,.ugv2 .e-con.g-main>.elementor-widget-html:last-child{margin-bottom:0}

/* /review/ methodology page (CS mockup 2026-09-23): rvp-* */
.ugv2 .e-con.rvp-hero-grid{--display:grid;display:grid!important;grid-template-columns:minmax(0,1fr) 540px;gap:44px;align-items:center;padding-bottom:64px}
.ugv2 .e-con.rvp-hero-copy{--display:block;display:block}
.ugv2.rvp-hero .e-con.rvp-hero-copy .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.8rem,5vw,4.6rem);line-height:.98;margin:0 0 .3em}
.ugv2.rvp-hero h1.elementor-heading-title em,.ugv2 .e-con.rvp-steps h2.elementor-heading-title em{color:var(--gold-2);font-style:normal}
.ugv2.rvp-hero .rvp-hero-copy .elementor-widget-text-editor.lead{max-width:520px}
.ugv2 .e-con.rvp-steps{--display:block;display:block;background:rgba(11,26,51,.72);border:1px solid rgba(212,177,94,.5);border-radius:16px;padding:28px 30px 24px;backdrop-filter:blur(10px);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.ugv2 .e-con.rvp-steps .elementor-widget-heading h2.elementor-heading-title{color:#fff;font-size:1.75rem;line-height:1.15;margin:0 0 20px}
.ugv2 .rvp-ol{list-style:none;margin:0;padding:0;counter-reset:r}
.ugv2 .rvp-ol li{position:relative;padding:0 0 20px 52px;counter-increment:r;color:#DDD9CF;font-size:.92rem;line-height:1.55}
.ugv2 .rvp-ol li:last-child{padding-bottom:0}
.ugv2 .rvp-ol li::before{content:counter(r);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#F7E9B5,#C9A44E);color:#14213D;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(201,164,78,.35)}
.ugv2 .rvp-ol li:not(:last-child)::after{content:"";position:absolute;left:16px;top:36px;bottom:4px;width:2px;background:rgba(212,177,94,.35)}
.ugv2 .e-con.rvp-head{--display:block;display:block;text-align:center;max-width:840px;margin:0 auto 36px}
.ugv2 .e-con.rvp-head .elementor-widget-heading h2.elementor-heading-title{font-size:2.6rem;margin:0 0 12px}
.ugv2 .e-con.rvp-head .elementor-widget-text-editor{color:var(--muted);font-size:.98rem}
.ugv2 .e-con.rvp-head .faq-eyebrow-w .elementor-heading-title{justify-content:center}
.ugv2 .e-con.rvp-how-grid{--display:grid;display:grid;grid-template-columns:minmax(0,1fr) 360px minmax(0,1fr);gap:24px;align-items:center}
.ugv2 .e-con.rvp-how-col{gap:20px}
.ugv2 .rvp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .rvp-card .elementor-image-box-wrapper{display:flex;align-items:center;gap:18px;text-align:left}
.ugv2 .rvp-card .elementor-image-box-img{flex:0 0 64px;width:64px!important;min-width:64px;max-width:64px;height:64px;border-radius:50%;background:#FBF5E3;border:1px solid #EBDDB5;display:flex;align-items:center;justify-content:center;margin:0!important}
.ugv2 .rvp-card .elementor-image-box-content{flex:1;min-width:0}
.ugv2 .rvp-card .elementor-image-box-img img{width:32px;height:32px}
.ugv2 .rvp-card .elementor-image-box-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;margin:0 0 4px;color:var(--ink)}
.ugv2 .rvp-card .elementor-image-box-description{font-size:.88rem;color:var(--muted);margin:0}
.ugv2 .rvp-how-img{margin:0}
.ugv2 .rvp-how-img img{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(20,33,61,.25))}
.ugv2.section.rvp-scale{background:var(--navy) url(panel-laurel.webp) center/cover no-repeat;color:#fff;padding:72px 0}
.ugv2.rvp-scale .e-con.rvp-head .elementor-widget-heading h2.elementor-heading-title{color:#fff}
.ugv2.rvp-scale .e-con.rvp-head .elementor-widget-text-editor{color:#DDD9CF}
.ugv2 .e-con.rvp-scale-cards{--display:grid;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:c}
.ugv2 .e-con.rvp-scale-cards>.elementor-widget-image-box{position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(212,177,94,.35);border-radius:14px;padding:30px 16px 24px;text-align:center;counter-increment:c;overflow:hidden;width:auto;backdrop-filter:blur(4px)}
.ugv2 .e-con.rvp-scale-cards>.elementor-widget-image-box::before{content:counter(c);position:absolute;left:12px;top:0;font-family:var(--serif);font-size:3.6rem;font-weight:700;color:rgba(255,255,255,.08);line-height:1}
.ugv2 .rvp-scale-cards .elementor-image-box-img{width:64px!important;height:64px;margin:0 auto 14px;border-radius:50%;border:1px solid var(--gold);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center}
.ugv2 .rvp-scale-cards .elementor-image-box-img img{width:30px;height:30px}
.ugv2 .rvp-scale-cards .elementor-image-box-title{color:#fff;font-family:var(--sans);font-size:.98rem;font-weight:600;margin:0 0 6px}
.ugv2 .rvp-scale-cards .elementor-image-box-description{color:#C9C4B8;font-size:.8rem;margin:0}
.ugv2 .e-con.rvp-trust{--display:grid;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 260px;gap:26px;align-items:center}
.ugv2 .e-con.rvp-trust-copy{--display:block;display:block}
.ugv2 .e-con.rvp-trust-copy .elementor-widget-heading h2.elementor-heading-title{font-size:2.6rem;margin:0 0 14px}
.ugv2 .e-con.rvp-trust-copy .elementor-widget-text-editor{color:var(--muted);margin-bottom:22px;max-width:440px}
.ugv2 .e-con.rvp-trust-copy>.elementor-widget-button{width:auto}
.ugv2 .rvp-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ugv2 .rvp-checks li{position:relative;padding-left:36px;font-size:.95rem;color:var(--ink)}
.ugv2 .rvp-checks li::before{content:"\2713";position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#F7E9B5,#C9A44E);color:#14213D;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.ugv2 .e-con.rvp-trust>.elementor-widget-html{width:auto}
.ugv2 .rvp-stats{display:grid;gap:12px}
.ugv2 .rvp-stat{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .rvp-stat img{width:34px;height:34px;flex:none}
.ugv2 .rvp-stat strong{display:block;font-size:1.35rem;color:var(--ink);line-height:1.1}
.ugv2 .rvp-stat span{font-size:.78rem;color:var(--muted)}
@media(max-width:1000px){.ugv2 .e-con.rvp-hero-grid,.ugv2 .e-con.rvp-how-grid,.ugv2 .e-con.rvp-trust{grid-template-columns:1fr}.ugv2 .e-con.rvp-scale-cards{grid-template-columns:1fr 1fr}.ugv2 .rvp-how-img{max-width:320px;margin:0 auto}}
@media(max-width:600px){.ugv2 .e-con.rvp-scale-cards{grid-template-columns:1fr}.ugv2 .e-con.rvp-steps{padding:22px 18px}}

/* review page steps card: same gold border sweep on landing as the home hero card (CS 2026-09-23) */
.ugv2 .e-con.rvp-steps{position:relative}
.ugv2 .e-con.rvp-steps::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;background:conic-gradient(from var(--hc-a),transparent 0 72%,rgba(240,217,138,.5) 84%,#FFF3C4 92%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:hc-sweep 1.6s .5s cubic-bezier(.4,0,.2,1) 1 forwards}
@media(prefers-reduced-motion:reduce){.ugv2 .e-con.rvp-steps::before{display:none}}
/* review page: scale cards left-aligned, trust checklist + stats same height (CS 2026-09-23) */
.ugv2 .e-con.rvp-scale-cards>.elementor-widget-image-box{text-align:left;padding:30px 22px 26px}
.ugv2 .rvp-scale-cards .elementor-image-box-img{margin:0 0 16px}
.ugv2 .e-con.rvp-trust{align-items:stretch}
.ugv2 .e-con.rvp-trust-copy{align-self:center}
.ugv2 .e-con.rvp-checks-card{--display:flex;display:flex;flex-direction:column;justify-content:center}
.ugv2 .e-con.rvp-trust>.elementor-widget-html,.ugv2 .e-con.rvp-trust>.elementor-widget-html>.elementor-widget-container{height:100%}
.ugv2 .rvp-stats{height:100%;grid-auto-rows:1fr}
.ugv2 .rvp-scale-cards .elementor-image-box-wrapper,.ugv2 .rvp-scale-cards .elementor-image-box-content{text-align:left!important}
.ugv2 .rvp-scale-cards .elementor-position-top .elementor-image-box-img,.ugv2 .rvp-scale-cards .elementor-image-box-img{margin:0 0 16px!important}

/* home How We Review v3 (CS mockup 2026-09-23): copy + CTA | steps card with render + 2 cards */
.ugv2 .e-con.hwr2{--display:grid;display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:44px;align-items:center}
.ugv2 .e-con.hwr2-copy{--display:block;display:block}
.ugv2 .e-con.hwr2-copy .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(2.6rem,4.4vw,4rem);line-height:1;margin:0 0 .35em}
.ugv2 .e-con.hwr2-copy h2.elementor-heading-title em,.ugv2 .e-con.hwr2-steps h2.elementor-heading-title em{color:var(--gold-dark);font-style:normal}
.ugv2 .e-con.hwr2-copy .elementor-widget-text-editor{color:var(--muted);font-size:1.02rem;max-width:480px;margin-bottom:24px}
.ugv2 .e-con.hwr2-copy .faq-eyebrow-w .elementor-heading-title::after{display:none}
.ugv2 .e-con.hwr2-copy>.elementor-widget-button{width:auto}
.ugv2 .e-con.hwr2-right{gap:18px}
.ugv2 .e-con.hwr2-steps{--display:block;display:block;position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 34px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .e-con.hwr2-steps .elementor-widget-heading h2.elementor-heading-title{font-size:1.8rem;margin:0 0 6px}
.ugv2 .e-con.hwr2-steps .elementor-widget-text-editor p.sub{color:var(--muted);margin:0 0 18px;max-width:520px}
.ugv2 .hwr2-steps .rvp-ol{max-width:560px;position:relative;z-index:1}
.ugv2 .hwr2-steps .rvp-ol li{color:var(--text)}
.ugv2 .hwr2-steps .rvp-ol li strong{display:block;font-family:var(--serif);font-size:1.1rem;color:var(--ink);margin-bottom:2px}
.ugv2 .hwr2-steps .rvp-ol li:not(:last-child)::after{background:rgba(201,164,78,.35)}
.ugv2 .hwr2-el{position:absolute;right:-16px;bottom:-26px;width:290px;margin:0;pointer-events:none}
.ugv2 .hwr2-el img{width:100%;height:auto;filter:drop-shadow(0 18px 30px rgba(20,33,61,.3))}
.ugv2 .e-con.hwr2-cards{--display:grid;display:grid!important;grid-template-columns:1fr 1fr;gap:18px}
.ugv2 .hwr2-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .hwr2-card .elementor-image-box-wrapper{display:flex;align-items:center;gap:18px;text-align:left}
.ugv2 .hwr2-card .elementor-image-box-img{flex:0 0 68px;width:68px!important;min-width:68px;height:68px;border-radius:50%;background:var(--navy);border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0!important}
.ugv2 .hwr2-card .elementor-image-box-img img{width:32px;height:32px}
.ugv2 .hwr2-card .elementor-image-box-content{flex:1;min-width:0}
.ugv2 .hwr2-card .elementor-image-box-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;margin:0 0 4px;color:var(--ink)}
.ugv2 .hwr2-card .elementor-image-box-description{font-size:.88rem;color:var(--muted);margin:0}
@media(max-width:1000px){.ugv2 .e-con.hwr2{grid-template-columns:1fr}.ugv2 .hwr2-el{display:none}}
@media(max-width:600px){.ugv2 .e-con.hwr2-cards{grid-template-columns:1fr}.ugv2 .e-con.hwr2-steps{padding:22px 18px}}
@media(min-width:1001px){.ugv2 .hwr2-steps .rvp-ol,.ugv2 .e-con.hwr2-steps .elementor-widget-text-editor p.sub,.ugv2 .e-con.hwr2-steps .elementor-widget-heading{max-width:calc(100% - 230px)}}
.ugv2 .hwr2-el{width:250px;right:-8px;bottom:-18px}

/* native versions of former html blocks (2026-09-23): home what/trust lists, guide facts card, casino rows, provider tiles, hub tiles */
.ugv2 .e-con.what-list-n{--display:flex;display:flex!important;flex-direction:column;justify-content:center;gap:22px;padding:0 0 0 40px;border-left:1px solid rgba(201,168,92,.35);align-self:stretch}
.ugv2 .what-item .elementor-image-box-wrapper{display:flex;gap:14px;align-items:flex-start;text-align:left}
.ugv2 .what-item .elementor-image-box-img{flex:0 0 40px;width:40px!important;min-width:40px;height:40px;margin:2px 0 0!important}
.ugv2 .what-item .elementor-image-box-img img{width:40px;height:40px;object-fit:contain}
.ugv2 .what-item .elementor-image-box-title{font-family:var(--sans);font-size:1rem;font-weight:600;color:#fff;margin:0 0 2px}
.ugv2 .what-item .elementor-image-box-description{margin:0;font-size:.85rem;color:#B9B4A8}
.ugv2 .e-con.trust-list-n{--display:grid;display:grid!important;grid-template-columns:1fr 1fr;gap:26px 32px;padding:0 0 0 40px;border-left:1px solid var(--line)}
.ugv2 .trust-item .elementor-image-box-wrapper{display:flex;gap:14px;align-items:flex-start;text-align:left}
.ugv2 .trust-item .elementor-image-box-img{flex:0 0 52px;width:52px!important;min-width:52px;height:52px;padding:11px;border-radius:12px;background:#F1EFEA;margin:0!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.ugv2 .trust-item .elementor-image-box-img img{width:30px;height:30px;object-fit:contain}
.ugv2 .trust-item .elementor-image-box-title{font-family:var(--sans);font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 2px}
.ugv2 .trust-item .elementor-image-box-description{margin:0;font-size:.85rem;color:var(--muted)}
.ugv2 .e-con.g-facts .elementor-widget-heading h2.elementor-heading-title{color:#fff;font-family:var(--sans);font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:10px;margin:0 0 14px}
.ugv2 .e-con.g-facts .elementor-widget-heading h2.elementor-heading-title img{width:30px;height:30px;flex:none}
.ugv2 .e-con.g-facts .elementor-widget-text-editor dl{margin:0}
.ugv2 .e-con.casino-list{--display:flex;display:flex;flex-direction:column;gap:14px;margin-bottom:44px}
.ugv2 .e-con.casino-row{--display:grid;display:grid!important;grid-template-columns:40px 68px 105px minmax(0,1fr) 140px 140px;gap:14px;align-items:center;position:relative}
.ugv2 .e-con.casino-row>.elementor-widget{width:auto;min-width:0}
.ugv2 .e-con.casino-row>.row-tag-w{position:absolute;top:-12px;left:22px;width:auto}
.ugv2 .e-con.casino-row .row-tag{position:static;display:inline-block}
.ugv2 .e-con.casino-row>.e-con.row-name{--display:block;display:block;padding:0}
.ugv2 .e-con.casino-row .row-name .elementor-widget-heading h3.elementor-heading-title{font-family:var(--sans);font-size:1rem;font-weight:600;color:var(--ink);margin:0 0 2px}
.ugv2 .e-con.casino-row .row-name .elementor-widget-text-editor p{margin:0;font-size:.85rem}
.ugv2 .e-con.casino-row .row-name .rating{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--ink)}
.ugv2 .e-con.casino-row .row-points-w .row-points{margin:0}
.ugv2 .e-con.casino-row>.e-con.row-actions{--display:flex;display:flex;flex-direction:column;gap:8px;padding:0}
.ugv2 .e-con.casino-row>.e-con.row-actions .elementor-widget-button,.ugv2 .e-con.casino-row>.e-con.row-actions .elementor-button-wrapper{width:100%}
.ugv2 .e-con.casino-row>.e-con.row-actions .elementor-button{width:100%;justify-content:center}
.ugv2 .e-con.g-tiles-n{--display:grid;display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:44px}
.ugv2 .e-con.g-tile{--display:flex;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:26px 22px;border-radius:14px;color:#DDD9CF;background:linear-gradient(160deg,#102544 0%,#0B1A33 60%,#071122 100%);border:1px solid rgba(212,177,94,.45);min-height:150px}
.ugv2 .e-con.g-tile::before{content:"";position:absolute;inset:0;background:url(panel-laurel.webp) right center/cover no-repeat;opacity:.35}
.ugv2 .e-con.g-tile>*{position:relative}
.ugv2 .e-con.g-tile>.elementor-widget-text-editor:first-child{margin-bottom:auto}
.ugv2 .e-con.g-tile .elementor-widget-text-editor p{margin:0;font-size:.8rem;color:#C9C4B8}
.ugv2 .e-con.g-tile .elementor-widget-text-editor p.g-tile-tag{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);font-weight:600}
.ugv2 .e-con.g-tile .elementor-widget-heading h3.elementor-heading-title{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:#fff;margin:14px 0 4px}
.ugv2 .e-con.g-hub-n{--display:grid;display:grid!important;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:44px}
.ugv2 .e-con.g-hub-n.ghub-2{grid-template-columns:repeat(2,1fr);max-width:560px}
.ugv2 .e-con.g-hub-n.ghub-prov{grid-template-columns:repeat(4,1fr)}
.ugv2 .e-con.g-hub-n>.elementor-widget-image-box{width:auto;padding:26px 16px;border-radius:14px;color:#fff;text-align:center;background:linear-gradient(160deg,#102544 0%,#0B1A33 60%,#071122 100%);border:1px solid rgba(212,177,94,.45);transition:transform .2s,box-shadow .2s,border-color .2s}
.ugv2 .e-con.g-hub-n>.elementor-widget-image-box:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 34px rgba(11,26,51,.3)}
.ugv2 .g-hub-tile .elementor-image-box-img{width:60px!important;height:60px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(212,177,94,.5);display:flex;align-items:center;justify-content:center;margin:0 auto 10px!important}
.ugv2 .g-hub-tile .elementor-image-box-img img{width:32px;height:32px;object-fit:contain}
.ugv2 .g-hub-tile .elementor-image-box-title{font-family:var(--sans);font-size:1rem;font-weight:600;color:#fff;margin:0}
.ugv2 .g-hub-tile .elementor-image-box-title a{color:#fff}
.ugv2 .g-hub-tile .elementor-image-box-description{font-size:.74rem;color:#C9C4B8;margin:2px 0 0}
.ugv2 .g-hub-provtile .elementor-image-box-img{width:130px!important;height:60px;border-radius:12px;background:#fff;padding:8px 12px;box-sizing:border-box}
.ugv2 .g-hub-provtile .elementor-image-box-img img{width:auto;height:44px;max-width:100%;object-fit:contain}
@media(max-width:1000px){
.ugv2 .e-con.what-list-n{padding-left:0;border-left:0;padding-bottom:40px}
.ugv2 .e-con.trust-list-n{padding-left:0;border-left:0}
.ugv2 .e-con.casino-row{grid-template-columns:44px 68px 1fr 150px;row-gap:14px}
.ugv2 .e-con.casino-row>.row-points-w{grid-column:1/4;grid-row:2}
.ugv2 .e-con.casino-row>.row-bonus-w{grid-column:4;grid-row:1}
.ugv2 .e-con.casino-row>.row-bonus-w .row-bonus{border:0;padding:0}
.ugv2 .e-con.casino-row>.e-con.row-actions{grid-column:4;grid-row:2}
.ugv2 .e-con.g-tiles-n{grid-template-columns:1fr 1fr}
.ugv2 .e-con.g-hub-n{grid-template-columns:repeat(3,1fr)}
.ugv2 .e-con.g-hub-n.ghub-prov{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
.ugv2 .e-con.trust-list-n{grid-template-columns:1fr}
.ugv2 .e-con.casino-row{grid-template-columns:40px 60px 1fr;padding:18px 16px}
.ugv2 .e-con.casino-row.is-top{padding-top:28px}
.ugv2 .e-con.casino-row .row-logo{width:60px;height:60px}
.ugv2 .e-con.casino-row>.row-points-w,.ugv2 .e-con.casino-row>.row-bonus-w,.ugv2 .e-con.casino-row>.e-con.row-actions{grid-column:1/-1;grid-row:auto}
.ugv2 .e-con.casino-row>.e-con.row-actions{flex-direction:row}
.ugv2 .e-con.casino-row>.e-con.row-actions .elementor-widget-button{flex:1}
.ugv2 .e-con.g-tiles-n,.ugv2 .e-con.g-hub-n,.ugv2 .e-con.g-hub-n.ghub-prov{grid-template-columns:1fr 1fr}
}

/* guide pages: SEO-brief sections (2026-09-23): types cards, popular game tiles, learn-more feed, how-note */
.ugv2 .g-steps-card .g-how-note-w{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.ugv2 .g-steps-card .g-how-note-w p{margin:0;font-size:.9rem;color:var(--muted)}
.ugv2 .e-con.g-types{--display:grid;display:grid!important;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:44px}
.ugv2 .e-con.type-card{--display:block;display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 20px;box-shadow:0 8px 24px rgba(20,33,61,.05)}
.ugv2 .e-con.type-card .icon-ring{width:56px;height:56px;margin-bottom:14px}
.ugv2 .e-con.type-card .icon-ring img{width:28px;height:28px}
.ugv2 .e-con.type-card .elementor-widget-heading h3.elementor-heading-title{font-family:var(--sans);font-size:1.02rem;font-weight:600;color:var(--ink);margin:0 0 10px}
.ugv2 .e-con.type-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.85rem;color:var(--text)}
.ugv2 .e-con.type-card li{position:relative;padding-left:18px}
.ugv2 .e-con.type-card li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.ugv2 .e-con.g-games{--display:grid;display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:44px}
.ugv2 .e-con.g-game{--display:flex;display:flex;flex-direction:column;position:relative;overflow:hidden;padding:24px 22px;border-radius:14px;color:#DDD9CF;background:linear-gradient(160deg,#102544 0%,#0B1A33 60%,#071122 100%);border:1px solid rgba(212,177,94,.45)}
.ugv2 .e-con.g-game::before{content:"";position:absolute;inset:0;background:url(panel-laurel.webp) right center/cover no-repeat;opacity:.3}
.ugv2 .e-con.g-game>*{position:relative}
.ugv2 .e-con.g-game .p-logo{width:auto;min-width:0;height:40px;padding:6px 12px;margin-bottom:14px;display:inline-flex}
.ugv2 .e-con.g-game .p-logo img{max-height:100%;width:auto;max-width:110px}
.ugv2 .e-con.g-game .p-logo .prov-txt{font-size:.82rem;white-space:nowrap}
.ugv2 .e-con.g-game>.elementor-widget-html{width:auto;align-self:flex-start}
.ugv2 .e-con.g-game .elementor-widget-heading h3.elementor-heading-title{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:#fff;margin:0 0 4px;line-height:1.25}
.ugv2 .e-con.g-game .elementor-widget-text-editor p{margin:0 0 6px;font-size:.82rem;color:#C9C4B8}
.ugv2 .e-con.g-game .elementor-widget-text-editor p.g-tile-tag{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);font-weight:600;margin-bottom:8px}
.ugv2 .e-con.g-game>.elementor-widget-text-editor{margin-bottom:auto}
.ugv2 .e-con.g-game>.elementor-widget-button{width:auto;margin-top:16px;align-self:flex-start}
.ugv2 .rel-grid+.hwr-more,.ugv2 .g-learn-more{margin:22px 0 44px;text-align:center}
@media(max-width:1000px){.ugv2 .e-con.g-types{grid-template-columns:repeat(3,1fr)}.ugv2 .e-con.g-games{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ugv2 .e-con.g-types{grid-template-columns:1fr 1fr}.ugv2 .e-con.g-games{grid-template-columns:1fr}}

/* fallback for when Elementor's inline per-page CSS block is missing from the HTML (CS saw this intermittently 2026-09-23):
   Elementor's frontend.css uses display:var(--display) with no default, so containers collapse to inline. These low-specificity
   defaults keep every container a flex column at the kit width; the per-element inline rules still win when present. */
.e-con{--display:flex;--flex-direction:column;--container-max-width:1280px;--content-width:min(100%,1280px);--gap:20px 20px;--row-gap:20px;--column-gap:20px}

/* phones: section-head / art-head button drops under the copy on its own row (CS 2026-09-24) */
@media(max-width:600px){.ugv2 .e-con.section-head{grid-template-columns:1fr}.ugv2 .e-con.section-head>.elementor-widget-button,.ugv2 .e-con.art-head>.elementor-widget-button,.ugv2 .e-con.art-head>.elementor-widget-html{grid-column:1;grid-row:auto;align-self:start;justify-self:start;margin-top:8px}}

/* /review/ CTA: the clipboard render is tall, keep it fully inside the band instead of the 128%/-18% crop (CS 2026-09-24) */
.ugv2.rvp-trust-sec .e-con.info-cta .cta-img-w{height:92%;bottom:4%;right:36px}
.ugv2.rvp-trust-sec .e-con.info-cta .cta-img-w img{position:static;display:block}

/* mobile menu panel (CS 2026-09-24: default Elementor white submenu / grey highlight did not fit the site): solid navy overlay, hairline rows, gold active + caret on the right, nested submenu as a tinted inset */
@media(max-width:1024px){
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown{background:#0B1A33;padding:8px 20px 28px;bottom:0;height:auto!important;max-height:none!important;box-shadow:inset 0 1px 0 rgba(212,177,94,.35)}
html.ugv2-menu-open,html.ugv2-menu-open body{overflow:hidden}
/* backdrop-filter on the scrolled header would make it the containing block of the fixed panel (panel collapsed to a strip on scroll) */
html.ugv2-menu-open .ugv2-header{background:#0B1A33;backdrop-filter:none;-webkit-backdrop-filter:none}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown>ul>li{border-bottom:1px solid rgba(255,255,255,.08)}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown>ul>li:last-child{border-bottom:0}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-item{color:#F3F0E8;font-size:1rem;font-weight:500;padding:15px 0;text-shadow:none;background:none}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-item:hover,.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-item.highlighted,.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{color:var(--gold-2);background:none;text-decoration:none}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown .sub-arrow{margin-left:auto;padding:0 4px;color:var(--gold-2);fill:var(--gold-2);opacity:1;transition:transform .25s}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.highlighted .sub-arrow{transform:rotate(180deg)}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown{background:rgba(255,255,255,.05);border:1px solid rgba(212,177,94,.25);border-radius:10px;padding:6px 0;margin:0 0 14px;box-shadow:none;backdrop-filter:none}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown ul.elementor-nav-menu--dropdown li{border:0}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-sub-item{color:#C9C4B8;font-size:.92rem;font-weight:400;padding:11px 16px;background:none;border-radius:0}
.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover,.ugv2-header .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active{color:var(--gold-2);background:none}
}

/* phone/tablet header: search icon first, then the hamburger; hamburger drawn as the same 2px-stroke line icon as the search (CS 2026-09-24), Elementor's filled bars hidden */
@media(max-width:1024px){
.ugv2-header .search-w{order:1;margin-left:auto}
.ugv2-header .nav-w{order:2;margin-left:2px}
.ugv2-header .elementor-menu-toggle{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}
.ugv2-header .elementor-menu-toggle svg{display:none}
.ugv2-header .elementor-menu-toggle::before{content:"";width:19px;height:19px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 6h18M3 12h18M3 18h18'/%3E%3C/svg%3E") center/contain no-repeat}
.ugv2-header .elementor-menu-toggle.elementor-active::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E")}
}

/* mobile menu open = fade + 8px slide keyframe instead of Elementor's scaleY squash (CS 2026-09-24: "opens a small chunk then all"); close is instant */
@keyframes ugv2-menu-in{from{opacity:0;translate:0 -10px}to{opacity:1;translate:0 0}}
@media(max-width:1024px){
.ugv2-header .elementor-widget-nav-menu .elementor-menu-toggle+nav.elementor-nav-menu__container{transform:none;transition:none}
.ugv2-header .elementor-widget-nav-menu .elementor-menu-toggle:not(.elementor-active)+nav.elementor-nav-menu__container{opacity:0;visibility:hidden;overflow:hidden;animation:none}
.ugv2-header .elementor-widget-nav-menu .elementor-menu-toggle.elementor-active+nav.elementor-nav-menu__container{opacity:1;visibility:visible;animation:ugv2-menu-in .28s ease both}
}

/* Lenis smooth scroll (staging trial 2026-09-24): recommended base rules; style.css html{scroll-behavior:smooth} must not fight it */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* <=1024px: no backdrop-filter on the header at all. Any filter value (even mid-transition) makes the header the containing block of the fixed menu panel, which showed as a grey strip before the panel opened (CS 2026-09-24) */
@media(max-width:1024px){.ugv2-header,.ugv2-header.is-scrolled{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.ugv2-header.is-scrolled{background:rgba(11,26,51,.97)}}

/* ===== feedback round 2026-09-29 (Perfex 2142: Nick, Jeffrey, Zhi Qin, team) ===== */
/* CTA band render never takes taps: it sat over the button on phones (guides, providers, partnership, sponsorship) */
.ugv2 .e-con.info-cta .cta-img-w,.ugv2 .e-con.info-cta .cta-img-w img{pointer-events:none}
.ugv2 .e-con.info-cta .cta-img-w{z-index:0}
.ugv2 .e-con.info-cta>.e-con,.ugv2 .e-con.info-cta>.elementor-widget:not(.cta-img-w){position:relative;z-index:1}

/* pages without a dark hero (policy pages, 404, old pages): solid header like the scrolled one, content starts below it */
body:not(:has(.hero,.page-hero,.post-hero)) .ugv2-header{background:rgba(11,26,51,.97)}
body:not(:has(.hero,.page-hero,.post-hero)){padding-top:72px}

/* card icons: Elementor's image-box CSS set margin 0 (icon left of a centred title) and a % width (oval ring on phones) */
.ugv2 .ug-card:not(.seo-card):not(.rate-card) .elementor-image-box-img{width:68px!important;min-width:68px;height:68px!important;flex:0 0 68px;margin:0 auto 16px!important}

/* footer: social icons centred as one block (4 + 3), copyright + 18+ in a bottom bar */
.ugv2-footer .elementor-social-icons-wrapper{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px;max-width:152px;margin:0 auto}
.ugv2-footer .elementor-social-icons-wrapper>.elementor-grid-item{margin:0!important;padding:0!important}
@media(hover:none) and (pointer:coarse){.ugv2-footer .elementor-social-icons-wrapper{max-width:200px}.ugv2-footer .elementor-social-icon{width:44px;height:44px}}
.ugv2-footer .footer-bottom{position:relative;z-index:2;width:100%;max-width:1180px;margin:32px auto 0;padding:18px 20px 0;box-sizing:border-box;border-top:1px solid rgba(255,255,255,.12);text-align:center;font-size:.75rem;color:#8F8A80}
.ugv2-footer .footer-bottom p{margin:0}

/* the one affiliate disclosure line, right above the footer (printed by ugrado-v2.php); navy when the last section is navy */
.ugv2-legal{position:relative;z-index:2;margin:0;padding:26px 20px 50px;text-align:center;font-size:.78rem;line-height:1.5;color:var(--muted)}
.ugv2-legal.on-dark{background:#0B1A33;color:#A9A596;padding-bottom:112px} /* navy band runs under the dark footer overlap (footer .on-dark = -96px) so no light strip shows at the curve edges */

/* home hero (Nick): the man moves to the right, the Test Report card sits between the copy and him, and the card is lifted off the background */
@media(min-width:1280px){
	.ugv2 .e-con.hero-grid{grid-template-columns:minmax(0,1fr) 380px 250px;gap:36px}
	.ugv2 .e-con.hero-side{justify-content:flex-start}
	.ugv2 .hero-bg-w img{top:76px;height:calc(100% - 76px);left:calc(50% + 470px);transform:translateX(-67.6%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 45%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0,#000 9%);mask-composite:intersect}
}
.hero-v2 .hero-card{background:linear-gradient(160deg,rgba(30,54,98,.97) 0%,rgba(12,27,54,.98) 100%);border-color:rgba(226,195,106,.85);box-shadow:0 26px 60px rgba(0,0,0,.6),0 0 0 5px rgba(226,195,106,.08),inset 0 1px 0 rgba(255,255,255,.12)}

/* inner heroes (/guide/, /bonus/ ...): the render fades out on its left edge and the copy is a little narrower, so text never sits on the render */
@media(min-width:1001px){
	.ugv2.page-hero .page-hero-el-w img{-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 34%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 34%)}
	.ugv2.page-hero .e-con.page-hero-in>.elementor-widget{max-width:560px}
}

/* phones: slot types + provider game tiles one per row (team no. 8: two columns squeezed the lists) */
@media(max-width:600px){.ugv2 .e-con.g-types,.ugv2 .e-con.g-tiles-n{grid-template-columns:1fr}}

/* What We Do on phones (Jeffrey): the lamp in the photo sat behind the copy; a navy wash keeps the text readable */
@media(max-width:1000px){
	.ugv2.what{position:relative}
	.ugv2.what::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(11,26,51,.9) 0%,rgba(11,26,51,.8) 60%,rgba(11,26,51,.9) 100%)}
	.ugv2.what>.e-con{position:relative;z-index:1}
}
/* /bonus/ hero (Nick 3): trust row keeps one line and the gift-box render sits further right so the chip stack clears the copy */
@media(min-width:1001px){.ugv2.page-hero.bn-hero .e-con.page-hero-in>.elementor-widget-html:last-child{max-width:660px}.ugv2.page-hero .bn-hero-el-w{left:calc(50% + 820px)}}
/* <button class="btn btn-outline"> (review 'View all providers'): the kit's button{background:#FAA61A} outranked .btn-outline */
.elementor-kit-57 button.btn-outline{background-color:#fff;color:var(--gold-deep)}
.elementor-kit-57 button.btn-outline:hover{background-color:#FBF5E3;color:var(--gold-deep)}
/* home How We Review (CS 2026-09-29): the copy column starts at the top and stays in view while the steps card + method cards scroll past */
@media(min-width:1001px){.ugv2 .e-con.hwr2{align-items:start}.ugv2 .e-con.hwr2-copy{position:sticky;top:110px;align-self:start}}
/* data shortcodes inside article text (.prose, e.g. [ugv2_ranking] in a post): undo the article list numbering, bullets, underlined links
   and serif h3; the ranking list uses its compact layout because the article column is ~700px */
.prose .casino-list,.prose .table-card{margin:1.6em 0}
.prose .casino-list>li.casino-row{padding:20px 22px;margin:0}
.prose .casino-list>li.casino-row.is-top{padding-top:30px}
.prose .casino-list>li::before{content:none}
.prose .row-points{margin:0}
.prose .row-points li{padding-left:24px;margin:0}
.prose .row-points li::before{content:"\2713";counter-increment:none;top:2px;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#fff;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.prose .casino-row h3{font-family:var(--sans);font-size:1rem;margin:0 0 2px}
.prose .casino-row a,.prose .table-card a{text-decoration:none}
.prose a.btn-gold{color:#14213D}
.prose a.btn-outline{color:var(--gold-deep)}
.prose .table-card{overflow-x:auto}
@media(min-width:601px){.prose .casino-row{grid-template-columns:44px 68px 1fr 150px;row-gap:14px}.prose .row-points{grid-column:1/4;grid-row:2}.prose .row-bonus{grid-column:4;grid-row:1;border:0;padding:0}.prose .row-actions{grid-column:4;grid-row:2}}
@media(max-width:600px){.prose .casino-list>li.casino-row{padding:18px 16px}.prose .casino-list>li.casino-row.is-top{padding-top:28px}}
/* ranking + bonus tables inside article text: always the card layout (the phone version of the home tables); the 7-column table does not fit the article column */
.prose .table-card{overflow:visible;background:transparent;border:0;box-shadow:none}
.prose .rank-table{min-width:0;display:block}
.prose .rank-table thead{display:none}
.prose .rank-table tbody{display:grid;gap:14px}
.prose .rank-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"rank casino rating" "strength strength strength" "bonus bonus pay" "action action action";gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(20,33,61,.05);position:relative}
.prose .rank-table td{display:block;padding:0;border:0;background:transparent!important;font-size:.9rem}
.prose .rank-table tr.is-top{border:2px solid var(--gold);background:#FFFCF3;box-shadow:0 0 0 4px rgba(201,164,78,.12),0 12px 30px rgba(201,164,78,.18)}
.prose .rank-table tr.is-top td:first-child::before{display:none}
.prose .rank-table tr.is-top td:first-child,.prose .rank-table tr.is-top td:last-child{border-radius:0}
.prose .rank-table td.rank{grid-area:rank;font-weight:700;color:var(--ink)}
.prose .rank-table td.casino{grid-area:casino;font-weight:600;color:var(--ink)}
.prose .rank-table td.strength{grid-area:strength;color:var(--text)}
.prose .rank-table td.bonus{grid-area:bonus;font-weight:600;color:var(--ink);white-space:normal}
.prose .rank-table td.pay{grid-area:pay;justify-self:end}
.prose .rank-table td.rating{grid-area:rating;white-space:nowrap;color:var(--ink);font-weight:600}
.prose .rank-table td.action{grid-area:action;display:flex;gap:8px}
.prose .rank-table .action .btn{flex:1;justify-content:center}
.prose .rank-table .action .btn+.btn{margin-left:0}
.prose .rank-table td.bonus::before,.prose .bonus-table td.turnover::before,.prose .bonus-table td.bestfor::before{content:"Welcome bonus";display:block;font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.prose .bonus-table tr{grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"rank casino casino casino" "offer offer offer offer" ". bonus turnover bestfor" "action action action action"}
.prose .bonus-table td.offer{grid-area:offer}
.prose .bonus-table td.turnover{grid-area:turnover;color:var(--ink);font-weight:600}
.prose .bonus-table td.bestfor{grid-area:bestfor;color:var(--ink);font-weight:600;text-align:right}
.prose .bonus-table td.bonus::before{content:"Bonus value"}
.prose .bonus-table td.turnover::before{content:"Turnover"}
.prose .bonus-table td.bestfor::before{content:"Best for"}
.prose .rank-table td,.prose .rank-table th{border-bottom:0}
.prose .rank-table td.casino{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* [ugrado_rating] card + [ugv2_top_pick] inside article text: keep their own list, heading, link and white-text styles */
.prose .hc-bars,.prose .side-terms{margin-left:0}
.prose .hc-bars li,.prose .side-terms li{margin:0}
.prose .hc-bars li{padding-left:0}
.prose .side-terms li{padding:8px 4px}
.prose .hc-bars li::before,.prose .side-terms li::before{content:none}
.prose .hc-brand strong,.prose .side-offer strong{color:#fff}
.prose .side-casino h3{font-family:var(--sans);font-size:1rem;color:#fff;margin:0}
.prose .ug-rating a,.prose .side-card a{text-decoration:none}
.prose a.btn-ghost{color:#fff}
/* score bars (rating card, home hero card): long category names ('Website Usability & Securities') pushed the bar + score out of narrow cards (CS 2026-09-29) */
.hc-bars li{grid-template-columns:minmax(0,1.5fr) minmax(40px,1fr) 30px;white-space:normal;line-height:1.3}
/* [ugv2_bonus_picks layout="list"]: the /bonus/ page cards in their tablet layout (logo | text, button below) since they sit in article or narrow columns */
.bn-picks{margin:1.6em 0}
.bn-picks .bn-card{grid-template-columns:96px minmax(0,1fr)}
.bn-picks .bn-cta{grid-column:2;justify-self:start}
@media(max-width:600px){.bn-picks .bn-card{grid-template-columns:1fr}.bn-picks .bn-cta{grid-column:1;width:100%;justify-content:center}}
.prose .bn-top h3{font-family:var(--sans);font-size:1rem;margin:0 0 2px}
.prose .bn-top p{margin:0}
.prose .bn-facts{margin:12px 0 0}
.prose .bn-facts li{padding-left:0;margin:0}
.prose .bn-facts li::before{content:none}
.prose .bn-card a{text-decoration:none}
/* phones/tablets (CS 2026-09-29): the Top Bonus Pick card leads the page content instead of sitting under it. The sidebar is unwrapped
   (display:contents) so only the pick moves up; Quick Facts / author / other side cards stay after the main column. The casino ranking
   page (.listing-side without .art-side) keeps the ranking first. */
@media(max-width:1000px){
	.ugv2 .e-con.post-grid>.e-con.art-side,.ugv2 .e-con.listing-grid>.e-con.art-side,.ugv2 .e-con.g-split>.e-con.g-side{display:contents}
	.ugv2 .e-con.post-grid>.e-con.art-side>*,.ugv2 .e-con.listing-grid>.e-con.art-side>*,.ugv2 .e-con.g-split>.e-con.g-side>*{order:1}
	.ugv2 .e-con.post-grid>.e-con.art-side>:has(.side-choice),.ugv2 .e-con.listing-grid>.e-con.art-side>:has(.side-choice),.ugv2 .e-con.g-split>.e-con.g-side>:has(.side-choice){order:-1}
}

/* review test sections on phones (CS 2026-09-29): no 'Our Score' ring; number + icon + score + arrow on one row, title and subtitle full width below */
@media(max-width:600px){
	.rv-sec summary,.rv-sec.is-open summary{display:grid;grid-template-columns:auto auto 1fr auto;grid-template-areas:"num icon score chev" "t t t t";align-items:center;gap:12px 12px;padding:14px 16px}
	.rv-sec .rv-num,.rv-sec.is-open .rv-num{grid-area:num;align-self:center}
	.rv-sec summary .icon-ring{grid-area:icon}
	.rv-sec .rv-sec-t{grid-area:t}
	.rv-sec .rv-sec-score{grid-area:score;justify-self:end}
	.rv-sec .rv-chev{grid-area:chev}
	.rv-sec.is-open summary{grid-template-areas:"num icon ring ring" "t t t t"}
	.rv-sec.is-open .rv-ring{grid-area:ring;justify-self:end;width:64px;height:64px;padding:5px}
	.rv-sec.is-open .rv-ring>span{padding-top:0;font-size:.85rem;display:flex;align-items:center;justify-content:center}
	.rv-sec.is-open .rv-ring b{font-size:1.35rem}
	.rv-sec.is-open .rv-ring small{display:none} /* 'Our Score' label off on phones (CS 2026-09-29) */
	.rv-sec.is-open .rv-sec-t strong{font-size:1.2rem}
}
@media(max-width:600px){.rv-find{display:block}.rv-find>.icon-ring{margin-bottom:12px}}
/* author photo (Nelson Tan, 2026-09-29): always a circle, in the article byline and the About the Author card */
.ugv2 .author-avatar,.ugv2 .post-meta img,.ugv2 .post-meta-avatar{border-radius:50%!important;object-fit:cover;aspect-ratio:1/1}
.ugv2 .author-avatar{padding:0;border:2px solid var(--gold)}

/* About the Author card (CS mockup 2026-09-29): eyebrow heading, 96px photo with gold ring, large name, divider, bio, gold button */
.ugv2 .author-card .rv-h h2{font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}
.ugv2 .author-card .author-row{gap:18px;margin:6px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ugv2 .author-card .author-avatar{width:96px;height:96px;flex:none;border:3px solid var(--gold)}
.ugv2 .author-card .author-row strong{font-size:1.5rem;line-height:1.1;margin-bottom:4px}
.ugv2 .author-card .author-row small{font-size:.95rem;color:var(--text)}
.ugv2 .author-card p{font-size:.95rem;line-height:1.7;color:var(--text);margin:0 0 18px}
.ugv2 .author-card .btn{width:auto}

/* ===== Ugrado motion system (CS guide "ugrado-entrance-animation-refinement", 2026-09-30; site-wide) =====
   Fade (labels 450ms), fade-up (headings 24px / text 16px / buttons 12px / cards 14px, 700ms), soft-scale (visuals .975 + 10px, 850ms),
   one easing. Uses the individual translate / scale properties, so existing transforms (render positioning, hover lifts) are untouched. */
:root{--ug-ease:cubic-bezier(.22,1,.36,1)}
/* below the fold: ugv2.js marks [data-rv] with --rv-y / --rv-s / --rv-t / --rv-d */
html.ugv2-anim [data-rv]{opacity:0;translate:0 var(--rv-y,20px);scale:var(--rv-s,1);will-change:opacity,translate;transition:opacity var(--rv-t,700ms) var(--ug-ease),translate var(--rv-t,700ms) var(--ug-ease),scale var(--rv-t,700ms) var(--ug-ease);transition-delay:var(--rv-d,0ms)}
html.ugv2-anim [data-rv].is-in{opacity:1;translate:0 0;scale:1}
@media print{html.ugv2-anim [data-rv]{opacity:1!important;translate:none!important;scale:none!important}}
/* hero: plays on first paint in CSS (no JS wait). Starts at opacity .01, not 0, so the browser still counts the hero as painted
   immediately (Largest Contentful Paint) while it looks the same as a fade from nothing. Whole sequence about 1.2s. */
@keyframes ug-in{from{opacity:.01;translate:0 var(--y,0);scale:var(--s,1)}}
@media (prefers-reduced-motion:no-preference){
  /* 1 crumbs + eyebrow: fade */
  :is(.hero-v2,.page-hero,.post-hero) :is(.eyebrow,.crumbs),.page-hero-in>.elementor-widget-html:first-child,.post-hero-grid>.elementor-widget-shortcode:first-child{animation:ug-in 450ms var(--ug-ease) 100ms both}
  /* 2 main heading (also provider logo+H1, archive heading block, post title, review template H1): fade-up 24px */
  :is(.hero-copy,.page-hero-in,.rvp-hero-copy,.post-hero-grid)>:is(.elementor-widget-heading,.elementor-widget-theme-post-title):not(.eyebrow):not(.info-sub),.page-hero-in>.p-brand,.page-hero-in>.elementor-widget-shortcode,.rv-hero h1{--y:24px;animation:ug-in 700ms var(--ug-ease) 180ms both}
  /* 3 supporting copy: fade-up 16px */
  :is(.hero-v2,.page-hero,.post-hero) :is(.info-sub,.lead),.post-hero-grid>.elementor-widget-shortcode:last-child:not(:first-child){--y:16px;animation:ug-in 700ms var(--ug-ease) 300ms both}
  /* 4 buttons: fade-up 12px */
  :is(.hero-v2,.page-hero) :is(.hero-actions,.page-hero-in>.elementor-widget-button){--y:12px;animation:ug-in 700ms var(--ug-ease) 420ms both}
  /* 5 trust bar / stat chips after the copy */
  :is(.hero-copy,.page-hero-in)>.elementor-widget-html:not(:first-child){--y:12px;animation:ug-in 600ms var(--ug-ease) 520ms both}
  /* visuals: soft scale */
  .hero-v2 .hero-side,.page-hero-el-w,.page-hero .rvp-steps{--s:.97;animation:ug-in 900ms var(--ug-ease) 300ms both}
  .hero-v2 .hero-bg-w{--s:.985;animation:ug-in 1000ms var(--ug-ease) 100ms both}
}
/* hover lift: one consistent lift + faint gold edge on cards (desktop pointers only) */
@media (hover:hover){
  .rel-card,.bn-card,.casino-row,.aw-grid li,.ugv2 .seo-card,.ugv2 .rate-card,.ugv2 .hwr2-card,.ugv2 .ug-card,.ugv2 .trust-item,.info-stats>li{transition:transform .28s var(--ug-ease),box-shadow .28s ease,border-color .28s ease}
  .rel-card:hover,.bn-card:hover,.aw-grid li:hover,.ugv2 .seo-card:hover,.ugv2 .rate-card:hover,.ugv2 .hwr2-card:hover,.ugv2 .ug-card:hover,.info-stats>li:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(20,33,61,.12),0 0 0 1px rgba(201,164,78,.35)}
  .casino-row:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,33,61,.12),0 0 0 1px rgba(201,164,78,.35)}
  /* gold buttons: one soft light sweep on hover */
  .btn-gold,.ugv2 .ug-btn-gold .elementor-button{position:relative;overflow:hidden}
  .btn-gold::after,.ugv2 .ug-btn-gold .elementor-button::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);pointer-events:none}
  .btn-gold:hover::after,.ugv2 .ug-btn-gold .elementor-button:hover::after{left:135%;transition:left .75s ease}
}
@media (prefers-reduced-motion:reduce){html.ugv2-anim [data-rv]{opacity:1;translate:none;scale:none;transition:none}.btn-gold::after,.ugv2 .ug-btn-gold .elementor-button::after{display:none}}
/* Elementor text widgets with the class "sub" (section subtitles, e.g. ranking page) were picking up the static nav dropdown
   rule .sub{position:absolute;opacity:0;visibility:hidden...} and were invisible. Reset it for widgets only; the menu keeps it. */
.elementor-widget.sub{position:relative;top:auto;left:auto;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;margin-top:0;min-width:0;display:block;z-index:auto;border-radius:0}
/* bonus calculator: the Bonus Terms card fills its grid row so it matches the Result + breakdown column (CS 2026-09-30) */
.ugv2 .calc-grid>.elementor-widget-html>.elementor-widget-container{height:100%}
.ugv2 .calc-grid .calc-form{height:100%;margin:0;box-sizing:border-box}
/* long labels (BM "Lawati Laman Web MaxGoal" in the narrow review brand card) were clipped: .btn is nowrap and the gold
   hover sweep needs overflow:hidden. Let a label wrap onto a second line when it does not fit (Xin Yi 2026-09-30). */
.btn{white-space:normal;text-align:center}
.ugv2 .elementor-button .elementor-button-text{white-space:normal}
/* v2.1 #2: home ranking table had a sideways scroll bar on desktop because the Action cell kept Read Review + Visit Site
   side by side (nowrap) and pushed 28px past the card. Stack the two buttons so the table fits its card. */
@media(min-width:961px){
  .rank-table td.action{white-space:normal;width:1%}
  .rank-table td.action .btn{display:flex;justify-content:center;width:auto;min-width:118px;margin:0 0 0 auto;white-space:nowrap;font-size:.8rem;padding:9px 14px} /* one line: View Bonus / Lihat Bonus wrapped at 118px (CS 2026-10-01) */
  .rank-table td.action .btn+.btn{margin:6px 0 0 auto}
}

/* v2.1 #2: between 769 and 960px the 7-column table still needed 860px, so the stacked card layout (phones) starts at 960px */
@media (min-width:769px) and (max-width:960px){
	.table-card{overflow:visible;background:transparent;border:0;box-shadow:none}
	.rank-table{min-width:0;display:block}
	.rank-table thead{display:none}
	.rank-table tbody{display:grid;gap:14px}
	.rank-table tr{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"rank casino rating" "strength strength strength" "bonus bonus pay" "action action action";gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(20,33,61,.05);position:relative}
	.rank-table td{display:block;padding:0;border:0;background:transparent!important;font-size:.9rem}
	.rank-table tr.is-top{border:2px solid var(--gold);background:#FFFCF3;box-shadow:0 0 0 4px rgba(201,164,78,.12),0 12px 30px rgba(201,164,78,.18)}
	.rank-table tr.is-top td:first-child::before{display:none}
	.rank-table tr.is-top td:first-child,.rank-table tr.is-top td:last-child{border-radius:0}
	.rank-table td.rank{grid-area:rank;font-weight:700;color:var(--ink)}
	.rank-table td.casino{grid-area:casino;font-weight:600;color:var(--ink)}
	.rank-table td.strength{grid-area:strength;color:var(--text)}
	.rank-table td.bonus{grid-area:bonus;font-weight:600;color:var(--ink);white-space:normal}
	.rank-table td.pay{grid-area:pay;justify-self:end}
	.rank-table td.rating{grid-area:rating;white-space:nowrap;color:var(--ink);font-weight:600}
	.rank-table td.action{grid-area:action;display:flex;gap:8px}
	.rank-table .action .btn{flex:1;justify-content:center}
	.rank-table .action .btn+.btn{margin-left:0}
	.rank-table td.bonus::before,.bonus-table td.turnover::before,.bonus-table td.bestfor::before{content:"Welcome bonus";display:block;font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
	.bonus-table tr{grid-template-columns:auto minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"rank casino casino casino" "offer offer offer offer" ". bonus turnover bestfor" "action action action action"}
	.bonus-table td.offer{grid-area:offer}
	.bonus-table td.turnover{grid-area:turnover;color:var(--ink);font-weight:600}
	.bonus-table td.bestfor{grid-area:bestfor;color:var(--ink);font-weight:600;text-align:right}
	.bonus-table td.bonus::before{content:"Bonus value"}
	.bonus-table td.turnover::before{content:"Turnover"}
	.bonus-table td.bestfor::before{content:"Best for"}
}
/* v2.1 #9: the phone/tablet home hero had 70px of empty navy between the header and the eyebrow */
@media(max-width:1000px){.ugv2.hero-v2 .e-con.hero-copy{padding-top:22px}}
/* v2.1 #3: Top Bonus Pick rotates between brands (only one .side-pick visible) and the logo + name block is centred */
.side-choice .side-pick[hidden]{display:none}
.side-choice .side-casino{justify-content:center}
/* v2.1 #5: popular slot tiles show the game image (U88 catalogue art, hosted here) instead of the provider logo;
   Demo button next to Play now where U88 offers a free demo (Pragmatic Play only) */
.ugv2 .g-game .g-game-img{display:block;width:100%;height:auto;aspect-ratio:266/174;object-fit:cover;border-radius:10px;margin:0 0 12px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ugv2 .e-con.g-game-actions{--display:flex;display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:8px;margin-top:auto;padding:0}
.ugv2 .e-con.g-game-actions>.elementor-widget{width:auto;margin:0}

/* provider game tiles: U88 Demo button at the tile bottom (Pragmatic Play only, 2026-10-01) */
.ugv2 .e-con.g-tile>.elementor-widget-button.g-tile-demo{margin-top:auto;padding-top:16px;width:auto;align-self:flex-start;position:relative;z-index:1}
.ugv2 .e-con.g-tiles-n:has(.g-tile-demo) .e-con.g-tile>.elementor-widget-text-editor:first-child{margin-bottom:0} /* text on top, Demo at the bottom, tiles without a demo line up */
/* game tiles with Play Now + Demo: full-width row split 60/40 (CS 2026-10-01) */
.ugv2 .e-con.g-game-actions:has(>.elementor-widget+.elementor-widget){flex-wrap:nowrap}
.ugv2 .e-con.g-game-actions:has(>.elementor-widget+.elementor-widget)>.elementor-widget{flex:3 1 0;min-width:0}
.ugv2 .e-con.g-game-actions:has(>.elementor-widget+.elementor-widget)>.elementor-widget+.elementor-widget{flex:2 1 0}
.ugv2 .e-con.g-game-actions:has(>.elementor-widget+.elementor-widget) .elementor-button{width:100%;justify-content:center;padding-inline:10px;white-space:nowrap}

/* Light tone = cool porcelain #F4F6F9 site-wide (CS 2026-10-01: the warm champagne #F8F6F1 read as a default "AI site"
   cream). Gold is the only warm colour. Rule on grey: anything that should lift is WHITE (cards, icon tiles, FAQ panel + rows);
   table header rows are navy with gold labels. Base colours live in style.css (:root --porcelain / --line-cool). */
.ugv2 .trust-list-n .elementor-image-box-img,.ugv2 .trust-item .elementor-image-box-img{background:#fff!important;border:1px solid var(--line-cool);box-shadow:0 4px 12px rgba(20,33,61,.06)}
.ugv2 .e-con.faq-card.faq-v2,.ugv2 .faq-card.faq-v2{background:#fff!important;box-shadow:0 10px 30px rgba(20,33,61,.06)}
.ugv2 .faq-v2 .e-n-accordion-item{box-shadow:0 2px 8px rgba(20,33,61,.04)}
.ugv2 .faq-v2 .e-n-accordion-item:hover,.ugv2 .faq-v2 .e-n-accordion-item[open]{border-color:rgba(201,164,78,.55)}
/* esports tiles: game artwork with the tournament names as a small navy label at the image bottom right (CS 2026-10-01: the white
   tournament pill looked like a button) */
.ugv2 .g-game-media{position:relative}
.ugv2 .g-game-cap{position:absolute;right:10px;bottom:10px;text-align:right;max-width:calc(100% - 20px);padding:5px 10px;border-radius:7px;background:rgba(11,26,51,.85);border:1px solid rgba(212,177,94,.45);color:var(--gold-2);font-size:.6rem;font-weight:600;letter-spacing:.02em;line-height:1.3;backdrop-filter:blur(4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* provider pages: Popular games use the game-tile layout (U88 art + Play now [+ Demo]) three per row (CS 2026-10-01) */
@media(min-width:1001px){.ugv2 .e-con.g-games.g-games-3{grid-template-columns:repeat(3,1fr)}}
/* /bonus/ filter card sticks while the list scrolls (CS 2026-10-01). .bn-filter was sticky inside its own widget box (same
   height = no room), so the widget itself sticks; short screens scroll the card internally (data-lenis-prevent in ugv2.js). */
@media(min-width:1001px){
  .ugv2 .e-con.bn-grid{align-items:start}
  .ugv2 .e-con.bn-grid>.elementor-widget:has(.bn-filter){position:sticky;top:92px;align-self:start;z-index:2}
  .ugv2 .e-con.bn-grid .bn-filter{position:static;max-height:calc(100vh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
}
/* header menu on small desktops (Home item removed 2026-10-01): tighter links so BM/中文 stay on one line with the globe */
@media(min-width:1025px) and (max-width:1240px){.ugv2-header .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{padding:8px 7px;font-size:.8rem}}
/* footer social block was pinned left on phones (Elementor's grid margin beat margin:0 auto; team 2026-10-01) */
.ugv2-footer .elementor-widget-social-icons .elementor-social-icons-wrapper{margin-left:auto!important;margin-right:auto!important}
/* 中文 titles: <span class="ug-nw"> chunks never break inside, so a long title wraps between phrases (e.g. 马来西亚 / 在线赌场评测) */
.ug-nw{display:inline-block}
/* Verified badge (CS 2026-10-01): every reviewed casino; label under the logo on the review card, shield only beside names in lists */
.ug-verified{display:inline-flex;align-items:center;gap:6px;color:#12A594;font-weight:600;font-size:.95rem;line-height:1}
.ug-verified svg{width:22px;height:22px;flex:none}
.ug-verified-icon{vertical-align:-2px;margin-left:6px}
.ug-verified-icon svg{width:16px;height:16px}
.rv-brand .ug-verified{margin:2px auto 10px}
.casino-row .row-name h3{display:flex;align-items:center;gap:0}
.side-casino h3{display:flex;align-items:center}
.side-casino .ug-verified-icon{color:#2BC4B1} /* brighter teal on the navy card */
.ug-verified.is-pending,.side-casino .ug-verified-icon.is-pending{color:#9CA3AF} /* Pending = grey shield */
/* shield redrawn larger + soft green like CS's reference (2026-10-01) */
.ug-verified{color:#3FB950}
.ug-verified svg{width:30px;height:30px}
.ug-verified-icon{margin-left:8px;vertical-align:-5px}
.ug-verified-icon svg{width:24px;height:24px}
.side-casino .ug-verified-icon{color:#7DD87A}
.ug-verified.is-pending,.side-casino .ug-verified-icon.is-pending{color:#A6ADB8}
.ug-verified-icon{margin-left:3px} /* shield closer to the casino name (CS 2026-10-01) */
