/* Global visual polish: spacing, consistency and responsive behavior */
:root{
  --site-max:1180px;
  --space-1:.5rem;
  --space-2:.75rem;
  --space-3:1rem;
  --space-4:1.5rem;
  --space-5:2rem;
  --space-6:3rem;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
  --line:#e5e9e4;
}
html{scroll-padding-top:92px}
body{line-height:1.6;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
.container,.page-container,.content-container{width:min(var(--site-max),92%);margin-inline:auto}
main{min-height:45vh}
section,.section{scroll-margin-top:92px}
.section{padding-block:clamp(42px,6vw,78px)}
.section+.section{padding-top:0}
.page-hero,.hero{padding-block:clamp(58px,8vw,108px)}
.page-hero h1,.hero h1{margin-bottom:clamp(14px,2vw,24px)}
.page-hero p,.hero p{max-width:760px}
h1,h2,h3,h4{line-height:1.15;text-wrap:balance}
p{margin-top:0}
p:last-child{margin-bottom:0}
.card,.panel,.box,.content-card,.dashboard-card,.admin-card,.feature-card,.stat-card,.quick-card{
  border-radius:var(--radius-md);
}
.card,.panel,.box,.content-card{padding:clamp(18px,2.5vw,30px)}
.card+.card,.panel+.panel,.box+.box{margin-top:var(--space-4)}
.grid,.cards,.card-grid,.feature-grid,.dashboard-grid,.stats-grid,.quick-grid{
  gap:clamp(16px,2vw,26px);
}
form{max-width:100%}
.form,.form-grid,.field-grid{gap:18px}
label{line-height:1.35}
input,select,textarea,button{font:inherit}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{
  min-height:46px;padding:11px 13px;border-radius:11px;
}
textarea{min-height:130px;resize:vertical}
button,.btn,.button,a.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;line-height:1.2}
.actions,.button-row,.form-actions,.toolbar,.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.table-wrap,.table-responsive,.responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:13px 14px;vertical-align:middle}
th{white-space:nowrap}
.notice,.alert,.message{padding:14px 17px;border-radius:12px;margin-bottom:20px}
.badge,.pill,.status{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.navbar{gap:18px}
.navbar nav,.main-nav{min-width:0}
.global-site-footer{margin-top:clamp(48px,7vw,84px)!important}
.global-site-footer__inner{gap:clamp(22px,4vw,46px)!important}
.global-site-footer__links{align-items:center}
/* Legacy page footers */
.footer{margin-top:clamp(48px,7vw,84px)}
.footer-content{gap:clamp(24px,4vw,48px)}
.footer-links{gap:10px 18px}
/* Admin consistency */
.admin-shell,.admin-layout{min-height:100vh}
.admin-main,.admin-content{padding:clamp(20px,3vw,42px)}
.admin-header,.admin-page-header{margin-bottom:clamp(22px,3vw,36px)}
.admin-grid,.admin-card-grid{gap:clamp(16px,2vw,24px)}
.admin-card{padding:clamp(18px,2.3vw,28px)}
/* Email builder */
.builder-layout,.email-builder-grid{gap:24px}
.builder-panel,.preview-panel{padding:clamp(18px,2.5vw,30px)}
/* Volleyball */
.match-card,.game-card,.team-card,.round-card{padding:clamp(16px,2vw,24px);border-radius:var(--radius-md)}
.round-section+.round-section{margin-top:32px}
.scoreboard,.live-score{gap:clamp(12px,2vw,24px)}
/* Legal text */
.legal-content{max-width:860px;margin-inline:auto}
.legal-content h2{margin-top:2.1em;margin-bottom:.65em}
.legal-content h3{margin-top:1.6em;margin-bottom:.55em}
.legal-content ul,.legal-content ol{padding-left:1.35rem}
@media (max-width:900px){
  .section{padding-block:46px}
  .navbar{min-height:70px}
  .admin-main,.admin-content{padding:22px 16px 34px}
  .builder-layout,.email-builder-grid{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  :root{--radius-md:15px}
  .container,.page-container,.content-container{width:min(100% - 28px,var(--site-max))}
  .page-hero,.hero{padding-block:48px}
  .section{padding-block:38px}
  .card,.panel,.box,.content-card{padding:18px}
  .grid,.cards,.card-grid,.feature-grid,.dashboard-grid,.stats-grid,.quick-grid{grid-template-columns:1fr!important}
  .actions,.button-row,.form-actions,.toolbar,.admin-actions{align-items:stretch}
  .actions>* ,.button-row>* ,.form-actions>*{width:100%}
  button,.btn,.button,a.btn{width:100%}
  th,td{padding:11px 12px}
  .global-site-footer__links{grid-template-columns:1fr 1fr!important}
}
@media (max-width:430px){
  .container,.page-container,.content-container{width:min(100% - 22px,var(--site-max))}
  .global-site-footer__links{grid-template-columns:1fr!important}
  h1{font-size:clamp(1.8rem,9vw,2.45rem)}
  h2{font-size:clamp(1.4rem,7vw,1.95rem)}
}
