/* RentalAjay - compact marketplace/product/checkout mobile UI.
   Desktop is intentionally untouched. */

@media (max-width: 700px) {
    /* Product detail: compact, marketplace-style hierarchy. */
    body:has(.product-detail-card) .container {
        padding-inline: 8px !important;
    }

    body:has(.product-detail-card) .detail-grid {
        gap: 6px !important;
        margin-top: 4px !important;
    }

    body:has(.product-detail-card) .product-gallery,
    body:has(.product-detail-card) .product-detail-card,
    body:has(.product-detail-card) .item-booking-card,
    body:has(.product-detail-card) .store-seller-panel {
        border-radius: 10px !important;
    }

    body:has(.product-detail-card) .product-gallery-slide {
        aspect-ratio: 1 / 0.94;
    }

    body:has(.product-detail-card) .product-gallery-thumbs {
        padding: 5px !important;
        gap: 4px !important;
    }

    body:has(.product-detail-card) .product-gallery-thumbs button {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
    }

    body:has(.product-detail-card) .product-detail-card .card-body {
        padding: 9px !important;
    }

    body:has(.product-detail-card) .product-detail-card .small.muted {
        font-size: .61rem !important;
        line-height: 1.2 !important;
    }

    body:has(.product-detail-card) .product-detail-card h1 {
        margin: 4px 0 5px !important;
        font-size: 1.03rem !important;
        line-height: 1.25 !important;
        letter-spacing: -.01em;
    }

    body:has(.product-detail-card) .product-detail-description {
        margin: 0 0 7px !important;
        font-size: .69rem !important;
        line-height: 1.4 !important;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    body:has(.product-detail-card) .product-detail-card .price {
        margin: 5px 0 8px !important;
        font-size: 1.18rem !important;
        line-height: 1.1 !important;
        font-weight: 850 !important;
    }

    body:has(.product-detail-card) .product-detail-card .price .small {
        font-size: .64rem !important;
        font-weight: 600;
    }

    body:has(.product-detail-card) .share-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 4px !important;
        margin-bottom: 8px !important;
    }

    body:has(.product-detail-card) .share-actions .btn,
    body:has(.product-detail-card) .share-actions button {
        min-height: 32px !important;
        padding: 5px 4px !important;
        font-size: .62rem !important;
        border-radius: 7px !important;
    }

    body:has(.product-detail-card) .spec-list {
        gap: 4px !important;
    }

    body:has(.product-detail-card) .spec {
        padding: 6px 7px !important;
        border-radius: 7px !important;
    }

    body:has(.product-detail-card) .spec span,
    body:has(.product-detail-card) .spec strong {
        font-size: .62rem !important;
        line-height: 1.25 !important;
    }

    body:has(.product-detail-card) .item-booking-card {
        margin-top: 7px !important;
    }

    body:has(.product-detail-card) .item-booking-card .card-body {
        padding: 8px !important;
    }

    body:has(.product-detail-card) .item-booking-card h2 {
        margin: 0 0 3px !important;
        font-size: .86rem !important;
        line-height: 1.2 !important;
    }

    body:has(.product-detail-card) .item-booking-intro {
        margin: 0 0 7px !important;
        font-size: .64rem !important;
        line-height: 1.35 !important;
    }

    body:has(.product-detail-card) .item-booking-form .form-row {
        gap: 5px !important;
    }

    body:has(.product-detail-card) .item-booking-form .form-group {
        margin-bottom: 6px !important;
    }

    body:has(.product-detail-card) .item-booking-form .form-label {
        margin-bottom: 3px !important;
        font-size: .62rem !important;
    }

    body:has(.product-detail-card) .item-booking-form .form-control {
        min-height: 36px !important;
        height: 36px !important;
        padding: 6px 8px !important;
        border-radius: 7px !important;
        font-size: .68rem !important;
    }

    body:has(.product-detail-card) .item-booking-form .btn {
        min-height: 38px !important;
        padding: 7px 9px !important;
        border-radius: 8px !important;
        font-size: .68rem !important;
    }

    body:has(.product-detail-card) .store-seller-panel {
        margin-top: 6px !important;
        padding: 8px !important;
    }

    body:has(.product-detail-card) .store-seller-panel h2 {
        font-size: .84rem !important;
    }

    /* Cart / checkout: turn the desktop table into compact product cards. */
    body:has([data-cart-total]) .container {
        padding-inline: 8px !important;
    }

    body:has([data-cart-total]) .section-head {
        margin-bottom: 6px !important;
    }

    body:has([data-cart-total]) .section-head h1 {
        font-size: 1.05rem !important;
        margin-bottom: 2px !important;
    }

    body:has([data-cart-total]) .section-head p {
        font-size: .64rem !important;
        line-height: 1.35 !important;
        margin: 0 !important;
    }

    body:has([data-cart-total]) .alert {
        margin: 5px 0 !important;
        padding: 7px 8px !important;
        border-radius: 8px !important;
        font-size: .63rem !important;
        line-height: 1.3 !important;
    }

    body:has([data-cart-total]) form.card {
        margin-bottom: 7px !important;
        border-radius: 10px !important;
        overflow: hidden;
    }

    body:has([data-cart-total]) .table-wrap {
        overflow: visible !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    body:has([data-cart-total]) .table-wrap table {
        display: block;
        width: 100%;
        border: 0;
    }

    body:has([data-cart-total]) .table-wrap thead {
        display: none;
    }

    body:has([data-cart-total]) .table-wrap tbody {
        display: block;
        width: 100%;
    }

    body:has([data-cart-total]) .table-wrap tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0 8px;
        padding: 8px !important;
        border-bottom: 1px solid var(--border) !important;
        background: var(--surface, transparent);
    }

    body:has([data-cart-total]) .table-wrap tr:last-child {
        border-bottom: 0 !important;
    }

    body:has([data-cart-total]) .table-wrap td {
        display: flex;
        align-items: center;
        min-width: 0;
        padding: 3px 0 !important;
        border: 0 !important;
        font-size: .64rem !important;
        line-height: 1.25 !important;
    }

    body:has([data-cart-total]) .table-wrap td:first-child {
        grid-column: 1 / -1;
        align-items: flex-start;
        padding-bottom: 5px !important;
    }

    body:has([data-cart-total]) .table-wrap td:nth-child(2)::before,
    body:has([data-cart-total]) .table-wrap td:nth-child(3)::before,
    body:has([data-cart-total]) .table-wrap td:nth-child(4)::before,
    body:has([data-cart-total]) .table-wrap td:nth-child(5)::before {
        margin-right: 5px;
        color: var(--muted);
        font-size: .56rem;
        font-weight: 600;
    }

    body:has([data-cart-total]) .table-wrap td:nth-child(2)::before { content: 'Harga'; }
    body:has([data-cart-total]) .table-wrap td:nth-child(3)::before { content: 'Qty'; }
    body:has([data-cart-total]) .table-wrap td:nth-child(4)::before { content: 'Stok'; }
    body:has([data-cart-total]) .table-wrap td:nth-child(5)::before { content: 'Deposit'; }

    body:has([data-cart-total]) .table-wrap td:nth-child(6) {
        justify-content: flex-end;
    }

    body:has([data-cart-total]) .table-wrap td:nth-child(6) .btn {
        min-height: 28px !important;
        padding: 4px 7px !important;
        border-radius: 6px !important;
        font-size: .58rem !important;
    }

    body:has([data-cart-total]) .table-wrap .actions {
        width: 100%;
        gap: 7px !important;
        align-items: center;
    }

    body:has([data-cart-total]) .table-wrap .table-img {
        width: 52px !important;
        height: 52px !important;
        flex: 0 0 52px;
        border-radius: 8px !important;
    }

    body:has([data-cart-total]) .table-wrap td:first-child strong {
        display: block;
        font-size: .7rem !important;
        line-height: 1.25 !important;
        font-weight: 750;
    }

    body:has([data-cart-total]) .table-wrap td:first-child .small {
        margin-top: 2px;
        font-size: .55rem !important;
    }

    body:has([data-cart-total]) .table-wrap td:nth-child(3) .form-control {
        width: 52px !important;
        min-height: 29px !important;
        height: 29px !important;
        padding: 4px 5px !important;
        border-radius: 6px !important;
        font-size: .62rem !important;
    }

    body:has([data-cart-total]) .card-body {
        padding: 8px !important;
    }

    body:has([data-cart-total]) .card-body > .btn:not(.btn-block) {
        min-height: 32px !important;
        padding: 6px 8px !important;
        font-size: .62rem !important;
        border-radius: 7px !important;
    }

    body:has([data-cart-total]) .grid.grid-2 {
        gap: 7px !important;
    }

    body:has([data-cart-total]) .grid.grid-2 > .card {
        border-radius: 10px !important;
    }

    body:has([data-cart-total]) .grid.grid-2 h2 {
        margin-bottom: 4px !important;
        font-size: .86rem !important;
        line-height: 1.2 !important;
    }

    body:has([data-cart-total]) .grid.grid-2 p.muted {
        margin-bottom: 7px !important;
        font-size: .62rem !important;
        line-height: 1.35 !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .form-row {
        gap: 5px !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .form-group {
        margin-bottom: 6px !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .form-label {
        margin-bottom: 3px !important;
        font-size: .61rem !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .form-control {
        min-height: 36px !important;
        height: 36px !important;
        padding: 6px 8px !important;
        border-radius: 7px !important;
        font-size: .66rem !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .btn {
        min-height: 36px !important;
        padding: 7px 8px !important;
        border-radius: 7px !important;
        font-size: .64rem !important;
    }

    body:has([data-cart-total]) .summary-row {
        gap: 7px !important;
        padding: 5px 0 !important;
        font-size: .65rem !important;
        line-height: 1.25 !important;
    }

    body:has([data-cart-total]) .summary-row.total {
        margin-top: 4px !important;
        padding-top: 8px !important;
        font-size: .86rem !important;
    }

    body:has([data-cart-total]) .summary-row strong,
    body:has([data-cart-total]) .summary-row [data-cart-total] {
        font-size: .68rem !important;
    }

    body:has([data-cart-total]) .summary-row.total [data-cart-total] {
        font-size: .95rem !important;
        font-weight: 850 !important;
    }

    body:has([data-cart-total]) .grid.grid-2 .btn.btn-primary.btn-block {
        position: sticky;
        bottom: 7px;
        z-index: 20;
        box-shadow: 0 6px 20px rgba(0,0,0,.16);
    }
}

@media (max-width: 390px) {
    body:has(.product-detail-card) .product-detail-card .card-body,
    body:has(.product-detail-card) .item-booking-card .card-body,
    body:has([data-cart-total]) .card-body {
        padding: 7px !important;
    }

    body:has([data-cart-total]) .table-wrap tr {
        padding: 7px !important;
    }

    body:has([data-cart-total]) .table-wrap .table-img {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px;
    }
}
