/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Author: David Bis - Wired Krazy
Version: 1.0
*/



/* === Font-face (latin-ext) === */
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:300;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/ibm-plex-sans/IBMPlexSans-Light.ttf') format('truetype');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf') format('truetype');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/ibm-plex-sans/IBMPlexSans-Medium.ttf') format('truetype');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/ibm-plex-sans/IBMPlexSans-SemiBold.ttf') format('truetype');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/ibm-plex-sans/IBMPlexSans-Bold.ttf') format('truetype');}

@font-face{font-family:'Capture IT';font-style:normal;font-weight:400;font-display:swap;
  src:url('/wp-content/themes/hello-elementor-child/assets/fonts/capture-it/CaptureIt.ttf') format('truetype');}


/* === Zmienne globalne === */
:root{
  /* Fonty */
  --font-sans:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --font-display:'Capture IT','Impact','Arial Black',sans-serif;

  /* Kolory brand (Bar sportowy, Ohio style) */
  --c-burgundy:#6B0808;        /* primary */
  --c-burgundy-ink:#4c0606;    /* hover/active */
  --c-burgundy-25:rgba(107,8,8,.25);
  --c-white:#ffffff;
  --c-black:#0a0a0a;
  --c-muted:#9ea3a7;

  /* Promienie i obrysy */
  --radius-xxl:24px;
  --btn-border:1px solid var(--c-burgundy);

  /* Skala typografii mobile-first (<768px) */
  --text:1rem;           /* 16 */
  --lh-text:1.6;

  --h1:2rem;             /* 32 */
  --h2:1.75rem;          /* 28 */
  --h3:1.5rem;           /* 24 */
  --h4:1.25rem;          /* 20 */
  --h5:1.125rem;         /* 18 */
  --h6:1rem;             /* 16 */

  --lh-h:1.2;
  --lh-h-small:1.3;

  /* Bazowe paddingi przycisku desktop start */
  --btn-py:16px;
  --btn-px:24px;
  --btn-fw:600;
}

body{
  font-family:var(--font-sans);
  font-size:var(--text);
  line-height:var(--lh-text);
  color:var(--c-white);
  background:var(--c-black);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-display);
  line-height:var(--lh-h);
  margin:0 0 .5em;
  text-transform:uppercase; /* klimat sports bar */
  letter-spacing:.02em;
}
h5,h6{ line-height:var(--lh-h-small); }

/* Rozmiary nagłówków z naszych zmiennych */
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3)}
h4{font-size:var(--h4)}
h5{font-size:var(--h5)}
h6{font-size:var(--h6)}

/* Podpięcie do Elementor Kit, gdy widgety mają „Default” */
:where([id^="elementor-kit-"]){
  --e-global-typography-primary-font-family:var(--font-display);
  --e-global-typography-text-font-family:var(--font-sans);
  --e-global-typography-secondary-font-family:var(--font-sans);
  --e-global-typography-accent-font-family:var(--font-sans);

  --e-global-typography-text-font-size:var(--text);
  --e-global-typography-h1-font-size:var(--h1);
  --e-global-typography-h2-font-size:var(--h2);
  --e-global-typography-h3-font-size:var(--h3);
  --e-global-typography-h4-font-size:var(--h4);
  --e-global-typography-h5-font-size:var(--h5);
  --e-global-typography-h6-font-size:var(--h6);
}

/* Breakpointy pod Twoje zakresy */
@media (min-width:768px) and (max-width:1024px){
  :root{
    --text:1.0625rem; /* 17 */
    --h1:2.5rem;      /* 40 */
    --h2:2rem;        /* 32 */
    --h3:1.5rem;      /* 24 */
    --h4:1.375rem;    /* 22 */
    --h5:1.125rem;    /* 18 */
    --h6:1rem;        /* 16 */
  }
}
@media (min-width:1025px) and (max-width:1200px){
  :root{
    --text:1.0625rem; /* 17 */
    --h1:2.75rem;     /* 44 */
    --h2:2.125rem;    /* 34 */
    --h3:1.625rem;    /* 26 */
  }
}
@media (min-width:1201px) and (max-width:1366px){
  :root{
    --text:1.125rem;  /* 18 */
    --h1:3rem;        /* 48 */
    --h2:2.25rem;     /* 36 */
    --h3:1.75rem;     /* 28 */
    --h4:1.5rem;      /* 24 */
    --h5:1.25rem;     /* 20 */
    --h6:1.125rem;    /* 18 */
  }
}
@media (min-width:1367px){
  :root{
    --text:1.125rem;  /* 18 */
    --h1:3rem;        /* 48 */
    --h2:2.25rem;     /* 36 */
    --h3:1.75rem;     /* 28 */
  }
}

/* Elementor bazowe reset – niech nie narzuca rodzin/kolorów */
:where(.elementor-widget,.elementor-kit){
  --e-global-color-primary: var(--c-burgundy);
  --e-global-color-secondary: var(--c-white);
  --e-global-color-text: var(--c-white);
  --e-global-color-accent: var(--c-burgundy);
}


