@charset "utf-8";

input::placeholder, textarea::placeholder{color:#91949F;}
#inquiry{border:1px solid #D9DADE}
select:invalid {color: #91949F;}
option[value=""] {color: #26272b; }
select{-webkit-appearance:none; appearance:none;
    background:url('https://stunningw.com/img/arrow.svg') no-repeat #fff !important; background-position:calc(100% - 16px) center !important; background-size:12px 12px !important}
/********************
** header
*******************/
header{left:0; top:0; border-bottom:1px solid #40414C; box-shadow: 0 8px 8px rgba(210, 212, 221, 0.05); transition: background-color 0.3s ease; background-color: transparent;}
header.scrolled {background-color:#000; box-shadow: 0 2px 6px rgba(0,0,0,0.1);}
  

.hamburger {width: 28px;height: 20px;cursor: pointer;}
.hamburger__bar {left: 0;transition: transform 0.3s ease, opacity 0.3s ease;}
.hamburger__bar:nth-child(1) { top: 0; }
.hamburger__bar:nth-child(2) { top: 9px; }
.hamburger__bar:nth-child(3) { top: 18px; }
.hamburger.active .hamburger__bar:nth-child(1) {transform: translateY(9px) rotate(45deg);}
.hamburger.active .hamburger__bar:nth-child(2) {opacity: 0;}
.hamburger.active .hamburger__bar:nth-child(3) {transform: translateY(-9px) rotate(-45deg);}
.side-menu {top: 0; right: 0; box-shadow: -2px 0 5px rgba(0,0,0,0.1);transform: translateX(100%);transition: transform 0.3s ease;}
.side-menu.open {transform: translateX(0%);}
.side-menu__close {top: 16px;right: 16px;background: none;border: none;font-size: 28px;line-height: 1;cursor: pointer;}
.side-menu__list,
.side-menu__auth {list-style: none;}
.side-menu__list li {border-top: 1px solid #FAE6E6;}
.side-sub li {border:none;}

.menu > li { position: relative; }
.menu > li.has-sub > .sub {position: absolute;top: 20px; left:0;min-width: 100px;box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.25);opacity: 0;visibility: hidden;transform: translateY(8px);pointer-events: none;transition: opacity .18s ease, transform .18s ease, visibility .18s ease;z-index: 1000;}
.menu > li.has-sub > .sub > li > a {display: block;white-space: nowrap;}
.menu > li.has-sub:hover > .sub,
.menu > li.has-sub.is-open > .sub,
.menu > li.has-sub:focus-within > .sub {opacity: 1;visibility: visible;transform: translateY(0);pointer-events: auto;}

@media (max-width: 1024px) {.menu > li.has-sub > .sub { display: none; }}

.side-menu .side-toggle {display: inline-block;background: none;border: 0;cursor: pointer;}
.side-menu .side-sub {overflow: hidden;max-height: 0;transition: max-height .22s ease;}

/********************
** index
********************/
.indexBg {inset: 0; z-index: -1 !important; pointer-events: none !important;  background-image: url('/img/background-001.jpg'); background-position:center center; background-repeat: no-repeat; background-size: cover; background-attachment:scroll;}

/* concours */
.concours .titleClamp1 {display: block; overflow: hidden;white-space: nowrap; text-overflow: ellipsis;}
  
/** musicians **/
.musiciansBtn {border:1px solid #5C5D6D; background:none; cursor: pointer;}
.musiciansBtn.active { background-color: #40414C !important;}

/* 버튼 기본 리셋 (a → button 전환 시 모양 유지) */
.musiciansBtn {cursor: pointer;}

/** notice **/
.noticeBox {background: linear-gradient(180deg, #FEFEFE 0%, #E9E9EC 100%); border:1px solid #212126;}
.line-2-ellipsis{display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;line-clamp: 2;word-break: break-word;}

/********************
** musicians
********************/
.musiciansBg {inset: 0; z-index: -1; pointer-events: none;  background-image: url('/img/background-002.jpg'); background-position:center center; background-repeat: no-repeat; background-size: cover; background-attachment:scroll;}
.musiciansBtn.active {background-color: #40414C !important;}
.musiciansCntLine {border-bottom:1px solid #9091A0;}
.musiciansBntLine {border:none;}
.musiciansCards {display: grid !important;grid-template-columns: repeat(3, 1fr);column-gap: 24px;row-gap: 80px; }
.musiciansCards > a {width: auto !important;margin: 0 !important;display: block; text-decoration: none;}
.musiciansCards > a img {width: 100%;height: auto;display: block;}
  
/********************
** concours
********************/
.concoursBg {inset: 0; z-index: -1; pointer-events: none;  background-image: url('/img/background-003.jpg'); background-position:center center; background-repeat: no-repeat; background-size: cover; background-attachment:scroll;}

/** concoursList **/
.concoursLine {border-bottom:1px solid #B7B7C2;}
.concoursadminList .inner > a.concoursLineLink:last-of-type .concoursLine {border-bottom: none !important;}
.concoursadminList .inner > a.concoursLineLink:last-of-type .concoursLine::after,
.concoursadminList .inner > a.concoursLineLink:last-of-type .concoursLine::before {content: none !important;display: none !important;}
.concoursadminList .inner > a.concoursLineLink:last-of-type {border-bottom: none !important;}
  

/** concoursadminList **/
.concoursadminTable th{border-bottom:1px solid #FEFEFE; border-top:1px solid #FEFEFE; border-right:1px solid #FEFEFE;}
.concoursadminTable td{border-bottom:1px solid #FEFEFE; border-top:1px solid #FEFEFE; border-right:1px solid #FEFEFE;}
.concoursadminTable thead tr > th:last-child,
.concoursadminTable tbody tr > td:last-child{border-right: none;}


/** concoursListView **/
.viewTable th,
.viewTable td {vertical-align: middle;border-bottom:1px solid #FEFEFE; border-top:1px solid #FEFEFE;}
.viewTable th {border-right:1px solid #FEFEFE;}
  
/********************
** participation
********************/
.participationLine {border-bottom:1px solid #fefefe;}

/********************
** notice
********************/
.noticeBg {inset: 0; z-index: -1; pointer-events: none;  background-image: url('/img/background-004.jpg'); background-position:center center; background-repeat: no-repeat; background-size: cover; background-attachment:scroll;}
.noticeLine {border-bottom:2px solid #D9DADE;}
.viewContent{color:#fff; font-size:20px; font-weight:300;}
.viewContent *:not(img){color:inherit !important;}
.viewContent a{ text-decoration: underline; }
.viewContent img{ max-width:100%; height:auto; }
.viewContent table{ width:100%; border-collapse:collapse; }
.viewContent th, .viewContent td{ border:1px solid rgba(255,255,255,.15); padding:.5rem; }
.noticeadminTable th {border-right:none; border-top:2px solid #FEFEFE;}
.noticeadminTable td {border-top:1px solid #FEFEFE;}
.noticeadminTable tbody {border-bottom:2px solid #FEFEFE;}
.noticePrevNextLine {border-top:1px solid #D9DADE; border-bottom:1px solid #D9DADE;}
.notivePrevLine {border-bottom:1px solid #D9DADE;}
.noticeadminTable {table-layout: fixed;width: 100%;}
.noticeadminTable th,
.noticeadminTable td {overflow: hidden;}
  
  

/********************
** qna
********************/
.qnaBtn {background:none; border:none;}
.editorWrap { width:100%; max-width:100%; }
.qnaTable { table-layout: fixed; } 
.qnaTitleLink {display: flex; align-items: center;gap: 8px;flex: 1 1 auto;min-width: 0; text-decoration: none; }
.qnaTitleText {display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; min-width: 0; max-width: 100%;}
.qnaPrevNextLine {border-top:1px solid #D9DADE; border-bottom:1px solid #D9DADE;}


/********************
** memberList
********************/
.memberListTable th{border-bottom:1px solid #FEFEFE; border-top:1px solid #FEFEFE; border-right:1px solid #FEFEFE;}
.memberListTable td{border-bottom:1px solid #FEFEFE; border-top:1px solid #FEFEFE; border-right:1px solid #FEFEFE;}
.memberListTable thead tr > th:last-child,
.memberListTable tbody tr > td:last-child{border-right: none;}


/********************
** footer
********************/
.footerTop {border-bottom:1px solid #4B4C59;}

/********************
** register
********************/
.registerPolicy input[type="checkbox"]{left:-99999px;}
.registerPolicy input[type="checkbox"] + label:before{content:''; display:block; width:20px; height:20px; background:url('/img/chkOff.svg') center center; background-size:cover; margin-right:8px; transition: ease-in-out 0.3s;}
.registerPolicy input[type="checkbox"]:checked + label:before{ background:url('/img/chkOn.svg') center center; background-size:cover;}
.registertermLink {text-decoration:underline;}
.registerPolicyLink {text-decoration:underline;}

/********************
** policy
********************/
.policyTp {border-bottom:1px solid #FEFEFE;}