/* Delivery calculator (delivery.html) */
.dc-wrap { background:#fff; border:1px solid var(--purple-100,#eadcf1); border-radius:20px; padding:36px 40px; margin:0 0 40px; box-shadow:0 2px 12px rgba(109,48,133,.06); }
.dc-eyebrow { font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--purple-600,#8b4da0); margin:0 0 8px; }
.dc-wrap h2 { margin:0 0 10px !important; }
.dc-lede { font-size:15px; color:#555; margin:0 0 24px !important; max-width:640px; }
.dc-form { display:grid; grid-template-columns:1fr 160px auto; gap:16px; align-items:end; }
.dc-field { display:flex; flex-direction:column; gap:6px; }
.dc-field label { font-size:13px; font-weight:600; color:var(--ink,#2a1a33); }
.dc-field input, .dc-field select { border:1px solid var(--purple-100,#eadcf1); border-radius:10px; padding:12px 14px; font:inherit; font-size:15px; color:var(--ink,#2a1a33); background:#FDFBF8; width:100%; box-sizing:border-box; }
.dc-field input:focus-visible, .dc-field select:focus-visible, .dc-btn:focus-visible, .dc-link:focus-visible { outline:3px solid #f4c74f; outline-offset:2px; border-color:var(--purple-600,#8b4da0); }
.dc-field input[aria-invalid="true"] { border-color:#b3261e; }
.dc-btn { background:var(--purple-700,#6D3085); color:#fff; border:none; border-radius:50px; padding:13px 28px; font:inherit; font-size:15px; font-weight:600; cursor:pointer; transition:background .2s, transform .2s; white-space:nowrap; }
.dc-btn:hover:not(:disabled) { background:var(--purple-600,#8b4da0); transform:translateY(-1px); }
.dc-btn:disabled { opacity:.6; cursor:progress; }
.dc-btn.secondary { background:transparent; color:var(--purple-700,#6D3085); border:1.5px solid var(--purple-700,#6D3085); padding:10px 22px; }
.dc-hint { font-size:13px; color:#b3261e; min-height:1em; margin:6px 0 0; }
.dc-status { margin-top:24px; }
.dc-note { background:linear-gradient(135deg,#f8f4ff,#fdf8e7); border:1px solid var(--purple-100,#eadcf1); border-radius:14px; padding:20px 22px; font-size:15px; color:#444; line-height:1.65; }
.dc-note strong { color:var(--ink,#2a1a33); }
.dc-note.error { background:#fdf1ef; border-color:#efc6bf; }
.dc-link { display:inline-block; margin-top:12px; color:var(--purple-700,#6D3085); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.dc-sk { height:56px; border-radius:12px; background:linear-gradient(90deg,#f3edf6 0%,#faf6fb 50%,#f3edf6 100%); background-size:200% 100%; animation:dcShim 1.2s linear infinite; margin-bottom:10px; }
@keyframes dcShim { to { background-position:-200% 0; } }
@media (prefers-reduced-motion: reduce) { .dc-sk { animation:none; } }
.dc-h { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--purple-700,#6D3085); margin:24px 0 10px; }
.dc-rates { list-style:none; padding:0 !important; margin:0 !important; display:grid; gap:10px; }
.dc-rates li { display:flex; justify-content:space-between; gap:16px; align-items:center; border:1px solid var(--purple-100,#eadcf1); border-radius:12px; padding:14px 18px; margin:0 !important; }
.dc-rates .nm { font-weight:700; color:var(--ink,#2a1a33); }
.dc-rates .meta { display:block; font-size:13px; color:#666; }
.dc-rates .pr { font-family:'Fraunces',Georgia,serif; font-size:1.2rem; color:var(--purple-700,#6D3085); white-space:nowrap; }
.dc-rates li.off { opacity:.55; }
.dc-dates { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; list-style:none; padding:0 !important; margin:0 !important; }
.dc-dates li { border:1px solid var(--purple-100,#eadcf1); border-radius:12px; padding:12px 14px; margin:0 !important; font-size:14px; background:#FDFBF8; }
.dc-dates .d { font-weight:700; color:var(--ink,#2a1a33); display:block; }
.dc-dates .s { font-size:12.5px; color:#666; display:block; margin-top:2px; }
.dc-badge { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:3px 9px; border-radius:20px; background:var(--purple-50,#f6eefa); color:var(--purple-700,#6D3085); }
.dc-fine { font-size:13px !important; color:#666 !important; margin:16px 0 0 !important; }
@media (max-width:720px) { .dc-wrap { padding:26px 20px; } .dc-form { grid-template-columns:1fr 1fr; } .dc-form .dc-btn { grid-column:span 2; } }
