/* Nur1Blog Artikel-Bridge v1.9.3 - CSS-only Effekt-Baukasten */

/*
 * Frontend-Paritaet:
 * Dieselben Effekte muessen im Visual Editor, in der Editor-Vorschau,
 * in "Echte Seite · Frontend" und nach dem Publishing identisch greifen.
 * Deshalb unterstuetzen die Selektoren Gutenberg-, Bridge- und Legacy-Strukturen.
 */

/* Bild-Hover */
.n1b-fx-image_hover figure.wp-block-image,
.n1b-fx-image_hover figure.n1b-article-image,
.n1b-fx-image_hover figure.n1b-image-card,
.n1b-fx-image_hover figure[class*="n1b-img-"]{overflow:hidden!important;border-radius:16px}
.n1b-fx-image_hover figure.wp-block-image img,
.n1b-fx-image_hover figure.n1b-article-image img,
.n1b-fx-image_hover figure.n1b-image-card img,
.n1b-fx-image_hover figure[class*="n1b-img-"] img,
body.n1b-fx-image_hover .entry-content img[class*="wp-image-"],
body.n1b-fx-image_hover .wp-block-post-content img[class*="wp-image-"]{display:block;transition:transform .42s cubic-bezier(.2,.7,.2,1)!important;transform-origin:center center;will-change:transform}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  .n1b-fx-image_hover figure.wp-block-image:hover img,
  .n1b-fx-image_hover figure.n1b-article-image:hover img,
  .n1b-fx-image_hover figure.n1b-image-card:hover img,
  .n1b-fx-image_hover figure[class*="n1b-img-"]:hover img,
  body.n1b-fx-image_hover .entry-content img[class*="wp-image-"]:hover,
  body.n1b-fx-image_hover .wp-block-post-content img[class*="wp-image-"]:hover{transform:scale(1.025)!important}
}

