/* Customer login and favourites additions */
.customer-account-link { white-space: nowrap; }
.favorite-form { margin: 0; display: inline-flex; }
.favorite-card-control { position: absolute; z-index: 5; top: 10px; right: 10px; }
.product-card { position: relative; }
.favorite-button { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e5dfd4; border-radius: 50%; background: rgba(255,255,255,.96); color: #9a6d25; font-size: 25px; line-height: 1; cursor: pointer; box-shadow: 0 3px 12px rgba(0,0,0,.10); }
.favorite-button:hover, .favorite-button.is-favorite { color: #c62845; border-color: #efb5c0; }
.favorite-button-detail { width: auto; height: auto; min-height: 44px; padding: 10px 16px; border-radius: 10px; font-size: 16px; gap: 7px; }
.detail-favorite-control { margin: 12px 0 16px; }
.customer-page { max-width: 720px; margin: 38px auto; padding: 0 16px; }
.customer-panel { background: #fff; border: 1px solid #e7e1d7; border-radius: 18px; box-shadow: 0 12px 34px rgba(25,35,50,.08); padding: clamp(22px,4vw,38px); }
.customer-panel h1 { margin: 0 0 8px; color: #18243a; }
.customer-muted { color: #667085; }
.customer-form { display: grid; gap: 15px; margin-top: 22px; }
.customer-form label { display: grid; gap: 7px; font-weight: 600; color: #273449; }
.customer-form input { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d6dbe3; border-radius: 10px; font: inherit; }
.customer-submit { border: 0; border-radius: 10px; padding: 13px 18px; background: #bd8b37; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.customer-alert { padding: 12px 14px; border-radius: 10px; background: #fff1f0; color: #9b1c1c; margin: 14px 0; }
.customer-success { background: #effaf2; color: #166534; }
.favorites-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap: 18px; }
.favorites-grid .product-card { min-width: 0; }
.customer-empty { background: #fff; border: 1px dashed #d7d0c5; border-radius: 14px; padding: 28px; text-align: center; color: #667085; }
@media(max-width:600px){ .favorite-button { width: 38px; height: 38px; } .favorites-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; } }


/* CUSTOMER LOGIN VISUAL FIX: keep the form readable against global theme styles */
main.customer-page {
    width: min(100% - 32px, 720px) !important;
    max-width: 720px !important;
    margin: 40px auto !important;
    padding: 0 !important;
    color: #18243a !important;
}
main.customer-page .customer-panel {
    background: #ffffff !important;
    color: #18243a !important;
    border: 1px solid #e8e2d8 !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 44px rgba(24, 36, 58, 0.10) !important;
    padding: clamp(24px, 4vw, 40px) !important;
}
main.customer-page .customer-panel h1 {
    color: #18243a !important;
    font-size: clamp(28px, 4vw, 38px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 10px !important;
}
main.customer-page .customer-panel p,
main.customer-page .customer-panel .customer-muted {
    color: #667085 !important;
    line-height: 1.6 !important;
}
main.customer-page .customer-form {
    display: grid !important;
    gap: 16px !important;
    margin: 24px 0 8px !important;
}
main.customer-page .customer-form label {
    display: grid !important;
    gap: 8px !important;
    color: #344054 !important;
    font-size: 15px !important;
    font-weight: 650 !important;
}
main.customer-page .customer-form input {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    color: #18243a !important;
    border: 1px solid #cfd5df !important;
    border-radius: 10px !important;
    outline: none !important;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
    font: inherit !important;
}
main.customer-page .customer-form input:focus {
    border-color: #bd8b37 !important;
    box-shadow: 0 0 0 3px rgba(189, 139, 55, .18) !important;
}
main.customer-page .customer-submit {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 2px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: #bd8b37 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
    transition: background .18s ease, transform .18s ease !important;
}
main.customer-page .customer-submit:hover {
    background: #a97827 !important;
    transform: translateY(-1px);
}
main.customer-page .customer-panel a {
    color: #95651d !important;
    font-weight: 650 !important;
    text-decoration: none !important;
}
main.customer-page .customer-panel a:hover {
    color: #704b13 !important;
    text-decoration: underline !important;
}
main.customer-page .customer-alert {
    background: #fff1f0 !important;
    color: #9b1c1c !important;
    border: 1px solid #ffd5d2 !important;
}
@media (max-width: 600px) {
    main.customer-page {
        width: calc(100% - 24px) !important;
        margin: 22px auto !important;
    }
    main.customer-page .customer-panel {
        padding: 22px 18px !important;
        border-radius: 14px !important;
    }
}


/* FAVORITES PAGE: six product cards per row on desktop */
main.customer-page.favorites-page {
    width: calc(100% - 48px) !important;
    max-width: 1600px !important;
    margin: 32px auto !important;
}
main.customer-page.favorites-page .customer-panel {
    width: 100% !important;
    box-sizing: border-box !important;
}
main.customer-page.favorites-page .favorites-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: start !important;
}
main.customer-page.favorites-page .favorites-grid > .product-card {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
main.customer-page.favorites-page .favorites-grid .product-card img {
    max-width: 100%;
}
@media (max-width: 1200px) {
    main.customer-page.favorites-page .favorites-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 850px) {
    main.customer-page.favorites-page .favorites-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 600px) {
    main.customer-page.favorites-page {
        width: calc(100% - 24px) !important;
        margin: 20px auto !important;
    }
    main.customer-page.favorites-page .favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}
