@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600&display=swap');
html,body
{
background-color:#F8F8F8;
margin: 0px;
padding: 0px;
overflow-x: hidden;
box-sizing: border-box;
}

a
{
all: unset;
text-decoration: none;
font-weight: bold;
cursor: pointer;
}

a:hover 
{
text-decoration: underline;
}

h1
{
font-size: 20px;
margin-bottom:0px;
}

h2
{
font-size: 16px;
}

h3
{
font-size: 16px;
}


label
{
font-size: 16px;
}


table
{
table-layout: fixed;
width: 100%;
border-collapse: collapse;
}

th, td
{
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 8px;
text-align: left;
}

select
{
  font-size: 16px;
  padding: 12px;
  border-radius: 6px;
  border: 2px solid #ccc;
  background-color: #FFFFFF;
  box-sizing: border-box;
  width: 100%;
  outline: none;
}

input[type='text'],
input[type='number'],
input[type='email'],
input[type='password'],
input[type='date']
{
font-size: 16px;
border: 1px solid #EAEAEA;
background-color: #FFFFFF;
box-sizing: border-box;
width: 100%;
outline: none;
padding-top: 8px;
padding-right: 12px;
padding-bottom: 8px;
padding-left: 12px;
gap: 10px;
border-radius: 4px;
border-width: 1px;
}

textarea
{
font-size: 16px;
line-height: 24px;
padding: 12px;
border-radius: 6px;
border: 2px solid #ccc;
background-color: #FFFFFF;
box-sizing: border-box;
width: 100%;
outline: none;
resize:none;
overflow-y: auto;
}


input[type='date'],input[type='datetime-local']
{
font-size: 16px;
padding: 12px;
border-radius: 6px;
border: 2px solid #ccc;
background-color: #FFFFFF;
box-sizing: border-box;
width: 100%;
height:30px;
outline: none;
}

input[type='text']:focus,
input[type='number']:focus,
input[type='email']:focus,
input[type='date']:focus,
input[type='password']:focus
{
border-color: #007BFF;
box-shadow: 0 0 5px rgba(0,123,255,0.5);
}


input[type='checkbox']
{
transform: scale(1.5);
margin: 8px;
}

button
{
margin: 4px;
background-color: transparent;
border: 0px; 
border-radius: 8px;
padding: 10px 20px;
font-size: 16px;
color:#ffffff;
background: var(--Primary, #00CDE0);
cursor: pointer;
transition: border-color 0.3s ease, background-color 0.3s ease;
}

button:hover 
{
color: rgb(255, 255, 255);
}

select
{
font-size: 16px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
background-color: #fff;
cursor: pointer;
}

select:focus
{
border-color: #007bff;
outline: none;
}


#loading 
{
display:none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.8);
justify-content: center;
align-items: center;
z-index: 1000;
}

.spinner 
{
width: 50px;
height: 50px;
border: 5px solid #ccc;
border-top: 5px solid #3498db;
border-radius: 50%;
animation: spin 1s linear infinite;
}

@keyframes spin 
{
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}

/*導覽欄位*/
.header
{
position: fixed;
width: 100%;
height:auto;
z-index: 100;
}

.header-nav
{
position: relative;
display: flex;
justify-content: center;
align-items: center;
height: 40px;
border-bottom-width: 1px;
padding: 8px;
background-color:#ffffff;
border-bottom: 1px solid #EAEAEA;
z-index: 109;
}

@media (max-width: 1200px)
{
  .header-nav
  {
    padding: 8px;
  }
}

.header-nav-menu
{
display: flex;
width:100%;
max-width:1200px;
align-items: center;
justify-content: space-between;
}

.header-nav-logo
{
width: 150px;
height: 50px;
}

@media (max-width: 1200px)
{
  .header-nav-logo
  {
    width: 100px;
    height: 33px;
  }
}



.header-nav-menu .left
{
display: flex;
align-items: center;
gap: 24px;
}

@media (max-width: 1200px)
{
  .header-nav-menu .left
  {
    margin:0px;
    padding:0px;
    gap:0px;
  }
}

.header-nav-menu .left .desktop-only
{
display: flex;
align-items: center;
height: auto;
gap: 0px;
padding:0;
justify-content: flex-start;
width:auto;
}

@media (max-width: 1200px)
{
  .header-nav-menu .left .desktop-only
  {
    display: none;
  }
}

.header-nav-menu .left .desktop-only .item
{
display: flex;
align-items: center;
height: auto;
gap: 0px;
padding:0;
justify-content: flex-start;
width:auto;
}

.header-nav-menu .left .desktop-only .item a
{
display: flex;
align-items: center;
gap: 6px;
padding: 0;
font-family: 'Noto Sans TC', sans-serif;
font-size: 16px;
font-weight: normal;
color: #4E4949;
}

.header-nav-menu .left .desktop-only .item img
{
width:15px;
aspect-ratio: 1;
}


.header-nav-menu .right
{
display: flex;
align-items: center;
gap: 20px;
}

.header-nav-menu .right button
{
gap: 10px;
padding-top: 8px;
padding-right: 20px;
padding-bottom: 8px;
padding-left: 20px;
border-radius: 8px;
background: #E5AAFE;
}

.header-nav-menu .right .desktop-only
{
display: block; 
display: flex;
align-items: center;
gap: 20px;
padding:0px;
margin:0px;
}

@media (max-width: 1200px)
{
  .header-nav-menu .right .desktop-only
  {
    display: none;
  }
}

