/**
 * The Wicked — CTA Button widget (tw-cta-button).
 * The gold "pill" call-to-action: bronze sheen-shimmer gradient, dot marker,
 * glow shadow, brightness hover. Static; no JS.
 *
 * The sheen is a 1:1 replica of the reference (index.html:451 + :472):
 *   background: linear-gradient(120deg,#a8794b 0%,#e2c093 45%,#a8794b 62%);
 *   background-size: 200% 100%;   background-repeat: repeat;   (default)
 *   animation: sheen 6.5s linear infinite;
 *   @keyframes sheen { to { background-position: -200% 0; } }
 * The tile is 200% wide and REPEATS, so sliding background-position by exactly
 * one tile (-200%) lands on an identical pattern → the loop is seamless. Do NOT
 * set background-repeat:no-repeat — that breaks the seamless slide.
 *
 * Colours/size come from controls (real CSS properties, editor-live). `color`
 * carries the gradient's base stop (currentColor); the label has its own colour,
 * so the two never collide, and both gradient colours stay editor-live.
 */

/* Outer wrapper = alignment row (justify-content set by the align control). */
.tw-cta-button {
	display: flex;
	justify-content: flex-start;
}

.tw-cta {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 44px;
	padding: 0 24px;
	border: 0;
	border-radius: 999px;
	text-decoration: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	color: #a8794b; /* gradient base stop (currentColor) */
	background-color: transparent;
	background-image: linear-gradient(120deg, currentColor 0%, #e2c093 45%, currentColor 62%);
	background-size: 200% 100%;
	background-repeat: repeat;   /* seamless-loop critical — matches reference default */
	background-position: 0% 0%;
	transition: filter .25s ease;
}

/* Inset hairline (reference: `inset 0 0 0 1px rgba(255,255,255,.14)`), kept on a
   pseudo-element so the Box Shadow group control (which owns the glow on .tw-cta)
   can't clobber it. */
.tw-cta::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
	pointer-events: none;
}

