*{
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
margin:0;
font-family:'Inter', Arial, Helvetica, sans-serif;
background:#0b2f4a;
color:#e6eef4;
line-height:1.6;
}

/* HEADER */

.site-header{
text-align:center;
position:relative;
}

.header-banner{
background:
linear-gradient(135deg,#0b3c5d,#072a42);
background-blend-mode:overlay;
padding:40px 20px 30px 20px;
border-bottom:4px solid #e7a64b;
}

.header-banner h1{
margin:0;
font-size:2.6rem;
letter-spacing:2px;
font-family:'Cinzel', serif;
font-weight:700;
position:relative;
}

.header-banner h1::after{
content:"";
position:absolute;
left:50%;
transform:translateX(-50%);
width:120px;
height:2px;
background:#e7a64b;
bottom:-12px;
}

.header-banner p{
margin-top:18px;
font-size:1.05rem;
color:#cfe7f5;
letter-spacing:1px;
}

/* Floating Logo */

.logo-wrapper{
position:relative;
margin-top:-50px;
padding-bottom:15px;
display:flex;
justify-content:center;
}

.logo-wrapper::before{
content:"";
position:absolute;
left:50%;
top:50%;
transform:translate(-50%,-50%);
width:150px;
height:150px;
background:radial-gradient(circle,
rgba(231,166,75,.18) 0%,
rgba(231,166,75,.07) 40%,
rgba(231,166,75,0) 70%);
z-index:0;
}

.club-logo{
position:relative;
z-index:1;
width:110px;
height:auto;
filter: drop-shadow(0 0 4px rgba(231,166,75,.35))
        drop-shadow(0 0 8px rgba(231,166,75,.15));
}

/* NAVIGATION */

.main-nav{
background:#07273d;
padding:14px 10px;
display:flex;
justify-content:center;
gap:28px;
flex-wrap:wrap;
box-shadow:0 4px 10px rgba(0,0,0,.35);

position:sticky;
top:0;
z-index:1000;

backdrop-filter: blur(6px);
transition:padding .25s ease, box-shadow .25s ease;
}

.main-nav.shrink{
padding:8px 10px;
box-shadow:0 6px 14px rgba(0,0,0,.45);
}

.main-nav a{
color:white;
text-decoration:none;
font-weight:600;
letter-spacing:.4px;
}

.main-nav a:hover{
color:#e6a44c;
}

/* GENERAL LINKS */

a{
color:white;
}

a:hover{
color:#e6a44c;
}

/* SECTIONS */

section{
max-width:1000px;
margin:auto;
padding:40px 20px;
}

h2{
border-bottom:2px solid #2ea3db;
padding-bottom:10px;
margin-bottom:20px;
margin-top:40px;
font-weight:600;
letter-spacing:.5px;
}

h3{
margin-top:0;
font-weight:600;
letter-spacing:.3px;
}

/* EVENTS */

.events{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:24px;
}

.event-card{
background:#0d3d5f;
padding:24px;
border-radius:10px;
border-top:4px solid #e7a64b;
box-shadow:0 6px 14px rgba(0,0,0,.35);
transition:transform .2s ease, box-shadow .2s ease;
}

.event-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 20px rgba(0,0,0,.45);
}

.event-card h3{
font-size:1.25rem;
margin-bottom:12px;
color:#ffffff;
}

.event-card p{
margin:8px 0;
font-size:.95rem;
color:#d6e3ec;
}

.event-card strong{
color:#ffffff;
font-weight:600;
}

/* GALLERY */

.gallery{
column-count:4;
column-gap:15px;
}

.gallery img{
width:100%;
margin-bottom:15px;
border-radius:6px;
cursor:pointer;
transition:transform .25s ease, box-shadow .25s ease;
display:block;
}

.gallery img:hover{
transform:scale(1.02);
box-shadow:0 6px 14px rgba(0,0,0,.35);
}

@media (max-width:900px){
.gallery{
column-count:3;
}
}

@media (max-width:600px){
.gallery{
column-count:2;
}
}

/* ABOUT + CONTACT */

.about{
font-size:1.05rem;
}

.contact{
background:#0d3d5f;
padding:20px;
border-radius:8px;
}

/* FRIENDS OF THE CLUB */

.friends{
text-align:center;
margin-top:20px;
}

/* logo row */

.friend-logos{
display:flex;
justify-content:center;
align-items:center;
flex-wrap:wrap;
gap:60px;
margin-top:30px;
}

/* normalize logo sizing */

.friend-logos img{
max-height:70px;
max-width:180px;
width:auto;
height:auto;
transition:transform .2s ease, opacity .2s ease;
opacity:.9;
}

/* subtle hover */

.friend-logos img:hover{
transform:scale(1.06);
opacity:1;
}

/* FOOTER */

footer{
text-align:center;
padding:20px;
background:#061b2b;
font-size:0.9rem;
color:#bbb;
}

/* SECTION DIVIDER ABOVE FRIENDS */

.friends{
text-align:center;
margin-top:60px;
padding-top:40px;
position:relative;
}

.friends::before{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:140px;
height:2px;
background:#e7a64b;
opacity:.85;
}

/* BACK TO TOP BUTTON */

#topBtn{
position:fixed;
bottom:30px;
right:30px;
background:#e7a64b;
color:#07273d;
border:none;
border-radius:50%;
width:44px;
height:44px;
font-size:22px;
cursor:pointer;
display:none;
box-shadow:0 4px 10px rgba(0,0,0,.35);
transition:transform .2s ease, background .2s ease;
z-index:1200;
}

#topBtn:hover{
background:#f0b96d;
transform:translateY(-3px);
}

.gallery .hidden-photo{
display:none;
}

