/* ==========================================================================
   INFOCEAN — single research
   --------------------------------------------------------------------------
   Стили публичной карточки исследования / WooCommerce single product.

   Здесь находятся только стили, специфичные для single research:
   hero, buybox, данные рынка, прогнозы, выводы, TOC, аудитории,
   демо, эксперты, методология, коммерческие форматы,
   связанные исследования и sticky buy.

   Глобальные токены, типографика, контейнеры и общие компоненты
   определяются в main.css.
   ========================================================================== */

body.single-product {
		/* Research page rhythm */

	--research-section-space-top: var(--sp-8);
	--research-section-space-bottom: var(--sp-3);

	--research-section-title-size:
		clamp(
			24px,
			2.6vw,
			30px
		);

	--research-section-lead-width: 680px;
	--research-data-low: #5aa091;
    --research-data-medium: var(--color-brand);
    --research-data-hot: var(--color-action);
    --research-visual-header-offset: 52px;
}


/* ---------------------------------------------------------
   Single research: hero layout
   --------------------------------------------------------- */

.single-product div.product {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(300px, 340px);

	column-gap: var(--sp-7);
	row-gap: var(--sp-7);

	align-items: start;
}

/*
 * Текстовая часть исследования.
 * WooCommerce по умолчанию задаёт summary собственную ширину
 * и float — для нашей grid-композиции они не нужны.
 */
.single-product div.product > .summary.entry-summary {
	grid-column: 1;
	grid-row: 1;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
}

/*
 * Правый коммерческий блок.
 */
.single-product .infocean-research-buybox {
	grid-column: 2;
	grid-row: 1;

	padding: var(--sp-4);

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-lg);

	box-shadow: var(--shadow-sm);
	
		width: 100%;
	max-width: 330px;

	justify-self: end;
}

/*
 * Сбрасываем стандартную двухколоночную ширину
 * WooCommerce gallery: внутри buybox она должна занимать
 * всю доступную ширину.
 */
.woocommerce.single-product
div.product
.infocean-research-buybox
div.images.woocommerce-product-gallery {
	float: none;
	width: 100%;
	max-width: none;
	margin: 0;
}
.woocommerce.single-product
div.product
.infocean-research-buybox
.woocommerce-product-gallery__wrapper,
.woocommerce.single-product
div.product
.infocean-research-buybox
.woocommerce-product-gallery__image {
	width: 100%;
	margin: 0;
}

.single-product
.infocean-research-buybox
.woocommerce-product-gallery img {
	display: block;

	width: 100%;
	height: auto;

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-sm);
}

/*
 * Commerce.
 */
.single-product .infocean-research-buybox__commerce {
	margin-top: 16px;
}

.single-product
.infocean-research-buybox
.infocean-research-buybox__commerce
> .price {
	display: none;
}

.single-product
.infocean-research-buybox__commerce
form.cart {
	margin: 0;
}

/*
 * Всё, что WooCommerce выводит после summary,
 * занимает полную ширину страницы.
 */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .upsells,
.single-product div.product > .related {
	grid-column: 1 / -1;
}

/*
 * Узкие экраны: сначала информация,
 * затем коммерческий блок.
 */
@media (max-width: 920px) {

    .single-product div.product {
    	grid-template-columns:
    		minmax(0, 1fr);
    
    	width: 100%;
    	min-width: 0;
    
    	gap: 28px;
    }
    
    
    .single-product
    div.product
    > * {
    	min-width: 0;
    }

	.single-product div.product > .summary.entry-summary {
		grid-column: 1;
		grid-row: 1;
	}

	.single-product .infocean-research-buybox {
		grid-column: 1;
		grid-row: 2;
		
		width: 100%;
	    max-width: 420px;

	    justify-self: start;
	}
}

/* ---------------------------------------------------------
   Single research: hero content
   --------------------------------------------------------- */

.single-product .infocean-research-eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}

.single-product
.summary.entry-summary
.product_title {
	max-width: 680px;

	margin:
		0
		0
		var(--sp-4);

	font-size:
		clamp(
			34px,
			3.6vw,
			46px
		);

	font-weight: var(--font-weight-heading);

	line-height: 1.04;
	letter-spacing: -0.028em;

	text-wrap: balance;
}

.single-product
.summary.entry-summary
.woocommerce-product-details__short-description {
	max-width: 650px;

	margin:
		0
		0
		var(--sp-5);

	font-size: 16.5px;
	line-height: 1.55;

	color: var(--color-text-muted);
}


.infocean-research-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;

	margin-bottom: 22px;
}

.infocean-research-badge {
	display: inline-flex;
	align-items: center;

	min-height: 28px;

	padding:
		4px
		10px;

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-sm);

	background: var(--color-surface);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;

	color: var(--color-text-muted);
}

.infocean-research-badge--accent {
	color: var(--color-brand);

	border-color:
		color-mix(
			in srgb,
			var(--color-brand) 35%,
			var(--color-border)
		);
}

.infocean-research-keystats {
	display: grid;

	grid-template-columns:
		repeat(
			3,
			minmax(0, 1fr)
		);

	gap: var(--sp-5);

	margin:
		var(--sp-2)
		0
		var(--sp-5);

	padding:
		var(--sp-4)
		0;

	border-top:
		1px solid
		var(--color-border);

	border-bottom:
		1px solid
		var(--color-border);
}

.infocean-research-keystat {
	min-width: 0;
}

.infocean-research-keystat__number {
	font-size:
		clamp(
			23px,
			2vw,
			27px
		);

	font-weight: 800;
	line-height: 1;

	letter-spacing: -0.025em;

	font-variant-numeric:
		tabular-nums;
}

.infocean-research-keystat__number span {
	font-size: 14px;
	font-weight: 700;

	color: var(--color-brand);
}

.infocean-research-keystat__label {
	margin-top: var(--sp-2);

	font-size: 11.5px;
	line-height: 1.45;

	color: var(--color-text-subtle);
}

.infocean-research-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 14px;
}

.infocean-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;

	padding:
		0
		var(--sp-5);

	border-radius: var(--radius-sm);

	font-size: 14px;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;

	transition:
		background-color
		var(--motion-fast)
		var(--ease-standard),
		border-color
		var(--motion-fast)
		var(--ease-standard),
		color
		var(--motion-fast)
		var(--ease-standard);
}

.infocean-button--primary {
	background: var(--color-action);
	color: #ffffff;

	border:
		1px solid
		var(--color-action);
}

.infocean-button--primary:hover {
	background: var(--color-action-strong);
	border-color: var(--color-action-strong);

	color: #ffffff;
}

.infocean-button--secondary {
	background: transparent;

	color: var(--color-text);

	border:
		1px solid
		var(--color-border-strong);
}

.infocean-button--secondary:hover {
	color: var(--color-brand);

	border-color: var(--color-brand);
}

/* Hero actions: заметнее обычных secondary-кнопок,
 * но ниже по приоритету, чем основной CTA покупки в buybox.
 */
.single-product .infocean-research-actions .infocean-button {
	min-width: 188px;
	min-height: 54px;
	padding: 0 24px;

	border-color: var(--color-border-strong);
	border-radius: var(--radius-sm);
	background: var(--color-surface);

	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;

	box-shadow: 0 1px 0 rgba(16, 32, 28, 0.03);
}

.single-product .infocean-research-actions .infocean-button:hover,
.single-product .infocean-research-actions .infocean-button:focus-visible {
	border-color: var(--color-brand);
	background: var(--color-surface-muted);
	color: var(--color-brand-strong);
}


.infocean-research-assist {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	margin-top: 2px;
	font-size: 12.5px;
	line-height: 1.45;
}

