﻿fieldset {
    display: block !important;
    margin-left: 2px !important;
    margin-right: 2px !important;
    padding-top: 0.35em !important;
    padding-bottom: 0.625em !important;
    padding-left: 0.75em !important;
    padding-right: 0.75em !important;
    border: 2px groove (internal value) !important;
}

legend {
    display: block !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
    border: none !important;
}

.shake {
    animation: shake 0.3s;
    animation-timing-function: ease-in-out;
}

.init {
    animation: scaleAnimation 0.2s ease-out forwards;
}

.init-10 {
    animation: scaleAnimation10 0.15s ease-in-out forwards;
}

.init-component {
    animation: scaleAnimationSmall 0.15s ease-out forwards;
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-10px);
    }

    50% {
        transform: translateX(10px);
    }

    75% {
        transform: translateX(-10px);
    }

    100% {
        transform: translateX(0);
    }
}

@keyframes scaleAnimation {
    0% {
        transform: translateY(-50px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes scaleAnimation10 {
    0% {
        transform: translateY(-1rem);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes scaleAnimationSmall {
    0% {
        transform: translateY(-5px);
    }

    100% {
        transform: translateY(0);
    }
}

.menu details ul li a {
    white-space: nowrap;
}

details[open] > summary::before {
    content: ' ';
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    display: block;
    cursor: default;
    background: transparent;
}

details[open] > summary + * {
    z-index: 100;
}

.spinner {
    display: none !important;
}

.hydro-request .spinner {
    display: inline-block !important;
}

.hydro-request .hide-on-request {
    display: none;
}

.input-error {
    border: 1px solid red !important;
}

.input-validation-error {
    border: 1px solid red !important;
}

textarea {
    outline-width: 0px;
}

input {
    outline-width: 0px;
}

    input[type=number] {
        padding-left: 1px;
        padding-right: 4px;
        padding-top: 1px;
        padding-bottom: 1px;
        direction: rtl;
    }

    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        opacity: 1; /* 완전히 불투명 */
        padding: 3px;
    }

/* 모바일 전용 */
@media (max-width: 480px) {
    input[type="number"]::-webkit-inner-spin-button,
    input[type="number"]::-webkit-outer-spin-button {
        width: 14px; /* 화살표 영역 크게 */
        height: 18px;
    }

    input[type="number"] {
        font-size: 0.8rem; /* 글씨 키우면 화살표도 커져 보임 */
        min-height: 27px;
    }
}

/*[type=submit] {
    background-color: oklch(var(--btn-color, var(--b2)) / var(--tw-bg-opacity)) !important;
}*/

[x-cloak] {
    display: none !important;
}

.icon {
    display: inline-block
}

    .icon.icon-location-right {
        background: url(/img/icon/icon-location-arrow-right.gif) center center no-repeat;
        width: 6px;
        height: 11px;
    }

    .icon.icon-home {
        background: url(/img/icon/icon-home.png) no-repeat;
        width: 17px;
        height: 15px;
    }

    .icon.icon-delete {
        background: url(/img/icon/icon-delete.gif);
        width: 16px;
        height: 23px
    }

    .icon.icon-cart-tit {
        background: url(/img/icon/icon-cart-tit.gif) center center no-repeat;
        width: 32px;
        height: 30px
    }

    .icon.icon-all-category {
        background: url(/img/icon/icon-all-category.gif) center center no-repeat;
        width: 32px;
        height: 30px
    }

    .icon.icon-important {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background: no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='gray' class='size-5'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm3.857-9.809a.75.75 0 0 0-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 1 0-1.06 1.061l2.5 2.5a.75.75 0 0 0 1.137-.089l4-5.5Z' clip-rule='evenodd' /%3E%3C/svg%3E%0A");
        background-position: center;
    }

.iconClose {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='white' class='w-6 h-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 18L18 6M6 6l12 12' /%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: contain;
}

.iconCategory {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='3.5' width='19' height='1'/%3E%3Crect x='2.5' y='11.5' width='19' height='1'/%3E%3Crect x='2.5' y='19.5' width='19' height='1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.iconHome {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.8c0.2 0 0.3 0.1 0.4 0.2l0 0 0 0 8.6 8.1c0.3 0.3 0.6 1.1 0.6 1.5v8c0 0.3-0.3 0.6-0.6 0.6h-5.8v-4.8c0-1.8-1.5-3.3-3.3-3.3 -1.8 0-3.3 1.5-3.3 3.3v4.8H2.9c-0.3 0-0.6-0.3-0.6-0.6v-8c0-0.5 0.3-1.2 0.6-1.5l8.6-8.1 0 0 0 0C11.7 2.8 11.8 2.8 12 2.8M12 1.8c-0.4 0-0.8 0.2-1.1 0.5l-8.7 8.2c-0.5 0.5-0.9 1.5-0.9 2.2v8c0 0.9 0.7 1.6 1.6 1.6h6.8v-5.8c0-1.2 1-2.3 2.3-2.3s2.3 1 2.3 2.3v5.8h6.8c0.9 0 1.6-0.7 1.6-1.6v-8c0-0.7-0.4-1.7-0.9-2.2L13.2 2.2C12.8 1.9 12.4 1.8 12 1.8L12 1.8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.iconPerson {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M14.7 13.9c2.3-1 3.8-3.3 3.8-5.9 0-3.6-2.9-6.5-6.5-6.5s-6.5 2.9-6.5 6.5c0 2.6 1.6 4.9 3.9 5.9 -3.7 1.1-6.3 4.6-6.3 8.6h1c0-4.4 3.6-8 8-8 4.4 0 8 3.6 8 8h1C21 18.5 18.3 15 14.7 13.9zM6.5 8c0-3 2.5-5.5 5.5-5.5 3 0 5.5 2.5 5.5 5.5 0 3-2.5 5.5-5.5 5.5C8.9 13.5 6.5 11 6.5 8z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.iconHeart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M16.9 2.9c1.4 0 2.6 0.5 3.7 1.6 1 1 1.6 2.4 1.6 3.9 0 1.5-0.6 2.9-1.6 3.9 -0.1 0.1-4.9 5.3-7.8 8.4 -0.2 0.2-0.5 0.3-0.7 0.3 -0.3 0-0.5-0.1-0.7-0.3 -0.5-0.6-7.1-7.9-7.8-8.6C2.4 11.1 1.8 9.7 1.8 8.3c0-1.5 0.6-2.9 1.6-3.9C4.4 3.4 5.6 3 7.1 3c1.1 0 2.6 0.8 4.2 2.4l0.7 0.7 0.7-0.7C14.2 3.8 15.7 2.9 16.9 2.9M16.9 1.9c-1.6 0-3.5 1.3-4.9 2.7 -1.4-1.4-3.2-2.7-4.9-2.7 -1.7 0-3.1 0.5-4.4 1.7 -2.5 2.5-2.5 6.7 0 9.2 0.7 0.7 7.8 8.6 7.8 8.6 0.4 0.4 0.9 0.6 1.5 0.6 0.5 0 1.1-0.2 1.5-0.6 0 0 7.7-8.3 7.8-8.4 2.5-2.5 2.5-6.7 0-9.2C20 2.6 18.6 1.9 16.9 1.9L16.9 1.9z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.iconCart {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath fill='%23424252' fill-rule='evenodd' d='M7.66 17c-.6 0-1.12-.43-1.23-1.01l-.3-1.49h12.8a2 2 0 0 0 1.95-1.62l1.1-5.6A1.5 1.5 0 0 0 20.5 5.5H4.38l-.4-2.08A1.75 1.75 0 0 0 2.26 2H.75a.75.75 0 0 0 0 1.5h1.5c.13 0 .23.08.25.2l2.46 12.57a2.75 2.75 0 0 0 2.7 2.23h11.09a.75.75 0 1 0 0-1.5H7.65ZM4.67 7H20.5l-1.09 5.6a.5.5 0 0 1-.49.4H5.85L4.67 7ZM7.5 23a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm10 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.quickgrid[Theme=basic] {
    border-collapse: collapse;
    width: 100%;
}

    .quickgrid[Theme=basic] .col-title-text {
        text-transform: uppercase;
        text-align: center;
    }

    .quickgrid[Theme=basic] thead tr th {
        border: 1px solid #CCCCCC;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        background-color: #EDEDED;
        border-top: 2px solid #333333 !important;
    }

    .quickgrid[Theme=basic] tbody tr td {
        border: 1px solid #CCCCCC;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        height: 31px;
    }

    .quickgrid[Theme=basic] tbody tr:hover {
        background-color: #ddf0ff;
        outline: 1px solid #00a2e8;
        outline-offset: 0px;
        border-bottom: 1px solid #00a2e8;
    }

        .quickgrid[Theme=basic] tbody tr:hover td {
            border-bottom: 1px solid #ddf0ff;
        }

.quickgrid[Theme=front] {
    border-collapse: collapse;
    width: 100%;
}

    .quickgrid[Theme=front] .col-title-text {
        text-transform: uppercase;
        text-align: center;
    }

/*    .quickgrid[Theme=front] tbody > tr {
        border-top: 1px solid red;
        border-bottom: 1px solid blue;
    }*/

    .quickgrid[Theme=front] thead > tr > th {
/*        border: 10px solid #CCCCCC;*/
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        background-color: #F9FAFC;
        border-top: 2px solid #333333 !important;
        border-bottom: 1px solid #333333 !important;
    }

    .quickgrid[Theme=front] tbody > tr > td {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #E9E9E9;
        position: relative;
    }

    /* 모바일 해상도 이상에서는 배경처리 */
    @media (min-width: 481px) {
        .quickgrid[Theme=front] tbody > tr:hover > td {
            border-bottom: 1px solid #00a2e8;
        }

        .quickgrid[Theme=front] tbody > tr:not(:first-child):hover > td::before {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            top: -1px;
            height: 1px;
            background: #00a2e8;
            pointer-events: none; /*클릭 방해 X */
        }

        .quickgrid[Theme=front] tbody > tr:hover {
            background-color: #ddf0ff;
        }
    }

table[Theme=basic] {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
}

    table[Theme=basic] tbody tr:not(:last-child) td {
        border-bottom: 1px solid #e5e7eb;
    }

    table[Theme=basic] tr td:first-child {
        padding-left: 1.25rem !important;
    }

    table[Theme=basic] tbody tr td {
        padding: 0.5rem;
    }

    table[Theme=basic] tbody td input {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
        border: 1px solid #e5e7eb;
        border-top-left-radius: 0.25rem;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
    }

table[Theme=QnaList] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본적으로 어떤 색상으로 사용할지 모르니 임의로 검정색으로 지정 */
}

    table[Theme=QnaList] tr:first-child {
        border-top: 1px solid #989ba2;
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaList] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaList] tr th {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        font-weight: normal;
    }

    table[Theme=QnaList] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
    }

    table[Theme=QnaList] tr:first-child th {
        background-color: #f7f7f8;
    }

table[Theme=QnaWriteFrm] tr td input[type=text],
table[Theme=QnaWriteFrm] tr td input[type=email] {
    border: 1px solid #bec0c3;
    width: 100%;
    font-size: 13px;
    height: 28px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
    padding-right: 5px;
}

table[Theme=QnaWriteFrm] tr td select {
    border: 1px solid #bec0c3;
    width: 100%;
    font-size: 13px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
}

table[Theme=QnaWriteFrm] tr td textarea {
    border: 1px solid #bec0c3;
    width: 100%;
    height: 250px;
    padding: 5px;
}

table[Theme=QnaWriteFrm] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본 테두리 색상은 필요에 따라 변경 */
}

    table[Theme=QnaWriteFrm] tr:first-child {
        border-top: 1px solid #989ba2;
    }

    table[Theme=QnaWriteFrm] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaWriteFrm] tr td:first-child {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
        background-color: #f7f7f8;
    }

    table[Theme=QnaWriteFrm] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 15px;
        text-align: left;
    }

