/* ==========================================================
   style-home.css - Restaurante China Lanzarote
   ========================================================== */

/* ----------------------------------------------------------
   VARIABLES & BASE
   ---------------------------------------------------------- */
:root {
  --color-gold:       #917852;
  --color-gold-light: #b8986a;
  --color-red:        #c0392b;
  --color-dark:       #2b2b2b;
  --color-text:       #333333;
  --color-bg:         #f9f6f1;
  --color-white:      #ffffff;
  --font-heading:     'Georgia', 'Times New Roman', serif;
  --font-body:        'Arial', 'Helvetica Neue', sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
  background-color: var(--color-white);
  margin: 0;
  padding: 0;
  line-height: 1.7;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--color-gold);
  text-decoration: none;
  transition: color 0.25s ease;
}

a:hover {
  color: var(--color-red);
}

/* ----------------------------------------------------------
   LAYOUT WRAPPERS
   ---------------------------------------------------------- */
#boxed-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  background: var(--color-white);
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.12);
}

.fusion-wrapper {
  overflow: hidden;
}

.fusion-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}

.fusion-clearfix::after {
  content: '';
  display: table;
  clear: both;
}

/* ----------------------------------------------------------
   SECONDARY HEADER (top bar)
   ---------------------------------------------------------- */
.fusion-secondary-header {
  background-color: var(--color-dark);
  padding: 8px 0;
  font-size: 13px;
}

.fusion-secondary-header .fusion-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.fusion-contact-info {
  color: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.fusion-contact-info-phone-number b {
  color: var(--color-gold-light);
  letter-spacing: 0.5px;
}

.fusion-header-separator {
  color: rgba(255, 255, 255, 0.35);
  margin: 0 4px;
}

.fusion-contact-info-email-address a {
  color: rgba(255, 255, 255, 0.75);
  font-size: 12px;
}

.fusion-contact-info-email-address a:hover {
  color: var(--color-gold-light);
}

/* Social links in header */
.fusion-social-links-header {
  display: flex;
  align-items: center;
}

.fusion-social-networks-wrapper {
  display: flex;
  gap: 10px;
}

.fusion-social-network-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.1);
  transition: background-color 0.25s ease;
}

.fusion-social-network-icon:hover {
  background-color: var(--color-gold);
}

/* ----------------------------------------------------------
   MAIN HEADER & LOGO
   ---------------------------------------------------------- */
.fusion-header-wrapper {
  position: relative;
  z-index: 100;
}

.fusion-header-shadow {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.fusion-header {
  background-color: var(--color-white);
  padding: 15px 0;
}

.fusion-header .fusion-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.fusion-logo {
  display: flex;
  justify-content: center;
  padding: 10px 0;
}

.fusion-logo-link {
  display: inline-block;
}

.fusion-standard-logo,
.fusion-mobile-logo {
  max-height: 80px;
  width: auto;
  transition: opacity 0.25s ease;
}

.fusion-standard-logo:hover {
  opacity: 0.85;
}

/* Sticky header */
.fusion-sticky-header-wrapper {
  background-color: var(--color-white);
}

.fusion-header-sticky-height {
  height: 0;
}

/* ----------------------------------------------------------
   NAVIGATION MENU
   ---------------------------------------------------------- */
.fusion-secondary-main-menu {
  background-color: var(--color-dark);
  border-top: 3px solid var(--color-gold);
}

.fusion-secondary-main-menu .fusion-row {
  display: flex;
  justify-content: center;
}

.fusion-main-menu {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.fusion-menu {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 4px;
}

.fusion-menu > li > a {
  display: block;
  padding: 14px 16px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  position: relative;
  transition: color 0.25s ease;
}

.fusion-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background-color: var(--color-gold);
  transition: width 0.3s ease;
}

.fusion-menu > li > a:hover,
.fusion-menu > li.current-menu-item > a {
  color: var(--color-gold-light);
}

.fusion-menu > li > a:hover::after,
.fusion-menu > li.current-menu-item > a::after {
  width: 100%;
}

.fusion-bar-highlight .menu-text {
  display: inline-block;
}

/* Mobile menu - hidden by default */
.fusion-mobile-navigation,
.fusion-mobile-nav-holder {
  display: none;
}

/* Flyout menu icons */
.fusion-flyout-menu-icons {
  display: none;
  cursor: pointer;
}

/* ----------------------------------------------------------
   HERO SLIDER
   ---------------------------------------------------------- */
#sliders-container {
  width: 100%;
  overflow: hidden;
}

