.ticket {
  position: relative;
  box-shadow: 0px 10px 10px rgba(0,0,0,0.1);
}

.ticket.ticket-horizontal::before,
.ticket.ticket-horizontal::after {
    content: '';
    position: absolute;
    left: 40%;
    width: 16px;
    height: 16px;
    background: #eeeeee;
    border-radius: 50%;
    transform: translateX(-50%);
}

.ticket.ticket-horizontal::before {
    top: -10px;
}

.ticket.ticket-horizontal::after {
    bottom: -10px;
    box-shadow: inset 0 -10px 10px rgba(0,0,0,0.1);
}

.ticket.ticket-vertical {
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.05);
	border-radius: 8px;
	margin: 0 10px;
	margin-bottom: 15px;
	padding: 10px;
}

.ticket.ticket-vertical .ticket-img {
	width: 32%; /* 可調整比例 */
	/* aspect-ratio: 1 / 1; */
	aspect-ratio: 4/3;
	flex-shrink: 0;
	border-radius: 6px;
}

.ticket.ticket-vertical .ticket-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;         /* 裁切、維持比例 */
	display: block;
	border-radius: 4px;
}

.ticket.ticket-vertical::before,
.ticket.ticket-vertical::after {
    content: '';
    position: absolute;
    bottom: 28%;
    width: 16px;
    height: 16px;
    background: #eeeeee;
    border-radius: 50%;
}

.ticket.ticket-vertical::before {
    left: -10px;
}

.ticket.ticket-vertical::after {
    right: -10px;
}

.ticket.ticket-vertical .ticket-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
}

.ticket.ticket-vertical .ticket-footer button {
	flex: 1;
	font-size: 12px;
	font-weight: bold;
	background-image: url('../images/texture.png');
	background-repeat: repeat;
	animation: moveTexture 10s linear infinite; /* 無限 infinite; x forwards; */
}

/* 背景移動動畫 */
@keyframes moveTexture {
	0% {
		background-position: 0 0;
	}
	100% {
		background-position: 200px 200px; /* 移動方向與速度可調整 */
	}
}

.profile-subtitle {
	font-size: 1.2em; 
	font-weight: 600; 
	margin-bottom: 7px;
}

.customer-page{
	--theme-text-color: #fff;
}
.panel .panel-body{
	padding: 10px !important;
}

input.form-control {
	border: 1px solid rgba(var(--color-primary), 0.8);
	font-weight: bolder;
}
.panel-body fieldset{
	background-color: #eee;
	padding: 4px 10px;
	margin-bottom: 4px;
	border-radius: 4px;
}

.border-left-primary {
	border-left: 4px solid rgb(var(--color-primary));
}

.border-top-primary {
	border-top: 4px solid rgb(var(--color-primary));
}

.border-bottom-primary {
	border-bottom: 4px solid rgb(var(--color-primary));
}

