/* ===================================================================
   TryVinci – Global CSS
   Font: Manrope (loaded via functions.php from Google Fonts)
   =================================================================== */

/* --- Reset & Base -------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--wp--preset--font-family--manrope, 'Manrope', sans-serif);
    font-size: 1rem;
    line-height: 1.6;
    color: #18181b;
    background: #fff;
    overflow-x: hidden;
}

/* --- Scrollbar hidden utility ------------------------------------- */
.tv-no-scrollbar::-webkit-scrollbar { display: none; }
.tv-no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* --- WordPress admin bar offset ----------------------------------- */
.admin-bar .tv-nav { top: 32px !important; }
@media screen and (max-width: 782px) {
    .admin-bar .tv-nav { top: 46px !important; }
}

/* --- Block gap reset for FSE ------------------------------------- */
.wp-site-blocks,
.wp-block-group,
.entry-content {
    margin-block: 0;
}

.wp-site-blocks > * + * {
    margin-block-start: 0 !important;
}

/* --- Global link -------------------------------------------------- */
a {
    text-decoration: none;
    color: inherit;
    transition: color 0.2s;
}

/* --- Images ------------------------------------------------------- */
img, video {
    max-width: 100%;
    height: auto;
    display: block;
}

/* --- Focus visible ------------------------------------------------ */
:focus-visible {
    outline: 2px solid #EF6A23;
    outline-offset: 2px;
}

/* --- WordPress alignment helpers ---------------------------------- */
.alignfull  { margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)); margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)); }
.alignwide  { margin-left: auto; margin-right: auto; max-width: var(--wp--style--global--wide-size, 1400px); }

/* --- Lightbox overlay --------------------------------------------- */
.tv-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}
.tv-lightbox.is-open {
    opacity: 1;
    pointer-events: all;
}
.tv-lightbox img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 0.5rem;
    object-fit: contain;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
    transform: scale(0.9);
    transition: transform 0.3s;
}
.tv-lightbox.is-open img { transform: scale(1); }
.tv-lightbox-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 3rem;
    height: 3rem;
    background: rgba(255,255,255,0.1);
    border: none;
    border-radius: 50%;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.tv-lightbox-close:hover { background: rgba(255,255,255,0.2); }

/* --- Shared section typography (used by every block on every page) -- */
.tv-section-heading {
    font-size: 2rem;          /* 32px — eksport: text-[32px] */
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    color: #18181b;
}
@media (min-width: 768px) {
    /* eksport: md:text-[40px] — wcześniej clamp dawał ~32px aż do ~1142px */
    .tv-section-heading { font-size: 2.5rem; }
}
.tv-section-heading--white { color: #fff; }
.tv-hl     { color: #EF6A23; }
.tv-hl-red { color: #ef4444; }

/* ===================================================================
   Editor – placeholder styles for dark-bg blocks
   =================================================================== */
.editor-styles-wrapper [style*="background: #09090b"] strong,
.editor-styles-wrapper [style*="background: #09090b"] span {
    color: #e4e4e7 !important;
}
.editor-styles-wrapper [style*="background: #09090b"] {
    border-color: #3f3f46 !important;
}
