/* ==========================================================================
   Sinankm — brand refinement layer (v1.5)
   Loaded last. Quieter, more editorial: finer radii, hairlines instead of
   heavy shadows, letter-spaced buttons, no glass/pill gimmicks.
   Mobile only — tablets get the same phone layout, centred.
   ========================================================================== */

:root {
	--radius: 10px;
	--radius-sm: 6px;
	--hair: rgba(13, 24, 36, .09);
	--hair-light: rgba(255, 255, 255, .14);
}

/* ---------- Type rhythm ---------- */
.snk-h2 { font-size: clamp(38px, 10.2vw, 50px); line-height: 1.02; letter-spacing: -.012em; }
.snk-eyebrow { font-size: 10.5px; letter-spacing: .26em; }
.snk-lead { font-size: 15px; line-height: 1.65; }
.snk-section-head { gap: 12px; margin-bottom: 30px; }

/* ---------- Buttons: squared, letter-spaced ---------- */
.snk-btn {
	border-radius: 2px;
	min-height: 52px;
	padding: 0 24px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	box-shadow: none !important;
}
.snk-btn svg { width: 16px; height: 16px; }
.snk-btn--ghost { background: transparent; border: 1px solid var(--hair); }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce button.button.alt, .woocommerce a.button.alt {
	border-radius: 2px !important;
	font-size: 12px !important; letter-spacing: .16em !important; text-transform: uppercase;
}

/* ---------- Statement + film ---------- */
.snk-statement { padding: 96px var(--gutter) 88px; gap: 22px; }
.snk-statement__text { font-size: clamp(26px, 7.2vw, 34px); line-height: 1.28; max-width: none; }
.snk-statement__sign { font-size: 40px; margin-top: -4px; }

