/* ================================================== */
/* 01. BASE */
/* ================================================== */
* { box-sizing:border-box; }
html { max-width:100%; overflow-x:hidden; }
body { margin:0; max-width:100%; overflow-x:hidden; background:#fff; color:#22303d; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.home-page { background:#fff; overflow:hidden; }
.home-page section, .home-page div, .home-page article, .home-page aside { min-width:0; }
.home-wrap { width:min(1280px,calc(100% - 40px)); margin:0 auto; }
.home-kicker { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:999px; background:#fff3e6; color:#d5660c; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.home-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 18px; }
.home-section-title { margin:12px 0 8px; color:#22303d; font-size:34px; line-height:1.08; letter-spacing:-.04em; }
.home-section-text { margin:0; max-width:760px; color:#616161; font-size:15px; line-height:1.75; }
.home-empty { display:flex; align-items:center; justify-content:center; min-height:220px; padding:20px; border:1px solid #dddddd; border-radius:24px; background:#f8f8f8; color:#555; font-size:16px; text-align:center; }

/* ================================================== */
/* 02. SLIDER */
/* ================================================== */
.home-slider-section { padding:18px 0 20px; }
.home-slider { position:relative; overflow:hidden; border-radius:28px; background:#0f1720; box-shadow:0 20px 48px rgba(15,23,42,.16); }
.home-slider__viewport { position:relative; min-height:640px; }
.home-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .45s ease,visibility .45s ease; }
.home-slide.is-active { opacity:1; visibility:visible; }
.home-slide__link { position:relative; display:block; min-height:640px; overflow:hidden; }
.home-slide__image { width:100%; height:640px; object-fit:cover; }
.home-slide__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,23,42,.72) 0%,rgba(15,23,42,.34) 45%,rgba(15,23,42,.14) 100%); }
.home-slide__content { position:absolute; left:48px; bottom:48px; z-index:2; max-width:600px; display:grid; gap:14px; }
.home-slide__kicker { display:inline-flex; align-items:center; width:max-content; min-height:30px; padding:0 12px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; backdrop-filter:blur(10px); }
.home-slide__title { margin:0; color:#fff; font-size:52px; line-height:1.02; letter-spacing:-.05em; }
.home-slide__text { margin:0; color:rgba(255,255,255,.88); font-size:17px; line-height:1.75; }
.home-slide__button { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-height:48px; padding:0 22px; border-radius:14px; background:#f47c17; color:#fff; font-size:15px; font-weight:800; box-shadow:0 12px 30px rgba(244,124,23,.26); }
.home-slider__nav { position:absolute; top:50%; z-index:3; width:52px; height:52px; border:0; border-radius:999px; background:rgba(255,255,255,.92); color:#22303d; font-size:34px; line-height:1; transform:translateY(-50%); cursor:pointer; box-shadow:0 12px 28px rgba(15,23,42,.14); }
.home-slider__nav--prev { left:20px; }
.home-slider__nav--next { right:20px; }
.home-slider__dots { position:absolute; left:50%; bottom:24px; z-index:3; display:flex; align-items:center; gap:10px; transform:translateX(-50%); }
.home-slider__dot { width:12px; height:12px; border:0; border-radius:999px; background:rgba(255,255,255,.48); cursor:pointer; transition:transform .2s ease,background .2s ease; }
.home-slider__dot.is-active { background:#fff; transform:scale(1.18); }

/* ================================================== */
/* 03. CATEGORY SHOWCASES */
/* ================================================== */
.home-category-showcases { padding:20px 0 24px; }
.home-category-showcase-list { display:grid; gap:18px; }
.home-category-band { position:relative; display:grid; grid-template-columns:minmax(320px,40%) minmax(0,1fr); gap:24px; padding:24px; border-radius:28px; overflow:hidden; box-shadow:0 20px 48px rgba(15,23,42,.10); }
.home-category-band::before { content:""; position:absolute; inset:auto auto -100px -60px; width:240px; height:240px; border-radius:999px; background:rgba(255,255,255,.12); filter:blur(4px); }
.home-category-band::after { content:""; position:absolute; inset:-80px -30px auto auto; width:220px; height:220px; border-radius:999px; background:rgba(255,255,255,.10); filter:blur(4px); }
.home-category-band--theme-1 { background: #ec8b83; }
.home-category-band--theme-2 { background: #6f8fe4; }
.home-category-band--theme-3 { background: #d59b69; }
.home-category-band--theme-4 { background: #4f9b7c; }
.home-category-band--theme-5 { background: #485067; }
.home-category-band--theme-6 { background: #8d6ccf; }
.home-category-band--theme-7 { background: #c46a8a; }
.home-category-band--theme-8 { background: #5d9ea6; }
.home-category-band--theme-9 { background: #b3a14f; }
.home-category-band--theme-10 { background: #7a5c52; }
.home-category-band__intro {border-radius: 20px 0 0 20px; position:relative; display:flex; align-items:stretch; min-height:420px; padding:20px; overflow:hidden; background:transparent; isolation:isolate; }



.home-category-band__intro::before { content:""; position:absolute; inset:0; z-index:-1; background-image:var(--band-image); background-repeat:no-repeat; background-size:cover; background-position:center center; transform:scale(1.03);
-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 24%,rgba(0,0,0,.985) 34%,rgba(0,0,0,.95) 44%,rgba(0,0,0,.86) 56%,rgba(0,0,0,.70) 68%,rgba(0,0,0,.50) 80%,rgba(0,0,0,.26) 90%,rgba(0,0,0,.10) 96%,transparent 100%);
mask-image: linear-gradient(90deg, #000 0%, #000 25%, rgba(0, 0, 0, 0.7) 82%, rgb(0 0 0 / 0%) 98%, #00000000 100%); }

.home-category-band__intro::after { content:""; position:absolute; inset:0; z-index:-2;  }
.home-category-band__copy { display:grid; gap:12px; align-content:end; }
.home-category-band__eyebrow { display:inline-flex; align-items:center; width:max-content; min-height:30px; padding:0 12px; border-radius:999px;  color:#fff; font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase;  }
.home-category-band__title { margin:0; color:#fff; font-size:48px; line-height:1.02; letter-spacing:-.05em; }
.home-category-band__lead { color:#ecff5b; font-size:24px; font-weight:800; line-height:1.18; letter-spacing:-.03em; }
.home-category-band__text { margin:0; max-width:520px; color:rgba(255,255,255,.9); font-size:15px;}
.home-category-band__meta { display:flex; flex-wrap:wrap; gap:10px; }
.home-category-band__meta-pill { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 14px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-size:12px; font-weight:800; letter-spacing:.02em; backdrop-filter:blur(10px); }
.home-category-band__button { display:inline-flex; align-items:center; justify-content:center; width:max-content; min-height:48px; padding:0 20px; border-radius:14px; background:#fff; color:#22303d; font-size:14px; font-weight:800; box-shadow:0 12px 24px rgba(15,23,42,.12); }
.home-category-band__visual { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:center; min-height:320px; }
.home-category-band__image { width:min(100%,440px); max-height:360px; object-fit:contain; filter:drop-shadow(0 22px 32px rgba(15,23,42,.18)); }
.home-category-band__placeholder { display:flex; align-items:center; justify-content:center; width:100%; min-height:260px; border-radius:24px; background:rgba(255,255,255,.14); color:#fff; font-size:15px; backdrop-filter:blur(6px); }
.home-category-band__products { position:relative; z-index:1; padding:6px 0 6px 6px; }
.home-product-carousel--band .home-product-carousel__head { margin-bottom:14px; }
.home-product-carousel--band .home-product-carousel__title { color:#fff; font-size:22px; }
.home-product-carousel--band .home-product-carousel__nav { background:rgba(255,255,255,.92); }
.home-product-carousel--band .home-product-carousel__viewport { overflow:hidden; }
.home-product-carousel--band .home-product-carousel__track { grid-auto-columns:calc((100% - 20px) / 3); padding:2px 0 10px; }
.home-product-carousel--band .category-card { box-shadow:none; }

/* ================================================== */
/* 04. SHOWCASE TABS */
/* ================================================== */
.home-showcase { padding:24px 0 24px; }
.home-showcase-tabs { display:flex; flex-wrap:wrap; gap:10px; }
.home-showcase-tabs__button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 18px; border:1px solid #d8d8d8; border-radius:999px; background:#fff; color:#22303d; font-size:14px; font-weight:800; cursor:pointer; transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease; }
.home-showcase-tabs__button:hover { transform:translateY(-1px); border-color:#bbbbbb; }
.home-showcase-tabs__button.is-active { border-color:#f47c17; background:#fff3e6; color:#d5660c; }
.home-showcase-group { display:none; }
.home-showcase-group.is-active { display:block; }
.home-product-carousel { display:grid; gap:16px; }
.home-product-carousel__head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.home-product-carousel__title { margin:0; color:#22303d; font-size:24px; line-height:1.15; letter-spacing:-.03em; }
.home-product-carousel__navs { display:flex; align-items:center; gap:10px; }
.home-product-carousel__nav { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #d8d8d8; border-radius:999px; background:#fff; color:#22303d; font-size:28px; line-height:1; cursor:pointer; box-shadow:0 8px 18px rgba(15,23,42,.06); }
.home-product-carousel__nav:disabled { opacity:.4; cursor:not-allowed; }
.home-product-carousel__viewport { overflow:hidden; }
.home-product-carousel__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 60px) / 4); gap:10px; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scroll-snap-type:x mandatory; padding:2px 2px 8px; scrollbar-width:none; }
.home-product-carousel__track::-webkit-scrollbar { display:none; }
.home-product-carousel__item { scroll-snap-align:start; min-width:0; }

/* ================================================== */
/* 05. PRODUCT CARD / CATEGORY GRID STYLE */
/* ================================================== */
.category-card { display:grid; grid-template-rows:auto 1fr; border:1px solid #d9d9d9; border-radius:18px; background:#fff; overflow:hidden; box-shadow:0 10px 28px rgba(0,0,0,0.06); }
.category-card__media { position:relative; display:block; background:#ffffff; aspect-ratio:7 / 9; overflow:hidden; padding:5px 5px 0 5px; }
.category-card__media-link { display:block; width:100%; height:100%; }
.category-card__image { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; border-radius:10px 10px 0 0; }
.category-card:hover .category-card__image { transform:scale(1.03); }
.category-card__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#777; font-size:14px; }
.category-card__body { display:grid; gap:8px; padding:6px; }
.category-card__title { color:#22303d; font-size:15px; font-weight:700; text-align:center; }
.category-card__title:hover { color:#f47c17; }
.category-card__badges { position:absolute; top:12px; left:12px; z-index:2; display:grid; gap:6px; }
.category-card__badge { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:0 10px; border-radius:999px; background:rgba(34,48,61,0.88); color:#fff; font-size:11px; font-weight:700; letter-spacing:.04em; line-height:1; box-shadow:0 6px 18px rgba(0,0,0,0.16); }
.category-card__colors-box { position:absolute; left:50%; bottom:14px; z-index:2; transform:translateX(-50%); display:flex; flex-direction:row-reverse; align-items:center; gap:5px; max-width:calc(100% - 24px); padding:4px 10px 4px 5px; border-radius:14px; background:rgba(255,255,255,.92); backdrop-filter:blur(6px); box-shadow:0 10px 24px rgba(15,23,42,.12); }
.category-card__colors-label { font-size:12px; font-weight:600; line-height:1; color:#111827; white-space:nowrap; }
.category-card__colors { display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:nowrap; flex-direction:row; }
.category-card__color-link { display:inline-flex; align-items:center; justify-content:center; }
.category-card__color-link:hover .category-card__color-dot { transform:scale(1.12); }
.category-card__color-dot { width:16px; height:16px; border-radius:999px; border:1px solid rgba(15,23,42,.12); background:var(--color,#ffffff); box-shadow:0 1px 2px rgba(15,23,42,.08); transition:transform .2s ease; }
.category-card__dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.category-card__dimension { display:grid; gap:4px; padding:10px 8px; border:1px solid #dddddd; border-radius:12px; background:#fff; text-align:center; }
.category-card__dimension-label { color:#808080; font-size:11px; font-weight:600; letter-spacing:-0.3px; }
.category-card__dimension-value { color:#22303d; font-size:12px; line-height:1.35; }
.category-card__price-box { display:grid; gap:4px; justify-content:center; }
.category-card__price-top { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.category-card__price-old { color:#6b6b6b; font-size:14px; font-weight:400; text-decoration:line-through; }
.category-card__discount { color:#1c9a31; font-size:14px; font-weight:700; }
.category-card__price-current { color:#f47c17; font-size:24px; font-weight:800; line-height:1.15; text-align:center; }
.category-card__button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border-radius:12px; background:#f47c17; color:#fff; font-size:14px; font-weight:700; }
.category-card__button:hover { background:#d5660c; }

/* ================================================== */
/* 06. REVIEWS */
/* ================================================== */
.home-reviews { padding:24px 0 52px; }
.home-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-review-card { display:grid; gap:16px; min-height:100%; padding:26px; border:1px solid #dddddd; border-radius:22px; background:#fff; box-shadow:0 12px 28px rgba(15,23,42,.07); }
.home-review-card__stars { color:#f5a623; font-size:18px; letter-spacing:2px; }
.home-review-card__quote { margin:0; color:#4f4f4f; font-size:15px; line-height:1.82; }
.home-review-card__author { display:grid; gap:4px; }
.home-review-card__author strong { color:#22303d; font-size:16px; }
.home-review-card__author span { color:#7b7b7b; font-size:13px; }

/* ================================================== */
/* 07. RESPONSIVE */
/* ================================================== */
@media (max-width:1240px) { .home-product-carousel__track { grid-auto-columns:calc((100% - 40px) / 3); } }
@media (max-width:1240px) { .home-product-carousel--band .home-product-carousel__track { grid-auto-columns:calc((100% - 10px) / 2); } }
@media (max-width:980px) { .home-wrap { width:min(100%,calc(100% - 22px)); } }
@media (max-width:980px) { .home-slider__viewport { min-height:560px; } }
@media (max-width:980px) { .home-slide__link { min-height:560px; } }
@media (max-width:980px) { .home-slide__image { height:560px; } }
@media (max-width:980px) { .home-slide__title { font-size:44px; } }
@media (max-width:980px) { .home-category-band { grid-template-columns:1fr; } }
@media (max-width:980px) { .home-category-band__title { font-size:40px; } }
@media (max-width:980px) { .home-category-band__visual { min-height:240px; } }
@media (max-width:980px) { .home-category-band__image { max-height:280px; } }
@media (max-width:980px) { .home-product-carousel__track { grid-auto-columns:calc((100% - 20px) / 2); } }
@media (max-width:980px) { .home-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .home-wrap { width:min(100%,calc(100% - 14px)); } }
@media (max-width:760px) { .home-section-head { flex-direction:column; align-items:flex-start; } }
@media (max-width:760px) { .home-section-title { font-size:28px; } }
@media (max-width:760px) { .home-slider__viewport { min-height:420px; } }
@media (max-width:760px) { .home-slide__link { min-height:420px; } }
@media (max-width:760px) { .home-slide__image { height:420px; } }
@media (max-width:760px) { .home-slide__content { left:18px; right:18px; bottom:18px; max-width:none; } }
@media (max-width:760px) { .home-slide__title { font-size:32px; } }
@media (max-width:760px) { .home-slide__text { font-size:15px; line-height:1.62; } }
@media (max-width:760px) { .home-slider__nav { width:42px; height:42px; font-size:28px; } }
@media (max-width:760px) { .home-category-band { padding:18px; border-radius:24px; } }
@media (max-width:760px) { .home-category-band__title { font-size:32px; } }
@media (max-width:760px) { .home-category-band__lead { font-size:20px; } }
@media (max-width:760px) { .home-showcase-tabs { width:100%; } }
@media (max-width:760px) { .home-showcase-tabs__button { flex:1 1 100%; width:100%; } }
@media (max-width:760px) { .home-product-carousel__track { grid-auto-columns:calc((100% - 10px) / 1.15); gap:10px; } }
@media (max-width:760px) { .home-product-carousel--band .home-product-carousel__track { grid-auto-columns:calc((100% - 10px) / 1.15); } }
@media (max-width:760px) { .category-card__title { font-size:15px; } }
@media (max-width:760px) { .category-card__dimension-value { color:#22303d; font-size:12px; line-height:1.35; font-weight:600; letter-spacing:-0.3px; } }
@media (max-width:760px) { .category-card__colors-box { bottom:10px; padding:9px 10px; } }
@media (max-width:760px) { .home-review-grid { grid-template-columns:1fr; } }
