@layer base {
    html, body {
        margin: 0;
        padding: 0;
        font-family: 'Vazirmatn', 'Plus Jakarta Sans', sans-serif;
    }

    body {
        overscroll-behavior: none;
        background-color: #fdf8f8;
        color: #1c1b1c;
    }

    main > :first-child {
        margin-top: 0 !important;
    }

    main > :last-child {
        margin-bottom: 0 !important;
    }
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #e4bdc2;
    border-radius: 10px;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    line-height: 1;
}

.stitch-no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.stitch-no-scrollbar::-webkit-scrollbar {
    display: none;
}

.stitch-line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stitch-line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stitch-line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stitch-hero-glow {
    background:
        radial-gradient(circle at 15% 20%, rgba(184, 0, 73, 0.14), transparent 32%),
        radial-gradient(circle at 85% 10%, rgba(255, 185, 95, 0.18), transparent 28%),
        radial-gradient(circle at 50% 100%, rgba(222, 34, 100, 0.10), transparent 36%);
}

.stitch-glass {
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.stitch-card-hover {
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.stitch-card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 55px rgba(49, 48, 48, 0.12);
    border-color: rgba(184, 0, 73, 0.22);
}

.stitch-content {
    color: #3f3b3c;
    line-height: 2;
    font-size: 15px;
}

.stitch-content h1,
.stitch-content h2,
.stitch-content h3,
.stitch-content h4 {
    color: #1c1b1c;
    font-weight: 800;
    margin-top: 1.8em;
    margin-bottom: .7em;
    line-height: 1.7;
}

.stitch-content h2 {
    font-size: 24px;
}

.stitch-content h3 {
    font-size: 20px;
}

.stitch-content p {
    margin: .9em 0;
}

.stitch-content a {
    color: #b80049;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.stitch-content img {
    max-width: 100%;
    height: auto;
    border-radius: 18px;
    margin: 1.2em auto;
    display: block;
}

.stitch-content ul,
.stitch-content ol {
    padding-right: 1.4em;
    margin: .9em 0;
}

.stitch-content li {
    margin: .35em 0;
}

.stitch-content blockquote {
    border-right: 4px solid #b80049;
    background: #f7f2f2;
    padding: 1em 1.2em;
    border-radius: 12px;
    margin: 1.4em 0;
}

.stitch-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.4em 0;
}

.stitch-content th,
.stitch-content td {
    border: 1px solid #e4bdc2;
    padding: .7em .9em;
}

.stitch-content th {
    background: #f7f2f2;
}

.stitch-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238f6f73' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left 12px center;
    padding-left: 34px;
}

.stitch-faq details > summary {
    list-style: none;
    cursor: pointer;
}

.stitch-faq details > summary::-webkit-details-marker {
    display: none;
}

.stitch-faq details[open] .stitch-faq-icon {
    transform: rotate(45deg);
}

.stitch-faq-icon {
    transition: transform .25s ease;
}

#stitch-mobile-menu {
    transform: translateY(-12px);
    opacity: 0;
    display: none;
    pointer-events: none;
    transition: transform .2s ease, opacity .2s ease;
}

#stitch-mobile-menu.is-open {
    transform: translateY(0);
    opacity: 1;
    display: inline;
    pointer-events: auto;
}

.ui-autocomplete {
    z-index: 9999;
    direction: rtl;
    font-family: 'Vazirmatn', sans-serif;
    border: 1px solid #e4bdc2 !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(49, 48, 48, .12);
}

.ui-menu-item-wrapper {
    padding: 10px 14px !important;
}

.ui-state-active {
    background: #ffd9de !important;
    border-color: #ffd9de !important;
    color: #400014 !important;
}

.mfp-bg {
    background: rgba(28, 27, 28, .55);
}

.mfp-iframe-scaler {
    border-radius: 18px;
    overflow: hidden;
}

.stitch-spinner {
    width: 38px;
    height: 38px;
    border-radius: 9999px;
    border: 3px solid #f2eded;
    border-top-color: #b80049;
    animation: stitch-spin .8s linear infinite;
}

@keyframes stitch-spin {
    to {
        transform: rotate(360deg);
    }
}

#stitch-booking-modal.flex {
    display: flex;
}

#stitch-gallery-modal.flex {
    display: flex;
}

#stitch-gallery-video:not(.hidden) {
    display: flex;
}

@media (max-width: 767px) {
    .stitch-desktop-only {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .stitch-mobile-only {
        display: none !important;
    }
}
.pagination li{display: inline-block}
.text-on-surface{    overflow-wrap: anywhere;}
.mfp-hide {
    display: none!important;
}
