/* webold3 theme — ported from template-webold3 (views/legacy/css/main.ejs)
   Static fallback for --main-color-* (overridden per-request by
   partials/_theme-vars.ejs once `settings` loads) plus the decorative
   utility classes that aren't part of the shared assets/css/main.css. */
:root{
    --main-color:#8b1e24;
    --main-color-rgb:139,30,36;
    --main-color-subtle:#ffd9dc;
    --main-color-subtle-rgb:255,217,220;
    --secondary-color:#5f1419;
    --secondary-color-rgb:95,20,25;
    --main-color-nav-mobile:#310A0D;
    --main-color-nav-mobile-rgb:49,10,13;
    --main-color-footer:#210608;
    --main-color-footer-rgb:33,6,8;
    --dark-gold:#533e15;

    /* Core backgrounds — white / light blue */
  --theme-bg-deep:     #cfe0f8;                        /* deepest light bg */
  --theme-bg-main:     #f5f8fc;                        /* main page bg */
  --theme-bg-card:     rgba(255, 255, 255, 0.97);      /* glass card — white */
  --theme-bg-elevated: rgba(248, 251, 255, 0.96);      /* elevated surface */
  --theme-bg-input:    rgba(255, 255, 255, 0.92);      /* input field */

  /* Primary accent — Navy Blue */
  --theme-gold:        rgb(43, 97, 20);
  --theme-gold-bright: rgb(58, 134, 26);               /* bright red */
  --theme-gold-shine:  #f8cfd6;               /* pale pink / rose */
  --theme-gold-dim:    rgba(196, 18, 48, 0.10);
  --theme-gold-border: rgba(196, 18, 48, 0.38);
  --theme-gold-glow:   rgba(196, 18, 48, 0.22);

  /* Secondary accent — Deep crimson */
  --theme-cyan:        #8b0000;               /* deep crimson */
  --theme-cyan-bright: #b00020;               /* bright crimson */
  --theme-cyan-dim:    rgba(139, 0, 0, 0.07);
  --theme-cyan-border: rgba(139, 0, 0, 0.22);
  --theme-cyan-glow:   rgba(139, 0, 0, 0.18);

  /* Neutral surface tone */
  --theme-blue:        #fce4e8;               /* light pink surface */
  --theme-blue-hover:  #f9c0c8;               /* hover pink */
  --theme-blue-subtle: rgba(196, 18, 48, 0.10); /* faint red fill (alerts / pill-rate bg) */

  /* Brand glossy buttons (betup168 style) — dashboard qcard / cat-tab / lotto pill */
  --theme-navy-rgb:          196, 18, 48;             /* accent shadow tint (= --theme-gold #c41230) */
  --theme-btn-blue-top:      #e0576b;                 /* button gradient — top */
  --theme-btn-blue-bot:      #b01a35;                 /* button gradient — bottom */
  --theme-btn-blue-top-h:    #e86a7d;                 /* hover — top */
  --theme-btn-blue-bot-h:    #c22240;                 /* hover — bottom */
  --theme-btn-blue-border:   rgba(242, 160, 172, 0.55);
  --theme-btn-blue-grad:       linear-gradient(180deg, var(--theme-btn-blue-top) 0%,   var(--theme-btn-blue-bot) 100%);
  --theme-btn-blue-grad-hover: linear-gradient(180deg, var(--theme-btn-blue-top-h) 0%, var(--theme-btn-blue-bot-h) 100%);
  --theme-pill-blue-top:     #ec5a70;                 /* lotto pill gradient — top */
  --theme-pill-blue-bot:     #d02f4f;                 /* lotto pill gradient — bottom */
  --theme-pill-blue-rgb:     208, 47, 79;             /* lotto pill shadow tint */

  /* Cream active-tab accent — dashboard cat-tab.on */
  --theme-tab-cream-top:     #fbf5e4;
  --theme-tab-cream-bot:     #efe2c1;
  --theme-tab-cream-border:  #d8c384;
  --theme-tab-cream-rgb:     216, 195, 132;            /* cream shadow tint */
  --theme-tab-cream-grad:    linear-gradient(180deg, var(--theme-tab-cream-top) 0%, var(--theme-tab-cream-bot) 100%);

  /* Status — semantic tokens (danger / success / warning) */
  --theme-red:         #ef4444;                /* danger */
  --theme-red-rgb:     239, 68, 68;
  --theme-red-subtle:  rgba(239, 68, 68, 0.10);
  --theme-green:       #16a34a;                /* success */
  --theme-green-rgb:   22, 163, 74;
  --theme-green-subtle: rgba(22, 163, 74, 0.10);
  --theme-amber:       #d4920c;                /* warning / highlight */
  --theme-amber-rgb:   212, 146, 12;
  --theme-amber-subtle: rgba(212, 146, 12, 0.12);

  /* Text — dark on light */
  --theme-text-primary:   #2d2d3a;
  --theme-text-secondary: #6b6b7d;
  --theme-text-muted:     rgba(45, 45, 58, 0.38);
  --theme-text-white:     #ffffff;            /* text on colored buttons */

  /* Borders */
  --theme-border-subtle: rgba(0, 0, 0, 0.07);
  --theme-border-mid:    rgba(0, 0, 0, 0.13);

  /* UI tokens */
  --theme-radius:     14px;
  --theme-radius-sm:  8px;
  --theme-radius-lg:  20px;
  --theme-transition: 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  --theme-font:       'Kanit', 'Sarabun', sans-serif;

}

