/* ================================================================
   Impera PDF – Frontend Styles
   Prefix: ipdf-
   ================================================================ */

/* ── CSS Variables (defaults) ─────────────────────────────────── */
.ipdf-card {
    --ipdf-title-color:          inherit;
    --ipdf-text-color:           inherit;
    --ipdf-btn-color:            #1a73e8;
    --ipdf-btn-text-color:       #ffffff;
    --ipdf-btn-hover-color:      #1558b0;
    --ipdf-btn-hover-text-color: #ffffff;
    --ipdf-btn-radius:           4px;
    --ipdf-overlay-bg:           rgba(0,0,0,0.55);
    --ipdf-overlay-text:         #ffffff;
    --ipdf-card-bg:              transparent;
    --ipdf-card-radius:          6px;
    --ipdf-card-padding:         1.25rem;
    --ipdf-max-height:           none;

    background:    var(--ipdf-card-bg);
    border-radius: var(--ipdf-card-radius);
    overflow:      hidden;
    box-sizing:    border-box;
    width:         100%;
}

/* ── Cover image ──────────────────────────────────────────────── */
.ipdf-cover-wrap {
    position:   relative;
    line-height: 0;
    overflow:   hidden;
}

.ipdf-cover-img {
    display:    block;
    width:      100%;
    height:     var(--ipdf-max-height);
    object-fit: cover;
    max-height: var(--ipdf-max-height);
}

/* ── Content block ────────────────────────────────────────────── */
.ipdf-content-wrap {
    padding: var(--ipdf-card-padding);
}

.ipdf-title {
    margin:      0 0 .5em;
    color:       var(--ipdf-title-color);
    line-height: 1.3;
}

.ipdf-description {
    color:       var(--ipdf-text-color);
    margin:      0 0 1em;
    line-height: 1.6;
}

/* ── Buttons wrap ─────────────────────────────────────────────── */
.ipdf-buttons {
    display:   flex;
    flex-wrap: wrap;
    gap:       .6em;
    margin-top: .25em;
}

/* ── Base button ──────────────────────────────────────────────── */
.ipdf-btn {
    position:        relative;
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    overflow:        hidden;
    padding:         .55em 1.3em;
    border-radius:   var(--ipdf-btn-radius);
    font-weight:     600;
    font-size:       .9em;
    text-decoration: none;
    cursor:          pointer;
    transition:      color .25s, background .25s, border-color .25s, transform .2s, box-shadow .2s;
    white-space:     nowrap;
    line-height:     1.4;
}

.ipdf-btn .ipdf-btn-text {
    position: relative;
    z-index:  1;
}

.ipdf-btn .ipdf-btn-bg {
    position:   absolute;
    inset:      0;
    z-index:    0;
    transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .3s;
}

/* ── Style: Filled ────────────────────────────────────────────── */
.ipdf-btn-style-filled .ipdf-btn {
    background: var(--ipdf-btn-color);
    color:      var(--ipdf-btn-text-color);
    border:     2px solid var(--ipdf-btn-color);
}

.ipdf-btn-style-filled .ipdf-btn .ipdf-btn-bg {
    background: var(--ipdf-btn-hover-color);
    transform:  scaleX(0);
    transform-origin: left;
}

.ipdf-btn-style-filled .ipdf-btn:hover .ipdf-btn-bg {
    transform: scaleX(1);
}

.ipdf-btn-style-filled .ipdf-btn:hover {
    color:        var(--ipdf-btn-hover-text-color);
    border-color: var(--ipdf-btn-hover-color);
}

/* ── Style: Ghost ─────────────────────────────────────────────── */
.ipdf-btn-style-ghost .ipdf-btn {
    background:   transparent;
    color:        var(--ipdf-btn-color);
    border:       2px solid var(--ipdf-btn-color);
}

.ipdf-btn-style-ghost .ipdf-btn .ipdf-btn-bg {
    background: var(--ipdf-btn-color);
    transform:  scaleY(0);
    transform-origin: bottom;
}

.ipdf-btn-style-ghost .ipdf-btn:hover .ipdf-btn-bg {
    transform: scaleY(1);
}

