:root{

--gold:#C7A96B;
--dark:#111111;
--gray:#666;
--light:#fafafa;

}

body{

font-family:Inter,sans-serif;
background:white;
color:#222;

}

html,
body {
    overflow-x: hidden;
    width: 100%;
}

h1,h2,h3,h4{

font-family:"Cormorant Garamond",serif;
font-weight: bold;

}

section{

padding:120px 0;

}


.custom-navbar{

background:#fafafa;
transition:.3s;
padding:20px 0;
border-bottom:1px solid rgba(0,0,0,.05);
transition: transform .35s ease;

}


.custom-navbar.nav-hidden{
    transform: translateY(-100%);
}

.navbar-brand img{

width: 100px;

}

.nav-link{
    position: relative;
    color: inherit;
    text-decoration: none;
    color:#222;
font-weight:500;
margin-left:25px;
}

.nav-link::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: var(--gold);
    transform: translateX(-50%);
    transition: width .35s ease;
}

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

.hero{

padding-top:120px;
background: url(Unknown-39.jpg);
background-position-y: -300px;
background-repeat: no-repeat;
background-size: cover;

}

/* Mobil */
@media (max-width: 768px){

    .hero{
        padding: 90px 10px;
        background-attachment: scroll;
        background-position: 70% center;
        background-position-y: -30px;
        
    }

    .hero img {
        filter: blur(1px);
    }

}

.hero-subtitle{

color:var(--gold);
font-size:20px;
letter-spacing:3px;
text-transform:uppercase;

}

.hero h1{

font-size:72px;
font-weight:700;
line-height:1.05;
margin:20px 0;
color: rgb(255, 255, 255);

}

.hero p{

font-size:19px;
color: white;
max-width:500px;
margin-bottom:40px;

}

.hero-image{

max-height:750px;

}


.btn-gold{

background:var(--gold);
color:white;
padding:16px 40px;
border-radius:50px;
transition:.3s;
font-weight:600;

}

.btn-gold:hover{

background:rgb(58, 58, 58);
color:white;
transform:translateY(-3px);

}

@media(max-width:992px){

.hero{

text-align:center;

}

.hero h1{

font-size:50px;

}

.hero-image{

margin-top:60px;

}

}


.about-section{

padding:140px 0;

}

.section-subtitle{

color:var(--gold);
letter-spacing:3px;
text-transform:uppercase;
font-size:14px;

}

.about-section h2{

font-size:54px;
margin:20px 0;

}

.about-section p{

color:#666;
line-height:1.9;

}

.about-image{

overflow:hidden;
border-radius:25px;

}

.about-image img{

transition:.5s;

}

.about-image:hover img{

transform:scale(1.05);

}

.btn-outline-gold{

border:2px solid var(--gold);
color:var(--gold);
padding:14px 35px;
border-radius:40px;

}

.btn-outline-gold:hover{

background:var(--gold);
color:white;

}


.services{

background:#fafafa;

}

.service-card{

background:white;
padding:50px;
border-radius:25px;
text-align:center;
transition:.35s;
height:100%;
border:1px solid #eee;

}