.nav-container
{
position: absolute;
top: -400px;
left: 0;
width: 100%;
height:auto;
max-width: 100%;
box-sizing: border-box;

display:flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 400px;
padding-top: 80px;
padding-right: 185px;
padding-bottom: 80px;
padding-left: 185px;
gap: 10px;
background: linear-gradient(93.66deg, #E3A1FF 1.57%, #00CDE0 99.82%);
transition: top 0.4s ease;
}

.nav-container.popup
{
top: 40px;
}

@media (max-width: 1200px)
{
  .nav-container
  {
    gap: 28px;
    padding-top: 40px;
    padding-right: 12px;
    padding-bottom: 40px;
    padding-left: 12px;
  }
}


.nav-container p
{
font-family: 'Noto Sans TC', sans-serif;
font-size: 36px;
line-height: 120%;
letter-spacing: 5%;
text-align: center;
color: #FFFFFE;
}

.nav-item
{
display: flex;
width:100%;
max-width:1200px;

padding-top: 20px;
padding-right: 40px;
padding-bottom: 20px;
padding-left: 40px;
gap: 12px;
border-radius: 8px;
background: var(--White, #FFFFFE);
box-shadow: 0px 0px 15px 0px #B0B0B033;
}

@media (max-width: 1200px)
{
  .nav-item
  {
    width: 351;
    height: 184;
    gap: 12px;
    padding-top: 20px;
    padding-right: 12px;
    padding-bottom: 20px;
    padding-left: 12px;
    border-radius: 8px;
  }
}

.search-container
{
margin: 0px;
display:flex;
align-items: center;
width:100%;
}

.search-container input
{
width:100%;
height: 48px;
gap: 12px;
}

.search-container button
{
display: flex;
height: 48px;
width: 140px;
gap: 10px;
padding-top: 12px;
padding-right: 40px;
padding-bottom: 12px;
padding-left: 40px;
border-radius: 8px;
background: #00CDE0;
}

@media (max-width: 1200px)
{
  .search-container
  {
    display: none;
  }
}

.search-box
{
width: 100%;
padding: 12px;
font-size: 16px;
border: 1px solid #D8613C;
border-radius: 25px;
outline: none;
text-align: left;
}

.search-div
{
display: none;
position: absolute;
left:0;
width: 100%;
max-height: 100%;
overflow-y: auto;
padding: 5px;
background-color:rgba(255, 255, 255, 0.9);
}

.search-item
{
padding: 12px;
}

.search-item:hover
{
background-color:rgba(209, 209, 209, 0.8);
}

/*聚焦背景*/
.blackcontent-container
{
position:fixed;
top:0;
left:0;
width: 100vw;
height: 100vh;
z-index:400;
display:flex;
text-align:center;
align-items:center;
overflow: hidden;
background: #00000033;
}


.blackcontent-item
{
display:flex;
flex-direction: column;
align-items: center;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:100vw;
max-width: 400px;
height:100vh;
max-height:650px;
background-color:#FFFFFE;
box-shadow: 0px 0px 15px 0px #B0B0B033;
border-radius: 8px;
overflow-y: auto;
padding: 0px 20px;
margin:0px;
z-index:409;
}

.blackcontent-item::-webkit-scrollbar 
{
display: none;
}

@media (max-width: 1200px)
{
  .blackcontent-item
  {
    border-radius: 0px;
  }
}

.blackcontent-item a
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 100;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
text-align: right;
color: #00CDE0;
}

.blackcontent-item h4
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 20px;
letter-spacing: 2%;
color:#00CDE0;
}

.blackcontent-item .title
{
display: flex; 
justify-content: space-between; 
align-items: center;
width:100%;
padding: 0px;
margin:0px;
font-size: 16px;
}

.blackcontent-item .info
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
text-align: left;
width: 95%;
color:#4E4949;
}


.blackcontent-item .info button
{
width: 100%;
height: 48;
border-radius: 8px;
background: var(--Primary, #00CDE0);
color:white;
}


.register-container
{
background-color:#ffffff;
width:1000px;
margin:20px;
padding:20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}


.managecompany-container
{
background-color:#ffffff;
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
position: relative;
overflow: hidden;
}

.arrow 
{
position: absolute;  /*父容器要 position: relative;*/
width:20px;
height:20px;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
border-radius: 50%;
font-size: 20px;
}
.arrow-left 
{
left: 6px; 
}
.arrow-right 
{
right: 6px;
}


/*側邊欄位*/
.side-container
{
display:flex;
position: fixed;
left: -300px;
top: 0px;
width:300px;
height: 100%;
min-height: 100vh;
z-index: 200;
transition: left 0.3s ease-in-out;
overflow-y: auto;
scrollbar-width: none;
}

.side-container::-webkit-scrollbar 
{
display: none;
}


.side-container.popup
{
left: 0px;
}

@media (max-width: 1200px)
{
  .side-container 
  {
    left: -300px;
  }
}

.side-menu-button
{
display:flex;
color: #19D1E3;
font-size: 40px;
margin:0px;
padding:0px;
text-decoration: none;
}

@media (max-width: 1200px)
{
  .side-menu-button
  {
    display:flex;
  }
}

.side-menu-button:hover
{
text-decoration: none;
}

.side-item
{
color:white;
width:100%;
background-color: #FFFFFF;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-size: 16px;
letter-spacing: 2%;
color: #4E4949;
padding-bottom: 1000px;
}

.side-item .bannar
{
display: flex; 
flex-direction: row;
align-items: center;
margin: 0px;
height: 40px;
transition: background-color 0.3s ease;
padding-top: 8px;
padding-right: 12px;
padding-bottom: 8px;
padding-left: 12px;
background-color: #F8F8F8;
border-bottom: 1px solid #EAEAEA;
border-bottom-width: 1px;
justify-content: space-between;
}

.side-item .bannar img
{
object-fit:cover;
display: inline-block;
vertical-align: middle;
margin-right: 5px;
width:20px;
height:20px;
cursor: pointer;
}

.side-item .bannar div
{
position:relative;
}


.side-item .profile
{
margin: 0px;
padding: 20px; 
height: auto;
transition: background-color 0.3s ease;
padding-top: 8px;
padding-right: 12px;
padding-bottom: 8px;
padding-left: 12px;
gap: 0px;
border-bottom: 1px solid #EAEAEA;
border-bottom-width: 1px;
}

.side-item .profile .info
{
display: flex; 
flex-direction: row;
align-items: center;
gap: 0px;
padding:0px;
margin:0px;
}

.side-item .profile .info img
{
width:50px;
height:50px;
border-radius:50%;
object-fit:cover;
border:2px solid#fff;
}


.side-item .profile .info p
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 16px;
margin:0px;
gap: 0px;
padding:0px;
}

.side-item .profile .info a
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 16px;
letter-spacing: 2%;
color:#00CDE0;
margin:0px;
gap: 0px;
padding:0px;
}

.side-item .section
{
border-bottom-width: 1px;
border-bottom: 1px solid var(--Gray_light, #EAEAEA);
position:relative;
cursor: pointer;
padding: 0px;
margin: 0px;
transition: background-color 0.3s ease;
}

.side-item .section section
{
display: flex;
position:relative;
cursor: pointer;
margin: 0px;
padding: 20px; 
transition: background-color 0.3s ease;
}

.side-item .section section:hover
{
background-color:rgba(193,186,172,0.5);
}

.side-item .section img
{
object-fit:cover;
display: inline-block;
vertical-align: middle;
margin-right: 5px;
width:20px;
height:20px;
}


/*QRCode*/
.qrcode-container
{
display:flex;
flex-direction: column;
align-items: center;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width: 90%;
max-width: 415px;
height: 80%;
max-height: 300px;
background-color:#FFFFFE;
box-shadow: 0px 0px 15px 0px #B0B0B033;
border-radius: 8px;
overflow-y: auto;
padding: 0px 20px;
margin:0px;
overflow: hidden;
}

.qrcode-container::-webkit-scrollbar 
{
  display: none;
}

.qrcode-container h4
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 20px;
letter-spacing: 2%;
color:#00CDE0;
}

.qrcode-container .title
{
display: flex; 
justify-content: space-between; 
align-items: center;
width:100%;
padding: 0px;
margin:0px;
font-size: 16px;
}

.qrcode-container .qrcode
{
display: flex; 
align-items: center;
flex-direction: column;
width:100%;
padding: 0px;
margin:0px;
font-size: 16px;
}

