

:root{
  --surface-primary:#FFFFFF;
  --surface-secondary:#F6F5F2;
  --surface-tertiary:#EFE8DF;
  --surface-stone:#E3DDD2;
  --surface-wood:#C7B299;

  --accent-primary:#1B2945;
  --accent-black:#181818;
  --accent-gold:#D1B06B;

  --text-primary:#181818;
  --text-secondary:#3C3C3C;
  --text-inverse:#FFFFFF;

  --font-heading:'Playfair Display',serif;
  --font-body:'Inter','Segoe UI','Arial',sans-serif;

  --text-xs:0.95rem;
  --text-sm:1.1rem;
  --text-md:1.4rem;
  --text-lg:1.8rem;
  --text-xl:2.4rem;
  --text-xxl:3.2rem;

  --space-1:0.5rem;
  --space-2:1rem;
  --space-3:2rem;
  --space-4:3rem;
  --space-5:4rem;
  --space-6:6rem;

  --radius-0:0px;
  --radius-1:2px;
  --radius-2:4px;

  --shadow-soft:0 2px 8px rgba(0,0,0,0.04);

  --container-max:1200px;

  --transition-fast:0.15s ease;
}

*,
*::before,
*::after{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
}

body{
  font-family:var(--font-body);
  color:var(--text-primary);
  background:var(--surface-primary);
  line-height:1.6;
  min-height:100vh;
  text-rendering:optimizeLegibility;
}

img,
picture,
video,
canvas,
svg{
  display:block;
  max-width:100%;
  height:auto;
}

input,
button,
textarea,
select{
  font:inherit;
  color:inherit;
  background:none;
  border:none;
  outline:none;
}

button{
  cursor:pointer;
}

a{
  color:var(--accent-primary);
  text-decoration:none;
  transition:color var(--transition-fast);
}

a:hover{
  color:var(--accent-gold);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-heading);
  color:var(--accent-black);
  letter-spacing:0.04em;
  line-height:1.2;
  margin-block-end:var(--space-2);
}
.home-hero__content h1,
.home-hero__content p{
  color: #fff!important;
}
h1{
  font-size:clamp(2.2rem,4vw,3.2rem);
}

h2{
  font-size:clamp(1.8rem,3vw,2.4rem);
}

h3{
  font-size:clamp(1.5rem,2.5vw,1.8rem);
}

h4{
  font-size:1.4rem;
}

h5{
  font-size:1.1rem;
}

h6{
  font-size:0.95rem;
}

p{
  font-size:var(--text-sm);
  color:var(--text-secondary);
  margin-block-end:var(--space-2);
}

ul,
ol{
  margin-block-end:var(--space-2);
  padding-inline-start:1.2rem;
}

blockquote{
  margin-block-end:var(--space-3);
  padding-inline-start:var(--space-2);
  border-left:2px solid var(--surface-wood);
  color:var(--text-secondary);
}

.flow > *{
  margin-block-end:var(--space-2);
}

.flow > *:last-child{
  margin-block-end:0;
}

.container{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--space-3);
}

.section{
  padding-block:var(--space-5);
}

.section--spacious{
  padding-block:var(--space-6);
}

.surface-secondary{
  background:var(--surface-secondary);
}

.surface-tertiary{
  background:var(--surface-tertiary);
}

.surface-stone{
  background:var(--surface-stone);
}

.flex{
  display:flex;
  gap:var(--space-2);
}

.flex > *{
  min-width:0;
}

.flex-col{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}

.flex-col > *{
  min-width:0;
}

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

.items-start{
  align-items:flex-start;
}

.items-end{
  align-items:flex-end;
}

.justify-between{
  justify-content:space-between;
}

.justify-center{
  justify-content:center;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.9rem 1.6rem;
  font-size:var(--text-xs);
  letter-spacing:0.08em;
  text-transform:uppercase;
  border-radius:var(--radius-2);
  transition:all var(--transition-fast);
  white-space:nowrap;
}

