html{scroll-behavior: smooth;}

:root{
    --pl-dark: #062f2c;
    --pl-dark-2: #083a36;
    --pl-primary: #0f5b56;
    --pl-primary-2: #0b4e4a;
    --pl-accent: #AC9169;
    --pl-bg: #f6f2eb;
    --pl-card: #ffffff;
    --pl-border: #e7e1d9;
    --pl-text: #101010;
    --pl-muted: #6a6a6a;
}

html,body{height:100%;}
body{
    font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--pl-text);
    background: #fff;
}

input[type="checkbox"],
.form-check-input[type="checkbox"]{
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1.5px solid #d0c3ae;
    background: #f4efe7;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 11px 11px;
}

input[type="checkbox"]:checked,
.form-check-input[type="checkbox"]:checked{
    background-color: #efe6d8;
    border-color: #cdbda5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.3 8.2l2.7 2.8 6.7-6.8' fill='none' stroke='%2386755f' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

input[type="checkbox"]:focus,
.form-check-input[type="checkbox"]:focus{
    outline: none;
    box-shadow: 0 0 0 3px rgba(176,138,85,.18), inset 0 0 0 1px rgba(255,255,255,.55);
}

input[type="checkbox"]:disabled,
.form-check-input[type="checkbox"]:disabled{
    opacity: .5;
    cursor: not-allowed;
}

.form-select{
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.38106 1.33672H14.6169L7.99897 8.6633L1.38106 1.33672ZM0.342014 2.21762L6.95992 9.54287C7.08944 9.68644 7.24916 9.80152 7.42838 9.88036C7.60759 9.95921 7.80214 10 7.99897 10C8.1958 10 8.39035 9.95921 8.56956 9.88036C8.74878 9.80152 8.9085 9.68644 9.03802 9.54287L15.6559 2.21762C16.4369 1.35276 15.8022 4.91521e-07 14.6169 4.91521e-07H1.38106C1.11579 -0.000219837 0.856073 0.0736372 0.633015 0.212727C0.409956 0.351818 0.233013 0.550245 0.123373 0.784246C0.0137337 1.01825 -0.0239541 1.27791 0.014823 1.53212C0.0536002 1.78634 0.167198 2.02434 0.342014 2.21762Z' fill='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 16px 10px;
    padding-right: 44px;
}

.pl-footer-pattern{
    height: 300px;
    background: url("../images/pattern.png") center top/100% 100% no-repeat;
}

/* Motion defaults */
*{
    transition:
        color .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease,
        opacity .18s ease;
}

/* Page enter animation */
@keyframes pl-enter{
    from{opacity: 0; transform: translateY(10px);}
    to{opacity: 1; transform: translateY(0px);}
}

body:not(.pl-ready) main > *{
    opacity: 0;
    transform: translateY(10px);
}

body.pl-ready main > *{
    animation: pl-enter .42s ease both;
}

body.pl-ready main > *:nth-child(1){animation-delay: .00s;}
body.pl-ready main > *:nth-child(2){animation-delay: .06s;}
body.pl-ready main > *:nth-child(3){animation-delay: .12s;}
body.pl-ready main > *:nth-child(4){animation-delay: .18s;}
body.pl-ready main > *:nth-child(5){animation-delay: .24s;}
body.pl-ready main > *:nth-child(6){animation-delay: .30s;}

/* Scroll reveal (IntersectionObserver) */
.pl-reveal{
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.22,.61,.36,1);
    transition-delay: var(--pl-reveal-delay, 0ms);
    will-change: opacity, transform;
}

.pl-reveal.pl-reveal--in{
    opacity: 1;
    transform: translateY(0px);
}

