
/* TicketsFest UA bookshop premium alignment v9.9.62 */
body.page-template-page-books,
body.single-tf_book,
body.single-tf_author,
body.page-template-page-account-tf,
body.page-template-page-checkout-tf { background:#f8fbff !important; color:#0f172a; }

.tf-p,
.tfe-account-page,
.tfe-checkout-page { background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 48%,#f8fbff 100%) !important; }

.tf-spot,
.tfe-hero-header {
  position:relative;
  margin:0 0 clamp(34px,5vw,70px) !important;
  padding:clamp(76px,9vw,124px) 0 clamp(50px,6vw,82px) !important;
  border-bottom:1px solid rgba(147,197,253,.35) !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,.18), transparent 32%),
    radial-gradient(circle at 86% 10%, rgba(14,165,233,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,246,255,.92)) !important;
  overflow:hidden;
}
.tf-spot:before,
.tfe-hero-header:before{content:"";position:absolute;inset:20px;pointer-events:none;border:1px solid rgba(59,130,246,.16);border-radius:32px;background:rgba(255,255,255,.22)}
.tf-spot .tf-c,
.tfe-hero-header .tfe-container{position:relative;z-index:1}
.tf-sp-badge,
.tfe-hero-header .tfe-btn.secondary:first-child,
.tf-c-badge,
.tf-price-badge{background:#e0f2fe!important;color:#075985!important;border:1px solid rgba(14,165,233,.22)!important;box-shadow:none!important}
.tf-sp-title,
.tfe-h1{font-size:clamp(42px,7vw,86px)!important;line-height:.96!important;letter-spacing:-.055em!important;color:#0f172a!important;margin-bottom:18px!important}
.tf-sp-desc,
.tfe-sub{font-size:clamp(17px,2vw,22px)!important;color:#475569!important;line-height:1.65!important;font-weight:600!important}
.tf-sp-btn,
.tf-btn.primary,
.tfe-btn.primary,
.tfe-login-wrap .login-submit input[type="submit"]{background:linear-gradient(135deg,#2563eb,#1d4ed8)!important;color:#fff!important;border:0!important;box-shadow:0 18px 36px rgba(37,99,235,.28)!important;border-radius:999px!important}
.tf-sp-btn:hover,
.tf-btn.primary:hover,
.tfe-btn.primary:hover{transform:translateY(-2px);box-shadow:0 24px 48px rgba(37,99,235,.34)!important}

.tf-search-row{max-width:1240px;margin:0 auto 32px!important;padding:0 20px}
.tf-sec-title{font-size:clamp(28px,4vw,46px)!important;letter-spacing:-.04em;color:#0f172a!important}
.tf-search-form{border-radius:22px!important;box-shadow:0 14px 45px rgba(15,23,42,.08)!important;border:1px solid rgba(148,163,184,.22)!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px)}
.tf-search-btn{background:#1d4ed8!important;color:#fff!important;border-radius:16px!important}

.tf-g{max-width:1240px;margin:0 auto;gap:24px!important;padding:0 20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important}
.tf-card,
.tfe-order-card,
.tfe-login-wrap,
.tf-single-card,
.tf-author-card,
.tf-main-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  border-radius:28px!important;
  box-shadow:0 18px 55px rgba(15,23,42,.07)!important;
  overflow:hidden;
}
.tf-card:hover{transform:translateY(-8px)!important;box-shadow:0 28px 70px rgba(15,23,42,.12)!important;border-color:rgba(37,99,235,.34)!important}
.tf-c-img{aspect-ratio:4/5.6!important;object-fit:cover;background:#e2e8f0}
.tf-c-body{padding:22px!important}
.tf-c-title,
.tf-c-title a{font-size:18px!important;line-height:1.28!important;font-weight:900!important;color:#0f172a!important;text-decoration:none!important}
.tf-c-auth{color:#64748b!important;font-weight:700!important}
.tf-btn-view,
.tf-btn.ghost,
.tf-btn.secondary,
.tfe-btn.secondary{border-radius:999px!important;background:#eff6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;font-weight:900!important}
.tf-btn-view:hover,
.tf-btn.ghost:hover,
.tf-btn.secondary:hover,
.tfe-btn.secondary:hover{background:#1d4ed8!important;color:#fff!important;border-color:#1d4ed8!important}

.tfe-sub-wrapper{max-width:1240px;margin:80px auto 0!important;background:radial-gradient(circle at top right,#2563eb 0%,#172554 52%,#020617 100%)!important;border-radius:34px!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 30px 80px rgba(15,23,42,.28)!important}
.tfe-sub-title{letter-spacing:-.04em!important}.tfe-sub-form{border-radius:999px!important}

/* Single book/author generic overrides */
.tf-single,
.tf-author-page{background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 45%,#f8fbff 100%)!important;min-height:100vh;padding-bottom:90px}
.tf-breadcrumbs,
.tf-crumbs{max-width:1240px;margin:0 auto 18px;padding:28px 20px 0;color:#64748b;font-weight:700;font-size:13px}
.tf-single-wrap,
.tf-author-wrap{max-width:1240px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.tf-cover-card,
.tf-book-cover,
.tf-author-photo-wrap{background:rgba(255,255,255,.92)!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:34px!important;box-shadow:0 24px 70px rgba(15,23,42,.10)!important;padding:clamp(16px,2vw,24px)!important;overflow:hidden}
.tf-cover-card img,
.tf-book-cover img,
.tf-author-photo-wrap img{border-radius:24px!important;box-shadow:0 18px 42px rgba(15,23,42,.16)!important;width:100%;height:auto;object-fit:cover}
.tf-book-title,
.tf-author-title,.tf-single h1,.tf-author-page h1{font-size:clamp(38px,6vw,72px)!important;line-height:.98!important;letter-spacing:-.055em!important;color:#0f172a!important;margin:0 0 18px!important;font-weight:950!important}
.tf-book-meta,
.tf-author-meta{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.tf-book-meta span,.tf-author-meta span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #dbeafe;color:#1e40af;font-weight:900;font-size:12px}
.tf-book-desc,.tf-author-bio,.tf-single-content{font-size:17px!important;line-height:1.75!important;color:#334155!important;font-weight:500!important}
.tf-purchase-card,.tf-info-card{background:#fff!important;border:1px solid rgba(148,163,184,.22)!important;border-radius:28px!important;box-shadow:0 18px 55px rgba(15,23,42,.07)!important;padding:24px!important}
.tf-btn{border-radius:999px!important;font-weight:900!important;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none!important}
.tf-btn.share{background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important}
.tf-related{max-width:1240px;margin:80px auto 0;padding:0 20px}.tf-related h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.04em;color:#0f172a}

@media(max-width:900px){.tf-sp-grid,.tf-single-wrap,.tf-author-wrap{grid-template-columns:1fr!important}.tf-sp-img{max-width:min(320px,80vw)!important}.tfe-sub-wrapper{margin-left:16px!important;margin-right:16px!important;flex-direction:column;align-items:flex-start}.tf-g{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.tf-search-row{align-items:flex-start}.tf-search-form{max-width:none!important}.tf-single-wrap,.tf-author-wrap{gap:24px}}
@media(max-width:560px){.tf-spot,.tfe-hero-header{padding-top:70px!important}.tf-g{grid-template-columns:1fr!important}.tf-c-body{padding:18px!important}.tfe-sub-wrapper{padding:32px 20px!important;border-radius:26px!important}.tfe-sub-form{height:auto!important;min-height:58px;flex-direction:column;border-radius:22px!important;padding:8px!important}.tfe-sub-input{width:100%;height:48px!important}.tfe-sub-btn{width:100%;height:48px!important}.tf-book-title,.tf-author-title,.tf-single h1,.tf-author-page h1{font-size:38px!important}.tf-purchase-card,.tf-info-card{padding:18px!important;border-radius:22px!important}}


/* v9.9.62 deeper TicketsFest alignment */
body.page-template-page-books .site-header,
body.single-tf_book .site-header,
body.single-tf_author .site-header,
body.page-template-page-account-tf .site-header,
body.page-template-page-checkout-tf .site-header{z-index:1000}
.tf-p .tf-spot{margin-top:0!important}
.tf-sp-grid{max-width:1240px;margin:0 auto;position:relative;z-index:2}
.tf-sp-title strong,.tf-sp-title em{color:#2563eb;font-style:normal}
.tf-c-img-wrap,.tf-c-link{background:linear-gradient(135deg,#e0f2fe,#f8fafc)!important}
.tf-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb,#38bdf8);opacity:0;transition:.25s ease;z-index:3}.tf-card:hover:before{opacity:1}
.tf-price-badge{right:12px;left:auto!important;text-transform:uppercase;letter-spacing:.02em}
.tf-c-title{min-height:46px}.tf-c-auth{min-height:18px}.tf-c-actions{display:flex;gap:10px;align-items:center}.tf-c-actions .tf-btn-view{height:46px;display:flex;align-items:center;justify-content:center}
.tf-single-wrap,.tf-author-wrap{position:relative}.tf-main-card,.tf-single-card,.tf-author-card{padding:clamp(24px,4vw,44px)!important}.tf-main-card:empty{display:none}
.tf-book-title,.tf-author-title{max-width:860px}.tf-book-desc p,.tf-author-bio p,.tf-single-content p{margin:0 0 1em}.tf-book-desc a,.tf-author-bio a,.tf-single-content a{color:#1d4ed8;font-weight:800;text-decoration:none}.tf-book-desc a:hover,.tf-author-bio a:hover,.tf-single-content a:hover{text-decoration:underline}
.tf-purchase-card{position:sticky;top:110px}.tf-purchase-card .tf-btn.primary{width:100%;min-height:54px;font-size:16px}.tf-info-card + .tf-info-card,.tf-purchase-card + .tf-info-card{margin-top:18px}
.tf-author-page .tf-g,.tf-related .tf-g{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important}.tf-related{border-top:1px solid rgba(148,163,184,.22);padding-top:48px}
.tfe-checkout-page .tfe-order-card,.tfe-account-page .tfe-order-card{transition:.25s ease}.tfe-checkout-page .tfe-order-card:hover,.tfe-account-page .tfe-order-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(15,23,42,.12)!important}
@media(max-width:900px){.tf-purchase-card{position:static}.tf-sp-grid{text-align:left!important}.tf-sp-img-wrap{text-align:center}.tf-c-actions{flex-direction:column}.tf-c-actions .tf-btn-view{width:100%}}
@media(max-width:560px){.tf-search-row{gap:14px!important}.tf-search-form{border-radius:18px!important}.tf-search-input{min-width:0;padding:0 14px!important}.tf-search-btn{border-radius:14px!important}.tf-card{border-radius:22px!important}.tf-c-title{font-size:16px!important}.tf-single-wrap,.tf-author-wrap,.tf-g,.tf-related{padding-left:16px!important;padding-right:16px!important}}
