/* art.bg — pastel gallery theme (inspired by fineartamerica.com) */
:root {
    --art-accent: #7d9eb2;
    --art-accent-dark: #668799;
    --art-accent-soft: #dce8ef;
    --art-warm: #c4a484;
    --art-warm-soft: #f0e6da;
    --art-logo: #b8897a;
    --art-logo-dark: #a07868;
    --art-nav: #f3f1ed;
    --art-nav-dark: #e8e5df;
    --art-nav-text: #5c5c5c;
    --art-page-bg: #f7f6f3;
    --art-white: #ffffff;
    --art-text: #4d4d4d;
    --art-muted: #909090;
    --art-border: #e8e5e0;
    --art-purple: #c8bdd8;
    --art-orange: #ecd5b8;
    --art-green: #c5dbb8;
    --art-footer-coral: #e0c4c4;
    --art-sidebar-bg: #faf9f7;
    --art-box-border: #ebe8e3;
    --art-shadow: 0 1px 4px rgba(80, 70, 60, 0.06);
    --art-radius: 4px;
    --art-page-width: 100%;
}

*, *::before, *::after { box-sizing: border-box; }

body {
    font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.55;
    color: var(--art-text);
    background: var(--art-page-bg);
    margin: 0;
    -webkit-font-smoothing: antialiased;
}

a { color: var(--art-accent-dark); }
a:hover { color: var(--art-logo); text-decoration: none; }

/* ── Header top ── */
.art-header-top {
    background: var(--art-white);
    border-bottom: 1px solid var(--art-border);
    padding: 10px 0;
    box-shadow: var(--art-shadow);
}

.art-header-top .art-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.art-logo {
    display: inline-flex;
    align-items: baseline;
    font-size: 28px;
    font-weight: 600;
    color: var(--art-text);
    text-decoration: none;
    letter-spacing: -0.5px;
}

.art-logo .art-logo-a {
    color: var(--art-logo);
    font-style: italic;
    font-size: 32px;
    margin-right: 1px;
}

.art-logo:hover { color: var(--art-text); text-decoration: none; }

.art-auth-links a {
    color: var(--art-nav-text);
    margin-left: 16px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-weight: 500;
}

.art-auth-links a:hover { color: var(--art-accent-dark); }

/* ── Main nav bar ── */
.art-nav-main {
    background: var(--art-nav);
    border-bottom: 1px solid var(--art-border);
}

.art-nav-main .art-container {
    display: flex;
    align-items: stretch;
    min-height: 40px;
}

.art-nav-links {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
}

