/* ============================================
   MY ACCOUNT - HORIZONTAL NAVIGATION DESIGN
   Inspired by luxury brand layouts
   ============================================ */

/* CSS Variables */
:root {
    --lv-bg: #ffffff;
    --lv-bg-alt: #f7f7f7;
    --lv-text: #1a1a1a;
    --lv-text-light: #666666;
    --lv-text-muted: #999999;
    --lv-accent: #f26522;
    --lv-accent-hover: #e05a1c;
    --lv-border: #e5e5e5;
    --lv-border-dark: #cccccc;
    --lv-success: #28a745;
    --lv-transition: 0.2s ease;
}

/* ============================================
   RESET & BASE
   ============================================ */

.lv-account-modern {
    background: var(--lv-bg);
    min-height: 100vh;
}

.lv-account-modern *,
.lv-account-modern *::before,
.lv-account-modern *::after {
    box-sizing: border-box;
}

/* ============================================
   TOP BAR WITH HORIZONTAL NAVIGATION
   ============================================ */

.lv-top-bar {
    background: var(--lv-bg);
    border-bottom: 1px solid var(--lv-border);
    position: relative; /* NOT sticky */
    z-index: 10; /* Lower than main nav */
}

.lv-top-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Brand Section */
.lv-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 0;
}

.lv-brand .brand-text {
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--lv-text);
    letter-spacing: 0.5px;
}

.lv-brand .brand-logo {
    height: 28px;
    width: auto;
}

.lv-brand .brand-fallback {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--lv-accent);
    letter-spacing: 2px;
}

/* Horizontal Navigation */
.lv-horizontal-nav {
    display: flex;
    align-items: center;
    gap: 0;
}

.lv-horizontal-nav .nav-tab {
    padding: 24px 20px;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--lv-text);
    text-decoration: none;
    letter-spacing: 0.5px;
    border-bottom: 2px solid transparent;
    transition: all var(--lv-transition);
    white-space: nowrap;
}

.lv-horizontal-nav .nav-tab:hover {
    color: var(--lv-accent);
}

.lv-horizontal-nav .nav-tab.active {
    color: var(--lv-text);
    border-bottom-color: var(--lv-text);
    font-weight: 500;
}

.lv-horizontal-nav .nav-logout {
    margin-left: 20px;
    padding-left: 20px;
    border-left: 1px solid var(--lv-border);
}

/* ============================================
   PAGE HEADER
   ============================================ */

.lv-page-header {
    padding: 50px 0 40px;
    background: var(--lv-bg);
}

.lv-page-header .page-title {
    font-size: 1.125rem;
    font-weight: 400;
    color: var(--lv-text);
    margin: 0;
    letter-spacing: 0.5px;
}

/* ============================================
   MAIN CONTENT
   ============================================ */

.lv-main-content {
    padding: 0 0 80px;
    background: var(--lv-bg);
}

.lv-content-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 60px;
}

/* ============================================
   WISHLIST - LV STYLE GRID
   ============================================ */

/* ===== WISHLIST - LV STYLE (NO BORDERS, DIVIDERS ONLY) ===== */

/* ============================================
   WISHLIST - COMPLETE REWRITE
   Based on actual HTML structure:
   tr.woosw-item > td.woosw-item--remove, td.woosw-item--image, 
                  td.woosw-item--info, td.woosw-item--actions
   ============================================ */

/* Container Setup */
.lv-content-container .woosw-list,
.lv-content-container table.woosw-items {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
}

/* My Account wishlist: remove plugin "3D card" wrapper (shadow/rounded/padding) */
.woocommerce-account .lv-content-container .woosw-list {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.lv-content-container table.woosw-items thead {
    display: none !important;
}

/* Grid Layout - Use gap and background color for borders */
.lv-content-container table.woosw-items tbody {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 0 !important;
    background: transparent !important;
    border: 1px solid var(--lv-border) !important;
    overflow: hidden !important; /* clip border overlaps for single-pixel grid lines */
}

/* Individual Card - Layout */
.lv-content-container tr.woosw-item {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    grid-template-areas:
        "image image"
        "info actions" !important;
    position: relative !important;
    background: var(--lv-bg) !important;
    border: none !important;
    padding: 0 !important;
    height: 100% !important;
    align-self: stretch !important;
}

/* Each card gets a full border; overlap by 1px so shared edges stay 1px (no missing segments) */
.lv-content-container table.woosw-items tbody > tr.woosw-item {
    border: 1px solid var(--lv-border) !important;
    margin: -1px 0 0 -1px !important;
}

/* Reset ALL td cells */
.lv-content-container tr.woosw-item > td {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    width: 100% !important;
}

/* ===== Remove Button (X) - Top Right of Card ===== */
.lv-content-container tr.woosw-item td.woosw-item--remove {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 10 !important;
    width: 32px !important;
    height: 32px !important;
}

.lv-content-container tr.woosw-item td.woosw-item--remove span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    color: var(--lv-text-muted) !important;
    cursor: pointer !important;
    background: transparent !important;
    border-radius: 0 !important;
    border: 0 !important;
    transition: all var(--lv-transition) !important;
}

