/* NikaTea visual polish: one quiet visual system for the storefront and workspace. */
:root {
    --tea-ink: #1f4c35;
    --tea-ink-strong: #173b2a;
    --tea-muted: #657168;
    --tea-paper: #fffdf9;
    --tea-paper-soft: #f7f2e8;
    --tea-line: rgba(57, 77, 59, .14);
    --tea-gold: #d8b96e;
    --tea-radius: 20px;
    --tea-shadow: 0 16px 38px rgba(40, 57, 43, .08);
}

html { scroll-behavior: smooth; }
body { background: radial-gradient(circle at 10% 8%, rgba(239, 224, 184, .19), transparent 27%), #fbf8f1; }

:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid rgba(216, 185, 110, .78);
    outline-offset: 3px;
}

/* The editorial storefront: soft edges, but no excessive shadows or effects. */
.main-header { border-bottom-color: rgba(51, 78, 58, .1); }
.top-bar { letter-spacing: .01em; }
.main-nav .main-menu a { text-underline-offset: 5px; }
.main-nav .main-menu a:hover { text-decoration-thickness: 1px; }

/* Home: photo and copy read as one composition instead of two adjacent blocks. */
.teaware .teaware-content {
    min-height: 470px !important;
    border: 1px solid rgba(40, 74, 52, .13);
    box-shadow: var(--tea-shadow);
}
.teaware .teaware-text {
    width: min(47%, 540px) !important;
    min-height: 470px;
    padding: clamp(40px, 5vw, 66px) !important;
}
.teaware .teaware-image img { object-position: center 64%; }
.teaware .teaware-image::after {
    background:
        linear-gradient(90deg,
            rgba(24, 67, 46, .69) 0%,
            rgba(24, 67, 46, .56) 25%,
            rgba(24, 67, 46, .30) 43%,
            rgba(24, 67, 46, .11) 58%,
            rgba(24, 67, 46, .015) 72%,
            rgba(24, 67, 46, 0) 84%),
        linear-gradient(0deg, rgba(16, 35, 25, .18), transparent 43%);
}
.teaware .teaware-text .teaware-cta {
    min-height: 50px;
    padding-inline: 27px;
    box-shadow: 0 10px 22px rgba(12, 38, 25, .17);
}

/* Catalog: every card gets the same calm geometry in grid and list view. */
.catalog-masthead {
    border-radius: 26px !important;
    overflow: hidden;
    background: linear-gradient(135deg, #f5f1e8, #eee7da) !important;
}
.catalog-page .catalog-masthead { padding: clamp(28px, 4vw, 48px) !important; }
.catalog-page .catalog-filter { margin-top: 18px !important; margin-bottom: 10px !important; }
.catalog-page .catalog-subfilter { margin-bottom: 22px !important; }
.catalog-page .catalog-shop { gap: 28px !important; }
.catalog-sidebar-title { font-size: clamp(29px, 2.2vw, 33px) !important; }
.catalog-page .group-button,
.catalog-page .catalog-subfilter a,
.catalog-view-switch,
.catalog-view-switch button { border-radius: 999px !important; }
.catalog-view-switch { overflow: hidden; }
.catalog-sidebar {
    padding: 23px !important;
    border: 1px solid var(--tea-line) !important;
    border-top: 3px solid var(--tea-ink) !important;
    border-radius: 18px;
    background: rgba(255, 253, 249, .78);
    box-shadow: 0 10px 28px rgba(43, 59, 46, .045);
}
.catalog-page .products { gap: 20px !important; }
.catalog-page .unified-product-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--tea-radius) !important;
    box-shadow: 0 4px 14px rgba(37, 58, 42, .035);
}
.catalog-page .unified-product-card:hover,
.catalog-page .unified-product-card:focus-within {
    box-shadow: 0 18px 34px rgba(37, 58, 42, .11) !important;
}
.catalog-page .unified-product-card .product-image-wrap { border-radius: 0 !important; }
.catalog-page .unified-product-card .product-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 20px 19px 18px !important;
}
.catalog-page .unified-product-card .product-card-title {
    min-height: 54px !important;
    max-height: 54px !important;
    font-size: clamp(22px, 1.85vw, 25px) !important;
    letter-spacing: -.01em;
}
.catalog-page .unified-product-card .product-card-description {
    height: 54px !important;
    min-height: 54px !important;
    color: #6b736c !important;
}
.catalog-page .unified-product-card .product-card-controls { min-height: 76px !important; margin-top: 13px !important; }
.catalog-page .unified-product-card .price-row { margin-top: auto !important; }
.catalog-page .product-badge { border-radius: 999px !important; }

