/*
Theme Name: NIGHTY
Theme URI: https://www.nighty.cz
Author: NIGHTY
Description: Custom NIGHTY intimate marketplace theme.
Version: 2.144.0
*/

/* =========================================================
   ROOT / RESET
========================================================= */

:root {
    --pink: #ff2d6f;
    --pink-light: #ff4c83;
    --pink-dark: #c91d56;

    --black: #070709;
    --dark: #0b0b0f;
    --dark-2: #101015;
    --card: #131318;

    --border: #292931;

    --white: #ffffff;
    --text: #dedee3;
    --muted: #8f8f99;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    background: var(--black);
    color: var(--white);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

button,
input,
select,
textarea {
    font: inherit;
}

.wrap {
    width: min(1440px, calc(100% - 60px));
    margin: 0 auto;
}

/* =========================================================
   BUTTONS
========================================================= */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    background: var(--pink);
    color: white;
    border: 1px solid var(--pink);
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .4px;
    cursor: pointer;
    transition: .2s ease;
}

.btn:hover {
    background: var(--pink-light);
    border-color: var(--pink-light);
}

/* =========================================================
   HEADER
========================================================= */

.site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background: rgba(7, 7, 9, .98);
    border-bottom: 1px solid #1b1b21;
}

.header-in {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.nighty-logo-diamond {
    width: 42px;
    height: 36px;
    fill: none;
    stroke: var(--pink);
    stroke-width: 2.3;
    filter: drop-shadow(0 0 7px rgba(255,45,111,.22));
}

.brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.brand-text strong {
    color: var(--pink);
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 3px;
}

.brand-text small {
    margin-top: 5px;
    color: white;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1px;
}

.brand-text small span {
    color: var(--pink);
}

/* =========================================================
   NAV
========================================================= */

.site-nav {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-left: auto;
}

.site-nav a {
    position: relative;
    color: #d1d1d6;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .4px;
    transition: .2s ease;
}

.site-nav a:hover {
    color: white;
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 0;
    height: 2px;
    background: var(--pink);
    transition: .2s ease;
}

.site-nav a:hover::after {
    width: 100%;
}

/* =========================================================
   LANGUAGE SWITCHER
========================================================= */

.language-switcher {
    position: relative;
    flex: 0 0 auto;
}

.language-current {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 75px;
    min-height: 42px;
    padding: 0 11px;
    background: #111116;
    color: white;
    border: 1px solid #34343e;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.language-current:hover,
.language-current:focus {
    border-color: var(--pink);
    outline: none;
}

.language-arrow {
    color: var(--pink);
    font-size: 8px;
}

.language-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: none;
    width: 160px;
    overflow: hidden;
    background: #121217;
    border: 1px solid #33333c;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(0,0,0,.55);
    z-index: 9999;
}

.language-switcher:hover .language-menu,
.language-switcher:focus-within .language-menu {
    display: block;
}

.language-option {
    display: block;
    padding: 11px 14px;
    color: #d2d2d7;
    border-bottom: 1px solid #27272f;
    font-size: 12px;
}

.language-option:last-child {
    border-bottom: 0;
}

.language-option:hover {
    background: #1c1116;
    color: var(--pink);
}

.language-option.active {
    color: var(--pink);
}

/* =========================================================
   LOGIN BUTTON
========================================================= */

.login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    color: white;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.login-btn:hover {
    color: var(--pink);
}

/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 74% 42%, rgba(255,45,111,.14), transparent 31%),
        radial-gradient(circle at 35% 50%, rgba(255,45,111,.06), transparent 36%),
        linear-gradient(110deg, #08080b 0%, #0b0b0f 55%, #160a10 100%);
}

.hero::after {
    content: "";
    position: absolute;
    right: -120px;
    top: 50%;
    width: 520px;
    height: 520px;
    transform: translateY(-50%) rotate(45deg);
    background: radial-gradient(circle, rgba(255,45,111,.08), transparent 65%);
    border: 1px solid rgba(255,45,111,.08);
    pointer-events: none;
}

.hero .wrap {
    position: relative;
    z-index: 2;
    padding-top: 55px;
    padding-bottom: 65px;
}

/* =========================================================
   HERO BRAND
========================================================= */

