/*
 * Tourguide.no V5.0 Alpha 1
 * Visual foundation only. Booking, pricing, destinations, language routing,
 * AirHelp, Booking.com, WhatsApp and guide logic remain owned by the V4 core.
 */
:root{
  --ivory:#f5f1e8;
  --paper:#fffdf9;
  --green:#063c35;
  --green2:#0b5046;
  --ink:#173b37;
  --text:#4b625e;
  --gold:#c8a45d;
  --gold2:#a9823c;
  --line:#e3ded2;
  --max:1240px;
  --shadow:0 22px 64px rgba(7,48,43,.10);
  --v5-radius:22px;
  --v5-soft-shadow:0 16px 42px rgba(7,48,43,.08);
}

body.tg-v500{background:#f5f1e8;color:var(--text);letter-spacing:-.006em}
.tg-v500 .wrap{width:min(var(--max),calc(100% - 48px))}

/* Header: quieter, more hotel/concierge than WordPress-theme. */
.tg-v500 .site-header{
  position:sticky;top:0;height:88px;z-index:9990;
  background:rgba(255,253,249,.92);
  border-bottom:1px solid rgba(6,60,53,.08);
  box-shadow:0 8px 30px rgba(7,48,43,.045);
  backdrop-filter:saturate(135%) blur(18px);
  -webkit-backdrop-filter:saturate(135%) blur(18px)
}
.tg-v500 .nav-row{height:88px;gap:22px}
.tg-v500 .brand{width:235px}
.tg-v500 .brand .custom-logo{max-height:66px}
.tg-v500 .main-nav ul{gap:20px}
.tg-v500 .main-nav a{padding:32px 0 27px;font-size:.78rem;font-weight:650;letter-spacing:.015em;color:#163a36}
.tg-v500 .main-nav li.current-menu-item>a:after,.tg-v500 .main-nav a:hover:after{bottom:21px;height:1px;background:var(--gold)}
.tg-v500 .book-now{border-radius:999px;padding:13px 22px;background:linear-gradient(135deg,#0b4b43,#053b35);box-shadow:0 8px 22px rgba(6,60,53,.14);font-size:.76rem;font-weight:750;letter-spacing:.035em}

/* Hero: full-bleed Norway visual, dark cinematic wash, white editorial copy. */
.tg-v500-front .hero{min-height:790px;background:#073f38;overflow:hidden}
.tg-v500-front .hero-media{inset:0!important;background-position:center!important}
.tg-v500-front .hero-media:before{background:linear-gradient(90deg,rgba(3,38,34,.92) 0%,rgba(3,38,34,.80) 34%,rgba(3,38,34,.42) 58%,rgba(3,38,34,.12) 100%)!important;z-index:2}
.tg-v500-front .hero-media:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.03) 50%,rgba(2,30,27,.32))}
.tg-v500-front .hero-media img,.tg-v500-front .hero-media picture{position:relative;z-index:1}
.tg-v500-front .hero-inner{grid-template-columns:minmax(0,1fr) minmax(420px,470px);gap:72px;padding:72px 0 78px;align-items:start}
.tg-v500-front .hero-copy{padding:112px 0 30px;max-width:650px;color:#fff}
.tg-v500-front .hero-copy .eyebrow,.tg-v500-front .hero-copy .section-kicker{color:#e7c878}
.tg-v500-front .hero-copy h1{max-width:650px;color:#fff;font-size:clamp(3.9rem,6.2vw,6.25rem);line-height:.92;letter-spacing:-.05em;text-shadow:0 3px 24px rgba(0,0,0,.12)}
.tg-v500-front .hero-copy p{max-width:570px;color:rgba(255,255,255,.84);font-size:1.02rem;line-height:1.72}
.tg-v500-front .tg-hero-proof{color:rgba(255,255,255,.84)}
.tg-v500-front .tg-hero-proof span:before{background:rgba(226,190,103,.17);color:#f0ce7a;border:1px solid rgba(226,190,103,.24)}
.tg-v500 .btn{border-radius:999px;padding:13px 23px;font-size:.77rem;font-weight:800;letter-spacing:.025em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.tg-v500 .btn:hover{transform:translateY(-1px)}
.tg-v500 .btn-gold{background:linear-gradient(135deg,#d1ad65,#b78939);box-shadow:0 12px 28px rgba(122,88,28,.20)}
.tg-v500-front .tg-btn-whatsapp{border-radius:999px}

/* Booking card remains functionally identical, but visually becomes the V5 concierge desk. */
.tg-v500-front .booking-card{
  max-width:470px;margin-left:auto;padding:25px 25px 24px;
  border-radius:24px;border:1px solid rgba(255,255,255,.74);
  background:rgba(255,253,249,.96);
  box-shadow:0 28px 80px rgba(2,35,31,.30);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)
}
.tg-v500-front .booking-card h2{font-size:1.75rem;letter-spacing:-.02em}
.tg-v500-front .booking-top span{color:#9b762f;font-weight:850}
.tg-v500-front .booking-card>p{line-height:1.55;margin-bottom:14px}
.tg-v500-front .field input,.tg-v500-front .field select,.tg-v500-front .field textarea{background:#fff;border-color:#ded8cc;border-radius:9px;padding:9px 10px}
.tg-v500-front .booking-card .btn-book,.tg-v500-front .booking-card .btn-pay{border-radius:999px;min-height:48px}

/* Confidence strip. */
.tg-v500 .tg-quicktrust{background:#073f38;border:0;color:#fff}
.tg-v500 .tg-quicktrust-grid{min-height:94px}
.tg-v500 .tg-quicktrust-item{border-color:rgba(255,255,255,.10);color:#fff}
.tg-v500 .tg-quicktrust-icon{color:#d5b66e}
.tg-v500 .tg-quicktrust-item small{color:rgba(255,255,255,.58)}

/* Editorial rhythm. */
.tg-v500 .section,.tg-v500 .tg-customer-section{padding-top:92px;padding-bottom:98px}
.tg-v500 .services{background:#fffdf9}
.tg-v500 .services h2,.tg-v500 .tg-customer-head h2{font-size:clamp(2.7rem,4.4vw,4.4rem);letter-spacing:-.035em;line-height:.98}
.tg-v500 .section-kicker{font-size:.66rem;letter-spacing:.22em;font-weight:850}
.tg-v500 .section-kicker span{width:46px;background:#c8a45d}
.tg-v500 .tg-customer-section{background:#fffdf9}
.tg-v500 .tg-customer-section.alt{background:#f0ebe1}
.tg-v500 .tg-customer-head{max-width:820px;margin-bottom:42px}
.tg-v500 .tg-customer-head p{font-size:.94rem;max-width:720px}

/* Service cards: larger imagery, calmer typography and premium rounded geometry. */
.tg-v500 .service-grid{gap:18px}
.tg-v500 .service-card{border-radius:20px;border-color:#e5dfd3;box-shadow:var(--v5-soft-shadow);transition:transform .22s ease,box-shadow .22s ease}
.tg-v500 .service-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(7,48,43,.12)}
.tg-v500 .service-img{height:175px}
.tg-v500 .service-body{padding:22px 20px 21px;min-height:230px}
.tg-v500 .service-card h3{font-size:1.15rem}
.tg-v500 .service-card p{font-size:.78rem;line-height:1.72}

/* Existing V4 customer cards gain one coherent V5 surface treatment. */
.tg-v500 .tg-journey-card,.tg-v500 .tg-fleet-card,.tg-v500 .tg-why-card,.tg-v500 .tg-review-card{
  border-radius:20px!important;overflow:hidden;border-color:#e2dcd0!important;
  box-shadow:var(--v5-soft-shadow)!important;background:#fffdf9
}
.tg-v500 .tg-journey-card:hover,.tg-v500 .tg-fleet-card:hover,.tg-v500 .tg-why-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px rgba(7,48,43,.12)!important}
.tg-v500 .tg-journey-card img,.tg-v500 .tg-fleet-card img{min-height:190px}

/* Partners become integrated editorial modules rather than ad-like blocks. */
.tg-v500 .tg-airhelp-section{padding:74px 0;background:#f0ebe1}
.tg-v500 .tg-airhelp-link{border-radius:24px;box-shadow:0 22px 58px rgba(7,48,43,.11);border:1px solid rgba(6,60,53,.08)}
.tg-v500 .tg-booking-partner{background:#073f38}

/* Destination feature + CTA/footer polish. */
.tg-v500 .discover{height:420px}
.tg-v500 .discover-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,40,35,.92),rgba(2,40,35,.54) 46%,rgba(2,40,35,.08) 80%)}
.tg-v500 .discover-copy{position:relative;z-index:2;max-width:520px}
.tg-v500 .discover-copy h2{font-size:clamp(3.2rem,5.3vw,5rem);letter-spacing:-.04em}
.tg-v500 .trust-strip{padding:48px 0;background:#fffdf9}
.tg-v500 .contact-band{padding:54px 0;background:radial-gradient(circle at 16% 0%,rgba(200,164,93,.14),transparent 28%),linear-gradient(125deg,#0b5046,#05352f)}
.tg-v500 .site-footer{background:#f0ebe1}

/* Inner pages inherit the same V5 language without changing templates. */
.tg-v500 .page-hero{background:radial-gradient(circle at 76% 0%,rgba(200,164,93,.14),transparent 28%),linear-gradient(125deg,#0b5046,#05352f);padding:96px 0 78px}
.tg-v500 .page-hero h1{font-size:clamp(3.2rem,6vw,5.5rem);letter-spacing:-.045em;line-height:.98}
.tg-v500 .content-area{padding-top:82px;padding-bottom:110px}
.tg-v500 .tg-guide-card{border-radius:22px;box-shadow:var(--v5-soft-shadow)}
.tg-v500 .tg-guide-photo{border-width:5px;box-shadow:0 18px 42px rgba(7,48,43,.16)}

/* Responsive safety: functionality first. */
@media(max-width:1120px){
  .tg-v500-front .hero-inner{grid-template-columns:minmax(0,1fr) 440px;gap:34px}
  .tg-v500-front .hero-copy{padding-top:86px}
  .tg-v500 .service-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .tg-v500 .site-header,.tg-v500 .nav-row{height:76px}
  .tg-v500 .main-nav{top:76px;background:#fffdf9}
  .tg-v500-front .hero-inner{grid-template-columns:1fr;padding:48px 0 58px}
  .tg-v500-front .hero-copy{padding:40px 0 10px;max-width:690px}
  .tg-v500-front .hero-copy h1{font-size:clamp(3.5rem,10vw,5.5rem)}
  .tg-v500-front .booking-card{max-width:720px;margin:0}
}
@media(max-width:760px){
  .tg-v500 .wrap{width:min(var(--max),calc(100% - 30px))}
  .tg-v500 .section,.tg-v500 .tg-customer-section{padding-top:64px;padding-bottom:68px}
  .tg-v500 .service-grid{grid-template-columns:1fr}
  .tg-v500 .service-img{height:220px}
  .tg-v500 .tg-airhelp-section{padding:48px 0}
  .tg-v500 .tg-airhelp-link{border-radius:16px}
  .tg-v500 .discover{height:450px}
}
@media(max-width:520px){
  .tg-v500-front .hero-inner{padding-top:30px}
  .tg-v500-front .hero-copy{padding-top:26px}
  .tg-v500-front .hero-copy h1{font-size:3.25rem}
  .tg-v500-front .booking-card{padding:20px 16px;border-radius:18px}
  .tg-v500 .services h2,.tg-v500 .tg-customer-head h2{font-size:2.55rem}
}

/* Respect visitors asking for less motion. */
@media(prefers-reduced-motion:reduce){
  .tg-v500 *, .tg-v500 *:before, .tg-v500 *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
