/* Tomtens julverkstad 1.4.4 */
.jv{
	--jv-guld:var(--tk-guld,#E2B866);
	--jv-rod:var(--tk-falu,#A44738);
	--jv-yta:var(--tk-yta,#172630);
	margin-block:clamp(2.5rem,7vw,6rem);
}
.jv-intro{max-width:740px;margin:0 auto clamp(2rem,5vw,4rem);text-align:center}
.jv-integritet{font-size:.92rem;opacity:.84}
.jv-byggare{
	display:grid;grid-template-columns:minmax(0,.92fr) minmax(280px,.72fr);
	gap:clamp(1.5rem,5vw,4rem);align-items:center;
	margin-block:clamp(2rem,6vw,5rem);padding:clamp(1rem,3vw,2rem);
	border:1px solid color-mix(in srgb,var(--jv-guld) 28%,transparent);
	border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
	box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.jv-byggare[data-jv-builder="halsning"] .jv-form{order:1}.jv-byggare[data-jv-builder="halsning"] .jv-preview{order:2}
.jv-byggare[data-jv-builder="inbjudan"] .jv-preview{order:1}.jv-byggare[data-jv-builder="inbjudan"] .jv-form{order:2}
.jv-form{min-width:0}.jv-form h3,.jv-brevkort h3,.tomten-delaruta h2{margin:.1rem 0 1rem}
.jv-steg{margin:0 0 .3rem;color:var(--jv-guld);font-size:.78rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.jv-form label,.brevform>label,.jv-faltrad label{display:block;margin:.85rem 0 .35rem;font-size:.83rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase}
.jv-form label span,.brevform label span{font-weight:400;letter-spacing:0;text-transform:none;opacity:.68}
.jv-form input,.jv-form textarea,.jv-form select,.brevform input,.brevform textarea,.brevform select{
	width:100%;box-sizing:border-box;padding:.72rem .8rem;border:1px solid color-mix(in srgb,var(--jv-guld) 35%,transparent);
	border-radius:10px;background:rgba(0,0,0,.24);color:inherit;font:inherit;
}
.jv-form textarea,.brevform textarea{resize:vertical;line-height:1.5}
.jv-form :focus-visible,.brevform :focus-visible,.jv-knapp:focus-visible{outline:3px solid var(--jv-guld);outline-offset:3px}
.jv-faltrad{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.jv-faltrad>div{min-width:0}
.jv-faltrad input[type="date"],.jv-faltrad input[type="time"]{
	display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;
	-webkit-appearance:none;appearance:none;
}
.jv-val{border:0;padding:0;margin:1rem 0}.jv-val legend{font-size:.83rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;margin-bottom:.4rem}
.jv-val label{display:flex;gap:.55rem;align-items:flex-start;margin:.45rem 0;font-weight:500;letter-spacing:0;text-transform:none}
.jv-val input{width:auto;margin-top:.2rem;accent-color:var(--jv-guld)}
.jv-varning{border-left:3px solid var(--jv-guld);padding:.55rem .8rem;font-size:.86rem;background:rgba(226,184,102,.08)}
.jv-knappar{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem;align-items:center}
.jv-knapp{
	display:inline-flex;min-height:44px;box-sizing:border-box;align-items:center;justify-content:center;padding:.65rem 1rem;
	border:1px solid var(--jv-guld);border-radius:10px;background:transparent;color:var(--jv-guld);
	font:inherit;font-size:.91rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;
}
.jv-knapp:hover{background:rgba(226,184,102,.12)}
.jv-knapp--primar{border-color:var(--jv-rod);background:var(--jv-rod);color:#FFF7E6;box-shadow:0 7px 22px rgba(164,71,56,.25)}
.jv-knapp--primar:hover{filter:brightness(1.08);background:var(--jv-rod)}
.jv-knapp--text{border-color:transparent;text-decoration:underline;text-underline-offset:.2em}
.jv-status{min-height:1.4em;margin:.65rem 0 0;font-size:.87rem;color:var(--jv-guld)}
.jv-preview{margin:0;max-width:440px;justify-self:center}
.jv-preview__rubrik{margin:0 0 .65rem;text-align:center;color:var(--jv-guld);font-size:.78rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.jv-preview canvas{display:block;width:100%;height:auto;border-radius:18px;background:#101A24;box-shadow:0 20px 50px rgba(0,0,0,.38);border:1px solid rgba(226,184,102,.28)}
.jv-preview figcaption{font-size:.78rem;opacity:.68;margin-top:.65rem;text-align:center}
.jv-brevkort,.tomten-delaruta{
	dis:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(1.2rem,4vw,2.2rem);
	border:1px solid color-mix(in srgb,var(--jv-guld) 28%,transparent);border-radius:20px;
	background:linear-gradient(120deg,rgba(40,66,54,.55),rgba(23,38,48,.8));
}
.jv-brevkort p,.tomten-delaruta p{margin:.4rem 0}

.jv-cta{
	width:min(1120px,calc(100% - 2rem));margin:clamp(2rem,7vw,6rem) auto;
	display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);overflow:hidden;
	border:1px solid rgba(226,184,102,.28);border-radius:26px;background:#172630;box-shadow:0 26px 80px rgba(0,0,0,.3);
}
.jv-cta img{width:100%;height:100%;max-height:520px;object-fit:cover;object-position:center 43%}
.jv-cta__copy{padding:clamp(1.5rem,6vw,4.5rem);align-self:center}.jv-cta__copy h2{margin:.2rem 0 1rem}

.brevverkstad{margin-block:clamp(3rem,8vw,7rem);scroll-margin-top:6rem}
.brevverkstad__intro{max-width:760px;margin-bottom:2rem}.brevverkstad__grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(300px,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.brevform{padding:clamp(1rem,3vw,1.7rem);border:1px solid rgba(226,184,102,.25);border-radius:18px;background:rgba(255,255,255,.035)}
.brevform__tips{font-size:.82rem;opacity:.7;margin-top:1rem}
.brevblad{position:relative;aspect-ratio:1055/1491;overflow:hidden;background:#F4E9D0;color:#24313A;box-shadow:0 20px 55px rgba(0,0,0,.36);isolation:isolate}
.brevblad>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.brevblad__text{position:absolute;left:15%;right:13%;top:16%;bottom:18%;display:flex;flex-direction:column;overflow:hidden;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif}
.brevblad__kicker{margin:0 0 1%;font:700 clamp(.55rem,1.2vw,.78rem)/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8A3A31}
.brevblad h3{font-size:clamp(1.1rem,3vw,2rem);margin:0 0 3%;color:#24313A}
.brevblad [data-brev-body]{font-size:clamp(.62rem,1.5vw,1rem);line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere}
.brevblad [data-brev-body] p{margin:0 0 .75em}
.brevblad [data-brev-list]{font-size:clamp(.58rem,1.35vw,.93rem);line-height:1.4;margin:.2em 0;padding-left:1.2em}
.brevblad__signatur{margin-top:auto;font-size:clamp(.68rem,1.6vw,1.05rem);font-style:italic}
.brevblad__marke{position:absolute;right:4%;bottom:2.2%;margin:0;font:700 clamp(.42rem,1vw,.65rem)/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6E4B39}
.tomten-delaruta{margin-block:2.5rem}.tomten-delaruta>div:first-child{max-width:620px}

@media (max-width:820px){
	.jv-byggare,.brevverkstad__grid{grid-template-columns:1fr}
	.jv-byggare[data-jv-builder] .jv-preview{order:1}.jv-byggare[data-jv-builder] .jv-form{order:2}
	.jv-preview{width:min(100%,340px)}.jv-cta{grid-template-columns:1fr}.jv-cta img{max-height:380px;object-position:center 32%}
	.jv-brevkort,.tomten-delaruta{align-items:flex-start;flex-direction:column}
}
@media (max-width:520px){
	.jv-byggare{padding:.8rem;border-radius:17px}.jv-faltrad{grid-template-columns:minmax(0,1fr);inline-size:100%;max-inline-size:100%}.jv-faltrad>div{inline-size:100%;max-inline-size:100%}.jv-faltrad input[type="date"],.jv-faltrad input[type="time"]{inline-size:100%!important;min-inline-size:0!important;max-inline-size:100%!important}.jv-knappar{align-items:stretch}.jv-knapp{width:100%}
	.jv-cta{width:calc(100% - 1rem);border-radius:18px}.jv-cta__copy{padding:1.25rem}.brevblad__text{left:13%;right:11%;top:15%;bottom:17%}
}
@media print{
	body.brev-utskrift{margin:0!important;padding:0!important;background:#fff!important}
	body.brev-utskrift>*:not(#brev-utskriftsyta){display:none!important}
	#brev-utskriftsyta{display:block!important;width:210mm;height:297mm;margin:0!important;padding:0!important}
	#brev-utskriftsyta .brevblad{display:block!important;width:210mm!important;height:297mm!important;box-shadow:none!important}
	#brev-utskriftsyta .brevblad__text{left:31.5mm;right:27mm;top:47.5mm;bottom:53mm}
	#brev-utskriftsyta .brevblad__kicker{font-size:8pt}
	#brev-utskriftsyta .brevblad h3{font-size:20pt}
	#brev-utskriftsyta .brevblad [data-brev-body]{font-size:11.5pt;line-height:1.48}
	#brev-utskriftsyta .brevblad [data-brev-list]{font-size:10.5pt}
	#brev-utskriftsyta .brevblad__signatur{font-size:12pt}
	#brev-utskriftsyta .brevblad__marke{font-size:7pt}
	@page{size:A4 portrait;margin:0}
}
@media (prefers-reduced-motion:reduce){.jv-knapp{transition:none}}