/* === PRZYCISKI GLOBALNE (Elementor kompatybilne) === */

/* === DOMYŚLNY BURGUNDY === */
a.elementor-button.btn,
.elementor-button.btn,
.elementor-element.btn a.elementor-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:16px 24px;
  border-radius:24px;
  border:1px solid #6B0808;
  background:#6B0808;
  color:#fff;
  font-family:'IBM Plex Sans', sans-serif;
  font-weight:600;
  font-size:16px;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:all .2s ease;
}
a.elementor-button.btn:hover,
.elementor-button.btn:hover,
.elementor-element.btn a.elementor-button:hover {
  background:#4c0606;
  border-color:#4c0606;
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(107,8,8,.25);
}
a.elementor-button.btn:active,
.elementor-button.btn:active,
.elementor-element.btn a.elementor-button:active {
  transform:translateY(0);
}

/* === BIAŁY WARIANT === */
a.elementor-button.btn--white,
.elementor-button.btn--white,
.elementor-element.btn--white a.elementor-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:16px 24px;
  border-radius:24px;
  border:1px solid #fff;
  background:transparent;
  color:#fff;
  font-family:'IBM Plex Sans', sans-serif;
  font-weight:600;
  font-size:16px;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:all .2s ease;
}
a.elementor-button.btn--white:hover,
.elementor-button.btn--white:hover,
.elementor-element.btn--white a.elementor-button:hover {
  background:#fff;
  color:#000;
  border-color:#fff;
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(255,255,255,.25);
}

/* === RESPONSYWNE FONTY === */
@media (max-width:1366px){
  a.elementor-button.btn,
  .elementor-button.btn,
  .elementor-element.btn a.elementor-button,
  a.elementor-button.btn--white,
  .elementor-button.btn--white,
  .elementor-element.btn--white a.elementor-button { font-size:14px; }
}
@media (max-width:1024px){
  a.elementor-button.btn,
  .elementor-button.btn,
  .elementor-element.btn a.elementor-button,
  a.elementor-button.btn--white,
  .elementor-button.btn--white,
  .elementor-element.btn--white a.elementor-button { font-size:13px; }
}
@media (max-width:767.98px){
  a.elementor-button.btn,
  .elementor-button.btn,
  .elementor-element.btn a.elementor-button,
  a.elementor-button.btn--white,
  .elementor-button.btn--white,
  .elementor-element.btn--white a.elementor-button { font-size:12px; }
}

/* === IKONA W PRZYCISKU === */
a.elementor-button.btn .elementor-button-icon,
a.elementor-button.btn--white .elementor-button-icon,
.elementor-button.btn .elementor-button-icon,
.elementor-button.btn--white .elementor-button-icon {
  width:40px;
  height:40px;
  flex:0 0 40px;
}
@media (max-width:1366px){
  a.elementor-button.btn .elementor-button-icon,
  a.elementor-button.btn--white .elementor-button-icon,
  .elementor-button.btn .elementor-button-icon,
  .elementor-button.btn--white .elementor-button-icon{
    width:32px;height:32px;flex-basis:32px;
  }
}
@media (max-width:1024px){
  a.elementor-button.btn .elementor-button-icon,
  a.elementor-button.btn--white .elementor-button-icon,
  .elementor-button.btn .elementor-button-icon,
  .elementor-button.btn--white .elementor-button-icon{
    width:28px;height:28px;flex-basis:28px;
  }
}
@media (max-width:767.98px){
  a.elementor-button.btn .elementor-button-icon,
  a.elementor-button.btn--white .elementor-button-icon,
  .elementor-button.btn .elementor-button-icon,
  .elementor-button.btn--white .elementor-button-icon{
    width:24px;height:24px;flex-basis:24px;
  }
}

/* === FOKUS DOSTĘPNOŚCI === */
a.elementor-button.btn:focus-visible,
a.elementor-button.btn--white:focus-visible,
.elementor-button.btn:focus-visible,
.elementor-button.btn--white:focus-visible {
  outline:2px solid #fff;
  outline-offset:2px;
}

/* === FIX: extra space under Elementor icons === */
.elementor-icon-wrapper,
.elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1 !important;
  vertical-align: middle !important;
}
.elementor-icon svg,
.elementor-icon i {
  display: block !important;
  line-height: 1 !important;
}


/* === FORCE OVERRIDE: Fix Elementor arrow hover glitch === */
.fomo-wrapper .arrow,
.fomo-wrapper .arrow:hover,
.fomo-wrapper .arrow:focus,
.fomo-wrapper .arrow:active {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.fomo-wrapper .arrow:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.5) !important;
  transform: translateY(-1px);
}

/* Jeśli Elementor coś nadpisuje po hoverze */
.fomo-wrapper .elementor-swiper-button-prev,
.fomo-wrapper .elementor-swiper-button-next {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}

