/*
 * "Editorial" style of the Cartzilla theme (generalised from the StockAgile home):
 * warm paper/ink palette, serif headings, square buttons, magazine-like home.
 * Scoped to body.cz-editorial; re-brand by overriding the --ed-* variables.
 */
body.cz-editorial {
    --ed-ink: #25332f;
    --ed-cream: #f6f1e8;
    --ed-paper: #fcfaf6;
    --ed-accent: #b96548;
    --ed-sage: #aebba3;
    --ed-sand: #ddc8a5;
    --ed-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --ed-sans: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --ed-card-1: linear-gradient(135deg, #68766d, #344039);
    --ed-card-2: linear-gradient(135deg, #c28360, #925544);
    --ed-card-3: linear-gradient(135deg, #9d7562, #61483f);
    --ed-card-4: linear-gradient(135deg, #b4a07e, #6f5f45);
    --cz-primary: var(--ed-ink);
    --cz-link-color: var(--ed-ink);
    --cz-link-hover-color: var(--ed-accent);
    background: var(--ed-paper);
    color: var(--ed-ink);
    font-family: var(--ed-sans);
}
.cz-editorial h1, .cz-editorial h2, .cz-editorial h3, .cz-editorial h4, .cz-editorial h5, .cz-editorial h6,
.cz-editorial .h1, .cz-editorial .h2, .cz-editorial .h3, .cz-editorial .h4, .cz-editorial .h5, .cz-editorial .h6 {
    color: var(--ed-ink);
    font-family: var(--ed-serif);
}
.cz-editorial .konex-price, .cz-editorial .konex-price .konex-price-final { font-family: var(--ed-sans); }

/* buttons */
.cz-editorial .btn-primary, .cz-editorial a.btn-primary { --cz-btn-bg: var(--ed-ink); --cz-btn-border-color: var(--ed-ink); --cz-btn-hover-bg: var(--ed-accent); --cz-btn-hover-border-color: var(--ed-accent); --cz-btn-active-bg: var(--ed-accent); --cz-btn-active-border-color: var(--ed-accent); background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; border-radius: 0; font-weight: 600; }
.cz-editorial .btn-primary:hover, .cz-editorial .btn-primary:focus-visible, .cz-editorial a.btn-primary:hover, .cz-editorial a.btn-primary:focus-visible { background: var(--ed-accent); border-color: var(--ed-accent); color: #fff; }
.cz-editorial .btn-dark, .cz-editorial a.btn-dark { background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; font-weight: 600; }
.cz-editorial .btn-dark:hover, .cz-editorial .btn-dark:focus-visible, .cz-editorial a.btn-dark:hover, .cz-editorial a.btn-dark:focus-visible { background: var(--ed-accent); border-color: var(--ed-accent); color: #fff; }
.cz-editorial .btn-outline-primary { border-color: var(--ed-ink); border-radius: 0; color: var(--ed-ink); font-weight: 600; }
.cz-editorial .btn-outline-primary:hover { background: var(--ed-ink); border-color: var(--ed-ink); color: #fff; }
.cz-editorial .btn-secondary { border-radius: 0; }
.cz-editorial .konex-form button, .cz-editorial .cart-qty button, .cz-editorial .cart-promo button,
.cz-editorial .konex-account button, .cz-editorial .konex-auth button { background: var(--ed-ink); border-radius: 0; }
.cz-editorial .form-control, .cz-editorial .form-select { border-radius: 0; }

/* header */
.ed-header { background: rgba(252, 250, 246, .96); box-shadow: 0 1px 0 rgba(37, 51, 47, .1); backdrop-filter: blur(10px); z-index: 1030; }
.ed-announcement { background: var(--ed-ink); color: #fff; font-size: .72rem; letter-spacing: .06em; padding: .5rem 0; text-transform: uppercase; }
.ed-brand { color: var(--ed-ink); font-family: var(--ed-serif); font-size: 1.75rem; font-weight: 800; letter-spacing: -.06em; line-height: 1; text-decoration: none; }
.ed-brand:hover { color: var(--ed-ink); }
.ed-brand em { color: var(--ed-accent); font-family: var(--ed-sans); font-size: .58em; font-style: normal; font-weight: 700; letter-spacing: .04em; margin-left: .18rem; text-transform: uppercase; }
.ed-brand img { max-height: 40px; }
.ed-nav a, .ed-mobile-nav a { color: var(--ed-ink); font-size: .86rem; font-weight: 600; text-decoration: none; }
.ed-nav > a, .ed-nav .dropdown > a { white-space: nowrap; }
.ed-nav a:hover, .ed-mobile-nav a:hover { color: var(--ed-accent); }
.ed-nav .dropdown-menu { border-radius: 0; }
.ed-mobile-nav { gap: 1.1rem; }
.ed-mobile-nav a { font-family: var(--ed-serif); font-size: 1.5rem; }
.ed-icon { color: var(--ed-ink); background: none; border: 0; padding: 0; }
.ed-icon:hover { color: var(--ed-accent); }
.ed-cart { position: relative; }
.ed-cart .badge { background: var(--ed-accent); color: #fff; font-size: .62rem; inset: -6px -9px auto auto; position: absolute; }
.ed-search { width: min(360px, calc(100vw - 2rem)); z-index: 1050; }
.ed-search .form-control { border-radius: 0; }

/* home */
.ed-hero { background: linear-gradient(115deg, #e6d8c0 0%, #f5ebdc 54%, #d1dcce 100%); min-height: 530px; overflow: hidden; position: relative; }
.ed-hero h1 { font-size: clamp(3rem, 6.2vw, 5.9rem); font-weight: 600; letter-spacing: -.06em; line-height: .98; margin: .75rem 0 1.4rem; }
.ed-hero h1 em, .ed-section-heading h2 em { color: var(--ed-accent); font-style: italic; }
.ed-hero .lead { font-size: 1.1rem; max-width: 510px; }
.ed-eyebrow { color: var(--ed-accent); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ed-hero-orb { border-radius: 50%; position: absolute; }
.ed-hero-orb-one { background: #bc7253; height: 430px; right: 8%; top: 8%; width: 430px; }
.ed-hero-orb-two { background: #607568; bottom: -180px; height: 410px; right: 28%; width: 410px; }
.ed-hero-arch { background: rgba(252, 250, 246, .42); border: 20px solid rgba(37, 51, 47, .13); border-bottom: 0; border-radius: 260px 260px 0 0; bottom: 0; height: 395px; position: absolute; right: 14%; width: 260px; }
.ed-hero-slide { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: .9; }
.ed-benefits { background: var(--ed-ink); color: rgba(255, 255, 255, .9); font-size: .82rem; font-weight: 600; letter-spacing: .03em; }
.ed-benefits i { color: var(--ed-sand); }
.ed-section-heading { align-items: end; display: flex; justify-content: space-between; gap: 1rem; }
.ed-section-heading h2 { font-size: clamp(2.1rem, 3.6vw, 3.5rem); letter-spacing: -.045em; line-height: 1.04; margin: .55rem 0 0; }
.ed-link { align-items: center; color: var(--ed-ink); font-size: .86rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.ed-link:hover { color: var(--ed-accent); }

.ed-category-card { color: #fff; display: flex; flex-direction: column; height: 270px; justify-content: space-between; overflow: hidden; padding: 1.5rem; position: relative; text-decoration: none; transition: transform .25s ease; background: var(--ed-card-1); background-size: cover; background-position: center; }
.ed-category-card:hover { color: #fff; transform: translateY(-4px); }
.ed-category-card::after { background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .42)); content: ''; inset: 0; position: absolute; }
.ed-category-card > * { position: relative; z-index: 1; }
.ed-category-card > span { border: 1px solid rgba(255, 255, 255, .65); border-radius: 50%; font-size: .72rem; height: 2rem; padding-top: .42rem; text-align: center; width: 2rem; }
.ed-category-card small { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ed-category-card h3 { color: #fff; font-size: 2.25rem; margin: .25rem 0 0; }
.ed-category-card i { font-size: 1.2rem; position: absolute; right: 0; bottom: .4rem; }
.ed-category-card.ed-tall { height: 100%; min-height: 330px; }
.ed-card-2 { background: var(--ed-card-2); }
.ed-card-3 { background: var(--ed-card-3); }
.ed-card-4 { background: var(--ed-card-4); }
.ed-category-card[style*="background-image"] { background-size: cover; background-position: center; }

.ed-featured { background: var(--ed-cream); }
.ed-featured .product-card { background: transparent !important; border-radius: 0; }
.ed-featured .product-card img { border-radius: 0; mix-blend-mode: multiply; }
.ed-featured .product-card h3 a { font-family: var(--ed-serif); font-size: 1rem; }
.ed-featured .konex-price-final { color: var(--ed-accent); font-weight: 700; }

.ed-editorial { background: var(--ed-sage); }
.ed-editorial h2 { font-size: clamp(2.2rem, 3.5vw, 3.6rem); letter-spacing: -.05em; line-height: 1.05; margin: .75rem 0 1rem; }
.ed-editorial-art { align-items: flex-start; background: #c96e4d; color: #f9e8ce; display: flex; flex-direction: column; font-family: var(--ed-serif); font-size: clamp(3.5rem, 7vw, 6.6rem); font-weight: 700; justify-content: center; letter-spacing: -.08em; line-height: .77; min-height: 355px; overflow: hidden; padding: 3rem; }
.ed-editorial-art span:nth-child(2) { align-self: center; color: var(--ed-ink); font-style: italic; }
.ed-editorial-art span:nth-child(3) { align-self: end; }

.ed-post { color: var(--ed-ink); display: block; text-decoration: none; }
.ed-post:hover { color: var(--ed-accent); }
.ed-post-image { height: 230px; margin-bottom: 1.15rem; overflow: hidden; background: var(--ed-card-2); }
.col-md-4:nth-child(3n+2) .ed-post-image { background: linear-gradient(135deg, #e2c8a3, #ba7154); }
.col-md-4:nth-child(3n) .ed-post-image { background: linear-gradient(135deg, #d0bcae, #8e6756); }
.ed-post > span { color: var(--ed-accent); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ed-post h3 { font-size: 1.55rem; line-height: 1.14; margin: .5rem 0 .8rem; }
.ed-post b { font-size: .82rem; }

.ed-newsletter { background: var(--ed-ink); color: #fff; }
.ed-newsletter h2 { color: #fff; font-size: clamp(2.1rem, 3.6vw, 3.4rem); margin: .5rem 0; }
.ed-newsletter p { color: rgba(255, 255, 255, .75); }
.ed-newsletter form { max-width: 520px; }
.ed-newsletter .form-control { border: 0; border-radius: 0; }
.ed-newsletter .btn-primary { background: var(--ed-accent); border-color: var(--ed-accent); }

/* footer (the editorial home has its own newsletter block) */
.cz-home .cz-footer-newsletter form { display: none; }
.cz-editorial .footer { background: var(--ed-ink) !important; }
.cz-editorial .footer h2, .cz-editorial .footer h4, .cz-editorial .footer h6 { color: #fff !important; }
.cz-editorial .footer a { color: rgba(255, 255, 255, .72); }
.cz-editorial .footer .btn-primary { background: var(--ed-accent); border-color: var(--ed-accent); }

@media (max-width: 991.98px) {
    .ed-hero { min-height: 485px; }
    .ed-hero-orb-one { height: 300px; opacity: .8; right: -10%; width: 300px; }
    .ed-hero-orb-two { height: 280px; right: 15%; width: 280px; }
    .ed-hero-arch { height: 265px; opacity: .7; right: 5%; width: 175px; }
}
@media (max-width: 575.98px) {
    .ed-hero { min-height: 455px; }
    .ed-hero h1 { font-size: 3.15rem; }
    .ed-hero .lead { font-size: 1rem; max-width: 340px; }
    .ed-hero-orb-one { right: -35%; top: 18%; }
    .ed-hero-orb-two { right: -6%; }
    .ed-section-heading { align-items: start; flex-direction: column; }
    .ed-category-card, .ed-category-card.ed-tall { height: 220px; min-height: 0; }
    .ed-category-card h3 { font-size: 1.8rem; }
    .ed-editorial-art { min-height: 250px; padding: 2rem; }
}
