/* RankRight — WordPress / WooCommerce / blog additions on top of main.css */

.stats-grid{grid-template-columns:repeat(3,1fr)}
.crumbs-center{justify-content:center}
.narrow-wide{max-width:960px}
.page-hero.center,.page-hero .center{text-align:center}

/* Menu "compare all" row */
.menu .menu-all{grid-column:1/-1;border-top:1px solid var(--border);margin-top:4px;padding-top:4px}

/* Package cards with image */
.price-media{display:block;margin:-34px -30px 22px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;aspect-ratio:4/3;background:var(--grad-soft)}
.price-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.price:hover .price-media img{transform:scale(1.04)}
.price h3 a:hover{color:var(--pink)}
.price.current{border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(100deg,#5ee6b8,#b57bff) border-box;border:1.5px solid transparent}
.price .ribbon{z-index:2}

/* Product (service package) page */
.product-hero{padding-bottom:clamp(48px,6vw,80px)}
.product-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,4vw,56px);align-items:start}
.product-hero h1{font-size:clamp(2rem,4.4vw,3.3rem)}
.product-figure{margin:28px 0 0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-2);box-shadow:var(--glow)}
.product-figure img{width:100%;height:auto}
.buy-box{position:sticky;top:96px;padding:30px;border-radius:var(--radius-lg);background:linear-gradient(var(--surface-solid),var(--surface-solid)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 30px 80px -30px rgba(255,122,198,.5)}
.buy-box .ribbon{position:absolute;top:-13px;left:24px;transform:none}
.buy-box h2{margin:4px 0 4px}
.buy-box .tagline{color:var(--faint);font-size:.92rem;margin-bottom:14px}
.buy-box .amount{display:flex;align-items:baseline;gap:6px;margin:0 0 18px}
.buy-box .amount b{font:700 2.8rem/1 var(--font-head);letter-spacing:-.03em}
.buy-box .amount span{color:var(--faint)}
.buy-list{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px}
.buy-list li{display:flex;gap:10px;color:var(--muted);font-size:.95rem}
.buy-list svg{flex:none;width:18px;height:18px;color:var(--pink);margin-top:4px}
.buy-box form{margin:0 0 10px}
.buy-box .btn+.btn{margin-top:10px}
.buy-box .fine{font-size:.82rem;color:var(--faint);margin:12px 0 0;text-align:center}
.assure{list-style:none;padding:16px 0 0;margin:18px 0 0;border-top:1px solid var(--border);display:grid;gap:8px;font-size:.86rem;color:var(--muted)}
.assure li{display:flex;align-items:center;gap:8px}
.assure svg{width:16px;height:16px;color:var(--mint)}
.facts h2{font-size:1.15rem}

/* Shop page */
.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.chip-row-center{justify-content:center;margin-top:-28px;position:relative;z-index:2}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--border-2);background:rgba(18,9,36,.9);font:600 .9rem var(--font-head);color:var(--muted);transition:border-color .2s,color .2s}
.chip svg{width:16px;height:16px;color:var(--pink)}
.chip:hover,.chip.on{border-color:var(--pink);color:var(--text)}
.pk-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pk-head h2{margin:0 0 4px;font-size:clamp(1.5rem,2.6vw,2rem)}
.pk-head p{margin:0}
.pk-head>div{flex:1;min-width:240px}

/* Blog cards */
.post-card{display:flex;flex-direction:column;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-solid);overflow:hidden;transition:transform .3s,border-color .3s}
.post-card:hover{transform:translateY(-4px);border-color:rgba(255,122,198,.35)}
.post-card-media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--grad-soft)}
.post-card-media img{width:100%;height:100%;object-fit:cover}
.post-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.post-card .tag{font:650 .74rem/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.post-card h3{margin:10px 0 8px;font-size:1.2rem;line-height:1.3}
.post-card h3 a:hover{color:var(--pink)}
.post-card p{font-size:.94rem}
.post-meta{margin-top:auto;font-size:.82rem;color:var(--faint)}
.pager{margin-top:40px;text-align:center}
.pager .nav-links{display:flex;gap:8px;justify-content:center}
.pager .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--border)}
.pager .current{background:var(--grad);color:var(--on-grad);border:0}

