/* Ples LF UK – Rezervácie (ladí s dizajnom pleslfuk.sk) */
.plesrez {
    --pr-navy: #131E30;
    --pr-navy-2: #1a2740;
    --pr-line: rgba(221, 178, 138, .22);
    --pr-accent: #DDB28A;
    --pr-accent-dk: #c59766;
    --pr-text: #e9edf3;
    --pr-muted: #a9b3c3;
    --pr-free: #2e9e6a;
    --pr-online: #3b82f6;
    --pr-selected: #f59e0b;
    --pr-taken: #c0392b;
    --pr-paid: #7b1f1a;
    --pr-blocked: #cfd5de;
    font-family: 'Open Sans', Arial, sans-serif;
    color: var(--pr-text);
    box-sizing: border-box;
}
.plesrez *, .plesrez *::before, .plesrez *::after { box-sizing: border-box; }

.plesrez-front {
    background: var(--pr-navy);
    padding: 0 0 30px;
}

/* Nadpis a oddelovac s kosoštvorcom ako na webe */
.plesrez-head { margin-bottom: 10px; }
.plesrez-title {
    font-family: 'Merienda', cursive; font-style: italic; font-weight: 700;
    font-size: clamp(28px, 3.4vw, 40px); color: #fff; margin: 0 0 8px; line-height: 1.25;
}
.plesrez-divider { position: relative; height: 10px; margin: 0 0 12px; }
.plesrez-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--pr-line); }
.plesrez-divider span {
    position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; background: var(--pr-accent);
    transform: translate(-50%, -50%) rotate(45deg); box-shadow: 0 0 0 4px var(--pr-navy);
}
.plesrez-intro {
    color: var(--pr-muted);
    font-size: 15px;
    line-height: 1.6;
    margin: 4px 0 20px;
    max-width: 760px;
}

/* Zmenšenie medzery, ak je nadpis vytvorený priamo na stránke / v Elementore nad pluginom */
.plesrez-front > .plesrez-intro:first-child {
    margin-top: -8px !important;
}
.elementor-widget-heading + .elementor-widget-shortcode {
    margin-top: -14px !important;
}
.elementor-widget-heading + .elementor-widget-shortcode .plesrez-front {
    padding-top: 0 !important;
    margin-top: -10px !important;
}
.elementor-heading-title + .elementor-widget-shortcode .plesrez-front {
    margin-top: -12px !important;
}
.plesrez-closed {
    border: 1px solid var(--pr-line); border-left: 3px solid var(--pr-accent); padding: 18px 22px;
    background: var(--pr-navy-2); color: var(--pr-text); font-size: 16px;
}

.plesrez-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 26px;
    align-items: start;
    width: 100%;
    max-width: 100%;
}
@media (max-width: 1024px) {
    .plesrez-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }
}

/* Stĺpec mapy a sprievodných informácií */
.plesrez-map-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
}

/* Mapa */
.plesrez-mapbox {
    position: relative;
    background: #fff;
    border-radius: 6px;
    padding: 16px;
    border: 1px solid var(--pr-accent);
    box-shadow: 0 14px 34px rgba(0,0,0,.35);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
}
@media (max-width: 600px) {
    .plesrez-mapbox {
        padding: 10px 8px;
        border-radius: 5px;
    }
}