/* X icon via pseudo-element */
.lv-content-container tr.woosw-item td.woosw-item--remove span::before {
    content: '×' !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.lv-content-container tr.woosw-item td.woosw-item--remove span:hover {
    /* Hover: color only */
    color: var(--lv-accent) !important;
    background: transparent !important;
}

/* ===== Product Image ===== */
.lv-content-container td.woosw-item--image {
    grid-area: image !important;
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    background: #f8f8f8 !important;
}

.lv-content-container td.woosw-item--image a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.lv-content-container td.woosw-item--image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border: none !important;
    padding: 16px !important;
    transition: transform 0.4s ease !important;
}

/* Disable hover effects */
.lv-content-container tr.woosw-item:hover td.woosw-item--image img {
    transform: none !important;
}

/* ===== Product Info Section ===== */
.lv-content-container td.woosw-item--info {
    grid-area: info !important;
    padding: 16px !important;
    background: var(--lv-bg) !important;
    min-height: 100px !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Product Name - Inside .woosw-item--name div */
.lv-content-container td.woosw-item--info .woosw-item--name {
    margin-bottom: 6px !important;
    min-height: 2.8em !important; /* keep 2-line rhythm for symmetry */
}

.lv-content-container td.woosw-item--info .woosw-item--name a {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    color: var(--lv-text) !important;
    text-decoration: none !important;
    margin-left: 10px !important;
    line-height: 1.4 !important;
    display: block !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
}

.lv-content-container td.woosw-item--info .woosw-item--name a:hover {
    color: var(--lv-text) !important;
}

/* Price - Inside .woosw-item--price div */
.lv-content-container td.woosw-item--info .woosw-item--price {
    font-size: 0.8125rem !important;
    font-weight: 400 !important;
    color: var(--lv-text) !important;
    margin-top: 0 !important;
    margin-left: 10px !important;
}

/* Hide date */
.lv-content-container td.woosw-item--info .woosw-item--time {
    display: none !important;
}

/* ===== Actions Section (Icon) - Same line as title ===== */
.lv-content-container tr.woosw-item td.woosw-item--actions {
    grid-area: actions !important;
    display: flex !important;
    align-items: flex-start !important; /* align with title row */
    justify-content: flex-end !important;
    padding: 16px 16px 0 !important;
}

/* Hide stock info */
.lv-content-container tr.woosw-item td.woosw-item--actions .woosw-item--stock {
    display: none !important;
}

/* Button Container */
.lv-content-container tr.woosw-item td.woosw-item--actions .woosw-item--atc {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.lv-content-container tr.woosw-item td.woosw-item--actions .woosw-item--atc p {
    margin: 0 !important;
    display: flex !important;
}

/* ALL Action Buttons - Icon Style using background-image */
.lv-content-container td.woosw-item--actions .woosw-item--atc a,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.button,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.add_to_cart_button {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    /* Hide text completely */
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;
    color: transparent !important;
    /* Reset all backgrounds and borders */
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    /* SVG Cart Icon as background */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Cpath d='M7 18c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49A1.003 1.003 0 0020 4H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
    cursor: pointer !important;
    transition: opacity 0.2s ease !important;
    transform: none !important;
}

/* Eye icon for variable products */
.lv-content-container td.woosw-item--actions .woosw-item--atc a.product_type_variable,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.product_type_event_ticket_manager {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231a1a1a'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E") !important;
}

/* Hover state - just change opacity, keep the original icon */
.lv-content-container td.woosw-item--actions .woosw-item--atc a:hover,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.button:hover,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.add_to_cart_button:hover,
.lv-content-container td.woosw-item--actions .woosw-item--atc a.ajax_add_to_cart:hover {
    opacity: 0.6 !important;
    background-color: transparent !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Hide "view cart" link after adding to cart - comprehensive selectors */
.lv-content-container td.woosw-item--actions .added_to_cart,
.lv-content-container td.woosw-item--actions a.added_to_cart,
.lv-content-container .woosw-item .added_to_cart,
.lv-content-container .woosw-item a.added_to_cart,
.lv-content-container .woosw-item--atc .added_to_cart,
.lv-content-container .woosw-item--atc a.added_to_cart,
.lv-content-container .woosw-item--atc .wc-forward,
.lv-content-container p.product a.added_to_cart {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}

/* Hide screen reader text */
.lv-content-container td.woosw-item--actions .screen-reader-text {
    display: none !important;
}

/* Out of Stock label */
.lv-content-container .woosw-item .outofstock-label {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    font-size: 0.625rem !important;
    font-weight: 500 !important;
    color: var(--lv-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Bottom info area (name + price on left) - static position */
.lv-content-container tr.woosw-item .woosw-item--info {
    position: static !important;
}

/* ============================================
   EVENT TICKETS - CLEAN CARD GRID
   ============================================ */

/* Section title */
.lv-content-container .wps-etmfw_mdisa-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 32px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

.lv-content-container .wps-etmfw_mdisa-header h2 {
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: var(--lv-text) !important;
    margin: 0 !important;
}

.lv-content-container .wps-etmfw_mdisa-header .wps-etmfw_mdisa-events-count {
    font-size: 0.75rem !important;
    color: var(--lv-text-muted) !important;
}

.lv-content-container .wps-etmfw_modern-dashboard {
    background: transparent !important;
    padding: 0 !important;
}

.lv-content-container #wps_myevent_table_id {
    display: block !important;
    border: none !important;
    background: transparent !important;
}

.lv-content-container #wps_myevent_table_id thead {
    display: none !important;
}

.lv-content-container #wps_myevent_table_id tbody {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

/* Event Card */
.lv-content-container #wps_myevent_table_id tbody tr {
    display: flex !important;
    flex-direction: column !important;
    background: var(--lv-bg) !important;
    border: 1px solid var(--lv-border) !important;
    padding: 28px !important;
    gap: 12px !important;
}

.lv-content-container #wps_myevent_table_id tbody tr:hover {
    border-color: var(--lv-text) !important;
}

.lv-content-container #wps_myevent_table_id tbody td {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

.lv-content-container #wps_myevent_table_id tbody td::before {
    display: none !important;
}

