/* Mājaslapu izstrāde Rīgā (Figma 1991:380 desktop, 1999:380 mobilais).
   Pamatā majaslapas.css (hero, cenas, process, anatomija, GEO, portfolio); šeit tikai Rīgas sekcijas. */

/* ---------------------------------------------------------------- Hero */
.rg-hero .mj-hero__text{ max-width:62%; }
.rg-hero .mj-hero__intro{ max-width:560px; }

/* ---------------------------------------------------------------- Rīga un Pierīga */
.rg-area .sec-head{ margin-bottom:clamp(36px, 3.6vw, 70px); }
.rg-area .sec-head__main{ flex-direction:column; align-items:flex-start; gap:clamp(18px, 1.5vw, 28px); }
.rg-area .sec-head .h2{ --hw:15em; }
.rg-area .sec-head__side{ width:auto; }
.rg-area__intro{ max-width:680px; font-size:clamp(16px, 0.3vw + 13px, 19px); line-height:1.55; color:var(--muted); }

.rg-area__body{ display:grid; grid-template-columns:minmax(0, 900fr) minmax(0, 530fr); column-gap:clamp(32px, 4.67%, 70px); align-items:start; }

.rg-map{ position:relative; aspect-ratio:900 / 640; border-radius:var(--r-lg); overflow:hidden; isolation:isolate; color:var(--white);
  background:radial-gradient(58% 72% at 50% 51.5%, #2c4555 0%, #172532 42%, #0a1117 78%, #060a0d 100%); }
.rg-map__rings{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.rg-map__rings circle{ fill:none; stroke:rgba(187, 205, 218, 0.2); stroke-width:1; vector-effect:non-scaling-stroke; transform-origin:450px 330px; }
.rg-map__rings circle + circle{ stroke:rgba(187, 205, 218, 0.16); stroke-dasharray:3 6; }
.rg-map__note{ position:absolute; left:4%; z-index:2; font-size:12px; line-height:1.3; color:rgba(187, 205, 218, 0.62); }
.rg-map__note--top{ top:5.2%; }
.rg-map__note--bottom{ bottom:4.6%; right:4%; }
.rg-map__pts{ position:absolute; inset:0; z-index:1; margin:0; padding:0; list-style:none; }

.rg-pt{ position:absolute; left:var(--x); top:var(--y); display:flex; align-items:center; gap:7px;
  transform:translate(-5px, -50%); font-size:15px; font-weight:500; line-height:20px; white-space:nowrap; color:rgba(255, 255, 255, 0.9);
  transition:opacity var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out); }
.rg-pt i{ flex:none; width:10px; height:10px; border-radius:50%; background:#c9d6e0;
  transition:transform var(--dur-base) var(--ease-out), background-color var(--dur-base) var(--ease-out); }
.rg-pt--l{ flex-direction:row-reverse; transform:translate(calc(-100% + 5px), -50%); }
.rg-pt.is-on{ color:var(--white); }
.rg-pt.is-on i{ background:var(--signal); transform:scale(1.6); }
.rg-map.is-focus .rg-pt:not(.is-on):not(.rg-pt--riga){ opacity:0.4; }

.rg-pt--riga{ gap:16px; transform:translate(-9px, -50%); font-size:clamp(22px, 0.8vw + 14px, 30px); font-weight:600; letter-spacing:-0.02em; color:var(--white); }
.rg-pt--riga i{ position:relative; width:18px; height:18px; background:var(--signal); box-shadow:0 0 0 19px rgba(233, 80, 6, 0.26); }
.rg-pt--riga i::after{ content:""; position:absolute; inset:-19px; border-radius:50%; border:1px solid rgba(233, 80, 6, 0.55); animation:rg-ping 3.2s var(--ease-out) infinite; }
@keyframes rg-ping{ 0%{ transform:scale(1); opacity:0.9; } 70%, 100%{ transform:scale(2.4); opacity:0; } }

/* Ielidošana (klase rg-anim tikai ar JS, bez JS viss redzams uzreiz). */
.rg-map.rg-anim .rg-map__rings circle{ opacity:0; transform:scale(0.82); transition:opacity 900ms var(--ease-out), transform 1200ms var(--ease-out); }
.rg-map.rg-anim .rg-map__rings circle:nth-child(2){ transition-delay:120ms; }
.rg-map.rg-anim .rg-map__rings circle:nth-child(3){ transition-delay:240ms; }
.rg-map.rg-anim .rg-map__rings circle:nth-child(4){ transition-delay:360ms; }
.rg-map.rg-anim .rg-pt{ opacity:0; translate:0 10px; transition:opacity 500ms var(--ease-out) calc(300ms + var(--i) * 70ms), translate 700ms var(--ease-out) calc(300ms + var(--i) * 70ms), color var(--dur-base) var(--ease-out); }
.rg-map.rg-anim .rg-map__note{ opacity:0; transition:opacity 700ms var(--ease-out) 1100ms; }
.rg-map.rg-anim.is-in .rg-map__rings circle{ opacity:1; transform:scale(1); }
.rg-map.rg-anim.is-in .rg-pt{ opacity:1; translate:0 0; }
.rg-map.rg-anim.is-in .rg-map__note{ opacity:1; }
.rg-map.rg-anim.is-in.is-focus .rg-pt:not(.is-on):not(.rg-pt--riga){ opacity:0.4; transition-delay:0s; }
.rg-map.rg-anim.is-in .rg-pt.is-on{ transition-delay:0s; }

.rg-area__item{ padding:clamp(24px, 1.65vw, 31px) 0 clamp(24px, 1.6vw, 30px); border-top:1px solid var(--line-light); }
.rg-area__item h3{ font-size:clamp(22px, 0.45vw + 17px, 26px); font-weight:600; line-height:1.3; letter-spacing:-0.02em; }
.rg-area__item p{ margin-top:12px; font-size:16px; line-height:1.62; color:var(--muted); }

.rg-places{ display:flex; align-items:center; gap:clamp(20px, 2vw, 40px); margin-top:clamp(40px, 2.9vw, 56px); }
.rg-places__label{ flex:none; min-width:90px; font-size:16px; font-weight:400; color:var(--muted); }
.rg-places__list{ display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.rg-chip{ display:inline-flex; align-items:center; height:42px; padding:0 18px; border-radius:var(--r-pill);
  border:1px solid rgba(6, 10, 13, 0.14); background:var(--white); font-size:15px; font-weight:500; line-height:1; color:var(--ink);
  transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out); }
.rg-chip--main, .rg-chip.is-on{ background:var(--ink); border-color:var(--ink); color:var(--white); }
@media (hover: hover) and (pointer: fine){
  .rg-chip{ cursor:default; }
  .rg-chip:not(.rg-chip--main):hover{ border-color:rgba(6, 10, 13, 0.4); }
}

/* ---------------------------------------------------------------- Atsauksmes */
.rg-rev .sec-head .h2{ --hw:14em; }
.rg-stats{ display:grid; grid-template-columns:repeat(4, 1fr); border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.rg-stat{ padding:36px 32px 26px; border-left:1px solid var(--line-light); }
.rg-stat:first-child{ border-left:0; padding-left:0; }
.rg-stat__num{ display:flex; align-items:flex-start; gap:14px; }
.rg-stat__num > span:first-child{ font-size:clamp(64px, 3.6vw + 34px, 104px); font-weight:600; line-height:1; letter-spacing:-0.05em; }
.rg-stat__num .stars{ margin-top:18px; }
.rg-stat__num .stars svg{ width:18px; height:18px; }
.rg-stat__label{ margin-top:18px; font-size:14px; font-weight:500; color:var(--signal-text); }
.rg-stat__text{ margin-top:8px; font-size:15px; color:var(--muted); }

.rg-rev__head{ display:flex; align-items:center; gap:16px; margin:clamp(48px, 4.7vw, 90px) 0 clamp(28px, 2.4vw, 46px); }
.rg-rev__title{ font-size:clamp(24px, 0.6vw + 18px, 30px); font-weight:600; letter-spacing:-0.015em; }
.rg-rev__head .chip{ height:32px; padding:0 12px; color:rgba(6, 10, 13, 0.7); }
.rg-rev__nav{ display:none; gap:10px; }
.rg-rev__nav .icon-btn{ width:52px; height:52px; }
.rg-rev__note{ margin:-12px 0 28px; font-size:14px; color:var(--muted); }

.rg-rev__grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; align-items:start; }
.rg-rev__col{ display:flex; flex-direction:column; gap:24px; min-width:0; }

.rg-card{ display:flex; flex-direction:column; margin:0; padding:clamp(28px, 1.9vw, 36px); border-radius:28px; background:#dfe5ea; color:var(--ink);
  transition:box-shadow var(--dur-slow) var(--ease-out); }
.rg-card__quote{ width:32px; height:32px; color:rgba(52, 81, 99, 0.35); }
.rg-card blockquote{ margin:0; }
.rg-card__title{ margin-top:24px; font-size:clamp(22px, 0.5vw + 16px, 28px); font-weight:600; line-height:1.18; letter-spacing:-0.02em; }
.rg-card__text{ margin-top:22px; font-size:15px; line-height:1.62; color:var(--muted); }
.rg-card__title + .rg-card__text{ margin-top:16px; }
.rg-card__text--empty{ font-style:italic; }
.rg-card__more{ align-self:flex-start; margin-top:10px; padding:0; border:0; background:none; font:inherit; font-size:15px; font-weight:600; color:var(--signal-text); cursor:pointer; }
.rg-card__more[hidden]{ display:none; }
.rg-card__more:focus-visible{ outline:2px solid currentColor; outline-offset:3px; border-radius:4px; }
.rg-card__author{ display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:24px; }
.rg-card .stars svg{ width:12px; height:12px; }

.rg-card--dark{ background:var(--ink); color:var(--white); }
.rg-card--dark .rg-card__quote{ color:var(--signal); }
.rg-card--dark .rg-card__text{ color:rgba(187, 205, 218, 0.85); }
.rg-card--dark .rg-card__more{ color:var(--signal); }
@media (hover: hover) and (pointer: fine){
  .rg-card:hover{ box-shadow:0 22px 50px -28px rgba(6, 10, 13, 0.35); }
}

/* ---------------------------------------------------------------- Planšete un telefons */
@media (max-width: 1500px){
  .rg-places{ gap:20px; }
  .rg-places__label{ min-width:0; }
  .rg-places__list{ gap:8px; }
  .rg-chip{ padding:0 15px; }
}

@media (max-width: 1280px){
  .rg-hero .mj-hero__text{ max-width:64%; }
  .rg-pt{ font-size:13px; }
}

@media (max-width: 1024px){
  .rg-hero .mj-hero__text{ max-width:none; }

  .rg-area__body{ grid-template-columns:1fr; row-gap:24px; }
  .rg-map{ aspect-ratio:350 / 420; border-radius:var(--r-md); }
  .rg-map__note{ font-size:11px; }
  .rg-map__note--bottom{ display:none; }
  .rg-pt{ top:calc(var(--y) + var(--dy, 0%)); font-size:13px; gap:5px; transform:translate(-4px, -50%); }
  .rg-pt i{ width:8px; height:8px; }
  .rg-pt--l{ flex-direction:row; transform:translate(-4px, -50%); }
  .rg-pt--lm{ flex-direction:row-reverse; transform:translate(calc(-100% + 4px), -50%); }
  .rg-pt--riga{ gap:12px; font-size:22px; transform:translate(-7px, -50%); }
  .rg-pt--riga i{ width:14px; height:14px; box-shadow:0 0 0 12px rgba(233, 80, 6, 0.26); }
  .rg-pt--riga i::after{ inset:-12px; }
  .rg-area__item{ padding:22px 0 20px; }
  .rg-area__item h3{ font-size:21px; }
  .rg-area__item p{ font-size:15px; }
  .rg-places{ flex-direction:column; align-items:flex-start; gap:12px; margin-top:28px; }
  .rg-chip{ height:38px; padding:0 14px; font-size:14px; }

  .rg-stats{ grid-template-columns:1fr 1fr; }
  .rg-stat{ padding:24px 0 20px 16px; }
  .rg-stat:nth-child(odd){ border-left:0; padding-left:0; }
  .rg-stat:nth-child(n + 3){ border-top:1px solid var(--line-light); }
  .rg-stat__num > span:first-child{ font-size:48px; }
  .rg-stat__num{ gap:10px; }
  .rg-stat__num .stars{ margin-top:12px; }
  .rg-stat__num .stars svg{ width:11px; height:11px; }

  .rg-rev__head{ flex-wrap:wrap; margin:40px 0 24px; }
  .rg-rev__title{ font-size:24px; }
  .rg-rev__nav{ display:flex; width:100%; margin-top:8px; }
  .rg-rev__note{ margin:-8px 0 20px; }
  .rg-rev__grid{ display:flex; gap:16px; align-items:stretch; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none;
    margin-right:calc(-1 * var(--gutter)); padding-right:var(--gutter); }
  .rg-rev__grid::-webkit-scrollbar{ display:none; }
  .rg-rev__col{ display:contents; }
  .rg-card{ flex:none; width:min(300px, 80vw); min-height:460px; padding:28px 24px; scroll-snap-align:start; }
  .rg-card--dark{ order:-1; }
  .rg-card__title{ margin-top:20px; font-size:24px; }
  .rg-card__text{ font-size:15px; }
  .rg-card:not(.is-open) .rg-card__text{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:8; overflow:hidden; }
  .rg-card__title + .rg-card__text{ -webkit-line-clamp:6; }
  .rg-card.is-open{ min-height:0; }
}

@media (prefers-reduced-motion: reduce){
  .rg-pt--riga i::after{ animation:none; display:none; }
  .rg-map.rg-anim .rg-map__rings circle, .rg-map.rg-anim .rg-pt, .rg-map.rg-anim .rg-map__note{ opacity:1; transform:none; translate:none; transition:none; }
}
