/* 0.22.52: neutral base for plugin controls, before their own visual rules.
   Hello's generic button reset must not supply pink borders/hover backgrounds.
   Elementor widget controls remain more specific and keep their configured design. */
:is(.pink-search-clear,.pink-search-compact-toggle,.pink-fold-toggle,.pink-header-tool-button,.pink-header-menu-button,.pink-expand-icon-trigger,.pink-listing-load-more,.pink-posts-taxonomy-filter-button)[type="button"]:where(:not(:hover),:hover,:focus,:active){
  appearance:none;background-color:transparent;color:inherit;border:0;padding:0;font:inherit;
}
:is(.pink-search-compact-toggle,.pink-fold-toggle,.pink-header-tool-button,.pink-header-menu-button,.pink-expand-icon-trigger,.pink-listing-load-more)[type="button"]:focus-visible{
  outline:2px solid currentColor;outline-offset:3px;
}

.pink-posts-documents{display:flex;flex-direction:column;gap:10px}.pink-document-item{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.pink-document-title{font-weight:600}.pink-document-actions{display:flex;gap:8px;flex-wrap:wrap}.pink-document-actions a{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:6px;text-decoration:none;background:#222;color:#fff}.pink-layout-compact .pink-document-item{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.1)}

.pink-posts-icon-set{display:flex;align-items:center;flex-wrap:wrap}
.pink-posts-icon-set-item{display:inline-flex;align-items:center;justify-content:center}
.pink-posts-icon-set-item a{display:inline-flex;align-items:center;justify-content:center}
.pink-posts-icon-set img{display:block}

.pink-posts-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pink-posts-related-item{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.pink-posts-related-image{width:100%;height:auto;display:block}
.pink-posts-related-text{display:flex;flex-direction:column;gap:4px}
.pink-posts-related-text small{display:block}


/* Pink Posts 0.19.3 — textarea specification mode */
.pink-posts-spec-list{width:100%;display:flex;flex-direction:column;gap:0}
.pink-posts-spec-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.5em;align-items:baseline}
.pink-posts-spec-name{min-width:0}
.pink-posts-spec-value{text-align:right;white-space:nowrap}
@media (max-width:767px){.pink-posts-spec-row{column-gap:.75em}}

/* Pink Posts 0.20.7 – product listing */
.pink-posts-product-listing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;}
.pink-posts-product-card{min-width:0;}
.pink-posts-listing-empty{padding:18px;border:1px dashed #b9bec7;background:#f7f8fa;color:#555;}
@media(max-width:1024px){.pink-posts-product-listing{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.pink-posts-product-listing{grid-template-columns:1fr;}}

.pink-posts-icon-set{display:flex;flex-wrap:wrap;align-items:center}
.pink-posts-icon-set img,.pink-posts-icon-set svg{display:block;width:auto;object-fit:contain}

/* 0.22.41 – technical tables grow by content and scroll within their field. */
.pink-table-scroll{display:block;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;box-sizing:border-box;contain:inline-size}
body .pink-table-scroll .pink-table-inner{display:block;width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;box-sizing:border-box}
.pink-table-scroll table{width:100%!important;max-width:none!important;border-collapse:collapse;table-layout:auto;font-family:inherit;color:inherit}
.pink-table-inner th,.pink-table-inner td{box-sizing:border-box;padding:5px 10px;vertical-align:middle;line-height:1.2;word-break:normal;overflow-wrap:break-word}
.pink-table-inner th{font-weight:700}
.pink-table-inner th:first-child,.pink-table-inner td:first-child{text-align:left}
.pink-table-inner th:not(:first-child),.pink-table-inner td:not(:first-child){text-align:center}
.elementor-widget:has(.pink-table-scroll),.elementor-widget-container:has(.pink-table-scroll){min-width:0!important;max-width:100%}
.e-con:has(.pink-table-scroll),.e-con-inner:has(.pink-table-scroll){min-width:0!important}
@media(max-width:767px){
 body .pink-table-scroll{touch-action:pan-x pan-y}
 body .pink-table-scroll table{width:100%!important;min-width:100%!important;max-width:none!important;table-layout:auto!important}
 body .pink-table-scroll th,body .pink-table-scroll td{width:auto!important;min-width:100px;max-width:none;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;padding:5px 8px;line-height:1.2}
 body .pink-table-scroll th:first-child,body .pink-table-scroll td:first-child{min-width:140px}
 body .pink-table-scroll col{width:auto!important}
 /* Kit index/quantity columns follow their short contents; description gets the space. */
 body .pink-table-scroll.pink-table-kit th:nth-child(-n+2),body .pink-table-scroll.pink-table-kit td:nth-child(-n+2){width:1%!important;min-width:0!important;white-space:nowrap!important}
 body .pink-table-scroll.pink-table-kit col:nth-child(-n+2){width:1%!important}
 body .pink-table-scroll.pink-table-kit th:nth-child(3),body .pink-table-scroll.pink-table-kit td:nth-child(3){width:auto!important;min-width:220px!important;white-space:normal!important;overflow-wrap:break-word!important}
 body .pink-table-scroll.pink-table-kit th:nth-child(4),body .pink-table-scroll.pink-table-kit td:nth-child(4){width:auto!important;min-width:120px!important;white-space:nowrap!important}
}

/* 0.20.11 – table separators from current category primary color */
.pink-table-inner thead tr{
    border-bottom:1px solid var(--pink-posts-category-primary, #D9F2FF);
}
.pink-table-inner tbody tr{
    border-bottom:1px solid var(--pink-posts-category-primary, #D9F2FF);
}
.pink-table-inner tbody tr:last-child{
    border-bottom:0;
}
.pink-table-inner thead th{
    text-align:left !important;
}



/* 0.20.13 – Elementor controls icon height and spacing */
.pink-posts-icon-set{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}
.pink-posts-icon-set > *{
    flex:0 0 auto;
}
.pink-posts-icon-set img,
.pink-posts-icon-set svg{
    display:block;
    width:auto !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain;
    flex:0 0 auto;
}

/* 0.20.14 – no fixed size/gap; Elementor controls both */
.pink-posts-icon-set{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}
.pink-posts-icon-set-item,
.pink-posts-icon-set-item > a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.pink-posts-icon-set img{
    display:block;
    width:auto;
    max-width:none;
    max-height:none;
    object-fit:contain;
    flex:0 0 auto;
}

/* 0.20.16 – final technical table header alignment + bottom border */
.pink-table-inner thead th:first-child{
    text-align:left !important;
}
.pink-table-inner thead th:not(:first-child){
    text-align:center !important;
}
.pink-table-inner tbody td:first-child{
    text-align:left !important;
}
.pink-table-inner tbody td:not(:first-child){
    text-align:center !important;
}
.pink-table-inner tbody tr,
.pink-table-inner tbody tr:last-child{
    border-bottom:1px solid var(--pink-posts-category-primary, #D9F2FF) !important;
}

/* 0.20.17 – second header row follows data-column alignment */
.pink-table-inner thead tr:nth-child(2) th{
    text-align:center !important;
}

/* 0.20.18 – reference media */
.pink-posts-reference-grid{
    display:grid;
    width:100%;
}
.pink-posts-reference-media{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}


@media(min-width:768px){
/* 0.20.25 – Zvýhodněná sada: pouze její 4sloupcové tabulky */
.pink-table-scroll.pink-table-kit .pink-table-inner table{
    table-layout:fixed !important;
}
.pink-table-scroll.pink-table-kit .pink-table-inner th:nth-child(1),
.pink-table-scroll.pink-table-kit .pink-table-inner td:nth-child(1){
    width:10% !important;
}
.pink-table-scroll.pink-table-kit .pink-table-inner th:nth-child(2),
.pink-table-scroll.pink-table-kit .pink-table-inner td:nth-child(2){
    width:10% !important;
}
.pink-table-scroll.pink-table-kit .pink-table-inner th:nth-child(3),
.pink-table-scroll.pink-table-kit .pink-table-inner td:nth-child(3){
    width:50% !important;
}
.pink-table-scroll.pink-table-kit .pink-table-inner th:nth-child(4),
.pink-table-scroll.pink-table-kit .pink-table-inner td:nth-child(4){
    width:30% !important;
}


/* 0.20.27 – robustní proporce tabulek Zvýhodněná sada */
.pink-table-scroll.pink-table-kit col:nth-child(1){width:10% !important}
.pink-table-scroll.pink-table-kit col:nth-child(2){width:10% !important}
.pink-table-scroll.pink-table-kit col:nth-child(3){width:50% !important}
.pink-table-scroll.pink-table-kit col:nth-child(4){width:30% !important}
.pink-table-scroll.pink-table-kit th:nth-child(1),
.pink-table-scroll.pink-table-kit td:nth-child(1),
.pink-table-scroll.pink-table-kit th:nth-child(2),
.pink-table-scroll.pink-table-kit td:nth-child(2){width:10% !important}
.pink-table-scroll.pink-table-kit th:nth-child(3),
.pink-table-scroll.pink-table-kit td:nth-child(3){width:50% !important;white-space:normal !important}
.pink-table-scroll.pink-table-kit th:nth-child(4),
.pink-table-scroll.pink-table-kit td:nth-child(4){width:30% !important}


}

/* 0.20.38 – jednotný vzhled AI HTML tabulek */
.pink-table-inner table,
.pink-table-inner th,
.pink-table-inner td{
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
}
.pink-table-inner thead tr,
.pink-table-inner tbody tr{
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    border-bottom:1px solid var(--pink-posts-category-primary, #D9F2FF) !important;
}
.pink-table-inner thead th,
.pink-table-inner tbody td{
    border-bottom:0 !important;
}
.pink-table-inner tbody tr:last-child{
    border-bottom:1px solid var(--pink-posts-category-primary, #D9F2FF) !important;
}

/* 0.20.38 – samostatný Elementor filtr podle ikon */
.pink-posts-icon-filter{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
}
.pink-posts-icon-filter .pink-posts-icon-filter-button{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    background:transparent;
    padding:0;
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    cursor:pointer;
    border-radius:0;
    box-shadow:none;
    min-width:0;
    min-height:0;
    width:auto;
    height:auto;
    transition:opacity .2s ease, transform .2s ease;
    color:inherit;
    font:inherit;
    font-family:var(--e-global-typography-text-font-family,inherit);
}
/* Isolate native filter buttons from theme [type="button"] hover/focus styles.
   Opacity, gap and image size remain controlled by the Elementor widget. */
.pink-posts-icon-filter .pink-posts-icon-filter-button:hover,
.pink-posts-icon-filter .pink-posts-icon-filter-button:focus,
.pink-posts-icon-filter .pink-posts-icon-filter-button:active{
    padding:0;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:inherit;
}
.pink-posts-icon-filter-button img{
    display:block;
    width:auto;
    max-width:none;
    object-fit:contain;
}
.pink-posts-icon-filter-button.is-active{
    opacity:1;
}
.pink-posts-icon-filter .pink-posts-icon-filter-button:focus-visible{
    outline:2px solid currentColor;
    outline-offset:4px;
}
.pink-posts-product-card[hidden]{
    display:none !important;
}


/* 0.20.44 – legenda typické instalace */
.pink-installation-legend{
    display:flex;
    flex-wrap:wrap;
    gap:18px 34px;
    width:100%;
}
.pink-installation-group{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.pink-installation-item{
    display:flex;
    align-items:center;
    gap:9px;
}
.pink-installation-swatch{
    display:inline-block;
    width:16px;
    height:16px;
    flex:0 0 16px;
    background:var(--pink-swatch, transparent);
}

/* 0.20.45 – repeatable typical installations */
.pink-posts-installations{display:flex;flex-direction:column;width:100%;}
.pink-posts-installation{width:100%;}
.pink-posts-installation-diagram{display:block;width:100%;height:auto;}
.pink-posts-installation-legend{margin-top:12px;}
.pink-posts-installation-set,.pink-posts-installation-components,.pink-posts-installation-note{margin-top:16px;}

/* 0.20.47 – hlavní obrázek / pseudo-carousel */
.pink-product-single,.pink-product-carousel-stage{width:100%;position:relative}
.pink-product-single{display:flex;align-items:center;justify-content:center;overflow:hidden}
.pink-product-single img{width:100%;height:100%;display:block}
.pink-product-single.fit-contain img,.pink-product-carousel.fit-contain img{object-fit:contain}
.pink-product-single.fit-cover img,.pink-product-carousel.fit-cover img{object-fit:cover}
.pink-product-single.ratio-4-3,.pink-product-carousel.ratio-4-3 .pink-product-carousel-stage{aspect-ratio:4/3;height:auto}
.pink-product-single.ratio-3-2,.pink-product-carousel.ratio-3-2 .pink-product-carousel-stage{aspect-ratio:3/2;height:auto}
.pink-product-single.ratio-16-9,.pink-product-carousel.ratio-16-9 .pink-product-carousel-stage{aspect-ratio:16/9;height:auto}
.pink-product-single.ratio-1-1,.pink-product-carousel.ratio-1-1 .pink-product-carousel-stage{aspect-ratio:1/1;height:auto}
.pink-product-carousel{position:relative;width:100%;overflow:hidden;outline:none}
.pink-product-carousel-stage{overflow:visible;perspective:1200px}
.pink-product-carousel-slide{position:absolute;inset:0;width:62%;height:100%;margin:auto;border:0;padding:0;background:transparent;cursor:pointer;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease,opacity .45s ease}
.pink-product-carousel-slide img{width:100%;height:100%;display:block}
.pink-product-carousel-slide.is-active{z-index:3;opacity:1;filter:none;transform:translateX(0) scale(1);cursor:default}
.pink-product-carousel-slide.is-prev{z-index:2;transform:translateX(-72%) scale(.72)}
.pink-product-carousel-slide.is-next{z-index:2;transform:translateX(72%) scale(.72)}
.pink-product-carousel-slide.is-hidden{opacity:0;pointer-events:none;transform:scale(.55)}
.pink-product-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:0 4px 16px rgba(0,0,0,.12);font-size:30px;cursor:pointer}
.pink-product-carousel-arrow.is-prev{left:10px}.pink-product-carousel-arrow.is-next{right:10px}
.pink-product-carousel-dots{display:flex;justify-content:center;gap:7px;margin-top:12px}
.pink-product-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:currentColor;opacity:.25}
.pink-product-carousel-dots button.is-active{opacity:1}
@media (max-width:767px){.pink-product-carousel-slide{width:76%}.pink-product-carousel-slide.is-prev{transform:translateX(-62%) scale(.72)}.pink-product-carousel-slide.is-next{transform:translateX(62%) scale(.72)}.pink-product-carousel-arrow{display:none}}


/* 0.20.48 – typická instalace: legenda A/B bez odrážek */
.pink-posts-installation-legend{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    row-gap:14px;
    width:100%;
    margin-top:16px;
}
.pink-installation-legend-group{min-width:0}
.pink-installation-legend-heading{font-weight:700;margin:0 0 6px}
.pink-posts-installation-legend ul{
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
}
.pink-posts-installation-legend li{
    list-style:none !important;
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 4px !important;
    padding:0 !important;
}
.pink-posts-installation-legend li::marker,
.pink-posts-installation-legend li::before{
    content:none !important;
    display:none !important;
}
.pink-posts-installation-legend .pink-installation-swatch{
    display:inline-block;
    width:16px;
    height:16px;
    min-width:16px;
    flex:0 0 16px;
    margin:0 !important;
    background:var(--pink-swatch,transparent);
}
@media(max-width:767px){
    .pink-posts-installation-legend{grid-template-columns:1fr}
}


/* 0.20.50 – reference produktu: automatický grid 1–5 + carousel od 6 */
.pink-posts-reference-grid{
    display:grid;
    width:100%;
    gap:var(--pink-reference-gap,10px);
}
.pink-posts-reference-grid.pink-reference-count-1{grid-template-columns:1fr}
.pink-posts-reference-grid.pink-reference-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pink-posts-reference-grid.pink-reference-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pink-posts-reference-grid.pink-reference-count-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pink-posts-reference-grid.pink-reference-count-5{grid-template-columns:repeat(5,minmax(0,1fr))}

.pink-posts-reference-item{
    min-width:0;
    overflow:hidden;
}
.pink-posts-reference-item.ratio-4-3{aspect-ratio:4/3}
.pink-posts-reference-item.ratio-3-2{aspect-ratio:3/2}
.pink-posts-reference-item.ratio-16-9{aspect-ratio:16/9}
.pink-posts-reference-item.ratio-1-1{aspect-ratio:1/1}
.pink-posts-reference-item.ratio-original{aspect-ratio:auto}

.pink-posts-reference-media{
    display:block;
    width:100%;
    height:100%;
}
.pink-posts-reference-item.ratio-original .pink-posts-reference-media{height:auto}
.pink-posts-reference-item.fit-cover .pink-posts-reference-media{object-fit:cover}
.pink-posts-reference-item.fit-contain .pink-posts-reference-media{object-fit:contain}
.pink-posts-reference-item.position-center .pink-posts-reference-media{object-position:center}
.pink-posts-reference-item.position-top .pink-posts-reference-media{object-position:center top}
.pink-posts-reference-item.position-bottom .pink-posts-reference-media{object-position:center bottom}
.pink-posts-reference-item.position-left .pink-posts-reference-media{object-position:left center}
.pink-posts-reference-item.position-right .pink-posts-reference-media{object-position:right center}

.pink-posts-reference-carousel{
    position:relative;
    width:100%;
}
.pink-posts-reference-viewport{
    width:100%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
}
.pink-posts-reference-viewport::-webkit-scrollbar{display:none}
.pink-posts-reference-track{
    --pink-reference-gap:10px;
    display:flex;
    gap:var(--pink-reference-gap);
    width:max-content;
}
.pink-posts-reference-carousel .pink-posts-reference-item{
    flex:0 0 calc((100vw - 4 * var(--pink-reference-gap,10px)));
    scroll-snap-align:start;
}

/* Desktop: při carouselu je vždy vidět přesně pět stejných referencí. */
@media(min-width:768px){
    .pink-posts-reference-track{
        width:100%;
    }
    .pink-posts-reference-carousel .pink-posts-reference-item{
        flex:0 0 calc((100% - 4 * var(--pink-reference-gap,10px)) / 5);
    }
}

/* Mobil: jedna velká reference + náznak další; posun pouze prstem. */
@media(max-width:767px){
    .pink-posts-reference-grid{
        display:flex;
        gap:var(--pink-reference-gap,10px);
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        -ms-overflow-style:none;
    }
    .pink-posts-reference-grid::-webkit-scrollbar{display:none}
    .pink-posts-reference-grid .pink-posts-reference-item,
    .pink-posts-reference-carousel .pink-posts-reference-item{
        flex:0 0 84%;
        width:84%;
        scroll-snap-align:start;
    }
    .pink-posts-reference-carousel .pink-reference-arrow{
        display:none !important;
    }
}


/* 0.20.53 – legenda instalace: shodné mezery + A/B v kroužku */
.pink-posts-installation-legend .pink-installation-legend-heading{
    display:flex;
    align-items:center;
    gap:9px;
}
.pink-posts-installation-legend .pink-installation-legend-heading .pink-installation-swatch,
.pink-posts-installation-legend li .pink-installation-swatch{
    margin:0 !important;
}
.pink-installation-circuit-letter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.25em;
    height:1.25em;
    flex:0 0 1.25em;
    border:1.5px solid currentColor;
    border-radius:50%;
    font-size:.82em;
    line-height:1;
    font-weight:700;
    box-sizing:border-box;
}


/* 0.20.56 – společný Pink Posts lightbox */
[data-pink-lightbox]{cursor:zoom-in}
.pink-posts-lightbox{
    position:fixed;inset:0;z-index:999999;
    display:flex;align-items:center;justify-content:center;
    padding:clamp(18px,4vw,60px);
    background:rgba(12,14,18,.52);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
}
.pink-posts-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.pink-posts-lightbox-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.pink-posts-lightbox-image{
    display:block;max-width:min(94vw,1800px);max-height:90vh;width:auto;height:auto;
    object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.28);
}
.pink-posts-lightbox-close{
    position:absolute;top:18px;right:22px;z-index:2;
    width:44px;height:44px;border:0;border-radius:50%;
    background:rgba(255,255,255,.9);color:#111;
    font-size:30px;line-height:1;cursor:pointer;
}
html.pink-lightbox-open,html.pink-lightbox-open body{overflow:hidden}

/* Původní poměr + contain nesmí produktovou fotografii oříznout. */
.pink-product-single.ratio-original.fit-contain{height:auto!important;min-height:0}
.pink-product-single.ratio-original.fit-contain img{width:100%;height:auto;object-fit:contain}


/* 0.20.57 – hlavní obrázek: skutečné "contain" bez ořezu, včetně carouselu */
.pink-product-single.fit-contain,
.pink-product-carousel.fit-contain,
.pink-product-carousel.fit-contain .pink-product-carousel-stage,
.pink-product-carousel.fit-contain .pink-product-carousel-track,
.pink-product-carousel.fit-contain .pink-product-carousel-slide {
    overflow: visible !important;
}

.pink-product-single.fit-contain img,
.pink-product-carousel.fit-contain .pink-product-carousel-slide img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-width: 100%;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.pink-product-single.ratio-original.fit-contain {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-stage,
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-track,
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
}

/* U aktivního obrázku v carouselu je velikost určena šířkou, ne pevnou výškou. */
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-active img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}

/* Boční náhledy mohou zůstat menší, ale bez fyzického ořezu bitmapy. */
.pink-product-carousel.fit-contain .pink-product-carousel-slide:not(.is-active) img {
    object-fit: contain !important;
}

/* Pevná šířka rodiče smí omezit pouze šířku, nikoli ořezávat obsah widgetu. */
.elementor-widget-pink-posts-main-image,
.elementor-widget-pink-posts-main-image .elementor-widget-container {
    overflow: visible !important;
}


/* 0.20.58 – typická instalace: legenda bezpečně ve 2 sloupcích */
.pink-posts-installation-legend{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:18px 28px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    align-items:start !important;
    clear:both !important;
    position:relative !important;
    z-index:1 !important;
    margin-bottom:24px !important;
}

.pink-posts-installation-legend .pink-installation-legend-group{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

.pink-posts-installation-legend .pink-installation-legend-heading{
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
}

.pink-posts-installation-legend ul{
    margin:8px 0 0 !important;
    padding:0 !important;
    min-width:0 !important;
    max-width:100% !important;
}

.pink-posts-installation-legend li{
    display:flex !important;
    align-items:flex-start !important;
    gap:9px !important;
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    margin:0 0 7px !important;
    padding:0 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    box-sizing:border-box !important;
}

.pink-posts-installation-legend .pink-installation-swatch{
    flex:0 0 auto !important;
}

/* Následující tabulka/sekce nesmí vlézt do legendy ani při atypickém CSS šablony. */
.pink-posts-installation-legend + *,
.pink-posts-installation + *{
    clear:both !important;
}

/* Na užších displejích zůstanou A/B vedle sebe, pokud se reálně vejdou.
   Teprve na velmi úzkém mobilu je bezpečně skládáme pod sebe. */
@media (max-width:560px){
    .pink-posts-installation-legend{
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
}


/* 0.20.59 – responzivní navigace ikon */
.pink-posts-navigation{width:100%;min-width:0}
.pink-posts-navigation-track{
  display:flex;align-items:center;min-width:0;width:100%;
}
.pink-posts-navigation.is-swipe .pink-posts-navigation-track{
  flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;
  overscroll-behavior-inline:contain;
}
.pink-posts-navigation.is-swipe .pink-posts-navigation-track::-webkit-scrollbar{display:none}
.pink-nav-item{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-decoration:none!important;min-width:max-content;
}
.pink-nav-icon{display:flex;align-items:center;justify-content:center}
.pink-nav-icon img{display:block;max-width:none!important}
.pink-nav-label{display:none;font-size:11px;line-height:1.15;text-align:center;margin-top:4px}
/* Match Elementor global Text; widget-specific font selection overrides this. */
.pink-posts-navigation .pink-nav-label{
  font-family:var(--e-global-typography-text-font-family,inherit);
}

@media(max-width:767px){
  .pink-posts-navigation.is-mobile-bottom{
    --pink-nav-bg:#fff;
    position:fixed!important;left:0;right:0;bottom:0;z-index:99990;
    width:100vw!important;max-width:none!important;
    background:var(--pink-nav-bg);
    padding:8px 12px calc(8px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 30px rgba(0,0,0,.10);
    border-top:1px solid rgba(0,0,0,.08);
  }
  .pink-posts-navigation.is-mobile-bottom .pink-posts-navigation-track{
    width:100%;justify-content:flex-start!important;
  }
  .pink-posts-navigation.is-mobile-bottom .pink-nav-item{min-width:64px}
  .pink-posts-navigation.is-mobile-bottom.show-mobile-labels .pink-nav-label{display:block}
  body:has(.pink-posts-navigation.is-mobile-bottom){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* 0.20.59 – Pink Posts live search */
.pink-posts-search{position:relative;width:100%;z-index:30}
.pink-search-input-wrap{position:relative;display:flex;align-items:center}
.pink-search-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  font-size:25px;line-height:1;opacity:.65;pointer-events:none;
}
.pink-search-field{
  font-family:var(--e-global-typography-text-font-family,inherit);
  width:100%;height:44px;padding:0 42px 0 44px!important;
  border:1px solid #d7dce1;background:#fff;outline:0;
  box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;
}
.pink-search-field:focus{box-shadow:0 0 0 3px rgba(0,174,239,.08)}
.pink-search-clear[type="button"]{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border:0;background:transparent;font-size:22px;line-height:1;
  cursor:pointer;opacity:0;pointer-events:none;
}
.pink-search-clear[type="button"].is-visible{opacity:.55;pointer-events:auto}
.pink-search-results{
  font-family:var(--e-global-typography-text-font-family,inherit);
  position:absolute;top:calc(100% + 8px);right:0;width:min(520px,92vw);
  max-height:min(520px,70vh);overflow:auto;background:#fff;
  border:1px solid rgba(0,0,0,.10);border-radius:14px;
  box-shadow:0 18px 55px rgba(0,0,0,.16);padding:6px;
}
.pink-search-item{
  display:flex;align-items:center;gap:12px;padding:10px;border-radius:10px;
  text-decoration:none!important;color:inherit!important;
}
.pink-search-thumb{width:54px;height:54px;flex:0 0 54px;display:flex;align-items:center;justify-content:center}
.pink-search-thumb img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pink-search-copy{display:flex;flex-direction:column;min-width:0}
.pink-search-copy strong{font-size:14px;line-height:1.2}
.pink-search-copy small{margin-top:4px;font-size:11px;opacity:.65}
.pink-search-empty{padding:14px;font-size:13px;opacity:.65}
@media(max-width:767px){
  .pink-search-results{position:fixed;left:12px;right:12px;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:55vh}
}


/* Desktop mouse click není drag gesture. */
@media(hover:hover) and (pointer:fine){
  .pink-posts-navigation.is-swipe .pink-posts-navigation-track{
    cursor:default;
  }
  .pink-posts-navigation .pink-nav-item{
    pointer-events:auto;
  }
}


/* 0.20.63 – hledání bez lupy + centrovaný křížek */
.pink-search-field{
    padding-left:16px !important;
    padding-right:42px !important;
}
.pink-search-icon{
    display:none !important;
}
.pink-search-clear[type="button"]{
    top:0 !important;
    bottom:0 !important;
    right:8px !important;
    margin:auto !important;
    transform:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
}

/* 0.20.63 – hlavní carousel: oprava nulové výšky a skutečný contain.
   Stage má výšku z Elementor ovladače; obrázek se uvnitř celý vejde a neořízne. */
.pink-product-carousel.ratio-original.fit-contain{
    overflow:visible !important;
}
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-stage{
    position:relative !important;
    width:100% !important;
    min-height:120px !important;
    overflow:visible !important;
    aspect-ratio:auto !important;
    /* výšku dál dodává Elementor ovladač Výška */
}
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide{
    position:absolute !important;
    inset:0 !important;
    height:100% !important;
    min-height:0 !important;
    overflow:visible !important;
}
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
}

/* Šipka existuje pouze tam, kam lze skutečně pokračovat. */
.pink-product-carousel-arrow[hidden]{
    display:none !important;
}
.pink-product-carousel-arrow:disabled{
    display:none !important;
}


/* 0.20.64 – Search: lupa fyzicky pryč, placeholder úplně vlevo */
.pink-posts-search .pink-search-icon{display:none!important}
.pink-posts-search .pink-search-field{
    padding-left:14px!important;
    padding-right:40px!important;
}
.pink-posts-search .pink-search-clear[type="button"]{
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    margin:0!important;
}

/* 0.20.64 – Definitivní layout hlavního carouselu.
   Nepřebírá problematické starší auto-height chování. */
.pink-product-carousel{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
}
.pink-product-carousel .pink-product-carousel-stage{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:420px;
    min-height:120px!important;
    overflow:visible!important;
}
.pink-product-carousel .pink-product-carousel-slide{
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    left:19%!important;
    right:auto!important;
    width:62%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    opacity:0;
    visibility:hidden;
}
.pink-product-carousel .pink-product-carousel-slide img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    opacity:1!important;
    visibility:visible!important;
}
.pink-product-carousel .pink-product-carousel-slide.is-active{
    opacity:1!important;
    visibility:visible!important;
    z-index:3!important;
    transform:translateX(0) scale(1)!important;
}
.pink-product-carousel .pink-product-carousel-slide.is-prev{
    opacity:.45;
    visibility:visible!important;
    z-index:2!important;
    transform:translateX(-72%) scale(.72)!important;
}
.pink-product-carousel .pink-product-carousel-slide.is-next{
    opacity:.45;
    visibility:visible!important;
    z-index:2!important;
    transform:translateX(72%) scale(.72)!important;
}
.pink-product-carousel .pink-product-carousel-slide.is-hidden{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
}
.pink-product-carousel-arrow[hidden],
.pink-product-carousel-arrow:disabled{
    display:none!important;
}
@media(max-width:767px){
    .pink-product-carousel .pink-product-carousel-slide{
        left:12%!important;
        width:76%!important;
    }
    .pink-product-carousel .pink-product-carousel-slide.is-prev{
        transform:translateX(-62%) scale(.72)!important;
    }
    .pink-product-carousel .pink-product-carousel-slide.is-next{
        transform:translateX(62%) scale(.72)!important;
    }
}


/* 0.20.65 – hlavní carousel: robustní grid layout pro Původní + contain */
.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-stage{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:center !important;
    justify-items:center !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide{
    grid-area:1 / 1 !important;
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:62% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    justify-self:center !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-active{
    opacity:1 !important;
    visibility:visible !important;
    z-index:3 !important;
    transform:translateX(0) scale(1) !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-prev{
    opacity:.45 !important;
    visibility:visible !important;
    z-index:2 !important;
    transform:translateX(-72%) scale(.72) !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-next{
    opacity:.45 !important;
    visibility:visible !important;
    z-index:2 !important;
    transform:translateX(72%) scale(.72) !important;
}

.pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-hidden{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

@media(max-width:767px){
    .pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide{
        width:76% !important;
    }
    .pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-prev{
        transform:translateX(-62%) scale(.72) !important;
    }
    .pink-product-carousel.ratio-original.fit-contain .pink-product-carousel-slide.is-next{
        transform:translateX(62%) scale(.72) !important;
    }
}


/* 0.20.67 – orbitální carousel.
   Obrázky zůstávají uvnitř widgetu, ale pohybují se po optické kruhové dráze. */
.pink-product-carousel{
    overflow:hidden !important;
}
.pink-product-carousel .pink-product-carousel-stage{
    overflow:visible !important;
    perspective:1400px;
}
.pink-product-carousel .pink-product-carousel-slide{
    transition:
        opacity .75s ease,
        filter .75s ease,
        transform .75s cubic-bezier(.22,.72,.18,1) !important;
    transform-origin:50% 70% !important;
    will-change:transform,filter,opacity;
}
.pink-product-carousel .pink-product-carousel-slide.is-active{
    transform:translate3d(0,-2%,0) scale(1) rotate(0deg) !important;
    filter:blur(0) !important;
    opacity:1 !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-prev{
    transform:translate3d(-58%,28%, -120px) scale(.64) rotate(-8deg) !important;
    opacity:.34 !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-next{
    transform:translate3d(58%,28%, -120px) scale(.64) rotate(8deg) !important;
    opacity:.34 !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-hidden{
    transform:translate3d(0,54%,-260px) scale(.42) !important;
    opacity:0 !important;
}

/* Směrové animace skutečně vedou obrázek přes oblouk, ne lineárně přes střed. */
.pink-product-carousel .pink-product-carousel-slide.pink-orbit-enter-next{
    animation:pinkOrbitEnterNext .82s cubic-bezier(.22,.72,.18,1) both !important;
}
.pink-product-carousel .pink-product-carousel-slide.pink-orbit-exit-prev{
    animation:pinkOrbitExitPrev .82s cubic-bezier(.22,.72,.18,1) both !important;
}
.pink-product-carousel .pink-product-carousel-slide.pink-orbit-enter-prev{
    animation:pinkOrbitEnterPrev .82s cubic-bezier(.22,.72,.18,1) both !important;
}
.pink-product-carousel .pink-product-carousel-slide.pink-orbit-exit-next{
    animation:pinkOrbitExitNext .82s cubic-bezier(.22,.72,.18,1) both !important;
}
@keyframes pinkOrbitEnterNext{
    0%{transform:translate3d(58%,28%,-120px) scale(.64) rotate(8deg);filter:blur(4px);opacity:.34}
    45%{transform:translate3d(31%,8%,-55px) scale(.82) rotate(4deg);filter:blur(2px);opacity:.68}
    100%{transform:translate3d(0,-2%,0) scale(1) rotate(0);filter:blur(0);opacity:1}
}
@keyframes pinkOrbitExitPrev{
    0%{transform:translate3d(0,-2%,0) scale(1) rotate(0);filter:blur(0);opacity:1}
    45%{transform:translate3d(-31%,8%,-55px) scale(.82) rotate(-4deg);filter:blur(2px);opacity:.68}
    100%{transform:translate3d(-58%,28%,-120px) scale(.64) rotate(-8deg);filter:blur(4px);opacity:.34}
}
@keyframes pinkOrbitEnterPrev{
    0%{transform:translate3d(-58%,28%,-120px) scale(.64) rotate(-8deg);filter:blur(4px);opacity:.34}
    45%{transform:translate3d(-31%,8%,-55px) scale(.82) rotate(-4deg);filter:blur(2px);opacity:.68}
    100%{transform:translate3d(0,-2%,0) scale(1) rotate(0);filter:blur(0);opacity:1}
}
@keyframes pinkOrbitExitNext{
    0%{transform:translate3d(0,-2%,0) scale(1) rotate(0);filter:blur(0);opacity:1}
    45%{transform:translate3d(31%,8%,-55px) scale(.82) rotate(4deg);filter:blur(2px);opacity:.68}
    100%{transform:translate3d(58%,28%,-120px) scale(.64) rotate(8deg);filter:blur(4px);opacity:.34}
}
@media(max-width:767px){
    .pink-product-carousel .pink-product-carousel-slide.is-prev{
        transform:translate3d(-48%,24%,-100px) scale(.62) rotate(-7deg) !important;
    }
    .pink-product-carousel .pink-product-carousel-slide.is-next{
        transform:translate3d(48%,24%,-100px) scale(.62) rotate(7deg) !important;
    }
}


/* 0.20.69 – desktopová navigace: frontend drží stejné rozložení jako editor */
@media(min-width:768px){
    .pink-posts-navigation{
        width:100% !important;
        min-width:0 !important;
    }
    .pink-posts-navigation-track{
        width:100% !important;
        min-width:0 !important;
    }
}

/* 0.20.69 – plynulejší skutečně orbitální carousel */
.pink-product-carousel{
    --pink-carousel-side-scale:.52;
    --pink-carousel-orbit-depth:38%;
    --pink-carousel-duration:1250ms;
    overflow:hidden !important;
}
.pink-product-carousel .pink-product-carousel-stage{
    overflow:visible !important;
    perspective:1700px !important;
}
.pink-product-carousel .pink-product-carousel-slide{
    transition:none !important;
    will-change:transform,filter,opacity;
    backface-visibility:hidden;
    transform-style:preserve-3d;
}
.pink-product-carousel .pink-product-carousel-slide.is-active{
    transform:translate3d(0,-4%,0) scale(1) rotate(0deg) !important;
    filter:blur(0) !important;
    opacity:1 !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-prev{
    transform:
      translate3d(-46%, var(--pink-carousel-orbit-depth), -220px)
      scale(var(--pink-carousel-side-scale))
      rotate(-10deg) !important;
    filter:blur(6px) !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-next{
    transform:
      translate3d(46%, var(--pink-carousel-orbit-depth), -220px)
      scale(var(--pink-carousel-side-scale))
      rotate(10deg) !important;
    filter:blur(6px) !important;
}
.pink-product-carousel .pink-product-carousel-slide.is-hidden{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}


/* 0.20.74 – produktové pozadí:
   portal zůstává ve stejné Elementor větvi jako Main, ale není jeho flex/grid položkou.
   Full-bleed se řeší přes viewport a JS uvolní overflow všech předků. */
.pink-product-background-host{
    position:relative !important;
    isolation:isolate !important;
    overflow:visible !important;
}

/* Dekorativní portal je bez vysokých z-indexů, takže nikdy nepřekryje header. */
.pink-product-background-portal{
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:0 !important;
    bottom:auto !important;
    width:100vw !important;
    max-width:none !important;
    height:var(--pink-bg-height,100vh) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    transform:translateX(-50%) !important;
    box-sizing:border-box !important;
    pointer-events:none !important;
    overflow:hidden !important;
    z-index:0 !important;
}

@supports(width:100dvw){
    .pink-product-background-portal{
        width:100dvw !important;
    }
}

.pink-product-background-portal-overlay{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    pointer-events:none !important;
}

/* Všechen běžný obsah Mainu je nad backgroundem. */
.pink-product-background-host > :not(.pink-product-background):not(.pink-product-background-portal){
    position:relative;
    z-index:1;
}

/* Původní kontejner Pozadí je na frontendu pouze zdroj nastavení.
   Nesmí zabírat ani jediný pixel ve flex/grid layoutu. */
body:not(.elementor-editor-active) .pink-product-background-host > .pink-product-background{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    flex:0 0 0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

/* Editor ponechává zdrojový kontejner normálně editovatelný. */
.elementor-editor-active .pink-product-background{
    pointer-events:auto !important;
}


/* 0.20.75 – zdrojový Elementor kontejner Pozadí nesmí zabírat místo.
   Portal už obsahuje background i overlay; source je na frontendu jen konfigurační zdroj. */
body:not(.elementor-editor-active) .pink-product-background[data-pink-bg-ready="1"]{
    display:none !important;
    width:0 !important;
    height:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:0 !important;
    max-height:0 !important;
    flex:0 0 0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
}

/* Kdyby Main používal gap, skrytý background source se do výpočtu flex/grid vůbec nezapočítá. */
body:not(.elementor-editor-active) .pink-product-background-host > .pink-product-background[data-pink-bg-ready="1"]{
    display:none !important;
}


/* 0.20.98 – navigace už nevnucuje Elementoru šířku ani flex-grow.
   Pořadí, šířku a grow řídí přímo Elementor. */
.elementor-widget-pink-posts-navigation{
    min-width:0 !important;
}
.elementor-widget-pink-posts-navigation > .elementor-widget-container,
.pink-posts-navigation,
.pink-posts-navigation-track{
    min-width:0 !important;
}

@media(min-width:768px){
    .pink-posts-navigation.pink-nav-distribution-flex-start .pink-posts-navigation-track{
        justify-content:flex-start !important;
    }
    .pink-posts-navigation.pink-nav-distribution-center .pink-posts-navigation-track{
        justify-content:center !important;
    }
    .pink-posts-navigation.pink-nav-distribution-space-between .pink-posts-navigation-track{
        justify-content:space-between !important;
    }
    .pink-posts-navigation.pink-nav-distribution-space-around .pink-posts-navigation-track{
        justify-content:space-around !important;
    }
}


/* 0.20.78 – hover navigace: v DOM je vždy jen JEDEN obrázek.
   JS pouze vymění jeho src za serverově přebarvenou variantu. */
.pink-posts-navigation{
    --pink-nav-hover-scale:1.10;
}
.pink-posts-navigation .pink-nav-icon{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    transition-property:transform;
    transition-duration:220ms;
    transition-timing-function:cubic-bezier(.2,.7,.2,1);
}
.pink-posts-navigation .pink-nav-icon-image{
    display:block;
    transition-property:opacity;
    transition-duration:160ms;
    transition-timing-function:ease;
}

@media(hover:hover) and (pointer:fine){
    .pink-posts-navigation:not(.pink-nav-hover-none) .pink-nav-item:hover .pink-nav-icon,
    .pink-posts-navigation:not(.pink-nav-hover-none) .pink-nav-item:focus-visible .pink-nav-icon{
        transform:scale(var(--pink-nav-hover-scale,1.10));
    }
}


/* 0.20.79 – source kontejner Pozadí je skrytý od PRVNÍHO PAINTU.
   Nepoužíváme display:none, aby z něj JS mohl stále bezpečně přečíst
   computed background a Elementor ::before overlay. */
body:not(.elementor-editor-active) .pink-product-background-host > .pink-product-background{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:1px !important;
    height:1px !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:1px !important;
    max-height:1px !important;
    flex:0 0 0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    clip-path:inset(50%) !important;
}

/* Editor zůstává beze změny a zdrojový kontejner je normálně editovatelný. */
.elementor-editor-active .pink-product-background-host > .pink-product-background{
    opacity:1 !important;
    visibility:visible !important;
    clip-path:none !important;
}


/* 0.20.81 – iOS/Safari: bottom menu zůstává přímo nad soft keyboard */
@media(max-width:767px){
  .pink-posts-navigation.is-mobile-bottom{
    --pink-mobile-keyboard-offset:0px;
    bottom:var(--pink-mobile-keyboard-offset) !important;
    transition:bottom .10s linear;
  }

  .pink-posts-navigation.is-mobile-bottom.is-keyboard-open{
    margin-bottom:-2px !important;
  }

  .pink-posts-navigation.is-mobile-bottom.is-keyboard-open
  > .pink-mobile-menu-search .pink-search-results{
    bottom:calc(100% + 8px) !important;
    max-height:min(42vh, 360px) !important;
  }
}


/* 0.20.82 – desktop color modes for icon navigation */
@media(min-width:768px){
  .pink-posts-navigation.pink-desktop-icons-auto-difference .pink-nav-icon-image{
    mix-blend-mode:difference !important;
    filter:none !important;
    opacity:1;
  }
}

/* Keep hover zoom compatible with Difference mode.
   Hover-colored SVG is intentionally normal blend so the chosen category/custom
   hover color is shown literally. */
@media(min-width:768px) and (hover:hover) and (pointer:fine){
  .pink-posts-navigation.pink-desktop-icons-auto-difference
  .pink-nav-item.is-pink-hovering .pink-nav-icon-image{
    mix-blend-mode:normal !important;
  }
}


/* 0.20.84 – vlastní MP4/WEBM video bez YouTube */
.pink-video-background-widget{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    pointer-events:none !important;
    z-index:0 !important;
}
.pink-video-background-widget > .elementor-widget-container{
    width:100% !important;
    height:100% !important;
}
.pink-video-background-host{
    position:relative !important;
    overflow:hidden;
}
.pink-video-background-host > :not(.pink-video-background-widget){
    position:relative;
    z-index:1;
}
.pink-video-bg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    pointer-events:none;
    z-index:var(--pink-video-z,0);
    background:transparent;
}
.pink-video-bg-media{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:var(--pink-video-fit,cover);
    object-position:var(--pink-video-position,center center);
    pointer-events:none;
}
.pink-video-bg-overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:var(--pink-video-overlay,transparent);
}
.pink-video-empty{
    padding:14px;
    border:1px dashed #bbb;
    color:#777;
    font-size:13px;
}

/* Normální video přehrávač */
.pink-video-player{
    position:relative;
    width:100%;
    overflow:hidden;
    background:#000;
}
.pink-video-player-media{
    display:block;
    width:100%;
    height:100%;
    object-fit:var(--pink-video-fit,cover);
}
.pink-video-play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:0;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    font-size:28px;
    line-height:1;
    padding:0;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    transition:transform .2s ease, opacity .2s ease;
}
.pink-video-play:hover{
    transform:translate(-50%,-50%) scale(1.07);
}
.pink-video-player.is-playing .pink-video-play{
    opacity:0;
    pointer-events:none;
}


/* 0.20.85 – Product Listing carousel */
.pink-posts-product-listing.is-carousel{
    --pink-listing-visible:3;
    --pink-listing-gap:24px;
    display:flex !important;
    grid-template-columns:none !important;
    flex-wrap:nowrap !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
    scroll-behavior:smooth;
}
.pink-posts-product-listing.is-carousel::-webkit-scrollbar{
    display:none;
}
.pink-posts-product-listing.is-carousel[data-pink-snap="1"]{
    scroll-snap-type:x mandatory;
}
.pink-posts-product-listing.is-carousel .pink-posts-product-card{
    flex:0 0 calc(
        (100% - (var(--pink-listing-visible) - 1) * var(--pink-listing-gap))
        / var(--pink-listing-visible)
    ) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
}
.pink-posts-product-listing.is-carousel[data-pink-snap="1"] .pink-posts-product-card{
    scroll-snap-align:start;
    scroll-snap-stop:normal;
}
.pink-posts-product-listing.is-carousel.is-drag-enabled{
    cursor:grab;
    user-select:none;
}
.pink-posts-product-listing.is-carousel.is-dragging{
    cursor:grabbing;
    scroll-behavior:auto;
}
.pink-posts-product-listing.is-carousel.is-dragging,
.pink-posts-product-listing.is-carousel.is-dragging *{
    user-select:none !important;
}
.pink-posts-product-listing.is-carousel.is-dragging a{
    pointer-events:none;
}

@media(max-width:1024px){
    .pink-posts-product-listing.is-carousel{
        --pink-listing-visible:2;
    }
}
@media(max-width:767px){
    .pink-posts-product-listing.is-carousel{
        --pink-listing-visible:1.15;
        touch-action:pan-x pan-y;
    }
}


/* 0.20.88 – popisky navigace na desktopu */
@media(min-width:768px){
  .pink-posts-navigation.show-desktop-labels .pink-nav-label{
    display:block !important;
  }
}


/* 0.20.89 – fallback zvýraznění vyhledávání mimo Pink Posts kategorii */
.pink-posts-search.pink-search-no-category .pink-search-field:focus{
    border-color:var(--pink-search-accent-fallback,#000000) !important;
}
.pink-posts-search.pink-search-no-category .pink-search-item:hover{
    background:var(--pink-search-accent-fallback,#000000) !important;
}


/* 0.20.90 – desktop popisky pouze při hoveru */
@media(min-width:768px){
  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only .pink-nav-label{
    display:block !important;
    opacity:0;
    visibility:hidden;
    transform:translateY(-3px);
    transition:
      opacity .18s ease,
      transform .18s ease,
      visibility .18s ease;
    pointer-events:none;
  }

  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only
  .pink-nav-item:hover .pink-nav-label,
  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only
  .pink-nav-item:focus-visible .pink-nav-label,
  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only
  .pink-nav-item:focus-within .pink-nav-label{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
}




/* 0.20.93 – Fold / Unfold */
.pink-fold{--pink-fold-line-height:1.5em;position:relative}
.pink-fold-inner{position:relative;overflow:hidden;transition-property:max-height;transition-duration:420ms;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.pink-fold-content{line-height:var(--pink-fold-line-height)}
/* Rich-text paragraphs/lists follow the widget's Elementor typography,
   instead of the theme's direct p/li declarations. Keep strong/em and headings. */
.elementor-widget-pink-posts-fold-text .pink-fold-content p,
.elementor-widget-pink-posts-fold-text .pink-fold-content ul,
.elementor-widget-pink-posts-fold-text .pink-fold-content ol,
.elementor-widget-pink-posts-fold-text .pink-fold-content li{
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  font-style:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  word-spacing:inherit;
  text-transform:inherit;
}

.pink-fold-content>:first-child{margin-top:0}.pink-fold-content>:last-child{margin-bottom:0}
.pink-fold-fade{position:absolute;left:0;right:0;bottom:0;height:2.2em;pointer-events:none;opacity:0;transition:opacity .18s ease;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,1))}
.pink-fold[data-fade="1"].is-collapsed .pink-fold-fade{opacity:1}
.pink-fold-control-wrap{display:flex}
.pink-fold-toggle[type="button"]{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:inherit;cursor:pointer}
.pink-fold-icon{display:inline-flex;align-items:center;justify-content:center}
.pink-fold-icon-close{display:none}
.pink-fold.is-expanded .pink-fold-icon-open{display:none}
.pink-fold.is-expanded .pink-fold-icon-close{display:inline-flex}
.pink-fold:not(.is-overflowing) .pink-fold-control-wrap{display:none!important}
.pink-fold[data-whole-click="1"] .pink-fold-inner{cursor:pointer}






/* 0.20.96 – barvení ikon bez CSS masky.
   Desktop i mobil používají přímo serverově přebarvené SVG URL. */
@media(max-width:767px){
  .pink-posts-navigation .pink-nav-icon{
    background:transparent !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }

  .pink-posts-navigation .pink-nav-icon-image{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    filter:none !important;
    height:var(--pink-nav-icon-height,30px);
    width:auto !important;
    max-width:none !important;
  }
}


/* 0.20.97 – nástroje v záhlaví */
.pink-header-tool{
  position:relative;
  flex:0 0 auto;
  min-width:0;
}
.pink-header-tool-button[type="button"],
.pink-header-menu-button[type="button"]{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #d7dce1;
  background:#fff;
  color:#111;
  cursor:pointer;
  box-sizing:border-box;
  transition:
    width .24s ease,
    height .24s ease,
    min-width .24s ease,
    padding .24s ease,
    border-radius .24s ease,
    transform .18s ease,
    box-shadow .18s ease;
}
.pink-header-tool-button[type="button"]:hover,
.pink-header-menu-button[type="button"]:hover{
  box-shadow:0 7px 24px rgba(0,0,0,.10);
  transform:translateY(-1px);
}
.pink-header-tool-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.pink-header-menu-button[type="button"]{
  padding:0;
}
.pink-header-tool-empty{
  font-size:12px;
  padding:8px 10px;
  border:1px dashed #bbb;
}

/* Doporučený společný wrapper pro search + katalog + menu.
   Stačí třídou faac-header-tools označit jejich Elementor kontejner. */
.faac-header-tools{
  /* Elementor řídí směr, pořadí i zarovnání. Pink Posts pouze hlídá,
     aby se nástroje nerozbily do více řádků. */
  flex-wrap:nowrap !important;
  min-width:0;
}
.faac-header-tools > *{
  min-width:0;
}
.faac-header-tools .faac-header-search,
.faac-header-tools .pink-header-search-tool{
  min-width:0;
}


/* PDF lightbox */
.pink-catalog-modal[hidden]{display:none !important}
.pink-catalog-modal{
  --pink-catalog-backdrop:rgba(0,0,0,.50);
  --pink-catalog-blur:14px;
  position:fixed;
  inset:0;
  z-index:100500;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:var(--pink-catalog-backdrop);
  backdrop-filter:blur(var(--pink-catalog-blur));
  -webkit-backdrop-filter:blur(var(--pink-catalog-blur));
}
.pink-catalog-modal-dialog{
  width:min(1500px,96vw);
  height:min(92vh,1100px);
  background:#fff;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 100px rgba(0,0,0,.25);
  display:flex;
  flex-direction:column;
}
.pink-catalog-modal-head{
  flex:0 0 auto;
  min-height:54px;
  padding:10px 14px 10px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.pink-catalog-modal-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.pink-catalog-external{
  font-size:12px;
  color:inherit;
  text-decoration:none;
  opacity:.65;
}
.pink-catalog-close{
  appearance:none;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:rgba(0,0,0,.06);
  font-size:25px;
  line-height:1;
  cursor:pointer;
}
.pink-catalog-frame{
  flex:1 1 auto;
  width:100%;
  height:100%;
  border:0;
  background:#eee;
}
body.pink-modal-open{
  overflow:hidden !important;
}

/* Header menu – designově blízko výsledkům vyhledávání */
.pink-header-menu-panel[hidden]{display:none !important}
.pink-header-menu-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:380px;
  max-width:min(92vw,700px);
  z-index:100100;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  box-shadow:0 18px 55px rgba(0,0,0,.16);
  padding:7px;
  overflow:auto;
  max-height:min(70vh,650px);
}
.pink-header-menu-title{
  padding:10px 12px 8px;
  font-size:12px;
  font-weight:700;
  opacity:.48;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pink-header-menu-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 12px;
  min-height:58px;
  border-radius:10px;
  text-decoration:none !important;
  color:inherit !important;
  transition:background .15s ease;
}
.pink-header-menu-item:hover{
  background:#d9f2ff;
}
.pink-header-menu-item-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pink-header-menu-item-icon svg,
.pink-header-menu-item-icon i{
  width:20px;
  height:20px;
  font-size:20px;
}
.pink-header-menu-item-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}
.pink-header-menu-item-copy strong{
  font-size:14px;
  line-height:1.2;
}
.pink-header-menu-item-copy small{
  font-size:12px;
  line-height:1.2;
  opacity:.55;
}

/* Mobilní varianty */
@media(max-width:767px){
  .pink-catalog-modal{
    padding:8px;
  }
  .pink-catalog-modal-dialog{
    width:100%;
    height:calc(100dvh - 16px);
    border-radius:18px;
  }
  .pink-catalog-external{
    display:none;
  }
  .pink-header-menu-panel{
    position:fixed;
    left:12px;
    right:12px;
    top:auto;
    bottom:calc(var(--pink-mobile-nav-height,84px) + 12px);
    width:auto !important;
    max-width:none;
    max-height:55vh;
  }
}


/* 0.20.98 – katalog: barva textu a plnohodnotný PDF viewer */
.pink-header-catalog-tool .pink-header-tool-button[type="button"],
.pink-header-catalog-tool .pink-header-tool-button[type="button"] .pink-header-tool-label,
.pink-header-catalog-tool .pink-header-tool-button[type="button"] .pink-header-tool-icon,
.pink-header-catalog-tool .pink-header-tool-button[type="button"] svg,
.pink-header-catalog-tool .pink-header-tool-button[type="button"] i{
  color:inherit !important;
  fill:currentColor;
}

.pink-catalog-modal{
  isolation:isolate;
}
.pink-catalog-modal-dialog{
  width:min(1600px,97vw);
  height:min(94vh,1180px);
}
.pink-catalog-modal-head{
  min-height:58px;
}
.pink-catalog-title{
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pink-catalog-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
.pink-catalog-toolbtn{
  appearance:none;
  -webkit-appearance:none;
  width:34px;
  height:34px;
  min-width:34px;
  border:0;
  border-radius:9px;
  background:rgba(0,0,0,.055);
  color:#111 !important;
  text-decoration:none !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:600 18px/1 sans-serif;
  cursor:pointer;
  transition:background .15s ease,transform .15s ease;
}
.pink-catalog-toolbtn:hover{
  background:rgba(0,0,0,.11);
  transform:translateY(-1px);
}
.pink-catalog-toolbar-sep{
  width:1px;
  height:24px;
  background:rgba(0,0,0,.10);
  margin:0 2px;
}
.pink-catalog-pagebox{
  display:flex;
  align-items:center;
  gap:5px;
  height:34px;
  padding:0 8px;
  border-radius:9px;
  background:rgba(0,0,0,.045);
  font-size:12px;
}
.pink-catalog-page-input{
  width:48px !important;
  min-width:0 !important;
  height:26px !important;
  padding:0 4px !important;
  text-align:center;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font:600 12px/1 sans-serif !important;
}
.pink-catalog-zoom-label{
  min-width:48px;
  text-align:center;
  font:600 11px/1 sans-serif;
}
.pink-catalog-stage{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  background:#dfe3e8;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:24px;
}
.pink-catalog-canvas{
  display:block;
  max-width:none;
  background:#fff;
  box-shadow:0 10px 34px rgba(0,0,0,.18);
  transition:opacity .10s ease,transform .12s ease;
}
.pink-catalog-stage.is-rendering .pink-catalog-canvas{
  opacity:.35;
  transform:scale(.995);
}
.pink-catalog-loading{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  box-shadow:0 6px 24px rgba(0,0,0,.10);
  font-size:12px;
}
.pink-catalog-native-fallback{
  margin:auto;
  padding:24px;
  border-radius:16px;
  background:#fff;
  text-align:center;
}
.pink-catalog-close{
  flex:0 0 auto;
}

@media(max-width:900px){
  .pink-catalog-title{
    display:none;
  }
  .pink-catalog-modal-head{
    padding-left:8px;
  }
}
@media(max-width:767px){
  .pink-catalog-modal-dialog{
    height:calc(100dvh - 12px);
  }
  .pink-catalog-modal-head{
    min-height:50px;
    padding:6px;
  }
  .pink-catalog-stage{
    padding:10px;
  }
  .pink-catalog-toolbar{
    width:100%;
    justify-content:center;
    gap:4px;
  }
  .pink-catalog-toolbar-sep,
  .pink-catalog-zoom-label{
    display:none;
  }
  .pink-catalog-toolbtn{
    width:32px;
    height:32px;
    min-width:32px;
  }
  .pink-catalog-pagebox{
    padding:0 5px;
  }
}


/* 0.20.99 – native PDF viewer; bez CDN/PDF.js závislosti */
.pink-catalog-native-stage{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  background:#dfe3e8;
  overflow:hidden;
}
.pink-catalog-native-frame{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  border:0;
  background:#dfe3e8;
}
.pink-catalog-header-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:9px;
  background:rgba(0,0,0,.055);
  color:#111 !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:600;
  white-space:nowrap;
}
.pink-catalog-header-action:hover{
  background:rgba(0,0,0,.11);
}

/* Starý PDF.js canvas/fallback už v 0.20.99 nepoužíváme. */
.pink-catalog-stage,
.pink-catalog-canvas,
.pink-catalog-loading,
.pink-catalog-native-fallback,
.pink-catalog-pagebox,
.pink-catalog-prev,
.pink-catalog-next,
.pink-catalog-zoom-in,
.pink-catalog-zoom-out,
.pink-catalog-fit,
.pink-catalog-zoom-label,
.pink-catalog-toolbar-sep{
  display:none !important;
}


/* 0.21.00 – mobilní popisky musí fungovat i po přesunu navigace mimo Elementor wrapper. */
@media(max-width:767px){
  .pink-posts-navigation.is-mobile-bottom .pink-nav-label{
    color:var(--pink-mobile-label-color,#111111) !important;
  }
  .pink-posts-navigation.is-mobile-bottom{
    background:var(--pink-nav-bg,#ffffff) !important;
  }
}

/* 0.21.00 – placeholder explicitně přebírá typografii pole. */
.pink-search-field::placeholder{
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  font-style:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
  line-height:inherit !important;
}

/* Stejný kategoriální glow pro search a header nástroje. */
.pink-posts-search .pink-search-field:focus{
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--pink-primary,#00AEEF) 44%,transparent),
    0 0 18px color-mix(in srgb,var(--pink-primary,#00AEEF) 28%,transparent) !important;
}
.pink-header-tool-button[type="button"]:hover,
.pink-header-tool-button[type="button"]:focus-visible,
.pink-header-menu-button[type="button"]:hover,
.pink-header-menu-button[type="button"]:focus-visible{
  transform:none !important;
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--pink-primary,#00AEEF) 44%,transparent),
    0 0 18px color-mix(in srgb,var(--pink-primary,#00AEEF) 28%,transparent) !important;
}

/* Header menu – bez titulku, šířka podle nejdelší položky. */
.pink-header-menu-title{
  display:none !important;
}
.pink-header-menu-panel{
  width:max-content !important;
  min-width:220px;
  max-width:min(92vw,640px);
  overflow-x:hidden;
}
.pink-header-menu-item{
  width:max-content;
  max-width:100%;
  padding-left:16px;
  padding-right:16px;
}
.pink-header-menu-item-copy strong,
.pink-header-menu-item-copy small{
  white-space:nowrap;
}

/* 0.21.00 – flipbook katalog */
.pink-catalog-native-stage,
.pink-catalog-native-frame{
  display:none !important;
}
.pink-catalog-flip-stage{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.78),rgba(255,255,255,0) 42%),
    #dfe3e8;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.pink-catalog-book{
  --pink-book-scale:1;
  position:relative;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:2px;
  width:min(1380px,calc(100vw - 96px));
  max-height:calc(100vh - 150px);
  transform:scale(var(--pink-book-scale));
  transform-origin:center center;
  transition:transform .18s ease;
  perspective:2200px;
}
.pink-catalog-page{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  flex:1 1 50%;
  min-width:0;
  padding:0;
  border:0;
  background:#fff;
  box-shadow:0 14px 42px rgba(0,0,0,.18);
  cursor:zoom-in;
  overflow:hidden;
  transform-style:preserve-3d;
}
.pink-catalog-page[hidden]{
  display:none !important;
}
.pink-catalog-page img{
  display:block;
  width:100%;
  height:auto;
  max-height:calc(100vh - 160px);
  object-fit:contain;
  background:#fff;
  user-select:none;
  -webkit-user-drag:none;
}
.pink-catalog-page-left{
  transform-origin:right center;
  border-radius:10px 2px 2px 10px;
}
.pink-catalog-page-right{
  transform-origin:left center;
  border-radius:2px 10px 10px 2px;
}
.pink-catalog-book.is-cover .pink-catalog-page-right{
  flex:0 1 50%;
}
.pink-catalog-book.is-cover .pink-catalog-page-left{
  display:none !important;
}
.pink-catalog-book.is-turning-next .pink-catalog-page-right{
  animation:pinkCatalogTurnNext .22s ease-in forwards;
}
.pink-catalog-book.is-turning-prev .pink-catalog-page-left{
  animation:pinkCatalogTurnPrev .22s ease-in forwards;
}
@keyframes pinkCatalogTurnNext{
  from{transform:perspective(2200px) rotateY(0);opacity:1}
  to{transform:perspective(2200px) rotateY(-86deg);opacity:.18}
}
@keyframes pinkCatalogTurnPrev{
  from{transform:perspective(2200px) rotateY(0);opacity:1}
  to{transform:perspective(2200px) rotateY(86deg);opacity:.18}
}
.pink-catalog-book.is-single{
  width:min(900px,calc(100vw - 90px));
}
.pink-catalog-book.is-single .pink-catalog-page{
  display:none !important;
}
.pink-catalog-book.is-single .pink-catalog-page.is-active-page{
  display:block !important;
  flex:1 1 100%;
  border-radius:10px;
  cursor:zoom-out;
}
.pink-catalog-loading{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:5;
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  font-size:12px;
}
.pink-catalog-page-status{
  min-width:64px;
  text-align:center;
  font-size:12px;
  font-weight:600;
}
.pink-catalog-fallback{
  margin:auto;
  padding:24px;
  max-width:430px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 16px 50px rgba(0,0,0,.13);
  text-align:center;
}
.pink-catalog-toolbtn:disabled{
  opacity:.3;
  cursor:default;
}

@media(max-width:767px){
  .pink-catalog-flip-stage{
    padding:8px;
  }
  .pink-catalog-book{
    width:calc(100vw - 28px);
    max-height:calc(100dvh - 92px);
  }
  .pink-catalog-book:not(.is-single) .pink-catalog-page{
    flex:1 1 100%;
  }
  .pink-catalog-page img{
    max-height:calc(100dvh - 100px);
  }
}


/* 0.21.01 – popupy search/menu podle obsahu */
.pink-search-results{
  width:max-content !important;
  min-width:100% !important;
  max-width:min(92vw,760px) !important;
  box-sizing:border-box !important;
}
.pink-search-item{
  width:100% !important;
  box-sizing:border-box !important;
}
.pink-search-copy strong,
.pink-search-copy small,
.pink-search-meta{
  white-space:nowrap;
}

.pink-header-menu-panel{
  width:max-content !important;
  min-width:220px !important;
  max-width:min(92vw,640px) !important;
  box-sizing:border-box !important;
}
.pink-header-menu-item{
  width:100% !important;
  box-sizing:border-box !important;
}
.pink-header-menu-item:hover{
  width:100% !important;
}

/* Katalogové tlačítko musí skutečně používat Elementor barvu textu. */
.pink-header-catalog-tool .pink-header-tool-button[type="button"],
.pink-header-catalog-tool .pink-header-tool-label,
.pink-header-catalog-tool .pink-header-tool-icon,
.pink-header-catalog-tool .pink-header-tool-button[type="button"] i,
.pink-header-catalog-tool .pink-header-tool-button[type="button"] svg{
  color:inherit;
  -webkit-text-fill-color:currentColor;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Native-page fallback pro flipbook – používá browser PDF engine po jednotlivých stranách. */
.pink-catalog-page iframe{
  display:none;
  width:100%;
  height:min(74vh,1000px);
  border:0;
  background:#fff;
  pointer-events:none;
}
.pink-catalog-book.is-native-pages .pink-catalog-page img{
  display:none !important;
}
.pink-catalog-book.is-native-pages .pink-catalog-page iframe{
  display:block !important;
}
.pink-catalog-book.is-native-pages .pink-catalog-page{
  min-height:min(74vh,1000px);
}


/* 0.21.02 – katalog: listovací režim přímo přes nativní PDF engine prohlížeče.
   Žádný serverový renderer / PDF.js / CDN není potřeba. */
.pink-catalog-book.is-direct-pdf .pink-catalog-page img{
  display:none !important;
}
.pink-catalog-book.is-direct-pdf .pink-catalog-page iframe{
  display:block !important;
  width:100% !important;
  height:min(74vh,1000px) !important;
  min-height:520px;
  border:0 !important;
  background:#fff !important;
  pointer-events:none !important;
}
.pink-catalog-book.is-direct-pdf .pink-catalog-page{
  background:#fff;
  min-height:min(74vh,1000px);
}
.pink-catalog-book.is-direct-pdf.is-single{
  width:min(900px,calc(100vw - 90px));
}
.pink-catalog-book.is-direct-pdf.is-single .pink-catalog-page.is-active-page iframe{
  height:min(80vh,1150px) !important;
}
@media(max-width:767px){
  .pink-catalog-book.is-direct-pdf .pink-catalog-page iframe{
    min-height:0;
    height:calc(100dvh - 105px) !important;
  }
}


/* 0.21.04 – filtry ikon: ikony nepoužité v přiřazeném výpisu nezabírají místo */
.pink-posts-icon-filter-button[hidden],
.pink-posts-icon-filter-button.is-unavailable{
  display:none !important;
}


/* 0.21.11 – mobilní menu BEZ přesouvání Elementor prvků do BODY.
   Elementor prvky zůstávají ve své původní DOM struktuře, takže jejich
   responsivní rozměry přesně odpovídají editoru. Pink Posts řeší jen fixní
   pozici jednotlivých vrstev a černé pozadí celé sestavy. */
@media(max-width:767px){

  /* Rodiče nesmí vytvářet vlastní layout boxy. Potomci si ale ponechají
     své Elementor třídy i původní kontext nastavení. */
  .faac-header-main,
  .faac-header-main.elementor-hidden-mobile,
  .faac-header-main > .faac-header-desktop,
  .faac-header-main > .faac-header-desktop.elementor-hidden-mobile,
  .faac-header-main .faac-header-tools,
  .faac-header-main .faac-header-tools.elementor-hidden-mobile,
  .faac-header-main .elementor-widget-pink-posts-navigation,
  .faac-header-main .elementor-widget-pink-posts-navigation.elementor-hidden-mobile{
    display:contents !important;
  }

  /* Desktopové části headeru na mobilu nepotřebujeme. */
  .faac-header-main .faac-header-logo{
    display:none !important;
  }
  /* Hide only the two desktop-only Pink Posts tools.
     Never hide the parent of the mobile search by a generic :not() rule. */
  .faac-header-main .elementor-widget-pink-posts-catalog-button,
  .faac-header-main .elementor-widget-pink-posts-header-menu,
  .faac-header-main .faac-header-tools .elementor-widget-pink-posts-search,
  .faac-header-main .faac-header-actions .elementor-widget-pink-posts-search{
    display:none !important;
  }

  /* Společné pozadí bottom menu. */
  .pink-mobile-menu-backdrop{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:var(--pink-mobile-stack-height,0px) !important;
    background:var(--pink-mobile-stack-bg,#000) !important;
    box-shadow:0 -8px 30px rgba(0,0,0,.12);
    z-index:99980 !important;
    pointer-events:none !important;
    transition:transform .30s cubic-bezier(.22,.72,.24,1) !important;
  }

  /* Navigace ikon zůstává tam, kde ji vykreslil Elementor; pouze se fixuje. */
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed{
    display:block !important;
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:var(--pink-mobile-nav-bottom,0px) !important;

    width:100vw !important;
    max-width:none !important;
    min-width:0 !important;

    margin:0 !important;
    padding:8px 12px !important;
    box-sizing:border-box !important;

    background:transparent !important;
    overflow:visible !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    transition:transform .30s cubic-bezier(.22,.72,.24,1) !important;
    z-index:99990 !important;
  }

  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed
  > .pink-posts-navigation-track{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
  }

  /* TAXI / CAP – Pink Posts řídí pouze fixed pozici.
     Rozměry, padding, background a velikost Image widgetu zůstávají přesně
     podle mobilního Elementoru. */
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  .pink-mobile-menu-cap.is-pink-mobile-fixed.elementor-hidden-mobile{
    display:flex !important;
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:var(--pink-mobile-cap-bottom,0px) !important;
    transform:translateX(-50%) !important;
    transition:
      bottom .30s cubic-bezier(.22,.72,.24,1),
      transform .30s cubic-bezier(.22,.72,.24,1) !important;

    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    overflow:visible !important;
    z-index:99993 !important;
  }



  /* FOOTER / KONTAKTY – fixed řádek úplně dole.
     Width, height, alignment, padding i velikost jeho dětí zůstávají řízené
     Elementorem; Pink Posts nastaví pouze střed a bottom. */
  .pink-mobile-menu-footer.is-pink-mobile-fixed,
  .pink-mobile-menu-footer.is-pink-mobile-fixed.elementor-hidden-mobile{
    display:flex !important;
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:var(--pink-mobile-footer-bottom,0px) !important;
    transform:translateX(-50%) !important;
    transition:transform .30s cubic-bezier(.22,.72,.24,1) !important;

    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    z-index:99991 !important;
  }

  /* Rezerva stránky pod fixed menu. */
  body.pink-mobile-nav-mounted{
    padding-bottom:calc(var(--pink-mobile-stack-height,110px) + 8px) !important;
  }

  /* iOS Safari shield pod průsvitnou browser lištou / klávesnicí. */
  .pink-mobile-search-shield{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    height:var(--pink-mobile-shield-height,0px) !important;
    background:var(--pink-mobile-shield-bg,#000) !important;
    z-index:99979 !important;
    pointer-events:none !important;
    display:none !important;
  }
  .pink-mobile-search-shield.is-visible{
    display:block !important;
  }
}


/* 0.21.12 – mobile visibility safety.
   If old Elementor responsive visibility is still set on these exact
   functional wrappers, Pink Posts must override it on mobile. */
@media(max-width:767px){
  .elementor-hidden-mobile:has(> .pink-posts-navigation.is-mobile-bottom),
  .elementor-hidden-mobile:has(.pink-mobile-menu-footer){
    display:contents !important;
  }

  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed,
  .pink-mobile-menu-footer.is-pink-mobile-fixed,
  .pink-mobile-menu-cap.is-pink-mobile-fixed{
    visibility:visible !important;
    opacity:1 !important;
  }
}


/* 0.21.13 – vyhledávání už není součást automatické mobilní architektury.
   Widget lze vložit kamkoli v Elementoru. Pink Posts pouze zajistí, že
   jeho výsledky budou na mobilu nad všemi vrstvami a nepřetečou viewport. */
@media(max-width:767px){
  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay{
    position:fixed !important;
    z-index:100500 !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;

    border-radius:16px;
    -webkit-overflow-scrolling:touch;
  }

  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay .pink-search-item{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay .pink-search-copy{
    min-width:0 !important;
  }

  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay .pink-search-copy strong,
  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay .pink-search-copy small,
  .pink-posts-search .pink-search-results.is-pink-mobile-results-overlay .pink-search-meta{
    white-space:normal !important;
    overflow-wrap:anywhere;
  }
}


/* 0.21.14 – search je plně Elementorový prvek; Pink Posts řídí jen funkci a výsledky. */
.pink-posts-search .pink-search-clear[type="button"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  position:absolute !important;
  right:8px !important;
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;

  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;

  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;

  color:currentColor !important;
  font-size:0 !important;
  line-height:1 !important;
  opacity:0 !important;
  pointer-events:none !important;
  cursor:pointer !important;
  z-index:3 !important;
}
.pink-posts-search .pink-search-clear[type="button"]::before,
.pink-posts-search .pink-search-clear[type="button"]::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:13px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  opacity:.58;
  transform-origin:center;
}
.pink-posts-search .pink-search-clear[type="button"]::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
.pink-posts-search .pink-search-clear[type="button"]::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
.pink-posts-search .pink-search-clear[type="button"].is-visible{
  opacity:1 !important;
  pointer-events:auto !important;
}
.pink-posts-search .pink-search-field{
  padding-right:46px !important;
}

/* Mobilní výsledky jsou portálovány přímo do BODY.
   Tím nejsou omezené stacking contextem ani overflow rodičů Elementoru. */
@media(max-width:767px){
  body > .pink-search-results.is-pink-mobile-results-portal{
    position:fixed !important;
    z-index:2147483000 !important;

    width:auto !important;
    min-width:0 !important;
    max-width:none !important;

    margin:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;

    border-radius:16px !important;
  }

  body > .pink-search-results.is-pink-mobile-results-portal .pink-search-item{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body > .pink-search-results.is-pink-mobile-results-portal .pink-search-copy{
    min-width:0 !important;
  }

  body > .pink-search-results.is-pink-mobile-results-portal .pink-search-copy strong,
  body > .pink-search-results.is-pink-mobile-results-portal .pink-search-copy small,
  body > .pink-search-results.is-pink-mobile-results-portal .pink-search-meta{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* Černý podklad za fixed mobile UI a pod Safari browser chrome. */
  html.pink-mobile-black-ui{
    background:#000 !important;
  }

  body.pink-mobile-nav-mounted::after{
    content:"";
    position:fixed;
    left:0;
    right:0;
    bottom:-260px;
    height:calc(var(--pink-mobile-stack-height,110px) + 260px);
    background:#000;
    pointer-events:none;
    z-index:99978;
  }

  .pink-mobile-menu-backdrop{
    background:#000 !important;
  }
}


/* 0.21.16 – TAXI je ovladač pro zasunutí / vysunutí mobilního menu */
@media(max-width:767px){

  .pink-mobile-menu-cap.is-pink-mobile-fixed{
    cursor:pointer !important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    user-select:none;
  }

  /* Při zasunutí se spodní vrstvy odsunou pod viewport. */
  body.pink-mobile-menu-collapsed
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed{
    transform:translateY(calc(var(--pink-mobile-stack-height,220px) + 32px)) !important;
    pointer-events:none !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-footer.is-pink-mobile-fixed{
    transform:
      translateX(-50%)
      translateY(calc(var(--pink-mobile-stack-height,220px) + 32px))
      !important;
    pointer-events:none !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-backdrop{
    transform:translateY(calc(var(--pink-mobile-stack-height,220px) + 32px)) !important;
  }

  /* Taxi zůstane jako viditelné "madlo" u spodního okraje. */
  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-cap.is-pink-mobile-fixed{
    bottom:max(0px,env(safe-area-inset-bottom)) !important;
    transform:translateX(-50%) !important;
    pointer-events:auto !important;
  }

  /* Černá výplň za otevřeným menu se při zasunutí schová,
     globální černý browser/overscroll z 0.21.15 zůstává. */
  body.pink-mobile-nav-mounted.pink-mobile-menu-collapsed::after{
    height:0 !important;
  }

  /* Jemná odezva na tap bez změny velikosti. */
  .pink-mobile-menu-cap.is-pink-mobile-fixed:active{
    filter:brightness(.94);
  }
}


/* 0.21.17 – žádné "najíždění zleva" při prvním vykreslení mobilního menu */
@media(max-width:767px){

  /* Elementor entrance/motion animations are not useful on a persistent
     fixed navigation. Disable them for the complete mobile-menu subtree. */
  .elementor-widget-pink-posts-navigation,
  .elementor-widget-pink-posts-navigation *,
  .pink-mobile-menu-cap,
  .pink-mobile-menu-cap *,
  .pink-mobile-menu-footer,
  .pink-mobile-menu-footer *{
    animation:none !important;
    animation-name:none !important;
  }

  /* During the first two layout frames Pink Posts calculates final bottom
     positions. They must appear directly at the final position, never travel
     there from an old/default position. */
  body:not(.pink-mobile-menu-ready)
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-footer.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-backdrop{
    transition:none !important;
  }

  .pink-nav-icon-picture{
    display:block;
    line-height:0;
  }
}


/* 0.21.18 – synchronní pohyb taxi + celého mobilního menu.
   Všechny čtyři vrstvy používají stejnou vlastnost (transform),
   stejnou délku a stejnou easing křivku. */
@media(max-width:767px){

  body.pink-mobile-nav-mounted{
    --pink-mobile-menu-motion-duration:.30s;
    --pink-mobile-menu-motion-ease:cubic-bezier(.22,.72,.24,1);
  }

  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed,
  .pink-mobile-menu-footer.is-pink-mobile-fixed,
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  .pink-mobile-menu-backdrop{
    transition:
      transform var(--pink-mobile-menu-motion-duration,.30s)
      var(--pink-mobile-menu-motion-ease,cubic-bezier(.22,.72,.24,1))
      !important;
    will-change:transform;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  /* Otevřený stav – taxi je na své vypočítané pozici. */
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  .pink-mobile-menu-cap.is-pink-mobile-fixed.elementor-hidden-mobile{
    bottom:var(--pink-mobile-cap-bottom,0px) !important;
    transform:translate3d(-50%,0,0) !important;
  }

  /* Zasunutý stav:
     taxi už NEMĚNÍ bottom. Sjede dolů transformací stejně jako ostatní.
     Výsledná poloha je u spodního okraje / safe area. */
  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-cap.is-pink-mobile-fixed.elementor-hidden-mobile{
    bottom:var(--pink-mobile-cap-bottom,0px) !important;
    transform:
      translate3d(
        -50%,
        calc(
          var(--pink-mobile-cap-bottom,0px)
          - env(safe-area-inset-bottom,0px)
        ),
        0
      )
      !important;
    pointer-events:auto !important;
  }

  /* Ostatní vrstvy používají stejný compositor path. */
  body.pink-mobile-menu-collapsed
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed{
    transform:
      translate3d(
        0,
        calc(var(--pink-mobile-stack-height,220px) + 32px),
        0
      )
      !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-footer.is-pink-mobile-fixed{
    transform:
      translate3d(
        -50%,
        calc(var(--pink-mobile-stack-height,220px) + 32px),
        0
      )
      !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-backdrop{
    transform:
      translate3d(
        0,
        calc(var(--pink-mobile-stack-height,220px) + 32px),
        0
      )
      !important;
  }

  /* Při prvním layoutu stále bez animace, aby nic nenajíždělo z boku. */
  body:not(.pink-mobile-menu-ready)
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-footer.is-pink-mobile-fixed,
  body:not(.pink-mobile-menu-ready)
  .pink-mobile-menu-backdrop{
    transition:none !important;
  }
}


/* 0.21.22 – video pozadí celé Elementor Footer šablony */
.pink-footer-video-host{
  position:relative !important;
  isolation:isolate;
}

.pink-footer-video-host
> .pink-footer-video-layer{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:0 !important;
  background-position:var(--pink-footer-video-position,center center);
  background-size:var(--pink-footer-video-fit,cover);
  background-repeat:no-repeat;
}

.pink-footer-video-host
> :not(.pink-footer-video-layer){
  position:relative;
  z-index:1;
}

.pink-footer-video-media{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:var(--pink-footer-video-fit,cover);
  object-position:var(--pink-footer-video-position,center center);
  opacity:var(--pink-footer-video-opacity,1);
  pointer-events:none;
}

.pink-footer-video-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:var(--pink-footer-video-overlay,transparent);
  pointer-events:none;
}

@media(max-width:767px){
  .pink-footer-video-host.pink-footer-video-mobile-disabled
  .pink-footer-video-media{
    display:none !important;
  }
}


/* 0.21.23 – optická korekce velikosti hlavní fotografie ve výpisu produktu */
.pink-posts-product-card .pink-product-preview-image{
  transform-origin:center center !important;

  /* Individual transform properties intentionally do not overwrite Elementor's
     own transform/hover effects. */
  scale:var(--pink-product-preview-scale,1);
  translate:var(--pink-product-preview-offset-x,0px) var(--pink-product-preview-offset-y,0px);

  will-change:scale,translate;
}

.pink-posts-product-card[data-pink-preview-align="left"] .pink-product-preview-image{
  transform-origin:left center !important;
  margin-inline:0 auto !important;
}
.pink-posts-product-card[data-pink-preview-align="left"] .elementor-widget-image:has(.pink-product-preview-image),
.pink-posts-product-card[data-pink-preview-align="left"] .elementor-widget-container:has(> a > .pink-product-preview-image),
.pink-posts-product-card[data-pink-preview-align="left"] .elementor-widget-container:has(> .pink-product-preview-image){
  text-align:left !important;
}


/* 0.21.24 – Footer video: editor/frontend robustní vrstvení */
.pink-footer-video-host{
  position:relative !important;
  isolation:isolate !important;
  overflow:visible;
}

.pink-footer-video-host > .pink-footer-video-layer{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:0 !important;
}

.pink-footer-video-host > .pink-footer-video-layer .pink-footer-video-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:0 !important;
  background:transparent !important;
}

.pink-footer-video-host > .pink-footer-video-layer .pink-footer-video-overlay{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:1 !important;
  opacity:1 !important;
  pointer-events:none !important;
}

.pink-footer-video-host > :not(.pink-footer-video-layer){
  position:relative;
  z-index:2;
}

/* Elementor often gives the first footer containers a white background.
   For a true template background we clear only the first level. */
.pink-footer-video-host.pink-footer-video-force-transparent
> .e-con,
.pink-footer-video-host.pink-footer-video-force-transparent
> .elementor-section,
.pink-footer-video-host.pink-footer-video-force-transparent
> .elementor-container{
  background-color:transparent !important;
  background-image:none !important;
}

.pink-footer-video-host.pink-footer-video-force-transparent
> .e-con::before,
.pink-footer-video-host.pink-footer-video-force-transparent
> .elementor-section::before,
.pink-footer-video-host.pink-footer-video-force-transparent
> .elementor-container::before{
  background-color:transparent !important;
  background-image:none !important;
}

/* Browser chrome remains globally black through <meta name="theme-color">.
   The actual desktop page canvas must not be black, otherwise a transparent
   Footer bottom/margin appears as an unexplained black strip. */
@media(min-width:768px){
  html{
    background-color:initial !important;
  }
}


/* 0.21.25 – Pink Posts výpis produktů: odkaz celé položky */
.pink-posts-product-card{
  position:relative;
}

.pink-posts-product-card.has-whole-item-link{
  cursor:pointer;
}

.pink-product-card-content{
  position:relative;
  z-index:1;
}

/*
 * Transparent link covers the complete card.
 * It is a sibling of Elementor output, so we never wrap Elementor links
 * inside another <a> and therefore keep valid HTML.
 */
.pink-posts-product-card .pink-product-card-whole-link{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  text-decoration:none !important;
  z-index:20 !important;
}

/*
 * If the listing template intentionally contains its own controls/links,
 * they remain usable above the whole-card link.
 */
.pink-posts-product-card.has-whole-item-link
.pink-product-card-content :is(a,button,input,select,textarea,[role="button"]){
  position:relative;
  z-index:21;
}

/* Do not navigate away while editing the Elementor template/page. */
.elementor-editor-active
.pink-posts-product-card .pink-product-card-whole-link,
.elementor-editor-preview
.pink-posts-product-card .pink-product-card-whole-link{
  pointer-events:none !important;
}

/* Keyboard focus should be visible without adding a permanent border. */
.pink-posts-product-card .pink-product-card-whole-link:focus-visible{
  outline:2px solid currentColor !important;
  outline-offset:3px !important;
  border-radius:inherit;
}


/* 0.21.28 – filtr produktů podle taxonomie */
.pink-posts-taxonomy-filter{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
}

.pink-posts-taxonomy-filter-button[type="button"]{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid;
  cursor:pointer;
  line-height:1;
  transition:
    background-color .16s ease,
    color .16s ease,
    border-color .16s ease,
    opacity .16s ease;
}

.pink-posts-taxonomy-filter-button[type="button"][hidden],
.pink-posts-taxonomy-filter-button[type="button"].is-unavailable{
  display:none !important;
}


/* 0.21.29 – runtime/dynamické barvy taxonomického filtru */
.pink-posts-taxonomy-filter .pink-posts-taxonomy-filter-button[type="button"]{
  color:var(--pink-tax-filter-text,#111111) !important;
  background-color:var(--pink-tax-filter-bg,#ffffff) !important;
  border-color:var(--pink-tax-filter-border,#111111) !important;
}

.pink-posts-taxonomy-filter .pink-posts-taxonomy-filter-button[type="button"].is-active{
  color:var(--pink-tax-filter-active-text,#ffffff) !important;
  background-color:var(--pink-tax-filter-active-bg,#111111) !important;
  border-color:var(--pink-tax-filter-border,#111111) !important;
}


/* 0.21.32 – clean shell pro Pink Posts detail produktu */
html:has(body.pink-posts-clean-shell),
body.pink-posts-clean-shell{
  margin:0;
  padding:0;
  width:100%;
  max-width:none;
}

body.pink-posts-clean-shell{
  min-height:100vh;
  overflow-x:clip;
}

body.pink-posts-clean-shell #pink-posts-clean-content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}

/*
 * Stable Pink Posts category variables. These are emitted server-side on
 * category landing pages and product details, independently of Envision.
 */
:root{
  --pink-category-primary:var(--pink-primary,#000000);
  --pink-category-secondary:var(--pink-secondary,#ffffff);
}


/* 0.21.39 – rozbalovací text bez bílé překryvné vrstvy
   Vytrácí se samotný obsah přes CSS masku, takže pod ním může být
   libovolná barva, gradient nebo fotografie. */
.pink-fold{
  --pink-fold-fade-depth:.8em;
}

.pink-fold .pink-fold-fade{
  display:none !important;
  opacity:0 !important;
  background:none !important;
}

/* Jen ve sbaleném stavu a pouze pokud je fade zapnutý. */
.pink-fold[data-fade="1"].is-collapsed .pink-fold-inner{
  -webkit-mask-image:linear-gradient(
    to bottom,
    #000 0,
    #000 calc(100% - var(--pink-fold-fade-depth,.8em)),
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    #000 0,
    #000 calc(100% - var(--pink-fold-fade-depth,.8em)),
    transparent 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

/* Po rozbalení musí být obsah zcela ostrý. */
.pink-fold.is-expanded .pink-fold-inner,
.pink-fold[data-fade="0"] .pink-fold-inner{
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/* Ovládání je vizuálně součástí textu, ne další oddělený blok. */
.pink-fold-control-wrap{
  align-items:center;
  line-height:1;
}

.pink-fold-toggle[type="button"]{
  line-height:1.1;
}

.pink-fold-icon{
  line-height:1;
  flex:0 0 auto;
}


/* 0.21.41 – taxonomický filtr: definitivní barevný režim kategorie.
   Nezávisí na Elementor Dynamic Tags na frontendu. */
.pink-posts-taxonomy-filter.is-color-category .pink-posts-taxonomy-filter-button[type="button"]{
  color:var(--pink-primary,#111111) !important;
  background-color:var(--pink-secondary,#ffffff) !important;
  border-color:var(--pink-primary,#111111) !important;
}

.pink-posts-taxonomy-filter.is-color-category .pink-posts-taxonomy-filter-button[type="button"].is-active{
  color:var(--pink-secondary,#ffffff) !important;
  background-color:var(--pink-primary,#111111) !important;
  border-color:var(--pink-primary,#111111) !important;
}

.pink-posts-taxonomy-filter.is-color-category .pink-posts-taxonomy-filter-button[type="button"]:hover{
  border-color:var(--pink-primary,#111111) !important;
}

/* Custom mode keeps existing controls / dynamic colors. */
.pink-posts-taxonomy-filter.is-color-custom .pink-posts-taxonomy-filter-button[type="button"]{
  color:var(--pink-tax-filter-text,#111111) !important;
  background-color:var(--pink-tax-filter-bg,#ffffff) !important;
  border-color:var(--pink-tax-filter-border,#111111) !important;
}

.pink-posts-taxonomy-filter.is-color-custom .pink-posts-taxonomy-filter-button[type="button"].is-active{
  color:var(--pink-tax-filter-active-text,#ffffff) !important;
  background-color:var(--pink-tax-filter-active-bg,#111111) !important;
}


/* 0.21.42 – rozbalovací text: samostatná ikona může být opravdu až u levého okraje. */
.pink-fold.pink-fold-mode-icon .pink-fold-control-wrap{
  width:100%;
  justify-content:var(--pink-fold-icon-only-align,flex-start) !important;
}

/* Při režimu Pouze ikona nenechávej na tlačítku skryté vodorovné odsazení,
   které by opticky posouvalo ikonu od levého okraje. */
.pink-fold.pink-fold-mode-icon .pink-fold-toggle[type="button"]{
  width:auto;
  min-width:0;
  margin-left:0;
  margin-right:0;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* Samotný SVG/ikonový wrapper nesmí přidávat vlastní mezery. */
.pink-fold.pink-fold-mode-icon .pink-fold-icon{
  margin-left:0 !important;
  margin-right:0 !important;
}


/* 0.21.47 – opt-in fixed mobile background.
   Add class "pink-mobile-fixed-background" to a specific Elementor container. */
@media(max-width:767px){
  .pink-mobile-fixed-background.pink-mobile-fixed-background-active{
    position:relative;
    z-index:2;
    background-image:none !important;
    background-color:transparent !important;
    background-attachment:scroll !important;
  }

  .pink-mobile-fixed-background.pink-mobile-fixed-background-active > *{
    position:relative;
    z-index:2;
  }
}

.pink-mobile-fixed-background-layer{
  display:none;
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  margin:0;
  padding:0;
  border:0;
  pointer-events:none;
  z-index:1;
  transform:translateZ(0);
  backface-visibility:hidden;
  will-change:clip-path;
}


/* 0.21.48 – desktop icon blend mode is an explicit Elementor control. */
@media(min-width:768px){
  .pink-posts-navigation .pink-nav-icon-image{
    mix-blend-mode:var(--pink-nav-desktop-blend,normal) !important;
    filter:none;
  }

  /* Hover-only desktop labels are now OVER the icon, not below it. */
  .pink-posts-navigation.pink-desktop-label-overlay .pink-nav-item{
    position:relative;
  }

  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only.pink-desktop-label-overlay
  .pink-nav-label{
    display:flex !important;
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    width:var(--pink-nav-hover-label-width,120px) !important;
    max-width:none !important;
    min-width:0 !important;
    min-height:100% !important;
    margin:0 !important;
    padding:2px 4px !important;
    box-sizing:border-box !important;

    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.08 !important;

    opacity:0;
    visibility:hidden;
    transform:translate(-50%,-50%) !important;
    pointer-events:none;
  }

  .pink-posts-navigation.pink-desktop-label-overlay
  .pink-nav-icon-image{
    transition-property:opacity !important;
  }

  .pink-posts-navigation.pink-desktop-label-overlay
  .pink-nav-item:hover .pink-nav-icon-image,
  .pink-posts-navigation.pink-desktop-label-overlay
  .pink-nav-item:focus-visible .pink-nav-icon-image,
  .pink-posts-navigation.pink-desktop-label-overlay
  .pink-nav-item:focus-within .pink-nav-icon-image{
    opacity:var(--pink-nav-hover-icon-opacity,.10) !important;
  }

  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only.pink-desktop-label-overlay
  .pink-nav-item:hover .pink-nav-label,
  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only.pink-desktop-label-overlay
  .pink-nav-item:focus-visible .pink-nav-label,
  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only.pink-desktop-label-overlay
  .pink-nav-item:focus-within .pink-nav-label{
    opacity:1 !important;
    visibility:visible !important;
    transform:translate(-50%,-50%) !important;
  }
}


/* 0.21.49 – header search/catalog typography consistency.
   Elementor remains the source of typography; leaf elements explicitly inherit
   the complete computed typography instead of falling back to browser/theme
   button/input defaults. */
.pink-header-catalog-tool .pink-header-tool-label{
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  font-style:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  word-spacing:inherit !important;
  text-transform:inherit !important;
  text-decoration:inherit !important;
}

.pink-posts-search .pink-search-field::placeholder{
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  font-style:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  word-spacing:inherit !important;
  text-transform:inherit !important;
  text-decoration:inherit !important;
}


/* 0.21.50 – hard desktop/mobile separation for navigation icon blending. */
@media(max-width:767px){
  .pink-posts-navigation .pink-nav-icon,
  .pink-posts-navigation .pink-nav-icon-image{
    mix-blend-mode:normal !important;
  }
}

@media(min-width:768px){
  .pink-posts-navigation .pink-nav-icon-image{
    mix-blend-mode:var(--pink-nav-desktop-blend,normal) !important;
  }
}


/* 0.21.51 – separate desktop/mobile navigation labels. */
@media(min-width:768px){
  .pink-posts-navigation .pink-nav-label.pink-nav-label-mobile{
    display:none !important;
  }

  .pink-posts-navigation.show-desktop-labels
  .pink-nav-label.pink-nav-label-desktop{
    display:block !important;
  }

  .pink-posts-navigation.show-desktop-labels.desktop-labels-hover-only.pink-desktop-label-overlay
  .pink-nav-label.pink-nav-label-mobile{
    display:none !important;
  }
}

@media(max-width:767px){
  .pink-posts-navigation.is-mobile-bottom
  .pink-nav-label.pink-nav-label-desktop{
    display:none !important;
  }

  .pink-posts-navigation.is-mobile-bottom.show-mobile-labels
  .pink-nav-label.pink-nav-label-mobile{
    display:block !important;
  }
}


/* 0.21.51 – adjustable synchronous mobile-menu collapse.
   One distance is used for taxi, navigation, footer and backdrop. */
@media(max-width:767px){
  body.pink-mobile-menu-collapsed
  .pink-posts-navigation.is-mobile-bottom.is-pink-mobile-fixed{
    transform:
      translate3d(0,var(--pink-mobile-collapse-distance,0px),0)
      !important;
    pointer-events:none !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-footer.is-pink-mobile-fixed{
    transform:
      translate3d(-50%,var(--pink-mobile-collapse-distance,0px),0)
      !important;
    pointer-events:none !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-backdrop{
    transform:
      translate3d(0,var(--pink-mobile-collapse-distance,0px),0)
      !important;
  }

  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-cap.is-pink-mobile-fixed,
  body.pink-mobile-menu-collapsed
  .pink-mobile-menu-cap.is-pink-mobile-fixed.elementor-hidden-mobile{
    bottom:var(--pink-mobile-cap-bottom,0px) !important;
    transform:
      translate3d(
        -50%,
        var(--pink-mobile-collapse-distance,0px),
        0
      )
      !important;
    pointer-events:auto !important;
  }

  /* Keep a black surface below the collapsed menu.
     The extra 260px continues below the layout viewport so Safari's
     translucent bottom chrome samples black instead of the page. */
  body.pink-mobile-nav-mounted.pink-mobile-menu-collapsed::after{
    height:
      calc(
        var(--pink-mobile-collapsed-visible-height,0px)
        + 260px
      )
      !important;
    background:#000 !important;
  }
}

/* 0.21.52 – katalog PDF: čistý prezentační lightbox.
   Zůstává pouze samotný katalog, jemný backdrop a plovoucí zavření. */
.pink-catalog-modal.is-clean{
  --pink-catalog-backdrop:rgba(0,0,0,.50);
  --pink-catalog-blur:14px;
  padding:clamp(12px,2vw,28px);
}
.pink-catalog-modal.is-clean .pink-catalog-modal-dialog{
  position:relative;
  width:min(1480px,94vw);
  height:min(94dvh,1180px);
  max-height:94dvh;
  background:transparent !important;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
}
.pink-catalog-modal.is-clean .pink-catalog-modal-head{
  position:fixed;
  inset:0;
  z-index:40;
  min-height:0;
  height:0;
  padding:0;
  border:0;
  background:transparent;
  pointer-events:none;
}
.pink-catalog-modal.is-clean .pink-catalog-title,
.pink-catalog-modal.is-clean .pink-catalog-toolbar > :not(.pink-catalog-close){
  display:none !important;
}
.pink-catalog-modal.is-clean .pink-catalog-toolbar{
  position:fixed;
  top:max(16px,env(safe-area-inset-top));
  right:max(16px,env(safe-area-inset-right));
  z-index:41;
  width:auto;
  height:auto;
  display:block;
  pointer-events:none;
}
.pink-catalog-modal.is-clean .pink-catalog-close{
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.46);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#111 !important;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font:300 30px/1 Arial,sans-serif;
  cursor:pointer;
  pointer-events:auto;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.pink-catalog-modal.is-clean .pink-catalog-close:hover,
.pink-catalog-modal.is-clean .pink-catalog-close:focus-visible{
  transform:scale(1.06);
  background:#fff;
  box-shadow:0 10px 34px rgba(0,0,0,.24);
  outline:none;
}
.pink-catalog-modal.is-clean .pink-catalog-flip-stage{
  width:100%;
  height:100%;
  min-height:0;
  padding:0;
  overflow:visible;
  background:transparent;
  align-items:center;
  justify-content:center;
}
.pink-catalog-modal.is-clean .pink-catalog-book{
  width:min(1380px,92vw);
  max-height:92dvh;
  gap:2px;
  filter:none;
}
.pink-catalog-modal.is-clean .pink-catalog-page{
  background:transparent;
  box-shadow:none;
  border-radius:0 !important;
}
.pink-catalog-modal.is-clean .pink-catalog-page iframe{
  height:min(91dvh,1160px) !important;
  min-height:0 !important;
  border:0 !important;
  background:transparent !important;
}
.pink-catalog-modal.is-clean .pink-catalog-loading{
  display:none !important;
}
.pink-catalog-modal.is-clean .pink-catalog-page-left{
  cursor:w-resize;
}
.pink-catalog-modal.is-clean .pink-catalog-page-right{
  cursor:e-resize;
}
.pink-catalog-modal.is-clean .pink-catalog-book.is-cover .pink-catalog-page-right{
  cursor:e-resize;
}

@media(max-width:767px){
  .pink-catalog-modal.is-clean{
    padding:8px;
  }
  .pink-catalog-modal.is-clean .pink-catalog-modal-dialog{
    width:calc(100vw - 16px);
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
  }
  .pink-catalog-modal.is-clean .pink-catalog-toolbar{
    top:max(10px,env(safe-area-inset-top));
    right:max(10px,env(safe-area-inset-right));
  }
  .pink-catalog-modal.is-clean .pink-catalog-close{
    width:40px;
    height:40px;
    min-width:40px;
    font-size:27px;
  }
  .pink-catalog-modal.is-clean .pink-catalog-book{
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px);
  }
  .pink-catalog-modal.is-clean .pink-catalog-page iframe{
    height:calc(100dvh - 24px) !important;
  }
}

/* 0.21.53 – katalog PDF: bez nativních PDF scrollbarů.
   Desktop = čisté listování po renderovaných stránkách.
   Mobil = souvislý vertikální seznam jednotlivých stran. */
.pink-catalog-modal.is-clean .pink-catalog-book[hidden],
.pink-catalog-modal.is-clean .pink-catalog-mobile-pages[hidden]{
  display:none !important;
}

@media(min-width:768px){
  .pink-catalog-modal.is-clean .pink-catalog-flip-stage{
    overflow:hidden !important;
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages{
    width:auto !important;
    height:min(92dvh,1160px);
    max-width:92vw;
    max-height:92dvh;
    gap:2px;
    align-items:stretch;
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages .pink-catalog-page{
    flex:0 0 auto !important;
    width:auto !important;
    height:100%;
    min-height:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    box-shadow:0 10px 34px rgba(0,0,0,.18);
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages .pink-catalog-page img{
    display:block !important;
    width:auto !important;
    height:100% !important;
    max-width:46vw;
    max-height:none !important;
    object-fit:contain;
    background:#fff;
    user-select:none;
    -webkit-user-drag:none;
    pointer-events:none;
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages .pink-catalog-page iframe{
    display:none !important;
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages .pink-catalog-page-left{
    cursor:w-resize;
  }

  .pink-catalog-modal.is-clean .pink-catalog-book.is-image-pages .pink-catalog-page-right{
    cursor:e-resize;
  }
}

.pink-catalog-mobile-pages{
  display:none;
}

@media(max-width:767px){
  .pink-catalog-modal.is-clean.is-mobile-scroll{
    padding:0 !important;
  }

  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-modal-dialog{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }

  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-flip-stage{
    display:block !important;
    width:100%;
    height:100%;
    padding:
      max(10px,env(safe-area-inset-top))
      8px
      max(10px,env(safe-area-inset-bottom));
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:transparent !important;
    scroll-behavior:smooth;
  }

  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-mobile-pages{
    display:flex;
    flex-direction:column;
    gap:10px;
    width:min(100%,760px);
    margin:0 auto;
    padding:0 0 10px;
  }

  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-mobile-page{
    width:100%;
    margin:0;
    padding:0;
    background:#fff;
    box-shadow:0 5px 18px rgba(0,0,0,.18);
  }

  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-mobile-page img{
    display:block;
    width:100%;
    height:auto;
    margin:0;
    background:#fff;
    user-select:none;
    -webkit-user-drag:none;
  }

  /* Zavření je stále nad katalogem; přidáme prostor jen vpravo nahoře,
     samotné stránky ale zůstávají přes téměř celou šířku. */
  .pink-catalog-modal.is-clean.is-mobile-scroll .pink-catalog-toolbar{
    z-index:60;
  }
}

/* 0.21.54 – Pink Product Image: AUTO silhouette shadow + reflection + optical sizing */
.pink-product-image{position:relative;width:100%;min-width:0}
.pink-product-image-stage{position:relative;width:100%;height:520px;overflow:visible;isolation:isolate}
.pink-product-image-detail-transform{position:absolute;z-index:3;inset:0;transform:translate(var(--pink-detail-offset-x,0px),var(--pink-detail-offset-y,0px)) scale(var(--pink-detail-scale,1));transform-origin:50% 50%;transition:transform .18s ease;pointer-events:none}
.pink-product-image-object{position:absolute;z-index:3;left:50%;top:50%;width:auto;height:auto;max-width:88%;max-height:78%;display:block;transform:translate(-50%,-50%) scale(var(--pink-optical-scale,1));transform-origin:50% 50%;transition:transform .18s ease;cursor:inherit;pointer-events:auto}
.pink-product-image[data-pink-detail-align="top"] .pink-product-image-detail-transform{transform-origin:50% 0;}
.pink-product-image[data-pink-detail-align="top"] .pink-product-image-object{
  top:0;
  transform:translate(-50%,0) scale(var(--pink-optical-scale,1));
  transform-origin:50% 0;
}
.pink-product-image[data-pink-lightbox]{cursor:zoom-in}
.pink-product-image-shadow,.pink-product-image-reflection{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.pink-product-image-shadow{z-index:1}
.pink-product-image-reflection{z-index:2}
.pink-product-image--original .pink-product-image-shadow,.pink-product-image--original .pink-product-image-reflection{display:none}
.pink-product-image-warning{position:absolute;z-index:5;left:50%;bottom:8px;transform:translateX(-50%);max-width:min(90%,620px);padding:7px 10px;border-radius:7px;background:rgba(25,25,25,.82);color:#fff;font-size:12px;line-height:1.35;text-align:center;pointer-events:none}
.pink-product-image-floor-guide{display:none;position:absolute;z-index:6;left:4%;right:4%;top:var(--pink-floor-y,86%);height:0;border-top:1px dashed rgba(230,65,65,.8);pointer-events:none}
.elementor-editor-active .pink-product-image-floor-guide,.elementor-editor-preview .pink-product-image-floor-guide{display:block}
.pink-product-image.is-no-alpha .pink-product-image-shadow,.pink-product-image.is-no-alpha .pink-product-image-reflection{display:none}
@media(max-width:767px){
  .pink-product-image-stage{height:380px}
  .pink-product-image-object{max-width:94%;max-height:82%}
}

/* 0.21.55 – vodorovně rozbalovací ikonová položka */
.pink-expand-icon{
    --pink-expand-gap:12px;
    --pink-expand-max:420px;
    --pink-expand-duration:325ms;
    display:inline-flex;
    align-items:center;
    max-width:100%;
    vertical-align:middle;
}
.pink-expand-icon-trigger[type="button"]{
    position:relative;
    z-index:2;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    margin:0;
    padding:0;
    border:0 solid currentColor;
    outline:0;
    background:transparent;
    color:#111;
    line-height:1;
    cursor:pointer;
    box-sizing:border-box;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease;
    -webkit-tap-highlight-color:transparent;
}
.pink-expand-icon-trigger[type="button"].is-framed{
    border-style:solid;
    border-width:1px;
    background:#fff;
}
.pink-expand-icon-trigger[type="button"].is-stacked{
    border-style:none;
}
.pink-expand-icon-trigger[type="button"]:focus-visible{
    outline:2px solid currentColor;
    outline-offset:3px;
}
.pink-expand-icon-trigger[type="button"]:active{
    transform:scale(.96);
}
.pink-expand-icon-glyph,
.pink-expand-icon-glyph svg,
.pink-expand-icon-glyph i{
    display:block;
    flex:0 0 auto;
}
.pink-expand-icon-glyph svg{
    width:20px;
    height:20px;
    fill:currentColor;
}
.pink-expand-icon-reveal{
    flex:0 1 auto;
    max-width:0;
    margin-left:0;
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    transform:translateX(-8px);
    transition:
        max-width var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        margin-left var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        opacity var(--pink-expand-duration) ease,
        transform var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        visibility 0s linear var(--pink-expand-duration);
}
.pink-expand-icon.is-open .pink-expand-icon-reveal{
    max-width:min(var(--pink-expand-max),calc(100vw - 90px));
    margin-left:var(--pink-expand-gap);
    opacity:1;
    visibility:visible;
    transform:translateX(0);
    transition:
        max-width var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        margin-left var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        opacity var(--pink-expand-duration) ease,
        transform var(--pink-expand-duration) cubic-bezier(.2,.75,.2,1),
        visibility 0s;
}
.pink-expand-icon-reveal-inner{
    min-width:0;
    overflow:hidden;
}
.pink-expand-icon-text{
    display:block;
    width:max-content;
    max-width:var(--pink-expand-max);
    color:#111;
    text-decoration:none;
    line-height:1.2;
    white-space:nowrap;
}
a.pink-expand-icon-text:hover{
    text-decoration:none;
}
@media(max-width:767px){
    /* 0.21.58 – mobil: skrytý text nesmí vytvářet vysoký nulový sloupec.
       Vnitřek má už při animaci finální šířku, takže se text při zavírání
       nepřelévá do desítek řádků a widget neskáče nahoru/dolů. */
    .pink-expand-icon{
        align-items:flex-start;
        line-height:0;
    }
    .pink-expand-icon-trigger[type="button"]{
        align-self:flex-start;
    }
    .pink-expand-icon-reveal{
        height:0;
        min-height:0;
        line-height:normal;
    }
    .pink-expand-icon.is-open .pink-expand-icon-reveal{
        height:auto;
    }
    .pink-expand-icon-reveal-inner{
        width:min(var(--pink-expand-max),calc(100vw - 90px));
        max-width:min(var(--pink-expand-max),calc(100vw - 90px));
    }
    .pink-expand-icon-text{
        width:100%;
        max-width:100%;
        white-space:normal;
    }
}

/* 0.21.56 – interaktivní katalog PDF.js
   Desktop: stránkování bez vnitřních scrollbarů.
   Mobil: svislé rolování po jednotlivých stranách.
   Odkazy z PDF jsou průhledná klikací vrstva nad canvasem. */
.pink-catalog-edge-nav{
  display:none;
  position:absolute;
  top:50%;
  z-index:35;
  width:46px;
  height:46px;
  min-width:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#111;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  font:300 34px/1 Arial,sans-serif;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transform:translateY(-50%);
  transition:transform .16s ease,opacity .16s ease,background .16s ease;
}
.pink-catalog-edge-nav:hover,
.pink-catalog-edge-nav:focus-visible{
  background:#fff;
  transform:translateY(-50%) scale(1.06);
  outline:none;
}
.pink-catalog-edge-nav:disabled{
  opacity:.18;
  cursor:default;
  transform:translateY(-50%);
}
.pink-catalog-edge-prev{left:max(12px,calc(50% - min(46vw,720px) - 62px))}
.pink-catalog-edge-next{right:max(12px,calc(50% - min(46vw,720px) - 62px))}

.pink-catalog-pdf-surface{
  position:relative;
  display:block;
  margin:0;
  background:#fff;
  overflow:hidden;
}
.pink-catalog-pdf-canvas{
  display:block;
  margin:0;
  background:#fff;
}
.pink-catalog-pdf-links{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
}
.pink-catalog-pdf-link{
  position:absolute;
  display:block;
  pointer-events:auto;
  background:transparent;
  border:0;
  border-radius:2px;
  text-decoration:none !important;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.pink-catalog-pdf-link:hover{
  background:rgba(55,125,255,.07);
  box-shadow:inset 0 0 0 1px rgba(55,125,255,.18);
}
.pink-catalog-pdf-link:focus-visible{
  outline:2px solid rgba(55,125,255,.72);
  outline-offset:1px;
}
.pink-catalog-page.is-rendering::after,
.pink-catalog-mobile-page.is-rendering::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:8;
  background:linear-gradient(100deg,rgba(245,246,247,.9),rgba(255,255,255,.98),rgba(245,246,247,.9));
  background-size:200% 100%;
  animation:pinkCatalogPdfLoading 1.1s linear infinite;
  pointer-events:none;
}
@keyframes pinkCatalogPdfLoading{
  from{background-position:200% 0}
  to{background-position:-200% 0}
}

/* Nativní PDF je pouze nouzový fallback, pokud se PDF.js/CDN nenačte. */
.pink-catalog-modal .pink-catalog-native-fallback{
  display:none;
  width:min(1180px,92vw);
  height:min(90dvh,1100px);
  margin:auto;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 48px rgba(0,0,0,.20);
}
.pink-catalog-modal.is-native-fallback .pink-catalog-native-fallback{
  display:block !important;
}
.pink-catalog-modal.is-native-fallback .pink-catalog-native-frame{
  display:block !important;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
}

@media(min-width:768px){
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-flip-stage{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:clamp(8px,1.5vw,20px) !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-book{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:2px !important;
    width:auto !important;
    height:auto !important;
    max-width:92vw !important;
    max-height:91dvh !important;
    transform:none !important;
    filter:none !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-page{
    position:relative !important;
    flex:0 0 auto !important;
    width:auto;
    height:auto;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
    overflow:hidden !important;
    box-shadow:0 10px 34px rgba(0,0,0,.18) !important;
    cursor:default !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-page-left{
    border-radius:8px 1px 1px 8px !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-page-right{
    border-radius:1px 8px 8px 1px !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-book.is-cover .pink-catalog-page-right,
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-book.is-pdfjs-single .pink-catalog-page-left{
    border-radius:8px !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-edge-nav:not([hidden]){
    display:flex !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-mobile-pages,
  .pink-catalog-modal.is-clean.is-pdfjs-desktop .pink-catalog-native-fallback{
    display:none !important;
  }
}

@media(max-width:767px){
  .pink-catalog-modal.is-clean.is-pdfjs-mobile{
    padding:0 !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-modal-dialog{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-flip-stage{
    display:block !important;
    width:100% !important;
    height:100% !important;
    padding:
      max(8px,env(safe-area-inset-top))
      6px
      max(10px,env(safe-area-inset-bottom)) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:transparent !important;
    scroll-behavior:smooth;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-book,
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-edge-nav,
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-native-fallback{
    display:none !important;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-mobile-pages{
    display:flex !important;
    flex-direction:column;
    align-items:center;
    gap:8px;
    width:100%;
    margin:0 auto;
    padding:0 0 12px;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-mobile-page{
    position:relative;
    width:calc(100vw - 12px) !important;
    max-width:760px;
    height:auto !important;
    margin:0;
    padding:0;
    background:#fff;
    box-shadow:0 4px 16px rgba(0,0,0,.18);
    overflow:hidden;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-pdf-surface,
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-pdf-canvas{
    max-width:100%;
  }
  .pink-catalog-modal.is-clean.is-pdfjs-mobile .pink-catalog-toolbar{
    z-index:70;
  }
  .pink-catalog-modal.is-clean.is-native-fallback .pink-catalog-native-fallback{
    width:100vw;
    height:100dvh;
    box-shadow:none;
  }
}


/* 0.21.57 – katalog bez externího PDF.js.
   Jeden nativní PDF viewer zachovává interní i externí odkazy PDF.
   Desktop: stránkování pomocí plovoucích šipek. Mobil: svislé nativní rolování. */
.pink-catalog-modal.is-clean.is-native-fallback .pink-catalog-fallback{display:none !important}
.pink-catalog-modal.is-clean.is-native-fallback .pink-catalog-native-fallback{
  display:block !important;
  position:relative;
  margin:auto;
  padding:0;
  background:#fff;
  border:0;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 12px 42px rgba(0,0,0,.20);
}
.pink-catalog-modal.is-clean.is-native-fallback .pink-catalog-native-frame{
  display:block !important;
  border:0 !important;
  margin:0 !important;
  background:#fff !important;
}

@media(min-width:768px){
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-flip-stage{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:clamp(8px,1.4vw,20px) !important;
  }
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-native-fallback{
    width:min(900px,74vw) !important;
    height:min(91dvh,1160px) !important;
    max-width:calc(100vw - 150px) !important;
    max-height:91dvh !important;
  }
  /* iframe je o kousek širší/vyšší; případné nativní scrollbary zůstanou za cropem wrapperu */
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-native-frame{
    width:calc(100% + 20px) !important;
    height:calc(100% + 20px) !important;
    min-width:calc(100% + 20px) !important;
    min-height:calc(100% + 20px) !important;
  }
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-edge-nav:not([hidden]){
    display:flex !important;
  }
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-edge-prev{
    left:max(14px,calc(50% - min(37vw,450px) - 72px)) !important;
  }
  .pink-catalog-modal.is-clean.is-native-desktop .pink-catalog-edge-next{
    right:max(14px,calc(50% - min(37vw,450px) - 72px)) !important;
  }
}

@media(max-width:767px){
  .pink-catalog-modal.is-clean.is-native-mobile{
    padding:0 !important;
  }
  .pink-catalog-modal.is-clean.is-native-mobile .pink-catalog-modal-dialog,
  .pink-catalog-modal.is-clean.is-native-mobile .pink-catalog-flip-stage{
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    padding:0 !important;
  }
  .pink-catalog-modal.is-clean.is-native-mobile .pink-catalog-native-fallback{
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    box-shadow:none !important;
  }
  .pink-catalog-modal.is-clean.is-native-mobile .pink-catalog-native-frame{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
  }
  .pink-catalog-modal.is-clean.is-native-mobile .pink-catalog-edge-nav{
    display:none !important;
  }
}

/* 0.21.60 – rozbalovací ikona: horizontální rozbalení bez změny výšky widgetu */
.pink-expand-icon{
    --pink-expand-box:52px;
    height:var(--pink-expand-box);
    min-height:var(--pink-expand-box);
    max-height:var(--pink-expand-box);
    align-items:center;
    line-height:normal;
    overflow:visible;
}
.pink-expand-icon-trigger[type="button"]{
    align-self:center;
}
.pink-expand-icon-reveal,
.pink-expand-icon.is-open .pink-expand-icon-reveal{
    height:var(--pink-expand-box) !important;
    min-height:var(--pink-expand-box) !important;
    max-height:var(--pink-expand-box) !important;
    display:flex;
    align-items:center;
}
.pink-expand-icon-reveal-inner{
    width:max-content !important;
    min-width:max-content !important;
    max-width:none !important;
    height:var(--pink-expand-box);
    display:flex;
    align-items:center;
    overflow:visible;
}
.pink-expand-icon-text,
.pink-expand-icon.is-open .pink-expand-icon-text{
    display:block;
    width:max-content !important;
    max-width:var(--pink-expand-max) !important;
    white-space:nowrap !important;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media(max-width:767px){
    .pink-expand-icon{
        height:var(--pink-expand-box) !important;
        min-height:var(--pink-expand-box) !important;
        max-height:var(--pink-expand-box) !important;
        align-items:center !important;
        line-height:normal !important;
    }
    .pink-expand-icon-trigger[type="button"]{
        align-self:center !important;
    }
    .pink-expand-icon-reveal,
    .pink-expand-icon.is-open .pink-expand-icon-reveal{
        height:var(--pink-expand-box) !important;
        min-height:var(--pink-expand-box) !important;
        max-height:var(--pink-expand-box) !important;
    }
    .pink-expand-icon-reveal-inner{
        width:max-content !important;
        min-width:max-content !important;
        max-width:none !important;
    }
    .pink-expand-icon-text{
        width:max-content !important;
        max-width:min(var(--pink-expand-max),calc(100vw - 90px)) !important;
        white-space:nowrap !important;
    }
}

/* 0.21.61 – mobilní vyhledávání: žádný trvale rezervovaný prostor pro ikonu/křížek.
   Placeholder dostane celou šířku pole. Prostor vpravo se přidá až ve chvíli,
   kdy je v poli text a skutečně se zobrazí vlastní tlačítko Vymazat. Současně
   vypínáme nativní Safari search dekorace, protože Pink Posts má vlastní clear. */
@media(max-width:767px){
  .pink-posts-search .pink-search-field{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .pink-posts-search .pink-search-field:not(:placeholder-shown){
    padding-right:46px !important;
  }
  .pink-posts-search .pink-search-field::-webkit-search-decoration,
  .pink-posts-search .pink-search-field::-webkit-search-cancel-button,
  .pink-posts-search .pink-search-field::-webkit-search-results-button,
  .pink-posts-search .pink-search-field::-webkit-search-results-decoration{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:none !important;
  }
}


/* 0.21.62 – utility: full-width breakout from a boxed Elementor container.
   Apply CSS class `pink-fullwidth-breakout` to the INNER container that should span viewport. */
.pink-fullwidth-breakout{
    position:relative!important;
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    box-sizing:border-box!important;
}
@supports (width:100dvw){
    .pink-fullwidth-breakout{
        width:100dvw!important;
        margin-left:calc(50% - 50dvw)!important;
        margin-right:calc(50% - 50dvw)!important;
    }
}

/* ========================================================================
   0.21.64 – KATALOG PDF / CLEAN PAGE RENDERER
   Bez rámečků a vnitřního PDF scrollu. Desktop listuje po stránkách,
   mobil rolováním. Rozměr se řídí skutečným poměrem stran PDF.
   ======================================================================== */
.pink-catalog-modal.is-clean.is-pages-desktop,
.pink-catalog-modal.is-clean.is-pages-mobile{
  padding:0 !important;
}
.pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-modal-dialog,
.pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-modal-dialog{
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-flip-stage,
.pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-flip-stage{
  position:relative !important;
  width:100vw !important;
  height:100dvh !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

/* Loading: jasné procento i u velkého katalogu. */
.pink-catalog-modal.is-clean .pink-catalog-loading{
  position:fixed !important;
  inset:0 !important;
  z-index:85 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  color:#fff !important;
  background:rgba(9,12,16,.36) !important;
  pointer-events:none !important;
}
.pink-catalog-modal.is-clean .pink-catalog-loading[hidden]{display:none !important}
.pink-catalog-loading-value{
  font:600 clamp(42px,7vw,86px)/1 Arial,sans-serif !important;
  letter-spacing:-.04em;
  color:#fff !important;
}
.pink-catalog-loading-text{
  font:500 14px/1.3 Arial,sans-serif !important;
  color:rgba(255,255,255,.82) !important;
}

/* Desktop: pouze stránka / dvojstrana, nikdy scrollovací viewer. */
@media(min-width:768px){
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-flip-stage{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
  }
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-book{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 auto !important;
    gap:0 !important;
    max-width:100vw !important;
    max-height:100dvh !important;
    margin:0 !important;
    padding:0 !important;
    filter:none !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-page{
    position:relative !important;
    flex:0 0 auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-page[hidden]{display:none !important}
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-native-fallback,
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-mobile-pages{display:none !important}

  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-edge-nav{
    position:fixed !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:72 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:52px !important;
    height:52px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.90) !important;
    color:#333 !important;
    box-shadow:0 8px 26px rgba(0,0,0,.15) !important;
    font:300 42px/1 Arial,sans-serif !important;
    cursor:pointer !important;
  }
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-edge-prev{left:clamp(10px,2vw,30px) !important}
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-edge-next{right:clamp(10px,2vw,30px) !important}
  .pink-catalog-modal.is-clean.is-pages-desktop .pink-catalog-edge-nav:disabled{opacity:.22 !important;cursor:default !important}
}

/* Samotná stránka: žádné okraje – obraz přesně vyplní formát PDF. */
.pink-catalog-page-image{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:fill !important;
  user-select:none;
  -webkit-user-drag:none;
}
.pink-catalog-page-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(0,0,0,.28);
  background:#fff;
  font:500 13px/1 Arial,sans-serif;
}
.pink-catalog-link-layer{
  position:absolute !important;
  inset:0 !important;
  z-index:5 !important;
  pointer-events:none !important;
}
.pink-catalog-pdf-link{
  position:absolute !important;
  display:block !important;
  z-index:6 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  text-decoration:none !important;
}
.pink-catalog-pdf-link:focus-visible{
  outline:2px solid rgba(0,120,255,.75) !important;
  outline-offset:-2px !important;
}

/* Mobil: stránky 1:1 přes celou šířku, bez vnějších mezer, lazy load. */
@media(max-width:767px){
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-flip-stage{
    display:block !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch !important;
    overscroll-behavior:contain !important;
  }
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-book,
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-native-fallback,
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-edge-nav{display:none !important}
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-mobile-pages{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100vw !important;
    min-height:100dvh !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  .pink-catalog-modal.is-clean.is-pages-mobile .pink-catalog-mobile-page{
    position:relative !important;
    flex:0 0 auto !important;
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:hidden !important;
    aspect-ratio:0.7071 / 1;
  }
}

/* 0.21.73 – desktop search: prázdné pole už nerezervuje prostor pro clear.
   Stejné chování jako na mobilu: plná šířka placeholderu, prostor vpravo
   se přidá až po napsání textu a zobrazení vlastního křížku. Safari search
   dekorace jsou vypnuté i na desktopu. */
@media(min-width:768px){
  .pink-posts-search .pink-search-field{
    padding-left:14px !important;
    padding-right:14px !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }
  .pink-posts-search .pink-search-field:not(:placeholder-shown){
    padding-right:46px !important;
  }
  .pink-posts-search .pink-search-field::-webkit-search-decoration,
  .pink-posts-search .pink-search-field::-webkit-search-cancel-button,
  .pink-posts-search .pink-search-field::-webkit-search-results-button,
  .pink-posts-search .pink-search-field::-webkit-search-results-decoration{
    -webkit-appearance:none !important;
    appearance:none !important;
    display:none !important;
  }
}

/* 0.21.79 – a relationship section is visible only if its rendered widget
   actually contains a product card (a nonempty meta array alone is insufficient).
   :has() is supported in current Safari, Chrome and Firefox; JS below is a
   compatibility fallback. Editor remains fully editable. */
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:has(.elementor-widget-pink-posts-related):not(:has(.pink-posts-related-item)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:has(.elementor-widget-pink-posts-product-listing):not(:has(.pink-posts-product-card)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship.pink-posts-relation-meta-empty:not(:has(.pink-posts-related-item)):not(:has(.pink-posts-product-card)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship.pink-posts-relation-render-empty{
    display:none !important;
}


/* 0.21.82 – product editorial status badge */
.pink-product-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
  line-height:1.1;
  text-decoration:none!important;
  white-space:nowrap;
  transition:background-color .18s ease,color .18s ease,opacity .18s ease;
}
a.pink-product-status-badge{cursor:pointer}
a.pink-product-status-badge:hover{text-decoration:none!important}

/* 0.21.86 – product VIDEO button + lightbox */
.pink-product-video-button{display:inline-flex;align-items:center;justify-content:center;gap:.45em;border:0;font:inherit;line-height:1.1;cursor:pointer;text-decoration:none;transition:background-color .18s ease,color .18s ease,opacity .18s ease}.pink-product-video-button.is-editor-placeholder{opacity:.45;cursor:default}.pink-product-video-play{font-size:.72em}.pink-product-video-lightbox[hidden]{display:none!important}.pink-product-video-lightbox{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.pink-product-video-stage{width:min(92vw,1500px);height:min(82vh,900px);display:flex;align-items:center;justify-content:center}.pink-product-video-stage iframe,.pink-product-video-stage video{width:100%;height:100%;border:0;display:block;object-fit:contain;background:#000}.pink-product-video-close{position:fixed;top:18px;right:20px;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#111;font-size:34px;line-height:1;cursor:pointer}.pink-product-video-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;max-width:92vw}.pink-product-video-tabs button{border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(0,0,0,.45);color:#fff;padding:8px 14px;cursor:pointer}.pink-product-video-tabs button.is-active{background:#fff;color:#111}@media(max-width:767px){.pink-product-video-lightbox{padding:12px}.pink-product-video-stage{width:100%;height:auto;aspect-ratio:16/9}.pink-product-video-close{top:12px;right:12px;width:42px;height:42px;font-size:30px}}
html.pink-product-video-open,html.pink-product-video-open body{overflow:hidden!important}


/* Mobile stays exactly as before even when compact desktop mode is selected. */
@media(max-width:767px){
  .pink-search-desktop-compact .pink-search-compact-toggle[type="button"]{display:none !important;}
  .pink-search-desktop-compact .pink-search-compact-panel{
    display:block !important;
    position:static !important;
    width:100% !important;
    max-width:none !important;
  }
}

/* 0.21.89 – desktop navigation: responsive max-width + real right alignment. */
@media(min-width:768px){
  .pink-posts-navigation.pink-nav-distribution-flex-end .pink-posts-navigation-track{
    justify-content:flex-end !important;
  }
  /* When the row really overflows, start scrolling from a safe edge instead
     of letting flex-end make the leftmost icons unreachable. */
  .pink-posts-navigation.is-swipe.pink-nav-is-overflowing .pink-posts-navigation-track{
    justify-content:flex-start !important;
  }
  .pink-header-link-tool .pink-header-tool-button[type="button"]{
    text-decoration:none !important;
    white-space:nowrap;
  }
}


/* 0.21.91 – category-aware search accent + header-menu hover text */
.pink-posts-search:not(.pink-search-no-category) .pink-search-field:focus{
  border-color:var(--pink-search-active-accent,var(--pink-search-accent-fallback,#000000)) !important;
}
.pink-posts-search:not(.pink-search-no-category) .pink-search-item:hover{
  background:var(--pink-search-active-accent,var(--pink-search-accent-fallback,#000000)) !important;
}
.pink-header-menu-item-copy strong,
.pink-header-menu-item-copy small{
  transition:color .15s ease;
}


/* 0.21.92 – correct category landing-page search accent + neutral homepage accent */
.pink-posts-search.pink-search-no-category .pink-search-item:hover .pink-search-copy strong,
.pink-posts-search.pink-search-no-category .pink-search-item:hover .pink-search-copy small{
  color:#fff !important;
}


/* 0.21.93 – search accent is resolved per actual page context. */
.pink-posts-search .pink-search-field:focus{
  border-color:var(--pink-search-active-accent,var(--pink-search-accent-fallback,#000000)) !important;
}
.pink-posts-search .pink-search-item:hover{
  background:var(--pink-search-active-accent,var(--pink-search-accent-fallback,#000000)) !important;
}
.pink-posts-search .pink-search-item:hover .pink-search-copy strong,
.pink-posts-search .pink-search-item:hover .pink-search-copy small{
  color:var(--pink-search-active-text,#ffffff) !important;
}


/* The radius is also applied without relying on Elementor's generated CSS
   file. This keeps the search pill intact immediately after a plugin update. */
.pink-posts-search .pink-search-field{
  border-radius:var(--pink-search-radius,24px) !important;
}

/* 0.22.02 – Elementor owns responsive visibility of manually placed search widgets.
   No plugin-level display/visibility override is applied to header search instances. */


/* 0.22.06 – icon set: explicit nowrap state + intrinsic item widths.
   Elementor's switcher returns an empty value when OFF, therefore older
   selector-based output fell back to the global flex-wrap:wrap rule. */
.elementor-widget-pink-posts-icon-set .pink-posts-icon-set{
  display:flex !important;
  align-items:center !important;
  min-width:0 !important;
}
.elementor-widget-pink-posts-icon-set .pink-posts-icon-set > .pink-posts-icon-set-item,
.elementor-widget-pink-posts-icon-set .pink-posts-icon-set > .pink-posts-icon-set-item > a{
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:max-content !important;
  max-width:none !important;
  min-width:0 !important;
}
.elementor-widget-pink-posts-icon-set .pink-posts-icon-set img,
.elementor-widget-pink-posts-icon-set .pink-posts-icon-set svg{
  flex:0 0 auto !important;
}



/* Product background overlap uses the measured header height. */
@media(min-width:768px){
  body.pink-header-over-page-bg .pink-product-background-portal{
    top:calc(-1 * var(--pink-header-overlap-height,0px)) !important;
    height:calc(var(--pink-bg-height,100vh) + var(--pink-header-overlap-height,0px)) !important;
  }
}

/* 0.22.16 – use on a normal Elementor Image widget. The real image source stays
   dynamic; shadow and reflection automatically follow each product image. */
/* 0.22.26 – realistic dynamic reflection for a standard Elementor Image widget.
   JS detects transparent bottom padding and starts the mirror at the real visible edge. */
.faac-product-main-image,
.faac-product-main-image > .elementor-widget-container{
  position:relative !important;
  overflow:visible !important;
}
.faac-product-main-image img:not(.faac-product-reflection-img){
  position:relative;
  z-index:2;
  display:block;
  filter:drop-shadow(0 15px 16px rgba(0,0,0,.16));
  -webkit-box-reflect:unset !important;
}
.faac-product-reflection-layer{
  position:absolute;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  opacity:.44;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.58) 0%,rgba(0,0,0,.34) 24%,rgba(0,0,0,.12) 52%,transparent 82%);
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.58) 0%,rgba(0,0,0,.34) 24%,rgba(0,0,0,.12) 52%,transparent 82%);
}
.faac-product-reflection-layer .faac-product-reflection-canvas{
  display:block;
  width:100%;
  height:100%;
  filter:blur(.28px) saturate(.94);
  opacity:1;
}


/* 0.22.19 – conditional visibility: support inverse mode for relationship fields. */
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:not(.pink-posts-visibility-hide-filled):has(.elementor-widget-pink-posts-related):not(:has(.pink-posts-related-item)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:not(.pink-posts-visibility-hide-filled):has(.elementor-widget-pink-posts-product-listing):not(:has(.pink-posts-product-card)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:not(.pink-posts-visibility-hide-filled).pink-posts-relation-meta-empty:not(:has(.pink-posts-related-item)):not(:has(.pink-posts-product-card)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:not(.pink-posts-visibility-hide-filled)[data-pink-posts-relation-renderer="cards"]:not(:has(.pink-posts-related-item)):not(:has(.pink-posts-product-card)),
body:not(.elementor-editor-active) .pink-posts-conditional-relationship:not(.pink-posts-visibility-hide-filled).pink-posts-relation-render-empty{
  display:none !important;
}
body:not(.elementor-editor-active) .pink-posts-conditional-relationship.pink-posts-visibility-hide-filled.pink-posts-relation-render-filled{
  display:none !important;
}
/* Neutralise the older generic relationship rule for inverse mode. */
body:not(.elementor-editor-active) .pink-posts-conditional-relationship.pink-posts-visibility-hide-filled.pink-posts-relation-render-empty,
body:not(.elementor-editor-active) .pink-posts-conditional-relationship.pink-posts-visibility-hide-filled.pink-posts-relation-meta-empty{
  display:revert !important;
}


/* 0.22.24 – desktop search must never leak into the mobile drawer.
   Mobile search is placed manually in Elementor (typically in pink-mobile-menu-footer). */
@media(max-width:767px){
  .faac-header-main .faac-header-desktop .faac-header-search,
  .faac-header-main .faac-header-desktop .pink-mobile-menu-search,
  .faac-header-main .faac-header-desktop .elementor-widget-pink-posts-search{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }

  /* Search intentionally placed in the mobile footer remains visible. */
  .pink-mobile-menu-footer .elementor-widget-pink-posts-search,
  .pink-mobile-menu-footer .pink-posts-search{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}



/* 0.22.29 – real contour reflection for the normal Elementor image widget.
   The canvas overlaps the original transparent image area and starts below each
   column's own lowest opaque pixel; therefore no white gap can exist under angled edges. */
.faac-product-main-image,
.faac-product-main-image > .elementor-widget-container{position:relative !important;overflow:visible !important;}
.faac-product-main-image img:not(.faac-product-reflection-img){position:relative;z-index:2;display:block;-webkit-box-reflect:unset !important;}
.elementor-widget-image.faac-product-main-image[data-pink-detail-correction="1"] img:not(.faac-product-reflection-img){
  scale:var(--pink-detail-scale,1) !important;
  translate:var(--pink-detail-offset-x,0px) var(--pink-detail-offset-y,0px) !important;
  transform-origin:50% 50%;
}
.elementor-widget-image.faac-product-main-image[data-pink-detail-correction="1"][data-pink-detail-align="top"] img:not(.faac-product-reflection-img){
  transform-origin:50% 0 !important;
}
.faac-product-reflection-layer{position:absolute;z-index:1;pointer-events:none;overflow:visible;opacity:1 !important;-webkit-mask-image:none !important;mask-image:none !important;}
.faac-product-reflection-layer .faac-product-reflection-canvas{display:block;width:100%;height:100%;filter:blur(.22px) saturate(.94);opacity:1;}

/* Deferred listing controls sit below both grid and carousel. */
.pink-listing-pagination { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:24px; }
.pink-listing-load-more[type="button"] { box-sizing:border-box;max-width:100%;text-align:center;cursor:pointer; padding:12px 24px; font:inherit;font-family:var(--e-global-typography-text-font-family,inherit); border:1px solid currentColor; border-radius:4px; }
.pink-listing-load-more[type="button"]:disabled { cursor:wait; opacity:.6; }
.pink-listing-load-more[type="button"][hidden] { display:none !important; }
.pink-listing-page-status { font:inherit; text-align:center; }
.pink-listing-page-status:empty { display:none; }

/* 0.22.63: HTML fields and installation legends share Elementor's Text family.
   Text descendants inherit it even when pasted HTML specifies another family.
   Keep sizes, weights, spacing, layout and SVG/icon fonts intact. */
.pink-posts-html-field{min-width:0;max-width:100%}
.pink-posts-html-field,
.pink-posts-installation-legend,
.pink-table-scroll{font-family:var(--e-global-typography-text-font-family,inherit)}
:is(.pink-posts-html-field,.pink-posts-installation-legend,.pink-table-scroll)
:where(div,p,span,a,ul,ol,li,dl,dt,dd,table,thead,tbody,tfoot,tr,th,td,caption,h1,h2,h3,h4,h5,h6,strong,b,em,small,sup,sub,blockquote,label):not(svg *):not(.fa):not(.fas):not(.far):not(.fab):not([class*="fa-"]):not([class*="eicon"]):not(.elementor-icon){font-family:inherit!important}

/* 0.22.53 – scrolling only when results exceed the available area. */
.pink-posts-search .pink-search-results{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.35) transparent}
.pink-search-results::-webkit-scrollbar{width:5px;height:0}
.pink-search-results::-webkit-scrollbar-track{background:transparent}
.pink-search-results::-webkit-scrollbar-thumb{background:rgba(0,0,0,.35);border-radius:9px}
.pink-search-mobile-trigger{display:none}
.pink-search-mobile-dialog[hidden]{display:none!important}
@media(max-width:767px){
 .pink-posts-search:not(.is-pink-search-dialog-content) .pink-search-input-wrap,
 .pink-posts-search:not(.is-pink-search-dialog-content) .pink-search-results{display:none!important}
 .pink-posts-search .pink-search-mobile-trigger[type="button"]{display:block;box-sizing:border-box;width:100%;height:var(--pink-search-button-height,44px);min-height:0;padding:0 14px;border:var(--pink-search-field-border-width,1px) solid var(--pink-mobile-border-color,#d7dce1)!important;border-radius:var(--pink-search-radius,24px)!important;background:var(--pink-mobile-field-bg,#fff)!important;color:var(--pink-mobile-placeholder-color,var(--pink-mobile-text-color,#333))!important;-webkit-text-fill-color:var(--pink-mobile-placeholder-color,var(--pink-mobile-text-color,#333))!important;box-shadow:none!important;font-family:var(--e-global-typography-text-font-family,inherit);font-size:16px;text-align:left;cursor:pointer}
 .pink-search-mobile-dialog{position:fixed;top:var(--pink-search-view-top,0px);left:var(--pink-search-view-left,0px);width:var(--pink-search-view-width,100vw);height:var(--pink-search-view-height,100dvh);z-index:2147483640;isolation:isolate;box-sizing:border-box;padding:calc(52px + env(safe-area-inset-top)) 18px max(16px,env(safe-area-inset-bottom));overflow:hidden;color:var(--pink-search-active-text,#111)}
 .pink-search-mobile-dialog::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18)),var(--pink-search-dialog-accent,#000);opacity:.94;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:none}
 .pink-search-mobile-dialog{ -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
 .pink-search-mobile-dialog .pink-posts-search.is-pink-search-dialog-content{position:relative!important;display:flex!important;flex-direction:column;gap:14px;width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important;color:var(--pink-search-active-text,#111)}
 .pink-search-mobile-dialog .pink-search-mobile-trigger,
 .pink-search-mobile-dialog .pink-search-compact-toggle{display:none!important}
 .pink-search-mobile-dialog .pink-search-compact-panel{display:contents!important}
 .pink-search-mobile-dialog .pink-search-input-wrap{display:flex!important;flex:none;position:relative}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-field{display:block!important;width:100%!important;height:64px!important;min-height:64px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.65)!important;border-radius:0!important;padding:0 40px 0 0!important;background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;outline:0!important;font-family:var(--pink-search-dialog-font-family,inherit)!important;font-size:32px!important;line-height:1.2!important}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-field::placeholder{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;font-size:32px!important}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-clear{color:#fff!important}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-results{position:relative!important;inset:auto!important;display:block;flex:1 1 auto;width:100%!important;max-width:100%!important;min-height:0!important;max-height:none!important;margin:0!important;padding:6px!important;border:0!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important;color:#111!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#fff transparent}
 .pink-search-mobile-dialog .pink-search-results[hidden]{display:none!important}
 .pink-search-mobile-dialog .pink-search-results::-webkit-scrollbar-thumb{background:#fff}
 .pink-search-mobile-dialog .pink-search-results::-webkit-scrollbar-track{background:rgba(0,0,0,.18);border-radius:9px}
 .pink-search-mobile-dialog .pink-search-copy strong,
 .pink-search-mobile-dialog .pink-search-copy small{color:#111!important}
 .pink-search-mobile-dialog .pink-search-thumb{width:64px;height:64px;flex-basis:64px}
 .pink-search-mobile-dialog .pink-search-item{min-width:0;gap:12px}
 .pink-search-mobile-dialog .pink-search-copy{min-width:0}
 .pink-search-mobile-dialog .pink-search-copy strong,
 .pink-search-mobile-dialog .pink-search-copy small{white-space:normal;overflow-wrap:anywhere}
 .pink-search-mobile-dialog .pink-search-dialog-close[type="button"]{position:absolute;top:calc(8px + env(safe-area-inset-top));right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:transparent;color:var(--pink-search-dialog-text,#111);font:32px/1 sans-serif;cursor:pointer}
 .pink-search-mobile-dialog button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
 html.pink-search-dialog-open{overflow:hidden!important;overscroll-behavior:none}
}

/* 0.22.54 – same result colours for pointer, keyboard and touch highlighting. */
@media(max-width:767px){
 .pink-search-mobile-dialog .pink-search-item{background:transparent;color:#111!important}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-item:is(:hover,:focus-visible,:active){background:var(--pink-search-active-accent,#000)!important;color:var(--pink-search-active-text,#fff)!important}
 .pink-search-mobile-dialog .pink-posts-search .pink-search-item:is(:hover,:focus-visible,:active) .pink-search-copy strong,
 .pink-search-mobile-dialog .pink-posts-search .pink-search-item:is(:hover,:focus-visible,:active) .pink-search-copy small{color:var(--pink-search-active-text,#fff)!important;opacity:1!important}
}

/* 0.22.64 – mobile menu panel fits its content; long menus can scroll. */
html.pink-menu-dialog-open{overflow:hidden!important}
@media(max-width:767px){
 .pink-header-menu-dialog{position:fixed;inset:0;z-index:2147483640;isolation:isolate;box-sizing:border-box;padding:calc(62px + env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));display:flex;flex-direction:column;background:rgba(0,0,0,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .pink-header-menu-dialog .is-pink-menu-dialog-content{display:flex!important;flex-direction:column;flex:0 1 auto;width:100%!important;min-height:0;max-height:100%;max-width:100%!important;transform:none!important;margin:0!important}
 .pink-header-menu-dialog .pink-header-menu-button{display:none!important}
 .pink-header-menu-dialog .pink-header-menu-panel{position:relative!important;inset:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:100%!important;min-height:0;flex:0 1 auto;background:var(--pink-menu-panel_bg,#fff);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#fff rgba(255,255,255,.15);border:0;box-shadow:none}
 .pink-header-menu-dialog .pink-header-menu-item{color:var(--pink-menu-item_text_color,#333);font-family:var(--e-global-typography-text-font-family,inherit)}
 .pink-header-menu-dialog .pink-header-menu-item-copy strong,.pink-header-menu-dialog .pink-header-menu-item-copy small{white-space:normal;overflow-wrap:anywhere;color:var(--pink-menu-item_text_color,#333)}
 .pink-header-menu-dialog .pink-header-menu-item:is(:hover,:focus-visible){background:var(--pink-menu-hover_bg,#d9f2ff)}
 .pink-header-menu-dialog .pink-header-menu-item:is(:hover,:focus-visible) .pink-header-menu-item-copy strong,.pink-header-menu-dialog .pink-header-menu-item:is(:hover,:focus-visible) .pink-header-menu-item-copy small,.pink-header-menu-dialog .pink-header-menu-item:is(:hover,:focus-visible) .pink-header-menu-item-icon{color:var(--pink-menu-item_hover_text_color,#111)!important}
 .pink-header-menu-dialog .pink-menu-dialog-close[type="button"]{position:absolute;top:calc(8px + env(safe-area-inset-top));right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;padding:0;background:transparent;color:#fff;font:32px/1 sans-serif;cursor:pointer}
 .pink-header-menu-dialog .pink-header-menu-panel::-webkit-scrollbar{width:4px}
 .pink-header-menu-dialog .pink-header-menu-panel::-webkit-scrollbar-thumb{background:#fff;border-radius:4px}
}

/* Safari's detected telephone links inherit the surrounding contact text. */
.elementor-location-footer a[x-apple-data-detectors],
.faac-footer a[x-apple-data-detectors],
.elementor-location-footer a[href^="tel:"],
.faac-footer a[href^="tel:"]{
 color:inherit!important;-webkit-text-fill-color:currentColor!important;
 font:inherit!important;text-decoration:inherit!important;
}

/* 0.22.63: independent menu widget instances; Elementor controls root variables.
   A saved/generated stylesheet is optional for a usable default button. */
.pink-header-menu-tool .pink-header-menu-button[type="button"]{
 width:var(--pink-menu-size,44px);height:var(--pink-menu-size,44px);
 min-width:0;min-height:0;flex-shrink:0;padding:0;
 color:var(--pink-menu-color,#111);background:var(--pink-menu-bg,#fff);
 border:1px solid var(--pink-menu-border,#d7dce1);border-radius:var(--pink-menu-radius,22px);
}
.pink-header-menu-button :is(svg,i){display:block;width:var(--pink-menu-icon-size,17px);height:var(--pink-menu-icon-size,17px);font-size:var(--pink-menu-icon-size,17px);flex-shrink:0;color:inherit;fill:currentColor}
.pink-header-menu-tool .pink-header-menu-panel{max-width:min(92vw,var(--pink-menu-panel-width,640px));background:var(--pink-menu-panel_bg,#fff)}
.pink-header-menu-tool .pink-header-menu-item-copy :is(strong,small),
.pink-header-menu-tool .pink-header-menu-item-icon{color:var(--pink-menu-item_text_color,#333)}
.pink-header-menu-tool .pink-header-menu-item:is(:hover,:focus-visible){background:var(--pink-menu-hover_bg,#d9f2ff)}
.pink-header-menu-tool .pink-header-menu-item:is(:hover,:focus-visible) :is(strong,small,.pink-header-menu-item-icon){color:var(--pink-menu-item_hover_text_color,#111)!important}
@media(min-width:768px){body.faac-header-scrolled .pink-header-menu-tool .pink-header-menu-button[type="button"]{width:var(--pink-menu-sticky-size,36px);height:var(--pink-menu-sticky-size,36px)}}

/* Menu selection uses the configured colour highlight on every device.
   Remove native focus rings; keyboard focus keeps the visible colour highlight. */
.pink-header-menu-tool .pink-header-menu-item:is(:focus,:focus-visible,:active){outline:0!important;box-shadow:none!important;border:0!important}

/* 0.22.65: no theme zebra/hover colouring in product HTML tables.
   Preserve explicitly authored cell/row fills and table headings. */
body :is(.pink-posts-html-field,.pink-table-scroll,.pink-posts-installation-legend) table tbody :is(tr,td,th):not([bgcolor]):not([style*="background" i]){
 background-color:transparent!important;background-image:none!important;
}

/* 0.22.68 – automatic category/product decoration is desktop only.
   Product photographs, category colours and other page backgrounds stay intact. */
@media(max-width:767px){
  :root{--pink-auto-product-bg-image:none!important;}
  body.pink-has-auto-product-bg{
    --pink-auto-product-bg-enabled:0;
    background-image:none!important;
  }
  .pink-product-background-portal{display:none!important;}
  .pink-product-background{background-image:none!important;}
  .pink-product-background::before{background-image:none!important;}
}
