* { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; outline: none; }
body{ background: #f3f4f7; margin: 0px ; padding: 0px; font-family: "Open Sans", sans-serif; }
.open-sans-300 {
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
.xuat{ width: 100%; float: left; }
.xuat select{ 
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd9e9;
    border-radius: 8px;
    background: white;
}
.primary {
    background: #7048ed;
    color: white;
    font-weight: bold;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    border: 0;
    border-radius: 9px;
    padding: 12px;
}
#preview{ width: 100%; }
.canvas_row{ width: 70%; float: right; text-align: center; padding: 0px 0px 0px 0px; }
#canvas{ background: url(../images/bg.jpg) repeat;}
.canvas-container{  }
.bd5px{ border: 5px solid #fff; display: inline-block; }
.controls_sign{ width: 30%; float: left; padding: 20px; background: #eee; position: relative; position: absolute; top: 60px; bottom: 0px; left: 0px; }
.controls_sign .rows_c{ width: 100%; float: left; margin: 0px 0px 10px 0px; border-bottom:1px dashed #d2d2d2; padding: 0px 0px 10px 0px; position: relative; }
.controls_sign .rows_c .text{ width: 100%; float: left; border-radius: 10px; padding: 10px; border: 1px solid #ccc; box-shadow: 0px 0px 5px #ccc; }
.controls_sign .rows_c label{ font-weight: bold; display: block; margin-bottom: 5px; }
.ul{ 
    list-style: none;
    margin: 0px;
    padding: 0px;
}
.rows_c span{ float: left; padding-right: 5px; vertical-align: bottom; height: 45px; }
.fl100{ width: 100%; float: left; padding-bottom: 10px; }
.xuat_file{ display: none; }
.xuat_file li{ float: left; padding: 5px 5px; cursor: pointer; }
.review_sign li{ float: left; padding: 5px; cursor: pointer; }
.stamp li{ float: left; padding: 5px; }
.color_stro{ padding-right: 20px; }
.pr20{ padding-right: 20px !important; }
.pr10{ padding-right: 10px; }
.itext{ height: 45px; line-height: 55px; padding: 0px 5px; border: 1px solid #eee; margin-right: 10px; cursor: pointer; }
.itext:hover{ border: 1px solid #b6e2e0; }
.popup_review{ position: fixed; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); text-align: center; display: none; }
.popup_review.active{ display: block; }
.popup_review .sreen_mb{ display: inline-block; width: 360px; height: 640px;  margin-top: 50px; position: relative;}
.popup_review .sreen_mb .load_review{ position: absolute; width: 100%; height: 100%; background: url('../images/bgiphone.png') no-repeat 0px 0px; background-size: 100% 100%; left: 0px; top: 0px; z-index: 10; pointer-events: none; }
.popup_review .closer_view{ color: #000; position: absolute; z-index: 11; right: 30px; top: -30px; font-weight: bold; background: #fff; padding: 3px 10px; border-radius: 10px; cursor: pointer; }
.popup_review #canvas_re{ border-radius:50px; }

.popup_review_desktop{ position: fixed; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); text-align: center; display: none; }
.popup_review_desktop.active{ display: block; }
.popup_review_desktop .sreen_mb{ display: inline-block; width: 970px; height: 550px;  margin-top: 80px; position: relative; border: 5px solid #fff;}
.popup_review_desktop .sreen_mb .load_review{ position: absolute; width: 100%; height: 100%;  left: 0px; top: 0px; z-index: 10; pointer-events: none; }
.popup_review_desktop .closer_view{ color: #000; position: absolute; z-index: 11; right: 30px; top: -30px; font-weight: bold; background: #fff; padding: 3px 10px; border-radius: 10px; cursor: pointer; }
.popup_review_desktop #canvas_re{ border-radius:50px; }

header{ width: 100%; float: left; background: #0fafce; height: 60px; }
header ul li{ float: right; height: 60px; line-height: 60px; padding: 0px 20px; }
header ul li.home{  float: left; }
header ul li a{ color: #ffffff; text-decoration: none; }
header ul li svg{ width: 27px; height: 27px; display: inline-block; font-size: 30px; float: left; margin: 15px 10px 0px 0px; }
.tags{ width: 100%; float: left; padding: 10px 20px 30px 20px; }
.tags ul li{ float: left; width: 33%; text-align: center; padding: 0px 10px; cursor: pointer; }
.tags ul li span{ text-decoration: none; font-weight: bold; color: #000; display: block; padding: 0px 0px 10px 0px; }
.tags ul li.active{ border-bottom: 3px solid #0fafce; color: #0fafce; }
.colsgin{ display: none; background: rgba(255,255,255, 0.5); width: 100%; float: left; padding: 10px; border-radius: 10px; }
.colsgin.active{ display: block; }
.line_img{ width: 100%; float: left; padding: 10px 0px 20px 0px; }
.line_img li{ float: left; background: #fff; padding: 5px; margin: 0px 5px 0px 0px; cursor: pointer; }
.line_img li:hover,.line_img li.active{ background-color: #97f2e0; }
.review_tb { width: 100%; float: left; padding: 10px 20px; margin:0px 0px 20px 0px; }
.review_tb li{ float: left; width: 50%; text-align: center; padding: 10px; cursor: pointer; }
.review_tb li.active{ border-bottom: 3px solid #009999; color: #009999; font-weight: bold; }
.upload_rv .upr{ width: 100%; float: left; padding: 20px; }
.upr2{ width: 100%; float: left; background: rgba(119, 119, 119, 0.1); text-align: center; border-radius: 10px; padding: 30px 0px; cursor: pointer; }
.upr2:hover{ background: rgba(0, 0, 0, 0.1); color: #009999; }
#opacity{ width: 100%; float: left; cursor: pointer;     accent-color: #7048ed; }
/* Style the base container text (the "No file chosen" part) */
.tag_review{ width: 100%; float: left; display: none; }
.tag_review.active{ display: block; }
.custom-file-input {
  color: #4a5568;
  font-size: 14px;
}
.layer_sign{ 
    position: absolute;
    right: 0px;
    top: 60px;
    width: 100px;
    background: #eeeeee;
    padding: 5px;
    height: calc(100% - 60px);
 }
.layer_btn {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 9px 16px;
    font-size: 14px;
    width: 100%;
    margin-top: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25);
}

.layer_btn:hover {
    background: linear-gradient(135deg, #1d4ed8, #2563eb);
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(37, 99, 235, 0.35);
}

.layer_btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 5px rgba(37, 99, 235, 0.25);
}

.layer_btn:focus {
    outline: none;
}

.image-select {
    position: relative;
    width: 100%;
    float: left;
}

.image-select-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    cursor: pointer;
}

.image-select-btn img {
    width: 70px;
    height: 35px;
    object-fit: contain;
}

.image-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 250px;
    overflow-y: auto;
    background: white;
    border: 1px solid #ddd;
    z-index: 100;
}

.image-select.open .image-options {
    display: block;
}

.image-option {
    padding: 8px;
    cursor: pointer;
}

.image-option:hover {
    background: #eee;
}

.image-option img {
    width: 100%;
    height: 50px;
    object-fit: contain;
}

/* Style the clickable button element directly */
.custom-file-input::file-selector-button {
  background-color: #3182ce;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
  margin-right: 12px;
  transition: background-color 0.2s ease;
}

/* Hover effect for the button */
.custom-file-input::file-selector-button:hover {
  background-color: #2b6cb0;
}
.vien{ width: 100%; float: left; margin: 10px 0px 0px 0px; }
.vien label{ font-size: 12px; color: #666; }
.vien input{
    width: 100%;
    accent-color: #7048ed;
}
.add_name {
  width: 100%;
  float: left;
  background-color: #3b82f6;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  display: inline-block;
  cursor: pointer;
  outline: none;
  transition: background-color 0.2s ease, transform 0.1s ease;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  height: 36px;
  line-height: 36px;
  margin-top: 10px;
}

/* Hover state (mouse over) */
.add_name:hover {
  background-color: #2563eb;
}

.download_bg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 28px;
    background: linear-gradient(135deg, #4facfe, #00c6ff);
    color: white;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 150, 255, 0.3);
    transition: 0.25s;
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}

.download_bg:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 25px rgba(0, 150, 255, 0.4);
}

.color-picker {
    width: 40px;
    height: 40px;
    padding: 0;
    border: 2px solid #ddd;
    border-radius: 25px;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #ff0080, #7928ca, #00c6ff, #00ff87) border-box;
    border: 5px solid transparent;
}

.color-picker:hover {
    border-color: #999;
}

.color-picker::-webkit-color-swatch-wrapper {
    padding: 4px;
}

.color-picker::-webkit-color-swatch {
    border: none;
    border-radius: 8px;
}

.number-input {
    width: 80px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #ddd;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    outline: none;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.number-input:focus {
    border-color: #4a90e2;
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.12);
}

/* Chrome, Edge, Safari */
.number-input::-webkit-inner-spin-button,
.number-input::-webkit-outer-spin-button {
    opacity: 1;
    cursor: pointer;
}

/* Firefox */
.number-input {
    -moz-appearance: textfield;
}
.clor{ margin: 12px 0px 0px 10px; }
.select-box {
    width: 80%;
    float: left;
    position: relative;
    margin: 10px 0px;
}

.select-box select {
    width: 100%;
    height: 46px;
    padding: 0 42px 0 14px;
    border: 1px solid #dcdfe6;
    border-radius: 10px;
    background: #fff;
    color: #333;
    font-size: 15px;
    font-family: Arial, sans-serif;
    outline: none;
    cursor: pointer;

    /* bỏ mũi tên mặc định */
    appearance: none;
    -webkit-appearance: none;

    transition: all .2s ease;
}

/* mũi tên */
.select-box::after {
    content: "⌄";
    position: absolute;
    right: 15px;
    top: 35%;
    transform: translateY(-55%);
    font-size: 20px;
    color: #666;
    pointer-events: none;
}

/* hover */
.select-box select:hover {
    border-color: #999;
}

/* focus */
.select-box select:focus {
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .12);
}

/* option */
.select-box select option {
    padding: 10px;
}


.name-input {
    width: 100%;
}

.name-input label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.name-input input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    box-sizing: border-box;

    border: 1px solid #dcdfe6;
    border-radius: 10px;
    background: #fff;

    font-size: 15px;
    color: #222;
    outline: none;

    transition: all 0.2s ease;
}

.name-input input::placeholder {
    color: #aaa;
}

.name-input input:hover {
    border-color: #b8bec8;
}

.name-input input:focus {
    border-color: #4f7cff;
    box-shadow: 0 0 0 3px rgba(79, 124, 255, 0.12);
}
#canvas-container {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}
.gachchan{ width: 100%; float: left; margin: 10px 0px;

 }
.gachchan ul{
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    gap: 10px;
}
.gachchan label{ font-size: 12px; color: #666; }
.gachchan li{ flex: 0 0 auto; width: 100px; cursor: pointer; }
.gachchan li img{ max-width: 100%; border: 1px solid #fff; }
.gachchan li.active img{ border: 1px solid #1393b8; }
canvas {
    max-width: 100%;
}
@media screen and (max-width: 769px) {
    /* STYLES HERE */
    .controls_sign{ width: 100%; position: relative; }
    .canvas_row{ width: 100%; padding: 20px; }
}