/* Hallmark · component: cabana invitation + utility strip · editorial · existing Seasons tokens.
 * Component scope: no page macrostructure changes. Pre-emit critique: P4 H5 E4 S5 R5 V4.
 * States: default, hover, focus, active, disabled, loading, error, success (preview only for async states).
 */
:root {
  --hospitality-muted: #526171;
  --hospitality-inverse-rule: #435771;
  --hospitality-success: #27664f;
  --hospitality-error: #923d35;
  --hospitality-accent: #a64e1d;
}
.ss-topbar { background: var(--color-ink); color: var(--color-paper); font-family: var(--font-body); }
.ss-topbar__inner { width: min(1440px, calc(100% - var(--ss-gutter) * 2)); min-height: 44px; gap: 24px; }
.ss-topbar__tagline { display: flex; align-items: center; gap: 12px; font-size: 11px; letter-spacing: .02em; opacity: 1; overflow: visible; }
.ss-topbar__tagline > svg { flex: none; color: var(--color-accent); }
.ss-topbar__place { display: none; }
.ss-topbar__links { display: flex; align-items: center; gap: 22px; flex: none; }
.ss-topbar__phone { color: var(--color-paper); font-size: 11px; text-decoration: none; letter-spacing: .03em; white-space: nowrap; }
.ss-topbar__social { gap: 0; border-left: 1px solid var(--hospitality-inverse-rule); padding-left: 12px; }
.ss-topbar .ss-topbar__social a { width: 44px; height: 44px; border-radius: 0; background: var(--color-clear); color: var(--color-paper); box-shadow: none; opacity: 1; transform: none; filter: none; transition: color var(--dur-hover) var(--ease-out), background var(--dur-hover) var(--ease-out); }
.ss-topbar .ss-topbar__social svg { width: 15px; height: 15px; }

