/* Local review across five templates. Common rails, surfaces and responsive spacing. */
.ca-design-review .ca-site {
  --review-edge: max(clamp(20px, 4vw, 48px), calc((100% - 1160px) / 2));
  --review-width: calc(100% - 2 * var(--review-edge));
  --review-section: clamp(40px, 5.5vw, 80px);
  --review-hero-space: clamp(32px, 5.2vw, 76px);
  --review-gap: clamp(14px, 1.65vw, 24px);
  --review-inset: clamp(18px, 2.25vw, 32px);
  --review-radius: 14px;
  --review-surface: #eaf0f4;
  --review-contact: #e4ecf2;
  --review-ink: #203549;
  --review-body: #4d6172;
  --review-line: #c9d6e0;
  --review-blue: #204665;
  --review-h1: clamp(32px, 3.9vw, 56px);
  --review-h2: clamp(26px, 2.7vw, 38px);
  --review-h3: clamp(19px, 1.7vw, 24px);
  font-family: Manrope, system-ui, sans-serif;
  color: var(--review-ink);
}

.ca-design-review .ca-site .ca-header-inner,
.ca-design-review .ca-site .ca-footer-inner {
  width:var(--review-width); max-width:none; margin-inline:auto;
}
.ca-design-review .ca-site .ca-main h1 { color:var(--review-ink); font-size:var(--review-h1); line-height:1.15; letter-spacing:-.035em; font-weight:450; }
.ca-design-review .ca-site .ca-main h2 { color:var(--review-ink); font-size:var(--review-h2); line-height:1.22; letter-spacing:-.027em; font-weight:450; }
.ca-design-review .ca-site .ca-main h3 { color:var(--review-ink); font-size:var(--review-h3); line-height:1.3; letter-spacing:-.018em; font-weight:500; }
.ca-design-review .ca-site .ca-main :is(p,li) { color:var(--review-body); }

.ca-design-review .ca-site .ca-main > :is(.ca-hero, .ca-c-home-hero, .ca-sc-hero) {
  width:var(--review-width);
  max-width:none;
  margin:0 auto;
  padding:var(--review-hero-space) 0 var(--review-section);
  background:transparent;
  border:0;
}
.ca-design-review .ca-site .ca-main > :is(.ca-c-home-hero, .ca-system-hero) .ca-intro { max-width:none; }
.ca-design-review .ca-site .ca-main > :is(.ca-online-casino-accepted-hero,.ca-sc-hero,.ca-hero:not(.ca-system-hero)) :is(h1,.ca-intro) {
  max-width:var(--review-prose, 76ch);
}
.ca-design-review .ca-site .ca-main > :is(.ca-hero,.ca-c-home-hero,.ca-sc-hero) + :is(.ca-ru-v12-layout,.ca-product-content,.ca-c-directions,.ca-sc-layout) {
  margin-block-start:0; padding-block-start:0;
}
.ca-design-review .ca-site .ca-main > :is(.ca-ru-v12-layout,.ca-product-content,.ca-system-content,.ca-c-directions,.ca-c-services,.ca-home-copy-note,.ca-sc-layout,.ca-sc-information),
.ca-design-review .ca-site .ca-main > .ca-product-content:not(.ca-system-content) {
  width:var(--review-width);
  max-width:none;
  margin-inline:auto;
}
.ca-design-review .ca-site .ca-main :is(.ca-c-home-grid,.ca-ps-hero-grid) { gap:clamp(22px,4vw,58px); }
.ca-design-review .ca-site .ca-main .ca-c-home-grid { width:100%; max-width:none; margin-inline:0; }
.ca-design-review .ca-site .ca-main .ca-ps-hero-grid .ca-system-visual img { border-radius:var(--review-radius); }
.ca-design-review .ca-site .ca-main .ca-c-home-grid img { border-radius:var(--review-radius); }
.ca-design-review .ca-site .ca-main .ca-c-section-head { display:block; margin-block-end:var(--review-gap); }
.ca-design-review .ca-site .ca-main .ca-c-section-head p { max-width:var(--review-prose, 76ch); margin-block-start:12px; }
.ca-design-review .ca-site .ca-main .ca-system-section > h2,
.ca-design-review .ca-site .ca-main .ca-restored-section > h2 { max-width:none; }

