/* Arsenal: classic grid, horizontal category tabs, boxed carousel. Dark walnut, brass, cream. */
:root {
    --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --font-body: "Gill Sans", "Trebuchet MS", "Segoe UI", system-ui, sans-serif;
    --color-bg: #f3e9d8;
    --color-surface: #fbf6ec;
    --color-surface-alt: #e8dcc6;
    --color-text: #2b1d14;
    --color-muted: #6b5a4a;
    --color-link: #7a1a1a;
    --color-accent: #b08d57;
    --color-on-accent: #1d130c;
    --color-brand: #7a1a1a;
    --color-border: #8a7350;
    --color-focus: #7a1a1a;
    --color-error: #8b1e1e;
    --radius-s: 3px;
    --space-m: 1.25rem;
    --space-l: 2.5rem;
    --page-width: 74rem;
}

/* Focus rings on the dark header and nav use brass: the red brand colour has no contrast there */
.site-header :focus-visible, .site-nav :focus-visible, .site-footer :focus-visible { outline-color: var(--color-accent); }
.site-header { background: #2b1d14; color: #f3e9d8; border-bottom: 4px solid var(--color-accent); }
.site-header__bar { width: min(100% - 2rem, var(--page-width)); margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .9rem; }
.site-logo { display: flex; align-items: center; gap: .75rem; color: inherit; text-decoration: none; }
.site-logo img { border-radius: 50%; box-shadow: 0 0 0 2px var(--color-accent); }
.site-logo__name { font-family: var(--font-display); font-size: 1.35rem; letter-spacing: .04em; }
.site-header__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.site-search { display: flex; }
.site-search__input { padding: .45rem .7rem; border: 1px solid var(--color-accent); border-right: 0; border-radius: var(--radius-s) 0 0 var(--radius-s); background: #3a2a1e; color: #f3e9d8; min-width: 12rem; }
.site-search__input::placeholder { color: #c9b690; }
.site-search__button { padding: .45rem .9rem; border: 1px solid var(--color-accent); border-radius: 0 var(--radius-s) var(--radius-s) 0; background: var(--color-accent); color: var(--color-on-accent); }
.lang-switcher, .account-links { display: flex; gap: .6rem; font-size: .9rem; }
.account-links__link, .lang-switcher a { color: #f3e9d8; }

.site-nav { background: #3a2a1e; }
.site-nav__list { width: min(100% - 2rem, var(--page-width)); margin-inline: auto; display: flex; flex-wrap: wrap; }
.site-nav__item { position: relative; }
.site-nav__link { display: block; padding: .7rem 1rem; color: #f3e9d8; text-decoration: none; font-family: var(--font-display); letter-spacing: .03em; border-bottom: 3px solid transparent; }
.site-nav__link:hover, .site-nav__link:focus-visible, .site-nav__item[aria-current] .site-nav__link { border-bottom-color: var(--color-accent); background: #46341f; }
.site-nav__item--archive { margin-left: auto; }
.site-nav__sublist { display: none; position: absolute; left: 0; top: 100%; min-width: 14rem; background: #46341f; z-index: 10; box-shadow: 0 8px 20px rgb(0 0 0 / .3); }
.site-nav__item:hover .site-nav__sublist, .site-nav__item:focus-within .site-nav__sublist { display: block; }
.site-nav__sublink { display: block; padding: .6rem 1rem; color: #f3e9d8; text-decoration: none; }
.site-nav__sublink:hover { background: #5a4530; }

.product-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-s); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgb(43 29 20 / .18); }
.product-card__body { padding: .9rem 1rem 1.1rem; }
.product-card__category { margin: 0; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--color-muted); }
.product-card__title { font-size: 1.1rem; margin: .25rem 0 .5rem; }
.price__amount { font-weight: 700; font-size: 1.05rem; }
.price__vat { display: block; font-size: .72rem; color: var(--color-muted); }
.status { display: inline-block; padding: .2rem .55rem; border-radius: var(--radius-s); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; background: var(--color-accent); color: var(--color-on-accent); }
.status--reserved { background: #d9c08a; }
.status--sold { background: #6b5a4a; color: #f3e9d8; }
.status--draft { background: #999; }

.carousel { background: var(--color-surface); border: 1px solid var(--color-border); padding: 1.25rem; border-radius: var(--radius-s); }
.carousel__title { font-size: 1.5rem; border-bottom: 2px solid var(--color-accent); padding-bottom: .4rem; }
.carousel__button { width: 2.6rem; height: 2.6rem; border: 1px solid var(--color-border); background: var(--color-surface-alt); color: var(--color-text); border-radius: 50%; font-size: 1.4rem; line-height: 1; }
.carousel__toggle { margin-right: auto; padding: .4rem .9rem; border: 1px solid var(--color-border); background: var(--color-surface-alt); color: var(--color-text); border-radius: var(--radius-s); font-size: .85rem; }
.carousel__button:hover { background: var(--color-accent); }

.site-footer { margin-top: var(--space-l); background: #2b1d14; color: #e8dcc6; border-top: 4px solid var(--color-accent); }
.site-footer__inner { width: min(100% - 2rem, var(--page-width)); margin-inline: auto; padding-block: 1.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font-size: .9rem; }
.site-footer__brand { margin: 0; font-family: var(--font-display); }
.site-footer__links { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-footer__links a { color: #e8dcc6; }

@media (max-width: 47.9rem) {
    .site-header__bar { flex-direction: column; align-items: stretch; }
    .site-header__tools { justify-content: space-between; }
    .site-search__input { min-width: 0; flex: 1; }
    .site-nav__list { overflow-x: auto; flex-wrap: nowrap; }
    .site-nav__item--archive { margin-left: 0; }
    .site-nav__sublist { display: none !important; }
}