.fusion-slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.tfs-slider,
.flexslider {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: var(--color-dark);
}

.slides {
  list-style: none;
  margin: 0;
  padding: 0;
}

.slides li {
  position: relative;
  overflow: hidden;
}

.background.background-image {
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.slide-content-container {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 10;
  padding: 0 40px;
}

.slide-content {
  max-width: 600px;
  color: var(--color-white);
}

.fusion-slider-loading {
  display: none;
  text-align: center;
  padding: 40px;
  color: #999;
  font-style: italic;
}

/* ----------------------------------------------------------
   MAIN CONTENT AREA
   ---------------------------------------------------------- */
#main {
  background-color: var(--color-white);
}

.fusion-fullwidth {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.fusion-builder-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1170px;
}

/* ----------------------------------------------------------
   SECTION: CONOCE NUESTRA COCINA (Video section)
   ---------------------------------------------------------- */
.fusion-builder-row-2 {
  background-color: var(--color-bg);
  padding: 60px 30px;
}

.fusion-builder-row-2 .fusion-builder-row {
  justify-content: center;
}

/* ----------------------------------------------------------
   SECTION TITLES (fusion-title)
   ---------------------------------------------------------- */
.fusion-title {
  text-align: center;
  margin: 20px 0;
}

.fusion-title h2,
.fusion-title .title-heading-center {
  font-family: var(--font-heading);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 700;
  color: var(--color-text);
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1.4;
}

.fusion-title h2 p,
.fusion-title .title-heading-center p {
  margin: 0;
}

/* Gold separator line */
.fusion-separator {
  text-align: center;
  margin: 10px auto 25px;
}

.fusion-separator-border {
  display: block;
  border-top-style: solid;
}

/* ----------------------------------------------------------
   YOUTUBE VIDEO EMBED
   ---------------------------------------------------------- */
.fusion-video {
  text-align: center;
  margin: 0 auto;
}

.fusion-video .video-shortcode {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.fusion-video .video-shortcode iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* ----------------------------------------------------------
   SECTION: QUIÉNES SOMOS (#quienessomos)
   ---------------------------------------------------------- */
.fusion-builder-row-3 {
  background-color: var(--color-bg);
}

.fusion-builder-row-3 .fusion-column-wrapper {
  padding: 0 30px 40px;
}

#quienessomos {
  display: block;
}

/* ----------------------------------------------------------
   SECTION: NUESTROS SERVICIOS (#nuestrosservicios)
   ---------------------------------------------------------- */
.fusion-builder-row-4 {
  background-color: var(--color-white);
}

#nuestrosservicios {
  display: block;
}

/* ----------------------------------------------------------
   INNER COLUMNS (services grid)
   ---------------------------------------------------------- */
.fusion-builder-row-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  width: 100%;
}

.fusion_builder_column_inner_1_2 {
  width: 50%;
  padding: 0 15px 20px;
}

/* ----------------------------------------------------------
   TEXT CONTENT BLOCKS
   ---------------------------------------------------------- */
.fusion-text {
  font-size: 15px;
  line-height: 1.8;
  color: #555;
  margin-bottom: 20px;
}

.fusion-text p {
  margin: 0 0 15px;
}

/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */
.fusion-button-wrapper {
  margin-top: 20px;
  text-align: center;
}

