/*
Theme Name: RkyMedia - Stilren restaurangdesign
Theme URI: https://rkymedia.se
Author: RkyMedia
Author URI: https://rkymedia.se
Description: Skräddarsytt tema för Bar Hanko. Nordisk cocktailbar med experimentella maträtter i Linköping.
Version: 1.3.0
License: Proprietary
Text Domain: rkymedia-barhanko
*/

@font-face {
  font-family: 'ISOCP3';
  src: url('fonts/ISOCP3.woff') format('woff'),
       url('fonts/ISOCP3.ttf') format('truetype');
  font-weight: normal; font-style: normal; font-display: swap;
}

:root {
  --cream: #F5F0E8; --warm-white: #FAF8F4; --off-white: #EEEBE4;
  --gold: #C9A96E; --gold-light: #D4BA8A; --gold-text: #8C7245;
  --gold-dim: rgba(201,169,110,0.15);
  --charcoal: #2A2A28; --charcoal-light: #4A4A46; --charcoal-dark: #1A1A18;
  --transition: 0.3s ease;
  --font-logo: 'ISOCP3', sans-serif;
  --font-body: 'Quicksand', sans-serif;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:80px;}
body{background:var(--warm-white);color:var(--charcoal);font-family:var(--font-body);font-weight:300;letter-spacing:0.03em;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:0.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* COMING SOON */
.cs-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.cs-corner{position:fixed;width:60px;height:60px;border-color:var(--gold-light);border-style:solid;border-width:0;opacity:0.25;}
.cs-corner.tl{top:2rem;left:2rem;border-top-width:1px;border-left-width:1px;}
.cs-corner.tr{top:2rem;right:2rem;border-top-width:1px;border-right-width:1px;}
.cs-corner.bl{bottom:2rem;left:2rem;border-bottom-width:1px;border-left-width:1px;}
.cs-corner.br{bottom:2rem;right:2rem;border-bottom-width:1px;border-right-width:1px;}
.cs-scene{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.2rem;}
.cs-glass-wrap{position:relative;width:180px;height:220px;animation:csFloat 6s ease-in-out infinite;}
@keyframes csFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.cs-glass-wrap svg{width:100%;height:100%;filter:drop-shadow(0 20px 40px rgba(201,169,110,0.18));}
.cs-liquid-shimmer{animation:csShimmer 4s ease-in-out infinite;}
@keyframes csShimmer{0%,100%{opacity:0.7;}50%{opacity:1;}}
.cs-smoke-container{position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:200px;pointer-events:none;}
.cs-smoke{position:absolute;bottom:60%;border-radius:50%;background:radial-gradient(circle,var(--gold-dim) 0%,transparent 70%);opacity:0;animation:csSmokeRise linear infinite;}
.cs-smoke:nth-child(1){left:40%;width:60px;height:60px;animation-duration:5s;animation-delay:0s;}
.cs-smoke:nth-child(2){left:55%;width:45px;height:45px;animation-duration:6s;animation-delay:1s;}
.cs-smoke:nth-child(3){left:30%;width:55px;height:55px;animation-duration:7s;animation-delay:2s;}
.cs-smoke:nth-child(4){left:50%;width:35px;height:35px;animation-duration:5.5s;animation-delay:0.5s;}
.cs-smoke:nth-child(5){left:35%;width:50px;height:50px;animation-duration:6.5s;animation-delay:3s;}
@keyframes csSmokeRise{0%{transform:translateY(0) scale(0.5) rotate(0);opacity:0;}15%{opacity:0.6;}50%{opacity:0.3;}100%{transform:translateY(-180px) scale(2) rotate(40deg);opacity:0;}}
.cs-ring{position:absolute;top:10%;left:50%;width:160px;height:160px;margin-left:-80px;border:1px solid var(--gold-light);border-radius:50%;opacity:0.2;animation:ringRotate 12s linear infinite;}
.cs-ring::after{content:'';position:absolute;top:-3px;left:50%;width:6px;height:6px;background:var(--gold);border-radius:50%;}
@keyframes ringRotate{to{transform:rotate(360deg);}}
.cs-coming{font-size:1.1rem;letter-spacing:0.25em;text-indent:0.25em;text-transform:uppercase;color:var(--gold-text);font-weight:500;text-align:center;opacity:0;animation:csFadeUp 1s ease 1.8s forwards;}
.cs-logo{width:clamp(360px,65vw,620px);height:auto;margin-top:-0.5rem;opacity:0;animation:csReveal 1.2s cubic-bezier(0.22,1,0.36,1) 1s forwards;}
@keyframes csReveal{0%{opacity:0;filter:blur(6px);transform:scale(0.95);}100%{opacity:1;filter:blur(0);transform:scale(1);}}
@keyframes csFadeUp{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);}}
@media(max-width:500px){.cs-glass-wrap{width:140px;height:170px;}.cs-ring{width:120px;height:120px;margin-left:-60px;}.cs-corner{width:40px;height:40px;}.cs-logo{width:clamp(260px,80vw,400px);}}