.art-nav-links li a {
    display: block;
    padding: 11px 18px;
    color: var(--art-nav-text);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.art-nav-links li a:hover,
.art-nav-links li.active a {
    background: var(--art-nav-dark);
    color: var(--art-text);
}

.art-nav-search {
    display: flex;
    align-items: center;
    padding: 6px 10px;
    background: transparent;
}

.art-nav-search input {
    border: 1px solid var(--art-border);
    border-radius: var(--art-radius);
    padding: 5px 10px;
    font-size: 12px;
    width: 150px;
    background: var(--art-white);
    color: var(--art-text);
}

.art-nav-search input:focus {
    outline: none;
    border-color: var(--art-accent);
    box-shadow: 0 0 0 2px var(--art-accent-soft);
}

.art-nav-search button {
    border: none;
    background: var(--art-accent);
    color: #fff;
    padding: 6px 12px;
    cursor: pointer;
    margin-left: 4px;
    border-radius: var(--art-radius);
    transition: background 0.15s;
}

.art-nav-search button:hover {
    background: var(--art-accent-dark);
}

/* ── Page container ── */
.art-container {
    width: var(--art-page-width);
    max-width: var(--art-page-width);
    margin: 0 auto;
    padding: 0 14px;
    box-sizing: border-box;
}

.art-page-wrap {
    background: var(--art-white);
    border: 1px solid var(--art-border);
    border-top: none;
    padding: 16px;
    min-height: 400px;
    box-shadow: var(--art-shadow);
}

main.art-main-content {
    padding: 0;
}

/* ── Two-column layout ── */
.art-layout {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.art-sidebar {
    width: 200px;
    flex-shrink: 0;
}

.art-content {
    flex: 1;
    min-width: 0;
}

/* ── Sidebar boxes ── */
.art-sidebar-box {
    border: 1px solid var(--art-box-border);
    border-radius: var(--art-radius);
    margin-bottom: 14px;
    background: var(--art-sidebar-bg);
    overflow: hidden;
}

.art-sidebar-box__title {
    background: var(--art-accent-soft);
    color: var(--art-accent-dark);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 12px;
    margin: 0;
    border-bottom: 1px solid var(--art-border);
}

.art-sidebar-categories {
    list-style: none;
    margin: 0;
    padding: 0;
}

.art-sidebar-categories li {
    border-bottom: 1px solid var(--art-border);
}

.art-sidebar-categories li:last-child { border-bottom: none; }

.art-sidebar-categories a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    color: var(--art-text);
    font-size: 13px;
    text-decoration: none;
    transition: background 0.12s;
}

.art-sidebar-categories a:hover {
    background: var(--art-warm-soft);
    color: var(--art-accent-dark);
}

.art-sidebar-categories .arrow {
    color: var(--art-accent);
    font-size: 10px;
}

.art-sidebar-sub a {
    padding-left: 24px !important;
    font-size: 12px !important;
    color: var(--art-muted) !important;
}

.art-news-list {
    list-style: none;
    margin: 0;
    padding: 8px;
}

.art-news-item {
    display: flex;
    gap: 10px;
    padding: 8px 4px;
    border-bottom: 1px solid var(--art-border);
}

.art-news-item:last-child { border-bottom: none; }

.art-news-item img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid var(--art-border);
    border-radius: var(--art-radius);
}

.art-news-item__title {
    color: var(--art-accent-dark);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 2px;
}

.art-news-item__title a { color: var(--art-accent-dark); }
.art-news-item__title a:hover { color: var(--art-logo); }

.art-news-item__date {
    font-size: 11px;
    color: var(--art-muted);
}

/* ── Top feature boxes ── */
.art-feature-row {
    display: flex;
    gap: 14px;
    margin-bottom: 18px;
}

.art-feature-box {
    flex: 1;
    border: 1px solid var(--art-box-border);
    border-radius: var(--art-radius);
    background: var(--art-sidebar-bg);
    overflow: hidden;
}

.art-feature-box__title {
    background: var(--art-warm-soft);
    color: #7a6a58;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 8px 12px;
    margin: 0;
    border-bottom: 1px solid var(--art-border);
}

.art-feature-box__body {
    padding: 10px 12px;
}

.art-feature-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.art-feature-list li {
    padding: 6px 0;
    border-bottom: 1px solid var(--art-border);
    font-size: 13px;
}

.art-feature-list li:last-child { border-bottom: none; }

.art-feature-list .item-title {
    color: var(--art-accent-dark);
    font-weight: 600;
}

.art-feature-list .item-title a { color: var(--art-accent-dark); }

.art-feature-list .item-sub {
    color: var(--art-muted);
    font-size: 12px;
}

.art-theater-item {
    display: flex;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--art-border);
}

.art-theater-item:last-child { border-bottom: none; }

.art-theater-item img {
    width: 70px;
    height: 70px;
    object-fit: cover;
    border: 1px solid var(--art-border);
    border-radius: var(--art-radius);
    flex-shrink: 0;
}

.art-theater-item__title {
    color: var(--art-accent-dark);
    font-weight: 600;
    font-size: 14px;
    margin: 0 0 4px;
}

.art-theater-item__title a { color: var(--art-accent-dark); }

.art-theater-item__meta {
    font-size: 12px;
    color: var(--art-muted);
    margin: 0;
}

/* ── Section heading ── */
.art-section-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--art-text);
    border-bottom: 2px solid var(--art-accent-soft);
    padding-bottom: 6px;
    margin: 0 0 14px;
}