.show-more-btn{
margin-top:25px;
background:#e7a64b;
color:#07273d;
border:none;
padding:10px 18px;
font-weight:600;
border-radius:6px;
cursor:pointer;
transition:background .2s ease, transform .2s ease;
display:block;
margin-left:auto;
margin-right:auto;
cursor: pointer;
}

.show-more-btn:hover{
background:#f0b96d;
transform:translateY(-2px);
}

/* LIGHTBOX */

#lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.92);
display:none;
align-items:center;
justify-content:center;
z-index:1000;
}

#lightbox-img{
max-width:90%;
max-height:85%;
border-radius:6px;
}

.close{
position:absolute;
top:25px;
right:40px;
font-size:42px;
color:white;
cursor:pointer;
}

.nav{
position:absolute;
top:50%;
font-size:60px;
color:white;
cursor:pointer;
user-select:none;
padding:10px;
}

.prev{
left:30px;
}

.next{
right:30px;
}

/* TROPHY GRID */

.trophy-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:28px;
margin-top:25px;
}

/* TROPHY CARD */

.trophy{
background:#0d3d5f;
padding:22px;
border-radius:10px;
border-top:4px solid #e7a64b;
text-align:center;
box-shadow:0 6px 14px rgba(0,0,0,.35);
transition:transform .2s ease, box-shadow .2s ease;

display:flex;
flex-direction:column;
}

.trophy:hover{
transform:translateY(-4px);
box-shadow:0 10px 20px rgba(0,0,0,.45);
}

/* TROPHY IMAGE */

.trophy-img{
height:140px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:10px;
}

.trophy-img img{
max-height:140px;
width:auto;
}

.trophy img{
cursor:pointer;
transition:transform .25s ease;
filter: drop-shadow(0 6px 12px rgba(0,0,0,.35));
}

.trophy img:hover{
transform:scale(1.08);
}

/* TROPHY TITLE */

.trophy h4{
margin-top:16px;
margin-bottom:8px;
font-size:1.1rem;
font-weight:600;
color:#ffffff;

height:48px;
display:flex;
align-items:flex-start;
justify-content:center;
text-align:center;
line-height:1.35;
}

/* CURRENT CHAMPION */

.current-winner{
margin-top:10px;
font-size:.95rem;
color:#ffffff;
min-height:60px;
}

/* COLLAPSIBLE RESULTS */

.past-winners{
margin-top:auto;
text-align:left;
}

.past-winners summary{
cursor:pointer;
font-weight:600;
color:#e7a64b;
margin-bottom:10px;
}

.past-winners summary:hover{
color:#f0b96d;
}

/* TIMELINE */

.winner-timeline{
position:relative;
margin-top:10px;
padding-left:18px;
border-left:2px solid rgba(231,166,75,.35);
}

.winner-entry{
margin-bottom:10px;
display:flex;
justify-content:space-between;
font-size:.9rem;
color:#cfe7f5;
}

.winner-year{
font-weight:600;
color:#e7a64b;
}

.winner-name{
color:#dbe7ef;
}



/* Calendar Section */
.calendar-section {
  margin-top: 2.5rem;
  text-align: center;
}

/* Toggle Button (matches your clean style) */
.calendar-toggle {
  max-width: 600px;
  margin: 0 auto;
}

.calendar-toggle summary {
  list-style: none;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.5px;
cursor: pointer;
  background: #e7a64b;
  color: #07273d;

  padding: 10px 18px;
  border-radius: 6px;
  border: none;

  transition: background 0.2s ease, transform 0.2s ease;
}

/* Remove default triangle */
.calendar-toggle summary::-webkit-details-marker {
  display: none;
}

/* Hover effect */
.calendar-toggle summary:hover {
  background: #f0b96d;
  transform: translateY(-2px);
}

/* Open state styling */
.calendar-toggle[open] summary {

  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}



/* Calendar container */
.calendar-embed {
  max-width: 800px;
  margin: 0 auto;

  border: 1px solid #e7a64b;
  border-top: none;
  border-radius: 0 0 10px 10px;

  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);

  max-height: 0;
  opacity: 0;
  transform: translateY(-10px);

  transition: 
    max-height 0.45s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.calendar-toggle[open] .calendar-embed {
  max-height: 600px;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.05s;
}

.calendar-embed {
  max-height: 0;
  opacity: 0;
}


.calendar-toggle summary {
  transition: all 0.2s ease;
}

/* Iframe polish */
.calendar-embed iframe {
  width: 100%;
  height: 400px;
  border: none;
}

.calendar-toggle summary::after {
  content: "▼";
  font-size: 0.8rem;
  margin-left: 8px;
  display: inline-block;
  transition: transform 0.3s ease;
}

.calendar-toggle[open] summary::after {
  transform: rotate(180deg);
}

/* RESULTS SECTION */

.results-preview {
  max-width: 750px;
  margin: 0 auto;
  text-align: center;
}

.result-block {
  background: #0d3d5f;
  padding: 20px;
  border-radius: 10px;
  border-top: 4px solid #e7a64b;
  box-shadow: 0 6px 14px rgba(0,0,0,.35);
  margin-bottom: 20px;
}

.result-block h3 {
  margin-bottom: 10px;
  color: #ffffff;
}

.result-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.result-list li {
  margin: 6px 0;
  color: #d6e3ec;
}

.player {
  font-weight: 600;
  color: #ffffff;
}

.result {
  color: #cfe7f5;
}

.results-link {
  display: inline-block;
  margin-top: 12px;
  font-weight: 600;
  color: #e7a64b;
  text-decoration: none;
}

.results-link:hover {
  color: #f0b96d;
}

.contact-subsection {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
}

.contact-subsection h3 {
  margin-bottom: 10px;
}