/* Pousada Seu Tiao - Final Layout Fix v7 */

/* ============ RESET ============ */
body { overflow-x: hidden; margin: 0; }
* { box-sizing: border-box; }

/* ============ RESPONSIVE VISIBILITY ============ */
@media (min-width: 1025px) { .elementor-hidden-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .elementor-hidden-tablet { display: none !important; } }
@media (max-width: 767px) {
  .elementor-hidden-phone { display: none !important; }
  .elementor-hidden-tablet { display: none !important; }
}

/* ============ HIDDEN ELEMENTS ============ */
#opal-canvas-menu, .opal-menu-canvas, nav.elementor-nav-menu--canvas,
.elementor-menu-toggle, .mp-menu, .nav-menu--canvas,
#offcanvas-menu, .offcanvas-menu, .mainmenu,
#page-title-bar, .page-title-bar,
#wptime-plugin-preloader, .rs-p-wp-fix { display: none !important; }
.elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* ============ SECTION STRETCH ============ */
.elementor-section-stretched {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
}

/* ============ CONTAINERS ============ */
.elementor-container {
  display: flex !important;
  flex-wrap: wrap;
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}
.elementor-section-full_width > .elementor-container { max-width: 100%; padding: 0; }
.elementor-col-100 { width: 100% !important; }
.elementor-col-50 { width: 50% !important; }
.elementor-col-33 { width: 33.333% !important; }
.elementor-col-25 { width: 25% !important; }
.elementor-col-20 { width: 20% !important; }
.elementor-column .elementor-widget-wrap {
  display: flex; flex-direction: column; width: 100%;
}
.elementor-section { padding: 0; position: relative; }