/* ── Artwork grid ── */
.art-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.art-grid--6 {
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}

.art-grid--6 .art-grid-item__title { font-size: 11px; }
.art-grid--6 .art-grid-item__artist,
.art-grid--6 .art-grid-item__price { font-size: 10px; }
.art-grid--6 .art-grid-item__img-wrap { aspect-ratio: 1; }

.art-grid-item { text-align: center; }

.art-grid-item__img-wrap {
    display: block;
    border: 1px solid var(--art-border);
    background: var(--art-sidebar-bg);
    overflow: hidden;
    aspect-ratio: 1;
    margin-bottom: 8px;
    border-radius: var(--art-radius);
    box-shadow: var(--art-shadow);
    transition: box-shadow 0.2s;
}

.art-grid-item__img-wrap:hover {
    box-shadow: 0 3px 12px rgba(80, 70, 60, 0.1);
}

.art-grid-item__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.25s ease;
}

.art-grid-item__img-wrap:hover img {
    transform: scale(1.04);
}

.art-grid-item__title {
    font-size: 13px;
    font-weight: 600;
    color: var(--art-text);
    margin: 0 0 2px;
}

.art-grid-item__title a { color: var(--art-text); }
.art-grid-item__title a:hover { color: var(--art-accent-dark); }

.art-grid-item__artist {
    font-size: 12px;
    font-style: italic;
    color: var(--art-muted);
    margin: 0;
}

.art-grid-item__price {
    font-size: 12px;
    color: var(--art-warm);
    font-weight: 600;
    margin-top: 2px;
}

/* ── Cards ── */
.artwork-card, .artist-card {
    border: 1px solid var(--art-border);
    background: var(--art-white);
    border-radius: var(--art-radius);
    transition: box-shadow 0.2s;
    box-shadow: var(--art-shadow);
}

.artwork-card:hover, .artist-card:hover {
    box-shadow: 0 4px 14px rgba(80, 70, 60, 0.1);
}

.artwork-card img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: var(--art-radius) var(--art-radius) 0 0;
}

.artwork-card .card-body,
.artist-card .card-body {
    padding: 10px 12px;
    text-align: center;
}

.artist-card img.card-img-top {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    margin: 14px auto 0;
    border: 2px solid var(--art-border);
}

/* ── Buttons ── */
.btn-art {
    background: var(--art-accent);
    color: #fff;
    border: 1px solid var(--art-accent-dark);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 8px 18px;
    border-radius: var(--art-radius);
    transition: background 0.15s, box-shadow 0.15s;
}

.btn-art:hover {
    background: var(--art-accent-dark);
    color: #fff;
    box-shadow: 0 2px 8px rgba(102, 135, 153, 0.25);
}

.btn-outline-art {
    background: transparent;
    color: var(--art-accent-dark);
    border: 1px solid var(--art-accent);
    border-radius: var(--art-radius);
    font-size: 12px;
    font-weight: 500;
    transition: all 0.15s;
}

.btn-outline-art:hover {
    background: var(--art-accent-soft);
    color: var(--art-accent-dark);
    border-color: var(--art-accent-dark);
}

.text-art { color: var(--art-warm); }
.badge-art { background: var(--art-accent-soft); color: var(--art-accent-dark); font-weight: 600; }

/* ── Inner pages ── */
.art-inner-page {
    background: var(--art-white);
    border: 1px solid var(--art-border);
    border-top: none;
    padding: 20px;
    min-height: 300px;
    box-shadow: var(--art-shadow);
}

.art-inner-page h1 {
    font-size: 22px;
    font-weight: 600;
    border-bottom: 2px solid var(--art-accent-soft);
    padding-bottom: 8px;
    margin-bottom: 18px;
    color: var(--art-text);
}

/* ── Footer mega bars (pastel) ── */
.art-footer-bars { margin-top: 0; }

.art-footer-bar {
    display: block;
    position: relative;
    overflow: hidden;
    color: #5a5a5a;
    text-decoration: none;
    padding: 16px 20px;
    border-bottom: 1px solid rgba(255,255,255,0.5);
    transition: filter 0.15s;
}

