/**
 * Tarifs Shopini 2.4 — reproduction de la maquette croissance.
 */
.shopini-pricing--v24 {
	--pricing-orange: #ff560d;
	--pricing-orange-dark: #e94700;
	--pricing-ink: #0e172b;
	--pricing-muted: #687087;
	--pricing-line: #e0e4eb;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(4.5rem, 8vw, 7rem) max(1rem, calc((100% - 1120px) / 2));
	color: var(--pricing-ink);
	background:
		radial-gradient(circle at 50% 4%, rgba(255, 255, 255, .98), rgba(255, 255, 255, 0) 34rem),
		linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
	overflow: hidden;
}

.shopini-home-v23 .shopini-pricing--v24 {
	width: 100%;
	max-width: none;
	padding: clamp(4.5rem, 8vw, 7rem) max(1rem, calc((100% - 1120px) / 2));
	background:
		radial-gradient(circle at 50% 4%, rgba(255, 255, 255, .98), rgba(255, 255, 255, 0) 34rem),
		linear-gradient(180deg, #fafbfc 0%, #f5f7fa 100%);
}

.shopini-pricing--page { padding-top: clamp(3.6rem, 7vw, 6rem); }
.shopini-v24-shell { width: min(100%, 1120px); margin-inline: auto; }

.shopini-v24-heading {
	max-width: 760px;
	margin: 0 auto clamp(2.2rem, 4vw, 3.4rem);
	text-align: center;
}

.shopini-v24-heading > p {
	margin: 0 0 .8rem;
	color: var(--pricing-orange);
	font-size: clamp(1rem, 2vw, 1.28rem);
	font-weight: 500;
}

.shopini-v24-heading h1,
.shopini-v24-heading h2 {
	max-width: 720px;
	margin: 0 auto .9rem;
	color: var(--pricing-ink);
	font-size: clamp(var(--shopini-title-sm, 2.25rem), 5.4vw, calc(var(--shopini-title-sm, 2.25rem) + 1.75rem));
	font-weight: 850;
	letter-spacing: -.055em;
	line-height: 1.04;
	text-wrap: balance;
}

.shopini-v24-heading > span {
	display: block;
	color: var(--pricing-muted);
	font-size: clamp(.94rem, 1.8vw, 1.08rem);
}

.shopini-v24-billing {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	width: min(100%, 470px);
	margin: 1.6rem auto 0;
	padding: .24rem;
	background: #fff;
	border: 1px solid #dce1e8;
	border-radius: 999px;
	box-shadow: 0 9px 24px rgba(19, 31, 54, .08);
}

.shopini-v24-billing button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 3rem;
	padding: .65rem 1rem;
	color: #2a3349;
	background: transparent;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: .92rem;
	font-weight: 720;
	cursor: pointer;
	transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}

.shopini-v24-billing button span,
.shopini-v24-billing button svg { width: 1.15rem; height: 1.15rem; }
.shopini-v24-billing button.is-active {
	color: #fff;
	background: linear-gradient(135deg, #ff6b1b, var(--pricing-orange));
	box-shadow: 0 8px 17px rgba(255, 86, 13, .26);
}

.shopini-v24-main-plans {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 1.35rem;
}

.shopini-v24-card {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 37rem;
	padding: 2rem 1.75rem 1.6rem;
	flex-direction: column;
	background: rgba(255, 255, 255, .95);
	border: 1px solid #dfe3e9;
	border-radius: 1rem;
	box-shadow: 0 14px 35px rgba(24, 35, 58, .075);
}

.shopini-v24-card.is-featured {
	border: 1.5px solid var(--pricing-orange);
	box-shadow: 0 17px 40px rgba(255, 86, 13, .11);
}

.shopini-v24-card__badge {
	position: absolute;
	top: 0;
	left: 50%;
	padding: .48rem 1.2rem;
	color: #fff;
	background: var(--pricing-orange);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .015em;
	text-transform: uppercase;
	transform: translate(-50%, -50%);
}

.shopini-v24-card__header {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: 5.55rem;
	padding-bottom: 1.35rem;
	border-bottom: 1px solid var(--pricing-line);
}

.shopini-v24-card__icon,
.shopini-v24-market-card__icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 3.55rem;
	height: 3.55rem;
	color: var(--pricing-orange);
	background: #fff0e8;
	border-radius: 50%;
}

.shopini-v24-card__icon svg { width: 1.75rem; height: 1.75rem; }
.shopini-v24-card__icon img,
.shopini-v24-market-card__icon img { width: 62%; height: 62%; object-fit: contain; }
.shopini-v24-card__header > span:last-child { min-width: 0; }
.shopini-v24-card__header strong { display: block; font-size: var(--shopini-card-title-size, 1.45rem); font-weight: 850; letter-spacing: -.035em; }
.shopini-v24-card__header small { display: block; margin-top: .15rem; color: var(--pricing-muted); font-size: var(--shopini-card-text-size, .86rem); line-height: 1.35; }

