/* Herroepingsknop — front-end flow.
   Clean / editorial / premium. Hairlines over shadows, restrained ink palette,
   one brand accent, generous whitespace. Inherits the theme's typeface so it
   reads as part of the shop, not a bolted-on widget. */

.hk-flow{
	--hk-brand:#1c1b19;
	--hk-ink:#1c1b19;
	--hk-text:#2c2a27;
	--hk-muted:#6f6a64;
	--hk-line:#e6e2db;
	--hk-subtle:#f7f5f1;
	--hk-danger:#8a3328;
	max-width:560px;
	margin:0 auto;
	color:var(--hk-text);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
.hk-flow *{box-sizing:border-box}

.hk-title{
	margin:0 0 .35em;
	color:var(--hk-ink);
	font-size:1.55rem;
	font-weight:600;
	line-height:1.2;
	letter-spacing:-.015em;
	text-wrap:balance;
}
.hk-intro{margin:0 0 1.75em;color:var(--hk-muted);max-width:52ch;text-wrap:pretty}
.hk-hint{display:block;color:var(--hk-muted);font-size:.85rem;margin-top:.4em;line-height:1.5}
.hk-req{color:var(--hk-muted);font-weight:400}

/* fields ------------------------------------------------------------------ */
.hk-form{margin:0}
.hk-field{margin:0 0 1.35em}
.hk-field label{display:block;font-size:.9rem;font-weight:600;color:var(--hk-ink);margin-bottom:.5em}
.hk-field input[type=text],
.hk-field input[type=email],
.hk-field textarea{
	width:100%;
	padding:.7em .85em;
	border:1px solid var(--hk-line);
	border-radius:3px;
	background:#fff;
	color:var(--hk-ink);
	font:inherit;
	font-size:1rem;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.hk-field input::placeholder,.hk-field textarea::placeholder{color:#a8a39b}
.hk-field input:focus,.hk-field textarea:focus{
	outline:none;
	border-color:var(--hk-ink);
	box-shadow:0 0 0 3px rgba(28,27,25,.10);
}
.hk-field textarea{resize:vertical;min-height:5em}

/* item selection ---------------------------------------------------------- */
.hk-fieldset{border:0;padding:0;margin:0 0 1.5em}
.hk-fieldset legend{padding:0;font-size:.9rem;font-weight:600;color:var(--hk-ink)}
.hk-fieldset .hk-hint{margin:.35em 0 .9em}
.hk-items{list-style:none;margin:0;padding:0;border-top:1px solid var(--hk-line)}
.hk-item{border-bottom:1px solid var(--hk-line)}
.hk-item label{
	display:flex;
	align-items:baseline;
	gap:.75em;
	flex-wrap:wrap;
	margin:0;
	padding:.85em .25em;
	cursor:pointer;
	font-weight:400;
}
.hk-item input[type=checkbox]{
	flex:0 0 auto;
	width:1.05em;height:1.05em;
	accent-color:var(--hk-ink);
	transform:translateY(.15em);
}
.hk-item__name{font-weight:500;color:var(--hk-ink)}
.hk-item__qty{color:var(--hk-muted);font-size:.9rem}
.hk-item__total{margin-left:auto;color:var(--hk-muted);font-variant-numeric:tabular-nums}
.hk-item__note{flex-basis:100%;color:var(--hk-muted);font-size:.8rem;padding-left:1.8em;letter-spacing:.01em}
.hk-item--excluded label{cursor:not-allowed}
.hk-item--excluded .hk-item__name{color:var(--hk-muted);text-decoration:line-through;text-decoration-color:var(--hk-line)}

/* buttons ----------------------------------------------------------------- */
.hk-btn{
	display:inline-block;
	border:1px solid var(--hk-ink);
	border-radius:3px;
	padding:.8em 1.6em;
	font:inherit;
	font-size:.95rem;
	font-weight:600;
	line-height:1.2;
	letter-spacing:.005em;
	text-decoration:none;
	cursor:pointer;
	transition:transform .12s ease, background-color .15s ease, opacity .15s ease;
}
.hk-btn--primary{background:var(--hk-ink);color:#fff}
.hk-btn--primary:hover{background:#000;color:#fff}
.hk-btn--primary:active{transform:translateY(1px)}
.hk-btn--primary:focus-visible{outline:2px solid var(--hk-ink);outline-offset:3px}
.hk-btn--confirm{background:var(--hk-brand);border-color:var(--hk-brand)}
.hk-actions{display:flex;align-items:center;gap:1.25em;margin:1.75em 0 0}
.hk-link{background:none;border:0;padding:0;color:var(--hk-muted);font:inherit;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.hk-link:hover{color:var(--hk-ink)}

/* notices ----------------------------------------------------------------- */
.hk-notice{border-radius:3px;padding:1em 1.15em;margin:0 0 1.5em;font-size:.95rem}
.hk-notice ul{margin:0;padding-left:1.15em}
.hk-notice--error{background:#fbf5f4;border:1px solid #ecd6d1;border-left:3px solid var(--hk-danger);color:#5e251d}
.hk-notice--success{background:var(--hk-subtle);border:1px solid var(--hk-line);padding:1.5em 1.65em}
.hk-notice--success .hk-title{margin-bottom:.5em}
.hk-notice--success p{margin:0 0 .8em}
.hk-notice--success p:last-child{margin-bottom:0}
.hk-notice--success .hk-hint{margin-top:1em;padding-top:1em;border-top:1px solid var(--hk-line)}

/* confirm summary --------------------------------------------------------- */
.hk-summary{background:var(--hk-subtle);border:1px solid var(--hk-line);border-radius:3px;padding:1.35em 1.5em;margin:0 0 1.5em}
.hk-summary dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:.55em 1.5em}
.hk-summary dt{color:var(--hk-muted);font-size:.85rem}
.hk-summary dd{margin:0;color:var(--hk-ink)}
.hk-summary ul{margin:0;padding:0;list-style:none}
.hk-summary ul li{font-variant-numeric:tabular-nums}
.hk-declaration{
	margin:0 0 1.75em;
	padding:.15em 0 .15em 1.1em;
	border-left:2px solid var(--hk-ink);
	color:var(--hk-muted);
	font-style:italic;
}

/* my-account order list --------------------------------------------------- */
.hk-order-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hk-line)}
.hk-order-list__item{
	display:flex;align-items:center;justify-content:space-between;gap:1.25em;flex-wrap:wrap;
	padding:1em .25em;border-bottom:1px solid var(--hk-line);
}
.hk-order-list__meta{color:var(--hk-text);font-variant-numeric:tabular-nums}

/* inline placements ------------------------------------------------------- */
.hk-placement{margin:2em 0;padding:1.5em 0 0;border-top:1px solid var(--hk-line)}
.hk-placement p{margin:0 0 1em;color:var(--hk-muted)}

/* visually-hidden honeypot */
.hk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