.infocean-research-assist__link {
	color: var(--color-text-subtle);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.infocean-research-assist__link:hover,
.infocean-research-assist__link:focus-visible {
	color: var(--color-brand-strong);
}

@media (max-width: 560px) {

	.infocean-research-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.infocean-research-actions .infocean-button {
		width: 100%;
		min-width: 0;
	}

	.infocean-research-keystats {
		grid-template-columns: 1fr;
		gap: var(--sp-4);
	}

	.infocean-research-keystat {
		padding-bottom: var(--sp-3);

		border-bottom:
			1px solid
			var(--color-border);
	}

	.infocean-research-keystat:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}
	
	.single-product .infocean-research-buybox {
	max-width: none;
	justify-self: stretch;
	}
}

/* ---------------------------------------------------------
   Single research: buybox commerce
   --------------------------------------------------------- */

.single-product
.infocean-research-buybox__commerce {
	margin-top: 18px;
}

.single-product
.infocean-research-buybox__commerce
.price {
	margin: 0 0 14px;

	font-size: 30px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;

	color: #14201c;
}

.single-product
.infocean-research-buybox__commerce
.price .woocommerce-Price-currencySymbol {
	font-size: 18px;
	font-weight: 600;
}

.single-product
.infocean-research-buybox__commerce
form.cart {
	display: block;
	margin: 0;
}

.single-product
.infocean-research-buybox__commerce
.single_add_to_cart_button.button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 12px 18px;

	border: 0;
	border-radius: 9px;

	background: #d32326;
	color: #fff;

	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;

	box-shadow: none;
}

.single-product
.infocean-research-buybox__commerce
.single_add_to_cart_button.button:hover,
.single-product
.infocean-research-buybox__commerce
.single_add_to_cart_button.button:focus {
	background: #b51d20;
	color: #fff;
}



/* ---------------------------------------------------------
   Single research: market table
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-market {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);

	border-top:
		1px solid
		var(--color-border);
}


/* Section header */

.infocean-research-market__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-market__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-market__lead {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-6);

	font-size: 15px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Table */

.infocean-market-table-wrap {
	overflow-x: auto;

	background:
		var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-md);
}


.infocean-market-table {
	width: 100%;
	min-width: 620px;

	margin: 0;

	border-collapse: collapse;
	border-spacing: 0;

	background:
		var(--color-surface);

	font-variant-numeric:
		tabular-nums;
}


.infocean-market-table th,
.infocean-market-table td {
	padding:
		var(--sp-4)
		20px;

	border-top:
		1px solid
		var(--color-border);

	text-align: left;
	vertical-align: middle;
}


/* Header */

.infocean-market-table thead th {
	border-top: 0;

	background:
		var(--color-surface-muted);

	font-size: 10.5px;
	font-weight: 600;
	line-height: 1.35;

	letter-spacing: 0.055em;
	text-transform: uppercase;

	color:
		var(--color-text-subtle);
}


.infocean-market-table thead th:last-child {
	text-align: right;
}


/* Rows */

.infocean-market-table tbody th {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;

	color:
		var(--color-text);
}


.infocean-market-table tbody td {
	text-align: right;
}


.infocean-market-table__value {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;

	white-space: nowrap;

	color:
		var(--color-text);
}


.infocean-market-table__value span {
	font-weight: 600;
}


.infocean-market-table__change {
	margin-left: var(--sp-2);

	font-size: 12px;
	font-weight: 700;

	white-space: nowrap;
}


.infocean-market-table__change.is-positive {
	color:
		var(--color-brand);
}


.infocean-market-table__change.is-negative {
	color:
		var(--color-action);
}


/* Important rows */

.infocean-market-table__row.is-total th,
.infocean-market-table__row.is-total td {
	font-weight: 700;

	background:
		color-mix(
			in srgb,
			var(--color-brand) 4%,
			var(--color-surface)
		);
}


.infocean-market-table__row.is-featured th {
	font-weight: 700;
}


/* Source / note */

.infocean-research-market__note {
	max-width: 820px;

	margin:
		var(--sp-3)
		0
		0;

	font-size: 11.5px;
	line-height: 1.5;

	color:
		var(--color-text-subtle);
}


@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-market {
		padding-top:
			var(--sp-7);
	}


	.infocean-research-market__lead {
		margin-bottom:
			var(--sp-5);
	}


	.infocean-market-table th,
	.infocean-market-table td {
		padding:
			var(--sp-3)
			var(--sp-4);
	}
}


/* ---------------------------------------------------------
   Single research: market map
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-market-map {
	grid-column: 1 / 2;

	min-width: 0;

	padding:
		var(--sp-7)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-market-map__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-market-map__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-market-map__lead {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 15px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Visualization */

.infocean-market-map-card {
	padding:
		var(--sp-5)
		var(--sp-5)
		var(--sp-4);

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-md);

	box-shadow: none;
}


.infocean-market-map-svg {
	display: block;

	width: 100%;
	height: auto;
}


.infocean-market-map-svg__grid {
	stroke: var(--color-border);
	stroke-width: 1;
}


.infocean-market-map-svg__axis-label {
	font-size: 11px;

	fill: var(--color-text-subtle);
}


.infocean-market-map-svg__axis-title {
	font-size: 11px;
	font-weight: 600;

	fill: var(--color-text-muted);
}


