/**
 * The listing action panel — what replaced Book / Check availability on every
 * component service (Chiran 2026-08-13).
 *
 * Rebuilt 2026-08-14 against the canonical tokens imported from the Sarisara
 * Lanka Design System project (preview/_ds.css), and against Chiran's own
 * screenshot of the panel he wants. The values below are the design system's,
 * not approximations of it — the earlier pass used #6e6e80 / #4c4c5c, which are
 * nobody's greys.
 */

.sl-panel {
  /* Tokens, scoped here so the panel is correct even on a page that has not
     loaded the design system's own stylesheet. */
  --sl-primary: #7700FF;
  --sl-primary-dark: #5C00CC;
  --sl-primary-light: #F0E5FF;
  --sl-primary-ultra: #F8F4FF;
  --sl-text-1: #090902;
  --sl-text-2: #5A5A6E;
  --sl-text-3: #8E8EA0;
  --sl-surface: #FFFFFF;
  --sl-border: #E8E8EE;
  --sl-r-2xl: 20px;
  --sl-r-full: 9999px;
  --sl-shadow: 0 1px 2px rgba(10, 11, 31, .04), 0 12px 32px rgba(10, 11, 31, .05);
  --sl-ease: cubic-bezier(.25, .1, .25, 1);

  background: var(--sl-surface);
  border: 1px solid var(--sl-border);
  border-radius: var(--sl-r-2xl);
  padding: 32px 30px;
  /* The partner card sits directly beneath. Without this the two rounded
     corners touch and they read as one long box (Chiran 2026-08-20). */
  margin-bottom: 24px;
  box-shadow: var(--sl-shadow);
  font-family: "Google Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--sl-text-1);
}

/* "Part of a Sarisara trip" — the heading of the card, not a micro-label.
   Chiran's screenshot sets it as violet, bold, at heading scale. */
.sl-panel .sl-panel-kicker {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  letter-spacing: -.015em;
  line-height: 1.25;
  color: var(--sl-primary);
}

/* "from USD 200.00 a night" — the number carries, the words recede. */
.sl-panel .sl-panel-price {
  margin: 20px 0 0;
  font-size: 19px;
  line-height: 1.4;
  color: var(--sl-text-3);
  font-weight: 400;
}

.sl-panel .sl-panel-price b {
  font-size: 22px;
  font-weight: 700;
  color: var(--sl-text-1);
  letter-spacing: -.015em;
}

/* "Next runs 29 December 2028 · 08:00 – 11:00" — when it runs, told quietly.
   Sits under the price and reads as a fact about the place, not an offer. */
.sl-panel .sl-panel-sessions {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--sl-text-3);
}

.sl-panel .sl-panel-sessions__when {
  display: block;
  font-weight: 500;
}

/* One run per line — two joined by a dot read as one long opening time
   rather than as a choice between two sessions. */
.sl-panel .sl-panel-sessions__slot {
  display: block;
  margin-top: 2px;
  font-weight: 700;
  color: var(--sl-text-1);
}

.sl-panel .sl-panel-says {
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--sl-text-2);
}

.sl-panel .sl-panel-count {
  margin: 20px 0 0;
  padding: 12px 16px;
  background: var(--sl-primary-ultra);
  border-radius: 12px;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--sl-text-2);
}

.sl-panel .sl-panel-count strong { color: var(--sl-primary); font-weight: 700; }

.sl-panel .sl-btn {
  display: block;
  width: 100%;
  margin-top: 24px;
  padding: 17px 24px;
  border-radius: var(--sl-r-full);
  border: 0;
  font-family: inherit;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 200ms var(--sl-ease), color 200ms var(--sl-ease),
              border-color 200ms var(--sl-ease);
}

.sl-panel .sl-btn--primary { background: var(--sl-primary); color: #fff !important; }
.sl-panel .sl-btn--primary:hover,
.sl-panel .sl-btn--primary:focus { background: var(--sl-primary-dark); color: #fff !important; }

.sl-panel .sl-btn--outline {
  background: var(--sl-primary);
  color: #fff !important;
  border: 0;
}
.sl-panel .sl-btn--outline:hover,
.sl-panel .sl-btn--outline:focus { background: var(--sl-primary-dark); color: #fff !important; }

.sl-panel .sl-btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 4px rgba(119, 0, 255, .12);
}

.sl-panel .sl-panel-small {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.45;
  color: var(--sl-text-3);
  text-align: center;
}

@media (max-width: 600px) {
  .sl-panel { padding: 24px 20px; border-radius: 16px; }
  .sl-panel .sl-panel-kicker { font-size: 19px; }
  .sl-panel .sl-btn { font-size: 16px; padding: 15px 20px; }
}

/* The theme's booking sidebar sets its own paragraph size and weight, and wins
   on specificity against a single class. These four carry the panel's voice, so
   they are pinned (Chiran's screenshot, 2026-08-14). */
.sl-panel .sl-panel-kicker { font-size: 18px !important; font-weight: 700 !important; }
.sl-panel .sl-panel-price  { font-size: 16px !important; font-weight: 400 !important; }
.sl-panel .sl-panel-says   { font-size: 16px !important; font-weight: 400 !important; }
.sl-panel .sl-btn          { font-size: 17px !important; font-weight: 700 !important; }
