/* ==============================
   COURIER PLATFORM CSS v2.1
   ============================== */

/* Card Wrapper */
.cp-card { max-width: 900px; margin: auto; }

/* Tabs */
.cp-tabs { display:flex; gap:12px; margin-bottom:20px; }
.cp-tabs button {
    flex:1; padding:14px; border-radius:30px; border:none;
    background:#eee; font-weight:700; cursor:pointer; transition:0.3s; font-size:14px;
}
.cp-tabs .active { background:#0b2d52; color:#fff; }

/* Tab Content */
.cp-tab { display:none; }
.cp-tab.active { display:block; }
.cp-tab label { display:block; margin-top:16px; font-weight:600; margin-bottom:6px; }
.cp-tab input {
    width:100%; padding:14px; border-radius:30px;
    border:1px solid #ccc; box-sizing:border-box; font-size:16px;
}

/* Buttons */
.cp-btn {
    margin-top:20px; width:100%; padding:16px;
    background:#0b2d52; color:#fff; border-radius:30px; border:none;
    cursor:pointer; font-size:16px; font-weight:700; transition:0.3s; letter-spacing:0.5px;
}
.cp-btn:hover { background:#1a3f6f; transform:translateY(-1px); }

/* ==============================
   ALL COURIERS LIST
   ============================== */
.cp-couriers-list { margin-top:20px; }
.cp-couriers-list h3 { color:#0b2d52; margin-bottom:16px; }

/* Individual courier radio card */
.cp-radio { cursor:pointer; margin-bottom:12px; }
.cp-radio input[type="radio"] { display:none; }

.cp-courier-box {
    border:2px solid #e8e8e8;
    padding:16px 20px;
    border-radius:14px;
    transition:0.2s;
    background:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.cp-courier-box:hover {
    border-color:#0b2d52;
    background:#f8fbff;
    box-shadow:0 4px 16px rgba(11,45,82,0.10);
}
.cp-courier-selected {
    border-color:#0b2d52 !important;
    background:#f0f6ff !important;
    box-shadow:0 4px 16px rgba(11,45,82,0.15) !important;
}

.cp-courier-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
}
.cp-courier-left { flex:1; }
.cp-courier-right { text-align:right; flex-shrink:0; }

.cp-courier-name { font-size:16px; font-weight:700; color:#1a1a1a; margin-bottom:4px; }
.cp-courier-meta { font-size:13px; color:#888; }

.cp-courier-price {
    font-size:22px; font-weight:800; color:#0b2d52; margin-bottom:2px;
}
.cp-courier-platform {
    font-size:11px; text-transform:uppercase; color:#aaa;
    letter-spacing:0.8px; font-weight:600;
}

/* Best price badge */
.cp-best-badge {
    display:inline-block;
    background:#22c55e; color:#fff;
    font-size:10px; font-weight:700;
    padding:3px 10px; border-radius:20px;
    letter-spacing:0.5px; margin-bottom:4px;
    text-transform:uppercase;
}

/* Error / Info */
.cp-error {
    background:#fff3cd; color:#856404;
    padding:14px 18px; border-radius:10px;
    margin-top:16px; border:1px solid #ffc107;
}

/* Loader */
.cp-loader {
    width:36px; height:36px;
    border:4px solid #ddd; border-top-color:#0b2d52;
    border-radius:50%; animation:cp-spin 0.8s linear infinite;
    margin:0 auto 12px;
}
@keyframes cp-spin { to { transform:rotate(360deg); } }

/* ==============================
   SHIPMENT DETAILS PAGE
   ============================== */
.ship-card { max-width:820px; margin:40px auto; padding:10px; }
.ship-title { font-size:38px; font-weight:300; margin-bottom:30px; }
.ship-group { margin-bottom:22px; }
.ship-group label { display:block; font-weight:600; margin-bottom:8px; }
.ship-input, .ship-weight input, .ship-dimensions input {
    width:100% !important; height:56px; padding:14px 16px;
    border-radius:10px; border:1px solid #ddd; font-size:16px; box-sizing:border-box;
}
.ship-weight { display:flex; align-items:center; border:1px solid #ddd; border-radius:10px; overflow:hidden; }
.ship-weight input { border:none !important; flex:1; }
.ship-weight span {
    background:#f3f3f3; padding:0 18px; height:56px;
    display:flex; align-items:center; font-weight:600; color:#555;
}
.ship-dimensions { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.ship-btn {
    width:100%; height:60px; margin-top:30px; border-radius:35px; border:none;
    font-size:18px; letter-spacing:1px; background:#0b2d52; color:#fff; cursor:pointer; transition:0.3s;
}
.ship-btn:disabled { background:#9aa7b5; cursor:not-allowed; }

/* ==============================
   CONFIRM / BOOKING PAGE
   ============================== */
.btn-primary { background-color:#0b2d52 !important; border-color:#0b2d52 !important; }
.btn-primary:disabled { background-color:#9aa7b5 !important; border-color:#9aa7b5 !important; }

h2.mb-4.fw-semibold { font-family:'Roboto', sans-serif; font-weight:300 !important; font-size:40px; }
div#cp-summary { line-height:1.9; font-weight:300; font-size:15px; }

input#cp_weight { height:42.5px; }
#cp_weight_unit { height:42.5px; }
#cp-details input { max-width:100%; }

/* ==============================
   RESPONSIVE
   ============================== */
@media (max-width:600px) {
    .cp-courier-row { flex-direction:column; align-items:flex-start; }
    .cp-courier-right { text-align:left; }
    .cp-courier-price { font-size:20px; }
    .ship-dimensions { grid-template-columns:1fr; }
    .cp-tabs button { padding:10px; font-size:13px; }
}

@media (min-width:922px) {
    .ast-container { max-width:100%; padding:0 !important; }
    .e-con-inner { max-width:100% !important; }
}
