/*
Theme Name: Eses Rehberi
Description: Eskişehir'in üretici topluluğu için erişilebilir bir rehber teması.
Version: 0.1.0
Text Domain: eses
*/

:root { --ink:#17201d; --muted:#65716c; --paper:#f3f0e8; --card:#fff; --accent:#c7472d; --line:#dcd8ce; --max:1320px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; text-decoration-color:var(--accent); text-underline-offset:.18em; }
img { max-width:100%; height:auto; }
.site-header,.site-footer { background:var(--ink); color:#fff; }
.site-header__inner,.site-footer__inner,.site-main { width:min(calc(100% - 2rem),var(--max)); margin-inline:auto; }
.site-header__inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-brand { font-size:1.15rem; font-weight:800; text-decoration:none; letter-spacing:.02em; }
.site-nav ul { display:flex; gap:1.25rem; list-style:none; margin:0; padding:0; }
.site-main { min-height:70vh; padding-block:3.5rem 5rem; }
.site-footer__inner { padding-block:2rem; color:#d7ddd9; }
.hero { max-width:900px; margin-bottom:clamp(2.5rem,6vw,5rem); }
.eyebrow { color:var(--accent); font-weight:800; letter-spacing:.1em; text-transform:uppercase; font-size:.75rem; }
h1,h2,h3 { line-height:1.14; }
h1 { font-size:clamp(2.25rem,7vw,5rem); letter-spacing:-.045em; margin:.25rem 0 1rem; }
.lede { color:var(--muted); font-size:1.15rem; max-width:65ch; }
input,select,textarea,button { width:100%; padding:.78rem .9rem; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
button,.button { cursor:pointer; background:var(--accent); color:#fff; border-color:var(--accent); font-weight:750; text-decoration:none; display:inline-block; padding:.78rem 1rem; border-radius:8px; }
.profile-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(.75rem,1.5vw,1.35rem); }
.profile-card { grid-column:span 6; min-height:clamp(380px,48vw,620px); overflow:hidden; background:#29312e; border-radius:3px; }
.profile-card:nth-child(5n) { grid-column:span 12; min-height:clamp(420px,52vw,680px); }
.profile-card__link { position:relative; display:block; width:100%; height:100%; color:#fff; text-decoration:none; overflow:hidden; }
.profile-card__media,.profile-card__image,.profile-card__placeholder { position:absolute; inset:0; width:100%; height:100%; }
.profile-card__image { object-fit:cover; transition:transform .7s cubic-bezier(.2,.75,.25,1); }
.profile-card__placeholder { background:
	radial-gradient(circle at 78% 18%,hsl(var(--profile-hue) 62% 64% / .82),transparent 38%),
	linear-gradient(145deg,hsl(var(--profile-hue) 38% 25%),hsl(calc(var(--profile-hue) + 65) 48% 48%)); }
.profile-card__placeholder::after { content:""; position:absolute; inset:14% 10%; border:1px solid rgb(255 255 255 / .25); border-radius:50% 35% 62% 28%; transform:rotate(-12deg); }
.profile-card__link::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgb(10 14 13 / .2) 55%,rgb(10 14 13 / .9) 100%); transition:background .35s ease; }
.profile-card__overlay { position:absolute; z-index:1; right:0; bottom:0; left:0; padding:clamp(1.25rem,3.5vw,3rem); }
.profile-card__context { margin:0 0 .45rem; font-size:.76rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.profile-card h2 { max-width:14ch; margin:0; color:#fff; font-size:clamp(2rem,4vw,4.5rem); letter-spacing:-.04em; }
.profile-card__excerpt { display:-webkit-box; max-width:54ch; margin:.75rem 0 0; overflow:hidden; color:rgb(255 255 255 / .84); font-size:clamp(.95rem,1.3vw,1.1rem); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.profile-card__link:hover .profile-card__image,.profile-card__link:focus-visible .profile-card__image { transform:scale(1.035); }
.profile-card__link:hover::after,.profile-card__link:focus-visible::after { background:linear-gradient(180deg,rgb(10 14 13 / .04) 20%,rgb(10 14 13 / .25) 55%,rgb(10 14 13 / .94) 100%); }
.profile-card__link:focus-visible { outline:4px solid var(--accent); outline-offset:-4px; }
.tags { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; padding:0; margin:1rem 0 0; }
.tags li,.tag { padding:.25rem .6rem; border-radius:999px; background:#eee9dd; font-size:.8rem; }
.profile { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:3rem; }
.profile__photo { border-radius:16px; margin-bottom:1.5rem; }
.profile__sidebar { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1.25rem; align-self:start; }
.profile__sidebar dt { color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700; }
.profile__sidebar dd { margin:0 0 1rem; overflow-wrap:anywhere; }
.pagination { margin-top:2rem; }
.eses-submission { width:min(100%,680px); margin-inline:auto; display:grid; gap:.25rem; }
.eses-submission label { font-weight:650; }
.eses-submission label input,.eses-submission label textarea { margin-top:.3rem; font-weight:400; }
.eses-submission .field-hint { display:block; margin:.2rem 0 .45rem; color:var(--muted); font-size:.9rem; font-weight:400; line-height:1.45; }
.eses-submission fieldset { margin:.5rem 0; padding:0; border:0; }
.eses-submission legend { margin-bottom:.35rem; font-weight:650; }
.eses-submission fieldset label { display:block; padding:.15rem 0; font-weight:400; }
.eses-submission input[type="checkbox"],.eses-submission input[type="radio"] { width:auto; margin-right:.4rem; }
.eses-honeypot { position:absolute; left:-10000px; }
.eses-notice { padding:1rem; border-radius:8px; background:#e4f5e9; }
.empty-state { background:var(--card); border:1px solid var(--line); padding:2rem; border-radius:14px; }

/* Public profile form. */
.eses-submission-page { background:#fff; }
.eses-submission-page .site-main { padding-block:2.5rem 5rem; }
.submission-page { margin:0; }
@media (max-width:900px) { .profile { grid-template-columns:1fr; } }
@media (max-width:700px) { .site-header__inner { align-items:flex-start; flex-direction:column; padding-block:1rem; } .site-nav ul { flex-wrap:wrap; } .site-main { padding-top:2.5rem; } .profile-card,.profile-card:nth-child(5n) { grid-column:span 12; min-height:min(125vw,620px); } .profile-card h2 { font-size:clamp(2.2rem,11vw,4rem); } }
