/*
 Theme Name:   Allu
 Description:  Proudly crafted by Nhan Le
 Template:     bricks
 Version:      1.0
 Text Domain:  bricks
*/

*:focus {
  outline: none;
}

/** Header **/
.bc-burguer-style8__right-icon {
  width: calc(var(--burguer-dimensions) / 4);
}

/** Home Logos **/

/* ─── RESET ──────────────────────────────────────────────────────── */
.sw * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.sw {
  font-family: "Nunito", sans-serif;
  width: 100%;
}

/* ─── DEFAULT ROW ────────────────────────────────────────────────── */
.images-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  padding: 32px 0;
}
.img-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  cursor: pointer;
}
.img-circle {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: #fbf6f1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.img-circle img {
  width: 75%;
  height: 75%;
  object-fit: contain;
}
.img-label {
  font-size: 20px;
  font-weight: 700;
  color: #000000;
  text-transform: uppercase;
  font-family: "Tinos";
}

/* ─── DETAIL PANEL ───────────────────────────────────────────────── */
.detail-panel {
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px 0;
  min-height: 420px;
  opacity: 0;
  gap: 48px;
}
.detail-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  flex: 0 0 300px;
  cursor: pointer;
}
.detail-left .img-circle {
  width: 300px;
  height: 300px;
}

/* ─── ORBIT AREA ─────────────────────────────────────────────────── */
.orbit-area {
  position: relative;
  width: 450px;
  height: 450px;
  flex-shrink: 0;
}

/* ─── RINGS ──────────────────────────────────────────────────────── */
/*
    Desktop ring widths: 120 | 200 | 280 | 360 | 440
    Radii (width / 2):    60 | 100 | 140 | 180 | 220
    These MUST match SW_RADII.desktop in the <script> below.
  */
.orbit-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid #cccccc;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.6;
}
.orbit-ring:nth-child(1) {
  width: 120px;
  height: 120px;
}
.orbit-ring:nth-child(2) {
  width: 200px;
  height: 200px;
}
.orbit-ring:nth-child(3) {
  width: 280px;
  height: 280px;
}
.orbit-ring:nth-child(4) {
  width: 360px;
  height: 360px;
}
.orbit-ring:nth-child(5) {
  width: 440px;
  height: 440px;
}

/* ─── DOT TRACKS ─────────────────────────────────────────────────── */
.dot-track {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
}
.dot-track.cw {
  animation: orbitSpin var(--spd, 20s) linear infinite;
}
.dot-track.ccw {
  animation: orbitSpin var(--spd, 20s) linear infinite reverse;
}
@keyframes orbitSpin {
  to {
    transform: rotate(360deg);
  }
}

.ring-dot {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #000000;
  transform: translate(-50%, -50%);
}

/* Desktop dot positions — radii: 60 | 100 | 140 | 180 | 220 */
.dot-track[data-ring="1"] .ring-dot:nth-child(1) {
  top: -60px;
  left: 0;
}
.dot-track[data-ring="1"] .ring-dot:nth-child(2) {
  top: 42px;
  left: 42px;
}
.dot-track[data-ring="2"] .ring-dot:nth-child(1) {
  top: -100px;
  left: 0;
}
.dot-track[data-ring="2"] .ring-dot:nth-child(2) {
  top: 70px;
  left: -70px;
}
.dot-track[data-ring="2"] .ring-dot:nth-child(3) {
  top: 20px;
  left: 96px;
}
.dot-track[data-ring="3"] .ring-dot:nth-child(1) {
  top: -140px;
  left: 0;
}
.dot-track[data-ring="3"] .ring-dot:nth-child(2) {
  top: 99px;
  left: 99px;
}
.dot-track[data-ring="3"] .ring-dot:nth-child(3) {
  top: 120px;
  left: -70px;
}
.dot-track[data-ring="3"] .ring-dot:nth-child(4) {
  top: -70px;
  left: 120px;
}
.dot-track[data-ring="4"] .ring-dot:nth-child(1) {
  top: -180px;
  left: 0;
}
.dot-track[data-ring="4"] .ring-dot:nth-child(2) {
  top: 0;
  left: 180px;
}
.dot-track[data-ring="4"] .ring-dot:nth-child(3) {
  top: 148px;
  left: -100px;
}
.dot-track[data-ring="5"] .ring-dot:nth-child(1) {
  top: -220px;
  left: 0;
}
.dot-track[data-ring="5"] .ring-dot:nth-child(2) {
  top: 156px;
  left: 156px;
}
.dot-track[data-ring="5"] .ring-dot:nth-child(3) {
  top: 70px;
  left: -208px;
}
.dot-track[data-ring="5"] .ring-dot:nth-child(4) {
  top: -170px;
  left: 140px;
}

/* ─── LOGO TRACKS ────────────────────────────────────────────────── */
.logo-track {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
}
.logo-track.cw {
  animation: orbitSpin var(--spd, 22s) linear infinite;
}
.logo-track.ccw {
  animation: orbitSpin var(--spd, 22s) linear infinite reverse;
}

/* positioned by JS only */
.logo-slot {
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* this layer counter-rotates so text/logo stays upright */
.logo-content {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: counterSpin var(--spd, 22s) linear infinite reverse;
  transform-origin: center center;
}

.logo-track.ccw .logo-content {
  animation-direction: normal;
}

@keyframes counterSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}