/* Horná lišta mapy – legenda a rýchla navigácia */
.plesrez-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid #eceff3;
}
.plesrez-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    font-size: 12.5px;
    font-weight: 600;
    color: #1f2633;
}
.plesrez-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.plesrez .lg {
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 3px;
    vertical-align: middle;
}
.lg-free { background: var(--pr-free); }
.lg-online { background: var(--pr-online); }
.lg-selected { background: var(--pr-selected); }
.lg-taken, .lg-reserved, .lg-occupied { background: var(--pr-taken); }
.lg-occupied { background: #8a5a2b; }
.lg-paid { background: var(--pr-paid); }
.lg-blocked { background: var(--pr-blocked); }
.lg-reset { background: linear-gradient(135deg, var(--pr-free) 50%, var(--pr-blocked) 50%); }

.plesrez-quick-nav {
    display: inline-flex;
    gap: 6px;
}
.pr-qbtn {
    background: #f1f5f9;
    color: #1e293b;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    -webkit-tap-highlight-color: transparent;
}
.pr-qbtn:hover {
    background: #131E30;
    color: #DDB28A;
    border-color: #131E30;
}
@media (max-width: 768px) {
    /* Skrytie tlačidiel rýchlej navigácie na mobile pre uvoľnenie priestoru pre väčšiu mapu */
    .plesrez-quick-nav {
        display: none !important;
    }
    .plesrez-toolbar {
        justify-content: center;
        margin-bottom: 6px;
        padding-bottom: 6px;
    }
    .plesrez-legend {
        justify-content: center;
        font-size: 11.5px;
        gap: 4px 10px;
    }
    .plesrez-mapbox {
        padding: 8px 6px;
    }
    .plesrez-scroll {
        min-height: 350px;
        height: 56vh;
        max-height: 560px;
    }
    .plesrez-svg {
        width: 100%;
        height: 100%;
        min-height: 350px;
    }
}

/* Plávajúce tlačidlá priblíženia */
.plesrez-zoom-bar {
    position: absolute;
    right: 14px;
    bottom: 34px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 25;
}
.plesrez-zoom-bar .pr-zbtn {
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    border-radius: 5px;
    background: #131E30;
    color: #DDB28A;
    border: 1px solid rgba(221, 178, 138, 0.6);
    font-size: 19px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.35);
    transition: all 0.2s ease;
    user-select: none;
    -webkit-user-select: none;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
}
.plesrez-zoom-bar .pr-zbtn:hover {
    background: #DDB28A;
    color: #131E30;
    border-color: #DDB28A;
    transform: translateY(-1px);
}
.plesrez-zoom-bar .pr-zbtn:active {
    transform: translateY(0);
}
.plesrez-zoom-bar .pr-zfocus {
    font-size: 15px;
}
.plesrez-zoom-bar .pr-zreset {
    font-size: 16px;
}
@media (max-width: 600px) {
    .plesrez-zoom-bar {
        right: 10px;
        bottom: 32px;
        gap: 5px;
    }
    .plesrez-zoom-bar .pr-zbtn {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        font-size: 17px;
    }
}

.plesrez-scroll {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border-radius: 4px;
    touch-action: pan-y pinch-zoom;
}
.plesrez-svg {
    display: block;
    width: 100%;
    height: auto;
    min-width: 0;
    max-width: 100%;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y pinch-zoom;
    transition: transform 0.05s ease;
}
.plesrez-svg.is-zoomed {
    cursor: grab;
    touch-action: none;
}
.plesrez-svg.is-dragging {
    cursor: grabbing !important;
}

.plesrez-map-hint {
    display: none;
    margin-top: 8px;
    font-size: 11.5px;
    color: #64748b;
    text-align: center;
    line-height: 1.4;
}
.plesrez-map-hint em {
    font-style: normal;
}
@media (max-width: 768px), (hover: none) and (pointer: coarse) {
    .plesrez-map-hint {
        display: block;
    }
}