.infocean-market-map-svg__bubble {
	cursor: pointer;

	fill-opacity: 0.82;

	stroke: var(--color-surface);
	stroke-width: 1.5;

	transition:
		opacity
		var(--motion-fast)
		var(--ease-standard),
		stroke-width
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-market-map-svg__bubble.growth-low {
	fill: var(--research-data-low);
}


.infocean-market-map-svg__bubble.growth-medium {
	fill: var(--research-data-medium);
}


.infocean-market-map-svg__bubble.growth-hot {
	fill: var(--research-data-hot);
}


.infocean-market-map-svg:hover
.infocean-market-map-svg__bubble {
	opacity: 0.35;
}


.infocean-market-map-svg
.infocean-market-map-svg__bubble:hover,
.infocean-market-map-svg
.infocean-market-map-svg__bubble:focus {
	opacity: 1;

	stroke-width: 3;

	outline: none;
}


.infocean-market-map-svg__bubble-label {
	font-size: 10.5px;
	font-weight: 600;

	fill: var(--color-text-muted);

	pointer-events: none;
}


/* Legend */

.infocean-market-map-legend {
	display: flex;
	flex-wrap: wrap;

	gap: var(--sp-4);

	margin-top: var(--sp-2);
}


.infocean-market-map-legend span {
	display: inline-flex;
	align-items: center;

	gap: 7px;

	font-size: 12px;

	color: var(--color-text-muted);
}


.infocean-market-map-legend i {
	display: inline-block;

	width: 10px;
	height: 10px;

	border-radius: 50%;
}


.infocean-market-map-legend i.growth-low {
	background: var(--research-data-low);
}


.infocean-market-map-legend i.growth-medium {
	background: var(--research-data-medium);
}


.infocean-market-map-legend i.growth-hot {
	background: var(--research-data-hot);
}


/* Market insight */

.infocean-market-insight {
	margin-top: var(--sp-4);

	padding:
		var(--sp-4)
		var(--sp-5);

	background:
		color-mix(
			in srgb,
			var(--color-brand) 6%,
			var(--color-surface)
		);

	border-left:
		3px solid
		var(--color-brand);

	border-radius:
		var(--radius-sm);
}


.infocean-market-insight__label {
	margin-bottom: 7px;

	font-size: 10.5px;
	font-weight: 700;

	letter-spacing: 0.06em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-market-insight__text {
	font-size: 14px;
	line-height: 1.6;

	color: var(--color-text);
}


.infocean-market-insight__text p {
	margin: 0;
}


.infocean-market-insight__text p + p {
	margin-top: var(--sp-2);
}

/* ---------------------------------------------------------
   Single research: forecasts
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-forecast {
	grid-column: 2 / 3;

	min-width: 0;

	padding:
		var(--sp-7)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-forecast__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-forecast__title {
	margin: 0;

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


/* Forecast cards */

.infocean-forecast-grid {
	display: grid;

	grid-template-columns: 1fr;

	gap: var(--sp-4);

	margin-top:
		calc(
			var(--sp-5)
			+ var(--research-visual-header-offset)
		);
}

.infocean-forecast-card {
	min-width: 0;

	padding:
		var(--sp-5)
		var(--sp-5)
		var(--sp-4);

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-md);

	box-shadow: none;
}


.infocean-forecast-card__header {
	margin-bottom: var(--sp-4);
}


.infocean-forecast-card__header h3 {
	margin:
		0
		0
		var(--sp-1);

	font-size: 17px;
	font-weight: var(--font-weight-subheading);
	line-height: 1.3;

	color: var(--color-text);
}


.infocean-forecast-card__header p {
	margin: 0;

	font-size: 12px;
	line-height: 1.45;

	color: var(--color-text-subtle);
}


/* Chart */

.infocean-forecast-chart {
	width: 100%;
	min-width: 0;
}


.infocean-forecast-svg {
	display: block;

	width: 100%;
	height: auto;
}


.infocean-forecast-svg__grid {
	stroke: var(--color-border);
	stroke-width: 1;
}


.infocean-forecast-svg__axis-label,
.infocean-forecast-svg__year {
	font-size: 10px;

	fill: var(--color-text-subtle);
}


.infocean-forecast-svg__line {
	fill: none;

	stroke: var(--research-data-medium);
	stroke-width: 3;

	stroke-linecap: round;
	stroke-linejoin: round;
}


.infocean-forecast-svg__point {
	stroke: var(--color-surface);
	stroke-width: 2;

	cursor: pointer;

	transition:
		r
		var(--motion-fast)
		var(--ease-standard),
		stroke-width
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-forecast-svg__point.is-base {
	fill: var(--color-text-muted);
}


.infocean-forecast-svg__point.is-forecast {
	fill: var(--research-data-medium);
}


.infocean-forecast-svg__point:hover,
.infocean-forecast-svg__point:focus {
	r: 8px;

	stroke-width: 3;

	outline: none;
}


/* Legend */

.infocean-forecast-card__legend {
	display: flex;
	flex-wrap: wrap;

	gap: var(--sp-4);

	margin-top: var(--sp-1);
}


.infocean-forecast-card__legend span {
	display: inline-flex;
	align-items: center;

	gap: 7px;

	font-size: 11.5px;

	color: var(--color-text-subtle);
}


.infocean-forecast-card__legend i {
	display: inline-block;

	width: 9px;
	height: 9px;

	border-radius: 50%;
}


.infocean-forecast-card__legend i.is-base {
	background: var(--color-text-muted);
}


.infocean-forecast-card__legend i.is-forecast {
	background: var(--research-data-medium);
}


/* Source */

.infocean-forecast-card__source {
	margin:
		var(--sp-3)
		0
		0;

	padding-top: var(--sp-3);

	border-top:
		1px solid
		var(--color-border);

	font-size: 11px;
	line-height: 1.45;

	color: var(--color-text-subtle);
}

@media (max-width: 920px) {

	.single-product
	div.product
	> .infocean-research-market-map,
	.single-product
	div.product
	> .infocean-research-forecast {
		grid-column: 1 / -1;
	}


	.single-product
	div.product
	> .infocean-research-market-map {
		padding-top:
			var(--sp-7);
	}


	.single-product
	div.product
	> .infocean-research-forecast {
		padding-top:
			var(--sp-5);
	}
	
	
	.infocean-forecast-grid {
		margin-top: var(--sp-5);
	}
	
}


@media (max-width: 700px) {

	.infocean-market-map-card,
	.infocean-forecast-card {
		padding:
			var(--sp-4)
			var(--sp-3);
	}


	.infocean-market-map-svg__bubble-label {
		font-size: 9px;
	}
}


/* ---------------------------------------------------------
   Single research: highlights
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-highlights {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-highlights__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-highlights__title {
	margin:
		0
		0
		var(--sp-6);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


/* Highlights */

.infocean-highlights-grid {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(
				min(100%, 240px),
				1fr
			)
		);

	gap: var(--sp-4);
}


.infocean-highlight-card {
	min-width: 0;

	padding:
		var(--sp-5);

	background:
		var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-sm);

	box-shadow: none;
}


.infocean-highlight-card__value {
	display: flex;
	align-items: baseline;

	gap: 5px;

	margin-bottom:
		var(--sp-3);
}


.infocean-highlight-card__number {
	font-size:
		clamp(
			30px,
			3vw,
			40px
		);

	font-weight: 700;
	line-height: 1;

	letter-spacing: -0.025em;

	color:
		var(--color-brand);

	font-variant-numeric:
		tabular-nums;
}


.infocean-highlight-card__unit {
	font-size: 14px;
	font-weight: 600;

	color:
		var(--color-brand);
}


.infocean-highlight-card__text {
	margin: 0;

	font-size: 14px;
	line-height: 1.55;

	color:
		var(--color-text-muted);
}




/* ---------------------------------------------------------
   Single research: questions answered by the Research
   --------------------------------------------------------- */

.infocean-research-questions {
	margin-top: var(--sp-7);

	padding:
		var(--sp-5)
		var(--sp-6);

	background:
		var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-lg);
}


.infocean-research-questions--only {
	margin-top: var(--sp-4);
}


.infocean-research-questions__title {
	margin:
		0
		0
		var(--sp-3);

	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;

	color: var(--color-text);
}


.infocean-research-questions__list {
	display: grid;
	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap:
		0
		var(--sp-7);

	margin: 0;
	padding: 0;

	list-style: none;

	counter-reset:
		infocean-research-question;
}


.infocean-research-questions__item {
	display: grid;
	grid-template-columns:
		32px
		minmax(0, 1fr);

	gap: var(--sp-3);
	align-items: start;

	padding:
		var(--sp-4)
		0;

	border-top:
		1px solid
		var(--color-border);

	counter-increment:
		infocean-research-question;
}


.infocean-research-questions__item::before {
	content:
		counter(
			infocean-research-question,
			decimal-leading-zero
		);

	padding-top: 1px;

	font-size: 11px;
	font-weight: 700;
	line-height: 1.5;

	letter-spacing: 0.04em;

	color: var(--color-brand);
}


.infocean-research-questions__item span {
	font-size: 14px;
	line-height: 1.55;

	color: var(--color-text);
}


@media (max-width: 700px) {

	.infocean-research-questions__list {
		grid-template-columns: 1fr;
	}


	.infocean-research-questions__item {
		grid-template-columns:
			28px
			minmax(0, 1fr);
	}
}


/* Semantic states */

.infocean-highlight-card.is-alert
.infocean-highlight-card__number,
.infocean-highlight-card.is-alert
.infocean-highlight-card__unit {
	color:
		var(--color-action);
}


.infocean-highlight-card.is-neutral
.infocean-highlight-card__number,
.infocean-highlight-card.is-neutral
.infocean-highlight-card__unit {
	color:
		var(--color-text);
}

.infocean-highlight-card.is-neutral
.infocean-highlight-card__number,
.infocean-highlight-card.is-neutral
.infocean-highlight-card__unit {
	color: var(--color-text);
}


@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-highlights {
		padding-top: var(--sp-7);
	}


	.infocean-highlights-grid {
		gap: var(--sp-4);
	}
}


/* ---------------------------------------------------------
   Single research: table of contents
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-toc {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-toc__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-toc__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-toc__meta {
	margin:
		0
		0
		var(--sp-5);

	font-size: 13px;
	line-height: 1.5;

	color: var(--color-text-subtle);
}


/* Accordion */

.infocean-toc-list {
	display: flex;
	flex-direction: column;

	gap: var(--sp-2);
}


.infocean-toc-section {
	overflow: hidden;

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-sm);
}


