

.svp-packages-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    max-width: 1200px;
}

.svp-no-results {
    text-align: center;
    color: #7A5C63;
    padding: 40px 0;
}


.svp-package-card {
    background: #fff;
    border-radius: 28px;
    box-shadow:
        0 16px 40px rgba(89,69,74,0.15),
        0 3px 8px  rgba(89,69,74,0.07);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .18s ease, box-shadow .18s ease;
}

.svp-package-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(89,69,74,0.22);
}

.svp-package-image {
    position: relative;
    height: 230px;
    flex-shrink: 0;
    background: #c9b4b8 center/cover no-repeat;
    display: flex;
    align-items: flex-end;
    padding: 16px 20px;
}

.svp-package-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
        rgba(50,30,35,.80) 0%,
        rgba(50,30,35,.05) 60%);
}

.svp-package-title {
    position: relative;
    z-index: 1;
    font-size: 1.65rem;
    font-weight: 900;
    color: #fff;
    margin: 0;
    line-height: 1.2;
    text-shadow: 0 2px 8px rgba(0,0,0,.45);
}



.svp-package-details {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 16px 20px 18px;
    gap: 12px;
    background: linear-gradient(160deg, #736055 0%, #3A2328 100%)
}


.svp-attractions-wrap {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.svp-section-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: rgba(245,239,237,.65);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.svp-attractions-text {
    font-size: .92rem;
    color: #F5EFED;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: max-height .3s ease;
    max-height: 2.9em;
}

.svp-attractions-text.svp-attr-expanded {
    -webkit-line-clamp: unset;
    max-height: 500px;
    overflow: visible;
}

.svp-expand-btn {
    background: none;
    border: none;
    padding: 0;
    font-size: .78rem;
    color: rgba(245,239,237,.65);
    cursor: pointer;
    text-align: right;
    transition: color .12s;
    align-self: flex-start;
}
.svp-expand-btn:hover { color: #F5EFED; }


.svp-details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 16px;
    border-top: 1px solid rgba(245,239,237,.15);
    padding-top: 10px;
}

.svp-detail-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.svp-detail-label {
    font-size: .68rem;
    color: rgba(245,239,237,.6);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.svp-detail-value {
    font-size: .95rem;
    color: #F5EFED;
    font-weight: 700;
}


.svp-price-row {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-top: auto;
    border-top: 1px solid rgba(245,239,237,.15);
    padding-top: 10px;
}

.svp-price-label,
.svp-price-per {
    font-size: .85rem;
    color: rgba(245,239,237,.75);
}

.svp-price-value {
    font-size: 1.7rem;
    font-weight: 900;
    color: #F5EFED;
    line-height: 1;
}


.svp-contact-btn {
    display: block;
    width: 100%;
    padding: 11px 16px;
    border-radius: 999px;
    border: 2px solid rgba(245,239,237,.35);
    background: rgba(245,239,237,.12);
    color: #F5EFED;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .12s;
}
.svp-contact-btn:hover {
    background: rgba(245,239,237,.22);
    border-color: rgba(245,239,237,.7);
    transform: translateY(-1px);
}


.svp-pagination {
    max-width: 1200px;
    margin: 20px auto 0;
    direction: rtl;
    text-align: center;
}
.svp-pagination .page-numbers {
    list-style: none; padding: 0; margin: 0;
    display: inline-flex; gap: 6px;
}
.svp-pagination .page-numbers li { display: inline-block; }
.svp-pagination .page-numbers a,
.svp-pagination .page-numbers span {
    display: inline-block; min-width: 34px;
    padding: 6px 10px; border-radius: 999px;
    font-size: .85rem; text-decoration: none;
    border: 1px solid #e5e7eb; color: #59454A; background: #fff;
}
.svp-pagination .page-numbers a:hover { border-color: #59454A; }
.svp-pagination .page-numbers .current {
    background: #59454A; border-color: #59454A; color: #fff;
}


.svp-modal-overlay {
    display: none;
    position: fixed; inset: 0; z-index: 99999;
    background: rgba(35,18,22,.7);
    backdrop-filter: blur(5px);
    align-items: center; justify-content: center;
    padding: 16px; direction: rtl;
}
.svp-modal-overlay.svp-modal-open { display: flex; }

.svp-modal {
    position: relative;
    background: #fff;
    border-radius: 24px;
    padding: 36px 32px 32px;
    width: 100%; max-width: 460px;
    box-shadow: 0 30px 80px rgba(35,18,22,.35);
    animation: svpIn .22s ease;
}
@keyframes svpIn {
    from { opacity:0; transform: translateY(16px) scale(.97); }
    to   { opacity:1; transform: translateY(0)    scale(1);   }
}

.svp-modal-close {
    position: absolute; top: 14px; left: 16px;
    background: none; border: none;
    font-size: 1.6rem; color: #9ca3af;
    cursor: pointer; line-height: 1; padding: 4px;
    transition: color .12s;
}
.svp-modal-close:hover { color: #59454A; }

.svp-modal-title {
    font-size: 1.4rem; font-weight: 800;
    color: #3A2328; margin: 0 0 4px;
}
.svp-modal-package-name {
    font-size: .88rem; color: #7A5C63;
    margin: 0 0 20px; font-weight: 600;
}


.svp-contact-form { display: flex; flex-direction: column; gap: 14px; }

.svp-form-group { display: flex; flex-direction: column; gap: 5px; }

.svp-form-group label {
    font-size: .88rem; font-weight: 600; color: #3A2328;
}

.svp-required { color: #59454A; }

.svp-form-group input,
.svp-form-group select {
    padding: 10px 13px;
    border: 1.5px solid #d9cdd0;
    border-radius: 10px;
    font-size: .95rem; color: #1f0a0e;
    background: #faf7f8;
    transition: border-color .15s, box-shadow .15s;
    direction: rtl;
}
.svp-form-group input:focus,
.svp-form-group select:focus {
    outline: none;
    border-color: #59454A;
    box-shadow: 0 0 0 3px rgba(89,69,74,.14);
    background: #fff;
}

.svp-form-submit {
    margin-top: 4px; padding: 13px;
    border-radius: 999px; border: none;
    background: linear-gradient(135deg, #59454A 0%, #3A2328 100%);
    color: #fff; font-size: 1rem; font-weight: 700;
    cursor: pointer;
    transition: opacity .15s, transform .12s;
}
.svp-form-submit:hover:not(:disabled) { opacity: .88; transform: translateY(-1px); }
.svp-form-submit:disabled { opacity: .6; cursor: not-allowed; }

.svp-form-msg {
    padding: 10px 14px; border-radius: 10px;
    font-size: .9rem; font-weight: 500; text-align: center;
}
.svp-form-msg--ok  { background: #dcfce7; color: #166534; }
.svp-form-msg--err { background: #fee2e2; color: #991b1b; }


@media (max-width: 960px) {
    .svp-packages-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
    .svp-packages-grid { grid-template-columns: 1fr; }
    .svp-modal { padding: 28px 18px 24px; border-radius: 18px; }
}
