/* FANU의 상품 요약·문서 배치를 이네프 서체와 상품 내용으로 구현한다. */
.program-nav{gap:12px 32px;margin-bottom:64px}
.program-nav a{font-size:13px}
[data-page="program"]{width:calc(100% - 32px);max-width:1200px;padding-top:calc(367px - var(--header-height))}
[data-page="policy/2"]{width:calc(100% - 32px);max-width:700px;padding-top:calc(371px - var(--header-height))}
.shooting-overview{color:#666}
.program-category+.program-category{margin-top:56px;padding-top:48px;border-top:1px solid #e5e5e5}
.program-category-title{margin:0 0 36px;color:#111;font:700 18px/1.6 var(--sans);letter-spacing:0;text-align:left}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:36px}
.product-grid-wedding{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-grid-ceremony{grid-template-columns:repeat(2,minmax(0,1fr));max-width:840px;margin-inline:auto}
.product-entry{min-width:0;padding:0 28px 0;text-align:center;word-break:keep-all}
.product-entry h3{display:flex;justify-content:center;align-items:flex-start;font:italic 400 44px/1 var(--serif);letter-spacing:-1px;color:#111;margin:0 0 16px;white-space:normal;text-wrap:initial}
.product-entry h3 a{min-width:0}
.product-entry sup{flex-shrink:0;position:static;display:inline-block;vertical-align:top;font:400 12px/1 var(--serif);letter-spacing:1px;color:#857362;margin:.3em 8px 0 0}
.product-entry .product-amount{font:400 13px/1.6 var(--sans);letter-spacing:1px;color:#857362;margin:0 0 14px}
.product-amount span{display:block;font-size:11px;letter-spacing:0;line-height:1.6}
.product-entry .product-lines{font:400 13px/1.6 var(--sans);letter-spacing:0;color:#666;text-wrap:initial}
.product-entry .product-phrase{white-space:nowrap}
.product-entry .product-retouch{font:400 13px/1.6 var(--sans);margin:4px 0}
.product-entry .product-selection-list{margin-top:3px;font-size:11px;line-height:1.7;color:#888}
.product-selection-list>span{display:block}
.product-entry .product-note{font:italic 400 11px/1.6 var(--sans);letter-spacing:0;color:#857362;margin:10px 0 0;text-wrap:initial}
.product-cautions{max-width:620px;margin:72px auto 0;text-align:center;color:#857362}
.product-cautions h2{font:400 12px/1.6 var(--sans);letter-spacing:0;margin:0 0 12px}
.product-cautions p{font:400 12px/1.8 var(--sans);letter-spacing:0;text-wrap:initial}
.product-detail-action{text-align:center;margin-top:32px}
.product-detail-link{display:inline-block;font-size:12px;line-height:14px;border-bottom:1px solid #857362;padding-bottom:2px;color:#857362}
.shooting-details{color:#333;letter-spacing:-.42px}
.product-document-title{font:400 26px/40px var(--sans);letter-spacing:-1.3px;text-align:left;margin:0 0 60px;text-wrap:initial}
.product-document-section+.product-document-section{margin-top:72px}
.product-document-section h2{font:400 30px/45px var(--serif);letter-spacing:-1.5px;color:#857362;margin:0;text-wrap:initial}
.product-document-section .product-document-intro{font-size:12px;line-height:24px;font-weight:700;color:#857362;letter-spacing:-.36px;margin:0;text-wrap:initial}
.product-document-section h3{font:700 14px/24px var(--sans);letter-spacing:-.42px;margin:24px 0 0;text-wrap:initial}
.product-document-body p,.product-document-body li{font-size:14px;line-height:24px;letter-spacing:-.42px;text-wrap:initial}
.product-document-body ul{list-style:disc;margin:0 0 0 40px;padding:0}
.product-document-body li+li{margin-top:0}
.product-document-body strong{font-weight:700}
.product-document-body .product-disclosure{border-block:1px solid #e5e5e5;padding:12px 0;margin-top:24px}
.product-document-body>.product-disclosure+.product-document-section{margin-top:72px}
.product-document-body .product-disclosure+.product-disclosure{margin-top:0;border-top:0}
.product-disclosure summary{display:list-item;cursor:pointer;font-size:14px;line-height:21px;font-weight:700;color:#857362}
.product-disclosure summary::marker{color:#333;font-size:11px}
.product-disclosure>div{padding:12px 0 4px 18px}
.product-disclosure h4{font:700 14px/24px var(--sans);margin:0}
.product-disclosure ul+h4{margin-top:24px}
.product-document-body .product-document-link{margin-top:16px}
.product-document-body a{text-decoration:underline;text-underline-offset:3px}
.product-information{border-top:1px solid #ccc;padding-top:72px}
.product-information h3{margin-top:48px}
.product-information h2+h3{margin-top:48px}
.product-information h3+.product-disclosure{margin-top:24px}
.product-document-footer{display:flex;flex-wrap:wrap;gap:12px 28px;margin:60px 0 0;font-size:12px;letter-spacing:0;color:#666}
.product-document-footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:767px){
 [data-page="program"]{padding-top:calc(184px - var(--header-height))}
 [data-page="policy/2"]{padding-top:calc(128px - var(--header-height))}
 .program-category+.program-category{margin-top:40px;padding-top:32px}
 .program-category-title{margin-bottom:28px;font-size:16px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
 .program-category-other .product-entry:last-child{grid-column:1/-1}
 .product-cautions{margin-top:48px}
 .product-entry{padding:0 10px}
 .product-entry h3{font-size:clamp(24px,7vw,28px);margin-bottom:10px}
 .product-entry sup{font-size:9px;margin-right:5px}
 .product-entry .product-amount{font-size:11px;line-height:1.5;margin-bottom:8px}
 .product-amount span{font-size:11px;line-height:1.5}
 .product-entry .product-lines{font-size:11px;line-height:1.5}
 .product-entry .product-retouch{font-size:11px;line-height:1.5}
 .product-entry .product-selection-list{font-size:10px;line-height:1.6}
 .product-cautions{padding-inline:10px}
 .product-cautions p{font-size:11px}
}
@media(max-width:760px){
 .program-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-bottom:44px}
 .program-nav a{justify-content:center;text-align:center;font-size:12px}
}

/* 옵션 제목은 촬영상품보다 연하게 표시한다. */
#product-wedding-options a,#product-ceremony-options a,#product-other-options a{color:#888}
#product-wedding-options a:hover,#product-ceremony-options a:hover,#product-other-options a:hover{color:#555}

/* 비교 항목의 행을 공유해 상품별 줄바꿈에 따른 어긋남을 막는다. */
.program-intro{margin:0 0 42px;max-width:76ch;font:300 13px/1.9 var(--sans);color:#666}
.program-category-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.program-category-title small{font:300 12px/1.8 var(--sans);color:#707070}
.product-grid-wedding{column-gap:20px;row-gap:10px}
.product-comparison{display:grid;grid-template-rows:subgrid;grid-row:span 9;padding-inline:8px}
.product-comparison h3{margin-bottom:14px;font-family:var(--sans);font-size:29px;letter-spacing:-.02em}
.product-comparison .product-amount{margin-bottom:14px}
.product-spec{display:block;padding-block:3px;font:300 12px/1.8 var(--sans);color:#666}
.product-grid-wedding>.product-option-entry{grid-row:span 9}
.product-entry.product-option-entry h3{font:300 25px/1.6 var(--sans);letter-spacing:0}
.product-grid-ceremony{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}
.product-grid-ceremony h3,.product-grid-other h3{font:300 28px/1.5 var(--sans);letter-spacing:-.02em}
.product-grid-other{grid-template-columns:repeat(2,minmax(0,1fr));max-width:840px;margin-inline:auto}
.common-option-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font:400 13px/1.8 var(--sans)}
.common-option-list p{margin:0}
@media(max-width:767px){
 .program-intro{font-size:12px;margin-bottom:34px}
 .program-category-title{display:block}.program-category-title small{display:block;margin-top:5px}
 .product-grid-wedding{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
 .product-comparison h3,.product-grid-ceremony h3,.product-grid-other h3{font-size:23px}
 .product-spec{font-size:11px}
 .product-grid-ceremony{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-grid-ceremony>.product-option-entry{grid-column:1/-1;margin-top:18px}
 .program-category-other .product-entry:last-child{grid-column:auto}
 .product-grid-other{grid-template-columns:1fr}.product-grid-other>.product-option-entry{margin-top:12px}
 .common-option-list{grid-template-columns:1fr;gap:20px}
}

/* 큰 분류·상품명·옵션·금액의 위계를 공통 서체 안에서 구분한다. */
.shooting-overview{color:#222}
.program-category-title{font-size:30px;font-weight:500;line-height:1.4}
.shooting-overview .product-entry h3{font:500 24px/1.5 var(--sans);letter-spacing:-.02em}
.shooting-overview .product-spec,.shooting-overview .product-lines{font-size:13px;line-height:1.9;color:#333}
.shooting-overview .product-entry.product-option-entry h3{font-size:22px;font-weight:400}
.shooting-overview .product-option-entry .product-lines,
.shooting-overview .product-option-entry h3 a{color:#707070}
.product-entry .product-amount{font-weight:700;color:#514538;letter-spacing:0}
.product-entry .product-amount{font-size:16px}
.option-description{display:block;max-width:24ch;margin:6px auto 0;font-size:11px;line-height:1.7;color:#707070}
.common-option-list{grid-template-columns:1fr;gap:28px;text-align:center;color:#707070}
.common-option-list span{font-size:13px;line-height:1.9;color:inherit}
.sorra-options-table [role="cell"]:nth-child(2){font-weight:400;color:#514538}
@media(max-width:767px){
 .program-category-title{font-size:26px}
 .shooting-overview .product-entry h3{font-size:20px}
 .shooting-overview .product-entry.product-option-entry h3{font-size:20px}
 .shooting-overview .product-spec,.shooting-overview .product-lines{font-size:12px}
 .product-entry .product-amount{font-size:15px}
 .product-grid-wedding>.product-option-entry{grid-column:1/-1;grid-row:auto;margin-top:20px}
}

/* 옵션은 금액과 상세 행동을 먼저 표시하고 제공 내역을 아래로 펼친다. */
.product-options{font:400 12px/1.8 var(--sans);color:#707070}
.product-option{text-align:left;border-bottom:1px solid #e5e5e5}
.product-option summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:44px;padding:10px 0;list-style:none;cursor:pointer}
.product-option summary::-webkit-details-marker{display:none}
.option-amount{font-weight:400;color:#514538;white-space:nowrap}
.option-detail-label{font-size:11px;color:#555;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}
.option-detail-body{padding:0 0 14px;color:#555;font-size:12px;line-height:1.8;word-break:keep-all}
.product-option summary:focus-visible,.option-table-detail summary:focus-visible{outline:2px solid #514538;outline-offset:3px}
.common-option-list{max-width:500px;margin-inline:auto}
.option-table-detail summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:#555;text-decoration:underline;text-underline-offset:3px}
.option-table-detail p{margin:4px 0 10px;font-size:12px;line-height:1.8}

.product-role{min-height:3.6em;max-width:28ch;margin:8px auto 12px;font:300 12px/1.8 var(--sans);color:#555;word-break:keep-all}
.common-option-list .product-option{text-align:center}
.common-option-list .product-option summary{justify-content:center}


/* 각 촬영상품 설명 뒤에 옵션을 한 줄 전체 너비로 중앙 배치한다. */
.product-grid-wedding{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-grid-ceremony{grid-template-columns:repeat(2,minmax(0,1fr))}
.product-grid-other{grid-template-columns:1fr}
.product-grid>.product-option-entry{grid-column:1/-1;grid-row:auto;justify-self:center;width:min(100%,500px);margin-top:32px;padding-inline:0}
@media(max-width:767px){.product-grid-wedding{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid>.product-option-entry{margin-top:28px}}

.common-option h3{font:inherit;margin:0}.common-option p{margin:1.9em 0 0;font-weight:400}

.program-common-options>.program-category-title{justify-content:center;text-align:center}

.common-option-list .common-option h3{font-weight:700;color:#222}
.common-option-list .common-option p{font-weight:300;color:#666}


/* 리터칭은 총수량만 보이고 세부 셀렉은 아래로 펼친다. */
.product-retouch{font:inherit;margin:4px 0}
.product-retouch summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;cursor:pointer;list-style:none;color:inherit}
.product-retouch summary::-webkit-details-marker{display:none}
.product-retouch summary::after{content:"";width:6px;height:6px;flex-shrink:0;margin-right:3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}
.product-retouch[open]>summary::after{transform:rotate(225deg)}
.product-retouch summary:focus-visible{outline:2px solid #555;outline-offset:3px}
.product-retouch .product-selection-list{margin:2px 0 8px;padding-left:10px;border-left:1px solid #ddd;font-size:11px;line-height:1.8;color:#666}