.infocean-toc-section__summary {
	display: grid;

	grid-template-columns:
		34px
		minmax(0, 1fr)
		auto
		18px;

	align-items: center;

	gap: var(--sp-3);

	padding:
		var(--sp-4)
		var(--sp-5);

	cursor: pointer;

	list-style: none;
}


.infocean-toc-section__summary::-webkit-details-marker {
	display: none;
}


.infocean-toc-section__summary--static {
	grid-template-columns:
		34px
		minmax(0, 1fr)
		auto;

	cursor: default;
}


/* Section number */

.infocean-toc-section__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	background: var(--color-brand);
	color: #ffffff;

	border-radius: var(--radius-xs);

	font-size: 11px;
	font-weight: 700;

	font-variant-numeric: tabular-nums;
}


/* Heading */

.infocean-toc-section__heading {
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.35;

	color: var(--color-text);
}


/* Pages */

.infocean-toc-section__pages {
	white-space: nowrap;

	font-size: 11.5px;

	color: var(--color-text-subtle);
}


/* Chevron */

.infocean-toc-section__chevron {
	width: 8px;
	height: 8px;

	border-right:
		2px solid
		var(--color-brand);

	border-bottom:
		2px solid
		var(--color-brand);

	transform: rotate(45deg);

	transition:
		transform
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-toc-section[open]
.infocean-toc-section__chevron {
	transform: rotate(225deg);
}


/* Open state */

.infocean-toc-section[open]
.infocean-toc-section__summary {
	background:
		color-mix(
			in srgb,
			var(--color-brand) 4%,
			var(--color-surface)
		);
}


/* Body */

.infocean-toc-section__body {
	padding:
		0
		var(--sp-5)
		var(--sp-5)
		66px;

	border-top:
		1px solid
		var(--color-border);
}


.infocean-toc-section__description {
	margin:
		var(--sp-4)
		0
		var(--sp-3);

	font-size: 14px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


.infocean-toc-section__items {
	margin:
		var(--sp-4)
		0
		0;

	padding: 0;

	list-style: none;
}


.infocean-toc-section__items li {
	position: relative;

	margin-top: var(--sp-2);

	padding-left: var(--sp-4);

	font-size: 14px;
	line-height: 1.5;

	color: var(--color-text);
}


.infocean-toc-section__items li::before {
	content: "";

	position: absolute;

	left: 0;
	top: 0.65em;

	width: 4px;
	height: 4px;

	background: var(--color-brand);

	border-radius: 50%;
}


/* Responsive */

@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-toc {
		padding-top: var(--sp-7);
	}


	.infocean-toc-section__summary {
		grid-template-columns:
			32px
			minmax(0, 1fr)
			16px;

		padding: var(--sp-3);
	}


	.infocean-toc-section__pages {
		display: none;
	}


	.infocean-toc-section__body {
		padding:
			0
			var(--sp-3)
			var(--sp-4);
	}
}


/* ---------------------------------------------------------
   Single research: audiences
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-audiences {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-audiences__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-audiences__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-audiences__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 15px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Audience grid */

.infocean-audiences-grid {
	display: grid;

	grid-template-columns:
		repeat(
			2,
			minmax(0, 1fr)
		);

	gap: var(--sp-4);
}


.infocean-audience-card {
	display: grid;

	grid-template-columns:
		42px
		minmax(0, 1fr);

	grid-template-areas:
		"icon title"
		"icon text";

	column-gap: var(--sp-4);
	row-gap: 6px;

	align-content: center;
	align-items: start;

	min-width: 0;
	min-height: 124px;

	padding:
		20px
		var(--sp-5);

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-sm);

	box-shadow: none;
}


.infocean-audience-card__icon {
	grid-area: icon;

	align-self: center;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	margin: 0;

	color: var(--color-brand);

	background:
		color-mix(
			in srgb,
			var(--color-brand) 7%,
			var(--color-surface)
		);

	border-radius: var(--radius-sm);
}


.infocean-audience-card__icon svg {
	display: block;

	width: 21px;
	height: 21px;
}


.infocean-audience-card__title {
	grid-area: title;

	margin: 0;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;

	color: var(--color-text);
}


.infocean-audience-card__text {
	grid-area: text;

	margin: 0;

	font-size: 13.5px;
	line-height: 1.5;

	color: var(--color-text-muted);
}


/* Responsive */

@media (max-width: 760px) {

	.infocean-audiences-grid {
		grid-template-columns: 1fr;
	}
}


@media (max-width: 560px) {

	.single-product
	div.product
	> .infocean-research-audiences {
		padding-top: var(--sp-7);
	}


	.infocean-audience-card {
		grid-template-columns:
			40px
			minmax(0, 1fr);

		gap: var(--sp-3);

		padding: var(--sp-4);
	}


	.infocean-audience-card__icon {
		width: 40px;
		height: 40px;
	}
}


/* ---------------------------------------------------------
   Single research: demo
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-demo {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Panel */

.infocean-research-demo__inner {
	padding: var(--sp-6);

	background:
		var(--color-panel);

	border:
		1px solid
		var(--color-border-dark);

	border-radius:
		var(--radius-md);

	color:
		var(--color-text-on-dark);
}


/* Section header */

.infocean-research-demo__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-mint);
}


.infocean-research-demo__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;

	color:
		var(--color-text-on-dark);
}


.infocean-research-demo__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 14px;
	line-height: 1.6;

	color:
		var(--color-text-on-dark-muted);
}


/* Preview pages */

.infocean-demo-previews {
	display: grid;

	grid-template-columns:
		repeat(
			4,
			minmax(0, 1fr)
		);

	gap: var(--sp-3);

	margin-bottom: var(--sp-5);
}


.infocean-demo-preview {
	min-width: 0;
}


.infocean-demo-preview img {
	display: block;

	width: 100%;
	height: auto;

	border:
		1px solid
		var(--color-border-dark);

	border-radius:
		var(--radius-sm);

	background:
		var(--color-surface);
}


/* Actions */

.infocean-demo-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: var(--sp-4);
}


