
/* ── S01 1단계: 폭 변수 재정의(일부 보조 규칙이 실제로 이 변수를 참조함) ── */
body.eg-site.refined-details-1007{
 --detail-width:1080px;
 --detail-gutter:48px;
}
body.eg-site.fg-final-main.aman-grid-review{
 --grid-max:1080px;
 --grid-gutter:48px;
}
@media(max-width:700px){
 body.eg-site.refined-details-1007{--detail-gutter:32px;}
 body.eg-site.fg-final-main.aman-grid-review{--grid-gutter:32px;}
}
@media(max-width:374px){
 body.eg-site.refined-details-1007{--detail-gutter:24px;}
 body.eg-site.fg-final-main.aman-grid-review{--grid-gutter:24px;}
}

body.eg-site.refined-details-1007 .official-content .oc-section,
body.eg-site.refined-details-1007 .official-content .detail-deck,
body.eg-site.refined-details-1007 .official-content>.briefing-guide,
body.eg-site.refined-details-1007 .oc-related,
body.eg-site.refined-details-1007 .briefing-section,
body.eg-site.refined-details-1007 .rf-disclosure,
body.eg-site.refined-details-1007 #main .om-plain-head,
body.eg-site.refined-details-1007 .rf-media-library,
body.eg-site.refined-details-1007 #main .rf-visit-guide,
body.eg-site.refined-details-1007 .estate-spaces .es-overview,
body.eg-site.refined-details-1007 .estate-spaces .es-spaces{
 width:100%;max-width:1080px;
}
body.eg-site.refined-details-1007 #main .oc-related{max-width:min(100%,1080px);}
@media(min-width:701px){
 body.eg-site.refined-details-1007 .rf-media-library{padding-inline:0;}
}
/* editorial-grid-1013.css가 더 높은 특이성(#main 없이도 class 6개)으로 .oc-section 등을
   calc(--grid-max + 2*--grid-gutter)로 다시 걸어 둔다 — 이 페이지들의 body에는
   fg-final-main/aman-grid-review가 없어 --grid-max가 전역 기본값(1440)으로 남는다.
   같은 선택자를 그대로 복사해 리터럴 1080px로 덮는다. */
body.eg-site.official.detail-page.refined-details-1007 .official-content :is(.oc-section,.detail-deck),
body.eg-site.official.detail-page.refined-details-1007 .official-content>.briefing-guide,
body.eg-site.official.detail-page.refined-details-1007 .oc-related,
body.eg-site.official.detail-page.refined-details-1007 #main>.briefing-section,
body.eg-site.official.detail-page.refined-details-1007 #main .rf-visit-guide,
body.eg-site .troon-ig-head,
body.eg-site .troon-ig-track,
body.eg-site.official.detail-page.refined-details-1007 .fg-brand-details,
body.eg-site.official.detail-page.refined-details-1007 #main .fg-brand-details{
 width:100%;max-width:1080px;
}
/* .official-content 바깥(ancestor 없이) #main 바로 아래 떨어져 있는 .oc-section(visit/directions.html
   등) 대비 — 위 .official-content 전제 규칙이 안 걸리므로 별도로 둔다. */
body.eg-site.refined-details-1007 #main .oc-section{max-width:1080px;margin-inline:auto;}
body.eg-site.official.detail-page.refined-details-1007 .official-content>.briefing-guide{padding-inline:0;}
body.eg-site.official.detail-page.refined-details-1007 .official-content .review-brand-card{padding-inline:0;}
/* residence/types.html: six-navigation-1015.css가 24.5px 고정 margin-left/right!important로
   가운데 정렬 없이 폭만 calc(100% - 49px)!important로 고정한다 — 같은 선택자를 그대로 복사해
   max-width와 margin을 모두 !important로 다시 덮어 가운데 정렬을 되살린다. */
body.eg-site #main .residence-type-sequence{
 max-width:1080px!important;margin-left:auto!important;margin-right:auto!important;
}
body.eg-site #main .official-content[data-content-route="news/index.html"]>:is(.om-plain-head,.media-news,.media-destinations,.eg-context-news){width:100%;max-width:1080px;}
/* 안전망: .detail-refined(레거시 1003 체계, --detail-width를 1240px로 자체 재정의)가 감싸는
   페이지에서 그 체계가 다루지 않는 자식(.wa-terms·.wa-facility 등)은 폭 규칙이 전혀 없어
   .official-content 자체 폭(보통 무제한)을 그대로 물려받는다 — 바깥 경계 자체를 1080으로 막는다. */
