/* Taxuto client brand palette.
 * Loaded last so the custom SaaS pages can be recolored without changing
 * Odoo, SaaS Kit, or the existing layout rules.
 */
:root {
    --tx-brand-primary: #3CB58B;
    --tx-brand-primary-dark: #268568;
    --tx-brand-primary-soft: #E7F7F1;
    --tx-brand-secondary: #253632;
    --tx-brand-muted: #60736D;
    --tx-brand-neutral: #F5F8F5;
    --tx-brand-line: #DCE9E3;
    --tx-brand-success: #2DC077;
    --tx-brand-error: #EB5656;
    --tx-brand-warning: #FFC107;

    /* Expose the same palette to Odoo/Bootstrap semantic components. */
    --o-brand-primary: var(--tx-brand-primary);
    --bs-primary: var(--tx-brand-primary);
    --bs-secondary: var(--tx-brand-secondary);
    --bs-success: var(--tx-brand-success);
    --bs-danger: var(--tx-brand-error);
    --bs-warning: var(--tx-brand-warning);
}

/* Workspace/subdomain page */
.tx-saas-plan {
    --tx-primary: var(--tx-brand-primary);
    --tx-primary-dark: var(--tx-brand-primary-dark);
    --tx-accent: var(--tx-brand-primary);
    --tx-text: var(--tx-brand-secondary);
    --tx-muted: var(--tx-brand-muted);
    --tx-line: var(--tx-brand-line);
    --tx-soft: var(--tx-brand-neutral);
    background: linear-gradient(135deg, #F8FBF9 0%, #F5F8F5 55%, #EDF8F3 100%) !important;
    color: var(--tx-brand-secondary) !important;
}

.tx-saas-plan__eyebrow,
.tx-saas-plan__step,
.tx-saas-plan__crumbs a {
    color: var(--tx-brand-primary-dark) !important;
}

.tx-saas-plan__eyebrow span {
    background: var(--tx-brand-primary) !important;
    box-shadow: 0 0 0 5px rgba(60, 181, 139, .16) !important;
}

.tx-saas-plan__panel {
    border-color: var(--tx-brand-line) !important;
    box-shadow: 0 24px 60px rgba(37, 54, 50, .10) !important;
}

.tx-saas-plan__panel-head {
    background: linear-gradient(180deg, rgba(60, 181, 139, .10), transparent) !important;
}

.tx-saas-plan__domain-input:focus-within {
    border-color: var(--tx-brand-primary) !important;
    box-shadow: 0 0 0 4px rgba(60, 181, 139, .15) !important;
}

.tx-saas-plan__domain-input span {
    color: var(--tx-brand-secondary) !important;
    background: var(--tx-brand-primary-soft) !important;
}

.tx-saas-plan__submit {
    color: #fff !important;
    background: var(--tx-brand-primary) !important;
    box-shadow: 0 10px 24px rgba(60, 181, 139, .24) !important;
}

.tx-saas-plan__submit:hover,
.tx-saas-plan__submit:focus {
    background: var(--tx-brand-primary-dark) !important;
}

.tx-saas-plan__benefits li span {
    color: #14724F !important;
    background: #DDF5EA !important;
}

/* Shop/catalog page */
#o_wsale_container,
body:has(.tx-saas-shop-page) {
    --tx-ref-plum: var(--tx-brand-primary);
    --tx-ref-plum-dark: var(--tx-brand-primary-dark);
    --tx-ref-teal: var(--tx-brand-primary);
    --tx-ref-ink: var(--tx-brand-secondary);
    --tx-ref-muted: var(--tx-brand-muted);
    --tx-ref-line: var(--tx-brand-line);
    --tx-ref-warm: #FFFFFF;
}

#o_wsale_container {
    color: var(--tx-brand-secondary) !important;
    background: #FFFFFF !important;
}

#o_wsale_container .tx-saas-shop-hero {
    border-color: #D9EEE5 !important;
    background: linear-gradient(105deg, #F1FBF6 0%, #F7FCF9 48%, #EAF8F3 100%) !important;
    box-shadow: 0 14px 34px rgba(37, 54, 50, .07) !important;
}

#o_wsale_container .tx-saas-shop-hero__eyebrow,
#o_wsale_container .tx-saas-shop-hero__art,
#o_wsale_container .tx-saas-shop-hero__orb--c {
    color: var(--tx-brand-primary-dark) !important;
}

#o_wsale_container .tx-saas-shop-hero__eyebrow > span,
#o_wsale_container .tx-saas-shop-hero__orb--a {
    background: var(--tx-brand-primary) !important;
}

