/* ==========================================================================
   Kostolík Merch — zákaznický účet + různé (account, auth, review, discount,
   download, support, rmaassistent, comingsoon, notfound)
   Prefix tříd: kst-. Stojí na tokenech a komponentách z kostolik.css.
   ========================================================================== */

/* ---------- společné: formulářová pole ---------- */
.kst-field { margin-bottom: 18px; }
.kst-field > label, .kst-field__label {
  display: block; font-weight: 800; font-size: 13px; color: var(--kst-ink); margin-bottom: 6px;
}
.kst-field .form-control, .kst-field select, .kst-field textarea { width: 100%; }
.kst-field__hint { font-size: 12px; color: var(--kst-muted); margin-top: 5px; }
.kst-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.kst-field-row--street { grid-template-columns: 2fr 1fr; }
@media (max-width: 575px) { .kst-field-row, .kst-field-row--street { grid-template-columns: 1fr; } }

.kst-check { display: flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 700; font-size: 14px; margin: 0 0 18px; }
.kst-check input[type=checkbox] { width: 20px; height: 20px; flex-shrink: 0; margin: 0; }
.kst-check span { line-height: 1.35; }

.kst-account input[type=submit], .kst-auth input[type=submit], .kst-acc-submit {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--kst-font-body); font-weight: 900; font-size: 14px; line-height: 1.2;
  background: var(--kst-yellow); color: var(--kst-ink);
  border: 1px solid var(--kst-line); border-radius: var(--kst-radius-sm);
  box-shadow: none; padding: 14px 22px; cursor: pointer;
  transition: transform .12s, box-shadow .12s;
}
.kst-account input[type=submit]:hover, .kst-auth input[type=submit]:hover, .kst-acc-submit:hover {
  transform: translate(1px, 1px); box-shadow: none;
}
.kst-account input[type=submit]:active, .kst-auth input[type=submit]:active { transform: translate(3px, 4px); box-shadow: none; }
.kst-account input[type=submit].w-100, .kst-auth input[type=submit].w-100 { width: 100%; }

.kst-messages:empty { display: none; }
.kst-messages { margin-bottom: 18px; }
.kst-messages .alert, .kst-messages p { margin-bottom: 10px; }
.kst-auth .alert, .kst-account .alert { margin-bottom: 16px; }