/* Event Name */
.lv-content-container #wps_myevent_table_id tbody td:first-child {
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    color: var(--lv-text) !important;
    line-height: 1.4 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

/* Date */
.lv-content-container #wps_myevent_table_id tbody td:nth-child(2) {
    font-size: 0.8125rem !important;
    color: var(--lv-text-light) !important;
    padding-top: 4px !important;
}

/* Price */
.lv-content-container #wps_myevent_table_id tbody td:nth-child(4) {
    font-size: 1.125rem !important;
    font-weight: 500 !important;
    color: var(--lv-accent) !important;
}

/* Actions - Buttons */
.lv-content-container #wps_myevent_table_id tbody td:last-child {
    display: flex !important;
    gap: 12px !important;
    padding-top: 20px !important;
    margin-top: auto !important;
}

/* All action buttons in event cards */
.lv-content-container #wps_myevent_table_id tbody td:last-child a {
    flex: 1 !important;
    padding: 14px 20px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all var(--lv-transition) !important;
}

/* View button */
.lv-content-container #wps_myevent_table_id tbody td:last-child a:first-of-type {
    background: var(--lv-bg) !important;
    color: var(--lv-text) !important;
    border: 1px solid var(--lv-border) !important;
}

.lv-content-container #wps_myevent_table_id tbody td:last-child a:first-of-type:hover {
    background: var(--lv-text) !important;
    color: var(--lv-bg) !important;
    border-color: var(--lv-text) !important;
}

/* PDF button - Orange with visible text */
.lv-content-container #wps_myevent_table_id tbody td:last-child a[href*=".pdf"] {
    background: var(--lv-accent) !important;
    color: var(--lv-bg) !important;
    border: 1px solid var(--lv-accent) !important;
    font-size: 0 !important; /* Hide original "Download Ticket" text */
}