table[Theme=QnaReadFrm] tr {
    border-bottom: 1px solid #e5e7eb; /* 기본 테두리 색상은 필요에 따라 변경 */
}

    table[Theme=QnaReadFrm] tr:first-child {
        border-top: 1px solid #989ba2;
    }

    table[Theme=QnaReadFrm] tr:last-child {
        border-bottom: 1px solid #989ba2;
    }

    table[Theme=QnaReadFrm] tr th {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 5px;
        padding-right: 5px;
        font-weight: normal;
    }

    table[Theme=QnaReadFrm] tr td {
        height: 28px;
        padding-top: 12px;
        padding-bottom: 12px;
        padding-left: 10px;
        padding-right: 10px;
    }

        table[Theme=QnaReadFrm] tr td:first-child {
            background-color: #f7f7f8;
            text-align: center;
        }



@media print {
    .overflow-y-auto {
        overflow: visible;
        height: auto;
    }

    table {
        page-break-inside: auto
    }

    tr {
        page-break-inside: avoid;
        page-break-after: auto
    }

    .estimate-footer {
        display: none
    }

    @page {
        size: auto;
        margin: 10mm 10mm 10mm 10mm;
    }
}

.btn_naver:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("data:image/svg+xml, %3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h16v16H0z'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cpath fill='%23FFF' mask='url(%23b)' d='M10.314 1.55v6.9l-4.819-6.9H1.5v12.89h4.186V7.542l4.819 6.9H14.5V1.55z'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100%;
    content: ''
}

