﻿/* ============================================================
   La Manga Golf Trip 2026 - Light Theme
   ============================================================ */
:root{
  --bg-0:#f6f4ee;            /* page bg (warm cream) */
  --bg-1:#ffffff;            /* card bg */
  --bg-2:#f0ede4;            /* subtle panel */
  --bg-3:#e7e3d5;            /* hover */
  --line:rgba(0,0,0,0.08);
  --line-strong:rgba(0,0,0,0.16);
  --ink:#1a1a1c;
  --ink-dim:#5a5a5e;
  --ink-faint:#8c8c90;
  --accent:#8a7a4a;          /* darker gold for contrast */
  --accent-soft:#c9a961;
  --green:#1d4d3a;
  --green-light:#2a6b50;
  --red:#a94442;
  --display:"Bebas Neue",sans-serif;
  --serif:"Cormorant Garamond",serif;
  --body:"Inter",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--bg-0);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;}
body{min-height:100vh;overflow-x:hidden;}

/* HEADER */
.header{position:relative;z-index:5;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);}
.header-inner{max-width:1400px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:14px;}
.brand-mark{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--green),#0a0a0c);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.15);position:relative;}
.brand-mark::after{content:"";width:10px;height:10px;border-radius:50%;background:#f4f2ec;box-shadow:inset -2px -2px 3px rgba(0,0,0,0.25);}
.brand-text{font-family:var(--serif);font-weight:600;font-style:italic;font-size:20px;letter-spacing:0.01em;}
.brand-text em{font-style:normal;font-family:var(--display);letter-spacing:0.08em;font-size:19px;margin-left:4px;}
.header-meta{display:flex;align-items:center;gap:28px;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink-dim);}
.header-meta span:not(:last-child)::after{content:"\b7";margin-left:28px;color:var(--ink-faint);}
.header-actions{display:flex;align-items:center;gap:8px;}
.header-link{display:inline-block;padding:8px 18px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--body);font-size:11px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all 0.2s ease;}
.header-link:hover{background:var(--green);color:#fff;border-color:var(--green);}
@media(max-width:720px){.header-inner{padding:18px 20px;}.header-meta{display:none;}}

/* HERO */
.hero{position:relative;z-index:4;padding:80px 40px 40px;text-align:center;max-width:1400px;margin:0 auto;}
.hero-compact{padding:36px 40px 20px;}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;}
.eyebrow::before,.eyebrow::after{content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-soft),transparent);}
.hero h1{font-family:var(--display);font-size:clamp(44px,10vw,140px);line-height:1;letter-spacing:0.04em;margin-bottom:4px;white-space:nowrap;}
.hero-compact h1{font-size:clamp(36px,7vw,72px);margin-bottom:18px;}
.hero h1 .lamanga{background:linear-gradient(180deg,#3a3a3a 0%,var(--accent) 70%,#6a5a35 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero h1 .year{color:var(--ink);margin-left:0.15em;}
.hero-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:32px auto 0;max-width:420px;}
.hero-divider .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);}
.hero-divider .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);}

/* TEAM STRIP (compact) */
.team-strip{display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;margin:0 auto;max-width:900px;}
.team-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.team-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover;}
.team-chip img.contain{object-fit:contain;background:#fff;}
.team-chip span{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;font-weight:500;color:var(--ink);}
@media(max-width:600px){
  .hero-compact{padding:24px 16px 12px;}
  .team-strip{gap:8px;}
  .team-chip{padding:4px 10px 4px 4px;}
  .team-chip img{width:22px;height:22px;}
  .team-chip span{font-size:10px;letter-spacing:0.05em;}
}

/* TEAM GRID */
.teams{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin:50px auto 40px;border:1px solid var(--line);border-radius:4px;overflow:hidden;max-width:1200px;}
.team{position:relative;background:var(--bg-1);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 18px;overflow:hidden;transition:background 0.3s ease;}
.team:hover{background:var(--bg-2);}
.team .corner{position:absolute;width:14px;height:14px;border:1px solid var(--accent);opacity:0.4;}
.team .corner.tl{top:12px;left:12px;border-right:none;border-bottom:none;}
.team .corner.tr{top:12px;right:12px;border-left:none;border-bottom:none;}
.team .corner.bl{bottom:12px;left:12px;border-right:none;border-top:none;}
.team .corner.br{bottom:12px;right:12px;border-left:none;border-top:none;}
.team-number{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-family:var(--serif);font-style:italic;font-size:10px;letter-spacing:0.3em;color:var(--ink-faint);text-transform:uppercase;}
.team-logo-wrap{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:clamp(80px,80%,160px);height:clamp(80px,12vw,160px);margin-bottom:16px;margin-top:12px;overflow:hidden;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,0.10),0 0 0 1px var(--line);}
.team-logo-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.team-logo-wrap.transparent{box-shadow:none;border-radius:0;overflow:visible;background:transparent;width:clamp(100px,90%,200px);height:clamp(100px,14vw,200px);margin-bottom:0;margin-top:0;}
.team-logo-wrap.transparent img{object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,0.18));}
.team-name{font-family:var(--display);font-size:clamp(16px,1.6vw,24px);letter-spacing:0.18em;color:var(--ink);margin-bottom:6px;text-align:center;}
.team-tag{font-family:var(--serif);font-style:italic;font-size:clamp(11px,0.9vw,14px);letter-spacing:0.04em;color:var(--ink-dim);text-align:center;max-width:90%;}
@media(max-width:820px){
  .teams{grid-template-columns:repeat(2,1fr);margin:40px 20px;}
  .team{padding:22px 14px;}
  .team-logo-wrap{width:min(70%,120px);height:auto;margin:8px 0 12px;}
  .team-name{font-size:16px;letter-spacing:0.12em;}.team-tag{font-size:11px;}
}