/* ---------- přihlášení / registrace / zapomenuté heslo / nové heslo ---------- */
.kst-auth { max-width: 520px; margin: 0 auto; }
.kst-auth__card { padding: 34px 32px 30px; }
.kst-auth__title { font-size: clamp(30px, 5vw, 44px); text-align: center; margin: 0 0 22px; }
.kst-auth__lead { color: var(--kst-ink-soft); font-size: 14px; margin: 0 0 18px; text-align: center; }
.kst-auth__labelrow { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.kst-auth__labelrow label { margin-bottom: 6px; }
.kst-auth__link { font-size: 13px; font-weight: 800; text-decoration: underline; color: var(--kst-purple); }
.kst-auth__link:hover { color: var(--kst-ink); }
.kst-auth__alt {
  margin-top: 20px; padding-top: 18px; border-top: 1px dashed var(--kst-line);
  text-align: center; font-size: 14px; font-weight: 700; color: var(--kst-ink-soft);
}
.kst-auth__alt a { font-weight: 900; text-decoration: underline; color: var(--kst-purple); margin-left: 4px; }
.kst-auth__alt--top { margin: 0 0 18px; padding: 0 0 16px; border-top: 0; border-bottom: 1px dashed var(--kst-line); }
.kst-auth .g-recaptcha { margin: 6px 0 14px; transform-origin: 0 0; }
@media (max-width: 400px) { .kst-auth .g-recaptcha { transform: scale(.86); } }
@media (max-width: 575px) { .kst-auth__card { padding: 26px 18px 24px; } }

/* ---------- rozložení účtu (postranní menu + obsah) ---------- */
.kst-acc-layout { display: grid; grid-template-columns: 250px 1fr; gap: 30px; align-items: start; }
.kst-acc-side { background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; padding: 22px 20px; }
.kst-acc-side__avatar {
  display: grid; place-items: center; width: 84px; height: 84px; margin: 0 auto 16px;
  background: var(--kst-yellow); border: 1px solid var(--kst-line); border-radius: 50%; box-shadow: none;
}
.kst-acc-side__avatar svg { width: 44px; height: 44px; fill: var(--kst-ink); }
.kst-acc-side__avatar img { width: 54px; height: auto; }
.kst-acc-side .kst-btn { margin: 0 auto 14px; display: flex; }
.kst-acc-nav { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.kst-acc-nav a, .kst-acc-nav .gm-account-nav-text {
  display: block; padding: 10px 14px; border-radius: 0; font-size: 13px; font-weight: 800; letter-spacing: .02em; color: var(--kst-ink);
}
.kst-acc-nav a:hover { background: var(--kst-lav-soft); color: var(--kst-ink); }
.kst-acc-nav a.is-active, .kst-acc-nav a.is-active:hover { background: var(--kst-purple); color: #0e1010; }
.kst-acc-nav__sep { height: 1px; background: var(--kst-line); margin: 8px 0; }
.kst-acc-main > .kst-panel + .kst-panel { margin-top: 24px; }
.kst-acc-main__title { font-size: clamp(28px, 4vw, 40px); margin: 0 0 20px; }
@media (max-width: 860px) {
  .kst-acc-layout { grid-template-columns: 1fr; gap: 22px; }
  .kst-acc-side { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: center; padding: 18px 16px; }
  .kst-acc-side__avatar { width: 64px; height: 64px; margin: 0; grid-row: span 2; }
  .kst-acc-side__avatar svg { width: 34px; height: 34px; }
  .kst-acc-side .kst-btn { margin: 0; }
  .kst-acc-nav { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .kst-acc-nav a { background: var(--kst-lav-soft); padding: 8px 12px; }
  .kst-acc-nav__sep { display: none; }
}

/* ---------- osobní údaje ---------- */
.kst-section-title { font-size: clamp(22px, 3vw, 30px); margin: 0 0 18px; }
.kst-section-title--sep { margin-top: 38px; padding-top: 28px; border-top: 1px dashed var(--kst-line); }
.kst-addr-toggle { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-weight: 900; font-size: 15px; margin-bottom: 14px; }
.kst-addr-toggle .plus {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
  background: var(--kst-yellow); border: 1px solid var(--kst-line); box-shadow: none; font-size: 13px;
}
.kst-addr-card { background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; padding: 22px 20px; }
.kst-addr-card__tools { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.kst-delete-account { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 14px; color: var(--kst-muted); }
#js-pwd-field { margin-top: 6px; }

/* ---------- seznam objednávek ---------- */
.kst-orders-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; }
.kst-orders-table th {
  text-align: left; font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--kst-purple); padding: 0 12px 4px;
}
.kst-orders-table td { background: var(--kst-lav); padding: 14px 12px; vertical-align: middle; border-top: 1.5px solid var(--kst-line); border-bottom: 1.5px solid var(--kst-line); font-size: 14px; font-weight: 700; }
.kst-orders-table td:first-child { border-left: 1.5px solid var(--kst-line); border-radius: 14px 0 0 14px; }
.kst-orders-table td:last-child { border-right: 1.5px solid var(--kst-line); border-radius: 0 14px 14px 0; white-space: nowrap; }
.kst-orders-table .Gm-account_detail_drop td { background: var(--kst-cream); border-radius: 0; border: 1.5px dashed var(--kst-line); }
.kst-orders-table .js-show_detail img, .kst-orders-table .btn img { display: block; }
.kst-orders-table .btn { padding: 8px 10px; margin: 0 2px; }
.kst-order-ref { font-family: var(--kst-font-head); font-size: 18px; font-weight: 800; }
.kst-status {
  display: inline-flex; align-items: center; justify-content: center; margin: 0;
  min-height: 26px; padding: 3px 11px; border-radius: 0; border: 1px solid var(--kst-line);
  font-size: 12px; font-weight: 800; line-height: 1.2; color: #fff; text-shadow: 0 1px 1px rgba(44, 23, 70, .55);
}
.kst-order-thumbs { display: flex; flex-wrap: wrap; gap: 6px; }
.kst-order-thumbs .Gm-account_orders_products_imgs, .kst-thumb {
  background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; padding: 3px; line-height: 0;
}
.kst-order-thumbs img, .kst-thumb img { width: 56px; height: 56px; object-fit: contain; border-radius: 0; }
.kst-detail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.kst-detail-item { display: flex; gap: 12px; align-items: flex-start; }
.gm-account-detail-brand { font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--kst-purple); }
.gm-account-detail-product { font-weight: 900; font-size: 15px; line-height: 1.3; }
.gm-account-detail-price { font-size: 13px; color: var(--kst-muted); font-weight: 700; }

/* mobilní karta objednávky */
.kst-order-card {
  display: block; background: var(--kst-lav); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none;
  padding: 16px; margin-bottom: 18px; color: var(--kst-ink);
}
.kst-order-card:hover { color: var(--kst-ink); }
.kst-order-card__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px dashed var(--kst-line); }
.kst-order-card__row { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; font-size: 14px; }
.kst-order-card__row h6 { margin: 0; font-size: 13px; font-weight: 900; color: var(--kst-muted); }
.kst-order-card .col_content { font-weight: 800; }

/* ---------- detail objednávky ---------- */
.kst-od-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.kst-od-item { display: grid; grid-template-columns: 84px 1fr auto; gap: 16px; align-items: center; background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; padding: 12px 16px 12px 12px; }
.kst-od-item img { width: 84px; height: 84px; object-fit: contain; border-radius: 0; background: var(--kst-cream); }
.kst-od-item__price { font-weight: 900; font-size: 16px; white-space: nowrap; }
.kst-od-actions { display: flex; flex-direction: column; gap: 12px; }
.kst-od-actions .btn img { flex-shrink: 0; }
@media (max-width: 575px) { .kst-od-item { grid-template-columns: 64px 1fr; } .kst-od-item img { width: 64px; height: 64px; } .kst-od-item__price { grid-column: 2; } }

/* ---------- hodnocení (review/submit) ---------- */
.kst-review-item { display: grid; grid-template-columns: 120px 1fr; gap: 20px; margin-bottom: 20px; background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; padding: 18px; }
.kst-review-item__img img { width: 100%; border-radius: 0; border: 1.5px solid var(--kst-line); background: var(--kst-lav); }
.kst-review-item__name { font-family: var(--kst-font-head); font-size: 20px; font-weight: 800; margin: 0 0 10px; }
.kst-review-item__rate { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; font-weight: 800; font-size: 14px; }
.kst-review-item__rate small { color: var(--kst-muted); font-weight: 600; opacity: 1 !important; }
.kst-review-item textarea { width: 100%; min-height: 110px; resize: none; }
/* hvězdičky — JS (gm_2024/custom.js) přepíná třídy fa-star / fa-star-o */
.star-rating { display: inline-flex; gap: 4px; }
.star-rating i { cursor: pointer; font-style: normal; font-family: var(--kst-font-body) !important; font-weight: 400 !important; font-size: 30px; line-height: 1; transition: transform .1s; }
.star-rating i::before { content: "\2605" !important; font-family: var(--kst-font-body) !important; font-weight: 400 !important; }
.star-rating i.fa-star-o { color: var(--kst-lav); }
.star-rating i.fa-star { color: var(--kst-yellow); text-shadow: 0 0 1px var(--kst-ink), 1px 1px 0 var(--kst-ink), -1px -1px 0 var(--kst-ink), 1px -1px 0 var(--kst-ink), -1px 1px 0 var(--kst-ink); }
.star-rating i:hover { transform: scale(1.15); }
.star-rating input { display: none; }
@media (max-width: 575px) { .kst-review-item { grid-template-columns: 80px 1fr; gap: 12px; padding: 12px; } .star-rating i { font-size: 26px; } }

/* ---------- slevy, stahování, sledování kupónů ---------- */
.kst-discount-info { padding: 4px 4px 8px; }
.kst-discount-info ul { padding-left: 20px; margin: 0 0 16px; }
.kst-discount-info li { margin-bottom: 7px; font-size: 14px; line-height: 1.5; }
.kst-discount-info__list { max-height: 80vh; overflow: auto; }
.kst-discount-info .modal-title, .kst-modal-title { font-family: var(--kst-font-head); font-size: 24px; font-weight: 800; }

.kst-download { background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; overflow: hidden; margin-bottom: 24px; }
.kst-download__head { background: var(--kst-yellow); border-bottom: 1px solid var(--kst-line); padding: 14px 22px; font-weight: 900; font-size: 14px; }
.kst-download__body { padding: 22px; }
.kst-download__body .btn { margin-bottom: 12px; }
.kst-download__pass { color: var(--kst-danger); font-weight: 700; }

.kst-coupon { display: flex; align-items: stretch; margin-bottom: 14px; }
.kst-coupon__label { display: flex; align-items: center; padding: 0 14px; background: var(--kst-lav-soft); border: 1.5px solid var(--kst-line); border-right: 0; border-radius: 10px 0 0 10px; font-weight: 900; font-size: 13px; }
.kst-coupon input { flex: 1; min-width: 0; border-radius: 0; background: var(--kst-lav) !important; font-family: monospace; font-weight: 800; letter-spacing: .04em; }
.kst-coupon__state { display: flex; align-items: center; padding: 0 14px; border: 1px solid var(--kst-line); border-radius: 0 10px 10px 0; font-weight: 900; font-size: 12px; white-space: nowrap; background: var(--kst-cream); }
.kst-coupon__state--used { background: var(--kst-green); color: var(--kst-green-ink); }
.kst-gift { display: grid; grid-template-columns: 96px 1fr; gap: 16px; text-align: left; margin-bottom: 14px; }
.kst-gift img { width: 100%; border-radius: 0; border: 1.5px solid var(--kst-line); background: var(--kst-lav); }
.kst-tracking__foot { margin-top: 22px; padding-top: 16px; border-top: 1px dashed var(--kst-line); text-align: center; }
.kst-tracking__foot a { font-weight: 900; color: var(--kst-danger); }

.kst-center-card { max-width: 560px; margin: 0 auto; text-align: center; }
.kst-center-card h2 { margin-bottom: 14px; }

/* ---------- reklamační asistent ---------- */
.kst-rma { max-width: 960px; margin: 0 auto; }
.kst-rma__logo { text-align: center; margin: 0 auto 8px; }
.kst-rma__logo img { width: 190px; max-width: 70%; height: auto; }
.kst-rma__title { text-align: center; font-size: clamp(28px, 4vw, 40px); margin: 6px 0 22px; }
.kst-rma__card { max-width: 480px; margin: 0 auto; }
.kst-rma__card .panel, .kst-rma__card .panel-body { background: transparent; border: 0; padding: 0; }
.kst-rma__foot { text-align: center; font-size: 12px; color: var(--kst-muted); margin-top: 26px; }
.kst-rma__foot a { text-decoration: underline; font-weight: 800; }
.kst-rma__check { font-size: 70px; line-height: 1; color: var(--kst-green-ink); text-align: center; margin: 10px 0; }
.kst-rma__check i { background: var(--kst-green); border-radius: 50%; }
.kst-rma__narrow { max-width: 640px; margin: 0 auto; text-align: center; }
.kst-rma__narrow address, .kst-rma__address { background: var(--kst-yellow-soft); border-radius: 0; padding: 16px 18px; margin: 14px 0; font-weight: 700; }
.kst-rma-block { background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; margin-bottom: 24px; overflow: hidden; }
.kst-rma-block__head { background: var(--kst-yellow); border-bottom: 1px solid var(--kst-line); padding: 14px 22px; font-weight: 900; font-size: 15px; }
.kst-rma-block__body { padding: 20px 22px; }
.kst-rma-product { padding: 16px 0; border-bottom: 1px dashed var(--kst-line); }
.kst-rma-product:last-child { border-bottom: 0; }
.kst-rma-product img { width: 100%; border-radius: 0; border: 1.5px solid var(--kst-line); background: var(--kst-lav); }
.kl-orderproduct_name { font-weight: 900; font-size: 16px; }
.kl-orderproduct_params { font-size: 13px; color: var(--kst-muted); }
.kl-orderproduct_price { font-weight: 900; font-size: 15px; margin-top: 4px; }
.kl-orderproduct_return {
  display: inline-flex; align-items: center; gap: 8px; font-weight: 900; font-size: 13px; color: var(--kst-ink);
  background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: var(--kst-radius-sm); padding: 9px 14px; cursor: pointer;
}
.kl-orderproduct_return:hover { background: var(--kst-yellow); color: var(--kst-ink); }
.kl-orderproduct_return svg { fill: var(--kst-purple); flex-shrink: 0; }
.kl-text { font-size: 14px; color: var(--kst-ink-soft); }
.kst-rma .card { background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; overflow: hidden; }
.kst-rma .card-header { background: var(--kst-yellow); border-bottom: 1px solid var(--kst-line); font-weight: 900; padding: 14px 22px; }
.kst-rma .card-body { padding: 20px 22px; }
.kst-rma-summary { background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; padding: 16px; margin-bottom: 18px; }
.kst-rma-summary__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; text-align: left; }
.kst-rma-summary__cell { background: var(--kst-cream); border-radius: 0; padding: 12px 14px; }
.rma-product_title, .kst-rma-label { font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--kst-purple); margin-bottom: 8px; }
.rma-product_name { display: block; font-weight: 900; font-size: 15px; }
.rma-product_params { font-size: 12px; color: var(--kst-muted); margin-bottom: 4px; }
.rma-product .image, .kst-rma-summary .image { width: 100%; padding-top: 100%; background-size: contain; background-position: center; border-radius: 0; border: 1.5px solid var(--kst-line); }
.kst-rma-summary textarea { width: 100%; min-height: 120px; }
.kst-rma__nav { display: grid; grid-template-columns: 1fr 2fr; gap: 14px; align-items: center; margin-top: 18px; }
.kst-rma-help { margin-top: 44px; }
.kst-rma-help__title { text-align: center; font-size: clamp(24px, 3.5vw, 32px); margin-bottom: 20px; }
.kst-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; max-width: 760px; margin: 0 auto; }
.kst-contact-box { display: flex; align-items: center; gap: 16px; background: var(--kst-lav); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; padding: 18px 20px; }
.kst-contact-box__icon { flex-shrink: 0; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--kst-yellow); border: 1px solid var(--kst-line); }
.kst-contact-box__icon svg { width: 26px; height: 26px; fill: var(--kst-ink); }
.kst-contact-box__label { font-size: 11px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; color: var(--kst-purple); }
.kst-contact-box__value { font-family: var(--kst-font-head); font-size: 20px; font-weight: 800; margin: 2px 0 0; line-height: 1.2; }
.kst-contact-box__value a { color: var(--kst-ink); }
.kst-contact-note { text-align: center; font-size: 13px; color: var(--kst-muted); margin-top: 14px; }
@media (max-width: 991px) { .kst-rma-summary__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .kst-rma-summary__grid { grid-template-columns: 1fr; } .kst-rma__nav { grid-template-columns: 1fr; } }

