/* FRUITERA Home — 색은 전부 CSS 변수(관리자 편집이 인라인으로 덮음).
   기본값은 .fruitera-home 에 fallback 으로만 둠. */
.fruitera-home {
	--fr-page-bg: #ffffff;
	--fr-hero-bg: #fde4ec;
	--fr-ink: #1a1113;
	--fr-accent: #e5346d;
	--fr-cta-bg: #1a1113;
	--fr-cta-text: #ffffff;
	--fr-card-arrow: #1a1113;
	--fr-guide-1: #fbd6e4;
	--fr-guide-2: #ffe9b8;

	background: var(--fr-page-bg);
	color: var(--fr-ink);
	font-family: -apple-system, "Hiragino Sans", "Noto Sans JP", sans-serif;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}
.fruitera-home * { box-sizing: border-box; }
.fruitera-home img { max-width: 100%; height: auto; display: block; }

/* 공용 버튼 */
.fruitera-home .fr-btn {
	display: inline-flex; align-items: center; gap: .4em;
	padding: .85em 1.6em; border-radius: 999px;
	font-weight: 700; font-size: .95rem; text-decoration: none;
	transition: transform .15s ease, opacity .15s ease;
}
.fruitera-home .fr-btn:hover { transform: translateY(-2px); }
.fruitera-home .fr-btn--solid { background: var(--fr-cta-bg); color: var(--fr-cta-text); }
.fruitera-home .fr-btn--outline {
	background: transparent; color: var(--fr-ink);
	border: 1.5px solid var(--fr-ink);
}

/* ── 히어로 캐러셀 ──
   PE: JS 없으면 .is-ready 안 붙음 → 첫 슬라이드만 보이고 나머지는 숨김(그냥 배너로 작동).
   JS 붙으면 .is-ready → 가로 트랙 + transform 넘김. */
.fruitera-home .fr-hero-carousel {
	position: relative;
	background: var(--fr-hero-bg);
	overflow: hidden;
}
.fruitera-home .fr-hero-track { display: block; }
.fruitera-home .fr-hero-slide { position: relative; }
/* JS 없을 때: 첫 슬라이드만 */
.fruitera-home .fr-hero-carousel:not(.is-ready) .fr-hero-slide { display: none; }
.fruitera-home .fr-hero-carousel:not(.is-ready) .fr-hero-slide:first-child { display: block; }

/* JS 있을 때: 가로 트랙 */
.fruitera-home .fr-hero-carousel.is-ready .fr-hero-track {
	display: flex; flex-wrap: nowrap;
	transition: transform .5s cubic-bezier(.4,0,.2,1);
}
.fruitera-home .fr-hero-carousel.is-ready .fr-hero-slide {
	flex: 0 0 100%; width: 100%;
}