.infocean-demo-download {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;

	padding:
		0
		var(--sp-5);

	background:
		var(--color-action);

	color: #ffffff;

	border:
		1px solid
		var(--color-action);

	border-radius:
		var(--radius-sm);

	font-size: 14px;
	font-weight: 600;
	line-height: 1;

	text-decoration: none;

	transition:
		background-color
		var(--motion-fast)
		var(--ease-standard),
		border-color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-demo-download:hover {
	background:
		var(--color-action-strong);

	border-color:
		var(--color-action-strong);

	color: #ffffff;
}


.infocean-demo-note {
	max-width: 560px;

	font-size: 12.5px;
	line-height: 1.5;

	color:
		var(--color-text-on-dark-muted);
}


/* Responsive */

@media (max-width: 900px) {

	.infocean-demo-previews {
		grid-template-columns:
			repeat(
				2,
				minmax(0, 1fr)
			);
	}
}


@media (max-width: 600px) {

	.single-product
	div.product
	> .infocean-research-demo {
		padding-top: var(--sp-7);
	}


	.infocean-research-demo__inner {
		padding:
			var(--sp-5)
			var(--sp-4);
	}


	.infocean-demo-previews {
		gap: var(--sp-2);
	}


	.infocean-demo-actions {
		align-items: stretch;
	}


	.infocean-demo-download {
		width: 100%;
	}


	.infocean-demo-note {
		width: 100%;
	}
}


/* ---------------------------------------------------------
   Single research: contributors
   Визуально согласовано с homepage Expert Card.
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-contributors {
	grid-column: 1 / -1;
	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}

.infocean-research-contributors__eyebrow {
	margin-bottom: var(--sp-3);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	color: var(--color-brand);
}

.infocean-research-contributors__title {
	margin: 0 0 var(--sp-2);
	font-size: var(--research-section-title-size);
	font-weight: var(--font-weight-heading);
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.infocean-research-contributors__intro {
	max-width: var(--research-section-lead-width);
	margin: 0 0 var(--sp-5);
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-text-muted);
}

.infocean-contributors-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 13px;
}

.infocean-contributor-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	transition:
		border-color var(--motion-fast) var(--ease-standard),
		transform var(--motion-fast) var(--ease-standard);
}

.infocean-contributor-card:hover {
	border-color:
		color-mix(
			in srgb,
			var(--color-brand) 42%,
			var(--color-border)
		);
	transform: translateY(-2px);
}

.infocean-contributor-card__media {
	display: block;
	aspect-ratio: 1 / 0.9;
	overflow: hidden;
	background:
		linear-gradient(
			160deg,
			color-mix(
				in srgb,
				var(--color-brand) 8%,
				var(--color-surface-muted)
			),
			var(--color-surface-muted)
		);
	border-bottom: 1px solid var(--color-border);
}

.infocean-contributor-card__image,
.infocean-contributor-card__photo-placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.infocean-contributor-card__image {
	object-fit: cover;
	object-position: center top;
}

.infocean-contributor-card__photo-placeholder {
	display: grid;
	place-items: center;
	color: var(--color-brand);
}

.infocean-contributor-card__photo-placeholder svg {
	width: 54px;
	height: 54px;
}

.infocean-contributor-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 17px;
}

.infocean-contributor-card__roles {
	margin: 0 0 7px;
	font-size: 10px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-brand);
}

.infocean-contributor-card__name {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.012em;
	color: var(--color-text);
}

.infocean-contributor-card__name a {
	color: inherit;
	text-decoration: none;
	transition: color var(--motion-fast) var(--ease-standard);
}

.infocean-contributor-card__name a:hover,
.infocean-contributor-card__name a:focus-visible {
	color: var(--color-brand);
}

.infocean-contributor-card__position {
	margin: 5px 0 0;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-text-subtle);
}

.infocean-contributor-card__specialization {
	display: -webkit-box;
	margin: 10px 0 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 10.5px;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: 0.035em;
	text-transform: uppercase;
	color: var(--color-brand);
}

.infocean-contributor-card__bio {
	display: -webkit-box;
	margin: 9px 0 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-size: 12.3px;
	line-height: 1.5;
	color: var(--color-text-muted);
}

.infocean-contributor-card__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	margin-top: auto;
	padding-top: 13px;
	font-size: 11.5px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--color-brand);
}

.infocean-contributor-card__more span {
	transition: transform var(--motion-fast) var(--ease-standard);
}

.infocean-contributor-card__more:hover span {
	transform: translateX(3px);
}

@media (max-width: 980px) {
	.infocean-contributors-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.single-product
	div.product
	> .infocean-research-contributors {
		padding-top: var(--sp-7);
	}

	.infocean-contributors-grid {
		grid-template-columns: 1fr;
	}

	.infocean-contributor-card__media {
		aspect-ratio: 4 / 3;
	}
}

/* Full-card navigation: research contributors */

.infocean-contributor-card {
    position: relative;
}

.infocean-contributor-card__name a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.infocean-contributor-card__more {
    position: relative;
    z-index: 2;
}

.infocean-contributor-card__name a:focus-visible::after {
    outline: 2px solid var(--color-brand);
    outline-offset: -3px;
    border-radius: var(--radius-lg);
}

/* ---------------------------------------------------------
   Single research: methodology
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-methodology {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-methodology__eyebrow {
	margin-bottom: var(--sp-3);

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.075em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-methodology__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-methodology__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 14px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Passport */

.infocean-methodology-passport {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(160px, 1fr)
		);

	gap: var(--sp-3);

	margin-bottom: var(--sp-6);
}


.infocean-methodology-passport__item {
	padding: 16px 18px;

	background:
		color-mix(
			in srgb,
			var(--color-brand) 8%,
			var(--color-surface)
		);

	border:
		1px solid
		color-mix(
			in srgb,
			var(--color-brand) 18%,
			var(--color-border)
		);

	border-radius: 10px;
}


.infocean-methodology-passport__item strong {
	display: block;

	margin-bottom: var(--sp-1);

	font-size: 20px;
	font-weight: 700;
	line-height: 1.1;

	color: var(--color-brand);

	font-variant-numeric:
		tabular-nums;
}


.infocean-methodology-passport__item span {
	font-size: 11.5px;
	line-height: 1.4;

	color: var(--color-text-subtle);
}


/* Common subsections */

.infocean-methodology-block {
	margin-top: 28px;
}

.infocean-methodology-block > h3 {
	margin: 0 0 14px;

	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}


/* Methods */

.infocean-methodology-methods {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(
				min(100%, 300px),
				1fr
			)
		);

	align-items: start;

	gap: 14px;
}

.infocean-methodology-method-card {
	padding: 18px;

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: 12px;
}


.infocean-methodology-method-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: var(--sp-3);

	margin-bottom: var(--sp-3);
}


.infocean-methodology-method-card__top h4 {
	margin: 0;

	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;

	color: var(--color-text);
}


.infocean-methodology-method-card__primary {
	flex: 0 0 auto;

	padding:
		3px
		7px;

	background:
		color-mix(
			in srgb,
			var(--color-brand) 7%,
			var(--color-surface)
		);

	border-radius:
		var(--radius-xs);

	font-size: 9.5px;
	font-weight: 600;

	color: var(--color-brand);
}


.infocean-methodology-method-card__amount {
	display: flex;
	align-items: baseline;

	gap: 5px;

	margin:
		0
		0
		var(--sp-2);
}


.infocean-methodology-method-card__amount strong {
	font-size: 26px;
	font-weight: 700;
	line-height: 1;

	color: var(--color-brand);

	font-variant-numeric:
		tabular-nums;
}


.infocean-methodology-method-card__amount span {
	font-size: 12px;

	color: var(--color-text-subtle);
}


.infocean-methodology-method-card__text {
	margin: 0;

	font-size: 13px;
	line-height: 1.55;

	color: var(--color-text-muted);
}


/* Sample */

.infocean-methodology-sample-public {
	max-width: 900px;
}


