/* Opt-in editorial links between one book block and six reading cards. */
@media (min-width:0px) {
  body.fatidica-ui .fat-dream-connections {
    position:relative;
    isolation:isolate;
  }

  body.fatidica-ui .fat-dream-connections > :not(.fat-dream-connection-layer) {
    position:relative;
    z-index:1;
  }

  body.fatidica-ui .fat-dream-connection-layer {
    position:absolute;
    inset:0;
    z-index:2;
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
    pointer-events:none;
  }

  body.fatidica-ui .fat-dream-connections :is(.fat-glass-flip-stage,.fat-glass-flip-card,.fat-media-reveal) {
    position:relative;
    z-index:3;
  }

  body.fatidica-ui .fat-dream-connections .fat-media-reveal {
    z-index:1;
  }

  body.fatidica-ui .fat-dream-connections .wp-block-cover.fat-glass-flip-card,
  body.fatidica-ui .fat-dream-connections .fat-glass-flip-stage {
    aspect-ratio:1 / 1;
    min-height:0 !important;
  }

  body.fatidica-ui .fat-dream-connections .fat-glass-flip-stage > .wp-block-cover.fat-glass-flip-card {
    width:100%;
    height:100% !important;
    min-height:0 !important;
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(360px,.9fr);
    align-items:center;
    width:min(100%,1440px);
    margin:0 auto !important;
    gap:clamp(28px,5vw,96px);
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections > .wp-block-column {
    min-width:0;
    width:auto !important;
    flex-basis:auto !important;
    margin:0 !important;
  }

  /* Prepared card artwork already contains its own blur and frame. */
  body.fatidica-ui .fat-dream-connections .wp-block-cover.fat-glass-cover {
    --fat-cover-content-inset:0px;
    --fat-flip-content-inset:0px;
    padding:0;
    border:0;
    box-shadow:none;
  }

  body.fatidica-ui .fat-dream-connections .wp-block-cover.fat-glass-cover::before,
  body.fatidica-ui .fat-dream-connections .wp-block-cover.fat-glass-cover::after {
    content:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections > .wp-block-column:not(:has(.fat-media-reveal)) > .wp-block-columns {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
    width:100%;
    margin:0 !important;
    gap:clamp(16px,2vw,28px);
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections > .wp-block-column:not(:has(.fat-media-reveal)) > .wp-block-columns > .wp-block-column {
    min-width:0;
    width:auto !important;
    flex-basis:auto !important;
    margin:0 !important;
  }

  /* Four direct card columns, two cards in each column. */
  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:nth-child(4)):not(:has(> .wp-block-column:has(.fat-media-reveal))) {
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:start;
  }

  /* Explicit marker for the Gutenberg structure: four direct columns, two cards per column. */
  body.fatidica-ui .wp-block-columns.fat-dream-connections.fat-dream-grid-4 {
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:start;
  }

  /* Three direct card columns plus a fourth media column. */
  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(360px,.95fr);
    align-items:start;
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) > .wp-block-column:has(.fat-media-reveal) {
    grid-column:4;
    grid-row:1;
    align-self:center;
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:nth-child(4)) > .wp-block-column:not(:has(.fat-media-reveal)) {
    display:grid;
    align-content:start;
    gap:clamp(16px,2vw,28px);
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections.fat-dream-grid-4 > .wp-block-column {
    display:grid;
    align-content:start;
    gap:clamp(16px,2vw,28px);
  }

  body.fatidica-ui .fat-dream-connection-path {
    fill:none;
    stroke:#8d755c;
    stroke-width:1.15;
    stroke-linecap:round;
    opacity:.34;
    filter:drop-shadow(0 0 2px rgb(196 169 128 / .18));
    transition:stroke .35s ease,stroke-width .35s ease,opacity .35s ease,filter .35s ease;
  }

  body.fatidica-ui .fat-dream-connection-symbol {
    fill:#b49a74;
    font-family:Georgia,serif;
    font-size:12px;
    opacity:.58;
    text-anchor:middle;
    dominant-baseline:central;
    filter:drop-shadow(0 0 2px rgb(196 169 128 / .28));
    transition:opacity .35s ease,fill .35s ease;
  }

  body.fatidica-ui .fat-dream-connection-origin {
    fill:#d1b987;
    opacity:.82;
    filter:drop-shadow(0 0 4px rgb(209 185 135 / .72));
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active] .fat-dream-connection-path {
    opacity:.13;
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active] .fat-dream-connection-symbol {
    opacity:.2;
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active] .fat-dream-connection-origin {
    opacity:.3;
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-path,
  body.fatidica-ui .fat-dream-connection-layer[data-active="0"] .fat-dream-connection-path[data-connection="0"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="1"] .fat-dream-connection-path[data-connection="1"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="2"] .fat-dream-connection-path[data-connection="2"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="3"] .fat-dream-connection-path[data-connection="3"] {
    stroke:#b49a74;
    stroke-width:1.55;
    opacity:.78;
    filter:drop-shadow(0 0 4px rgb(196 169 128 / .35));
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-symbol,
  body.fatidica-ui .fat-dream-connection-layer[data-active="0"] .fat-dream-connection-symbol[data-connection="0"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="1"] .fat-dream-connection-symbol[data-connection="1"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="2"] .fat-dream-connection-symbol[data-connection="2"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="3"] .fat-dream-connection-symbol[data-connection="3"] {
    fill:#d1b987;
    opacity:.9;
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-origin {
    opacity:1;
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-path[data-connection="4"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-path[data-connection="5"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="4"] .fat-dream-connection-path[data-connection="4"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="5"] .fat-dream-connection-path[data-connection="5"] {
    stroke:#b49a74;
    stroke-width:1.55;
    opacity:.78;
    filter:drop-shadow(0 0 4px rgb(196 169 128 / .35));
  }

  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-symbol[data-connection="4"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="all"] .fat-dream-connection-symbol[data-connection="5"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="4"] .fat-dream-connection-symbol[data-connection="4"],
  body.fatidica-ui .fat-dream-connection-layer[data-active="5"] .fat-dream-connection-symbol[data-connection="5"] {
    fill:#d1b987;
    opacity:.9;
  }
}

/* Reduce the four-column card grid before individual cards become too narrow. */
@media (max-width:1279px) {
  body.fatidica-ui .wp-block-columns.fat-dream-connections {
    grid-template-columns:minmax(0,1fr);
    gap:clamp(28px,5vw,56px);
  }

  body.fatidica-ui .fat-dream-connection-layer { display:none !important; }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:nth-child(4)):not(:has(> .wp-block-column:has(.fat-media-reveal))) {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections.fat-dream-grid-4 {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) > .wp-block-column:has(.fat-media-reveal) {
    grid-column:1 / -1;
    grid-row:auto;
    justify-self:center;
    width:min(100%,620px) !important;
  }
}

@media (max-width:1024px) {
  body.fatidica-ui .wp-block-columns.fat-dream-connections > .wp-block-column:not(:has(.fat-media-reveal)) > .wp-block-columns {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:nth-child(4)):not(:has(> .wp-block-column:has(.fat-media-reveal))),
  body.fatidica-ui .wp-block-columns.fat-dream-connections.fat-dream-grid-4,
  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:782px) {
  body.fatidica-ui .wp-block-columns.fat-dream-connections > .wp-block-column:not(:has(.fat-media-reveal)) > .wp-block-columns {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }

  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:nth-child(4)):not(:has(> .wp-block-column:has(.fat-media-reveal))),
  body.fatidica-ui .wp-block-columns.fat-dream-connections.fat-dream-grid-4,
  body.fatidica-ui .wp-block-columns.fat-dream-connections:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:minmax(0,1fr);
  }

  body.fatidica-ui .fat-dream-connections .wp-block-cover.fat-glass-flip-card,
  body.fatidica-ui .fat-dream-connections .fat-glass-flip-stage {
    aspect-ratio:auto;
    min-height:clamp(300px,96vw,420px) !important;
  }

  body.fatidica-ui .fat-dream-connections .fat-glass-flip-stage > .wp-block-cover.fat-glass-flip-card {
    height:auto !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  body.fatidica-ui .fat-dream-connection-symbol { display:none; }
}
/* Phone-width or touch screens: the drawing stays, nothing travels along the threads. */
@media (max-width:782px),(hover:none),(pointer:coarse) {
  body.fatidica-ui .fat-dream-connection-symbol { display:none; }
}

/*
 * Gutenberg may place fat-dream-connections on the outer Cover rather than on
 * its Columns block. Support that real tree directly:
 * Cover.fat-dream-connections > inner container > Columns > four Columns.
 */
@media (min-width:0px) {
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:start;
    width:min(100%,1440px);
    margin:0 auto !important;
    gap:clamp(16px,2vw,28px);
  }

  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns > .wp-block-column {
    display:grid;
    align-content:start;
    min-width:0;
    width:auto !important;
    flex-basis:auto !important;
    margin:0 !important;
    gap:clamp(16px,2vw,28px);
  }

  /* The second page type has three card columns and one prepared media column. */
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(360px,.95fr);
  }

  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns > .wp-block-column:has(.fat-media-reveal) {
    grid-column:4;
    grid-row:1;
    align-self:center;
  }
}

@media (max-width:1279px) {
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns,
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns > .wp-block-column:has(.fat-media-reveal) {
    grid-column:1 / -1;
    grid-row:auto;
    justify-self:center;
    width:min(100%,620px) !important;
  }
}

@media (max-width:1024px) {
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns,
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:782px) {
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns,
  body.fatidica-ui .fat-dream-connections:not(.wp-block-columns) > .wp-block-cover__inner-container > .wp-block-columns:has(> .wp-block-column:has(.fat-media-reveal)) {
    grid-template-columns:minmax(0,1fr);
  }
}