/* PRELOADER */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--warm-white);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.8s ease,visibility 0.8s ease;}
.preloader.done{opacity:0;visibility:hidden;pointer-events:none;}
.pre-scene{position:relative;display:flex;flex-direction:column;align-items:center;}
.pre-glass-wrap{position:relative;width:200px;height:250px;}
.pre-glass-wrap svg{width:100%;height:100%;animation:preSpinGlass 2.5s ease-in-out infinite;filter:drop-shadow(0 16px 32px rgba(201,169,110,0.2));}
@keyframes preSpinGlass{0%{transform:rotateY(0);}50%{transform:rotateY(180deg);}100%{transform:rotateY(360deg);}}
.pre-smoke-container{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:180px;height:180px;pointer-events:none;}
.pre-smoke{position:absolute;bottom:55%;border-radius:50%;background:radial-gradient(circle,rgba(201,169,110,0.1) 0%,transparent 70%);opacity:0;animation:preSmoke linear infinite;}
.pre-smoke:nth-child(1){left:30%;width:50px;height:50px;animation-duration:3.5s;animation-delay:0s;}
.pre-smoke:nth-child(2){left:55%;width:35px;height:35px;animation-duration:4.5s;animation-delay:0.6s;}
.pre-smoke:nth-child(3){left:42%;width:45px;height:45px;animation-duration:4s;animation-delay:1.2s;}
.pre-smoke:nth-child(4){left:50%;width:30px;height:30px;animation-duration:3.8s;animation-delay:1.8s;}
@keyframes preSmoke{0%{transform:translateY(0) scale(0.4) rotate(0);opacity:0;}12%{opacity:0.6;}50%{opacity:0.25;}100%{transform:translateY(-160px) scale(2.5) rotate(35deg);opacity:0;}}
.pre-ring{position:absolute;top:5%;left:50%;width:195px;height:195px;margin-left:-97px;border:1px solid var(--gold-light);border-radius:50%;opacity:0.2;animation:ringRotate 10s linear infinite;}
.pre-ring::after{content:'';position:absolute;top:-3px;left:50%;width:5px;height:5px;background:var(--gold);border-radius:50%;}
.pre-logo{margin-top:1.5rem;width:240px;height:auto;opacity:0;transform:translateY(10px);transition:opacity 0.8s ease,transform 0.8s ease;}
.pre-logo.visible{opacity:1;transform:translateY(0);}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1rem 3rem;display:flex;justify-content:space-between;align-items:center;background:rgba(250,248,244,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--gold-dim);transform:translateY(-100%);transition:transform 0.5s ease;}
.site-nav.visible{transform:translateY(0);}
.nav-logo{display:block;}.nav-logo img{height:34px;width:auto;}
.nav-links-wrap{display:flex;align-items:center;gap:0.6rem;}
.nav-links{display:flex;gap:0.6rem;list-style:none;}
.nav-links a{font-family:var(--font-body);font-size:0.6rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:0.5rem 1.1rem;border:1px solid var(--gold-dim);color:var(--charcoal-light);transition:border-color var(--transition),color var(--transition);white-space:nowrap;}
.nav-links a:hover{border-color:var(--gold);color:var(--charcoal);}
.nav-cta{font-family:var(--font-body);font-size:0.6rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;padding:0.5rem 1.1rem;background:var(--gold);border:1px solid var(--gold);color:var(--warm-white);white-space:nowrap;transition:background var(--transition);}
.nav-cta:hover{background:var(--gold-light);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative;}
.nav-toggle span{display:block;position:absolute;left:0;right:0;height:1.5px;background:var(--charcoal);transition:all 0.3s;}
.nav-toggle span:nth-child(1){top:0;}.nav-toggle span:nth-child(2){top:9px;}.nav-toggle span:nth-child(3){top:18px;}
.nav-toggle.open span:nth-child(1){top:9px;transform:rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){top:9px;transform:rotate(-45deg);}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem 4rem;position:relative;overflow:hidden;background:linear-gradient(170deg,var(--warm-white) 0%,var(--cream) 50%,var(--off-white) 100%);}
.hero-circles{position:absolute;inset:0;pointer-events:none;}
.hero-circle{position:absolute;border-radius:50%;border:1px solid var(--gold-light);opacity:0.07;}
.hero-circle.c1{width:550px;height:550px;top:-120px;right:-180px;}
.hero-circle.c2{width:320px;height:320px;bottom:-60px;left:-100px;}
.hero-circle.c3{width:200px;height:200px;top:28%;left:8%;}
.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.4rem;opacity:0;transform:translateY(20px);transition:opacity 0.8s ease 0.3s,transform 0.8s ease 0.3s;}
.hero-content.visible{opacity:1;transform:translateY(0);}
.hero-logo{width:clamp(340px,62vw,680px);height:auto;}
.hero-sub{font-size:0.8rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-text);font-weight:500;}
.hero-divider{width:70px;height:1px;background:var(--gold-light);}
.hero-copy{max-width:420px;font-size:0.95rem;line-height:1.85;color:var(--charcoal-light);}
.btn{display:inline-block;padding:0.9rem 2.8rem;font-family:var(--font-body);font-size:0.65rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;border:1px solid var(--gold);background:transparent;color:var(--charcoal);cursor:pointer;transition:background var(--transition),color var(--transition);}
.btn:hover{background:var(--gold);color:var(--warm-white);}
.btn-filled{background:var(--gold);color:var(--charcoal);}
.btn-filled:hover{background:var(--gold-light);}
.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;}
.scroll-indicator span{font-size:0.5rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold-light);font-weight:400;}
.scroll-indicator .line{width:1px;height:35px;background:var(--gold-light);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.3;transform:scaleY(0.5);}50%{opacity:1;transform:scaleY(1);}}