.btn-primary{
  background:var(--accent-primary);
  color:var(--text-inverse);
}

.btn-primary:hover{
  background:#162238;
  box-shadow:inset 0 -2px 0 var(--accent-gold);
}

.btn-outline{
  border:1px solid var(--accent-black);
  color:var(--accent-black);
}

.btn-outline:hover{
  border-color:var(--accent-gold);
  color:var(--accent-gold);
}

input,
textarea,
select{
  width:100%;
  padding:0.8rem 0.9rem;
  border:1px solid var(--surface-wood);
  border-radius:var(--radius-1);
  background:var(--surface-primary);
  transition:border var(--transition-fast),background var(--transition-fast);
}

input:focus,
textarea:focus,
select:focus{
  border-color:var(--accent-primary);
  background:#fafafa;
}

label{
  display:block;
  font-size:0.8rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-block-end:0.4rem;
}

hr{
  border:none;
  border-top:1px solid var(--surface-stone);
  margin-block:var(--space-4);
}

.card{
  background:var(--surface-secondary);
  border-radius:var(--radius-1);
  box-shadow:var(--shadow-soft);
  padding:var(--space-3);
}

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

.text-right{
  text-align:right;
}

.w-full{
  width:100%;
}

@media (max-width:768px){
  .container{
    padding-inline:var(--space-2);
  }

  .section{
    padding-block:var(--space-4);
  }

  .section--spacious{
    padding-block:var(--space-5);
  }

  .btn{
    width:100%;
  }
}


.gtg-header{position:sticky;top:0;z-index:1000;background:var(--surface-primary);border-bottom:1px solid var(--surface-stone)}
.gtg-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:72px}
.gtg-header__logo{height:40px;width:auto}
.gtg-header__brand-text{font-family:var(--font-heading);font-size:1.1rem;color:var(--accent-black)}
.gtg-header__logo-link{display:flex;align-items:center;gap:0.6rem}
.gtg-header__nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-3);align-items:center}
.gtg-header__nav a{font-size:var(--text-xs);letter-spacing:0.08em;text-transform:uppercase;color:var(--accent-black)}
.gtg-header__toggle{display:none;flex-direction:column;gap:4px;padding:0.5rem}
.gtg-header__toggle-line{width:22px;height:2px;background:var(--accent-black)}
.gtg-header__mobile{position:fixed;top:72px;left:0;width:100%;background:var(--surface-primary);z-index:999;border-top:1px solid var(--surface-stone)}
.gtg-header__mobile-menu{list-style:none;margin:0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}
@media(max-width:900px){
.gtg-header__nav{display:none}
.gtg-header__toggle{display:flex}
.gtg-header__logo{height:28px}
}


.gtg-footer{background:var(--surface-secondary);padding-block:var(--space-5)}
.gtg-footer__inner{display:flex;flex-direction:column;gap:var(--space-4)}
.gtg-footer__nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2)}
.gtg-footer__logo{height:40px;margin-bottom:var(--space-2)}
.gtg-consent{position:fixed;bottom:0;left:0;width:100%;background:var(--surface-primary);border-top:1px solid var(--surface-stone);padding:var(--space-2);z-index:1000}
.gtg-consent__inner{max-width:900px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2);text-align:center}
.gtg-consent[hidden]{display:none!important}
.gtg-age{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center}
.gtg-age__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.6)}
.gtg-age__dialog{position:relative;background:var(--surface-primary);padding:var(--space-4);max-width:400px;width:100%;text-align:center}
[data-age-modal][hidden]{display:none!important}




.terms-intro__inner{
  max-width:720px;
  margin-inline:auto;
}

.terms-highlight{
  font-weight:500;
  color:var(--accent-black);
}

.terms-section__inner{
  max-width:760px;
  margin-inline:auto;
}

.terms-narrow{
  max-width:720px;
}

.terms-section h2{
  text-transform:uppercase;
  letter-spacing:0.08em;
}