.hero-brand {
    display: inline-block;
}

.hero-logo-top {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 335px;
    margin-bottom: 12px;
}

.logo-line {
    flex: 1;
    height: 1px;
    background: var(--pink);
}

.hero-diamond {
    width: 45px;
    height: 38px;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--pink);
    stroke-width: 2.2;
    filter: drop-shadow(0 0 8px rgba(255,45,111,.26));
}

.hero-brand h1 {
    margin: 0;
    color: var(--pink);
    font-size: clamp(72px, 8vw, 116px);
    font-weight: 900;
    line-height: .9;
    letter-spacing: 5px;
}

/* =========================================================
   HERO TEXT
========================================================= */

.hero-marketplace {
    margin: 12px 0 0;
    color: white;
    font-size: clamp(25px, 3.2vw, 44px);
    font-weight: 900;
    letter-spacing: 1.5px;
}

.hero-marketplace span {
    color: var(--pink);
}

.hero-subtitle {
    margin: 14px 0 26px;
    color: #c0c0c7;
    font-size: 15px;
}

/* =========================================================
   SEARCH
========================================================= */

.searchbox {
    display: grid;
    grid-template-columns: minmax(160px, 1fr) minmax(190px, 1.15fr) minmax(110px, .7fr) auto;
    max-width: 850px;
    padding: 7px;
    background: rgba(18,18,23,.94);
    border: 1px solid #34343e;
    border-radius: 8px;
    box-shadow: 0 18px 35px rgba(0,0,0,.3);
}

.searchbox select,
.searchbox input {
    width: 100%;
    min-height: 49px;
    padding: 0 14px;
    background: #111116;
    color: #e6e6ea;
    border: 0;
    border-right: 1px solid #292930;
    outline: none;
    font-size: 13px;
}

.searchbox input::placeholder {
    color: #8c8c95;
}

.searchbox .btn {
    min-width: 130px;
    min-height: 49px;
    border-radius: 5px;
    font-size: 11px;
}

/* =========================================================
   QUICK CITIES
========================================================= */

.quick-cities {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.quick-cities .label {
    margin-right: 3px;
    color: #777781;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 11px;
    background: rgba(255,255,255,.025);
    color: #bfbfc6;
    border: 1px solid #2d2d35;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
}

.pill:hover {
    color: var(--pink);
    border-color: var(--pink);
}

/* =========================================================
   SECTIONS
========================================================= */

.section {
    padding: 58px 0;
}

.section-alt {
    background: #0a0a0d;
}

.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 23px;
}

.section-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-title h2,
.section-title h3 {
    margin: 0;
    color: white;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: .7px;
}

.section-dot {
    width: 4px;
    height: 20px;
    background: var(--pink);
    border-radius: 2px;
}

.section-link {
    color: var(--pink);
    font-size: 11px;
    font-weight: 800;
}

.section-link:hover {
    color: white;
}

/* =========================================================
   MARKET GRID
========================================================= */

.market-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 32px;
}

/* =========================================================
   PROFILE CARDS
========================================================= */

.cards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
}

.card {
    display: block;
    overflow: hidden;
    background: var(--card);
    border: 1px solid #25252d;
    border-radius: 9px;
    transition: transform .2s ease, border-color .2s ease;
}

.card:hover {
    transform: translateY(-3px);
    border-color: rgba(255,45,111,.55);
}

.photo {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    background: linear-gradient(135deg, #1b1b21, #0f0f13);
    background-size: cover;
    background-position: center;
}

.online-dot {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 10px;
    height: 10px;
    background: #38db79;
    border: 2px solid white;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(56,219,121,.6);
}

.card-body {
    padding: 12px 13px 14px;
}

.card-body h4 {
    margin: 0;
    color: white;
    font-size: 14px;
    font-weight: 800;
}

.card-body p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 11px;
}

.verified {
    margin-left: 4px;
    color: var(--pink);
    font-size: 10px;
}

.online-text {
    margin-top: 5px;
    color: #39d877;
    font-size: 10px;
    font-weight: 700;
}

/* =========================================================
   SIDEBAR
========================================================= */

.side {
    min-width: 0;
}

.mini-profile {
    position: relative;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 10px 0;
    border-bottom: 1px solid #24242b;
}

