/* ==========================================================================
   Pickudu — light-theme brand overrides for Odoo eCommerce (website_sale)
   pages and the Bootstrap components they use (shop grid, product page, cart,
   checkout, portal, login). Loaded after the frontend bundle, so equal-
   specificity rules win by order; a few need !important against Bootstrap
   utilities. Target the default Bootstrap classes (like theme_uvprint).
   ========================================================================== */

/* ---------- Canvas ---------- */
#wrapwrap main { background: var(--bg); }
#wrapwrap main .container, #wrapwrap main .container-fluid { color: var(--text); }

/* Cards / surfaces */
#wrapwrap main .card,
#wrapwrap main .o_wsale_products_grid_table_wrapper .card {
	background: var(--bg-2); border: 1px solid var(--line); color: var(--text);
	border-radius: var(--r-xl);
}
#wrapwrap main .card-body { color: var(--text); }
#wrapwrap main :is(.text-muted, .text-body-secondary) { color: var(--muted) !important; }
#wrapwrap main hr { border-color: var(--line); opacity: 1; }

/* Forms */
#wrapwrap main :is(.form-control, .form-select) {
	background: #fff; border-color: var(--line-strong); color: var(--text);
	border-radius: 10px;
}
#wrapwrap main :is(.form-control, .form-select):focus {
	background: #fff; color: var(--text);
	border-color: var(--coral); box-shadow: 0 0 0 3px var(--coral-050);
}
#wrapwrap main .form-control::placeholder { color: var(--muted); }
#wrapwrap main :is(label, .form-label, .col-form-label, legend) { color: var(--text-soft); }
#wrapwrap main .form-check-input:checked { background-color: var(--coral); border-color: var(--coral); }
#wrapwrap main .input-group-text { background: var(--bg); border-color: var(--line-strong); color: var(--text-soft); }

/* Buttons */
#wrapwrap main .btn-primary,
#wrapwrap main .oe_cart .btn-primary,
#wrapwrap main a.btn.btn-primary {
	background: var(--grad); background-size: 150% 100%;
	border: 0; color: #fff; border-radius: var(--r-full); font-weight: 600;
	box-shadow: var(--glow-coral);
	transition: background-position 0.25s var(--ease), box-shadow 0.25s var(--ease), transform 0.2s var(--ease);
}
#wrapwrap main .btn-primary:hover { background-position: 100% 0; box-shadow: 0 20px 46px -14px rgba(242,107,78,0.62); transform: translateY(-1px); color: #fff; }
#wrapwrap main :is(.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-light) {
	background: #fff; border: 1.5px solid var(--line-strong); color: var(--text);
	border-radius: var(--r-full);
}
#wrapwrap main :is(.btn-secondary, .btn-outline-primary, .btn-outline-secondary, .btn-light):hover {
	background: var(--coral-050); border-color: var(--coral); color: var(--coral-600);
}

/* Tables (cart, order summary) */
#wrapwrap main .table { color: var(--text); border-color: var(--line); --bs-table-bg: transparent; --bs-table-color: var(--text); }
#wrapwrap main .table :is(th, td) { border-color: var(--line); background: transparent; color: var(--text); }

/* Dropdowns, pagination, alerts, badges, accordions */
#wrapwrap :is(.dropdown-menu) { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
#wrapwrap .dropdown-item { color: var(--text-soft); }
#wrapwrap .dropdown-item:hover { background: var(--coral-050); color: var(--coral-600); }
#wrapwrap main .page-link { background: #fff; border-color: var(--line-strong); color: var(--text-soft); }
#wrapwrap main .page-item.active .page-link { background: var(--coral); border-color: var(--coral); color: #fff; }
#wrapwrap main .badge { background: var(--coral); }
#wrapwrap main .breadcrumb .breadcrumb-item, #wrapwrap main .breadcrumb a { color: var(--muted); }
#wrapwrap main .breadcrumb .breadcrumb-item.active { color: var(--text-soft); }
#wrapwrap main .list-group-item { background: var(--bg-2); color: var(--text); border-color: var(--line); }

