/*
 Theme Name:   ExpoSerbia
 Theme URI:    https://serbiaexpo2027exposed.com/
 Description:  Child theme for Kadence — Serbia Expo 2027 Exposed site customizations.
 Author:       Serbia Expo 2027 Exposed
 Author URI:   https://serbiaexpo2027exposed.com/
 Template:     kadence
 Version:      1.0.0
 Text Domain:  exposerbia
*/

/* --- Forminator form fields --- */

.forminator-custom-form input,
.forminator-custom-form textarea,
.forminator-custom-form select {
    border: 1px solid #D0D0D0 !important;
    background: #FFFFFF !important;
    padding: 6px 14px !important;
    margin-top: 6px !important;
}

@media (max-width: 767px) {
  .forminator-custom-form {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Move character counter below textarea instead of between label and field */
.forminator-custom-form .forminator-field .forminator-description {
  order: 1;
}
.forminator-custom-form .forminator-field .forminator-textarea {
  order: 0;
}
.forminator-custom-form .forminator-field:has(textarea) {
  display: flex;
  flex-direction: column;
}

/* Required field asterisk: black instead of red */
.forminator-custom-form .forminator-required {
  color: #000000 !important;
}

/* Forminator submit button: pill shape, yellow, border only on hover */
.forminator-custom-form .forminator-button-submit {
  border-radius: 64px !important;
  background: #F2EA0C !important;
  color: #0B0B0B !important;
  border: 1px solid transparent !important;
  transition: border-color 0.2s;
}
.forminator-custom-form .forminator-button-submit:hover {
  background: #F2EA0C !important;
  border: 1px solid #0B0B0B !important;
}

/* --- Global buttons --- */

button, .button, .wp-block-button__link,
input[type="button"], input[type="submit"] {
  border: 1px solid transparent;
}
button:hover, .button:hover, .wp-block-button__link:hover,
input[type="button"]:hover, input[type="submit"]:hover {
  border: 1px solid #0B0B0B;
}

/* --- Outreach widget theming (gmail-campaigns-ui) --- */

.gmail-campaign-ui {
  --gcu-primary: #F2EA0C;
  --gcu-primary-hover: #F2EA0C;
  --gcu-background: #F0F0F0;
  --gcu-background-alt: #FFFFFF;
  --gcu-text: #000000;
  --gcu-text-muted: #444444;
  --gcu-border: #D0D0D0;
  --gcu-success: #2d7d46;
  --gcu-danger: #C43B2A;
  --gcu-radius: 8px;
  --gcu-font: 'Noto Sans', sans-serif;
  font-weight: 500;
  border: none;
  box-shadow: none;
  padding: 1.5rem 0;
  max-width: 100%;
}

.gmail-campaign-ui h1,
.gmail-campaign-ui h2,
.gmail-campaign-ui h3 {
  font-weight: 700;
}

.gmail-campaign-ui .campaign-description,
.gmail-campaign-ui .initiative-description,
.gmail-campaign-ui .email-block__header {
  background: transparent;
  border: none;
}

.gmail-campaign-ui .btn-primary {
  color: #0B0B0B;
  border-radius: 64px;
  border: 1px solid transparent;
}
.gmail-campaign-ui .btn-primary:hover {
  background: #F2EA0C;
  border: 1px solid #0B0B0B;
}
.gmail-campaign-ui .btn-send {
  border-radius: 64px;
  border: 1px solid transparent;
}
.gmail-campaign-ui .btn-send:hover:not(:disabled) {
  border: 1px solid #0B0B0B;
  filter: none;
}
.gmail-campaign-ui .send-confirm-overlay__cancel {
  border-radius: 64px;
}

.gmail-campaign-ui .initiative-campaign-selector select {
  background: #FFFFFF;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23444' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.25rem;
}

.gmail-campaign-ui input[type="text"],
.gmail-campaign-ui input[type="email"],
.gmail-campaign-ui textarea {
  background: #FFFFFF;
}

.gmail-campaign-ui input:focus,
.gmail-campaign-ui textarea:focus,
.gmail-campaign-ui select:focus {
  border-color: #F2EA0C;
  box-shadow: 0 0 0 2px rgba(242, 234, 12, 0.3);
}

/* --- Accordion --- */

.wp-block-accordion-item.is-open > .wp-block-accordion-heading,
.wp-block-accordion-heading:hover,
.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:hover,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle {
  background: transparent;
}

/* --- Long-form article typography --- */

.entry-content p {
  margin-bottom: 0.4em;
}

.entry-content h2.wp-block-heading {
  margin-top: 2.5em;
  margin-bottom: 0.75em;
}

.entry-content h3.wp-block-heading {
  margin-top: 2.5em;
  margin-bottom: 0.5em;
  padding-top: 1.5em;
  border-top: 1px solid #D0D0D0;
}

.entry-content ul.wp-block-list {
  margin-top: 0.25em;
  margin-bottom: 1em;
}

.entry-content li {
  margin-bottom: 0.35em;
}

/* --- Header & navigation --- */

.header-navigation .header-menu-container ul ul li.lang-item > a {
  width: auto;
  min-width: 0;
}
.header-navigation .header-menu-container ul li.lang-item ul.sub-menu {
  min-width: 0;
  z-index: 1000;
}

#masthead {
  z-index: 1000;
}

.site-main-header-wrap .site-container {
  max-width: 100% !important;
}

.site-branding .site-title,
.site-branding .site-title:hover,
body.home .site-branding .site-title {
  color: #0B0B0B !important;
}

.site-branding .site-title {
  font-weight: 400 !important;
}

.site-title .expo-accent {
  font-weight: 900;
  text-decoration: underline;
  text-decoration-color: #F2EA0C;
  text-decoration-thickness: 3px;
  text-underline-offset: 3px;
}

.header-navigation .header-menu-container > ul > li > a {
  color: #0B0B0B !important;
  padding: 0.4em 0.75em !important;
  transition: background 0.2s, color 0.2s;
}
.header-navigation .header-menu-container > ul > li > a:hover,
.header-navigation .header-menu-container > ul > li > a:focus,
.header-navigation .header-menu-container > ul > li.current-menu-item > a {
  background: #F2EA0C;
  color: #0B0B0B !important;
}

.mobile-navigation li.current-menu-item > a,
.drawer-navigation li.current-menu-item > a {
  color: #F2EA0C !important;
}

.header-navigation .header-menu-container ul li.lang-item > a {
  color: #0B0B0B !important;
}
.header-navigation .header-menu-container ul li.lang-item > a:hover {
  background: #F2EA0C;
  color: #0B0B0B !important;
}

/* --- Content block patterns --- */

.references-box {
  background: rgba(242, 234, 12, 0.1);
  border: none;
  border-left: 5px solid #0B0B0B;
  box-shadow: none;
  line-height: 1.4;
  font-size: 12px;
  color: #666666;
  padding: 0.5em 1em 0.5em 1.25em;
  border-radius: 0;
  margin-bottom: 3em !important;
}
.references-box li {
  list-style-type: none;
}
.references-box a {
  color: #0B0B0B;
  text-decoration: underline;
}
.references-box a:hover {
  text-decoration-color: #F2EA0C;
}

.paragraph-highlight {
  border: none;
  border-left: 3px solid #F2EA0C;
  background: #E8E8E8;
  font-style: italic;
  padding: 1em 1.25em;
  width: 90%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3em !important;
  border-radius: 0;
}

.risk-cards-header {
  color: #F2EA0C;
  text-shadow: 1px 1px 0 #000;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #000;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.2em;
  font-size: 4em;
  text-transform: uppercase;
  text-align: center;
  margin-top: 40px !important;
  padding-top: 16px !important;
}

.risk-cards {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5em !important;
}
.risk-cards > * {
  background: transparent;
  border: 2px solid #F2EA0C;
  padding: 1.5em;
  border-radius: 8px;
  transition: box-shadow 0.2s, transform 0.2s, font-weight 0.2s;
}
.risk-cards > *:hover {
  box-shadow: 0 4px 16px rgba(242, 234, 12, 0.25);
  transform: translateY(-2px);
  font-weight: 700;
}
.risk-cards h3 {
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.risk-cards > * {
  position: relative;
}
.risk-cards a {
  text-decoration: none;
  color: inherit;
}
.risk-cards a::after {
  content: '';
  position: absolute;
  inset: 0;
}
@media (max-width: 1024px) {
  .risk-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 540px) {
  .risk-cards {
    grid-template-columns: 1fr !important;
  }
}

.entry-content .subtitle {
  font-size: 1.25em;
  font-weight: 500;
  border-bottom: 1px solid #D0D0D0;
  padding-bottom: 0.75em;
  margin-bottom: 1em;
  margin-top: 0;
}

/* --- Heading styles --- */

.entry-content h2 {
  background: transparent;
  border-left: 4px solid #F2EA0C;
  padding: 0.5em 1em;
  border-radius: 0;
}

.entry-content h3 {
  border-top: 1px solid #D0D0D0;
  padding-top: 1em;
}

/* --- Timeline --- */

.timeline {
  counter-reset: timeline;
}
.timeline h2,
.timeline .timeline-step {
  counter-increment: timeline;
  padding-left: 0.75em;
}
.timeline h2::before,
.timeline .timeline-step::before {
  content: counter(timeline);
  background: #F2EA0C;
  border: 2px solid #000000;
  border-radius: 6px;
  padding: 0.2em 0.4em;
  font-family: 'Noto Sans', sans-serif;
  font-size: 24px;
  font-weight: 900;
  color: #0B0B0B;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  z-index: 1;
  margin-right: 0.75em;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .timeline h2,
  .timeline .timeline-step {
    position: relative;
    display: block;
  }
  .timeline h2::before {
    position: absolute;
    right: calc(100% + 1em);
    top: 50%;
    transform: translateY(-50%);
  }
  .timeline .timeline-step::before {
    position: absolute;
    left: -3em;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* --- CTA anchors & content links --- */

.cta-anchor a {
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 3px solid #F2EA0C;
  padding-bottom: 2px;
}
.cta-anchor a:hover {
  text-shadow: 0.04em 0 0 currentColor, -0.04em 0 0 currentColor;
}

.entry-content a:hover {
  text-shadow: 0.04em 0 0 currentColor, -0.04em 0 0 currentColor;
}

/* --- Section highlight (dark CTA block) --- */

.section-highlight {
  background: #000000 !important;
  color: #F1F1F1 !important;
  border: 2px dashed #F2EA0C;
  padding: 50px !important;
  margin-top: 3em !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  z-index: 0;
  position: relative;
  margin-left: auto !important;
  margin-right: auto !important;
}
.entry-content .section-highlight h2 {
  color: #0B0B0B !important;
  background: #F2EA0C !important;
  border-left: none !important;
  display: inline-block;
  padding: 5px 10px !important;
}
.entry-content .section-highlight h3 {
  color: #F1F1F1 !important;
  background: transparent !important;
}
.section-highlight p {
  color: #F1F1F1 !important;
  background: transparent !important;
}
.section-highlight a {
  color: #F2EA0C !important;
  text-decoration: underline;
  text-decoration-color: #F2EA0C;
}
.section-highlight a:hover {
  text-shadow: 0.04em 0 0 currentColor, -0.04em 0 0 currentColor;
}

.section-highlight .link-button a,
.section-highlight a.link-button {
  display: inline-block;
  background: #F1F1F1 !important;
  color: #0B0B0B !important;
  border: 1px solid #0B0B0B;
  border-radius: 64px;
  padding: 12px 32px;
  text-decoration: none;
  font-weight: 500;
  transition: border-color 0.2s;
}
.section-highlight .link-button a:hover,
.section-highlight a.link-button:hover {
  border-color: #F2EA0C;
  text-shadow: none;
}
.section-highlight .wp-block-button .wp-block-button__link {
  background: #F2EA0C !important;
  color: #0B0B0B !important;
}
.section-highlight .wp-block-button .wp-block-button__link:hover {
  background: #F2EA0C !important;
  border-color: #0B0B0B !important;
}

/* --- Layout --- */

@media (min-width: 768px) {
  .site-content .site-container,
  .entry-content-wrap {
    padding-left: 80px;
  }
}

.forminator-custom-form {
  max-width: 900px;
}

/* --- Footer --- */

#colophon {
  border-top: 1px solid #D0D0D0;
}
#colophon .site-middle-footer-inner-wrap {
  align-items: center;
}
#colophon .footer-html,
#colophon .footer-html p {
  color: #666666 !important;
  font-size: 14px;
}
#colophon .footer-html a {
  color: #999999 !important;
  text-decoration: none;
}
#colophon .footer-html a:hover {
  color: #F2EA0C !important;
}
#colophon .footer-navigation .footer-menu-container > ul > li > a {
  color: #999999 !important;
  text-decoration: none;
}
#colophon .footer-navigation .footer-menu-container > ul li a:hover,
#colophon .footer-navigation .footer-menu-container > ul li.current-menu-item > a {
  color: #F2EA0C !important;
}

/* --- Shared surface shadow --- */

#masthead,
.sticky-side-menu {
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.15);
}

/* --- Keep content clear of sticky side menu --- */

@media (min-width: 1025px) {
  body {
    padding-right: 200px;
  }
}