.infocean-methodology-sample-public p {
	margin: 0;

	font-size: 14px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Sources */

.infocean-methodology-sources-public {
	display: flex;
	flex-direction: column;

	gap: var(--sp-2);
}


.infocean-methodology-source-public {
	display: grid;

	grid-template-columns:
		180px
		minmax(0, 1fr);

	gap: 18px;

	padding: 14px 16px;

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: 10px;
}

.infocean-methodology-source-public__type {
	font-size: 11px;
	font-weight: 600;

	color: var(--color-brand);
}

.infocean-methodology-source-public__content strong,
.infocean-methodology-source-public__content a {
	font-size: 13.5px;
	font-weight: 600;

	color: var(--color-text);
}


.infocean-methodology-source-public__content p {
	margin:
		var(--sp-1)
		0
		0;

	font-size: 12.5px;
	line-height: 1.5;

	color: var(--color-text-subtle);
}


/* Citation */

.infocean-methodology-citation-public {
	margin-top: 28px;

	padding: 16px 18px;

	background:
		color-mix(
			in srgb,
			var(--color-brand) 7%,
			var(--color-surface)
		);

	border-left:
		3px solid
		var(--color-brand);

	border-radius: 8px;
}


.infocean-methodology-citation-public__label {
	margin-bottom: var(--sp-2);

	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.3;

	letter-spacing: 0.06em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-methodology-citation-public p {
	margin: 0;

	max-width: 760px;

	font-size: 13px;
	line-height: 1.6;

	color: var(--color-text-muted);
}


/* Responsive */

@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-methodology {
		padding-top: var(--sp-7);
	}


	.infocean-methodology-source-public {
		grid-template-columns: 1fr;

		gap: var(--sp-1);
	}
}

/* ---------------------------------------------------------
   Research buybox: variable product
   --------------------------------------------------------- */

.single-product
.infocean-research-buybox
> .price {
	display: none;
}

.single-product
.infocean-research-buybox
form.variations_form {
	margin: 18px 0 0;
}

.single-product
.infocean-research-buybox
table.variations {
	display: block;

	width: 100%;

    margin: 0 0 var(--sp-4);

	border: 0;
}

.single-product
.infocean-research-buybox
table.variations tbody,
.single-product
.infocean-research-buybox
table.variations tr,
.single-product
.infocean-research-buybox
table.variations th,
.single-product
.infocean-research-buybox
table.variations td {
	display: block;

	width: 100%;

	padding: 0;

	border: 0;
}

.single-product
.infocean-research-buybox
table.variations th.label {
	margin: 0 0 var(--sp-2);
}

.single-product
.infocean-research-buybox
table.variations th.label label {
	display: block;

	margin: 0;

	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;

	color: var(--color-text);

	letter-spacing: 0.01em;
}

.single-product
.infocean-research-buybox
table.variations select {
	display: block;

	width: 100%;
	max-width: none;
	min-height: 46px;

	margin: 0;

	padding:
		0
		42px
		0
		var(--sp-3);

	box-sizing: border-box;

	background-color: var(--color-surface);
	color: var(--color-text);

	border:
		1px solid
		var(--color-border-strong);

	border-radius: var(--radius-sm);

	font: inherit;
	font-size: 13px;

	box-shadow: none;

	cursor: pointer;
}

.single-product
.infocean-research-buybox
table.variations select:focus {
	outline:
		2px solid
		color-mix(
			in srgb,
			var(--color-focus) 35%,
			transparent
		);

	outline-offset: 2px;

	border-color: var(--color-brand);

	box-shadow: none;
}

.single-product
.infocean-research-buybox
.reset_variations {
	margin-top: 8px;

	font-size: 11px;
	color: #8a9691;

	text-decoration: none;
}

.single-product
.infocean-research-buybox
.reset_variations:hover {
	color: #177468;
	text-decoration: underline;
}
.single-product
.infocean-research-buybox
.single_variation_wrap {
	margin-top: var(--sp-4);
}


.single-product
.infocean-research-buybox
.single_variation {
	margin-bottom: var(--sp-3);
}


.single-product
.infocean-research-buybox
.single_variation
.woocommerce-variation-price {
	margin: 0;
}


.single-product
.infocean-research-buybox
.single_variation
.price {
	display: block;

	margin: 0;

	font-size: 26px;
	font-weight: 800;
	line-height: 1;

	letter-spacing: -0.025em;

	color: var(--color-text);

	font-variant-numeric:
		tabular-nums;
}


.single-product
.infocean-research-buybox
.single_variation
.price
.woocommerce-Price-currencySymbol {
	font-size: 14px;
	font-weight: 600;
}


.single-product
.infocean-research-buybox
.woocommerce-variation-add-to-cart {
	display: block;
}


.single-product
.infocean-research-buybox
.woocommerce-variation-add-to-cart
.single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 48px;

	margin: 0;

	padding:
		0
		var(--sp-5);

	background: var(--color-action);
	color: #ffffff;

	border: 0;
	border-radius: var(--radius-sm);

	font: inherit;
	font-size: 14px;
	font-weight: 600;

	box-shadow: none;

	cursor: pointer;

	transition:
		background-color
		var(--motion-fast)
		var(--ease-standard);
}


.single-product
.infocean-research-buybox
.woocommerce-variation-add-to-cart
.single_add_to_cart_button:hover {
	background: var(--color-action-strong);
	color: #ffffff;
}




/* ---------------------------------------------------------
   Single research: commercial formats
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-commercial {
	grid-column: 1 / -1;

	padding: 56px 0 12px;
}

.infocean-research-commercial__eyebrow {
	margin-bottom: 10px;

	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;

	color: #177468;
}

.infocean-research-commercial__title {
	margin: 0 0 8px;

	font-size: clamp(24px, 2.6vw, 30px);
	line-height: 1.15;
}

.infocean-research-commercial__intro {
	max-width: 760px;

	margin: 0 0 24px;

	font-size: 14px;
	line-height: 1.55;

	color: #4a5852;
}


/* Table wrapper */

.infocean-commercial-table-wrap {
	overflow-x: auto;

	border: 1px solid #d6dacf;
	border-radius: 14px;

	background: #fff;
}

.infocean-commercial-table {
	width: 100%;
	min-width: 880px;

	margin: 0;

	border: 0;
	border-collapse: collapse;

	background: #fff;
}

.infocean-commercial-table th,
.infocean-commercial-table td {
	border: 0;
	border-right: 1px solid #e4e7e2;
	border-bottom: 1px solid #e4e7e2;
}

.infocean-commercial-table tr > *:last-child {
	border-right: 0;
}

.infocean-commercial-table tfoot tr:last-child > * {
	border-bottom: 0;
}


/* Headers */

.infocean-commercial-table thead th {
	vertical-align: top;

	padding: 22px 18px;

	text-align: left;

	background: #fff;
}

.infocean-commercial-table__feature-heading {
	width: 230px;

	font-size: 13px;

	color: #6d7a74;
}

.infocean-commercial-format-heading {
	position: relative;

	width: 26%;
}

.infocean-commercial-format-heading.is-recommended,
.infocean-commercial-table td.is-recommended {
	background: rgba(23, 116, 104, 0.055);
}

.infocean-commercial-format-heading__badge {
	display: inline-flex;

	margin-bottom: var(--sp-3);

	padding:
		3px
		7px;

	background:
		color-mix(
			in srgb,
			var(--color-brand) 8%,
			var(--color-surface)
		);

	color: var(--color-brand);

	border-radius: var(--radius-xs);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.3;
}

.infocean-commercial-format-heading__name {
	margin-bottom: 8px;

	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;

	color: var(--color-text);
}


.infocean-commercial-format-heading__price {
	margin-bottom: 10px;

	font-size: 21px;
	font-weight: 700;
	line-height: 1.1;

	color: var(--color-text);

	font-variant-numeric:
		tabular-nums;
}


.infocean-commercial-format-heading__price
.woocommerce-Price-currencySymbol {
	font-size: 13px;
}


.infocean-commercial-format-heading__description {
	margin-bottom: 12px;

	font-size: 12.5px;
	line-height: 1.45;

	color: var(--color-text-subtle);
}


.infocean-commercial-format-heading__description p {
	margin: 0;
}


.infocean-commercial-format-heading__score {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;

	gap: 4px;

	margin-top: 12px;

	color: var(--color-brand);
}


.infocean-commercial-format-heading__score strong {
	font-size: 24px;
	line-height: 1;

	font-variant-numeric:
		tabular-nums;
}


.infocean-commercial-format-heading__score span {
	font-size: 13px;
	font-weight: 600;
}


.infocean-commercial-format-heading__score small {
	flex-basis: 100%;

	margin-top: 2px;

	font-size: 10.5px;
	font-weight: 400;

	color: var(--color-text-subtle);
}


/* Feature matrix */

.infocean-commercial-table tbody th {
	padding: 13px 18px;

	text-align: left;

	font-size: 13px;
	font-weight: 500;

	color: var(--color-text-muted);
}


.infocean-commercial-table tbody td {
	padding: 13px 18px;

	text-align: center;
}

.infocean-commercial-feature-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 24px;
	height: 24px;

	border-radius: 50%;

	font-size: 13px;
	font-weight: 700;
}


.infocean-commercial-feature-status.is-included {
	background:
		color-mix(
			in srgb,
			var(--color-brand) 8%,
			var(--color-surface)
		);

	color: var(--color-brand);
}


.infocean-commercial-feature-status.is-missing {
	color: var(--color-text-subtle);
}


/* Footer */

.infocean-commercial-table tfoot th,
.infocean-commercial-table tfoot td {
	padding: 18px;

	background: #fff;
}

.infocean-commercial-table tfoot th {
	text-align: left;

	font-size: 12px;

	color: #6d7a74;
}