/* ---------- Shop grid ---------- */
#wrapwrap main .oe_product_cart {
	background: var(--bg-2); border: 1px solid var(--line) !important;
	border-radius: var(--r-xl); overflow: hidden;
	box-shadow: var(--sh-sm);
	transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s var(--ease);
}
#wrapwrap main .oe_product_cart:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--coral-050) !important; }
#wrapwrap main .oe_product_cart a, #wrapwrap main .oe_product_cart h6 { color: var(--text); }
#wrapwrap main .product_price, #wrapwrap main .oe_currency_value { color: var(--text); }
#wrapwrap main .product_price .oe_currency_value { font-family: var(--font-display); font-weight: 700; }

/* Shop filters / sidebar */
#wrapwrap main .o_wsale_products_categories a { color: var(--text-soft); }
#wrapwrap main .o_wsale_products_categories a:hover { color: var(--coral); }

/* Product detail page */
#wrapwrap main #product_detail { color: var(--text); }
#wrapwrap main #product_detail h1 { font-size: clamp(1.8rem, 3.5vw, 2.5rem); letter-spacing: -0.02em; }

/* Cart & checkout */
#wrapwrap main .oe_cart { color: var(--text); }
#wrapwrap main .o_total_card,
#wrapwrap main .o_total_card .card-body { background: var(--bg-2) !important; color: var(--text); }
#wrapwrap main .o_total_card { border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; }

/* Portal (my account) & login boxes */
#wrapwrap main .o_portal_wrap .card, .o_portal_sidebar .card { background: var(--bg-2); }
#wrapwrap main :is(.oe_login_form, .oe_signup_form, .oe_reset_password_form) { color: var(--text); }

/* --- global button rescue ---------------------------------------------- */
/* The add-to-cart notification/popover is injected at body level, OUTSIDE
   the theme scope — Odoo's default purple leaked through. Unscoped override. */
.btn-primary,
.o_cart_notification .btn,
.toast .btn-primary {
    background-color: #F26B4E !important;
    border-color: #F26B4E !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus,
.o_cart_notification .btn:hover {
    background-color: #E05539 !important;
    border-color: #E05539 !important;
}

/* --- product cards: proper borders, hover lift, aligned heights --------- */
.o_wsale_products_grid_table_wrapper .oe_product_cart,
.oe_product_cart {
    border: 1px solid var(--line-strong) !important;
    border-radius: var(--r-xl) !important;
    overflow: hidden;
    background: var(--n-0);
    box-shadow: var(--sh-sm);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.oe_product_cart:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-md);
    border-color: var(--coral) !important;
}
.oe_product_cart .oe_product_image {
    background: var(--n-50);
}

/* --- equal-height cards, tidy info section, price pinned bottom --------- */
.oe_product_cart { flex-direction: column; }
.oe_product_cart .o_wsale_product_information {
    display: flex; flex-direction: column;
    padding: 14px 16px 16px;
}
.oe_product_cart .o_wsale_product_info_attributes_wrapper {
    flex: 1 1 auto; padding: 0; margin: 0;
}
.oe_product_cart .o_wsale_products_item_title,
.oe_product_cart .oe_subdescription { margin-left: 0 !important; }
.oe_product_cart .o_wsale_products_item_title {
    font-family: var(--font-display); font-size: 1.1rem; margin-bottom: 2px;
}
.oe_product_cart .oe_subdescription { padding-bottom: 12px; }
.oe_product_cart .o_wsale_product_sub {
    margin-top: auto; align-items: center;
    border-top: 1px solid var(--n-100);
    padding-top: 12px;
}
.oe_product_cart .product_price { padding: 0; margin: 0; }
.oe_product_cart .product_price .oe_currency_value { font-size: 1.25rem; }