/* Single post */
.post-hero{position:relative;overflow:hidden;padding:clamp(36px,5vw,64px) 0 32px}
.post-hero h1{font-size:clamp(2rem,4.4vw,3.2rem)}
.byline{display:flex;align-items:center;gap:14px;margin-top:20px}
.byline img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,122,198,.5)}
.byline b{display:block;font:600 1rem var(--font-head)}
.byline span span{font-size:.85rem;color:var(--faint)}
.post-feature{margin:0 0 40px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-2)}
.post-feature img{width:100%;height:auto}
.post-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start;max-width:1100px}
.post-aside{position:sticky;top:100px;display:grid;gap:20px}
.toc{padding:22px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}
.toc h2{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:12px}
.toc ol{margin:0;padding-left:1.1em;display:grid;gap:8px;font-size:.9rem;color:var(--muted)}
.toc a:hover{color:var(--pink)}
.takeaways{margin:0 0 32px}
.takeaways ul{margin:0;padding-left:1.2em;display:grid;gap:8px;color:var(--text)}
.entry{font-size:1.06rem}
.entry h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:1.8em;scroll-margin-top:100px}
.entry h3{font-size:1.25rem;margin-top:1.5em}
.entry p,.entry li{color:#cfc7de}
.entry ul,.entry ol{display:grid;gap:8px;margin:0 0 1.3em}
.entry li::marker{color:var(--pink)}
.entry a{color:var(--pink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,122,198,.45)}
.entry blockquote,.entry .callout{margin:1.6em 0;padding:20px 24px;border-left:3px solid var(--pink);border-radius:0 14px 14px 0;background:rgba(255,122,198,.06)}
.entry blockquote p:last-child,.entry .callout p:last-child{margin:0}
.entry figure{margin:1.8em 0}
.entry figure img{border-radius:16px;border:1px solid var(--border)}
.entry figcaption{font-size:.85rem;color:var(--faint);margin-top:8px;text-align:center}
.entry .wp-block-table,.entry .table-wrap{overflow-x:auto;margin:1.6em 0;border:1px solid var(--border);border-radius:14px}
.entry table{min-width:520px}
.entry thead th{background:rgba(255,255,255,.04)}
.entry .cta-inline{margin:2em 0;padding:24px;border-radius:var(--radius);background:var(--grad-soft);border:1px solid rgba(255,122,198,.3)}
.entry .cta-inline p{color:var(--text)}
.post-faq{margin-top:48px}
.post-faq h2{font-size:1.7rem}
.author-box{display:flex;gap:22px;align-items:flex-start;margin-top:48px;padding:28px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}
.author-box img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none}
.author-box h2{font-size:1.3rem;margin:0 0 6px}
.author-box .eyebrow{margin-bottom:6px}

/* Team (About page) */
.member .avatar{width:150px;height:150px}

/* Legal / generic pages */
.legal h2{font-size:1.45rem;margin-top:1.8em}
.legal ul,.legal ol{color:var(--muted)}