#o_wsale_container .tx-saas-shop-hero__box {
    background: linear-gradient(145deg, #43C395, #238B6D) !important;
    filter: drop-shadow(0 12px 8px rgba(37, 54, 50, .15)) !important;
}

#o_wsale_container .tx-saas-shop-hero__orb--b {
    background: #8ED9BD !important;
}

#o_wsale_container .o_wsale_products_header_search_form_container input {
    border-color: var(--tx-brand-secondary) !important;
    color: var(--tx-brand-secondary) !important;
}

#o_wsale_container .o_wsale_products_header_search_form_container:focus-within input {
    border-color: var(--tx-brand-primary) !important;
}

#o_wsale_container .o_wsale_products_header_search_form_container .oe_search_button,
#o_wsale_container .tx-saas-plan-cta,
#o_wsale_container .o_wsale_product_btn,
#o_wsale_container .o_wsale_product_btn:hover {
    color: var(--tx-brand-secondary) !important;
    background: transparent !important;
}

#o_wsale_container .o_wsale_products_header_search_form_container:focus-within .oe_search_button {
    color: var(--tx-brand-primary) !important;
}

#o_wsale_container .o_wsale_products_header_search_form_container .oe_search_button:hover,
#o_wsale_container .o_wsale_products_header_search_form_container .oe_search_button:focus {
    color: var(--tx-brand-primary-dark) !important;
}

#o_wsale_container .o_wsale_product_action_row .o_wsale_product_btn_primary,
#o_wsale_container .o_wsale_product_action_row .tx-saas-plan-cta,
#o_wsale_container .tx-saas-plan-cta {
    color: #fff !important;
    background: var(--tx-brand-primary) !important;
}

#o_wsale_container .o_sortby_dropdown > .dropdown-toggle {
    color: var(--tx-brand-secondary) !important;
    border-color: var(--tx-brand-secondary) !important;
}

#o_wsale_container .o_sortby_dropdown.show > .dropdown-toggle,
#o_wsale_container .o_sortby_dropdown > .dropdown-toggle:focus {
    color: var(--tx-brand-primary) !important;
    border-color: var(--tx-brand-primary) !important;
}

#o_wsale_container .o_sortby_dropdown .dropdown-menu .dropdown-item.active,
#o_wsale_container .o_sortby_dropdown .dropdown-menu .dropdown-item:hover {
    color: #fff !important;
    background: var(--tx-brand-primary) !important;
}

#o_wsale_container .tx-product-card,
#o_wsale_container .oe_product {
    border-color: var(--tx-brand-line) !important;
}

#o_wsale_container .tx-product-card:hover,
#o_wsale_container .oe_product:hover {
    border-color: var(--tx-brand-primary) !important;
    box-shadow: 0 18px 42px rgba(37, 54, 50, .11) !important;
}

#o_wsale_container .tx-product-card__price,
#o_wsale_container .oe_product .product_price,
#o_wsale_container .oe_product .oe_price {
    color: var(--tx-brand-primary-dark) !important;
}

/* Theme chrome on the custom SaaS pages */
body:has(.tx-saas-plan) header a.btn-primary,
body:has(.tx-saas-shop-page) header a.btn-primary,
body:has(.tx-saas-plan) header .btn-primary,
body:has(.tx-saas-shop-page) header .btn-primary {
    border-color: var(--tx-brand-primary) !important;
    background: var(--tx-brand-primary) !important;
}