.myqrcode
{
display: block;
padding: 0px;
margin: 0px;
gap:0px;
cursor: pointer;
transform: rotate(0deg);
width: 100%;
max-width: 140px;
aspect-ratio: 1;
}


/*版面*/
.container
{
display: flex;
justify-content: center; 
width: 100%;
padding: 50px 0 100px 0;
}

.item
{
display: flex; 
flex-direction: column;
margin: 12px;
padding: 12px;
cursor: pointer;
width:100px;
height:100px;
transition: transform 0.5s ease-in-out;
text-align: center;
align-items: center;
}

/*主內容*/
.page-container
{
width:100%;
max-width:1200px;
overflow-y: auto;
overflow-x: hidden;
margin-top: 12px;
}

/*票券產品清單*/
.goodslist-container
{
display: flex;
justify-content: center;
flex-wrap: wrap;
gap:2%;
width:100%;
max-width: 1200px;
}

.goodslist-item
{
width:49%;
max-width:300px;
height: auto;
border-radius: 8px;
background-color: #ffffff;
cursor: pointer;
text-align: left;
white-space: nowrap;
overflow: hidden;
margin: 1% 0;
text-overflow: ellipsis;
box-shadow: 0px 0px 15px 0px #B0B0B033;
}


.goodslist-item img
{
width:100%;
aspect-ratio:1.618;
object-fit: cover;
border-bottom-width: 3px;
border-bottom: 3px dashed var(--Gray, #00CDE0);
}

.goodslist-item .content
{
gap: 12px;
padding-right: 12px;
padding-left: 12px;
}

.goodslist-item .content .brand
{
display:flex;
align-items: center;
}

.goodslist-item .content .brand a
{
display:flex;
align-items: center;
font-weight: normal;
gap:6px;
}

.goodslist-item .content .brand img
{
width:30px;
aspect-ratio: 1;
border-radius:50%;
object-fit:cover;
cursor: pointer;
border: none;
}

.goodslist-item .content .title
{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
white-space: normal;
font-size: 16px;
line-height: 1.5em;
height: calc(1.5em * 3);
margin: 0;
padding: 0;
color:#4E4949;
}

.goodslist-item .content .title h2
{
font-weight: normal;
color:#4E4949;
}

.goodslist-item .content .offer
{
display: flex; 
justify-content: space-between; 
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 16px;
text-align: right;
color: #00CDE0;
margin:0px;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
}

.goodslist-item .content .money
{
display: flex;
align-items: center;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-style: Bold;
font-size: 16px;
text-align: right;
line-height: 150%;
letter-spacing: 2%;
color: #00CDE0;
}

.goodslist-item .content .money .up
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 14px;
line-height: 150%;
letter-spacing: 2%;
text-align: right;
color:#00CDE0;
margin: 0px 12px;
}

.goodslist-item .content .offer .location
{
display: flex;
align-items: center;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 14px;
line-height: 150%;
letter-spacing: 2%;
color: #838383;
}

.goodslist-item-description
{
font-size: 14px;
color:#9D9D9D;
margin:0px;
padding:0px;
line-height: 1.5em;   /* 單行高度 */
height: 3em;    /* 兩行高度 */
white-space: pre-line;
display: -webkit-box;
line-clamp: 2;
-webkit-line-clamp: 2; /*限制顯示2行*/
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
}

/*產品頁面*/
.goods-container
{
display:flex;
flex-direction: column;
align-items: center;
padding: 0px;
margin:0px;
width:100%;
max-width:1200px;
}

.goods-container-flex
{
display:flex; 
gap:12px;
width:100%;
max-width:1200px;
align-items: flex-start;
box-sizing: border-box;
}

.goods-container-flex .left
{
width:100%;
}

.goods-container-flex .left textarea 
{
line-height: 1.5em;
height: calc(1.5em * 5 + 16px);
padding: 8px;
resize: vertical;
width: 100%;
box-sizing: border-box;
}

.goods-container-flex .right
{
display: flex;
flex-direction: column;
width:300px;
height: auto;
}

@media (max-width: 1200px) 
{
  .goods-container-flex .right
  {
      position: fixed; 
      top: 0px;
      right: -100vw;
      width: 100vw;
      height: 100vh;
      transition: right 0.3s ease-in-out;
      z-index: 300;
  }


  .goods-container-flex .right.popup
  {
    right: 0;
  }
}

.goods-item
{
width:100%;
margin: 12px 0px;
gap: 20px;
background-color:#FFFFFE;
box-shadow: 0px 0px 15px 0px #B0B0B033;
padding:20px;
box-sizing: border-box;
overflow-wrap: break-word;
word-break: break-word;
border-radius: 8px;
}

@media (max-width: 1200px) 
{
  .goods-item
  {
    width:100%;
    border-radius: 0px;
  }
}


.goods-item-cover
{
display:flex;
width:100%;
max-width: 1000px;
margin: 0;
padding: 0;
cursor: pointer;
}

.goods-item-cover img
{
width:100%;
aspect-ratio: 1.618;
margin: 0;
padding: 0;
border-radius: 8px;
object-fit:cover;
}

@media (max-width: 1200px) 
{
  .goods-item-cover img
  {
    width: 100%;
    max-width: 100%;
    object-fit:cover;
    border-radius: 0;
  }
}

.goods-item .title
{
margin: 0;
padding: 0;
}

.goods-item .title h1
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 24px;
line-height: 150%;
letter-spacing: 2%;
color:#4E4949;
}

.goods-item .title p
{
white-space: pre-line;
display: -webkit-box;
line-clamp: 8;
-webkit-line-clamp: 8; /*限制顯示2行*/
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
color:#838383;
}

.goods-item .title .rate
{
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}


.goods-item .title .date
{
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.goods-item .title .location
{
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.goods-item .store
{
box-shadow: 0px 0px 15px 0px #B0B0B033;
padding: 12px;
background: #FFFFFE;
}

.goods-item .store a
{
display: flex;
align-items: center; 
gap: 8px;
}

.goods-item .store img
{
width:50px;
aspect-ratio:1;
border-radius:50%;
object-fit:cover;
display:inline-block;
vertical-align:middle;
}

.goods-item .store p
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color:#4E4949;
}

.goods-item .store button
{
display: flex;
height: 48px;
gap: 10px;
padding-top: 12px;
padding-right: 40px;
padding-bottom: 12px;
padding-left: 40px;
border-radius: 8px;
background: #00CDE0;
}

.goods-ticket
{
display: flex;
flex-direction: column;
width: 100%;
margin: 12px 0px;
background-color:#ffffff;
box-shadow: 0px 0px 15px 0px #B0B0B033;
padding:12px;
border: none;
box-sizing: border-box;
align-self: flex-start; 
border-radius: 8px;
gap:20px;
overflow-wrap: break-word;
word-break: break-word;
}

@media (max-width: 1200px) 
{
  .goods-ticket
  {
      display:flex;
      flex: 1 1 auto;
      overflow-y: auto;
      border-radius: 0px;
      box-sizing: border-box;
      overflow-y: scroll;
      scrollbar-width: none;
      padding-bottom: 1000px;
  }
}

.goods-ticket .title
{
display: flex; 
justify-content: space-between; 
align-items: center;
width:100%;
padding: 0px;
margin:0px;
font-size: 16px;
}

.goods-ticket .title .remove-btn
{
  display: none; 
}

@media (max-width: 1200px) 
{
  .goods-ticket .title .remove-btn
  {
    display: flex; 
  }
}

.goods-ticket h2
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color:#4E4949;
}

