/* 리브레아뜨 화면 수정 모음 (원본 CSS 는 그대로 두고 덮어씀) — 원본: tools/la-fix.css → site/assets/site/css/la-fix.css */

/* 그리드 목록(컬렉션·주얼리·리뷰·에피소드·카탈로그·프로모션·커스터머 스튜디오·룩북): 마세라티 기준
   사진 확대 1.2초 · 1.2배 / 화살표 0.6초 ease-in-out · 10px */
.product-card .link .thumb img { transition: transform 1.2s ease !important; }
.product-card .link .thumb:hover img, .product-card:hover .link .thumb img { transform: translate(-50%, -50%) scale(1.2) !important; }
.product-card .link2 .more p:after { transition: margin .6s ease-in-out !important; }
.product-card:hover .link2 .more p:after { margin: 0 !important; }
.bbs-body .review > ul > li a .thumbs img { transition: transform 1.2s ease !important; }
.bbs-body .review > ul > li a:hover .thumbs img { transform: translate(-50%, -50%) scale(1.2) !important; }
.bbs-body .review > ul > li a .mark-episode:after { transition: right .6s ease-in-out !important; }
.bbs-body .review > ul > li a:hover .mark-episode:after { right: -4px !important; }
.bbs-body .gallery > ul > li a .thumbs { overflow: hidden; }
.bbs-body .gallery > ul > li a .thumbs img { transition: transform 1.2s ease !important; }
.bbs-body .gallery > ul > li a:hover .thumbs img { transform: translate(-50%, -50%) scale(1.2) !important; }
.photo-list .item > a .thumbs img, .product-card-type2 > a .thumbs img { transition: transform 1.2s ease !important; }
.photo-list .item > a:hover .thumbs img, .product-card-type2 > a:hover .thumbs img { transform: scale(1.2) !important; }

/* 팔로우 어스: 화면이 아주 넓을 때(2560 등) 슬라이드가 좁아지던 문제 — 오른쪽 끝까지 늘어나는 폭을 직접 계산 */
@media (width > 1500px) {
  .followus-wrap .followus-sns > .inner-sm .sns-slide { flex: 0 0 auto !important; width: calc(100% - 300px + (100vw - 1500px) / 2) !important; }
}

/* 상세 팝업 칸: 글 칸 · 사진 위 문구 */
.photo-overlay .slide-item.la-txt-slide { display: flex; align-items: center; justify-content: center; background: #fff; }
.photo-overlay .la-txt { max-width: 560px; padding: 40px 32px; text-align: center; color: #111; word-break: keep-all; }
.photo-overlay .la-txt strong { display: block; font-size: 19px; font-weight: 400; line-height: 1.45; margin: 0 0 16px; }
.photo-overlay .la-txt p { font-size: 14px; line-height: 1.8; color: #444; }
.photo-overlay .slide-item.la-cap-slide { position: relative; }
.photo-overlay .la-cap { position: absolute; max-width: 80%; padding: 6%; color: #fff; font-size: clamp(13px, 1.05vw, 17px); line-height: 1.55; text-shadow: 0 1px 12px rgba(0,0,0,.35); word-break: keep-all; pointer-events: none; }
.photo-overlay .la-cap.la-cap-k { color: #111; text-shadow: 0 1px 12px rgba(255,255,255,.5); }
.photo-overlay .la-cap-tl { top: 0; left: 0; } .photo-overlay .la-cap-tc { top: 0; left: 50%; transform: translateX(-50%); text-align: center; } .photo-overlay .la-cap-tr { top: 0; right: 0; text-align: right; }
.photo-overlay .la-cap-ml { top: 50%; left: 0; transform: translateY(-50%); } .photo-overlay .la-cap-mc { top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; } .photo-overlay .la-cap-mr { top: 50%; right: 0; transform: translateY(-50%); text-align: right; }
.photo-overlay .la-cap-bl { bottom: 0; left: 0; } .photo-overlay .la-cap-bc { bottom: 0; left: 50%; transform: translateX(-50%); text-align: center; } .photo-overlay .la-cap-br { bottom: 0; right: 0; text-align: right; }
html:lang(ja) .photo-overlay .la-cap, html:lang(zh-Hans) .photo-overlay .la-cap, html:lang(ja) .photo-overlay .la-txt, html:lang(zh-Hans) .photo-overlay .la-txt { word-break: normal; }

/* 메뉴를 열면 헤더의 로그인·언어 숨김 (휴대폰에서 하위 메뉴 '뒤로' 버튼과 겹치던 문제 — 메뉴 아래쪽에 같은 버튼이 있음) */
#header:has(.snb-wrap.expand) .hd-util { opacity: 0; visibility: hidden; }
@media (width <= 1024px) { #header:has(.snb.on) .hd-util { opacity: 0; visibility: hidden; } }