.infocean-commercial-format-heading.is-recommended,
.infocean-commercial-table td.is-recommended {
	background:
		color-mix(
			in srgb,
			var(--color-brand) 5%,
			var(--color-surface)
		);
}

/* Select format buttons */

.infocean-commercial-select {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 42px;

	padding:
		0
		var(--sp-4);

	background: transparent;
	color: var(--color-text);

	border:
		1px solid
		var(--color-border-strong);

	border-radius: var(--radius-sm);

	font: inherit;
	font-size: 12.5px;
	font-weight: 600;

	cursor: pointer;
}

.infocean-commercial-select:hover {
	color: var(--color-brand);
	border-color: var(--color-brand);
}

.infocean-commercial-select.is-primary {
	background: var(--color-action);
	color: #ffffff;

	border-color: var(--color-action);
}

.infocean-commercial-select.is-primary:hover {
	background: var(--color-action-strong);
	color: #ffffff;

	border-color: var(--color-action-strong);
}

.infocean-commercial-select:disabled {
	opacity: 0.5;

	cursor: not-allowed;
}


@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-commercial {
		padding-top: 40px;
	}

	.infocean-commercial-table-wrap {
		margin-right: 0;

		border-radius:
			var(--radius-sm);
	}
}

/* ---------------------------------------------------------
   Single research: reviews
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-reviews {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


.infocean-research-reviews__eyebrow {
	margin-bottom: var(--sp-2);

	font-size: 11.5px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.06em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-research-reviews__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-reviews__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 14px;
	line-height: 1.55;

	color: var(--color-text-muted);
}


.infocean-research-reviews__grid {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(
				min(100%, 360px),
				1fr
			)
		);

	gap: var(--sp-4);
}


.infocean-research-review {
	display: grid;

	grid-template-columns: minmax(0, 1fr);

	min-width: 0;

	padding: var(--sp-5);

	background: var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-lg);
}


.infocean-research-review:has(
	.infocean-research-review__screenshot
) {
	grid-template-columns:
		minmax(0, 1fr)
		minmax(180px, 30%);

	gap: var(--sp-5);

	align-items: start;
}


.infocean-research-review__content {
	min-width: 0;
}


.infocean-research-review__quote {
	margin:
		0
		0
		var(--sp-4);

	padding: 0;

	border: 0;
}


.infocean-research-review__quote p {
	margin: 0;

	font-size: 17px;
	line-height: 1.6;

	color: var(--color-text);
}


.infocean-research-review__quote p::before {
	content: "“";

	margin-right: 2px;

	font-size: 1.15em;
	font-weight: 700;

	color: var(--color-brand);
}


.infocean-research-review__quote p::after {
	content: "”";

	margin-left: 2px;

	font-size: 1.15em;
	font-weight: 700;

	color: var(--color-brand);
}


.infocean-research-review__meta {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;

	gap:
		var(--sp-1)
		var(--sp-2);

	font-size: 13px;
	line-height: 1.45;
}


.infocean-research-review__author {
	font-style: normal;
	font-weight: 650;

	color: var(--color-text);
}


.infocean-research-review__details,
.infocean-research-review__date {
	color: var(--color-text-muted);
}


.infocean-research-review__date::before {
	content: "·";

	margin-right: var(--sp-2);

	color: var(--color-text-subtle);
}


.infocean-research-review__source {
	margin:
		var(--sp-3)
		0
		0;

	font-size: 12.5px;
}


.infocean-research-review__source a {
	color: var(--color-brand);

	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


.infocean-research-review__source a:hover {
	color: var(--color-brand-strong);
}


.infocean-research-review__screenshot {
	min-width: 0;

	margin: 0;
}


.infocean-research-review__screenshot a {
	display: block;

	padding: var(--sp-2);

	background: var(--color-surface-muted);

	border:
		1px solid
		var(--color-border);

	border-radius: var(--radius-sm);
}


.infocean-research-review__screenshot-image {
	display: block;

	width: 100%;
	max-height: 300px;

	object-fit: contain;

	border-radius: var(--radius-xs);
}


@media (max-width: 700px) {

	.single-product
	div.product
	> .infocean-research-reviews {
		padding-top: var(--sp-7);
	}


	.infocean-research-reviews__grid {
		grid-template-columns: 1fr;
	}


	.infocean-research-review,
	.infocean-research-review:has(
		.infocean-research-review__screenshot
	) {
		grid-template-columns: 1fr;

		padding: var(--sp-4);
	}


	.infocean-research-review__quote p {
		font-size: 16px;
	}


	.infocean-research-review__screenshot {
		max-width: 420px;
	}
}


/* ---------------------------------------------------------
   Single research: related products
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-related {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


/* Section header */

.infocean-research-related__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-related__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 14px;
	line-height: 1.55;

	color: var(--color-text-muted);
}


/* Grid */

.infocean-related-grid {
	display: grid;

	grid-template-columns:
		repeat(
			auto-fit,
			minmax(
				min(100%, 250px),
				1fr
			)
		);

	gap: var(--sp-3);
}


/* Card */

.infocean-related-card {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: var(--sp-4);

	min-width: 0;
	min-height: 88px;

	padding:
		var(--sp-4)
		var(--sp-5);

	background: var(--color-surface);
	color: var(--color-text);

	border:
		1px solid
		var(--color-border);

	border-radius:
		var(--radius-sm);

	text-decoration: none;

	transition:
		border-color
		var(--motion-fast)
		var(--ease-standard),
		color
		var(--motion-fast)
		var(--ease-standard),
		background-color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-related-card:hover {
	border-color: var(--color-brand);

	color: var(--color-brand);

	background:
		color-mix(
			in srgb,
			var(--color-brand) 3%,
			var(--color-surface)
		);
}


.infocean-related-card__title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}


.infocean-related-card__arrow {
	flex: 0 0 auto;

	font-size: 16px;
	font-weight: 700;

	color: var(--color-brand);
}


@media (max-width: 620px) {

	.single-product
	div.product
	> .infocean-research-related {
		padding-top: var(--sp-7);
	}


	.infocean-related-grid {
		grid-template-columns: 1fr;
	}


	.infocean-related-card {
		min-height: 72px;

		padding: var(--sp-4);
	}
}

/* ---------------------------------------------------------
   Single research: source materials
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-materials {
	grid-column: 1 / -1;

	padding:
		var(--research-section-space-top)
		0
		var(--research-section-space-bottom);
}


.infocean-research-materials__eyebrow {
	margin-bottom:
		var(--sp-2);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: 0.09em;
	text-transform: uppercase;

	color: var(--color-text-subtle);
}


.infocean-research-materials__title {
	margin:
		0
		0
		var(--sp-2);

	font-size:
		var(--research-section-title-size);

	font-weight:
		var(--font-weight-heading);

	line-height: 1.1;
	letter-spacing: -0.02em;
}


.infocean-research-materials__intro {
	max-width:
		var(--research-section-lead-width);

	margin:
		0
		0
		var(--sp-5);

	font-size: 14px;
	line-height: 1.55;

	color:
		var(--color-text-muted);
}


.infocean-research-materials__list {
	margin: 0;
	padding: 0;

	list-style: none;

	border-top:
		1px solid
		var(--color-border);
}


.infocean-research-materials__item {
	margin: 0;

	border-bottom:
		1px solid
		var(--color-border);
}


.infocean-research-materials__link {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap:
		var(--sp-5);

	padding:
		var(--sp-4)
		0;

	color:
		var(--color-text);

	text-decoration: none;
}


.infocean-research-materials__link:hover
.infocean-research-materials__item-title {
	color:
		var(--color-brand);
}


.infocean-research-materials__item-main {
	display: flex;

	flex-direction: column;

	gap: 5px;

	min-width: 0;
}


.infocean-research-materials__item-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;

	transition:
		color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-research-materials__item-date {
	font-size: 12px;
	line-height: 1.4;

	color:
		var(--color-text-subtle);
}


.infocean-research-materials__arrow {
	flex: 0 0 auto;

	font-size: 16px;
	font-weight: 700;

	color:
		var(--color-brand);
}


/* ---------------------------------------------------------
   Single research: semantic navigation
   --------------------------------------------------------- */

