:root {
    --gorent-public-accent: var(--gorent-site-primary, #27272a);
    --gorent-public-secondary: var(--gorent-site-secondary, #3f3f46);
    --gorent-public-tertiary: var(--gorent-site-tertiary, #f4f4f5);
}

::selection {
    background: var(--gorent-public-tertiary);
    color: #18181b;
}

body {
    background: #fafafa;
}

.theme-primary-action,
.theme-nav-contact {
    background: #18181b;
    color: #fff;
}

.theme-primary-action:hover,
.theme-nav-contact:hover {
    background: var(--gorent-public-secondary);
    color: #fff;
}

.theme-base-hero {
    background: var(--gorent-public-tertiary);
}

.theme-base-hero-media {
    box-shadow: 0 18px 42px rgba(24, 24, 27, .12);
}

.theme-base-detail-head {
    background: #fff;
}

.theme-base-detail-body {
    background: #fafafa;
}

.theme-base-detail-gallery {
    box-shadow: 0 18px 42px rgba(24, 24, 27, .12);
}

.theme-base-detail-gallery-control {
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 9999px;
    background: rgba(24, 24, 27, .78);
    color: #fff;
    transition: background-color .18s ease, transform .18s ease;
}

.theme-base-detail-gallery-control:hover {
    background: #18181b;
    transform: translateY(-50%) scale(1.05);
}

.theme-base-detail-gallery-count {
    background: rgba(24, 24, 27, .82);
    color: #fff;
}

.theme-base-detail-gallery-thumbnail {
    outline: 2px solid transparent;
    outline-offset: 2px;
    opacity: .62;
    transition: opacity .18s ease, outline-color .18s ease;
}

.theme-base-detail-gallery-thumbnail[aria-current="true"] {
    outline-color: #18181b;
    opacity: 1;
}

.theme-base-detail-fact-icon {
    background: var(--gorent-public-tertiary);
    color: #52525b;
}

.theme-base-detail-fact,
.theme-base-detail-panel,
.theme-base-detail-aside > div {
    border-color: #e4e4e7;
    box-shadow: 0 8px 20px rgba(24, 24, 27, .04);
}

.theme-base-contact-page {
    background: #fafafa;
}

.theme-base-contact-page h1,
.theme-base-contact-page h2 {
    color: #18181b;
}

.theme-base-contact-page > div > div > p,
.theme-base-contact-details dt,
.theme-base-contact-form-shell > p {
    color: #71717a;
}

.theme-base-contact-map-wrap,
.theme-base-contact-details,
.theme-base-contact-form-shell {
    border: 1px solid #e4e4e7;
    border-radius: .75rem;
    background: #fff;
    box-shadow: 0 12px 30px rgba(24, 24, 27, .05);
}

.theme-base-contact-details,
.theme-base-contact-form-shell {
    padding: 1.5rem;
}

.theme-base-contact-details dd,
.theme-base-contact-details dd a {
    margin-top: .25rem;
    color: #18181b;
    font-weight: 600;
}

.theme-base-whatsapp-action {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #166534;
}

.theme-base-social-links a {
    border-radius: .5rem;
    background: #f4f4f5;
    padding: .5rem .75rem;
    font-size: .875rem;
    font-weight: 600;
    color: #3f3f46;
}

.theme-base-contact-form-shell label {
    display: block;
    margin-bottom: .375rem;
    font-size: .875rem;
    font-weight: 600;
    color: #3f3f46;
}

.theme-base-contact-form-shell input,
.theme-base-contact-form-shell textarea {
    width: 100%;
    border: 1px solid #d4d4d8;
    border-radius: .5rem;
    background: #fff;
    padding: .75rem;
    font-size: .9375rem;
}

.theme-base-contact-form-shell input:focus,
.theme-base-contact-form-shell textarea:focus {
    border-color: #18181b;
    outline: none;
    box-shadow: 0 0 0 3px rgba(24, 24, 27, .12);
}

.theme-base-footer {
    border-color: #e4e4e7;
    background: #fff;
    color: #71717a;
}

.theme-base-footer a:hover {
    color: #18181b;
}

.theme-base-footer-social-link {
    border-radius: .5rem;
    background: var(--gorent-public-accent);
    transition: background-color .18s ease, transform .18s ease;
}

.theme-base-footer-social-link:hover {
    background: var(--gorent-public-secondary);
    transform: translateY(-1px);
}

.theme-base-footer-social-link img {
    filter: invert(1);
}