/* výběr telefonu s předvolbou (rmaassistent/index_new) */
.kst-rma .select-box { position: relative; margin-bottom: 18px; }
.kst-rma .selected-option { display: flex; align-items: stretch; background: var(--kst-lav); border: 1.5px solid var(--kst-line); border-radius: 0; overflow: hidden; }
.kst-rma .selected-option > div { position: relative; display: flex; align-items: center; gap: 6px; flex: 0 0 auto; width: auto; min-width: 104px; padding: 0 30px 0 12px; background: var(--kst-lav-soft); cursor: pointer; font-weight: 800; }
.kst-rma .selected-option > div::after {
  content: ""; position: absolute; right: 12px; top: 50%; width: 8px; height: 8px;
  border-right: 1px solid var(--kst-line); border-bottom: 1px solid var(--kst-line); transform: translateY(-70%) rotate(45deg); transition: transform .2s;
}
.kst-rma .selected-option > div.active::after { transform: translateY(-30%) rotate(225deg); }
.kst-rma .selected-option input[type=tel] { flex: 1; min-width: 0; width: auto; border: 0; border-radius: 0; box-shadow: none; }
.kst-rma .select-box .options { display: none; position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 20; background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; overflow: hidden; }
.kst-rma .select-box .options.active { display: block; }
.kst-rma .select-box .options::before { display: none; }
.kst-rma input.search-box { width: 100%; background: var(--kst-lav); color: var(--kst-ink); border: 0; border-bottom: 1.5px solid var(--kst-line); border-radius: 0; padding: 12px 14px; }
.kst-rma .select-box ol { list-style: none; margin: 0; padding: 0; max-height: 260px; overflow-y: auto; text-align: left; }
.kst-rma .select-box ol li { display: flex; justify-content: space-between; gap: 10px; padding: 10px 14px; font-size: 14px; cursor: pointer; }
.kst-rma .select-box ol li > div { display: flex; align-items: center; }
.kst-rma .select-box ol li:not(:last-child) { border-bottom: 1px solid var(--kst-line); }
.kst-rma .select-box ol li:hover { background: var(--kst-lav-soft); }
.kst-rma .select-box ol li.hide { display: none; }
.kst-rma .select-box ol li .country-name { margin-left: 8px; font-weight: 700; }