.ss-cabana-invite { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; align-items: center; gap: 32px; width: min(1120px, 100%); margin: 48px auto 0; padding: 26px 36px 26px 24px; background: var(--color-soft); color: var(--color-ink); border-block: 1px solid var(--color-rule); border-radius: 3px; }
.ss-cabana-invite__art { width: 160px; height: 160px; object-fit: contain; }
.ss-cabana-invite__copy { min-width: 0; }
.ss-cabana-invite__eyebrow { display: block; margin-bottom: 8px; color: var(--hospitality-accent); font: 600 10px/1.5 var(--font-body); letter-spacing: .13em; text-transform: uppercase; }
.ss-cabana-invite h3 { margin: 0; color: var(--color-ink); font: 500 clamp(24px, 2vw, 30px)/1.25 var(--font-display); font-style: normal; text-transform: none; letter-spacing: -.02em; overflow-wrap: anywhere; }
.ss-cabana-invite p { margin: 12px 0 0; max-width: 48ch; color: var(--hospitality-muted); font: 400 13px/1.8 var(--font-body); }
.ss-cabana-invite__action { display: flex; flex-direction: column; align-items: stretch; gap: 12px; border-left: 1px solid var(--color-rule); padding-left: 30px; }
.ss-cabana-invite__action small { color: var(--hospitality-muted); font: 400 10px/1.6 var(--font-body); text-align: center; }
.ss-invite-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 50px; padding: 14px 20px; background: var(--color-ink); color: var(--color-paper); border: 1px solid var(--color-ink); border-radius: 3px; text-decoration: none; white-space: nowrap; font: 500 12px/1.5 var(--font-body); transition: background var(--dur-hover) var(--ease-out), transform var(--dur-hover) var(--ease-out); }
.ss-invite-link svg { flex: none; transition: transform var(--dur-hover) var(--ease-out); }
@media (hover: hover) {
  .ss-topbar .ss-topbar__social a:hover { background: var(--hospitality-inverse-rule); color: var(--color-paper); }
  .ss-topbar__phone:hover { text-decoration: underline; text-underline-offset: 4px; }
  .ss-invite-link:hover { background: var(--color-blue); color: var(--color-paper); border-color: var(--color-blue); }
  .ss-invite-link:hover svg { transform: translateX(3px); }
}
.ss-invite-link.is-hover { background: var(--color-blue); color: var(--color-paper); border-color: var(--color-blue); }
.ss-invite-link:focus-visible, .ss-invite-link.is-focus { outline: 2px solid var(--color-blue); outline-offset: 4px; }
.ss-topbar a:focus-visible { outline: 2px solid var(--color-paper); outline-offset: -3px; }
.ss-invite-link:active, .ss-invite-link.is-active { transform: translateY(1px); }
.ss-invite-link[aria-disabled="true"], .ss-invite-link:disabled { background: var(--color-rule); color: var(--hospitality-muted); border-color: var(--color-rule); cursor: not-allowed; pointer-events: none; }
.ss-invite-link[data-state="loading"] { cursor: progress; border-style: dashed; }
.ss-invite-link[data-state="error"] { background: var(--hospitality-error); color: var(--color-paper); border-color: var(--hospitality-error); }
.ss-invite-link[data-state="success"] { background: var(--hospitality-success); color: var(--color-paper); border-color: var(--hospitality-success); }
@media (max-width: 1000px) {
  .ss-cabana-invite { grid-template-columns: 125px minmax(0, 1fr); gap: 20px 28px; padding: 24px; }
  .ss-cabana-invite__art { width: 125px; height: 125px; grid-row: 1 / 3; align-self: start; }
  .ss-cabana-invite__action { grid-column: 2; border-left: 0; padding-left: 0; align-items: flex-start; gap: 8px; }
}
@media (max-width: 760px) {
  .ss-topbar__inner { width: calc(100% - 32px); gap: 8px; }
  .ss-topbar__motto, .ss-topbar__phone { display: none; }
  .ss-topbar__place { display: inline; }
  .ss-topbar__tagline { gap: 7px; font-size: 10px; letter-spacing: 0; }
  .ss-topbar__tagline > svg { width: 18px; }
  .ss-topbar__links { gap: 0; }
  .ss-topbar__social { border-left: 0; padding-left: 0; }
}
@media (max-width: 540px) {
  .ss-cabana-invite { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 22px; margin-top: 32px; }
  .ss-cabana-invite__art { width: 105px; height: 105px; grid-row: auto; }
  .ss-cabana-invite h3 { font-size: 26px; }
  .ss-cabana-invite__action { grid-column: 1; align-items: stretch; padding-top: 4px; }
  .ss-invite-link { gap: 18px; padding-inline: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ss-invite-link, .ss-invite-link svg, .ss-topbar .ss-topbar__social a { transition: none; }
}

/* Minimal invitation in the logo's blue, September 14 revision. */
:root {
  --hospitality-logo: #2094cd;
  --hospitality-blue-paper: #f3faff;
  --hospitality-blue-rule: #d2e9f5;
  --hospitality-button-ink: #08253b;
}
.ss-cabana-invite {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px; padding: 28px 32px;
  background: var(--hospitality-blue-paper);
  border-color: var(--hospitality-blue-rule);
}
.ss-cabana-invite__eyebrow { color: var(--color-blue); }
.ss-cabana-invite h3 { font-size: clamp(23px, 2vw, 28px); }
.ss-cabana-invite p { max-width: 62ch; margin-top: 8px; }
.ss-cabana-invite__action { grid-column: 2; padding-left: 0; border-left: 0; align-items: stretch; }
.ss-invite-link { background: var(--hospitality-logo); border-color: var(--hospitality-logo); color: var(--hospitality-button-ink); font-weight: 600; }
@media (max-width: 700px) {
  .ss-cabana-invite { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 22px; }
  .ss-cabana-invite__action { grid-column: 1; }
}

/* Tek satırlık kompakt davet barı (önceki yükseklik, sade tipografi). */
.ss-cabana-invite {
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px;
  width: min(100%, 60%); margin: 28px auto 0; padding: 14px 16px 14px 22px;
  border: 1px solid var(--hospitality-blue-rule, #cfe4f2); border-radius: 4px;
}
.ss-cabana-invite__copy { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.ss-cabana-invite__eyebrow, .ss-cabana-invite__action small { display: none; }
.ss-cabana-invite h3 {
  font: 800 12px/1.4 var(--font-body); letter-spacing: .055em; text-transform: uppercase; color: var(--color-ink);
}
.ss-cabana-invite p { margin: 0; max-width: none; font: 400 12px/1.6 var(--font-body); }
.ss-cabana-invite__action { gap: 0; }
.ss-invite-link { min-height: 0; padding: 10px 16px; gap: 12px; font-size: 11px; }
@media (max-width: 1000px) {
  .ss-cabana-invite { width: 100%; }
}
@media (max-width: 700px) {
  .ss-cabana-invite { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; }
  .ss-cabana-invite__action { grid-column: 1; }
}