.art-footer-bar:hover {
    color: #444;
    filter: brightness(0.98);
    text-decoration: none;
}

.art-footer-bar--purple { background: var(--art-purple); }
.art-footer-bar--orange { background: var(--art-orange); }
.art-footer-bar--green  { background: var(--art-green); }
.art-footer-bar--red    { background: var(--art-footer-coral); }

.art-footer-bar__inner {
    width: var(--art-page-width);
    max-width: var(--art-page-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    padding: 0 14px;
}

.art-footer-bar__icon {
    font-size: 26px;
    opacity: 0.75;
    width: 40px;
    text-align: center;
}

.art-footer-bar__label {
    font-size: 17px;
    font-weight: 600;
    text-transform: lowercase;
    color: #555;
}

.art-footer-bar__links {
    margin-left: auto;
    display: flex;
    gap: 14px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
}

.art-footer-bar__links a { color: #666; }
.art-footer-bar__links a:hover { color: #444; }

.art-footer-bar__bg-text {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 34px;
    font-weight: 600;
    opacity: 0.12;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
    pointer-events: none;
    color: #888;
}

/* ── Footer bottom ── */
.art-footer-bottom {
    background: var(--art-nav);
    color: var(--art-muted);
    font-size: 12px;
    padding: 16px 0;
    text-align: center;
    border-top: 1px solid var(--art-border);
}

.art-footer-bottom a { color: var(--art-accent-dark); }

.art-footer-payments {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 10px 0;
    align-items: center;
}

.art-pay-badge {
    background: var(--art-white);
    color: var(--art-muted);
    padding: 3px 10px;
    font-size: 10px;
    font-weight: 600;
    border-radius: var(--art-radius);
    border: 1px solid var(--art-border);
}

/* ── Forms ── */
.form-control {
    border-radius: var(--art-radius);
    border-color: var(--art-border);
    font-size: 14px;
    color: var(--art-text);
}

.form-control:focus {
    border-color: var(--art-accent);
    box-shadow: 0 0 0 3px var(--art-accent-soft);
}

.alert { border-radius: var(--art-radius); font-size: 14px; }

.breadcrumb {
    background: transparent;
    padding: 0 0 12px;
    font-size: 13px;
}

.breadcrumb a { color: var(--art-accent-dark); }

/* ── Responsive ── */
@media (max-width: 992px) {
    .art-grid--6 { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 768px) {
    .art-layout { flex-direction: column; }
    .art-sidebar { width: 100%; }
    .art-feature-row { flex-direction: column; }
    .art-grid { grid-template-columns: repeat(2, 1fr); }
    .art-grid--6 { grid-template-columns: repeat(3, 1fr); }
    .art-nav-links { flex-wrap: wrap; }
    .art-nav-links li a { padding: 8px 12px; font-size: 11px; }
    .art-footer-bar__links { display: none; }
    .art-footer-bar__bg-text { display: none; }
}

@media (max-width: 480px) {
    .art-grid { grid-template-columns: 1fr; }
    .art-grid--6 { grid-template-columns: repeat(2, 1fr); }
}

/* ── Messaging ── */
.msg-list { display: flex; flex-direction: column; gap: 10px; }

.msg-list-item {
    display: block;
    padding: 14px 16px;
    border: 1px solid var(--art-border);
    background: var(--art-white);
    color: inherit;
    text-decoration: none;
    border-radius: var(--art-radius);
    transition: border-color 0.15s, box-shadow 0.15s;
    box-shadow: var(--art-shadow);
}

.msg-list-item:hover {
    border-color: var(--art-accent);
    box-shadow: 0 2px 10px rgba(102, 135, 153, 0.12);
    text-decoration: none;
    color: inherit;
}

.msg-list-item__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.msg-list-item__sub {
    font-size: 12px;
    color: var(--art-muted);
    margin-bottom: 4px;
}

.msg-list-item__preview {
    font-size: 14px;
    color: var(--art-text);
    margin-bottom: 2px;
}

.msg-thread {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 480px;
    overflow-y: auto;
    padding: 14px;
    background: var(--art-sidebar-bg);
    border: 1px solid var(--art-border);
    border-radius: var(--art-radius);
}

.msg-bubble {
    max-width: 85%;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
}

.msg-bubble--mine {
    align-self: flex-end;
    background: var(--art-accent-soft);
    border: 1px solid #c5d8e4;
}

.msg-bubble--theirs {
    align-self: flex-start;
    background: var(--art-white);
    border: 1px solid var(--art-border);
}

.msg-bubble__meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 11px;
    color: var(--art-muted);
    margin-bottom: 4px;
}

.msg-bubble__meta strong { color: var(--art-text); }

.msg-bubble__body {
    line-height: 1.55;
    word-break: break-word;
    color: var(--art-text);
}

/* ETSY-LIKE LAYOUT — see full block in repo */
body.no-scroll { overflow: hidden; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0; }
.etsy-header { position:sticky;top:0;z-index:1000;background:var(--art-white);border-bottom:1px solid var(--art-border);box-shadow:0 1px 3px rgba(0,0,0,.06); }
.etsy-header__row { display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:56px; }
.etsy-logo { font-size:26px;font-weight:700;color:var(--art-text);text-decoration:none;white-space:nowrap;flex-shrink:0; }
.etsy-logo__a { color:var(--art-logo);font-style:italic; }
.etsy-logo:hover { color:var(--art-text);text-decoration:none; }
.etsy-logo--footer { font-size:22px;display:inline-block;margin-bottom:8px; }
.etsy-menu-btn { display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;border:none;background:transparent;cursor:pointer;border-radius:var(--art-radius);flex-shrink:0; }
.etsy-menu-btn span { display:block;height:2px;background:var(--art-text);border-radius:1px; }
.etsy-menu-btn:hover { background:var(--art-nav); }
.etsy-search-wrap {
    position: relative;
    flex: 1;
    min-width: 0;
    max-width: 720px;
    margin: 0 auto;
}
.etsy-search-wrap .etsy-search {
    width: 100%;
    max-width: none;
    margin: 0;
}
.etsy-search { display:flex;align-items:stretch;border:2px solid var(--art-text);border-radius:999px;overflow:hidden;background:var(--art-nav);min-width:0; }
.etsy-search input { flex:1;border:none;background:transparent;padding:10px 16px;font-size:15px;min-width:0;outline:none; }
.etsy-search button { border:none;background:var(--art-text);color:#fff;padding:0 18px;cursor:pointer;display:flex;align-items:center;flex-shrink:0; }
.etsy-search--page { max-width:100%;margin-bottom:1rem; }
.search-ac {
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:1200;
    background:var(--art-white);
    border:1px solid var(--art-border);
    border-radius:var(--art-radius);
    box-shadow:0 10px 32px rgba(26, 58, 92, .14);
    max-height:min(420px, 60vh);
    overflow-y:auto;
}
.search-ac__item {
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    text-decoration:none;
    color:var(--art-text);
    border-bottom:1px solid var(--art-border);
    transition:background .15s ease;
}
.search-ac__item:last-child { border-bottom:none; }
.search-ac__item:hover,
.search-ac__item.is-active {
    background:var(--art-nav);
    text-decoration:none;
    color:var(--art-text);
}
.search-ac__thumb {
    width:48px;
    height:48px;
    border-radius:var(--art-radius);
    object-fit:cover;
    flex-shrink:0;
    background:var(--art-sidebar-bg);
    border:1px solid var(--art-border);
}
.search-ac__thumb--artist { border-radius:50%; }
.search-ac__body { min-width:0;flex:1; }
.search-ac__title {
    font-size:14px;
    font-weight:600;
    margin:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.search-ac__meta {
    font-size:12px;
    color:var(--art-muted);
    margin:2px 0 0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.search-ac__type {
    display:inline-block;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--art-accent-dark);
    margin-right:6px;
}
.search-ac__empty {
    padding:14px 12px;
    font-size:13px;
    color:var(--art-muted);
    margin:0;
}
.shop-page .etsy-search-wrap { max-width:100%;margin:0 0 1rem; }
.etsy-header__actions { display:flex;align-items:center;gap:4px;flex-shrink:0; }
.etsy-icon-btn { display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--art-text);text-decoration:none;font-size:13px;font-weight:600; }
.etsy-icon-btn:hover { background:var(--art-nav);color:var(--art-text);text-decoration:none; }
.etsy-icon-btn--text { width:auto;padding:0 10px;border-radius:var(--art-radius); }
.etsy-cat-bar { border-top:1px solid var(--art-border);background:var(--art-white);padding:8px 0; }
.etsy-cat-bar__scroll { display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0; }
.etsy-cat-bar__scroll::-webkit-scrollbar { display:none; }
.etsy-cat-chip { flex-shrink:0;padding:6px 14px;border:1px solid var(--art-border);border-radius:999px;font-size:13px;font-weight:500;color:var(--art-text);background:var(--art-white);text-decoration:none;white-space:nowrap; }
.etsy-cat-chip:hover { border-color:var(--art-text);color:var(--art-text);text-decoration:none; }
.etsy-cat-chip--accent { border-color:var(--art-accent);color:var(--art-accent-dark); }
.etsy-overlay,.dash-overlay { position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1100; }
.etsy-drawer,.dash-drawer { position:fixed;top:0;left:0;width:min(300px,85vw);height:100%;background:var(--art-white);z-index:1200;transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;box-shadow:4px 0 20px rgba(0,0,0,.12); }
.etsy-drawer.is-open,.dash-drawer.is-open { transform:translateX(0); }
.etsy-drawer__head,.dash-drawer__head { display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--art-border); }
.etsy-drawer__close { border:none;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--art-muted);padding:0 4px; }
.etsy-drawer__search { padding:12px 16px;border-bottom:1px solid var(--art-border); }
.etsy-drawer__search .etsy-search-wrap { width:100%;max-width:none;margin:0;display:flex;gap:8px;align-items:stretch; }
.etsy-search--drawer { border-radius:var(--art-radius);border:1px solid var(--art-border); }
.etsy-search--drawer button { padding:0 12px;font-size:13px; }
.etsy-search--drawer input { padding:8px 10px;font-size:14px; }
.etsy-drawer__nav,.dash-drawer__nav { list-style:none;margin:0;padding:8px 0; }
.etsy-drawer__nav a,.dash-drawer__nav a { display:block;padding:12px 20px;color:var(--art-text);font-size:15px;font-weight:500;text-decoration:none; }
.etsy-drawer__nav a:hover,.etsy-drawer__nav a.is-active,.dash-drawer__nav a:hover,.dash-drawer__nav a.is-active { background:var(--art-nav); }
.etsy-drawer__section { padding:12px 16px 20px; }
.etsy-drawer__label { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--art-muted);margin:0 0 8px; }
.etsy-drawer__cats { list-style:none;margin:0;padding:0; }
.etsy-drawer__cats a { display:block;padding:8px 4px;font-size:14px;color:var(--art-text); }
.shop-page { padding-bottom:32px; }
.etsy-hero { text-align:center;padding:28px 0 20px; }
.etsy-hero h1 { font-size:clamp(1.4rem,4vw,2rem);font-weight:600;margin:0 0 8px;border:none; }
.etsy-hero p { color:var(--art-muted);margin:0;font-size:16px; }
.shop-section { margin-bottom:36px; }
.shop-section__head { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;gap:12px; }
.shop-section__head h1,.shop-section__head h2 { font-size:1.25rem;font-weight:600;margin:0;border:none;padding:0; }
.shop-section__head a { font-size:14px;font-weight:500;white-space:nowrap; }
.etsy-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }
@media (min-width:576px){ .etsy-grid{ grid-template-columns:repeat(3,1fr);} }
@media (min-width:992px){ .etsy-grid{ grid-template-columns:repeat(4,1fr);gap:20px;} }
@media (min-width:1200px){ .etsy-grid{ grid-template-columns:repeat(5,1fr);} }
@media (min-width:1600px){ .etsy-grid{ grid-template-columns:repeat(6,1fr);gap:22px;} }
@media (min-width:1920px){ .etsy-grid{ grid-template-columns:repeat(7,1fr);} }
.etsy-grid--artists { grid-template-columns:repeat(2,1fr); }
@media (min-width:768px){ .etsy-grid--artists{ grid-template-columns:repeat(4,1fr);} }
@media (min-width:992px){ .etsy-grid--artists{ grid-template-columns:repeat(6,1fr);} }
@media (min-width:1600px){ .etsy-grid--artists{ grid-template-columns:repeat(8,1fr);} }
.etsy-card { display:flex;flex-direction:column; }
.etsy-card__img { display:block;aspect-ratio:1;border-radius:var(--art-radius);overflow:hidden;background:var(--art-sidebar-bg);margin-bottom:8px; }
.etsy-card__img img { width:100%;height:100%;object-fit:cover;transition:transform .25s ease; }
.etsy-card__img:hover img { transform:scale(1.04); }
.etsy-card__img--round { aspect-ratio:1;border-radius:50%;max-width:120px;margin:0 auto 8px; }
.etsy-card__title { font-size:14px;font-weight:500;margin:0 0 2px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.etsy-card__title a { color:var(--art-text); }
.etsy-card__shop { font-size:13px;color:var(--art-muted);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.etsy-card__price { font-size:14px;font-weight:600;color:var(--art-text);margin:0; }
.etsy-card--artist { text-align:center; }
.etsy-spotlight { display:flex;gap:20px;align-items:center;padding:20px;background:var(--art-white);border:1px solid var(--art-border);border-radius:var(--art-radius); }
.etsy-spotlight img { width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0; }
.etsy-scroll-row { display:flex;gap:16px;overflow-x:auto;padding-bottom:8px; }
.etsy-artist-chip { flex-shrink:0;display:flex;flex-direction:column;align-items:center;width:88px;text-decoration:none;color:var(--art-text); }
.etsy-artist-chip img { width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--art-border);margin-bottom:6px; }
.etsy-artist-chip span { font-size:12px;text-align:center;line-height:1.3; }
.etsy-filter-bar { margin-bottom:16px; }
.etsy-filter-toggle { width:100%;padding:10px;border:1px solid var(--art-border);background:var(--art-white);border-radius:var(--art-radius);font-size:14px;margin-bottom:8px;cursor:pointer; }
.etsy-filter-form { display:flex;align-items:center;gap:8px;flex-wrap:wrap; }
.etsy-filter-form .form-control { max-width:100px; }
.etsy-filter-sep { color:var(--art-muted); }
@media (max-width:767px){ .etsy-filter-form{ display:none;padding:12px;background:var(--art-white);border:1px solid var(--art-border);border-radius:var(--art-radius);} .etsy-filter-form.is-open{ display:flex; } }
.etsy-footer { background:var(--art-nav);border-top:1px solid var(--art-border);padding:32px 0 16px;margin-top:24px; }
.etsy-footer__grid { display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px; }
@media (min-width:768px){ .etsy-footer__grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.etsy-footer h4 { font-size:14px;font-weight:600;margin:0 0 10px; }
.etsy-footer ul { list-style:none;margin:0;padding:0; }
.etsy-footer li { margin-bottom:6px; }
.etsy-footer a { font-size:13px;color:var(--art-muted); }
.etsy-footer__tagline { font-size:13px;color:var(--art-muted);margin:8px 0 0; }
.etsy-footer__bottom { text-align:center;font-size:12px;color:var(--art-muted);padding-top:16px;border-top:1px solid var(--art-border); }
.dash-body { background:var(--art-page-bg);margin:0; }
.dash-topbar { position:sticky;top:0;z-index:900;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--art-white);border-bottom:1px solid var(--art-border);min-height:52px; }
.dash-topbar__label { font-size:14px;color:var(--art-muted); }
.dash-topbar__home { font-size:13px;font-weight:500;color:var(--art-accent-dark); }
.dash-layout { display:flex;width:var(--art-page-width);max-width:var(--art-page-width);margin:0 auto;box-sizing:border-box; }
.dash-sidebar { width:220px;flex-shrink:0;padding:20px 0;background:var(--art-white);border-right:1px solid var(--art-border);min-height:calc(100vh - 52px); }
.dash-sidebar ul { list-style:none;margin:0;padding:0; }
.dash-sidebar a { display:block;padding:10px 20px;color:var(--art-text);font-size:14px;font-weight:500;text-decoration:none; }
.dash-sidebar a:hover,.dash-sidebar a.is-active { background:var(--art-nav); }
.dash-main { flex:1;padding:20px;min-width:0; }
@media (min-width:768px){ .etsy-menu-btn{ display:none; } }
@media (min-width:992px){
    :root { --art-page-width: 95%; }
    .etsy-search-wrap { max-width:min(900px, 48vw); }
}
@media (max-width:767px){
    .etsy-header__row { flex-wrap:wrap;padding:8px 12px; }
    .etsy-search { order:3;flex:1 1 100%;max-width:none;margin-top:4px; }
    .etsy-logo { font-size:22px;flex:1;text-align:center; }
    .etsy-header__actions { order:2; }
    .etsy-spotlight { flex-direction:column;text-align:center; }
}

.art-inner-page.auth-page {
    max-width: 440px;
    margin: 32px auto 48px;
    padding: 28px 32px 32px;
    border-top: 1px solid var(--art-border);
    border-radius: var(--art-radius);
}

.auth-page .form-group,
.auth-page .captcha-group {
    margin-bottom: 1.15rem;
}

.auth-page label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--art-text);
}