/* ============ TOP BAR (ca4f75a) ============ */
.elementor-element-ca4f75a { background: #333239 !important; padding: 8px 0 !important; }
.elementor-element-ca4f75a .elementor-container {
  display: flex !important; align-items: center !important; justify-content: space-between;
}
.elementor-element-ca4f75a .elementor-column { display: flex !important; align-items: center !important; }
.elementor-element-ca4f75a .elementor-widget-wrap {
  display: flex !important; flex-direction: row !important; align-items: center !important; gap: 15px;
}
.elementor-element-ca4f75a .elementor-text-editor p,
.elementor-element-ca4f75a span { color: #fff !important; font-size: 13px; margin: 0; white-space: nowrap; }
.elementor-element-ca4f75a .elementor-social-icon { width: 30px !important; height: 30px !important; }
.elementor-element-ca4f75a .elementor-button {
  background: #ffc200 !important; color: #333239 !important;
  font-size: 12px !important; padding: 6px 20px !important;
  font-weight: 700; text-transform: uppercase; border-radius: 0;
  letter-spacing: 1px; text-decoration: none; display: inline-block;
}

/* ============ NAV BAR (1fe45f8) ============ */
.elementor-element-1fe45f8 {
  background: #fff !important; padding: 10px 0 !important;
  z-index: 100; position: relative;
}
.elementor-element-1fe45f8 .elementor-container { display: flex !important; align-items: center !important; }
.elementor-element-1fe45f8 .elementor-col-25 {
  width: 25% !important; display: flex !important;
  align-items: center !important; justify-content: center;
}
.elementor-element-1fe45f8 .elementor-col-50 {
  width: 50% !important; display: flex !important; align-items: center !important;
}

/* ============ LOGO ============ */
.elementor-widget-opal-site-logo .elementor-image,
.elementor-widget-opal-site-logo .elementor-widget-container {
  background: transparent !important;
}
.elementor-widget-opal-site-logo img,
.elementor-element-1fe45f8 .elementor-image img {
  max-width: 160px !important; max-height: 70px !important;
  width: auto !important; height: auto !important;
  object-fit: contain; background: transparent !important;
}

/* ============ NAV MENUS ============ */
.elementor-nav-menu, ul.elementor-nav-menu {
  display: flex !important; list-style: none !important;
  margin: 0 !important; padding: 0 !important;
  align-items: center; gap: 8px;
}
.elementor-nav-menu li { display: inline-block !important; margin: 0 8px !important; list-style: none !important; }
.elementor-nav-menu li a.elementor-item {
  font-family: "DM Sans", sans-serif !important; font-weight: 700 !important;
  font-size: 14px !important; text-transform: uppercase !important;
  letter-spacing: 1px !important; color: #333239 !important;
  text-decoration: none !important; padding: 10px 0 !important;
  display: inline-block; transition: color 0.3s;
}
.elementor-nav-menu li a.elementor-item:hover,
.elementor-nav-menu li.current-menu-item a.elementor-item,
.elementor-nav-menu li a.elementor-item-active { color: #ffc200 !important; }
.elementor-nav-menu__align-right .elementor-nav-menu { justify-content: flex-end; }
.elementor-nav-menu__align-left .elementor-nav-menu { justify-content: flex-start; }

/* ============ HERO (replaced RevSlider) ============ */
.pousada-hero { min-height: 600px; }

/* ============ WELCOME (5b5d7a9) ============ */
.elementor-element-5b5d7a9 { padding: 60px 0 !important; }
.elementor-element-5b5d7a9 .elementor-col-50 { display: flex !important; align-items: center !important; }
.elementor-element-5b5d7a9 .elementor-widget-wrap { padding: 0 20px; }
.opal-image-clip-right-md img { width: 100% !important; height: auto !important; border-radius: 4px; }

/* ============ ESPAÇO (f47e431) ============ */
.elementor-element-f47e431 { padding: 50px 0 30px !important; text-align: center; }

/* ============ FEATURE CARDS (b2fbd6e) ============ */
.elementor-element-b2fbd6e .elementor-container { padding: 0 !important; gap: 0; }
.elementor-element-b2fbd6e .elementor-col-33 {
  min-height: 400px !important; position: relative;
  overflow: hidden; background-size: cover !important; background-position: center !important;
}
.elementor-element-58aa34b { background-image: url('/wp-content/uploads/2019/07/hotel_img_1-1024x682.jpg') !important; }
.elementor-element-3533964 { background-image: url('/wp-content/uploads/2019/07/hotel_img_2-1024x682.jpg') !important; }
.elementor-element-c433ce6 { background-image: url('/wp-content/uploads/2019/07/hotel_img_7-1024x683.jpg') !important; }
.elementor-element-b2fbd6e .elementor-background-overlay {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0,0,0,0.4) !important; z-index: 1;
}
.elementor-element-b2fbd6e .elementor-widget-wrap {
  position: relative; z-index: 2; min-height: 400px; justify-content: flex-end !important;
}
.elementor-element-b2fbd6e .elementor-absolute {
  position: relative !important; bottom: auto; left: auto;
  transform: none; width: 100%; padding: 30px;
}
.elementor-element-b2fbd6e .elementor-cta { text-align: center; }
.elementor-element-b2fbd6e .elementor-cta__title {
  color: #fff !important; font-size: 28px; font-family: 'PT Serif', serif; margin: 5px 0 0;
}
.elementor-element-b2fbd6e .elementor-cta__subtitle {
  color: #ffc200 !important; text-transform: uppercase;
  font-size: 13px; letter-spacing: 2px;
  font-family: 'DM Sans', sans-serif; font-weight: 700;
}

/* ============ ACOMODAÇÕES HEADING (41c5923) ============ */
.elementor-element-41c5923 { padding: 50px 0 20px !important; text-align: center; }

/* ============ ROOM CARDS (a678a35) ============ */
.elementor-element-a678a35 { padding: 0 0 40px !important; }
.isotope-grid.row {
  display: flex !important; flex-wrap: wrap; gap: 20px; justify-content: center;
}
.isotope-grid .column-item { width: calc(25% - 15px); margin-bottom: 20px; }
.room-inner { border-radius: 4px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.1); background: #fff; }
.room-inner .room-thumbnail img { width: 100%; height: 200px; object-fit: cover; }
.room-inner .room-content { padding: 15px; }

/* ============ LOGO STRIP (d73f766) ============ */
.elementor-element-d73f766 {
  background: #333239 !important; padding: 40px 0 !important; text-align: center;
}
.elementor-element-d73f766 img { max-width: 200px !important; margin: 0 auto; display: block; }
.elementor-element-d73f766 .elementor-heading-title,
.elementor-element-d73f766 .elementor-text-editor,
.elementor-element-d73f766 .elementor-text-editor p { color: #fff !important; }

/* ============ COMODIDADES (2070d10) ============ */
.elementor-element-2070d10 { padding: 40px 0 20px !important; text-align: center; }

/* ============ COMODIDADES ICONS (eb04226) ============ */
.elementor-element-eb04226 { padding: 0 0 30px !important; }
.elementor-element-eb04226 .elementor-container {
  display: flex !important; flex-wrap: wrap; justify-content: center; gap: 30px;
}

/* ============ CAFÉ DA MANHÃ (a86f994) ============ */
.elementor-element-a86f994 {
  padding: 40px 0 !important; background-size: cover !important; background-position: center !important;
}

/* ============ REVIEWS HEADING (1a3ff95) ============ */
.elementor-element-1a3ff95 { padding: 40px 0 20px !important; text-align: center; }

/* ============ REVIEWS (eddb090) — dark background ============ */
.elementor-element-eddb090 {
  background: #333239 !important; padding: 40px 0 !important;
}
.elementor-element-eddb090 .elementor-container {
  display: flex !important; align-items: flex-start !important;
}
/* TripAdvisor column */
.elementor-element-eddb090 .elementor-col-33:first-child,
.elementor-element-5dc68aa {
  text-align: center; padding: 20px;
}
.elementor-element-eddb090 .elementor-icon svg { fill: #fff; width: 60px; height: auto; }
.elementor-element-eddb090 .elementor-heading-title {
  color: #fff !important; font-size: 22px !important; margin-bottom: 15px;
}
.elementor-element-eddb090 .elementor-star-rating { color: #ffc200 !important; }
.elementor-element-eddb090 .elementor-text-editor,
.elementor-element-eddb090 .elementor-text-editor p {
  color: #ccc !important; font-style: italic; line-height: 1.6; font-size: 15px;
}
.elementor-element-eddb090 a { color: #ffc200 !important; text-decoration: none; }
.elementor-element-eddb090 .elementor-button {
  background: #ffc200 !important; color: #333239 !important;
  font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
  padding: 10px 25px; border: none; text-decoration: none; display: inline-block;
}

/* ============ FOOTER (0eba87a) ============ */
.elementor-element-0eba87a {
  background: #333239 !important; color: #fff; padding: 0 !important;
}
.elementor-element-0eba87a .elementor-container { padding: 40px 15px; }
.elementor-element-0eba87a .elementor-heading-title { color: #fff !important; font-size: 18px; margin-bottom: 15px; }
.elementor-element-0eba87a .elementor-text-editor,
.elementor-element-0eba87a .elementor-text-editor p { color: #ccc; font-size: 14px; }
.elementor-element-0eba87a .elementor-social-icon { background: #555 !important; }
.elementor-element-0eba87a .elementor-social-icon:hover { background: #ffc200 !important; }
.elementor-element-0eba87a a { color: #ccc; text-decoration: none; transition: color 0.3s; }
.elementor-element-0eba87a a:hover { color: #ffc200 !important; }

/* Footer copyright */
.elementor-element-b8d927d {
  background: #2a2a2f !important; padding: 15px 0 !important; text-align: center;
}
.elementor-element-b8d927d .elementor-text-editor { color: #999; font-size: 13px; }
.elementor-element-b8d927d a { color: #ffc200 !important; text-decoration: none; }

/* ============ BUTTONS ============ */
.elementor-button-primary .elementor-button,
a.elementor-button {
  background: #ffc200 !important; color: #333239 !important;
  font-family: "DM Sans", sans-serif; font-weight: 700; font-size: 13px;
  text-transform: uppercase; letter-spacing: 1px;
  padding: 12px 30px; border-radius: 0; border: none;
  text-decoration: none; display: inline-block; transition: all 0.3s;
}

/* ============ HEADINGS ============ */
.heading-decor { text-align: center; margin-bottom: 10px; }
.heading-decor svg { width: 40px; height: 30px; color: #ffc200; }
.sub-title {
  display: block; font-family: "DM Sans", sans-serif;
  font-weight: 700; font-size: 13px; text-transform: uppercase;
  letter-spacing: 3px; color: #ffc200; margin-bottom: 10px; text-align: center;
}
.elementor-heading-title { font-family: "PT Serif", serif; color: #333239; font-weight: 400; }

/* ============ SPACER ============ */
.elementor-spacer-inner { height: var(--spacer-size, 50px); }

/* ============ GALLERY FILTERS ============ */
.elementor-galerry__filters {
  display: flex !important; list-style: none !important;
  margin: 0 0 30px !important; padding: 0 !important;
  gap: 10px; justify-content: center; flex-wrap: wrap;
}
.elementor-galerry__filters li { list-style: none !important; display: inline-block !important; }
.elementor-galerry__filters li a,
.elementor-galerry__filters li span {
  font-family: "DM Sans", sans-serif; font-weight: 700; font-size: 14px;
  text-transform: uppercase; letter-spacing: 1px; color: #333239;
  text-decoration: none; padding: 8px 20px; border: 1px solid #ddd;
  border-radius: 2px; cursor: pointer; transition: all 0.3s; display: inline-block;
}
.elementor-galerry__filters li a:hover,
.elementor-galerry__filters li.cbp-filter-item-active a {
  background: #ffc200; color: #333239; border-color: #ffc200;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
  .elementor-element-1fe45f8 .elementor-col-50,
  .elementor-element-1fe45f8 .elementor-col-33,
  .elementor-element-1fe45f8 .elementor-col-25 { width: auto !important; }
  .pousada-hero h1 { font-size: 50px !important; }
  .pousada-hero p { font-size: 18px !important; }
}

@media (max-width: 767px) {
  .elementor-element-ca4f75a { display: none !important; }
  .elementor-element-1fe45f8 { display: none !important; }
  .pousada-hero { min-height: 350px !important; }
  .pousada-hero h1 { font-size: 36px !important; }
  .pousada-hero p { font-size: 16px !important; }
  .elementor-col-50, .elementor-col-33, .elementor-col-25 { width: 100% !important; }
  .elementor-container { flex-direction: column; }
  .elementor-element-b2fbd6e .elementor-col-33 { min-height: 250px !important; }
}
