/**
 * Pricing v3 blocks — shared styles.
 * Everything is scoped under .dr-pricing-v3 so nothing leaks into the theme.
 * Translated from the approved prototype (datarails-pricing-page).
 */
.dr-pricing-v3{
	--prv3-ink:#0c142b;
	--prv3-muted:#6b7280;
	--prv3-line:#eceaf0;
	--prv3-pink:#fa3577;
	--prv3-pink-deep:#e01f63;
	--prv3-grey-bg:#f8f9fb;
	color:var(--prv3-ink);
}

/* ---------- HERO ---------- */
.prv3-hero{
	text-align:center; padding:64px 24px; position:relative; overflow:hidden;
	background:linear-gradient(180deg,#F7F7F9 0%,#F1F1F4 45%,#FFFFFF 100%);
}
.prv3-hero h1{
	font-size:64px; font-weight:400; line-height:1.08; letter-spacing:-.015em;
	max-width:900px; margin:0 auto;
}
.prv3-hero h1 span{ color:var(--prv3-pink); font-weight:400; }
.prv3-hero p{
	margin:24px auto 0; color:var(--prv3-muted); font-size:16px; max-width:560px;
}

/* ---------- TIER CARDS ---------- */
.prv3-tiers{
	display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
	max-width:1116px; margin:0 auto 96px; padding:0 24px;
}
.prv3-tier-card{
	position:relative; background:#fff; border:1px solid var(--prv3-line);
	border-radius:16px; padding:44px 28px 28px;
	box-shadow:0 1px 2px rgba(16,17,23,.04),0 8px 24px rgba(16,17,23,.05);
	transition:box-shadow .18s ease;
}
.prv3-tier-card:hover{ border-color:var(--prv3-ink); box-shadow:0 12px 32px rgba(12,20,43,.12); }
.prv3-tier-card.is-popular{ border-color:var(--prv3-pink); }
.prv3-tier-card.is-popular:hover{ border-color:var(--prv3-ink); }
.prv3-badge-popular{
	position:absolute; top:-14px; left:50%; transform:translateX(-50%);
	background:var(--prv3-pink); color:#fff; font-size:11px; font-weight:700;
	letter-spacing:.04em; padding:6px 16px; border-radius:999px;
	box-shadow:0 4px 10px rgba(250,53,119,.35);
	transition:transform .18s ease,box-shadow .18s ease;
}
.prv3-tier-card.is-popular:hover .prv3-badge-popular{
	transform:translateX(-50%) scale(1.08); box-shadow:0 6px 16px rgba(250,53,119,.5);
}
.prv3-tier-title{
	text-align:center; font-size:23px; margin-bottom:34px;
	display:flex; align-items:center; justify-content:center; gap:8px;
}
.prv3-tier-title span{ font-weight:300; }
.prv3-financeos-logo{ height:30px; width:auto; display:block; }
.prv3-tier-cta{
	display:block; width:100%; text-align:center; padding:13px; border-radius:999px;
	border:1.5px solid var(--prv3-ink); font-weight:600; font-size:14px;
	background:#fff; color:var(--prv3-ink); cursor:pointer; text-decoration:none;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.dr-pricing-v3 .prv3-tier-cta:hover{
	background:var(--prv3-ink); border-color:var(--prv3-ink); color:#fff;
}
.prv3-tier-card.is-popular .prv3-tier-cta{
	background:var(--prv3-pink); border-color:var(--prv3-pink); color:#fff;
}
.dr-pricing-v3 .prv3-tier-card.is-popular .prv3-tier-cta:hover{
	background:var(--prv3-pink-deep); border-color:var(--prv3-pink-deep); color:#fff;
}
.prv3-tier-note{ text-align:center; font-size:11.5px; color:#9a9aa5; margin:8px 0 20px; }
.prv3-tier-list{ list-style:none; margin:34px 0 0; padding:0; }
.prv3-tier-list li{
	display:flex; align-items:center; gap:10px; padding:11px 8px; margin:0 -8px;
	border-radius:8px; border-bottom:1px solid var(--prv3-line); font-size:14px;
	transition:background .12s ease;
}
.prv3-tier-list li:hover{ background:#f7f7f9; }
.prv3-tier-list li:last-child{ border-bottom:none; }
.prv3-check{
	flex:none; width:16px; height:16px; border-radius:999px; background:var(--prv3-pink);
	display:inline-flex; align-items:center; justify-content:center;
	transition:transform .12s ease; vertical-align:middle;
}
.prv3-tier-list li:hover .prv3-check{ transform:scale(1.15); }
.prv3-check svg{ width:9px; height:7px; }

/* ---------- COMPARISON TABLE ---------- */
.prv3-compare{
	background:#fff; border:1px solid var(--prv3-line); border-radius:16px;
	box-shadow:0 1px 2px rgba(16,17,23,.04),0 8px 24px rgba(16,17,23,.05);
	/* prototype: 1276px card constrained by its 1116px wrap (minus 2x24 padding) */
	max-width:1068px; margin:0 auto 96px; padding:56px 80px;
}
.prv3-compare-heading{ text-align:center; margin-bottom:40px; }
.prv3-compare-heading h2{ font-size:36px; font-weight:400; margin:0; }
.prv3-compare-heading p{ color:var(--prv3-muted); margin:8px 0 0; }
/* no overflow container on desktop - an overflow ancestor would break
   position:sticky on the thead; the <=768px rules make the table fit instead */
.prv3-table-scroll{ overflow:visible; }
.prv3-table{ width:100%; border-collapse:collapse; border:none; margin:0; }
/* undo the theme's generic table skin (thead border, uppercase th, odd striping) */
.dr-pricing-v3 .prv3-table thead,
.dr-pricing-v3 .prv3-table tfoot{ border:none; }
.dr-pricing-v3 .prv3-table thead th{
	position:sticky; top:0; background:#fff; z-index:5;
	text-align:center; padding:12px 8px 20px;
	font-size:14px; font-weight:600; text-transform:none; letter-spacing:normal;
	border:none; color:var(--prv3-ink);
}
.dr-pricing-v3 .prv3-table thead th:first-child{ text-align:left; }
.dr-pricing-v3 .prv3-table tbody tr:nth-child(odd){ background:#fff; }
.prv3-get-quote{
	display:inline-block; margin-top:10px; padding:8px 18px; border-radius:999px;
	border:1.5px solid var(--prv3-ink); font-size:12px; font-weight:600;
	background:#fff; color:var(--prv3-ink); cursor:pointer; text-decoration:none;
	transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.dr-pricing-v3 .prv3-get-quote:hover{
	background:var(--prv3-ink); border-color:var(--prv3-ink); color:#fff;
}
.prv3-table thead th.is-highlight .prv3-get-quote{
	background:var(--prv3-pink); border-color:var(--prv3-pink); color:#fff;
}
.dr-pricing-v3 .prv3-table thead th.is-highlight .prv3-get-quote:hover{
	background:var(--prv3-pink-deep); border-color:var(--prv3-pink-deep);
}
.dr-pricing-v3 .prv3-table tbody tr{ background:#fff; transition:background .12s ease; }
.dr-pricing-v3 .prv3-table tbody tr:nth-child(even){ background:#f9fafb; }
.dr-pricing-v3 .prv3-table tbody tr:hover{ background:#f1eef7 !important; }
.dr-pricing-v3 .prv3-table tbody td{
	padding:16px 8px; font-size:14px; text-align:center; color:var(--prv3-ink);
	border:none; border-top:1px solid var(--prv3-line);
}
.dr-pricing-v3 .prv3-table tbody td:first-child{ text-align:left; }
.prv3-feat-label{ display:inline-flex; align-items:center; gap:6px; font-size:14px; }
.prv3-feat-label.has-tip{ cursor:default; position:relative; }
.prv3-feat-label .icon-inline{ margin-right:5px; vertical-align:-2px; }
.prv3-info-dot{
	width:14px; height:14px; border-radius:50%; background:#e9e8ee; color:#7b7b88;
	font-size:9px; font-weight:700; display:inline-flex; align-items:center; justify-content:center;
	font-style:normal;
}
.prv3-tooltip{
	position:absolute; left:0; bottom:calc(100% + 10px); width:260px;
	background:var(--prv3-ink); color:#f3f3f6; font-size:12.5px; line-height:1.5;
	font-weight:400; padding:12px 14px; border-radius:8px; opacity:0; visibility:hidden;
	transform:translateY(4px); transition:opacity .15s,transform .15s; z-index:20;
}
.prv3-feat-label.has-tip:hover .prv3-tooltip{ opacity:1; visibility:visible; transform:translateY(0); }
.prv3-dash{ color:#c7c7ce; }
.prv3-num{ color:#3f4250; }

/* ---------- MODULES ---------- */
.prv3-modules-heading{ text-align:center; margin-bottom:40px; }
.prv3-modules-heading h2{ font-size:36px; font-weight:400; margin:0; }
.prv3-modules-heading p{ color:var(--prv3-muted); margin:8px 0 0; }
.prv3-modules{
	display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
	max-width:1116px; margin:0 auto 96px; padding:0 24px;
}
.prv3-module-card{
	--prv3-module-accent:#2fba82;
	position:relative; border-radius:16px; padding:24px; min-height:220px;
	background:#fff; border:1px solid var(--prv3-line);
	transition:box-shadow .18s ease;
}
.prv3-module-card:not(.is-inactive):hover{
	box-shadow:0 10px 28px color-mix(in srgb, var(--prv3-module-accent) 18%, transparent);
	outline:2px solid var(--prv3-module-accent);
}
.prv3-module-card.is-inactive{ background:#f3f3f4; border:1.5px dashed #d9d9dc; opacity:.9; }
.prv3-module-card.is-inactive:hover{ outline:2px dashed #b8b8bc; }
.prv3-module-tag{
	display:inline-block; background:#f0f0f2; color:#5a5d6b; padding:4.8px 11.2px;
	border-radius:999px; font-size:8.8px; font-weight:700; letter-spacing:.03em; margin-bottom:20px;
}
.prv3-module-icon{
	width:44px; height:44px; border-radius:10px; display:flex; align-items:center;
	justify-content:center; margin-bottom:14px; background:var(--prv3-module-accent);
}
.prv3-module-card.is-inactive .prv3-module-icon{ background:#b9b9bd; opacity:.7; }
.prv3-module-title{ font-size:16px; font-weight:600; margin-bottom:10px; }
.prv3-module-card.is-inactive .prv3-module-title{ color:#9a9aa5; }
.prv3-module-desc{ font-size:13.5px; color:#5a5d6b; line-height:1.5; }
.prv3-module-card.is-inactive .prv3-module-desc{ color:#b2b2b8; }

/* ---------- CTA BAND ---------- */
.prv3-cta-band{
	position:relative; overflow:hidden; background-color:#07080f; color:#fff;
	padding:56px 60px; display:flex; align-items:center; justify-content:space-between;
	gap:40px; background-size:cover; background-position:right center; background-repeat:no-repeat;
	max-width:1116px; margin:0 auto 64px; border-radius:20px;
	box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.prv3-cta-left{ flex:0 0 auto; max-width:460px; position:relative; z-index:1; }
.prv3-cta-accent{ width:70px; height:3px; background:var(--prv3-pink); border-radius:2px; margin:14px 0 20px; }
.prv3-cta-band h2{ font-size:32px; font-weight:600; margin:0; color:#fff; }
.prv3-cta-band p{ color:#b8b9c4; margin:6px 0 0; font-size:15px; }
.prv3-cta-btn{
	display:inline-block; width:auto; padding:14px 34px; margin-top:24px;
	background:var(--prv3-pink); border-color:var(--prv3-pink); color:#fff;
	animation:prv3-cta-pulse 2.6s ease-in-out infinite;
	transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.dr-pricing-v3 .prv3-cta-btn:hover{
	background:var(--prv3-pink-deep); border-color:var(--prv3-pink-deep); color:#fff;
	transform:translateY(-2px); animation-play-state:paused;
}
@keyframes prv3-cta-pulse{
	0%,100%{ box-shadow:0 0 0 0 rgba(250,53,119,.55); }
	50%{ box-shadow:0 0 0 14px rgba(250,53,119,0); }
}
@media (prefers-reduced-motion: reduce){
	.prv3-cta-btn{ animation:none; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
	.prv3-hero h1{ font-size:52px; max-width:640px; }
	.prv3-modules{ grid-template-columns:repeat(2,1fr); }
	.prv3-cta-band{ padding:40px; }
}
@media (max-width:860px){
	.prv3-tiers,.prv3-modules{ grid-template-columns:1fr; }
	.prv3-compare{ padding:32px 16px; }
	.prv3-table{ font-size:12px; }
}
@media (max-width:768px){
	.prv3-hero{ padding:40px 20px; }
	.prv3-hero h1{ font-size:40px; letter-spacing:-.01em; max-width:100%; }
	.prv3-hero p{ font-size:14px; max-width:90%; }
	/* swipeable card carousel — snap to whole cards */
	.prv3-tiers{
		display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
		-webkit-overflow-scrolling:touch; scrollbar-width:none;
		gap:14px; padding:22px 0 8px; margin-bottom:56px;
	}
	.prv3-tiers::-webkit-scrollbar{ display:none; }
	.prv3-tiers::before,.prv3-tiers::after{ content:''; flex:0 0 2px; }
	.prv3-tier-card{ flex:0 0 76%; scroll-snap-align:center; }
	/* feature names wrap so all 4 columns fit the screen */
	.prv3-table-scroll{ overflow:visible; }
	.prv3-table{ min-width:0; table-layout:fixed; }
	.prv3-compare{ padding:28px 12px; border-radius:14px; }
	.prv3-compare-heading{ margin-bottom:28px; }
	.dr-pricing-v3 .prv3-table thead th{ padding:10px 4px 14px; font-size:12.5px; }
	.dr-pricing-v3 .prv3-table thead th:first-child{ width:42%; }
	.prv3-get-quote,.dr-pricing-v3 .prv3-table thead th br{ display:none; }
	.dr-pricing-v3 .prv3-table tbody td{ padding:12px 4px; font-size:12.5px; vertical-align:middle; }
	.prv3-feat-label{ align-items:flex-start; gap:5px; font-size:12.5px; line-height:1.35; }
	.prv3-feat-label .icon-inline{ flex:none; margin-top:1px; vertical-align:0; }
	.prv3-tooltip{ width:min(260px,calc(100vw - 48px)); }
	.prv3-modules-heading{ padding:0 20px; }
	.prv3-modules-heading h2,.prv3-compare-heading h2{ font-size:26px; }
	.prv3-cta-band{
		flex-direction:column; align-items:stretch; text-align:left;
		padding:32px 24px; background-position:center 120%; background-size:140%;
		margin:0 16px 48px; border-radius:16px;
	}
	.prv3-cta-left{ max-width:100%; }
	.prv3-cta-btn{ display:block; width:100%; padding:14px; margin-top:22px; }
	.prv3-cta-band h2{ font-size:26px; }
}
@media (max-width:480px){
	.prv3-hero h1{ font-size:30px; }
	.prv3-hero p{ font-size:13.5px; }
	.prv3-tier-card{ padding:36px 20px 20px; }
	.prv3-tier-title{ font-size:19px; margin-bottom:26px; }
	.prv3-financeos-logo{ height:25px; }
	.prv3-tier-list{ margin-top:26px; }
	.prv3-module-card{ padding:18px; min-height:auto; }
	.prv3-cta-band{ background-image:none !important; padding:26px 20px; margin:0 12px 40px; }
	.prv3-cta-band p{ font-size:14px; }
	.prv3-cta-band h2{ font-size:22px; }
	.prv3-compare{ padding:24px 10px; }
	.dr-pricing-v3 .prv3-table thead th{ font-size:11.5px; padding:8px 3px 12px; }
	.dr-pricing-v3 .prv3-table thead th:first-child{ width:46%; }
	.dr-pricing-v3 .prv3-table tbody td{ padding:11px 3px; font-size:11.5px; }
	.prv3-feat-label{ font-size:11.5px; }
}