/* ---------- jednoduché stránky: omezený přístup, 404, brzy ---------- */
.password.kst-gate { max-width: 440px; margin: 0 auto; text-align: center; }
.kst-gate__title { font-family: var(--kst-font-head); font-size: 30px; font-weight: 800; margin: 0 0 18px; }
.kst-notfound { text-align: center; max-width: 560px; margin: 0 auto; }
.kst-notfound__code { font-family: var(--kst-font-head); font-size: clamp(90px, 22vw, 180px); font-weight: 800; line-height: .9; letter-spacing: -.05em; color: var(--kst-purple); text-shadow: 4px 5px 0 var(--kst-pink); margin: 0 0 10px; }
.kst-notfound img { max-width: 100%; height: auto; border-radius: 0; }
.kst-soon { min-height: 100vh; display: grid; place-items: center; padding: 24px; text-align: center; background: var(--kst-lav); }
.kst-soon__card { max-width: 520px; background: var(--kst-cream); border: 1px solid var(--kst-line); border-radius: 0; box-shadow: none; padding: 44px 30px; }
.kst-soon__card img { width: 200px; max-width: 70%; margin-bottom: 24px; }
.kst-soon__card h1 { font-size: clamp(34px, 7vw, 52px); margin: 0 0 10px; }
.kst-soon__card p { color: var(--kst-ink-soft); font-size: 16px; margin: 0; }
