/* JL Planners — After Wedding Planner ("Plan po ślubie").
 * Mobile-first, romantic/premium Polish-wedding styling. Task rows render as cards on
 * small screens; state colours: green = done, amber = due soon, burgundy = overdue,
 * neutral = open / no date. Reuses .jlp-btn / .jlp-field / .jlp-input / .jlp-muted /
 * .jlp-eyebrow / .jlp-notice from planner-shell.css. */

.jlp-aw {
	--aw-gold:       var( --jlp-gold );
	--aw-gold-soft:  var( --jlp-gold-glow );
	--aw-line:       var( --jlp-gold-glow );
	--aw-ink:        var( --jlp-ink );
	--aw-muted:      var( --jlp-gold-deep );
	--aw-cream:      var( --jlp-bg );
	--aw-done:       #2E7D32;
	--aw-done-bg:    #EAF4EA;
	--aw-soon:       #B7791F;
	--aw-soon-bg:    #FCF3E3;
	--aw-overdue:    #922B21;
	--aw-overdue-bg: #FBEAE7;
	--aw-open:       var( --jlp-ink-soft );
	font-family: "Manrope", system-ui, sans-serif;
	color: var( --aw-ink );
}

.jlp-aw * { box-sizing: border-box; }

.jlp-aw-h2 {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp( 1.5rem, 4vw, 2rem );
	font-weight: 500;
	margin: 0 0 .6rem;
}

.jlp-aw section { margin: 0 0 1.8rem; }

/* ---------- locked preview banner ---------- */
.jlp-aw-locked {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
	padding: .9rem 1.1rem;
	margin: 0 0 1.4rem;
	background: linear-gradient( 135deg, var( --jlp-surface ), var( --aw-cream ) );
	border: 1px solid var( --aw-line );
	border-radius: 12px;
	box-shadow: 0 12px 30px -22px rgba( 42, 31, 26, .35 );
}
.jlp-aw-locked__icon { font-size: 1.2rem; line-height: 1; }
.jlp-aw-locked__icon svg { width: 1em; height: 1em; display: block; }
.jlp-aw-locked__text { flex: 1 1 220px; font-size: .94rem; line-height: 1.5; color: #5A4632; }

/* ---------- onboarding ---------- */
.jlp-aw-onboarding__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .9rem;
}
@media ( min-width: 640px ) {
	.jlp-aw-onboarding__grid { grid-template-columns: 1fr 1fr; }
}
.jlp-aw-onboarding__notes { margin-top: .9rem; display: block; }
.jlp-aw-hint-note { display: block; font-size: .78rem; margin-top: .25rem; }

.jlp-aw-import {
	margin-top: 1.1rem;
	padding: .9rem 1rem;
	border: 1px dashed var( --aw-line );
	border-radius: 12px;
	background: var( --aw-cream );
}
.jlp-aw-import__row {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: .5rem 0 .35rem;
}
.jlp-aw-import__row select { flex: 1 1 240px; }
.jlp-aw-import__status { display: block; font-size: .88rem; color: var( --aw-muted ); min-height: 1.1em; }
.jlp-aw-import__status.is-error { color: var( --aw-overdue ); }
.jlp-aw-import__status.is-ok { color: var( --aw-done ); }

/* ---------- summary cards ---------- */
.jlp-aw-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .65rem;
	margin: 0 0 .9rem;
}
@media ( min-width: 720px ) {
	.jlp-aw-cards { grid-template-columns: repeat( 5, 1fr ); }
}
.jlp-aw-card {
	border: 1px solid var( --aw-line );
	border-radius: 12px;
	padding: .7rem .8rem;
	background: var( --jlp-surface );
}
.jlp-aw-card__label {
	display: block;
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var( --aw-muted );
	margin-bottom: .3rem;
}
.jlp-aw-card__value {
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 1.5rem;
	font-weight: 500;
	color: var( --aw-ink );
}
.jlp-aw-card--alertable.is-alert {
	border-color: #E6B8AD;
	background: var( --aw-overdue-bg );
}
.jlp-aw-card--alertable.is-alert .jlp-aw-card__value { color: var( --aw-overdue ); }

