/* SkyNet Online Shipping - Modern Checkout Cards UI */

/* Ensure WooCommerce Order Review Table Allocates Proper Width to Shipping Methods */
table.shop_table tr.shipping,
table.woocommerce-checkout-review-order-table tr.shipping,
.woocommerce-checkout-review-order-table tr.shipping,
.woocommerce-checkout-review-order-table .shipping {
    width: 100% !important;
}

table.shop_table tr.shipping th,
table.woocommerce-checkout-review-order-table tr.shipping th,
.woocommerce-checkout-review-order-table tr.shipping th,
.woocommerce-checkout-review-order-table .shipping th {
    width: 25% !important;
    min-width: 110px !important;
    vertical-align: top !important;
    padding-top: 14px !important;
}

table.shop_table tr.shipping td,
table.woocommerce-checkout-review-order-table tr.shipping td,
.woocommerce-checkout-review-order-table tr.shipping td,
.woocommerce-checkout-review-order-table .shipping td,
td[data-title*="Shipping" i] {
    width: 75% !important;
    min-width: 240px !important;
    padding: 6px 0 !important;
}

@media (max-width: 768px) {
    table.shop_table tr.shipping,
    table.woocommerce-checkout-review-order-table tr.shipping,
    .woocommerce-checkout-review-order-table tr.shipping {
        display: block !important;
        width: 100% !important;
    }
    table.shop_table tr.shipping th,
    table.woocommerce-checkout-review-order-table tr.shipping th,
    .woocommerce-checkout-review-order-table tr.shipping th,
    table.shop_table tr.shipping td,
    table.woocommerce-checkout-review-order-table tr.shipping td,
    .woocommerce-checkout-review-order-table tr.shipping td {
        display: block !important;
        width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* Grouped Cards Outer Container */
ul.woocommerce-shipping-methods,
.woocommerce-shipping-methods,
ul#shipping_method {
    list-style: none !important;
    margin: 8px 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
}

ul.woocommerce-shipping-methods li,
.woocommerce-shipping-methods li,
ul#shipping_method li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

ul.woocommerce-shipping-methods li:last-child,
.woocommerce-shipping-methods li:last-child,
ul#shipping_method li:last-child {
    border-bottom: none !important;
}

/* Shipping Card Container Row - Flex Wrap Enabled */
.skynet-shipping-card {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    border: 2px solid transparent !important;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
    margin: 0 !important;
    user-select: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* Border radius matching container for top and bottom cards */
ul.woocommerce-shipping-methods li:first-child .skynet-shipping-card,
.woocommerce-shipping-methods li:first-child .skynet-shipping-card,
ul#shipping_method li:first-child .skynet-shipping-card {
    border-top-left-radius: 9px !important;
    border-top-right-radius: 9px !important;
}

ul.woocommerce-shipping-methods li:last-child .skynet-shipping-card,
.woocommerce-shipping-methods li:last-child .skynet-shipping-card,
ul#shipping_method li:last-child .skynet-shipping-card {
    border-bottom-left-radius: 9px !important;
    border-bottom-right-radius: 9px !important;
}

/* Hover State */
.skynet-shipping-card:hover {
    background-color: #f8fafc !important;
}

/* Selected Card Active State */
.skynet-shipping-card.is-selected {
    background-color: #f0f7ff !important;
    border-color: #2563eb !important;
    z-index: 2 !important;
}

/* Left Column: Radio + Info */
.skynet-card-left {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-width: 120px !important;
    width: auto !important;
}

/* Radio circle hide native input visually across all WooCommerce checkout table selectors */
ul.woocommerce-shipping-methods li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"],
#shipping_method input[type="radio"],
ul#shipping_method li input[type="radio"],
tr.shipping td input[type="radio"],
td[data-title*="Shipping" i] input[type="radio"],
.woocommerce-checkout-review-order-table input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Custom Styled Shopify-Like Radio Circle */
.skynet-radio-circle {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border-radius: 50% !important;
    border: 2px solid #94a3b8 !important;
    background-color: #ffffff !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
    transition: all 0.15s ease-in-out !important;
    box-sizing: border-box !important;
}

.skynet-shipping-card.is-selected .skynet-radio-circle,
.skynet-radio-circle.is-checked {
    border-color: #2563eb !important;
    background-color: #2563eb !important;
    box-shadow: inset 0 0 0 3px #ffffff !important;
}

/* Card Info Column */
.skynet-card-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    min-width: 90px !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    word-break: normal !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
}