.tw-cta__label {
	position: relative;
	font-family: var(--tw-font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1;
	color: #08080a;
	white-space: nowrap;
}

.tw-cta__dot {
	position: relative;
	display: inline-block;
	flex: 0 0 auto;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #08080a;
}

/* Play icon (marker = play) — the "Watch the reel" glyph: a bronze circle with a
   dark triangle at rest. In the Outline→sheen fill this inverts on hover (black
   circle, gold-shimmer triangle) — see the reel block below. */
.tw-cta__play {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: var(--tw-tan, #B18051);
	transition: background-color .3s ease;
}

.tw-cta__play-tri {
	display: block;
	width: 7px;
	height: 9px;
	margin-left: 1px; /* optical centering of the right-pointing triangle */
	/* Solid dark at rest (no background-image). The reel hover swaps in the gold
	   sheen gradient (background-size/repeat set here so it tiles seamlessly). */
	background-color: #08080a;
	background-size: 200% 100%;
	background-repeat: repeat;
	background-position: 0% 0%;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transition: background-color .3s ease;
}

/* Hover — brightness sweep, matching the reference's filter:brightness(1.06). */
.tw-cta:hover,
.tw-cta:focus-visible {
	filter: brightness(1.06);
}

/* shared.css neutralises Hello's pink #c36 <button> fill by setting
   `background:none` on .tw-scope button:hover/focus/active. Our pill is a FILLED
   button, so on the no-link <button> fallback that reset would wipe the gradient.
   Restore it (specificity 0,3,0 beats the reset's 0,2,1). Anchors — the default,
   since Link defaults to #contact — are unaffected by the reset. */
.tw-scope .tw-cta:hover,
.tw-scope .tw-cta:focus,
.tw-scope .tw-cta:focus-visible,
.tw-scope .tw-cta:active {
	background-image: linear-gradient(120deg, currentColor 0%, #e2c093 45%, currentColor 62%);
}

/* Continuous bronze shimmer. Toggled by the Sheen control (.is-sheen);
   animation-duration is overridden by the Sheen duration control. */
.tw-cta.is-sheen {
	animation: tw-cta-sheen 6.5s linear infinite;
}

@keyframes tw-cta-sheen {
	to {
		background-position: -200% 0;
	}
}

/* ==========================================================================
   Fill style: "Outline → sheen on hover" (the reel button).
   prefix_class adds `tw-cta--reel` to the outer .elementor-element wrapper.
   At rest the pill is a transparent outline with a light label + bronze play
   circle; on hover it transforms into the gold CTA — the sheen fills in, the
   label + play icon invert to black, and the play triangle becomes gold
   shimmer. All reel overrides are scoped `.tw-cta--reel .tw-scope .tw-cta…`
   (specificity 0,3,x) so they beat the base + control-generated rules (0,2,x).
   The `.is-sheen` animation keeps running; its background-position sweep is
   simply invisible at rest (no fill) and becomes the shimmer once the fill
   appears on hover — so the Sheen duration control still drives it.
   ⚠️ Hover states are not previewable in the Elementor editor panel.
   ========================================================================== */

/* ---- Rest: transparent outline ---- */
.tw-cta--reel .tw-scope .tw-cta {
	background-image: none;          /* hide the fill (overrides the highlight control) */
	background-color: transparent;
	border: 1px solid var(--tw-line2, rgba(255, 255, 255, .16));
	box-shadow: none;               /* no glow at rest (overrides the Box Shadow control) */
	transition: border-color .35s ease, box-shadow .35s ease, filter .25s ease;
}

.tw-cta--reel .tw-scope .tw-cta::after {
	opacity: 0;                     /* hide the inset hairline until the fill appears */
	transition: opacity .35s ease;
}

.tw-cta--reel .tw-scope .tw-cta__label {
	color: var(--tw-ink, #f6f4f0);  /* light label at rest */
	transition: color .3s ease;
}

/* ---- Hover: becomes the gold CTA ---- */
.tw-cta--reel .tw-scope .tw-cta:hover,
.tw-cta--reel .tw-scope .tw-cta:focus-visible {
	background-image: linear-gradient(120deg, currentColor 0%, #e2c093 45%, currentColor 62%);
	border-color: transparent;
	box-shadow: 0 8px 30px -10px rgba(177, 128, 81, .65);
	filter: none;                   /* don't stack brightness on the outline hover */
}

.tw-cta--reel .tw-scope .tw-cta:hover::after,
.tw-cta--reel .tw-scope .tw-cta:focus-visible::after {
	opacity: 1;
}

.tw-cta--reel .tw-scope .tw-cta:hover .tw-cta__label,
.tw-cta--reel .tw-scope .tw-cta:focus-visible .tw-cta__label {
	color: #08080a;                 /* invert label to black */
}

/* Play icon inversion: black circle, gold-shimmer triangle. */
.tw-cta--reel .tw-scope .tw-cta:hover .tw-cta__play,
.tw-cta--reel .tw-scope .tw-cta:focus-visible .tw-cta__play {
	background-color: #08080a;
}

.tw-cta--reel .tw-scope .tw-cta:hover .tw-cta__play-tri,
.tw-cta--reel .tw-scope .tw-cta:focus-visible .tw-cta__play-tri {
	background-color: transparent;
	background-image: linear-gradient(120deg, currentColor 0%, #e2c093 45%, currentColor 62%);
}

/* Shimmer the triangle in sync with the pill while hovered (reuses the sheen
   keyframe; currentColor = the pill's base colour, so it stays themeable). */
.tw-cta--reel .tw-scope .tw-cta.is-sheen:hover .tw-cta__play-tri,
.tw-cta--reel .tw-scope .tw-cta.is-sheen:focus-visible .tw-cta__play-tri {
	animation: tw-cta-sheen 6.5s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
	.tw-cta.is-sheen,
	.tw-cta__play-tri {
		animation: none;
	}
	.tw-cta {
		transition: none;
	}
}