.ipdf-btn-style-ghost .ipdf-btn:hover {
    color: var(--ipdf-btn-hover-text-color, #fff);
}

/* ── Style: Underline ─────────────────────────────────────────── */
.ipdf-btn-style-underline .ipdf-btn {
    background:    transparent;
    color:         var(--ipdf-btn-color);
    border:        none;
    border-bottom: 2px solid var(--ipdf-btn-color);
    border-radius: 0;
    padding-left:  0;
    padding-right: 0;
}

.ipdf-btn-style-underline .ipdf-btn .ipdf-btn-bg {
    display: none;
}

.ipdf-btn-style-underline .ipdf-btn:hover {
    color:        var(--ipdf-btn-hover-color);
    border-color: var(--ipdf-btn-hover-color);
}

/* ── Effect: Lift ─────────────────────────────────────────────── */
.ipdf-btn-effect-lift .ipdf-btn:hover {
    transform:  translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

/* ── Effect: Pulse ────────────────────────────────────────────── */
@keyframes ipdf-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(var(--ipdf-btn-color-rgb, 26,115,232), .5); }
    70%  { box-shadow: 0 0 0 10px rgba(var(--ipdf-btn-color-rgb, 26,115,232), 0); }
    100% { box-shadow: 0 0 0 0 rgba(var(--ipdf-btn-color-rgb, 26,115,232), 0); }
}

.ipdf-btn-effect-pulse .ipdf-btn:hover {
    animation: ipdf-pulse .6s ease-out forwards;
}

/* ── Effect: Slide ────────────────────────────────────────────── */
.ipdf-btn-effect-slide .ipdf-btn {
    overflow: hidden;
}

.ipdf-btn-effect-slide.ipdf-btn-style-filled .ipdf-btn .ipdf-btn-bg {
    transform: translateX(-101%);
    transform-origin: unset;
}

.ipdf-btn-effect-slide.ipdf-btn-style-filled .ipdf-btn:hover .ipdf-btn-bg {
    transform: translateX(0);
}

/* ================================================================
   LAYOUT: Classic
   ================================================================ */
.ipdf-layout-classic {
    display: flex;
    flex-direction: column;
}

/* ================================================================
   LAYOUT: Split Left (cover sx, testi dx)
   ================================================================ */
.ipdf-layout-split-left {
    display:     flex;
    flex-direction: row;
    align-items: stretch;
}

.ipdf-layout-split-left .ipdf-cover-wrap {
    flex:       0 0 40%;
    max-width:  40%;
}

.ipdf-layout-split-left .ipdf-cover-img {
    height:     100%;
    max-height: var(--ipdf-max-height);
    object-fit: cover;
}

.ipdf-layout-split-left .ipdf-content-wrap {
    flex: 1;
    display:        flex;
    flex-direction: column;
    justify-content: center;
}

/* ================================================================
   LAYOUT: Split Right (cover dx, testi sx)
   ================================================================ */
.ipdf-layout-split-right {
    display:     flex;
    flex-direction: row-reverse;
    align-items: stretch;
}

.ipdf-layout-split-right .ipdf-cover-wrap {
    flex:       0 0 40%;
    max-width:  40%;
}

.ipdf-layout-split-right .ipdf-cover-img {
    height:     100%;
    max-height: var(--ipdf-max-height);
    object-fit: cover;
}

.ipdf-layout-split-right .ipdf-content-wrap {
    flex: 1;
    display:        flex;
    flex-direction: column;
    justify-content: center;
}

/* ================================================================
   LAYOUT: Overlay
   ================================================================ */
.ipdf-layout-overlay .ipdf-cover-wrap {
    position: relative;
}

.ipdf-layout-overlay .ipdf-cover-img {
    display: block;
    width:   100%;
}

.ipdf-overlay-panel {
    position:   absolute;
    inset:      0;
    background: var(--ipdf-overlay-bg);
    color:      var(--ipdf-overlay-text);
    display:    flex;
    flex-direction: column;
    justify-content: flex-end;
    padding:    var(--ipdf-card-padding);
    box-sizing: border-box;
}

.ipdf-layout-overlay .ipdf-title,
.ipdf-layout-overlay .ipdf-description {
    color: var(--ipdf-overlay-text);
}

/* ================================================================
   Responsive
   ================================================================ */
@media ( max-width: 640px ) {
    .ipdf-layout-split-left,
    .ipdf-layout-split-right {
        flex-direction: column;
    }

    .ipdf-layout-split-left .ipdf-cover-wrap,
    .ipdf-layout-split-right .ipdf-cover-wrap {
        flex:      unset;
        max-width: 100%;
    }

    .ipdf-layout-split-left .ipdf-cover-img,
    .ipdf-layout-split-right .ipdf-cover-img {
        height:     auto;
        max-height: var(--ipdf-max-height);
    }
}