/* SHARED */
.section-label{font-size:0.65rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-text);font-weight:600;text-align:center;margin-bottom:0.8rem;}
.section-title{font-size:clamp(1.5rem,3.5vw,2.2rem);letter-spacing:0.15em;text-transform:uppercase;text-align:center;margin-bottom:0.8rem;}
.section-divider{width:50px;height:1px;background:var(--gold-light);margin:0 auto 3rem;}

/* ABOUT */
.about{padding:7rem 2rem;background:var(--cream);}
.about-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.about-image{width:100%;aspect-ratio:4/5;overflow:hidden;position:relative;background:var(--off-white);}
.about-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease;}
.about-image:hover img{transform:scale(1.03);}
.about-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-light);}
.about-text h3{font-size:1.3rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1.5rem;font-weight:400;}
.about-text p{font-size:0.88rem;line-height:1.9;color:var(--charcoal-light);margin-bottom:1rem;}

/* MENU */
.menu-section{padding:7rem 2rem;background:var(--warm-white);}
.menu-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;}
.menu-category h4{font-size:0.65rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold-text);font-weight:600;margin-bottom:1.3rem;padding-bottom:0.5rem;border-bottom:1px solid var(--gold-dim);}
.menu-item{margin-bottom:1.1rem;}
.menu-item h5{font-size:0.82rem;letter-spacing:0.04em;margin-bottom:0.2rem;font-weight:400;}
.menu-item p{font-size:0.7rem;color:var(--charcoal-light);line-height:1.65;}
.menu-pdf-section{text-align:center;margin-top:3rem;}
.menu-pdf-divider{width:40px;height:1px;background:var(--gold-dim);margin:0 auto 2rem;}
.menu-pdf-placeholder{font-size:0.7rem;letter-spacing:0.15em;color:var(--charcoal-light);opacity:0.5;}

/* INSTAGRAM */
.instagram-section{padding:7rem 2rem;background:var(--cream);}
.instagram-grid{max-width:1000px;margin:0 auto 2rem;}
.insta-manual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;}
.insta-install-notice{grid-column:1/-1;background:var(--off-white);border:1px solid var(--gold-dim);padding:3rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;}
.insta-install-notice svg{width:40px;height:40px;color:var(--gold);}
.insta-install-notice p{font-size:0.8rem;line-height:1.7;color:var(--charcoal-light);max-width:500px;}
.insta-install-notice strong{color:var(--charcoal);font-weight:500;}
.instagram-btn{display:block;margin:2rem auto 0;width:fit-content;}

/* BOOK */
.book-section{background:var(--charcoal);color:var(--warm-white);text-align:center;padding:7rem 2rem;}
.book-section .section-title{color:var(--warm-white);}
.book-section .section-divider{background:var(--gold);}
.book-section p{max-width:380px;margin:0 auto 2rem;font-size:0.88rem;line-height:1.85;color:var(--gold-light);}

/* CONTACT */
.contact-section{padding:7rem 2rem;background:var(--warm-white);}
.contact-grid{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.map-wrap{width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--gold-dim);}
.map-wrap iframe{width:100%;height:100%;border:0;}
.contact-info{display:flex;flex-direction:column;justify-content:center;gap:1.8rem;}
.contact-info h3{font-size:1.2rem;letter-spacing:0.1em;text-transform:uppercase;font-weight:400;}
.contact-block{display:flex;flex-direction:column;gap:0.2rem;}
.contact-block .label{font-size:0.6rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold-text);font-weight:600;}
.contact-block .value{font-size:0.82rem;color:var(--charcoal-light);line-height:1.7;}
.contact-block a{color:var(--charcoal-light);transition:color var(--transition);}
.contact-block a:hover{color:var(--gold);}
.social-links{display:flex;gap:1rem;margin-top:0.5rem;}
.social-links a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gold-dim);border-radius:50%;transition:border-color var(--transition),color var(--transition);color:var(--charcoal-light);}
.social-links a:hover{border-color:var(--gold);color:var(--gold);}
.social-links svg{width:16px;height:16px;}

