/*
Theme Name: AppDaily Editorial
Version: 2.3
*/

:root {
  --accent: #8e1c2b; --accent-soft: #f5e6e8;
  --ink: #1a1a1a; --paper: #fafaf8;
  --rule: #1a1a1a; --border: #e4e4e0;
  --serif: 'Frank Ruhl Libre', Georgia, serif;
  --sans:  'Heebo', system-ui, sans-serif;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.65; direction:rtl; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
img { max-width:100%; height:auto; display:block; }
h1,h2,h3,h4 { font-family:var(--serif); line-height:1.1; }

/* Progress bar */
#appd-progress-wrap { position:fixed; top:0; left:0; right:0; height:3px; z-index:9999; pointer-events:none; }
#appd-progress { height:100%; width:0; background:var(--accent); transition:width .1s; }

/* Ticker */
.appd-ticker { background:var(--ink); color:#fff; padding:5px 0; overflow:hidden; font-size:11px; }
.appd-ticker-inner { display:inline-flex; gap:60px; animation:tickerRtl 60s linear infinite; }
.appd-ticker-live { background:var(--accent); padding:1px 6px; font-weight:800; font-size:10px; margin-left:6px; }
@keyframes tickerRtl { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }

/* ══════════════════════════════════════════
   MASTHEAD — single line, 54px total height
   ══════════════════════════════════════════ */
.appd-masthead {
  position:sticky; top:3px; z-index:200;
  background:rgba(250,250,248,.97);
  backdrop-filter:blur(12px);
  border-bottom:2px solid var(--rule);
}
.appd-masthead-row {
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center;
  height:54px; padding:0 20px; gap:12px;
}
/* Logo — small, inline */
.appd-logo {
  font-family:var(--serif);
  font-size:22px; font-weight:900; letter-spacing:-1px;
  color:var(--ink) !important; text-decoration:none !important;
  flex-shrink:0; white-space:nowrap;
  padding-left:12px; border-left:1px solid #ddd; margin-left:4px;
}
.appd-logo .dot { color:var(--accent); }
/* No tagline in masthead */
.appd-tagline { display:none !important; }

/* Nav — scrollable, no wrap */
.appd-nav {
  display:flex; align-items:center; gap:2px;
  flex:1; min-width:0;
  overflow-x:auto; scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.appd-nav::-webkit-scrollbar { display:none; }
.appd-nav a {
  font-size:12px; font-weight:600; font-family:var(--sans);
  color:#555 !important; text-decoration:none !important;
  white-space:nowrap; padding:5px 9px; border-radius:18px;
  transition:all .15s; flex-shrink:0;
}
.appd-nav a:hover { background:var(--accent-soft); color:var(--accent) !important; text-decoration:none !important; }
.appd-nav a.current,
.appd-nav a.current-cat { background:var(--accent) !important; color:#fff !important; }

/* Search */
.appd-search-form { display:flex; align-items:center; border:1px solid #ddd; border-radius:18px; background:#f5f5f3; flex-shrink:0; overflow:hidden; }
.appd-search-form input { border:none; background:transparent; padding:5px 10px; font-size:12px; width:120px; outline:none; direction:rtl; font-family:var(--sans); }
.appd-search-form button { background:none; border:none; padding:5px 10px; cursor:pointer; color:#777; display:flex; align-items:center; }
.appd-search-form button:hover { color:var(--accent); }
.appd-masthead-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.appd-subscribe-btn { background:var(--accent); color:#fff !important; font-family:var(--sans); font-size:11px; font-weight:700; padding:6px 12px; border-radius:18px; border:none; cursor:pointer; white-space:nowrap; flex-shrink:0; }

/* ══════════════════════════════════════════
   HERO — compact, ~30vh max
   ══════════════════════════════════════════ */
.appd-hero { padding:20px 0 0; border-bottom:1px solid var(--border); }
.appd-hero-kicker { font-size:10px; color:var(--accent); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.appd-hero-kicker::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--accent); animation:pulse 1.5s infinite; flex-shrink:0; }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:.3} }

.appd-hero-title {
  font-family:var(--serif);
  font-size:clamp(20px, 2.8vw, 34px) !important;
  font-weight:900; letter-spacing:-0.8px; line-height:1.1;
  margin-bottom:10px; color:var(--ink);
}
.appd-hero-excerpt { font-size:14px; color:#444; line-height:1.55; margin-bottom:10px; max-width:580px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.appd-hero-img { width:100%; aspect-ratio:21/6; overflow:hidden; border-radius:2px; background:linear-gradient(135deg,#1d1d1f,#636366); margin-top:14px; }
.appd-hero-img img { width:100%; height:100%; object-fit:cover; }
.appd-scroll-hint { text-align:center; padding:7px; font-size:10px; color:#bbb; letter-spacing:2px; background:var(--paper); }

/* Container */
.appd-container { max-width:1240px; margin:0 auto; padding:0 20px; }
.appd-layout { display:grid; grid-template-columns:1fr 290px; gap:36px; padding:28px 0; }
.appd-sidebar { position:sticky; top:70px; align-self:start; }

/* Cards */
.appd-card { display:grid; grid-template-columns:90px 1fr; gap:12px; padding-bottom:18px; border-bottom:1px solid var(--border); cursor:pointer; }
.appd-card-img { aspect-ratio:4/3; overflow:hidden; border-radius:2px; background:linear-gradient(135deg,#1d1d1f,#636366); }
.appd-card-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.appd-card:hover .appd-card-img img { transform:scale(1.06); }
.appd-card-kicker { font-size:9px; color:var(--accent); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:4px; }
.appd-card-title { font-family:var(--serif); font-size:15px; font-weight:700; line-height:1.2; margin-bottom:5px; color:var(--ink); }
.appd-card:hover .appd-card-title { color:var(--accent); }
.appd-card-meta { font-size:10px; color:#888; }
.appd-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px 30px; }

/* Sidebar */
.appd-sidebar-block { margin-bottom:18px; }
.appd-top5 { background:var(--ink); color:#fff; padding:16px; }
.appd-top5-label { font-size:9px; letter-spacing:3px; text-transform:uppercase; font-weight:700; margin-bottom:12px; display:flex; align-items:center; gap:6px; }
.appd-top5-label::before { content:''; width:14px; height:2px; background:var(--accent); }
.appd-top5-item { display:grid; grid-template-columns:26px 1fr; gap:8px; padding:8px 0; border-top:1px solid rgba(255,255,255,.08); cursor:pointer; text-decoration:none !important; color:#fff !important; }
.appd-top5-item:first-child { border-top:none; }
.appd-top5-num { font-family:var(--serif); font-size:20px; font-weight:900; color:var(--accent); line-height:1; }
.appd-top5-title { font-family:var(--serif); font-size:12px; font-weight:600; line-height:1.25; }
.appd-newsletter { background:#fff; border:1px solid var(--ink); padding:16px; }
.appd-newsletter-title { font-family:var(--serif); font-size:17px; font-weight:900; margin-bottom:5px; }
.appd-newsletter-desc { font-size:11px; color:#555; line-height:1.5; margin-bottom:10px; }
.appd-newsletter input[type=email] { width:100%; padding:8px 10px; border:1px solid #ddd; font-family:var(--sans); font-size:12px; margin-bottom:6px; direction:ltr; text-align:right; background:var(--paper); }
.appd-newsletter button { width:100%; padding:8px; background:var(--accent); color:#fff; border:none; font-family:var(--sans); font-size:12px; font-weight:700; cursor:pointer; }
.appd-newsletter-note { font-size:10px; color:#888; text-align:center; margin-top:7px; }
.appd-tags { padding:14px; border:1px solid var(--border); background:#fff; }
.appd-tags-label { font-size:9px; letter-spacing:3px; text-transform:uppercase; color:#888; font-weight:700; margin-bottom:8px; }

/* Ads */
.appd-ad-wrap { text-align:center; padding:8px 0; }
.appd-ad-label { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:#ccc; font-weight:600; margin-bottom:3px; }
.appd-ad-placeholder { margin:0 auto; max-width:100%; background:repeating-linear-gradient(45deg,#f5f5f0,#f5f5f0 8px,#eeeeea 8px,#eeeeea 16px); border:1px dashed #e0e0dc; display:inline-flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; color:#ccc; font-family:var(--sans); }
.appd-ad-placeholder span { font-size:12px; }
.appd-ad-billboard { padding:8px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }

/* Disclosure */
.appd-disclosure { background:var(--accent-soft); border:1px solid rgba(142,28,43,.15); padding:10px 14px; font-size:11px; color:#333; line-height:1.6; margin:20px 0; }
.appd-disclosure strong { color:var(--accent); }

/* Podcast */
.appd-podcast { background:var(--ink); color:#fff; padding:36px 0; }
.appd-podcast-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.appd-podcast-tag { display:flex; align-items:center; gap:8px; font-size:10px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:8px; }
.appd-podcast-tag span { background:var(--accent); padding:2px 8px; border-radius:2px; }
.appd-podcast-title { font-family:var(--serif); font-size:22px; font-weight:800; line-height:1.2; margin-bottom:6px; }
.appd-podcast-desc { font-size:12px; color:#bbb; margin-bottom:14px; }
.appd-podcast-player { display:flex; align-items:center; gap:12px; }
.appd-podcast-play { width:44px; height:44px; border-radius:50%; background:var(--accent); border:none; color:#fff; font-size:14px; cursor:pointer; flex-shrink:0; }
.appd-podcast-bar { flex:1; }
.appd-podcast-track { height:3px; background:rgba(255,255,255,.2); border-radius:2px; margin-bottom:5px; }
.appd-podcast-time { font-size:10px; color:#aaa; display:flex; justify-content:space-between; }
.appd-podcast-episodes { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.appd-podcast-ep { background:rgba(255,255,255,.05); padding:10px; border:1px solid rgba(255,255,255,.1); }
.appd-podcast-ep-num { font-size:9px; letter-spacing:1px; text-transform:uppercase; font-weight:700; opacity:.7; margin-bottom:4px; }
.appd-podcast-ep-title { font-family:var(--serif); font-size:12px; font-weight:600; line-height:1.25; margin-bottom:4px; }
.appd-podcast-ep-dur { font-size:10px; color:#999; }

/* Footer */
.appd-footer { border-top:3px double var(--rule); padding:36px 0 18px; background:var(--paper); }
.appd-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:24px; margin-bottom:24px; }
.appd-footer-logo { font-family:var(--serif); font-size:22px; font-weight:900; letter-spacing:-1px; }
.appd-footer-about { font-size:11px; color:#666; margin-top:8px; line-height:1.6; }
.appd-footer-col-title { font-size:9px; letter-spacing:2px; text-transform:uppercase; color:#888; font-weight:700; margin-bottom:8px; }
.appd-footer-col a { display:block; font-size:11px; color:#333; margin-bottom:5px; }
.appd-footer-col a:hover { color:var(--accent); text-decoration:none; }
.appd-footer-disclosure { background:var(--accent-soft); border:1px solid rgba(142,28,43,.2); padding:10px 14px; margin-bottom:16px; font-size:11px; color:#333; line-height:1.6; }
.appd-footer-disclosure strong { color:var(--accent); }
.appd-footer-bottom { border-top:1px solid var(--border); padding-top:12px; font-size:10px; color:#888; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.appd-footer-policy { display:flex; gap:10px; flex-wrap:wrap; }
.appd-footer-policy a { color:#888; font-size:10px; }
.appd-footer-policy a:hover { color:var(--accent); text-decoration:none; }

/* Cookie */
#appd-cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:9998; background:var(--ink); color:#fff; border-top:3px solid var(--accent); padding:12px 20px; display:none; align-items:center; justify-content:center; }
.appd-cookie-inner { max-width:1240px; width:100%; display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
#appd-cookie-banner p { font-size:12px; line-height:1.5; margin:0; flex:1; min-width:200px; }
#appd-cookie-banner a { color:var(--accent); }
.appd-cookie-btns { display:flex; gap:6px; flex-shrink:0; }
.appd-cookie-btns button { padding:7px 14px; font-family:var(--sans); font-size:11px; cursor:pointer; border-radius:3px; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; }
.appd-cookie-btns button.accept { background:var(--accent); border-color:var(--accent); font-weight:700; }

/* Single */
.appd-single { max-width:1240px; margin:0 auto; padding:0 20px; }
.appd-single-layout { display:grid; grid-template-columns:1fr 290px; gap:36px; padding:28px 0; }
.appd-single-breadcrumb { font-size:11px; color:#777; padding:14px 0 0; }
.appd-single-breadcrumb a { color:var(--accent); }
.appd-single-kicker { font-size:10px; color:var(--accent); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.appd-single-title { font-family:var(--serif); font-size:clamp(22px,3.2vw,44px); font-weight:900; letter-spacing:-1px; line-height:1.1; margin-bottom:14px; }
.appd-single-excerpt { font-family:var(--serif); font-size:16px; font-weight:300; color:#333; line-height:1.55; margin-bottom:12px; }
.appd-single-meta { font-size:11px; color:#777; display:flex; gap:10px; flex-wrap:wrap; margin-bottom:20px; }
.appd-single-hero { aspect-ratio:2/1; overflow:hidden; border-radius:2px; margin-bottom:6px; background:linear-gradient(135deg,#1d1d1f,#636366); }
.appd-single-hero img { width:100%; height:100%; object-fit:cover; }
.appd-single-content { font-family:var(--serif); font-size:17px; line-height:1.8; color:#222; max-width:660px; }
.appd-single-content p { margin-bottom:16px; }
.appd-single-content h2 { font-size:22px; margin:24px 0 10px; }
.appd-pullquote { font-family:var(--serif); font-size:22px; font-style:italic; font-weight:500; line-height:1.35; text-align:center; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:20px 30px; margin:28px auto; max-width:660px; position:relative; }
.appd-pullquote-mark { position:absolute; top:-16px; left:50%; transform:translateX(-50%); background:var(--paper); padding:0 12px; color:var(--accent); font-size:28px; font-style:normal; font-weight:900; }
.appd-pullquote-author { font-size:10px; color:#777; letter-spacing:2px; text-transform:uppercase; margin-top:10px; font-style:normal; font-family:var(--sans); }
.appd-author-bio { display:flex; gap:14px; padding:16px; margin-top:24px; background:var(--accent-soft); border:1px solid rgba(142,28,43,.15); border-radius:3px; }
.appd-author-avatar { width:52px; height:52px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,var(--accent),var(--ink)); }
.appd-author-label { font-size:9px; color:var(--accent); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:3px; }
.appd-author-name { font-family:var(--serif); font-size:16px; font-weight:700; margin-bottom:4px; }
.appd-author-desc { font-size:12px; color:#333; line-height:1.55; }
.appd-related { margin-top:30px; padding-top:16px; border-top:1px solid var(--border); }
.appd-related-title { font-family:var(--serif); font-size:18px; font-weight:700; margin-bottom:14px; }

/* Category page */
.appd-cat-hero { padding:24px 0; border-bottom:1px solid var(--border); display:grid; grid-template-columns:1fr 200px; gap:24px; align-items:center; }
.appd-cat-label { font-size:9px; color:var(--accent); font-weight:700; letter-spacing:3px; text-transform:uppercase; margin-bottom:6px; }
.appd-cat-title { font-family:var(--serif); font-size:clamp(32px,4.5vw,58px); font-weight:900; letter-spacing:-2px; line-height:.95; }
.appd-cat-title .dot { color:var(--accent); }
.appd-cat-desc { font-family:var(--serif); font-size:14px; color:#444; line-height:1.55; margin-top:8px; }
.appd-cat-img { aspect-ratio:4/3; border-radius:2px; overflow:hidden; background:linear-gradient(135deg,var(--accent),#222); }

/* Responsive */
@media(max-width:900px) {
  .appd-layout,.appd-single-layout { grid-template-columns:1fr; }
  .appd-sidebar { position:static; }
  .appd-grid { grid-template-columns:1fr; }
  .appd-footer-grid { grid-template-columns:1fr 1fr; }
  .appd-podcast-grid,.appd-cat-hero { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .appd-masthead-row { padding:0 10px; gap:6px; }
  .appd-logo { font-size:18px; }
  .appd-nav a { font-size:11px; padding:4px 7px; }
  .appd-search-form { display:none; }
  .appd-hero-title { font-size:20px !important; }
  .appd-footer-grid { grid-template-columns:1fr; }
}