.service-card:hover{

transform:translateY(-10px);

box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.service-card i{

font-size:50px;

color:var(--gold);

margin-bottom:25px;

}

.service-card h4{

margin-bottom:15px;

}

.service-card p{

color:#777;

}


.gallery{

padding:140px 0;

}

.gallery-img{

width:100%;
height:350px;
object-fit:cover;
border-radius:20px;
transition:.5s;
cursor:pointer;

}


.testimonials{

background:#fafafa;

}

.testimonial{

background:white;

padding:45px;

border-radius:20px;

border:1px solid #eee;

height:100%;

}


.cta{

padding:150px 0;

background:
        linear-gradient(rgba(0,0,0,.55), rgba(74, 74, 74, 0.55)), url(images/gallery/horse/1.jpg);
color: white;

background-size: cover;
    background-position: center;
    background-attachment: fixed;

    position: relative;
    padding: 140px 0;
}

/* Mobil */
@media (max-width: 768px){

    .cta{
        padding: 90px 20px;
        background-attachment: scroll;
        background-position: center 30%;
    }

}


.footer{
    background:#111;
    color:#ddd;
    padding:80px 0 30px;
}

.footer-logo{
    width:170px;
}

.footer h5{
    color:#fff;
    margin-bottom:25px;
}

.footer-text{
    color:#999;
    line-height:1.8;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links li{
    margin-bottom:14px;
}

.footer-links a{
    color:#bbb;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#c9a35d;
}

.social-icons{
    display:flex;
    gap:15px;
}

.social-icons a{
    color:#fff;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    transition:.3s;
}

.social-icons a:hover{
    background:#c9a35d;
    border-color:#c9a35d;
}

.footer-bottom{
    margin-top:35px;
}

.legal-links{
    display:flex;
    gap:25px;
}

.legal-links a{
    color:#999;
    text-decoration:none;
}

.legal-links a:hover{
    color:#c9a35d;
}

.masonry-gallery {
    column-count: 3;
    column-gap: 20px;
}

.gallery-item {
    break-inside: avoid;
    margin-bottom: 20px;
}

.gallery-item img {
    width: 100%;
    display: block;
    border-radius: 12px;
    transition: transform .3s ease;
}


@media (max-width: 992px) {
    .masonry-gallery {
        column-count: 2;
    }
}

@media (max-width: 576px) {
    .masonry-gallery {
        column-count: 1;
    }
}

.pricing{
    padding:100px 0;
}

.price-card{

    position:relative;
    background:white;
    border-radius:20px;
    padding:45px;
    text-align:center;

    border:1px solid #eee;
    transition:.3s;
    height:100%;
}

.price-card:hover{

    transform:translateY(-8px);
    box-shadow:0 15px 40px rgba(0,0,0,.1);

}

.featured{

    border:2px solid #c9a35d;

}

.badge{

    position:absolute;
    top:-12px;
    left:50%;
    transform:translateX(-50%);
    background:#c9a35d;
    color:white;
    padding:8px 18px;
    border-radius:30px;
}

.pricing{
    padding:100px 0;
}

.small-card{
    background:white;
    border-radius:20px;
    padding:30px;
    text-align:center;
    border:1px solid #eee;
    height:100%;
    transition:.3s;
}

.small-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.small-card h4{
    margin-bottom:12px;
    font-size:1.2rem;
}

.small-card .price{
    font-size:1.6rem;
    font-weight:700;
    color:#c9a35d;
    margin-bottom:20px;
}

.small-card ul{
    list-style:none;
    padding:0;
    margin:0;
}

.small-card li{
    padding:6px 0;
    color:#666;
}

@media (max-width:768px){
    .small-card{
        padding:25px;
    }
}


.stars{
    display:flex;
    justify-content:center;
    gap:6px;
    color:#c9a35d;
    font-size:1.35rem;
    margin-bottom:20px;
}


.portfolio-filters{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 3rem;
}

.portfolio-filters .btn{
    min-width: 120px;
}

@media (max-width:768px){

    .portfolio-filters .btn{
        flex: 1 1 calc(50% - 12px);
        min-width: 140px;
    }

}

.stats{

    padding:90px 0;
    background:#fafafa;
    color:#000000;

}

.stat-item h2{

    font-size:3rem;
    font-weight:700;
    color:#c9a35d;
    margin-bottom:10px;

}

.stat-item p{

    margin:0;
    color:#000000;
    font-size:1rem;

}


.cookie-banner{

    position:fixed;
    right:30px;
    bottom:30px;

    width:420px;
    max-width:calc(100% - 30px);

    background:rgba(18,18,18,.95);

    backdrop-filter:blur(20px);

    border:1px solid rgba(212,175,55,.25);

    border-radius:22px;

    padding:28px;

    color:#fff;

    z-index:99999;

    box-shadow:0 15px 50px rgba(0,0,0,.45);

    display:none;

    animation:cookieShow .45s ease;

}

.cookie-header{

    display:flex;

    gap:15px;

    align-items:center;

    margin-bottom:18px;

}

.cookie-icon{

    width:55px;

    height:55px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#d4af37;

    font-size:28px;

}

.cookie-header h5{

    margin:0;

    color:#d4af37;

    font-weight:700;

}

.cookie-header small{

    color:#bdbdbd;

}

.cookie-banner p{

    color:#ddd;

    font-size:.95rem;

    line-height:1.7;

    margin-bottom:20px;

}

.cookie-options{

    margin-bottom:25px;

}

.cookie-options label{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}

.cookie-buttons{

    display:flex;

    gap:12px;

}

.cookie-buttons .btn{

    flex:1;

}

@keyframes cookieShow{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@media(max-width:768px){

.cookie-banner{

left:15px;

right:15px;

bottom:15px;

width:auto;

padding:22px;

}

.cookie-buttons{

flex-direction:column;

}

}


.testimonial-slider {
    overflow: hidden;
    width: 100%;
    position: relative;
    padding: 20px 0;
    cursor: grab;
    user-select: none;
    touch-action: pan-y; /* függőleges görgetés marad, vízszintes húzást mi kezeljük */
}

.testimonial-track {
    display: flex;
    gap: 25px;
    width: max-content;
    will-change: transform;
}

.testimonial-card {
    flex: 0 0 360px;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.stars {
    color: #ffc107;
    font-size: 18px;
}

@media (max-width:768px){
    .testimonial-card{
        flex:0 0 300px;
    }
}

.bold {
    font-weight: bold;
}


.back-to-top{
    position:fixed;
    right:30px;
    bottom:180px;

    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#b68c43;
    color:white;

    border-radius:50%;
    text-decoration:none;

    font-size:22px;

    box-shadow:0 10px 30px rgba(0,0,0,.25);

    transition:.3s;

    z-index:999;

    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.back-to-top:hover{
    background:#8d692d;
}


/* Accordion */

.accordion{
    --bs-accordion-border-width:0;
    --bs-accordion-bg:transparent;
    --bs-accordion-border-radius:20px;
}

.accordion-item{
    border:none;
    border-radius:20px !important;
    overflow:hidden;
    margin-bottom:18px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    background:#fff;
    
}

.accordion-button{
    background:#fff;
    color:#111;
    font-family:"Cormorant Garamond", serif;
    font-size:1.5rem;
    font-weight:700;
    padding:24px 30px;
    box-shadow:none !important;
    transition:.3s;
}

.accordion-button:hover{
    background:#fafafa;
    color:#b68c43;
}

.accordion-button:not(.collapsed){
    background:#111;
    color:#d4af37;
}

.accordion-button:focus{
    box-shadow:none;
}

.accordion-body{
    padding:35px;
    line-height:1.9;
}


.accordion-body h4{
    margin-top:30px;
    color:#b68c43;
}

.accordion-body h5{
    color:#444;
    margin-top:20px;
}

.accordion-body ul{
    padding-left:20px;
}

.accordion-body li{
    margin-bottom:8px;
}

/* Nyíl */

.accordion-button::after{
    filter: brightness(0) saturate(100%)
            invert(72%) sepia(28%)
            saturate(645%)
            hue-rotate(6deg);
    transition:.35s;
}

.accordion-button:not(.collapsed)::after{
    transform:rotate(-180deg);
}

/* Mobil */

@media(max-width:768px){

    .accordion-button{
        font-size:1.45rem;
        padding:20px;
    }

    .accordion-body{
        padding:25px;
    }

}


.language-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.95rem;
    font-weight: 600;
}

.language-switch a {
    color: rgba(184, 182, 182, 0.75);
    text-decoration: none;
    transition: .3s;
}

.language-switch a:hover {
    color: #d4af37;
}

.language-switch a.active {
    color: #d4af37;
    pointer-events: none;
    cursor: default;
}

.language-switch span {
    color: #000000;
}


@view-transition {
    navigation: auto;
}
