/* ──────────────────────────────────────────────────────────────────────
   BOXDEPO CZ — WordPress/Elementor compatibility CSS (v1.0.0)
   Bridges the CZ bd-* design system onto WP/Elementor output.
   Also overrides Hello Elementor's pink (#CC3366) global button rules.
   ────────────────────────────────────────────────────────────────────── */

/* ── Hello Elementor pink overrides ────────────────────────────────────── */
/* Theme sets a,button,[type=submit]{color:#CC3366} — override per component */
.bd-nav a, .bd-footer a, .bd-section a:not(.bd-btn) { color: inherit; }
/* These win over `.bd-nav a {color:inherit}` (which otherwise pulls Hello Elementor's dark #333) */
.bd-logo        { color: var(--ink) !important; }
.bd-nav-link    { color: var(--ink-3) !important; border: 0 !important; }
.bd-nav-link:hover { color: var(--ink) !important; }
.bd-nav-mobile-link { color: var(--ink) !important; border: 0 !important; }
.bd-phone       { color: var(--ink-2) !important; border: 0 !important; }

/* Buttons — reset theme border + color */
.bd-btn,
.bd-btn[type="submit"],
.bd-btn[type="button"],
button.bd-btn   { border: 0 !important; }
.bd-btn-primary,
.bd-btn-primary[type="submit"] { background: var(--accent); color: var(--accent-ink) !important; }
.bd-btn-accent,
.bd-btn-accent[type="submit"]  { background: var(--accent); color: var(--accent-ink) !important; }
/* Minden sárga gomb hover + FOCUS + ACTIVE állapota — különben a Hello Elementor
   button:hover/:focus/:active{background:#cc3366} rózsaszín ég rá (pl. kattintás után). */
.bd-btn-primary:hover, .bd-btn-primary:focus, .bd-btn-primary:active,
.bd-btn-primary[type="submit"]:hover, .bd-btn-primary[type="submit"]:focus,
.bd-btn-accent:hover, .bd-btn-accent:focus, .bd-btn-accent:active,
.bd-btn--primary:hover, .bd-btn--primary:focus, .bd-btn--primary:active,
.bd-btn-reserve:hover, .bd-btn-reserve:focus, .bd-btn-reserve:active,
.bd-open-drawer:hover, .bd-open-drawer:focus, .bd-open-drawer:active,
.bd-nav-reserve:hover, .bd-nav-reserve:focus, .bd-nav-reserve:active,
.ff-btn-submit:hover, .ff-btn-submit:focus, .ff-btn-submit:active {
  background: #e6be00 !important;
  color: var(--accent-ink) !important;
}

/* Burger */
.bd-nav-burger  { color: var(--ink-3); border: 0 !important; background: transparent !important; }
.bd-nav-burger:hover { background: var(--surface) !important; color: var(--ink) !important; }

/* Drawer close */
.bd-drawer-close { color: var(--ink) !important; border: 0 !important; padding: 0 !important; line-height: 1 !important; }
.bd-drawer-close:hover { background: var(--surface-2) !important; color: var(--ink) !important; }

/* FAQ accordion buttons */
.bd-faq-q { color: var(--ink) !important; border: 0 !important; }
.bd-faq-q:hover { background: transparent !important; color: var(--ink) !important; }

/* Language toggle links */
/* .bd-lang <a> tags mirror the static site's <button> pill style */
.bd-lang a {
  font-family: var(--f-mono);
  font-size: 11px;
  font-weight: 500;
  padding: 4px 9px;
  border-radius: 5px;
  color: var(--ink-3) !important;
  letter-spacing: 0.05em;
  text-decoration: none !important;
  border: 0 !important;
  background: transparent;
  display: inline-block;
  line-height: 1.4;
  transition: color .15s, background .15s;
}
.bd-lang a.on  { background: var(--surface-2); color: var(--ink) !important; }
.bd-lang a:hover { color: var(--ink-2) !important; }

/* Promo strip */
.bd-promo-strip { background: var(--accent); color: var(--accent-ink); }
.bd-promo-strip a { color: var(--accent-ink) !important; }

/* Reserve button in nav */
.bd-nav-reserve { background: var(--accent) !important; color: var(--accent-ink) !important; border: 0 !important; }
.bd-nav-reserve:hover { background: #e6be00 !important; color: var(--accent-ink) !important; }

/* ── Floating buttons (kör + hover-felirat, mint a HU; cseh színekkel) ───── */
.bd-floats {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.bd-float {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  position: relative;
  text-decoration: none;
  box-shadow: 0 14px 32px -10px rgba(0,0,0,.55);
  transition: transform .2s;
  border: 0;
}
.bd-float:hover { transform: translateY(-2px) scale(1.04); }
.bd-float-tel { background: var(--accent); color: var(--accent-ink) !important; }
.bd-float-wa  { background: #25D366; color: #fff !important; }
.bd-float svg { width: 24px; height: 24px; }
.bd-float-lbl {
  position: absolute;
  left: 68px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--ink);
  color: var(--bg);
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 500;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
.bd-float:hover .bd-float-lbl { opacity: 1; }
@media (max-width: 480px) { .bd-floats { left: 14px; bottom: 14px; } }

/* ── Drawer overlay + panel ───────────────────────────────────────────────── */
.bd-drawer-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
  backdrop-filter: blur(2px);
}
.bd-drawer-overlay.open { opacity: 1; pointer-events: auto; }

.bd-drawer-panel {
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  max-width: 440px;
  z-index: 1001;
  background: var(--surface);
  border-left: 1px solid var(--hairline-2);
  box-shadow: -8px 0 40px rgba(0,0,0,.5);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
  overflow-y: auto;
}
.bd-drawer-panel[data-open="true"] { transform: translateX(0); }

.bd-drawer-card {
  padding: 40px 32px 40px;
  position: relative;
}
.bd-drawer-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--surface-2);
  display: grid;
  place-items: center;
  font-size: 16px;
  cursor: pointer;
  transition: background .2s;
}
.bd-drawer-card h3 {
  font-family: var(--f-display);
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
  color: var(--ink) !important; /* különben sötét örökölt szín a sötét drawer-en */
}
.bd-drawer-card .sub {
  color: var(--ink-3);
  font-size: 14px;
  margin-bottom: 24px;
  line-height: 1.5;
}