/* WooCommerce cart / checkout / account (block and classic) on the dark theme */
.wc-wrap{max-width:1100px}
.wc-wrap,.wc-wrap p,.wc-wrap label,.wc-wrap td,.wc-wrap th,.wc-wrap span,.wc-wrap li{color:var(--text)}
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-blocks-components-select__select,.wc-block-components-combobox .components-combobox-control__input,
.wc-wrap input[type=text],.wc-wrap input[type=email],.wc-wrap input[type=tel],.wc-wrap input[type=password],.wc-wrap select,.wc-wrap textarea{background:#0b0418!important;color:var(--text)!important;border-color:var(--border-2)!important}
.wc-block-components-text-input label,.wc-blocks-components-select__label{color:var(--faint)!important}
.wc-block-components-button:not(.is-link),.wc-wrap .button,.wc-wrap button.button{background:var(--grad)!important;color:var(--on-grad)!important;border:0!important;border-radius:999px!important;font:650 .95rem var(--font-head)!important}
.wc-block-components-panel,.wc-block-components-totals-wrapper,.wc-block-components-order-summary,.wc-block-checkout__sidebar,.wp-block-woocommerce-checkout-order-summary-block{border-color:var(--border)!important}
.wc-block-cart,.wc-block-checkout{color:var(--text)}
.wc-block-components-radio-control__option,.wc-block-components-checkbox__label{color:var(--text)}
.woocommerce-info,.woocommerce-message,.woocommerce-error,.wc-block-components-notice-banner{background:var(--surface-solid)!important;color:var(--text)!important;border-color:var(--pink)!important}

@media (max-width:920px){
	.product-hero-grid,.post-grid{grid-template-columns:1fr}
	.buy-box{position:relative;top:auto}
	.post-aside{position:static;order:2}
	.stats-grid{grid-template-columns:1fr 1fr 1fr}
	.stat:nth-child(3){border-left:1px solid rgba(22,5,31,.18)}
	.stat:nth-child(n+3){border-top:0}
}
@media (max-width:640px){
	.stats-grid{grid-template-columns:1fr}
	.stat+.stat{border-left:0!important;border-top:1px solid rgba(22,5,31,.18)!important}
	.author-box{flex-direction:column}
	.price-media{margin:-34px -30px 18px}
}
.b-rating .score .yrs{display:block;font:600 .85rem var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--pink);margin-top:6px}

/* ===================== v2: compact packages, order flow, mobile fixes ===================== */
.btn-soft{background:rgba(255,122,198,.1);border-color:rgba(255,122,198,.45);color:var(--text)}
.btn-soft:hover{background:var(--grad);color:var(--on-grad);border-color:transparent}
.btn-lg{--h:58px;font-size:1rem}