.lv-content-container #wps_myevent_table_id tbody td:last-child a[href*=".pdf"]::after {
    content: '下載票券' !important;
    font-size: 0.75rem !important;
}

.lv-content-container #wps_myevent_table_id tbody td:last-child a[href*=".pdf"]:hover {
    background: var(--lv-accent-hover) !important;
    border-color: var(--lv-accent-hover) !important;
}

/* Hide the default PDF icon image */
.lv-content-container #wps_myevent_table_id tbody td:last-child a[href*=".pdf"] img {
    display: none !important;
}

/* Status icons */
.lv-content-container #wps_myevent_table_id img[src*="checked"],
.lv-content-container #wps_myevent_table_id img[src*="pending"] {
    width: 20px !important;
    height: 20px !important;
}

/* ============================================
   ORDERS TABLE
   ============================================ */

.lv-content-container .woocommerce-orders-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
}

.lv-content-container .woocommerce-orders-table th {
    font-size: 0.6875rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--lv-text-muted) !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid var(--lv-border) !important;
    text-align: left !important;
    background: var(--lv-bg-alt) !important;
}

.lv-content-container .woocommerce-orders-table td {
    padding: 24px !important;
    border-bottom: 1px solid var(--lv-border) !important;
    font-size: 0.875rem !important;
    color: var(--lv-text) !important;
}

.lv-content-container .woocommerce-orders-table td a {
    color: var(--lv-text) !important;
    text-decoration: none !important;
}

.lv-content-container .woocommerce-orders-table td a:hover {
    color: var(--lv-accent) !important;
}

.lv-content-container .woocommerce-orders-table .woocommerce-button {
    padding: 10px 18px !important;
    font-size: 0.6875rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    background: var(--lv-bg) !important;
    color: var(--lv-text) !important;
    border: 1px solid var(--lv-border) !important;
    transition: all var(--lv-transition) !important;
}

.lv-content-container .woocommerce-orders-table .woocommerce-button:hover {
    background: var(--lv-text) !important;
    color: var(--lv-bg) !important;
    border-color: var(--lv-text) !important;
}

/* Desktop action buttons - stacked vertical layout */
.lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
    text-align: left !important;
}

.lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a,
.lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.woocommerce-button,
.lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px 0 !important;
    text-align: center !important;
}

.lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a:last-child {
    margin-bottom: 0 !important;
}

/* ============================================
   FORMS
   ============================================ */

.lv-content-container .woocommerce-EditAccountForm,
.lv-content-container .woocommerce-address-fields {
    max-width: 600px !important;
}

.lv-content-container label {
    font-size: 0.6875rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--lv-text-muted) !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.lv-content-container input[type="text"],
.lv-content-container input[type="email"],
.lv-content-container input[type="password"],
.lv-content-container input[type="tel"],
.lv-content-container select,
.lv-content-container textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 0.875rem !important;
    border: 1px solid var(--lv-border) !important;
    background: var(--lv-bg) !important;
    color: var(--lv-text) !important;
    transition: border-color var(--lv-transition) !important;
}

.lv-content-container input:focus,
.lv-content-container select:focus,
.lv-content-container textarea:focus {
    outline: none !important;
    border-color: var(--lv-text) !important;
}

.lv-content-container button[type="submit"],
.lv-content-container .button:not(.add_to_cart_button) {
    padding: 14px 32px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: var(--lv-text) !important;
    color: var(--lv-bg) !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all var(--lv-transition) !important;
}

.lv-content-container button[type="submit"]:hover,
.lv-content-container .button:not(.add_to_cart_button):hover {
    background: var(--lv-accent) !important;
}

/* ============================================
   ADDRESS CARDS
   ============================================ */