.snk-player { margin-top: 18px; gap: 0; }
.snk-player__video, .snk-player__cover { border-radius: var(--radius-sm); }
.snk-player__cover { box-shadow: none; }
.snk-player__cover::after { background: rgba(9, 18, 28, .28); }
.snk-player__btn {
	top: 50%;
	width: 62px; height: 62px; margin: -31px 0 0 -31px;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .75);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	box-shadow: none;
}
.snk-player__btn svg { width: 20px; height: 20px; margin-left: 3px; fill: #fff; }
.snk-player__cover:hover .snk-player__btn { transform: scale(1.05); box-shadow: none; }
.snk-player__label {
	position: absolute; left: 0; right: 0; top: calc(50% + 44px); z-index: 2;
	font-family: var(--sans); font-style: normal;
	font-size: 10.5px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase;
	color: #fff; text-align: center;
}

/* ---------- Spotlight / ritual photo ---------- */
.snk-spotlight__fig, .snk-moment, .snk-ingredients__img { border-radius: var(--radius-sm); box-shadow: none; }
.snk-moment figcaption { font-size: clamp(24px, 6.6vw, 30px); }

/* ---------- Notes ---------- */
.snk-note { border-radius: var(--radius-sm); box-shadow: 0 24px 44px -34px rgba(13, 24, 36, .45), 0 0 0 1px var(--hair); }
.snk-note__tier { border-radius: 0; padding: 0; background: none; letter-spacing: .26em; font-size: 10.5px; }
.snk-note:nth-child(3) .snk-note__tier { background: none; }
.snk-note__list { gap: 0; }
.snk-note__list li { border: 0; padding: 0; border-radius: 0; font-size: 14px; }
.snk-note__list li + li::before { content: "·"; margin: 0 9px; color: var(--steel); }
.snk-note__title { font-weight: 400; }

/* ---------- Marquee: hairline diamond separator ---------- */
.snk-marquee { padding: 22px 0; background: transparent; }
.snk-marquee__track { font-size: clamp(34px, 9vw, 44px); gap: 22px; }
.snk-marquee__track i {
	width: 6px; height: 6px; flex: none;
	border: 1px solid var(--steel);
	transform: rotate(45deg);
}

/* ==========================================================================
   Editions — two per row, sample as a full-width row
   ========================================================================== */
.snk-collection { padding: 88px 0 70px; }
.snk-grid-ed {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 12px;
	padding: 0 var(--gutter);
}
.snk-grid-ed .snk-card {
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
	display: flex; flex-direction: column;
}
.snk-grid-ed .snk-card__img {
	aspect-ratio: 4 / 5;
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: #f1f3f5;
}
.snk-grid-ed .snk-card:hover .snk-card__img img { transform: none; }
.snk-grid-ed .snk-card__badge {
	top: 10px; left: 10px;
	padding: 5px 7px; border-radius: 0;
	font-size: 8.5px; letter-spacing: .2em;
	background: rgba(255, 255, 255, .92); color: var(--ink);
}
.snk-grid-ed .snk-card__body {
	flex: 1;
	display: flex; flex-direction: column; gap: 3px;
	padding: 12px 2px 0;
}
.snk-grid-ed .snk-card__kicker { font-size: 10px; letter-spacing: .22em; color: var(--steel); }
.snk-grid-ed .snk-card__title { font-size: 20px; font-weight: 500; line-height: 1.12; }
.snk-grid-ed .snk-card__tag { display: none; }
.snk-grid-ed .snk-card__price { font-family: var(--sans); font-size: 14px; font-weight: 500; margin: 2px 0 12px; letter-spacing: .02em; }
.snk-grid-ed .snk-card__price del { font-size: 12.5px; }
.snk-grid-ed .snk-btn {
	margin-top: auto;
	min-height: 42px;
	padding: 0 8px;
	font-size: 10.5px;
	letter-spacing: .16em;
}

/* 2 ml sample — full width, image left */
.snk-grid-ed .snk-card.is-sample {
	grid-column: 1 / -1;
	flex-direction: row; align-items: stretch;
	background: var(--navy); color: #fff;
	border-radius: var(--radius-sm);
	overflow: hidden;
}
.snk-grid-ed .is-sample .snk-card__img { width: 42%; flex: none; border-radius: 0; aspect-ratio: 4 / 5; }
.snk-grid-ed .is-sample .snk-card__body { padding: 18px 16px; justify-content: center; }
.snk-grid-ed .is-sample .snk-card__tag { display: block; min-height: 0; font-size: 12.5px; margin: 2px 0 4px; }
.snk-grid-ed .is-sample .snk-card__kicker { color: #9fb4c6; }
.snk-grid-ed .is-sample .snk-btn { margin-top: 6px; }
.snk-grid-ed .is-sample .snk-btn--dark { background: #fff; color: var(--ink); }
.snk-grid-ed .is-sample .snk-card__badge { background: var(--navy); color: #fff; }

.snk-ed-note {
	margin: 26px var(--gutter) 0;
	padding-top: 16px;
	border-top: 1px solid var(--hair);
	font-size: 12.5px; line-height: 1.6; color: var(--slate);
}
.snk-swipe-hint { display: none; }

/* ---------- Offer ---------- */
.snk-poster { border-radius: var(--radius-sm); box-shadow: none; }

/* ---------- Ritual: hairline list, no glass ---------- */
.snk-ritual { padding: 96px 0 84px; }
.snk-steps { gap: 0; margin-top: 8px; }
.snk-step {
	grid-template-columns: 44px 1fr;
	gap: 12px;
	padding: 20px 0;
	border: 0; border-top: 1px solid var(--hair-light);
	border-radius: 0;
	background: none;
	-webkit-backdrop-filter: none; backdrop-filter: none;
}
.snk-step:last-child { border-bottom: 1px solid var(--hair-light); }
.snk-step__n { font-size: 26px; color: #9fb4c6; padding-top: 2px; }
.snk-step h3 { font-family: var(--serif); font-size: 22px; font-weight: 500; line-height: 1.15; margin-bottom: 6px; }
.snk-step p { font-size: 14px; }
.snk-moment { margin-bottom: 26px; }

/* ---------- Promises: hairline grid ---------- */
.snk-promises { gap: 0; padding: 72px var(--gutter); }
.snk-promise {
	background: none; box-shadow: none; border-radius: 0;
	padding: 22px 14px 22px 0;
	border-top: 1px solid var(--hair);
}
.snk-promise:nth-child(even) { padding-left: 14px; padding-right: 0; border-left: 1px solid var(--hair); }
.snk-promise__icon { width: auto; height: auto; background: none; justify-content: start; margin-bottom: 8px; }
.snk-promise__icon svg { width: 22px; height: 22px; stroke-width: 1.3; }
.snk-promise h3 { font-family: var(--serif); font-size: 19px; font-weight: 500; line-height: 1.2; }

/* ---------- Final CTA ---------- */
.snk-final__card { border-radius: var(--radius-sm); }

/* ---------- Dock: flush tab bar ---------- */
.snk-dock {
	left: 0; right: 0; bottom: 0;
	height: calc(var(--dock-h) + var(--safe-b));
	padding: 0 6px var(--safe-b);
	border-radius: 0;
	background: rgba(246, 249, 251, .94);
	box-shadow: 0 -1px 0 var(--hair);
}
.snk-dock a { font-size: 9.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; gap: 5px; }
.snk-dock svg { width: 21px; height: 21px; stroke-width: 1.4; }
.snk-dock__shop svg { background: none; color: inherit; width: 21px; height: 21px; padding: 0; border-radius: 0; }
body.is-dark-dock .snk-dock { background: rgba(15, 29, 44, .94); box-shadow: 0 -1px 0 var(--hair-light); }
body.is-dark-dock .snk-dock__shop svg { background: none; color: inherit; }
.snk-dock.is-hidden { transform: translateY(100%); }

/* ---------- Product page / bag touches ---------- */
.snk-trust li { border-radius: var(--radius-sm); }
.snk-card__badge { border-radius: 0; }

/* ==========================================================================
   Tablets (touch, wider than a phone): keep the phone layout, centred
   ========================================================================== */
@media (min-width: 640px) {
	body { background: #e4ebf0; }
	.snk-main, .snk-page, .snk-footer, .snk-top, .snk-dock, .snk-menu-panel {
		max-width: 560px;
		margin-left: auto; margin-right: auto;
	}
	.snk-main, .snk-page { background: var(--ice); }
	.snk-top, .snk-dock { left: 0; right: 0; }
	.snk-page { padding-left: var(--gutter); padding-right: var(--gutter); }
}

/* ==========================================================================
   Product page refinements
   ========================================================================== */
.snk-range { color: var(--steel); margin: 0 4px; }

/* Size picker: two per row, sample full width — no sideways scrolling */
.snk-sizes {
	grid-auto-flow: row; grid-auto-columns: auto;
	grid-template-columns: 1fr 1fr;
	gap: 18px 12px;
	overflow: visible;
	margin: 0; padding: 4px 0 0;
}
.snk-size {
	border-radius: 0; background: transparent; box-shadow: none;
	padding: 0; gap: 3px;
}
.snk-size__img { border-radius: var(--radius-sm); margin-bottom: 10px; }
.snk-size__ml, .snk-size__name, .snk-size__price, .snk-size__cta { padding: 0 2px; }
.snk-size__ml { font-size: 26px; }
.snk-size__name { font-size: 11px; letter-spacing: .04em; }
.snk-size__price { font-weight: 500; }
.snk-size__cta {
	margin-top: 10px; width: 100%;
	padding: 11px 0; text-align: center;
	border: 1px solid rgba(13, 24, 36, .22);
	color: var(--ink); font-size: 10px;
}
.snk-size.is-sample {
	grid-column: 1 / -1;
	grid-template-columns: 38% 1fr; column-gap: 16px; align-items: center;
	background: var(--navy); border-radius: var(--radius-sm); overflow: hidden;
	padding: 0 16px 0 0;
}
.snk-size.is-sample .snk-size__img { grid-row: 1 / span 4; margin: 0; border-radius: 0; height: 100%; }
.snk-size.is-sample .snk-size__cta { border-color: rgba(255, 255, 255, .35); color: #fff; }

/* Sticky buy bar: flush, quiet */
.snk-buybar {
	left: 0; right: 0; bottom: 0;
	padding: 10px var(--gutter) calc(10px + var(--safe-b));
	border-radius: 0;
	background: rgba(246, 249, 251, .96);
	box-shadow: 0 -1px 0 var(--hair);
}
.snk-buybar .snk-btn, .snk-buybar .button { border-radius: 2px !important; }
@media (min-width: 640px) {
	.snk-buybar { max-width: 560px; margin: 0 auto; }
}