h1,h2,h3,h4,h5,h6{
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pl-topbar{
    background:
        radial-gradient(120% 220% at 50% 0%, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 58%),
        linear-gradient(90deg,
            #0b0b0b 0%,
            var(--pl-dark) 18%,
            var(--pl-primary) 50%,
            var(--pl-dark) 82%,
            #0b0b0b 100%
        );
    height: 34px;
    display:flex;
    align-items:center;
}

.pl-topbar-link{
    color:#fff;
    opacity:.9;
    font-size: 16px;
    display:inline-flex;
    align-items:center;
}

.pl-topbar-link:hover{opacity:1;color:#fff; transform: translateY(-1px);}

.pl-lang{
    color:#fff;
    background: transparent;
    border: 0;
    padding: 2px 8px;
    font-weight: 600;
    border-radius: 8px;
    transition: background-color .18s ease, color .18s ease;
}

.pl-lang:hover,
.pl-lang:focus,
.pl-lang.show{
    background: #f6f2eb;
    color: #111;
}

.pl-google-translate-hidden{
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

body > .skiptranslate,
.goog-logo-link,
.goog-te-gadget span,
.goog-te-banner-frame,
iframe.goog-te-banner-frame{
    display: none !important;
}

body{
    top: 0 !important;
}

.pl-navbar{
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.pl-navbar .navbar-toggler .pl-toggler-close{
    display: none;
    font-size: 22px;
    line-height: 1;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.pl-navbar .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon{display: none;}

.pl-navbar .navbar-toggler[aria-expanded="true"] .pl-toggler-close{display: inline-flex;}

.pl-logo{height: 66px; width:auto;}

.pl-nav-link{
    font-weight: 500;
    color:#262626;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 14px;
}

.pl-nav-link:hover{color:#111; background: rgba(176,138,85,.12); transform: translateY(-1px);}

.pl-nav-pill{
    font-weight: 600;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(176,138,85,.18);
    color:#222;
}

.pl-nav-pill:hover{background: rgba(176,138,85,.24); color:#111; transform: translateY(-1px);}

.pl-nav-user{
    display:inline-flex;
    align-items:center;
    gap: 10px;
    font-size: 14px;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(176,138,85,.18);
    color:#222;
    font-weight: 700;
}

.pl-nav-user:hover{background: rgba(176,138,85,.24); color:#111; transform: translateY(-1px);}

.pl-nav-user i{
    font-size: 20px;
    color: var(--pl-primary);
}

.pl-nav-user-avatar{
    width: 28px;
    height: 28px;
    border-radius: 999px;
    object-fit: cover;
    flex: 0 0 auto;
}

.pl-nav-user-icon{
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background: #fff;
    border: 1px solid rgba(15,91,86,.22);
    color: var(--pl-primary);
}

.pl-nav-user-icon i{
    font-size: 24px;
    line-height: 1;
}

.pl-nav-user-icon:hover{
    background: rgba(15,91,86,.06);
    color: var(--pl-primary);
    transform: translateY(-1px);
}

.pl-btn-outline{
    border: 1px solid rgba(176,138,85,.55);
    color:#262626;
    padding: 10px 18px;
    border-radius: 999px;
    background: #fff;
    font-weight: 600;
    font-size: 14px;
}

.pl-btn-outline:hover{
    background: rgba(176,138,85,.10);
    box-shadow: 0 14px 30px rgba(0,0,0,.08);
    transform: translateY(-1px);
}

.pl-btn-outline:active{transform: translateY(0px) scale(.99);}

.pl-btn-primary{
    border: 0;
    color:#fff;
    padding: 10px 18px;
    border-radius: 999px;
    font-weight: 700;
    background: linear-gradient(180deg, #2B7876 0%, #0B4745 100%);
    box-shadow: 0 12px 24px rgba(15,91,86,.18);
}

.pl-btn-primary:hover{
    filter: brightness(1.03);
    box-shadow: 0 18px 36px rgba(15,91,86,.22);
    transform: translateY(-1px);
    color:#fff;
}

.pl-btn-primary:active{transform: translateY(0px) scale(.99);}

.pl-hero{
    position: relative;
    background: var(--pl-bg);
    overflow: hidden;
}

.pl-hero::before{
    content:"";
    position:absolute;
    left: -160px;
    top: -120px;
    width: 420px;
    height: 420px;
    background: rgba(176,138,85,.18);
    border-radius: 50%;
}

.pl-hero::after{
    content:"";
    position:absolute;
    left: 120px;
    top: 10px;
    width: 520px;
    height: 520px;
    background: rgba(176,138,85,.10);
    border-radius: 50%;
}

.pl-hero-inner{position:relative; padding: 54px 0 32px;}

.pl-hero h1{
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    margin-bottom: 14px;
}

.pl-accent{
    color: var(--pl-accent);
    background: #FCF5E7;
    border-radius: 10px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: .04em .18em;
    margin: 0 -.04em;
}

.pl-hero-lead{
    max-width: 520px;
    color: #4a4a4a;
    font-size: 14px;
    line-height: 1.6;
}

.pl-hero-right{position: relative;}

.pl-hero-circle{
    position:absolute;
    right: 70px;
    top: 58px;
    width: 300px;
    height: 300px;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    border-radius: 50%;
}

.pl-hero-person{
    position: relative;
    width: 500px;
    max-width: 100%;
    margin-left: 95px;
    display:block;
    z-index: 2;
}

.pl-float-card{
    position:absolute;
    z-index: 3;
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    box-shadow: 0 18px 30px rgba(0,0,0,.08);
    border-radius: 14px;
    padding: 12px 12px;
    display:flex;
    gap: 10px;
    align-items:flex-start;
}

.pl-float-card:hover{transform: translateY(-2px); box-shadow: 0 22px 40px rgba(0,0,0,.10);}

.pl-float-card small{color: var(--pl-muted);}

.pl-float-1{left: 0; top: 78px; width: 190px;}
.pl-float-2{right: 0; top: 210px; width: 240px;}

.pl-search{
    margin-top: -22px;
    position: relative;
    z-index: 4;
}

.pl-search-wrap{
    background: #fff;
    border: 1px solid #dccfbf;
    border-radius: 999px;
    box-shadow: 0 0 0 1px rgba(247, 242, 234, .96), 0 0 0 2px rgba(214, 201, 183, .78), 0 2px 5px rgba(88, 66, 35, .08), 0 8px 18px rgba(88, 66, 35, .08), inset 0 1px 0 rgba(255,255,255,.92);
    padding: 5px 8px 5px 12px;
    transition: box-shadow .2s ease, border-color .2s ease;
}

.pl-search-wrap:hover,
.pl-search-wrap:focus-within{
    border-color: #d2c1ab;
    box-shadow: 0 0 0 1px rgba(249, 244, 236, .98), 0 0 0 2px rgba(210, 193, 171, .84), 0 3px 7px rgba(88, 66, 35, .10), 0 10px 22px rgba(88, 66, 35, .10), inset 0 1px 0 rgba(255,255,255,.96);
}

.pl-search .form-select,
.pl-search .form-control{
    border: 0;
    box-shadow: none;
    background-color: transparent;
    color: #5d5144;
    height: 44px;
    font-size: 14px;
    font-weight: 500;
    padding-top: 0;
    padding-bottom: 0;
}

.pl-search .form-select{
    background-position: right 14px center;
    background-size: 15px 11px;
    padding-right: 40px;
}

.pl-search .form-control::placeholder{color: #b3a69a;}

.pl-search .form-select:focus,
.pl-search .form-control:focus{color: #4d4338;}

.pl-search-sep{
    width:1px;
    background: #ece4d9;
    align-self: center;
    min-height: 28px;
    margin: 8px 0;
}

.pl-search-action{
    border-left: 1px solid #ece4d9;
    margin-left: 2px;
    padding-left: 12px;
}

.pl-search-btn{
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border:0;
    background: transparent;
    color: #3f372f;
    font-size: 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease, background-color .2s ease;
}

.pl-search-btn i{line-height: 1;}

.pl-search-btn-text{display: none;}

.pl-search-btn:hover,
.pl-search-btn:focus-visible{
    background: rgba(92, 76, 56, .06);
    color: #241f1a;
    box-shadow: none;
}

.pl-search-btn:active{background: rgba(92, 76, 56, .10);} 

.pl-home-section{
    margin-top: 120px;
}

.pl-home-section .pl-section-title{
    margin: 0 0 20px;
}

.pl-section-title{
    font-size: 28px;
    font-weight: 800;
    margin: 44px 0 20px;
}

.pl-area-item{
    border: 0;
    background: #f3eee6;
    border-radius: 50px 0px 0px 50px;
    padding: 9px 18px 9px 10px;
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 16px;
    min-height: 62px;
    box-shadow: inset 0 0 0 1px rgba(228, 220, 209, .75);
}

.pl-area-item .left{
    display:flex;
    align-items:center;
    gap: 12px;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color:#161616;
}

.pl-area-item .left span{max-width: 250px;}

.pl-area-item .left > i{
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #fff;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    font-size: 21px;
    box-shadow: 0 1px 2px rgba(16, 16, 16, .06), inset 0 0 0 1px rgba(235, 229, 221, .95);
}

.pl-area-item .arrow{
    opacity: 1;
    color: #111;
    font-size: 28px;
    line-height: 1;
    flex: 0 0 auto;
}

.pl-area-item:hover{
    color:#fff;
    background: linear-gradient(180deg, #2c7a78 0%, #1f6664 100%);
    box-shadow: 0 14px 26px rgba(15,91,86,.18);
}

.pl-area-item.active{
    color:#fff;
    border: 0;
    background: linear-gradient(180deg, #2c7a78 0%, #1f6664 100%);
    box-shadow: 0 14px 26px rgba(15,91,86,.18);
}

.pl-area-item.active:hover{filter: brightness(1.02); box-shadow: 0 16px 30px rgba(15,91,86,.20);} 

.pl-area-item.active .left{color:#fff;}
.pl-area-item:hover .left{color:#fff;}
.pl-area-item:hover .left > i,
.pl-area-item.active .left > i{
    background: #fff;
    color: #111;
    box-shadow: 0 1px 2px rgba(16, 16, 16, .08), inset 0 0 0 1px rgba(255, 255, 255, .96);
}

.pl-area-item:hover .arrow,
.pl-area-item.active .arrow{color:#fff;}
.pl-area-item.active i,
.pl-area-item.active .arrow{color:#fff; opacity: 1;}

.pl-how{padding-top: 0;}

.pl-how-card{
    border-radius: 16px;
    border: 1px solid rgba(176,138,85,.45);
    background:#fff;
    padding: 18px;
    height: 100%;
    text-align: center;
}

.pl-how-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(0,0,0,.10);
    border-color: rgba(176,138,85,.65);
}

.pl-how-card:hover .pl-how-icon{transform: rotate(-2deg) scale(1.02);} 

.pl-how-icon{
    width: 46px;
    height: 46px;
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.45);
    display:flex;
    align-items:center;
    justify-content:center;
    position: relative;
    margin-left: auto;
    margin-right: auto;
}

.pl-how-badge{
    position:absolute;
    right: -6px;
    top: -6px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    color:#fff;
    font-size: 14px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pl-news{
    background: linear-gradient(180deg, #FFFFFF 0%, #EFECE6 100%);
    border-radius: 22px;
    padding: 60px 260px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(160, 139, 109, .08);
}

.pl-news:hover{transform: translateY(-1px); box-shadow: 0 22px 56px rgba(160, 139, 109, .10);} 

.pl-news::before{
    content:"";
    position:absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 85%, rgba(172,145,105,.10) 0 2px, transparent 3px) 0 0/44px 44px;
    opacity: .42;
    pointer-events:none;
}

.pl-news-inner{position: relative;}

/* Lawyer landing: форма за заявка — по-компактни отстояния и леко застъпване на фона над футера */
#apply{
    margin-top: 56px;
    margin-bottom: -90px;
    position: relative;
    z-index: 2;
}

#apply .pl-news{padding: 52px 64px;}

@media (max-width: 991.98px){
    #apply .pl-news{padding: 40px 20px;}
    #apply{margin-bottom: -60px;}
}

.pl-news-title{font-size: 32px; line-height: 1.15; font-weight: 800; margin: 0;}

.pl-news-body{
    max-width: 610px;
    margin-left: auto;
    margin-right: auto;
    color: #5f5b55;
    font-size: 14px;
    line-height: 1.5;
}

.pl-news-form{
    max-width: 544px;
    margin: 22px auto 0;
}

.pl-news-form-row{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.pl-news .form-control,
.pl-news-input{
    border-radius: 999px;
    height: 38px;
    background: #fff;
    color: #69625a;
    font-size: 14px;
    padding: 0 20px;
    box-shadow: none;
}

.pl-news-input{
    flex: 1 1 auto;
    min-width: 0;
}

.pl-news-input::placeholder{
    color: #b5aea5;
    font-size: 14px;
    opacity: 1;
}

.pl-news .form-control:focus,
.pl-news-input:focus{
    border-color: #d8c8af;
    box-shadow: none;
}

.pl-news-submit{
    flex: 0 0 auto;
    min-width: 160px;
    height: 54px;
    padding: 0 28px;
    font-size: 14px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Subtle hero float animation */
@keyframes pl-float{
    0%,100%{transform: translateY(0px);}
    50%{transform: translateY(-6px);}
}

.pl-float-1{animation: pl-float 6s ease-in-out infinite;}
.pl-float-2{animation: pl-float 7.5s ease-in-out infinite;}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce){
    *{transition: none !important;}
    body:not(.pl-ready) main > *{
        opacity: 1 !important;
        transform: none !important;
    }
    body.pl-ready main > *{animation: none !important;}
    .pl-float-1,.pl-float-2{animation: none !important;}
    .pl-reveal{
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

.pl-footer{
    position: relative;
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    overflow: hidden;
    border-top: 4px solid rgba(176,138,85,1.35);
    background:
        radial-gradient(120% 140% at 50% 0%, rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 52%),
        linear-gradient(90deg, #011110 0%, #03201e 42%, #07322f 100%);
    box-shadow: 0 -22px 52px rgba(0,0,0,.30);
    color: #fff;
}

.pl-footer::after{
    content:"";
    position:absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: rgba(176,138,85,.55);
    pointer-events:none;
}

.pl-footer a{color:#fff; text-decoration:none; opacity:.92;}
.pl-footer a:hover{opacity:1; text-decoration:underline;}

.pl-footer-logo{height: 76px; width:auto;}

@media (max-width: 575.98px){
    .pl-logo{height: 54px;}
    .pl-footer-logo{height: 60px;}
}

.pl-footer-title{font-weight: 700; margin-bottom: 10px;}

.pl-footer-links li{margin: 8px 0;}

.pl-footer-links a{
    font-size: 13px;
    line-height: 1.45;
}

.pl-footer-social{font-size: 18px;}

.pl-footer-bottom{border-top: 1px solid rgba(255,255,255,.12);}

.pl-footer-copy,.pl-footer-made{opacity:.9; font-size: 11px; line-height: 1.5;}

.pl-footer-copy a{font-size: inherit;}

.pl-advaworx-logo{height: 18px; width: auto; display: inline-block; vertical-align: middle;}

/* Legal pages */
.pl-legal{position: relative; background: #fff; overflow: hidden;}

.pl-legal-body{position: relative; max-width: 920px; font-size: 12px; line-height: 1.8; color: #4a4a4a;}

.pl-legal-h{
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: var(--pl-text);
    font-size: 13px;
    font-weight: 800;
    margin: 18px 0 8px;
}

/* Specialists listing */
.pl-listing{position: relative; background: #fff; overflow: hidden;}

.pl-listing::before{
    content:"";
    position:absolute;
    left: 0;
    right: 0;
    top: 240px;
    bottom: 0;
    background:
        radial-gradient(circle at 16% 20%, rgba(176,138,85,.16) 0 2px, transparent 3px) 0 0/46px 46px;
    opacity: .35;
    pointer-events:none;
}

.pl-listing .container-xxl{position: relative;}

.pl-filters{
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 18px 44px rgba(0,0,0,.06);
    font-size: 13px;
}

.pl-listing .form-label{
    font-size: 14px;
    color: #282828;
    display: block;
    text-align: left;
}

.pl-filters-clear{padding: 8px 12px;}

.pl-listing-search{
    border: 1px solid rgba(176,138,85,.55);
    background: #fff;
    border-radius: 999px;
    color: #262626;
    padding: 0 14px;
}

.pl-listing-search:hover{background: rgba(176,138,85,.10); transform: translateY(-1px);}

.pl-pill{
    border: 1px solid rgba(0,0,0,.08);
    background: #f4efe6;
    color: #3b3b3b;
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
}

.pl-specialists-count{
    font-size: 13px;
    line-height: 1.4;
}

.pl-sort-form{margin-left: auto;}

.pl-sort-label{
    font-size: 13px;
    color: #7a7a7a;
    white-space: nowrap;
}

.pl-sort-select{
    min-width: 168px;
    height: 42px;
    font-size: 13px;
}

/* Login page */
.pl-auth{
    position: relative;
    background: #fff;
    overflow: hidden;
    padding: 64px 0 84px;
}


.pl-auth .container-xxl{position: relative;}

.pl-auth-title{
    font-size: 40px;
    font-weight: 900;
    margin: 0 0 22px;
    line-height: 1.1;
}

.pl-auth-title-gold{color: #AC9169;}

.pl-auth-title-chip{
    display: inline-block;
    padding: .04em .18em;
    margin-right: 10px;
    border-radius: 10px;
    background: #FCF5E7;
    color: #AC9169;
    text-shadow: none;
    vertical-align: baseline;
}

.pl-auth-title-accent{color: var(--pl-accent);}

.pl-auth-card{
    border-radius: 22px;
    background: linear-gradient(180deg, #FFFFFF 0%, #EFECE6 100%);
    box-shadow: 0 22px 54px rgba(0,0,0,.06);
    padding: 18px;
}

.pl-auth-socials{display:flex; gap: 14px; justify-content: space-between;}

.pl-auth-social{
    flex: 1;
    height: 34px;
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: #fff;
    font-size: 12px;
    color: #222;
    font-weight: 600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap: 8px;
}

.pl-auth-social:hover{transform: translateY(-1px); box-shadow: 0 14px 30px rgba(0,0,0,.06);}

.pl-auth-sep{
    margin: 12px 0;
    display:flex;
    align-items:center;
    gap: 10px;
    color: #6a6a6a;
    font-size: 12px;
}

.pl-auth-sep::before,
.pl-auth-sep::after{
    content:"";
    height: 1px;
    background: rgba(0,0,0,.10);
    flex: 1;
}

.pl-auth-sep span{display:inline-block; padding: 0 4px;}

.pl-auth-input{
    height: 38px;
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: rgba(255,255,255,.92);
    padding-left: 14px;
    font-size: 12px;
}

.pl-auth-input:focus{
    border-color: rgba(15,91,86,.35);
    box-shadow: 0 0 0 .25rem rgba(15,91,86,.10);
}

.pl-auth-eye{
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: rgba(255,255,255,.92);
    color: #6a6a6a;
    padding: 0 14px;
}

.pl-auth-addon{
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: rgba(255,255,255,.92);
    color: #6a6a6a;
    padding: 0 14px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pl-auth-eye:hover{background: #fff; transform: translateY(-1px);}

.pl-auth-prefix{
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: rgba(255,255,255,.92);
    color: #5a5a5a;
    font-size: 12px;
    font-weight: 600;
    padding: 0 12px;
    display:inline-flex;
    align-items:center;
    gap: 8px;
}

.pl-auth-prefix:hover{background: #fff; transform: translateY(-1px);}

.pl-auth-help{
    margin: 6px 2px 10px;
    font-size: 9px;
    line-height: 1.45;
    color: rgba(0,0,0,.42);
}

.pl-auth-hint{
    margin: 4px 2px 8px;
    font-size: 10px;
    line-height: 1.4;
    color: rgba(0,0,0,.42);
}

.pl-auth-desc{
    margin: 2px 2px 12px;
    font-size: 12px;
    line-height: 1.55;
    color: rgba(0,0,0,.55);
}

.pl-auth-check{
    display:flex;
    align-items:flex-start;
    gap: 10px;
    margin: 6px 0;
    font-size: 10px;
    line-height: 1.45;
    color: #5a5a5a;
}

.pl-auth-check a{color: var(--pl-primary); font-weight: 700; text-decoration: none;}
.pl-auth-check a:hover{text-decoration: underline;}

.pl-auth-remember{font-size: 12px; color: #5a5a5a;}

.pl-auth-remember-check{
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border: 1px solid rgba(176,138,85,.45);
    background-color: #fff;
    box-shadow: none;
    cursor: pointer;
}

.pl-auth-remember-check:checked{
    background-color: var(--pl-primary);
    border-color: var(--pl-primary);
}

.pl-auth-remember-check:focus{
    border-color: rgba(15,91,86,.45);
    box-shadow: 0 0 0 .2rem rgba(15,91,86,.12);
}

.pl-auth-submit{
    width: 100%;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, #2B7876 0%, #0B4745 100%);
    color:#fff;
    font-weight: 800;
    font-size: 13px;
}

.pl-auth-submit.pl-auth-submit--compact{
    width: auto;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pl-auth-submit:hover{filter: brightness(1.03); transform: translateY(-1px);}

.pl-auth-forgot{
    display:inline-block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--pl-primary);
    text-decoration: none;
}

.pl-auth-forgot:hover{text-decoration: underline;}

.pl-auth-outline{
    width: 100%;
    margin-top: 10px;
    height: 38px;
    border-radius: 999px;
    border: 3px solid rgba(217,200,174,.50);
    background: rgba(255,255,255,.65);
    color: #222;
    font-weight: 600;
    font-size: 12px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.pl-auth-outline.pl-auth-outline--compact{
    width: auto;
    margin-top: 0;
    padding: 0 18px;
    display: inline-flex;
}

.pl-auth-outline:hover{background: #fff; transform: translateY(-1px); color: #222;}

.pl-auth-side{
    padding-top: 72px;
    text-align:center;
}

.pl-auth-side-title{
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 28px;
    font-weight: 900;
    color: #111;
}

.pl-auth-side-title span:not(.pl-auth-side-chip){color: var(--pl-accent);}

.pl-auth-side-chip{
    display: inline-block;
    padding: .04em .18em;
    border-radius: 10px;
    background: #FCF5E7;
    color: #AC9169;
    line-height: 1.2;
    text-shadow: none;
    vertical-align: baseline;
}

.pl-auth-side-text{
    margin: 10px auto 14px;
    max-width: 420px;
    font-size: 12px;
    line-height: 1.65;
    color: #5a5a5a;
}

.pl-auth-side-btn{
    height: 34px;
    padding: 0 26px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(180deg, #2B7876 0%, #0B4745 100%);
    color:#fff;
    font-weight: 700;
    font-size: 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    box-shadow: 0 14px 30px rgba(15,91,86,.16);
}

.pl-auth-side-btn:hover{filter: brightness(1.03); transform: translateY(-1px); color:#fff;}

.pl-auth-book-side{padding-top: 10px; display:flex; justify-content:center;}

.pl-book-side-card{
    width: 100%;
    max-width: 360px;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.10);
    background: rgba(244,239,230,.45);
    box-shadow: 0 12px 30px rgba(0,0,0,.05);
    padding: 12px;
}

.pl-book-side-top{display:flex; gap: 10px; align-items:flex-start;}
.pl-book-side-icon{
    width: 26px;
    height: 26px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.14);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#333;
    flex: 0 0 26px;
}

.pl-book-side-type{font-size: 14px; color:#757575; line-height: 1.25;}
.pl-book-side-address{font-size: 14px; color:#5b5b5b; margin-top: 4px; display:flex; align-items:center; gap: 5px;}
.pl-book-side-datetime{font-size: 20px; line-height: 1.06; font-weight: 500; color:#222; margin-top: 8px;}

.pl-book-side-lawyer{margin-top: 14px; display:flex; gap: 10px; align-items:flex-start;}
.pl-book-side-avatar{width: 68px; height: 68px; border-radius: 9px; object-fit: cover;}
.pl-book-side-stars{color:#e7be2e; font-size: 14px; line-height:1;}
.pl-book-side-stars span{color:#8d8d8d; margin-left: 6px; font-size: 10px;}
.pl-book-side-name{font-size: 16px; line-height: 1.15; font-weight: 700; color:#202020; margin-top: 6px;}
.pl-book-side-meta{font-size: 14px; color:#484848; margin-top: 4px;}

.pl-booking-flow .pl-auth-title{margin-bottom: 6px;}
.pl-booking-lead{font-size: 13px; color:#5a5a5a; margin: 0 0 10px;}

.pl-booking-dropdown{position: relative; max-width: 520px;}

.pl-booking-trigger{
    width: 100%;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.35);
    background: rgba(255,255,255,.95);
    padding: 0 14px;
    font-size: 12px;
    color:#595959;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.pl-booking-trigger-arrow{
    width: 16px;
    height: 10px;
    flex: 0 0 16px;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='10' viewBox='0 0 16 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.38106 1.33672H14.6169L7.99897 8.6633L1.38106 1.33672ZM0.342014 2.21762L6.95992 9.54287C7.08944 9.68644 7.24916 9.80152 7.42838 9.88036C7.60759 9.95921 7.80214 10 7.99897 10C8.1958 10 8.39035 9.95921 8.56956 9.88036C8.74878 9.80152 8.9085 9.68644 9.03802 9.54287L15.6559 2.21762C16.4369 1.35276 15.8022 4.91521e-07 14.6169 4.91521e-07H1.38106C1.11579 -0.000219837 0.856073 0.0736372 0.633015 0.212727C0.409956 0.351818 0.233013 0.550245 0.123373 0.784246C0.0137337 1.01825 -0.0239541 1.27791 0.014823 1.53212C0.0536002 1.78634 0.167198 2.02434 0.342014 2.21762Z' fill='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px 10px;
}

.pl-booking-menu{
    display:none;
    margin-top: 8px;
    max-height: 232px;
    overflow:auto;
    border-radius: 12px;
    border: 1px solid rgba(176,138,85,.35);
    background: rgba(255,255,255,.96);
    box-shadow: 0 16px 34px rgba(0,0,0,.08);
    padding: 4px;
}

.pl-booking-dropdown.is-open .pl-booking-menu{display:block;}

.pl-booking-option{
    width: 100%;
    border: 0;
    background: transparent;
    padding: 8px 10px;
    border-radius: 8px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap: 12px;
    text-align:left;
}

.pl-booking-option:hover,
.pl-booking-option.is-active{background: rgba(176,138,85,.12);}

.pl-booking-option-title{font-size: 12px; color:#333;}
.pl-booking-option-price{font-size: 12px; color:#0f5b56; font-weight: 700; white-space: nowrap;}
.pl-booking-empty{padding: 12px; font-size: 12px; color:#666;}

.pl-booking-submit{max-width: 240px; margin-top: 12px;}

.pl-book-success-hero{
    position: relative;
    background: #f4f3f1;
    padding: 56px 0 42px;
    text-align: center;
    overflow: hidden;
}

.pl-book-success-hero::before,
.pl-book-success-hero::after{
    content:"";
    position:absolute;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(176,138,85,.12);
}

.pl-book-success-hero::before{left: -72px; top: -34px;}
.pl-book-success-hero::after{right: -72px; top: -34px;}

.pl-book-success-title{
    margin: 0;
    font-size: 40px;
    font-weight: 800;
    color:#151515;
    letter-spacing: -.02em;
}

.pl-book-success-title span{color: var(--pl-accent);}

.pl-book-success-sub{
    margin: 12px auto 0;
    max-width: 980px;
    font-size: 13px;
    color:#4f4f4f;
}

.pl-book-success-body{
    position: relative;
    background: #fff;
    padding: 60px 0 120px;
}

.pl-book-success-body::before{
    content:"";
    position:absolute;
    left: 0;
    right: 0;
    top: 34px;
    bottom: 0;
    background: radial-gradient(ellipse at center, rgba(0,0,0,.06) 0 14px, transparent 15px) 0 0/64px 40px;
    opacity: .2;
    pointer-events:none;
}

.pl-book-success-card-wrap{position: relative; max-width: 1040px; margin: 0 auto; text-align:center;}

.pl-book-success-card{
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(0,0,0,.06);
    padding: 18px 22px;
    display:grid;
    grid-template-columns: 1.15fr 1fr;
    align-items: center;
    gap: 16px;
    text-align:left;
}

.pl-book-success-left{display:flex; gap: 12px; align-items:center;}
.pl-book-success-avatar{width: 74px; height: 74px; border-radius: 10px; object-fit: cover;}
.pl-book-success-stars{font-size: 12px; color:#e2bc33; line-height:1;}
.pl-book-success-stars span{color:#949494; margin-left: 6px; font-size: 10px;}
.pl-book-success-name{font-size: 36px; font-weight: 700; line-height: 1.06; color:#1b1b1b; margin-top: 6px;}
.pl-book-success-name{font-size: 18px; font-weight: 700; line-height: 1.2; color:#1b1b1b; margin-top: 6px;}
.pl-book-success-meta{font-size: 13px; color:#4e4e4e; margin-top: 4px;}

.pl-book-success-right{border-left: 1px solid rgba(0,0,0,.09); padding-left: 18px;}
.pl-book-success-type{font-size: 13px; color:#6b6b6b; display:flex; align-items:center; gap: 8px;}
.pl-book-success-address{font-size: 13px; color:#555; display:flex; align-items:center; gap: 7px; margin-top: 4px;}
.pl-book-success-dt{font-size: 24px; font-weight: 600; line-height: 1.12; color:#222; margin-top: 10px;}

.pl-book-success-btn{
    margin: 20px auto 0;
    max-width: 280px;
    text-decoration: none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (max-width: 991.98px){
    .pl-auth-side{padding-top: 8px;}
    .pl-auth-book-side{padding-top: 8px; justify-content:flex-start;}
    .pl-auth-card{max-width: none;}

    .pl-book-success-title{font-size: 34px;}
    .pl-book-success-card{grid-template-columns: 1fr;}
    .pl-book-success-right{border-left: 0; border-top: 1px solid rgba(0,0,0,.09); padding-left: 0; padding-top: 14px;}
}

@media (max-width: 575.98px){
    .pl-auth{padding: 44px 0 64px;}
    .pl-auth-title{font-size: 40px;}
    .pl-auth-socials{flex-direction: column;}

    .pl-book-success-title{font-size: 28px;}
    .pl-book-success-sub{font-size: 12px;}
    .pl-book-success-name{font-size: 16px;}
    .pl-book-success-meta{font-size: 12px;}
    .pl-book-success-type{font-size: 12px;}
    .pl-book-success-address{font-size: 12px;}
    .pl-book-success-dt{font-size: 20px;}
}

/* Lawyer landing page */
.pl-lawyer-hero{
    position: relative;
    background: var(--pl-bg);
    overflow: hidden;
}


.pl-lawyer-hero::before,
.pl-lawyer-hero::after{
    content:"";
    position:absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(176,138,85,.12);
}

.pl-lawyer-hero::before{left: -230px; top: -240px;}
.pl-lawyer-hero::after{right: -230px; top: -220px;}

.pl-lawyer-hero-inner{
    position: relative;
    padding: 78px 0 64px;
    max-width: 820px;
    margin: 0 auto;
}

.pl-lawyer-hero-title{
    font-size: 34px;
    font-weight: 800;
    margin: 0;
}

.pl-lawyer-hero-sub{
    margin-top: 6px;
    font-size: 24px;
    font-weight: 800;
    color: #222;
}

.pl-lawyer-hero-sub-accent,
.pl-lawyer-accent{
    color: var(--pl-accent);
    background: #FCF5E7;
    border-radius: 10px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    padding: .04em .18em;
    margin: 0 -.04em;
}

.pl-lawyer-hero-lead{
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.7;
    color: #5a5a5a;
    max-width: 640px;
}

.pl-lawyer-hero-cta{
    margin-top: 12px;
    height: 32px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    color:#fff;
    font-weight: 700;
    font-size: 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.pl-lawyer-hero-cta:hover{filter: brightness(1.03); transform: translateY(-1px); color:#fff;}

.pl-lawyer-title{
    font-size: 34px;
    font-weight: 800;
    margin: 0;
}

.pl-lawyer-benefits{padding: 52px 0 48px; background: #fff;}

.pl-lawyer-benefit-card{
    border-radius: 14px;
    border: 1px solid rgba(176,138,85,.55);
    background: #fff;
    box-shadow: 0 10px 26px rgba(0,0,0,.06);
    padding: 18px 16px;
}

.pl-lawyer-benefit-icon{
    width: 52px;
    height: 52px;
    border-radius: 14px;
    /* border: 1px solid rgba(0,0,0,.08); */
    background: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin: 0 auto 12px;
    font-size: 22px;
    color: #222;
}

.pl-lawyer-benefit-title{font-weight: 800; font-size: 12px; margin-bottom: 8px;}
.pl-lawyer-benefit-title{font-weight: 800; font-size: 14px; margin-bottom: 8px;}
.pl-lawyer-benefit-text{font-size: 14px; line-height: 1.65; color: #6a6a6a;}

.pl-lawyer-how{
    position: relative;
    background: #fff;
    padding: 42px 0 52px;
    overflow: hidden;
    scroll-margin-top: 100px;
}


.pl-lawyer-how .container-xxl{position: relative;}

.pl-lawyer-how-visual{position: relative; min-height: 330px;}

.pl-lawyer-how-circle{
    position:absolute;
    left: 50%;
    top: 50%;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    background: var(--pl-primary);
    transform: translate(-56%, -42%);
}

.pl-lawyer-how-laptop{
    position: relative;
    width: 540px;
    max-width: 100%;
    display:block;
    margin: 0 auto;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.12));
}

.pl-lawyer-how-callout{
    position:absolute;
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;
    box-shadow: 0 16px 30px rgba(0,0,0,.10);
    padding: 10px 12px;
    display:flex;
    gap: 10px;
    align-items:flex-start;
}

.pl-lawyer-how-callout-1{left: 0; top: 28px; width: 180px;}
.pl-lawyer-how-callout-2{right: 14px; bottom: 32px; width: 220px;}

.pl-lawyer-how-callout-badge{
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: rgba(15,91,86,.10);
    color: var(--pl-primary);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top: 2px;
}

.pl-lawyer-how-callout-title{font-weight: 800; font-size: 14px; line-height: 1.2;}
.pl-lawyer-how-callout-title{font-weight: 800; font-size: 12px; line-height: 1.2;}
.pl-lawyer-how-callout-meta{font-size: 14px; color: var(--pl-muted); margin-top: 2px;}

.pl-lawyer-how-avatar{
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.06);
    display:flex;
    align-items:center;
    justify-content:center;
    color: #555;
}

.pl-lawyer-how-name{font-weight: 800; font-size: 14px;}
.pl-lawyer-how-name{font-weight: 800; font-size: 12px;}
.pl-lawyer-how-stars{color: #f0c24b; font-size: 14px; line-height: 1; margin-top: 2px;}
.pl-lawyer-how-meta{font-size: 14px; color: var(--pl-muted); margin-top: 2px;}

.pl-lawyer-steps{margin-top: 6px; display:flex; flex-direction: column; gap: 12px;}

.pl-lawyer-step{display:flex; gap: 10px;}

.pl-lawyer-step-n{font-weight: 800; font-size: 12px; color: #111; flex: 0 0 auto; margin-top: 2px;}

.pl-lawyer-step-title{font-weight: 800; font-size: 14px;}

.pl-lawyer-step-text{font-size: 12px; line-height: 1.65; color: var(--pl-muted); margin-top: 2px; max-width: 440px;}

.pl-lawyer-btn{
    height: 34px;
    padding: 0 22px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    color:#fff;
    font-weight: 700;
    font-size: 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.pl-lawyer-btn:hover{filter: brightness(1.03); transform: translateY(-1px); color:#fff;}


.pl-lawyer-pricing{padding: 48px 0 52px; background: #fff;}

.pl-lawyer-price{
    position: relative;
    border-radius: 14px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    padding: 16px 14px;
    box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

.pl-lawyer-price-popular{border-color: rgba(176,138,85,.55);}

.pl-lawyer-price-badge{
    position:absolute;
    left: 12px;
    top: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--pl-primary);
    background: #EFECE6;
    padding: 4px 8px;
    border-radius: 999px;
}

.pl-lawyer-price-top{
    position:absolute;
    right: 12px;
    top: 12px;
    font-size: 14px;
    font-weight: 800;
    color: var(--pl-accent);
}

.pl-lawyer-price-amount{
    margin-top: 22px;
    font-weight: 900;
    font-size: 24px;
    color: #111;
}

.pl-lawyer-price-amount span{font-weight: 900; font-size: 13px;}
.pl-lawyer-price-amount span{font-weight: 900; font-size: 14px;}
.pl-lawyer-price-amount small{font-weight: 600; font-size: 14px; color: var(--pl-muted);}

.pl-lawyer-price-text{font-size: 12px; line-height: 1.65; color: var(--pl-muted); margin-top: 10px; min-height: 54px;}

.pl-lawyer-price-list{list-style: none; padding: 0; margin: 0; font-size: 12px; color: #3c3c3c;}

.pl-lawyer-price-list li{display:flex; gap: 8px; align-items:flex-start; margin: 8px 0; line-height: 1.45;}

.pl-lawyer-price-list i{color: #2f8a3f; margin-top: 2px;}

.pl-lawyer-apply{
    position: relative;
    background-image: linear-gradient(180deg, #ffffff 0%, #ffffff 56%, #f4f0e8 100%);
    padding: 96px 0 112px;
    overflow: hidden;
}

.pl-lawyer-apply::after{
    content:"";
    position:absolute;
    left: 0;
    right: 0;
    bottom: -122px;
    height: 348px;
    background: url("../images/pattern.png") center bottom/100% 100% no-repeat;
    pointer-events:none;
}

.pl-lawyer-apply .container-xxl{position: relative;}

.pl-lawyer-apply .pl-lawyer-title{
    font-size: 32px;
    line-height: 1.12;
}

.pl-lawyer-apply-lead{
    font-size: 14px;
    line-height: 1.55;
    color: #5e5852;
    max-width: 700px;
    margin-top: 18px;
}

.pl-lawyer-apply-panel{
    margin-top: 26px;
    max-width: 1048px;
      border-radius: 22px;
 
}

.pl-lawyer-form{display:flex; flex-direction: column; gap: 14px;}

.pl-lawyer-field{width: 100%;}

.pl-lawyer-input{
    height: 36px;
    border-radius: 999px;
    border: 3px solid #eadfce;
    background: #fff;
    font-size: 14px;
    color: #5e5852;
    padding: 0 14px;
    box-shadow: none;
}

.pl-lawyer-input::placeholder{color: #b2aaa0; opacity: 1;}

.pl-lawyer-input:focus{
    border-color: #d8c8af;
    box-shadow: none;
}

.pl-lawyer-phone-wrap{
    height: 36px;
    border-radius: 999px;
    border: 3px solid #eadfce;
    background: #fff;
    display:flex;
    align-items:center;
    overflow: hidden;
}

.pl-lawyer-phone-prefix{
    flex: 0 0 auto;
    display:inline-flex;
    align-items:center;
    gap: 6px;
    padding: 0 12px 0 14px;
    font-size: 14px;
    color: #4f4942;
}

.pl-lawyer-phone-prefix i{
    font-size: 11px;
    color: #8d8376;
}

.pl-lawyer-phone-input{
    border: 0;
    height: 100%;
    padding-left: 4px;
}

.pl-lawyer-phone-input:focus{border: 0;}

.pl-lawyer-phone-wrap.is-invalid{border-color: #dc3545;}

.pl-lawyer-submit{
    margin-top: 6px;
    height: 36px;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(180deg, #2B7876 0%, #0B4745 100%);
    color:#fff;
    font-weight: 700;
    font-size: 14px;
    width: 100%;
    box-shadow: 0 14px 28px rgba(15,91,86,.22);
}

.pl-lawyer-submit:hover{filter: brightness(1.03); transform: translateY(-1px); color:#fff;}

@media (max-width: 991.98px){
    .pl-lawyer-how-callout-1{left: 0; top: 10px;}
    .pl-lawyer-how-callout-2{right: 0; bottom: 16px;}
    .pl-lawyer-apply-panel{padding: 42px 56px 28px;}
}

@media (max-width: 575.98px){
    .pl-lawyer-hero-inner{padding: 64px 0 54px;}
    .pl-lawyer-hero-title{font-size: 30px;}
    .pl-lawyer-hero-sub{font-size: 22px;}
    .pl-lawyer-benefits{padding: 42px 0 42px;}
    .pl-lawyer-how-circle{width: 260px; height: 260px; transform: translate(-54%, -44%);}
    .pl-lawyer-apply{padding: 68px 0 84px;}
    .pl-lawyer-apply .pl-lawyer-title{font-size: 28px;}
    .pl-lawyer-apply-lead{font-size: 13px; margin-top: 14px;}
    .pl-lawyer-apply-panel{padding: 30px 18px 22px;}
}

.pl-pill:hover{background: rgba(176,138,85,.12); transform: translateY(-1px);}

.pl-pill.active{
    background: var(--pl-primary, #0f5b56);
    border-color: var(--pl-primary, #0f5b56);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(15,91,86,.25);
}

.pl-pill.active:hover{background: var(--pl-primary-2, #0b4e4a); color:#ffffff;}

/* Мобилни филтри — компактна лента */
.pl-mfilters{margin-bottom: 18px;}

.pl-mfilters-fields{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pl-mfilters-actions{
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.pl-mfilters-more,
.pl-mfilters-clear,
.pl-mfilters-apply{
    flex: 1;
    border: 1px solid rgba(0,0,0,.12);
    background: #f4efe6;
    color: #3b3b3b;
    border-radius: 999px;
    padding: 8px 10px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.pl-mfilters-clear{
    border: 1px solid rgba(176,138,85,.55);
    background: #fff;
    color: #262626;
    font-weight: 600;
}

.pl-mfilters-apply{
    background: var(--pl-primary);
    border-color: var(--pl-primary);
    color: #fff;
}

.pl-mfilters-more:hover,
.pl-mfilters-clear:hover{background: rgba(176,138,85,.14); color:#3b3b3b;}

.pl-mfilters-apply:hover{filter: brightness(1.03); color:#fff;}

@media (max-width: 991.98px){
    .pl-sort-form{margin-left: 0;}
}

/* Мобилни филтри — долен панел (bottom sheet) */
.pl-filters-modal input[type="date"].pl-input{
    font-size: 14px;
}

.pl-filters-modal .modal-dialog{
    position: fixed;
    left: 0; right: 0; bottom: 0;
    margin: 0;
    max-width: 100%;
    width: 100%;
}

.pl-filters-modal .modal-content{
    border: 0;
    border-radius: 22px 22px 0 0;
    background: #fff;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.pl-filters-sheet-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 8px;
}

.pl-filters-modal .modal-body{
    padding: 8px 20px 12px;
    overflow-y: auto;
}

.pl-filters-sheet-foot{
    display: flex;
    gap: 10px;
    padding: 12px 20px 20px;
}

.pl-filters-sheet-foot .btn{
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

.pl-cards{
    display:flex;
    flex-direction:column;
    gap: 16px;
}

.pl-card{
    display:flex;
    gap: 18px;
    background-color: #f3efe7;
    background-image: linear-gradient(180deg, #ffffff 0%, #ffffff 42%, #f3efe7 100%);
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 14px 30px rgba(0,0,0,.04);
    height: 100%;
}

.pl-card:hover{
    border: 1px solid rgba(176,138,85,.65);
    outline: 3px solid rgba(176,138,85,.22);
    outline-offset: 3px;
    box-shadow: 0 18px 44px rgba(0,0,0,.08);
    background-image: unset;
    transform: translateY(-2px);
    background-color: #f3efe7;
}

.pl-card-highlight{
    border-color: rgba(176,138,85,.65);
    outline: 3px solid rgba(176,138,85,.22);
    outline-offset: 3px;
    box-shadow: 0 18px 44px rgba(0,0,0,.08);
}

.pl-card-left{width: 88px; flex: 0 0 88px;}

.pl-card-body{flex: 1; min-width: 0; display:flex; flex-direction: column;}
.pl-card-actions{margin-top: auto;}

.pl-card-avatar{
    width: 88px;
    height: 88px;
    border-radius: 14px;
    object-fit: cover;
    /* background: rgba(0,0,0,.06);
    border: 1px solid rgba(0,0,0,.06); */
}

.pl-stars{color: #f0c24b; font-size: 14px;}

.pl-listing .pl-rating-count{font-size: 11px;}

.pl-card-name{font-weight: 800; font-size: 18px; margin-top: 2px; color: #151515;}
.pl-card-name:hover{color: #151515;}

.pl-card-meta{font-size: 13px; color: #4a4a4a;}

.pl-tag{
    display:inline-flex;
    align-items:center;
    border: 1px solid rgba(0,0,0,.04);
    background: rgba(255,255,255,.40);
    color: #3b3b3b;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 600;
}

.pl-card-next{font-size: 12px; color: #6a6a6a;}
.pl-card-next-strong{color: var(--pl-primary); font-weight: 800;}

.pl-card-cta{
    height: 42px;
    padding: 10px 24px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
}

@media (max-width: 575.98px){
    .pl-card{flex-direction: column;}
    .pl-card-left{width: auto;}
}

/* Page typography helpers */
.pl-page-title{
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 18px;
}

.pl-page-lead{
    max-width: 620px;
    font-size: 12px;
    line-height: 1.7;
    color: #5a5a5a;
}

/* Single specialist page */
.pl-spec-hero{
    position: relative;
    background: #f7f5f1;
    overflow: hidden;
    padding: 64px 0 76px;
}

.pl-spec-hero::before,
.pl-spec-hero::after{
    content:"";
    position:absolute;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: rgba(176,138,85,.12);
}

.pl-spec-hero::before{left: -240px; top: -240px;}
.pl-spec-hero::after{right: -240px; top: -240px;}

.pl-spec-hero .container-xxl{position: relative;}

@media (min-width: 1200px){
    .pl-spec-hero .container-xxl,
    .pl-spec-booking .container-xxl,
    .pl-spec-body .container-xxl{max-width: 1120px;}
}

.pl-spec-stars{color: #f0c24b; font-size: 12px; line-height: 1;}
.pl-spec-stars-row{display:flex; align-items:center; gap: 10px; flex-wrap: wrap;}
.pl-spec-stars-main{display:inline-flex; align-items:center;}
.pl-spec-rating{font-size: 12px; color: var(--pl-muted);}
.pl-spec-stars .pl-rating-count{font-size: 11px; color:#8c847a;}

.pl-spec-reviews-jump{
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: transparent;
    color: #AC9169;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration: none;
}

.pl-spec-reviews-jump:hover{color: #8d744f;}

.pl-spec-name{font-size: 34px; font-weight: 800; margin: 0 0 2px; letter-spacing: -.01em;}
.pl-spec-meta{font-size: 20px; color: #6f675d;}

.pl-spec-desc{margin-top: 8px; font-size: 14px; line-height: 1.7; color: #67615b; max-width: 780px;}

.pl-spec-photo-wrap{
    width: 100%;
    max-width: 152px;
    margin-left: auto;
    border-radius: 7px;
    overflow: hidden;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
}

.pl-spec-photo{width: 100%; height: 188px; object-fit: cover; display:block;}

.pl-spec-booking{background: #fff; padding: 0; margin-top: 80px;}

.pl-spec-book-card{
    width: 100%;
    margin: 0;
    border-radius: 12px;
border: 5px solid #EFECE6B2;    background: #fff;
    box-shadow: 0 6px 16px rgba(0,0,0,.045);
    padding: 10px 10px 9px;
}

.pl-spec-book-head{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    padding: 1px 2px 8px;
    margin-bottom: 2px;
}

.pl-spec-book-left{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pl-spec-book-title{font-weight: 800; font-size: 14px; color:#111;}

.pl-spec-book-modes{display:flex; gap: 8px; align-items:center;}

.pl-spec-book-next{
    font-size: 14px;
    color: #756d63;
    white-space: nowrap;
    margin-left: auto;
}

.pl-spec-book-next strong{
    color: #0f5b56;
    font-weight: 800;
}

.pl-spec-book-next-link{
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dashed rgba(15,91,86,.45);
}

.pl-spec-book-next-link:hover strong{text-decoration: underline;}

#pl-booking{scroll-margin-top: 90px;}

.pl-spec-pill{
    height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: #efede8;
    font-size: 11px;
    font-weight: 700;
    color:#4a4a4a;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.pl-spec-pill i{font-size: 11px; line-height: 1;}

.pl-spec-pill-active{
    background: var(--pl-primary, #0f5b56);
    border-color: var(--pl-primary, #0f5b56);
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(15,91,86,.25);
}

.pl-spec-pill-active svg,
.pl-spec-pill-active i{color: #ffffff;}

.pl-spec-pill-active svg path{fill: #ffffff;}

.pl-spec-calendar{display:flex; align-items: stretch; gap: 10px;}

.pl-spec-cal-head{
    display:grid;
    grid-template-columns: 30px minmax(0, 1fr) 30px;
    align-items:start;
    width:100%;
    gap: 10px;
}

.pl-spec-cal-window{
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scroll-behavior: smooth;
}

.pl-spec-cal-nav{
    width: 24px;
    min-width: 24px;
    border: 0;
    background: transparent;
    color:#5e554c;
    padding: 0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow: none;
}

.pl-spec-cal-nav:hover{color:#111; transform: translateY(-1px);}

.pl-spec-cal-nav i{font-size: 14px;}

.pl-spec-cal-nav-prev,
.pl-spec-cal-nav-next{margin-top: 4px;}

.pl-spec-cal-grid{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 4px 6px 8px;
    border-radius: 10px;
    background: #fff;
    min-width: max-content;
}

.pl-spec-day-col{
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 150px;
}

.pl-spec-day{
    display:flex;
    flex-direction: column;
    justify-content:center;
    align-items:center;
    border-radius: 12px;
    padding: 8px 10px;
}

.pl-spec-day-col:hover .pl-spec-day{background: rgba(172,145,105,.10);}

.pl-spec-day-name{font-size: 13px; font-weight: 500; color:#24211d;}
.pl-spec-day-date{font-size: 14px; font-weight: 600; color: #a38b67; margin-top: 2px;}

.pl-spec-day-slots{
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 200px;
}

.pl-spec-slot{
    height: 33px;
    width: 100%;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: #eeebe4;
    font-size: 10px;
    font-weight: 700;
    color:#444;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration: none;
}

.pl-spec-slot:hover{
    background: #e6ded1;
    border-color: rgba(172,145,105,.40);
    color: #1a1a1a;
}

.pl-spec-slot-empty{border-color: transparent; background: transparent;}

.pl-spec-contacts{display:flex; gap: 16px; flex-wrap: wrap; padding: 14px 2px; color: #4a4a4a; align-items:center; width: 100%;}
.pl-spec-contact{font-size: 11px; display:flex; align-items:center; gap: 6px; position: relative;}
.pl-spec-contact + .pl-spec-contact::before{
    content: "|";
    color: rgba(0,0,0,.35);
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
}
.pl-spec-contact i{opacity: .8;}

.pl-spec-body{background: #fff; padding: 80px 0;}

.pl-spec-h{font-weight: 800; font-size: 14px; color:#111; margin-bottom: 6px;}
.pl-spec-p{font-size: 14px; line-height: 1.7; color: #5a5a5a;}

.pl-spec-block{margin-bottom: 24px;}

.pl-spec-ul{padding-left: 16px; margin: 0; font-size: 14px; line-height: 1.75; color: #5a5a5a;}
.pl-spec-ul li{margin: 6px 0;}

.pl-spec-side{padding-top: 6px;}
.pl-spec-side-block{border-left: 0;}
.pl-spec-side-h{font-weight: 800; font-size: 13px; margin-bottom: 10px;}

.pl-spec-chips{display:flex; gap: 10px; flex-wrap: wrap;}

.pl-spec-chip{
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(176,138,85,.12);
    font-size: 11px;
    font-weight: 700;
    color:#222;
    display:inline-flex;
    align-items:center;
}

.pl-spec-services{margin-top: 80px;}

.pl-spec-services-head{display:flex; align-items:center; justify-content: space-between; gap: 12px; flex-wrap: wrap;}

.pl-spec-services-card{
    margin-top: 10px;
    border-radius: 14px;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(255,255,255,.82);
    padding: 12px;
}

.pl-spec-service-row{display:flex; align-items:flex-start; justify-content: space-between; gap: 14px; padding: 8px 10px; border-radius: 10px;}
.pl-spec-service-row + .pl-spec-service-row{border-top: 1px solid rgba(0,0,0,.06);}

.pl-spec-service-name{font-size: 11px; color:#3b3b3b;}
.pl-spec-service-price{font-size: 11px; font-weight: 800; color: var(--pl-primary); white-space: nowrap;}

.pl-spec-reviews{margin-top: 80px; scroll-margin-top: 100px;}

.pl-spec-reviews-title{display:flex; align-items:center; gap: 10px; margin-bottom: 12px;}

.pl-spec-rev-bubble{
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.pl-spec-review{
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,.04);
    padding: 10px 10px;
    margin-bottom: 10px;
}

.pl-spec-review-head{display:flex; align-items:center; gap: 10px;}

.pl-spec-review-name{font-weight: 800; font-size: 12px;}
.pl-spec-review-stars{color: #f0c24b; font-size: 14px; line-height: 1;}
.pl-spec-review-date{margin-left: auto; font-size: 10px; color: var(--pl-muted);}

.pl-spec-review-text{margin-top: 6px; font-size: 14px; line-height: 1.7; color: #5a5a5a;}

.pl-spec-more{
    margin-top: 6px;
    border: 0;
    background: transparent;
    color: #333;
    font-size: 12px;
    font-weight: 700;
    display:inline-flex;
    align-items:center;
    gap: 6px;
}

.pl-spec-report-trigger{
    margin-top: 12px;
    border: 0;
    background: transparent;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0d5c57;
    font-size: 14px;
    font-weight: 500;
}

.pl-spec-report-icon{
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid rgba(13, 92, 87, .45);
    background: rgba(13, 92, 87, .06);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1;
}

.pl-spec-report-trigger:hover{opacity: .9;}

@media (max-width: 991.98px){
    .pl-spec-hero{padding: 40px 0 48px;}
    .pl-spec-photo-wrap{max-width: 220px; margin: 14px 0 0;}
    .pl-spec-photo{height: 240px;}
    .pl-spec-calendar{gap: 8px;}
    .pl-spec-day-col{min-width: 140px;}
    .pl-spec-booking{margin-top: 56px;}
    .pl-spec-body{padding: 56px 0;}
    .pl-spec-services,
    .pl-spec-reviews{margin-top: 56px;}
}

@media (max-width: 575.98px){
    .pl-spec-book-card{padding: 12px;}
    .pl-spec-cal-grid{gap: 8px;}
    .pl-spec-cal-head{grid-template-columns: 28px minmax(0, 1fr) 28px; gap: 6px;}
    .pl-spec-day-col{min-width: 130px;}
}

.pl-page-lead a{color: var(--pl-primary); font-weight: 600; text-decoration: none;}
.pl-page-lead a:hover{text-decoration: underline;}

/* 404 page */
.pl-404{
    position: relative;
    background: #fff;
    overflow: hidden;
}

.pl-404::before{
    content:"";
    position:absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 62%;
    background:
        radial-gradient(circle at 14% 18%, rgba(176,138,85,.16) 0 2px, transparent 3px) 0 0/44px 44px;
    opacity: .35;
    pointer-events:none;
}

.pl-404-inner{position: relative; padding: 70px 0 54px;}

.pl-404-title{
    font-size: 44px;
    line-height: 1.15;
    font-weight: 800;
    margin: 0 0 14px;
}

.pl-404-lead{
    max-width: 520px;
    color: #4a4a4a;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 22px;
}

.pl-404-right{position: relative; min-height: 360px;}

.pl-404-circle{
    position:absolute;
    right: 36px;
    top: 28px;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
}

.pl-404-person{
    position: relative;
    width: 420px;
    max-width: 100%;
    margin-left: auto;
    display:block;
    z-index: 2;
}

@media (max-width: 991.98px){
    .pl-404-inner{padding: 44px 0 34px;}
    .pl-404-title{font-size: 34px;}
    .pl-404-circle{right: 12px; top: 18px; width: 270px; height: 270px;}
    .pl-404-right{min-height: 300px;}
    .pl-404-person{width: 360px;}
}

/* Contact page */
.pl-contact-bg{
    background: #fff;
    position: relative;
    z-index: 2;
    /* 120px видимо разстояние между формата и футера —
       фонът над футера (300px) минава леко под панела */
    margin-bottom: -180px;
}

@media (max-width: 575.98px){
    /* фонът над футера е 150px на мобилно */
    .pl-contact-bg{margin-bottom: -30px;}
}

.pl-contact-lead{
    max-width: none;
}

@media (min-width: 992px){
    .pl-contact-lead{
        max-width: none;
        padding-left: 28px;
        padding-right: 28px;
    }
}

.pl-contact-panel{
    background: linear-gradient(180deg, #FFFFFF 0%, #EFECE6 100%);
    border-radius: 22px;
    padding: 28px;
    position: relative;
    overflow: hidden;
}



.pl-contact-panel > .row{position: relative;}

.pl-contact-left{
    /* background: #dedbd4; */
    border-radius: 16px;
    padding: 20px;
    height: 100%;
    
}

.pl-contact-info{
    display:flex;
    gap: 12px;
    align-items:center;
    background: #EFECE6;
    border-radius: 50px 12px 12px 50px;
    padding: 12px 14px;
    margin-bottom: 12px;
}

.pl-info-icon{
    width: 42px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    display:flex;
    align-items:center;
    justify-content:center;
    color: #0b0b0b;
}

.pl-info-title{font-size: 14px; color:#3b3b3b; font-weight: 700;}
.pl-info-value{font-size: 12px; color:#3b3b3b;}

.pl-contact-social{
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background: rgba(255,255,255,.9);
    color: #1f1f1f;
    box-shadow: 0 6px 14px rgba(0,0,0,.07);
    text-decoration:none;
}

.pl-contact-social--facebook i{color:#1877F2;}

.pl-contact-social--instagram i{
    background: linear-gradient(45deg, #F58529 0%, #DD2A7B 45%, #8134AF 72%, #515BD4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.pl-contact-social:hover{transform: translateY(-2px); filter: brightness(1.02);}

.pl-contact-formwrap{
    border-radius: 18px;
    padding: 18px;
    height: 100%;
}

.pl-contact-formwrap .pl-input{
    background: #fbfbfa;
    border: 3px solid #eadfce !important;
}

.pl-contact-formwrap .pl-input.is-invalid{
    border-color: #e06759 !important;
    box-shadow: none;
}

.pl-contact-formwrap .invalid-feedback{
    display: block;
    margin-top: 6px;
    padding-left: 6px;
    font-size: 12px;
    color: #e06759;
}

.pl-input{
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.60);
    height: 42px;
    padding: 0 16px;
    font-size: 12px;
}

.pl-textarea{
    border-radius: 14px;
    height: auto;
    padding-top: 12px;
}

.pl-input:focus{
    border-color: rgba(15,91,86,.45);
    box-shadow: 0 0 0 .25rem rgba(15,91,86,.10);
}

.pl-contact-submit{height: 42px; padding: 0 18px;}

@media (max-width: 575.98px){
    .pl-page-title{font-size: 28px;}
    .pl-contact-panel{padding: 16px;}
}

@media (max-width: 575.98px){
    .pl-footer-pattern{height: 150px;}
}

@media (max-width: 575.98px){
    .pl-footer{
        border-top-left-radius: 18px;
        border-top-right-radius: 18px;
    }
}

@media (max-width: 991.98px){
    .pl-hero-inner{padding: 32px 12px 18px;}
    .pl-hero h1{font-size: 34px;}
    .pl-float-1,.pl-float-2{display:none;}
    .pl-hero-person{display:none;}
    .pl-hero-circle{right: 10px; top: 20px; width: 240px; height: 240px;}
    .pl-news{padding: 52px 64px;}
}

@media (max-width: 575.98px){
    .pl-search-wrap{border-radius: 22px;}
    .pl-search-sep{display:none;}
    .pl-search-action{
        border-left: 0;
        margin-left: 0;
        padding-left: 0;
    }
    .pl-search-btn{
        width: 100%;
        background: var(--pl-primary, #0f5b56);
        color: #ffffff;
        font-size: 15px;
        font-weight: 700;
        gap: 8px;
    }
    .pl-search-btn:hover,
    .pl-search-btn:focus-visible{
        background: var(--pl-primary-2, #0b4e4a);
        color: #ffffff;
    }
    .pl-search-btn-text{display: inline;}
    .pl-home-section{margin-top: 72px;}
    .pl-news{padding: 40px 20px;}
    .pl-news-title{font-size: 24px;}
    .pl-news-form-row{
        flex-direction: column;
        gap: 14px;
    }
    .pl-news-input,
    .pl-news-submit{
        width: 100%;
    }
}

/* =========================
   Profile
========================= */
.pl-profile{
    padding: 48px 0 80px;
}

.pl-profile-grid{
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: start;
}

.pl-profile-side{
    border-radius: 0;
    background: transparent;
    border: 0;
    padding: 4px 0;
}

.pl-profile-nav{
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pl-profile-link{
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 14px;
    border-radius: 50px 10px 10px 50px;
    color: #163b37;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    background: transparent;
    border: 0;
    text-align: left;
}

.pl-profile-link i{
    font-size: 16px;
    width: 20px;
    text-align: center;
    color: rgba(12, 29, 24, .74);
}

.pl-profile-link:hover{
    background: rgba(176, 138, 85, .10);
}

.pl-profile-link.active{
    background:  #EFECE6;
    color: #163b37;
    font-weight: 700;
}

.pl-profile-link.active i{
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(176, 138, 85, .35);
}

.pl-profile-logout{
    margin-top: 6px;
}

.pl-profile-main{
    min-width: 0;
}

.pl-profile-table{
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(12, 29, 24, .12);
    overflow: hidden;
}

.pl-profile-tabs{
    display: flex;
    gap: 10px;
    padding: 14px 18px;
    background: #fff;
}

.pl-profile-tab{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
    font-size: 13px;
    color: var(--pl-dark);
    background: rgba(176, 138, 85, .10);
    border: 1px solid rgba(176, 138, 85, .22);
}

.pl-profile-tab:hover{background: rgba(176, 138, 85, .14);}

.pl-profile-tab.active{
    background: rgba(176, 138, 85, .18);
    border-color: rgba(176, 138, 85, .28);
}

.pl-reservation-tabs{
    gap: 24px;
    padding: 14px 18px 18px;
}

.pl-reservation-tabs .pl-profile-tab{
    min-width: 118px;
    height: 40px;
    padding: 0 18px;
    border-radius: 999px;
    background: #f1ede6;
    border: 1px solid transparent;
    color: rgba(64, 61, 57, .54);
    font-size: 13px;
    font-weight: 500;
}

.pl-reservation-tabs .pl-profile-tab:hover{
    background: #ece6dd;
    color: rgba(64, 61, 57, .72);
}

.pl-reservation-tabs .pl-profile-tab.active{
    background: #fff;
    border-color: rgba(176, 138, 85, .88);
    color: #4b4338;
    font-weight: 500;
}

.pl-profile-head{
    display: grid;
    grid-template-columns: 1.05fr 1.55fr .7fr;
    gap: 18px;
    padding: 16px 18px;
    font-weight: 700;
    color: rgba(12, 29, 24, .75);
}

.pl-profile-head div{
    font-size: 13px;
}

.pl-profile-card{
    padding: 6px 0;
}

.pl-profile-empty{
    padding: 26px 18px;
    color: rgba(12, 29, 24, .70);
    font-weight: 600;
}

.pl-profile-row{
    display: grid;
    grid-template-columns: 1.05fr 1.55fr .7fr;
    gap: 18px;
    padding: 18px 18px;
    border-top: 1px solid rgba(12, 29, 24, .08);
}

.pl-profile-row-details{
    padding-top: 0;
    border-top: 0;
}

.pl-profile-inline{
    grid-column: 1 / -1;
    margin-top: 10px;
}

.pl-profile-inline-form{
    border-radius: 16px;
    /* border: 1px solid rgba(176, 138, 85, .30); */
    /* background: rgba(246, 242, 235, .55); */
    padding: 14px;
}

.pl-profile-inline-title{
    font-weight: 800;
    margin-bottom: 10px;
}

.pl-profile-label{
    font-size: 12px;
    color: rgba(12, 29, 24, .70);
    font-weight: 700;
    margin-bottom: 6px;
}

.pl-profile-inline-btn{
    width: 100%;
    height: 42px;
}

.pl-profile-panel{
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(12, 29, 24, .12);
    padding: 22px;
}

.pl-profile-form-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    margin-bottom: 18px;
}

.pl-profile-save{
    height: 42px;
    width: 140px;
}

.pl-settings-panel{
    border-radius: 18px;
    background: rgba(246, 242, 235, .74);
    border: 1px solid rgba(176, 138, 85, .28);
    padding: 18px 18px 16px;
}

.pl-settings-form{
    width: 100%;
}

.pl-settings-fields-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 18px;
    row-gap: 10px;
    align-items: end;
}

.pl-settings-field{
    position: relative;
}

.pl-settings-field .pl-input{
    padding-right: 40px;
    height: 42px;
    font-size: 12px;
}

.pl-settings-eye{
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: rgba(12, 29, 24, .45);
    line-height: 1;
    padding: 2px;
}

.pl-settings-eye:hover{color: rgba(12, 29, 24, .68);}

.pl-settings-eye i{font-size: 13px;}

.pl-settings-fields-grid > :nth-child(3){
    grid-column: 1 / 2;
}

.pl-settings-block{margin-top: 14px;}

.pl-settings-title{
    font-weight: 800;
    margin-bottom: 8px;
    font-size: 26px;
}

.pl-settings-check{
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 12px;
    color: rgba(12, 29, 24, .80);
    margin-top: 6px;
}

.pl-settings-save{
    margin-top: 14px;
    border: 0;
    color:#fff;
    padding: 8px 28px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 16px;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    box-shadow: 0 12px 24px rgba(15,91,86,.18);
}

.pl-settings-save:hover{
    filter: brightness(1.03);
    box-shadow: 0 18px 36px rgba(15,91,86,.22);
    transform: translateY(-1px);
}

.pl-settings-save:active{transform: translateY(0px) scale(.99);}

.pl-settings-deactivate-wrap{
    margin-top: 10px;
}

.pl-settings-deactivate-link{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: var(--pl-primary);
    font-weight: 700;
    padding: 0;
    font-size: 12px;
}

.pl-settings-deactivate-link:hover{text-decoration: underline;}

/* =========================
   Settings page exact-fit
========================= */
.pl-settings-page .pl-profile-grid{
    grid-template-columns: 260px 1fr;
    gap: 18px;
}

.pl-settings-page .pl-profile-side{
    padding: 14px;
}

.pl-settings-page .pl-settings-panel{
    width: 100%;
    max-width: 100%;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(12, 29, 24, .12);
    padding: 22px;
}

.pl-settings-page .pl-profile-label{
    font-size: 12px;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 6px;
}

.pl-settings-page .pl-settings-fields-grid{
    column-gap: 14px;
    row-gap: 8px;
}

.pl-settings-page .pl-settings-field .pl-input{
    height: 42px;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    border-color: rgba(176,138,85,.60);
    background: #fff;
}

.pl-settings-page .pl-settings-field .pl-input::placeholder{
    color: rgba(12,29,24,.42);
}

.pl-settings-page .pl-settings-eye{
    width: 20px;
    height: 20px;
    border: 1px solid rgba(176,138,85,.35);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    right: 8px;
    padding: 0;
    background: rgba(255,255,255,.32);
}

.pl-settings-page .pl-settings-eye i{font-size: 10px;}

.pl-settings-page .pl-settings-block{margin-top: 12px;}

.pl-settings-page .pl-settings-title{
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.2;
    margin-bottom: 8px;
    font-weight: 500;
}

.pl-settings-page .pl-settings-check{
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.25;
}

.pl-settings-page .pl-settings-check .form-check-input{
    margin-top: 1px !important;
    width: 14px;
    height: 14px;
    border-color: rgba(176,138,85,.60);
    accent-color: #d9cdb8;
}

.pl-settings-page .pl-settings-save{
    margin-top: 14px;
    padding: 7px 30px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.pl-settings-page .pl-settings-deactivate-wrap{margin-top: 8px;}

.pl-settings-page .pl-settings-deactivate-link{
    font-size: 14px;
    font-weight: 500;
    color: #0f5b56;
}

/* Lawyer profile pixel-fit */
.pl-lawyer-profile-panel{
    padding: 14px;
    background: rgba(246, 242, 235, .74);
    border: 1px solid rgba(176, 138, 85, .24);
}

.pl-lawyer-profile-top{
    display: grid;
    grid-template-columns: 86px 1fr;
    gap: 12px;
    align-items: start;
    margin-bottom: 10px;
}

.pl-lawyer-avatar-box{
    width: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pl-lawyer-avatar-preview{
    
    width: 120px;
    height: 150px;
    border-radius: 12px;
    border: 1px solid rgba(176,138,85,.35);
    object-fit: cover;
    background: rgba(246,242,235,.8);
}

.pl-lawyer-avatar-box .pl-input{
    height: 28px;
    font-size: 10px;
    padding: 4px 8px;
}

.pl-lawyer-avatar-placeholder{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 74px 40px;
}

.pl-lawyer-avatar-actions{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pl-lawyer-avatar-btn{
    border: 1px solid rgba(176, 138, 85, .45);
    background: rgba(255,255,255,.92);
    color: #2c2c2c;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 8px 12px;
    white-space: nowrap;
}

.pl-lawyer-avatar-btn:hover{
    background: rgba(176,138,85,.12);
}

.pl-lawyer-avatar-btn:disabled{
    opacity: .45;
    cursor: not-allowed;
    background: rgba(255,255,255,.7);
}

.pl-lawyer-schedule-panel{
    padding: 18px 14px 16px;
}

.pl-lawyer-schedule-top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.pl-lawyer-schedule-top h5{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.pl-lawyer-week-picker .pl-input{
    height: 42px;
    min-width: 178px;
    border-radius: 999px;
    border-color: rgba(176,138,85,.65);
    font-size: 13px;
    background: rgba(255,255,255,.75);
}

.pl-lawyer-schedule-add{
    display: grid;
    grid-template-columns: auto 185px 165px 58px;
    gap: 10px;
    align-items: center;
    margin-bottom: 14px;
}

.pl-lawyer-schedule-modes{
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

.pl-lawyer-toggle input{display:none;}

.pl-lawyer-toggle span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 106px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.65);
    font-size: 13px;
    color: rgba(12,29,24,.78);
    background: rgba(255,255,255,.62);
}

.pl-lawyer-schedule-modes .pl-lawyer-toggle > span svg{
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.pl-lawyer-toggle input:checked + span{
    background: rgba(216,206,188,.55);
    border-color: rgba(176,138,85,.85);
    color: rgba(12,29,24,.92);
}

.pl-lawyer-schedule-add .pl-input{
    height: 42px;
    border-radius: 999px;
    border-color: rgba(176,138,85,.65);
    background: rgba(255,255,255,.75);
}

.pl-lawyer-plus-btn{
    width: 58px;
    height: 42px;
    border-radius: 999px;
    border: 0;
    font-size: 20px;
    font-weight: 500;
    color: #fff;
    background: linear-gradient(180deg, #1b7a73 0%, #0f5b56 100%);
}

.pl-lawyer-week-grid-wrap{
    border: 4px solid rgba(215,211,206,.9);
    border-radius: 18px;
    padding: 10px 8px;
    background: rgba(255,255,255,.45);
    overflow-x: auto;
}

.pl-lawyer-week-scroll-head{
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 0 4px 8px;
}

.pl-lawyer-week-arrow{
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.55);
    background: rgba(255,255,255,.72);
    color: rgba(12,29,24,.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.pl-lawyer-week-arrow:hover{
    background: rgba(176,138,85,.14);
}

.pl-lawyer-week-grid{
    min-width: 3840px;
    display: grid;
    grid-template-columns: repeat(30, minmax(118px, 1fr));
    gap: 8px;
}

.pl-lawyer-day-head{
    text-align: center;
    margin-bottom: 8px;
    color: rgba(12,29,24,.80);
}

.pl-lawyer-day-head > div:first-child{
    font-size: 14px;
}

.pl-lawyer-day-head > div:last-child{
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.pl-lawyer-day-body{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pl-lawyer-slot-chip{
    min-height: 34px;
    border-radius: 999px;
    background: rgba(220,216,211,.74);
    color: rgba(12,29,24,.72);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 11px;
    font-size: 13px;
    line-height: 1;
}

.pl-lawyer-slot-remove{
    border: 0;
    background: transparent;
    color: rgba(0,0,0,.36);
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

.pl-lawyer-slot-empty{
    min-height: 34px;
    border-radius: 999px;
    background: rgba(220,216,211,.30);
    color: rgba(12,29,24,.30);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.pl-lawyer-slot-add{
    height: 34px;
    border-radius: 999px;
    border: 0;
    background: rgba(220,216,211,.85);
    color: rgba(12,29,24,.85);
    font-size: 24px;
    line-height: 1;
}

.pl-lawyer-schedule-hint{
    margin: 10px 0 14px;
    font-size: 13px;
    color: rgba(12,29,24,.55);
}

.pl-lawyer-slot-toggle{
    position: relative;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    margin: 0;
}

.pl-lawyer-slot-toggle input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pl-lawyer-slot-busy,
.pl-lawyer-slot-toggle:has(input:checked){
    background: rgba(12,29,24,.85);
    color: rgba(255,255,255,.92);
}

.pl-lawyer-slot-booked{
    justify-content: center;
    background: rgba(220,216,211,.30);
    color: rgba(12,29,24,.35);
    text-decoration: line-through;
    cursor: not-allowed;
}

.pl-lawyer-schedule-save{
    margin-top: 16px;
    width: 160px;
    height: 46px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
}

.pl-lawyer-pricing-panel{
    padding: 14px 20px 22px;
}

.pl-lawyer-pricing-panel h5{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.pl-lawyer-pricing-check{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(12,29,24,.84);
    margin-bottom: 12px;
}

.pl-lawyer-pricing-check .form-check-input{
    width: 18px;
    height: 18px;
    border-color: rgba(176,138,85,.55);
    margin-top: 0;
}

.pl-lawyer-pricing-toggles{
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}

.pl-lawyer-pricing-panel .pl-lawyer-toggle span{
    min-width: 128px;
    height: 40px;
    font-size: 14px;
    font-weight: 500;
    gap: 8px;
}

.pl-lawyer-pricing-panel .pl-lawyer-toggle i{
    font-size: 14px;
}

.pl-lawyer-services-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pl-lawyer-service-row{
    display: grid;
    grid-template-columns: 1fr 156px auto 30px;
    gap: 12px;
    align-items: center;
}

.pl-lawyer-service-modes{
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.pl-lawyer-service-mode{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(12,29,24,.82);
    white-space: nowrap;
}

.pl-lawyer-service-mode input[type="checkbox"]{
    margin-top: 0;
}

.pl-lawyer-service-title,
.pl-lawyer-service-price{
    height: 40px;
    border-radius: 999px;
    border: 3px solid rgba(216,206,188,.95);
    background: rgba(255,255,255,.52);
    font-size: 14px;
    line-height: 1;
    color: rgba(12,29,24,.82);
}

.pl-lawyer-service-title{padding-left: 14px;}

.pl-lawyer-service-price-wrap{
    position: relative;
}

.pl-lawyer-service-price{
    padding-right: 32px;
}

.pl-lawyer-service-price-wrap span{
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: rgba(12,29,24,.75);
    pointer-events: none;
}

.pl-lawyer-service-remove{
    border: 0;
    background: transparent;
    color: #1a1a1a;
    font-size: 30px;
    line-height: 1;
    padding: 0;
}

.pl-lawyer-add-service-btn{
    margin-top: 12px;
    min-width: 182px;
    height: 40px;
    border-radius: 999px;
    border: 2px solid rgba(176,138,85,.65);
    background: rgba(255,255,255,.70);
    font-size: 14px;
    font-weight: 500;
    color: rgba(12,29,24,.88);
}

.pl-lawyer-pricing-save{
    margin-top: 16px;
    width: 136px;
    height: 40px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
}

.pl-lawyer-subscription-panel{
    padding: 14px 16px;
}

.pl-lawyer-subscription-head{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.pl-lawyer-subscription-actions{
    margin-top: 10px;
}

.pl-lawyer-dash .pl-lawyer-green-btn{
    width: auto;
    min-width: 132px;
    padding: 0 24px;
    height: 42px;
    font-size: 14px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pl-subscription-card-btn{
    min-width: 180px;
}

.pl-lawyer-subscription-title{
    font-size: 18px;
    font-weight: 700;
}

.pl-lawyer-subscription-plan-line{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0;
    color: rgba(12,29,24,.9);
}

.pl-lawyer-subscription-plan-row{
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.55);
}

.pl-lawyer-subscription-badge{
    border-radius: 999px;
    background: rgba(216,229,224,.9);
    color: #1f5f5a;
    font-size: 12px;
    padding: 3px 10px;
}

.pl-lawyer-subscription-table{margin-top: 4px;}

.pl-lawyer-subscription-row{
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid rgba(255,255,255,.55);
    color: rgba(12,29,24,.85);
    font-size: 14px;
}

.pl-lawyer-subscription-invoice{
    color: rgba(12,29,24,.55);
    text-decoration: none;
}

.pl-lawyer-subscription-invoice:hover{color: rgba(12,29,24,.85);}

.pl-lawyer-subscription-warning{
    color: #c41818;
    font-size: 14px;
    margin-top: 0;
}

.pl-lawyer-subscription-status-row{
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.pl-lawyer-subscription-status-row .pl-lawyer-subscription-warning{
    flex: 1 1 auto;
}

.pl-lawyer-subscription-status-row .pl-lawyer-green-btn{
    flex: 0 0 auto;
}

.pl-subscription-modal .modal-content{
    border-radius: 18px;
    border: 4px solid rgba(216,206,188,.75);
}

.pl-subscription-modal .modal-title{
    width: 100%;
    text-align: center;
    font-size: 42px;
    font-weight: 800;
}

.pl-subscription-modal .modal-title span{color: var(--pl-accent);}

.pl-subscription-subtitle{
    text-align: center;
    color: rgba(12,29,24,.65);
    font-size: 13px;
    margin: 4px 0 14px;
}

.pl-subscription-plans-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.pl-subscription-plan-card{
    border-radius: 14px;
    border: 1px solid rgba(216,206,188,.85);
    background: rgba(255,255,255,.82);
    padding: 12px;
}

.pl-subscription-plan-card.is-featured{
    border-color: rgba(176,138,85,.75);
}

.pl-subscription-plan-chip{
    display: inline-flex;
    border-radius: 999px;
    background: rgba(216,229,224,.9);
    color: #1f5f5a;
    font-size: 12px;
    padding: 3px 9px;
}

.pl-subscription-plan-price{
    margin: 8px 0 10px;
    font-size: 40px;
    line-height: 1;
    font-weight: 800;
}

.pl-subscription-plan-price span{
    font-size: 14px;
    font-weight: 500;
}

.pl-subscription-plan-list{
    margin: 12px 0 0;
    padding-left: 18px;
    color: rgba(12,29,24,.82);
    font-size: 13px;
    display: grid;
    gap: 6px;
}

@media (max-width: 1200px){
    .pl-subscription-plans-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 768px){
    .pl-subscription-modal .modal-title{font-size: 28px;}
    .pl-subscription-plans-grid{grid-template-columns: 1fr;}
    .pl-lawyer-subscription-plan-row{flex-direction: column; align-items: flex-start;}
    .pl-lawyer-subscription-status-row{flex-direction: column; align-items: flex-start;}
}

.pl-lawyer-profile-pills{
    display: flex;
    gap: 8px;
    align-items: center;
    padding-top: 16px;
}

.pl-lawyer-profile-pills .pl-profile-tab{
    font-size: 10px;
    padding: 7px 14px;
    border-radius: 999px;
}

.pl-lawyer-profile-grid{
    gap: 14px 18px;
}

.pl-lawyer-profile-grid .pl-profile-label{
    margin-bottom: 6px;
    font-size: 10px;
    color: rgba(12,29,24,.62);
    font-weight: 600;
}

.pl-lawyer-profile-grid .pl-input{
    height: 34px;
    font-size: 14px;
    border-color: rgba(176,138,85,.45);
    background: rgba(255,255,255,.60);
}

.pl-lawyer-profile-grid .pl-textarea{
    min-height: 74px;
    height: auto;
    padding-top: 9px;
    border-radius: 10px;
}

.pl-lawyer-profile-grid input[type="checkbox"]{
    accent-color: #0f5b56;
}

.pl-lawyer-profile-grid label{
    font-size: 14px;
    color: rgba(12,29,24,.82);
}

.pl-tag-input{
    min-height: 38px;
    border: 1.5px solid rgba(176,138,85,.45);
    border-radius: 18px;
    background: rgba(255,255,255,.60);
    padding: 6px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.pl-tag-list{
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pl-tag-chip{
    height: 24px;
    border-radius: 999px;
    border: 1px solid rgba(176,138,85,.4);
    background: rgba(255,255,255,.9);
    padding: 0 8px;
    font-size: 12px;
    color: rgba(12,29,24,.84);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pl-tag-chip-remove{
    border: 0;
    background: transparent;
    color: rgba(12,29,24,.64);
    font-size: 14px;
    line-height: 1;
    padding: 0;
}

.pl-tag-entry{
    border: 0;
    background: transparent;
    outline: none;
    min-width: 140px;
    flex: 1 1 140px;
    font-size: 13px;
    color: rgba(12,29,24,.84);
    padding: 2px 0;
}

.pl-specialities-input{
    position: relative;
    cursor: text;
}

.pl-specialities-toggle{
    cursor: pointer;
    color: rgba(12,29,24,.5);
}

.pl-checks-menu{
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    max-height: 240px;
    overflow-y: auto;
    background: #ffffff;
    border: 1.5px solid rgba(176,138,85,.45);
    border-radius: 14px;
    padding: 6px;
    box-shadow: 0 10px 30px rgba(12,29,24,.12);
}

.pl-checks-item{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.3;
    color: rgba(12,29,24,.84);
    cursor: pointer;
    margin: 0;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
}

.pl-checks-item span{
    flex: 1;
}

.pl-checks-item:hover{
    background: rgba(176,138,85,.10);
}

.pl-specialities-option i{
    visibility: hidden;
    font-size: 12px;
    color: #b08a55;
}

.pl-specialities-option.selected{
    background: rgba(176,138,85,.10);
    font-weight: 600;
}

.pl-specialities-option.selected i{
    visibility: visible;
}

.pl-checks-empty{
    padding: 10px;
    font-size: 13px;
    color: rgba(12,29,24,.6);
}

/* All right panels after login */
.pl-profile-main .pl-profile-table,
.pl-profile-main .pl-profile-panel,
.pl-profile-main .pl-settings-panel{
    border: 0 !important;
    background-color: #ffffff;
    background-image: linear-gradient(180deg, #ffffff 0%, #ffffff 42%, #f3efe7 100%);
}

.pl-deactivate-modal .modal-dialog{
    max-width: 760px;
}

.pl-deactivate-modal .modal-content{
    border-radius: 24px;
    border: 6px solid rgba(234,226,214,.95);
    padding: 10px 16px 16px;
}

.pl-deactivate-modal .modal-title{
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 39px;
    font-weight: 800;
    line-height: 1;
    margin: 6px auto 0;
}

.pl-deactivate-modal .modal-title span{
    color: var(--pl-accent);
    background: rgba(176, 138, 85, .12);
    padding: 0 8px;
    border-radius: 10px;
}

.pl-deactivate-modal .btn-close{
    margin-right: 2px;
    margin-top: 2px;
}

.pl-deactivate-textarea{
    border-radius: 22px;
    border: 4px solid rgba(226, 218, 206, .9);
    min-height: 150px;
    resize: none;
    font-size: 12px;
    line-height: 1.35;
    padding: 14px 18px;
}

.pl-deactivate-textarea::placeholder{color: rgba(0,0,0,.45);}

.pl-deactivate-textarea:focus{
    border-color: rgba(176,138,85,.8);
    box-shadow: none;
}

.pl-deactivate-counter{
    color: rgba(0,0,0,.45);
    font-size: 10px;
    margin-top: 8px;
}

.pl-deactivate-check{
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.3;
    color: #1f1f1f;
}

.pl-deactivate-check .form-check-input{
    width: 24px;
    height: 24px;
    border: 4px solid rgba(226, 218, 206, .95);
    margin-top: 4px !important;
}

.pl-deactivate-actions{
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
}

.pl-deactivate-btn-outline,
.pl-deactivate-btn-primary{
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    padding: 10px 24px;
}

.pl-deactivate-btn-outline{
    border: 4px solid rgba(199, 167, 116, .72);
    background: #fff;
    color: #111;
}

.pl-deactivate-btn-primary{
    border: 0;
    color: #fff;
    background: linear-gradient(180deg, var(--pl-primary) 0%, var(--pl-primary-2) 100%);
    box-shadow: 0 12px 24px rgba(15,91,86,.18);
}

@media (max-width: 992px){
    .pl-deactivate-modal .modal-title{font-size: 34px;}
    .pl-deactivate-textarea{font-size: 12px; min-height: 120px;}
    .pl-deactivate-counter{font-size: 10px;}
    .pl-deactivate-check{font-size: 12px;}
    .pl-deactivate-btn-outline,
    .pl-deactivate-btn-primary{font-size: 12px; padding: 10px 22px;}
}

.pl-profile-row:first-child{
    border-top: 0;
}

.pl-profile-spec{
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.pl-profile-avatar{
    width: 46px;
    height: 46px;
    border-radius: 999px;
    object-fit: cover;
    background: rgba(0, 0, 0, .06);
    flex: 0 0 auto;
}

.pl-profile-avatar.pl-profile-avatar--icon{
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(12, 29, 24, .65);
    font-size: 22px;
}

.pl-profile-name{
    font-weight: 800;
    font-size: 16px;
    line-height: 1.2;
}

.pl-profile-meta{
    font-size: 13px;
    color: rgba(12, 29, 24, .65);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pl-profile-info{
    min-width: 0;
}

.pl-profile-title{
    font-weight: 800;
    font-size: 15px;
    margin-bottom: 6px;
}

.pl-profile-sub{
    font-size: 13px;
    color: rgba(12, 29, 24, .7);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}

.pl-profile-sub i{
    color: rgba(12, 29, 24, .55);
}

.pl-profile-actions{
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    align-items: flex-start;
}

.pl-profile-mini{
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(12, 29, 24, .16);
    background: #fff;
    color: rgba(12, 29, 24, .75);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.pl-profile-mini i{
    line-height: 1;
}

.pl-profile-mini.pl-profile-mini--borderless{
    border: 0;
    background: transparent;
}

.pl-profile-mini:hover{
    background: rgba(15, 91, 86, .06);
}

.pl-profile-flag{
    border-radius: 999px;
    border: 1px solid rgba(12, 29, 24, .16);
    background: #fff;
    color: var(--pl-dark);
    padding: 9px 12px;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
}

.pl-profile-flag:hover{
    background: rgba(15, 91, 86, .06);
}

.pl-rating-stars{display:inline-flex; align-items:center; gap:2px; color:#f0c24b;}
.pl-rating-stars .bi-star{color: rgba(12,29,24,.22);}
.pl-rating-count{margin-left: 6px; color:#8a8a8a; font-size: 14px;}

.pl-feedback-modal .modal-dialog{max-width: 620px;}
.pl-feedback-modal .modal-content,
.pl-deactivate-modal-content{
    border-radius: 16px;
    border: 5px solid rgba(226, 218, 206, .95);
}

.pl-review-modal-content{
    border-radius: 14px;
    border: 5px solid #e6ddcf;
    background: #fff;
}

.pl-review-modal-content .modal-header{
    position: relative;
    justify-content: center;
    padding: 18px 30px 0;
}

.pl-review-modal-content .modal-body{
    padding: 8px 30px 18px;
}

.pl-review-modal-content .btn-close{
    position: absolute;
    top: 18px;
    right: 18px;
    margin: 0;
    padding: 0;
}

.pl-review-modal-title{
    margin: 0;
    width: 100%;
    text-align: center;
    font-size: 34px;
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #111;
}

.pl-review-modal-title span{color: var(--pl-accent);}

.pl-review-form{
    max-width: none;
    width: 100%;
    margin: 0 auto 4px;
}

.pl-review-subtitle{
    text-align: center;
    font-size: 12px;
    color: #4f4f4f;
    margin-bottom: 10px;
}

.pl-review-lawyer{text-align: center; margin-bottom: 10px;}

.pl-review-avatar{
    width: 76px;
    height: 92px;
    border-radius: 8px;
    object-fit: cover;
    border: 1px solid rgba(12,29,24,.08);
    margin-bottom: 6px;
}

.pl-review-lawyer-name{font-size: 16px; font-weight: 800; color:#1f1f1f; line-height: 1.2;}

.pl-review-lawyer-meta{font-size: 14px; color:#6b6b6b; margin-top: 2px;}

.pl-review-stars{
    margin-top: 7px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.pl-review-star-btn{
    border: 0;
    background: transparent;
    color: #e0d6c5;
    padding: 0;
    line-height: 1;
    font-size: 16px;
}

.pl-review-star-btn.is-active,
.pl-review-star-btn:hover{color: #f0c24b;}

.pl-review-textarea{
    width: 100%;
    border: 3px solid #D9C8AE80;
    
    border-radius: 12px;
    min-height: 100px;
    resize: none;
    font-size: 13px;
    color: #2a2a2a;
    padding: 30px;
}

.pl-review-textarea:focus{
    border-color: rgba(176,138,85,.7);
    box-shadow: none;
}

.pl-review-counter{
    margin-top: 4px;
    font-size: 10px;
    color: #9a978f;
}

.pl-review-actions{
    margin-top: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.pl-review-actions .pl-auth-outline,
.pl-review-actions .pl-auth-submit{
    width: 100%;
    margin-top: 0;
    height: 38px;
    min-height: 38px;
    font-size: 12px;
}

.pl-report-textarea,
.pl-report-textarea:focus{
    background: transparent !important;
}

.pl-report-modal-content{
    background: #fff;
}

.pl-report-modal-content .modal-header{
    position: relative;
    justify-content: center;
    padding: 16px 28px 0;
}

.pl-report-modal-content .modal-body{
    padding: 10px 28px 22px;
}

.pl-report-modal-content .btn-close{
    position: absolute;
    top: 16px;
    right: 16px;
    margin: 0;
    padding: 0;
    transform: scale(.78);
    transform-origin: center;
}

.pl-report-modal-title{
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 34px;
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -.02em;
    color: #111;
}

.pl-report-form{
    max-width: none;
    width: 100%;
}

.pl-report-intro{
    font-size: 12px;
    line-height: 1.4;
    color: #565656;
    margin-bottom: 8px;
}

.pl-report-intro--compact{
    margin-bottom: 10px;
}

.pl-report-label{
    display: block;
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 700;
    color: #3b3b3b;
}

.pl-report-select{
    height: 40px;
    border-radius: 999px;
    border: 2px solid rgba(217,200,174,.65);
    background-color: #fff;
    font-size: 12px;
    color: #77716b;
}

.pl-report-select:focus{
    border-color: rgba(176,138,85,.8);
    box-shadow: none;
}

.pl-report-textarea{
    border: 2px solid rgba(217,200,174,.65);
    border-radius: 16px;
    min-height: 110px;
    font-size: 12px;
    padding: 18px 16px;
}

.pl-report-textarea::placeholder,
.pl-report-select::placeholder{
    color: #a7a099;
}

.pl-report-note{
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.35;
    color: #575757;
}

.pl-report-actions{
    margin-top: 14px;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
}

.pl-report-actions .pl-auth-outline,
.pl-report-actions .pl-auth-submit{
    height: 36px;
    min-height: 36px;
    font-size: 12px;
    white-space: nowrap;
}

.pl-feedback-modal-title,
.pl-deactivate-modal-title{
    margin: 0 auto;
    font-size: 28px;
    font-weight: 800;
}

.pl-feedback-modal-title span,
.pl-deactivate-modal-title span{color: var(--pl-accent);}

@media (max-width: 992px){
    .pl-profile-grid{
        grid-template-columns: 1fr;
    }

    .pl-profile-head{
        display: none;
    }

    .pl-profile-row{
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .pl-profile-row > div{
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .pl-profile-spec > div{
        min-width: 0;
    }

    .pl-profile-meta{
        white-space: normal;
    }

    .pl-profile-actions{
        justify-content: flex-start;
    }

    .pl-profile-form-grid,
    .pl-settings-two{
        grid-template-columns: 1fr;
    }

    .pl-settings-fields-grid{
        grid-template-columns: 1fr;
    }

    .pl-settings-fields-grid > :nth-child(3){grid-column: auto;}

    .pl-settings-page .pl-profile-grid{grid-template-columns: 1fr;}
    .pl-settings-page .pl-settings-panel{max-width: 100%;}
}

/* Global consistency pass: green buttons + input borders */
.pl-btn-primary,
.pl-auth-submit,
.pl-settings-save,
.pl-lawyer-plus-btn,
.pl-deactivate-btn-primary{
    height: 42px;
    min-height: 42px;
    font-size: 14px;
    /* line-height: 1; */
    font-weight: 700;
}

.pl-input,
.pl-auth-input,
.pl-lawyer-service-title,
.pl-lawyer-service-price,
.pl-settings-field .pl-input,
.pl-settings-page .pl-settings-field .pl-input,
.pl-lawyer-week-picker .pl-input,
.pl-lawyer-schedule-add .pl-input{
    border: 1.5px solid rgba(176, 138, 85, .6) !important;
}

.pl-lawyer-dash .pl-auth-submit,
.pl-lawyer-dash .pl-settings-save,
.pl-lawyer-dash .pl-lawyer-pricing-save,
.pl-lawyer-dash .pl-lawyer-schedule-save,
.pl-lawyer-dash .pl-deactivate-btn-primary{
    height: 42px;
    min-height: 42px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.pl-wallet-top{
    border-radius: 18px;
    padding: 16px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
}

.pl-wallet-top-label{font-size: 14px; color: rgba(12,29,24,.62); font-weight: 700;}
.pl-wallet-top-value{font-size: 44px; line-height: 1.05; font-weight: 800; color:#111;}
.pl-wallet-top-sub{font-size: 14px; color: rgba(12,29,24,.62); margin-top: 4px;}
.pl-wallet-open{
    width: auto !important;
    min-width: 150px;
    height: 36px;
    padding: 0 22px;
    flex: 0 0 auto;
    font-size: 12px !important;
}

.pl-wallet-table-wrap{
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #EFECE6 100%);
    padding: 12px 14px;
}

.pl-wallet-table thead th{
    border: 0;
    font-size: 13px;
    color: rgba(12,29,24,.48);
    font-weight: 700;
    padding-top: 2px;
}

.pl-wallet-table tbody td{
    font-size: 14px;
    color: #1f1f1f;
    vertical-align: top;
}

.pl-wallet-report{
    margin-top: 12px;
    border: 0;
    background: transparent;
    color: #0f5b56;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
}

.pl-wallet-modal{
    border-radius: 16px;
    border: 3px solid rgba(226, 218, 206, .95);
    background: #fff;
    font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.pl-wallet-modal .modal-header{
    position: relative;
    justify-content: center;
    padding: 18px 24px 0;
}

.pl-wallet-modal .modal-body{
    padding: 8px 16px 18px;
}

.pl-wallet-modal .btn-close{
    position: absolute;
    top: 18px;
    right: 18px;
    margin: 0;
    padding: 0;
}

.pl-wallet-modal-title{
    margin: 0;
    width: 100%;
    text-align: center;
    font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
}

.pl-wallet-modal-title span{color: var(--pl-accent);}

.pl-wallet-balance-row{font-size: 16px; margin-bottom: 8px; color:#222;}
.pl-wallet-balance-row strong{font-size: 20px; margin-left: 6px; font-weight: 800;}
.pl-wallet-label{font-size: 16px; font-weight: 700; color:#222;}
.pl-wallet-mini{font-size: 14px; color: rgba(12,29,24,.6); margin: 4px 2px 8px;}

.pl-wallet-split{
    border-top: 1px solid rgba(12,29,24,.08);
    border-bottom: 1px solid rgba(12,29,24,.08);
    padding: 8px 0;
    font-size: 14px;
    color:#333;
    line-height: 1.65;
}

.pl-wallet-mini-label{
    display:block;
    margin: 9px 2px 4px;
    font-size: 14px;
    color: rgba(12,29,24,.78);
}

.pl-wallet-save-check{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.2;
}

.pl-wallet-save-check .form-check-input{
    margin-top: 0;
    flex: 0 0 18px;
}

.pl-wallet-save-check span{
    display: inline-flex;
    align-items: center;
}

.pl-wallet-actions{
    margin-top: 14px;
    display:flex;
    gap: 10px;
    justify-content:center;
}

.pl-wallet-actions .pl-auth-outline,
.pl-wallet-actions .pl-auth-submit{
    width: 190px;
    margin-top: 0;
    text-decoration: none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

@media (max-width: 992px){
    .pl-wallet-top{flex-direction: column; align-items:flex-start;}
    .pl-wallet-open{min-width: 150px; height: 34px; padding: 0 18px;}
    .pl-wallet-top-value{font-size: 36px;}
    .pl-wallet-modal-title{font-size: 34px;}
    .pl-wallet-balance-row{font-size: 16px;}
    .pl-wallet-balance-row strong{font-size: 24px;}
}

.pl-profile-table-pay .pl-profile-head,
.pl-profile-table-pay .pl-profile-row{
    grid-template-columns: 1.05fr 1.35fr .6fr .55fr;
}

@media (max-width: 992px){
    .pl-profile-table-pay .pl-profile-row{
        grid-template-columns: 1fr;
    }
}

.pl-pay-status{
    position: relative;
    display: inline-block;
    margin: 0;
}

.pl-pay-current{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    background: transparent;
    padding: 0;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
}

.pl-pay-current i{
    font-size: 12px;
    color: #000;
    opacity: 1;
}

.pl-pay-current.pl-pay-paid{color: #1e7e34;}
.pl-pay-current.pl-pay-partial{color: #b58900;}
.pl-pay-current.pl-pay-unpaid{color: #c0392b;}
.pl-pay-current.pl-pay-other{color: #000;}

.pl-pay-menu{
    min-width: 230px;
    padding: 12px 16px;
    border-radius: 14px;
    border: 1px solid rgba(12, 29, 24, .10);
    box-shadow: 0 14px 34px rgba(12, 29, 24, .14);
}

.pl-pay-option{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--pl-text);
    cursor: pointer;
}

.pl-pay-option + .pl-pay-option{
    margin-top: 10px;
}

.pl-pay-option input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.pl-pay-radio{
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid #c8c0b2;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pl-pay-option input:checked + .pl-pay-radio::after{
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3a332a;
}

.pl-lawyer-pay-group{
    padding: 10px 0;
    border-top: 1px solid rgba(12, 29, 24, .08);
}

.pl-lawyer-pay-group:first-of-type{
    border-top: 0;
}

.pl-lawyer-pay-toggle{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}

.pl-lawyer-pay-toggle input[type="checkbox"]{
    margin: 0;
    flex: 0 0 auto;
}

.pl-lawyer-pay-fields{
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
    padding-left: 28px;
}

.pl-lawyer-pay-fields .pl-input{
    width: 100%;
    border-radius: 10px;
}

.pl-spec-pay-info{
    padding: 10px;
    font-size: 13px;
    color: rgba(12, 29, 24, .70);
    line-height: 1.5;
}

.pl-spec-pay-row{
    padding: 12px 10px;
    border-top: 1px solid rgba(12, 29, 24, .08);
}

.pl-spec-pay-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pl-spec-pay-name{
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 14px;
    color: var(--pl-text);
}

.pl-spec-pay-name svg{
    flex: 0 0 auto;
    color: rgba(12, 29, 24, .55);
}

.pl-spec-pay-details{
    border: 0;
    background: transparent;
    color: rgba(12, 29, 24, .75);
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}

.pl-spec-pay-details:hover{
    color: var(--pl-accent, #b58b4c);
}

.pl-spec-pay-body{
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 10px;
    padding-left: 26px;
}

.pl-spec-pay-detail{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: rgba(12, 29, 24, .75);
}

.pl-spec-pay-detail-text{
    word-break: break-word;
}

.pl-spec-pay-copy{
    display: inline-flex;
    align-items: center;
    border: 0;
    background: transparent;
    padding: 2px;
    cursor: pointer;
    color: rgba(12, 29, 24, .45);
    flex: 0 0 auto;
}

.pl-spec-pay-copy:hover{
    color: var(--pl-accent, #b58b4c);
}

.pl-spec-pay-copy.pl-spec-pay-copied{
    color: #1e7e34;
}


/* Practices pages */
.pl-practices-hero{
    position: relative;
    background: #fff;
    padding: 56px 0 28px;
}

.pl-practices-hero-inner{position: relative;}

.pl-practices-title{
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 12px;
    color: #111;
}

.pl-practices-lead{
    max-width: 620px;
    color: #5a5a5a;
    font-size: 14px;
    line-height: 1.6;
    margin: 0 auto;
}

.pl-practices-list{
    padding: 28px 0 64px;
    background: #fff;
}

.pl-practice-card{
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #ece8e0;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,.04);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.pl-practice-card:hover{
    transform: translateY(-4px);
    border-color: #e0d9cd;
    box-shadow: 0 14px 34px rgba(0,0,0,.08);
}

.pl-practice-card-header{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.pl-practice-card-icon{
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #efece6;
    color: #151515;
    font-size: 26px;
    line-height: 1;
    overflow: hidden;
}

.pl-practice-card-img{
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.pl-practice-card-title{
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    color: #151515;
    line-height: 1.25;
}

.pl-practice-card-text{
    font-size: 14px;
    line-height: 1.55;
    color: #5a5a5a;
    margin: 0 0 22px;
    flex: 1;
}

.pl-practice-card-link{
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1.5px solid #d9c8ae;
    background: #fff;
    color: #151515;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.pl-practice-card-link:hover{
    background: #f8f6f2;
    border-color: #c9b89e;
    transform: translateY(-1px);
    color: #111;
}

.pl-practices-cta{
    padding: 24px 0 80px;
    background: #fff;
}

.pl-practices-cta-box{
    background: #f6f2eb;
    border-radius: 32px;
    padding: 64px 40px;
}

.pl-practices-cta-title{
    font-size: 30px;
    font-weight: 800;
    margin: 0 0 12px;
    color: #111;
}

.pl-practices-cta-accent{
    color: var(--pl-primary);
}

.pl-practices-cta-text{
    color: #5a5a5a;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 auto 24px;
    max-width: 540px;
}

.pl-practices-cta-btn{
    height: 50px;
    padding: 0 34px;
    border-radius: 999px;
    border: 0;
    background: var(--pl-primary);
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: filter .18s ease, transform .18s ease;
}

.pl-practices-cta-btn:hover{
    background: var(--pl-primary);
    filter: brightness(1.05);
    transform: translateY(-1px);
    color: #fff;
}

/* Practice detail */
.pl-practice-detail-hero{
    position: relative;
    background: var(--pl-bg);
    overflow: hidden;
    padding: 42px 0 36px;
}

.pl-practice-detail-hero::before,
.pl-practice-detail-hero::after{
    content:"";
    position:absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: rgba(176,138,85,.12);
}

.pl-practice-detail-hero::before{left: -160px; top: -120px;}
.pl-practice-detail-hero::after{right: -160px; top: -100px;}

.pl-practice-detail-hero .container-xxl{position: relative;}

.pl-practice-breadcrumb{
    font-size: 13px;
    margin-bottom: 22px;
}

.pl-practice-breadcrumb .breadcrumb-item a{
    color: var(--pl-primary);
    text-decoration: none;
    font-weight: 600;
}

.pl-practice-breadcrumb .breadcrumb-item a:hover{text-decoration: underline;}

.pl-practice-breadcrumb .breadcrumb-item.active{color: #5a5a5a;}

.pl-practice-detail-head{max-width: 740px;}

.pl-practice-detail-title{
    font-size: 34px;
    font-weight: 800;
    margin: 0 0 10px;
}

.pl-practice-detail-desc{
    font-size: 14px;
    line-height: 1.6;
    color: #4a4a4a;
    margin: 0;
}

.pl-practice-includes{
    padding: 52px 0 40px;
    background: #fff;
}

.pl-practice-section-title{
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 12px;
}

.pl-practice-section-text{
    font-size: 14px;
    line-height: 1.7;
    color: #5a5a5a;
    max-width: 920px;
    margin: 0 0 28px;
}

.pl-practice-sub-item{
    padding: 8px 12px;
}

.pl-practice-sub-icon{
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #efece6;
    color: #151515;
    font-size: 32px;
    line-height: 1;
    margin-bottom: 16px;
}

.pl-practice-sub-title{
    font-size: 17px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #151515;
}

.pl-practice-sub-text{
    font-size: 14px;
    line-height: 1.55;
    color: #6a6a6a;
    margin: 0;
}

.pl-practice-faqs{
    padding: 40px 0 56px;
    background: #fff;
}

.pl-practice-faq-list{max-width: none;}

.pl-practice-faq-card{
    background: #f6f2eb;
    border-radius: 20px;
    padding: 8px 24px;
}

.pl-practice-faq-item{
    border-bottom: 1px solid #e0d9cd;
}

.pl-practice-faq-item:last-child{border-bottom: 0;}

.pl-practice-faq-question{
    width: 100%;
    border: 0;
    background: transparent;
    padding: 18px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    font-weight: 700;
    font-size: 15px;
    color: #151515;
}

.pl-practice-faq-question:hover{color: var(--pl-primary);}

.pl-practice-faq-question i{
    font-size: 14px;
    color: var(--pl-primary);
    transition: transform .25s ease;
    flex: 0 0 auto;
}

.pl-practice-faq-question[aria-expanded="true"] i{transform: rotate(180deg);}

.pl-practice-faq-answer{
    padding: 0 0 18px;
    font-size: 14px;
    line-height: 1.7;
    color: #5a5a5a;
}

.pl-practice-cta{
    padding: 20px 0 72px;
    background: #fff;
}

.pl-practice-cta-box{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    background: #f6f2eb;
    border-radius: 24px;
    padding: 32px 40px;
}

.pl-practice-cta-title{
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 6px;
}

.pl-practice-cta-text{
    font-size: 14px;
    line-height: 1.55;
    color: #5a5a5a;
    margin: 0;
    max-width: 540px;
}

.pl-practice-cta-btn{
    height: 44px;
    padding: 0 26px;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.pl-practice-lawyers{
    padding: 48px 0 80px;
    background: #fff;
}

@media (max-width: 991.98px){
    .pl-practice-cta-box{flex-direction: column; align-items: flex-start;}
    .pl-practice-cta-btn{width: 100%; max-width: 320px;}
}

@media (max-width: 575.98px){
    .pl-practices-title{font-size: 28px;}
    .pl-practices-hero{padding: 44px 0 24px;}
    .pl-practice-card{padding: 18px;}
    .pl-practice-card-icon{width: 48px; height: 48px; flex: 0 0 48px; font-size: 22px;}
    .pl-practice-card-img{width: 26px; height: 26px;}
    .pl-practice-card-title{font-size: 17px;}
    .pl-practice-card-text{font-size: 13px;}
    .pl-practices-cta{padding: 16px 0 56px;}
    .pl-practices-cta-box{border-radius: 20px; padding: 40px 20px;}
    .pl-practices-cta-title{font-size: 24px;}
    .pl-practices-cta-text{font-size: 14px;}
    .pl-practice-detail-title{font-size: 28px;}
    .pl-practice-detail-hero{padding: 34px 0 28px;}
    .pl-practice-section-title{font-size: 20px;}
    .pl-practice-sub-icon{width: 60px; height: 60px; font-size: 26px;}
    .pl-practice-faq-card{padding: 4px 16px; border-radius: 16px;}
    .pl-practice-faq-question{font-size: 14px;}
    .pl-practice-faq-answer{font-size: 13px;}
    .pl-practice-cta{padding: 16px 0 56px;}
    .pl-practice-cta-box{border-radius: 18px; padding: 26px 22px;}
}
