/* Ceylon Web Studio – theme styles */
:root { --gold:#D4AF37; --amber:#F59E0B; --emerald:#10B981; --ink:#080C14; }
html { background:#080C14; }
body { background-color:#080C14; color:#F8FAFC; overflow-x:hidden; }
.ic { display:inline-block; width:1em; height:1em; fill:currentColor; flex-shrink:0; vertical-align:-0.125em; }
.font-display { font-family:'Playfair Display', 'Noto Sans Sinhala', Georgia, serif; }
:focus-visible { outline:2px solid var(--gold); outline-offset:3px; border-radius:8px; }
.skip { position:absolute; left:-9999px; top:8px; z-index:100; }
.skip:focus { left:12px; }

/* Aurora background */
.aurora { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.aurora span { position:absolute; border-radius:9999px; filter:blur(80px); opacity:.55; animation:drift 22s ease-in-out infinite alternate; }
.aurora .a1 { width:520px; height:520px; left:-140px; top:-120px; background:radial-gradient(circle, rgba(212,175,55,.45), transparent 65%); }
.aurora .a2 { width:460px; height:460px; right:-120px; top:40px; background:radial-gradient(circle, rgba(16,185,129,.32), transparent 65%); animation-duration:26s; }
.aurora .a3 { width:420px; height:420px; left:35%; bottom:-200px; background:radial-gradient(circle, rgba(245,158,11,.28), transparent 65%); animation-duration:30s; }
@keyframes drift { 0%{transform:translate(0,0) scale(1);} 50%{transform:translate(40px,30px) scale(1.08);} 100%{transform:translate(-30px,50px) scale(.95);} }
.grid-lines { position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:56px 56px; -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 75%); mask-image:radial-gradient(ellipse 80% 60% at 50% 30%, #000 30%, transparent 75%); }

/* Cards */
.glass-card { background:rgba(15,23,42,.72); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid rgba(255,255,255,.08); transition:border-color .3s, transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.glass-nav { background:rgba(8,12,20,.82); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:1px solid rgba(212,175,55,.16); }
.spot { position:relative; overflow:hidden; }
.spot::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), rgba(212,175,55,.14), transparent 45%); }
.spot:hover::before { opacity:1; }
.spot:hover { border-color:rgba(212,175,55,.38); transform:translateY(-3px); box-shadow:0 18px 40px -20px rgba(212,175,55,.35); }
.gborder { position:relative; }
.gborder::after { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(135deg, rgba(243,215,122,.85), rgba(212,175,55,.15) 40%, rgba(16,185,129,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }

.text-gold-gradient { background:linear-gradient(120deg,#FFF3B0 0%,#D4AF37 45%,#F59E0B 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.shimmer { background:linear-gradient(110deg,#FFF3B0 0%,#D4AF37 30%,#FFF7D1 45%,#D4AF37 60%,#F59E0B 100%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:shimmer 7s linear infinite; }
@keyframes shimmer { to { background-position:-220% 0; } }
.btn-gold { background:linear-gradient(135deg,#E9C75A 0%,#D4AF37 45%,#F59E0B 100%); color:#080C14; font-weight:700; transition:filter .25s, box-shadow .25s, transform .25s; }
.btn-gold:hover { filter:brightness(1.08); box-shadow:0 0 28px rgba(212,175,55,.5); transform:translateY(-1px); }
.btn-ghost { background:rgba(15,23,42,.85); border:1px solid rgb(51 65 85); color:#fff; transition:border-color .25s, background .25s; }
.btn-ghost:hover { border-color:rgba(212,175,55,.55); background:rgb(30 41 59); }

input[type=range] { -webkit-appearance:none; appearance:none; background:rgba(255,255,255,.12); height:6px; border-radius:999px; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; height:20px; width:20px; border-radius:50%; background:#D4AF37; cursor:pointer; box-shadow:0 0 10px rgba(212,175,55,.8); }
input[type=range]::-moz-range-thumb { height:20px; width:20px; border:0; border-radius:50%; background:#D4AF37; cursor:pointer; }

::-webkit-scrollbar { width:8px; } ::-webkit-scrollbar-track { background:#080C14; } ::-webkit-scrollbar-thumb { background:#1E293B; border-radius:4px; } ::-webkit-scrollbar-thumb:hover { background:#D4AF37; }

@keyframes pulseRing { 0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7);} 70%{transform:scale(1);box-shadow:0 0 0 10px rgba(16,185,129,0);} 100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0);} }
.live-dot { animation:pulseRing 2s infinite; }

/* Marquee */
.marquee { -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.marquee-track { display:flex; width:max-content; animation:marquee 38s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
@keyframes marquee { to { transform:translateX(-50%); } }

/* Scroll reveal (only when JS is on) */
.js .reveal { opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
.js .reveal.in { opacity:1; transform:none; }
.js .reveal.d1 { transition-delay:.08s; } .js .reveal.d2 { transition-delay:.16s; } .js .reveal.d3 { transition-delay:.24s; }

/* Hero language ticker */
.lang-line { transition:opacity .45s ease, transform .45s ease; }
.lang-line.out { opacity:0; transform:translateY(8px); }

/* Floating mockup */
.float { animation:float 7s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }

/* FAQ */
details summary { list-style:none; cursor:pointer; }
details summary::-webkit-details-marker { display:none; }
details[open] .faq-plus { transform:rotate(45deg); }
.faq-plus { transition:transform .25s; }

/* Process line */
.step-line { background:linear-gradient(90deg, rgba(212,175,55,.0), rgba(212,175,55,.55), rgba(16,185,129,.55), rgba(16,185,129,0)); }

.offer-off .offer-only { display:none !important; }
.sale-pill { background:linear-gradient(135deg,#F43F5E,#F59E0B); color:#fff; }
.offer-glow { box-shadow:0 0 0 1px rgba(244,63,94,.35), 0 0 40px -10px rgba(244,63,94,.45); }
@keyframes wiggle { 0%,92%,100%{transform:rotate(0);} 94%{transform:rotate(-8deg);} 96%{transform:rotate(8deg);} 98%{transform:rotate(-4deg);} }
.wiggle { animation:wiggle 4s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .js .reveal { opacity:1; transform:none; }
}
/* ---------- WordPress ---------- */
.admin-bar header.fixed { top:32px; }
@media (max-width:782px) { .admin-bar header.fixed { top:46px; } }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* ---------- Blog article content ---------- */
.entry-content { color:#CBD5E1; font-size:17px; line-height:1.8; }
.entry-content > * + * { margin-top:1.15em; }
.entry-content h2 { color:#fff; font-size:1.75rem; line-height:1.25; font-weight:800; margin-top:2em; letter-spacing:-.01em; }
.entry-content h3 { color:#fff; font-size:1.3rem; line-height:1.3; font-weight:700; margin-top:1.6em; }
.entry-content h4 { color:#fff; font-size:1.1rem; font-weight:700; margin-top:1.4em; }
.entry-content a { color:#D4AF37; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(212,175,55,.4); }
.entry-content a:hover { color:#F59E0B; }
.entry-content strong { color:#fff; }
.entry-content ul, .entry-content ol { padding-left:1.4em; }
.entry-content ul { list-style:disc; } .entry-content ol { list-style:decimal; }
.entry-content li + li { margin-top:.4em; }
.entry-content li::marker { color:#D4AF37; }
.entry-content blockquote { border-left:3px solid #D4AF37; background:rgba(212,175,55,.06); padding:1em 1.2em; border-radius:0 14px 14px 0; color:#E2E8F0; font-style:italic; }
.entry-content img, .entry-content figure img { border-radius:18px; height:auto; max-width:100%; }
.entry-content figure { margin-left:0; margin-right:0; }
.entry-content figcaption { color:#94A3B8; font-size:.85em; text-align:center; margin-top:.5em; }
.entry-content code { background:#0F172A; border:1px solid #1E293B; border-radius:6px; padding:.1em .4em; font-size:.9em; color:#F3D77A; }
.entry-content pre { background:#0F172A; border:1px solid #1E293B; border-radius:14px; padding:1em; overflow-x:auto; font-size:.9em; }
.entry-content pre code { background:none; border:0; padding:0; color:#E2E8F0; }
.entry-content table { width:100%; border-collapse:collapse; font-size:.95em; display:block; overflow-x:auto; }
.entry-content th, .entry-content td { border-bottom:1px solid #1E293B; padding:.6em .8em; text-align:left; }
.entry-content th { color:#fff; }
.entry-content hr { border:0; border-top:1px solid #1E293B; margin:2.5em 0; }
.entry-content .wp-block-button__link { background:linear-gradient(135deg,#E9C75A,#D4AF37 45%,#F59E0B); color:#080C14; text-decoration:none; font-weight:700; border-radius:12px; padding:.75em 1.4em; }
.entry-content .alignwide { margin-left:-6%; margin-right:-6%; max-width:none; }
.entry-content input, .entry-content textarea { background:#080C14; border:1px solid #334155; border-radius:10px; color:#fff; padding:.6em .8em; width:100%; }
.entry-content .comment-list { list-style:none; padding:0; }
.entry-content .comment-body { border:1px solid #1E293B; border-radius:14px; padding:1em; }

/* ---------- Pagination ---------- */
.cws-pagination ul { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; }
.cws-pagination a, .cws-pagination span { display:inline-flex; min-width:42px; height:42px; padding:0 14px; align-items:center; justify-content:center; border-radius:12px; border:1px solid #1E293B; background:rgba(15,23,42,.72); color:#CBD5E1; font-size:14px; font-weight:600; }
.cws-pagination a:hover { border-color:rgba(212,175,55,.5); color:#fff; }
.cws-pagination .current { background:#D4AF37; color:#080C14; border-color:#D4AF37; }
