/* ===== Грузовые формы (/cargo/): «Расчёт стоимости» и «Заявка на перевозку» ===== */
.cargo-widget{max-width:1100px;padding:28px 32px 32px}
.cargo-widget [hidden]{display:none!important}
.cargo-widget .tabs{display:flex;width:100%;margin-bottom:28px}
.cargo-widget .tab{flex:1;justify-content:center;padding:12px 18px;font-size:15px;white-space:nowrap}

.cargo-intro{margin-bottom:4px}
.cargo-intro .widget-title{font-size:22px;margin-bottom:8px}
.cargo-intro p{color:var(--color-text-secondary);font-size:14px;line-height:1.5;max-width:760px;margin:0}

/* разделы */
.cargo-section{border:0;padding:0;margin:28px 0 0;min-width:0}
.cargo-section__title{padding:0;margin:0 0 16px;width:100%;display:flex;align-items:center;gap:14px;
	font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--color-primary)}
.cargo-section__title::after{content:'';flex:1;height:1px;background:var(--color-border)}

/* сетка 6 колонок: у каждого поля своя доля, в ряду всегда 6 из 6 — все поля одной высоты, края ровные */
.cargo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 12px;align-items:start}
.cargo-cell{min-width:0}
.cargo-span-2{grid-column:span 2}
.cargo-span-3{grid-column:span 3}
.cargo-span-4{grid-column:span 4}
.cargo-span-6{grid-column:1/-1}

/* рамка поля: одинаковая высота, подпись сверху, значение снизу */
.cargo-cell .field{width:100%;min-height:66px;justify-content:flex-start;gap:2px;box-sizing:border-box}
.cargo-cell .field__label{margin:0;line-height:1.35}
.cargo-cell .field__input,.cargo-cell .field__select,.cargo-cell .field__textarea{min-width:0;min-height:24px;line-height:24px;padding:0}
.cargo-cell .field__textarea{min-height:72px;line-height:1.5;padding-top:2px}
.cargo-cell input[type="date"].field__input{appearance:none;-webkit-appearance:none;min-height:24px;text-align:left}
.cargo-cell .field__select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%237D9BC1' stroke-width='2'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 2px center;padding-right:24px}
.cargo-cell .field__hint,.field__hint{display:block;margin:6px 4px 0;font-size:12px;line-height:1.45;color:var(--color-text-secondary);font-weight:400}
.field__error{display:none;margin:6px 4px 0;font-size:12px;line-height:1.3;font-weight:600;color:#E5484D}
.cargo-cell--invalid .field{border-color:#E5484D;background:#fff}
.cargo-cell--invalid .field:focus-within{box-shadow:0 0 0 4px rgba(229,72,77,.12)}
.cargo-cell--invalid>.field__error{display:block}
.cargo-form__trap{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* файлы */
.cargo-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:4px}
.cargo-files__btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:8px 16px;font-size:14px;font-weight:600;color:var(--color-primary);
	background:#fff;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}
.cargo-files__btn:hover{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(96,110,178,.1)}
.cargo-files__hint{font-size:12px;color:var(--color-text-secondary)}
.cargo-files__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.cargo-files__list:empty{display:none}
.cargo-files__list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;font-weight:500;overflow-wrap:anywhere}
.cargo-files__list button{flex:0 0 28px;width:28px;height:28px;border-radius:50%;font-size:18px;line-height:1;color:var(--color-text-muted);transition:all .2s}
.cargo-files__list button:hover{background:var(--color-bg-soft);color:#E5484D}

/* согласия и отправка */
.cargo-consents{display:flex;flex-direction:column;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border)}
.cargo-consents .field__error{display:block;margin:0}
.cargo-consents .field__error:empty{display:none}
.cargo-actions{display:flex;align-items:center;gap:20px;margin-top:20px;flex-wrap:wrap}
.cargo-submit{min-width:280px;min-height:56px;padding:0 36px;font-size:16px;border-radius:var(--radius-md)}
.cargo-submit:disabled{opacity:.7;cursor:progress;transform:none;box-shadow:none}
.cargo-submit.is-loading::after{content:'';width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:cargo-spin .7s linear infinite}
@keyframes cargo-spin{to{transform:rotate(360deg)}}
.cargo-form__status{font-size:14px;font-weight:600}
.cargo-form__status--error{color:#E5484D}

/* успех */
.cargo-success{text-align:center;padding:48px 16px}
.cargo-success__icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:rgba(76,175,80,.12);color:var(--color-success);font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center}
.cargo-success__title{font-size:24px;font-weight:800;color:var(--color-primary-dark);margin:0 0 8px}
.cargo-success__text{color:var(--color-text-secondary);max-width:480px;margin:0 auto 24px}

/* планшет: поля чуть уже, сетка та же */
@media(max-width:1024px){
	.cargo-widget{padding:24px 24px 28px}
}
/* телефон: одна колонка, крупные поля, без зума iOS */
@media(max-width:768px){
	.cargo-widget{padding:16px 14px 22px;border-radius:var(--radius-lg)}
	.cargo-widget .tabs{margin-bottom:20px}
	.cargo-widget .tab{padding:11px 6px;font-size:13px;white-space:normal;text-align:center;line-height:1.25}
	.cargo-intro .widget-title{font-size:19px}
	.cargo-section{margin-top:24px}
	.cargo-grid{grid-template-columns:minmax(0,1fr);gap:12px}
	.cargo-span-2,.cargo-span-3,.cargo-span-4,.cargo-span-6{grid-column:1/-1}
	.cargo-cell .field{min-height:62px;padding:12px 14px}
	.cargo-cell .field__input,.cargo-cell .field__select,.cargo-cell .field__textarea{font-size:16px}
	.cargo-actions{flex-direction:column;align-items:stretch;gap:12px}
	.cargo-submit{width:100%;min-width:0}
	.cargo-form__status{text-align:center}
}

/* ===== Календарь ===== */
.cal{position:absolute;z-index:70;top:72px;left:0;width:312px;max-width:100%;padding:16px;box-sizing:border-box;background:#fff;
	border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-family:var(--font-main);animation:cal-in .15s ease-out}
@keyframes cal-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal__title{font-size:15px;font-weight:700;color:var(--color-primary-dark);text-transform:capitalize}
.cal__nav{width:34px;height:34px;border-radius:var(--radius-sm);font-size:22px;line-height:1;color:var(--color-primary);transition:background .2s}
.cal__nav:hover{background:var(--color-bg-soft)}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal__dow{padding:6px 0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--color-text-muted)}
.cal__dow--we{color:var(--color-cta)}
.cal__day{aspect-ratio:1;border-radius:var(--radius-sm);font-size:14px;font-weight:600;color:var(--color-text);transition:background .15s,color .15s}
.cal__day:hover:not(:disabled){background:var(--color-bg-soft);color:var(--color-primary)}
.cal__day--we{color:var(--color-cta)}
.cal__day--today{box-shadow:inset 0 0 0 1.5px var(--color-primary)}
.cal__day--sel,.cal__day--sel:hover:not(:disabled){background:var(--color-primary);color:#fff;box-shadow:none}
.cal__day:disabled{color:var(--color-border);cursor:not-allowed}
.cal__foot{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}
.cal__link{padding:6px 4px;font-size:13px;font-weight:600;color:var(--color-primary);transition:color .2s}
.cal__link:hover{color:var(--color-cta)}
@media(max-width:768px){.cal{width:100%;top:70px}.cal__day{font-size:15px}}