.lv-content-container .woocommerce-Addresses {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

.lv-content-container .woocommerce-Address {
    padding: 28px !important;
    border: 1px solid var(--lv-border) !important;
    background: var(--lv-bg) !important;
}

.lv-content-container .woocommerce-Address-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

.lv-content-container .woocommerce-Address-title h3 {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 0 !important;
}

.lv-content-container .woocommerce-Address-title a {
    font-size: 0.6875rem !important;
    color: var(--lv-text-muted) !important;
    text-decoration: none !important;
}

.lv-content-container .woocommerce-Address-title a:hover {
    color: var(--lv-accent) !important;
}

.lv-content-container address {
    font-style: normal !important;
    font-size: 0.875rem !important;
    line-height: 1.7 !important;
    color: var(--lv-text-light) !important;
}

/* ============================================
   DASHBOARD
   ============================================ */

.lv-content-container .woocommerce-MyAccount-content > p:first-child {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: var(--lv-text-light) !important;
    margin-bottom: 32px !important;
}

.lv-content-container .woocommerce-MyAccount-content > p a {
    color: var(--lv-accent) !important;
    text-decoration: none !important;
}

/* ============================================
   MESSAGES
   ============================================ */

.lv-content-container .woocommerce-message,
.lv-content-container .woocommerce-info,
.lv-content-container .woocommerce-error {
    padding: 18px 24px !important;
    margin-bottom: 24px !important;
    border: none !important;
    font-size: 0.875rem !important;
}

.lv-content-container .woocommerce-message {
    background: #e8f5e9 !important;
    color: #2e7d32 !important;
}

.lv-content-container .woocommerce-info {
    background: #e3f2fd !important;
    color: #1565c0 !important;
}

.lv-content-container .woocommerce-error {
    background: #ffebee !important;
    color: #c62828 !important;
}

/* ============================================
   ORDER DETAIL VIEW (view-order)
   ============================================ */

/* Order status paragraph */
.lv-content-container .woocommerce-MyAccount-content > p:first-of-type {
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
    color: var(--lv-text-light) !important;
    margin-bottom: 40px !important;
    padding: 20px 24px !important;
    background: var(--lv-bg-alt) !important;
    border-left: 3px solid var(--lv-accent) !important;
}

.lv-content-container .woocommerce-MyAccount-content > p mark {
    background: transparent !important;
    color: var(--lv-text) !important;
    font-weight: 600 !important;
}

/* Order details section wrapper */
.lv-content-container .woocommerce-order-details {
    margin-bottom: 48px !important;
}

/* Order details heading */
.lv-content-container .woocommerce-order-details h2,
.lv-content-container .woocommerce-order-details__title {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--lv-text) !important;
    margin: 0 0 24px 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

/* Order details table */
.lv-content-container .woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid var(--lv-border) !important;
    margin-bottom: 0 !important;
}

.lv-content-container .woocommerce-table--order-details thead th {
    font-size: 0.6875rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--lv-text-muted) !important;
    padding: 16px 24px !important;
    background: var(--lv-bg-alt) !important;
    border-bottom: 1px solid var(--lv-border) !important;
    text-align: left !important;
}

.lv-content-container .woocommerce-table--order-details thead th:last-child {
    text-align: right !important;
}

.lv-content-container .woocommerce-table--order-details tbody td,
.lv-content-container .woocommerce-table--order-details tbody th {
    padding: 20px 24px !important;
    font-size: 0.875rem !important;
    color: var(--lv-text) !important;
    border-bottom: 1px solid var(--lv-border) !important;
    vertical-align: top !important;
}

.lv-content-container .woocommerce-table--order-details tbody td:last-child {
    text-align: right !important;
}

.lv-content-container .woocommerce-table--order-details tbody td a {
    color: var(--lv-text) !important;
    text-decoration: none !important;
    transition: color var(--lv-transition) !important;
}

.lv-content-container .woocommerce-table--order-details tbody td a:hover {
    color: var(--lv-accent) !important;
}

/* Product quantity styling */
.lv-content-container .woocommerce-table--order-details .product-quantity,
.lv-content-container .woocommerce-table--order-details strong.product-quantity {
    color: var(--lv-text-muted) !important;
    font-weight: 400 !important;
    margin-left: 8px !important;
}

/* Order totals (tfoot) */
.lv-content-container .woocommerce-table--order-details tfoot th {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--lv-text-muted) !important;
    padding: 16px 24px !important;
    background: var(--lv-bg) !important;
    border-bottom: 1px solid var(--lv-border) !important;
    text-align: left !important;
}

.lv-content-container .woocommerce-table--order-details tfoot td {
    padding: 16px 24px !important;
    font-size: 0.875rem !important;
    color: var(--lv-text) !important;
    background: var(--lv-bg) !important;
    border-bottom: 1px solid var(--lv-border) !important;
    text-align: right !important;
}