.terms-section{
  border-top:1px solid var(--surface-stone);
}

.terms-end{
  padding-bottom:var(--space-6);
}

@media (max-width:768px){
  .terms-intro__inner,
  .terms-section__inner{
    padding-inline:var(--space-2);
  }
}


.cookies-page h1,
.cookies-page h2{
  text-transform:uppercase;
}

.cookies-intro__inner{
  max-width:720px;
  margin-inline:auto;
  text-align:left;
}

.cookies-types__inner{
  max-width:760px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
}

.cookies-types__block{
  padding-top:var(--space-3);
  border-top:1px solid var(--surface-stone);
}

.cookies-types__block:first-of-type{
  border-top:none;
  padding-top:0;
}

.cookies-usage__inner{
  max-width:720px;
  margin-inline:auto;
}

.cookies-management__inner{
  max-width:720px;
  margin-inline:auto;
}

.cookies-legal__inner{
  max-width:720px;
  margin-inline:auto;
}

.cookies-contact__inner{
  max-width:720px;
  margin-inline:auto;
}

@media (max-width:768px){
  .cookies-types__inner{
    gap:var(--space-3);
  }
}


.home-hero{position:relative;min-height:80vh;display:flex;align-items:center}
.home-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero__content{position:relative;max-width:600px;margin-left:10%;display:flex;flex-direction:column;gap:var(--space-3)}

.home-about__text{max-width:700px;margin-inline:auto;text-align:center}

.home-specialties__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}
.home-card{display:flex;flex-direction:column;gap:var(--space-2)}
.home-card img{width:100%}

.home-season__text{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}

.home-casino{background:var(--accent-primary);color:var(--text-inverse)}
.home-casino__inner{max-width:600px;margin-inline:auto;text-align:center}

.home-business__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.home-business__text{max-width:500px}

.home-private__text{max-width:700px;margin-inline:auto;text-align:center}

.home-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}

.home-reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);max-width:800px;margin-inline:auto;text-align:center}

.home-reservation__form{max-width:600px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2)}

.home-contact__text{max-width:500px;margin-inline:auto;text-align:center}

@media(max-width:900px){
.home-specialties__grid{grid-template-columns:1fr}
.home-gallery__grid{grid-template-columns:1fr}
.home-reviews__grid{grid-template-columns:1fr}
.home-business__grid{grid-template-columns:1fr}
.home-hero__content{margin:0 auto;text-align:center;padding:var(--space-3)}
}



.menu-hero__grid{display:grid;grid-template-columns:40% 60%;gap:var(--space-5);align-items:center}
.menu-hero__text{max-width:520px}
.menu-hero__image img{width:100%;height:auto}

.menu-philosophy__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}
.menu-philosophy__item{min-width:0;text-align:center}

.menu-two-col{display:grid;grid-template-columns:60% 40%;gap:var(--space-5);align-items:start}
.menu-text{min-width:0}
.menu-image img{width:100%}
.price{color:var(--accent-gold);float:right}

.menu-drinks__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4);text-align:center}

.menu-casino__inner{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}

.menu-cta{background:var(--accent-primary);color:var(--text-inverse)}
.menu-cta__inner{max-width:520px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}

@media (max-width:1000px){
.menu-hero__grid{grid-template-columns:1fr}
.menu-two-col{grid-template-columns:1fr}
.menu-philosophy__grid{grid-template-columns:1fr}
.menu-drinks__grid{grid-template-columns:1fr}
}


.kontakt-page .kontakt-hero-inner{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}

.kontakt-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}
.kontakt-card{background:var(--surface-primary);padding:var(--space-3);border:1px solid var(--surface-stone);display:flex;flex-direction:column;gap:var(--space-2);text-align:center}

.kontakt-form-intro{max-width:700px;margin:0 auto var(--space-3);text-align:center}
.kontakt-form{max-width:700px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3)}
.form-group{display:flex;flex-direction:column;gap:var(--space-1)}
.form-success{color:var(--accent-primary);font-size:var(--text-sm)}