/* ── Form elements ────────────────────────────────────────────────────────── */
.bd-form-field { display: grid; gap: 6px; }
.bd-form-field label { font-size: 13px; font-weight: 600; color: var(--ink-2); }
.bd-input, .bd-select {
  background: var(--surface-2);
  border: 1px solid var(--hairline-2);
  border-radius: 10px;
  color: var(--ink);
  font-family: var(--f-body);
  font-size: 14px;
  padding: 12px 14px;
  width: 100%;
  transition: border-color .2s;
  outline: none;
  -webkit-appearance: none;
}
.bd-input:focus, .bd-select:focus { border-color: var(--accent); }
.bd-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237c89a3' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; cursor: pointer; }

/* ── Promo strip ──────────────────────────────────────────────────────────── */
.bd-promo-strip {
  background: var(--accent);
  color: var(--accent-ink);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.01em;
  overflow: hidden;
  padding: 8px 0;
  white-space: nowrap;
}
.bd-promo-inner {
  display: flex;
  gap: 48px;
  animation: bd-marquee 28s linear infinite;
}
.bd-promo-inner span { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.bd-promo-inner .dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: rgba(0,0,0,.25); flex: none;
}
.bd-promo-inner .acc { font-weight: 700; }
@keyframes bd-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ── Elementor widget spacing resets ─────────────────────────────────────── */
.elementor-widget-container { width: 100%; }
.elementor-widget-text-editor p { margin: 0; }
.elementor-section, .e-container { max-width: 100% !important; }

/* ── Fluent Forms — BOXDEPO dark theme override ──────────────────────────── */
.ff-el-group { margin-bottom: 18px; }
.ff-el-group label, .ff-el-group .ff-el-input--label {
    font-family: var(--f-body,'Geist',sans-serif);
    font-size: 13px;
    font-weight: 500;
    color: var(--ink-3,#7c89a3);
    margin-bottom: 6px;
    display: block;
}
.ff-el-group input[type="text"],
.ff-el-group input[type="email"],
.ff-el-group input[type="tel"],
.ff-el-group input[type="number"],
.ff-el-group textarea,
.ff-el-group select {
    font-family: var(--f-body,'Geist',sans-serif);
    font-size: 14px;
    color: var(--ink,#f4f5f8);
    background: var(--bg,#060d1c);
    border: 1px solid var(--hairline-2,#243a64);
    border-radius: 8px;
    padding: 11px 14px;
    width: 100%;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    appearance: none;
    -webkit-appearance: none;
}
.ff-el-group input:focus,
.ff-el-group textarea:focus,
.ff-el-group select:focus {
    border-color: var(--accent,#ffd400);
    box-shadow: 0 0 0 3px rgba(255,212,0,.12);
}
.ff-el-group input::placeholder,
.ff-el-group textarea::placeholder { color: var(--ink-4,#4e5b75); }
.ff-el-group select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237c89a3' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.ff-el-group textarea { resize: vertical; min-height: 110px; }
.ff-btn.ff-btn-submit, .ff-el-group .ff-btn {
    font-family: var(--f-body,'Geist',sans-serif);
    font-size: 15px;
    font-weight: 600;
    color: var(--accent-ink,#0a0f1c) !important;
    background: var(--accent,#ffd400) !important;
    border: none;
    border-radius: 8px;
    padding: 14px 32px;
    cursor: pointer;
    letter-spacing: -.01em;
    transition: opacity .15s, transform .1s;
    display: inline-block;
    line-height: 1;
}
.ff-btn.ff-btn-submit:hover { opacity: .9; transform: translateY(-1px); }
.ff-message-success { font-family: var(--f-body,'Geist',sans-serif); font-size: 14px; color: var(--ok,#34d399); padding: 14px; background: rgba(52,211,153,.08); border: 1px solid rgba(52,211,153,.2); border-radius: 8px; }
.ff-errors .error, .ff-el-is-error .ff-el-help-message { font-family: var(--f-mono,'Geist Mono',monospace); font-size: 11px; color: #f87171; margin-top: 5px; }
.ff-el-is-error input, .ff-el-is-error textarea, .ff-el-is-error select { border-color: #f87171 !important; }
/* Loading state */
.ff-btn.ff-btn-submit.ff-loading { opacity: .6; pointer-events: none; }
/* Required star */
.ff-el-group .req-text { color: var(--accent,#ffd400); margin-left: 2px; }
/* Form container reset */
.fluentform { background: transparent; }
.ff-form-success { background: transparent; }
