.elementor-3714 .elementor-element.elementor-element-e5cac70{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .menu-item a.hfe-menu-item{padding-left:15px;padding-right:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .menu-item a.hfe-sub-menu-item{padding-left:calc( 15px + 20px );padding-right:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .hfe-nav-menu__layout-vertical .menu-item ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 40px );padding-right:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .hfe-nav-menu__layout-vertical .menu-item ul ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 60px );padding-right:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .hfe-nav-menu__layout-vertical .menu-item ul ul ul ul a.hfe-sub-menu-item{padding-left:calc( 15px + 80px );padding-right:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .menu-item a.hfe-menu-item, .elementor-3714 .elementor-element.elementor-element-08a4fe1 .menu-item a.hfe-sub-menu-item{padding-top:15px;padding-bottom:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 ul.sub-menu{width:220px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu a.hfe-sub-menu-item,
						 .elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-menu-item,
						 .elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-sub-menu-item,
						 .elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-menu-item,
						 .elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{padding-top:15px;padding-bottom:15px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1.elementor-element{--align-self:center;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu a.hfe-sub-menu-item,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 .elementor-menu-toggle,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-menu-item,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-sub-menu-item,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-menu-item,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item{color:#EEF2FFE6;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown .menu-item a.hfe-menu-item,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown .menu-item a.hfe-sub-menu-item{background-color:#0A0E19F5;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu a.hfe-sub-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 .elementor-menu-toggle:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-sub-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item:hover{color:#FFFFFF;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu a.hfe-sub-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li a.hfe-sub-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-menu-item:hover,
								.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li a.hfe-sub-menu-item:hover{background-color:#FFFFFF14;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .sub-menu li.menu-item:not(:last-child),
						.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown li.menu-item:not(:last-child),
						.elementor-3714 .elementor-element.elementor-element-08a4fe1 nav.hfe-dropdown-expandible li.menu-item:not(:last-child){border-bottom-style:solid;border-bottom-color:#c4c4c4;border-bottom-width:1px;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 div.hfe-nav-menu-icon{color:#EEF2FFB3;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 div.hfe-nav-menu-icon svg{fill:#EEF2FFB3;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 .hfe-nav-menu-icon{background-color:#EEF2FFB3;padding:0.35em;}.elementor-3714 .elementor-element.elementor-element-f8ee04c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;}.elementor-3714 .elementor-element.elementor-element-b11ef8f .elementor-button{background-color:transparent;background-image:linear-gradient(90deg, #FF8A4C 0%, #FF9F6B 100%);}.elementor-3714 .elementor-element.elementor-element-6c85b01 .elementor-button{background-color:transparent;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(90deg, #FF8A4C 0%, #FF9F6B 100%);}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-3714 .elementor-element.elementor-element-f8ee04c{--width:88%;}}@media(max-width:1024px){.elementor-3714 .elementor-element.elementor-element-e5cac70{--grid-auto-flow:row;}.elementor-3714 .elementor-element.elementor-element-2bb5180.elementor-element{--align-self:center;}}@media(max-width:767px){.elementor-3714 .elementor-element.elementor-element-e5cac70{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-3714 .elementor-element.elementor-element-08a4fe1 a.hfe-menu-item, .elementor-3714 .elementor-element.elementor-element-08a4fe1 a.hfe-sub-menu-item{font-size:12px;}}/* Start custom CSS for navigation-menu, class: .elementor-element-08a4fe1 */.mm-header .elementor-nav-menu--dropdown{
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}/* End custom CSS */
/* Start custom CSS *//* =========================
   Matma Maturalna — HEADER + ACCOUNT UI (FULL CSS)
   ========================= */

/* Smooth scroll + offset pod sticky header */
html{ scroll-behavior:smooth; }
[id]{ scroll-margin-top: 90px; }

/* HEADER BAR */
.mm-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  background: linear-gradient(180deg, rgba(5,7,21,.96), rgba(5,7,21,.88));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  padding: 10px 16px;
}

/* Wyrównanie 3 stref */
.mm-header-left{ min-width: 270px; }
.mm-header-center{ flex: 1; display:flex; justify-content:center; }
.mm-header-right{
  min-width: 270px;
  display:flex;
  justify-content:flex-end;
  gap: 12px;
  align-items:center;
}

/* BRAND (logo + tekst) */
.mm-brand{
  display:flex;
  align-items:center;
  gap: 12px;
  text-decoration:none;
  color: #eef2ff;
}

.mm-brand__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  border: 1px solid rgba(179,107,255,.55);
  background:
    radial-gradient(120% 120% at 30% 20%, rgba(179,107,255,.35), transparent 55%),
    rgba(255,255,255,.04);
  color: rgba(238,242,255,.95);
  box-shadow: 0 10px 25px rgba(179,107,255,.10);
}

.mm-brand__txt{ display:flex; flex-direction:column; line-height:1.05; }
.mm-brand__name{ font-weight: 900; font-size: 22px; letter-spacing:.2px; }
.mm-brand__sub{
  margin-top: 5px;
  font-size: 11px;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  color: rgba(238,242,255,.55);
}

/* MENU (Elementor Nav Menu) */
.mm-header .elementor-nav-menu--main .elementor-item{
  position: relative;
  font-weight: 600;
  font-size: 15px;
  padding: 10px 10px;
  color: rgba(238,242,255,.78);
  border-radius: 12px;
  transition: .18s ease;
}
.mm-header .elementor-nav-menu--main .elementor-item:hover{
  color: rgba(238,242,255,.98);
  background: rgba(255,255,255,.03);
}

/* Podkreślenie jak na screenie */
.mm-header .elementor-nav-menu--main .elementor-item:hover::after{
  content:"";
  position:absolute;
  left: 10px;
  right: 10px;
  bottom: 2px;
  height: 2px;
  border-radius: 999px;
  background: rgba(238,242,255,.85);
  opacity: .85;
}

/* CTA button (Elementor button) */
.mm-header .elementor-button{
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  background: #ff5a2a !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 14px 30px rgba(255,90,42,.18) !important;
  transition: transform .15s ease, filter .15s ease;
}
.mm-header .elementor-button:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* ===== Pills (z shortcode) ===== */
.mm-header-account{
  display:flex;
  gap:10px;
  align-items:center;
}

.mm-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  font-weight:700;
  font-size:14px;
  line-height:1;
  text-decoration:none !important;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .15s ease, transform .15s ease, filter .15s ease;
}

.mm-pill--ghost:hover{
  background:rgba(255,255,255,.10);
}

.mm-pill--primary{
  color:#0b0f1a;
  background:#ff5a2a;
  border-color:transparent;
}
.mm-pill--primary:hover{
  filter:brightness(1.05);
  transform: translateY(-1px);
}

/* ===== Dropdown konta (details/summary) ===== */
.mm-user-dd{
  position: relative;
}

.mm-user-btn{
  list-style:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  user-select:none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background .15s ease, transform .15s ease;
}

.mm-user-dd summary::-webkit-details-marker{ display:none; }

.mm-user-btn:hover{
  background:rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.mm-user-ava{
  width:26px;
  height:26px;
  border-radius:999px;
  object-fit:cover;
}

.mm-user-text{
  font-weight:700;
  font-size:14px;
  opacity:.95;
  white-space:nowrap;
}

.mm-user-caret{
  opacity:.7;
  font-size:14px;
  line-height:1;
}

/* menu */
.mm-user-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:220px;
  padding:8px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(10,14,25,.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  z-index:9999;
}

.mm-user-item{
  display:flex;
  padding:10px 12px;
  border-radius:12px;
  color:#fff;
  text-decoration:none !important;
  opacity:.95;
  transition: background .15s ease;
}

.mm-user-item:hover{
  background:rgba(255,255,255,.08);
}

.mm-user-item--danger:hover{
  background:rgba(255,90,42,.18);
}

/* zamykanie menu po kliknięciu poza (bez JS to ograniczone, ale detale robią robotę) */
.mm-user-dd[open] .mm-user-btn{
  background:rgba(255,255,255,.10);
}

/* ===== Widoczność CTA: gość vs zalogowany (do Elementor przycisków) ===== */
body.logged-in .mm-show-guest{ display:none !important; }
body:not(.logged-in) .mm-show-user{ display:none !important; }

/* Mobile: ukryj środek jeśli się nie mieści */
@media (max-width: 860px){
  .mm-header-left{ min-width:auto; }
  .mm-header-right{ min-width:auto; }
  .mm-brand__sub{ display:none; }
  .mm-user-text{ display:none; } /* na mobile zostaje avatar + strzałka */
}
/* Ukryj avatar w dropdownie konta */
.mm-user-ava{ display:none !important; }

/* lekka korekta odstępów po ukryciu avatara */
.mm-user-btn{ gap:8px; padding:8px 12px; }
.mm-header .header-right{
  justify-self: end;
  align-self: center;
  display: flex;
  gap: 14px;
  min-width: 260px;
}
<?php
/**
 * MM – Najprostszy przycisk konta (login / dropdown)
 * Użycie w Elementorze: [mm_account_button]
 */

function mm_account_urls(): array {
    return [
        'start'      => home_url('/start/'),                // Twoja strona z 2 przyciskami
        'kursy'      => home_url('/panel-kursanta/'),       // Tutor
        'rezerwacje' => home_url('/panel-kursanta-amelia/') // Amelia
    ];
}

add_shortcode('mm_account_button', function () {
    $urls = mm_account_urls();

    // NIEZALOGOWANY → przycisk Zaloguj
    if (!is_user_logged_in()) {
        // WooCommerce "Moje konto" jeśli istnieje, inaczej zwykły WP login
        $login_url = function_exists('wc_get_page_permalink')
            ? wc_get_page_permalink('myaccount')
            : wp_login_url($urls['start']);

        return '<a class="mm-acc-btn mm-acc-btn--login" href="'.esc_url($login_url).'">Zaloguj</a>';
    }

    // ZALOGOWANY → "Witaj, Imię" + dropdown
    $u     = wp_get_current_user();
    $first = trim((string) get_user_meta($u->ID, 'first_name', true));
    $name  = $first !== '' ? $first : ($u->display_name ?: $u->user_login);

    $logout_url = wp_logout_url(home_url('/'));

    ob_start(); ?>
      <details class="mm-acc-dd">
        <summary class="mm-acc-btn mm-acc-btn--user">
          <span class="mm-acc-text"><?php echo esc_html('Witaj, ' . $name); ?></span>
          <span class="mm-acc-caret">▾</span>
        </summary>

        <div class="mm-acc-menu">
          <a class="mm-acc-item" href="<?php echo esc_url($urls['start']); ?>">Start</a>
          <a class="mm-acc-item" href="<?php echo esc_url($urls['kursy']); ?>">Twoje kursy</a>
          <a class="mm-acc-item" href="<?php echo esc_url($urls['rezerwacje']); ?>">Twoje rezerwacje</a>
          <a class="mm-acc-item mm-acc-item--danger" href="<?php echo esc_url($logout_url); ?>">Wyloguj</a>
        </div>
      </details>
    <?php
    return ob_get_clean();
});/* End custom CSS */