.kontakt-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}
.step{display:flex;flex-direction:column;gap:var(--space-2);text-align:center}

.kontakt-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-4)}
.event-block{max-width:500px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-2)}

.kontakt-etiquette-text{max-width:600px;margin-inline:auto;text-align:center}
.kontakt-response-text{max-width:600px;margin-inline:auto;text-align:center}

.kontakt-cta{background:var(--accent-primary);color:var(--text-inverse)}
.kontakt-cta-inner{max-width:600px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;gap:var(--space-3)}
.kontakt-cta .btn{align-self:center}

@media (max-width:900px){
.kontakt-options-grid{grid-template-columns:1fr}
.kontakt-steps-grid{grid-template-columns:1fr}
.kontakt-events-grid{grid-template-columns:1fr}
}




.sp-hero-grid{
  display:grid;
  grid-template-columns:40% 60%;
  align-items:center;
  gap:var(--space-5);
}
.sp-hero-text{
  max-width:520px;
}
.sp-hero-media img{
  width:100%;
  height:auto;
}

.sp-types-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
}
.sp-card{
  padding:var(--space-3);
  background:var(--surface-secondary);
}

.sp-space-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--space-5);
  align-items:center;
}
.sp-space-text{
  max-width:700px;
}

.sp-food-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
  text-align:center;
}

.sp-capacity{
  max-width:600px;
}

.sp-steps-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
  text-align:center;
}

.sp-addon{
  max-width:600px;
}

.sp-why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
  text-align:center;
}

.sp-cta{
  background:var(--accent-primary);
  color:var(--text-inverse);
}
.sp-cta-inner{
  max-width:520px;
  margin-inline:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.sp-cta h2,
.sp-cta p{
  color:var(--text-inverse);
}

@media (max-width:900px){
  .sp-hero-grid{
    grid-template-columns:1fr;
  }
  .sp-space-grid{
    grid-template-columns:1fr;
  }
  .sp-types-grid,
  .sp-food-grid,
  .sp-steps-grid,
  .sp-why-grid{
    grid-template-columns:1fr;
  }
}


.privacy-page .privacy-narrow{
  max-width:720px;
  margin-inline:auto;
}

.privacy-page .privacy-medium{
  max-width:760px;
  margin-inline:auto;
}

.privacy-page .privacy-wide{
  max-width:820px;
  margin-inline:auto;
}

.privacy-page .privacy-section{
  border-top:1px solid var(--surface-stone);
}

.privacy-page h1{
  margin-bottom:var(--space-3);
}

.privacy-page h2{
  margin-bottom:var(--space-3);
}

.privacy-page ul{
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
  padding-left:1.2rem;
}

@media (max-width:768px){
  .privacy-page .privacy-narrow,
  .privacy-page .privacy-medium,
  .privacy-page .privacy-wide{
    max-width:100%;
  }
}


.restauracia-page{display:block}

.rest-hero{position:relative}
.rest-hero__img{width:100%;height:70vh;object-fit:cover}
.rest-hero__content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);max-width:600px;margin:auto;text-align:center}
.rest-hero__content h1{text-transform:uppercase}

.rest-philosophy__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);max-width:800px;margin:var(--space-4) auto 0}
.rest-philosophy__grid>div{min-width:0}

.rest-split{display:grid;grid-template-columns:40% 60%;gap:var(--space-4);align-items:center}
.rest-split__text{max-width:600px}
.rest-split__image img{width:100%;height:auto}

.rest-fish__grid,.rest-drinks__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);max-width:700px;margin:var(--space-4) auto 0}

.rest-center-block{max-width:600px;margin:0 auto;text-align:center}
.rest-center-wide{max-width:700px;margin:0 auto;text-align:center}

.rest-cta__box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);max-width:600px;margin:0 auto}