.mini-photo {
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #202027, #101014);
    border-radius: 7px;
}

.mini-profile strong {
    display: block;
    color: white;
    font-size: 13px;
}

.muted {
    display: block;
    color: var(--muted);
    font-size: 10px;
}

.new-label {
    padding: 3px 6px;
    background: rgba(255,45,111,.10);
    color: var(--pink);
    border: 1px solid rgba(255,45,111,.35);
    border-radius: 4px;
    font-size: 8px;
    font-weight: 800;
}

/* =========================================================
   JOIN BOX
========================================================= */

.join-box {
    margin-top: 25px;
    padding: 22px;
    background: linear-gradient(135deg, rgba(255,45,111,.13), rgba(255,45,111,.035));
    border: 1px solid rgba(255,45,111,.3);
    border-radius: 10px;
}

.join-diamond {
    width: 42px;
    margin-bottom: 9px;
}

.join-copy h3 {
    margin: 0;
    font-size: 17px;
}

.join-copy p {
    margin: 4px 0 15px;
}

.join-box .btn {
    width: 100%;
}

/* =========================================================
   CITY GRID
========================================================= */

.city-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 13px;
}

.city-box {
    min-height: 105px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #111116;
    border: 1px solid #282830;
    border-radius: 9px;
    transition: .2s ease;
}

.city-box:hover {
    transform: translateY(-3px);
    border-color: var(--pink);
}

.city-icon {
    margin-bottom: 6px;
    color: var(--pink);
    font-size: 24px;
}

.city-box strong {
    color: white;
    font-size: 13px;
}

.city-box small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
}

/* =========================================================
   BENEFITS
========================================================= */

.benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 45px;
    padding: 25px 0;
    border-top: 1px solid #202026;
    border-bottom: 1px solid #202026;
}

.benefit {
    display: flex;
    align-items: center;
    gap: 11px;
}

.benefit-icon {
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--pink);
    border: 1px solid rgba(255,45,111,.45);
    border-radius: 50%;
    font-size: 18px;
}

.benefit strong {
    display: block;
    color: white;
    font-size: 11px;
    font-weight: 800;
}

.benefit span {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 9px;
}

/* =========================================================
   MAIN / FOOTER
========================================================= */

main {
    min-height: 500px;
}

.site-footer {
    padding: 40px 0;
    background: #070709;
    color: #80808a;
    border-top: 1px solid #202026;
}

.footer-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

/* =========================================================
   RESPONSIVE - LARGE
========================================================= */

@media (max-width: 1280px) {
    .header-in { gap: 14px; }
    .site-nav { gap: 15px; }
    .site-nav a { font-size: 10px; }
    .market-grid { grid-template-columns: minmax(0, 1fr) 290px; }
    .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .city-grid { grid-template-columns: repeat(3, 1fr); }
}

/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 1050px) {
    .site-nav { display: none; }
    .language-switcher { margin-left: auto; }
    .market-grid { grid-template-columns: 1fr; }
    .side { margin-top: 15px; }
    .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .benefits { grid-template-columns: repeat(2, 1fr); }
}