/* Informational pages become shorter to scan: a light paper card, smaller copy and clear hierarchy. */
.info-page-main { width: min(100% - 48px, 1100px); margin-top: 64px; margin-bottom: 96px; }
.info-page-hero { max-width: 760px; margin-bottom: 28px; }
.info-page-hero p { max-width: 650px; font-size: 16px; }
.info-page-grid { gap: 14px; }
.info-page-card {
    min-height: 0;
    padding: 27px 28px;
    border-radius: var(--tea-radius);
    box-shadow: 0 10px 28px rgba(44, 60, 47, .035);
}
.info-page-card h2 { margin-bottom: 10px; font-size: 30px; }
.info-page-card p,
.info-page-card li { color: #607066; font-size: 15px; line-height: 1.55; }
.returns-hero,
.returns-path article,
.returns-gentle-note { border-radius: var(--tea-radius); }

/* News feels like a small journal, with the images and titles aligned to the same rhythm. */
.news-card { border-radius: var(--tea-radius); box-shadow: 0 12px 30px rgba(41, 59, 45, .06); }
.news-card-content { padding: 26px; }
.news-card-body { color: #667167; }
.news-telegram-callout { border: 1px solid rgba(245, 222, 154, .16); box-shadow: var(--tea-shadow); }

/* Product and checkout surfaces keep the same rounded, readable language. */
.product-page .product-gallery img,
.product-page .product-main,
.checkout-modal,
.cart { border-radius: var(--tea-radius); }

/* Product photos are merchandise, not decorative backgrounds: preserve the
   full teapot, cake or cup instead of cropping it to fill a fixed card. */
.unified-product-card .product-image-wrap,
.product-page .product-main-photo,
.product-page .product-thumbnail {
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 255, 255, .82), transparent 54%),
        #f2ede2;
}
.unified-product-card .product-image-wrap img,
.product-page .product-main-photo img,
.product-page .product-thumbnail img {
    object-fit: contain;
    object-position: center;
}
.unified-product-card .product-image-wrap img { padding: 8px; }
.product-page .product-main-photo img { padding: 14px; }
.product-page .product-thumbnail img { padding: 3px; }
.checkout-modal { box-shadow: 0 24px 70px rgba(23, 43, 30, .25); }
.checkout-form label { color: #405b4a; }
.checkout-form input,
.checkout-form select,
.checkout-form textarea { border-radius: 11px; }

/* Admin remains utilitarian, but is easier to scan and less visually noisy. */
.admin-login,
.admin-panel { border-radius: var(--tea-radius); box-shadow: var(--tea-shadow); }
.admin-tabs {
    gap: 6px;
    padding: 7px;
    border: 1px solid var(--tea-line);
    border-radius: 15px;
    background: rgba(255, 253, 249, .75);
}
.admin-tabs button { border-radius: 9px; }
.admin-section-heading { padding-bottom: 12px; border-bottom: 1px solid var(--tea-line); }
.admin-product { border-radius: 13px; }
.admin-stock-list:not(.admin-stock-grid) .admin-product {
    margin-bottom: 10px;
    padding: 13px;
    border: 1px solid #e6dfd3;
    background: #fffdf9;
}
.admin-sync-status,
.admin-sync-preview,
.admin-manual-linker,
.admin-compare-row { border-radius: 16px; }
.admin-compare-source { padding: 16px; }
.admin-compare-photo { border-radius: 12px; }

@media (max-width: 900px) {
    .teaware .teaware-content,
    .teaware .teaware-text { min-height: 430px !important; }
    .teaware .teaware-text { width: min(58%, 510px) !important; padding: 39px !important; }
    .catalog-sidebar { position: static !important; }
    .catalog-page .products { gap: 16px !important; }
}

@media (max-width: 720px) {
    .info-page-main { width: min(100% - 30px, 650px); margin-top: 38px; margin-bottom: 68px; }
    .info-page-card { padding: 23px 21px; }
    .info-page-card h2 { font-size: 29px; }
    .admin-login,
    .admin-panel { border-radius: 16px; }
    .admin-tabs { margin-inline: -2px; }
    .admin-compare-source { padding: 14px; }
}

@media (max-width: 650px) {
    .teaware .teaware-content { min-height: 570px !important; }
    .teaware .teaware-text {
        width: 100% !important;
        min-height: 570px !important;
        padding: 31px 25px 33px !important;
    }
    .teaware .teaware-image img { object-position: center 56%; }
    .teaware .teaware-image::after {
        background: linear-gradient(0deg, rgba(20, 58, 40, .86) 0%, rgba(20, 58, 40, .62) 42%, rgba(20, 58, 40, .22) 73%, rgba(20, 58, 40, 0) 100%);
    }
    .catalog-masthead { border-radius: 20px !important; }
    .catalog-sidebar { padding: 19px !important; border-radius: 15px; }
    .catalog-page .unified-product-card .product-info { padding: 18px 17px 16px !important; }
    .catalog-page .unified-product-card .product-card-title { min-height: 0 !important; max-height: none !important; font-size: 24px !important; }
    .catalog-page .unified-product-card .product-card-description { height: auto !important; min-height: 0 !important; -webkit-line-clamp: 3; }
    .catalog-page .unified-product-card .product-card-controls { min-height: 72px !important; }
    .news-card-content { padding: 22px 20px 24px; }
}
