:root {
  --fg-orange: #ff5400;
  --feels-bg: #f8f6f1;
  --feels-surface: #ede4d0;
  --feels-text: #212121;
  --feels-text-soft: #4d4d4d;
  --feels-accent: var(--fg-orange);
  --feels-accent-dark: #e74d00;
  --feels-border: rgba(33, 33, 33, 0.14);
  --feels-radius: 16px;
  --feels-shadow: 0 12px 30px rgba(33, 33, 33, 0.08);
}

body {
  background: var(--feels-bg);
  color: var(--feels-text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.35;
}

h1,
.elementor-widget-heading h1,
.elementor-widget-theme-post-title h1 {
  font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 700;
  color: var(--feels-text);
}

h2,
h3,
.elementor-widget-heading h2,
.elementor-widget-heading h3 {
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.28;
  color: var(--feels-text);
}

h2 {
  font-size: clamp(24px, 2.7vw, 34px);
  font-weight: 400;
}

p,
li,
.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  color: var(--feels-text-soft);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.35;
}

a {
  color: var(--feels-accent);
  text-decoration-color: rgba(244, 72, 49, 0.45);
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--feels-accent-dark);
  text-decoration-color: rgba(215, 62, 42, 0.55);
}

button,
input[type="button"],
input[type="submit"],
.elementor-button,
.wp-element-button {
  background: var(--feels-accent);
  border: 1px solid var(--feels-accent);
  color: #fff;
  border-radius: 999px;
  box-shadow: var(--feels-shadow);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.elementor-button:hover,
.wp-element-button:hover {
  background: var(--feels-accent-dark);
  border-color: var(--feels-accent-dark);
  transform: translateY(-1px);
}

input,
textarea,
select {
  border: 1px solid var(--feels-border);
  border-radius: 12px;
  background: #fff;
}

blockquote,
.wp-block-quote {
  border-left: 3px solid var(--feels-accent);
  background: color-mix(in srgb, var(--feels-surface) 45%, white);
  border-radius: 0 var(--feels-radius) var(--feels-radius) 0;
  padding: 18px 22px;
}

.elementor-widget-container,
.wp-block-group,
.wp-block-cover,
.wp-block-media-text {
  border-radius: var(--feels-radius);
}

.site-header,
header,
.elementor-location-header,
.site-footer,
footer,
.elementor-location-footer {
  background: transparent;
}

@media (max-width: 767px) {
  body,
  p,
  li,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p {
    font-size: 17px;
  }
}

/* Keep ticket button text black */
html body button.tbx-fullscreen-modal,
html body .tbx-fullscreen-modal.tbx-fullscreen-modal,
html body .tbx-fullscreen-modal:link,
html body .tbx-fullscreen-modal:visited,
html body .tbx-fullscreen-modal span {
  color: #000000 !important;
}

/* Fix sticky sidebar on single event template: parent overflow blocks sticky behavior */
body .elementor-605 .elementor-element.elementor-element-5e3476e9,
body .elementor-605 .elementor-element.elementor-element-6a2916a {
  overflow: visible !important;
}

/* Hide login controls in header */
body .elementor-location-header .feels-login-link,
body .elementor-location-header .elementor-element-f7b7cbf,
body .elementor-location-header .elementor-element-299c11b {
  display: none !important;
}

/* Render custom injected brand link as image logo */
body .feels-brand-link img {
  display: block;
  width: auto;
  height: 56px;
  max-width: 260px;
}