.logo-slot span {
  font-size: 12px;
  font-weight: 700;
  color: #2a2a2a;
  font-style: italic;
  white-space: nowrap;
}
.logo-slot span.serif {
  font-family: "Tinos", Georgia, serif;
}
.logo-slot span.red {
  color: #b00020;
}
.logo-slot img {
  display: block;
  height: 50px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
}

/* ─── TABLET: ≤ 994px ────────────────────────────────────────────── */
@media (max-width: 994px) {
  .images-row {
    gap: 24px;
    padding: 24px 0;
  }
  .img-circle {
    width: 120px !important;
    height: 120px !important;
  }
  .detail-left .img-circle {
    width: 120px !important;
    height: 120px !important;
  }
  .img-label {
    font-size: 13px;
  }
  .detail-panel {
    flex-direction: column;
    padding: 20px 0;
    min-height: unset;
    gap: 16px;
  }
  .detail-left {
    flex: unset;
  }
  .orbit-area {
    width: 300px;
    height: 300px;
  }

  /* Tablet ring widths: 80 | 135 | 190 | 245 | 300 → radii: 40 | 67 | 95 | 122 | 150 */
  .orbit-ring:nth-child(1) {
    width: 80px;
    height: 80px;
  }
  .orbit-ring:nth-child(2) {
    width: 135px;
    height: 135px;
  }
  .orbit-ring:nth-child(3) {
    width: 190px;
    height: 190px;
  }
  .orbit-ring:nth-child(4) {
    width: 245px;
    height: 245px;
  }
  .orbit-ring:nth-child(5) {
    width: 300px;
    height: 300px;
  }

  /* Tablet dot positions — radii: 40 | 67 | 95 | 122 | 150 */
  .dot-track[data-ring="1"] .ring-dot:nth-child(1) {
    top: -40px;
    left: 0;
  }
  .dot-track[data-ring="1"] .ring-dot:nth-child(2) {
    top: 28px;
    left: 28px;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(1) {
    top: -67px;
    left: 0;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(2) {
    top: 47px;
    left: -47px;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(3) {
    top: 14px;
    left: 64px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(1) {
    top: -95px;
    left: 0;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(2) {
    top: 67px;
    left: 67px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(3) {
    top: 82px;
    left: -46px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(4) {
    top: -46px;
    left: 82px;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(1) {
    top: -122px;
    left: 0;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(2) {
    top: 0;
    left: 122px;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(3) {
    top: 100px;
    left: -66px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(1) {
    top: -150px;
    left: 0;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(2) {
    top: 106px;
    left: 106px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(3) {
    top: 47px;
    left: -141px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(4) {
    top: -115px;
    left: 95px;
  }

  .logo-slot img {
    height: 30px;
    max-width: 70px;
  }
  .logo-slot span {
    font-size: 9px !important;
  }
}

/* ─── MOBILE: ≤ 480px ────────────────────────────────────────────── */
@media (max-width: 480px) {
  .images-row {
    gap: 24px;
    padding: 16px 8px;
    flex-wrap: wrap;
  }
  .img-circle {
    width: 90px !important;
    height: 90px !important;
  }
  .detail-left .img-circle {
    width: 90px !important;
    height: 90px !important;
  }
  .img-label {
    font-size: 11px;
  }
  .detail-panel {
    gap: 32px;
  }
  .orbit-area {
    width: 240px;
    height: 240px;
  }

  /* Mobile ring widths: 64 | 108 | 152 | 196 | 240 → radii: 32 | 54 | 76 | 98 | 120 */
  .orbit-ring:nth-child(1) {
    width: 64px;
    height: 64px;
  }
  .orbit-ring:nth-child(2) {
    width: 108px;
    height: 108px;
  }
  .orbit-ring:nth-child(3) {
    width: 152px;
    height: 152px;
  }
  .orbit-ring:nth-child(4) {
    width: 196px;
    height: 196px;
  }
  .orbit-ring:nth-child(5) {
    width: 240px;
    height: 240px;
  }

  /* Mobile dot positions — radii: 32 | 54 | 76 | 98 | 120 */
  .dot-track[data-ring="1"] .ring-dot:nth-child(1) {
    top: -32px;
    left: 0;
  }
  .dot-track[data-ring="1"] .ring-dot:nth-child(2) {
    top: 22px;
    left: 22px;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(1) {
    top: -54px;
    left: 0;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(2) {
    top: 38px;
    left: -38px;
  }
  .dot-track[data-ring="2"] .ring-dot:nth-child(3) {
    top: 10px;
    left: 52px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(1) {
    top: -76px;
    left: 0;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(2) {
    top: 54px;
    left: 54px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(3) {
    top: 66px;
    left: -38px;
  }
  .dot-track[data-ring="3"] .ring-dot:nth-child(4) {
    top: -38px;
    left: 66px;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(1) {
    top: -98px;
    left: 0;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(2) {
    top: 0;
    left: 98px;
  }
  .dot-track[data-ring="4"] .ring-dot:nth-child(3) {
    top: 80px;
    left: -54px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(1) {
    top: -120px;
    left: 0;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(2) {
    top: 85px;
    left: 85px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(3) {
    top: 38px;
    left: -113px;
  }
  .dot-track[data-ring="5"] .ring-dot:nth-child(4) {
    top: -92px;
    left: 76px;
  }

  .logo-slot img {
    height: 25px;
    max-width: 50px;
  }
  .logo-slot span {
    font-size: 8px !important;
  }
}