/* Step-Timeline - Legacy .n1b-step + Master-Design .n1b-comp-step */
body.n1b-fx-timeline .n1b-step,body.n1b-fx-timeline .n1b-comp-step,.n1b-fx-timeline .n1b-step,.n1b-fx-timeline .n1b-comp-step{position:relative;margin-left:30px}
body.n1b-fx-timeline .n1b-step:before,body.n1b-fx-timeline .n1b-comp-step:before,.n1b-fx-timeline .n1b-step:before,.n1b-fx-timeline .n1b-comp-step:before{content:"";position:absolute;left:-21px;top:-42px;bottom:-42px;width:2px;background:color-mix(in srgb,var(--n1b-component-color,var(--n1b-engine-accent,var(--n1b-accent,#b65f3d))) 30%,transparent);border-radius:99px}
body.n1b-fx-timeline .n1b-step:after,body.n1b-fx-timeline .n1b-comp-step:after,.n1b-fx-timeline .n1b-step:after,.n1b-fx-timeline .n1b-comp-step:after{content:"";position:absolute;left:-26px;top:31px;width:12px;height:12px;border-radius:50%;background:var(--n1b-component-color,var(--n1b-engine-accent,var(--n1b-accent,#b65f3d)));box-shadow:0 0 0 5px color-mix(in srgb,var(--n1b-component-color,var(--n1b-engine-accent,var(--n1b-accent,#b65f3d))) 12%,white)}
@media(max-width:700px){body.n1b-fx-timeline .n1b-step,body.n1b-fx-timeline .n1b-comp-step,.n1b-fx-timeline .n1b-step,.n1b-fx-timeline .n1b-comp-step{margin-left:20px}body.n1b-fx-timeline .n1b-step:before,body.n1b-fx-timeline .n1b-comp-step:before,.n1b-fx-timeline .n1b-step:before,.n1b-fx-timeline .n1b-comp-step:before{left:-14px}body.n1b-fx-timeline .n1b-step:after,body.n1b-fx-timeline .n1b-comp-step:after,.n1b-fx-timeline .n1b-step:after,.n1b-fx-timeline .n1b-comp-step:after{left:-19px}}

/* Card-Lift: Master-Komponenten + alte N1B-Karten */
.n1b-fx-card_lift .n1b-component,
.n1b-fx-card_lift .n1b-step,
.n1b-fx-card_lift .n1b-tip,
.n1b-fx-card_lift .n1b-wtf,
.n1b-fx-card_lift .n1b-overview,
.n1b-fx-card_lift .n1b-readmore,
.n1b-fx-card_lift .n1b-fazit,
.n1b-fx-card_lift .n1b-challenge{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  .n1b-fx-card_lift .n1b-component:hover,
  .n1b-fx-card_lift .n1b-step:hover,
  .n1b-fx-card_lift .n1b-tip:hover,
  .n1b-fx-card_lift .n1b-wtf:hover,
  .n1b-fx-card_lift .n1b-overview:hover,
  .n1b-fx-card_lift .n1b-readmore:hover,
  .n1b-fx-card_lift .n1b-fazit:hover,
  .n1b-fx-card_lift .n1b-challenge:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(46,55,50,.10)!important}
}

/* Moderne Links */
.n1b-fx-link_motion a:not(.wp-block-button__link):not(.n1b-back-to-top-link){text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .22s ease,color .18s ease}
.n1b-fx-link_motion a:not(.wp-block-button__link):not(.n1b-back-to-top-link):hover{background-size:100% 1px}

/* FAQ - Master + Legacy */
.n1b-fx-faq_polish .n1b-comp-faq details,.n1b-fx-faq_polish .n1b-faq details{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}
.n1b-fx-faq_polish .n1b-comp-faq summary,.n1b-fx-faq_polish .n1b-faq summary{position:relative;padding-right:48px!important;list-style:none;transition:background .18s ease,color .18s ease}
.n1b-fx-faq_polish .n1b-comp-faq summary::-webkit-details-marker,.n1b-fx-faq_polish .n1b-faq summary::-webkit-details-marker{display:none}
.n1b-fx-faq_polish .n1b-comp-faq summary:after,.n1b-fx-faq_polish .n1b-faq summary:after{content:"⌄";position:absolute;right:18px;top:50%;transform:translateY(-54%);font-size:20px;line-height:1;color:var(--n1b-component-color,var(--n1b-engine-accent,var(--n1b-accent,#b65f3d)));transition:transform .2s ease}
.n1b-fx-faq_polish .n1b-comp-faq details[open] summary:after,.n1b-fx-faq_polish .n1b-faq details[open] summary:after{transform:translateY(-45%) rotate(180deg)}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  .n1b-fx-faq_polish .n1b-comp-faq details:hover,.n1b-fx-faq_polish .n1b-faq details:hover{border-color:color-mix(in srgb,var(--n1b-component-color,var(--n1b-engine-accent,#b65f3d)) 34%,var(--n1b-engine-border,#ddd));box-shadow:0 7px 18px rgba(42,38,34,.055)}
  .n1b-fx-faq_polish .n1b-comp-faq details:not([open]):hover summary,.n1b-fx-faq_polish .n1b-faq details:not([open]):hover summary{background:color-mix(in srgb,var(--n1b-component-soft,var(--n1b-engine-soft,#f5efe8)) 42%,#fff)}
}

/* Bilder */
.n1b-fx-image_polish figure.wp-block-image,
.n1b-fx-image_polish figure.n1b-article-image,
.n1b-fx-image_polish figure.n1b-image-card,
.n1b-fx-image_polish figure[class*="n1b-img-"]{padding:5px;border:1px solid rgba(0,0,0,.07);border-radius:20px!important;background:#fff;box-shadow:0 10px 28px rgba(42,38,34,.09)}
.n1b-fx-image_polish figure.wp-block-image img,
.n1b-fx-image_polish figure.n1b-article-image img,
.n1b-fx-image_polish figure.n1b-image-card img,
.n1b-fx-image_polish figure[class*="n1b-img-"] img{border-radius:15px!important}

/* Tabellen */
.n1b-fx-table_polish figure.wp-block-table,.n1b-fx-table_polish .wp-block-table{box-shadow:0 10px 26px rgba(42,38,34,.055)}
.n1b-fx-table_polish figure.wp-block-table tbody tr,.n1b-fx-table_polish .wp-block-table tbody tr{transition:background .18s ease}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  .n1b-fx-table_polish figure.wp-block-table tbody tr:hover td,.n1b-fx-table_polish .wp-block-table tbody tr:hover td{background:color-mix(in srgb,var(--n1b-engine-soft,#f5efe8) 38%,#fff)!important}
}

/* Zitate */
.n1b-fx-quote_polish blockquote{margin:1.8em 0;padding:18px 22px;border:0;border-left:4px solid var(--n1b-engine-accent,var(--n1b-accent,#b65f3d));border-radius:0 16px 16px 0;background:color-mix(in srgb,var(--n1b-engine-soft,#f5efe8) 55%,#fff);font-size:1.06em}
.n1b-fx-quote_polish blockquote p:last-of-type{margin-bottom:.45em}
.n1b-fx-quote_polish blockquote cite{font-size:.82em;opacity:.72}

/* Listen - nicht nur direkte Kinder, damit die echte Frontend-Vorschau denselben Scope wie der Editor hat */
.n1b-fx-list_polish ul.wp-block-list,.n1b-fx-list_polish ol.wp-block-list{padding-left:1.45em}
.n1b-fx-list_polish li::marker{color:var(--n1b-engine-accent,var(--n1b-accent,#b65f3d));font-weight:800}

/* Überschriften */
.n1b-fx-heading_polish h2{text-wrap:balance;scroll-margin-top:24px}
.n1b-fx-heading_polish h3{text-wrap:balance}

/* Buttons */
.n1b-fx-button_polish .wp-block-button__link,.n1b-fx-button_polish .n1b-comp-cta>a,.n1b-fx-button_polish .n1b-comp-freebie>a,.n1b-fx-button_polish .n1b-comp-freebie .n1b-freebie-download,.n1b-fx-button_polish .n1b-comp-freebie a[download]{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){
  .n1b-fx-button_polish .wp-block-button__link:hover,.n1b-fx-button_polish .n1b-comp-cta>a:hover,.n1b-fx-button_polish .n1b-comp-freebie>a:hover,.n1b-fx-button_polish .n1b-comp-freebie .n1b-freebie-download:hover,.n1b-fx-button_polish .n1b-comp-freebie a[download]:hover{transform:translateY(-1px)!important;box-shadow:0 8px 18px rgba(39,55,70,.13)!important;filter:brightness(.98)}
}

/* Trenner */
.n1b-fx-soft_dividers hr{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--n1b-engine-border,rgba(0,0,0,.13)),transparent)}

@media(prefers-reduced-motion:reduce){
  .n1b-fx-image_hover figure img,
  .n1b-fx-card_lift .n1b-component,
  .n1b-fx-card_lift .n1b-step,
  .n1b-fx-card_lift .n1b-tip,
  .n1b-fx-card_lift .n1b-wtf,
  .n1b-fx-card_lift .n1b-overview,
  .n1b-fx-card_lift .n1b-readmore,
  .n1b-fx-card_lift .n1b-fazit,
  .n1b-fx-card_lift .n1b-challenge,
  .n1b-fx-link_motion a,
  .n1b-fx-button_polish a{transition:none!important;transform:none!important}
}

/* Nach oben: bewusst ohne JavaScript, als ruhige Footer-Pille */
.n1b-article-top-anchor{position:relative;top:-12px;display:block;height:0;overflow:hidden}
.n1b-back-to-top-wrap{display:flex;justify-content:flex-end;margin:2.2em 0 .5em}
.n1b-back-to-top-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--n1b-engine-accent,var(--n1b-accent,#b65f3d)) 28%,#ddd);border-radius:999px;background:color-mix(in srgb,var(--n1b-engine-soft,#f7f1eb) 72%,#fff);color:var(--n1b-engine-accent,var(--n1b-accent,#b65f3d))!important;text-decoration:none!important;font-size:.86em;font-weight:800;line-height:1;box-shadow:0 6px 16px rgba(42,38,34,.06);transition:transform .18s ease,filter .18s ease}
.n1b-back-to-top-link>span{display:grid;place-items:center;width:20px;height:20px;font-size:17px;line-height:20px;transform:translateY(-1px)}
@media (hover:hover) and (pointer:fine), (any-hover:hover) and (any-pointer:fine){.n1b-back-to-top-link:hover{filter:brightness(.985);transform:translateY(-1px)}}
