:root{
	--bg:#fffaf6;
	--accent:#b48ead; /* soft mauve */
	--accent-2:#f6d6e6; /* pale pink */
	--muted:#6b6b6b;
	--card:#ffffff;
	--shadow: 0 6px 18px rgba(15,15,15,0.08);
}

html,body{height:100%;}
body {
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
	margin: 0;
	/* subtle patterned background with gradient overlay for wedding theme */
	background-image: url('/static/bg.svg'), linear-gradient(180deg, rgba(255,250,246,0.98) 0%, rgba(255,254,252,0.995) 60%);
	background-repeat: repeat; /* SVG is subtle and repeats */
	background-size: auto, cover;
	background-attachment: local, fixed;
	color: #222;
}

.container{max-width:900px;margin:28px auto;padding:0 18px}

.site-header{padding:28px 0 12px}
.brand{font-family:'Playfair Display', serif;margin:0;font-size:36px;color:var(--accent);letter-spacing:0.6px}
.site-nav{float:right}
.site-nav a{color:var(--muted);margin-left:16px;text-decoration:none;font-weight:600}

main { margin-top: 12px; }

.card{background:var(--card);border-radius:12px;padding:20px;box-shadow:var(--shadow);}

.hero{position:relative;overflow:hidden;padding:28px 0 22px;margin-bottom:20px}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.18;pointer-events:none}
.hero-content{position:relative;padding:28px 0}
.hero .brand-crest{width:72px;height:72px}

.flashes{color:var(--accent);margin-bottom:12px}

table{border-collapse:collapse;width:100%}
td, th{border-bottom:1px solid #f0e9ef;padding:10px;text-align:left}

label{display:block;margin-top:8px}
/* Make all form controls consistent: full-width, soft border, no default dark outline */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], textarea, select{
	display:block;
	width:100%;
	max-width:100%;
	padding:10px 12px;
	border-radius:8px;
	border:1px solid #f0e8ef; /* very soft */
	background: #fff;
	box-sizing:border-box;
	margin-top:6px;
	outline: none;
	-webkit-appearance: none;
}

input::placeholder, textarea::placeholder{ color: #caaec0 }

/* Focus state */
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="number"]:focus, textarea:focus, select:focus{
	border-color: var(--accent-2);
	box-shadow: 0 0 0 4px rgba(180,142,173,0.08);
}

button{background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600}
button:hover{opacity:0.95}

.attendee{margin:12px 0;padding:12px;border-radius:8px;background:linear-gradient(180deg, #fff, #fffefc);border:1px solid #fbf3f8}

.error{border:2px solid #d9534f}
.field-error{color:#d9534f;margin-top:6px;margin-bottom:6px;font-size:90%}

/* Admin small tweaks */
.admin-actions form{display:inline}

@media (max-width:640px){
	.site-nav{float:none;margin-top:8px}
	.brand{font-size:28px}
}
