/*
Theme Name: Rock Solid Excavation
Theme URI: https://rocksoliddev.industry-scope.com
Author: Rock Solid Excavation
Description: Custom theme for Rock Solid Excavation. Industrial design, Tailwind-driven, Iconify icons, Inter typography.
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rock-solid
*/

body { font-family: 'Inter', sans-serif; }

/* Iconify web component: render as a centered box so icons sit dead-center in
   their containers (default baseline alignment makes them sit low/off-center). */
iconify-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 1;
}
iconify-icon > svg { display: block; margin: 0; }

.btn-industrial {
    clip-path: polygon(
        12px 0,
        100% 0,
        100% calc(100% - 12px),
        calc(100% - 12px) 100%,
        0 100%,
        0 12px
    );
}

.shape-angular {
    clip-path: polygon(
        0 0,
        100% 0,
        100% calc(100% - 20px),
        calc(100% - 20px) 100%,
        0 100%
    );
}

/* ---------------------------------------------------------------------------
   Prose — styles the markdown-rendered body on service / location / blog pages.
   Tailwind CDN ships no typography plugin, so raw tags need explicit styling.
   --------------------------------------------------------------------------- */
.rsx-prose { color: #3f3f46; font-size: 1.0625rem; line-height: 1.75; }
.rsx-prose > :first-child { margin-top: 0; }
.rsx-prose p { margin: 0 0 1.25em; }
.rsx-prose h2 {
    font-family: 'Oswald', 'Inter', sans-serif;
    font-size: 1.75rem; line-height: 1.2; font-weight: 600; letter-spacing: -0.01em;
    color: #18181b; margin: 2em 0 0.6em; text-wrap: balance;
}
.rsx-prose h3 {
    font-size: 1.2rem; font-weight: 700; color: #18181b; margin: 1.6em 0 0.4em;
}
.rsx-prose ul, .rsx-prose ol { margin: 0 0 1.25em; padding-left: 1.35em; }
.rsx-prose ul { list-style: none; padding-left: 0; }
.rsx-prose ul > li {
    position: relative; padding-left: 1.6em; margin-bottom: 0.55em;
}
.rsx-prose ul > li::before {
    content: ""; position: absolute; left: 0; top: 0.62em;
    width: 8px; height: 8px; background: #ed0314;
    clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
}
.rsx-prose ol > li { margin-bottom: 0.55em; padding-left: 0.25em; }
.rsx-prose a { color: #18181b; font-weight: 600; border-bottom: 2px solid #ed0314; text-decoration: none; transition: color .15s; }
.rsx-prose a:hover { color: #ed0314; }
.rsx-prose strong { color: #18181b; font-weight: 700; }
.rsx-prose-invert { color: #d4d4d8; }
.rsx-prose-invert h2, .rsx-prose-invert h3, .rsx-prose-invert strong { color: #fff; }
.rsx-prose-invert a { color: #fff; }

/* Megamenu (desktop) */
.rsx-mega-panel {
    position: fixed; left: 0; right: 0; top: 64px; z-index: 40;
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.rsx-mega-panel.rsx-mega-open { opacity: 1; visibility: visible; transform: none; }
.rsx-mega-panel > div { position: relative; overflow: hidden; }
[data-mega-trigger].rsx-mega-trigger-open .rsx-mega-chevron { transform: rotate(180deg); }
[data-mega-trigger].rsx-mega-trigger-open { color: #ed0314 !important; }

/* FAQ accordion */
.rsx-faq details { border-bottom: 1px solid #e4e4e7; }
.rsx-faq summary {
    cursor: pointer; list-style: none; padding: 1.25rem 0;
    display: flex; align-items: center; justify-content: space-between; gap: 1rem;
    font-weight: 600; font-size: 1.0625rem; color: #18181b;
}
.rsx-faq summary::-webkit-details-marker { display: none; }
.rsx-faq summary .rsx-faq__icon { flex: none; color: #ed0314; transition: transform .25s ease; }
.rsx-faq details[open] summary .rsx-faq__icon { transform: rotate(45deg); }
.rsx-faq .rsx-faq__a { padding: 0 0 1.4rem; color: #52525b; line-height: 1.7; }
.rsx-faq .rsx-faq__a p { margin: 0 0 0.8em; }
.rsx-faq .rsx-faq__a > :last-child { margin-bottom: 0; }