/* Total row emphasis */
.lv-content-container .woocommerce-table--order-details tfoot tr:last-child th,
.lv-content-container .woocommerce-table--order-details tfoot tr:last-child td {
    font-weight: 600 !important;
    color: var(--lv-text) !important;
    background: var(--lv-bg-alt) !important;
}

/* Price styling */
.lv-content-container .woocommerce-table--order-details .woocommerce-Price-amount,
.lv-content-container .woocommerce-table--order-details .amount {
    font-weight: 500 !important;
    color: var(--lv-text) !important;
}

/* Customer details section (billing & shipping addresses) */
.lv-content-container .woocommerce-customer-details {
    margin-top: 48px !important;
}

/* Address columns wrapper */
.lv-content-container .woocommerce-columns--addresses {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
}

.lv-content-container .woocommerce-column--billing-address,
.lv-content-container .woocommerce-column--shipping-address {
    padding: 28px !important;
    border: 1px solid var(--lv-border) !important;
    background: var(--lv-bg) !important;
}

.lv-content-container .woocommerce-column--billing-address h2,
.lv-content-container .woocommerce-column--shipping-address h2 {
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--lv-text) !important;
    margin: 0 0 20px 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--lv-border) !important;
}

.lv-content-container .woocommerce-column--billing-address address,
.lv-content-container .woocommerce-column--shipping-address address {
    font-style: normal !important;
    font-size: 0.875rem !important;
    line-height: 1.8 !important;
    color: var(--lv-text-light) !important;
    /* Remove any dashed/dotted borders completely */
    border: none !important;
    border-style: none !important;
    border-width: 0 !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Remove borders from all elements inside address cards */
.lv-content-container .woocommerce-column--billing-address address *,
.lv-content-container .woocommerce-column--shipping-address address * {
    border: none !important;
    border-style: none !important;
    outline: none !important;
}

.lv-content-container .woocommerce-column--billing-address address p,
.lv-content-container .woocommerce-column--shipping-address address p {
    margin: 8px 0 !important;
    color: var(--lv-text-light) !important;
    border: none !important;
}

/* Invoice information section - h2 is INSIDE woocommerce-customer-details */
.lv-content-container .woocommerce-customer-details > h2 {
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: var(--lv-text) !important;
    margin: 40px 0 0 0 !important;
    padding: 20px 24px !important;
    background: var(--lv-bg-alt) !important;
    border: 1px solid var(--lv-border) !important;
    border-bottom: none !important;
}

/* Invoice table styling - table.invoice-info is INSIDE woocommerce-customer-details */
.lv-content-container .woocommerce-customer-details > table.invoice-info,
.lv-content-container table.woocommerce-table--invoice-info {
    width: 100% !important;
    background: var(--lv-bg-alt) !important;
    border: 1px solid var(--lv-border) !important;
    border-top: none !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
}

.lv-content-container .woocommerce-customer-details > table.invoice-info td,
.lv-content-container .woocommerce-customer-details > table.invoice-info th,
.lv-content-container table.woocommerce-table--invoice-info td,
.lv-content-container table.woocommerce-table--invoice-info th {
    background: var(--lv-bg-alt) !important;
    padding: 20px 24px !important;
    border: none !important;
    font-size: 0.875rem !important;
    color: var(--lv-text) !important;
    vertical-align: middle !important;
}

/* Invoice table first column (label) styling - align with heading */
.lv-content-container .woocommerce-customer-details > table.invoice-info td:first-child,
.lv-content-container table.woocommerce-table--invoice-info td:first-child {
    font-weight: 500 !important;
    color: var(--lv-text-muted) !important;
    text-transform: uppercase !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.5px !important;
    width: auto !important;
    padding-left: 24px !important;
    background: var(--lv-bg-alt) !important;
}

.lv-content-container .woocommerce-MyAccount-content > table:not(.woocommerce-table--order-details):not(.woocommerce-orders-table) tr:last-child td,
.lv-content-container .woocommerce-MyAccount-content > table:not(.woocommerce-table--order-details):not(.woocommerce-orders-table) tr:last-child th {
    border-bottom: none !important;
}

/* Strikethrough prices (for refunds/discounts) */
.lv-content-container del {
    color: var(--lv-text-muted) !important;
    text-decoration: line-through !important;
    margin-right: 8px !important;
}

.lv-content-container ins {
    text-decoration: none !important;
    color: var(--lv-accent) !important;
    font-weight: 600 !important;
}

/* ============================================
   HIDE BLOCKSY DEFAULTS
   ============================================ */

.woocommerce-account .ct-acount-nav,
.woocommerce-account .ct-woo-account-nav {
    display: none !important;
}

.woocommerce-account .ct-woo-account {
    display: block !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* ============================================
   RESPONSIVE - TABLET
   ============================================ */

@media (max-width: 1024px) {
    .lv-top-container {
        padding: 0 32px;
        flex-direction: column;
        align-items: flex-start;
    }
    
    .lv-horizontal-nav {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }
    
    .lv-horizontal-nav .nav-tab {
        padding: 16px 14px;
        font-size: 0.8125rem;
    }
    
    .lv-horizontal-nav .nav-logout {
        margin-left: 12px;
        padding-left: 12px;
    }
    
    .lv-content-container {
        padding: 0 32px;
    }
    
    /* Wishlist 2 columns on tablet */
    .lv-content-container table.woosw-items tbody {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Event tickets 1 column */
    .lv-content-container #wps_myevent_table_id tbody {
        grid-template-columns: 1fr !important;
    }
    
    /* Order detail - Address columns stack on tablet */
    .lv-content-container .woocommerce-columns--addresses {
        grid-template-columns: 1fr !important;
    }
    
    /* Address cards 1 column */
    .lv-content-container .woocommerce-Addresses {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   RESPONSIVE - TABLET & MOBILE (includes iPad)
   ============================================ */

@media (max-width: 1024px) {
    .lv-top-container {
        padding: 0 20px;
    }
    
    .lv-brand {
        padding: 16px 0;
    }
    
    .lv-horizontal-nav .nav-tab {
        padding: 14px 12px;
        font-size: 0.75rem;
    }
    
    .lv-page-header {
        padding: 32px 0 24px;
    }
    
    .lv-content-container {
        padding: 0 20px;
    }
    
    /* Wishlist 1 column on mobile */
    .lv-content-container table.woosw-items tbody {
        grid-template-columns: 1fr !important;
    }
    
    /* Event card padding */
    .lv-content-container #wps_myevent_table_id tbody tr {
        padding: 20px !important;
    }
    
    /* Orders table - full width card layout on mobile */
    .lv-content-container .woocommerce-orders-table {
        display: block !important;
        width: 100% !important;
        border: none !important;
    }
    
    .lv-content-container .woocommerce-orders-table thead {
        display: none !important;
    }
    
    .lv-content-container .woocommerce-orders-table tbody {
        display: block !important;
        width: 100% !important;
    }
    
    .lv-content-container .woocommerce-orders-table tr {
        display: block !important;
        width: 100% !important;
        background: var(--lv-bg) !important;
        border: 1px solid var(--lv-border) !important;
        margin-bottom: 16px !important;
        padding: 0 !important;
    }
    
    .lv-content-container .woocommerce-orders-table td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 16px 20px !important;
        border-bottom: 1px solid var(--lv-border) !important;
        font-size: 0.875rem !important;
        box-sizing: border-box !important;
        text-align: right !important;
    }
    
    .lv-content-container .woocommerce-orders-table td:last-child {
        border-bottom: none !important;
    }
    
    /* WooCommerce mobile labels - style the ::before content */
    .lv-content-container .woocommerce-orders-table td::before {
        font-weight: 500 !important;
        color: var(--lv-text-muted) !important;
        font-size: 0.6875rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        flex-shrink: 0 !important;
        margin-right: 16px !important;
    }
    
    /* Hide order number column on mobile (first column) */
    .lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number {
        display: none !important;
    }
    
    /* Hide row headers since WooCommerce adds labels */
    .lv-content-container .woocommerce-orders-table th[scope="row"] {
        display: none !important;
    }
    
    /* Style the action buttons cell - override general td flex */
    .lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions,
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] {
        display: block !important;
        text-align: center !important;
        padding: 16px 20px !important;
        border-bottom: none !important;
    }
    
    /* Hide the "動作:" label for action cell */
    .lv-content-container .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before,
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"]::before {
        display: none !important;
        content: none !important;
    }
    
    /* Action buttons - inline-block for horizontal layout */
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a,
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.woocommerce-button,
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a.button,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] a,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] a.woocommerce-button,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] a.button {
        display: inline-block !important;
        vertical-align: middle !important;
        width: auto !important;
        min-width: 70px !important;
        max-width: none !important;
        margin: 0 4px !important;
        padding: 10px 14px !important;
        font-size: 0.75rem !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
    
    /* First button no left margin */
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:first-child,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] a:first-child {
        margin-left: 0 !important;
    }
    
    /* Last button no right margin */
    .lv-content-container .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:last-child,
    .lv-content-container .woocommerce-orders-table td[data-title="動作"] a:last-child {
        margin-right: 0 !important;
    }
    
    /* Order detail - smaller padding on mobile */
    .lv-content-container .woocommerce-column--billing-address,
    .lv-content-container .woocommerce-column--shipping-address {
        padding: 20px !important;
    }
    
    .lv-content-container .woocommerce-table--order-details thead th,
    .lv-content-container .woocommerce-table--order-details tbody td,
    .lv-content-container .woocommerce-table--order-details tbody th,
    .lv-content-container .woocommerce-table--order-details tfoot th,
    .lv-content-container .woocommerce-table--order-details tfoot td {
        padding: 14px 16px !important;
    }
    
    .lv-content-container .woocommerce-MyAccount-content > p:first-of-type {
        padding: 16px 20px !important;
        font-size: 0.875rem !important;
    }
}

