/*
Theme Name: Solubot
Theme URI: https://solubotpl.com
Author: Solubot Pty Ltd
Description: Engineering company theme
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: solubot
*/

/* ---------- layout plumbing ---------- */
.wp-site-blocks > footer.wp-block-template-part{margin-block-start:0}
.wp-site-blocks .solubot-section,.wp-site-blocks .solubot-hero,.wp-site-blocks .solubot-band,.wp-site-blocks .solubot-header,.wp-site-blocks .solubot-footer,.wp-site-blocks .solubot-page-title{margin-block-start:0;margin-block-end:0}
.wp-block-group.solubot-section,.wp-block-group.solubot-hero,.wp-block-group.solubot-band,.wp-block-group.solubot-header,.wp-block-group.solubot-footer,.wp-block-group.solubot-page-title{padding-left:var(--wp--style--root--padding-left,24px);padding-right:var(--wp--style--root--padding-right,24px)}
.wp-block-group.solubot-section{padding-top:clamp(64px,8vw,88px);padding-bottom:clamp(64px,8vw,88px)}
.wp-block-columns.solubot-split{gap:clamp(2rem,5vw,4rem)}
:where(a,button,summary):focus-visible{outline:3px solid var(--wp--preset--color--accent);outline-offset:3px}

/* ---------- buttons ---------- */
.wp-block-button__link{transition:filter .15s}
.wp-block-button__link:hover{filter:brightness(1.08)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:inherit;border:2px solid currentColor}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(127,127,127,.15);filter:none}

/* ---------- header ---------- */
.wp-block-group.solubot-header{padding-top:16px;padding-bottom:16px}
.solubot-wordmark{margin:0;font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:1.6rem;line-height:1;letter-spacing:.06em;text-transform:uppercase}
.solubot-wordmark a{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.solubot-wordmark a::before{content:"";width:22px;height:22px;background:var(--wp--preset--color--accent);clip-path:polygon(0 0,100% 0,100% 62%,62% 100%,0 100%)}
.solubot-header .wp-block-navigation a,.solubot-footer .wp-block-navigation a{text-decoration:none;font-weight:500}
.solubot-header .wp-block-navigation a:hover{color:var(--wp--preset--color--accent)}
ul.solubot-social .wp-social-link{color:var(--wp--preset--color--navy-muted)}
ul.solubot-social .wp-social-link:hover{color:var(--wp--preset--color--accent)}

/* ---------- hero + stats ---------- */
.wp-block-group.solubot-hero{padding-top:clamp(56px,9vw,96px);padding-bottom:80px;background-image:linear-gradient(var(--wp--preset--color--navy-line) 1px,transparent 1px),linear-gradient(90deg,var(--wp--preset--color--navy-line) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px}
.solubot-hero h1{font-weight:700;letter-spacing:.03em;line-height:.9;margin:0}
.solubot-sub{font-family:var(--wp--preset--font-family--heading);font-weight:500;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;letter-spacing:.14em;margin:18px 0 36px}
.wp-block-group.solubot-stats-band{padding-top:0;padding-bottom:0;border-top:1px solid var(--wp--preset--color--navy-line)}
.solubot-stats > .solubot-stat{padding:26px 24px 30px;border-right:1px solid var(--wp--preset--color--navy-line)}
.solubot-stats > .solubot-stat:first-child{padding-left:0}
.solubot-stats > .solubot-stat:last-child{border-right:0}
.solubot-stat-num{margin:0;font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:2.2rem;line-height:1}
.solubot-stat-label{margin:6px 0 0;font-size:.95rem}

/* ---------- intro values ---------- */
.solubot-value{margin:0;padding:22px 0 22px 22px;font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:2rem;line-height:1;border-left:4px solid var(--wp--preset--color--accent);border-bottom:1px solid var(--wp--preset--color--border)}
.solubot-value:last-child{border-bottom:0}

/* ---------- what we offer ---------- */
.wp-block-group.solubot-offer{border-block:1px solid var(--wp--preset--color--border)}
.solubot-lead{max-width:60ch;margin-bottom:48px}
.solubot-services-grid{margin-top:8px}
.wp-block-group.solubot-service-card{padding:0}
.wp-block-group.solubot-service-card > *{margin-block:0}
.wp-block-group.solubot-service-card > * + *{margin-block-start:16px}
.solubot-service-img img{display:block;width:100%;height:auto;border:1px solid var(--wp--preset--color--border)}
.solubot-service-title{position:relative;padding-left:22px;font-size:1.25rem}
.solubot-service-title::before{content:"";position:absolute;left:0;top:.35em;width:10px;height:10px;background:var(--wp--preset--color--brand)}

/* ---------- process ---------- */
.solubot-steps{counter-reset:solubot-step;margin-top:48px}
.wp-block-group.solubot-step{padding:26px 32px 0 0;border-top:3px solid var(--wp--preset--color--accent)}
.solubot-step::before{counter-increment:solubot-step;content:counter(solubot-step);display:block;margin-bottom:10px;font-family:var(--wp--preset--font-family--heading);font-weight:700;font-size:3.4rem;line-height:1;color:var(--wp--preset--color--brand)}
.wp-block-group.solubot-step > *{margin-block:0}
.wp-block-group.solubot-step > * + *{margin-block-start:10px}
.solubot-cta-row{margin-top:56px}
.solubot-cta-label{margin:0;font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:1.6rem;line-height:1}

/* ---------- why choose us ---------- */
.solubot-why-list{margin-top:28px}
.wp-block-group.solubot-why-list > *{margin-block:0}
.solubot-why-item{padding:16px 0;border-top:1px solid var(--wp--preset--color--navy-line)}
.solubot-why-item:last-child{border-bottom:1px solid var(--wp--preset--color--navy-line)}
.solubot-gallery .wp-block-image{margin:0}
.solubot-gallery img{display:block;width:100%;height:auto;border:1px solid var(--wp--preset--color--navy-line)}

/* ---------- FAQ accordion ---------- */
.wp-block-details{margin:0;padding:20px 0;border-bottom:1px solid var(--wp--preset--color--border)}
.wp-block-details:first-of-type{border-top:2px solid var(--wp--preset--color--contrast)}
.wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--wp--preset--font-family--heading);font-weight:600;font-size:1.5rem;line-height:1.2}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";color:var(--wp--preset--color--brand);font-size:1.8rem;line-height:1}
.wp-block-details[open] summary::after{content:"\2212"}
.wp-block-details > :not(summary){color:var(--wp--preset--color--muted);margin-top:12px}