.auth-page .form-control {
    border-radius: var(--art-radius);
}

.auth-page .btn-block {
    margin-top: 8px;
    padding: 10px 16px;
}

.auth-page .form-text {
    margin-top: 6px;
}

.captcha-row { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }
.captcha-question {
    display:inline-flex;align-items:center;justify-content:center;
    min-width:110px;padding:8px 12px;border-radius:var(--art-radius);
    background:var(--art-nav);border:1px dashed var(--art-border);
    font-size:18px;font-weight:600;letter-spacing:.04em;
}
.captcha-input { max-width:120px;font-weight:600;text-align:center; }

.home-cat-banners { margin: 8px 0 28px; }
.home-cat-banners__grid {
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
}
@media (min-width:768px) {
    .home-cat-banners__grid { grid-template-columns:repeat(3, 1fr); }
}
.home-cat-banner {
    position:relative;
    display:block;
    min-height:168px;
    border-radius:var(--art-radius);
    overflow:hidden;
    border:1px solid var(--art-border);
    box-shadow:var(--art-shadow);
    text-decoration:none;
    color:#fff;
    transition:transform .2s ease, box-shadow .2s ease;
}
.home-cat-banner:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(26, 58, 92, .14);
    text-decoration:none;
    color:#fff;
}
.home-cat-banner img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
}
.home-cat-banner__overlay {
    position:absolute;
    inset:0;
    opacity:.82;
}
.home-cat-banner--paint .home-cat-banner__overlay {
    background:linear-gradient(135deg, rgba(224, 122, 47, .88), rgba(26, 58, 92, .72));
}
.home-cat-banner--sculpt .home-cat-banner__overlay {
    background:linear-gradient(135deg, rgba(107, 127, 148, .9), rgba(45, 55, 72, .78));
}
.home-cat-banner--photo .home-cat-banner__overlay {
    background:linear-gradient(135deg, rgba(26, 58, 92, .86), rgba(91, 141, 184, .74));
}
.home-cat-banner__content {
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:168px;
    padding:18px 20px;
}
.home-cat-banner__content h3 {
    margin:0 0 4px;
    font-size:1.25rem;
    font-weight:600;
    border:none;
    color:#fff;
}
.home-cat-banner__content span {
    font-size:13px;
    font-weight:500;
    opacity:.92;
}
