/**
 * Layali Checkout — front-end styles.
 *
 * Everything a merchant can change is a custom property set on the wrapper, so
 * this file is identical on every store and stays cacheable.
 *
 * The checkout is drawn inside somebody else's theme. Three rules keep it
 * looking the same on all of them:
 *   1. layout the theme or WooCommerce gives the classic checkout (grids,
 *      floats, cards on #customer_details / #order_review / #payment) is
 *      switched off inside the wrapper, with `!important` — see "isolation";
 *   2. everything that is ours is styled by a selector that starts at the
 *      wrapper, and where WooCommerce styles by id (#payment) so do we;
 *   3. typography and brand colour a theme forces with `!important` are left
 *      alone: that is the store's own look, and the Elementor widget's style
 *      controls (which are `!important` too, and more specific) still win.
 */

.lyco {
	--lyco-font: inherit;
	--lyco-gap: 28px;
	--lyco-row: 16px;
	--lyco-pad: 20px;
	--lyco-radius-sm: var(--lyco-radius, 8px);
	--lyco-soft: color-mix(in srgb, var(--lyco-border, #e2e5ea) 38%, var(--lyco-surface, #fff));
	--lyco-error: #c0392b;

	box-sizing: border-box;
	max-width: var(--lyco-max-width, 1120px);
	margin: 0 auto;
	padding: 0 16px 64px;
	color: var(--lyco-text, inherit);
	font-family: var(--lyco-font);
	font-size: var(--lyco-font-size, 15px);
	line-height: 1.5;
	text-align: start;
	-webkit-text-size-adjust: 100%;
}

.lyco *,
.lyco *::before,
.lyco *::after { box-sizing: inherit; }

/* inside an Elementor widget the column already gives the gutter */
.elementor-widget .lyco { padding: 0; }
.lyco.lyco-checkout { padding-top: 24px; }
.elementor-widget-lyco-checkout-form .lyco.lyco-checkout { padding-top: 0; }

.lyco [hidden] { display: none !important; }
.lyco img { max-width: 100%; height: auto; }
.lyco a { color: var(--lyco-accent, #111); }

/* Headings are labels here, not page titles: themes and Elementor kits size
   and colour them by tag. */
.lyco h1, .lyco h2, .lyco h3, .lyco h4 {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	color: inherit;
	font-family: inherit;
	letter-spacing: 0;
	text-transform: none;
}

/* Our own buttons start from nothing; a kit's global button colour would
   otherwise paint every one of them. `:where()` keeps this as weak as two
   classes: enough to beat a kit's `.elementor-kit-1 button`, while each
   button's own rule below still wins. */
.lyco.lyco :where(button:not(#place_order):not(.button):not(.lyco-btn)) {
	min-height: 0;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: inherit;
	font: inherit;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
}
.lyco.lyco :where(button:not(#place_order):not(.button):not(.lyco-btn)):hover,
.lyco.lyco :where(button:not(#place_order):not(.button):not(.lyco-btn)):focus { background: none; color: inherit; }

/* ---------- brand, title, step header ---------- */

.lyco-brand { padding: 28px 0 20px; text-align: center; }
.lyco .lyco-brand__link { color: inherit; font-size: 1.15em; font-weight: 600; letter-spacing: 0.01em; text-decoration: none; }
.lyco-brand__img { display: inline-block; width: auto; max-height: 46px; }

.lyco .lyco-title { margin: 0 0 var(--lyco-gap); font-size: 1.7em; font-weight: 600; line-height: 1.2; }

.lyco-steps { display: flex; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.lyco-steps__item { flex: 1; margin: 0; padding-top: 10px; border-top: 3px solid var(--lyco-border, #e2e5ea); color: var(--lyco-muted, #6b7280); font-size: 0.86em; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.lyco-steps__item.is-current { border-top-color: var(--lyco-accent, #111); color: var(--lyco-text, inherit); }
.lyco .lyco-steps__num { display: none; }
.lyco .lyco-steps__text,
.lyco .lyco-steps__title { display: block; }
.lyco .lyco-steps__sub { display: block; margin-top: 2px; font-size: .8em; font-weight: 500; letter-spacing: 0; text-transform: none; }

.lyco .lyco-steps--tab { gap: 0; }
.lyco .lyco-steps--tab .lyco-steps__item { display: flex; gap: 12px; align-items: center; justify-content: center; padding: 12px 10px; border-top: 0; border-bottom: 4px solid var(--lyco-border, #e2e5ea); color: var(--lyco-muted, #6b7280); letter-spacing: 0; text-align: center; text-transform: none; cursor: default; }
.lyco .lyco-steps--tab .lyco-steps__item.is-current { border-bottom-color: var(--lyco-accent, #111); color: var(--lyco-text, inherit); }
.lyco .lyco-steps--tab .lyco-steps__item[data-lyco-steplink].is-done { cursor: pointer; }
.lyco .lyco-steps--tab .lyco-steps__num { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 30px; height: 30px; background: var(--lyco-border, #e2e5ea); border-radius: 50%; color: var(--lyco-muted, #6b7280); font-size: 1.1em; font-weight: 700; }
.lyco .lyco-steps--tab .lyco-steps__item:only-child .lyco-steps__num { display: none; }
.lyco .lyco-steps--tab .lyco-steps__item.is-current .lyco-steps__num { background: var(--lyco-accent, #111); color: var(--lyco-accent-text, #fff); }
.lyco .lyco-steps--tab .lyco-steps__title { font-size: 1.2em; font-weight: 500; }

.lyco .lyco-steps--breadcrumb { flex-wrap: wrap; gap: 0; }
.lyco .lyco-steps--breadcrumb .lyco-steps__item { flex: none; padding: 0; border: 0; letter-spacing: 0; text-transform: none; }
.lyco .lyco-steps--breadcrumb .lyco-steps__item + .lyco-steps__item::before { content: '›'; margin: 0 10px; color: var(--lyco-muted, #6b7280); }
.lyco .lyco-steps--breadcrumb .lyco-steps__text,
.lyco .lyco-steps--breadcrumb .lyco-steps__title { display: inline; }

.lyco .lyco-steps--progress { position: relative; gap: 0; }
.lyco .lyco-steps--progress .lyco-steps__item { position: relative; padding: 0; border: 0; text-align: center; letter-spacing: 0; text-transform: none; }
.lyco .lyco-steps--progress .lyco-steps__item::before { content: ''; position: absolute; top: 9px; left: -50%; width: 100%; height: 2px; background: var(--lyco-border, #e2e5ea); }
.lyco .lyco-steps--progress .lyco-steps__item:first-child::before { display: none; }
.lyco .lyco-steps--progress .lyco-steps__num { position: relative; z-index: 1; display: block; width: 20px; height: 20px; margin: 0 auto 8px; overflow: hidden; background: var(--lyco-surface, #fff); border: 2px solid var(--lyco-border, #e2e5ea); border-radius: 50%; color: transparent; }
.lyco .lyco-steps--progress .lyco-steps__item.is-current .lyco-steps__num { background: var(--lyco-accent, #111); border-color: var(--lyco-accent, #111); }

/* ---------- layout ---------- */

.lyco-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--lyco-gap); align-items: start; width: 100%; }
.lyco-col { min-width: 0; }

@media (min-width: 900px) {
	.lyco--two-column .lyco-grid,
	.lyco--multi-step .lyco-grid { grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.95fr); }
	.lyco--summary-left .lyco-grid { grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.35fr); }
	.lyco--summary-left .lyco-col--main { order: 2; }
	.lyco--summary-left .lyco-col--summary { order: 1; }
	.lyco--sticky-summary .lyco-col--summary { position: sticky; top: 24px; }
	/* the form places the summary itself: one column, as wide as it is given */
	.lyco .lyco-grid.lyco-grid--one { grid-template-columns: minmax(0, 1fr); }
}

.lyco-customer { display: block; }

.lyco .lyco-form--steps .lyco-pane { display: none; }
.lyco .lyco-form--steps .lyco-pane.is-current { display: block; }

.lyco .lyco-pane__nav { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin: 16px 0 var(--lyco-gap); }
.lyco .lyco-pane__nav .lyco-btn--next { margin-left: auto; }
.lyco .lyco-pane__nav .lyco-btn--next,
.lyco .lyco-pane__nav .lyco-btn--back { width: auto; min-width: 180px; margin-top: 0; }
@media (max-width: 600px) {
	.lyco .lyco-pane__nav .lyco-btn--next,
	.lyco .lyco-pane__nav .lyco-btn--back { width: 100%; }
}

/* ---------- sections ---------- */

.lyco .lyco-panel {
	margin: 0 0 10px;
	padding: var(--lyco-pad);
	background: var(--lyco-surface, #fff);
	border: 0 solid var(--lyco-border, #e2e5ea);
	border-radius: var(--lyco-radius, 8px);
}

.lyco .lyco-panel__title { margin: 0; font-size: 1.4em; font-weight: 600; line-height: 1.5; }
.lyco .lyco-panel__sub { margin: 0 0 5px; color: var(--lyco-muted, #6b7280); font-size: .95em; font-weight: 500; line-height: 1.5; }
.lyco .lyco-panel__title + .lyco-fields,
.lyco .lyco-panel__sub + .lyco-fields,
.lyco .lyco-panel__title + #payment,
.lyco .lyco-panel__sub + #payment { margin-top: 10px; }
.lyco .lyco-panel--payment > :not(.lyco-panel__title):not(.lyco-panel__sub):not(#payment) { margin-top: 12px; margin-bottom: 12px; }

.lyco .lyco-panel > .lyco-fields { margin-bottom: calc(var(--lyco-row) * -1); }
.lyco .lyco-fields .lyco-shipping,
.lyco .lyco-fields .lyco-switcher,
.lyco .lyco-fields .lyco-summary__table,
.lyco .lyco-fields .lyco-coupon,
.lyco .lyco-fields .lyco-order-total,
.lyco .lyco-fields .lyco-custom-html { margin: 0 0 var(--lyco-row) !important; }
.lyco .lyco-f { display: contents; }
.lyco .lyco-fields .lyco-custom-html:empty { display: none !important; }
.lyco .lyco-f.lyco-cond-hidden,
.lyco .lyco-panel.lyco-cond-hidden { display: none !important; }

/* ---------- field grid ----------
   Widths are flex bases, not floats or inline-blocks: two "half" fields always
   sit side by side with one gap between them, whatever the theme floats. */

.lyco .lyco-fields,
.lyco .lyco-fields .woocommerce-billing-fields__field-wrapper,
.lyco .lyco-fields .woocommerce-shipping-fields__field-wrapper,
.lyco .lyco-fields .woocommerce-additional-fields,
.lyco .lyco-fields .woocommerce-additional-fields__field-wrapper,
.lyco .lyco-fields .lyco-billing-diff,
.lyco .lyco-fields .shipping_address,
.lyco .lyco-fields .create-account { display: flex; flex-wrap: wrap; gap: 0 var(--lyco-row); margin: 0; padding: 0; }

.lyco .lyco-fields > *,
.lyco .lyco-fields .lyco-f > *,
.lyco .lyco-fields .woocommerce-billing-fields,
.lyco .lyco-fields .woocommerce-shipping-fields,
.lyco .lyco-fields .woocommerce-account-fields,
.lyco .lyco-fields .woocommerce-additional-fields,
.lyco .lyco-fields .woocommerce-billing-fields__field-wrapper,
.lyco .lyco-fields .woocommerce-shipping-fields__field-wrapper,
.lyco .lyco-fields .woocommerce-additional-fields__field-wrapper,
.lyco .lyco-fields .lyco-billing-diff,
.lyco .lyco-fields .shipping_address,
.lyco .lyco-fields .form-row {
	flex: 1 1 100%;
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.lyco .form-row { display: block; margin: 0 0 var(--lyco-row); padding: 0; }
.lyco .lyco-fields .form-row[style*="display: none"],
.lyco .form-row.lyco-is-collapsed { display: none !important; }

@media (min-width: 560px) {
	.lyco .lyco-fields .form-row.lyco-w-half,
	.lyco .lyco-fields .form-row.form-row-first,
	.lyco .lyco-fields .form-row.form-row-last { flex: 0 0 calc(50% - var(--lyco-row) / 2); }
	.lyco .lyco-fields .form-row.lyco-w-third { flex: 0 0 calc(33.333% - var(--lyco-row) * 2 / 3); }
	.lyco .lyco-fields .form-row.lyco-w-two-third { flex: 0 0 calc(66.666% - var(--lyco-row) / 3); }
	.lyco .lyco-fields .form-row.lyco-w-full { flex: 1 1 100%; }
}

.lyco .woocommerce-billing-fields > h3 { display: none; }
.lyco .woocommerce-shipping-fields > h3,
.lyco .woocommerce-additional-fields > h3 { flex: 1 1 100%; margin: 6px 0 12px; font-size: 1em; font-weight: 600; line-height: 1.3; }

/* ---------- controls ---------- */

.lyco .form-row > label,
.lyco .lyco-login__box label { display: block; margin: 0 0 6px; padding: 0; color: var(--lyco-muted, #6b7280); font-size: .93em; font-weight: 500; line-height: 1.35; }
.lyco .form-row .required { color: var(--lyco-error); text-decoration: none; border: 0; }
.lyco .form-row .optional { font-weight: 400; }
.lyco .woocommerce-input-wrapper { display: block; width: 100%; }

.lyco .lyco-input,
.lyco .input-text,
.lyco select,
.lyco textarea {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	box-shadow: none;
	color: inherit;
	font: inherit;
	font-size: 16px; /* anything smaller makes iOS zoom the page on focus */
	line-height: 1.4;
	outline: 0;
	transition: border-color .12s, box-shadow .12s;
}

/* The box itself is `!important`: themes force their own on checkout inputs,
   which leaves the fields they did not think of (select2, ours) looking like a
   different form. One box for every field; the widget's style controls are
   more specific and still change it. */
.lyco .lyco-input,
.lyco .input-text,
.lyco select,
.lyco textarea,
.lyco .select2-container .select2-selection--single {
	min-height: var(--lyco-field-h, 48px) !important;
	padding: 10px 16px !important;
	background-color: var(--lyco-surface, #fff) !important;
	border: 1px solid var(--lyco-border, #e2e5ea) !important;
	border-radius: var(--lyco-radius-sm) !important;
}

.lyco textarea { min-height: 96px !important; padding: 12px 16px !important; resize: vertical; }

.lyco select {
	padding-right: 40px !important;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236b7280' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 12px 7px !important;
	cursor: pointer;
}
[dir="rtl"] .lyco select { padding-right: 16px !important; padding-left: 40px !important; background-position: left 16px center !important; }

.lyco .lyco-input::placeholder,
.lyco .input-text::placeholder,
.lyco textarea::placeholder { color: var(--lyco-muted, #6b7280); opacity: .75; }

.lyco .lyco-input:focus,
.lyco .input-text:focus,
.lyco select:focus,
.lyco textarea:focus,
.lyco .select2-container--focus .select2-selection--single,
.lyco .select2-container--open .select2-selection--single {
	border-color: var(--lyco-accent, #111) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--lyco-accent, #111) 18%, transparent);
	outline: 0;
}

.lyco input[type="checkbox"],
.lyco input[type="radio"] { flex: none; width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--lyco-accent, #111); cursor: pointer; }

.lyco.lyco .form-row label.checkbox,
.lyco.lyco .form-row label.woocommerce-form__label-for-checkbox,
.lyco .lyco-multi__opt { display: flex; gap: 10px; align-items: center; margin: 0; color: inherit; font-size: 1em; font-weight: 400; cursor: pointer; }

/* select2 wears the same box as every other field */
.lyco .select2-container { display: block; width: 100% !important; }
.lyco .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: auto;
	margin: 0;
	padding: 0 40px 0 16px !important;
	outline: 0;
}
.lyco .select2-container .select2-selection--single .select2-selection__rendered { flex: 1; min-width: 0; padding: 0; color: inherit; font-size: 16px; line-height: 1.4; }
.lyco .select2-container .select2-selection--single .select2-selection__arrow { top: 0; right: 12px; width: 20px; height: 100%; }
.lyco .select2-container .select2-selection--single .select2-selection__arrow b { width: 8px; height: 8px; margin: -6px 0 0 -4px; border: solid var(--lyco-muted, #6b7280); border-width: 0 1.6px 1.6px 0; transform: rotate(45deg); }
[dir="rtl"] .lyco .select2-container .select2-selection--single { padding: 0 16px 0 40px !important; }
[dir="rtl"] .lyco .select2-container .select2-selection--single .select2-selection__arrow { right: auto; left: 12px; }

/* validation */
.lyco .form-row.woocommerce-invalid .input-text,
.lyco .form-row.woocommerce-invalid select,
.lyco .form-row.woocommerce-invalid .select2-selection--single,
.lyco .form-row.lyco-invalid .input-text { border-color: var(--lyco-error) !important; }
.lyco .lyco-field-error,
.lyco .checkout-inline-error-message { display: block; margin: 5px 0 0; color: var(--lyco-error); font-size: .85em; line-height: 1.35; }

.lyco .lyco-add-field { display: block; flex: 1 1 100%; margin: 0 0 12px; color: var(--lyco-accent, #111); font-size: .92em; text-align: start; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- label positions ---------- */

/* Inside: the label is the placeholder; keep it for screen readers only. */
.lyco--labels-placeholder .lyco-fields .form-row > label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lyco--labels-placeholder .lyco-fields .form-row.lyco-custom-field--radio > label,
.lyco--labels-placeholder .lyco-fields .form-row.lyco-custom-field--multiselect > label,
.lyco--labels-placeholder .lyco-fields .form-row.lyco-custom-field--file > label { position: static; width: auto; height: auto; clip: auto; white-space: normal; }

/* Floating: the label sits in the field and rises when there is something in it. */
.lyco--labels-floating .lyco-fields { --lyco-fh: max(var(--lyco-field-h, 48px), 53px); }
.lyco--labels-floating .lyco-fields .form-row.lyco-float .input-text,
.lyco--labels-floating .lyco-fields .form-row.lyco-float select,
.lyco--labels-floating .lyco-fields .form-row.lyco-float .select2-selection--single { min-height: var(--lyco-fh) !important; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float { position: relative; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float > label { position: absolute; top: calc(var(--lyco-fh, 53px) / 2); left: 17px; z-index: 2; max-width: calc(100% - 34px); margin: 0; overflow: hidden; color: var(--lyco-muted, #6b7280); font-size: 1em; font-weight: 500; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; transform: translateY(-50%); transition: top .12s, font-size .12s; }
[dir="rtl"] .lyco--labels-floating .lyco-fields .form-row.lyco-float > label { right: 17px; left: auto; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float.lyco-floated > label,
.lyco--labels-floating .lyco-fields .form-row.lyco-float:focus-within > label { top: 13px; font-size: .75em; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float input.input-text,
.lyco--labels-floating .lyco-fields .form-row.lyco-float select,
.lyco--labels-floating .lyco-fields .form-row.lyco-float textarea { padding-top: 22px !important; padding-bottom: 6px !important; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float .select2-selection--single { padding-top: 16px !important; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float input::placeholder,
.lyco--labels-floating .lyco-fields .form-row.lyco-float textarea::placeholder { color: transparent; }
.lyco--labels-floating .lyco-fields .form-row.lyco-float:focus-within input::placeholder { color: var(--lyco-muted, #6b7280); }
.lyco--labels-floating .lyco-fields .form-row.lyco-float:has(.lyco-has-dial) > label { left: 104px; }
[dir="rtl"] .lyco--labels-floating .lyco-fields .form-row.lyco-float:has(.lyco-has-dial) > label { right: 104px; left: auto; }

/* Inside: FunnelKit's "inside" label. It rests in the middle of an empty field
   at full size, on its own background, and rises small to the top corner once
   the field is in use; the text stays where it was. */
.lyco--labels-inside .lyco-fields .form-row.lyco-float { position: relative; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float input.input-text,
.lyco--labels-inside .lyco-fields .form-row.lyco-float select { padding-top: 16px !important; padding-bottom: 16px !important; line-height: 1 !important; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float textarea { padding-top: 24px !important; padding-bottom: 24px !important; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float > label { position: absolute; top: calc(var(--lyco-field-h, 48px) / 2); right: 14px; left: 12px; z-index: 2; margin: 0; overflow: hidden; background: var(--lyco-label-bg, transparent); line-height: 1 !important; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; transform: translateY(-50%); }
.lyco--labels-inside .lyco-fields .form-row.lyco-float.lyco-floated > label,
.lyco--labels-inside .lyco-fields .form-row.lyco-float:focus-within > label,
.lyco--labels-inside .lyco-fields .form-row.lyco-float:has(textarea) > label { top: 6px; right: auto; background: none; font-size: 12px !important; transform: none; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float > label .required,
.lyco--labels-inside .lyco-fields .form-row.lyco-float > label .optional { font-size: inherit; line-height: inherit; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float input::placeholder,
.lyco--labels-inside .lyco-fields .form-row.lyco-float textarea::placeholder { opacity: 0; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float:focus-within input::placeholder,
.lyco--labels-inside .lyco-fields .form-row.lyco-float:focus-within textarea::placeholder { opacity: 1; }
.lyco--labels-inside .lyco-fields .form-row.lyco-float:has(.lyco-has-dial) > label { left: 104px; }
[dir="rtl"] .lyco--labels-inside .lyco-fields .form-row.lyco-float > label { right: 12px; left: 12px; }
[dir="rtl"] .lyco--labels-inside .lyco-fields .form-row.lyco-float.lyco-floated > label,
[dir="rtl"] .lyco--labels-inside .lyco-fields .form-row.lyco-float:focus-within > label { left: auto; }
[dir="rtl"] .lyco--labels-inside .lyco-fields .form-row.lyco-float:has(.lyco-has-dial) > label { right: 104px; left: auto; }

/* ---------- buttons ---------- */

.lyco .lyco-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--lyco-field-h, 48px);
	margin: 0;
	padding: 0 22px;
	background: var(--lyco-btn-bg, #111);
	border: 1px solid transparent;
	border-radius: var(--lyco-radius-sm);
	box-shadow: none;
	color: var(--lyco-btn-text, #fff);
	font: inherit;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
}
.lyco .lyco-btn:hover,
.lyco .lyco-btn:focus { background: var(--lyco-btn-hover, #000); color: var(--lyco-btn-text, #fff); }
.lyco .lyco-btn[disabled],
.lyco .lyco-btn.is-busy { opacity: 0.6; cursor: progress; }
.lyco .lyco-btn--ghost { background: transparent; border-color: var(--lyco-border, #e2e5ea); color: var(--lyco-text, inherit); }
.lyco .lyco-btn--ghost:hover,
.lyco .lyco-btn--ghost:focus { background: transparent; border-color: var(--lyco-accent, #111); color: var(--lyco-text, inherit); }
.lyco .lyco-btn--next,
.lyco .lyco-btn--back { width: 100%; margin-top: 18px; }
.lyco .lyco-btn--back { background: transparent; border-color: transparent; color: var(--lyco-muted, #6b7280); font-weight: 500; }
.lyco .lyco-btn--back:hover,
.lyco .lyco-btn--back:focus { background: transparent; color: var(--lyco-text, inherit); }

.lyco .lyco-link { color: var(--lyco-muted, #6b7280); text-decoration: underline; }

.lyco .lyco-notice { padding: 20px; background: var(--lyco-surface, #fff); border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius, 8px); text-align: center; }

.lyco .lyco-trust { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 14px 0 0; color: var(--lyco-muted, #6b7280); font-size: 0.88em; }
.lyco-trust__icon { flex: none; }

/* ---------- shipping methods ---------- */

.lyco .lyco-shipping { flex: 1 1 100%; width: 100%; }
.lyco .lyco-shipping__table { display: block; width: 100%; margin: 0; background: none; border: 0; border-collapse: collapse; }
.lyco .lyco-shipping__table tbody,
.lyco .lyco-shipping__table tr,
.lyco .lyco-shipping__table td { display: block; width: 100%; margin: 0; padding: 0; background: none; border: 0; }
.lyco .lyco-shipping__table th { display: none; }
.lyco .lyco-shipping__table ul#shipping_method,
.lyco .lyco-shipping__table ul { margin: 0; padding: 0; overflow: hidden; list-style: none; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius-sm); }
.lyco .lyco-shipping__table ul li { display: flex; gap: 10px; align-items: center; margin: 0; padding: 13px 14px; text-indent: 0; line-height: 1.4; }
.lyco .lyco-shipping__table ul li + li { border-top: 1px solid var(--lyco-border, #e2e5ea); }
.lyco .lyco-shipping__table ul li label { display: flex; flex: 1; gap: 12px; align-items: baseline; justify-content: space-between; margin: 0; padding: 0; color: inherit; font-size: 1em; font-weight: 500; cursor: pointer; }
.lyco .lyco-ship__price { flex: none; font-weight: 500; white-space: nowrap; }
.lyco .lyco-shipping__table .woocommerce-shipping-destination,
.lyco .lyco-shipping__table .woocommerce-shipping-calculator { display: none; }
.lyco .lyco-shipping__none { margin: 0; padding: 13px 14px; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius-sm); color: var(--lyco-muted, #6b7280); font-size: .95em; }

/* ---------- order summary ---------- */

.lyco .lyco-summary { padding: var(--lyco-pad) 0 0 4px; background: none; border: 0; }
.lyco .lyco-summary__head { display: flex; gap: 10px; align-items: center; }
.lyco .lyco-summary__title { margin: 0; font-size: 1.2em; font-weight: 600; line-height: 1.5; }
.lyco .lyco-summary .lyco-summary__toggle,
.lyco .lyco-summary__total { display: none; }
.lyco .lyco-summary__body { margin-top: 12px; }

@media (max-width: 899px) {
	.lyco .lyco-summary { padding: 0; }
	.lyco--mobile-top .lyco-col--summary,
	.lyco--mobile-collapsible .lyco-col--summary { order: -1; }
	/* the bar: "Show order summary ⌄ ............ total" */
	.lyco--mobile-collapsible .lyco-summary { margin: 0 -16px; background: #f7f7f7; border: solid #ddd; border-width: 1px 0; color: #323232; }
	.lyco--mobile-collapsible .lyco-summary__head { padding: 16px; }
	.lyco--mobile-collapsible .lyco-summary__title { display: none; }
	.lyco--mobile-collapsible .lyco-summary .lyco-summary__toggle { display: inline-flex; gap: 8px; align-items: center; color: inherit; font-size: .95em; }
	.lyco--mobile-collapsible .lyco-summary__total { display: block; margin-inline-start: auto; font-size: 1.1em; font-weight: 600; }
	.lyco--mobile-collapsible .lyco-summary__chev { transition: transform .15s; }
	.lyco--mobile-collapsible .lyco-summary.is-open .lyco-summary__chev { transform: rotate(180deg); }
	.lyco--mobile-collapsible .lyco-summary__body { display: none; margin: 0; padding: 0 16px 16px; }
	.lyco--mobile-collapsible .lyco-summary.is-open .lyco-summary__body { display: block; }
	.lyco--mobile-collapsible .lyco-grid { gap: 16px; }
}

/* WooCommerce's order table.
   Laid out as rows of flex items, not as a table: a table sizes its columns
   from their contents, and a product cell holding a picture beside a name
   that may wrap anywhere has no sensible minimum — in a narrow column the
   name ended up one letter wide. */
.lyco table.woocommerce-checkout-review-order-table,
.lyco table.woocommerce-checkout-review-order-table tbody,
.lyco table.woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; margin: 0; padding: 0; background: none; border: 0; border-radius: 0; font-size: 1em; }
.lyco table.woocommerce-checkout-review-order-table thead { display: none; }
.lyco table.woocommerce-checkout-review-order-table tr { display: flex; gap: 14px; align-items: flex-start; justify-content: space-between; width: 100%; margin: 0; padding: 0; background: none; border: 0; }
.lyco table.woocommerce-checkout-review-order-table th,
.lyco table.woocommerce-checkout-review-order-table td { display: block; flex: 0 1 auto; width: auto; min-width: 0; padding: 5px 0; background: none; border: 0; color: inherit; font-size: 1em; font-weight: 400; line-height: 1.5; text-align: start; }
.lyco table.woocommerce-checkout-review-order-table td:last-child,
.lyco table.woocommerce-checkout-review-order-table .product-total { margin-inline-start: auto; text-align: end; }
.lyco table.woocommerce-checkout-review-order-table .product-total,
.lyco table.woocommerce-checkout-review-order-table .cart-subtotal td,
.lyco table.woocommerce-checkout-review-order-table .order-total td { flex: none; white-space: nowrap; }
.lyco table.woocommerce-checkout-review-order-table tr.cart_item { align-items: center; }
.lyco table.woocommerce-checkout-review-order-table tbody td { padding: 10px 0; }
.lyco table.woocommerce-checkout-review-order-table td.product-name { display: flex; flex: 1 1 auto; gap: 14px; align-items: center; margin: 0; font-weight: 500; text-align: start; }
.lyco table.woocommerce-checkout-review-order-table td.product-name .product-quantity { flex: none; font-weight: 400; white-space: nowrap; }
.lyco table.woocommerce-checkout-review-order-table td.product-name { flex-wrap: wrap; row-gap: 2px; }
.lyco table.woocommerce-checkout-review-order-table td.product-name .lyco-summary__name { flex: 1 1 0; }
/* a line's notes ("You saved…", variation details) sit under its name */
.lyco table.woocommerce-checkout-review-order-table td.product-name dl.variation { flex: 1 1 100%; margin: 0; padding-inline-start: 64px; color: var(--lyco-muted, #6b7280); font-size: .88em; font-weight: 400; }
.lyco table.woocommerce-checkout-review-order-table td.product-name dl.variation dt,
.lyco table.woocommerce-checkout-review-order-table td.product-name dl.variation dd,
.lyco table.woocommerce-checkout-review-order-table td.product-name dl.variation p { display: inline; margin: 0; padding: 0; float: none; }
.lyco table.woocommerce-checkout-review-order-table tfoot { margin-top: 6px; padding-top: 11px; border-top: 1px solid var(--lyco-border, #e2e5ea); }
.lyco table.woocommerce-checkout-review-order-table tfoot tr.order-total { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--lyco-border, #e2e5ea); }
.lyco table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.lyco table.woocommerce-checkout-review-order-table tfoot tr.order-total td { padding: 6px 0; font-size: 1.35em; font-weight: 600; line-height: 1.3; }
.lyco table.woocommerce-checkout-review-order-table tfoot tr.order-total strong { font-weight: 600; }
.lyco table.woocommerce-checkout-review-order-table .cart-discount td { color: #1f8a4c; }
.lyco table.woocommerce-checkout-review-order-table .woocommerce-remove-coupon { margin-inline-start: 6px; font-size: .85em; }
.lyco table.woocommerce-checkout-review-order-table .includes_tax,
.lyco .lyco-mc__totals .includes_tax { display: block; color: var(--lyco-muted, #6b7280); font-size: .6em; font-weight: 400; }
/* rows that are one cell wide: a bump inside the summary, the saving line */
.lyco table.woocommerce-checkout-review-order-table tr > td[colspan] { flex: 1 1 100%; margin: 0; }

.lyco .lyco-summary__name { flex: 1 1 auto; min-width: 0; overflow-wrap: break-word; }
.lyco .lyco-summary__thumb { position: relative; display: block; flex: none; width: 50px; height: 50px; margin: 0; overflow: visible; background: #fff; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: 6px; }
.lyco .lyco-summary__thumb img { display: block; width: 100%; height: 100%; margin: 0; border: 0; border-radius: 5px; object-fit: cover; }
.lyco .lyco-summary__thumb i { position: absolute; top: -9px; right: -9px; min-width: 20px; height: 20px; padding: 0 5px; background: #82838e; border-radius: 10px; color: #fff; font-size: 11px; font-style: normal; font-weight: 600; line-height: 20px; text-align: center; }
.lyco .lyco-summary__stock { display: block; margin-top: 3px; color: #e15334; font-size: .8em; font-weight: 600; letter-spacing: .02em; }
.lyco .lyco-was { margin-inline-end: 4px; color: #e15334; font-weight: 400; }
.lyco .lyco-now { text-decoration: none; }
.lyco .lyco-saving td,
.lyco table.woocommerce-checkout-review-order-table tr.lyco-saving td { padding-top: 10px; color: #09b29c; font-size: .92em; font-weight: 500; text-align: end; border: 0; }
.lyco .lyco-order-total { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; font-size: 1.35em; font-weight: 600; }
.lyco .lyco-order-total strong { font-weight: 600; }

.lyco table.woocommerce-checkout-review-order-table tr.lyco-summary-bump > td { flex: 1 1 100%; padding: 4px 0; }
.lyco-summary-bump .lyco-bump { margin: 10px 0; }

/* quantity stepper + remove */
.lyco .lyco-line { display: inline-flex; gap: 8px; align-items: center; margin-top: 6px; }
.lyco .lyco-line.is-busy { opacity: .5; pointer-events: none; }
.lyco .lyco-qty { display: inline-flex; align-items: stretch; height: 26px; overflow: hidden; background: #fff; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: 5px; }
.lyco .lyco-qty .lyco-qty__btn { width: 24px; color: inherit; font-size: 14px; line-height: 1; }
.lyco .lyco-qty .lyco-qty__btn:hover,
.lyco .lyco-qty .lyco-qty__btn:focus { background: var(--lyco-soft); color: inherit; }
.lyco .lyco-qty .lyco-qty__input { display: block; width: 34px; min-height: 0 !important; height: auto; padding: 0 !important; background: none !important; border: 0 !important; border-inline: 1px solid var(--lyco-border, #e2e5ea) !important; border-radius: 0 !important; box-shadow: none; color: inherit; font-size: 12px; text-align: center; -moz-appearance: textfield; appearance: textfield; }
.lyco .lyco-qty__input::-webkit-outer-spin-button,
.lyco .lyco-qty__input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.lyco .lyco-line .lyco-line__remove { width: 22px; height: 22px; border: 1px solid currentColor; border-radius: 50%; color: var(--lyco-muted, #6b7280); font-size: 14px; line-height: 1; opacity: .7; }
.lyco .lyco-line .lyco-line__remove:hover { color: #b42318; opacity: 1; }

/* items + totals block shared by mini cart and collapsible summary */
.lyco .lyco-mc__items { margin: 0; padding: 0; list-style: none; }
.lyco .lyco-mc__item { display: flex; gap: 14px; align-items: center; margin: 0; padding: 10px 0; }
.lyco .lyco-mc__name { flex: 1 1 auto; min-width: 0; font-weight: 500; overflow-wrap: break-word; }
.lyco .lyco-mc__name .lyco-line { display: flex; margin-top: 6px; }
.lyco .lyco-mc__name .lyco-line__remove { margin-inline-start: auto; }
.lyco .lyco-mc__name dl.variation { margin: 2px 0 0; color: var(--lyco-muted, #6b7280); font-size: .88em; font-weight: 400; }
.lyco .lyco-mc__name dl.variation dt,
.lyco .lyco-mc__name dl.variation dd,
.lyco .lyco-mc__name dl.variation p { display: inline; margin: 0; padding: 0; float: none; }
.lyco .lyco-mc__price { flex: none; align-self: flex-start; font-weight: 500; white-space: nowrap; }
.lyco table.lyco-mc__totals { width: 100%; margin: 10px 0 0; background: none; border: 0; border-top: 1px solid var(--lyco-border, #e2e5ea); border-collapse: separate; border-spacing: 0; }
.lyco table.lyco-mc__totals th,
.lyco table.lyco-mc__totals td { padding: 5px 0; background: none; border: 0; color: inherit; font-size: 1em; font-weight: 400; text-align: start; vertical-align: top; }
.lyco table.lyco-mc__totals td { text-align: end; }
.lyco table.lyco-mc__totals tr:first-child th,
.lyco table.lyco-mc__totals tr:first-child td { padding-top: 16px; }
.lyco table.lyco-mc__totals tr.order-total th,
.lyco table.lyco-mc__totals tr.order-total td { padding: 16px 0 6px; font-size: 1.35em; font-weight: 600; line-height: 1.3; background: linear-gradient(var(--lyco-border, #e2e5ea), var(--lyco-border, #e2e5ea)) 0 8px / 100% 1px no-repeat; }
.lyco table.lyco-mc__totals tr.order-total strong { font-weight: 600; }
.lyco table.lyco-mc__totals .cart-discount td { color: #1f8a4c; }
.lyco table.lyco-mc__totals .woocommerce-remove-coupon { margin-inline-start: 6px; font-size: .85em; }

.lyco.lyco-minicart { max-width: none; padding: 0; color: var(--lyco-text, inherit); font-size: var(--lyco-font-size, 15px); }
.lyco .lyco-minicart__title { margin: 0 0 12px; font-size: 1.2em; font-weight: 600; line-height: 1.5; }
.lyco.lyco-minicart .lyco-coupon { margin: 14px 0 4px; }

/* collapsible summary bar: small screens only */
.lyco .lyco-collapsible { display: none; margin: 0 0 16px; }
.lyco .lyco-collapsible.lyco-collapsible--all { display: block; }
@media (max-width: 991px) {
	.lyco .lyco-collapsible { display: block; }
	/* the bar replaces the side summary, which would otherwise show twice */
	.lyco .lyco-collapsible ~ .lyco-grid .lyco-col--summary { display: none; }
}
.lyco .lyco-collapsible .lyco-collapsible__bar,
.lyco .lyco-collapsible .lyco-collapsible__bar:hover,
.lyco .lyco-collapsible .lyco-collapsible__bar:focus { display: flex; gap: 10px; align-items: center; width: 100%; padding: 16px 24px; background: #f7f7f7; border: 1px solid #ddd; border-radius: 0; color: #323232; font-size: .95em; text-align: start; }
.lyco .lyco-collapsible__chev { transition: transform .15s; }
.lyco .lyco-collapsible.is-open .lyco-collapsible__chev { transform: rotate(180deg); }
.lyco .lyco-collapsible__total { margin-inline-start: auto; font-size: 1.1em; font-weight: 600; }
.lyco .lyco-collapsible__body { padding: 8px 24px 20px; background: #f7f7f7; border: 1px solid #ddd; border-top: 0; }

/* ---------- coupon ---------- */

.lyco .lyco-coupon { margin-top: 16px; }
.lyco .lyco-coupon .lyco-coupon__trigger { color: var(--lyco-accent, #111); text-decoration: underline; text-underline-offset: 2px; }
.lyco .lyco-coupon--link .lyco-coupon__form { display: none; }
.lyco .lyco-coupon--link.is-open .lyco-coupon__form { display: flex; }
.lyco .lyco-coupon__form { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.lyco .lyco-coupon--open .lyco-coupon__form { margin-top: 0; }
.lyco .lyco-coupon__form .lyco-input { flex: 1 1 140px; width: auto; }
.lyco .lyco-coupon__form .lyco-btn { flex: 0 0 auto; min-width: 120px; }
.lyco .lyco-coupon__msg { flex: 1 0 100%; margin: 0; font-size: 0.86em; }
.lyco .lyco-coupon__msg:empty { display: none; }
.lyco .lyco-coupon__msg.is-error { color: var(--lyco-error); }
.lyco .lyco-coupon__msg.is-ok { color: #1f7a4d; }

/* ---------- payment ----------
   WooCommerce styles this box by id, so these do too. */

.lyco.lyco-checkout #payment { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; color: inherit; }
.lyco.lyco-checkout #payment ul.payment_methods { margin: 0; padding: 0; overflow: hidden; list-style: none; background: none; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius-sm); text-align: start; }
.lyco.lyco-checkout #payment ul.payment_methods::before,
.lyco.lyco-checkout #payment ul.payment_methods::after { display: none; }
.lyco.lyco-checkout #payment ul.payment_methods li { display: flex; flex-wrap: wrap; gap: 0 12px; align-items: center; margin: 0; padding: 13px 14px; background: none; border: 0; line-height: 1.5; list-style: none; text-align: start; }
.lyco.lyco-checkout #payment ul.payment_methods li::before,
.lyco.lyco-checkout #payment ul.payment_methods li::after { display: none; }
.lyco.lyco-checkout #payment ul.payment_methods li + li { border-top: 1px solid var(--lyco-border, #e2e5ea); }
.lyco.lyco-checkout #payment ul.payment_methods li input[type="radio"] { flex: none; float: none; width: 18px; height: 18px; margin: 0; }
.lyco.lyco-checkout #payment ul.payment_methods li > label { display: flex; flex: 1; gap: 10px; align-items: center; min-width: 0; margin: 0; padding: 0; background: none; border: 0; color: inherit; font-size: 1em; font-weight: 500; line-height: 1.5; cursor: pointer; }
.lyco.lyco-checkout #payment ul.payment_methods li > label img { float: none; max-height: 24px; width: auto; margin: 0 0 0 auto; padding: 0; }
.lyco.lyco-checkout #payment ul.payment_methods li > label img + img { margin-left: 0; }
.lyco.lyco-checkout #payment ul.payment_methods li > label a { margin-inline-start: auto; font-size: .85em; font-weight: 400; float: none; }
.lyco.lyco-checkout #payment div.payment_box { position: relative; flex: 0 0 calc(100% + 28px); width: calc(100% + 28px); max-width: none; margin: 13px -14px -13px; padding: 14px; background: #fafafa; border: 0; border-top: 1px solid var(--lyco-border, #e2e5ea); border-radius: 0; color: inherit; font-size: .92em; line-height: 1.5; }
.lyco.lyco-checkout #payment div.payment_box::before,
.lyco.lyco-checkout #payment div.payment_box::after { display: none; }
.lyco.lyco-checkout #payment div.payment_box p { margin: 0 0 8px; }
.lyco.lyco-checkout #payment div.payment_box p:last-child { margin-bottom: 0; }
.lyco.lyco-checkout #payment div.payment_box fieldset { margin: 0; padding: 0; background: none; border: 0; }
.lyco.lyco-checkout #payment div.form-row.place-order { display: block; float: none; width: 100%; margin: 16px 0 0; padding: 0; }
.lyco.lyco-checkout #payment .woocommerce-terms-and-conditions-wrapper { margin: 0 0 16px; }
.lyco.lyco-checkout #payment .woocommerce-privacy-policy-text p { margin: 0; color: var(--lyco-muted, #6b7280); font-size: .82em; line-height: 1.5; }
.lyco.lyco-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 12px 0 0; }
.lyco.lyco-checkout .lyco-payment-standin ul.payment_methods { margin: 0; padding: 0; list-style: none; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius-sm); }
.lyco .lyco-payment-standin .payment_box { margin-top: 10px; padding: 12px 14px; background: #fafafa; }

.lyco.lyco-checkout #payment #place_order,
.lyco .place-order .button {
	display: block;
	float: none;
	width: 100%;
	min-height: 58px;
	margin: 0;
	padding: 14px 24px;
	background: var(--lyco-btn-bg, #111);
	border: 0;
	border-radius: var(--lyco-radius-sm);
	box-shadow: none;
	color: var(--lyco-btn-text, #fff);
	font: inherit;
	font-size: 1.12em;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	text-align: center;
	text-transform: none;
	cursor: pointer;
}
.lyco.lyco-checkout #payment #place_order:hover { background: var(--lyco-btn-hover, #000); }
.lyco #place_order .lyco-btn__main { display: inline-flex; gap: 10px; align-items: center; justify-content: center; }
.lyco #place_order .lyco-btn__icon { flex: none; }
.lyco #place_order .lyco-btn__price { margin-inline-start: 2px; }
.lyco #place_order .lyco-btn__sub { display: block; margin-top: 2px; font-size: .72em; font-weight: 500; opacity: .95; }
.lyco .lyco-button-note { margin: 0; padding: 10px; background: #f8f8f8; border-radius: 0; color: #888; font-size: .93em; text-align: center; }

.lyco .blockUI.blockOverlay { background: var(--lyco-surface, #fff) !important; border-radius: var(--lyco-radius, 8px); opacity: .6 !important; }

/* WooCommerce notices printed above the form */
.lyco .woocommerce-NoticeGroup,
.lyco .woocommerce-notices-wrapper { margin: 0 0 12px; }
.lyco .woocommerce-error,
.lyco .woocommerce-message,
.lyco .woocommerce-info { margin: 0 0 12px; padding: 12px 16px; background: #fbe9e9; border: 0; border-radius: var(--lyco-radius-sm); color: #b42318; font-size: .93em; list-style: none; }
.lyco .woocommerce-message { background: #e7f6ee; color: #136c3d; }
.lyco .woocommerce-info { background: var(--lyco-soft); color: inherit; }
.lyco .woocommerce-error::before,
.lyco .woocommerce-message::before,
.lyco .woocommerce-info::before { display: none; }
.lyco .woocommerce-error li { margin: 0; padding: 0; list-style: none; }

/* The site chrome, hidden only when the merchant asked for a bare checkout. */
body.lyco-bare .site-header,
body.lyco-bare .site-footer,
body.lyco-bare header[role="banner"],
body.lyco-bare footer[role="contentinfo"] { display: none; }

/* ---------- isolation ----------
   Themes and WooCommerce lay the classic checkout out themselves: a grid on
   `form.checkout`, floats and card styling on `#customer_details` and
   `#order_review`. Inside our wrapper the layout is ours, so those are switched
   off. `!important` is deliberate: these exist to beat rules we cannot know the
   specificity of. */

.lyco form.checkout.lyco-form {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
	grid-template-columns: none !important;
}

.lyco #customer_details,
.lyco #order_review,
.lyco .woocommerce-billing-fields,
.lyco .woocommerce-shipping-fields,
.lyco .woocommerce-additional-fields,
.lyco .woocommerce-checkout-review-order {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.lyco #customer_details,
.lyco #order_review { display: block !important; position: static !important; }
.lyco #customer_details .col-1,
.lyco #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }

/* ---------- recap, login, phone, express, switcher, custom fields ---------- */

.lyco .lyco-recap { margin: 0 0 10px; background: var(--lyco-surface, #fff); border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius, 8px); }
.lyco .lyco-recap__row { display: grid; grid-template-columns: minmax(90px, 140px) minmax(0, 1fr) auto; gap: 12px; align-items: baseline; padding: 12px 16px; font-size: .92em; }
.lyco .lyco-recap__row + .lyco-recap__row { border-top: 1px solid var(--lyco-border, #e2e5ea); }
.lyco .lyco-recap__label { color: var(--lyco-muted, #6b7280); }
.lyco .lyco-recap__value { overflow-wrap: break-word; }
.lyco .lyco-recap .lyco-recap__change { color: var(--lyco-accent, #111); text-decoration: underline; }

.lyco .lyco-login { margin: 0 0 10px; }
.lyco .lyco-login__prompt { margin: 0; padding: 12px 16px; background: var(--lyco-soft); border-radius: var(--lyco-radius, 8px); font-size: .95em; }
.lyco .lyco-login .lyco-login__open,
.lyco .lyco-nudge .lyco-nudge__login { color: var(--lyco-accent, #111); text-decoration: underline; }
.lyco .lyco-login--inline .lyco-login__box { margin-top: 12px; padding: 20px; background: var(--lyco-surface, #fff); border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius, 8px); }
.lyco .lyco-login--overlay .lyco-login__panel { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 20, 24, .55); }
.lyco .lyco-login--overlay .lyco-login__box { position: relative; width: 100%; max-width: 420px; padding: 28px; background: #fff; border-radius: 12px; box-shadow: 0 24px 60px rgba(0, 0, 0, .3); }
.lyco .lyco-login__title { margin: 0 0 16px; font-size: 1.25em; font-weight: 600; }
.lyco .lyco-login__box .lyco-login__close { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; color: var(--lyco-muted, #6b7280); font-size: 24px; line-height: 1; }
.lyco .lyco-login__row { display: flex; justify-content: space-between; gap: 12px; margin: 0 0 12px; font-size: .9em; }
.lyco .lyco-login__row label { display: inline-flex; gap: 6px; align-items: center; margin: 0; font-weight: 400; }
.lyco .lyco-login__msg { margin: 0 0 10px; color: var(--lyco-error); font-size: .9em; }
.lyco .lyco-login__msg:empty { display: none; }
.lyco .lyco-login__submit { width: 100%; }
.lyco .lyco-nudge { margin: 6px 0 0; padding: 8px 12px; background: #fdf6e9; border-radius: 6px; font-size: .88em; }
html.lyco-login-open { overflow: hidden; }

/* enhanced phone: flag and code inside the field, the real picker laid over them */
.lyco .lyco-has-dial { position: relative; display: block; }
.lyco .lyco-has-dial .lyco-dial { position: absolute; top: 50%; left: 14px; z-index: 1; display: inline-flex; gap: 6px; align-items: center; min-width: 74px; padding-right: 10px; border-right: 1px solid var(--lyco-border, #e2e5ea); color: inherit; font-size: .95em; line-height: 1.6; white-space: nowrap; pointer-events: none; transform: translateY(-50%); }
.lyco .lyco-has-dial .lyco-dial img.emoji { width: 20px !important; height: 20px !important; margin: 0 !important; }
.lyco .lyco-has-dial .lyco-dial::after { content: ''; width: 7px; height: 7px; margin: -4px 0 0 4px; border: solid var(--lyco-muted, #6b7280); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.lyco .lyco-has-dial select.lyco-dial__select { position: absolute; top: 0; left: 0; z-index: 2; width: 96px; height: 100%; min-height: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; opacity: 0; cursor: pointer; }
.lyco .lyco-has-dial input.input-text { padding-left: 104px !important; }
[dir="rtl"] .lyco .lyco-has-dial .lyco-dial { right: 14px; left: auto; padding-right: 0; padding-left: 10px; border-right: 0; border-left: 1px solid var(--lyco-border, #e2e5ea); }
[dir="rtl"] .lyco .lyco-has-dial select.lyco-dial__select { right: 0; left: auto; }
[dir="rtl"] .lyco .lyco-has-dial input.input-text { padding-right: 104px !important; padding-left: 16px !important; }
.lyco .lyco-help { position: absolute; top: 50%; right: 14px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid var(--lyco-muted, #6b7280); border-radius: 50%; color: var(--lyco-muted, #6b7280); font-size: 11px; font-weight: 600; cursor: help; transform: translateY(-50%); }
.lyco .lyco-help:hover::after,
.lyco .lyco-help:focus::after { content: attr(data-tip); position: absolute; right: 0; bottom: calc(100% + 8px); width: max-content; max-width: 240px; padding: 8px 10px; background: #1f2328; border-radius: 6px; color: #fff; font-size: 12px; font-weight: 400; line-height: 1.4; text-align: start; white-space: normal; }

/* express checkout */
.lyco .lyco-express { margin: 0 0 16px; text-align: center; }
.lyco .lyco-express__title { margin: 0 0 10px; color: var(--lyco-muted, #6b7280); font-size: .9em; }
.lyco .lyco-express__buttons { display: grid; gap: 10px; }
.lyco .lyco-express__or { display: flex; gap: 12px; align-items: center; margin: 16px 0 0; color: var(--lyco-muted, #6b7280); font-size: .85em; }
.lyco .lyco-express__or::before,
.lyco .lyco-express__or::after { content: ''; flex: 1; height: 1px; background: var(--lyco-border, #e2e5ea); }

/* product switcher */
.lyco .lyco-switcher { display: grid; flex: 1 1 100%; gap: 10px; }
.lyco .lyco-switcher--empty { padding: 12px 14px; background: #fbe9e9; border-radius: 6px; color: #b42318; font-size: .92em; }
.lyco .lyco-switcher--empty p { margin: 0; }
.lyco .lyco-switcher__row { position: relative; display: flex; gap: 12px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: var(--lyco-radius-sm); }
.lyco .lyco-switcher__row:hover { background: #fbfbfb; }
.lyco .lyco-switcher__row.is-selected { border-color: var(--lyco-accent, #111); background: color-mix(in srgb, var(--lyco-accent, #111) 4%, #fff); }
.lyco .lyco-switcher__row.is-busy { opacity: .55; pointer-events: none; }
.lyco .lyco-switcher__row.is-best { margin-top: 10px; }
.lyco .lyco-switcher__best { position: absolute; top: -10px; left: 14px; padding: 2px 8px; background: var(--lyco-accent, #111); border-radius: 4px; color: var(--lyco-accent-text, #fff); font-size: 11px; font-weight: 600; }
.lyco .lyco-switcher__pick { display: flex; flex: 1; gap: 12px; align-items: center; min-width: 0; margin: 0; cursor: pointer; }
.lyco .lyco-switcher__img { flex: none; width: 44px; height: 44px; overflow: hidden; border: 1px solid var(--lyco-border, #e2e5ea); border-radius: 6px; }
.lyco .lyco-switcher__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lyco .lyco-switcher__name { min-width: 0; font-weight: 500; overflow-wrap: break-word; }
.lyco .lyco-switcher__save { display: block; margin-top: 2px; color: #b22323; font-size: .85em; font-weight: 400; }
.lyco .lyco-switcher__price { flex: none; white-space: nowrap; }
.lyco .lyco-switcher__price del { color: var(--lyco-muted, #6b7280); font-size: .9em; }
.lyco .lyco-switcher__price ins { font-weight: 600; text-decoration: none; }

/* custom field types */
.lyco .lyco-custom-field .woocommerce-input-wrapper { display: block; }
.lyco .lyco-multi { display: grid; gap: 8px; }
.lyco.lyco .form-row .lyco-multi__opt { display: flex; gap: 10px; align-items: center; margin: 0; color: inherit; font-size: 1em; font-weight: 400; cursor: pointer; }
.lyco .lyco-file { display: block; }
.lyco .lyco-file input[type="file"] { display: block; width: 100%; max-width: 100%; font-size: .95em; }
.lyco .lyco-file__status { display: block; margin-top: 5px; font-size: .85em; }
.lyco .lyco-file__status.is-ok { color: #09876f; }
.lyco .lyco-file__status.is-error { color: var(--lyco-error); }
.lyco .lyco-custom-html { flex: 1 1 100%; margin: 0 0 12px; }
.lyco .lyco-custom-html > :last-child { margin-bottom: 0; }
/* a radio group: WooCommerce prints input, label, input, label… in one wrapper */
.lyco.lyco .form-row .woocommerce-input-wrapper:has(> input[type="radio"]) { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 10px; align-items: center; }
.lyco.lyco .form-row .woocommerce-input-wrapper > label.radio { display: block; margin: 0; padding: 0; color: inherit; font-size: 1em; font-weight: 400; cursor: pointer; }
.lyco .form-row .woocommerce-input-wrapper label .optional,
.lyco .form-row .woocommerce-input-wrapper label .required { display: none; }

/* billing address behind "use a different billing address" */
.lyco .lyco-billing-toggle { margin-bottom: var(--lyco-row); }
.lyco .lyco-shipping-always { display: flex !important; }

/* a bump with its own mobile position is printed twice; show one copy */
@media (max-width: 767px) { .lyco-only-desktop { display: none !important; } }
@media (min-width: 768px) { .lyco-only-mobile { display: none !important; } }

/* ---------- order bump ----------
   Each bump sets its own box, border and colours as custom properties on the
   element; anything it leaves unset falls through to the checkout's tokens. */

.lyco-bump {
	--lyco-bump-head-bg: color-mix(in srgb, var(--lyco-bump-border, #e8c766) 28%, transparent);
	--lyco-bump-head-text: var(--lyco-text, currentColor);
	--lyco-bump-price: var(--lyco-text, currentColor);
	--lyco-bump-sale: var(--lyco-muted, #6b7280);

	position: relative;
	margin: 18px 0;
	background: var(--lyco-bump-bg, #fffdf5);
	border: var(--lyco-bump-bw, 2px) var(--lyco-bump-bs, dashed) var(--lyco-bump-border, #e8c766);
	border-radius: var(--lyco-bump-radius, 8px);
	overflow: hidden;
}

.lyco-bump.is-accepted { border-style: solid; }
.lyco-bump.is-busy { opacity: 0.65; pointer-events: none; }

.lyco-bump__badge {
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	padding: 3px 10px;
	background: var(--lyco-bump-accent, #b7791f);
	border-bottom-left-radius: var(--lyco-bump-radius, 8px);
	color: #fff;
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lyco-bump__badge--pill { position: static; display: inline-block; margin: 0 0 8px; padding: 4px 12px; border-radius: 999px; letter-spacing: 0; }
.lyco .lyco-bump .lyco-bump__head,
.lyco .lyco-bump .lyco-bump__check-label { color: var(--lyco-bump-head-text) !important; }
.lyco .lyco-bump .lyco-bump__head-price,
.lyco .lyco-bump .lyco-bump__head-price ins,
.lyco .lyco-bump .lyco-bump__head-price ins * { color: var(--lyco-bump-price) !important; }
.lyco .lyco-bump .lyco-bump__head-price del,
.lyco .lyco-bump .lyco-bump__head-price del * { color: var(--lyco-bump-sale) !important; }
.lyco-bump__check-label { flex: 1; min-width: 0; font-weight: 700; }
.lyco-bump__head-price { flex: none; margin-left: auto; padding-left: 12px; color: var(--lyco-bump-price); font-weight: 400; white-space: nowrap; }
.lyco-bump__head-price del { margin-right: 6px; color: var(--lyco-bump-sale); text-decoration: line-through; }
.lyco-bump__head-price ins { text-decoration: none; }

/* layout_1: a heading bar that is the tick-box */
.lyco-bump__head {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0;
	padding: 12px var(--lyco-bump-pad, 18px);
	background: var(--lyco-bump-head-bg);
	color: var(--lyco-bump-head-text);
	font-weight: 700;
	cursor: pointer;
}

.lyco-bump__input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--lyco-bump-accent, #b7791f);
}

.lyco-bump__arrow {
	flex: none;
	width: 0;
	height: 0;
	border: 7px solid transparent;
	border-left-color: var(--lyco-bump-accent, #b7791f);
	border-right: 0;
	animation: lyco-nudge 1s ease-in-out infinite;
}

@keyframes lyco-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }
@media (prefers-reduced-motion: reduce) { .lyco-bump__arrow { animation: none; } }

.lyco-bump__content {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: var(--lyco-bump-pad, 18px);
}

.lyco-bump--img-right .lyco-bump__media { order: 2; }
.lyco-bump--img-top .lyco-bump__content { flex-direction: column; }
.lyco-bump__media { flex: none; width: var(--lyco-bump-img, 76px); max-width: 100%; }
.lyco-bump__img { display: block; width: 100%; height: auto; border-radius: var(--lyco-radius-sm); }
.lyco-bump__body { flex: 1; min-width: 0; }
.lyco-bump__headline { margin: 0 0 4px; font-weight: 600; }
.lyco-bump__desc { margin: 0 0 6px; color: var(--lyco-bump-text, var(--lyco-muted, #6b7280)); font-size: 0.92em; }
.lyco-bump__desc p { margin: 0 0 8px; }
.lyco-bump__desc > :last-child { margin-bottom: 0; }

.lyco-bump__price { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; margin: 0; }
.lyco-bump__price del { color: var(--lyco-bump-sale); text-decoration: line-through; }
.lyco-bump__price ins { color: var(--lyco-bump-price); font-weight: 700; text-decoration: none; }

.lyco-bump__save {
	padding: 2px 8px;
	background: var(--lyco-bump-accent, #b7791f);
	border-radius: 999px;
	color: #fff;
	font-size: 0.78em;
	font-weight: 700;
}

/* layout_2: the same checkbox, dressed as an Add / Added button */
.lyco-bump__toggle {
	position: relative;
	flex: none;
	align-self: center;
	margin: 0;
	cursor: pointer;
}

.lyco-bump__toggle .lyco-bump__input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }

.lyco-bump__toggle-off,
.lyco-bump__toggle-on {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 84px;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid var(--lyco-bump-accent, #b7791f);
	border-radius: var(--lyco-radius-sm);
	font-weight: 700;
}

.lyco-bump__toggle-off { background: var(--lyco-bump-accent, #b7791f); color: #fff; }
.lyco-bump__toggle-on { display: none; background: transparent; color: var(--lyco-bump-accent, #b7791f); }
.lyco-bump__input:checked ~ .lyco-bump__toggle-off { display: none; }
.lyco-bump__input:checked ~ .lyco-bump__toggle-on { display: inline-flex; }
.lyco-bump__input:focus-visible ~ span { outline: 2px solid var(--lyco-accent, #111); outline-offset: 2px; }

.lyco-bump__status { display: block; padding: 0 var(--lyco-bump-pad, 18px); font-size: 0.86em; }
.lyco-bump__status:not(:empty) { padding-bottom: 10px; }
.lyco-bump__status.is-error { color: #b32d2e; }

/* layout_3 — slim banner: one line, an accent bar down the side, no image */
.lyco-bump--layout_3 { border-left-width: 5px; border-left-style: solid; border-left-color: var(--lyco-bump-accent, #b7791f); }
.lyco-bump--layout_3 .lyco-bump__head { background: transparent; padding-bottom: 4px; }
.lyco-bump--layout_3 .lyco-bump__media { display: none; }
.lyco-bump--layout_3 .lyco-bump__content { padding-top: 0; padding-left: calc(var(--lyco-bump-pad, 18px) + 30px); }

/* layout_4 — product card: picture on top, everything centred, Add button */
.lyco-bump--layout_4 .lyco-bump__content { flex-direction: column; align-items: center; text-align: center; }
.lyco-bump--layout_4 .lyco-bump__media { width: min(var(--lyco-bump-img, 76px) * 2, 100%); }
.lyco-bump--layout_4 .lyco-bump__price { justify-content: center; }
.lyco-bump--layout_4 .lyco-bump__toggle { align-self: stretch; }
.lyco-bump--layout_4 .lyco-bump__toggle-off,
.lyco-bump--layout_4 .lyco-bump__toggle-on { width: 100%; }

/* layout_5 — outline: quiet, thin solid border, price pushed to the right */
.lyco-bump--layout_5 { --lyco-bump-bs: solid; --lyco-bump-bw: 1px; background: transparent; }
.lyco-bump--layout_5 .lyco-bump__head { background: transparent; border-bottom: 1px solid var(--lyco-bump-border, #e8c766); }
.lyco-bump--layout_5 .lyco-bump__body { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 14px; }
.lyco-bump--layout_5 .lyco-bump__desc { grid-column: 1; }
.lyco-bump--layout_5 .lyco-bump__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; flex-direction: column; align-items: flex-end; gap: 2px; }

/* layout_6 — highlight: the heading bar is a solid block of the accent colour */
.lyco-bump--layout_6 { --lyco-bump-bs: solid; }
.lyco-bump--layout_6 .lyco-bump__head { background: var(--lyco-bump-head-bg, var(--lyco-bump-accent, #b7791f)); color: #fff; }
.lyco-bump--layout_6:not([style*="--lyco-bump-head-bg"]) .lyco-bump__head { background: var(--lyco-bump-accent, #b7791f); }
.lyco-bump--layout_6[style*="--lyco-bump-head-text"] .lyco-bump__head { color: var(--lyco-bump-head-text); }
.lyco-bump--layout_6 .lyco-bump__input { accent-color: #fff; }


/* ---------- post-purchase upsell ---------- */

.lyco-upsell { max-width: 720px; }

.lyco-upsell__head {
	padding: 36px 0 24px;
	text-align: center;
}

.lyco-upsell__confirmed {
	margin: 0 0 10px;
	color: var(--lyco-muted, #6b7280);
	font-size: 0.86em;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lyco-upsell__title {
	margin: 0 0 10px;
	font-size: 1.8em;
	line-height: 1.2;
}

.lyco-upsell__sub {
	margin: 0;
	color: var(--lyco-muted, #6b7280);
}

.lyco-offer {
	position: relative;
	margin: 0 0 20px;
	padding: 24px;
	background: var(--lyco-surface, #fff);
	border: 1px solid var(--lyco-border, #e2e5ea);
	border-radius: var(--lyco-radius, 8px);
	text-align: center;
}

.lyco-offer__badge {
	display: inline-block;
	margin-bottom: 14px;
	padding: 4px 12px;
	background: var(--lyco-bump-accent, #b7791f);
	border-radius: 999px;
	color: #fff;
	font-size: 0.76em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lyco-offer__media {
	margin: 0 auto 18px;
	max-width: 280px;
}

.lyco-offer__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--lyco-radius-sm);
}

.lyco-offer__title {
	margin: 0 0 10px;
	font-size: 1.25em;
}

.lyco-offer__desc {
	margin: 0 0 14px;
	color: var(--lyco-muted, #6b7280);
}

.lyco-offer__items { margin: 0 0 14px; padding: 0; list-style: none; color: var(--lyco-muted, #6b7280); }
.lyco-offer__items li { margin: 0 0 4px; }

.lyco-offer__price {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: baseline;
	justify-content: center;
	margin: 0 0 20px;
	font-size: 1.1em;
}

.lyco-offer__price del { color: var(--lyco-muted, #6b7280); }
.lyco-offer__price ins { font-weight: 700; text-decoration: none; }

.lyco-offer__save {
	padding: 2px 10px;
	background: var(--lyco-bump-accent, #b7791f);
	border-radius: 999px;
	color: #fff;
	font-size: 0.8em;
	font-weight: 700;
}

.lyco-offer__qty { display: flex; gap: 10px; align-items: center; justify-content: center; margin: 0 0 16px; }
.lyco-offer__qty select { width: auto; min-width: 72px; }

.lyco-offer__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}

.lyco-offer__actions .lyco-btn { width: 100%; }

.lyco-offer__status {
	margin: 12px 0 0;
	font-size: 0.88em;
	min-height: 1.2em;
}

.lyco-offer__status.is-error { color: #b32d2e; }

.lyco-upsell__skip {
	margin: 8px 0 0;
	text-align: center;
}

.lyco-upsell__skip a { color: var(--lyco-muted, #6b7280); }


/* =====================================================================
   Thank-you page
   ===================================================================== */

.lyco-ty { box-sizing: border-box; color: var(--lyco-text, inherit); font-size: 15px; line-height: 1.5; }
.lyco-ty *, .lyco-ty *::before, .lyco-ty *::after { box-sizing: border-box; }
.lyco-ty .lyco-ty__heading { margin: 0 0 18px; font-size: 1.3em; font-weight: 600; line-height: 1.25; }
.lyco-ty .lyco-ty__subheading { margin: 22px 0 10px; font-size: 1.05em; font-weight: 600; }
.lyco-ty .lyco-ty__label { margin: 0 0 4px; font-size: .95em; font-weight: 600; }

.lyco-ty-order__items { margin: 0; padding: 0; list-style: none; }
.lyco-ty-order__item { display: flex; gap: 14px; align-items: center; margin: 0; padding: 12px 0; border-bottom: 1px solid #e6e6e8; }
.lyco-ty-order__item:first-child { padding-top: 0; }
.lyco-ty-order__thumb { position: relative; flex: none; width: 56px; height: 56px; border: 1px solid #e6e6e8; border-radius: 8px; background: #fff; }
.lyco-ty-order__thumb img { display: block; width: 100%; height: 100%; border-radius: 7px; object-fit: cover; }
.lyco-ty-order__thumb i { position: absolute; top: -8px; right: -8px; min-width: 20px; height: 20px; padding: 0 5px; background: #6b7280; border-radius: 10px; color: #fff; font-size: 11px; font-style: normal; font-weight: 600; line-height: 20px; text-align: center; }
.lyco-ty-order__name { flex: 1; min-width: 0; overflow-wrap: break-word; }
.lyco-ty-order__name .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; color: #6b7280; font-size: .88em; }
.lyco-ty-order__name .wc-item-meta li { margin: 0; }
.lyco-ty-order__name .wc-item-meta p { display: inline; margin: 0; }
.lyco-ty-order__qty { color: #6b7280; white-space: nowrap; }
.lyco-ty-order__price { flex: none; font-weight: 500; white-space: nowrap; }

.lyco-ty-order__totals { width: 100%; margin: 6px 0 0; border: 0; border-collapse: collapse; background: none; }
.lyco-ty-order__totals th,
.lyco-ty-order__totals td { padding: 8px 0; background: none; border: 0; font-weight: 400; text-align: left; vertical-align: top; }
.lyco-ty-order__totals td { text-align: right; }
.lyco-ty-order__total--order_total th,
.lyco-ty-order__total--order_total td { padding-top: 14px; border-top: 1px solid #e6e6e8; font-size: 1.15em; font-weight: 600; }
.lyco-ty-order__totals small { display: block; color: #6b7280; font-weight: 400; }

.lyco-ty-order__downloads ul { margin: 0; padding: 0; list-style: none; }
.lyco-ty-order__downloads li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 8px 0; }
.lyco-ty-order__file { display: inline-block; padding: 6px 14px; background: var(--lyco-btn-bg, #111); border-radius: 6px; color: var(--lyco-btn-text, #fff); font-size: .9em; text-decoration: none; }
.lyco-ty-order__extras { margin-top: 18px; }
.lyco-ty-order__extras:empty { display: none; }

.lyco-ty-customer__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.lyco-ty-customer--full .lyco-ty-customer__grid { grid-template-columns: minmax(0, 1fr); }
.lyco-ty-customer__cell p,
.lyco-ty-customer__cell address { margin: 0; color: #4a4a52; font-style: normal; line-height: 1.55; overflow-wrap: break-word; }
@media (max-width: 520px) {
	.lyco-ty-customer__grid { grid-template-columns: minmax(0, 1fr); }
}

/* the all-in-one shortcode page */
.lyco-ty--page { max-width: 980px; margin: 0 auto; padding: 32px 16px 56px; }
.lyco-ty__hero { margin: 0 0 32px; text-align: center; }
.lyco-ty__tick { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 14px; background: #dcf2ed; border-radius: 50%; color: #09b29c; }
.lyco-ty .lyco-ty__title { margin: 0 0 8px; font-size: 2em; font-weight: 600; line-height: 1.15; }
.lyco-ty__lead { margin: 0; color: #4a4a52; font-size: 1.05em; }
.lyco-ty__cols { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.lyco-ty--page .lyco-ty-order,
.lyco-ty--page .lyco-ty-customer { padding: 26px; background: #fff; border: 1px solid #e6e6e8; border-radius: 12px; }
.lyco-ty--page .lyco-ty-customer--2c .lyco-ty-customer__grid { grid-template-columns: minmax(0, 1fr); }
.lyco-ty--none { max-width: 560px; margin: 48px auto; padding: 24px; border: 1px solid #e6e6e8; border-radius: 12px; text-align: center; }
@media (max-width: 760px) {
	.lyco-ty__cols { grid-template-columns: minmax(0, 1fr); }
}
/* themes and Elementor kits size headings by tag; these are labels, not titles */
.lyco-ty h2.lyco-ty__heading { margin: 0 0 18px; font-size: 1.3em; line-height: 1.25; }
.lyco-ty h3.lyco-ty__label,
.lyco-ty h3.lyco-ty__subheading { margin: 0 0 4px; font-size: .95em; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.lyco-ty h3.lyco-ty__subheading { margin: 22px 0 10px; font-size: 1.05em; }


/* ---------- small screens ---------- */
@media (max-width: 560px) {
	/* the bump's badge gets a line of its own instead of covering the label */
	.lyco-bump:has(> .lyco-bump__badge) .lyco-bump__head { padding-top: 30px; }
	.lyco #place_order .lyco-btn__main { flex-wrap: wrap; row-gap: 2px; }
}
@media (max-width: 991px) {
	/* the summary bar at the top of the form already holds the cart; the Mini
	   Cart widget under the form would only repeat it */
	body:has(.lyco-collapsible) .elementor-widget-lyco-mini-cart { display: none; }
}

/* =====================================================================
   Offer parts — an offer page laid out widget by widget
   ===================================================================== */

.lyco-offer-part { text-align: inherit; }
.lyco-offer-part .lyco-offer__status { margin: 8px 0 0; font-size: .9em; text-align: center; }
.lyco-offer-part .lyco-offer__status:empty { display: none; }
.lyco-offer-part .lyco-offer__status.is-error { color: #c0392b; }

/* the button: title and subtitle stacked, icon beside the title */
.lyco-offer-part .elementor-button.lyco-offer-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; }
.elementor-align-justify .lyco-offer-part .elementor-button.lyco-offer-btn { display: flex; width: 100%; }
.lyco-offer-btn__line { display: inline-flex; gap: 8px; align-items: center; justify-content: center; }
.lyco-offer-btn__icon { display: inline-flex; flex: none; }
.lyco-offer-btn__icon svg { width: 1em; height: 1em; fill: currentColor; }
.lyco-offer-btn__sub { display: block; margin-top: 4px; font-size: 15px; font-weight: 400; line-height: 1.3; }
.lyco-offer-part .is-busy { opacity: .6; pointer-events: none; }

.lyco-offer-part .lyco-offer-link { display: inline-block; color: inherit; font-size: 16px; text-decoration: none; cursor: pointer; }
.lyco-offer-part .lyco-offer-link--decline { text-decoration: underline; text-underline-offset: 2px; }

.lyco-offer-title { margin: 0; }

.lyco-price { --lyco-price-gap: 8px; line-height: 1.4; }
.lyco-price__reg,
.lyco-price__offer { display: inline-block; }
.lyco-price__reg { margin-inline-end: var(--lyco-price-gap); }
.lyco-price .lyco-price__reg[hidden] { display: none !important; }
.lyco-price__was { opacity: .7; }
.lyco-price__now { font-weight: 600; text-decoration: none; }
.lyco-price-stacked-yes .lyco-price__reg,
.lyco-price-stacked-yes .lyco-price__offer { display: block; margin-inline-end: 0; }
.lyco-price-stacked-yes .lyco-price__reg { margin-bottom: var(--lyco-price-gap); }

.lyco-offer-desc > :first-child { margin-top: 0; }
.lyco-offer-desc > :last-child { margin-bottom: 0; }

.lyco-gallery__main { margin-bottom: 5px; }
.lyco-gallery__main img { display: inline-block; max-width: 100%; height: auto; }

/* The pictures as a slider: one row that scrolls sideways and snaps to each
   picture, so a finger or a trackpad moves it without any script. Selectors
   carry two classes on purpose — a site's Elementor kit styles every bare
   <button>, and the arrows and thumbnails must not take its colours. */
.lyco-gallery--slider .lyco-gallery__main { position: relative; }
.lyco-gallery__track { position: relative; display: flex; align-items: center; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.lyco-gallery__track::-webkit-scrollbar { display: none; }
.lyco-gallery__track:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lyco-gallery__slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: center; scroll-snap-stop: always; }

.lyco-gallery .lyco-gallery__nav { position: absolute; z-index: 2; top: 50%; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-height: 0; margin: 0; padding: 0; transform: translateY(-50%); border: 0; border-radius: 999px; background: rgba(255, 255, 255, .94); box-shadow: 0 4px 12px rgba(0, 0, 0, .14); color: #1c1412; cursor: pointer; line-height: 0; transition: transform .15s ease, background-color .15s ease; }
.lyco-gallery .lyco-gallery__nav:hover,
.lyco-gallery .lyco-gallery__nav:focus { background: #fff; color: #1c1412; transform: translateY(-50%) scale(1.06); }
.lyco-gallery .lyco-gallery__nav:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.lyco-gallery .lyco-gallery__nav svg { display: block; width: 50%; height: 50%; }
.lyco-gallery .lyco-gallery__nav--prev { inset-inline-start: 10px; }
.lyco-gallery .lyco-gallery__nav--next { inset-inline-end: 10px; }
[dir="rtl"] .lyco-gallery .lyco-gallery__nav svg { transform: scaleX(-1); }

.lyco-gallery__thumbs { position: relative; display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.lyco-gallery__thumbs::-webkit-scrollbar { display: none; }
.lyco-gallery .lyco-gallery__thumb { flex: 0 0 calc(20% - 4px); max-width: 84px; min-height: 0; margin: 0; padding: 0; overflow: hidden; background: none; border: 1px solid transparent; border-radius: 0; box-shadow: none; opacity: .6; cursor: pointer; line-height: 0; transition: opacity .15s ease; }
.lyco-gallery .lyco-gallery__thumb:first-child { margin-inline-start: auto; }
.lyco-gallery .lyco-gallery__thumb:last-child { margin-inline-end: auto; }
.lyco-gallery .lyco-gallery__thumb:hover,
.lyco-gallery .lyco-gallery__thumb:focus { background: none; opacity: 1; }
.lyco-gallery .lyco-gallery__thumb.is-current { border-color: currentColor; opacity: 1; }
.lyco-gallery__thumb img { display: block; width: 100%; height: auto; }

@media (prefers-reduced-motion: reduce) {
	.lyco-gallery .lyco-gallery__nav,
	.lyco-gallery .lyco-gallery__thumb { transition: none; }
}

.lyco-offer-qty,
.lyco-variations { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.lyco-variations-block-yes .lyco-variations { display: grid; justify-items: start; }
.lyco-variations[style*="center"],
.elementor-widget-lyco-offer-variation .lyco-variations { justify-content: inherit; }
.lyco-offer-qty label,
.lyco-variations label { margin: 0; font-weight: 500; }
.lyco-offer-qty select,
.lyco-variations select { width: auto; min-width: 88px; max-width: 100%; min-height: 44px; padding: 8px 36px 8px 12px; background-color: #fff; border: 1px solid #d5d8dc; border-radius: 6px; color: inherit; font: inherit; }
.lyco-variations select { min-width: 220px; }

.lyco-part-empty { padding: 14px 16px; border: 1px dashed #c3c4c7; border-radius: 6px; color: #50575e; font-size: 13px; text-align: center; }

/* In the editor only: which product an accept button adds. Laid over the
   button's top edge so the design does not move. */
.lyco-offer-part--wired { position: relative; }
.lyco-part-wired { position: absolute; z-index: 2; top: -9px; inset-inline-start: 8px; max-width: calc(100% - 16px); padding: 2px 8px; overflow: hidden; border-radius: 999px; background: #53225e; box-shadow: 0 0 0 2px #fff; color: #fff; font: 600 10px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; text-overflow: ellipsis; text-transform: none; white-space: nowrap; pointer-events: none; }
.lyco-part-wired.is-all { background: #ff7477; }

/* ---------- the cart's own lines in "Your Products", and variation pickers ---------- */
.lyco .lyco-switcher--cart { gap: 0; }
.lyco .lyco-cartrows__head { display: grid; grid-template-columns: minmax(0, 1fr) 110px 90px; gap: 12px; padding: 0 14px 10px; color: var(--lyco-muted, #6b7280); font-size: .93em; }
.lyco .lyco-cartrows__head span:nth-child(2) { text-align: center; }
.lyco .lyco-cartrows__head span:last-child { text-align: end; }
.lyco .lyco-switcher--cart .lyco-switcher__row { margin-top: -1px; border-radius: 0; background: var(--lyco-surface, #fff); border-color: var(--lyco-border, #e2e5ea); }
.lyco .lyco-switcher--cart .lyco-switcher__name { flex: 1 1 auto; }
.lyco .lyco-switcher--cart .lyco-line { flex: none; margin: 0; }
.lyco .lyco-switcher--cart .lyco-switcher__price { min-width: 78px; text-align: end; }
.lyco .lyco-varswitch { display: block; margin-top: 4px; font-weight: 400; }
.lyco .lyco-varswitch .lyco-varswitch__open,
.lyco .lyco-bump .lyco-bump__varopen { color: var(--lyco-bump-link, #e15334); font-size: .93em; text-decoration: none; cursor: pointer; }
.lyco .lyco-bump .lyco-bump__varopen { padding: 0; background: none; border: 0; font: inherit; }
.lyco .lyco-varswitch .lyco-varswitch__open:hover,
.lyco .lyco-bump .lyco-bump__varopen:hover { text-decoration: underline; }
.lyco .lyco-varswitch__box,
.lyco .lyco-bump__varbox { display: block; margin-top: 6px; }
.lyco .lyco-bump__variation { margin: 6px 0 0; }
.lyco select.lyco-varselect { width: auto; max-width: 100%; min-height: 40px !important; padding: 6px 36px 6px 12px !important; font-size: 14px; }
@media (max-width: 560px) {
	.lyco .lyco-cartrows__head { display: none; }
	.lyco .lyco-switcher--cart .lyco-switcher__row { flex-wrap: wrap; }
	.lyco .lyco-switcher--cart .lyco-switcher__name { flex: 1 1 100%; }
}

/* ---------- order button pinned to the foot of a small screen ---------- */
@media (max-width: 767px) {
	.lyco.lyco--sticky-place-mobile #place_order { position: fixed; z-index: 9990; right: 0; bottom: 0; left: 0; width: 100% !important; margin: 0 !important; border-radius: 0 !important; }
	.lyco.lyco--sticky-place-mobile { padding-bottom: 72px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.lyco.lyco--sticky-place-tablet #place_order { position: fixed; z-index: 9990; right: 0; bottom: 0; left: 0; width: 100% !important; margin: 0 !important; border-radius: 0 !important; }
	.lyco.lyco--sticky-place-tablet { padding-bottom: 72px; }
}

/* ---------- bump: sizes and arrow colour carried from the design ---------- */
.lyco .lyco-bump .lyco-bump__head { font-size: var(--lyco-bump-head-size, inherit); }
.lyco .lyco-bump .lyco-bump__desc { font-size: var(--lyco-bump-text-size, .92em); }
.lyco .lyco-bump .lyco-bump__head-price, .lyco .lyco-bump .lyco-bump__price { font-size: var(--lyco-bump-price-size, inherit); }
.lyco .lyco-bump .lyco-bump__arrow { border-left-color: var(--lyco-bump-arrow, var(--lyco-bump-accent, #b7791f)); }
.lyco .lyco-bump .lyco-bump__varopen, .lyco .lyco-bump .lyco-bump__variation a { color: var(--lyco-bump-link, inherit); }
.lyco .lyco-bump--img-border .lyco-bump__media { padding: 4px; border: 1px solid var(--lyco-bump-img-border, #ececec); border-radius: 8px; }

/* The pointing arrow: a small one ahead of the tick-box, as the reference draws it. */
.lyco .lyco-bump .lyco-bump__arrow { flex: none; width: auto; height: auto; border: 0; line-height: 1; }
.lyco .lyco-bump .lyco-bump__arrow::before { content: "\279C"; color: var(--lyco-bump-arrow, var(--lyco-bump-accent, #b7791f)); font-size: 15px; font-weight: 700; }

/* layout_8: the offer first, its tick-box bar underneath */
.lyco .lyco-bump--layout_8 { display: flex; flex-direction: column; }
.lyco .lyco-bump--layout_8 .lyco-bump__content { order: 1; }
.lyco .lyco-bump--layout_8 .lyco-bump__head { order: 2; border-top: var(--lyco-bump-bw, 2px) var(--lyco-bump-bs, dashed) var(--lyco-bump-border, #e8c766); }
.lyco .lyco-bump--layout_8 .lyco-bump__status { order: 3; }

/* thank-you: downloads and subscriptions */
.lyco-ty-order__downloads li { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.lyco-ty-order__file-name { flex: 1 1 200px; }
.lyco-ty-order__file, .lyco-ty-order__sub-view { display: inline-block; padding: 6px 14px; border-radius: 6px; text-decoration: none; }
.lyco-ty-order__subs table { width: 100%; border-collapse: collapse; }
.lyco-ty-order__subs th, .lyco-ty-order__subs td { padding: 8px 0; text-align: start; }

/* offer parts: stacked quantity, subscription figures */
.lyco-qty-stacked-yes .lyco-offer-qty { display: grid; justify-items: start; }
.lyco-price__sub { display: block; margin-top: 4px; }

/* order bump: "show me another offer" */
.lyco .lyco-bump__swap,
.lyco-bump .lyco-bump__swap { display: inline-flex; gap: 6px; align-items: center; margin: 0 var(--lyco-bump-pad, 18px) 12px; padding: 0; min-height: 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--lyco-bump-link, inherit); font: inherit; font-size: .88em; font-weight: 500; line-height: 1.4; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.lyco .lyco-bump__swap:hover,
.lyco-bump .lyco-bump__swap:hover { background: none; color: var(--lyco-bump-link, inherit); opacity: .75; }
.lyco-bump .lyco-bump__swap svg { flex: none; }
.lyco-bump.is-accepted .lyco-bump__swap { display: none; }
@keyframes lyco-bump-turned { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.lyco-bump.is-turned { animation: lyco-bump-turned .25s ease-out; }
@media (prefers-reduced-motion: reduce) { .lyco-bump.is-turned { animation: none; } }

/* upsell: "show me another offer" */
.lyco-offer-part .lyco-offer-link--another { text-decoration: underline; text-underline-offset: 2px; }
.lyco-offer-part .is-busy, .lyco-link--another.is-busy { opacity: .6; pointer-events: none; }

/* order bump: how many the offer adds, on the corner of its picture */
.lyco-bump__media { position: relative; }
.lyco-bump__qty { position: absolute; top: -8px; right: -8px; min-width: 24px; height: 24px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: #1c1412; color: #fff; font-size: 12px; font-weight: 600; line-height: 1; box-shadow: 0 0 0 2px #fff; }
[dir="rtl"] .lyco-bump__qty { right: auto; left: -8px; }

/* ---------- FunnelKit look ----------
   For a page brought over from FunnelKit: the shipping list, tick boxes,
   quantity buttons, order summary and payment box drawn the way a FunnelKit
   checkout draws them, so customers see the same checkout after the move.
   Colours and type still come from the widget's style controls. */

.lyco.lyco--skin-funnelkit { --lyco-muted: #737373 !important; --lyco-fk-line: #ddd; -webkit-font-smoothing: subpixel-antialiased; text-rendering: optimizeLegibility; }
.lyco.lyco--skin-funnelkit .lyco-panel__title,
.lyco.lyco--skin-funnelkit .lyco-panel__sub { letter-spacing: -.02em; }

/* a section's last field keeps its gap below, as in FunnelKit */
.lyco.lyco--skin-funnelkit .lyco-panel > .lyco-fields { margin-bottom: 0; }
.lyco.lyco--skin-funnelkit .lyco-fields .lyco-summary__table { margin-bottom: 0 !important; }

/* tick box: a plain square with FunnelKit's blue tick */
.lyco.lyco--skin-funnelkit .form-row input[type="checkbox"] { position: relative; width: 16px !important; height: 16px !important; min-height: 0 !important; padding: 0 !important; -webkit-appearance: none; appearance: none; background: #fff; border: 1px solid #b4b9be; border-radius: 2px; }
.lyco.lyco--skin-funnelkit .form-row input[type="checkbox"]:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='8.9 0.3 10.3 8'%3E%3Cpath fill='%231e8cbe' d='M12.6 8.1l-3.7-3.8 1-1.1 2.7 2.7 5.5-5.4 1 1z'/%3E%3C/svg%3E") !important; background-position: center !important; background-repeat: no-repeat !important; background-size: 12px 9px !important; }
.lyco.lyco--skin-funnelkit .form-row label.checkbox,
.lyco.lyco--skin-funnelkit .form-row label.woocommerce-form__label-for-checkbox { gap: 9px; font-size: 14px !important; line-height: 1.2; }

/* shipping: a heading, then the methods boxed in thin grey lines, the name in
   the left 60% of a row and the price in the rest */
.lyco.lyco--skin-funnelkit .lyco-shipping__label { margin: 0 0 8px; font-size: 14px; font-weight: 400; line-height: 1.5; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul#shipping_method,
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul { border-color: var(--lyco-fk-line); border-radius: 4px; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul li { display: grid; grid-template-columns: 16px calc(60% - 25px) minmax(0, 1fr); gap: 0 9px; align-items: start; padding: 11px; font-size: 14px; font-weight: 500; line-height: 1.5; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul li + li { border-top-color: var(--lyco-fk-line); }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul li label { display: contents; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table .lyco-ship__name { font-weight: 400; line-height: 20px; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table .lyco-ship__price { font-weight: 500; text-align: end; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul li input[type="radio"] { width: 16px; height: 16px; margin: 2px 0 0; -webkit-appearance: none; appearance: none; background: #fff; border: 1px solid #b4b9be; border-radius: 50%; }
.lyco.lyco--skin-funnelkit .lyco-shipping__table ul li input[type="radio"]:checked { background: radial-gradient(circle, #1e8cbe 0 3px, #fff 3.5px); }
.lyco.lyco--skin-funnelkit .lyco-shipping__none { padding: 11px; border-color: var(--lyco-fk-line); border-radius: 4px; font-size: 14px; }

/* "Your Products": white rows, dark text, a small grey stepper */
.lyco.lyco--skin-funnelkit .lyco-cartrows__head { grid-template-columns: minmax(0, 1fr) 75px 85px; gap: 10px; padding: 0 10px 26px; color: #737373; font-size: 14px; line-height: 1.5; }
.lyco.lyco--skin-funnelkit .lyco-switcher__row { padding: 10px; color: #4d4c4f; font-size: 14px; line-height: 1.5; }
.lyco.lyco--skin-funnelkit .lyco-switcher--cart .lyco-switcher__row { border-color: #c9c9c9; }
.lyco.lyco--skin-funnelkit .lyco-switcher__name { color: #4d4c4f; font-size: 14px; }
.lyco.lyco--skin-funnelkit .lyco-switcher__price,
.lyco.lyco--skin-funnelkit .lyco-switcher__price ins,
.lyco.lyco--skin-funnelkit .lyco-switcher__price .amount { color: #4d4c4c; font-size: 16px; font-weight: 400; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-line { margin-top: 0; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty { height: 24px; overflow: visible; background: none; border: 0; border-radius: 0; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn { width: 25px; height: 24px; background: #f9f9f9; border: 1px solid #dedfea; color: #3a3a3a; font-size: 14px; line-height: 22px; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn:first-child { border-radius: 6px 0 0 6px; font-size: 0; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn:first-child::before { content: "-"; font-size: 14px; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn:last-child { border-radius: 0 6px 6px 0; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn:hover,
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn:focus { background: #f9f9f9; color: #3a3a3a; }
.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__input { width: 25px; padding: 2px !important; background: #fff !important; border: solid #dedfea !important; border-width: 1px 0 !important; color: #3a3a3a; font-size: 16px; }

/* order summary: square pictures in a hairline frame, rules between the parts */
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tr.cart_item { align-items: flex-start; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tbody td { padding: 12px 0; }
/* the space is a margin, not a gap: WooCommerce prints an &nbsp; after the
   name, which a gap would turn into 20px more of nothing */
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table td.product-name { align-items: flex-start; gap: 0; font-weight: 400; }
.lyco.lyco--skin-funnelkit .lyco-summary__thumb { width: 55px; height: 55px; margin-inline-end: 20px; background: none; border: 1px solid #e1e1e1; border-radius: 0; }
.lyco.lyco--skin-funnelkit .lyco-summary__thumb img { border-radius: 0; }
.lyco.lyco--skin-funnelkit .lyco-summary__thumb i { top: -11px; right: -11px; padding: 4px; font-size: 12px; font-weight: 400; line-height: 12px; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot { margin: 0; padding: 0; border: 0; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot th,
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot td { padding: 2px 0; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr:first-child { border-top: 1px solid var(--lyco-fk-line); }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr:first-child > * { padding-top: 16px; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr:has(+ tr.order-total) > * { padding-bottom: 16px; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr.order-total { align-items: center; margin: 0; padding: 0; border-top: 1px solid var(--lyco-fk-line); }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr.order-total th { padding: 12px 0; line-height: 1; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tfoot tr.order-total td { padding: 12px 0; line-height: 1.5; }

/* payment: the same thin grey box, the gateway's note on a light strip */
.lyco.lyco--skin-funnelkit .lyco-panel__sub { margin-bottom: 10px; }
.lyco.lyco--skin-funnelkit #payment ul.payment_methods { border-color: var(--lyco-fk-line); border-radius: 4px; color: #565e66; }
.lyco.lyco--skin-funnelkit #payment ul.payment_methods li { padding: 11px; color: #737373; font-size: 14px; }
.lyco.lyco--skin-funnelkit #payment ul.payment_methods li + li { border-top-color: var(--lyco-fk-line); }
.lyco.lyco--skin-funnelkit #payment ul.payment_methods li > label { font-size: 14px; font-weight: 400; }
.lyco.lyco--skin-funnelkit #payment div.payment_box { flex-basis: calc(100% + 22px); width: calc(100% + 22px); margin: 12.88px -11px -11px; padding: 12.88px; border-top-color: var(--lyco-fk-line); border-radius: 2px; color: #515151; font-size: .92em; }
.lyco.lyco--skin-funnelkit #payment div.payment_box p { color: #494949; font-size: 14px; }

/* the order button: FunnelKit's taller line */
.lyco.lyco--skin-funnelkit #payment #place_order { line-height: 1.5; }

/* the coupon link reads as text, not as a link */
.lyco.lyco--skin-funnelkit .lyco-coupon .lyco-coupon__trigger { text-align: start; text-decoration: none; }

/* the product's name keeps 70% of the summary row, its price the rest */
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tr.cart_item { gap: 0; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tr.cart_item td.product-name { flex: 0 0 70%; padding-inline-end: 10px; }
.lyco.lyco--skin-funnelkit table.woocommerce-checkout-review-order-table tr.cart_item td.product-total { flex: 0 0 30%; padding-inline-start: 10px; }

/* small screens: FunnelKit keeps its three columns and narrows the stepper */
@media (max-width: 560px) {
	.lyco.lyco--skin-funnelkit .lyco-cartrows__head { display: grid; grid-template-columns: minmax(0, 1fr) 62px 48px; gap: 0; }
	.lyco.lyco--skin-funnelkit .lyco-switcher--cart .lyco-switcher__row { flex-wrap: nowrap; gap: 0; }
	.lyco.lyco--skin-funnelkit .lyco-switcher--cart .lyco-switcher__name { flex: 1 1 auto; padding-inline-end: 10px; }
	.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__btn { width: 15px; }
	.lyco.lyco--skin-funnelkit .lyco-switcher .lyco-qty .lyco-qty__input { width: 30px; font-size: 14px; }
	.lyco.lyco--skin-funnelkit .lyco-switcher--cart .lyco-switcher__price { min-width: 0; padding-inline-start: 10px; }
	.lyco.lyco--skin-funnelkit .lyco-switcher__price,
	.lyco.lyco--skin-funnelkit .lyco-switcher__price ins,
	.lyco.lyco--skin-funnelkit .lyco-switcher__price .amount { font-size: 14px; }
}

/* ---------- FunnelKit look: thank-you page ----------
   The order and customer boxes as FunnelKit's thank-you page draws them. Its
   totals ignore the details typography (the item names take it), so they are
   held at FunnelKit's size here. */

.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty__heading { margin: 0 0 15px; font-size: 24px; line-height: 36px; letter-spacing: 0; }

.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__item,
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__item:first-child { gap: 15px; align-items: flex-start; padding: 22px 0; border-bottom: 0; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__item:not(:last-child) { margin-bottom: 15px; padding-bottom: 32px; border-bottom: 1px solid #dbdbdb; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__thumb { width: 60px; height: 60px; background: none; border: 1px solid #ddd; border-radius: 4px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__thumb img { border-radius: 3px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__thumb i { top: -10px; right: -8px; min-width: 20px; height: 20px; padding: 0; background: #b1b1b1; font-size: 14px; font-weight: 400; line-height: 20px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__name { flex: 0 1 calc(70% - 75px); }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__price { flex: 1 0 auto; font-weight: 400; text-align: end; }

.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals { margin: 0; border-top: 1px solid #dbdbdb; table-layout: fixed; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals th,
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals td { width: 50%; padding: 2px 0; font-size: 15px !important; font-weight: 400; line-height: 24px !important; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals td { padding-inline-start: 10px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals tr:first-child > * { padding-top: 22px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals tr:has(+ .lyco-ty-order__total--order_total) > * { padding-bottom: 22px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals .lyco-ty-order__total--order_total > * { padding-top: 22px; padding-bottom: 22px; border-top: 1px solid #dbdbdb; font-size: 18px !important; font-weight: 600 !important; line-height: 27px !important; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__totals small { display: inline; color: inherit; font-size: inherit; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-order__extras { margin: 0 0 15px; color: #444; font-size: 15px; line-height: 1.55; }

.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-customer__grid { gap: 20px 0; }
@media (min-width: 521px) {
	.lyco-ty.lyco-ty-customer--2c.lyco-ty--skin-funnelkit .lyco-ty-customer__grid { grid-template-columns: 1fr 1fr; }
}
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-customer__cell:nth-child(odd) { padding-inline-end: 20px; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-customer__cell:nth-child(even) { padding-inline-end: 15px; }
.lyco-ty.lyco-ty--skin-funnelkit h3.lyco-ty__label { margin: 0 0 5px; line-height: 24px !important; }
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-customer__cell p,
.lyco-ty.lyco-ty--skin-funnelkit .lyco-ty-customer__cell address { line-height: 1.5; }