.shopini-v24-card__price {
	display: flex;
	align-items: center;
	gap: .55rem;
	margin: 1.25rem 0 .1rem;
	color: var(--pricing-orange);
}

.shopini-v24-card__price > strong {
	font-size: clamp(var(--shopini-price-size, 3.5rem), 6vw, calc(var(--shopini-price-size, 3.5rem) + 1.75rem));
	font-weight: 900;
	letter-spacing: -.075em;
	line-height: .94;
}

.shopini-v24-card__price > span { display: grid; align-self: stretch; align-content: center; gap: .4rem; }
.shopini-v24-card__price b { font-size: 1.18rem; }
.shopini-v24-card__price small { color: #4e566b; font-size: 1rem; white-space: nowrap; }

.shopini-v24-card__billing {
	display: grid;
	gap: .32rem;
	min-height: 3.5rem;
	padding: .4rem 0 1rem;
	border-bottom: 1px solid var(--pricing-line);
}

.shopini-v24-card__billing span { color: #778096; font-size: .94rem; font-weight: 550; }
.shopini-v24-card__billing span.is-selected { color: #222b40; font-weight: 820; }
.shopini-v24-card__bundle {
	align-self: center;
	margin: .75rem 0 -.15rem;
	padding: .38rem .9rem;
	color: var(--pricing-orange-dark);
	background: #fff0e8;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 750;
}

.shopini-v24-features {
	display: grid;
	gap: .72rem;
	margin: 1.15rem 0 1.35rem;
	padding: 0;
	list-style: none;
}

.shopini-v24-features li { display: flex; align-items: flex-start; gap: .65rem; color: #263047; font-size: var(--shopini-card-text-size, .88rem); line-height: 1.35; }
.shopini-v24-features li > span { display: grid; place-items: center; flex: 0 0 1.1rem; width: 1.1rem; height: 1.1rem; margin-top: .05rem; color: var(--pricing-orange); border: 1.7px solid currentColor; border-radius: 50%; }
.shopini-v24-features li svg { width: .68rem; height: .68rem; }
.shopini-v24-card .shopini-v24-features { flex: 1; }

.shopini-v24-plan-form { display: grid; gap: .45rem; margin-top: auto; }
.shopini-v24-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 3rem;
	padding: .72rem 1.15rem;
	border: 1.5px solid var(--pricing-orange);
	border-radius: .55rem;
	font: inherit;
	font-size: .96rem;
	font-weight: 820;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.shopini-v24-button--outline { color: var(--pricing-orange-dark); background: #fff; }
.shopini-v24-button--solid { color: #fff; background: linear-gradient(135deg, #ff6d1c, var(--pricing-orange)); box-shadow: 0 10px 23px rgba(255, 86, 13, .23); }
.shopini-v24-button:hover { transform: translateY(-1px); }
.shopini-v24-button:focus-visible,
.shopini-v24-billing button:focus-visible,
.shopini-v24-main-plans:focus-visible { outline: 3px solid rgba(255, 86, 13, .32); outline-offset: 3px; }
.shopini-v24-button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.shopini-plan__availability { margin: .2rem 0 0; color: #a43300; font-size: .76rem; text-align: center; }

.shopini-v24-marketplace {
	margin-top: 1.65rem;
	padding: 1.15rem 1.15rem 1.05rem;
	background: rgba(255, 255, 255, .68);
	border: 1px solid #dfe3e9;
	border-radius: 1rem;
	box-shadow: 0 12px 30px rgba(24, 35, 58, .05);
}

.shopini-v24-marketplace > h3 { display: flex; align-items: center; gap: .75rem; margin: 0 0 1rem .55rem; font-size: 1.35rem; font-weight: 850; letter-spacing: -.025em; }
.shopini-v24-marketplace > h3 span { display: grid; place-items: center; color: var(--pricing-orange); }
.shopini-v24-marketplace__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.shopini-v24-market-card {
	display: grid;
	grid-template-columns: 3.7rem 9.5rem 1fr;
	grid-template-rows: 1fr auto;
	gap: .35rem .9rem;
	min-width: 0;
	min-height: 10rem;
	padding: 1.2rem;
	background: #fff;
	border: 1px solid #e0e4e9;
	border-radius: .9rem;
	box-shadow: 0 8px 20px rgba(24, 35, 58, .04);
}

.shopini-v24-market-card__icon { grid-row: 1 / 3; align-self: start; width: 3.25rem; height: 3.25rem; }
.shopini-v24-market-card__offer { grid-row: 1 / 3; min-width: 0; }
.shopini-v24-market-card__offer h4 { margin: 0 0 .55rem; font-size: 1.15rem; font-weight: 850; }
.shopini-v24-market-card__offer > div { display: flex; align-items: center; gap: .35rem; color: var(--pricing-orange); }
.shopini-v24-market-card__offer > div > strong { font-size: 2.6rem; font-weight: 900; letter-spacing: -.06em; line-height: 1; }
.shopini-v24-market-card__offer > div > span { display: grid; font-size: .75rem; }
.shopini-v24-market-card__offer p { margin: .35rem 0 0; color: var(--pricing-muted); font-size: .78rem; }
.shopini-v24-market-card__offer p [data-shopini-billing-row] { display: none; }
.shopini-v24-market-card__offer p [data-shopini-billing-row].is-selected { display: inline; }
.shopini-v24-market-card > .shopini-v24-features { align-content: center; margin: 0; padding-left: 1rem; border-left: 1px solid var(--pricing-line); }
.shopini-v24-market-card > .shopini-v24-plan-form { grid-column: 3; align-self: end; }
.shopini-v24-market-card .shopini-v24-button { min-height: 2.6rem; font-size: .84rem; }

.shopini-v24-cloud {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(13rem, .7fr) minmax(13rem, .65fr);
	align-items: end;
	gap: 1.25rem;
	min-height: 16rem;
	margin-top: 1.65rem;
	padding: 1.55rem 1.7rem;
	color: #fff;
	background:
		linear-gradient(110deg, rgba(13, 39, 77, .97), rgba(5, 30, 68, .96)),
		repeating-linear-gradient(25deg, transparent 0 24px, rgba(255, 103, 24, .12) 25px 26px);
	border: 1px solid #173f73;
	border-radius: 1rem;
	box-shadow: 0 18px 40px rgba(7, 31, 68, .18);
	overflow: hidden;
}

.shopini-v24-cloud::after { position: absolute; inset: 0; content: ""; background: radial-gradient(circle at 78% 45%, rgba(42, 99, 164, .35), transparent 31%); pointer-events: none; }
.shopini-v24-cloud__copy,
.shopini-v24-cloud__visual,
.shopini-v24-cloud__cta { position: relative; z-index: 1; }
.shopini-v24-cloud__copy header { display: flex; align-items: center; gap: 1.1rem; padding-bottom: .95rem; border-bottom: 1px solid rgba(255, 255, 255, .55); }
.shopini-v24-cloud__copy header > span { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; color: var(--pricing-orange); background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); border-radius: .85rem; }
.shopini-v24-cloud__copy header svg { width: 2.25rem; height: 2.25rem; }
.shopini-v24-cloud__copy h3 { margin: 0; color: #fff; font-size: clamp(1.65rem, 3vw, 2.35rem); font-weight: 850; letter-spacing: -.04em; }
.shopini-v24-cloud__copy header p { margin: .22rem 0 0; color: #ff9a55; font-weight: 760; }
.shopini-v24-cloud__price { display: flex; align-items: flex-end; gap: .65rem; margin-top: .8rem; }
.shopini-v24-cloud__price > span { padding-bottom: .45rem; font-size: 1rem; white-space: nowrap; }
.shopini-v24-cloud__price strong { color: #ff6518; font-size: clamp(3.3rem, 6vw, 4.7rem); font-weight: 900; letter-spacing: -.07em; line-height: .9; }
.shopini-v24-cloud__price b { display: grid; gap: .35rem; padding-bottom: .35rem; color: #ff6b1d; font-size: 1rem; }
.shopini-v24-cloud__price small { color: #fff; font-size: .9rem; white-space: nowrap; }
.shopini-v24-cloud__copy > p { margin: .75rem 0 .35rem; color: #fff; font-size: .87rem; }
.shopini-v24-cloud__copy > small { color: #d8e0eb; font-size: .72rem; }
.shopini-v24-cloud__cta { align-self: end; min-height: 3.5rem; margin-bottom: .2rem; }
.shopini-v24-cloud__cta svg { width: 1.35rem; height: 1.35rem; }

.shopini-v24-cloud__visual { min-height: 11rem; }
.shopini-v24-cloud-shape { position: absolute; top: 1.5rem; left: 50%; width: 7.5rem; height: 3.4rem; background: linear-gradient(145deg, #fff, #cbd8eb); border-radius: 999px; box-shadow: 0 13px 30px rgba(0, 0, 0, .22); transform: translateX(-50%); }
.shopini-v24-cloud-shape::before,
.shopini-v24-cloud-shape::after { position: absolute; bottom: .25rem; content: ""; background: inherit; border-radius: 50%; }
.shopini-v24-cloud-shape::before { left: 1rem; width: 4rem; height: 4rem; }
.shopini-v24-cloud-shape::after { right: .7rem; width: 3rem; height: 3rem; }
.shopini-v24-server { position: absolute; right: 8%; bottom: .15rem; display: grid; gap: .22rem; width: 7.2rem; padding: .45rem; background: linear-gradient(145deg, #172740, #071223); border: 1px solid #2a3b57; border-radius: .5rem; box-shadow: 0 16px 27px rgba(0, 0, 0, .38); transform: perspective(300px) rotateY(-9deg); }
.shopini-v24-server i { position: relative; display: block; height: 1.65rem; background: linear-gradient(180deg, #243750, #101b2b); border: 1px solid #34445a; border-radius: .2rem; }
.shopini-v24-server i::before { position: absolute; top: 50%; left: .65rem; width: .3rem; height: .3rem; content: ""; background: #ff681b; border-radius: 50%; box-shadow: .55rem 0 #ff681b, 4.6rem 0 #56647a; transform: translateY(-50%); }

.shopini-v24-swipe-hint { display: none; margin: 0 0 .4rem; color: var(--pricing-muted); font-size: .78rem; font-weight: 700; text-align: right; }
.shopini-pricing--v24 .shopini-pricing__setup { max-width: 760px; margin: 0 auto; padding: 2rem; text-align: center; background: #fff; border: 1px solid var(--pricing-line); border-radius: 1rem; }
.shopini-pricing--v24 .shopini-pricing__setup strong { font-size: 1.2rem; }
.shopini-pricing--v24 .shopini-pricing__setup p { color: var(--pricing-muted); }

@media (max-width: 980px) {
	.shopini-v24-main-plans { grid-template-columns: repeat(3, minmax(17rem, 1fr)); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
	.shopini-v24-card { scroll-snap-align: start; }
	.shopini-v24-marketplace__grid { grid-template-columns: 1fr; }
	.shopini-v24-cloud { grid-template-columns: minmax(0, 1.4fr) minmax(11rem, .6fr); }
	.shopini-v24-cloud__cta { grid-column: 1 / 3; justify-self: center; width: min(100%, 22rem); }
}

@media (max-width: 720px) {
	.shopini-pricing--v24,
	.shopini-home-v23 .shopini-pricing--v24 { padding: 3.8rem .7rem; overflow: hidden; }
	.shopini-v24-heading { margin-bottom: 2rem; }
	.shopini-v24-heading h1,
	.shopini-v24-heading h2 { font-size: clamp(2.1rem, 11vw, 3rem); }
	.shopini-v24-billing { grid-template-columns: 1fr 1.25fr; }
	.shopini-v24-billing button { min-height: 2.75rem; padding-inline: .7rem; font-size: .78rem; }
	.shopini-v24-swipe-hint { display: block; }
	.shopini-v24-main-plans { display: flex; width: 100%; margin: 0; padding: .75rem .15rem 1.1rem; gap: .85rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-padding-inline: .15rem; -webkit-overflow-scrolling: touch; }
	.shopini-v24-main-plans .shopini-v24-card { flex: 0 0 min(84vw, 21rem); width: min(84vw, 21rem); min-height: 36rem; }
	.shopini-v24-marketplace { padding: 1rem .7rem .7rem; }
	.shopini-v24-market-card { grid-template-columns: 3.5rem 1fr; grid-template-rows: auto auto auto; padding: 1rem; }
	.shopini-v24-market-card__icon { grid-row: 1; }
	.shopini-v24-market-card__offer { grid-row: 1; }
	.shopini-v24-market-card > .shopini-v24-features { grid-column: 1 / 3; grid-row: 2; margin-top: .65rem; padding: .75rem 0 0; border-top: 1px solid var(--pricing-line); border-left: 0; }
	.shopini-v24-market-card > .shopini-v24-plan-form { grid-column: 1 / 3; grid-row: 3; margin-top: .5rem; }
	.shopini-v24-cloud { grid-template-columns: 1fr; align-items: stretch; padding: 1.25rem; }
	.shopini-v24-cloud__copy header { align-items: flex-start; }
	.shopini-v24-cloud__visual { min-height: 9rem; }
	.shopini-v24-cloud__cta { grid-column: 1; width: 100%; }
}

@media (max-width: 420px) {
	.shopini-v24-billing button span { display: none; }
	.shopini-v24-card { padding-inline: 1.35rem; }
	.shopini-v24-cloud__price { flex-wrap: wrap; }
	.shopini-v24-cloud__price > span { width: 100%; padding: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.shopini-v24-button,
	.shopini-v24-billing button { transition: none; }
}