.jlp-aw-progress {
	height: 10px;
	border-radius: 6px;
	background: var( --aw-gold-soft );
	overflow: hidden;
	margin: .4rem 0 .3rem;
}
.jlp-aw-progress__fill {
	height: 100%;
	background: linear-gradient( 90deg, var( --aw-done ), #4CAF50 );
	transition: width .25s ease;
}
.jlp-aw-progress__label { font-size: .86rem; color: #5A4632; margin: 0 0 .6rem; }

.jlp-aw-overdue-warn { margin: .6rem 0; }
.jlp-aw-overdue-warn[hidden] { display: none; }

.jlp-aw-nextstep {
	margin-top: .9rem;
	padding: .8rem .95rem;
	border-left: 3px solid var( --aw-gold );
	background: var( --aw-cream );
	border-radius: 0 10px 10px 0;
}
.jlp-aw-nextstep__text { margin: .2rem 0 0; font-size: .96rem; line-height: 1.5; }

/* ---------- per-category progress overview ---------- */
.jlp-aw-catprogress__body { display: grid; gap: .55rem; }
.jlp-aw-catrow {
	border: 1px solid var( --aw-line );
	border-radius: 10px;
	padding: .6rem .8rem;
	background: var( --jlp-surface );
}
.jlp-aw-catrow__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: .75rem;
	margin-bottom: .35rem;
}
.jlp-aw-catrow__name { font-weight: 600; }
.jlp-aw-catrow__count { font-size: .82rem; color: var( --aw-muted ); white-space: nowrap; }
.jlp-aw-catrow__bar {
	height: 7px;
	border-radius: 5px;
	background: var( --aw-gold-soft );
	overflow: hidden;
}
.jlp-aw-catrow__bar span {
	display: block;
	height: 100%;
	background: linear-gradient( 90deg, var( --aw-done ), #4CAF50 );
	transition: width .25s ease;
}

/* ---------- task rows (repeater) ---------- */
.jlp-aw-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	margin-bottom: .35rem;
}
.jlp-aw-tasks__hint { margin: 0 0 .8rem; font-size: .9rem; }

.jlp-aw-rows { display: grid; gap: .85rem; }
.jlp-aw-row {
	border: 1px solid var( --aw-line );
	border-left: 4px solid var( --aw-open );
	border-radius: 12px;
	padding: .8rem .9rem;
	background: var( --jlp-surface );
	box-shadow: 0 10px 26px -24px rgba( 42, 31, 26, .3 );
}
.jlp-aw-row--overdue { border-left-color: var( --aw-overdue ); background: linear-gradient( 0deg, var( --aw-overdue-bg ), var( --jlp-surface ) 60% ); }
.jlp-aw-row--soon    { border-left-color: var( --aw-soon ); }
.jlp-aw-row--done    { border-left-color: var( --aw-done ); }
.jlp-aw-row--done .jlp-aw-cell--title .jlp-input { color: #5C7A5C; }
.jlp-aw-row--nodate  { border-left-color: var( --aw-line ); }

.jlp-aw-row__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .55rem;
}
.jlp-aw-row__head-actions { display: flex; gap: .4rem; align-items: center; }

.jlp-aw-pill {
	display: inline-block;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .03em;
	padding: .18rem .5rem;
	border-radius: 999px;
	background: var( --aw-gold-soft );
	color: var( --aw-open );
	white-space: nowrap;
}
.jlp-aw-pill--overdue { background: var( --aw-overdue-bg ); color: var( --aw-overdue ); }
.jlp-aw-pill--soon    { background: var( --aw-soon-bg ); color: var( --aw-soon ); }
.jlp-aw-pill--done    { background: var( --aw-done-bg ); color: var( --aw-done ); }
.jlp-aw-pill--open    { background: var( --aw-gold-soft ); color: var( --aw-open ); }
.jlp-aw-pill--nodate  { background: #EFEAE3; color: #7A6A5D; }

.jlp-aw-del {
	border: 0;
	background: transparent;
	color: var( --aw-overdue );
	font-size: 1.3rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 .25rem;
	border-radius: 6px;
}
.jlp-aw-del:hover { background: var( --aw-overdue-bg ); }

.jlp-aw-row__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .65rem .8rem;
}
@media ( min-width: 560px ) {
	.jlp-aw-row__grid { grid-template-columns: 1fr 1fr; }
}
@media ( min-width: 920px ) {
	.jlp-aw-row__grid { grid-template-columns: 1.6fr 1.1fr 1fr 1fr 1fr; }
	.jlp-aw-cell--title { grid-column: span 2; }
	.jlp-aw-cell--notes { grid-column: span 5; }
	.jlp-aw-cell--vendor { grid-column: span 2; }
	.jlp-aw-cell--contact { grid-column: span 3; }
}
.jlp-aw-cell { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.jlp-aw-cell .jlp-field__label { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var( --aw-muted ); }
.jlp-aw-cell textarea.jlp-input { resize: vertical; min-height: 2.2rem; }
.jlp-aw-due { display: flex; flex-wrap: wrap; gap: .35rem; }
.jlp-aw-due .jlp-aw-date { flex: 1 1 130px; }
.jlp-aw-due .jlp-aw-hint { flex: 1 1 130px; font-size: .85rem; }

.jlp-aw-empty {
	border: 1px dashed var( --aw-line );
	border-radius: 12px;
	padding: 1.1rem;
	text-align: center;
	background: var( --aw-cream );
}
.jlp-aw-empty[hidden] { display: none; }

/* ---------- preview action bar ---------- */
.jlp-aw-actionbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: 1.4rem;
	padding: .85rem 1rem;
	border: 1px solid var( --aw-line );
	border-radius: 12px;
	background: var( --aw-cream );
}
.jlp-aw-actionbar__label { font-weight: 600; color: #5A4632; margin-right: .25rem; }

/* ---------- read-only / preview ---------- */
.jlp-aw[data-readonly="1"] .jlp-input,
.jlp-aw[data-readonly="1"] select { background: var( --aw-cream ); }

/* ---------- public marketing block ---------- */
.jlp-aw-public__perks { margin: .8rem 0; padding-left: 1.1rem; line-height: 1.6; }
.jlp-aw-public__cats ul { list-style: none; padding: 0; margin: .4rem 0 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.jlp-aw-public__cats li { background: var( --aw-gold-soft ); border-radius: 999px; padding: .2rem .65rem; font-size: .85rem; }
.jlp-aw-public__cta { font-style: italic; color: #5A4632; margin-top: 1rem; }

/* ---------- print (Ctrl+P on the paid editor; exports use the PDF adapter's own CSS) ---------- */
@media print {
	.jlp-aw-locked,
	.jlp-aw-import,
	.jlp-aw-actionbar,
	.jlp-aw-section-head .jlp-btn,
	.jlp-aw-row__head-actions,
	.jlp-aw-due .jlp-aw-hint,
	.jlp-aw-del { display: none !important; }
	.jlp-aw-row { box-shadow: none; break-inside: avoid; }
	.jlp-aw-catrow { break-inside: avoid; }
	.jlp-input,
	select.jlp-input { border: 0; padding: 0; background: transparent; }
}
