@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
    --g:#DBA342;--gd:#b8862e;--gl:rgba(219,163,66,.12);
    --dk:#1a1a1a;--wh:#fff;--tx:#444;
    --r:12px;--tr:all .3s ease;
    --font-body:'Poppins',sans-serif;
    --font-heading:'EB Garamond',Georgia,serif;
}

/* ── Plugin-wide font application ── */
.lasf-grid,.lasf-card,.lasf-contact,.lasf-svc-page,.lasf-modal-content,
.lasf-msg,.lasf-field,.lasf-input,.lasf-submit,.lasf-btn-book{
    font-family:var(--font-body);
}
.lasf-contact-heading,.lasf-svc-price-value{
    font-family:var(--font-heading)!important;
}

/* ── Service Grid ── */
.lasf-grid{display:grid;gap:26px;margin:36px 0}
.lasf-cols-3{grid-template-columns:repeat(3,1fr)}
.lasf-cols-2{grid-template-columns:repeat(2,1fr)}
.lasf-cols-1{grid-template-columns:1fr}
@media(max-width:900px){.lasf-cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.lasf-cols-3,.lasf-cols-2{grid-template-columns:1fr}}

.lasf-card{background:transparent!important;border:none!important;box-shadow:none!important;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}
.lasf-card-icon{font-size:52px;display:block;margin-bottom:24px;line-height:1}
.lasf-card-price{display:none!important}

/* Book Now button */
.lasf-btn-book{display:inline-block;padding:13px 36px;background:var(--g);color:#fff;border:none;border-radius:50px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.4px;transition:var(--tr);box-shadow:0 4px 16px rgba(219,163,66,.35);text-transform:none}
.lasf-btn-book:hover,.lasf-btn-book:focus{background:var(--gd)!important;color:#fff!important;transform:scale(1.06)!important;box-shadow:0 8px 24px rgba(219,163,66,.45)!important;outline:none!important}

/* ── Modal ── */
.lasf-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}
.lasf-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.77);backdrop-filter:blur(2px)}
.lasf-modal-content{position:relative;z-index:1;background:#fff;border-radius:var(--r);padding:44px 40px;width:90%;max-width:660px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.45);animation:lasf-up .28s ease}
@keyframes lasf-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.lasf-modal-close{position:absolute;top:14px;right:18px;background:none;border:none;font-size:26px;cursor:pointer;color:#888;line-height:1}
.lasf-modal-close:hover{color:var(--dk)}

/* ── Contact Form ── */
.lasf-contact{background:#fff;padding:44px 40px;border-radius:var(--r);box-shadow:0 4px 24px rgba(0,0,0,.06)}
@media(max-width:600px){.lasf-contact{padding:28px 18px}}
.lasf-contact-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--g);text-transform:uppercase;margin:0 0 10px}
.lasf-contact-heading{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;color:var(--dk);margin:0 0 28px;line-height:1.22}
@media(max-width:580px){.lasf-contact-heading{font-size:22px}}
.lasf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.lasf-row{grid-template-columns:1fr}}
.lasf-field{margin-bottom:18px}
.lasf-field label{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:#aaa;text-transform:uppercase;margin-bottom:6px}
.lasf-req{color:var(--g)}
.lasf-input{width:100%;padding:12px 16px;border:1.5px solid #ebebeb;background:#fff;border-radius:10px;font-size:14px;color:var(--tx);transition:var(--tr);box-sizing:border-box;font-family:inherit;appearance:none}
.lasf-input:focus{outline:none;border-color:var(--g);background:#fffdf7;box-shadow:0 0 0 3px rgba(219,163,66,.1)}
.lasf-textarea{resize:vertical;min-height:120px}

/* ── Submit / CTA button — pill, golden, grow on hover, NOT uppercase ── */
.lasf-submit{
    display:inline-block;
    padding:15px 48px;
    background:#DBA342!important;
    color:#ffffff!important;
    border:none!important;
    border-radius:50px!important;
    font-size:15px!important;
    font-weight:600!important;
    cursor:pointer!important;
    letter-spacing:.3px!important;
    text-transform:none!important;
    font-family:inherit!important;
    transition:transform .25s ease,background .25s ease,box-shadow .25s ease!important;
    margin-top:8px;
    box-shadow:0 4px 20px rgba(219,163,66,.35)!important;
}
.lasf-submit:hover,
.lasf-submit:focus,
.lasf-submit:active{
    background:#b8862e!important;
    color:#ffffff!important;
    transform:scale(1.05)!important;
    box-shadow:0 8px 30px rgba(219,163,66,.5)!important;
    outline:none!important;
    text-transform:none!important;
}

.lasf-msg{padding:13px 18px;border-radius:10px;margin-bottom:18px;font-size:14px;font-weight:500}
.lasf-msg.lasf-ok{background:#d4edda;border:1px solid #c3e6cb;color:#155724}
.lasf-msg.lasf-err{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}

/* ── Service Page Layout ── */
.lasf-svc-page{max-width:960px;margin:0 auto}
.lasf-svc-body{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:720px){.lasf-svc-body{grid-template-columns:1fr}}
.lasf-svc-desc{color:var(--tx);font-size:15px;line-height:1.8;margin-bottom:28px}
.lasf-svc-desc p{margin-bottom:14px}

/* ── Pricing Block — elegant, no black background ── */
.lasf-svc-price-block{
    display:inline-flex;
    flex-direction:column;
    gap:4px;
    margin-top:6px;
    padding:20px 28px;
    background:linear-gradient(135deg,#fffbf0 0%,#fef5df 100%);
    border:1.5px solid rgba(219,163,66,.3);
    border-radius:16px;
    position:relative;
    overflow:hidden;
}
.lasf-svc-price-block::before{
    content:'';
    position:absolute;top:0;left:0;width:4px;height:100%;
    background:linear-gradient(180deg,#DBA342,#b8862e);
}
.lasf-svc-price-tag{
    font-size:10px;font-weight:700;letter-spacing:2px;
    text-transform:uppercase;color:#b8862e;margin-left:4px;
}
.lasf-svc-price-value{
    font-size:32px;font-weight:800;
    color:#1a1a1a;
    font-family:Georgia,'Times New Roman',serif;
    line-height:1;
    margin-left:4px;
}

/* ── Auth buttons — mobile responsive (smaller on small screens) ── */
@media(max-width:600px){
    .lasf-auth-btns{gap:7px}
    .lasf-auth-btn{
        padding:6px 14px!important;
        font-size:11px!important;
        border-width:1.5px!important;
        letter-spacing:.2px!important;
    }
}
@media(max-width:400px){
    .lasf-auth-btn{
        padding:5px 11px!important;
        font-size:10px!important;
    }
}