/* Compact package cards */
.pricing{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pk{position:relative;display:flex;flex-direction:column;padding:24px 22px 20px;border-radius:20px;border:1px solid var(--border-2);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));transition:transform .25s,box-shadow .25s,border-color .25s}
.pk:hover{transform:translateY(-3px);border-color:rgba(255,122,198,.45);box-shadow:0 24px 60px -30px rgba(255,122,198,.55)}
.pk-hot{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 26px 70px -30px rgba(255,122,198,.6)}
.pk-current{background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,linear-gradient(100deg,#5ee6b8,#b57bff) border-box;border:1.5px solid transparent}
.pk-badge{position:absolute;top:-11px;right:18px;padding:6px 12px;border-radius:999px;background:var(--grad);color:var(--on-grad);font:700 .68rem/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase}
.pk-badge-cur{background:linear-gradient(100deg,#5ee6b8,#b57bff)}
.pk-svc{display:inline-flex;align-items:center;gap:6px;font:650 .72rem/1 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--pink);margin-bottom:8px}
.pk-svc svg{width:14px;height:14px}
.pk-name{font-size:1.2rem;margin:0 0 2px}
.pk-name a:hover{color:var(--pink)}
.pk-tag{font-size:.86rem;color:var(--faint);margin:0 0 12px}
.pk-price{display:flex;align-items:baseline;gap:6px;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.pk-price b{font:750 2.2rem/1 var(--font-head);letter-spacing:-.03em}
.pk-price span{color:var(--faint);font-size:.86rem}
.pk-list{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:7px;flex:1;align-content:start}
.pk-list li{display:flex;gap:9px;font-size:.9rem;line-height:1.45;color:var(--muted)}
.pk-list svg{flex:none;width:16px;height:16px;margin-top:3px;color:var(--mint)}
.pk-more{font-size:.84rem;color:var(--pink);font-weight:600;margin:2px 0 14px}
.pk-more:hover{text-decoration:underline}
.pk-cta{display:grid;gap:6px;margin-top:auto;padding-top:6px}
.pk-cta .btn{--h:46px}
.pk-link{text-align:center;font:600 .86rem var(--font-head);color:var(--muted);padding:6px}
.pk-link:hover{color:var(--text)}
.swipe-hint{display:none;text-align:center;font-size:.85rem;color:var(--faint);margin:10px 0 0}
.price-note{margin-top:18px}

/* Order flow */
.order-hero{position:relative;overflow:hidden;padding:36px 0 8px;text-align:center}
.order-hero h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:18px 0 8px}
.order-hero .lead{margin:0 auto}
.order-steps{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0;font:600 .86rem var(--font-head);color:var(--faint)}
.order-steps li{display:inline-flex;align-items:center;gap:8px}
.order-steps li+li::before{content:"";width:22px;height:1px;background:var(--border-2);margin-right:10px}
.order-steps span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--border-2);font-size:.78rem}
.order-steps span svg{width:14px;height:14px}
.order-steps .done{color:var(--mint)}.order-steps .done span{background:rgba(94,230,184,.15);border-color:var(--mint)}
.order-steps .now{color:var(--text)}.order-steps .now span{background:var(--grad);color:var(--on-grad);border:0}
.order-wrap{padding-top:28px}
.order-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:28px;align-items:start}
.brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.brief-fields .field-wide{grid-column:1/-1}
.order-form textarea{min-height:96px}
.order-form .fine{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.82rem;color:var(--faint);margin:4px 0 0}
.order-form .fine svg{width:14px;height:14px;color:var(--mint)}
.order-summary{position:sticky;top:96px;display:grid;gap:16px}
.os-card{padding:24px;border-radius:var(--radius-lg);background:linear-gradient(var(--surface-solid),var(--surface-solid)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.os-head{display:flex;gap:14px;align-items:center;margin:4px 0 16px}
.os-thumb{width:72px;height:72px;border-radius:14px;object-fit:cover;flex:none}
.os-head h2{margin:0 0 4px;font-size:1.1rem}
.os-price{margin:0}.os-price b{font:750 1.7rem var(--font-head)}.os-price span{color:var(--faint);font-size:.85rem}
.os-switch{display:grid;gap:6px;margin:6px 0 4px;font:600 .82rem var(--font-head);color:var(--faint)}
.os-switch select{padding:10px 12px;border-radius:12px;border:1px solid var(--border-2);background:#0b0418;color:var(--text);font:inherit}
.os-next{padding:22px 24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}
.os-next h2{font-size:1.05rem;margin-bottom:10px}
.os-next ol{margin:0;padding-left:1.2em;display:grid;gap:8px;color:var(--muted);font-size:.92rem}
.os-next b{color:var(--text)}

/* Mobile menu: hidden-by-default mobile CTAs, solid overlay, submenu fix */
.nav-links .mobile-only{display:none}
@media (max-width:920px){
	body.nav-open{overflow:hidden}
	.nav-open .site-header{background:#0a0218;-webkit-backdrop-filter:none;backdrop-filter:none}
	.nav-open .nav-links{background:#0a0218!important;padding:12px 16px 120px!important}
	.nav-open .has-menu .menu,.nav-open .has-menu.open .menu,.nav-open .has-menu:hover .menu,.nav-open .has-menu:focus-within .menu{position:static!important;left:auto!important;transform:none!important;min-width:0!important;width:100%;padding:4px 0 10px!important}
	.nav-open .has-menu .menu a{padding:12px 8px}
	.nav-open .nav-links .mobile-only{display:grid;gap:10px;padding:20px 0 0;border:0}
	.nav-open .nav-links .mobile-only .btn{width:100%}
	.order-grid{grid-template-columns:1fr}
	.order-summary{position:static;order:-1}
	.os-next{display:none}
}

/* Blog post: never let tables/code widen the page */
.post-grid>*,.post-body,.entry{min-width:0}
@media (max-width:920px){
	.post-grid{grid-template-columns:minmax(0,1fr);gap:28px}
	.post-aside .toc{display:none}
}

/* Pricing on tablets/phones: swipeable row of compact cards */
@media (max-width:920px){
	.pricing{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(260px,46%);overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 4px 12px;margin:0 -4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
	.pricing::-webkit-scrollbar{display:none}
	.pricing>.pk{scroll-snap-align:start}
	.swipe-hint{display:block}
	.js .pricing .reveal{opacity:1;transform:none}
}
@media (max-width:640px){
	.pricing{grid-auto-columns:84%}
	.brief-fields{grid-template-columns:1fr}
	.order-steps li+li::before{width:10px;margin-right:4px}
	.entry table{min-width:480px}
	.post-hero h1{font-size:1.85rem}
}