.fusion-button {
  display: inline-block;
  padding: 12px 28px;
  background-color: var(--color-dark);
  color: var(--color-white) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 2px solid var(--color-dark);
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
  text-decoration: none;
}

.fusion-button:hover {
  background-color: var(--color-gold);
  border-color: var(--color-gold);
  color: var(--color-white) !important;
}

.fusion-button-text {
  display: inline-block;
}

/* ----------------------------------------------------------
   PHOTO GALLERY / PLATOS SECTION
   ---------------------------------------------------------- */
#nuestrosplatos {
  display: block;
}

/* Images in content */
.fusion-column-wrapper img {
  border-radius: 3px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.fusion-column-wrapper img:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* ----------------------------------------------------------
   MENU ANCHOR (invisible target)
   ---------------------------------------------------------- */
.fusion-menu-anchor {
  display: block;
  position: relative;
  top: -80px;
  visibility: hidden;
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.fusion-footer {
  background-color: var(--color-dark);
  color: rgba(255, 255, 255, 0.75);
}

.fusion-footer-widget-area {
  padding: 50px 0 30px;
  border-top: 3px solid var(--color-gold);
}

.fusion-footer-widget-area .fusion-row {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}

.fusion-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
  justify-content: center;
}

.fusion-columns .fusion-column {
  flex: 1 1 200px;
  text-align: center;
}

/* Footer logo */
.fusion-footer-widget-column .image {
  margin: 0 auto;
  filter: brightness(0) invert(1);
  opacity: 0.85;
  max-width: 220px;
}

/* Footer widget text */
.fusion-footer-widget-column,
.widget {
  font-size: 13px;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.65);
}

/* Footer copyright bar */
.fusion-footer-copyright-area {
  background-color: #1a1a1a;
  padding: 16px 0;
  text-align: center;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.fusion-copyright-content a {
  color: var(--color-gold-light);
}

.fusion-copyright-content a:hover {
  color: var(--color-white);
}

/* ----------------------------------------------------------
   COLUMN LAYOUT HELPERS (Fusion Builder)
   ---------------------------------------------------------- */
.fusion-layout-column {
  padding: 0 15px;
}

.fusion_builder_column_1_1 {
  width: 100%;
}

.fusion_builder_column_3_5 {
  width: 60%;
}

.fusion_builder_column_1_5 {
  width: 20%;
}

.fusion_builder_column_2_3 {
  width: 66.666%;
}

.fusion_builder_column_1_6 {
  width: 16.666%;
}

/* ----------------------------------------------------------
   SEARCH FORM
   ---------------------------------------------------------- */
.fusion-search-form {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fusion-search-field input[type="search"] {
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-white);
  border-radius: 3px;
  font-size: 14px;
  outline: none;
  width: 220px;
  transition: border-color 0.25s ease, background 0.25s ease;
}

.fusion-search-field input[type="search"]:focus {
  border-color: var(--color-gold);
  background: rgba(255, 255, 255, 0.12);
}

.fusion-search-field input[type="search"]::placeholder {
  color: rgba(255, 255, 255, 0.45);
}

.fusion-search-submit {
  padding: 8px 16px;
  background-color: var(--color-gold);
  color: var(--color-white);
  border: none;
  border-radius: 3px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  transition: background-color 0.25s ease;
}

.fusion-search-submit:hover {
  background-color: var(--color-gold-light);
}

/* Flyout search - hidden by default */
.fusion-flyout-search {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-dark);
  padding: 16px 20px;
  z-index: 200;
}

/* ----------------------------------------------------------
   CONTACT FORM (formulario)
   ---------------------------------------------------------- */
#formulario {
  padding: 28px;
  border-radius: 10px;
  margin: 0 auto;
  background-color: #ffcc33;
  max-width: 560px;
}

#nombre,
#email,
#asunto,
#mensaje {
  background-color: var(--color-white);
  border: 1px solid #ddd;
  padding: 10px 14px;
  width: 100%;
  border-radius: 4px;
  font-size: 14px;
  margin-bottom: 12px;
  transition: border-color 0.25s ease;
}