.single-product
div.product
> .infocean-research-semantics {
	grid-column: 1 / -1;

	margin-top:
		var(--sp-2);

	padding:
		var(--sp-5)
		0
		var(--research-section-space-bottom);

	border-top:
		1px solid
		var(--color-border);
}


.infocean-research-semantics__title {
	margin-bottom:
		var(--sp-4);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;

	letter-spacing: 0.09em;
	text-transform: uppercase;

	color:
		var(--color-text-subtle);
}


.infocean-research-semantics__groups {
	display: grid;

	row-gap:
		var(--sp-3);
}


.infocean-research-semantics__group {
	display: grid;

	grid-template-columns:
		120px
		minmax(0, 1fr);

	gap:
		var(--sp-3);

	align-items: start;
}


.infocean-research-semantics__label {
	padding-top: 7px;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;

	color:
		var(--color-text-muted);
}


.infocean-research-semantics__list {
	display: flex;

	flex-wrap: wrap;

	gap: 8px;

	margin: 0;
	padding: 0;

	list-style: none;
}


.infocean-research-semantics__list li {
	margin: 0;
}


.infocean-research-semantics__list a {
	display: inline-flex;

	align-items: center;

	min-height: 32px;

	padding:
		6px
		11px;

	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;

	text-decoration: none;

	color:
		var(--color-text);

	background:
		var(--color-surface);

	border:
		1px solid
		var(--color-border);

	border-radius: 999px;

	transition:
		border-color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-research-semantics__list a:hover {
	border-color:
		var(--color-text-muted);
}


@media (max-width: 720px) {

	.infocean-research-semantics__group {
		grid-template-columns:
			1fr;

		gap: 8px;
	}


	.infocean-research-semantics__label {
		padding-top: 0;
	}
}

/* ---------------------------------------------------------
   Single research: sticky buy bar
   --------------------------------------------------------- */

.infocean-sticky-buy {
	position: fixed;

	left: 0;
	right: 0;
	bottom: 0;

	z-index: 1000;

	padding:
		var(--sp-2)
		0;

	background:
		color-mix(
			in srgb,
			var(--color-surface) 96%,
			transparent
		);


	backdrop-filter:
		blur(10px);

	-webkit-backdrop-filter:
		blur(10px);

	transform:
		translateY(110%);

	opacity: 0;
	visibility: hidden;

	pointer-events: none;

	transition:
		transform
		var(--motion-normal)
		var(--ease-standard),
		opacity
		var(--motion-normal)
		var(--ease-standard),
		visibility
		var(--motion-normal)
		var(--ease-standard);
}

/*
 * Signature accent INFOCEAN:
 * research / evidence → decision / action.
 *
 * Используем мотив как тонкую границу,
 * не превращая сам sticky bar в gradient UI.
 */
.infocean-sticky-buy::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	height: 2px;

	background:
		var(--gradient-brand);

	opacity: 0.9;

	pointer-events: none;
}


.infocean-sticky-buy.is-visible {
	transform:
		translateY(0);

	opacity: 1;
	visibility: visible;

	pointer-events: auto;
}


/* Layout */

.infocean-sticky-buy__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto
		170px
		150px
		136px;

	align-items: center;

	gap: var(--sp-3);
}


/* Product */

.infocean-sticky-buy__product {
	min-width: 0;
}


.infocean-sticky-buy__eyebrow {
	display: block;

	margin-bottom: 2px;

	font-size: 9px;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: 0.065em;
	text-transform: uppercase;

	color: var(--color-brand);
}


.infocean-sticky-buy__title {
	display: block;

	overflow: hidden;

	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;

	color: var(--color-text);

	text-overflow: ellipsis;
	white-space: nowrap;
}


/* Selected variation */

.infocean-sticky-buy__selection {
	display: flex;
	align-items: center;

	gap: var(--sp-4);

	min-width: 0;
}


.infocean-sticky-buy__format {
	max-width: 240px;

	overflow: hidden;

	font-size: 12px;
	line-height: 1.3;

	color: var(--color-text-subtle);

	text-overflow: ellipsis;
	white-space: nowrap;
}


.infocean-sticky-buy__price {
	white-space: nowrap;

	font-size: 20px;
	font-weight: 700;
	line-height: 1;

	letter-spacing: -0.02em;

	color: var(--color-text);

	font-variant-numeric:
		tabular-nums;
}


.infocean-sticky-buy__price
.price {
	color: inherit;
}


.infocean-sticky-buy__price
.woocommerce-Price-currencySymbol {
	font-size: 12px;
	font-weight: 600;
}


/* AI handoff */

.infocean-sticky-buy__ai {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--sp-3);
	box-sizing: border-box;
	color: var(--color-brand-strong);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.infocean-sticky-buy__ai:hover,
.infocean-sticky-buy__ai:focus-visible {
	color: var(--color-brand);
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* Demo */

.infocean-sticky-buy__demo {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 44px;

	padding:
		0
		var(--sp-4);

	box-sizing: border-box;

	background: transparent;
	color: var(--color-text);

	border:
		1px solid
		var(--color-border-strong);

	border-radius:
		var(--radius-sm);

	font-size: 12.5px;
	font-weight: 600;

	text-decoration: none;

	transition:
		color
		var(--motion-fast)
		var(--ease-standard),
		border-color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-sticky-buy__demo:hover {
	color: var(--color-brand);

	border-color: var(--color-brand);
}


.infocean-sticky-buy__demo-short {
	display: none;
}


/* Buy */

.infocean-sticky-buy__button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 44px;

	padding:
		0
		var(--sp-4);

	background: var(--color-action);
	color: #ffffff;

	border:
		1px solid
		var(--color-action);

	border-radius:
		var(--radius-sm);

	font: inherit;
	font-size: 13px;
	font-weight: 600;

	cursor: pointer;

	transition:
		background-color
		var(--motion-fast)
		var(--ease-standard),
		border-color
		var(--motion-fast)
		var(--ease-standard);
}


.infocean-sticky-buy__button:hover {
	background: var(--color-action-strong);

	border-color:
		var(--color-action-strong);

	color: #ffffff;
}


@media (max-width: 1100px) {

	.infocean-sticky-buy__inner {
		grid-template-columns:
			minmax(0, 1fr)
			auto
			150px
			136px;
	}

	.infocean-sticky-buy__ai {
		display: none;
	}
}


/* Tablet */

@media (max-width: 900px) {

	.infocean-sticky-buy__inner {
		grid-template-columns:
			minmax(0, 1fr)
			132px
			126px;

		gap: var(--sp-2);
	}


	.infocean-sticky-buy__product {
		display: none;
	}


	.infocean-sticky-buy__selection {
		min-width: 0;
	}
}


/* Mobile */

@media (max-width: 560px) {

	.infocean-sticky-buy {
		padding:
			7px
			0;
	}


	.infocean-sticky-buy__inner {
		grid-template-columns:
			minmax(0, 1fr)
			76px
			96px;

		gap: 6px;
	}


	.infocean-sticky-buy__selection {
		display: block;

		min-width: 0;
	}


	.infocean-sticky-buy__format {
		display: none;
	}


	.infocean-sticky-buy__price {
		display: block;

		overflow: hidden;

		font-size: 17px;

		text-overflow: ellipsis;
	}


	.infocean-sticky-buy__demo,
	.infocean-sticky-buy__button {
		min-height: 42px;

		padding:
			0
			var(--sp-2);

		font-size: 11.5px;
	}


	.infocean-sticky-buy__demo-full {
		display: none;
	}


	.infocean-sticky-buy__demo-short {
		display: inline;
	}
}

.single-product .site-main {
	padding-bottom: 48px;
}
