/* 청남대풀빌라 2026-11-05 owner-requested revisions.
   Original website, booking calendar, backend API, and admin remain intact. */
:root{--owner-dark:#16312e;--owner-accent:#e5d5b5}
body{overflow-x:hidden}
/* Desktop six-item navigation; mobile remains a single full-menu trigger. */
@media(min-width:861px){.stay-inline-header .stay-inline-menu{grid-template-columns:repeat(6,minmax(0,1fr))!important;max-width:1280px;margin:auto!important}}
.stay-inline-header .stay-dropdown{min-width:205px}
.stay-inline-header .stay-dropdown a{font-size:15px!important}
/* Four photo rotating hero. */
#hero.hero-stay{background:var(--owner-dark)!important;isolation:isolate;overflow:hidden;min-height:610px}
#hero.hero-stay .owner-hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden}
#hero.hero-stay .owner-hero-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity 1.15s ease-in-out;will-change:opacity}
#hero.hero-stay .owner-hero-image.owner-hero-img2{object-position:62% center}
#hero.hero-stay .owner-hero-image.is-active{opacity:1}
#hero.hero-stay:before{background:linear-gradient(90deg,rgba(7,25,29,.64),rgba(10,29,29,.24) 75%),linear-gradient(0deg,rgba(0,0,0,.30),transparent 60%)!important;z-index:-1!important;pointer-events:none}
#hero.hero-stay .hero-shade{z-index:-1}
#hero.hero-stay .site-hero-inner{position:relative;z-index:1}
#hero.hero-stay .hero-contents .heading{font-size:clamp(35px,4.25vw,65px)!important;line-height:1.38!important;font-weight:500!important;text-shadow:0 5px 26px rgba(0,0,0,.55)!important}
.owner-hero-controls{position:absolute;bottom:clamp(19px,3vw,40px);right:clamp(20px,4vw,75px);z-index:4;display:flex;align-items:center;gap:14px;color:#fff;font:500 14px/1.4 'Pretendard',sans-serif}
.owner-hero-controls button{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(255,255,255,.75);background:rgba(8,22,24,.27);color:#fff;border-radius:50%;font:300 28px/1 Arial,sans-serif;cursor:pointer}
.owner-hero-controls button:hover,.owner-hero-controls button:focus-visible{background:rgba(255,255,255,.2)}
.owner-hero-counter{font-variant-numeric:tabular-nums;letter-spacing:.12em;min-width:64px;text-align:center}
/* Home welcome information + imagery */
.welcome-photo img{object-position:center 46%;border-radius:2px}
.welcome-copy .heading{font-size:clamp(29px,3vw,41px)!important;letter-spacing:-.07em!important;line-height:1.5!important}
.owner-stay-facts{margin:22px 0 16px;padding:25px;background:#f4f6f1;border:1px solid #e0e8df}
.owner-times{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.owner-times span{display:flex;align-items:flex-start;gap:11px;flex-direction:column}
.owner-times strong{font-size:clamp(25px,2.4vw,34px);font-family:'Pretendard',sans-serif;font-weight:600;line-height:1.05;color:#204239}
.owner-times small{color:#627770;font-size:13px}
.owner-amenity-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;border-top:1px solid #dce4d9;padding-top:19px}
.owner-amenity-tags span{padding:8px 12px;border-radius:2px;background:#fff;border:1px solid #d4dfd5;color:#304e42;font-size:13px;font-weight:600}
.owner-capacity-note{font-size:12px!important;margin:14px 0 0!important;color:#697e73}
/* Facilities: clear grid boundaries and 4th indoor pool */
.features-grid{align-items:stretch;row-gap:24px}
.features-grid .feature-item{display:flex;flex-direction:column}
.features-grid .feature-item img{flex:0 0 auto;height:245px;object-fit:cover}
.features-grid .feature-item h3{margin-top:17px}
.features-grid .feature-item p{margin-bottom:0}
/* Fix overlapping gallery, avoid old third-party carousel dimensions. */
#gallery.gallery-section{position:relative;z-index:1;isolation:isolate;overflow:hidden;clear:both;padding-bottom:90px}
#gallery .owner-gallery-stage{position:relative;display:block;width:100%;min-height:0;overflow:hidden;isolation:isolate;margin:0 auto}
#gallery .owner-gallery-stage .slider-item{display:none!important;width:100%;height:auto;margin:0;position:relative;overflow:hidden}
#gallery .owner-gallery-stage .slider-item.is-current{display:block!important}
#gallery .owner-gallery-stage .slider-item img{width:100%;height:clamp(260px,44vw,600px)!important;display:block!important;object-fit:cover}
#gallery .owner-gallery-stage .slide-open{z-index:2}
.owner-gallery-navigation{display:flex;align-items:center;justify-content:center;gap:17px;margin-top:19px}
.owner-gallery-navigation button{display:inline-flex;justify-content:center;align-items:center;width:45px;height:45px;border:1px solid #b8c8bf;border-radius:100%;background:#fff;color:#295248;font-size:26px;cursor:pointer}
.owner-gallery-navigation span{font-size:12px;letter-spacing:.12em;color:#607d70;font-variant-numeric:tabular-nums}
#rooms.rooms-section{position:relative;z-index:0;clear:both;display:block;overflow:visible}
#rooms .rooms-grid{display:flex;flex-wrap:wrap;align-items:stretch}
#rooms .rooms-grid .post{display:flex;flex-direction:column}
#rooms .rooms-grid .room-card{width:100%;display:flex;flex-direction:column}
#rooms .rooms-grid .room-card-body{display:flex;flex-direction:column;flex:1}
#rooms .rooms-grid .room-bottom{margin-top:auto;gap:10px}
#rooms .room-card .features{min-height:45px}
/* End reservation call to action: one obvious button */
.reservation-banner .banner-buttons{margin-top:28px;display:flex!important;justify-content:center!important}
.reservation-banner .owner-one-cta{min-width:245px;border-radius:3px;padding:18px 30px;font-weight:700}
.reservation-banner .eyebrow{letter-spacing:.13em;font-weight:650}
.reservation-banner .kr-caption{display:none!important}
/* Footer: shorter, prominent heading, white text, no STAYFRAME credit */
.footer-section.section{padding:43px 0 19px!important;background:#142c2c!important;color:#f5f6f3!important}
.footer-section .row:first-child>div{margin-bottom:15px!important}
.footer-section .footer-brand{font-family:'Noto Serif KR','Pretendard',serif!important;font-size:clamp(29px,3.4vw,44px)!important;line-height:1.32!important;font-weight:600!important;letter-spacing:-.045em!important;margin:0 0 12px!important;color:#fff!important}
.footer-section .footer-brand span{display:block;margin-top:9px;font-family:Georgia,serif!important;font-size:clamp(13px,1.2vw,17px)!important;font-weight:400;line-height:1.6;letter-spacing:.13em;color:#fff!important}
.footer-section h3,.footer-section p,.footer-section a{color:#f0f4f2!important}
.footer-section .bordertop p,.footer-section .bordertop a{font-size:11px!important}
.footer-section .template-credit{color:#c7d4cc!important;font-size:10px!important}
.footer-section .footer-admin-access{margin-left:18px}
/* Full-image wide hero across introduction and all public content pages. */
.inner-page-hero.owner-inner-hero{height:clamp(540px,72svh,790px)!important;min-height:540px!important;background-size:cover!important;background-position:center center!important;display:flex;align-items:center}
.inner-page-hero.owner-inner-hero .site-hero-inner{height:clamp(540px,72svh,790px)!important;min-height:540px!important;display:flex;justify-content:center!important;align-items:center!important;text-align:center!important}
.inner-page-hero.owner-inner-hero .site-hero-inner>div{flex:0 0 100%;max-width:100%}
.inner-page-hero.owner-inner-hero .heading{font-family:'Noto Serif KR','Pretendard',serif!important;font-weight:500!important;color:#fff!important;text-shadow:0 3px 21px rgba(0,0,0,.72);font-size:clamp(42px,6vw,84px)!important;letter-spacing:-.045em;line-height:1.35}
.inner-page-hero.owner-inner-hero .eyebrow,.inner-page-hero.owner-inner-hero .sub-heading{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.8);opacity:1!important}
.inner-page-hero.owner-inner-hero .sub-heading{font-size:clamp(16px,2vw,23px)!important;font-weight:500!important;margin:18px auto 0!important}
.inner-page-hero.owner-inner-hero .eyebrow{font-size:clamp(12px,1.3vw,16px)!important;letter-spacing:.1em!important;font-weight:600!important}
.inner-page-hero.owner-about-hero{background-image:linear-gradient(90deg,rgba(10,36,38,.49),rgba(10,36,38,.48)),url('../img/edit/owner-img9.jpg')!important;background-position:center 47%!important}
/* About intro centered, long-form, open breathing room */
.owner-about-content{background:#fcfcfa;padding:92px 0 105px!important}
.owner-about-center{max-width:1040px;margin:auto;text-align:center}
.owner-about-center .eyebrow{color:#618175;font-size:12px;letter-spacing:.22em;margin:0 0 26px}
.owner-about-center h2{color:#223f38;font-family:'Noto Serif KR','Pretendard',serif;font-weight:600;font-size:clamp(26px,2.7vw,40px);line-height:1.57;letter-spacing:-.05em;margin:0 auto 30px}
.owner-about-center>p:not(.eyebrow){font-size:clamp(15px,1.23vw,17px);color:#5b6c64;line-height:2.4;letter-spacing:-.015em;max-width:950px;margin:0 auto 35px}
.owner-about-center strong{color:#2d5146;font-weight:700}
.owner-about-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:25px}
.owner-cta-dark,.owner-cta-outline{display:inline-flex;justify-content:center;align-items:center;text-align:center;padding:15px 23px;min-height:52px;font-size:14px!important;font-weight:650;border:1px solid #284a3f;text-decoration:none!important;transition:background .2s ease}
.owner-cta-dark{color:#fff!important;background:#23453a}
.owner-cta-dark:hover{color:#fff!important;background:#102c24}
.owner-cta-outline{color:#23453a!important;background:transparent}
.owner-cta-outline:hover{background:#ebf1ea;color:#173b2b!important}
.owner-directions-section{background:#edf1eb!important;padding:78px 0!important}
.owner-directions{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}
.owner-directions .eyebrow{font-size:13px;color:#69867b;letter-spacing:.19em}
.owner-directions h2{font-family:'Noto Serif KR',serif;font-size:clamp(32px,3vw,48px);color:#1e4336;line-height:1.4}
.owner-directions strong{font-size:20px;color:#214a3b}
.owner-directions p{font-size:14px;color:#61776b;line-height:2}
.owner-directions .owner-about-links{justify-content:flex-start}
/* Room indoor warm pool panel */
.owner-room-warm-link{position:relative;display:block;margin:35px 0 0;max-width:620px;overflow:hidden;color:#fff}
.owner-room-warm-link img{display:block;width:100%;max-height:260px;object-fit:cover}
.owner-room-warm-link span{position:absolute;bottom:0;left:0;right:0;padding:22px 25px;background:linear-gradient(transparent,rgba(8,32,30,.88));font-size:17px;font-weight:650;color:#fff}
.owner-warm-section{background:#fbfcf8}
.owner-warm-photo{width:100%;max-height:635px;object-fit:cover}
.owner-warm-section h2{font-family:'Noto Serif KR','Pretendard',serif;font-size:clamp(29px,3vw,45px);color:#25473d;margin:10px 0 20px}
.owner-warm-section p{line-height:2;color:#5a7066}
.owner-warm-notice{margin:24px 0;padding:22px 27px;background:#edf2eb}
.owner-warm-notice strong{color:#284b3e}
.owner-warm-notice p{margin:6px 0 17px}
.owner-warm-notice p:last-child{margin-bottom:0}
.owner-facility-callout{padding:32px 0;background:#ecf1eb;text-align:center}
.owner-facility-callout strong{font-size:21px;color:#255043}
.owner-facility-callout p{color:#667d71;margin:13px auto}
.owner-facility-callout a{color:#1d5741;font-weight:700}
@media(max-width:991px){
 .features-grid .feature-item img{height:205px}
 .welcome-copy{padding:30px 12px}
 .owner-about-center>p:not(.eyebrow){line-height:2.15}
 .owner-directions{grid-template-columns:1fr;gap:22px}
}
@media(max-width:860px){
 #hero.hero-stay .owner-hero-image.owner-hero-img2{object-position:62% center}
 #hero.hero-stay .hero-contents .heading{font-size:clamp(29px,6.6vw,45px)!important;line-height:1.44!important}
 #hero.hero-stay .site-hero-inner{padding-bottom:100px!important}
 .inner-page-hero.owner-inner-hero,.inner-page-hero.owner-inner-hero .site-hero-inner{height:clamp(470px,60svh,640px)!important;min-height:470px!important}
 .inner-page-hero.owner-inner-hero .heading{font-size:clamp(37px,8vw,62px)!important}
}
@media(max-width:575px){
 #hero.hero-stay{min-height:560px}
 #hero.hero-stay .site-hero-inner{min-height:560px!important;padding-bottom:112px!important}
 #hero.hero-stay .owner-hero-image{object-position:center}
 .owner-hero-controls{bottom:21px;right:18px;gap:10px}
 .owner-hero-controls button{width:39px;height:39px;font-size:25px}
 .welcome-photo img{height:450px}
 .owner-stay-facts{padding:18px}
 .owner-times{gap:10px}
 .features-grid .feature-item img{height:225px}
 #gallery.gallery-section{padding-bottom:70px}
 #gallery .owner-gallery-stage .slider-item img{height:275px!important}
 .footer-section.section{padding:37px 0 17px!important}
 .footer-section .footer-brand{font-size:32px!important}
 .footer-section .footer-brand span{font-size:13px!important}
 .owner-about-content{padding:64px 0!important}
 .owner-about-center h2{font-size:26px}
 .owner-about-center>p:not(.eyebrow){font-size:14px;line-height:2.05}
 .owner-about-center>p:not(.eyebrow) br{display:none}
 .owner-directions-section{padding:54px 0!important}
 .owner-directions strong{font-size:16px}
 .owner-room-warm-link img{max-height:200px}
}


/* 2026-11-05 추가 수정 */
.features-grid{margin-top:18px}
.features-grid .feature-item.feature-item--bbq img{height:320px;object-fit:contain;object-position:center top;background:#f4f5f1;padding:14px 14px 0;border:1px solid #edf0ea}
.welcome-copy .owner-two-line-heading .owner-line{display:block;white-space:nowrap}
@media(max-width:991px){
  .features-grid .feature-item.feature-item--bbq img{height:300px;padding:12px 12px 0}
}
@media(max-width:767px){
  .features-grid .feature-item.feature-item--bbq img{height:285px;padding:10px 10px 0}
}
@media(max-width:575px){
  .welcome-copy .owner-two-line-heading{font-size:clamp(28px,8.1vw,40px)!important;line-height:1.32!important}
  .welcome-copy .owner-two-line-heading .owner-line{white-space:nowrap}
  .features-grid .feature-item.feature-item--bbq img{height:270px;padding:8px 8px 0}
}


/* 2026-11-05 2차 추가 수정 */
.features-grid .feature-item.feature-item--bbq img{
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  object-fit:contain;
  object-position:center center;
  background:#f4f5f1;
  padding:16px;
  border:1px solid #edf0ea;
  display:block;
}

#rooms{margin-top:22px}
#rooms .rooms-grid{
  margin-top:30px;
  row-gap:34px;
}
#rooms .rooms-grid .room-card{
  overflow:hidden;
}
#rooms .rooms-grid .room-card-image{
  display:block;
  background:#f7f8f5;
  padding:18px 18px 0;
  border-bottom:1px solid #eef1eb;
}
#rooms .rooms-grid .room-card img{
  width:100%;
  aspect-ratio:4/3;
  height:auto;
  object-fit:contain;
  object-position:center center;
  background:#f7f8f5;
  display:block;
}

@media(max-width:991px){
  #rooms{margin-top:18px}
  #rooms .rooms-grid{margin-top:24px;row-gap:28px}
  #rooms .rooms-grid .room-card-image{padding:16px 16px 0}
  .features-grid .feature-item.feature-item--bbq img{padding:14px}
}

@media(max-width:575px){
  #rooms{margin-top:14px}
  #rooms .rooms-grid{margin-top:20px;row-gap:22px}
  #rooms .rooms-grid .room-card-image{padding:12px 12px 0}
  #rooms .rooms-grid .room-card img{aspect-ratio:4/3}
  .features-grid .feature-item.feature-item--bbq img{padding:10px}
}

/* 최종 수정: 4개 시설 카드 사진의 크기와 비율을 동일한 정사각형으로 고정 */
.features-grid .feature-item img,
.features-grid .feature-item.feature-item--bbq img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  border:0!important;
  margin:0!important;
  background:transparent!important;
}


/* 2026-11-05: 믿음·소망·사랑빌 카드 실제 정사각형 사진 사용. */
.rooms-section .rooms-grid .room-card-image,
#rooms .rooms-grid .room-card-image {
  display: block!important;
  padding: 0!important;
  margin: 0!important;
  overflow: hidden!important;
  border: 0!important;
  background: #f3f5f2;
}
.rooms-section .rooms-grid .room-card-image img,
#rooms .rooms-grid .room-card-image img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}
/* 기존 갤러리와 객실 카드가 서로 덮이지 않도록 독립된 흐름 유지 */
#gallery.gallery-section {margin-bottom:0!important;clear:both!important;}
#rooms.rooms-section {clear:both!important;position:relative!important;}
#rooms .rooms-grid {margin-top:32px!important;}
@media(max-width:575px){
  #rooms .rooms-grid {margin-top:24px!important;}
}