@media (max-width:900px){
.rest-split{grid-template-columns:1fr}
.rest-hero__img{height:50vh}
}

@media (max-width:768px){
.rest-philosophy__grid{grid-template-columns:1fr}
.rest-fish__grid,.rest-drinks__grid{grid-template-columns:1fr}
.rest-hero__content{position:static;padding:var(--space-3)}
}



.fv-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,0.45fr) minmax(0,0.55fr);
  gap:var(--space-5);
  align-items:center;
}
.fv-hero-text{max-width:520px}
.fv-hero-image img{width:100%;height:auto}

.fv-benefit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  margin-top:var(--space-4);
}
.fv-benefit{max-width:360px;margin-inline:auto;text-align:center}

.fv-types-wrap{max-width:900px;margin-inline:auto}

.fv-gastro-grid{
  display:grid;
  grid-template-columns:minmax(0,0.6fr) minmax(0,0.4fr);
  gap:var(--space-5);
  align-items:start;
}
.fv-gastro-text{max-width:640px}
.fv-gastro-image img{width:100%}

.fv-space-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-5);
  align-items:center;
}
.fv-space-text{max-width:520px}

.fv-flow-wrap{max-width:720px;margin-inline:auto}
.fv-casino-wrap{max-width:600px;margin-inline:auto}
.fv-reservation-wrap{max-width:720px}

.fv-cta{
  background:var(--accent-primary);
  color:var(--text-inverse);
}
.fv-cta h2,.fv-cta p{color:var(--text-inverse)}
.fv-cta-wrap{max-width:520px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-3)}

@media (max-width:900px){
  .fv-hero-grid,
  .fv-gastro-grid,
  .fv-space-grid{
    grid-template-columns:1fr;
  }
  .fv-hero-text,
  .fv-space-text,
  .fv-gastro-text{max-width:100%}
}

@media (max-width:768px){
  .fv-benefit-grid{grid-template-columns:1fr}
}




.kz-hero-grid{
  display:grid;
  grid-template-columns:40% 60%;
  gap:var(--space-5);
  align-items:center;
}
.kz-hero-text{
  max-width:480px;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}
.kz-hero-sub{
  max-width:42ch;
}
.kz-hero-image img{
  width:100%;
}

.kz-concept-text{
  max-width:700px;
  margin-inline:auto;
}

.kz-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
}
.kz-card{
  padding:var(--space-3);
  background:var(--surface-primary);
  border:1px solid var(--surface-stone);
  display:flex;
  flex-direction:column;
  gap:var(--space-2);
}

.kz-atmosphere-grid{
  display:grid;
  grid-template-columns:60% 40%;
  gap:var(--space-5);
  align-items:center;
}
.kz-atmosphere-text{
  max-width:420px;
}

.kz-social{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--space-4);
  max-width:900px;
  margin-inline:auto;
}

.kz-events-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-5);
}

.kz-trust-text{
  max-width:700px;
  margin-inline:auto;
}

.kz-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-3);
}
.kz-gallery img{
  width:100%;
}

.kz-cta-box{
  max-width:500px;
  margin-inline:auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:var(--space-3);
}

@media (max-width:900px){
  .kz-hero-grid,
  .kz-atmosphere-grid,
  .kz-cards,
  .kz-social,
  .kz-events-grid,
  .kz-gallery{
    grid-template-columns:1fr;
  }

  .kz-hero-text,
  .kz-atmosphere-text{
    max-width:100%;
  }
}


.thankyou__inner{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:var(--space-3);
  text-align:center;
  min-height:60vh;
}

.thankyou__content{
  max-width:640px;
  margin-inline:auto;
}

.thankyou__actions{
  display:flex;
  gap:var(--space-2);
  justify-content:center;
  flex-wrap:wrap;
  margin-top:var(--space-2);
}

@media (max-width:768px){
  .thankyou__inner{
    min-height:auto;
  }

  .thankyou__actions{
    flex-direction:column;
    width:100%;
  }
}