@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&family=Roboto+Slab:wght@400;700&family=Source+Sans+3:ital,wght@0,400;0,600;1,400&display=swap');

/* === Font Definitions === */
:root {
  --font-heading: 'Georgia', serif;
  --font-body: 'Lato', sans-serif;
  --font-accent: 'Source Sans 3', sans-serif;
}

body {
  font-family: var(--font-body);
}

h1, h2, h3, h4, h5, h6, .navbar-brand {
  font-family: var(--font-heading);
}

.text-font-accent {
  font-family: var(--font-accent);
}

/* === Color Palettes for Accounting Office Website === */

/* Palette 1 – Klasyczna Elegancja */
:root.palette-classic {
  --main-color:#1A2F4F; /* granat */
  --accent-color:#C7A252; /* złoty */
  --accent-color-hover:#D4AF37; /* jaśniejszy złoty */
  --muted-accent:#C0C0C0; /* srebrny */
  --neutral-light:#F2F2F2; /* jasnoszary */
  --neutral-white:#FFFFFF;
}

/* Palette 2 – Nowoczesny Minimalizm (default) */
:root,
:root.palette-modern {
  --main-color:#2F4F4F; /* ciemna zieleń */
  --accent-color:#B87333; /* miedziany */
  --accent-color-hover:#E69554; /* stonowany pomarańcz */
  --muted-accent:#D9D9D9; /* ciepły szary */
  --neutral-light:#FCF8F2; /* kremowy */
  --neutral-white:#FFFFFF;
}

/* Palette 3 – Profesjonalna Spójność */
:root.palette-professional {
  --main-color:#36454F; /* głęboka szarość */
  --accent-color:#4169E1; /* błękit królewski */
  --accent-color-hover:#3153b5; /* ciemniejszy błękit */
  --muted-accent:#20B2AA; /* morska zieleń - alternatywny accent */
  --neutral-light:#E0E0E0; /* chłodny szary */
  --neutral-white:#FFFFFF;
}

/* === Utility Classes === */
.bg-main{background-color:var(--main-color)!important;}
.text-main{color:var(--main-color)!important;}

.bg-accent{background-color:var(--accent-color)!important;}
.text-accent{color:var(--accent-color)!important;}

.bg-neutral{background-color:var(--neutral-light)!important;}

.btn-accent{
  background-color:var(--accent-color) !important;
  border-color:var(--accent-color) !important;
  color:#fff !important;
}
.btn-accent:hover,
.btn-accent:focus{
  background-color:var(--accent-color-hover) !important;
  border-color:var(--accent-color-hover) !important;
  color:#fff !important;
}

.navbar-custom{
  background-color:var(--main-color) !important;
}
.navbar-custom .navbar-brand,
.navbar-custom .nav-link{
  color:#fff !important;
}
.navbar-custom .navbar-brand:hover,
.navbar-custom .nav-link:hover{color:var(--accent-color-hover);}

.topbar-custom{
  background-color:var(--main-color);
  color:#fff;
  font-size:0.9rem;
}
.topbar-custom a{color:var(--accent-color) !important; font-size:1.4rem;}
.topbar-custom a:hover{color:var(--accent-color-hover);}

.topbar-custom a.contact-link {
  color: var(--neutral-white) !important;
  font-size: 0.9rem !important;
  text-decoration: none;
}

.topbar-custom a.contact-link:hover {
  color: var(--accent-color-hover) !important;
}

#copy-email-icon {
    transition: color 0.2s ease-in-out, transform 0.2s ease-in-out;
}
#copy-email-icon:hover {
    color: var(--accent-color) !important;
    transform: scale(1.1);
}
.tooltip-inner {
    background-color: var(--accent-color) !important;
    color: var(--neutral-white) !important;
}
.bs-tooltip-top .arrow::before {
    border-top-color: var(--accent-color) !important;
}


/* Alternative navbar variant on neutral background */
.navbar-alt{
  background-color:var(--main-color) !important;
}
.navbar-alt .navbar-brand,
.navbar-alt .nav-link{
  color:var(--neutral-white) !important;
}
.navbar-alt .navbar-brand:hover,
.navbar-alt .nav-link:hover{
  color:var(--accent-color-hover);
}

/* Hover shadow effect */
.btn,
.nav-link,
i.bi,
button{
  transition:box-shadow .2s ease, transform .2s ease;
}

.navbar-nav .nav-link{
  font-weight: 600;
}

.nav-link:hover {
  box-shadow:0 0.4rem 0.8rem rgba(0,0,0,.15);
  transform:translateY(-2px);
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
} 

.nav-link-highlight {
    color: var(--accent-color) !important;
    border: 1px solid var(--accent-color);
    border-radius: 5px;
    padding: 5px 10px !important;
    margin-left: 5px;
    transition: all 0.3s ease;
}

