/* Detail completion: keep backend facts and existing controls, clarify hierarchy. */
.detail-page .detail-hero { gap: 24px; }
.detail-page .detail-decision { box-shadow: none; gap: 14px; }
.detail-page .detail-decision__facts { gap: 10px; padding-block: 12px; }
.detail-page .detail-decision__lead { -webkit-line-clamp: 2; }
.detail-page .detail-body { margin-top: 24px; }
.detail-page .detail-main > .detail-card { border-color: transparent; border-bottom-color: var(--tint-line-200); border-radius: 0; padding: 24px 4px; box-shadow: none; background: transparent; }
.detail-page .detail-main { gap: 0; }
.detail-page .detail-card:hover { box-shadow: none; }
.detail-page .detail-card__title { letter-spacing: -.02em; }
.detail-page .detail-prose { max-width: 70ch; }
.detail-page .public-place-offers > article { padding-block: 20px; border-bottom: 1px solid var(--tint-line-200); }
.detail-page .public-place-offers > article:first-of-type { padding-top: 0; }
.detail-page .public-place-offers > article:last-child { border: 0; padding-bottom: 0; }
.detail-page .public-place-offers > article > h3 { margin: 0 0 8px; font-size: 19px; line-height: 1.35; }
.detail-page .public-place-offers > article > h3 a { color: var(--brand-turf); text-underline-offset: 4px; }
.detail-page .public-place-offers > article > p { color: var(--detail-ink-soft); line-height: 1.65; }
.detail-page .public-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; }
.detail-page .public-facts > div { min-width: 0; }
.detail-page .public-price-list { margin-top: 12px; }
.detail-page .detail-section-nav { display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 12px 0; margin-top: 24px; border-block: 1px solid var(--tint-line-200); }
.detail-page .detail-section-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; border-radius: 10px; color: var(--brand-turf); font-size: 15px; font-weight: 650; text-decoration: none; }
.detail-page .detail-section-nav a:hover { background: var(--tint-turf-050); }
.detail-page :is(.detail-section-nav a,.place-gallery__thumb,.place-gallery__nav):focus-visible { outline: 3px solid var(--brand-turf); outline-offset: 3px; }
.detail-page :is(#activities,#about,#pricing,#map,#reviews) { scroll-margin-top: 100px; }
.detail-page .place-gallery__thumbs { overflow-x: auto; scrollbar-width: thin; padding: 4px; }
.detail-page .place-gallery__thumbs-track { position: relative; }
.detail-page .place-gallery__thumb { flex-shrink: 0; }
@media (max-width: 980px) {
 .detail-page .detail-hero { gap: 14px; }
 .detail-page .place-gallery__image { aspect-ratio: 3 / 2; max-height: 400px; object-fit: contain; }
 .detail-page .detail-photo-placeholder { min-height: 0; height: 220px; }
}
@media (max-width: 640px) {
 .detail-page .detail-title { font-size: 26px; line-height: 1.2; }
 .detail-page .detail-decision { padding: 14px; gap: 12px; }
 .detail-page .detail-org-badge { padding: 8px 10px; }
 .detail-page .detail-org-badge__icon { width: 30px; height: 30px; }
 .detail-page .detail-decision__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .detail-page .detail-decision__cell { min-width: 0; gap: 6px; }
 .detail-page .detail-decision__cell-body strong { overflow-wrap: anywhere; font-size: 14px; }
 .detail-page .detail-decision__price-value { font-size: 28px; }
 .detail-page .detail-decision__price-value--soft { font-size: 21px; }
 .detail-page .detail-decision__facts { gap: 8px; padding-block: 10px; }
 .detail-page .detail-decision__cta-row { flex-wrap: wrap; }
 .detail-page .detail-decision__cta-row .detail-cta { min-width: 100px; }
 .detail-page .detail-body { margin-top: 4px; }
 .detail-page .detail-main > .detail-card { padding: 24px 2px; }
 .detail-page .detail-section-nav { gap: 2px; margin-top: 20px; }
 .detail-page .detail-section-nav a { padding-inline: 12px; }
 .detail-page .detail-decision__lead { display: none; }
 .detail-page .detail-decision__more { align-self: flex-start; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
 .detail-page *, .detail-page *::before, .detail-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Unified place detail layout: single cohesive grid with sticky sidebar */
.detail-page .detail-body {
  display: grid;
  grid-template-areas:
    "media    sidebar"
    "main     sidebar";
  grid-template-columns: minmax(0, 1fr) minmax(340px, 424px);
  gap: 24px;
  margin-top: 20px;
  align-items: start;
}

.detail-page .detail-hero__media {
  grid-area: media;
  min-width: 0;
  margin-bottom: 24px;
}

.detail-page .detail-main {
  grid-area: main;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.detail-page .detail-side {
  grid-area: sidebar;
  min-width: 0;
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 104px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.detail-page .detail-side::-webkit-scrollbar {
  display: none;
}

.detail-page .detail-decision {
  box-shadow: none;
  gap: 16px;
}

.detail-decision__address-link {
  color: var(--detail-ink);
  text-decoration: underline;
  text-decoration-color: var(--tint-turf-300, #a8d59b);
  text-underline-offset: 3px;
  transition: color .15s ease, text-decoration-color .15s ease;
}

.detail-decision__address-link:hover {
  color: var(--brand-turf);
  text-decoration-color: var(--brand-turf);
}

.detail-page .detail-section-nav {
  display: none !important;
}

@media (max-width: 980px) {
  .detail-page .detail-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .detail-page .detail-hero__media {
    order: 1;
    /* A definite width prevents Swiper's slide widths feeding back into this
       flex item's intrinsic size (five slides otherwise grow on each resize). */
    width: 100%;
    margin-bottom: 0;
  }
  .detail-page .detail-side {
    order: 2;
    position: static;
    display: contents;
  }
  .detail-page .detail-decision {
    order: 2;
  }
  .detail-page .detail-main {
    order: 3;
    gap: 0;
  }
  .detail-page .detail-share {
    order: 4;
  }
  .detail-page .detail-disclaimer {
    order: 5;
  }
  .detail-page .detail-sponsor-slot {
    order: 6;
  }
}


.detail-age-program-note {
  margin: 6px 0 0; max-width: 65ch;
  color: var(--text-muted, #52675b); font-size: 13px; font-weight: 400; line-height: 1.6;
}
.detail-age-program-hint { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; font-weight: 400; }

/* ------------------------------------------------------------
   Place Detail - Polished Secondary Action Links & Micro-animations
   ------------------------------------------------------------ */

/* 2-column balanced grid layout */
.detail-page .detail-decision__cta-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 2px;
}

.detail-page .detail-decision__cta:empty,
.detail-page .detail-decision__cta-row:empty {
  display: none !important;
}

/* Label responsiveness: by default, show short labels and hide full labels */
.detail-cta__label-full {
  display: none;
}
.detail-cta__label-short {
  display: inline;
}

/* If odd number of buttons (or only 1 button), last one spans full width with centered optical balance */
.detail-page .detail-decision__cta-row > :last-child:nth-child(odd) {
  grid-column: span 2 !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
}

.detail-page .detail-decision__cta-row > :last-child:nth-child(odd) .detail-cta__label,
.detail-page .detail-decision__cta-row > :last-child:nth-child(odd) .km-phone-label {
  flex: 0 0 auto !important;
  text-align: center !important;
}

.detail-page .detail-decision__cta-row > :last-child:nth-child(odd) .detail-cta__label-short {
  display: none !important;
}

.detail-page .detail-decision__cta-row > :last-child:nth-child(odd) .detail-cta__label-full {
  display: inline !important;
}

.detail-page .detail-decision__cta-row > :last-child:nth-child(odd)::after {
  position: absolute;
  right: 16px;
  top: 50%;
  margin-top: -3px;
  margin-left: 0;
}

/* Solo CTA on a place without a phone: elevated to prominent Primary Hero CTA */
.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child {
  min-height: 52px !important;
  border-radius: 14px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
  background: var(--brand-turf, #15803D) !important;
  color: #FFFFFF !important;
  border-color: transparent !important;
  box-shadow: 0 12px 26px -16px rgba(19, 111, 56, .9) !important;
}

.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child .detail-cta__icon,
.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child .km-phone-icon {
  background: rgba(255, 255, 255, 0.22) !important;
  color: #FFFFFF !important;
  border: none !important;
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px !important;
}

.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child:hover {
  background: var(--brand-spruce, #14532D) !important;
  color: #FFFFFF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 34px -16px rgba(19, 111, 56, .75) !important;
}

.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child:active {
  transform: translateY(0) scale(0.98) !important;
}

.detail-page .detail-decision__cta--no-phone .detail-decision__cta-row > .detail-cta:only-child::after {
  display: none !important;
}

/* Base button styling */
.detail-page .detail-decision__cta-row .detail-cta {
  position: relative;
  min-height: 46px !important;
  padding: 8px 14px !important;
  border-radius: 12px !important;
  border: 1px solid #E2E8F0 !important;
  background: #FFFFFF !important;
  color: #1F2937 !important;
  font-family: inherit;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.2s ease,
              background-color 0.2s ease,
              color 0.2s ease !important;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Icon badge within button */
.detail-page .detail-decision__cta-row .detail-cta__icon,
.detail-page .detail-decision__cta-row .km-phone-icon {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
              background-color 0.2s ease !important;
}

.detail-page .detail-decision__cta-row .detail-cta__icon svg,
.detail-page .detail-decision__cta-row .km-phone-icon svg {
  width: 17px !important;
  height: 17px !important;
  display: block;
}

/* Label typography */
.detail-page .detail-decision__cta-row .detail-cta__label,
.detail-page .detail-decision__cta-row .km-phone-label {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 1 1 auto;
  text-align: left;
}

/* Arrow indicator on hover */
.detail-page .detail-decision__cta-row .detail-cta::after {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg) translateX(-2px);
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  margin-left: auto;
  flex-shrink: 0;
}

.detail-page .detail-decision__cta-row .detail-cta:hover::after {
  opacity: 0.45;
  transform: rotate(45deg) translateX(0);
}

/* Hover elevation & Active tactile bounce */
.detail-page .detail-decision__cta-row .detail-cta:hover {
  transform: translateY(-2px) !important;
  text-decoration: none !important;
}

.detail-page .detail-decision__cta-row .detail-cta:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* 1. Website button */
.detail-page .detail-cta--website .detail-cta__icon {
  background: #F0FDF4;
  color: #166534;
  border: 1px solid rgba(187, 247, 208, 0.8);
}
.detail-page .detail-cta--website:hover {
  border-color: #86EFAC !important;
  background: #F0FDF4 !important;
  color: #14532D !important;
  box-shadow: 0 6px 16px -2px rgba(22, 101, 52, 0.14), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--website:hover .detail-cta__icon {
  background: #DCFCE7;
  transform: scale(1.12);
}

/* 2. Route / Map button */
.detail-page .detail-cta--route .detail-cta__icon {
  background: #EFF6FF;
  color: #1D4ED8;
  border: 1px solid rgba(191, 219, 254, 0.8);
}
.detail-page .detail-cta--route:hover {
  border-color: #93C5FD !important;
  background: #EFF6FF !important;
  color: #1E40AF !important;
  box-shadow: 0 6px 16px -2px rgba(37, 99, 235, 0.16), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--route:hover .detail-cta__icon {
  background: #DBEAFE;
  transform: scale(1.12) translate(1px, -1px);
}

/* 3. Instagram button */
.detail-page .detail-cta--instagram .detail-cta__icon {
  background: linear-gradient(135deg, #FFF1F2 0%, #FDF2F8 100%);
  color: #E1306C;
  border: 1px solid rgba(254, 205, 211, 0.8);
}
.detail-page .detail-cta--instagram:hover {
  border-color: #F472B6 !important;
  background: linear-gradient(135deg, #FFF1F2 0%, #FDF2F8 100%) !important;
  color: #9D174D !important;
  box-shadow: 0 6px 16px -2px rgba(225, 48, 108, 0.2), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--instagram:hover .detail-cta__icon {
  background: linear-gradient(135deg, #FFE4E6 0%, #FCE7F3 100%);
  transform: scale(1.12) rotate(-4deg);
}

/* 4. Ticket link (e.g. iTicket) */
.detail-page .detail-cta--ticket .detail-cta__icon {
  background: #FAF5FF;
  color: #7E22CE;
  border: 1px solid rgba(233, 213, 255, 0.8);
}
.detail-page .detail-cta--ticket:hover {
  border-color: #C084FC !important;
  background: #FAF5FF !important;
  color: #581C87 !important;
  box-shadow: 0 6px 16px -2px rgba(126, 34, 206, 0.18), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--ticket:hover .detail-cta__icon {
  background: #F3E8FF;
  transform: scale(1.12) rotate(3deg);
}

/* 5. Telegram link */
.detail-page .detail-cta--telegram .detail-cta__icon {
  background: #F0F9FF;
  color: #0284C7;
  border: 1px solid rgba(186, 230, 253, 0.8);
}
.detail-page .detail-cta--telegram:hover {
  border-color: #7DD3FC !important;
  background: #F0F9FF !important;
  color: #0369A1 !important;
  box-shadow: 0 6px 16px -2px rgba(2, 132, 199, 0.16), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--telegram:hover .detail-cta__icon {
  background: #E0F2FE;
  transform: scale(1.12) translate(1px, -1px);
}

/* 6. Generic public links */
.detail-page .detail-cta--link .detail-cta__icon {
  background: #F8FAFC;
  color: #475569;
  border: 1px solid rgba(203, 213, 225, 0.8);
}
.detail-page .detail-cta--link:hover {
  border-color: #94A3B8 !important;
  background: #F8FAFC !important;
  color: #1E293B !important;
  box-shadow: 0 6px 16px -2px rgba(71, 85, 105, 0.14), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-cta--link:hover .detail-cta__icon {
  background: #F1F5F9;
  transform: scale(1.12);
}

/* 7. WhatsApp button */
.detail-page .detail-decision__cta-row .detail-cta--whatsapp,
.detail-page .detail-decision__cta-row .detail-cta--soft {
  background: #F0FDF4 !important;
  border-color: #86EFAC !important;
  color: #15803D !important;
}
.detail-page .detail-decision__cta-row .detail-cta--whatsapp .km-phone-icon,
.detail-page .detail-decision__cta-row .detail-cta--soft .km-phone-icon {
  background: #DCFCE7 !important;
  color: #15803D !important;
  border: 1px solid rgba(134, 239, 172, 0.8);
}
.detail-page .detail-decision__cta-row .detail-cta--whatsapp:hover,
.detail-page .detail-decision__cta-row .detail-cta--soft:hover {
  background: #DCFCE7 !important;
  border-color: #4ADE80 !important;
  color: #14532D !important;
  box-shadow: 0 6px 16px -2px rgba(21, 128, 61, 0.2), 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}
.detail-page .detail-decision__cta-row .detail-cta--whatsapp:hover .km-phone-icon,
.detail-page .detail-decision__cta-row .detail-cta--soft:hover .km-phone-icon {
  transform: scale(1.12);
}

/* Mobile responsive */
@media (max-width: 480px) {
  .detail-page .detail-decision__cta-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .detail-page .detail-decision__cta-row .detail-cta {
    min-height: 44px !important;
    padding: 6px 10px !important;
    gap: 8px !important;
    font-size: 13px !important;
  }
  .detail-page .detail-decision__cta-row .detail-cta__icon,
  .detail-page .detail-decision__cta-row .km-phone-icon {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
  }
}

/* Photo attribution stays accessible without crowding visiting information. */
.detail-page .detail-photo-credits { margin-top: 12px; color: var(--detail-ink-soft); font-size: 12px; }
.detail-page .detail-photo-credits summary { width: fit-content; min-height: 32px; padding-block: 6px; cursor: pointer; }
.detail-page .detail-photo-credits summary:focus-visible { outline: 2px solid var(--brand-turf); outline-offset: 3px; }
.detail-page .detail-photo-credits .detail-note { margin-top: 4px; font-size: inherit; overflow-wrap: anywhere; }

/* ------------------------------------------------------------
   Place Detail - Polished 24/7 & Special Schedule Showcase
   ------------------------------------------------------------ */

.detail-schedule-247 {
  background: linear-gradient(135deg, #F0FDF4 0%, #FFFFFF 100%);
  border: 1px solid #BBF7D0;
  border-radius: 18px;
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 2px 8px -2px rgba(22, 101, 52, 0.05);
  margin-block: 4px;
}

.detail-schedule-247__main {
  display: flex;
  align-items: center;
  gap: 16px;
}

.detail-schedule-247__icon-wrap {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #DCFCE7;
  border: 1px solid #86EFAC;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #15803D;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(22, 101, 52, 0.08);
}

.detail-schedule-247__icon {
  width: 25px;
  height: 25px;
}

.detail-schedule-247__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.detail-schedule-247__title {
  font-size: 16.5px;
  font-weight: 800;
  color: #14532D;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.detail-schedule-247__desc {
  margin: 0;
  font-size: 13.5px;
  color: #374151;
  font-weight: 500;
  line-height: 1.4;
}

.detail-schedule-247__week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  padding-top: 14px;
  border-top: 1px dashed #BBF7D0;
}

.detail-schedule-247__day {
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
  padding: 8px 4px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  transition: all 0.2s ease;
}

.detail-schedule-247__day-name {
  font-size: 12.5px;
  font-weight: 700;
  color: #475569;
}

.detail-schedule-247__day-time {
  font-size: 11.5px;
  font-weight: 800;
  color: #166534;
  background: #DCFCE7;
  border-radius: 5px;
  padding: 2px 6px;
  display: inline-block;
  line-height: 1.2;
}

.detail-schedule-247__day--today {
  background: #F0FDF4;
  border-color: #22C55E;
  box-shadow: 0 2px 8px rgba(34, 197, 94, 0.18);
  position: relative;
}

.detail-schedule-247__day--today .detail-schedule-247__day-name {
  color: #15803D;
  font-weight: 800;
}

.detail-schedule-247__day--today::after {
  content: "";
  position: absolute;
  top: 4px;
  right: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #16A34A;
}

/* Special schedule banner (by appointment, variable, etc.) */
.detail-schedule-special {
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-block: 4px;
}

.detail-schedule-special__icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #F1F5F9;
  border: 1px solid #CBD5E1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  flex-shrink: 0;
}

.detail-schedule-special__icon {
  width: 22px;
  height: 22px;
}

.detail-schedule-special__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.detail-schedule-special__title {
  font-size: 16px;
  font-weight: 800;
  color: #1E293B;
}

.detail-schedule-special__desc {
  margin: 0;
  font-size: 13.5px;
  color: #475569;
  line-height: 1.4;
}

@media (max-width: 580px) {
  .detail-schedule-247 {
    padding: 16px;
  }
  .detail-schedule-247__week {
    grid-template-columns: repeat(4, 1fr);
  }
  .detail-schedule-247__day:last-child {
    grid-column: span 2;
  }
}

/* ==========================================================================
   Reviews Listhead & Typed Review Hub Link
   ========================================================================== */
.detail-reviews__title-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.km-typed-review-link,
a.public-parent-link.km-typed-review-link {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  padding: 5px 13px !important;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 9999px;
  color: #15803D !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none !important;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(22, 101, 52, 0.05);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.km-typed-review-link:hover,
a.public-parent-link.km-typed-review-link:hover {
  background: #DCFCE7;
  border-color: #86EFAC;
  color: #14532D !important;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(22, 101, 52, 0.12);
  text-decoration: none !important;
}

.km-typed-review-link:active,
a.public-parent-link.km-typed-review-link:active {
  transform: translateY(0);
}

.km-typed-review-link__icon {
  flex-shrink: 0;
  color: #16A34A;
}

.km-typed-review-link__arrow {
  font-size: 13px;
  color: #16A34A;
  transition: transform 0.2s ease;
}

.km-typed-review-link:hover .km-typed-review-link__arrow {
  transform: translateX(2px);
}

