
.svp-shell{position:relative;min-height:100vh;overflow:hidden;isolation:isolate}
.svp-bg{position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:cover}
.svp-overlay{position:absolute;inset:0;background:
radial-gradient(circle at 50% 52%, rgba(255,220,160,0.08), rgba(255,220,160,0) 20%),
linear-gradient(to bottom, rgba(var(--svp-overlay-rgb,0,0,0), calc(var(--svp-overlay-opacity,0.10) + 0.03)), rgba(var(--svp-overlay-rgb,0,0,0), var(--svp-overlay-opacity,0.10)))}
.svp-inner{position:relative;z-index:1;max-width:1140px;min-height:100vh;margin:0 auto;padding:40px 24px 36px;box-sizing:border-box}
.svp-panel{background:rgba(var(--svp-panel-rgb,255,255,255), var(--svp-panel-opacity,0.10));backdrop-filter:blur(var(--svp-panel-blur,8px));-webkit-backdrop-filter:blur(var(--svp-panel-blur,8px));border-radius:var(--svp-panel-radius,26px);box-shadow:0 14px 44px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.08)}
.svp-hero,.svp-copy{max-width:760px;margin:0 auto 24px;padding:34px 28px 36px;text-align:center}
.svp-title{margin:0;color:var(--svp-title,#f5efe3);font:500 clamp(56px,6.2vw,92px)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.03em}
.svp-subtitle{margin-top:10px;color:var(--svp-sub,#efdfc2);font:500 clamp(22px,2.1vw,38px)/1.15 Georgia,"Times New Roman",serif}
.svp-text{margin-top:20px;color:var(--svp-body,#f5ecdf);font:400 clamp(17px,1.45vw,28px)/1.62 Georgia,"Times New Roman",serif;white-space:normal}
.svp-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:22px;min-height:48px;padding:0 24px;border-radius:999px;background:var(--svp-cta-bg,#d8af68);color:var(--svp-cta-color,#fff7ec);text-decoration:none;font:700 15px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.16)}
.svp-copy h2,.svp-about-copy h2,.svp-for h2{margin:0;color:var(--svp-title,#f5efe3);font:500 clamp(30px,3vw,44px)/1.05 Georgia,"Times New Roman",serif}
.svp-quote,.svp-close{margin-top:24px;color:var(--svp-sub,#efdfc2);font:500 clamp(18px,1.5vw,28px)/1.55 Georgia,"Times New Roman",serif}
.svp-about{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch;margin:0 auto 22px;max-width:1060px}
.svp-about-copy,.svp-about-image-wrap{padding:28px 24px}
.svp-about-image{width:100%;height:100%;object-fit:cover;border-radius:18px;display:block}
.svp-about-placeholder{height:100%;min-height:300px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:rgba(255,255,255,.05);color:#f5ecdf;font:500 16px/1 system-ui}
.svp-mid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1060px;margin:0 auto 22px}
.svp-mid-card{padding:24px 22px}
.svp-mid-card h3{margin:0;color:var(--svp-title,#f5efe3);font:700 20px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.svp-mid-card p{margin:12px 0 0;color:var(--svp-body,#f5ecdf);font:400 15px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.svp-for{max-width:820px;margin:0 auto 26px;text-align:center}
.svp-close-block{max-width:760px;margin:0 auto 24px;text-align:center}
.svp-close-main{color:var(--svp-title,#f5efe3);font:500 clamp(24px,2.4vw,40px)/1.35 Georgia,"Times New Roman",serif}
.svp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--svp-card-gap,18px);max-width:1060px;margin:0 auto}
.svp-card{position:relative;overflow:hidden;border-radius:var(--svp-card-radius,18px);aspect-ratio:var(--svp-card-ratio,3 / 2);background:rgba(255,255,255,.05);background-size:cover;background-position:center;text-decoration:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:transform .18s ease, box-shadow .18s ease}
.svp-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.10)}
.svp-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom, rgba(16,14,12,calc(var(--svp-card-overlay,.34) * .45)), rgba(16,14,12,var(--svp-card-overlay,.34)))}
.svp-card-btn{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:var(--svp-cta-bg,#d8af68);color:var(--svp-cta-color,#fff7ec);font:700 14px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;z-index:1;box-shadow:0 8px 24px rgba(0,0,0,.18)}
@media (max-width:1024px){
 .svp-about{grid-template-columns:1fr}
 .svp-mid-grid{grid-template-columns:1fr 1fr}
 .svp-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
 .svp-inner{padding:22px 14px 24px}
 .svp-hero,.svp-copy,.svp-about-copy,.svp-about-image-wrap{padding:22px 16px}
 .svp-title{font-size:clamp(40px,12vw,66px)}
 .svp-subtitle{font-size:clamp(17px,5.6vw,24px)}
 .svp-text{font-size:clamp(16px,4.7vw,20px)}
 .svp-mid-grid,.svp-cards{grid-template-columns:1fr}
}
.svp-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.svp-box{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:18px 20px;margin-bottom:20px;box-shadow:0 1px 1px rgba(0,0,0,.02)}
.svp-box h2{margin-top:0}
.svp-wide{width:100%;max-width:100%}
.svp-admin .form-table th{width:290px}
.svp-admin hr{border:none;border-top:1px solid #e4e4e7;margin:14px 0}
@media (max-width:1024px){.svp-admin-grid{grid-template-columns:1fr}}


/* v1.1 tuning: informational blocks more compact and left-aligned */
.svp-copy,
.svp-for{
    max-width: var(--svp-info-max, 860px);
}
.svp-copy{
    text-align:left;
}
.svp-copy.svp-title-align-center,
.svp-for.svp-title-align-center{
    text-align:center;
}
.svp-copy.svp-text-align-left .svp-text,
.svp-copy.svp-text-align-left .svp-quote,
.svp-about-copy.svp-text-align-left .svp-text,
.svp-about-copy.svp-text-align-left .svp-close,
.svp-for.svp-text-align-left .svp-text{
    text-align:left;
}
.svp-copy.svp-title-align-left h2,
.svp-about-copy.svp-title-align-left h2,
.svp-for.svp-title-align-left h2{
    text-align:left;
}
.svp-copy .svp-text,
.svp-about-copy .svp-text,
.svp-for .svp-text{
    font-size: clamp(15px, 1.05vw, 19px);
    line-height: 1.72;
}
.svp-copy .svp-quote,
.svp-about-copy .svp-close{
    font-size: clamp(17px, 1.2vw, 24px);
    line-height: 1.6;
}
.svp-about{
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}
.svp-about-image-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
}
.svp-about-image{
    width:min(100%, var(--svp-about-image-max, 420px));
    height:auto;
    aspect-ratio:auto;
}
.svp-about-placeholder{
    width:min(100%, var(--svp-about-image-max, 420px));
}
@media (max-width:1024px){
    .svp-copy,
    .svp-for{
        max-width: min(100%, var(--svp-info-max, 860px));
    }
}
@media (max-width:680px){
    .svp-copy .svp-text,
    .svp-about-copy .svp-text,
    .svp-for .svp-text{
        font-size: clamp(15px, 4.2vw, 18px);
        line-height: 1.68;
    }
    .svp-about-image,
    .svp-about-placeholder{
        width:100%;
    }
}


/* v1.2 fine controls */
.svp-intro .svp-text{
    font-size: clamp(15px, 1.05vw, var(--svp-intro-text-size,17px));
    line-height: 1.72;
}
.svp-intro .svp-quote{
    font-size: clamp(17px, 1.2vw, var(--svp-intro-quote-size,21px));
    line-height: 1.6;
}
.svp-about-section .svp-text{
    font-size: clamp(15px, 1.05vw, var(--svp-about-text-size,17px));
    line-height: 1.72;
}
.svp-about-section .svp-close{
    font-size: clamp(17px, 1.2vw, var(--svp-about-close-size,21px));
    line-height: 1.6;
}
.svp-for-section .svp-text{
    font-size: clamp(15px, 1.05vw, var(--svp-for-text-size,17px));
    line-height: 1.72;
}
.svp-about{
    grid-template-columns: minmax(0, var(--svp-about-text-col, 1.45fr)) minmax(240px, .75fr);
}
.svp-about-image{
    width:min(100%, var(--svp-about-image-max, 360px));
}
.svp-about-placeholder{
    width:min(100%, var(--svp-about-image-max, 360px));
}


/* v1.2.1 personal image desktop fix */
.svp-about{
    grid-template-columns: minmax(0,1fr) 320px;
    align-items:start;
}
.svp-about-image-wrap{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:20px;
    padding-bottom:20px;
    min-height:auto;
}
.svp-about-image{
    width:100%;
    max-width:260px;
    margin:0 auto;
    height:auto;
}
.svp-about-placeholder{
    width:100%;
    max-width:260px;
    min-height:260px;
    margin:0 auto;
}
@media (max-width:1024px){
    .svp-about{
        grid-template-columns:1fr;
    }
    .svp-about-image-wrap{
        padding-top:22px;
    }
    .svp-about-image,
    .svp-about-placeholder{
        max-width:min(100%, var(--svp-about-image-max, 260px));
    }
}


/* v1.3 layout cleanup */
.svp-mid-grid-four{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.svp-mid-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:300px;
}
.svp-mid-card-action{
    display:flex;
    justify-content:center;
    margin-top:18px;
}
.svp-mid-card .svp-btn{
    margin-top:0;
}
.svp-for{
    max-width:1060px;
    margin:0 auto 20px;
}
.svp-for-panel{
    padding:28px 24px;
}
.svp-focus-panel{
    max-width:860px;
    margin:0 auto;
    padding:28px 24px;
    text-align:center;
}
.svp-focus-title{
    color:var(--svp-title,#f5efe3);
    font:500 clamp(30px,3vw,46px)/1.18 Georgia,"Times New Roman",serif;
}
.svp-focus-text{
    margin-top:14px;
    color:var(--svp-sub,#efdfc2);
    font:500 clamp(20px,1.9vw,30px)/1.45 Georgia,"Times New Roman",serif;
}
@media (max-width:1200px){
    .svp-mid-grid-four{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:680px){
    .svp-mid-grid-four{
        grid-template-columns:1fr;
    }
    .svp-mid-card{
        min-height:unset;
    }
}


/* v1.4 final block colors + hide theme chrome on shortcode page */
.svp-focus-title{
    color: var(--svp-focus-title-color, #D9B88D);
}
.svp-focus-text{
    color: var(--svp-focus-text-color, #E6CBA3);
}

/* Hide theme clutter when the shortcode is present */
body:has(.svp-shell) header,
body:has(.svp-shell) .site-header,
body:has(.svp-shell) .main-navigation,
body:has(.svp-shell) nav:not(.admin-bar nav),
body:has(.svp-shell) .search-form,
body:has(.svp-shell) .search,
body:has(.svp-shell) .widget_search,
body:has(.svp-shell) .page-title,
body:has(.svp-shell) .entry-title,
body:has(.svp-shell) .site-footer,
body:has(.svp-shell) footer:not(#wpadminbar ~ * footer){
    display:none !important;
}

body:has(.svp-shell) .entry-content,
body:has(.svp-shell) .post-content,
body:has(.svp-shell) main,
body:has(.svp-shell) article,
body:has(.svp-shell) .content-area,
body:has(.svp-shell) .site-main{
    margin:0 !important;
    padding:0 !important;
    max-width:none !important;
    width:100% !important;
}

body:has(.svp-shell){
    background:#000 !important;
}


/* v1.5 image support for 4 blocks */
.svp-mid-card{
    position:relative;
    background-size:cover;
    background-position:center;
    overflow:hidden;
}
.svp-mid-card-inner{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:100%;
}
.svp-mid-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(16,14,12,calc(var(--svp-mid-image-overlay,.28) * .35)), rgba(16,14,12,var(--svp-mid-image-overlay,.28)));
    z-index:0;
}
.svp-mid-card.has-image h3,
.svp-mid-card.has-image p{
    color:#fff7eb;
    text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.svp-mid-card-bg-alt{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}


/* v1.6 unified button sizing */
.svp-btn,
.svp-card-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:var(--svp-btn-width,230px);
    height:var(--svp-btn-height,48px);
    padding:0 18px;
    border-radius:999px;
    box-sizing:border-box;
    white-space:nowrap;
}

@media (max-width:680px){
    .svp-btn,
    .svp-card-btn{
        width:var(--svp-btn-width,230px);
        height:var(--svp-btn-height,48px);
    }
}


/* v1.7 visual cards only */
.svp-mid-grid-four{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.svp-mid-card-visual{
    position:relative;
    display:block;
    aspect-ratio:var(--svp-mid-card-ratio, 3 / 2);
    min-height:0 !important;
    padding:0 !important;
    overflow:hidden;
    text-decoration:none;
    background-size:cover;
    background-position:center;
}
.svp-mid-card-visual .svp-mid-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(16,14,12,calc(var(--svp-mid-image-overlay,.28) * .35)), rgba(16,14,12,var(--svp-mid-image-overlay,.28)));
    z-index:0;
}
.svp-mid-card-visual .svp-mid-card-btn-wrap{
    position:absolute;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    z-index:2;
    display:flex;
    justify-content:center;
    width:100%;
    padding:0 12px;
    box-sizing:border-box;
}
.svp-mid-card-visual .svp-btn{
    margin-top:0;
    pointer-events:none;
}
.svp-mid-card-bg-alt{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
@media (max-width:1200px){
    .svp-mid-grid-four{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:680px){
    .svp-mid-grid-four{
        grid-template-columns:1fr;
    }
    .svp-mid-card-visual{
        aspect-ratio:var(--svp-mid-card-ratio, 3 / 2) !important;
    }
}


/* v1.7.1 mobile button height fix */
.svp-btn,
.svp-card-btn,
.svp-mid-card-visual .svp-btn{
    min-height: var(--svp-btn-height, 48px) !important;
    height: var(--svp-btn-height, 48px) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    -webkit-appearance: none;
    appearance: none;
}

.svp-mid-card-visual .svp-mid-card-btn-wrap{
    align-items: center;
    min-height: var(--svp-btn-height, 48px);
}

@media (max-width:680px){
    .svp-btn,
    .svp-card-btn,
    .svp-mid-card-visual .svp-btn{
        min-height: var(--svp-btn-height, 48px) !important;
        height: var(--svp-btn-height, 48px) !important;
        font-size: 14px !important;
        line-height: 1 !important;
    }
}