/* Card Title Text - Never breaks character-by-character */
.skynet-card-title {
    font-weight: 600 !important;
    font-size: 0.92rem !important;
    color: #0f172a !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    word-wrap: normal !important;
    overflow-wrap: normal !important;
    display: block !important;
}

.skynet-vat-tag {
    font-weight: 400 !important;
    color: #0f172a !important;
    font-size: 0.92rem !important;
}

/* Subtitle Line (e.g. "1 Day to deliver") */
.skynet-card-subtitle {
    font-size: 0.8rem !important;
    font-weight: 500 !important;
    color: #64748b !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* Right Column: Price + Incl VAT stacked cleanly */
.skynet-card-right {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    text-align: right !important;
    min-width: max-content !important;
    margin-left: auto !important;
}

.skynet-card-price-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    white-space: nowrap !important;
    gap: 1px !important;
}

.skynet-card-price {
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

.skynet-card-price .amount,
.skynet-card-price .woocommerce-Price-amount {
    font-weight: 700 !important;
    color: #0f172a !important;
    font-size: inherit !important;
    white-space: nowrap !important;
}

.skynet-card-vat {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    color: #64748b !important;
    line-height: 1.2 !important;
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    white-space: nowrap !important;
}

/* Selected PUDO Point Badge inside Card */
.skynet-card-pudo-selected {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 6px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #047857 !important;
    background-color: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

/* Label element full width fix */
ul.woocommerce-shipping-methods li label,
.woocommerce-shipping-methods li label,
ul#shipping_method li label {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
}

/* PUDO Button Full-Width Bottom Row Container */
#skypoint-pudo-wrapper {
    display: block !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    margin-bottom: 2px !important;
    padding: 0 !important;
    clear: both !important;
    order: 10 !important;
    box-sizing: border-box !important;
}

/* Action button inside card (PUDO Counter Change Location) */
#skypoint-pudo-wrapper #skypoint-open-modal-btn {
    width: 100% !important;
    text-align: center !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 6px !important;
    background-color: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    display: block !important;
    box-sizing: border-box !important;
    text-transform: uppercase !important;
    transition: background-color 0.15s ease, box-shadow 0.15s ease !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.3) !important;
    margin-top: 0 !important;
}

#skypoint-pudo-wrapper #skypoint-open-modal-btn:hover {
    background-color: #1d4ed8 !important;
    box-shadow: 0 2px 6px rgba(29, 78, 216, 0.4) !important;
}

#skypoint-pudo-wrapper #skypoint-selected-pudo {
    margin-bottom: 8px !important;
    padding: 8px 12px !important;
    background: #ecfdf5 !important;
    border: 1px solid #a7f3d0 !important;
    border-radius: 6px !important;
    color: #065f46 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 500 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Universal WooCommerce Theme Adapter */
.wc-block-components-shipping-rates-control__package-title {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 1px !important;
    line-height: 1.35 !important;
}

.skynet-title-main {
    font-weight: 600 !important;
    color: inherit !important;
    display: block !important;
}

.skynet-transit-line {
    display: block !important;
    font-weight: normal !important;
    font-size: 0.85em !important;
    color: inherit !important;
    opacity: 0.85 !important;
    margin-top: 1px !important;
}

.skynet-vat-line {
    display: block !important;
    font-weight: normal !important;
    font-size: 0.82em !important;
    color: inherit !important;
    opacity: 0.75 !important;
    margin-top: 1px !important;
}

/* Export Breakdown Card Component Styling */
.skynet-export-breakdown-card {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    color: #334155 !important;
    line-height: 1.5 !important;
    display: block !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    clear: both !important;
    margin-top: 8px !important;
    padding: 8px 10px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
    order: 10 !important;
}

.skynet-breakdown-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    clear: both !important;
    margin-bottom: 3px !important;
    font-size: 0.82rem !important;
}

.skynet-breakdown-row span {
    color: #64748b !important;
    font-weight: 500 !important;
}

.skynet-breakdown-row strong {
    color: #0f172a !important;
    font-weight: 600 !important;
}

.skynet-breakdown-row.skynet-breakdown-total {
    margin-top: 5px !important;
    padding-top: 5px !important;
    border-top: 1px dashed #cbd5e1 !important;
}

.skynet-breakdown-row.skynet-breakdown-total span {
    color: #0f172a !important;
    font-weight: 700 !important;
}

.skynet-breakdown-row.skynet-breakdown-total strong {
    color: #2563eb !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
}

/* WoodMart & Universal Native Theme Breakdown Box Overrides */
.skynet-export-breakdown-box {
    display: block !important;
    white-space: normal !important;
    clear: both !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 6px !important;
    padding: 8px 10px !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    color: #334155 !important;
    font-weight: normal !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