body:has(#o_wsale_container.tx-saas-shop-page) header .btn-primary,
body:has(#o_wsale_container.tx-saas-shop-page) header a.btn-primary,
body:has(#o_wsale_container.tx-saas-shop-page) .o_header_standard .btn-primary {
    border-color: var(--tx-brand-primary) !important;
    background: var(--tx-brand-primary) !important;
    color: #fff !important;
}

body:has(.tx-saas-plan) header a.btn-primary:hover,
body:has(.tx-saas-shop-page) header a.btn-primary:hover,
body:has(.tx-saas-plan) header .btn-primary:hover,
body:has(.tx-saas-shop-page) header .btn-primary:hover {
    background: var(--tx-brand-primary-dark) !important;
}

body:has(.tx-saas-plan) header a,
body:has(.tx-saas-shop-page) header a {
    --o-navbar-entry-color: var(--tx-brand-secondary);
}

/* Manager reference: SaaS pricing catalog */
#o_wsale_container.tx-saas-shop-page {
    --tx-catalog-card-border: #DDE5E1;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .oe_product:has(form:not([data-taxuto-plan-key])) {
    display: none !important;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .oe_product {
    min-height: 560px !important;
    border: 1px solid var(--tx-catalog-card-border) !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 14px 34px rgba(20,48,40,.055) !important;
    overflow: visible !important;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .oe_product:has([data-taxuto-plan-key="business"]) {
    border-color: rgba(60,181,139,.65) !important;
    box-shadow: 0 22px 55px rgba(33,103,78,.15) !important;
    transform: translateY(-10px);
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .oe_product_cart {
    min-height: 560px !important;
    padding: 28px !important;
    display: flex !important;
    flex-direction: column !important;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .tx-product-media {
    display: none !important;
}
#o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .o_wsale_product_information {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__topline {
    min-height: 50px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 24px;
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border: 1px solid var(--tx-brand-line);
    border-radius: 15px;
    background: var(--tx-brand-neutral);
    color: var(--tx-brand-secondary);
    font-size: 22px;
    font-weight: 800;
}
#o_wsale_container.tx-saas-shop-page [data-taxuto-plan-key="business"] .tx-plan-card__icon {
    background: var(--tx-brand-primary-soft);
    color: var(--tx-brand-primary-dark);
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__badge {
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--tx-brand-primary-soft);
    color: var(--tx-brand-primary-dark);
    font-size: 11px;
    font-weight: 800;
}
#o_wsale_container.tx-saas-shop-page .o_wsale_products_item_title {
    margin: 0 0 7px !important;
    font-size: 24px !important;
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__description {
    min-height: 44px;
    margin: 0 !important;
    color: var(--tx-brand-muted) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__features {
    display: grid;
    gap: 14px;
    list-style: none;
    margin: 24px 0 28px;
    padding: 24px 0 0;
    border-top: 1px solid var(--tx-brand-line);
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__features li {
    display: flex;
    gap: 11px;
    color: #40504B;
    font-size: 14px;
    line-height: 1.4;
}
#o_wsale_container.tx-saas-shop-page .tx-plan-card__features li > span:first-child {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--tx-brand-primary-soft);
    color: var(--tx-brand-primary-dark);
    font-size: 12px;
    font-weight: 900;
}
#o_wsale_container.tx-saas-shop-page .o_wsale_product_sub {
    margin-top: auto !important;
    display: block !important;
}
#o_wsale_container.tx-saas-shop-page .product_price {
    margin-bottom: 16px !important;
    color: var(--tx-brand-secondary) !important;
    font-size: 32px !important;
}
#o_wsale_container.tx-saas-shop-page .o_wsale_product_action_row {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-plan-cta {
    width: 100% !important;
    min-height: 46px !important;
    border-radius: 12px !important;
    background: var(--tx-brand-primary) !important;
    color: var(--tx-brand-secondary) !important;
    font-weight: 800 !important;
}
#o_wsale_container.tx-saas-shop-page [data-taxuto-plan-key="starter"] .tx-saas-plan-cta {
    background: #fff !important;
    border: 1px solid var(--tx-brand-line) !important;
}
#o_wsale_container.tx-saas-shop-page [data-taxuto-plan-key="scale"] .tx-saas-plan-cta {
    background: var(--tx-brand-secondary) !important;
    color: #fff !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 58px 54px 28px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero h1 {
    max-width: 820px !important;
    margin: 18px auto 16px !important;
    text-align: center !important;
    color: var(--tx-brand-secondary) !important;
    font-size: clamp(42px, 6vw, 72px) !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__content p {
    max-width: 720px !important;
    margin: 0 auto !important;
    text-align: center !important;
    color: var(--tx-brand-muted) !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__eyebrow {
    justify-content: center !important;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__billing {
    display: flex;
    justify-content: center;
    gap: 5px;
    width: max-content;
    margin: 34px auto 0;
    padding: 5px;
    border: 1px solid var(--tx-brand-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20,48,40,.08);
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__billing button {
    border: 0;
    border-radius: 10px;
    padding: 10px 15px;
    background: transparent;
    color: var(--tx-brand-muted);
    font-weight: 750;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__billing button.active {
    background: var(--tx-brand-secondary);
    color: #fff;
}
#o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero__billing button span {
    margin-left: 4px;
    padding: 4px 7px;
    border-radius: 999px;
    background: var(--tx-brand-primary-soft);
    color: var(--tx-brand-primary-dark);
    font-size: 11px;
}
@media (max-width: 991px) {
    #o_wsale_container.tx-saas-shop-page #o_wsale_products_grid { grid-template-columns: 1fr 1fr !important; }
    #o_wsale_container.tx-saas-shop-page #o_wsale_products_grid .oe_product:has([data-taxuto-plan-key="business"]) { transform: none; }
}
@media (max-width: 575px) {
    #o_wsale_container.tx-saas-shop-page #o_wsale_products_grid { grid-template-columns: 1fr !important; }
    #o_wsale_container.tx-saas-shop-page .tx-saas-shop-hero { padding-inline: 18px !important; }
}