/* ============================================
   FIX GENERAL ISSUES
   ============================================ */

/* Remove any strange highlights */
.lv-content-container *:focus {
    outline: none !important;
}

/* Fix hr */
.lv-content-container hr {
    border: none !important;
    border-top: 1px solid var(--lv-border) !important;
    margin: 24px 0 !important;
}

/* Hide empty paragraphs */
.lv-content-container p:empty {
    display: none !important;
}

/* Hide loading spinners in wishlist */
.lv-content-container .woosw-item .woosw-item--loading,
.lv-content-container .woosw-item .loading,
.lv-content-container .woosw-item--remove .woosw-item--loading {
    display: none !important;
}

/* ============================================
   DEBUG - WISHLIST STRUCTURE OVERLAY
   Toggle with ?debug_wishlist=1
   ============================================ */

.debug-wishlist .lv-content-container .woosw-list {
    outline: 3px solid rgba(255, 0, 0, 0.35) !important;
}

.debug-wishlist .lv-content-container table.woosw-items {
    outline: 3px solid rgba(255, 165, 0, 0.45) !important;
}

.debug-wishlist .lv-content-container table.woosw-items tbody {
    background: rgba(255, 165, 0, 0.08) !important;
    outline: 3px dashed rgba(255, 165, 0, 0.55) !important;
}

