
:root{
  --paper:#F3EEE3; --card:#FBF8F1; --band:#E9E1CF; --ink:#24221E; --head:#2A1E1E; --muted:#625E54; --line:#D6CCB5;
  --accent:#6E1E22; --accent-dark:#521518; --accent-ink:#F3EEE3; --gold:#C9B98A; --gold-ink:#7A5F25; --accent-soft:#F1E3E1;
  --ok:#2E6B3F; --warn:#8A5A00; --err:#A12A2A;
  --serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:4px; --shadow:0 4px 12px rgba(30,42,34,.18);
}
/* Variantele de culoare (alese din /admin/setari) */
html[data-tema="bleumarin"]{--accent:#1B2F4E;--accent-dark:#13223A;--accent-soft:#E3E8F0;--head:#1A2433}
html[data-tema="regal"]{--accent:#24457A;--accent-dark:#1A345E;--accent-soft:#E4EAF3;--head:#1B2638;--paper:#F6F5F1;--card:#FFFFFF;--band:#E8ECF2;--line:#D5DAE3;--gold:#B9A36A;--gold-ink:#6E5A23}
html[data-tema="petrol"]{--accent:#1E4A58;--accent-dark:#153843;--accent-soft:#E2ECEE;--head:#1A2A2E;--band:#E3E6DE}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 var(--sans)}
a{color:var(--accent)}
a:hover{color:var(--accent-dark);text-decoration-thickness:2px}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;color:var(--head);margin:1.2em 0 .5em}
h1{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h2{font-size:clamp(1.45rem,2.6vw,2.1rem)}
h3{font-size:1.25rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
@media (max-width:600px){.wrap{padding:0 16px}}
main.wrap{min-height:60vh;padding-bottom:56px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:10}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.kicker{margin:0 0 12px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}

/* antet */
.site-header{background:var(--accent);color:var(--accent-ink)}
.site-header a{color:var(--accent-ink);text-decoration:none}
.header-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 32px;padding-top:18px;padding-bottom:18px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:var(--serif);font-size:1.85rem;font-weight:700;letter-spacing:.01em}
.site-header .brand-name{color:var(--accent-ink)}
.brand-tag{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.search{flex:1 1 280px;display:flex;max-width:540px}
.search input{flex:1;min-width:0;padding:11px 14px;border:0;border-radius:var(--radius) 0 0 var(--radius);background:var(--card);color:var(--ink);font:inherit;font-size:16px}
.search button{border-radius:0 var(--radius) var(--radius) 0;background:var(--gold);border-color:var(--gold);color:var(--head)}
.search button:hover{background:#D8CA9E}
.tools{display:flex;align-items:center;gap:18px;font-size:.95rem;flex-wrap:wrap}
.langs{display:flex;gap:8px;font-size:.85rem}.langs a{color:#DCD3BC!important}.langs strong{color:var(--accent-ink)}
.badge{display:inline-block;min-width:1.5em;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--gold);color:var(--head);font-size:.8rem;font-weight:700;text-align:center}
.cats{border-top:1px solid #2F6650}
.cats-row{display:flex;gap:6px 22px;overflow-x:auto;white-space:nowrap;padding-top:10px;padding-bottom:10px;font-size:.95rem;scrollbar-width:thin}
.cats-row a{color:#E9E2CF!important}.cats-row a:hover{color:#fff!important;text-decoration:underline}
@media (max-width:600px){.header-row{gap:10px 16px}.brand-name{font-size:1.5rem}.search{order:3;flex-basis:100%;max-width:none}}

/* butoane și formulare */
button,.btn{display:inline-block;cursor:pointer;border:1.5px solid var(--accent);background:var(--accent);color:var(--accent-ink);padding:11px 20px;border-radius:var(--radius);font:inherit;font-weight:700;text-decoration:none;line-height:1.2}
button:hover,.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:var(--accent-ink)}
.btn-secondary{background:transparent;color:var(--accent)}
.btn-secondary:hover{background:var(--accent-soft);color:var(--accent-dark)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--head)}
.btn-gold:hover{background:#D8CA9E;border-color:#D8CA9E;color:var(--head)}
button:disabled{opacity:.5;cursor:not-allowed}
label{display:block;font-weight:600;margin:14px 0 5px;font-size:.95rem}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=search],select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;font-size:16px}
input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}
textarea{min-height:120px}
.form-narrow{max-width:480px}
.field-hint{color:var(--muted);font-size:.88rem;margin-top:3px}
.flash{padding:12px 16px;border-radius:var(--radius);margin:20px 0;background:var(--card);border:1px solid var(--line)}
.flash-ok{border-left:4px solid var(--ok)}.flash-err{border-left:4px solid var(--err)}.flash-warn{border-left:4px solid var(--warn)}
.error{color:var(--err)}
.muted{color:var(--muted)}

/* pagina principală */
.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;align-items:center;padding:56px 0 40px}
.hero h1{margin:0;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.1}
.hero .lead{margin:20px 0 28px;font-size:1.15rem;color:#4C4A44;max-width:34em}
.hero .actions{margin:0}
.hero-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.hero-covers a{display:block}
.hero-covers img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:2px;box-shadow:0 10px 24px rgba(30,42,34,.25);display:block}
.hero-covers a:nth-child(2) img{transform:translateY(-14px)}
.band{background:var(--band)}
.band-row{display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:space-between;padding-top:16px;padding-bottom:16px;color:#3A372F}
.band-row strong{color:var(--accent)}
.full{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.shelves{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 32px;border-top:1px solid var(--line);margin-top:20px}
.shelves a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.shelves a span:first-child{font-family:var(--serif);font-size:1.12rem}
.shelves a:hover span:first-child{color:var(--accent)}
.shelves .n{font-size:.9rem;color:var(--muted)}
.promo{background:var(--accent);color:var(--accent-ink);border-radius:6px;padding:36px 40px;display:flex;flex-wrap:wrap;gap:20px 32px;justify-content:space-between;align-items:center;margin:48px 0 8px}
.promo h2{color:var(--accent-ink);margin:0 0 10px}
.promo p{margin:0;color:#DCD3BC;max-width:40em}
.promo .kicker{color:var(--gold)}
.promo form{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 320px;max-width:460px}
.promo input{flex:1 1 200px;border:0}
.promo label{position:absolute;left:-9999px}
@media (max-width:600px){.promo{padding:28px 22px}}

/* catalog */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:34px 24px;margin:24px 0}
@media (max-width:600px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}}
.book-card{display:flex;flex-direction:column;gap:6px}
.book-card a{text-decoration:none;color:inherit}
.book-card .cover{aspect-ratio:2/3;background:var(--band);border-radius:2px;overflow:hidden;box-shadow:var(--shadow),0 0 0 1px rgba(30,42,34,.10);margin-bottom:6px;transition:transform .15s ease}
.book-card:hover .cover{transform:translateY(-3px)}
.book-card .cover img{width:100%;height:100%;object-fit:cover;display:block}
.book-card .title{font-family:var(--serif);font-size:1.02rem;line-height:1.25;color:var(--head)}
.book-card .title a:hover{color:var(--accent)}
.book-card .author{color:var(--muted);font-size:.92rem}
.book-card .title .subtitle{display:block;font-family:var(--sans,inherit);font-size:.84rem;line-height:1.3;color:var(--muted);margin-top:2px}
.book-card .buy{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding-top:4px}
.book-card .buy form{margin:0}
.btn-small{padding:6px 12px;font-size:.88rem}
.book-card .price{font-weight:700;color:var(--accent)}
.sold-out{color:var(--muted);font-size:.85rem;font-style:italic}
.toolbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin:16px 0;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.toolbar .count{margin:0;font-weight:600}
.toolbar form{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center}
.toolbar label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400}
.toolbar select{width:auto;padding:7px 10px}
.toolbar button{padding:8px 16px}
.pager{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:36px 0}
.pager a,.pager span{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;background:var(--card)}
.pager .current{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.breadcrumbs{font-size:.9rem;color:var(--muted);margin-top:22px}
.breadcrumbs a{color:var(--muted)}
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.subcats a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;font-size:.92rem;background:var(--card);color:var(--ink)}
.subcats a:hover{border-color:var(--accent);color:var(--accent)}
.book-page{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:48px;margin-top:24px;align-items:start}
@media (max-width:760px){.book-page{grid-template-columns:1fr;gap:24px}.book-page .cover-big{max-width:260px}}
.cover-big img{width:100%;border-radius:2px;box-shadow:0 10px 28px rgba(30,42,34,.28);display:block}
.book-page h1{margin-top:0}
.buy-box{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px 22px;margin:20px 0;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.buy-box > *{margin:0}
.buy-box .price{font-family:var(--serif);font-size:2rem;color:var(--head)}
.specs{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:20px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted)}.specs dd{margin:0}
.description{font-family:var(--serif);font-size:1.05rem;line-height:1.7;max-width:66ch}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:48px}
.section-head h2{margin:0}
.section-head a{font-weight:600}
.cat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:16px 0}
.cat-tiles a{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--ink)}
.cat-tiles a:hover{border-color:var(--accent)}
.cat-tiles .n{color:var(--muted);font-size:.85rem}
.empty{text-align:center;padding:48px 0}

