*{box-sizing:border-box;margin:0;padding:0;}
body{background:#FFFDF5;color:#1A1A1A;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;min-height:100vh;overflow-x:hidden;}
.c{max-width:1200px;margin:0 auto;padding:0 16px;}

.dn{display:flex!important;}
.dm{display:none!important;}
@media(max-width:900px){
  .dn{display:none!important;}
  .dm{display:flex!important;}
}
/* Grids */
.cg{display:grid;gap:10px;grid-template-columns:repeat(8,1fr);}
.pg{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);}
.pg3{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);}
.fg{display:grid;gap:28px;grid-template-columns:1.4fr 1fr 1fr 1fr;}
.bg4{display:grid;grid-template-columns:repeat(4,1fr);}
.hg{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
.ng{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}

@media(max-width:900px){
  .cg{grid-template-columns:repeat(4,1fr);gap:8px;}
  .pg{grid-template-columns:repeat(2,1fr);gap:10px;}
  .pg3{grid-template-columns:1fr;}
  .fg{grid-template-columns:1fr 1fr;gap:16px;}
  .bg4{grid-template-columns:repeat(2,1fr);}
  .hg{grid-template-columns:1fr;}
  .ng{flex-direction:column;text-align:center;}
}
@media(max-width:480px){
  .pg{grid-template-columns:repeat(2,1fr);gap:8px;}
  .fg{grid-template-columns:1fr;}
  .bg4{grid-template-columns:repeat(2,1fr);}
}

/* Components */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:22px;font-weight:800;font-size:13px;border:none;cursor:pointer;transition:all 0.2s;}
.btn-primary{background:#CC1A1A;color:#fff;box-shadow:0 6px 20px rgba(204,26,26,0.28);}
.btn-primary:hover{background:#a01010;transform:translateY(-1px);}
.btn-outline{background:transparent;color:#1A1A1A;border:1.5px solid #F0E8D0;}
.btn-outline:hover{border-color:#CC1A1A;color:#CC1A1A;}

.card{background:#fff;border:1px solid #F0E8D0;border-radius:14px;overflow:hidden;transition:box-shadow 0.2s,transform 0.2s;cursor:pointer;}
.card:hover{box-shadow:0 6px 18px rgba(204,26,26,0.1);transform:translateY(-3px);}

.hero-dot{width:22px;height:7px;border-radius:4px;cursor:pointer;transition:all 0.3s;}
.hero-dot.active{background:#CC1A1A;width:22px;}
.hero-dot:not(.active){background:#F0E8D0;width:7px;}

/* Overlay */
.overlay{position:fixed;inset:0;z-index:500;display:flex;}
.overlay-backdrop{flex:1;background:rgba(0,0,0,0.4);}
.overlay-panel{width:min(380px,100vw);background:#fff;height:100%;display:flex;flex-direction:column;box-shadow:-4px 0 24px rgba(0,0,0,0.15);}
.overlay-center{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:600;display:flex;align-items:center;justify-content:center;padding:16px;}
.overlay-modal{background:#fff;border-radius:20px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,0.25);}

/* scrollbar hide */
.hide-scrollbar::-webkit-scrollbar{display:none;}
.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none;}

/* animations */
@keyframes hf{from{transform:translateY(0);}to{transform:translateY(-10px);}}
@keyframes fi{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.anim-float{animation:hf 2s ease-in-out infinite alternate;}
.anim-fade{animation:fi 0.25s ease;}

/* tabs */
.tab-active{border-bottom:2px solid #CC1A1A;color:#CC1A1A!important;font-weight:700;}
.tab-inactive{border-bottom:2px solid transparent;color:#666;font-weight:600;}

.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* form validation */
.field-error{border-color:#CC1A1A!important;background:#FFF0F0!important;}
.field-error-msg{color:#CC1A1A;font-size:11px;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:4px;}

/* modal responsive */
@media(max-width:480px){
  .overlay-panel{width:100vw!important;}
  .overlay-modal{border-radius:16px!important;margin:0 8px;}
  .overlay-modal>div:first-child{border-radius:16px 16px 0 0!important;}
  .overlay-center{padding:8px!important;}
  .acc-tab{font-size:12px!important;padding:10px 8px!important;}
}
@media(max-width:380px){
  .overlay-modal input{font-size:16px!important;}
  .overlay-modal .acc-tab{padding:8px 4px!important;font-size:11px!important;}
}

/* toast fix for mobile */
@media(max-width:480px){
  #app>[style*="position:fixed"][style*="bottom:70px"]:not(.dm){bottom:80px!important;}
}

/* account modal tabs */
.acc-tab{flex:1;text-align:center;padding:12px;font-weight:700;font-size:13px;cursor:pointer;transition:all 0.2s;}
.acc-tab.active{color:#CC1A1A;border-bottom:2px solid #CC1A1A;}
.acc-tab:not(.active){color:#999;border-bottom:2px solid #F0E8D0;}

/* search highlight */
.search-highlight{background:#FFD000;padding:0 2px;border-radius:2px;}

/* scroll behavior */
html{scroll-behavior:smooth;}