.ix-book-cover{display:block;width:100%;max-width:360px;height:auto;aspect-ratio:2/3;object-fit:cover;background:#24243e;border-radius:2px}
/* Public Atlas: each card has an independent hover group; only its book moves. */
.ix-atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
.ix-atlas-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;min-width:0}
.ix-atlas-book{display:block;box-sizing:border-box;min-width:0;padding:16px 30px 28px 12px}
.ix-atlas-copy{min-width:0;overflow-wrap:anywhere}
.ix-atlas-gallery .ix-atlas-copy h3{font-family:inherit;font-size:clamp(17px,1.7vw,24px);font-weight:700;line-height:1.25;margin:0 0 14px}
.ix-atlas-member{display:inline-grid;gap:4px;font-size:14px;line-height:1.4}
.ix-atlas-username{font-size:12px}
.ix-atlas-status{font-size:14px;min-height:1.5em;margin:24px 0 12px}
.ix-atlas-gallery .ix-atlas-more{background:#282b34;color:#fff;border:0;padding:12px 20px;font-family:inherit;font-weight:700;cursor:pointer}
.ix-atlas-more:disabled{opacity:.6;cursor:wait}
.ix-atlas-more:focus-visible{outline:3px solid #36a9e1;outline-offset:4px}
.ix-atlas-more[hidden]{display:none!important}
@media(max-width:600px){.ix-atlas-grid{gap:28px 14px}.ix-atlas-card{grid-template-columns:minmax(0,1fr);align-content:start;gap:4px}.ix-atlas-book{padding:12px 24px 28px 8px}.ix-atlas-gallery .ix-atlas-copy h3{font-size:16px;margin-bottom:8px}.ix-atlas-copy{padding:0 8px}.ix-atlas-member{font-size:13px}}
.ix-book-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,360px);gap:32px;align-items:start}.ix-book-form{display:grid;gap:16px}.ix-book-form label{display:block}.ix-book-form input[type=text],.ix-book-form select{width:100%}.ix-book-form input[type=color]{vertical-align:middle}.ix-book-palette{display:flex;flex-wrap:wrap;gap:10px;border:1px solid #8885;padding:16px;border-radius:8px;min-width:0}.ix-book-palette legend{font-weight:600;padding:0 6px}.ix-book-palette .ix-book-swatch{display:inline-block;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;margin:0;border-radius:50%;border:1px solid #888;background:var(--swatch);box-shadow:none;cursor:pointer}.ix-book-palette .ix-book-swatch[aria-pressed=true]{outline:3px solid #346fbc;outline-offset:3px}.ix-book-palette .ix-book-swatch:focus-visible{outline:3px solid #346fbc;outline-offset:3px}.ix-book-custom-color{flex-basis:100%;font-size:14px;margin-top:8px}.ix-book-actions{display:flex;flex-wrap:wrap;gap:12px}.ix-book-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,300px));gap:30px}.ix-book-gallery h2{font-size:16px}.ix-book-status{min-height:1.5em}.ix-book-status.is-error{color:#b32d2e}@media(max-width:650px){.ix-book-editor{grid-template-columns:1fr}.ix-book-preview{max-width:300px;margin:auto;width:100%}}

/* Reusable HTML/CSS book effect. Only the image wrapper moves; card copy stays put. */
.cover-hover-group,
.cover-hover-group :has(> .cover-3d) {
    --cover-perspective: 1000px;
    perspective: var(--cover-perspective);
    overflow: visible;
}
.ix-book-cover-group,
.ix-book-card {
    box-sizing: border-box;
    min-width: 0;
    padding: 24px 48px 40px 16px;
    overflow: visible;
}
.ix-book-cover-group { width: 100%; max-width: 424px; }
.ix-book-card h2 { margin: 0 0 28px; }
.cover-3d {
    --cover-edge-width: 40%;
    --cover-rest-angle: -10deg;
    --cover-group-angle: -20deg;
    --cover-direct-angle: -15deg;
    --cover-lift: 50px;
    position: relative;
    display: block;
    width: 100%;
    max-width: 360px;
    overflow: visible;
    transform-style: preserve-3d;
    transform: rotateY(var(--cover-rest-angle)) translateZ(var(--cover-lift));
    transform-origin: center center;
}
.cover-3d > img,
.cover-3d > canvas {
    display: block;
    width: 100%;
    height: auto;
    backface-visibility: hidden;
}
.cover-3d::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: var(--cover-edge-width);
    background: repeating-linear-gradient(to right, #faf9f4 0 2px, #dedbd2 2px 3px, #fffef9 3px 5px);
    border-right: 2px solid #d5d1c6;
    box-sizing: border-box;
    transform-origin: left top;
    transform: rotateY(90deg);
    pointer-events: none;
}
/* Opt in to a thinner edge for ordinary image cards. */
.cover-3d--thin { --cover-edge-width: 10%; }
.cover-3d::after {
    content: "";
    position: absolute;
    top: 14px;
    bottom: -18px;
    left: 6%;
    right: -12%;
    background: rgb(0 0 0 / 25%);
    border-radius: 8px;
    filter: blur(14px);
    transform: translateZ(-35px);
    pointer-events: none;
}
.cover-3d__gloss {
    position: absolute;
    inset: 0;
    overflow: hidden;
    opacity: .17;
    pointer-events: none;
    transform: translateZ(1px);
    border-radius: 2px;
}
.cover-3d__gloss::before {
    content: "";
    position: absolute;
    inset: -100%;
    background: linear-gradient(135deg, transparent 40%, #fff 48%, #fff 52%, transparent 60%);
    transform: translate(-25%, -25%);
}
@media (prefers-reduced-motion: no-preference) {
    @media (hover: hover) and (pointer: fine) {
        .cover-3d { transition: transform 500ms ease; }
        .cover-3d::after { transition: right 500ms ease; }
        .cover-3d__gloss::before { transition: transform 1s ease; }
        .cover-hover-group:hover .cover-3d { transform: rotateY(var(--cover-group-angle)) translateZ(var(--cover-lift)); }
        .cover-hover-group:hover .cover-3d::after { right: -24%; }
        .cover-hover-group:hover .cover-3d__gloss::before { transform: translate(25%, 25%); }
        /* Direct hover follows group hover and wins at equal specificity. */
        .cover-hover-group .cover-3d:hover { transform: rotateY(var(--cover-direct-angle)) translateZ(var(--cover-lift)); }
        .cover-hover-group .cover-3d:hover .cover-3d__gloss::before { transform: translate(0, 0); }
    }
    .cover-hover-group:has(a:focus-visible) .cover-3d,
    .cover-3d:has(a:focus-visible),
    a:focus-visible > .cover-3d,
    a.cover-3d:focus-visible { transform: rotateY(var(--cover-direct-angle)) translateZ(var(--cover-lift)); transition: transform 500ms ease; }
    .cover-hover-group:has(a:focus-visible) .cover-3d::after { right: -24%; }
    .cover-hover-group:has(a:focus-visible) .cover-3d__gloss::before { transform: translate(0, 0); }
}
/* Existing links keep their semantics and a visible focus ring. No extra tab stops. */
.cover-hover-group a:focus-visible { outline: 3px solid #346fbc; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
    .cover-3d,
    .cover-3d::after,
    .cover-3d__gloss::before { transition: none; }
}

/* Elementor image widgets can provide the gloss without replacing their dynamic image. */
.cover-3d > .elementor-widget-container { position: relative; }
.cover-3d > .elementor-widget-container:not(:has(.cover-3d__gloss))::after {
    content: "";
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: .17;
    transform: translateZ(1px);
    background: linear-gradient(135deg, transparent 40%, #fff 48%, #fff 52%, transparent 60%);
    background-size: 300% 300%;
    background-position: 0% 0%;
}
@media (prefers-reduced-motion: no-preference) {
    @media (hover: hover) and (pointer: fine) {
        .cover-3d > .elementor-widget-container::after { transition: background-position 1s ease; }
        .cover-hover-group:hover .cover-3d > .elementor-widget-container::after { background-position: 100% 100%; }
        .cover-hover-group .cover-3d:hover > .elementor-widget-container::after { background-position: 50% 50%; }
    }
    .cover-hover-group:has(a:focus-visible) .cover-3d > .elementor-widget-container::after { background-position: 50% 50%; }
}

/* Keep panel visibility and swatch fills reliable under Elementor/theme button rules. */
.ix-book-generator [hidden]{display:none!important}
.ix-book-panel-buttons{display:flex;flex-wrap:wrap;gap:10px}
.ix-book-panel-buttons button[aria-pressed="true"]{box-shadow:inset 0 -3px 0 currentColor}
.ix-book-panel-buttons button[aria-expanded="true"]{outline:2px solid #346fbc;outline-offset:2px}
.ix-book-panel{display:grid;gap:16px;padding:18px;border:1px solid #8885;border-radius:8px;min-width:0}
.ix-book-form input[type=range]{display:block;width:100%;margin:10px 0}
.ix-book-generator .ix-book-form .ix-book-palette button.ix-book-swatch,
.ix-book-generator .ix-book-form .ix-book-palette button.ix-book-swatch:hover,
.ix-book-generator .ix-book-form .ix-book-palette button.ix-book-swatch:focus{
    background:var(--swatch)!important;background-color:var(--swatch)!important;background-image:none!important;
    opacity:1!important;color:transparent!important;width:34px;min-width:34px;height:34px;min-height:34px;padding:0!important;
}
.ix-book-generator .ix-book-swatch::before,.ix-book-generator .ix-book-swatch::after{content:none!important}

/* IMMERSIVE X CI: cyan fields, red accents, angular cards and dark offset shadows. */
.ix-book-generator{--ix-ui-ink:#282b34;--ix-ui-muted:#515864;--ix-ui-line:#cdd3d8;--ix-ui-accent:#e73641;--ix-ui-cyan:#36a9e1;color:var(--ix-ui-ink);font-family:"Source Sans Pro","Source Sans 3",Arial,sans-serif;max-width:1120px;margin:24px auto;padding:26px;background:var(--ix-ui-cyan);border-left:5px solid var(--ix-ui-accent)}
.ix-book-generator *{box-sizing:border-box}
.ix-book-intro{margin-bottom:26px}
.ix-book-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:8px}
.ix-book-intro h2{font-family:inherit;font-size:clamp(25px,3vw,34px);font-weight:800;line-height:1.1;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 12px;color:#fff;text-shadow:2px 2px 0 #282b3455}
.ix-book-intro p{color:#fff;font-size:15px;line-height:1.6;margin:0}
.ix-book-intro p+p{margin-top:10px}
.ix-book-generator .ix-book-editor{grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);gap:30px;align-items:start}
.ix-book-generator .ix-book-form{gap:20px;min-width:0}
.ix-book-generator .ix-book-panel-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ix-book-source-label{grid-column:1/-1;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;margin:10px 0 0}
.ix-book-generator .ix-book-section-title{grid-column:1/-1;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;margin:0}
.ix-book-inspiration{background:#f7fafc;border:1px solid #dde4e9;color:var(--ix-ui-ink);min-width:0}
.ix-book-inspiration summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;cursor:pointer;list-style:none}
.ix-book-inspiration summary::-webkit-details-marker{display:none}
.ix-book-inspiration summary:focus-visible{outline:2px solid var(--ix-ui-accent);outline-offset:3px}
.ix-book-inspiration-title{display:block;font-size:13px;font-weight:800;text-transform:uppercase;line-height:1.4}
.ix-book-inspiration-description{display:block;font-size:12px;line-height:1.5;color:var(--ix-ui-muted);margin-top:3px}
.ix-book-inspiration-chevron{font-size:24px;line-height:1;flex:none}
.ix-book-inspiration[open] .ix-book-inspiration-chevron{transform:rotate(180deg)}
.ix-book-inspiration-content{padding:0 17px 17px}
.ix-book-inspiration-content ol{margin:0;padding-left:21px}
.ix-book-inspiration-content li+li{margin-top:16px}
.ix-book-generator .ix-book-inspiration-content h4{font-family:inherit;font-size:14px;line-height:1.4;font-weight:700;color:var(--ix-ui-ink);margin:0 0 5px}
.ix-book-inspiration-content p{font-size:13px;line-height:1.6;margin:0}
.ix-book-generator .ix-book-publication-note{font-size:13px;line-height:1.6;color:#fff;margin:0}
.ix-book-submission{min-width:0}
.ix-book-terms{margin-top:6px;min-width:0}
.ix-book-terms summary{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;box-sizing:border-box;cursor:pointer;list-style:none;color:#fff;font-size:13px;font-weight:700;line-height:1.5}
.ix-book-terms summary::-webkit-details-marker{display:none}
.ix-book-terms summary>span:first-child{text-decoration:underline;text-underline-offset:3px}
.ix-book-terms summary:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ix-book-terms-chevron{font-size:22px;line-height:1;flex:none}
.ix-book-terms[open] .ix-book-terms-chevron{transform:rotate(180deg)}
.ix-book-terms-content{padding:16px 18px;border-left:4px solid var(--ix-ui-accent);background:#fff;color:var(--ix-ui-ink);overflow-wrap:anywhere}
.ix-book-generator .ix-book-terms-content p{margin:0;font-size:14px;line-height:1.65;color:var(--ix-ui-ink)}
.ix-book-generator .ix-book-terms-content p+p{margin-top:14px}
.ix-book-about-atlas{border-top:1px solid #fff7;padding-top:22px;margin-top:28px}
.ix-book-generator .ix-book-about-atlas h3{font-family:inherit;font-size:16px;font-weight:800;line-height:1.4;text-transform:uppercase;color:#fff;margin:0 0 10px}
.ix-book-about-atlas p{font-size:14px;line-height:1.6;color:#fff;margin:0;max-width:880px}
.ix-book-about-atlas p+p{margin-top:10px}
.ix-book-generator .ix-book-form button.ix-book-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;min-height:144px;padding:18px!important;border:2px solid #fff!important;border-radius:0;background:#fff!important;background-image:none!important;color:var(--ix-ui-ink)!important;box-shadow:4px 4px 0 #282b34;text-align:left;text-transform:none;font-family:inherit;font-weight:400;line-height:1.4;letter-spacing:normal;cursor:pointer;white-space:normal}
.ix-book-generator .ix-book-form button.ix-book-option-title{grid-column:1/-1;min-height:82px;flex-direction:row;align-items:center;padding-right:44px!important}
.ix-book-generator .ix-book-form button.ix-book-option:hover{border-color:var(--ix-ui-accent)!important}
.ix-book-generator .ix-book-form button.ix-book-option[aria-pressed=true]{border-color:var(--ix-ui-accent)!important;background:var(--ix-ui-ink)!important;color:#fff!important;box-shadow:4px 4px 0 var(--ix-ui-accent)}
.ix-book-generator .ix-book-form button.ix-book-option[aria-expanded=true]{outline:none}
.ix-book-generator .ix-book-form button.ix-book-option:focus-visible{outline:3px solid #fff!important;outline-offset:5px}
.ix-book-option-icon{display:flex;width:36px;height:36px;align-items:center;justify-content:center;background:#eef4f7;color:var(--ix-ui-ink);flex-shrink:0}
.ix-book-option[aria-pressed=true] .ix-book-option-icon{background:var(--ix-ui-accent);color:#fff}
.ix-book-option-copy{display:grid;gap:5px;min-width:0}
.ix-book-option-label{font-size:15px;font-weight:800;line-height:1.25;text-transform:uppercase}
.ix-book-option-description{font-size:12px;color:var(--ix-ui-muted);line-height:1.5}
.ix-book-option[aria-pressed=true] .ix-book-option-description{color:#eef3f7}
.ix-book-choice-check{position:absolute;right:14px;top:16px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #bdc7d0;background:#fff;color:#fff;font:700 16px/1 Arial,sans-serif}
.ix-book-choice-check>span{visibility:hidden}
.ix-book-option[aria-pressed=true] .ix-book-choice-check{background:var(--ix-ui-accent);border-color:var(--ix-ui-accent)}
.ix-book-option[aria-pressed=true] .ix-book-choice-check>span{visibility:visible}
.ix-book-option-chevron{position:absolute;right:20px;top:27px;color:var(--ix-ui-ink);font-size:22px;line-height:1}
.ix-book-option-title[aria-expanded=true] .ix-book-option-chevron{transform:rotate(180deg)}
.ix-book-generator .ix-book-panel{padding:22px;gap:16px;border:0;border-top:4px solid var(--ix-ui-accent);border-radius:0;background:#fff;box-shadow:4px 4px 0 var(--ix-ui-ink)}
.ix-book-panel-buttons>.ix-book-panel{grid-column:1/-1}
.ix-book-generator .ix-book-panel>label{font-size:13px;font-weight:700;color:var(--ix-ui-ink);line-height:1.5}
.ix-book-generator .ix-book-form input[type=text],.ix-book-generator .ix-book-form select{padding:11px 12px;border:1px solid #b9c4ce;border-radius:0;background:#f7fafc;color:var(--ix-ui-ink);font-family:inherit;font-weight:400;font-size:15px;line-height:1.5;min-height:44px;max-width:100%}
.ix-book-generator .ix-book-form input:focus-visible,.ix-book-generator .ix-book-form select:focus-visible{outline:2px solid var(--ix-ui-accent);outline-offset:2px}
.ix-book-generator .ix-book-form input[type=file]{display:block;width:100%;font-size:12px;color:var(--ix-ui-muted);line-height:1.6}
.ix-book-generator input[type=file]::file-selector-button{padding:10px 13px;border:0;border-radius:0;background:var(--ix-ui-ink);color:#fff;font-family:inherit;font-weight:700;text-transform:uppercase;margin-right:10px;cursor:pointer}
.ix-book-generator .ix-book-image-state{font-size:12px;color:var(--ix-ui-muted);line-height:1.5;margin:0}
.ix-book-generator .ix-book-palette{padding:14px;border:1px solid #dde4e9;border-radius:0;background:#f7fafc;gap:12px}
.ix-book-generator .ix-book-palette legend{font-size:12px;color:var(--ix-ui-muted);font-weight:700}
.ix-book-generator .ix-book-custom-color{font-size:12px;font-weight:400;color:var(--ix-ui-muted);display:flex;align-items:center;gap:12px}
.ix-book-generator .ix-book-form input[type=color]{width:42px;height:28px;padding:2px;border:1px solid #b9c4ce;border-radius:0;background:#fff}
.ix-book-generator .ix-book-toggle{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:0;background:#edf5f8;font-size:12px!important;font-weight:600!important;cursor:pointer}
.ix-book-generator input[type=checkbox],.ix-book-generator input[type=range]{accent-color:var(--ix-ui-accent)}
.ix-book-generator .ix-book-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;padding:4px 4px 4px 0;gap:12px}
.ix-book-generator .ix-book-form .ix-book-actions button{display:flex!important;align-items:center;justify-content:center;align-self:stretch!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:64px!important;height:auto!important;margin:0!important;padding:12px 14px!important;border:2px solid var(--ix-ui-ink)!important;border-radius:0!important;box-shadow:4px 4px 0 var(--ix-ui-ink)!important;background:#fff!important;background-image:none!important;color:var(--ix-ui-ink)!important;font-family:inherit;font-weight:800;font-size:13px!important;line-height:1.4!important;text-align:center;text-transform:uppercase;letter-spacing:.015em;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.ix-book-generator .ix-book-form .ix-book-actions button[type=submit]{grid-column:1/-1;background:var(--ix-ui-ink)!important;color:#fff!important}
.ix-book-generator .ix-book-actions:has(.ix-book-unpublish:not([hidden])) button[type=submit]{grid-column:auto}
.ix-book-generator .ix-book-form .ix-book-actions button[hidden]{display:none!important}
.ix-book-generator .ix-book-actions button:focus-visible{outline:3px solid var(--ix-ui-ink);outline-offset:6px}
.ix-book-generator button:disabled{cursor:wait;opacity:.6}
.ix-book-generator .ix-book-status{font-size:12px;color:#fff;line-height:1.6;margin:0;min-height:20px}
.ix-book-generator .ix-book-status:empty{display:none}
.ix-book-generator .ix-book-status.is-error{color:#9f1423;background:#fff;padding:10px;border-left:3px solid var(--ix-ui-accent)}
.ix-book-preview-panel{position:sticky;top:24px;min-width:0;padding:0;border:0;border-radius:0;background:none}
.ix-book-preview-panel .ix-book-preview{margin:8px auto 0;max-width:320px;padding:24px 46px 35px 16px}
@media(max-width:850px){.ix-book-generator .ix-book-editor{grid-template-columns:1fr}.ix-book-preview-panel{position:static}.ix-book-generator{padding:20px 18px}.ix-book-generator .ix-book-panel{padding:18px}.ix-book-generator .ix-book-form button.ix-book-option{padding:14px!important}.ix-book-choice-check{right:10px;top:12px}.ix-book-generator .ix-book-form button.ix-book-option-title{padding-right:44px!important}}
@media(max-width:420px){.ix-book-generator .ix-book-panel-buttons{gap:10px}.ix-book-option-label{font-size:13px}.ix-book-option-description{font-size:11px}.ix-book-generator .ix-book-panel{padding:14px}.ix-book-generator .ix-book-palette{gap:10px}}

.ix-book-generator .ix-book-palette .ix-book-swatch[aria-pressed=true],.ix-book-generator .ix-book-palette .ix-book-swatch:focus-visible{outline-color:var(--ix-ui-accent)}

/* Member profile: pair only About with the published cover; subsequent groups stay full width. */
.ix-book-profile-layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px;margin:0 0 32px;clear:both;overflow:visible}
.ix-book-profile-layout>.bp-widget.about{flex:1 1 320px;min-width:0;max-width:100%;margin-bottom:0}
.ix-book-profile-layout>.bp-widget.about .data{overflow-wrap:anywhere}
.ix-book-profile-cover{flex:0 1 250px;width:250px;max-width:100%;min-width:0;overflow:visible}
.ix-book-profile-cover>.ix-book-cover-group{margin:0;padding:20px 42px 36px 16px;max-width:100%}
@media(max-width:767px){.ix-book-profile-layout{flex-direction:column;gap:20px}.ix-book-profile-layout>.bp-widget.about{flex:none;width:100%}.ix-book-profile-cover{flex:none;align-self:center;width:280px}}