body.eg-site .official-content.detail-refined{max-width:1080px;margin-inline:auto;}
@media(max-width:700px){
 body.eg-site .official-content.detail-refined{max-width:calc(100% - 64px);}
}
@media(max-width:374px){
 body.eg-site .official-content.detail-refined{max-width:calc(100% - 48px);}
}
body.eg-site #main .lb-container{width:100%;max-width:1080px;}
body.eg-site #main .rf-membership-index>.review-membership-overview{width:100%;}
/* terms.html: .wa-terms도 directions.html의 .oc-section과 같은 패턴 — .official-content
   바깥에서 #main 바로 아래, 폭 규칙이 전혀 없다. */
body.eg-site.refined-details-1007 #main .wa-terms{max-width:1080px;margin-inline:auto;}
/* members/privileges.html의 .review-tax-table이 390px에서 표 자체 폭(493px)으로 가로 넘침 —
   다른 표(.review-table-scroll)와 같은 방식으로, 표 안에서만 가로로 밀리게 한다.
   세율·금액·문구·셀 병합은 그대로 — overflow만 표 박스 안으로 가둔다. */
@media(max-width:700px){
 body.eg-site #main .review-tax-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
}

.oc-section-intro{grid-template-columns:minmax(0,1fr)!important;gap:0!important;}
.golf-benefits-list li{grid-template-columns:minmax(0,1fr)!important;}

/* ── S11: 오시는길 — 정보+지도 2열, 지도 축소(PC640×311/모바일 최대높이360), 교통3열 중복 삭제
   (해당 섹션 자체는 official/index.html에서 HTML로 들어냄). #location은 홈 전용 wrapper
   (.fg-special 등)에 안 걸려 있던 자리라 1080 폭 자체도 여기서 같이 잡는다. ── */
body.eg-site.fg-final-main.aman-grid-review #main .review-home-location{
 width:min(calc(100% - 2 * var(--grid-gutter)),var(--grid-max));margin-inline:auto;
}
body.eg-site #main .review-home-location .location-info-map{
 display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:40px;align-items:start;
}
body.eg-site #main .review-home-location .location-info{min-width:0;}
body.eg-site #main .review-home-location .location-info .om-address{margin:12px 0 0;}
body.eg-site #main .review-home-location .location-info .om-btns{margin:20px 0 0;}
body.eg-site #main .review-home-location .location-original-pair.review-location-new{
 width:100%;max-width:none;margin:0;grid-template-columns:minmax(0,1fr);
}
body.eg-site #main .review-home-location .location-original-pair img{aspect-ratio:1440/700;object-fit:contain;}
@media(max-width:899px){
 body.eg-site #main .review-home-location .location-info-map{grid-template-columns:minmax(0,1fr);gap:24px;}
 body.eg-site #main .review-home-location .location-original-pair.review-location-new{max-width:100%;}
}
@media(max-width:699px){
 body.eg-site #main .review-home-location .location-original-pair img{aspect-ratio:auto;width:auto;max-width:100%;height:auto;max-height:360px;margin-inline:auto;display:block;}
}
body.eg-site.official.detail-page.refined-details-1007 #main .estate-map{width:100%;max-width:1080px;}
body.eg-site.official.detail-page.refined-details-1007 .official-content>.oc-cover,
body.eg-site.official.detail-page.refined-details-1007 .official-content>.oc-cover.app-guide-cover,
body.eg-site.official.detail-page.refined-details-1007 .official-content>.oc-cover.rf-portrait-cover{width:100%;max-width:1080px;}
/* brand/estate.html만 leaflet-brand-1014.css가 #main id를 낀 전용 선택자로 같은 거터 이중차감
   폭을 또 건다(#main이 있어 특이성이 더 높아 위 규칙이 안 먹음) — 같은 선택자로 덮는다. */