.btn_kakao:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("data:image/svg+xml, %3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdefs%3E%3Cpath id='a' d='M0 0h16v16H0z'/%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cmask id='b' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3C/mask%3E%3Cpath d='M8 1C3.582 1 0 3.873 0 7.416c0 2.278 1.481 4.279 3.713 5.417l-.754 2.86a.235.235 0 0 0 .055.239.227.227 0 0 0 .304.018l3.244-2.222c.466.068.947.103 1.438.103 4.418 0 8-2.872 8-6.415S12.418 1 8 1' fill='rgb%2851%2C51%2C51%29' mask='url(%23b)'/%3E%3C/g%3E%3C/svg%3E");
    background-size: 100%;
    content: ''
}

.btn_google:before {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    margin-bottom: -2px;
    background-image: url("/img/icon/icon-google.svg");
    background-size: 100%;
    content: ''
}

.btn_naver_join:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    margin-bottom: -4px;
    background-image: url("/img/icon/icon-naver.png");
    background-size: 100%;
    content: ''
}

.btn_kakao_join:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 6px;
    margin-bottom: -4px;
    background-image: url("/img/icon/icon-kakao.png");
    background-size: 100%;
    content: ''
}

#page-loading {
    display: none;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 2px;
    background: red;
    z-index: 100;
    animation: loadPage 5s forwards ease-out;
    animation-delay: 0.1s;
}

.hydro-loading #page-loading {
    display: block;
}

@keyframes loadPage {
    0% {
        width: 0;
    }

    100% {
        width: 100%;
    }
}