/* ==========================================================
   URISTST — FINAL VISUAL POLISH
   Lightweight / accessibility friendly
   ========================================================== */

:root {
    --ur-navy: #172231;
    --ur-text: #5E6470;
    --ur-accent: #9A503F;
    --ur-accent-hover: #7F4134;
    --ur-border: #D8D3CA;
    --ur-bg: #F4F1EB;
}


/* ==========================================================
   BUTTONS
   ========================================================== */

.wp-block-button__link,
.uristst-form button[type="submit"],
.uristst-form input[type="submit"] {
    border-radius: 2px !important;

    font-weight: 650;

    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.wp-block-button__link:hover,
.uristst-form button[type="submit"]:hover,
.uristst-form input[type="submit"]:hover {
    transform: translateY(-1px);
}

.wp-block-button__link:active,
.uristst-form button[type="submit"]:active,
.uristst-form input[type="submit"]:active {
    transform: translateY(0);
}


/* ==========================================================
   FORM FIELDS
   ========================================================== */

.uristst-form input[type="text"],
.uristst-form input[type="tel"],
.uristst-form input[type="email"],
.uristst-form textarea,
.entry-content input[type="text"],
.entry-content input[type="tel"],
.entry-content input[type="email"],
.entry-content textarea {
    box-sizing: border-box;

    border:
        1px solid
        var(--ur-border) !important;

    border-radius: 2px !important;

    background: #FFFFFF;

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease,
        background-color 160ms ease;
}

.uristst-form input[type="text"]:focus,
.uristst-form input[type="tel"]:focus,
.uristst-form input[type="email"]:focus,
.uristst-form textarea:focus,
.entry-content input[type="text"]:focus,
.entry-content input[type="tel"]:focus,
.entry-content input[type="email"]:focus,
.entry-content textarea:focus {
    border-color:
        var(--ur-accent) !important;

    outline: none !important;

    box-shadow:
        0 0 0 3px
        rgba(154, 80, 63, .12) !important;
}


/* Placeholder */
.uristst-form input::placeholder,
.uristst-form textarea::placeholder {
    color: #8B8F95;

    opacity: 1;
}


/* ==========================================================
   TEXT LINKS
   ========================================================== */

.entry-content p a:not(.wp-block-button__link),
.entry-content li a:not(.wp-block-button__link) {
    color: var(--ur-accent);

    text-decoration-color:
        rgba(154, 80, 63, .38);

    text-decoration-thickness: 1px;

    text-underline-offset: 3px;

    transition:
        color 160ms ease,
        text-decoration-color 160ms ease;
}

.entry-content p a:not(.wp-block-button__link):hover,
.entry-content li a:not(.wp-block-button__link):hover {
    color: var(--ur-accent-hover);

    text-decoration-color:
        var(--ur-accent-hover);
}


/* ==========================================================
   KEYBOARD FOCUS
   ========================================================== */

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline:
        2px solid
        rgba(154, 80, 63, .72);

    outline-offset: 3px;
}


/* ==========================================================
   ANCHOR POSITIONING WITH STICKY HEADER
   ========================================================== */

[id] {
    scroll-margin-top: 110px;
}


/* ==========================================================
   TEXT SELECTION
   ========================================================== */

::selection {
    background:
        rgba(154, 80, 63, .18);

    color: var(--ur-navy);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 640px) {

    .uristst-form button[type="submit"],
    .uristst-form input[type="submit"] {
        width: 100%;

        min-height: 48px;
    }

    .wp-block-button__link {
        min-height: 46px;

        display: inline-flex;

        align-items: center;
        justify-content: center;
    }
}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .wp-block-button__link,
    .uristst-form button[type="submit"],
    .uristst-form input[type="submit"],
    .entry-content a,
    .uristst-form input,
    .uristst-form textarea {
        transition: none !important;
    }

    .wp-block-button__link:hover,
    .uristst-form button[type="submit"]:hover,
    .uristst-form input[type="submit"]:hover {
        transform: none !important;
    }
}


/* URISTST CHECK LIST COMPONENT START */

/*
 * .ul-services--check is structurally different from
 * the homepage service list:
 *
 * <li>
 *   <div>
 *     <strong>...</strong>
 *     <span>...</span>
 *   </div>
 * </li>
 *
 * It has no .ul-index and no arrow column.
 */

.uristst-legacy .ul-services.ul-services--check li {
    display: grid !important;

    grid-template-columns:
        28px
        minmax(0, 1fr) !important;

    gap: 16px !important;

    align-items: start;

    padding:
        22px
        0 !important;
}


/* Disable homepage arrow */
.uristst-legacy .ul-services.ul-services--check li::after {
    content: none !important;

    display: none !important;
}


/* Check marker */
.uristst-legacy .ul-services.ul-services--check li::before {
    content: "✓";

    display: flex;

    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    margin-top: 1px;

    border:
        1px solid
        rgba(154, 80, 63, .42);

    border-radius: 50%;

    color: #9A503F;

    font-size: 13px;
    font-weight: 700;
    line-height: 1;

    box-sizing: border-box;
}


.uristst-legacy .ul-services.ul-services--check li > div {
    grid-column: 2;

    min-width: 0 !important;
    width: auto !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}


.uristst-legacy .ul-services.ul-services--check strong {
    display: block;

    margin-bottom: 5px;
}


.uristst-legacy .ul-services.ul-services--check span {
    display: block;

    line-height: 1.6;
}


/* Mobile */
@media (max-width: 640px) {

    .uristst-legacy .ul-services.ul-services--check li {
        grid-template-columns:
            24px
            minmax(0, 1fr) !important;

        gap: 12px !important;

        padding:
            18px
            0 !important;
    }

    .uristst-legacy .ul-services.ul-services--check li::before {
        width: 21px;
        height: 21px;

        font-size: 12px;
    }
}

/* URISTST CHECK LIST COMPONENT END */