.ca-design-review .ca-site .ca-main :is(.ca-restored-section + .ca-restored-section,.ca-system-section,.club-section + .club-section) {
  margin-block-start:var(--review-section);
}
.ca-design-review .ca-site .ca-main .ca-system-section { margin-block-end:0; }
.ca-design-review .ca-site .ca-main .ca-ps-intro-grid .ca-system-section { margin-block-start:0; }
.ca-design-review .ca-site .ca-main .ca-system-content { margin-block-end:var(--review-section); }
.ca-design-review .ca-site .ca-main .ca-catalogue {
  width:var(--review-width);
  max-width:none;
  margin:var(--review-section) auto;
  padding:0;
  background:transparent;
  border:0;
}
.ca-design-review .ca-site .ca-main .ca-products {
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.ca-design-review .ca-site .ca-main :is(.ca-c-direction-grid,.ca-products,.ca-ru-platform-grid,.ca-ru-format-grid,.ca-ps-audience-grid,.pf-grid,.platform-topics,.format-apps) { gap:var(--review-gap); }
.ca-design-review .ca-site .ca-main :is(.ca-c-direction,.ca-product,.ca-ru-platform-card,.ca-ru-format-card,.ca-system-step,.ca-sc-context,.pf-card,.platform-topic,.format-app,.club-visual) {
  border:0;
  border-radius:var(--review-radius);
  background:var(--review-surface);
  box-shadow:none;
  min-width:0;
}
.ca-design-review .ca-site .ca-main :is(.ca-c-direction,.ca-ru-platform-card,.ca-ru-format-card,.ca-system-step,.ca-sc-context,.pf-card,.platform-topic,.format-app) { padding:var(--review-inset); }
.ca-design-review .ca-site .ca-main .ca-c-direction .ca-c-direction-body { padding:0; }
.ca-design-review .ca-site .ca-main .ca-product { --ca-card-inset:var(--review-inset); overflow:hidden; }
.ca-design-review .ca-site .ca-main .ca-card-media { aspect-ratio:16 / 9; }
.ca-design-review .ca-site .ca-main .ca-card-media img { width:100%; height:100%; aspect-ratio:16 / 9; object-fit:contain; }
.ca-design-review .ca-site .ca-main :is(.ca-ru-cost-surface,.reading-surface-cost) { padding:0; }
.ca-design-review .ca-site .ca-main :is(.ca-ru-cost-surface,.reading-surface-cost)::before { content:none; }
.ca-design-review .ca-site .ca-main .review-platform-columns { display:block; margin:0; }
.ca-design-review .ca-site .ca-main .review-platform-illustration { display:none; }
.ca-design-review .ca-site .ca-main .review-platform-columns > .wp-block-column > .ca-oc-copy { max-inline-size:none; }
.ca-design-review .ca-site .ca-main .club-section {
  --club-line:var(--review-line);
  --club-ink:var(--review-ink);
  --club-copy:var(--review-body);
  --club-inset:var(--review-inset);
}
.ca-design-review .ca-site .ca-main .club-section > h2 { max-inline-size:none; }
.ca-design-review .ca-site .ca-main .ca-product-content > :is(p,ul,ol),
.ca-design-review .ca-site .ca-main .ca-system-section > :is(p,ul,ol),
.ca-design-review .ca-site .ca-main .ca-ru-v12-layout :is(.ca-ru-bonuses,.ca-ru-custom,.ca-ru-process,.ca-ru-cost,.ca-ru-discuss) :is(p,ul,ol):not(.ca-provider-count) { max-width:var(--review-prose, 80ch); }
.ca-design-review .ca-site .ca-main .ca-ru-v12-layout .ca-ru-platform > p { max-width:none; }

.ca-design-review .ca-site .ca-main :is(.ca-form-section,.ca-catalogue-contact.ca-system-contact,.ca-sc-layout) {
  width:var(--review-width);
  max-width:none;
  margin:var(--review-section) auto;
  padding:clamp(22px, 3.6vw, 48px);
  gap:clamp(24px, 4vw, 56px);
  border:0;
  border-radius:var(--review-radius);
  background:var(--review-contact);
}
.ca-design-review .ca-site .ca-main .ca-sc-layout .ca-sc-context { padding:0; background:transparent; }
.ca-design-review .ca-site .ca-main .ca-sc-layout .ca-sc-context svg { display:none; }
.ca-design-review .ca-site .ca-main .ca-form-copy { padding-inline:0; }
.ca-design-review .ca-site .ca-main :is(.ca-form,.ca-sc-form) { background:transparent; border:0; border-radius:0; padding:0; }
.ca-design-review .ca-site .ca-main .ca-form :is(input:not([type=radio]):not([type=checkbox]):not([type=hidden]),select,textarea) {
  border-color:var(--review-line); border-radius:6px; min-height:48px; font-size:16px; background:#fff;
}
.ca-design-review .ca-site .ca-main .ca-form textarea { min-height:136px; }
.ca-design-review .ca-site .ca-main :is(.wp-block-button__link,.ca-button,.ca-product-primary,.ca-product-cta) {
  min-height:48px; border-radius:6px; font-weight:600;
}
.ca-design-review .ca-site .ca-main :is(.ca-primary .wp-block-button__link,.ca-form button[type=submit]) { background:var(--review-blue); color:#fff; }
.ca-design-review .ca-site .ca-main .ca-c-services svg { display:none; }
.ca-design-review .ca-site .ca-main .ca-c-services .ca-service-symbol { display:none; }
.ca-design-review .ca-site .ca-main .ca-ru-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ca-design-review .ca-site .ca-main .ca-ru-format-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

@media(max-width:960px) {
  .ca-design-review .ca-site .ca-main .ca-products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .ca-design-review .ca-site .ca-main :is(.ca-c-home-grid,.ca-ps-hero-grid,.ca-c-direction-grid,.ca-ru-platform-grid,.ca-ru-format-grid) { grid-template-columns:minmax(0,1fr); }
  .ca-design-review .ca-site .ca-main :is(.ca-form-section,.ca-catalogue-contact.ca-system-contact,.ca-sc-layout) {
    width:var(--review-width);
    display:flex; flex-direction:column; align-items:stretch;
  }
  .ca-design-review .ca-site .ca-main .ca-sc-aside { display:contents; }
  .ca-design-review .ca-site .ca-main .ca-sc-form { order:3; width:100%; }
  .ca-design-review .ca-site .ca-main .ca-sc-context { order:4; }
}
@media(max-width:590px) {
  .ca-design-review .ca-site .ca-main :is(.ca-products,.ca-ps-audience-grid) { grid-template-columns:minmax(0,1fr); }
  .ca-design-review .ca-site .ca-main .ca-product .ca-card-actions { grid-template-columns:minmax(0,1fr); }
  .ca-design-review .ca-site .ca-main :is(.ca-form-section,.ca-catalogue-contact.ca-system-contact,.ca-sc-layout) { width:100%; border-radius:0; padding-inline:var(--review-edge); }
}

.ca-site .shared-casino-layout .platform-diagram {
  --diagram-edge: #507692;
  --diagram-fill: #d3e4ee;
  --diagram-accent: #7da4ba;
  position: relative;
  display: block;
  inline-size: 66px;
  block-size: 46px;
}

.ca-site .shared-casino-layout .platform-diagram > span,
.ca-site .shared-casino-layout .platform-diagram::before,
.ca-site .shared-casino-layout .platform-diagram::after,
.ca-site .shared-casino-layout .platform-diagram > span::before,
.ca-site .shared-casino-layout .platform-diagram > span::after {
  position: absolute;
}

.ca-site .shared-casino-layout .platform-diagram-catalogue > span,
.ca-site .shared-casino-layout .platform-diagram-operator > span {
  inset: 3px 2px;
  border: 1.5px solid var(--diagram-edge);
  border-radius: 6px;
  background: linear-gradient(to bottom, var(--diagram-fill) 7px, #f7fafc 7px);
}

.ca-site .shared-casino-layout .platform-diagram-catalogue > span::before {
  inset: 11px auto auto 6px;
  inline-size: 12px;
  block-size: 9px;
  border-radius: 2px;
  background: var(--diagram-accent);
  box-shadow: 17px 0 var(--diagram-fill), 34px 0 var(--diagram-fill),
    0 12px var(--diagram-fill), 17px 12px var(--diagram-accent), 34px 12px var(--diagram-fill);
  content: '';
}

.ca-site .shared-casino-layout .platform-diagram-operator > span::before {
  inset: 10px auto 4px 4px;
  inline-size: 12px;
  border-radius: 2px;
  background: var(--diagram-fill);
  content: '';
}

.ca-site .shared-casino-layout .platform-diagram-operator > span::after {
  inset: 12px 6px auto 23px;
  block-size: 4px;
  border-radius: 2px;
  background: var(--diagram-accent);
  box-shadow: 0 8px var(--diagram-fill), 0 16px var(--diagram-fill);
  content: '';
}

.ca-site .shared-casino-layout .ca-ru-diagram-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-block-end: 8px;
}

.ca-site .shared-casino-layout .ca-ru-diagram-heading > h3 {
  margin: 0;
}

.ca-site .shared-casino-layout .platform-diagram {
  flex: 0 0 auto;
}

.ca-site .shared-casino-layout .ca-ru-format-card > .platform-diagram {
  margin-block-end: 12px;
}

.ca-site .shared-casino-layout .platform-diagram-telegram > span,
.ca-site .shared-casino-layout .platform-diagram-android > span {
  inset: 3px 2px;
  border: 1.5px solid var(--diagram-edge);
  border-radius: 6px;
  background: #f7fafc;
}

.ca-site .shared-casino-layout .platform-diagram-telegram {
  --diagram-edge: #4f786c;
  --diagram-fill: #d9e8df;
}

.ca-site .shared-casino-layout .platform-diagram-telegram > span {
  inset-inline: 8px;
  border-radius: 10px;
  background: var(--diagram-fill);
}

.ca-site .shared-casino-layout .platform-diagram-telegram > span::after {
  inset: 7px 10px;
  background: var(--diagram-edge);
  clip-path: polygon(0 44%, 100% 0, 78% 100%, 52% 70%, 39% 87%, 37% 58%, 82% 18%, 27% 55%);
  content: '';
}

.ca-site .shared-casino-layout .platform-diagram-android > span {
  inset-inline: 8px;
  border-radius: 9px;
}

.ca-site .shared-casino-layout .platform-diagram-android > span::before {
  inset: 8px auto auto 10px;
  inline-size: 10px;
  block-size: 8px;
  border-radius: 2px;
  background: var(--diagram-accent);
  box-shadow: 14px 0 var(--diagram-fill), 0 11px var(--diagram-fill), 14px 11px var(--diagram-accent);
  content: '';
}

.ca-design-review .ca-site .shared-casino-layout > .ca-restored-section {
  max-inline-size: none;
  margin-block: 0;
}
.ca-design-review .ca-site .shared-casino-layout > .ca-restored-section + .ca-restored-section {
  margin-block-start: var(--review-section);
}
.ca-design-review .ca-site .shared-casino-layout > section > h2 {
  margin-block: 0 clamp(16px, 2vw, 26px);
  max-inline-size: none;
}
.ca-design-review .ca-site .shared-casino-layout .shared-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--review-gap);
}
.ca-design-review .ca-site .shared-casino-layout .shared-feature-card {
  margin-block: 0;
  padding: var(--review-inset);
  min-width: 0;
  background: var(--review-surface);
  border-radius: var(--review-radius);
}
.ca-design-review .ca-site .shared-casino-layout .shared-feature-card p {
  max-width: none;
}
.ca-design-review .ca-site .shared-casino-layout .shared-feature-card p:last-child {
  margin-bottom: 0;
}
.ca-design-review .ca-site .shared-casino-layout #formats > .shared-feature-grid {
  margin-block: var(--review-gap);
}
.ca-design-review .ca-site .shared-casino-layout #projects > #portfolio {
  margin-inline: 0;
}
.ca-design-review .ca-site #selection .club-section + .club-section,
.ca-design-review .ca-site #operations .club-section + .club-section {
  margin-block-start: clamp(24px, 3.4vw, 48px);
}
.ca-design-review .ca-site .club-section > h3 {
  margin: 0 0 14px;
}
.ca-design-review .ca-site .club-section h4 {
  font-size: 17px;
  line-height: 1.35;
  margin: 0;
}
@media(max-width:720px) {
  .ca-design-review .ca-site .shared-casino-layout .shared-feature-grid {
    grid-template-columns: minmax(0,1fr);
  }
}
