/* ==========================================================================
   Anmol Digital — Public Pages Modern Polish V2
   ========================================================================== */

/* Compact premium page banner */
.page-banner {
    min-height: 330px !important;
    overflow: hidden;
    background:
        var(--page-banner-background, none),
        linear-gradient(145deg, #090909 0%, #181818 100%) !important;
    background-position: center !important;
    background-size: cover !important;
}

.page-banner__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, .92) 0%,
            rgba(0, 0, 0, .72) 48%,
            rgba(0, 0, 0, .24) 100%
        ) !important;
}

.page-banner__inner {
    min-height: 330px !important;
    padding-block: 56px !important;
}

.page-banner__content {
    max-width: 780px !important;
}

.page-banner h1 {
    max-width: 850px;
    font-size: clamp(44px, 5.7vw, 78px) !important;
    letter-spacing: -.058em !important;
    text-wrap: balance;
}

.page-banner__content > p:last-child {
    max-width: 620px !important;
    margin-top: 16px !important;
    color: rgba(255, 255, 255, .68) !important;
    font-size: clamp(15px, 1.35vw, 18px) !important;
}

.page-banner__visual {
    opacity: .72;
}

.breadcrumb-bar {
    border-bottom: 1px solid var(--modern-line) !important;
    background: rgba(255, 255, 255, .91) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.breadcrumb-list {
    min-height: 54px !important;
    color: var(--modern-muted) !important;
    font-size: 12px !important;
}

/* About page */
.about-page__grid {
    gap: clamp(40px, 6vw, 86px) !important;
}

.about-page__media {
    border-radius: 30px !important;
    box-shadow: var(--modern-shadow-md) !important;
}

.about-page__image,
.about-page__placeholder {
    border-radius: 30px !important;
}

.about-page__stat {
    border: 1px solid var(--modern-line);
    border-radius: 22px !important;
    box-shadow: var(--modern-shadow-md) !important;
}

.about-highlight--page {
    border-color: var(--modern-line) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

/* Service page */
.services-page__grid {
    gap: 14px !important;
}

.service-detail-card {
    min-height: 390px !important;
    padding: 24px !important;
    border-color: var(--modern-line) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(150deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

.service-detail-card:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-md) !important;
    transform: translateY(-5px) !important;
}

.service-detail-card__summary,
.service-detail-card__description {
    color: var(--modern-muted) !important;
}

.service-detail-card__footer {
    border-top-color: var(--modern-line) !important;
}

.process-grid {
    gap: 14px !important;
}

.process-card {
    border-color: var(--modern-line) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: var(--modern-shadow-xs);
}

/* Partners */
.partners-page__grid {
    gap: 14px !important;
}

.partner-card {
    border-color: var(--modern-line) !important;
    border-radius: 20px !important;
    background:
        linear-gradient(145deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

.partner-card:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-md) !important;
    transform: translateY(-5px) !important;
}

.partner-card__logo {
    border-radius: 15px !important;
    background: #f4f4f1 !important;
}

.partner-card__logo img,
.partner-card:hover .partner-card__logo img,
.partner-card:focus-within .partner-card__logo img {
    filter: none !important;
    opacity: 1 !important;
}

.partners-page__notice {
    border-color: var(--modern-line) !important;
    border-radius: 18px !important;
    background: #f6f6f3 !important;
}

/* Testimonials */
.testimonials-page__grid {
    gap: 14px !important;
}

.testimonial-card--page {
    min-height: 350px !important;
    padding: 24px !important;
    border-color: var(--modern-line) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

.testimonial-card--page:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-md) !important;
    transform: translateY(-5px) !important;
}

/* Team */
.team-page__grid {
    gap: 14px !important;
}

.team-card--page {
    border-color: var(--modern-line) !important;
    border-radius: 22px !important;
    box-shadow: var(--modern-shadow-xs);
}

.team-card--page:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-md) !important;
}

.team-page__grid .team-card__media img,
.team-page__grid .team-card:hover .team-card__media img,
.team-page__grid .team-card:focus-within .team-card__media img {
    filter: none !important;
}

/* Contact page */
.contact-page__grid {
    gap: clamp(34px, 5vw, 72px) !important;
}

.contact-details {
    gap: 10px !important;
}

.contact-detail-card {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    padding: 16px !important;
    border-color: var(--modern-line) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

.contact-detail-card:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-sm);
    transform: translateX(3px);
}

.contact-detail-card__icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 13px !important;
}

.contact-page__form-panel {
    border-radius: var(--modern-radius-lg);
}

/* Dynamic and legal pages */
.dynamic-page__layout {
    max-width: 1120px !important;
    gap: 30px !important;
}

.dynamic-page__featured-image {
    overflow: hidden;
    border: 1px solid var(--modern-line);
    border-radius: 24px !important;
    box-shadow: var(--modern-shadow-sm);
}

.dynamic-page__content {
    padding: clamp(26px, 4vw, 50px);
    border: 1px solid var(--modern-line);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: var(--modern-shadow-sm);
}

.dynamic-page__updated {
    width: fit-content;
    padding: 7px 10px;
    border: 1px solid var(--modern-line);
    border-radius: 999px;
    background: #f5f5f2;
    color: var(--modern-muted) !important;
    font-size: 11px !important;
}

.dynamic-page__content .rich-content h2 {
    margin-top: 1.75em !important;
    padding-bottom: .42em;
    border-bottom: 1px solid var(--modern-line);
    font-size: clamp(25px, 2.7vw, 36px);
}

.dynamic-page__content .rich-content h3 {
    font-size: clamp(20px, 2vw, 28px);
}

.dynamic-page__content .rich-content blockquote {
    border-left: 3px solid #111111;
    border-radius: 0 14px 14px 0;
    background: #f5f5f2;
}

.dynamic-page__content .rich-content table {
    border-radius: 14px;
    overflow: hidden;
}

/* Search */
.search-page__intro {
    max-width: 850px !important;
}

.search-results {
    max-width: 980px !important;
}

.search-results__list {
    gap: 10px !important;
}

.search-result-card {
    padding: 19px !important;
    border-color: var(--modern-line) !important;
    border-radius: 17px !important;
    background: linear-gradient(145deg, #ffffff, #fafaf8) !important;
    box-shadow: var(--modern-shadow-xs);
}

.search-result-card:hover {
    border-color: var(--modern-line-strong) !important;
    box-shadow: var(--modern-shadow-sm) !important;
    transform: translateY(-3px) !important;
}

/* CTA on inner pages */
.page-cta__panel {
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 28px !important;
    box-shadow: var(--modern-shadow-dark);
}

.page-cta h2 {
    font-size: clamp(36px, 4.6vw, 62px) !important;
}

/* Error pages */
.error-page__panel {
    border: 1px solid var(--modern-line);
    border-radius: 28px !important;
    background:
        linear-gradient(145deg, #ffffff, #f7f7f4) !important;
    box-shadow: var(--modern-shadow-md);
}

.error-page__code {
    color: rgba(0, 0, 0, .07) !important;
}