.debug-wishlist .lv-content-container tr.woosw-item {
    outline: 3px solid rgba(0, 128, 255, 0.45) !important;
    background: rgba(0, 128, 255, 0.04) !important;
}

.debug-wishlist .lv-content-container td.woosw-item--remove {
    background: rgba(255, 0, 0, 0.10) !important;
}

.debug-wishlist .lv-content-container td.woosw-item--image {
    background: rgba(0, 255, 0, 0.10) !important;
}

.debug-wishlist .lv-content-container td.woosw-item--info {
    background: rgba(255, 255, 0, 0.14) !important;
}

.debug-wishlist .lv-content-container td.woosw-item--actions {
    background: rgba(128, 0, 255, 0.12) !important;
}

.debug-wishlist .lv-content-container tr.woosw-item > td {
    position: relative !important;
}

.debug-wishlist .lv-content-container tr.woosw-item > td::after {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    padding: 3px 6px !important;
    border-radius: 999px !important;
    background: rgba(0, 0, 0, 0.72) !important;
    color: #fff !important;
    letter-spacing: 0.02em !important;
    z-index: 999 !important;
    pointer-events: none !important;
    content: "" !important;
}

.debug-wishlist .lv-content-container td.woosw-item--remove::after { content: "remove" !important; }
.debug-wishlist .lv-content-container td.woosw-item--image::after { content: "image" !important; }
.debug-wishlist .lv-content-container td.woosw-item--info::after { content: "info" !important; }
.debug-wishlist .lv-content-container td.woosw-item--actions::after { content: "actions" !important; }

.debug-wishlist .lv-content-container td.woosw-item--info a,
.debug-wishlist .lv-content-container td.woosw-item--actions a {
    outline: 2px dotted rgba(0, 0, 0, 0.35) !important;
}