/* ══ 레이아웃 A: FULLBLEED (이미지 화면 꽉참 + 텍스트 오버레이) ══ */
.fruitera-home .fr-hero--fullbleed .fr-hero-slide {
	min-height: 78vh; display: flex;
}
.fruitera-home .fr-hero--fullbleed .fr-hero__media {
	position: absolute; inset: 0; margin: 0;
}
.fruitera-home .fr-hero--fullbleed .fr-hero__media picture { display: block; width: 100%; height: 100%; }
.fruitera-home .fr-hero--fullbleed .fr-hero__img {
	width: 100%; height: 100%; object-fit: cover;
	max-height: none; aspect-ratio: auto; border-radius: 0;
}
/* 가독성 오버레이 — 텍스트 위치에 따라 방향 */
.fruitera-home .fr-hero--fullbleed .fr-hero-slide::after {
	content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
}
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-left .fr-hero-slide::after {
	background: linear-gradient(90deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,0) 75%);
}
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-center .fr-hero-slide::after {
	background: rgba(0,0,0,.4);
}
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-bottom .fr-hero-slide::after {
	background: linear-gradient(0deg, rgba(0,0,0,.7) 0%, rgba(0,0,0,.2) 45%, rgba(0,0,0,0) 75%);
}
.fruitera-home .fr-hero--fullbleed .fr-hero__text {
	position: relative; z-index: 2; color: #fff;
	padding: 2.5rem 1.5rem; max-width: 640px;
	display: flex; flex-direction: column;
}
.fruitera-home .fr-hero--fullbleed .fr-hero__title,
.fruitera-home .fr-hero--fullbleed .fr-hero__body { color: #fff; }
.fruitera-home .fr-hero--fullbleed .fr-hero__body { opacity: .95; }
.fruitera-home .fr-hero--fullbleed .fr-hero__title { text-shadow: 0 2px 20px rgba(0,0,0,.4); }
/* 텍스트 위치 */
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-left .fr-hero-slide { align-items: center; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-left .fr-hero__text { margin-right: auto; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-center .fr-hero-slide { align-items: center; justify-content: center; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-center .fr-hero__text { text-align: center; align-items: center; margin: 0 auto; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-center .fr-hero__ctas { justify-content: center; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-bottom .fr-hero-slide { align-items: flex-end; }
.fruitera-home .fr-hero--fullbleed.fr-hero--pos-bottom .fr-hero__text { margin-top: auto; }
/* fullbleed 뱃지는 이미지 위 */
.fruitera-home .fr-hero--fullbleed .fr-hero__badge { z-index: 3; }

/* ══ 레이아웃 B: SPLIT (텍스트 옆 이미지 2열) ══ */
.fruitera-home .fr-hero--split .fr-hero-slide {
	padding: 2.5rem 1.25rem 3.25rem;
	display: grid; gap: 2rem;
}
.fruitera-home .fr-hero--split .fr-hero__media { order: 2; }
.fruitera-home .fr-hero--split .fr-hero__text { order: 1; }

/* 화살표 */
.fruitera-home .fr-hero-nav {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 2.5rem; height: 2.5rem; border-radius: 999px;
	border: none; background: rgba(255,255,255,.8); color: var(--fr-ink);
	font-size: 1.5rem; line-height: 1; cursor: pointer; z-index: 3;
	display: none; align-items: center; justify-content: center;
	box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
.fruitera-home .fr-hero-carousel.is-ready .fr-hero-nav { display: none; }
@media (min-width: 768px) {
	.fruitera-home .fr-hero-carousel.is-ready .fr-hero-nav { display: inline-flex; }
}
.fruitera-home .fr-hero-nav--prev { left: .5rem; }
.fruitera-home .fr-hero-nav--next { right: .5rem; }

/* 점 */
.fruitera-home .fr-hero-dots {
	position: absolute; left: 0; right: 0; bottom: 1rem;
	display: flex; gap: .5rem; justify-content: center; z-index: 3;
}
.fruitera-home .fr-hero-dot {
	width: .55rem; height: .55rem; border-radius: 999px; padding: 0;
	border: none; background: rgba(0,0,0,.25); cursor: pointer;
	transition: background .2s, transform .2s;
}
.fruitera-home .fr-hero-dot.is-active { background: var(--fr-accent); transform: scale(1.3); }
.fruitera-home .fr-hero-carousel:not(.is-ready) .fr-hero-dots,
.fruitera-home .fr-hero-carousel:not(.is-ready) .fr-hero-nav { display: none; }

.fruitera-home .fr-hero__eyebrow {
	color: var(--fr-accent); font-weight: 700;
	font-size: .8rem; letter-spacing: .04em; margin: 0 0 .75rem;
}
.fruitera-home .fr-hero__title {
	font-size: clamp(1.9rem, 6vw, 3.2rem); line-height: 1.2;
	font-weight: 800; margin: 0 0 1rem;
}
.fruitera-home .fr-hero__body { font-size: 1rem; margin: 0 0 1.75rem; opacity: .85; }
.fruitera-home .fr-hero__ctas { display: flex; flex-wrap: wrap; gap: .75rem; }
.fruitera-home .fr-hero__media { position: relative; }
.fruitera-home .fr-hero--split .fr-hero__img {
	border-radius: 1.25rem; width: 100%;
	aspect-ratio: 4 / 3; object-fit: cover;
	max-height: 60vh;
}
.fruitera-home .fr-hero__badge {
	position: absolute; top: .75rem; right: .75rem;
	background: #fff; color: var(--fr-ink);
	border-radius: 999px; padding: .55rem .8rem;
	font-size: .62rem; font-weight: 800; text-align: center;
	max-width: 5.5rem; line-height: 1.25;
	box-shadow: 0 4px 14px rgba(0,0,0,.12);
}

/* ── 시그니처 플레이버 ── */
.fruitera-home .fr-flavors { padding: 3rem 1.25rem; }
.fruitera-home .fr-flavors__heading {
	text-align: center; font-size: clamp(1.4rem, 4vw, 2rem);
	font-weight: 800; margin: 0 0 2rem;
}
.fruitera-home .fr-flavors__grid {
	display: grid; gap: 1.25rem;
	grid-template-columns: 1fr;
}
.fruitera-home .fr-card {
	background: var(--fr-card-bg, #f7f7f7);
	border-radius: 1.25rem; overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .18s ease, box-shadow .18s ease;
}
.fruitera-home .fr-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0,0,0,.1);
}
.fruitera-home .fr-card__media { aspect-ratio: 4 / 3; background: #111; }
.fruitera-home .fr-card__media img { width: 100%; height: 100%; object-fit: cover; }
.fruitera-home .fr-card__body { padding: 1.1rem 1.15rem 1.25rem; }
.fruitera-home .fr-card__en { font-size: 1.05rem; font-weight: 800; margin: 0 0 .1rem; }
.fruitera-home .fr-card__ja { font-size: .8rem; opacity: .7; margin: 0 0 .7rem; }
.fruitera-home .fr-card__tags {
	list-style: none; padding: 0; margin: 0 0 .7rem;
	display: flex; flex-wrap: wrap; gap: .35rem;
}
.fruitera-home .fr-card__tags li {
	background: rgba(0,0,0,.06); border-radius: 999px;
	padding: .2rem .6rem; font-size: .68rem; font-weight: 600;
}
.fruitera-home .fr-card__desc { font-size: .82rem; opacity: .8; margin: 0 0 1rem; }
.fruitera-home .fr-card__foot {
	display: flex; align-items: center; justify-content: space-between;
}
.fruitera-home .fr-card__price { font-weight: 800; font-size: 1rem; }
.fruitera-home .fr-card__price small { font-weight: 500; opacity: .6; font-size: .7rem; }
.fruitera-home .fr-card__arrow {
	width: 2.25rem; height: 2.25rem; border-radius: 999px;
	background: var(--fr-card-arrow); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	text-decoration: none; font-size: 1.1rem;
	transition: transform .15s ease;
}
.fruitera-home .fr-card__arrow:hover { transform: translateX(3px); }

/* ── 신뢰 스트립 ── */
.fruitera-home .fr-trust {
	display: grid; grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem 1rem; padding: 2.5rem 1.25rem;
	border-top: 1px solid rgba(0,0,0,.06);
	border-bottom: 1px solid rgba(0,0,0,.06);
	text-align: center;
}
.fruitera-home .fr-trust__item { display: flex; flex-direction: column; align-items: center; gap: .3rem; }
.fruitera-home .fr-trust__icon { font-size: 1.6rem; }
.fruitera-home .fr-trust__title { font-weight: 800; font-size: .85rem; }
.fruitera-home .fr-trust__text { font-size: .72rem; opacity: .7; }

/* ── 플레이버 가이드 CTA ── */
.fruitera-home .fr-guide { padding: 3rem 1.25rem; }
.fruitera-home .fr-guide__inner {
	background: linear-gradient(135deg, var(--fr-guide-1), var(--fr-guide-2));
	border-radius: 1.5rem; padding: 2.5rem 1.5rem; text-align: center;
}
.fruitera-home .fr-guide__title { font-size: clamp(1.3rem, 4vw, 1.9rem); font-weight: 800; margin: 0 0 .6rem; }
.fruitera-home .fr-guide__body { font-size: .95rem; opacity: .8; margin: 0 0 1.5rem; }
.fruitera-home .fr-guide__chips {
	list-style: none; padding: 0; margin: 0 0 1.75rem;
	display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center;
}
.fruitera-home .fr-guide__chips li {
	background: rgba(255,255,255,.7); border-radius: 999px;
	padding: .4rem .9rem; font-size: .78rem; font-weight: 600;
}

/* ── 태블릿 (768~) ── */
@media (min-width: 768px) {
	/* split 히어로: 텍스트 옆에 이미지(2열) */
	.fruitera-home .fr-hero--split .fr-hero-slide {
		grid-template-columns: 1.05fr 1fr; align-items: center;
		padding: 3rem 2rem 4rem; gap: 2.5rem;
	}
	.fruitera-home .fr-hero--split .fr-hero__img { max-height: 460px; }
	/* fullbleed: 텍스트 오버레이 좌우 여백만 키움 */
	.fruitera-home .fr-hero--fullbleed .fr-hero__text { padding: 4rem 3rem; }
	.fruitera-home .fr-flavors__grid { grid-template-columns: repeat(2, 1fr); }
	.fruitera-home .fr-trust { grid-template-columns: repeat(5, 1fr); }
}

/* ── 데스크톱 (1024~) ── */
@media (min-width: 1024px) {
	.fruitera-home .fr-hero--split .fr-hero-slide { padding: 4rem 3rem 5rem; gap: 3rem; }
	.fruitera-home .fr-hero--split .fr-hero__img { max-height: 520px; }
	.fruitera-home .fr-hero--fullbleed .fr-hero-slide { min-height: 72vh; }
	.fruitera-home .fr-flavors, .fruitera-home .fr-guide { padding-left: 3rem; padding-right: 3rem; }
	.fruitera-home .fr-flavors__grid { grid-template-columns: repeat(3, 1fr); }
	.fruitera-home .fr-hero__badge { max-width: 6.5rem; font-size: .7rem; padding: .7rem 1rem; }
}

/* ── 와이드 (1200~): 카드 5열 + 콘텐츠 최대폭 ── */
@media (min-width: 1200px) {
	.fruitera-home .fr-flavors__grid { grid-template-columns: repeat(5, 1fr); }
	.fruitera-home .fr-hero--split .fr-hero-slide,
	.fruitera-home .fr-flavors,
	.fruitera-home .fr-trust,
	.fruitera-home .fr-guide { max-width: 1200px; margin-left: auto; margin-right: auto; }
	/* fullbleed 는 이미지가 화면 끝까지 가야 하므로 슬라이드는 안 좁히고 텍스트만 가운데 정렬 폭 제한 */
	.fruitera-home .fr-hero--fullbleed .fr-hero__text { max-width: 1200px; margin-left: auto; margin-right: auto; width: 100%; }
	.fruitera-home .fr-hero--fullbleed.fr-hero--pos-left .fr-hero__text { padding-left: max(3rem, calc((100vw - 1200px) / 2 + 3rem)); }
}

/* 모션 존중 */
@media (prefers-reduced-motion: reduce) {
	.fruitera-home .fr-btn, .fruitera-home .fr-card, .fruitera-home .fr-card__arrow { transition: none; }
}