/* SECTIONS */
.section-block{position:relative;z-index:3;max-width:1000px;margin:0 auto;padding:60px 40px 0;}
.league-block{padding-top:24px;}
.section-inner{text-align:center;}
.section-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:0.4em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;}
.section-eyebrow::before,.section-eyebrow::after{content:"";width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-soft),transparent);}
.section-title{font-family:var(--display);font-size:clamp(28px,5vw,48px);letter-spacing:0.08em;color:var(--ink);margin-bottom:10px;}
.section-subtitle{font-family:var(--serif);font-style:italic;font-size:clamp(14px,1.4vw,18px);color:var(--ink-dim);max-width:600px;margin:0 auto 36px;line-height:1.6;}

/* LEAGUE TABLE */
.league-block{max-width:820px;}
.league-table{width:100%;border-collapse:collapse;text-align:center;background:var(--bg-1);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.04);}
.league-table thead th{font-family:var(--body);font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-dim);padding:14px 10px;border-bottom:1px solid var(--line-strong);background:var(--bg-2);}
.league-table tbody td{padding:14px 10px;border-bottom:1px solid var(--line);color:var(--ink);font-size:14px;}
.league-table tbody tr:last-child td{border-bottom:none;}
.league-table tbody tr:hover{background:var(--bg-2);}
.league-table .lt-pos{font-family:var(--display);font-size:18px;letter-spacing:0.05em;color:var(--accent);width:40px;}
.league-table .lt-team{text-align:left;font-weight:500;color:var(--ink);white-space:nowrap;}
.league-table thead .lt-team{text-align:left;}
.league-table .lt-total{font-family:var(--display);font-size:20px;letter-spacing:0.05em;color:var(--accent);width:60px;}
.league-table thead .lt-total{color:var(--accent);}
.lt-logo{display:inline-block;width:24px;height:24px;border-radius:4px;object-fit:cover;margin-right:10px;vertical-align:middle;box-shadow:0 1px 3px rgba(0,0,0,0.15);}
.lt-logo-contain{object-fit:contain;border-radius:0;box-shadow:none;}

