/* 청남대풀빌라 40~50대 고객 친화형 한글 UI 개선 
   Original template / booking APIs preserved. */
:root{--easy-dark:#193a35;--easy-text:#233c38;--easy-muted:#4c6761;--easy-gold:#e7d1ab;--easy-border:#d3dfd9}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{color:var(--easy-text);font-size:17px!important;line-height:1.7;overflow-x:hidden}
body p,body li{line-height:1.8}
body p:not(.eyebrow):not(.pretitle):not(.nav-kicker):not(.kicker),.section .lead{font-size:clamp(16px,1.3vw,18px);color:var(--easy-muted)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d7a157!important;outline-offset:3px!important}
.site-header{position:fixed!important;top:0!important;left:0;right:0;width:100%;background:rgba(16,38,39,.94);z-index:1200;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 3px 20px rgba(10,25,25,.12)}
.site-header .header-line{padding:13px clamp(18px,3.5vw,58px)!important}
.site-header .header-line .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap;margin:0}
.site-header .site-logo{min-width:0;flex:0 0 auto;padding:0}
.site-header .site-logo a{font-size:clamp(18px,1.5vw,23px)!important;color:#fff;white-space:nowrap;display:inline-block}
.site-header-actions{display:flex;align-items:center;gap:clamp(8px,1.4vw,24px);padding:0;flex:0 1 auto}
.header-nav{display:flex;align-items:center;gap:clamp(10px,1.6vw,25px)}
.header-nav a,.header-call{font-size:15px;white-space:nowrap;font-weight:600;line-height:1.35;color:#fff!important;text-decoration:none!important;padding:10px 0}
.header-nav a:hover,.header-nav a[aria-current=page],.header-call:hover{color:#efce98!important}
.header-book{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;background:var(--easy-gold);color:#1e342e!important;font-weight:800;font-size:15px;white-space:nowrap;border-radius:5px;text-decoration:none!important}
.header-book:hover{background:#f5e3c3;color:#132f2a!important}
.header-menu-wrap{display:flex;align-items:center;gap:10px;min-width:108px;justify-content:flex-end;color:white;position:relative;z-index:1220}
.header-menu-label{font-size:14px;font-weight:700;white-space:nowrap;color:#fff}
.site-menu-toggle{float:none!important;margin:0!important;display:block!important;width:32px!important;height:28px!important;flex:0 0 32px;position:relative!important;top:0!important;right:0!important;min-width:32px;border:0!important}
.site-menu-toggle span{width:32px!important;left:0!important}
.site-menu-toggle span:nth-child(1){top:4px}.site-menu-toggle span:nth-child(2){top:13px}.site-menu-toggle span:nth-child(3){top:22px}
.site-menu-toggle.open span:nth-child(1),.site-menu-toggle.open span:nth-child(3){top:13px}
.site-navbar{z-index:1180;background:#18312f!important}
.site-navbar nav{padding-top:100px!important;align-items:flex-start!important;min-height:100vh}
.site-navbar .stay-main-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 25px}
.site-navbar nav .stay-main-menu>li>a{font:700 clamp(23px,2.5vw,32px)/1.45 "Pretendard","Noto Sans KR",sans-serif!important;letter-spacing:-.04em!important}
.site-navbar nav .stay-submenu{margin-top:6px}.site-navbar nav .stay-submenu li a{font-size:15px!important;line-height:1.7!important;display:inline-block!important;padding:5px!important}
.site-navbar .nav-kicker{font-size:14px!important}.site-navbar .extra-info p{font-size:17px!important;color:#eff5ef!important}
.site-navbar .extra-info .btn{font-size:17px!important;padding:15px 20px}
.hero-contents .heading{font-size:clamp(38px,5vw,70px)!important;line-height:1.35!important}
.hero-clear-sub{color:#f6f5ef!important;font-size:clamp(16px,1.7vw,21px)!important;margin:0 0 27px!important;font-weight:500}
#hero .hero-buttons{gap:12px!important}
#hero .hero-buttons .btn,.hero-buttons .btn{min-height:55px;font-size:17px!important;padding:16px 24px!important;border-radius:5px}
#hero.hero-stay:before{background:linear-gradient(90deg,rgba(5,22,22,.65),rgba(8,28,27,.15))!important}
.premium-strip{padding:18px 0!important}.premium-strip .container{gap:18px 30px!important;font-size:15px!important;letter-spacing:-.02em!important;justify-content:space-around!important}
.premium-strip strong{font-size:19px!important;color:#fff!important;font-weight:800!important}
.first-visit-guide{background:#eef3ef;border-bottom:1px solid #dce5dc;padding:20px 0}
.first-visit-inner{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.first-visit-inner p{font-size:16px!important;line-height:1.55;margin:0 16px 0 0!important;color:#304942!important;font-weight:700}
.first-visit-inner a{padding:12px 16px;background:#fff;border:1px solid #cdded5;border-radius:6px;color:#1e5043;font-weight:700;font-size:15px;line-height:1.5;text-decoration:none!important}
.first-visit-inner a:hover{background:#dbecdf}
.eyebrow,.pretitle,.section .eyebrow{font-size:14px!important;color:#526b61!important;letter-spacing:0!important;font-weight:700!important}
.inner-page-hero .eyebrow{color:#fff!important}
.section .heading,.section-lead .heading{font-size:clamp(29px,3.2vw,44px)!important;line-height:1.42!important}
.section{padding-top:74px!important;padding-bottom:74px!important}
.feature-item h3{font-size:21px!important;color:#2d4942}.feature-item p{font-size:16px!important;color:#4f6760!important}
.room-card h3{font-size:29px!important}.room-card .capacity,.room-card .features,.room-bottom,.room-sub{font-size:16px!important;line-height:1.65!important}
.room-bottom a,.text-link,.small-cta{font-size:16px!important;font-weight:800!important;letter-spacing:-.02em!important;color:#1d5b48!important}
.gallery-hint,.small-note,.subtle-note,.gallery-section .lead{font-size:16px!important;color:#50665e!important}
.info-list h3{font-size:18px!important;color:#233f35!important}.info-list p{font-size:16px!important;color:#4d645c!important}
.btn,.btn-primary,.btn-muted{font-size:16px!important;min-height:50px;border-radius:5px;font-weight:700!important}
.reservation-banner p{color:#eaf2ee!important}.reservation-banner .btn{font-size:17px!important}
.inner-page-hero,.inner-page-hero.hero-small .site-hero-inner{min-height:430px!important;height:52vh!important}
.footer-section p,.footer-section a,.footer-section h3{font-size:15px!important;line-height:1.9!important}.footer-section a{color:#e7eadb!important}
.footer-section .footer-brand{font-size:22px!important}.footer-section .template-credit{font-size:12px!important}
.tile-text p,.editorial-copy>p:not(.eyebrow),.detail-intro p,.book-side p,.guide-card p,.policy-card p,.policy-card li,.policy-details .detail-body,.booking-suite .section-head>p:not(.eyebrow){font-size:16px!important;line-height:1.8!important;color:#4b655c!important}
.guide-card h3,.tile-text h3{font-size:22px!important}.guide-card strong{font-size:20px!important}.amenities-grid div{font-size:17px!important}
.room-specs span,.room-specs strong{font-size:16px!important}.book-side .btn{font-size:17px!important}
.mobile-quick-actions{display:none}
/* Reservation: recognizable step-by-step interface */
.booking-suite{padding:65px 0!important}.booking-grid{gap:22px}.booking-suite .section-head{max-width:100%;margin-bottom:20px}.booking-suite h2{font-size:clamp(29px,3.2vw,39px)!important}
.easy-booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 24px}
.easy-booking-steps span{display:flex;align-items:center;gap:10px;min-height:60px;padding:14px 15px;background:#e8efe9;border:1px solid #cbded1;color:#234c3f;font-size:16px;font-weight:800;border-radius:7px;line-height:1.4}
.easy-booking-steps b{flex:none;width:29px;height:29px;display:grid;place-items:center;background:#28483c;color:#fff;border-radius:50%;font-size:15px}
.booking-warning{font-size:16px!important;line-height:1.7!important;background:#fff7e9;color:#4f4635;border:1px solid #e6cb98;border-left:5px solid #b78749;border-radius:5px;padding:15px 19px}
.rate-summary,.rate-table-panel,.policy-card{border-radius:10px}
.rate-summary{padding:28px!important}

.easy-select-hint{font-size:16px!important;font-weight:800;color:#254c3f!important;margin:0 0 13px!important}.easy-select-hint.date-guide{margin:0 0 12px!important}













.rate-summary{top:90px!important}.rate-summary .panel-title{font-size:27px!important}.date-cell small{font-size:14px!important;color:#4e6a5e!important}.date-cell strong{font-size:17px!important}
.summary-line{font-size:16px!important}.summary-total{font-size:18px!important}.summary-total span{font-size:19px!important;font-weight:800!important}
.summary-total strong{font-size:clamp(23px,2.5vw,33px)!important}
.booking-action-button{font-size:18px!important;line-height:1.45!important;min-height:57px;border-radius:6px;letter-spacing:0!important;font-weight:800!important}
.booking-action-button.secondary{font-size:16px!important}
.summary-note,.easy-deposit-note{font-size:15px!important;line-height:1.7!important;color:#665f4a!important}.easy-deposit-note{font-weight:700;margin:12px 0}
.easy-call-link{display:flex;align-items:center;justify-content:center;min-height:54px;border:2px solid #b5d1bc;border-radius:5px;color:#2d5d3d!important;font-weight:800;font-size:16px;text-align:center;padding:8px 12px}
.rate-scroll-hint{font-size:16px!important;font-weight:700;color:#425d51!important}.rate-table{font-size:15px!important;min-width:1050px}.rate-table td,.rate-table th{padding:14px!important}.rate-table thead tr:first-child th,.rate-table thead tr:nth-child(2) th{font-size:14px!important}.rate-table .rate-foot{font-size:14px!important;line-height:1.8}
.policy-card h3{font-size:22px!important}.policy-card .bank-number{font-size:27px!important}.policy-details summary{font-size:17px!important}.policy-details .detail-body p{font-size:16px!important}
/* Booking request form */
.checkout-form label,.booking-form label,.checkout-detail,.checkout-bank-card p,.checkout-change,.submitted-box p,.summary-memo{font-size:16px!important;line-height:1.7!important}
.checkout-form input,.checkout-form select,.checkout-form textarea,.booking-form input,.booking-form textarea{font-size:18px!important;min-height:50px}
.checkout-bank-card .do-not-pay-yet{background:#fff7e8;color:#6d4a24!important;border-left:5px solid #d19a48;border-radius:5px;padding:15px}
.checkout-bank-card .bank-owner{font-size:17px!important}.copy-account,.checkout-form button{font-size:17px!important;min-height:48px}
.chat-fab{font-size:16px!important;font-weight:800;padding:14px 20px;min-height:50px}
.guest-chat-note,.guest-chat-head h2,.guest-chat-body label,.guest-chat-body label input:not([type=checkbox]),.guest-chat-body textarea,.guest-chat-submit,.guest-chat-messages,.guest-chat-bubble,.guest-chat-send input,.guest-chat-send button{font-size:15px!important}
@media(max-width:1250px){.header-nav{display:none}}
@media(max-width:830px){
  .site-header .header-line{padding:11px 16px!important}
  .header-call{display:none}
  .site-header .site-logo a{font-size:18px!important}
  .header-menu-wrap{min-width:0;gap:8px}
  .header-menu-label{font-size:14px}
  .site-navbar .stay-main-menu{grid-template-columns:1fr 1fr;gap:13px}
  .mobile-quick-actions{position:fixed;left:0;right:0;bottom:0;z-index:1180;display:grid;grid-template-columns:1fr 1.08fr 1fr;gap:6px;background:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.12);padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #d8e1d9}
  .mobile-quick-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:50px;padding:8px 5px;border-radius:6px;font-size:15px!important;font-weight:800;text-decoration:none!important;color:#2d5448;background:#eef3ee;line-height:1.2}
  .mobile-quick-actions .dock-book{background:#23483d;color:#fff!important}
  .mobile-quick-actions .dock-call{background:#f5eee1;color:#413726}
  .mobile-quick-actions a[aria-current=page]{outline:2px solid #a2c4a9;outline-offset:-2px}
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}
  .chat-fab{bottom:calc(88px + env(safe-area-inset-bottom))!important;right:13px!important}
  .guest-chat-panel{bottom:calc(147px + env(safe-area-inset-bottom))!important;height:min(540px,calc(100dvh - 205px))!important}
  .site-header .site-logo a{font-size:17px!important}
}
@media(max-width:600px){
  .site-header .header-line{padding:10px 14px!important}
  .header-book{padding:9px 11px;font-size:13px;min-height:43px}
  .header-menu-label{display:inline;font-size:0!important}
  .header-menu-label::after{content:"메뉴";font-size:13px}
  body.menu-open .header-menu-label::after{content:"닫기"}
  .site-menu-toggle{width:28px!important;min-width:28px!important;flex-basis:28px}
  .site-menu-toggle span{width:28px!important}
  .site-navbar nav{padding-top:82px!important}
  .site-navbar .container{max-width:100%}
  .site-navbar .stay-main-menu{grid-template-columns:1fr 1fr;gap:12px 10px}
  .site-navbar nav .stay-main-menu>li>a{font-size:21px!important;line-height:1.4!important;padding:4px 0!important}
  .site-navbar nav .stay-submenu li a{font-size:13px!important;padding:3px 0!important}
  .site-navbar .extra-info{margin:8px 0 0;padding:10px 0!important}.site-navbar .extra-info h3{font-size:21px!important}
  .hero-stay,#hero.hero-stay,#hero.hero-stay .site-hero-inner{min-height:580px!important;height:min(730px,87svh)!important}
  #hero .hero-contents .heading{font-size:clamp(32px,9vw,43px)!important;margin-bottom:19px!important}
  .hero-clear-sub{font-size:16px!important;margin-bottom:21px!important}
  #hero .hero-buttons{gap:8px!important;flex-direction:column;align-items:stretch}
  #hero .hero-buttons .btn{width:100%;min-height:51px;padding:13px 10px!important;font-size:16px!important}
  .premium-strip{padding:14px 0!important}.premium-strip .container{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 12px!important;font-size:12px!important;text-align:center}
  .premium-strip strong{font-size:15px!important;display:block}
  .first-visit-guide{padding:19px 0}.first-visit-inner{display:grid;grid-template-columns:1fr 1fr;gap:8px}.first-visit-inner p{grid-column:1/-1;font-size:15px!important}.first-visit-inner a{font-size:14px;padding:11px 8px;text-align:center}.first-visit-inner a:last-child{grid-column:1/-1}
  .section{padding-top:57px!important;padding-bottom:57px!important}.section .heading{font-size:30px!important}
  .inner-page-hero,.inner-page-hero.hero-small .site-hero-inner{height:390px!important;min-height:390px!important}
  .inner-page-hero .heading{font-size:36px!important}
  .rate-summary{padding:16px!important}
  .easy-booking-steps{grid-template-columns:1fr;gap:5px;margin:0 0 15px}.easy-booking-steps span{min-height:41px;font-size:15px!important;padding:9px 11px}.easy-booking-steps b{width:25px;height:25px;font-size:13px}
  .booking-warning{padding:13px;font-size:15px!important}
  
  
  
  
  
  
  
  .booking-suite,.policy-section,.rate-section{padding:49px 0!important}
  .summary-total strong{font-size:27px!important}.date-cell{padding:9px}.date-cell strong{font-size:15px!important}
  .guest-chat-panel{bottom:calc(145px + env(safe-area-inset-bottom))!important}
  .room-detail-gallery{grid-template-rows:210px 130px}
  .footer-section .bordertop p{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