/* tabele (coș, cont, admin) */
table{width:100%;border-collapse:collapse;margin:12px 0}
th,td{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.85rem;color:var(--muted);font-weight:600}
tbody th{color:var(--head);font-size:1.05rem;font-weight:700}
.num{text-align:right;white-space:nowrap}
.table-scroll{overflow-x:auto}
.cart-thumb{width:60px}
.cart-thumb img{box-shadow:var(--shadow);border-radius:2px}
.totals{max-width:380px;margin-left:auto}
@media (max-width:600px){.cart-table th:nth-child(3),.cart-table td:nth-child(3){display:none}.cart-table th:first-child,.cart-table td:first-child{display:none}}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:40px;align-items:start}
@media (max-width:860px){.cols{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px 22px}
.panel h2{margin-top:.2em}
.status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.82rem;background:var(--band)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}

/* subsol */
.site-footer{background:var(--band);border-top:1px solid var(--line);margin-top:56px;font-size:.95rem;color:#3A372F}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;padding-top:40px;padding-bottom:16px}
.site-footer .brand-name{color:var(--accent);font-size:1.4rem}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:5px 0}
.f-title{font-weight:700;margin-top:0}
.copy{color:var(--muted);padding-bottom:28px;font-size:.88rem}

/* administrare */
.admin-header{background:var(--accent);color:var(--accent-ink)}
.admin-header a{color:var(--accent-ink)}
.admin-header .brand-name{color:var(--accent-ink);font-size:1.4rem}
.admin-nav{display:flex;gap:16px;flex-wrap:wrap;flex:1}
.admin-nav a{text-decoration:none}.admin-nav a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
main.wide{max-width:1400px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.stats .panel strong{display:block;font-size:1.7rem;font-family:var(--serif)}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}