/* SCHEDULE */
.schedule-block{max-width:900px;padding-bottom:40px;}
.schedule-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:32px;}
.sleg{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-dim);display:flex;align-items:center;gap:6px;}
.sleg::before{content:"";width:10px;height:10px;border-radius:2px;}
.sleg-team::before{background:var(--green);}
.sleg-match::before{background:var(--accent-soft);}
.sleg-gull::before{background:#b07acc;}
.sleg-finals::before{background:#c94442;}
.sleg-practice::before{background:#888;}

.schedule-days{text-align:left;}
.sday{margin-bottom:12px;overflow:hidden;border-radius:6px;border:1px solid var(--line);background:var(--bg-1);box-shadow:0 2px 8px rgba(0,0,0,0.03);}
.sday-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:var(--bg-2);border-bottom:1px solid var(--line);}
.sday-name{font-family:var(--display);font-size:16px;letter-spacing:0.1em;color:var(--accent);}
.sday-players{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
.sday-rows{background:var(--bg-1);}
.srow{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);gap:12px;}
.srow:last-child{border-bottom:none;}
.srow-times{font-size:13px;color:var(--ink-dim);}
.srow-course{font-size:13px;color:var(--ink-dim);text-align:center;}
.srow-format{text-align:right;}
.stag{display:inline-block;padding:4px 12px;border-radius:3px;font-size:11px;letter-spacing:0.06em;font-weight:500;white-space:nowrap;}
.stag-team{background:rgba(29,77,58,0.12);color:var(--green);border:1px solid rgba(29,77,58,0.25);}
.stag-match{background:rgba(201,169,97,0.18);color:var(--accent);border:1px solid rgba(201,169,97,0.35);}
.stag-gull{background:rgba(176,122,204,0.15);color:#7d4ea0;border:1px solid rgba(176,122,204,0.3);}
.stag-finals{background:rgba(201,68,66,0.12);color:#a13634;border:1px solid rgba(201,68,66,0.3);}
.stag-practice{background:rgba(0,0,0,0.04);color:var(--ink-faint);border:1px solid var(--line);}

@media(max-width:720px){
  .section-block{padding:40px 20px 0;}
  .srow{grid-template-columns:1fr;gap:6px;padding:14px 16px;}
  .srow-course,.srow-format{text-align:left;}
  .schedule-legend{gap:12px;}
}

/* FOOTER */
.site-footer{position:relative;z-index:3;text-align:center;padding:60px 40px 60px;max-width:1000px;margin:0 auto;}
.footer-line{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:24px;}
.footer-line .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);max-width:120px;}
.footer-line .crest{font-family:var(--serif);font-style:italic;font-size:13px;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);}
.footer-info{display:flex;justify-content:center;flex-wrap:wrap;gap:40px;font-family:var(--body);font-size:11px;letter-spacing:0.25em;text-transform:uppercase;color:var(--ink-dim);}
.footer-info strong{display:block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:16px;letter-spacing:0.02em;text-transform:none;color:var(--ink);margin-top:6px;}
.footer-fine{margin-top:36px;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ink-faint);}

/* ============================================================
   SCORES ADMIN PAGE
   ============================================================ */
.admin-wrap{max-width:760px;margin:0 auto;padding:60px 40px 80px;}
.admin-card{background:var(--bg-1);border:1px solid var(--line);border-radius:6px;padding:32px;box-shadow:0 4px 18px rgba(0,0,0,0.05);}
.admin-card + .admin-card{margin-top:24px;}
.admin-title{font-family:var(--display);font-size:28px;letter-spacing:0.1em;color:var(--ink);margin-bottom:6px;}
.admin-sub{font-family:var(--serif);font-style:italic;color:var(--ink-dim);margin-bottom:24px;}

.field{display:block;margin-bottom:18px;}
.field-label{display:block;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px;}
select.field-input,input.field-input{width:100%;padding:10px 14px;background:#fff;border:1px solid var(--line-strong);border-radius:4px;color:var(--ink);font-family:var(--body);font-size:14px;}
select.field-input:focus,input.field-input:focus{outline:none;border-color:var(--accent);}

.team-points-list{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.team-points-row{display:grid;grid-template-columns:48px 1fr 110px;gap:14px;align-items:center;padding:10px 14px;background:var(--bg-2);border:1px solid var(--line);border-radius:4px;}
.team-points-row img{width:40px;height:40px;border-radius:4px;object-fit:cover;}
.team-points-row img.contain{object-fit:contain;border-radius:0;}
.team-points-row .tp-name{font-weight:500;color:var(--ink);}
.team-points-row input{width:100%;padding:8px 10px;text-align:center;font-family:var(--display);font-size:18px;letter-spacing:0.05em;color:var(--accent);background:#fff;border:1px solid var(--line-strong);border-radius:4px;}
.team-points-row input:focus{outline:none;border-color:var(--accent);}

.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 22px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;color:var(--ink);font-family:var(--body);font-size:12px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s ease;}
.btn:hover{border-color:var(--accent);color:var(--accent);}
.btn-primary{background:var(--green);border-color:var(--green);color:#fff;}
.btn-primary:hover{background:var(--green-light);border-color:var(--green-light);color:#fff;}
.btn-row{display:flex;gap:10px;justify-content:flex-end;}

.flash{margin-top:14px;padding:10px 14px;border-radius:4px;font-size:13px;display:none;}
.flash.show{display:block;}
.flash-ok{background:rgba(29,77,58,0.10);color:var(--green);border:1px solid rgba(29,77,58,0.25);}
.flash-err{background:rgba(169,68,66,0.10);color:var(--red);border:1px solid rgba(169,68,66,0.25);}

@media(max-width:600px){
  .admin-wrap{padding:32px 16px 60px;}
  .admin-card{padding:22px 18px;}
  .team-points-row{grid-template-columns:40px 1fr 90px;gap:10px;padding:8px 10px;}
}
