.wccdd-shell {
	--ink: #211e1b;
	--muted: #6f6660;
	--green: #008f7a;
	--green-dark: #007563;
	--green-soft: #effaf7;
	--line: #dedbd7;
	--paper: #fff;
	color: var(--ink);
	font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	margin: 0 auto;
	max-width: 760px;
	padding: 72px 20px 90px;
}

.wccdd-shell *,
.wccdd-shell *::before,
.wccdd-shell *::after { box-sizing: border-box; }

.wccdd-hero { margin: 0 auto 58px; max-width: 680px; text-align: center; }
.wccdd-kicker,
.wccdd-date,
.wccdd-section-label,
.wccdd-shell label > span,
.wccdd-shell legend {
	color: var(--green);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
}

.wccdd-hero h1 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 8vw, 74px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: 1;
	margin: 22px 0 14px;
}

.wccdd-date { font-size: 13px; margin: 0 0 4px; }
.wccdd-place { color: var(--muted); margin: 0; }
.wccdd-deadline { color: #3b665e; font-size: 13px; font-weight: 700; letter-spacing: .04em; margin: 8px 0 0; }
.wccdd-rule { background: var(--line); display: block; height: 1px; margin: 28px auto; width: 64px; }
.wccdd-intro { font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.7; margin: 0 auto 22px; max-width: 620px; }
.wccdd-club-link { color: #a49991; font-size: 11px; letter-spacing: .23em; text-decoration: none; text-transform: uppercase; }

.wccdd-card,
.wccdd-lookup {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 17px;
	box-shadow: 0 12px 38px rgba(43, 37, 31, .035);
	margin: 0 0 28px;
	padding: 25px;
}

.wccdd-section-label { margin: 0 0 24px; }
.wccdd-grid { display: grid; gap: 17px 20px; }
.wccdd-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wccdd-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wccdd-shell label { display: block; margin: 0 0 18px; }
.wccdd-shell label > span,
.wccdd-shell legend { display: block; margin: 0 0 8px; }

.wccdd-shell input[type="text"],
.wccdd-shell input[type="email"],
.wccdd-shell input[type="tel"],
.wccdd-shell textarea,
.wccdd-shell select,
.wccdd-shell input:not([type]) {
	appearance: none;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 7px;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .025);
	color: var(--ink);
	font: inherit;
	margin: 0;
	min-height: 46px;
	padding: 11px 13px;
	transition: border-color .18s, box-shadow .18s;
	width: 100%;
}

.wccdd-shell textarea { resize: vertical; }
.wccdd-shell input:focus,
.wccdd-shell textarea:focus,
.wccdd-shell select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(0, 143, 122, .1); outline: 0; }
.wccdd-shell input::placeholder,
.wccdd-shell textarea::placeholder { color: #9a938d; }

.wccdd-guest-head,
.wccdd-payment-head,
.wccdd-dashboard-head { align-items: flex-start; display: flex; justify-content: space-between; gap: 20px; }
.wccdd-remove { background: none; border: 0; color: #a0443f; cursor: pointer; display: none; font: inherit; font-size: 12px; padding: 0; }
.wccdd-guest:not(:first-child) .wccdd-remove { display: block; }
.wccdd-menu-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1.32fr .92fr; margin: 9px 0 22px; }
.wccdd-menu-choices { border: 0; margin: 0; min-width: 0; padding: 0; }
.wccdd-menu-choices label { cursor: pointer; margin: 0 0 6px; position: relative; }
.wccdd-menu-choices input,
.wccdd-choice input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.wccdd-menu-choices label > span {
	border: 1px solid var(--line);
	border-radius: 8px;
	color: #4f4843;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.45;
	margin: 0;
	padding: 10px 12px;
	text-transform: none;
	transition: background .15s, border-color .15s, color .15s;
}
.wccdd-menu-choices input:checked + span,
.wccdd-choice input:checked + span { background: var(--green-soft); border-color: var(--green); color: var(--ink); }
.wccdd-menu-choices input:focus-visible + span,
.wccdd-choice input:focus-visible + span { box-shadow: 0 0 0 3px rgba(0, 143, 122, .15); }

.wccdd-add {
	background: transparent;
	border: 1px dashed #cfcac5;
	border-radius: 15px;
	color: var(--muted);
	cursor: pointer;
	font: inherit;
	margin: -4px 0 46px;
	padding: 16px;
	width: 100%;
}
.wccdd-add:hover { border-color: var(--green); color: var(--green-dark); }
.wccdd-add:disabled { cursor: not-allowed; opacity: .55; }
.wccdd-total { font-family: Georgia, serif; font-size: 26px; margin: 0; }
.wccdd-payment-grid { display: grid; gap: 32px; grid-template-columns: 1fr 1.2fr; }
.wccdd-payment-grid fieldset { border: 0; margin: 0; padding: 0; }
.wccdd-choice { cursor: pointer; margin: 0 0 10px !important; position: relative; }
.wccdd-choice > span {
	border: 1px solid var(--line);
	border-radius: 11px;
	display: block !important;
	letter-spacing: 0 !important;
	margin: 0 !important;
	padding: 14px 15px;
	text-transform: none !important;
}
.wccdd-choice strong { display: block; font-size: 14px; font-weight: 500; }
.wccdd-choice small { color: var(--muted); display: block; font-size: 12px; margin-top: 3px; }
.wccdd-methods { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.wccdd-methods .wccdd-choice > span { align-items: center; display: flex !important; justify-content: center; min-height: 76px; padding: 10px; text-align: center; }
.wccdd-method-info { background: #f5faf8; border: 1px solid #b9ddd5; border-radius: 10px; margin: 18px 0; padding: 15px 17px; }
.wccdd-method-info.is-hidden { display: none; }
.wccdd-method-info strong { color: var(--green-dark); display: block; margin-bottom: 5px; }
.wccdd-method-info p { margin: 0; white-space: normal; }
.wccdd-bank-reference { align-items: center; background: #fff; border: 1px solid #8ecabe; border-radius: 8px; display: flex; justify-content: space-between; gap: 18px; margin-top: 13px; padding: 12px 14px; }
.wccdd-bank-reference span { color: var(--muted); font-size: 12px; }
.wccdd-bank-reference code { background: transparent; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 17px; font-weight: 700; letter-spacing: .08em; padding: 0; }
.wccdd-reference-pending { border-top: 1px solid #cbe6e0; color: var(--muted); font-size: 12px; margin-top: 12px !important; padding-top: 11px; }
.wccdd-amount-field { border-top: 1px solid var(--line); margin: 18px 0 0 !important; padding-top: 20px; }
.wccdd-money-input { align-items: center; display: flex !important; letter-spacing: 0 !important; margin: 0 0 5px !important; position: relative; text-transform: none !important; }
.wccdd-money-input b { color: var(--ink); font-family: Georgia, serif; font-size: 22px; font-weight: 400; left: 13px; position: absolute; }
.wccdd-money-input input { padding-left: 32px !important; }
.wccdd-amount-field > small { color: var(--muted); display: block; }
.wccdd-submit,
.wccdd-secondary {
	background: var(--ink);
	border: 0;
	border-radius: 999px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	padding: 17px 25px;
	text-transform: uppercase;
	transition: background .18s, transform .18s;
	width: 100%;
}
.wccdd-submit:hover,
.wccdd-secondary:hover { background: var(--green-dark); transform: translateY(-1px); }
.wccdd-privacy { color: var(--muted); font-size: 11px; text-align: center; }

.wccdd-lookup {
	background: linear-gradient(145deg, #f0faf7 0%, #fff 72%);
	border: 2px solid var(--green);
	box-shadow: 0 16px 45px rgba(0, 117, 99, .09);
	margin: 0 0 48px;
	padding: 30px;
}
.wccdd-lookup-heading { align-items: flex-start; cursor: pointer; display: flex; gap: 17px; list-style: none; position: relative; }
.wccdd-lookup-heading::-webkit-details-marker { display: none; }
.wccdd-lookup-heading::after { border-bottom: 2px solid var(--green-dark); border-right: 2px solid var(--green-dark); content: ""; flex: 0 0 12px; height: 12px; margin: 9px 6px 0 auto; transform: rotate(45deg); transition: transform .18s ease, margin .18s ease; width: 12px; }
.wccdd-lookup[open] .wccdd-lookup-heading::after { margin-top: 15px; transform: rotate(225deg); }
.wccdd-lookup-heading:focus-visible { border-radius: 8px; outline: 3px solid rgba(0, 143, 122, .2); outline-offset: 5px; }
.wccdd-lookup-icon { align-items: center; background: var(--green); border-radius: 50%; color: #fff; display: flex; flex: 0 0 42px; font-size: 20px; height: 42px; justify-content: center; }
.wccdd-lookup-heading .wccdd-section-label { margin-bottom: 15px; }
.wccdd-lookup-heading > div { flex: 1; }
.wccdd-lookup h2,
.wccdd-dashboard h2 { font-family: Georgia, serif; font-size: 30px; font-weight: 400; margin: -12px 0 8px; }
.wccdd-lookup-body { padding-top: 18px; }
.wccdd-lookup-description { color: var(--muted); margin: 0 0 20px 59px; max-width: 620px; }
.wccdd-secondary { width: auto; }
.wccdd-notice { background: #f4f2ef; border-left: 3px solid var(--muted); border-radius: 6px; margin: 0 0 22px; padding: 13px 16px; }
.wccdd-notice--success { background: var(--green-soft); border-color: var(--green); }
.wccdd-notice--error { background: #fff3f1; border-color: #b8463d; }

.wccdd-balance { text-align: right; }
.wccdd-balance span,
.wccdd-summary-grid span { color: var(--muted); display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.wccdd-balance strong { font-family: Georgia, serif; font-size: 34px; font-weight: 400; }
.wccdd-progress { background: #ece9e6; border-radius: 99px; height: 6px; margin: 22px 0; overflow: hidden; }
.wccdd-progress span { background: var(--green); display: block; height: 100%; }
.wccdd-summary-grid { display: grid; gap: 15px; grid-template-columns: repeat(5, 1fr); margin-bottom: 26px; }
.wccdd-summary-grid strong { display: block; font-size: 14px; margin-top: 4px; }
.wccdd-balance-form { align-items: end; background: #f7f5f2; border-radius: 12px; display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); padding: 18px; }
.wccdd-balance-form label { margin: 0; }
.wccdd-balance-form .wccdd-submit { grid-column: 1 / -1; }
.wccdd-paid-stamp { border: 1px solid var(--green); border-radius: 12px; color: var(--green-dark); font-weight: 700; letter-spacing: .15em; padding: 18px; text-align: center; text-transform: uppercase; }
.wccdd-auto-instalments { background: var(--green-soft); border: 1px solid var(--green); border-radius: 12px; padding: 17px 19px; }
.wccdd-auto-instalments strong { color: var(--green-dark); display: block; margin-bottom: 4px; }
.wccdd-auto-instalments p { color: var(--muted); margin: 0; }
.wccdd-schedule-label { color: var(--green-dark); display: block; font-size: 12px; font-weight: 700; margin: 12px 0 7px; text-transform: uppercase; }
.wccdd-installment-dates { background: #f1f7f5; border: 1px solid #c9ddd8; border-radius: 10px; margin: 18px 0; padding: 14px 16px; }
.wccdd-installment-dates > strong { display: block; margin-bottom: 10px; }
.wccdd-installment-dates > small { color: var(--muted); display: block; margin-top: 9px; }
.wccdd-date-list { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.wccdd-date-list li { align-items: center; border-top: 1px solid #dce9e5; display: grid; gap: 10px; grid-template-columns: 1fr auto auto auto; padding-top: 6px; }
.wccdd-date-list li:first-child { border-top: 0; padding-top: 0; }
.wccdd-date-list span { color: var(--muted); font-size: 12px; }
.wccdd-date-list strong { font-size: 13px; }
.wccdd-date-list b { color: var(--green-dark); font-size: 13px; min-width: 65px; text-align: right; }
.wccdd-installment-status { border-radius: 999px; font-size: 11px; font-style: normal; font-weight: 700; line-height: 1; min-width: 68px; padding: 6px 8px; text-align: center; }
.wccdd-installment-status--paid { background: #d9f5e7; color: #06643d; }
.wccdd-installment-status--part-paid,
.wccdd-installment-status--due { background: #fff0c2; color: #714d00; }
.wccdd-installment-status--overdue { background: #fde1df; color: #9c2520; }
.wccdd-installment-status--upcoming { background: #e9efed; color: #52605c; }
.wccdd-currently-due { background: #fff2cf; border-radius: 7px; color: #6c4d00; margin: 10px 0 0; padding: 9px 11px; }
.wccdd-installment-dates.is-hidden { display: none; }
.wccdd-shell input[readonly] { background: #f3f1ee; color: #5f5852; cursor: not-allowed; }
.wccdd-booked-guest { border-top: 1px solid var(--line); padding: 20px 0 5px; }
.wccdd-booked-guest h3 { font-family: Georgia, serif; font-size: 22px; font-weight: 400; margin: 0 0 12px; }
.wccdd-booked-guest dl { margin: 0; }
.wccdd-booked-guest dl > div { display: grid; gap: 20px; grid-template-columns: 80px 1fr; margin: 8px 0; }
.wccdd-booked-guest dt { color: var(--muted); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.wccdd-booked-guest dd { margin: 0; }
.wccdd-payment-list > div { border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding: 13px 0; }
.wccdd-payment-list span { color: var(--muted); }
.wccdd-start-over { color: var(--green-dark); display: block; text-align: center; }
.wccdd-menu-editor { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 20px; }
.wccdd-menu-editor summary { color: var(--green-dark); cursor: pointer; font-weight: 600; margin-bottom: 20px; }
.wccdd-menu-edit-guest { background: #f8f6f3; border-radius: 12px; margin-bottom: 16px; padding: 17px; }
.wccdd-menu-edit-guest h3 { font-family: Georgia, serif; font-size: 21px; font-weight: 400; margin: 0 0 14px; }
.wccdd-menu-edit-guest select { font-size: 13px; }
.wccdd-embedded-payment { border-color: var(--green); }
.wccdd-embedded-payment h2 { font-family: Georgia, serif; font-size: 30px; font-weight: 400; margin: -12px 0 6px; }
.wccdd-stripe-loading { color: var(--muted); padding: 35px; text-align: center; }
#wccdd-stripe-checkout { min-height: 300px; }
.wccdd-stripe-fallback { color: var(--muted); font-size: 13px; text-align: center; }
.wccdd-stripe-fallback a { color: var(--green-dark); font-weight: 700; }

@media (max-width: 700px) {
	.wccdd-shell { padding: 46px 14px 70px; }
	.wccdd-card, .wccdd-lookup { border-radius: 13px; padding: 19px; }
	.wccdd-grid--2,
	.wccdd-grid--3,
	.wccdd-menu-grid,
	.wccdd-payment-grid,
	.wccdd-summary-grid,
	.wccdd-balance-form { grid-template-columns: 1fr; }
	.wccdd-menu-grid { gap: 12px; }
	.wccdd-methods { grid-template-columns: 1fr; }
	.wccdd-methods .wccdd-choice > span { min-height: 58px; }
	.wccdd-dashboard-head { display: block; }
	.wccdd-balance { margin-top: 18px; text-align: left; }
	.wccdd-payment-list > div { display: block; }
	.wccdd-payment-list strong { display: block; }
	.wccdd-bank-reference { align-items: flex-start; flex-direction: column; gap: 5px; }
	.wccdd-lookup-heading { gap: 12px; }
	.wccdd-lookup-icon { flex-basis: 36px; height: 36px; }
	.wccdd-lookup-heading::after { flex-basis: 11px; height: 11px; width: 11px; }
	.wccdd-lookup-description { margin-left: 0; }
	.wccdd-date-list li { grid-template-columns: 1fr auto; }
	.wccdd-date-list li > span { grid-column: 1; grid-row: 1; }
	.wccdd-date-list li > strong { grid-column: 2; grid-row: 1; }
	.wccdd-date-list li > b { grid-column: 2; grid-row: 2; }
	.wccdd-date-list li > .wccdd-installment-status { grid-column: 1; grid-row: 2; justify-self: start; }
}
