/* GOTICTEAM SAAS — Frontend Styles */
:root {
  --gt-purple: #6C3FC5;
  --gt-cyan:   #06B6D4;
  --gt-gold:   #F59E0B;
  --gt-green:  #34D399;
  --gt-dark:   #1a1a2e;
  --gt-card:   #f8fafc;
  --gt-border: #e2e8f0;
  --gt-text:   #1e293b;
  --gt-muted:  #64748b;
}

/* ── Book Selector ───────────────────────────────────────── */
.gt-book-selector { margin:16px 0; padding:18px; background:var(--gt-card); border:1px solid var(--gt-border); border-radius:12px; direction:rtl; }
.gt-book-selector h4 { margin:0 0 12px; font-size:15px; color:var(--gt-text); font-weight:600; }
.gt-options { display:flex; flex-direction:column; gap:8px; }
.gt-option { display:flex; align-items:center; gap:10px; padding:12px 14px; background:#fff; border:2px solid var(--gt-border); border-radius:8px; cursor:pointer; transition:border-color .2s,background .2s; position:relative; }
.gt-option:hover { border-color:var(--gt-purple); }
.gt-option:has(input:checked) { border-color:var(--gt-purple); background:#f5f0ff; }
.gt-option input[type=radio] { accent-color:var(--gt-purple); width:17px; height:17px; margin:0; }
.gt-option-label { flex:1; font-size:14px; color:var(--gt-text); }
.gt-option-price { font-weight:700; font-size:15px; color:var(--gt-text); }
.gt-combo { border-color:#fbbf24; background:#fffbeb; }
.gt-combo:has(input:checked) { border-color:var(--gt-gold); background:#fef3c7; }
.gt-badge-best { position:absolute; top:-8px; right:14px; background:var(--gt-gold); color:#1a1a2e; font-size:10px; padding:2px 8px; border-radius:20px; font-weight:700; }

/* ── Promo / Preorder badges ─────────────────────────────── */
.gt-promo-badge { background:#fef3c7; border:1px solid var(--gt-gold); color:#92400e; padding:8px 14px; border-radius:8px; font-size:13px; font-weight:600; margin-bottom:10px; }
.gt-preorder-badge { background:linear-gradient(135deg,#1a1a2e,#0f3460); color:#fff; padding:12px 16px; border-radius:8px; margin-bottom:12px; }
.gt-preorder-badge span { display:block; font-size:13px; margin-bottom:3px; }

/* ── Preview button ──────────────────────────────────────── */
.gt-preview-wrap { margin-bottom:10px; }
.gt-preview-btn { background:#f0fdf4!important; color:#166534!important; border-color:#86efac!important; }

/* ── Wishlist button ─────────────────────────────────────── */
.gt-wl-btn { margin-bottom:10px; background:#fff!important; border:1px solid var(--gt-border)!important; color:var(--gt-text)!important; transition:all .2s; }
.gt-wl-btn.gt-wl-active { border-color:#f43f5e!important; color:#f43f5e!important; }

/* ── Gift option ─────────────────────────────────────────── */
.gt-gift-wrap { margin:12px 0; padding:12px; background:#fff8f1; border:1px solid #fdba74; border-radius:8px; font-size:14px; }

/* ── Bundle box ──────────────────────────────────────────── */
.gt-bundle-box { background:#faf5ff; border:1px solid #d8b4fe; border-radius:10px; padding:14px; margin:14px 0; }
.gt-bundle-box h4 { color:#7c3aed; margin:0 0 8px; font-size:14px; }
.gt-bundle-box ul { list-style:none; padding:0; margin:0; }
.gt-bundle-box li { padding:5px 0; border-bottom:1px solid #ede9fe; font-size:13px; }
.gt-bundle-saving { background:#7c3aed; color:#fff; padding:7px 12px; border-radius:6px; margin-top:8px; text-align:center; font-weight:600; font-size:13px; }

/* ── Upsell box ──────────────────────────────────────────── */
.gt-upsell-box { background:linear-gradient(135deg,#f0f9ff,#e0f2fe); border:2px solid #0ea5e9; border-radius:12px; padding:20px; margin:20px 0; text-align:center; }
.gt-upsell-box h3 { margin:0 0 8px; color:#0369a1; font-size:16px; }
.gt-upsell-btn { background:#0ea5e9!important; color:#fff!important; border-color:#0ea5e9!important; }

/* ── Library page ────────────────────────────────────────── */
.gt-library { direction:rtl; }
.gt-library h2 { font-size:20px; margin-bottom:16px; }
.gt-sub-card { background:linear-gradient(135deg,#1a1a2e,#0f3460); color:#fff; padding:16px 20px; border-radius:10px; margin-bottom:20px; display:flex; align-items:center; gap:24px; }
.gt-sub-card h3 { margin:0 0 8px; color:#fff; font-size:15px; }
.gt-sub-card span { font-size:13px; }
.gt-sub-card strong { display:block; font-size:20px; }
.gt-books-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:16px; }
.gt-book-card { background:#fff; border:1px solid var(--gt-border); border-radius:12px; overflow:hidden; transition:box-shadow .2s; }
.gt-book-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.1); }
.gt-book-card img { width:100%; height:190px; object-fit:cover; }
.gt-book-cover { width:100%; height:190px; background:linear-gradient(135deg,#667eea,#764ba2); display:flex; align-items:center; justify-content:center; font-size:56px; }
.gt-book-info { padding:12px; }
.gt-book-info h4 { margin:0 0 4px; font-size:13px; color:var(--gt-text); line-height:1.4; }
.gt-last-page { font-size:11px; color:var(--gt-muted); margin:0 0 8px; }
.gt-book-actions { display:flex; gap:6px; flex-wrap:wrap; }
.gt-read-btn  { background:var(--gt-purple)!important; color:#fff!important; border-color:var(--gt-purple)!important; font-size:11px!important; padding:4px 10px!important; }
.gt-dl-btn    { background:var(--gt-green)!important;  color:#fff!important; border-color:var(--gt-green)!important;  font-size:11px!important; padding:4px 10px!important; }
.gt-empty { text-align:center; padding:48px 20px; color:var(--gt-muted); }
.gt-empty p { font-size:16px; margin-bottom:14px; }

/* ── Reviews ─────────────────────────────────────────────── */
.gt-reviews { margin-top:36px; direction:rtl; }
.gt-reviews h3 { font-size:18px; margin-bottom:14px; }
.gt-rating-summary { display:flex; align-items:center; gap:12px; background:var(--gt-card); padding:14px; border-radius:10px; margin-bottom:18px; }
.gt-avg { font-size:44px; font-weight:700; color:var(--gt-text); line-height:1; }
.gt-stars { font-size:20px; color:var(--gt-gold); }
.gt-count { font-size:13px; color:var(--gt-muted); }
.gt-review-form { background:#f0f9ff; border:1px solid #bae6fd; border-radius:10px; padding:18px; margin-bottom:20px; }
.gt-review-form h4 { margin:0 0 10px; color:#0369a1; }
.gt-star-picker { display:flex; gap:4px; flex-direction:row-reverse; font-size:28px; cursor:pointer; margin-bottom:10px; }
.gt-star-picker .gt-star { color:#cbd5e1; transition:color .15s; }
.gt-star-picker .gt-star.on { color:var(--gt-gold); }
.gt-input    { width:100%; padding:8px 10px; border:1px solid var(--gt-border); border-radius:6px; font-size:13px; margin-bottom:8px; box-sizing:border-box; }
.gt-textarea { width:100%; padding:8px 10px; border:1px solid var(--gt-border); border-radius:6px; font-size:13px; resize:vertical; box-sizing:border-box; margin-bottom:10px; }
.gt-sub-review { background:var(--gt-purple)!important; color:#fff!important; border-color:var(--gt-purple)!important; }
.gt-rmsg { margin-top:8px; font-size:13px; padding:8px; border-radius:6px; display:none; }
.gt-rmsg.ok  { display:block; background:#f0fdf4; color:#166534; }
.gt-rmsg.err { display:block; background:#fef2f2; color:#991b1b; }
.gt-review-item { background:#fff; border:1px solid var(--gt-border); border-radius:10px; padding:14px; margin-bottom:12px; }
.gt-review-header { display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.gt-review-title { font-weight:600; margin-bottom:4px; font-size:14px; }
.gt-review-body  { color:#475569; line-height:1.6; font-size:13px; }
.gt-helpful-btn  { background:none; border:1px solid var(--gt-border); padding:4px 10px; border-radius:20px; cursor:pointer; font-size:12px; color:var(--gt-muted); margin-top:8px; }
.gt-helpful-btn:hover { border-color:var(--gt-purple); color:var(--gt-purple); }

/* ── Wishlist page ───────────────────────────────────────── */
.gt-wishlist-page { direction:rtl; }
.gt-wishlist-page h2 { font-size:20px; margin-bottom:16px; }

/* ── Recommendations ─────────────────────────────────────── */
.gt-recommendations { margin-top:28px; direction:rtl; }
.gt-recommendations h3 { font-size:17px; margin-bottom:12px; }
.gt-reco-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
.gt-reco-card { display:flex; flex-direction:column; border:1px solid var(--gt-border); border-radius:10px; overflow:hidden; text-decoration:none; transition:box-shadow .2s; }
.gt-reco-card:hover { box-shadow:0 4px 14px rgba(0,0,0,.08); }
.gt-reco-card img { width:100%; height:130px; object-fit:cover; }
.gt-reco-info { padding:8px; }
.gt-reco-info h5 { margin:0 0 4px; font-size:12px; color:var(--gt-text); line-height:1.4; }

/* ── Affiliate dashboard ─────────────────────────────────── */
.gt-aff-dash { direction:rtl; }
.gt-aff-dash h2 { font-size:20px; margin-bottom:16px; }
.gt-aff-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:20px; }
.gt-stat { background:var(--gt-card); border:1px solid var(--gt-border); border-radius:10px; padding:18px; text-align:center; }
.gt-stat strong { display:block; font-size:22px; font-weight:700; color:var(--gt-purple); margin-bottom:4px; }
.gt-stat span { font-size:12px; color:var(--gt-muted); }
.gt-aff-gen { background:#f0f9ff; border:1px solid #bae6fd; border-radius:10px; padding:18px; }
.gt-aff-gen h3 { margin:0 0 12px; color:#0369a1; font-size:15px; }
.gt-aff-gen select { padding:7px 10px; border:1px solid var(--gt-border); border-radius:6px; font-size:13px; margin-left:8px; }

/* ── Product feature boxes ───────────────────────────────── */
.gt-features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:14px; direction:rtl; }
.gt-feature-box { background:var(--gt-card); border:1px solid var(--gt-border); border-radius:10px; padding:12px; display:flex; flex-direction:column; gap:4px; }
.gt-feature-icon { font-size:20px; }
.gt-feature-title { font-size:13px; font-weight:700; color:var(--gt-text); }
.gt-feature-desc { font-size:12px; color:var(--gt-muted); line-height:1.5; }
@media(max-width:480px){ .gt-features-grid{ grid-template-columns:1fr; } }

/* ── Notes page ──────────────────────────────────────────── */
.gt-notes-page { direction:rtl; }
.gt-notes-page h2 { font-size:20px; margin-bottom:16px; }
.gt-book-notes { margin-bottom:20px; }
.gt-book-notes h3 { font-size:15px; color:var(--gt-text); margin-bottom:10px; }
.gt-note-card { background:#fff; border-radius:8px; padding:10px; margin-bottom:8px; box-shadow:0 1px 4px rgba(0,0,0,.07); border-right:3px solid var(--gt-gold); }
.gt-note-pg { display:inline-block; background:var(--gt-card); padding:2px 8px; border-radius:12px; font-size:11px; color:var(--gt-muted); margin-bottom:5px; }
.gt-note-card p { margin:0 0 5px; color:#374151; font-size:13px; }
.gt-note-card small { font-size:11px; color:var(--gt-muted); }