/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 780px) {
    .wrap { width: calc(100% - 30px); }
    .header-in { min-height: 74px; gap: 9px; }
    .nighty-logo-diamond { width: 35px; }
    .brand-text strong { font-size: 19px; }
    .brand-text small { font-size: 6px; }
    .login-btn { display: none; }
    .header-in > .btn { min-height: 39px; padding: 0 10px; font-size: 9px; }
    .language-current { min-width: 64px; min-height: 39px; padding: 0 8px; }
    .hero { min-height: 500px; }
    .hero .wrap { padding-top: 50px; padding-bottom: 55px; }
    .hero-logo-top { width: 235px; }
    .hero-brand h1 { font-size: clamp(58px, 17vw, 82px); }
    .hero-marketplace { font-size: clamp(21px, 6vw, 31px); }
    .searchbox { grid-template-columns: 1fr; }
    .searchbox select,
    .searchbox input { border-right: 0; border-bottom: 1px solid #292930; }
    .searchbox .btn { width: 100%; }
    .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .city-grid { grid-template-columns: repeat(2, 1fr); }
    .benefits { grid-template-columns: 1fr; }
}

/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media (max-width: 520px) {
    .brand { gap: 6px; }
    .nighty-logo-diamond { width: 30px; }
    .brand-text strong { font-size: 17px; letter-spacing: 1.5px; }
    .brand-text small { display: none; }
    .header-in > .btn { padding: 0 8px; font-size: 8px; }
    .language-current { min-width: 57px; font-size: 9px; }
    .hero-brand h1 { font-size: 58px; }
    .hero-marketplace { font-size: 22px; }
    .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .city-grid { grid-template-columns: 1fr; }
}

.nighty-profile-link{position:relative}
.nighty-message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;border-radius:999px;background:#ff2d6f;color:#fff;font-size:10px;font-weight:900;line-height:18px;vertical-align:middle;box-shadow:0 0 0 2px #09090c}
.nighty-header-messages{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-left:6px;border:1px solid #ff2d6f;border-radius:50%;color:#ff2d6f;font-size:18px;text-decoration:none}.nighty-header-messages .nighty-message-badge{position:absolute;right:-7px;top:-7px;margin:0}

/* TranslatePress: plovoucí přepínač umístíme do hlavičky mimo navigaci. */
.trp-floating-language-switcher { display:none !important; }
.nighty-trp-switcher { display:inline-flex; align-items:center; margin-right:12px; }
.nighty-review-setting { margin-top:12px; }
.nighty-review-setting label { color:#fff; font-weight:700; }
.nighty-review-setting input { accent-color:#ff2d6f; margin-right:7px; }
.nighty-review-setting .nighty-help { margin:5px 0 0; color:#8f8f99; font-size:11px; }
.nighty-trp-switcher .trp-language-switcher { margin:0 !important; }
@media (max-width: 780px) {
    .nighty-trp-switcher { margin-right:0; }
}

/* NIGHTY 2.1: mobile polish for forms, cards and long content. */
@media (max-width: 650px) {
    body { overflow-x: hidden; }
    .wrap { width: calc(100% - 24px); }
    .site-header { position: relative; }
    .header-in { min-height: 64px; }
    .brand-text strong { font-size: 16px; }
    .header-in > .btn { max-width: 132px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .language-current { min-width: 52px; }
    .site-footer { padding: 28px 0; }
    .footer-in { align-items: flex-start; flex-direction: column; gap: 10px; }
    .footer-links { line-height: 1.8; }
    .cards { grid-template-columns: 1fr; gap: 14px; }
    .card, .profile-card { min-width: 0; }
    .searchbox, .filters, .filter-grid { gap: 10px; }
    input, select, textarea { max-width: 100%; }
    .btn { max-width: 100%; }
}
.nighty-hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}
.site-nav a,.nh-nav a{text-transform:uppercase!important}
.nighty-article-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin:28px 0 8px;padding:16px 18px;border:1px solid rgba(255,45,111,.35);border-radius:12px;background:rgba(255,45,111,.06);font-size:14px}
.nighty-article-links strong{width:100%;color:#fff}
.nighty-article-links span{display:block}
.nighty-article-links a{color:#ff5a8d;text-decoration:none}
.nighty-article-links a:hover{text-decoration:underline}
/* Front-end editor podnikového profilu */
.nighty-account-page .nighty-profile-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
    max-width: 980px;
    padding: 24px;
    background: #11131b;
    border: 1px solid #2c3040;
    border-radius: 14px;
}
.nighty-account-page .nighty-profile-form label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #f5f5f7;
    font-weight: 600;
}
.nighty-account-page .nighty-profile-form input,
.nighty-account-page .nighty-profile-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    color: #fff;
    background: #0b0c11;
    border: 1px solid #3a3f50;
    border-radius: 8px;
}
.nighty-account-page .nighty-profile-form textarea { min-height: 92px; resize: vertical; }
.nighty-account-page .nighty-profile-form label:nth-last-of-type(-n+5),
.nighty-account-page .nighty-profile-form button { grid-column: 1 / -1; }
.nighty-account-page .nighty-profile-form button { justify-self: start; }
.nighty-account-page .nighty-profile-form fieldset { grid-column: 1 / -1; border: 1px solid #3a3f50; border-radius: 8px; padding: 14px; }
.nighty-account-page .nighty-profile-form fieldset { display:none; }
.nighty-account-page .nighty-profile-form fieldset label { display: inline-flex; flex-direction: row; margin: 5px 14px 5px 0; font-weight: 400; }
.nighty-business-girl-actions { grid-column: 1 / -1; padding: 16px; border: 1px solid #3a3f50; border-radius: 8px; background: #0b0c11; }
.nighty-business-girl-actions strong { display:block; color:#fff; margin-bottom:6px; }
.nighty-business-girl-actions p { color:#a8adbd; margin:0 0 12px; }
.nighty-business-girl-step { grid-column:1 / -1; margin:4px 0 -6px; color:#a8adbd; }
.nighty-business-girl-step strong { color:#fff; }
.nighty-business-owner-tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:12px 0; }
.nighty-business-owner-tools strong { width:100%; color:#fff; }
.nighty-business-owner-tools a { color:#fff; background:#ff2d78; border-radius:6px; padding:9px 12px; text-decoration:none; }
.nighty-account-page .nighty-profile-form input[type="file"] { padding: 8px; }
.nighty-upload-preview { display:block; max-width:180px; max-height:110px; object-fit:cover; margin-top:6px; border:1px solid #3a3f50; border-radius:6px; }
.nighty-upload-gallery { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
.nighty-upload-gallery .nighty-upload-preview { width:86px; height:64px; margin:0; }
.nighty-logo-preview { width:96px; height:96px; border-radius:50%; object-fit:cover; }
.nighty-map-link { display:inline-block; color:#fff; background:#ff2d78; border-radius:6px; padding:10px 14px; text-decoration:none; }
.nighty-account-page .nighty-profile-form select {
    width: 100%; box-sizing: border-box; padding: 11px 12px; color: #fff;
    background: #0b0c11; border: 1px solid #3a3f50; border-radius: 8px;
}
.nighty-account-page .nighty-hours-grid {
    grid-column: 1 / -1; display: grid; gap: 8px; padding: 12px;
    background: #0b0c11; border: 1px solid #3a3f50; border-radius: 8px;
}
.nighty-account-page .nighty-hours-grid::before {
    content: "Den | Od | Do"; color: #a8adbd; font-size: 12px; font-weight: 600;
}
.nighty-account-page .nighty-hours-grid > div {
    display: grid; grid-template-columns: 130px minmax(0,1fr) minmax(0,1fr); gap: 8px; align-items: center;
}
.nighty-account-page .nighty-hours-grid span { color: #f5f5f7; }
.nighty-account-page .nighty-hours-grid input[type="time"] { min-width: 0; }
@media (max-width: 700px) {
    .nighty-account-page .nighty-profile-form { grid-template-columns: 1fr; padding: 16px; }
    .nighty-account-page .nighty-profile-form label:nth-last-of-type(-n+5) { grid-column: auto; }
    .nighty-account-page .nighty-hours-grid > div { grid-template-columns: 1fr 1fr; }
    .nighty-account-page .nighty-hours-grid > div span { grid-column: 1 / -1; }
}


/* Unified NIGHTY registration icon language */
.nighty-register-highlight-heart,.nighty-register-benefit-icon{display:inline-flex;align-items:center;justify-content:center;color:#ff3b9d}
.nighty-register-highlight-heart .nighty-ui-icon{width:24px;height:24px;stroke-width:2.2}
.nighty-register-benefits>div{position:relative;padding-left:40px}
.nighty-register-benefit-icon{position:absolute;left:0;top:2px;width:28px;height:28px;border:1px solid rgba(255,59,157,.45);border-radius:9px;background:rgba(255,59,157,.08)}
.nighty-register-benefit-icon .nighty-ui-icon{width:16px;height:16px;stroke-width:2.2}
@media (max-width:640px){.nighty-register-benefits>div{padding-left:36px}.nighty-register-benefit-icon{width:25px;height:25px}}


/* Stabilizace rozvržení osobního profilu NIGHTY */
body:has(.nighty-account-page) { background:#070709!important; color:#fff!important; overflow-x:hidden!important; }
body .nighty-account-page { display:block!important; clear:both!important; position:relative!important; z-index:1; width:100%!important; max-width:none!important; min-height:calc(100vh - 120px)!important; margin:0!important; padding:clamp(28px,4vw,52px) 0 80px!important; background:#070709!important; color:#fff!important; font:15px/1.6 Arial,Helvetica,sans-serif!important; }
body .nighty-account-page > .wrap { display:block!important; width:min(1240px,calc(100% - 48px))!important; max-width:1240px!important; margin:0 auto!important; padding:0!important; }
body.page-template-page-muj-profil .site-header, body.page-template-page-muj-profil-php .site-header, body:has(.nighty-account-page) .site-header { position:relative!important; inset:auto!important; z-index:1000!important; display:block!important; float:none!important; width:100%!important; max-width:none!important; margin:0!important; transform:none!important; }
body .nighty-account-page .nighty-account-header { display:flex!important; align-items:flex-end!important; justify-content:space-between!important; gap:20px!important; margin:0 0 26px!important; }
body .nighty-account-page .nighty-account-header h1 { margin:6px 0 7px!important; color:#fff!important; font-size:clamp(30px,4vw,40px)!important; line-height:1.15!important; }
body .nighty-account-page .nighty-account-header p, body .nighty-account-page .nighty-help { color:#b8c4cf!important; }
body .nighty-account-page .nighty-account-form { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:18px!important; width:100%!important; margin:0!important; }
body .nighty-account-page .nighty-account-card, body .nighty-account-page .nighty-creator-card, body .nighty-account-page .nighty-account-message, body .nighty-account-page .nighty-account-success, body .nighty-account-page .nighty-account-errors, body .nighty-account-page .nighty-account-verification, body .nighty-account-page .nighty-personal-messages-link, body .nighty-account-page .profile-panel { min-width:0!important; padding:clamp(18px,2.4vw,26px)!important; border:1px solid #263c4a!important; border-radius:14px!important; background:#0b1a23!important; color:#f5f7fa!important; box-shadow:0 8px 28px #0003!important; }
body .nighty-account-page .nighty-account-card h2, body .nighty-account-page .nighty-account-card h3, body .nighty-account-page .nighty-creator-card h2 { color:#fff!important; line-height:1.3!important; }
body .nighty-account-page .nighty-account-form label, body .nighty-account-page .nighty-account-form legend { color:#edf2f6!important; }
body .nighty-account-page .nighty-account-form input:not([type=checkbox]):not([type=radio]):not([type=file]), body .nighty-account-page .nighty-account-form select, body .nighty-account-page .nighty-account-form textarea { box-sizing:border-box!important; max-width:100%!important; border:1px solid #345060!important; border-radius:8px!important; background:#07131a!important; color:#fff!important; }
body .nighty-account-page .nighty-account-form input:focus, body .nighty-account-page .nighty-account-form select:focus, body .nighty-account-page .nighty-account-form textarea:focus { border-color:#ff2d78!important; outline:2px solid #ff2d7840!important; outline-offset:1px!important; }
body .nighty-account-page .nighty-account-form input[type=checkbox], body .nighty-account-page .nighty-account-form input[type=radio] { accent-color:#ff2d78!important; }
body .nighty-account-page .nighty-account-form button, body .nighty-account-page .nighty-account-save, body .nighty-account-page .nighty-account-view { min-height:44px!important; border:1px solid #ff2d78!important; border-radius:8px!important; background:#ff2d78!important; color:#fff!important; font-weight:800!important; text-decoration:none!important; }
body .nighty-account-page a { color:#ff5b98; }
@media(max-width:760px) { body .nighty-account-page { padding:24px 0 64px!important; } body .nighty-account-page > .wrap { width:calc(100% - 28px)!important; } body .nighty-account-page .nighty-account-header { align-items:flex-start!important; flex-direction:column!important; } body .nighty-account-page .nighty-account-grid, body .nighty-account-page .nighty-basic-columns, body .nighty-account-page .nighty-lower-grid, body .nighty-account-page .nighty-top-dashboard { grid-template-columns:minmax(0,1fr)!important; } body .nighty-account-page .nighty-gallery-preview { grid-template-columns:repeat(3,minmax(0,1fr))!important; } }
