/* KlikWedding Core — UI wishlist, quick view, dialog, WhatsApp. Memakai
   variabel tema bila ada, dengan fallback agar tetap rapi di tema lain. */
.kwdc-icon-btn, .kwdc-wl-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 0; cursor: pointer; font: inherit; color: var(--wp--preset--color--contrast, #172033);
}
.kwdc-card-actions {
	position: absolute; top: 10px; right: 10px; z-index: 3; display: flex; flex-direction: column; gap: 8px;
}
.kwdc-card-actions .kwdc-icon-btn {
	width: 40px; height: 40px; border-radius: 50%; background: var(--wp--preset--color--base, #fff);
	box-shadow: 0 1px 2px rgba(15,23,42,.08), 0 4px 12px rgba(15,23,42,.08);
	transition: transform 160ms ease, opacity 160ms ease, background-color 160ms ease;
}
.kwdc-card-actions .kwdc-icon-btn:hover { transform: scale(1.06); }
.kwdc-card-actions .kwdc-icon-btn:focus-visible { outline: 2px solid var(--wp--preset--color--primary, #2563eb); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
	.kwdc-card-actions .kwdc-qv-btn { opacity: 0; transform: translateX(6px); }
	.kwd-card:hover .kwdc-qv-btn, .wc-block-product:hover .kwdc-qv-btn, .kwdc-qv-btn:focus-visible { opacity: 1; transform: none; }
}
.kwdc-wl-btn.is-active .kwdc-heart { fill: var(--wp--preset--color--sale, #dc2626); stroke: var(--wp--preset--color--sale, #dc2626); }
.kwdc-wl-btn--label {
	min-height: 44px; padding: 0 14px; background: transparent; border: 1px solid var(--wp--preset--color--border, #e2e8f0);
	border-radius: var(--wp--custom--radius--button, 6px); font-weight: 600;
}
.kwdc-wl-btn--label:hover { border-color: currentColor; }
.kwdc-wl-link { position: relative; }
.kwdc-wl-count {
	position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px;
	background: var(--wp--preset--color--primary, #2563eb); color: var(--wp--preset--color--on-primary, #fff);
	font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
}
.kwdc-link-btn {
	display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; background: none; border: 0;
	font: inherit; font-weight: 600; color: var(--wp--preset--color--contrast, #172033); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.kwdc-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 100000;
	background: var(--wp--preset--color--contrast, #172033); color: var(--wp--preset--color--base, #fff);
	padding: 10px 16px; border-radius: 8px; font-size: 15px; box-shadow: 0 10px 30px rgba(0,0,0,.2);
	animation: kwdc-in 180ms ease-out;
}
.kwdc-toast.is-out { opacity: 0; transition: opacity 400ms; }
@keyframes kwdc-in { from { opacity: 0; transform: translate(-50%, 8px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* Dialog (quick view & size guide) */
.kwdc-dialog {
	width: min(920px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0;
	border-radius: var(--wp--custom--radius--large, 12px); background: var(--wp--preset--color--base, #fff);
	color: var(--wp--preset--color--contrast, #172033); box-shadow: 0 24px 60px rgba(15,23,42,.25); overflow: auto;
}
.kwdc-dialog::backdrop { background: rgba(15, 23, 42, .55); }
.kwdc-dialog[open] { animation: kwdc-pop 180ms ease-out; }
@keyframes kwdc-pop { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
html.kwdc-modal-open { overflow: hidden; }
.kwdc-dialog__close {
	position: absolute; top: 10px; right: 10px; z-index: 2; width: 44px; height: 44px; border: 0; border-radius: 50%;
	background: var(--wp--preset--color--surface, #f5f7fa); color: inherit; font-size: 26px; line-height: 1; cursor: pointer;
}
.kwdc-dialog__head { position: sticky; top: 0; background: inherit; display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--wp--preset--color--border, #e2e8f0); }
.kwdc-dialog__head .kwdc-dialog__close { position: static; }
.kwdc-dialog__title { margin: 0; font-size: 1.25rem; }
.kwdc-dialog__body { padding: 20px; }
.kwdc-dialog--sheet { width: min(720px, calc(100vw - 32px)); }

.kwdc-qv__body { padding: 0; }
.kwdc-qv__loading { padding: 48px; text-align: center; }
.kwdc-qv__grid { display: grid; grid-template-columns: 1fr 1fr; }
.kwdc-qv__media { background: var(--wp--preset--color--surface, #f5f7fa); }
.kwdc-qv__media img { width: 100%; height: 100%; max-height: 620px; object-fit: cover; display: block; }
.kwdc-qv__info { padding: 32px 28px; display: flex; flex-direction: column; gap: 14px; }
.kwdc-qv__title { margin: 0; padding-right: 40px; font-size: 1.5rem; line-height: 1.25; }
.kwdc-qv__price { font-size: 1.25rem; font-weight: 600; }
.kwdc-qv__short p { margin: 0; color: var(--wp--preset--color--muted, #64748b); }
.kwdc-qv__attr { border: 0; padding: 0; margin: 0 0 14px; }
.kwdc-qv__attr legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.kwdc-qv__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.kwdc-qv__opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kwdc-qv__opts label {
	min-width: 48px; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--wp--preset--color--border, #e2e8f0); border-radius: var(--wp--custom--radius--small, 4px); cursor: pointer; font-weight: 500;
}
.kwdc-qv__opts input:checked + label { background: var(--wp--preset--color--contrast, #172033); color: var(--wp--preset--color--base, #fff); border-color: var(--wp--preset--color--contrast, #172033); }
.kwdc-qv__opts input:focus-visible + label { outline: 2px solid var(--wp--preset--color--primary, #2563eb); outline-offset: 2px; }
.kwdc-qv__row { display: flex; gap: 10px; }
.kwdc-qv__qty { width: 76px; min-height: 48px; text-align: center; }
.kwdc-qv__add { flex: 1; min-height: 48px; border: 0; cursor: pointer; }
.kwdc-qv__add:disabled { opacity: .5; cursor: not-allowed; }
.kwdc-qv__msg { margin: 0; min-height: 1.5em; color: var(--wp--preset--color--muted, #64748b); font-size: .9375rem; }
.kwdc-qv__more { font-weight: 600; }
@media (max-width: 700px) {
	.kwdc-qv__grid { grid-template-columns: 1fr; }
	.kwdc-qv__media img { max-height: 46vh; }
	.kwdc-qv__info { padding: 20px; }
}

/* Wishlist page */
.kwdc-wishlist__note { padding: 12px 16px; background: var(--wp--preset--color--surface, #f5f7fa); border-radius: 8px; font-size: .9375rem; }
.kwdc-wishlist__list { list-style: none; margin: 0; padding: 0; }
.kwdc-wishlist__item { display: grid; grid-template-columns: 96px 1fr auto; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--wp--preset--color--border, #e2e8f0); }
.kwdc-wishlist__img img { width: 96px; height: 96px; object-fit: cover; border-radius: 6px; display: block; background: #f1f5f9; }
.kwdc-wishlist__info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kwdc-wishlist__name { font-weight: 600; text-decoration: none; }
.kwdc-wishlist__stock { color: var(--wp--preset--color--sale, #dc2626); font-weight: 600; font-size: .9375rem; }
.kwdc-wishlist__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.kwdc-wishlist__add { min-height: 44px; border: 0; cursor: pointer; white-space: nowrap; text-decoration: none; }
.kwdc-wishlist__add.is-secondary { background: transparent !important; color: var(--wp--preset--color--contrast, #172033) !important; border: 1px solid currentColor !important; }
.kwdc-wishlist__empty { text-align: center; padding: 56px 16px; border: 1px dashed var(--wp--preset--color--border, #e2e8f0); border-radius: 12px; }
.kwdc-wishlist__empty-title { font-size: 1.25rem; font-weight: 700; margin: 0 0 4px; }
@media (max-width: 600px) {
	.kwdc-wishlist__item { grid-template-columns: 72px 1fr; }
	.kwdc-wishlist__img img { width: 72px; height: 72px; }
	.kwdc-wishlist__actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
}

/* WhatsApp */
.kwdc-wa-btn {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: var(--wp--custom--radius--button, 6px);
	border: 1px solid #1f7a45; color: #14613a; text-decoration: none; font-weight: 600; background: transparent;
}
.kwdc-wa-btn:hover { background: #1f7a45; color: #fff; }
.kwd-wa-float {
	position: fixed; right: 16px; bottom: 16px; z-index: 45; width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center; background: #1f7a45; color: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.2);
}
.kwd-wa-float svg { width: 28px; height: 28px; }

/* Pembayaran & demo notice */
.kwdc-payments { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; font-size: .875rem; color: var(--wp--preset--color--muted, #64748b); }
.kwdc-payments__item { border: 1px solid var(--wp--preset--color--border, #e2e8f0); border-radius: 4px; padding: 2px 8px; background: var(--wp--preset--color--base, #fff); color: var(--wp--preset--color--contrast, #172033); }
.kwdc-demo-notice { margin-top: 16px; font-size: .875rem; color: var(--wp--preset--color--muted, #64748b); border-inline-start: 3px solid var(--wp--preset--color--primary, #2563eb); padding-inline-start: 12px; }
.kwdc-editor-placeholder { padding: 8px 12px; border: 1px dashed #94a3b8; border-radius: 4px; font-size: 13px; }

/* --- Form inquiry ------------------------------------------------------ */
.kwdc-form { --kwdc-gap: 16px; }
.kwdc-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--kwdc-gap); }
.kwdc-form--newsletter .kwdc-form__grid { grid-template-columns: 1fr; }
.kwdc-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.kwdc-field--wide, .kwdc-field--textarea, .kwdc-field--checkbox { grid-column: 1 / -1; }
.kwdc-field label { font-weight: 600; font-size: 0.9375rem; }
.kwdc-field input:not([type=checkbox]), .kwdc-field select, .kwdc-field textarea {
	width: 100%; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 1rem; box-sizing: border-box;
	color: var(--wp--preset--color--contrast, #172033); background: var(--wp--preset--color--base, #fff);
	border: 1px solid var(--wp--preset--color--muted, #64748b); border-radius: var(--wp--custom--radius--medium, 8px);
}
.kwdc-field textarea { min-height: 140px; resize: vertical; }
.kwdc-field input:focus-visible, .kwdc-field select:focus-visible, .kwdc-field textarea:focus-visible { outline: 2px solid var(--wp--preset--color--primary, #2563eb); outline-offset: 1px; border-color: var(--wp--preset--color--primary, #2563eb); }
.kwdc-field.has-error input, .kwdc-field.has-error select, .kwdc-field.has-error textarea { border-color: var(--wp--preset--color--sale, #dc2626); }
.kwdc-field__error { margin: 0; color: var(--wp--preset--color--sale, #b91c1c); font-size: 0.875rem; font-weight: 600; }
.kwdc-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.kwdc-check input { width: 22px; height: 22px; margin-top: 2px; accent-color: var(--wp--preset--color--primary, #2563eb); }
.kwdc-req { color: var(--wp--preset--color--sale, #b91c1c); }
.kwdc-form__hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kwdc-form__note, .kwdc-form__privacy { font-size: 0.875rem; color: var(--wp--preset--color--muted, #64748b); margin: 12px 0; }
.kwdc-form__submit { min-height: 48px; margin-top: 4px; cursor: pointer; }
.kwdc-form__notice { padding: 14px 16px; border-radius: var(--wp--custom--radius--medium, 8px); margin-bottom: 16px; border-inline-start: 4px solid; }
.kwdc-form__notice--ok { background: #ECFDF3; border-color: #15803D; color: #14532D; }
.kwdc-form__notice--error { background: #FEF2F2; border-color: #B91C1C; color: #7F1D1D; }
@media (max-width: 600px) { .kwdc-form__grid { grid-template-columns: 1fr; } }

/* --- Countdown --------------------------------------------------------- */
.kwdc-countdown { text-align: center; }
.kwdc-countdown__label { margin: 0 0 8px; font-weight: 600; letter-spacing: .02em; }
.kwdc-countdown__units { display: inline-flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.kwdc-countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 64px; padding: 10px 8px; border-radius: var(--wp--custom--radius--medium, 8px); background: rgba(255,255,255,.14); border: 1px solid rgba(127,127,127,.35); }
.kwdc-countdown__num { font-size: clamp(1.5rem, 4vw, 2.25rem); font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.kwdc-countdown__u { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: .06em; }
.kwdc-countdown__date { margin: 10px 0 0; font-size: 0.875rem; opacity: .85; }
.kwdc-countdown__ended { margin: 0; font-weight: 700; }
/* ===== KlikWedding: acara, sapaan tamu, ucapan, amplop, paket & cek tanggal =====
   Memakai properti logis (inline/block) agar tata letak ikut terbalik di situs RTL. */
:root{--kwdc-line:var(--wp--preset--color--border,#e3e5ea);--kwdc-soft:var(--wp--preset--color--surface,#f4f5f7);--kwdc-muted:var(--wp--preset--color--muted,#5b6270);--kwdc-acc:var(--wp--preset--color--primary,#e8590c);--kwdc-acc-text:color-mix(in srgb,var(--wp--preset--color--primary,#e8590c) 55%,var(--wp--preset--color--contrast,#11151c));--kwdc-r:var(--wp--custom--radius--medium,10px)}
.kwdc-icon{display:block;width:100%;height:100%}
.kwdc-tag{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--kwdc-acc);color:var(--wp--preset--color--on-primary,#fff);margin-inline-end:6px}
.kwdc-empty{padding:24px;border:1px dashed var(--kwdc-line);border-radius:var(--kwdc-r);text-align:center}
.kwdc-more{margin:24px 0 0}
.kwdc-more__link,.kwdc-btn-link{font-weight:700;color:inherit;text-underline-offset:3px}
.kwdc-dl{margin:0;display:grid;gap:0;border:1px solid var(--kwdc-line);border-radius:var(--kwdc-r);overflow:hidden;background:var(--wp--preset--color--base,#fff)}
.kwdc-dl>div{display:grid;grid-template-columns:minmax(90px,42%) 1fr;gap:12px;padding:11px 16px;border-block-end:1px solid var(--kwdc-line)}
.kwdc-dl>div:last-child{border-block-end:0}
.kwdc-dl dt{font-size:.875rem;color:var(--kwdc-muted);align-self:center}
.kwdc-dl dd{margin:0;font-weight:600}
.kwdc-checks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.kwdc-checks li{position:relative;padding-inline-start:26px}
.kwdc-checks li::before{content:"";position:absolute;inset-inline-start:2px;top:.45em;width:12px;height:6px;border:2px solid var(--kwdc-acc-text);border-top:0;border-inline-end:0;transform:rotate(-45deg)}
.kwdc-sec__h{font-size:1.375rem;margin:36px 0 12px}

.kwdc-side__h{font-size:1rem;margin:20px 0 10px}

/* Bilah pencarian */
.kwdc-sf{background:var(--wp--preset--color--base,#fff);color:var(--wp--preset--color--contrast,#11151c);border-radius:var(--wp--custom--radius--large,14px);padding:18px 20px 20px;box-shadow:0 18px 50px rgba(8,12,20,.22);text-align:start}
.kwdc-sf--dark{background:rgba(12,16,24,.82);color:#fff;backdrop-filter:blur(6px)}
.kwdc-sf__title{margin:0 0 10px;font-size:1.25rem}
.kwdc-sf__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}
.kwdc-sf__field{display:flex;flex-direction:column;gap:6px;min-width:0}
.kwdc-sf__field label{font-size:.8125rem;font-weight:700;letter-spacing:.02em}
.kwdc-sf__field input,.kwdc-sf__field select{width:100%;min-height:48px;padding:8px 12px;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--wp--preset--color--contrast,#11151c);background:var(--wp--preset--color--base,#fff);border:1px solid var(--kwdc-muted);border-radius:var(--kwdc-r)}
.kwdc-sf__btn{min-height:48px;width:100%;border:0;cursor:pointer;font-weight:700;white-space:normal;line-height:1.2;padding:8px 12px !important;letter-spacing:.02em !important}
.kwdc-sf--dark .kwdc-sf__field input,.kwdc-sf--dark .kwdc-sf__field select{border-color:rgba(255,255,255,.4)}

/* Formulir */
.kwdc-form__ref{margin:0;padding:12px 14px;border-radius:8px;background:var(--kwdc-soft);display:flex;flex-direction:column;gap:2px}
.kwdc-form__ref span{font-size:.8125rem;color:var(--kwdc-muted)}
.kwdc-form__heading{margin:0 0 14px;font-size:1.375rem}


/* Panel harga & kredit */
.kwdc-cp{display:grid;gap:14px;scroll-margin-top:96px}
.kwdc-cp__price{margin:0;display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap;color:var(--kwdc-muted)}
.kwdc-cp__price strong{font-size:2rem;line-height:1.1;color:var(--wp--preset--color--contrast,#11151c)}
.kwdc-cp__btn{min-height:48px;display:inline-flex !important;align-items:center;justify-content:center;text-decoration:none;font-weight:700}
.kwdc-cp__btn.is-secondary{background:transparent !important;color:inherit !important;border:2px solid currentColor !important}
/* Catatan */
.kwdc-checks--one{grid-template-columns:1fr;margin:0}
.kwdc-notes{margin:0;padding-inline-start:18px;font-size:.875rem;color:var(--kwdc-muted)}


/* Rangkaian acara */
.kwdc-events__items{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.kwdc-ev{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:32px 24px;border:1px solid var(--kwdc-line);border-radius:var(--wp--custom--radius--large,14px);background:var(--wp--preset--color--base,#fff)}
.kwdc-ev__icon{display:block;width:56px;height:56px;padding:12px;box-sizing:border-box;border-radius:999px;background:color-mix(in srgb,var(--kwdc-acc) 14%,transparent);color:var(--kwdc-acc-text)}
.kwdc-ev__title{margin:10px 0 4px;font-size:1.75rem}
.kwdc-ev__date{margin:0;font-weight:700;font-size:1.0625rem}
.kwdc-ev__time{margin:0;color:var(--kwdc-acc-text);font-weight:700}
.kwdc-ev__venue{margin:10px 0 0;font-weight:600}
.kwdc-ev__addr,.kwdc-ev__note{margin:0;color:var(--kwdc-muted);font-size:.9375rem}
.kwdc-ev__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px}
.kwdc-ev__btn{min-height:44px;display:inline-flex !important;align-items:center;text-decoration:none;font-size:.9375rem !important}
.kwdc-ev__btn.is-secondary,.kwdc-cp__btn.is-secondary{background:transparent !important;color:inherit !important;border:2px solid currentColor !important}

/* Sapaan tamu */
.kwdc-guest{text-align:center;margin-block:8px 20px}
.kwdc-guest__label{margin:0;font-size:.9375rem;opacity:.9}
.kwdc-guest__name{margin:4px 0 0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700}
.kwdc-guest__note{margin:6px 0 0;font-size:.875rem;opacity:.85}

/* Ucapan */
.kwdc-wishes__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-height:560px;overflow:auto;padding-inline-end:4px}
.kwdc-wish{padding:16px 18px;border-radius:var(--kwdc-r);background:var(--wp--preset--color--base,#fff);border:1px solid var(--kwdc-line)}
.kwdc-wish__msg{margin:0}
.kwdc-wish__by{margin:8px 0 0;font-size:.875rem;color:var(--kwdc-muted)}
.kwdc-wishes__empty{margin:0;padding:24px;border:1px dashed var(--kwdc-line);border-radius:var(--kwdc-r);text-align:center;color:var(--kwdc-muted)}

/* Amplop digital */
.kwdc-gift__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.kwdc-gift__card,.kwdc-gift__addr{padding:22px;border-radius:var(--wp--custom--radius--large,14px);background:var(--wp--preset--color--base,#fff);border:1px solid var(--kwdc-line);text-align:center}
.kwdc-gift__addr{margin-top:16px}
.kwdc-gift__bank{margin:0;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8125rem;color:var(--kwdc-acc-text)}
.kwdc-gift__num{margin:8px 0 2px;font-size:1.375rem;font-weight:700;letter-spacing:.04em;font-variant-numeric:tabular-nums;user-select:all}
.kwdc-gift__holder{margin:0;color:var(--kwdc-muted);font-size:.9375rem}
.kwdc-gift__copy{margin-top:14px;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}
.kwdc-gift__copy:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.kwdc-gift__copy-i{width:18px;height:18px}
.kwdc-gift .kwdc-note{text-align:center}

/* Paket */
.kwdc-pkgs__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.kwdc-pkg{display:flex;flex-direction:column;background:var(--wp--preset--color--base,#fff);border:1px solid var(--kwdc-line);border-radius:var(--kwdc-r);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
.kwdc-pkg:hover{box-shadow:0 14px 34px rgba(12,18,28,.1);transform:translateY(-2px)}
.kwdc-pkg__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--kwdc-soft)}
.kwdc-pkg__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.kwdc-pkg:hover .kwdc-pkg__img img{transform:scale(1.04)}
.kwdc-pkg__body{display:flex;flex-direction:column;gap:10px;padding:18px 20px 20px;flex:1}
.kwdc-pkg__title{margin:0;font-size:1.3125rem;line-height:1.25}
.kwdc-pkg__title a{color:inherit;text-decoration:none}
.kwdc-pkg__title a:hover,.kwdc-pkg__title a:focus-visible{text-decoration:underline}
.kwdc-pkg__pax{margin:0;display:flex;align-items:center;gap:6px;font-size:.9375rem;color:var(--kwdc-muted)}
.kwdc-pkg__text{margin:0;color:var(--kwdc-muted);font-size:.9375rem}
.kwdc-pkg__price{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--kwdc-line);display:flex;align-items:baseline;gap:6px;color:var(--kwdc-muted);font-size:.875rem}
.kwdc-pkg__price strong{font-size:1.25rem;color:var(--wp--preset--color--contrast,#11151c);white-space:nowrap}
.kwdc-pkg__icon{display:block;width:52px;height:52px;padding:11px;box-sizing:border-box;border-radius:14px;background:color-mix(in srgb,var(--kwdc-acc) 14%,transparent);color:var(--kwdc-acc-text)}

/* Cek tanggal */
.kwdc-dc{display:grid;gap:14px}
.kwdc-dc__title{margin:0;font-size:1.25rem}
.kwdc-dc__form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.kwdc-dc__form .kwdc-sf__btn{width:auto;padding-inline:20px !important}
.kwdc-dc__when{margin:0 0 8px;font-weight:700}
.kwdc-dc__list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.kwdc-dc__list li{display:flex;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;border-inline-start:4px solid}
.kwdc-dc__list .is-free{background:#ECFDF3;border-color:#15803D;color:#14532D}
.kwdc-dc__list .is-full{background:#FEF2F2;border-color:#B91C1C;color:#7F1D1D}
.kwdc-dc__msg.is-no{margin:0;padding:10px 14px;border-radius:8px;background:#FEF2F2;color:#7F1D1D}
@media (max-width:480px){.kwdc-dc__form{grid-template-columns:1fr}.kwdc-dc__form .kwdc-sf__btn{width:100%}}
.kwdc-chip__i{display:inline-block;width:18px;height:18px;color:var(--kwdc-acc-text)}
.kwdc-cpt__date .kwdc-dc{margin-bottom:16px}