.panel-body fieldset:nth-child(2n){
	background-color: #f9f9f9;
}
#form_to_fill[data-theme = '1'], 
#form_to_fill[data-theme = '2']{
	display: flex;
	flex-direction: column;
	position: relative;
}
#form_to_fill[data-theme = '1'] .bg-banner{
	order: 1;
	background-color: #999;
	margin-bottom: -50px;
}
#form_to_fill[data-theme = '1'] .card-profile,
#form_to_fill[data-theme = '2'] .card-profile{
	order: 2;
	background: transparent;
	padding: 10px;
}
#form_to_fill[data-theme = '1'] .card-profile .badge{
	position: absolute;
	right:10px;
	top:10px;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-wrap{
  margin-top: 30px;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-wrap,
#form_to_fill[data-theme = '2'] .card-profile .card-profile-wrap{
	display: flex;
	flex-direction: column;
	padding-bottom: 5px!important;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-info{
	order: 1;
	background-color: rgb(var(--color-primary))!important;
	color: var(--theme-text-color);
	box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-info .card-profile-info-text{
	flex-direction: column;
  align-items: flex-start !important;
	width: auto;
	justify-content: flex-start!important;
	flex: 1 0;
	padding-right: 10px;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-info .card-profile-info-txt{
	text-align: left !important;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-info .card-profile-qrcode,
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-qrcode{
	width: 30px;
	height: 30px;
	padding-top: 2px;
}

#form_to_fill[data-theme = '2'] #div_profile_img_and_name{
	display: flex;
	padding: 14px 0px 0px 0px;
	order: 2;
	align-items: center;
}

#form_to_fill[data-theme = '1'] .card-profile .card-profile-info .card-profile-qrcode::after,
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-qrcode::after{
	width: 30px;
	height: 30px;
	background-color: var(--theme-text-color);
	mask-image: url(/images/btn_qr.png?1);
	mask-size: contain;
	content: "";
	display: block;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info.dark-text-color{
	color: #000;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info.dark-text-color .card-profile-qrcode::after{
	background-color: #000;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info.light-text-color{
	color: #fff;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info.light-text-color .card-profile-qrcode::after{
	background-color: #fff;
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-badge{
	order: 2;
	background-color: rgb(var(--color-primary));
	padding: 0 14px 12px!important;
	box-shadow: 3px 4px 5px rgba(0,0,0,0.3);
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-badge #vip_duration{
	color: var(--theme-text-color);
}
#form_to_fill[data-theme = '1'] .card-profile .card-profile-total{
	order: 4;
	border-radius: 0 0 5px 5px;
	padding: 12px 14px!important;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
}

#form_to_fill[data-theme = '0'] .card-profile #div_exchange_link
{
    padding: 10px 12px !important;
}

#form_to_fill[data-theme = '1'] .card-profile #div_exchange_link,
#form_to_fill[data-theme = '2'] .card-profile #div_exchange_link{
	order: 5;
	background-color: transparent!important;
	padding: 5px 0 0!important;
}

#form_to_fill[data-theme = '0'] .card-profile #div_exchange_link .exchange_link_title,
#form_to_fill[data-theme = '1'] .card-profile #div_exchange_link .exchange_link_title,
#form_to_fill[data-theme = '2'] .card-profile #div_exchange_link .exchange_link_title{
	margin-bottom: 0 !important;
	color: var(--theme-text-color);
	padding: 0 !important;
	display: block;
	border: none !important;
}

#form_to_fill[data-theme = '0'] .card-profile #div_exchange_link .text-title,
#form_to_fill[data-theme = '1'] .card-profile #div_exchange_link .text-title,
#form_to_fill[data-theme = '2'] .card-profile #div_exchange_link .text-title{
	padding: 10px;
	font-size: 18px;
	text-align: center;
	width: 100%;
	background-color: rgb(var(--color-primary));
	border-radius: 5px;
	box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
}
#form_to_fill[data-theme = '1'] .card-profile #div_exchange_link .text-muted,
#form_to_fill[data-theme = '2'] .card-profile #div_exchange_link .text-muted{
	margin-top: 5px;
	text-align: right;
}
#form_to_fill[data-theme = '1'] .card-profile #function_nav{
	order: 3;
	background-color: rgb(var(--color-primary))!important;
	box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
	position: relative;
	z-index: 2;
}
#form_to_fill[data-theme = '1'] .card-profile #function_nav div{
	color: var(--theme-text-color)!important;
}
#form_to_fill[data-theme = '1'] .card-profile #function_nav > div > :nth-child(2){
	opacity: 0.8;
}
#form_to_fill[data-theme = '1'] .card-profile #function_nav > div:nth-last-child(2),
#form_to_fill[data-theme = '2'] .card-profile #function_nav > div:nth-last-child(2){
	border-right: none!important;
}
#form_to_fill[data-theme = '1'] .card-profile #function_nav .btn-qr-code,
#form_to_fill[data-theme = '2'] .card-profile #function_nav .btn-qr-code{
	display: none;
}
#form_to_fill[data-theme = '1'] .card-social,
#form_to_fill[data-theme = '2'] .card-social{
	order: 3;
}
#form_to_fill[data-theme = '1'] #banner_carousel,
#form_to_fill[data-theme = '2'] #banner_carousel{
	order: 4;
}
#form_to_fill[data-theme = '1'] > :nth-child(n+5),
#form_to_fill[data-theme = '2'] > :nth-child(n+5){
	order: 10;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info{
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
	height: calc(60vw - 12px); /*維持5:3比例*/
	order: 1;
	background-color: rgb(var(--color-primary))!important;
	color: var(--theme-text-color);
	box-shadow: 3px 3px 6px rgba(0,0,0,0.3);
	position: relative;
	border-radius: 5px!important;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-info-text{
	display: flex;
	flex-direction: column;
	align-items: flex-start!important;
	width: calc(100% - 150px)!important;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-info-txt{
	position: absolute;
    left: 14px;
    bottom: 14px;
	text-align: left!important;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-info-txt .badge{
	/* position: absolute;
	right:14px;
	top:14px; */
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-info .card-profile-qrcode{
	position: absolute;
	right: 14px;
	bottom: 16px;
}
#form_to_fill[data-theme = '2'] .card-profile #function_nav{
	order: 3;
	border-radius: 5px!important;;
	margin-top: 15px;
	border-top: none!important;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-badge{
	order: 4;
	padding: 12px 14px 0!important;
	border-radius: 5px 5px 0 0;
	margin-top: 15px;
}
#form_to_fill[data-theme = '2'] .card-profile .card-profile-total{
	order: 5;
	border-radius: 0 0 5px 5px;
	padding: 12px 14px!important;
}
#form_to_fill[data-theme = '2'] .card-profile #div_exchange_link{
	order: 2;
}
.bg-banner{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 60vw;  /*維持5:3比例*/
}