/* ================================================== */
/* 01. ROOT */
/* ================================================== */
:root { --home-bg:#f4efe7; --home-surface:#ffffff; --home-surface-soft:#fbf8f3; --home-line:#e8dfd3; --home-line-strong:#d8cab7; --home-text:#2d241c; --home-muted:#6f6254; --home-primary:#c96f2a; --home-primary-dark:#a4581f; --home-accent:#1f4f46; --home-accent-dark:#173c35; --home-shadow-sm:0 10px 24px rgba(28,23,18,.06); --home-shadow-md:0 22px 50px rgba(28,23,18,.1); --home-radius-xl:34px; --home-radius-lg:24px; --home-radius-md:18px; --home-radius-sm:12px; }

/* ================================================== */
/* 02. BASE */
/* ================================================== */
.home-page { background:linear-gradient(180deg,#f9f4ec 0%,#f4efe7 22%,#f8f5f0 100%); color:var(--home-text); }
.home-wrap { width:min(1280px,calc(100% - 32px)); margin:0 auto; }
.home-kicker { display:inline-flex; align-items:center; gap:8px; color:var(--home-primary); font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.home-kicker::before { content:""; width:36px; height:1px; background:currentColor; opacity:.7; }
.home-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 auto 22px; }
.home-section-title { margin:10px 0 0; color:var(--home-text); font-size:clamp(28px,3vw,46px); line-height:1.06; letter-spacing:-.05em; }
.home-section-link { color:var(--home-text); font-size:14px; font-weight:800; }
.home-section-link:hover { color:var(--home-primary); }
.home-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; border-radius:999px; padding:0 24px; font-size:14px; font-weight:800; letter-spacing:.02em; transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease; }
.home-button:hover { transform:translateY(-1px); }
.home-button--primary { background:var(--home-primary); color:#fff; box-shadow:var(--home-shadow-sm); }
.home-button--primary:hover { background:var(--home-primary-dark); }
.home-button--secondary { border:1px solid var(--home-line-strong); background:rgba(255,255,255,.72); color:var(--home-text); }
.home-button--secondary:hover { border-color:var(--home-primary); color:var(--home-primary); }
.home-button--light { background:#fff; color:var(--home-text); }
.home-button--light:hover { color:var(--home-primary); }
.home-button--ghost-light { border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; }
.home-button--ghost-light:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.home-empty-card { padding:26px; border:1px dashed var(--home-line-strong); border-radius:var(--home-radius-lg); background:rgba(255,255,255,.7); color:var(--home-muted); font-size:15px; text-align:center; }

/* ================================================== */
/* 03. HERO */
/* ================================================== */
.home-hero { padding:26px 0 24px; }
.home-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:28px; align-items:center; }
.home-hero__content { display:grid; gap:18px; }
.home-hero__title { margin:0; font-size:clamp(38px,5vw,74px); line-height:.97; letter-spacing:-.07em; color:var(--home-text); }
.home-hero__text { margin:0; max-width:760px; color:var(--home-muted); font-size:17px; line-height:1.86; }
.home-hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding-top:8px; }
.home-stat-card { display:grid; gap:6px; padding:20px; border:1px solid rgba(201,111,42,.12); border-radius:var(--home-radius-lg); background:rgba(255,255,255,.74); box-shadow:var(--home-shadow-sm); }
.home-stat-card__value { color:var(--home-text); font-size:26px; line-height:1; letter-spacing:-.04em; }
.home-stat-card__label { color:var(--home-muted); font-size:14px; font-weight:700; }
.home-hero__visual { position:relative; min-height:640px; border:1px solid rgba(201,111,42,.1); border-radius:38px; background:linear-gradient(145deg,#fff 0%,#efe5d8 100%); overflow:hidden; box-shadow:var(--home-shadow-md); }
.home-hero__image { width:100%; height:100%; object-fit:cover; display:block; }
.home-hero__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--home-muted); font-size:18px; }
.home-hero-badge { position:absolute; display:grid; gap:6px; min-width:220px; padding:18px; border:1px solid rgba(255,255,255,.55); border-radius:22px; background:rgba(255,255,255,.9); box-shadow:var(--home-shadow-sm); backdrop-filter:blur(14px); }
.home-hero-badge--top { top:20px; left:20px; }
.home-hero-badge--bottom { right:20px; bottom:20px; }
.home-hero-badge__label { color:var(--home-muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.home-hero-badge__value { color:var(--home-text); font-size:18px; line-height:1.35; }

/* ================================================== */
/* 04. CATEGORIES */
/* ================================================== */
.home-categories { padding:10px 0 18px; }
.home-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.home-category-card { display:grid; grid-template-rows:280px auto; border:1px solid rgba(31,79,70,.08); border-radius:30px; background:var(--home-surface); overflow:hidden; box-shadow:var(--home-shadow-sm); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.home-category-card:hover { transform:translateY(-3px); border-color:rgba(201,111,42,.2); box-shadow:var(--home-shadow-md); }
.home-category-card__media { position:relative; overflow:hidden; background:#ede3d6; }
.home-category-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.home-category-card:hover .home-category-card__image { transform:scale(1.04); }
.home-category-card__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--home-muted); font-size:16px; }
.home-category-card__body { display:grid; gap:12px; padding:22px; }
.home-category-card__top { display:flex; align-items:start; justify-content:space-between; gap:14px; }
.home-category-card__title { margin:0; color:var(--home-text); font-size:26px; line-height:1.1; letter-spacing:-.04em; }
.home-category-card__count { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 12px; border-radius:999px; background:#f5ede3; color:var(--home-primary); font-size:12px; font-weight:800; white-space:nowrap; }
.home-category-card__text { margin:0; color:var(--home-muted); font-size:15px; line-height:1.74; }
.home-category-card__link { color:var(--home-text); font-size:14px; font-weight:800; }
.home-category-card:hover .home-category-card__link { color:var(--home-primary); }

/* ================================================== */
/* 05. COLLECTION STRIP */
/* ================================================== */
.home-collection-strip { padding:8px 0 20px; }
.home-collection-strip__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.home-promo-card { display:grid; gap:16px; padding:28px; border-radius:32px; box-shadow:var(--home-shadow-sm); }
.home-promo-card--dark { border:1px solid rgba(31,79,70,.1); background:linear-gradient(140deg,#1e3e39 0%,#132b27 100%); color:#fff; }
.home-promo-card--warm { border:1px solid rgba(201,111,42,.12); background:linear-gradient(140deg,#f5e7d7 0%,#ead6be 100%); color:var(--home-text); }
.home-promo-card__kicker { font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; opacity:.78; }
.home-promo-card__title { margin:0; font-size:clamp(26px,2.5vw,40px); line-height:1.06; letter-spacing:-.05em; }
.home-promo-card__text { margin:0; font-size:15px; line-height:1.82; color:inherit; opacity:.88; }

/* ================================================== */
/* 06. PRODUCT TABS */
/* ================================================== */
.home-products { padding:12px 0 18px; }
.home-product-tabs { display:flex; flex-wrap:wrap; gap:10px; }
.home-product-tabs__button { min-height:46px; border:1px solid var(--home-line-strong); border-radius:999px; background:rgba(255,255,255,.8); padding:0 18px; color:var(--home-text); font-size:14px; font-weight:800; cursor:pointer; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease; }
.home-product-tabs__button:hover { transform:translateY(-1px); }
.home-product-tabs__button.is-active { border-color:var(--home-primary); background:var(--home-primary); color:#fff; }
.home-product-panels { position:relative; }
.home-product-grid { display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-product-grid.is-active { display:grid; }
.home-product-card { display:grid; grid-template-rows:330px auto; border:1px solid rgba(31,79,70,.08); border-radius:30px; background:var(--home-surface); overflow:hidden; box-shadow:var(--home-shadow-sm); }
.home-product-card__media { position:relative; display:block; overflow:hidden; background:#efe4d6; }
.home-product-card__image { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.home-product-card:hover .home-product-card__image { transform:scale(1.04); }
.home-product-card__placeholder { display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:var(--home-muted); font-size:16px; }
.home-product-card__badge { position:absolute; top:14px; left:14px; z-index:2; display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border-radius:999px; background:rgba(20,20,20,.82); color:#fff; font-size:12px; font-weight:800; }
.home-product-card__body { display:grid; gap:14px; padding:22px; }
.home-product-card__meta { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.home-product-card__category { color:var(--home-muted); font-size:13px; font-weight:800; }
.home-product-card__category:hover { color:var(--home-primary); }
.home-product-card__stock { color:var(--home-accent); font-size:12px; font-weight:800; text-align:right; }
.home-product-card__title { margin:0; color:var(--home-text); font-size:22px; line-height:1.18; letter-spacing:-.04em; }
.home-product-card__title a { color:inherit; }
.home-product-card__text { margin:0; color:var(--home-muted); font-size:14px; line-height:1.78; }
.home-product-card__specs { display:flex; flex-wrap:wrap; gap:8px; }
.home-product-card__specs span { display:inline-flex; align-items:center; min-height:32px; padding:0 10px; border-radius:999px; background:#f6efe6; color:var(--home-text); font-size:12px; font-weight:700; }
.home-product-card__price-row { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.home-product-card__old-price { color:#9b8d80; font-size:13px; font-weight:700; text-decoration:line-through; }
.home-product-card__price { color:var(--home-primary); font-size:30px; font-weight:900; line-height:1; letter-spacing:-.04em; }
.home-product-card__link { color:var(--home-text); font-size:14px; font-weight:800; white-space:nowrap; }
.home-product-card__link:hover { color:var(--home-primary); }
.home-product-card__colors { display:flex; flex-wrap:wrap; gap:8px; padding-top:2px; }
.home-product-card__color { width:18px; height:18px; border:1px solid rgba(45,36,28,.14); border-radius:999px; background:var(--home-swatch,#fff); box-shadow:inset 0 0 0 1px rgba(255,255,255,.46); }
.home-product-card__color:hover { transform:scale(1.08); }

/* ================================================== */
/* 07. BENEFITS */
/* ================================================== */
.home-benefits { padding:10px 0 18px; }
.home-benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.home-benefit-card { display:grid; gap:10px; padding:24px; border:1px solid rgba(31,79,70,.08); border-radius:28px; background:rgba(255,255,255,.78); box-shadow:var(--home-shadow-sm); }
.home-benefit-card__title { margin:0; color:var(--home-text); font-size:22px; line-height:1.15; letter-spacing:-.04em; }
.home-benefit-card__text { margin:0; color:var(--home-muted); font-size:14px; line-height:1.76; }

/* ================================================== */
/* 08. CAMPAIGN */
/* ================================================== */
.home-campaign { padding:10px 0 18px; }
.home-campaign__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,420px); gap:20px; align-items:center; padding:32px; border:1px solid rgba(201,111,42,.12); border-radius:34px; background:linear-gradient(135deg,#fff 0%,#f2e4d3 100%); box-shadow:var(--home-shadow-md); }
.home-campaign__content { display:grid; gap:16px; }
.home-campaign__text { margin:0; color:var(--home-muted); font-size:16px; line-height:1.85; }
.home-campaign__actions { display:flex; flex-wrap:wrap; gap:12px; }
.home-campaign__timer { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.home-campaign__time { display:grid; gap:8px; align-items:center; justify-items:center; min-height:130px; border:1px solid rgba(31,79,70,.08); border-radius:24px; background:#fff; box-shadow:var(--home-shadow-sm); }
.home-campaign__time strong { color:var(--home-text); font-size:42px; line-height:1; letter-spacing:-.05em; }
.home-campaign__time span { color:var(--home-muted); font-size:13px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

/* ================================================== */
/* 09. REVIEWS */
/* ================================================== */
.home-reviews { padding:10px 0 18px; }
.home-review-controls { display:flex; gap:10px; }
.home-review-controls__button { min-height:44px; border:1px solid var(--home-line-strong); border-radius:999px; background:#fff; padding:0 16px; color:var(--home-text); font-size:13px; font-weight:800; cursor:pointer; }
.home-review-controls__button:hover { border-color:var(--home-primary); color:var(--home-primary); }
.home-review-slider { position:relative; min-height:240px; }
.home-review-card { display:none; gap:18px; padding:30px; border:1px solid rgba(31,79,70,.08); border-radius:32px; background:#fff; box-shadow:var(--home-shadow-sm); }
.home-review-card.is-active { display:grid; }
.home-review-card__quote { margin:0; color:var(--home-text); font-size:clamp(24px,2.6vw,38px); line-height:1.26; letter-spacing:-.05em; }
.home-review-card__author { display:grid; gap:4px; }
.home-review-card__author strong { color:var(--home-text); font-size:16px; }
.home-review-card__author span { color:var(--home-muted); font-size:13px; font-weight:700; }

/* ================================================== */
/* 10. FAQ */
/* ================================================== */
.home-faq { padding:10px 0 48px; }
.home-faq-list { display:grid; gap:14px; }
.home-faq-item { border:1px solid rgba(31,79,70,.08); border-radius:24px; background:#fff; box-shadow:var(--home-shadow-sm); overflow:hidden; }
.home-faq-item__question { list-style:none; cursor:pointer; padding:22px 24px; color:var(--home-text); font-size:18px; font-weight:800; letter-spacing:-.02em; }
.home-faq-item__question::-webkit-details-marker { display:none; }
.home-faq-item__answer { padding:0 24px 22px; color:var(--home-muted); font-size:15px; line-height:1.82; }

/* ================================================== */
/* 11. RESPONSIVE */
/* ================================================== */
@media (max-width:1180px) { .home-hero__grid { grid-template-columns:1fr; } }
@media (max-width:1180px) { .home-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1180px) { .home-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1180px) { .home-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1040px) { .home-collection-strip__grid { grid-template-columns:1fr; } }
@media (max-width:1040px) { .home-campaign__grid { grid-template-columns:1fr; } }
@media (max-width:960px) { .home-wrap { width:min(100%,calc(100% - 20px)); } }
@media (max-width:960px) { .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:960px) { .home-section-head { flex-direction:column; align-items:start; } }
@media (max-width:760px) { .home-hero__visual { min-height:460px; } }
@media (max-width:760px) { .home-stats { grid-template-columns:1fr; } }
@media (max-width:760px) { .home-category-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .home-product-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .home-benefit-grid { grid-template-columns:1fr; } }
@media (max-width:760px) { .home-campaign__timer { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .home-product-card { grid-template-rows:300px auto; } }
@media (max-width:640px) { .home-hero__title { font-size:40px; } }
@media (max-width:640px) { .home-hero-badge { position:static; margin:12px; } }
@media (max-width:640px) { .home-hero__visual { display:grid; } }
@media (max-width:640px) { .home-product-card__price-row { flex-direction:column; align-items:start; } }
