/* Ikhaya cover v3 (v47i)
   1) The name never overflows or gets cut; it wraps and stays centred inside the text block.
   2) The sponsor logo and the "Arrangements by ..." line are centred in every theme.
   3) The Ikhaya logo (mark only, no wording) sits on its own dark "plate", so it stays readable on any theme, photo or light/dark mode.
   Loads after ikhaya-cover-v2.css. */

/* ---------- 1. name: centred, wraps, never wider than its block ---------- */
html .cover .cvtxt h1,
html[data-ik-theme] .cover.kc:not(.kts) .cvtxt h1,
html[data-ik-theme] .cover.gcv.kc:not(.kts) .cvtxt h1 {
  box-sizing: border-box !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-wrap: balance;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* ---------- 2. sponsor block: always centred ---------- */
html .cover .iksp,
html[data-ik-theme] .cover.kc:not(.kts) .cvtxt .iksp {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
  justify-self: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 4px !important;
  text-align: center !important;
}
html .cover .iksp .iksp-p { margin: 0 auto !important; }
html .cover .iksp small,
html[data-ik-theme] .cover.kc:not(.kts) .cvtxt .iksp small {
  display: block !important;
  align-self: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 0 0 .14em !important;   /* balances the trailing letter-space so the text is optically centred */
  text-align: center !important;
  letter-spacing: .14em !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  text-wrap: balance;
  opacity: 1 !important;
}

/* ---------- 3. Ikhaya logo: its own plate, readable on every theme ---------- */
html .cover .cvbrand,
html[data-ik-theme] .cover .cvbrand {
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  max-width: calc(100vw - 150px) !important;
  padding: 7px 10px !important;
  background: linear-gradient(180deg, #211810 0%, #130d08 100%) !important;
  border: 1px solid rgba(231, 198, 135, .6) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px -6px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .07) !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}
html .cover .cvbrand img,
html[data-theme] .cover .cvbrand img,
html[data-ik-theme] .cover .cvbrand img {
  display: block !important;
  height: 30px !important;
  width: auto !important;
  aspect-ratio: 161 / 192;
  max-width: 100% !important;
  filter: none !important;              /* cancels the "darken for light covers" filter */
  opacity: 1 !important;
}

/* ---------- 4. Gig / Festival cover: tagline ("Live. Loud. Together."), title and address always centred ----------
   Some luxe themes (noir, terracotta ...) left-align the cover text; on a gig it must sit in the middle. */
html .cover.k-gig .cvcard,
html[data-ik-theme] .cover.k-gig.kc .cvcard,
html .cover.k-gig .cvtxt,
html[data-ik-theme] .cover.k-gig.kc:not(.kts) .cvtxt {
  align-items: center !important;
  text-align: center !important;
}
html .cover.k-gig .cvtxt > *:not(.tapo):not(.gcrow),
html[data-ik-theme] .cover.k-gig.kc:not(.kts) .cvtxt > *:not(.tapo):not(.gcrow) {
  align-self: center !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
html .cover.k-gig .cvtxt small,
html[data-ik-theme] .cover.k-gig.kc:not(.kts) .cvtxt small {
  width: 100% !important;
  padding-left: var(--lx-kls, .28em) !important;   /* balances the trailing letter-space so it is optically centred */
}
html .cover.k-gig .cvm,
html[data-ik-theme] .cover.k-gig.kc:not(.kts) .cvm {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  text-align: center !important;
}
html .cover.k-gig .cvm span,
html[data-ik-theme] .cover.k-gig.kc:not(.kts) .cvm span {
  display: block !important;
  text-align: center !important;
}

/* v50: countdown + "Tap to open" always stack and centre, never touch the address lines */
html .cover .cvtxt .iklv{display:flex;justify-content:center;width:fit-content;max-width:100%;margin:14px auto 0}
html .cover .cvtxt .tapo{display:flex;justify-content:center;width:fit-content;min-width:200px;max-width:100%;margin:12px auto 0!important}
html .cover .cvtxt .cvm{margin-bottom:0}
html .cover .cvm{display:flex;flex-direction:column;align-items:center;gap:2px}
html .cover .cvm span::before,html .cover .cvm span::after,html .cover .cvm span+span::before{content:none!important;display:none!important}

/* v50: readable form labels and primary buttons on light themes */
#root .card label{font-size:13px;letter-spacing:.01em;text-transform:none;color:var(--ink);opacity:.85}
/* v50p: button text colour is now set per theme by ikhaya-buttons.css (the old forced dark brown made black buttons unreadable) */
.card button.btn:not(.ghost):not(.danger){text-shadow:none}

/* v50: celebration covers (party, birthday, baby shower): readable secondary text, compact countdown */
html .cover.kf .cvtxt .iklv{width:fit-content!important;max-width:100%!important;margin:14px auto 0!important;padding-left:18px;padding-right:18px}
html[data-theme="light"] .cover.kf .cvtxt .cvm,
html[data-theme="light"] .cover.kf .cvtxt .cvm span,
html[data-theme="light"] .cover.kf .cvtxt p{color:#3d2a22!important;opacity:1!important}
html[data-theme="light"] .cover.kf .cvtxt small{color:#7a3b2e!important;opacity:1!important}
html[data-theme="light"] .cover.kf .cvtxt .iklv{color:#3d2a22!important;border-color:#3d2a2266!important}
