/* SJP V17 page components. Layout is preserved from the original source. */
.sjpe-library-block {--navy:#081f49;--blue:#0b84ff;--pink:#ff1971;--lime:#a9e900; width:100%; position:relative; min-width:0;}
.sjpe-library-block img {max-width:100%;height:auto;}
.sjpe-library-block *, .sjpe-library-block *::before,.sjpe-library-block *::after {box-sizing:border-box;}
.sjpe-library-block a {cursor:pointer;}
.sjpe-library-block .container {width:min(100% - 44px,1280px);margin-inline:auto;}
.sjpe-library-block .container-wide {width:min(100% - 40px,1480px);margin-inline:auto;}
.sjpe-library-block [hidden] {display:none!important;}
.sjpe-library-block .sjp-testimonial-slide:not(.is-current){opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0;}
.sjpe-library-block .sjp-testimonial-slides{position:relative;min-height:200px;}
.sjpe-library-block .sjp-testimonial-slide.is-current{opacity:1;visibility:visible;transition:opacity .5s ease;}
.sjpe-library-block .sjp-travel-mode.is-active{border-color:var(--blue,#0b84ff);}
@media(max-width:767px){
 .sjpe-library-block{max-width:100vw;overflow-x:clip;}
 .sjpe-library-block .container,.sjpe-library-block .container-wide{width:min(100% - 28px,1280px);}
 .sjpe-library-block h1,.sjpe-library-block h2{overflow-wrap:break-word;}
}


/* v4.7: apply normal Font Awesome icon sizing in all SJP layouts.
   Imported SVGs have no intrinsic dimensions; without these rules they may grow to 300px wide. */
.sjpe-v16-page svg.fa-icon,
.sjpe-v17 svg.fa-icon,
.sjpe-library-block svg.fa-icon,
.sjpe-widget svg.fa-icon,
.sjpe-complete-page svg.fa-icon {
    display:inline-block !important;
    width:1em !important;
    height:1em !important;
    min-width:0 !important;
    max-width:1em !important;
    max-height:1em !important;
    flex:0 0 1em !important;
    fill:currentColor;
    vertical-align:-.125em;
    transform:none;
}
/* CTA links place the arrow at the end of the line, rather than below or beyond the card. */
.sjpe-v16-page .sjp-parent-links a,
.sjpe-v17 .sjp-parent-links a {
    display:flex;align-items:center;gap:14px;min-width:0;
}
.sjpe-v16-page .sjp-parent-links a > strong,
.sjpe-v17 .sjp-parent-links a > strong {flex:1;min-width:0;}
.sjpe-v16-page .sjp-parent-links a > svg.fa-icon,
.sjpe-v17 .sjp-parent-links a > svg.fa-icon {
    font-size:15px; width:15px !important;height:15px !important;
    max-width:15px !important;max-height:15px !important;
    flex:0 0 15px !important;margin-left:auto;
}
.sjpe-v16-page .sjp-parent-links a > i.fa:first-child,
.sjpe-v17 .sjp-parent-links a > i.fa:first-child {
    font-family:FontAwesome !important;
    font-style:normal;display:grid;place-items:center;
    width:40px;height:40px;flex:0 0 40px;border-radius:50%;
    background:#e8f4ff;color:#0b81ed;font-size:16px;
}
.sjpe-v16-page .story-feature-icon i.fa,
.sjpe-v16-page .story-destination-icon i.fa,
.sjpe-v17 .story-feature-icon i.fa,
.sjpe-v17 .story-destination-icon i.fa {font-size:19px;line-height:1;}
.sjpe-v16-page .story-feature-icon i.fa:before,
.sjpe-v16-page .story-destination-icon i.fa:before,
.sjpe-v17 .story-feature-icon i.fa:before,
.sjpe-v17 .story-destination-icon i.fa:before {font-family:FontAwesome !important;}
/* Keep the qualification-card actions exactly like the approved small inline arrows. */
.sjpe-v16-page .sjp-qualification-card a,
.sjpe-v17 .sjp-qualification-card a {
    display:inline-flex !important; flex-direction:row !important;
    align-items:center !important; gap:12px !important;
}
.sjpe-v16-page .sjp-qualification-card a svg.fa-icon,
.sjpe-v17 .sjp-qualification-card a svg.fa-icon {
    font-size:18px;width:18px !important;height:18px !important;
    max-width:18px !important;max-height:18px !important;flex:0 0 18px !important;
}
/* Prevent automatic SVG sizing applied by Elementor/theme from scaling icons. */
.sjpe-v16-page .sjp-note a svg.fa-icon,
.sjpe-v17 .sjp-note a svg.fa-icon,
.sjpe-v16-page .story-next-circle svg.fa-icon,
.sjpe-v17 .story-next-circle svg.fa-icon {font-size:15px;}