#nombre:focus,
#email:focus,
#asunto:focus,
#mensaje:focus {
  outline: none;
  border-color: var(--color-gold);
}

#formulario form input[type="submit"] {
  margin-top: 12px;
  border: 2px solid #000;
  border-radius: 5px;
  display: block;
  color: var(--color-white);
  background-color: var(--color-dark);
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background-color 0.25s ease;
}

#formulario form input[type="submit"]:hover {
  background-color: var(--color-red);
  border-color: var(--color-red);
}

/* ----------------------------------------------------------
   GOOGLE TRANSLATE
   ---------------------------------------------------------- */
#glt-translate-trigger {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 9999;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: #f89406;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: transform 0.2s ease;
}

#glt-translate-trigger:hover {
  transform: scale(1.08);
}

#glt-translate-trigger > span {
  color: var(--color-white);
  font-size: 20px;
}

/* ----------------------------------------------------------
   RESPONSIVE - Tablet (max 1024px)
   ---------------------------------------------------------- */
@media screen and (max-width: 1024px) {
  .fusion_builder_column_2_3,
  .fusion_builder_column_3_5 {
    width: 100%;
  }

  .fusion_builder_column_1_6,
  .fusion_builder_column_1_5 {
    display: none;
  }

  .fusion-builder-row {
    flex-direction: column;
  }

  .fusion-menu > li > a {
    padding: 12px 12px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------
   RESPONSIVE - Mobile (max 768px)
   ---------------------------------------------------------- */
@media screen and (max-width: 768px) {
  /* Header */
  .fusion-secondary-header .fusion-row {
    flex-direction: column;
    text-align: center;
    gap: 6px;
  }

  .fusion-contact-info {
    justify-content: center;
  }

  .fusion-standard-logo {
    max-height: 60px;
  }

  /* Navigation - hide desktop, show mobile toggle */
  .fusion-main-menu:not(.fusion-mobile-menu) {
    display: none;
  }

  .fusion-flyout-menu-icons {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 15px;
  }

  .fusion-toggle-icon {
    display: flex;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
  }

  .fusion-toggle-icon-line {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--color-dark);
    border-radius: 2px;
    transition: transform 0.3s ease;
  }

  /* Sections */
  .fusion-fullwidth {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .fusion-builder-row-2 {
    padding: 40px 15px;
  }

  .fusion-title h2,
  .fusion-title .title-heading-center {
    font-size: 20px;
  }

  /* Inner columns stack */
  .fusion_builder_column_inner_1_2 {
    width: 100%;
    padding: 0 0 20px;
  }

  /* Footer */
  .fusion-columns {
    flex-direction: column;
    gap: 20px;
  }

  .fusion-footer-widget-area {
    padding: 36px 0 20px;
  }

  /* Contact form */
  #formulario {
    padding: 20px 16px;
  }
}

/* ----------------------------------------------------------
   RESPONSIVE - Small Mobile (max 480px)
   ---------------------------------------------------------- */
@media screen and (max-width: 480px) {
  .fusion-header .fusion-row {
    padding: 0 10px;
  }

  .fusion-standard-logo,
  .fusion-mobile-logo {
    max-height: 50px;
  }

  .fusion-menu > li > a {
    font-size: 11px;
    padding: 10px 8px;
  }

  .fusion-title h2 {
    font-size: 18px;
  }

  .fusion-button {
    padding: 10px 20px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------
   UTILITY
   ---------------------------------------------------------- */
.fusion-sep-clear {
  clear: both;
  height: 0;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  word-wrap: normal !important;
}


/* Print */
@media print {
  .fusion-secondary-header,
  .fusion-sticky-header-wrapper,
  .fusion-flyout-menu-icons,
  #glt-translate-trigger {
    display: none !important;
  }
}
