/*
Theme Name: Värmdö Indoor Golf
Theme URI: https://www.varmdoindoorgolf.se/
Description: Värmdö Indoor Golf tema
Version: 1.0
Author: Wintzan
Author URI: https://www.varmdoindoorgolf.se/
*/

:root {
--green-dark: #0f3d2e;     /* huvudgrön */
--green-soft: #e6f2ec;    /* sektioner */
--gold: #c6a24a;          /* accent / CTA */
--charcoal: #1c1c1e;      /* text */
--white-soft: #fafafa;
}


body {font-family: 'Lato', sans-serif; background:#fff;}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat', sans-serif;}
a{text-decoration:none;}

/* ----------------------------
	 NAVBAR
---------------------------- */
.navbar {background: rgba(255,255,255,0.97); border-bottom:3px solid var(--fairway-green);}
.navbar-brand{font-weight:700; color: var(--deep-green) !important;}
.nav-link{color: var(--dark-gray) !important; font-weight:500;}
.nav-link:hover{color: var(--fairway-green) !important;}

/* ----------------------------
	 VIDEO HERO
---------------------------- */
.video-hero {
		position: relative;
		height: 100vh;
		overflow: hidden;
		display: flex;
		align-items: center;
		text-align: center;
		color: white;
}
.hero-video {
		position: absolute;
		top:50%;
		left:50%;
		width:100%;
		height:100%;
		object-fit:cover;
		transform:translate(-50%, -50%);
		z-index:1;
}
.video-overlay {
		position:absolute;
		inset:0;
		background: linear-gradient(rgba(11,61,46,0.55), rgba(0,0,0,0.65));
		z-index:2;
}
.hero-content{z-index:3;}
.video-hero h1{font-size:4rem; font-weight:800; text-shadow:0 4px 12px rgba(0,0,0,.4);}
.video-hero .btn{
		margin-top:1rem; padding:14px 34px; border-radius:50px; font-size:1.3rem;
		/*background: var(--accent-gold); border:none; transition:.3s;*/
}
/*.video-hero .btn:hover{background: var(--fairway-green); color:white;}*/

@media (max-width:767px){
		.video-hero{background:linear-gradient(rgba(11,61,46,0.55), rgba(0,0,0,0.65)), url('https://images.unsplash.com/photo-1586126430637-0b5a5d037d93?auto=format&fit=crop&w=1600&q=80') center/cover;}
}

/* ----------------------------
	 FEATURE BOXES
---------------------------- */
.feature-row {margin-top: 2rem;}
.feature-box {
		border-radius:12px;
		overflow:hidden;
		position:relative;
		color:white;
		text-shadow:0 2px 6px rgba(0,0,0,.5);
		transition:.3s;
		display:flex; flex-direction:column; justify-content:flex-end;
		padding:20px;
		height:100%;
}
.feature-box::before {
		content:"";
		position:absolute; inset:0;
		background-size:cover;
		background-position:center;
		z-index:0;
		transition:transform .5s;
}
.feature-box:hover::before {transform: scale(1.1);}
.feature-box h5, .feature-box p {position:relative; z-index:2;}
@media (min-width:992px){
		.feature-row {display:flex;}
		.feature-row .col-md-4 {display:flex;}
		.feature-box {flex:1;}
}

/* ----------------------------
	 BOOKING CARDS
---------------------------- */
.time-slot {
		border:2px solid var(--fairway-green);
		border-radius:50px;
		padding:15px 0;
		text-align:center;
		font-weight:600;
		transition:.25s;
		cursor:pointer;
		background: linear-gradient(145deg, #ffffff, var(--light-green));
}
.time-slot:hover {
		background: var(--fairway-green);
		color:white;
		transform:translateY(-4px);
		box-shadow:0 4px 12px rgba(0,0,0,.2);
}

/* ----------------------------
	 PRICES
---------------------------- */
.price-box {
		background:white;
		padding:30px;
		border-radius:12px;
		border-top:4px solid var(--accent-gold);
		transition:.3s;
}
.price-box:hover {transform:translateY(-6px); box-shadow:0 7px 22px rgba(0,0,0,0.15);}

/* ----------------------------
	 FOOTER
---------------------------- */
footer {background: var(--igk-red); color:white; padding:35px 0;}
footer a{color: var(--accent-gold);}


.py-7 {
padding-top: 6rem !important;
padding-bottom: 6rem !important;
}

.img-fluid {
transition: transform 0.4s;
}

.img-fluid:hover {
transform: scale(1.03);
}


/* Glassmorphism + premium feel */
.navbar-glass {
background: rgba(255, 255, 255, 0.85);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
transition: all 0.3s ease;
}

/* Logo text */
.brand-text {
font-weight: 700;
letter-spacing: 0.5px;
font-size: 1.1rem;
}

/* Links */
.nav-link-soft {
font-weight: 500;
color: #222;
position: relative;
}

.nav-link-soft::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 2px;
background: #000;
transition: width 0.3s ease;
}

.nav-link-soft:hover::after {
width: 100%;
}

/* CTA Button */
.btn-cta {
background: linear-gradient(135deg, #b30000, #e3a3a5);
color: #fff !important;
padding: 0.65rem 1.6rem;
border-radius: 50px;
font-weight: 600;
letter-spacing: 0.3px;
border: none;
transition: all 0.3s ease;
box-shadow: 0 8px 20px rgba(37, 99, 235, 0.25);
}

.btn-cta:hover,
.btn-cta:focus {
color: #fff !important;
background: linear-gradient(135deg, #1d4ed8, #1e40af);
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(37, 99, 235, 0.35);
text-decoration: none;
}


/* Mobile spacing */
@media (max-width: 991px) {
.navbar-nav {
padding-top: 1rem;
}

.btn-cta {
width: 100%;
text-align: center;
margin-top: 1rem;
}
}

/* Nav links */
.nav-link-premium {
font-weight: 500;
color: var(--charcoal) !important;
position: relative;
}

.nav-link-premium::after {
content: "";
position: absolute;
left: 0;
bottom: -6px;
width: 0;
height: 2px;
background: var(--gold);
transition: width .3s ease;
}

.nav-link-premium:hover::after {
width: 100%;
}

/* Booking CTA */
.btn-booking {
background: linear-gradient(135deg, var(--gold), #e0c36b);
color: #fff !important;
padding: 0.65rem 1.8rem;
border-radius: 50px;
font-weight: 600;
box-shadow: 0 6px 18px rgba(0,0,0,0.2);
transition: all .3s ease;
}

.btn-booking:hover {
transform: translateY(-2px);
box-shadow: 0 10px 28px rgba(0,0,0,0.25);
}

/* Partner logo – mobile & desktop */
.partner-mobile img {
opacity: 0.9;
transition: opacity 0.3s ease;
}

.partner-mobile img:hover {
opacity: 1;
}

/* Desktop look */
@media (min-width: 992px) {
.partner-mobile {
text-align: left;
}
.border-lg-start {
border-left: 1px solid #ddd;
}
}

/* Partner – mobile friendly */
.partner {
justify-content: center;
margin-top: 1rem;
}

/* Desktop: exakt som tidigare */
@media (min-width: 992px) {
.partner {
margin-top: 0;
}
}

/* Center menu when mobile navbar is open */
@media (max-width: 991px) {

.navbar-collapse {
text-align: center;
}

.navbar-nav {
align-items: center;
}

.navbar-nav .nav-item {
width: 100%;
}

.navbar-nav .nav-link {
display: inline-block;
padding: 0.75rem 0;
font-size: 1.1rem;
}

/* CTA button centered */
.navbar-nav .btn-booking {
width: auto;
margin: 0.75rem auto 0;
}
}

/* NAVBAR – premium glas med mörkgrön ton */
.navbar-premium {
background: rgba(15, 61, 46, 0.75); /* mörkgrön med transparens */
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-bottom: 2px solid rgba(198, 162, 74, 0.6); /* guldaccent */
transition: all 0.3s ease;
}

/* BRAND */
.navbar-brand img {
height: 60px;
}

/* LINKS */
.nav-link-premium {
color: rgba(230, 242, 236, 0.9) !important; /* mjuk ljusgrön */
font-weight: 500;
position: relative;
transition: color 0.3s ease;
}

.nav-link-premium:hover {
color: rgba(198, 162, 74, 1) !important; /* guldaccent */
}

.nav-link-premium::after {
content: "";
position: absolute;
left: 0;
bottom: -6px;
width: 0;
height: 2px;
background: rgba(198, 162, 74, 0.8); /* subtil guld understrykning */
transition: width 0.3s ease;
}

.nav-link-premium:hover::after {
width: 100%;
}

/* CTA BUTTON */
.btn-booking {
background: linear-gradient(135deg, #c6a24a, #e0c36b);
color: #fff !important;
padding: 0.65rem 1.8rem;
border-radius: 50px;
font-weight: 600;
box-shadow: 0 6px 18px rgba(0,0,0,0.2);
transition: all .3s ease;
}

.btn-booking:hover {
transform: translateY(-2px);
box-shadow: 0 10px 28px rgba(0,0,0,0.25);
background: linear-gradient(135deg, #e3c36b, #ffd777);
}

/* PARTNER */
.nav-item.d-flex img {
opacity: 0.9;
transition: opacity 0.3s ease;
}

.nav-item.d-flex img:hover {
opacity: 1;
}

/* MOBILE MENU – centrerad */
@media (max-width: 991px) {
.navbar-collapse {
text-align: center;
}
.navbar-nav {
align-items: center;
}
.navbar-nav .nav-item {
width: 100%;
margin: 0.5rem 0;
}
.navbar-nav .btn-booking {
width: auto;
margin: 0.75rem auto 0;
}
}
.gold-text {
color: rgba(198, 162, 74, 0.85);
}
h2, h3, h4, h5, h6 {
color: #0f3d2e; /* matchar navbarens mjuka gröna ton */
font-family: 'Montserrat', sans-serif;
}

/* ----------------------------
NEWS SECTION
---------------------------- */
.news-section {
background: linear-gradient(
180deg,
var(--green-soft),
#ffffff
);
}

.news-badge {
display: inline-block;
padding: 6px 16px;
border-radius: 50px;
background: rgba(198, 162, 74, 0.15);
color: var(--gold);
font-weight: 600;
letter-spacing: 0.5px;
}

/* News card */
.news-card {
background: rgba(255,255,255,0.85);
border-radius: 16px;
overflow: hidden;
height: 100%;
box-shadow: 0 12px 30px rgba(0,0,0,0.08);
transition: all 0.35s ease;
backdrop-filter: blur(8px);
}

.news-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 45px rgba(0,0,0,0.15);
}

/* Image */
.news-image {
height: 220px;
background-size: cover;
background-position: center;
transition: transform 0.5s ease;
}

.news-card:hover .news-image {
transform: scale(1.08);
}

/* Content */
.news-content {
padding: 24px;
}

.news-date {
font-size: 0.85rem;
color: rgba(15, 61, 46, 0.65);
font-weight: 500;
}

.news-content h5 {
margin-top: 10px;
font-weight: 700;
}

.news-content p {
margin-top: 8px;
color: #444;
font-size: 0.95rem;
}

/* ----------------------------
NEWS TAGS
---------------------------- */
.news-tags {
display: flex;
gap: 8px;
margin-bottom: 10px;
flex-wrap: wrap;
}

.tag {
font-size: 0.75rem;
padding: 5px 12px;
border-radius: 50px;
font-weight: 600;
letter-spacing: 0.3px;
backdrop-filter: blur(6px);
}

/* TAG VARIANTS */
.tag-event {
background: rgba(15, 61, 46, 0.12);
color: var(--green-dark);
}

.tag-offer {
background: rgba(198, 162, 74, 0.18);
color: var(--gold);
}

.tag-update {
background: rgba(0, 0, 0, 0.08);
color: #333;
}

.tag-info {
background: rgba(30, 64, 175, 0.12);
color: #1e40af;
}

.featuredimg-wrapper {
  width: 100%;
}

.featuredimg {
  position: relative;
  width: 100%;
  height: 60vh; /* justerbar höjd */
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Overlay för kontrast */
.featuredimg .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4); /* mörk overlay */
}

/* Hero-text ovanpå bilden */
.hero-text {
  position: relative;
  z-index: 2;
}

#single p {
  font-size: 1.125rem;
  line-height: 1.8;
  margin-bottom: 1.5rem;
  color: #333;
}

@media (max-width: 991px) {
	.flex-lg-row, .flex-lg-row-reverse {
		flex-direction: column !important;
	}
	.rounded-start {
		border-radius: var(--bs-border-radius);
	}
}

.object-fit-cover {
	object-fit: cover;
}
#about .img-fluid:hover {
    transform: none;
}
#about img {
	max-height: 350px;
}

.custom-alert {
	background: rgba(15, 61, 46, 0.75);  /* Din färg */
	border-left: 4px solid #0f3d2e;      /* Accentlinje med samma gröna */
	border-radius: 0.5rem;               /* Rundade hörn */
	box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15); /* Lätt skugga */
	color: #ffffff;
  }

  .custom-alert p {
    margin: 0; /* Tar bort extra marginals */
  }

h2 {
    position: relative;
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem;
}
h2::after {
    content: "";
    display: block;
    width: 60px;         /* bredd på strecket */
    height: 3px;          /* tjocklek */
    background-color: #f39c12; /* färg */
    border-radius: 2px;   /* mjuka hörn */
    margin: 10px auto 0;  /* centrerar strecket under texten */
}
