/**
 * Guest UI theme engine — overrides tablet & fullscreen.
 * Loads AFTER template inline CSS so theme variables win (!important).
 */
html.guest-theme,
body.guest-theme {
  font-family: var(--gt-font-body, 'Inter', system-ui, sans-serif);
}

/* ---- Typography ---- */
body.guest-theme .tablet-title,
body.guest-theme .fullscreen-title,
body.guest-theme h1,
body.guest-theme h2,
body.guest-theme h3,
body.guest-theme h4,
body.guest-theme h5,
body.guest-theme .welcome-heading,
body.guest-theme .login-title {
  font-family: var(--gt-font-heading, inherit) !important;
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .property-address,
body.guest-theme .post-title,
body.guest-theme .category-name,
body.guest-theme .checkout-title {
  color: var(--gt-text, #212529) !important;
}

body.guest-theme .welcome-address,
body.guest-theme .welcome-subtitle,
body.guest-theme .address-container .welcome-address {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme p,
body.guest-theme .wifi-label,
body.guest-theme .wifi-value,
body.guest-theme .forecast-temp-low,
body.guest-theme .tablet-status,
body.guest-theme .stay-info-detail,
body.guest-theme .notification-message {
  color: var(--gt-text-muted, #6c757d) !important;
}

body.guest-theme .wifi-value,
body.guest-theme .forecast-temp-high,
body.guest-theme .forecast-day-name {
  color: var(--gt-text, #333) !important;
}

/* ---- Page shell ---- */
body.guest-theme {
  background-color: var(--gt-bg-outer, #f5f5f5) !important;
}

body.guest-theme .tablet-frame {
  background-color: var(--gt-frame-bg, #1a1a1a) !important;
  box-shadow: var(--gt-frame-shadow, 0 5px 30px rgba(0, 0, 0, 0.5)) !important;
}

body.guest-theme .tablet-container,
body.guest-theme .tablet-content,
body.guest-theme .fullscreen-container,
body.guest-theme .fullscreen-content,
body.guest-theme .main-content,
body.guest-theme .tablet-main-view {
  background-color: var(--gt-bg, #fff) !important;
  color: var(--gt-text, #212529) !important;
}

body.guest-theme .tablet-camera {
  background: var(--gt-frame-bg, #333) !important;
}

/* ---- Header ---- */
body.guest-theme .tablet-header,
body.guest-theme .header-container,
body.guest-theme .fullscreen-header {
  background: var(--gt-header-bg, #fff) !important;
  border-color: var(--gt-border, #e0e0e0) !important;
  color: var(--gt-text, #212529) !important;
}

body.guest-theme .tablet-time,
body.guest-theme .tablet-date,
body.guest-theme .time-info,
body.guest-theme .weather-info span,
body.guest-theme #current-temperature {
  color: var(--gt-text-muted, #6c757d) !important;
}

body.guest-theme .tablet-icons i,
body.guest-theme .weather-info i,
body.guest-theme .language-selector i,
body.guest-theme #notifications-icon,
body.guest-theme .bi-globe,
body.guest-theme .bi-bell,
body.guest-theme .bi-person,
body.guest-theme .bi-thermometer-half {
  color: var(--gt-icon, var(--gt-primary, #0d6efd)) !important;
}

body.guest-theme .language-select {
  border-color: var(--gt-border, #ced4da) !important;
  color: var(--gt-text, #212529) !important;
  background-color: var(--gt-card-bg, #fff) !important;
}

body.guest-theme .language-select:focus {
  border-color: var(--gt-primary, #0d6efd) !important;
  box-shadow: 0 0 0 0.2rem var(--gt-accent-soft, rgba(13, 110, 253, 0.25)) !important;
}

/* ---- Footer ---- */
body.guest-theme .tablet-footer,
body.guest-theme .footer-container,
body.guest-theme .fullscreen-footer {
  background: var(--gt-footer-bg, #fff) !important;
  border-color: var(--gt-border, #e0e0e0) !important;
}

body.guest-theme .tablet-footer-button,
body.guest-theme .footer-menu-item {
  color: var(--gt-text-muted, #6c757d) !important;
}

body.guest-theme .tablet-footer-button span,
body.guest-theme .footer-menu-item span {
  color: var(--gt-text-muted, #6c757d) !important;
}

body.guest-theme .tablet-footer-button:hover,
body.guest-theme .tablet-footer-button:focus,
body.guest-theme .footer-menu-item:hover {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .tablet-footer-button i,
body.guest-theme .footer-menu-item i,
body.guest-theme .tablet-footer-button .bi,
body.guest-theme .tablet-footer-button i[style],
body.guest-theme .footer-menu-item i[style] {
  color: var(--gt-primary, #0d6efd) !important;
}

/* ---- WiFi boxes ---- */
body.guest-theme .wifi-container,
body.guest-theme .address-container,
body.guest-theme .weather-day-container {
  background: var(--gt-surface, #f8f9fa) !important;
  border-radius: var(--gt-radius, 10px) !important;
}

body.guest-theme .wifi-info-box {
  background: var(--gt-card-bg, #fff) !important;
  border: var(--gt-wifi-border, 1px solid var(--gt-border, #e0e0e0)) !important;
  border-radius: var(--gt-radius, 10px) !important;
}

body.guest-theme .wifi-icon,
body.guest-theme .wifi-info-box .bi-wifi,
body.guest-theme .wifi-info-box .bi-key {
  color: var(--gt-primary, #0d6efd) !important;
}

/* ---- Weather forecast ---- */
body.guest-theme .forecast-day {
  background-color: var(--gt-card-bg, #fff) !important;
  border: 1px solid var(--gt-border, #ddd) !important;
  border-radius: var(--gt-radius, 8px) !important;
}

body.guest-theme .forecast-day.active {
  background-color: var(--gt-weather-active-bg, var(--gt-accent, #ffc107)) !important;
  border-color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .forecast-day.active .forecast-day-name,
body.guest-theme .forecast-day.active .forecast-icon,
body.guest-theme .forecast-day.active .forecast-temp-high,
body.guest-theme .forecast-day.active .forecast-temp-low {
  color: var(--gt-weather-active-text, var(--gt-text, #212529)) !important;
}

body.guest-theme .forecast-icon,
body.guest-theme .forecast-icon i {
  color: var(--gt-icon, var(--gt-primary, #0d6efd)) !important;
}

/* ---- Categories & posts ---- */
body.guest-theme .category-section {
  border-color: var(--gt-border, #e0e0e0) !important;
  background: var(--gt-bg, #fff) !important;
}

body.guest-theme .category-header {
  background: var(--gt-surface, #f8f9fa) !important;
  border-color: var(--gt-border, #e0e0e0) !important;
}

body.guest-theme .category-header.active,
body.guest-theme .category-section.active .category-header {
  background: var(--gt-accent-soft, rgba(13, 110, 253, 0.1)) !important;
}

body.guest-theme .post-card,
body.guest-theme .category-card,
body.guest-theme .house-manual-card {
  background: var(--gt-card-bg, #fff) !important;
  border-radius: var(--gt-radius, 10px) !important;
  box-shadow: var(--gt-card-shadow, 0 2px 4px rgba(0, 0, 0, 0.1)) !important;
  border: var(--gt-card-border, none) !important;
}

body.guest-theme .post-card:hover,
body.guest-theme .category-card:hover {
  box-shadow: var(--gt-card-shadow-hover, 0 5px 15px rgba(0, 0, 0, 0.15)) !important;
}

body.guest-theme .category-action,
body.guest-theme a.category-action {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .category-icon,
body.guest-theme .post-type-icon {
  color: var(--gt-primary, #0d6efd) !important;
  background: var(--gt-accent-soft, rgba(13, 110, 253, 0.1)) !important;
}

body.guest-theme .post-section {
  background-color: var(--gt-bg, #fff) !important;
}

/* ---- Buttons ---- */
body.guest-theme .btn-primary {
  background-color: var(--gt-primary, #0d6efd) !important;
  border-color: var(--gt-primary, #0d6efd) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .btn-outline-primary {
  color: var(--gt-primary, #0d6efd) !important;
  border-color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .btn-outline-primary:hover {
  background-color: var(--gt-primary, #0d6efd) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .btn-secondary,
body.guest-theme .view-all-btn {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .chat-button {
  background-color: var(--gt-primary, #0d6efd) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .chat-button:hover,
body.guest-theme .chat-button:focus {
  background-color: var(--gt-primary, #0d6efd) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .chat-button i {
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .chat-button-outline {
  background-color: transparent !important;
  color: var(--gt-primary, #0d6efd) !important;
  border: 2px solid var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .chat-button-outline:hover,
body.guest-theme .chat-button-outline:focus {
  background-color: var(--gt-primary, #0d6efd) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .chat-button-outline i {
  color: inherit !important;
}

body.guest-theme .btn-primary-custom,
body.guest-theme .open-link {
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .btn-submit {
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .btn-submit:hover,
body.guest-theme .btn-submit:focus {
  color: var(--gt-on-primary, #fff) !important;
}

/* ---- Notifications ---- */
body.guest-theme .notification-badge {
  background-color: var(--gt-accent, #dc3545) !important;
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .notifications-menu,
body.guest-theme .notifications-header {
  background: var(--gt-card-bg, #fff) !important;
  border-color: var(--gt-border, #e0e0e0) !important;
}

body.guest-theme .notification-item:hover {
  background: var(--gt-accent-soft, #f8f9fa) !important;
}

body.guest-theme .notification-item.unread {
  border-left-color: var(--gt-primary, #0d6efd) !important;
  background: var(--gt-accent-soft, #f0f7ff) !important;
}

/* ---- Welcome / checkout / chat ---- */
body.guest-theme .welcome-overlay,
body.guest-theme .slideshow-caption {
  background: var(--gt-overlay, rgba(0, 0, 0, 0.4)) !important;
}

body.guest-theme .welcome-title {
  color: var(--gt-on-primary, #fff) !important;
}

body.guest-theme .stay-info-greeting,
body.guest-theme .checkout-greeting {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .checkout-card,
body.guest-theme .contact-card,
body.guest-theme .info-box {
  background: var(--gt-card-bg, #fff) !important;
  border-color: var(--gt-border, #e0e0e0) !important;
}

/* ---- Store ---- */
body.guest-theme .store-product-card {
  border-color: var(--gt-border, #e5e7eb) !important;
  background: var(--gt-card-bg, #fff) !important;
}

body.guest-theme .store-product-card:hover {
  border-color: var(--gt-primary, #0d6efd) !important;
}

/* ---- Links & accents ---- */
body.guest-theme a:not(.btn):not(.tablet-footer-button):not(.footer-menu-item):not(.chat-button) {
  color: var(--gt-primary, #0d6efd);
}

body.guest-theme .text-primary {
  color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .border-primary {
  border-color: var(--gt-primary, #0d6efd) !important;
}

body.guest-theme .bg-primary {
  background-color: var(--gt-primary, #0d6efd) !important;
}

/* ---- Fullscreen specific ---- */
body.guest-theme .fullscreen-content .category-section {
  background: var(--gt-bg, #fff) !important;
}
