/* Pro Tennis Manager skin for listmonk's public pages (confirm, subscribed, unsubscribe, preferences).
   Loaded after listmonk's own style.css; same palette and fonts as protennismanager.com. */
@font-face { font-family:"Barlow"; font-weight:400; font-display:swap; src:url("Barlow-400.woff2") format("woff2"); }
@font-face { font-family:"Barlow"; font-weight:600; font-display:swap; src:url("Barlow-600.woff2") format("woff2"); }
@font-face { font-family:"Barlow Condensed"; font-weight:700; font-display:swap; src:url("BarlowCondensed-700.woff2") format("woff2"); }
@font-face { font-family:"Barlow Condensed"; font-weight:800; font-display:swap; src:url("BarlowCondensed-800.woff2") format("woff2"); }

:root {
  --bg:#0d0f13; --panel:#171b22; --panel-2:#1e232c; --line:#2a2f3a; --text:#eceae4; --muted:#949aa6;
  --accent:#b5e34a; --accent-2:#d3ef85;
  --disp:"Barlow Condensed","Bahnschrift","Arial Narrow",sans-serif; --body:"Barlow","Segoe UI",system-ui,sans-serif;
}
html, body { background:var(--bg); }
body { color:var(--text); font-family:var(--body); font-size:17px; line-height:1.6; }

.ptm-top { max-width:600px; margin:0 auto; padding:2.2rem 1rem 1.2rem; }
.ptm-top img { display:block; height:44px; width:auto; }

.container.wrap { max-width:600px; background:var(--panel); border:0; border-top:3px solid var(--accent);
  border-radius:10px; box-shadow:0 24px 60px -30px #000; padding:2.2rem 2rem; color:var(--text); }
@media (max-width:640px) { .container.wrap { margin:0 1rem; padding:1.8rem 1.3rem; } }

h2, h3 { font-family:var(--disp); font-weight:800; text-transform:uppercase; letter-spacing:.01em; line-height:1.02;
  color:#fff; font-size:2.1rem; margin:0 0 1rem; }
h3 { font-size:1.4rem; }
p, li, label { color:#cfd3da; }
a { color:var(--accent-2); }
a:hover { color:#fff; }
.lists, ul { color:#cfd3da; }
.lists li, ul li { border-color:var(--line); }

.button, button.button, input[type="submit"] {
  background:var(--accent); color:#11160c; border:0; border-radius:6px; font-family:var(--disp); font-weight:700;
  text-transform:uppercase; letter-spacing:.06em; font-size:1.05rem; padding:.85rem 1.8rem; cursor:pointer;
  transition:background .18s, transform .18s; }
.button:hover, button.button:hover { background:var(--accent-2); color:#11160c; transform:translateY(-1px); }
.button.button-outline { background:transparent; color:var(--text); border:1px solid #3a4150; }
.button.button-outline:hover { border-color:var(--accent); color:var(--accent-2); background:transparent; }

input[type="text"], input[type="email"], input[type="password"], select {
  background:var(--panel-2); color:var(--text); border:1px solid var(--line); border-radius:6px; }
input:focus, select:focus { border-color:var(--accent); outline:none; }
.error { color:#f0b54a; }

.ptm-foot { max-width:600px; text-align:center; color:#7d8390; font-size:.82rem; line-height:1.6; padding:1.6rem 1rem 3rem; }
.ptm-foot a { color:var(--muted); }