/* ---------- footer ---------- */
.wp-block-group.solubot-footer{padding-top:72px;padding-bottom:28px}
.solubot-footer h3{margin:0 0 12px;font-size:1.3rem;color:var(--wp--preset--color--accent)}
.solubot-footer p,.solubot-footer a{color:var(--wp--preset--color--navy-muted)}
.solubot-footer a:hover{color:var(--wp--preset--color--accent)}
.solubot-footer .solubot-wordmark a{color:var(--wp--preset--color--on-navy)}
.solubot-footer-bar{margin-top:56px;padding-top:22px;border-top:1px solid var(--wp--preset--color--navy-line);font-size:.9rem}
.solubot-footer-bar p{margin:0}

/* ---------- inner pages ---------- */
.wp-block-group.solubot-page-title{padding-top:56px;padding-bottom:56px}
.solubot-page-title :where(h1,p){margin:0}

/* ---------- responsive ---------- */
@media (max-width:820px){
 .solubot-stats{grid-template-columns:1fr!important}
 .solubot-stats > .solubot-stat{padding-left:0;border-right:0;border-bottom:1px solid var(--wp--preset--color--navy-line)}
 .solubot-services-grid{grid-template-columns:1fr 1fr!important}
 .solubot-steps{grid-template-columns:1fr!important;gap:36px!important}
 ul.solubot-social{display:none}
}
@media (max-width:480px){.solubot-services-grid{grid-template-columns:1fr!important}}

/* ---------- automatic dark mode (follows the visitor's device) ---------- */
@media (prefers-color-scheme:dark){
 html body{--wp--preset--color--base:#0C1826;--wp--preset--color--surface:#132338;--wp--preset--color--contrast:#E8EEF5;--wp--preset--color--muted:#9FB0C4;--wp--preset--color--border:#243A54;--wp--preset--color--navy:#081220;--wp--preset--color--brand:#6FA8E6}
}