body.eg-site #main .rf-brand-estate>.lb-estate-cover{width:100%;}
body.eg-site #main [data-guide="troon-usa-to-jeju"]{margin-top:96px;margin-bottom:96px;}
@media(max-width:899px){
 body.eg-site #main [data-guide="troon-usa-to-jeju"]{margin-top:64px;margin-bottom:64px;}
}
body.eg-site .rf-brand-troon .oc-cover{max-width:1080px!important;}
body.eg-site.official.detail-page.refined-details-1007 #main .rf-brand-troon>.oc-cover,
body.eg-site.official.detail-page.refined-details-1007 #main .rf-brand-troon>.briefing-guide>.lb-brand-story,
body.eg-site.official.detail-page.refined-details-1007 #main .rf-brand-troon>.lb-brand-story{
 width:100%!important;max-width:1080px!important;
}
/* members/advantage.html <head> 맨 앞 인라인 <style>이 .adv-page/.adv-film에 레거시 960px를
   박아 둔다(외부 파일에는 없음) — 같은 class-only 선택자를 그대로 써서 소스 순서로 덮는다. */
.adv-film{max-width:1080px;}
body.eg-site #main.adv-page{max-width:1080px;}

/* ── S02: 구역 간 PC96px/모바일64px(기존 패턴을 따르는 섹션 사이 margin-bottom 역할만) ── */
body.eg-site.fg-final-main.aman-grid-review{
 --home-section-gap:96px;
}
@media(max-width:899px){
 body.eg-site.fg-final-main.aman-grid-review{--home-section-gap:64px;}
}

body.eg-site #main .adv-film video{max-width:1080px;}
body.eg-site.fg-final-main.aman-grid-review #main>.opening{max-width:1080px;}
body.eg-site #main .lb-brand-film video{max-width:1080px;margin-inline:auto;}
body.eg-site.refined-details-1007 .rf-media-library .ml-player{max-width:1080px;margin-inline:auto;}

body.eg-site #main .residence-floorplans-mini{margin-top:var(--space-6,16px);padding-top:var(--space-4,10px);}
body.eg-site #main .residence-floorplans-mini h4{font:400 var(--type-small,14px)/1.5 var(--font-body);color:var(--rf-muted,#687078);margin:0 0 8px;text-transform:uppercase;letter-spacing:.04em;}
body.eg-site #main .floorplan-mini{margin:0;width:min(720px,100vw - 64px);max-width:none;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;}
body.eg-site #main .review-type .residence-floorplans .floorplan-mini img{width:100%;height:100%;object-fit:contain;}
body.eg-site #main .floorplan-expand{display:block;margin-top:10px;}
body.eg-site #main .floorplan-expand>summary{cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:400 var(--type-small,14px)/1.5 var(--font-body);color:var(--rf-ink,#29332e);text-decoration:underline;list-style:none;}
body.eg-site #main .floorplan-expand>summary::-webkit-details-marker{display:none;}
body.eg-site #main .floorplan-expand[open]>summary{margin-bottom:10px;}
/* details:not([open])>*:not(summary){display:none}인 UA 기본 동작이 테스트 브라우저
   엔진에서 적용되지 않는 걸 확인(최소 재현: 빈 페이지에 <details><summary>만 있어도
   닫힘 상태에서 내용이 그대로 보임) — UA 기본값에 기대지 않고 명시적으로 닫힘을
   display:none 처리해 모든 엔진에서 동일하게 동작하도록 만든다. */
