/*
Theme Name: Heuer & Sack
Theme URI: https://example.com/
Author: Heuer & Sack
Description: Editable block theme for Heuer & Sack telecommunications services. Converted from the supplied static files while preserving the original visual language.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: heuer-sack
*/

:root { --hs-primary:#161e4b; --hs-secondary:#2849a4; --hs-accent:#58a88b; --hs-accent-dark:#3e8d72; --hs-bg:#f7faff; --hs-text:#263247; --hs-muted:#667085; --hs-border:rgba(22,30,75,.10); --hs-radius:22px; --hs-shadow:0 12px 40px rgba(19,30,73,.12); }
html { scroll-behavior:smooth; }
body { margin:0; font-family:Asap,system-ui,sans-serif; color:var(--hs-text); background:#fff; }
a { color:var(--hs-secondary); }
.wp-site-blocks { padding-top:0; padding-bottom:0; }
.hs-container { width:min(1180px,calc(100% - 2rem)); margin-inline:auto; }
.hs-hero { position:relative; overflow:hidden; padding:8rem 0 5rem; color:#fff; background:radial-gradient(circle at 15% 20%,rgba(88,168,139,.18),transparent 22%),linear-gradient(135deg,#161e4b 0%,#1f3778 45%,#2c7b8f 100%); }
.hs-hero:after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.1),transparent 18%); }
.hs-hero > * { position:relative; z-index:1; }
.hs-hero h1 { color:#fff; font-size:clamp(2.3rem,5vw,4.5rem); line-height:1.05; margin:0 0 1rem; }
.hs-hero p { color:rgba(255,255,255,.9); font-size:1.15rem; max-width:680px; }
.hs-grid { display:grid; gap:1.5rem; }
.hs-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hs-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hs-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.hs-section { padding:5rem 0; }
.hs-section-light { background:var(--hs-bg); }
.hs-card { background:#fff; border:1px solid var(--hs-border); border-radius:var(--hs-radius); box-shadow:var(--hs-shadow); padding:1.5rem; height:100%; box-sizing:border-box; }
.hs-card h2,.hs-card h3 { color:var(--hs-primary); }
.hs-icon { width:56px; height:56px; border-radius:18px; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(88,168,139,.18),rgba(40,73,164,.12)); color:var(--hs-primary); margin-bottom:1rem; }
.hs-btn { display:inline-block; padding:.8rem 1.2rem; border-radius:999px; background:linear-gradient(135deg,var(--hs-accent),var(--hs-accent-dark)); color:#fff!important; text-decoration:none; font-weight:700; border:0; }
.hs-btn:hover { filter:brightness(1.08); }
.hs-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.hs-plan { position:relative; overflow:hidden; }
.hs-plan-top { color:#fff; background:linear-gradient(135deg,var(--hs-primary),var(--hs-secondary)); border-radius:18px; padding:1.25rem; }
.hs-plan-price { color:var(--hs-primary); font-size:2rem; font-weight:700; }
.hs-plan ul { padding-left:1.2rem; }
.hs-cta { color:#fff; background:linear-gradient(135deg,var(--hs-accent-dark),#1c6a5c); border-radius:28px; padding:2rem; }
.hs-cta h2,.hs-cta p { color:#fff; }
.hs-contact { background:var(--hs-primary); color:#fff; padding:4rem 0; }
.hs-contact h2,.hs-contact h3 { color:#fff; }
.hs-contact a { color:#fff; }
.hs-contact-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:20px; padding:1.25rem; height:100%; box-sizing:border-box; }
@media(max-width:900px){ .hs-grid-4,.hs-grid-3,.hs-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:600px){ .hs-grid-2,.hs-grid-4,.hs-grid-3,.hs-plan-grid{grid-template-columns:1fr;} .hs-hero{padding:6rem 0 4rem;} }