.nav-link-highlight:hover {
    background-color: var(--accent-color);
    color: black !important;
    box-shadow: 0 0.2rem 0.5rem rgba(0,0,0,.15);
    transform: translateY(-1px);
}

/* Parallax background helper */
.parallax{
  background-attachment:fixed;
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
  position:relative;
  background-color:var(--main-color);
}
.parallax-overlay{
  position:relative;
  z-index:2;
}
.parallax::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  background-color:rgba(26,47,79,.65); /* granatowa półprzezroczysta nakładka */
  z-index:1;
}

/* Hero Section Height */
#hero {
    min-height: 400px;
}

@media (max-width: 768px) {
    #hero {
        min-height: 550px;
    }

    .parallax {
      background-attachment: scroll;
    }
}

.holographic-card {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  transition: all 0.5s ease;
}

.holographic-card::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    0deg, 
    transparent, 
    transparent 30%, 
    var(--main-color, rgba(0,255,255,0.1))
  );
  transform: rotate(-45deg);
  transition: all 0.7s ease;
  opacity: 0;
}

.holographic-card:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px var(--accent-color) !important;
}

.holographic-card:hover::before {
  opacity: 1;
  transform: rotate(-45deg) translateY(100%);
}

/* Cookie Consent Banner */
.cookie-consent-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #343a40;
    color: white;
    padding: 15px;
    z-index: 1050;
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
}

.cookie-consent-banner p {
    margin: 0;
    font-size: 0.9rem;
}

.cookie-consent-banner a {
    color: var(--accent-color);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .cookie-consent-banner .container {
        flex-direction: column;
        text-align: center;
    }

    .cookie-consent-banner p {
        margin-bottom: 10px;
    }
}

/* Toast Notification */
.toast-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1055;
    background-color: #28a745;
    color: white;
    padding: 15px 20px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.toast-notification.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.toast-notification .icon {
    margin-right: 10px;
    font-size: 1.2rem;
} 

#benefits i{color:var(--accent-color);}  
  
.animate-on-scroll {
  opacity: 0;
  transition: opacity 0.9s ease-in-out, transform 0.3s ease-in-out !important;
}

.animate-on-scroll.visible {
  opacity: 1;
}


.scale-hover-logo {
  transform: scale(1.4);
  will-change: transform;
}

.scale-hover-logo:hover{
  transform: scale(1.5) !important;
}

.scale-hover {
  transform: scale(1);
  will-change: transform;
}

.scale-hover:hover{
  transform: scale(1.05) !important;
}

/* Dla elementów które mają obie klasy */
.scale-hover.animate-on-scroll {
  transition: opacity 0.9s ease-in-out, transform 0.3s ease-in-out !important;
}

/* Burger menu accent color */
.navbar-toggler{
  border-color: var(--neutral-light) !important;
}
.navbar-toggler-icon{
  background-image:none !important;
  width:1.5rem;
  height:2px;
  background-color:var(--neutral-light);
  position:relative;
}
.navbar-toggler-icon::before,
.navbar-toggler-icon::after{
  content:'';
  position:absolute;
  left:0;
  width:1.5rem;
  height:2px;
  background-color:var(--neutral-light);
}
.navbar-toggler-icon::before{top:-6px;}
.navbar-toggler-icon::after{top:6px;}

/* Active/open burger menu color change */
.navbar-toggler:not(.collapsed){
  border-color: var(--neutral-light) !important;
}
.navbar-toggler:not(.collapsed) .navbar-toggler-icon,
.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before,
.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after{
  background-color: var(--neutral-light) !important;
}

/* FAQ Accordion Styles */
.faq-accordion .card {
    border: 1px solid #e0e0e0;
    border-radius: .25rem;
    margin-bottom: 1rem;
    overflow: hidden;
}
.faq-accordion .card-header {
    background-color: transparent;
    border-bottom: none;
    padding: 1rem 1.5rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.faq-accordion .card-header .header-content {
    display: flex;
    align-items: center;
}
.faq-accordion .card-header .faq-icon {
    font-size: 1.5rem;
    color: var(--accent-color);
    margin-right: 1rem;
    min-width: 30px;
}
.faq-accordion .card-header h5 {
    margin-bottom: 0;
    font-size: 1.1rem;
    font-family: var(--font-body);
    color: var(--main-color);
}
.faq-accordion .card-header .arrow-icon {
    transition: transform 0.3s ease;
    color: var(--accent-color);
    font-size: 1.2rem;
}
.faq-accordion .card-header[aria-expanded="true"] .arrow-icon {
    transform: rotate(180deg);
}
.faq-accordion .card-body {
    padding: 0 1.5rem 1rem 1.5rem;
    font-size: 0.95rem;
    color: #555;
}

