/* AdNeed — per-tool public landing pages (/invoice-maker/, /bill-maker/,
   /qr-code-maker/, /post-maker/, /card-maker/).
   Same design system as the homepage and /shop (adneed.css + landing.css +
   home-shop.css); this file only adds the hero preview mockups, the pricing
   card and the related-tools row. Scoped under body.tool-landing. */

body.tool-landing .hero .container { align-items: center; }
.tl-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 6px 12px 6px 8px;
  border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  font-family: 'AdNeedRupee','Sora',sans-serif; font-weight: 700; font-size: 13px; color: #fff; }
.tl-eyebrow-ic { width: 24px; height: 24px; border-radius: 8px; background: var(--grad); display: inline-flex; align-items: center; justify-content: center; }
.tl-eyebrow-ic svg { width: 15px; height: 15px; }
body.tool-landing .hero-ctas .btn-primary { min-height: 48px; }

/* ---------- Hero previews (pure CSS, no images) ---------- */
.tl-hero-art { display: flex; justify-content: center; align-items: center; min-height: 300px; }
.tl-mock { width: 100%; max-width: 400px; color: var(--text); font-family: 'AdNeedRupee','Manrope',sans-serif; }
.tl-logo { width: 34px; height: 34px; border-radius: 10px; background: var(--navy-900); color: #fff; display: inline-flex; align-items: center; justify-content: center; font: 800 12px 'Sora',sans-serif; flex-shrink: 0; }

.tl-paper { background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 24px 48px rgba(0,0,0,.35); transform: rotate(1.5deg); font-size: 12.5px; }
.tl-paper-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; padding-bottom: 12px; border-bottom: 2px solid var(--navy-900); }
.tl-paper-head b { display: block; font: 800 15px 'Sora',sans-serif; }
.tl-paper-head span { color: var(--text-muted); font-size: 11px; }
.tl-paper-head em { font-style: normal; font: 800 11px 'Sora',sans-serif; letter-spacing: .6px; color: var(--orange-500); }
.tl-paper-meta { display: flex; justify-content: space-between; margin: 12px 0; color: var(--text-muted); font-size: 11.5px; }
.tl-paper-meta b { color: var(--text); }
.tl-row { display: grid; grid-template-columns: 1fr 40px 76px; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.tl-row span:nth-child(2) { text-align: right; } .tl-row span:nth-child(3) { text-align: right; font-weight: 600; }
.tl-row.th { font-weight: 700; font-size: 10.5px; text-transform: uppercase; letter-spacing: .4px; color: var(--text-muted); }
.tl-totals { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; margin-top: 12px; font-size: 11.5px; color: var(--text-muted); }
.tl-totals b { grid-column: 1 / -1; text-align: right; font: 800 17px 'Sora',sans-serif; color: var(--text); padding-top: 6px; }
.tl-paper-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--border); font-size: 11px; color: var(--text-muted); }
.tl-chip { background: var(--grad); color: #fff; font: 700 10.5px 'Sora',sans-serif; padding: 4px 10px; border-radius: 999px; }

.tl-slip { background: #fff; border-radius: 6px 6px 14px 14px; padding: 20px 20px 18px; max-width: 290px; box-shadow: 0 24px 48px rgba(0,0,0,.35); transform: rotate(-1.5deg); font-size: 13px; }
.tl-slip-top { text-align: center; padding-bottom: 10px; border-bottom: 1px dashed #C4C9D4; }
.tl-slip-top b { display: block; font: 800 15px 'Sora',sans-serif; } .tl-slip-top span { font-size: 11px; color: var(--text-muted); }
.tl-slip-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dotted var(--border); }
.tl-slip-row span:last-child { color: var(--text-muted); }
.tl-slip-total { display: flex; justify-content: space-between; align-items: baseline; padding: 12px 0 4px; }
.tl-slip-total b { font: 800 22px 'Sora',sans-serif; }
.tl-slip p { text-align: center; color: var(--text-muted); font-size: 11.5px; margin: 8px 0 14px; }
.tl-slip-btn { text-align: center; background: var(--navy-900); color: #fff; border-radius: 10px; padding: 10px; font: 700 13px 'Sora',sans-serif; }

.tl-qr { background: #fff; border-radius: 20px; padding: 22px; max-width: 300px; text-align: center; box-shadow: 0 24px 48px rgba(0,0,0,.35); }
.tl-qr-frame { position: relative; border: 3px solid var(--navy-900); border-radius: 16px; padding: 10px; }
.tl-qr-frame svg { display: block; width: 100%; height: auto; }
.tl-qr-logo { position: absolute; left: 50%; top: 50%; width: 22%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; background: var(--grad); color: #fff; border: 4px solid #fff; display: flex; align-items: center; justify-content: center; font: 800 18px 'Sora',sans-serif; }
.tl-qr b { display: block; margin-top: 14px; font: 800 15px 'Sora',sans-serif; } .tl-qr > span { font-size: 12px; color: var(--text-muted); }
.tl-qr-sw { display: flex; gap: 8px; justify-content: center; margin-top: 12px; }
.tl-qr-sw i { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--border); }

.tl-poster { position: relative; max-width: 320px; aspect-ratio: 1; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 48px rgba(0,0,0,.4); background: #fff; display: flex; flex-direction: column; }
.tl-poster-art { position: relative; flex: 1; background: linear-gradient(160deg,#3B0F5C,#B3261E 60%,#F5A623); color: #fff; padding: 22px 20px; overflow: hidden; }
.tl-poster-art h4 { font: 800 34px/1.02 'Sora',sans-serif; margin: 0; position: relative; } .tl-poster-art p { font-size: 12.5px; opacity: .9; margin: 10px 0 0; position: relative; }
.tl-sun { position: absolute; right: -30px; top: -30px; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle,#FFE08A,rgba(255,224,138,0) 70%); }
.tl-lamp { position: absolute; right: 28px; bottom: 20px; width: 46px; height: 24px; border-radius: 0 0 46px 46px; background: #FFC857; box-shadow: 0 -12px 18px #FFC857aa; }
.tl-lamp.l2 { right: 92px; bottom: 34px; transform: scale(.75); }
.tl-poster-foot { display: flex; align-items: center; gap: 10px; padding: 10px 14px; background: #fff; }
.tl-poster-foot b { display: block; font: 700 13px 'Sora',sans-serif; } .tl-poster-foot span:not(.tl-logo) { font-size: 11.5px; color: var(--text-muted); }
.tl-wm { position: absolute; left: 50%; top: 42%; transform: translate(-50%,-50%) rotate(-18deg); font: 800 38px 'Sora',sans-serif; color: rgba(255,255,255,.28); letter-spacing: 2px; pointer-events: none; }

.tl-cards { position: relative; max-width: 380px; height: 300px; }
.tl-bcard { position: absolute; left: 0; top: 0; width: 82%; aspect-ratio: 1.75; background: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 20px 40px rgba(0,0,0,.35); display: flex; flex-direction: column; gap: 2px; transform: rotate(-4deg); }
.tl-bcard b { margin-top: 10px; font: 800 16px 'Sora',sans-serif; } .tl-bcard span:not(.tl-logo) { font-size: 12px; color: var(--text-muted); }
.tl-gcard { position: absolute; right: 0; bottom: 0; width: 66%; aspect-ratio: 1.15; background: linear-gradient(150deg,#1CA8DD,#7C3AED); color: #fff; border-radius: 14px; padding: 18px; box-shadow: 0 20px 40px rgba(0,0,0,.4); transform: rotate(4deg); display: flex; flex-direction: column; justify-content: flex-end; }
.tl-gcard h4 { font: 800 20px 'Sora',sans-serif; margin: 0; } .tl-gcard p { font-size: 12px; margin: 4px 0 0; opacity: .9; }
.tl-gcard i { position: absolute; right: 16px; top: 14px; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.25); }

/* ---------- Sections ---------- */
.tl-how { background: var(--surface); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.tl-pricing { padding-top: 0; }
.tl-price-card { background: var(--navy-700); color: #fff; border-radius: 24px; padding: 40px; display: flex; gap: 28px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.tl-price-card h2 { font-size: 26px; font-weight: 800; margin-bottom: 14px; }
.tl-price-card .eyebrow { color: var(--amber-400); }
.tl-price-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 520px; }
.tl-price-card li { position: relative; padding-left: 28px; color: #D6DCE8; font-size: 15px; line-height: 1.5; }
.tl-price-card li::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--success) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.5l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.tl-price-card .btn { width: auto; margin: 0; }

.tl-rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tl-rel { display: flex; align-items: center; gap: 14px; background: var(--surface); border: 1.5px solid var(--border); border-radius: 16px; padding: 16px; text-decoration: none; color: var(--text);
  box-shadow: 0 1px 2px rgba(15,27,46,.06); transition: border-color .15s ease, transform .15s ease; }
.tl-rel:hover { border-color: var(--orange-500); transform: translateY(-1px); }
.tl-rel b { display: block; font: 700 15px 'Sora',sans-serif; } .tl-rel small { color: var(--text-muted); font-size: 12.5px; }
.tl-more .section-head { margin-bottom: 28px; }
.tl-rel .feature-icon { flex-shrink: 0; }

/* ---------- Mobile ---------- */
@media (max-width: 900px) {
  .tl-hero-art { min-height: 0; }
  .tl-mock { max-width: 360px; }
  .tl-rel-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .tl-price-card { padding: 26px 20px; border-radius: 20px; }
  .tl-price-card h2 { font-size: 22px; }
  .tl-price-card .btn { width: 100%; justify-content: center; }
  .tl-hero-art { margin-top: 4px; }
  .tl-paper { transform: none; padding: 16px; }
  .tl-slip { transform: none; }
  .tl-cards { height: 250px; }
  body.tool-landing .tl-how, body.tool-landing section.tl-pricing { padding-top: 44px; }
  body.tool-landing .faq-item summary { padding: 16px 0; font-size: 15px; }
  body.tool-landing .hero-trust div { font-size: 11.5px; }
}
@media (max-width: 640px) {
  .tl-qr { max-width: 250px; padding: 16px; }
  .tl-poster { max-width: 270px; }
  .tl-slip { max-width: 270px; }
  .tl-cards { max-width: 340px; }
}
