/* Spurt SEO theme: WordPress parts and service pages */

/* Accessibility helpers */
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; left: 8px; top: 8px; z-index: 100000; padding: 12px 18px; background: #fff; color: var(--ink); border-radius: 10px; }

/* Admin bar: keep the sticky header below it */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } .admin-bar .mobile-menu { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Uploaded logo */
.logo .brand-logo-img { height: 38px; width: auto; max-width: 220px; object-fit: contain; }
@media (max-width: 760px) { .logo .brand-logo-img { height: 32px; } }
.site-footer .logo .brand-logo-img { height: 42px; }

/* Initials when a photo is missing */
.rv-av .rv-ini, .tmxl-av .tmxl-ini { width: 100%; height: 100%; display: grid; place-items: center; background: var(--grad); color: #fff; font: 600 .95rem var(--f-display); }
.tmxl-av .tmxl-ini { border-radius: 50%; }

/* Post card without a picture */
.ph-empty, .bl .pc .im .ph-empty { display: grid !important; place-items: center; width: 100%; height: 100%; aspect-ratio: 1200 / 630; background: var(--grad-soft); color: var(--violet); }
.ph-empty svg { width: 48px; height: 48px; opacity: .6; }

/* Blog tabs as links */
.bl a.tab { text-decoration: none; }
.bl .tab[aria-current=page] { background: var(--ink); border-color: var(--ink); color: #fff; }
.bl .tab[aria-current=page] b { background: rgba(255,255,255,.16); color: #fff; }
.bl .ph a.cat { text-decoration: none; }
.bl .ph a.cat:hover { border-color: var(--violet); }

/* Article without "On this page" */
.bl .layout.no-toc { grid-template-columns: minmax(0, 760px); }

/* Pagination */
.bl .spurt-pages, .bl .navigation.pagination { padding: 0 0 90px; }
.bl .nav-links { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.bl .page-numbers { min-width: 44px; height: 44px; padding: 0 14px; display: inline-grid; place-items: center; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; color: var(--ink); font-weight: 600; transition: all .25s; }
.bl a.page-numbers:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }
.bl .page-numbers.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.bl .grid:has(+ .navigation) { padding-bottom: 40px; }

/* Search form */
.spurt-search { display: flex; gap: 8px; max-width: 520px; margin: 18px auto 0; }
.spurt-search input { flex: 1; min-width: 0; height: 46px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; font: 500 1rem var(--f-body); color: var(--ink); }
.spurt-search input:focus { outline: 2px solid var(--blue); outline-offset: 1px; }
.spurt-search .btn { --h: 46px; }

/* 404 */
.bl .bh.nf { text-align: center; padding: 80px 0 110px; display: grid; justify-items: center; gap: 6px; }
.bl .bh.nf p { max-width: 52ch; }
.nf-btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 20px 0 8px; }

/* Pages */
.bl .lg .hero-img.page-hero-img { margin: 0 0 30px; }
.bl .lg .toc { margin-bottom: 18px; }
.bl .lg ol { padding-left: 1.3em; list-style: decimal; }
.bl .lg img { max-width: 100%; height: auto; border-radius: 14px; }

/* Content from the WordPress editor */
.bl article img, .bl .lg img, .svp-main img { max-width: 100%; height: auto; }
.bl article figure, .svp-main figure { margin: 1.6em 0; }
.bl article figcaption, .svp-main figcaption, .wp-caption-text { font-size: .86rem; color: var(--ink-3); margin-top: 8px; text-align: center; }
.bl article .wp-block-image img, .svp-main .wp-block-image img { border-radius: 16px; }
.bl .wp-block-table table, .bl article table { width: 100%; border-collapse: collapse; }
.bl .wp-block-table { overflow-x: auto; }
.bl .wp-block-quote, .bl article blockquote { margin: 1.6em 0; padding: 6px 0 6px 22px; border-left: 3px solid var(--violet); color: var(--ink); font-size: 1.1rem; }
.bl .wp-block-button__link { display: inline-flex; align-items: center; height: 50px; padding: 0 24px; border-radius: 14px; background: var(--grad); color: #fff !important; text-decoration: none !important; font-weight: 600; }
.bl .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 2.4em 0; }
.alignleft { float: left; margin: .4em 1.4em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.4em; }
.aligncenter { margin-left: auto; margin-right: auto; display: block; }
.bl article .alignwide, .bl article .alignfull { margin-left: 0; margin-right: 0; }
.sticky, .gallery-caption, .bypostauthor { }

/* Comments */
.spurt-comments { margin-top: 3em; padding-top: 2em; border-top: 1px solid var(--line); }
.spurt-comments h2, .spurt-comments .comment-reply-title { font: 650 1.4rem var(--f-display); color: var(--ink); margin: 0 0 18px; }
.spurt-comments .comment-list { list-style: none !important; padding: 0 !important; display: grid; gap: 14px; }
.spurt-comments .comment-body { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; }
.spurt-comments .avatar { border-radius: 50%; float: left; margin-right: 12px; }
.spurt-comments input[type=text], .spurt-comments input[type=email], .spurt-comments input[type=url], .spurt-comments textarea { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; font: inherit; }
.spurt-comments .form-submit .btn, .spurt-comments input[type=submit] { margin-top: 10px; }

/* ------------------------------------------------------------------ Service pages */
.svp-hero { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(70% 90% at 85% 40%, #ece9ff 0%, #eef2fd 45%, #f6f7fd 100%); padding: 18px 0 clamp(56px, 7vw, 96px); }
.svp-in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.svp-in.one { grid-template-columns: minmax(0, 860px); }
.svp-copy { display: grid; gap: 18px; align-content: start; }
.svp-copy .crumbs { display: flex; gap: 8px; flex-wrap: wrap; font-size: .86rem; color: var(--ink-3); padding-top: 12px; margin-bottom: 10px; }
.svp-copy .crumbs a:hover { color: var(--blue); }
.svp-copy h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); color: var(--ink); margin: 0; }
.svp-copy .lede { margin: 0; }
.svp-points { list-style: none; padding: 0; margin: 4px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.svp-points li { display: flex; gap: 10px; align-items: flex-start; color: var(--ink); font-weight: 500; font-size: .98rem; }
.svp-points svg, .svp-card li svg { width: 20px; height: 20px; flex: none; color: var(--good); margin-top: 2px; }
.svp-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.svp-img { margin: 0; border-radius: 28px; overflow: hidden; box-shadow: 0 50px 90px -50px rgba(30,40,110,.55), 0 0 0 1px rgba(15,19,48,.06); aspect-ratio: 3 / 2; background: var(--grad-soft); transform: perspective(1200px) rotateY(-4deg) rotateX(2deg); transition: transform .8s var(--ease); }
.svp-img:hover { transform: none; }
.svp-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svp-img-ph { display: grid; place-items: center; width: 100%; height: 100%; color: var(--violet); }
.svp-img-ph svg { width: 96px; height: 96px; opacity: .5; }

.svp-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(32px, 5vw, 72px); padding-top: clamp(48px, 6vw, 84px); padding-bottom: clamp(40px, 5vw, 72px); align-items: start; position: relative; }
.svp-main { background: transparent; }
.svp-main article { max-width: 760px; font-size: 1.06rem; line-height: 1.75; }
.svp-main article > :first-child { margin-top: 0; }
.svp-faq { margin-top: 2.8em; }
.svp-faq .fq-list { display: grid; gap: 12px; }
.svp-faq .fq-item p { margin: 0; }
.svp-side { position: sticky; top: 100px; }
.svp-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 26px; box-shadow: var(--shadow-2); display: grid; gap: 16px; }
.svp-card h3 { font: 650 1.25rem/1.25 var(--f-display); color: var(--ink); margin: 0; letter-spacing: -.015em; }
.svp-card ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.svp-card li { display: flex; gap: 10px; color: var(--ink-2); font-size: .97rem; }
.svp-card .btn { width: 100%; }
.svp-card .sv-ic { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--grad); color: #fff; }
.svp-card .sv-ic svg { width: 24px; height: 24px; }
.svp-more { padding-top: clamp(40px, 5vw, 72px); }
.svp-more .sv-more { margin-top: 0; }
.svp-all { padding-top: clamp(40px, 5vw, 64px); }
.svp-all .sv-mini-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }

@media (max-width: 1000px) {
	.svp-in { grid-template-columns: 1fr; }
	.svp-img { transform: none; max-width: 720px; }
	.svp-body { grid-template-columns: 1fr; }
	.svp-side { position: static; }
}
@media (max-width: 560px) {
	.svp-points { grid-template-columns: 1fr; }
	.svp-btns .btn { flex: 1 1 100%; }
}

/* Editor text colours inside the service content */
.svp-main article h2 { font: 650 clamp(1.5rem, 2.6vw, 1.95rem)/1.2 var(--f-display); letter-spacing: -.025em; color: var(--ink); margin: 2em 0 .6em; }
.bl .navigation .nav-links { display: flex !important; position: static; }
.svp-more { padding-bottom: 0; }
.bl article .cta .btn, .bl article .cta .btn:hover { color: #fff; text-decoration: none; }
.svp-all .sv-mini { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px; box-shadow: var(--shadow-1); }
.svp-all .sv-mini-grid { gap: 16px; }
/* About / Pricing / Contact pages */
.svp-hero-page { padding-bottom: clamp(48px, 6vw, 80px); }
.svp-body.one { grid-template-columns: minmax(0, 860px); }