body.eg-site #main .floorplan-expand:not([open])>.floorplan-expand-scroll{display:none;}
body.eg-site #main .floorplan-expand[open]>.floorplan-expand-scroll{position:fixed;inset:0;z-index:1000;width:auto;height:auto;max-width:none;max-height:none;margin:0;display:flex;align-items:center;justify-content:center;padding:32px 4vw;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:rgba(23,26,25,.85);border:0;}
body.eg-site #main .review-type .residence-floorplans .floorplan-expand-scroll img{flex:none;width:min(1100px,100%);height:auto;max-width:none;max-height:none;margin:auto;object-fit:contain;border:1px solid var(--rf-line,#d9ddd8);background:#fff;}
body.eg-site:has(#main .floorplan-expand[open]){overflow:hidden;}
@media(max-width:700px){
 /* 1020 "위아래로 크게" 이후: 미리보기 폭이 이제 본문 폭 공식(위)이라
    90px 축소 규칙은 더 안 맞음 — 라벨·여백만 모바일에서 줄이고 폭은
    공통 규칙 그대로 둔다. */
 body.eg-site #main .residence-floorplans-mini{margin-top:8px;padding-top:6px;}
 body.eg-site #main .residence-floorplans-mini h4{margin-bottom:4px;}
 body.eg-site #main .floorplan-expand{margin-top:6px;}
}

body.eg-site #main .wa-facilities{width:100%;margin-top:96px;}
@media(max-width:899px){
 body.eg-site #main .wa-facilities{margin-top:64px;}
}

body.eg-site.official.detail-page.refined-details-1007 .official-content .oc-cover-copy>.bdb-sub{color:var(--troon-ivory,#F4F1EA);}

.photo-viewer.photo-viewer-light{background:#fff;color:var(--troon-ink,#232726);}
.photo-viewer.photo-viewer-light::backdrop{background:rgba(255,255,255,.96);}
.photo-viewer.photo-viewer-light button{color:var(--troon-ink,#232726);}
@media(max-width:860px){
 .photo-viewer.photo-viewer-light .viewer-prev,.photo-viewer.photo-viewer-light .viewer-next{background:rgba(244,241,234,.6)!important;}
}

body.eg-site.refined-details-1007{--r57-page-gutter:var(--detail-gutter);}
body.eg-site.official.detail-page.refined-details-1007 #main .official-content:is(.detail-refined,.rf-visit-guide),
body.eg-site.official.detail-page.refined-details-1007 #main .official-content[data-content-route^="membership/"],
body.eg-site.official.detail-page.refined-details-1007 #main:not(.adv-page)>.briefing-section,
body.eg-site.official.detail-page.refined-details-1007 #main>.oc-section,
body.eg-site.official.detail-page.refined-details-1007 #main>.estate-gallery-page,
body.eg-site.official.detail-page.refined-details-1007 #main>.rf-media-library,
body.eg-site.official.detail-page.refined-details-1007 #main .wa-terms,
body.eg-site.refined-details-1007 #main.adv-page{
 width:min(calc(100% - 2 * var(--r57-page-gutter)),1080px);max-width:none;margin-inline:auto;padding-inline:0;box-sizing:border-box;
 --grid-gutter:0px;--detail-gutter:0px;
}
/* 변수가 아닌 고정값 들여쓰기 — 감싸개 안에서만 0으로 */
/* residence/types: six-navigation-1015.css:4 width:calc(100% - 49px)·margin-left:24.5px(!important) — 위 89행 덮기가 못 이겨 남던 것 */
body.eg-site.official.detail-page.refined-details-1007 #main .official-content .residence-type-sequence{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
/* residence/interior: interior-0930.css:1 .interior-cards{width:min(1280px,88%)}(≤860 calc(100% - 48px)) — 1440 x245 */
body.eg-site.official.detail-page.refined-details-1007 #main .official-content .interior-cards{width:100%;}
/* 앱 구역: user-review-35-1016.css:38 .review-app-overview{margin:64px 24px} — 701~1175에서 48+24로 겹치지 않게 */
body.eg-site.official.detail-page.refined-details-1007 #main .official-content:not([data-content-route^="membership/"]) .review-app-overview{margin-inline:0;}
/* privacy: 옛 site.css:53~54 .wrap{padding:0 var(--gutter)}·.content{max-width:var(--contentw);margin:0 auto} — 1440 x240.
   읽기 폭(--contentw)은 그대로 두고 시작선만 왼쪽 감싸개 선으로. */
body.eg-site.wa-legal.refined-details-1007 #main>section>.wrap{width:min(calc(100% - 2 * var(--r57-page-gutter)),1080px);max-width:none;margin-inline:auto;padding-inline:0;box-sizing:border-box;}
body.eg-site.wa-legal.refined-details-1007 #main>section>.wrap>.content{margin-left:0;margin-right:auto;}
@media (min-width:1181px){body.eg-site #main .review-home-location .location-original-pair.review-location-new{margin-top:-40px;}}