.goods-ticket button
{
width: 100%;
padding-top: 12px;
padding-right: 40px;
padding-bottom: 12px;
padding-left: 40px;
border-radius: 8px;
background: var(--Primary, #00CDE0);
color: #ffffff;
}

.goods-ticket .types
{
position: relative;
background-image: url('');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
border: 1px solid var(--Gray_light, #EAEAEA);
border-radius: 8px;
box-sizing: border-box;
width: 100%;
max-width: 266px;
height:auto;
font-size: 16px;
border-width: 1px;
padding: 12px;
}

@media (max-width: 1200px) 
{
  .goods-ticket .types
  {
    width: 100%;
    max-width: 100%;
  }
}

.goods-ticket .types h3
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.goods-ticket .types .quantity
{
font-family: 'Noto Sans TC', sans-serif;
display:flex;
align-items: center;
justify-content: flex-end;
}

.goods-ticket .types .quantity button
{
display:flex;
align-items: center;
background: var(--Primary, #00CDE0);
color: #ffffff;
width: 32px;
height:32px;
gap: 10px;
border-radius: 8px;
padding: 12px;
}

.goods-ticket .checkout
{
display: flex;
flex-direction: column;
align-items: flex-end;
width: 100%;
gap:6px;
}

.goods-ticket .checkout p
{
font-size: 14px;
color:#9D9D9D;
margin:0px;
padding:0px;
}

.goods-ticket-buy
{
display:none;
position: fixed;
bottom: 0px;
left: 0;
width: 100%;
background-color: #FFFFFF;
padding: 10px 0;
justify-content: flex-end;
text-align: right;
z-index: 200;
}

.goods-ticket-buy button
{
width: 100%;
}


@media (max-width: 1200px) 
{
  .goods-ticket-buy
  {
    display:flex;
  }

  .goods-ticket-buy button
  {
  margin: 4px;
  background-color: transparent;
  border: 0px; 
  border-radius: 8px;
  padding: 10px 20px;
  font-size: 16px;
  color:#ffffff;
  background: var(--Primary, #00CDE0);
  cursor: pointer;
  transition: border-color 0.3s ease, background-color 0.3s ease;
  }
}


.tabs-container
{
width: 100%;
margin-top:12px; 
padding:0px;
}

.tabs-container button
{
flex: 1;
justify-content: space-around;
margin: 0px;
padding: 12px;
font-size: 16px;
cursor: pointer;
color: black;
text-align: center;
transition: background-color 0.3s, color 0.3s;
background-color: #ffffff;
border-radius: 0;
border:0px solid #ddd;;
border-bottom: 1px solid #ddd;
}

.tabs-container button:hover
{
font-weight: bold;
background-color: transparent;
border-bottom: 2px solid #000000;
}

.tabs-content
{
display: none;
}

.tabs-content.active
{
display: block;
}

.tabs-content p
{
font-size: 16px;
font-weight: normal;
white-space: pre-line;
}

.contentpic-container 
{
display: flex;
flex-wrap: wrap;
width: 100%;
padding: 0px;
margin: 0px;
}

.contentpic-container img 
{
width: 100%;
height: auto;
object-fit: cover;
cursor: pointer;
padding: 0px;
margin: 0px;
}




.comment-container
{
width:100%;
margin: 12px 0px;
gap: 20px;
background-color:#FFFFFE;
box-shadow: 0px 0px 15px 0px #B0B0B033;
padding:20px;
box-sizing: border-box;
overflow-wrap: break-word;
word-break: break-word;
border-radius: 8px;
}

@media (max-width: 1200px) 
{
  .comment-container
  {
    width:100%;
    border-radius: 0px;
  }
}

.comment-container .title
{
display:flex;
align-items:center;
position:sticky;
top:0;
background-color:#ffffff;
}


.comment-container .review 
{
display:flex;
text-align: left;
margin: 0px;
padding:0px;
}

.comment-container .comment
{
position: sticky;
bottom: 0;
display: flex;
justify-content: space-around;
align-items: flex-end;
width: 100%;
padding:0px;
height: auto;
text-align: left;
background-color:#ffffff;
}

.comment-container .comment button
{
display:flex;
align-items: center;
background: var(--Primary, #00CDE0);
color: #ffffff;
width: 32px;
height:32px;
gap: 10px;
border-radius: 8px;
padding: 12px;
}

.stars 
{
font-size: 24px;
cursor: pointer;
color: gray;
}

.stars.active 
{
color: gold;
}


/*商店頁面*/
.store-container
{
width:100%;
padding:0px;
}

.store-item
{
width:100%;
padding:0px;
}

.store-header
{
position:relative;
width:100%;
aspect-ratio:2.5;
margin-bottom:40px;
}

@media (max-width: 1200px)
{
  .store-header
  {
    aspect-ratio:2.5;
  }
}

.store-cover-picture
{
width:100%;
height:100%;
object-fit:cover;
opacity:0.5;
cursor:pointer;
}

.store-profile-picture
{
position:absolute;
top:90%;
left:50%;
width:30%;
max-width:150px;
aspect-ratio:1;
transform:translate(-50%, -50%);
border-radius:50%;
object-fit:cover;
padding:0px;
cursor:pointer;
}

.quote 
{
padding: 12px;
background-color: #fff;
color: #333;
border: 1px solid #ccc;
border-radius: 10px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
overflow: hidden;
white-space: pre-line;
}

.event 
{
display: flex;
flex-wrap: wrap;
}

/*貼文*/
.post-container 
{ 
width:100%;
background-color:#ffffff;
margin: 8px 0px;
padding: 0px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
border-radius: 10px;
}
        
.post-header 
{ 
display: flex; 
align-items: center; 
padding: clamp(8px, 3%, 12px);
}

.post-header img 
{ 
width: 40px; 
height: 40px; 
border-radius: 50%; 
margin-right: 10px; 
}
.post-header a
{ 
font-size:16px;
font-weight: bold; 
}

.post-content 
{ 
overflow-x: hidden;
margin: 0px;
padding: 0px;
}

.post-content h2 
{ 
font-size: 20px;
font-weight: bold;
}

.post-content p
{ 
font-size: 16px;
font-weight: normal;
white-space: pre-line;
}

.post-content-img 
{ 
min-width: 100%;
width:100%;
max-width:100%;
height:auto;
margin-top: 0px; 
}


.post-action
{ 
display: flex; 
justify-content: space-between; 
padding: 12px;
border-top: 1px solid #ddd;
}

.post-action section
{ 
width:100%;
cursor: pointer;
text-align: center;
}

.post-action section:hover
{ 
font-weight: bold;
}

.post-comment_container
{ 
margin: 8px; 
}

.post-comment 
{ 
background: #f0f2f5;
padding: 8px;  
margin: 8px;
border-radius: 10px; 
}


/********會員中心********/

.customer-profile-picture
{
width:50px;
height:50px;
border-radius:50%;
object-fit:cover;
border:2px solid#fff;
}

/*顧客金流*/
.customer-moneyflow-container
{
background-color:#FFFFFE;
margin:20px;
padding:20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
border-radius: 8px;
box-shadow: 0px 0px 15px 0px #B0B0B033;
}


.table_customermoneyflow
{
width: 100%;
gap: 20px;
border-radius: 8px;
border-width: 1px;
padding: 20px;
border: 1px solid var(--Gray_light, #EAEAEA);
width:100%;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
}

.table_customermoneyflow th:nth-child(1) 
{
width: 130px;
}

.table_customermoneyflow th:nth-child(2) 
{
width: auto;
}

.table_customermoneyflow th:nth-child(3) 
{
width: 100px;
}

.table_customermoneyflow th:nth-child(4) 
{
width: 100px;
}

.table_customermoneyflow .mobile-only
{
display: none;
}

@media (max-width: 1200px)
{
  .table_customermoneyflow thead 
  {
    display: none;
  }

  .table_customermoneyflow .desktop-only
  {
    display: none;
  }

  .table_customermoneyflow .mobile-only
  {
    display: block;
  }

  .table_customermoneyflow td:nth-child(1) 
  {
    width: 500px;
  }

  .table_customermoneyflow td:nth-child(2) 
  {
    width: 30%;
    text-align: right;
  }

}


/*訊息*/
.message-container
{
display:flex;
height:80vh;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
overflow: hidden;
gap: 20px;
}

.message-container .users
{
display:block;
width:100%;
height: 100%;
max-width:300px;
overflow-x: hidden;
overflow-y: auto;
background: #FFFFFE;
padding-top: 20px;
padding-right: 12px;
padding-bottom: 8px;
padding-left: 12px;
border-radius: 8px;
box-shadow: 0px 0px 15px 0px #B0B0B033;
}


@media (max-width: 1200px)
{
  .message-container .users
  {
    width:100%;
    height: 100%;
    max-width:100%;
  }
}


.message-container .users section 
{
  position:relative;
  display: flex;
  align-items: center;
  margin: 6px;
  padding: 6px;
  font-size: 16px;
  cursor: pointer;
}

.message-container .users section img 
{
  margin: 0px 6px;
  width:30px;
  height:30px;
  border-radius: 50%;
  object-fit:cover;
  border:2px solid#fff;
}

.message-container .users section:hover
{
  background-color: #dceeff;
}

.message-container .users section:hover img 
{
  transform: scale(1.2);
  transition: transform 0.3s ease;
}

.message-container .users section.active
{
  background-color: #dceeff;
}

.message-container .users section.active img
{
  transform: scale(1.2);
}

.message-container .users section.unread
{
  font-weight: bold;
}

.message-container .chatbox
{
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width:700px;
  height:100%;
  background: #FFFFFE;
  box-sizing: border-box;
  overflow: hidden;
  background: #FFFFFE;
  padding-top: 20px;
  padding-right: 12px;
  padding-bottom: 8px;
  padding-left: 12px;
  border-radius: 8px;
  box-shadow: 0px 0px 15px 0px #B0B0B033;
}

@media (max-width: 1200px)
{
  .message-container .chatbox
  {
    display:none;
  }
}


.message-container .chatbox .title
{
  display: grid; 
  grid-template-columns: auto 1fr auto; 
  align-items: center;
  border-bottom: 1px solid rgb(160, 160, 160);
  background: #FFFFFE;
  height:auto;
}


.message-container .chatbox .title a 
{
color:white;
}

@media (max-width: 1200px)
{
  .message-container .chatbox .title a 
  {
    color: gray;
    text-align: left;
    font-size: 26px;
  }
}

.message-container .chatbox .title figure 
{
justify-self: center;
text-align: center;
margin: 0;
}

.message-container .chatbox .title figure :hover
{
cursor: pointer;
}

.message-container .chatbox .title figure img 
{
width:50px;
height:50px;
border-radius: 50%;
object-fit:cover;
border:2px solid#fff;
}

.message-container .chatbox .title figure figcaption 
{
font-size: 12px;
color: gray;
opacity: 0.8;
margin-top: 1px;
}

.message-container .chatbox .messages
{
  flex-grow: 1;
  min-height: 0;
  background-color:#fff;
  padding: 15px; 
  height:70%;
  overflow-y: auto;
  box-sizing: border-box;
}

.message 
{
  margin-bottom: 15px;
  display: flex;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
  align-items: flex-start;
}

.message.you
{
  justify-content: flex-start;
}

.message.me
{
  justify-content: flex-end;
}

.message .text 
{
  width: 50%;
  padding: 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 10px;
  text-align: left;
  white-space: pre-line;
}

.message.you .text 
{
  background-color: #dceeff;
  border-top-left-radius: 0;
}

.message.me .text 
{
  background-color: #dfffdc;
  border-top-right-radius: 0;
}

.message-container .chatbox .inputbox 
{
  display: flex;
  align-items: center;
  width:100%;
  height:auto;
  padding: 10px;
  border-top: 1px solid #ddd;
  background-color: #fff;
  box-sizing: border-box;
}

.message-container .chatbox .inputbox textarea 
{
  flex: 1;
  height:auto;
  margin-right: 10px;
}

.message-container .chatbox .inputbox button 
{
  padding: 10px 15px;
  font-size: 14px;
  color: #fff;
  background-color: #3498db;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.message-container .chatbox .inputbox button:hover 
{
  background-color: #2980b9;
}

/*購物車*/
.cart
{
width:100%;
}

.cart .title
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-style: Bold;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.cart .detail
{
width:100%;
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
padding: 20px 12px;
border-bottom: 1px solid #ddd;
gap:20px;
}

.cart .detail .label 
{
text-align: left;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.cart .detail .value 
{
text-align: left;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color: #4E4949;
}

.cart .detail .amount
{
font-weight: 700;
font-style: Bold;
font-size: 20px;
}

.cart .detail .agree
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
}


/*我的票券*/
.tickets-container
{
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow: hidden;
border-radius: 8px;
padding-top: 20px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 20px;
gap: 40px;
background-color:#FFFFFE;
box-shadow: 0px 0px 15px 0px #B0B0B033;
}

.myticket-item 
{
position: relative;
width: 100%;
max-width: 600px;
height:200px;
background-color: #fff;
border-radius: 15px;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
box-sizing: border-box;
display: flex;
overflow: hidden;
cursor: pointer;
}


@media (max-width: 1200px)
{
  .myticket-item 
  {
    width: 100%;
    max-width: 600px;
    height:200px;
    aspect-ratio: 1.5;
  }
}


/*未完成付款*/
.myticket-item.unpaid
{
color:#ffffff;
background-color: rgba(255, 255, 255, 0.5);
background-blend-mode: overlay;
}

.myticket-item.unpaid::after
{
content: "未付款";
position: absolute;
color: red;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
background: rgba(0, 0, 0, 0.5);
color: white;
padding: 10px 20px;
border-radius: 5px;
}

/*還有剩餘*/
.myticket-item.remain
{
color:#ffffff;
background-color: rgba(255, 255, 255, 0.5);
background-blend-mode: overlay;
}

.myticket-item.remain::after
{
position: absolute;
color: red;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
background: rgba(0, 0, 0, 0.5);
color: white;
padding: 10px 20px;
border-radius: 5px;
}

/*失效*/
.myticket-item.expire
{
color:#ffffff;
background-color: rgba(255, 255, 255, 0.5);
background-blend-mode: overlay;
}

.myticket-item.expire::after
{
content: "失效";
position: absolute;
color: red;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
background: rgba(0, 0, 0, 0.5);
color: white;
padding: 10px 20px;
border-radius: 5px;
}

.myticket-item .content
{
position: relative;
display: flex;
flex-direction: column;
flex: 1;
padding: 4px;
padding-right: 0; /* Adjust to allow for tear line */
text-align: left;
overflow: hidden;
}

.myticket-item .content.unread
{
margin: 0px;
}

.myticket-item .content.unread::after 
{
content: "NEW";
position: absolute;
color: red;
font-size: 14px;
font-weight: bold;
text-transform: uppercase;
background: rgba(0, 0, 0, 0.5);
color: white;
padding: 10px 20px;
border-radius: 5px;
}

.myticket-item .content .title
{
display: flex;
justify-content: space-between;
align-items: flex-start;
overflow-wrap: break-word; /* 文字可換行 */
word-break: break-word;
}

.myticket-item .content .title h2
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-style: Bold;
font-size: 16px;
line-height: 150%;
letter-spacing: 2%;
color:#4E4949;
text-align: left;
white-space: normal; /* 允許自動換行 */
word-break: break-word;
}


.myticket-item .content .details 
{
margin: 0px;
}

.myticket-item .content .details .datetime 
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-style: Bold;
font-size: 14px;
line-height: 150%;
letter-spacing: 2%;
color: #838383;
position: relative;
padding-left: 20px; /* For the connecting line */
}

.myticket-item .content .details .datetime::before 
{
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 10px;
height: 2px;
background-color: #ccc;
}

.myticket-item .details .datetime.end-time 
{
margin-top: 0px;
}

.myticket-item .details .datetime:not(.end-time)::after 
{
content: '';
position: absolute;
left: 5px;
top: 100%;
width: 2px;
height: 20px; /* Length of the connecting line */
background-color: #ccc;
}

.myticket-item .tear
{
position: relative;
width: 2px;
background-image: linear-gradient(to bottom, #ddd 50%, transparent 50%);
background-size: 2px 10px; /* Dashed line effect */
}

.myticket-item .tear::before,
.myticket-item .tear::after 
{
content: '';
position: absolute;
width: 20px; /* Size of the half-circle cutout */
height: 20px;
background-color: #f0f2f5; /* Match body background */
border-radius: 50%;
left: -9px;
z-index: 10;
}

.myticket-item .tear::before 
{
top: -10px; /* Half of height to align with top edge */
}

.myticket-item .tear::after
{
bottom: -10px; /* Half of height to align with bottom edge */
}

.myticket-item .stub 
{
  background-color: #f9f9f9;
  width: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  writing-mode: vertical-lr;
  text-orientation: mixed;
  text-transform: uppercase;
  font-weight: bold;
  color: #ccc;
  font-size: 14px;
  letter-spacing: 2px;
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}

.myticket-item .stub p 
{
  margin: 0;
  transform: rotate(360deg); /* 讓直書往上排列 */
}

.info-icon 
{
position: absolute;
bottom: 6px;
right: 6px;
width: 30px;
height: 30px;
background-color: #007bff; /* Blue color for info icon */
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
font-size: 18px;
font-weight: bold;
cursor: pointer;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
z-index: 30;
}

.used
{
position:absolute;
top:10%;
left:60%;
display:flex;
justify-content: center;
align-items:center;
width:80px;
height:80px;
transform:rotate(-45deg);
border: 5px solid red;
border-radius: 50%; 
color: red;
font-size: 26px;
font-weight:bold;
text-align:center;
z-index: 20;
}




/*接收票券*/
.receive-container
{
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
background-color:#ffffff;
}

.receive-item
{
display:flex;
width:100%;
}

.receive-button 
{
align-self: flex-end;
}

@media (max-width: 1200px)
{
  .receive-item
  {
    display: flex;
    flex-direction: column;
  }
}

/*修改資料*/
.setting-container
{
background-color:#ffffff;
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}



/********廠商中心********/

/*儀錶板*/
.company-dashboard-container
{
background-color:#ffffff;
margin:20px;
padding:20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

/*品牌列表*/
.list-store-container
{
background-color:#ffffff;
margin:20px;
padding:20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}


/*掃描*/
.scan-container
{
background-color:#ffffff;
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.check-container
{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:300;
display:flex;
align-items: center;
justify-content: center;
background:transparent;
}

.check-item
{
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:200px;
height:200px;
background-color:white;
border-radius:50%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
margin: 0; 
display:flex;
align-items: center;
justify-content: center;
}

.checkmark
{
font-size: 100px;
font-weight: bold;
animation: checkmarkFadeIn 0.5s ease-in-out;
}

@keyframes checkmarkFadeIn 
{
  from 
  {
    transform: scale(0);
    opacity: 0;
  }
  to 
  {
    transform: scale(1);
    opacity: 1;
  }
}

/*管理品牌*/
.manage-store-container
{
background-color:#ffffff;
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.manage-store-cover
{
position:relative;
width:100%;
aspect-ratio:3;
margin-bottom:5%;
}

.manage-store-coverpicture
{
width:100%;
height:100%;
object-fit:cover;
opacity:0.5;
cursor: pointer;
}

.manage-store-logopicture
{
position:absolute;
top:90%;
left:50%;
width:25%;
max-width:150px;
aspect-ratio:1;
transform:translate(-50%, -50%);
border-radius:50%;
object-fit:cover;
cursor: pointer;
}

.manage-store-link
{
display:flex;
align-items: center;
justify-content: center;
margin-top: 6px;
}

/*票券種類*/
.list-container
{
overflow-x: auto;
white-space: nowrap;
width: 100%;
}

.list
{
padding: 0;
margin: 0;
}

.list-item
{
display: flex;
transition: background-color 0.3s ease;
}

.list-title
{
overflow: hidden;
white-space: nowrap;
text-overflow:ellipsis;
color: #333;
font-weight: bold;
}

.list-option
{
overflow: hidden;
white-space: nowrap;
text-overflow:ellipsis;
color: #333;
}


.list-item-types-title
{
background-color:rgb(255, 255, 255);
}

.list-item-types
{
background-color:rgb(255, 255, 255);
}
.list-title-types
{
overflow: hidden;
white-space: nowrap;
text-overflow:ellipsis;
font-size: 14px;
color: #887e7e;
font-weight: bold;
padding: 6px;
}

.list-option-types
{
overflow: hidden;
font-size: 14px;
color: #887e7e;
padding: 6px;
}

/*廠商訂單
.company-orders-container
{
background-color:#ffffff;
margin: clamp(4px, 1%, 12px);
padding: clamp(8px, 3%, 12px);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
*/

/*訂單*/
.company-orders-container
{
background-color:#ffffff;
margin:20px;
padding:12px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
overflow: auto;
}

.company-orders-hide-container
{
position: fixed;
top: 40px;
right: -1200px;
width:80%;
max-width: 1000px;
height: 100%;
background-color: #f2f2f2;
box-shadow: -2px 0 5px rgba(0,0,0,0.3);
transition: right 0.5s ease;
padding: 20px;
}

/*廠商金流*/
.company-moneyflow-container
{
background-color:#FFFFFE;
margin:20px;
padding:20px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
border-radius: 8px;
box-shadow: 0px 0px 15px 0px #B0B0B033;
}

.table_companymoneyflow
{
width: 100%;
gap: 20px;
border-radius: 8px;
border-width: 1px;
padding: 20px;
border: 1px solid var(--Gray_light, #EAEAEA);
width:100%;
font-family: 'Noto Sans TC', sans-serif;
font-weight: 400;
font-style: Regular;
font-size: 16px;
}

.table_companymoneyflow th:nth-child(1) 
{
width: 130px;
}

.table_companymoneyflow th:nth-child(2) 
{
width: auto;
}

.table_companymoneyflow th:nth-child(3) 
{
width: 100px;
}

.table_companymoneyflow th:nth-child(4) 
{
width: 100px;
}

.table_companymoneyflow .mobile-only
{
display: none;
}

@media (max-width: 1200px)
{
  .table_companymoneyflow thead 
  {
    display: none;
  }

  .table_companymoneyflow .desktop-only
  {
    display: none;
  }

  .table_companymoneyflow .mobile-only
  {
    display: block;
  }

  .table_companymoneyflow td:nth-child(1) 
  {
    width: 500px;
  }

  .table_companymoneyflow td:nth-child(2) 
  {
    width: 30%;
    text-align: right;
  }

}

/*頁尾*/
.footer
{
height: auto;
background: linear-gradient(91.64deg, #E3A1FF 0.13%, #19D1E3 99.85%);
display: flex;
flex-direction: column;
align-items: center;
}

@media (max-width: 1200px)
{
  .footer
  {
    display: none;
  }
}

.footer-container
{
display: flex;
justify-content: space-between;
align-items: flex-start;
width:100%;
max-width:1200px;
padding: 20px;
}


.footer-item
{
display: flex;
flex-direction: column;
color:#ffffff;
font-weight: normal;
gap: 12px;
}

.footer-container-copyright
{
display: flex;
align-items: center;
color:white;
}

/*行動裝置底部menu*/
.buttom-menu-container
{
display: none;
justify-content: space-around;
align-items: center;
position: fixed;
z-index: 100;
bottom: 0;
width: 100%;
height: 56px;
border-top-width: 1px;
background: var(--White, #FFFFFE);
border-top: 1px solid var(--Gray_light, #EAEAEA);
box-shadow: 0px 0px 15px 0px #B0B0B033;
}

@media (max-width: 1200px)
{
  .buttom-menu-container
  {
    display: flex;
  }
}

.buttom-menu-container section
{
position: relative;
display: flex;
align-items: center;
justify-content: center;
height: 56px;
overflow: visible; 
}

.buttom-menu-container section .float
{
position: absolute;
top: -6px;
left: 50%;
transform: translateX(-50%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
cursor: pointer;
padding:6px; 
}


/*通用*/
.ellipsis
{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.align-center 
{
display: flex;
flex-wrap: nowrap;
align-items: center;
justify-content: flex-start;
}


.align-justify-center
{
display:flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
}

.leftandright
{
display: flex;
justify-content: space-between;
align-items: center;
}

.warn
{
color:red;
font-weight:bold;
}

.unread
{
position: relative;
display: flex;
margin:0;
padding:0;
gap:0;
}

.unread::after 
{
content: "";
position: absolute;
top: 0;
left: 0;
width: 10px;
height: 10px;
background-color: red;
border-radius: 50%;
}

.delete-btn 
{
position: absolute;
width: 25px;
height: 25px;
top: 1%;
right: 1%;
background-color: rgb(220, 220, 220);
color: #6c757d;
border: none;
border-radius: 50%;
aspect-ratio: 1;
font-size: 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
margin: 0; 
background-color: transparent;
background-image: url('https://pp-tiki.com/wp-content/icon/trash.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
border: none;
outline: none; 
}


.delete-btn:hover 
{
background-color: transparent;
transform: scale(1.2);
}

.button_punch
{
width:100%;
padding: 10px 20px;
font-size: 16px;
color: white;
background-color: #1ac07b;
border: none;
border-radius: 5px;
cursor: pointer;
}

.button_punch:hover
{
background-color: #ff0000;
}

.button_punch_used
{
width:100%;
padding: 10px 20px;
font-size: 16px;
color: white;
background-color: #ff0000;
border: none;
border-radius: 5px;
cursor: pointer;
}

.money
{
font-family: 'Noto Sans TC', sans-serif;
font-weight: 700;
font-style: Bold;
font-size: 16px;
text-align: right;
line-height: 150%;
letter-spacing: 2%;
}

.money.in
{
color: #00CDE0;
}

.money.out
{
color: #FF3B30;
}

.soldout
{
position: absolute;
top: 50%;
left: 70%;
transform: translate(-50%, -50%) rotate(-10deg);
background-color: transparent;
color: red;
padding: 10px;
font-size: 14px;
font-weight: bold;
border: 2px solid red;
border-radius: 5px;
white-space: nowrap;
}

.comingsoon
{
position: absolute;
top: 50%;
left: 70%;
transform: translate(-50%, -50%);
background-color: black;
color: rgb(255, 255, 255);
padding: 10px;
font-size: 14px;
font-weight: bold;
border-radius: 5px;
white-space: nowrap;
}

.hidden
{
display: none;
}

.note
{
font-size: 14px;
color:#9D9D9D;
margin:0px 0px 6px 0px;
padding:0px;
}

.preline
{
white-space: pre-line;
}

.button_close
{
display: inline-block; 
padding: 2px 6px; 
font-size: 16px; 
border: 1px solid #000000;
border-radius: 5px; 
text-align: center; 
text-decoration: none; 
cursor: pointer; 
transition: background-color 0.3s ease;
}

.button_close:hover
{
transform: scale(1.2);
}

.button_icon
{
width:30px;
height:30px;
margin: 6px;
cursor: pointer;
transition: transform 0.3s;
}

.button_icon:hover
{
transform: scale(1.2);
}

.button_cancel
{
width:20px;
height:20px;
cursor: pointer;
}

.button_cancel:hover
{
transform: scale(1.2);
}

.button_addmoney 
{ 
background-color: transparent;
border: 2px solid #869eb7;
border-radius: 10px;
color: #869eb7;
margin: 12px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
} 

.button_addmoney:hover 
{ 
background-color: #869eb7; 
color: white; 
}

.button_num
{
  background-color: transparent;
  color: #333;
  border: none;
  width: 50px; 
  height: 50px;
  font-size: 24px;
  cursor: pointer;
  border-radius: 50%; 
}

.button-buynow 
{
  background-color: #FF6600;
  color: white;
  font-size: 18px;
  font-weight: bold;
  padding: 12px 24px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(255, 102, 0, 0.3);
  transition: all 0.2s ease-in-out;
  text-transform: uppercase;
}

.button-buynow:hover {
  background-color: #E65C00;  /* 滑鼠懸停變深色 */
  box-shadow: 0 6px 12px rgba(255, 102, 0, 0.4);
}

.button-buynow:active {
  transform: scale(0.95);  /* 點擊時稍微縮小，增加按壓感 */
}

.option-container
{
display: flex;
}

.option-button
{
cursor: pointer;
font-size: 20px;
padding: 0px;
margin:0px;
border: none;
background: none;
color:#000000;
}

.option-menu
{
position: fixed;
bottom: 0px;
left: 0;
width: 100%;
background: white;
justify-content: center;
align-items: center;
transition: bottom 0.3s ease-in-out;
}

.option-menu ul
{
padding: 0px;
margin: 0px;
list-style: none;
}

.option-menu li 
{
width: 100%;
padding: 20px;
cursor: pointer;
text-align: center;
list-style: none;
left:0px;
}

.option-menu li:hover 
{
background: #f0f0f0;
}


.select-detail .option 
{
display: flex;
align-items: center;
padding: 10px;
cursor: pointer;
}

.previews 
{
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 10px;
}

.previews-container 
{
position: relative;
display: inline-block;
}

.previews-image 
{
width: 100px;
height: auto;
object-fit: cover;
border: 1px solid #ddd;
border-radius: 5px;
cursor: pointer;
}

.remove-btn 
{
width: 30px;
height: 30px;
color: #6c757d;
border: none;
border-radius: 50%;
aspect-ratio: 1;
font-size: 20px;
text-align: center;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0; 
}

.remove-btn::before 
{
content: "✖";
font-size: 20px;
line-height: 1;
}


.remove-btn:hover 
{
transform: scale(1.2);
}

.readonly 
{
pointer-events: none;
background-color: #f0f0f0;
color: #888;
}


/*引言*/
.quote-box 
{
position: relative;
background-color: #f9f9f9;
padding: 20px 30px;
margin: 20px auto;
font-family: 'Helvetica Neue', sans-serif;
color: #333;
font-size: 14px;
line-height: 1.6;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
border-radius: 10px;
}

.quote-box::before 
{
content: "“";
font-size: 60px;
color: #4a90e2;
position: absolute;
top: 0px;
left: 15px;
}

.quote-author 
{
text-align: left;
font-style: italic;
color: #777;
margin-top: 15px;
}


/*放大圖片*/
.openimage-container
{
position: fixed;
top: 50%;
left: 50%;
width:100vw;
height:100vh;
transform: translate(-50%, -50%);
z-index: 429;
display: flex;
justify-content: center;
align-items: center;
}

.openimage-container .item
{
position: relative;
display: inline-flex;
align-items: center;
justify-content: center;
width:90vw;
height:90vh;
}


.openimage-container .item img
{
display: block;
max-width: 90vw;
max-height: 90vh;
box-shadow: 0 0 20px #000;
cursor: zoom-out;
}


.openimage-container .item .remove
{
position: absolute;
top: 10%;
right: 10%;
font-size: 24px;
color: white;
background-color: rgba(0,0,0,0.5);
padding: 5px 8px;
border-radius: 50%;
cursor: pointer;
z-index: 449;
user-select: none;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
}

.openimage-container .item .remove::before 
{
content: "✖";
}



.show 
{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(0.1);
transform-origin: center;
animation: show 0.3s ease-out forwards;
}

@keyframes show 
{
  from {
    transform: translate(-50%, -50%) scale(0.1);
  }
  to {
    transform: translate(-50%, -50%) scale(1);
  }
}


/*選項按鈕*/
.menu-dropdown-container
{
position: relative;
}

.menu-dropdown-container .item 
{
position: absolute;
display: none;
flex-direction: column;
margin: 0px; 
padding: 6px;
gap: 0px;
height: auto;
max-height: 70vh;
background-color: rgb(255, 255, 255);
border: 1px solid #ccc;
box-shadow: 0px 2px 5px rgba(0,0,0,0.2);
z-index: 119;
overflow: auto;
scrollbar-width: none;       /* Firefox */
-ms-overflow-style: none;    /* IE 10+ */
}


.menu-dropdown-container .item.popup 
{
  display: flex;
}


@media (min-width: 1201px) 
{
  .menu-dropdown-container .item 
  {
    position: absolute;
    top: 100%;
    right: 0;
    width: max-content;
  }
}


@media (max-width: 1200px) 
{
  .menu-dropdown-container .item
  {
    position: fixed;
    width: 100vw;
    left: 0;
    right: 0;
    bottom: -100%;
    transition: bottom 0.4s ease;
  }

  .menu-dropdown-container .item.popup
  {
    bottom: 0; 
  }
}

.menu-dropdown-container .item::-webkit-scrollbar 
{
display: none;
}

.menu-dropdown-container .item .section
{
padding: 6px;
margin: 6px;
width: 99%;
border: 1px solid #4E4949; 
border-radius: 8px;
}
.menu-dropdown-container .item .section section
{
cursor: pointer;
white-space: nowrap;
display: flex;
align-items: center;
justify-content: flex-start;
}


.menu-dropdown-container .item .section section:hover 
{
background-color: #eee;
}

.menu-dropdown-container .item .section section img
{
margin: 0px 6px;
width:30px;
aspect-ratio: 1;
border-radius: 50%;
object-fit:cover;
}

.menu-dropdown-container .item .section section a 
{
text-decoration: none;
color: black;
}

/*狀態*/
.icon_status
{
padding-top: 4px;
padding-right: 12px;
padding-bottom: 4px;
padding-left: 12px;
gap: 10px;
opacity: 1;
border-radius: 24px;
}

.icon_status.complete
{
background: #00CDE0;
}

.icon_status.complete::before 
{
color:white;
content: "完成";
}

.icon_status.process
{
background: #FFC568;
}

.icon_status.process::before 
{
color:white;
content: "處理中";
}

.icon_status.cancel
{
background: #838383;
}

.icon_status.cancel::before 
{
color:white;
content: "無效";
}