/* FOOTER */
.site-footer{background:var(--charcoal-dark);text-align:center;padding:2.5rem 2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:0.8rem;}
.footer-logo{display:block;}.footer-logo img{height:48px;width:auto;filter:brightness(0) invert(1);opacity:0.9;}
.footer-copy{font-size:0.55rem;letter-spacing:0.15em;color:rgba(255,255,255,0.25);}
.footer-credit{margin-top:0.8rem;font-size:0.55rem;letter-spacing:0.1em;color:rgba(255,255,255,0.18);}
.footer-credit a{color:rgba(255,255,255,0.22);transition:color var(--transition);}
.footer-credit a:hover{color:rgba(255,255,255,0.45);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(25px);transition:opacity 0.7s ease,transform 0.7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:900px){.menu-grid{grid-template-columns:1fr 1fr;}.insta-manual-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){
  .site-nav{padding:1rem 1.5rem;}
  .nav-links-wrap{position:fixed;top:0;right:-100%;width:70%;max-width:280px;height:100vh;background:var(--warm-white);display:flex;flex-direction:column;align-items:flex-start;padding:5rem 2rem 2rem;gap:0.8rem;transition:right 0.4s ease;box-shadow:-4px 0 20px rgba(0,0,0,0.06);z-index:999;}
  .nav-links-wrap.open{right:0;}
  .nav-links{flex-direction:column;gap:0.8rem;}
  .nav-toggle{display:block;z-index:1001;}
  .about-inner,.contact-grid{grid-template-columns:1fr;gap:2rem;}
  .menu-grid{grid-template-columns:1fr;}
  .hero{padding:5rem 1.5rem 6rem;}
  .about,.menu-section,.book-section,.contact-section,.instagram-section{padding:5rem 1.5rem;}
}
@media(max-width:480px){.hero-logo{width:clamp(220px,78vw,340px);}.site-nav{padding:0.8rem 1rem;}.insta-manual-grid{grid-template-columns:repeat(2,1fr);}.hero{padding:5rem 1.5rem 8rem;}.hero-content{gap:1rem;}}
body.admin-bar .site-nav{top:32px;}body.admin-bar .preloader{top:32px;}
@media(max-width:782px){body.admin-bar .site-nav{top:46px;}body.admin-bar .preloader{top:46px;}}

/* PDF MENU VIEWER */
.menu-pdf-wrap { max-width: 800px; margin: 0 auto; }

.menu-pdf-viewer {
  width: 100%;
  position: relative;
  border: 1px solid var(--gold-dim);
  background: var(--off-white);
}
.menu-pdf-embed {
  width: 100%;
  height: 80vh;
  min-height: 500px;
  display: block;
  border: none;
}
.menu-pdf-fallback {
  display: none;
  padding: 3rem;
  text-align: center;
  gap: 1rem;
  flex-direction: column;
  align-items: center;
}
.menu-pdf-actions {
  text-align: center;
  margin-top: 1.5rem;
}

.menu-pdf-empty {
  padding: 5rem 2rem;
  text-align: center;
  border: 1px dashed var(--gold-dim);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.menu-pdf-empty svg { width: 48px; height: 48px; opacity: 0.5; }
.menu-pdf-empty p { font-size: 0.85rem; color: var(--charcoal-light); }
.menu-pdf-empty span { font-size: 0.65rem; letter-spacing: 0.15em; color: var(--gold-text); }

@media(max-width:768px) {
  .menu-pdf-embed { height: 60vh; min-height: 400px; }
}

/* ABOUT - no image state */
.about-inner--no-image {
  grid-template-columns: 1fr;
  max-width: 600px;
}
.about-inner--no-image .about-text {
  text-align: center;
}
.about-inner--no-image .about-text h3 {
  font-size: 1.6rem;
}

/* MENU - empty state clean */
.menu-pdf-empty {
  padding: 4rem 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}
.menu-pdf-empty svg { width: 40px; height: 40px; opacity: 0.35; }
.menu-pdf-empty p { font-size: 0.85rem; color: var(--charcoal-light); letter-spacing: 0.05em; }

.menu-pdf-viewer .pdfemb-viewer{width:100% !important;border:1px solid var(--gold-dim) !important;box-shadow:none !important;}