.pr-wall { fill: none; stroke: #6b7280; stroke-width: 1.4; }
.pr-zone { fill: #fff; stroke: #4b5563; stroke-width: 1.3; }
.pr-zone-label { font-family: 'Open Sans', Arial, sans-serif; font-size: 10px; font-weight: 700; fill: #1f2633; }
.pr-deco { fill: none; stroke: #6b7280; stroke-width: 3; stroke-dasharray: 2 2.2; }
.pr-entry { fill: none; stroke: #6b7280; stroke-width: 1.3; }

.pr-seat { stroke: #374151; stroke-width: .6; cursor: default; transition: fill .15s; }
.pr-seat.is-free { fill: var(--pr-free); cursor: pointer; }
.pr-seat.is-free:hover { fill: #1d7a50; }
.pr-seat.is-taken, .pr-seat.is-reserved { fill: var(--pr-taken); }
.pr-seat.is-occupied { fill: #8a5a2b; }
.pr-seat.is-paid { fill: var(--pr-paid); }
.pr-seat.is-blocked { fill: var(--pr-blocked); stroke: #9aa3af; }
.pr-seat.is-online { fill: var(--pr-online); stroke: #1d4ed8; stroke-width: .6; cursor: pointer; }
.pr-seat.is-online:hover { fill: #2563eb; }
.pr-seat.is-selected { fill: var(--pr-selected); stroke: #b45309; stroke-width: 1.1; }

.pr-tcircle { fill: #fff; stroke: #4b5563; stroke-width: 1.1; cursor: pointer; transition: fill .15s, stroke .15s; }
.pr-tlabel { font-family: 'Open Sans', Arial, sans-serif; font-size: 9.5px; font-weight: 700; fill: #9aa3af; pointer-events: none; }
.pr-table.is-open .pr-tcircle { stroke: var(--pr-free); stroke-width: 1.5; }
.pr-table.is-open .pr-tlabel { fill: #1d7a50; }
.pr-table.is-open:hover .pr-tcircle { fill: #eefaf3; }

/* Stoly vyhradené na online predaj (od decembra 2026) */
.pr-table.is-sec2-online .pr-tcircle { stroke: #3b82f6; stroke-width: 1.5; fill: #f0f7ff; cursor: pointer; }
.pr-table.is-sec2-online .pr-tlabel { fill: #1d4ed8; font-weight: 700; }
.pr-table.is-sec2-online:hover .pr-tcircle { fill: #dbeafe; stroke: #1d4ed8; }
.plesrez-adminmap .pr-seat { cursor: pointer; }

/* Plávajúci hover tooltip */
.pr-tooltip {
    position: absolute;
    z-index: 1000;
    pointer-events: none;
    background: #1e242e;
    color: #ffffff;
    padding: 7px 13px;
    border-radius: 7px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    font-size: 13px;
    font-weight: 600;
    font-family: 'Open Sans', Arial, sans-serif;
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -100%) translateY(-10px);
    transition: opacity 0.12s ease, transform 0.12s ease;
    border: 1px solid rgba(221, 178, 138, 0.28);
}
.pr-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -100%) translateY(-8px);
}
.pr-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #1e242e transparent transparent transparent;
}
.pr-tt-header {
    font-size: 11px;
    color: #a9b3c3;
    font-weight: 500;
    margin-bottom: 2px;
}
.pr-tt-status {
    font-size: 13.5px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.pr-tt-status.is-free { color: #3cd08a; }
.pr-tt-status.is-online { color: #60a5fa; }
.pr-tt-status.is-taken, .pr-tt-status.is-reserved { color: #f87171; }
.pr-tt-status.is-selected { color: #fbbf24; }
.pr-tt-status.is-blocked { color: #cbd5e1; }
.pr-tt-status.is-paid { color: #93c5fd; }
.pr-tt-status.is-occupied { color: #f59e0b; }
.pr-tt-extra {
    font-size: 11px;
    color: #DDB28A;
    margin-top: 3px;
    font-weight: 500;
}

/* Panel */
.plesrez-panel {
    background: var(--pr-navy-2);
    border: 1px solid var(--pr-line);
    border-top: 3px solid var(--pr-accent);
    border-radius: 6px;
    padding: 24px;
    position: sticky;
    top: 90px;
    box-shadow: 0 14px 34px rgba(0,0,0,.3);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .plesrez-panel {
        position: static;
        top: auto;
        padding: 20px 16px;
    }
}
@media (max-width: 480px) {
    .plesrez-panel {
        padding: 16px 12px;
    }
}
.plesrez-panel h3 {
    font-family: 'Merienda', cursive;
    font-style: italic;
    font-size: 22px;
    color: #fff;
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pr-line);
}
.plesrez-price-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 12px;
    background: rgba(10, 18, 30, 0.6);
    border: 1px solid var(--pr-line);
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 14px;
    font-size: 13px;
    color: var(--pr-muted);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-price-info span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}
.plesrez-price-info strong {
    color: var(--pr-accent);
    font-weight: 700;
}

.plesrez-selected {
    max-height: 240px;
    overflow-y: auto;
    margin-bottom: 12px;
    padding-right: 4px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-empty { color: var(--pr-muted); font-size: 14px; margin: 0; }
.plesrez-row { padding: 8px 0; border-bottom: 1px dashed var(--pr-line); width: 100%; box-sizing: border-box; }
.plesrez-row strong { font-family: 'Merienda', cursive; color: var(--pr-accent); font-size: 14px; display: block; margin-bottom: 4px; }
.plesrez-seat-list { display: flex; flex-direction: column; gap: 5px; width: 100%; box-sizing: border-box; }
.plesrez-seat-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 4px 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-seat-item .pr-seat-name {
    color: #e2e8f0;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
    min-width: 58px;
}
.plesrez-seat-item .pr-seat-type {
    flex: 1;
    min-width: 0;
    max-width: 180px;
    background: var(--pr-navy);
    color: #fff;
    border: 1px solid var(--pr-line);
    border-radius: 3px;
    padding: 5px 6px;
    font-size: 11.5px;
    font-family: inherit;
    cursor: pointer;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.plesrez-seat-item .pr-seat-type:focus {
    border-color: var(--pr-accent);
}
.plesrez-seat-item .pr-seat-remove {
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 2px 6px;
    border-radius: 3px;
    flex-shrink: 0;
    transition: color 0.2s, background 0.2s;
}
.plesrez-seat-item .pr-seat-remove:hover {
    color: #f87171;
    background: rgba(192, 57, 43, 0.2);
}
@media (max-width: 360px) {
    .plesrez-seat-item {
        flex-wrap: wrap;
        gap: 4px;
    }
    .plesrez-seat-item .pr-seat-type {
        max-width: calc(100% - 32px);
    }
}

.plesrez-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.plesrez .plesrez-chip {
    background: rgba(47, 111, 181, .25); color: #dbe8fb; border: 1px solid rgba(47, 111, 181, .8);
    border-radius: 14px; padding: 2px 10px; font-size: 12px; line-height: 1.6; cursor: pointer; font-family: inherit;
}
.plesrez .plesrez-chip:hover { background: rgba(192, 57, 43, .3); border-color: var(--pr-free); }

.plesrez-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    margin-bottom: 12px;
    border-top: 1px solid var(--pr-line);
    border-bottom: 1px solid var(--pr-line);
    width: 100%;
    box-sizing: border-box;
}
.plesrez-total span { color: var(--pr-muted); font-size: 14px; }
.plesrez-total strong { font-family: 'Merienda', cursive; color: var(--pr-accent); font-size: 19px; }

.plesrez-student-note {
    background: rgba(221, 178, 138, 0.1);
    border: 1px solid rgba(221, 178, 138, 0.35);
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 12px;
    font-size: 12px;
    line-height: 1.45;
    color: #f3dfcd;
    width: 100%;
    box-sizing: border-box;
}
.plesrez-student-note em {
    font-style: normal;
}

.plesrez-form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-form label {
    display: block;
    font-size: 13px;
    color: var(--pr-muted);
    margin-bottom: 12px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-form input[type=text],
.plesrez-form input[type=email],
.plesrez-form input[type=tel],
.plesrez-form textarea {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 5px;
    padding: 10px 12px;
    font: inherit;
    font-size: 14px;
    background: var(--pr-navy);
    color: #fff;
    border: 1px solid var(--pr-line);
    border-radius: 3px;
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.plesrez-form input:focus,
.plesrez-form textarea:focus {
    border-color: var(--pr-accent);
    box-shadow: 0 0 0 3px rgba(221,178,138,.18);
}
.plesrez-form .plesrez-check {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.5;
    word-break: break-word;
    overflow-wrap: break-word;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.plesrez-form .plesrez-check input {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--pr-accent);
}
.plesrez-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }

.plesrez .plesrez-btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 13px 20px;
    border: 1px solid var(--pr-accent);
    border-radius: 3px;
    cursor: pointer;
    background: var(--pr-accent);
    color: var(--pr-navy);
    font-family: 'Merienda', cursive;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .5px;
    transition: background .25s, color .25s, transform .2s;
    -webkit-tap-highlight-color: transparent;
}
.plesrez .plesrez-btn:hover { background: transparent; color: var(--pr-accent); transform: translateY(-1px); }
.plesrez .plesrez-btn:disabled { opacity: .6; cursor: wait; transform: none; }

.plesrez-msg { margin-top: 14px; font-size: 14px; line-height: 1.6; }
.plesrez-msg.is-error { color: #ffb4a8; }
.plesrez-msg.is-success { background: rgba(46,158,106,.15); border: 1px solid rgba(46,158,106,.55); border-radius: 4px; padding: 12px 14px; color: #d9f5e7; }
.plesrez-msg.is-success strong { display: block; color: #fff; margin-bottom: 4px; }
.plesrez-msg.is-pending { background: rgba(245, 158, 11, .15); border: 1px solid rgba(245, 158, 11, .55); border-radius: 4px; padding: 12px 14px; color: #fef3c7; }
.plesrez-msg.is-pending strong { display: block; color: #fbbf24; margin-bottom: 4px; }

.plesrez-banner { padding: 18px 22px; border-radius: 8px; font-size: 15px; line-height: 1.55; margin-bottom: 24px; border: 1px solid transparent; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }
.plesrez-banner strong { font-weight: 700; }
.plesrez-banner.is-success { background: #ecfdf5; border-color: #34d399; color: #065f46; }
.plesrez-banner.is-error { background: #fef2f2; border-color: #f87171; color: #991b1b; }
.plesrez-banner.is-info { background: #eff6ff; border-color: #60a5fa; color: #1e40af; }

/* ISIC nahrávanie pre študentské lístky */
.plesrez-isic-box {
    background: rgba(221, 178, 138, 0.08);
    border: 1px dashed rgba(221, 178, 138, 0.5);
    border-radius: 6px;
    padding: 13px 15px;
    margin-bottom: 14px;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s, background-color 0.2s;
}
.plesrez-isic-box:hover,
.plesrez-isic-box.is-dragover {
    border-color: var(--pr-accent);
    background: rgba(221, 178, 138, 0.14);
}
.plesrez-isic-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.pr-isic-title {
    font-weight: 700;
    color: var(--pr-accent);
    font-size: 13.5px;
}
.pr-isic-counter {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 10px;
    background: rgba(221, 178, 138, 0.2);
    color: #fce7d2;
    border: 1px solid rgba(221, 178, 138, 0.4);
    white-space: nowrap;
}
.pr-isic-counter.is-complete {
    background: rgba(46, 158, 106, 0.25);
    color: #86efac;
    border-color: rgba(46, 158, 106, 0.6);
}
.pr-isic-hint {
    color: #cbd5e1;
    font-size: 12px;
    line-height: 1.45;
    margin-bottom: 10px;
}
.plesrez-isic-files-list {
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.pr-isic-file-item {
    font-size: 12px;
    color: #e2e8f0;
    background: rgba(15, 23, 42, 0.7);
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid rgba(221, 178, 138, 0.25);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.pr-isic-file-info {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pr-isic-file-info strong {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
}
.pr-isic-file-info small {
    color: #94a3b8;
    flex-shrink: 0;
}
.pr-isic-file-remove {
    background: rgba(239, 68, 68, 0.16);
    border: 1px solid rgba(239, 68, 68, 0.45);
    color: #fca5a5;
    font-size: 11.5px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    padding: 3px 8px;
    border-radius: 4px;
    flex-shrink: 0;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
    line-height: 1.3;
}
.pr-isic-file-remove:hover {
    background: #ef4444;
    border-color: #ef4444;
    color: #fff;
}
.pr-isic-clear-all {
    background: transparent;
    border: none;
    color: #f87171;
    font-size: 11px;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    transition: color 0.2s;
}
.pr-isic-clear-all:hover {
    color: #fca5a5;
}
.plesrez-isic-actions {
    margin-top: 4px;
}
.plesrez-isic-btn-upload {
    display: block;
    width: 100%;
    padding: 9px 12px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: inherit;
    background: rgba(221, 178, 138, 0.12);
    color: var(--pr-accent);
    border: 1px dashed var(--pr-accent);
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    box-sizing: border-box;
}
.plesrez-isic-btn-upload:hover {
    background: rgba(221, 178, 138, 0.22);
    color: #fff;
    border-style: solid;
}
.pr-isic-status-note {
    font-size: 11.5px;
    line-height: 1.4;
    color: #e2e8f0;
    background: rgba(47, 111, 181, 0.15);
    border-left: 3px solid #60a5fa;
    padding: 6px 9px;
    margin-top: 8px;
    border-radius: 0 3px 3px 0;
}

/* ------------------------------------------------------------------
   Informácie o predaji pod mapou (2 kompaktné riadky na tmavom pozadí stránky)
   ------------------------------------------------------------------ */
.plesrez-map-legend-info {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
}
.pr-info-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 11px 16px;
    border-radius: 6px;
    background: #172338;
    background: rgba(23, 35, 56, 0.92);
    border: 1px solid rgba(221, 178, 138, 0.22);
    font-size: 13px;
    line-height: 1.55;
    color: #f1f5f9;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
}
.pr-info-row.is-sec1 {
    border-left: 4px solid #22c55e;
}
.pr-info-row.is-sec2 {
    border-left: 4px solid #3b82f6;
}
.pr-info-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 3px 9px;
    border-radius: 4px;
    margin-top: 2px;
    color: #ffffff;
}
.pr-info-badge.is-green {
    background: #15803d;
    box-shadow: 0 2px 6px rgba(21, 128, 61, 0.4);
}
.pr-info-badge.is-blue {
    background: #1d4ed8;
    box-shadow: 0 2px 6px rgba(29, 78, 216, 0.4);
}
.pr-info-text {
    flex: 1;
    color: #e2e8f0;
}
.pr-info-row.is-sec1 .pr-info-text strong {
    color: #86efac;
    font-weight: 700;
    margin-right: 4px;
}
.pr-info-row.is-sec2 .pr-info-text strong {
    color: #93c5fd;
    font-weight: 700;
    margin-right: 4px;
}
.pr-info-text a {
    color: var(--pr-accent);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.15s ease;
}
.pr-info-text a:hover {
    color: #ffffff;
}

@media (max-width: 680px) {
    .pr-info-row {
        flex-direction: column;
        gap: 8px;
        padding: 10px 12px;
    }
    .pr-info-badge {
        align-self: flex-start;
    }
    .pr-info-text {
        font-size: 12.5px;
    }
}

/* ------------------------------------------------------------------
   Karta pre zrušenie rezervácie (odkaz v e-maile)
   ------------------------------------------------------------------ */
.plesrez-cancel-card {
    background: #1c1926;
    border: 1px solid #7f1d1d;
    border-left: 5px solid #ef4444;
    border-radius: 8px;
    padding: 22px;
    margin: 0 0 24px 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
    box-sizing: border-box;
    width: 100%;
}
.plesrez-cancel-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.plesrez-cancel-icon {
    font-size: 24px;
    line-height: 1;
}
.plesrez-cancel-card-head h3 {
    margin: 0;
    color: #fca5a5;
    font-size: 17px;
    font-weight: 700;
}
.plesrez-cancel-lead {
    font-size: 13.5px;
    color: #e2e8f0;
    line-height: 1.55;
    margin: 0 0 16px 0;
}
.plesrez-cancel-details {
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 13px;
}
.pr-cd-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.pr-cd-row span {
    color: #94a3b8;
}
.pr-cd-row strong {
    color: #fff;
    text-align: right;
}
.plesrez-cancel-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.button-cancel-confirm {
    background: #dc2626;
    color: #fff;
    border: none;
    font-family: inherit;
    font-size: 13.5px;
    font-weight: 700;
    padding: 11px 20px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s;
}
.button-cancel-confirm:hover {
    background: #b91c1c;
}
.button-cancel-keep {
    color: #cbd5e1;
    font-size: 13px;
    text-decoration: underline;
    padding: 8px 12px;
    display: inline-block;
    transition: color 0.2s;
}
.button-cancel-keep:hover {
    color: #fff;
}