/* Home */
.btn-login{
    background: rgb(242,149,23);
    background: linear-gradient(0deg, rgba(242,149,23,1) 0%, rgba(253,249,138,1) 100%);
    border: none;
    color: black;
}
.btn-register{
    background: rgb(13,128,154);
    background: linear-gradient(0deg, rgba(13,128,154,1) 0%, rgba(77,212,200,1) 100%);
    border: none;
    color: white;
}
.btn-forgot-pass{
    background: rgb(229,4,6);
    background: linear-gradient(0deg, rgba(229,4,6,1) 0%, rgba(213,80,92,1) 100%);
    border: none;
    color: white;
}
.btn-admin-res{
    background: rgb(8,157,69);
    background: linear-gradient(0deg, rgba(8,157,69,1) 0%, rgba(9,226,89,1) 100%);
    border: none;
    color: white;
}
.bg-red-gradient{
    background: rgb(216,26,26);
    /* background: radial-gradient(circle, rgba(216,26,26,0.8) 0%, rgba(51,5,5,0.8) 100%); */
    background: radial-gradient(circle, rgb(61 118 78 / 80%) 0%, rgb(5 51 12 / 80%) 100%);
}

/* Lottery page gradients */
.bg-gradient-darkGreen{
    background: transparent linear-gradient(180deg, #034951 0%, #000000 100%) 0% 0% no-repeat padding-box;
    box-shadow: inset 0px 3px 6px #00000029, 0px 3px 3px #00000033;
}
.bg-gradient-green-darkGreen{
    background: transparent linear-gradient(180deg, #66DBC0 0%, #034951 100%) 0% 0% no-repeat padding-box;
}
.text-title-green *{
    color: #28a745;
    text-shadow: 0px 0px 29px rgba(22, 242, 59, 1);
}
.bg-blue{ background-color: rgb(0, 43, 91); }
.bg-blue-1{ background-color: rgb(43, 57, 144); }
.bg-red-1{ background-color: rgb(190, 29, 45); }
.bg-red-2{ background-color: rgb(238, 49, 41); }
.bg-cyan{ background-color: rgb(143, 206, 249); }
.bg-lightBlue{ background-color: rgb(0, 119, 255); }
.bg-purple-1{ background-color: rgb(46, 49, 146); }
.bg-gradient-purple-red{ background: linear-gradient(rgb(60, 55, 149), rgb(165, 53, 148), rgb(218, 33, 40)); }
.bg-gradient-cyan-green{ background: linear-gradient(0deg, rgb(73, 232, 191) 0%, rgb(22, 195, 150) 79%); }

.btn-gradient-blue{ background: transparent linear-gradient(180deg, #034951 0%, #057DAF 100%) 0% 0% no-repeat padding-box; }
.btn-gradient-gold{ background: linear-gradient(to bottom, #C78D36, #F4D751); }
.btn-gradient-red{ background: linear-gradient(to bottom, #d80000, #ff0000); }

/* Gold identity */
.text-dark-gold{ color: var(--dark-gold); }
.nav-icon{ color: #cf8d24; }
.border-darkGold{ border: 1px solid #bf984d; }

.btn-light-dark-gold{
    background: linear-gradient(#d6ad5b, #bb954c,#d6ad5b);
    --bs-btn-color: var(--bs-white);
}
.btn-dark-gold{
    background: linear-gradient(180deg, #8a7558 0%, #6c5948 79%);
    --bs-btn-color: var(--bs-white);
}
.menu-light-gold{
    background: rgb(254,245,206);
    background: linear-gradient(180deg, rgba(254,245,206,1) 0%, rgba(240,209,141,1) 50%, rgba(175,141,79,1) 100%);
    --bs-btn-color: var(--bs-white);
    --bs-btn-border-color: #887044;
    --bs-btn-hover-border-color: #887044;
    border-width: 0 0 4px;
}
.buttonDropShadow{
    border: solid rgba(0,0,0,0.2);
    border-width: 0 0 4px;
}
.btn-group-brown a, .btn-group-brown button{
    --bs-btn-border-radius: 0;
    --bs-btn-hover-bg: var(--main-color-subtle);
    --bs-btn-hover-border-color: var(--main-color-subtle);
    --bs-btn-color: var(--main-color-subtle);
    --bs-btn-hover-color: var(--main-color);
}

/* Gradient backgrounds (lottery cards) */
.bg-dark-gold{
    background: linear-gradient(90deg, var(--main-color) 0%, var(--main-color-subtle) 79%);
    color: var(--bs-white);
}
.bg-light-gold{
    background: linear-gradient(var(--main-color), var(--main-color-subtle),var(--main-color));
    color: var(--bs-white);
}
.bg-gold-purple{ background: linear-gradient(0deg, #4758b3 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-pink{ background: linear-gradient(0deg, #e8108d 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-light-blue{ background: linear-gradient(0deg, #499ed3 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-red{ background: linear-gradient(0deg, #dc2a1e 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-green{ background: linear-gradient(0deg, #0b8457 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-brown{ background: linear-gradient(0deg, #5a2829 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-orange{ background: linear-gradient(0deg, #e54f1a 0%, #f7df97 79%); color: var(--bs-white); }
.bg-gold-gradient{ background: linear-gradient(to bottom, var(--secondary-color), var(--secondary-color)); }
.bg-darkGold-white{ background: linear-gradient(90deg,rgba(var(--main-color-rgb),1) 0%,rgba(var(--main-color-subtle-rgb), 1) 50%); }
.bg-dashboard{
    background-repeat: round;
    background-image: url('images/page/member/bg-dashboard.webp');
}
.balance-container-background{
    background-repeat: round;
    background-image:url('images/page/member/balance-background.webp');
}
.balance-text-container{ background: linear-gradient(to right, #ae8e6e , #dea848, #ae8e6e); }

/* Solid backgrounds */
.bg-purple{ background: #4758b3; }
.bg-pink{ background: #e8108d; }
.bg-light-blue{ background: #499ed3; }
.bg-green{ background: #0b8457; }
.bg-brown{ background: #5a2829; }
.bg-orange{ background: #e54f1a; }

.glass{
    background: rgba( 255, 255, 255, 0.05 );
    box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.37 );
    backdrop-filter: blur( 7px );
    -webkit-backdrop-filter: blur( 7px );
    border-radius: 10px;
    border: 1px solid rgba( 255, 255, 255, 0.18 );
}

/* Nav */
.nav-dark{
    --bs-link-color: var(--bs-dark);
    --bs-link-hover-color: var(--bs-highlight-color);
    --bs-nav-link-font-weight: 600;
}
.nav-background{ background: var(--main-color); }
.nav-footer li a{ --bs-nav-link-color: var(--main-color-subtle); }
.nav-mobile{
    background: rgb(229,167,83);
    background: linear-gradient(0deg, rgba(229,167,83,1) 0%, rgba(248,245,174,1) 100%);
}
.nav-mobile .nav-link.active, .nav-pills .show>.nav-link{
    background: rgb(216,26,26);
    background: radial-gradient(circle, rgba(216,26,26,1) 0%, rgba(51,5,5,1) 100%);
}
.nav-mobile li a{
    --bs-nav-link-color:var(--bs-secondary);
    --bs-nav-underline-link-active-color:var(--bs-primary);
    --bs-nav-pills-link-active-color:#FFF07C;
    --bs-nav-pills-link-active-bg:var(--main-color-subtle);
    --bs-nav-pills-border-radius:var(--bs-border-radius-xxl);
    --bs-nav-link-color: #310A0D;
    --bs-nav-link-hover-color:var(--main-color);
}

/* Animation */
.hoverBounceIn{
    transform: perspective(1px) translateZ(0);
    transition-duration: 0.5s;
}
.hoverBounceIn:hover,.hoverBounceIn:active,.hoverBounceIn:focus{
    transform: scale(1.1);
    transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
.hoverGrow{
    transform: perspective(1px) translateZ(0);
    transition-duration: 0.3s;
    transition-property: transform;
}
.hoverGrow:hover,.hoverGrow:active,.hoverGrow:focus{ transform: scale(1.1); }
.hoverShrink{
    transform: perspective(1px) translateZ(0);
    transition-duration: 0.3s;
    transition-property: transform;
}
.hoverShrink:hover,.hoverShrink:active,.hoverShrink:focus{ transform: scale(0.9); }

.img-dropshadow-1{ filter: drop-shadow(2px 2px 2px #00000033); }
.fs-7{ font-size: 0.75em; }

.popover-danger{ --bs-popover-header-bg:var(--bs-danger); }
.popover-main-color{
    --bs-popover-header-bg:var(--main-color);
    --bs-popover-header-color:var(--main-color-subtle);
}

/* Button variants used across webold3 pages */
.btn-soft-green{
    --bs-btn-active-color:var(--bs-light);
    --bs-btn-active-bg: var(--bs-success);
    --bs-btn-active-border-color:var(--bs-btn-border-color);
    --bs-btn-hover-color:var(--bs-light);
    --bs-btn-hover-bg:var(--bs-success);
}
.btn-soft-warning{
    --bs-btn-bg:var(--bs-white);
    --bs-btn-active-bg:var(--bs-warning);
    --bs-btn-color:var(--bs-warning);
    --bs-btn-active-color:var(--bs-white);
    --bs-btn-hover-color:var(--bs-white);
    --bs-btn-hover-bg:var(--bs-warning);
}
.btn-soft-info{
    --bs-btn-bg:var(--bs-light);
    --bs-btn-active-bg:var(--bs-info);
    --bs-btn-color:var(--bs-info);
    --bs-btn-hover-color:var(--bs-light);
    --bs-btn-hover-bg:var(--bs-info);
    --bs-bg-opacity: 0.25;
    background-image: var(--bs-gradient)!important;
}
.btn-soft-primary{
    --bs-btn-bg:var(--bs-light);
    --bs-btn-active-bg:var(--bs-primary);
    --bs-btn-color:var(--bs-primary);
    --bs-btn-hover-color:var(--bs-light);
    --bs-btn-hover-bg:var(--bs-primary);
}
.btn-soft-white{
    --bs-btn-bg:var(--bs-light);
    --bs-btn-active-bg:var(--bs-primary);
    --bs-btn-color:var(--bs-primary);
    --bs-btn-hover-color:var(--bs-light);
    --bs-btn-hover-bg:var(--bs-primary);
}
