/* Shared call-to-action buttons. Navigation, filters and slider controls keep their own roles. */
:is(#container,#main,.modal,.modal-btn-wrap,.freservation) :is(.button a,.button button,.viewbtn a,.paging a.write,.submit-btn button,.submit-btn a,.custom-surgery .btn a,.specialized-treat .cont .btn a,.doctor_list .cont .btn a,.news_sect .more_btn a,.login-wrap .login .btn button,.login-wrap .login .btn a,.join-policy .btn button,.passer .search-box .btn a,.modal-btn a,.modal-btn button,.btn-agree-confirm,.freservation .btn button) {
 box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; position: relative; overflow: hidden;
 height: 48px; min-height: 48px; padding: 0 24px; vertical-align: middle;
 border: 1px solid #0c4da2; border-radius: 999px; color: #0c4da2;
 font-size: 16px; font-weight: 500; line-height: 1.3; text-align: center; text-decoration: none;
 background: linear-gradient(#0c4da2,#0c4da2) left center / 0% 100% no-repeat #fff;
 box-shadow: none; cursor: pointer; transition: background-size .4s ease,color .3s ease; isolation: isolate;
}
:is(#container,#main,.modal,.modal-btn-wrap,.freservation) :is(.button a,.button button,.viewbtn a,.paging a.write,.submit-btn button,.submit-btn a,.custom-surgery .btn a,.specialized-treat .cont .btn a,.doctor_list .cont .btn a,.news_sect .more_btn a,.login-wrap .login .btn button,.login-wrap .login .btn a,.join-policy .btn button,.passer .search-box .btn a,.modal-btn a,.modal-btn button,.btn-agree-confirm,.freservation .btn button):is(:hover,:focus-visible) {
 color: #fff; border-color: #0c4da2; background: linear-gradient(#0c4da2,#0c4da2) left center / 100% 100% no-repeat #fff;
}
:is(#container,#main,.modal,.freservation) :is(.button a,.button button,.viewbtn a,.paging a.write,.news_sect .more_btn a)::before { content: none; }
#container .button { display: flex; justify-content: center; align-items: center; gap: 20px; flex-wrap: wrap; }
#container .button :is(a,button) { width: 140px; margin: 0; }
#main .news_sect .more_btn a { width: auto; min-width: 140px; }
.freservation .btn button { width: 100%; }
.seawrap .search,.bot-search { box-sizing: border-box; width: 370px; max-width: 100%; border: 0; }
.seawrap .search .inp,.bot-search { display: flex; align-items: center; gap: 0; margin-left: 0; border: 0; border-bottom: 1px solid #173f7d; border-radius: 0; }
.seawrap .search .inp { width: 100%; }
.seawrap .search .inp input,.bot-search input[type=text] { box-sizing: border-box; width: 100%; min-width: 0; height: 48px; border: 0; padding: 0 10px; font-size: 16px; background: transparent; }
.seawrap .search .inp button,.bot-search button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 48px; padding: 0; border: 0; border-radius: 0; color: #173f7d; background: transparent; cursor: pointer; }
.seawrap .search .inp button svg,.bot-search button svg { display: block; width: 23px; height: 23px; }
@media (max-width: 767px) {
 :is(#container,#main,.modal) :is(.button a,.button button,.viewbtn a,.paging a.write,.submit-btn button,.submit-btn a,.custom-surgery .btn a,.specialized-treat .cont .btn a,.doctor_list .cont .btn a,.news_sect .more_btn a) { height: 44px; min-height: 44px; padding: 0 18px; font-size: 15px; }
 .freservation .btn button { height: 30px; min-height: 30px; padding: 0 8px; font-size: 12px; }
 .seawrap .search,.bot-search { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { :is(a,button) { transition-duration: 0s !important; } }
@media (max-width: 767px) {
 #simpleReservation .freservation .reser_wrap .btn button { height: 30px; min-height: 30px; padding: 0 8px; font-size: 12px; }
}
#container :is(.viewbtn a,.submit-btn button,.submit-btn a,.doctor_list .cont .btn a) { width: 140px; }
