/* Bootstrap 5 grid with local Lucide artwork; screen-only, preserving A4 typography. */
.pricing-modern { --orange:#ce4300; --orange-dark:#a83300; --ink:#142638; --muted:#5c6f81; --line:#d4e0e9; background:#f0f4f8; font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.pricing-modern .wrap,.pricing-modern .sh-container { width:calc(100% - 64px); max-width:none; padding-left:0; padding-right:0; }
.pricing-modern .catalogue-icon { width:21px; height:21px; display:inline-block; vertical-align:middle; flex:0 0 auto; }
.pricing-modern .sh-header { background:#fff; }
.pricing-modern .sh-desktop-nav { gap:6px; }
.pricing-modern .sh-desktop-nav a { display:inline-flex; align-items:center; gap:8px; padding:11px 13px; border-bottom:2px solid transparent; }
.pricing-modern .sh-desktop-nav a[aria-current],.pricing-modern .sh-desktop-nav a:hover { color:var(--orange-dark); background:#fff4ed; border-color:var(--orange); }
.pricing-modern .sh-mobile-nav nav,.pricing-modern .sh-mobile-nav nav a,.pricing-modern .sh-icon-button { border-radius:0; }
.pricing-modern .sh-mobile-nav nav { max-height:calc(100dvh - 100px); overflow-y:auto; }
.pricing-modern .hero { padding:32px 0 24px; }
.pricing-modern .hero-card { margin:0; padding:32px; border:0; border-left:4px solid #f46c2c; border-radius:0; background:linear-gradient(110deg,#102536,#163e59); color:#fff; overflow:hidden; }
.pricing-modern .hero-card>* { margin-top:0; }
.pricing-modern .eyebrow { color:#ffb78e; font-size:.72rem; font-weight:750; letter-spacing:.14em; }
.pricing-modern h1 { font-size:clamp(30px,3vw,48px); font-weight:750; letter-spacing:-.035em; line-height:1.12; margin:12px 0; }
.pricing-modern .hero p { font-size:.95rem; color:#bed0dd; max-width:860px; line-height:1.65; }
.pricing-modern .pricing-hero-summary { display:flex; align-items:center; gap:18px; justify-content:flex-end; border-left:1px solid #ffffff26; }
.pricing-modern .pricing-summary-icon { width:64px; height:72px; display:grid; place-items:center; color:#77e0f2; background:#153a50; border:1px solid #3e6b83; }
.pricing-modern .pricing-summary-icon .catalogue-icon { width:34px; height:34px; }
.pricing-modern .pricing-hero-summary strong { display:block; font-size:1rem; margin-bottom:6px; }
.pricing-modern .pricing-hero-summary span { display:block; font-size:.8rem; color:#bad4e5; }
.pricing-modern .panel { border:1px solid var(--line); border-radius:0; box-shadow:0 10px 30px #172b4210; margin-bottom:36px; }
.pricing-modern .tools.row { padding:8px 12px 24px; margin:0; gap:0; background:#fff; }
.pricing-modern .pricing-label { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; font-weight:750; color:#455e73; margin-bottom:8px; }
.pricing-modern .pricing-input { position:relative; }
.pricing-modern .pricing-input>.catalogue-icon { position:absolute; top:14px; left:14px; color:#70879b; width:20px; height:20px; pointer-events:none; }
.pricing-modern .tools input,.pricing-modern .tools select { width:100%; min-width:0; min-height:48px; border:1px solid #a9bdcd; border-radius:0; background:#fbfdff; color:#172d42; padding:10px 13px; font:inherit; }
.pricing-modern .tools input { padding-left:44px; }
.pricing-modern .tools input:focus,.pricing-modern .tools select:focus { outline:2px solid #2888b5; outline-offset:2px; background:#fff; }
.pricing-modern .pricing-tools-actions { display:flex; align-items:center; justify-content:flex-end; gap:18px; min-height:48px; }
.pricing-modern .count { font-size:.78rem; margin-left:0; color:#526a7c; }
.pricing-modern .btn { display:inline-flex; align-items:center; gap:9px; min-height:44px; border-radius:0; font-family:inherit; font-weight:650; font-size:.85rem; line-height:1.3; transition:background-color .15s,border-color .15s; }
.pricing-modern #printPriceList { background:var(--orange); border-color:var(--orange); color:#fff; min-height:48px; white-space:nowrap; }
.pricing-modern #printPriceList:hover { background:var(--orange-dark); }
.pricing-modern #printPriceList:disabled { opacity:.6; }
.pricing-modern .table-wrap { background:#fff; }
.pricing-modern table { min-width:660px; }
.pricing-modern thead th { color:#d9e8f1; background:#18374d; padding:14px 20px; font-size:.71rem; letter-spacing:.09em; font-weight:650; border:0; }
.pricing-modern td { padding:17px 20px; border-top:1px solid #e1e9f0; }
.pricing-modern tbody tr:not(.category-row):hover { background:#f3f9fd; }
.pricing-modern tbody tr:not(.category-row) td:first-child { color:#718599; font-size:.78rem; font-variant-numeric:tabular-nums; }
.pricing-modern .category-row th { padding:11px 20px; background:#e8f0f7; color:#17415f; border-top:2px solid #cbdce8; font-size:.76rem; letter-spacing:.04em; font-weight:750; }
.pricing-modern .category-row .catalogue-icon { width:17px; height:17px; margin-right:9px; color:#4e7e9c; }
.pricing-modern .product-name { font-size:.95rem; font-weight:650; line-height:1.5; color:#172c40; }
.pricing-modern .price { color:#0a7257; font-size:1.08rem; font-weight:750; font-variant-numeric:tabular-nums; }
.pricing-modern .old-price { color:#7b8e9f; font-size:.76rem; }
.pricing-modern .saving { color:#10734f; font-size:.66rem; font-weight:650; }
.pricing-modern .pricing-cart-button { width:44px; min-width:44px; padding:10px; color:var(--orange-dark); border:1px solid #ecc3ac; background:#fff4ec; }
.pricing-modern .pricing-cart-button:hover { color:#fff; background:var(--orange); border-color:var(--orange); }
.pricing-modern thead th:last-child,.pricing-modern tbody tr:not(.category-row) td:last-child { width:74px; text-align:center; }
.pricing-modern .pager { border-top:1px solid var(--line); border-bottom:0; padding:18px 24px; background:#f9fbfd; justify-content:space-between; }
.pricing-modern #pageStatus { color:#5c7183; font-size:.83rem; }
.pricing-modern .print-preparation { background:#fff2e8; color:#7d3c19; }
.pricing-modern .state { background:#fff; font-size:.9rem; }
.pricing-modern .sh-footer { background:#102536; }
.pricing-modern .sh-footer h2 { letter-spacing:.04em; }
.pricing-modern :focus-visible { outline:2px solid #227bb4; outline-offset:3px; }
@media(max-width:1199px) {
    .pricing-modern .pricing-tools-actions { justify-content:space-between; }
    .pricing-modern .sh-desktop-nav a { padding:9px; gap:6px; }
}
@media(max-width:1000px) {
    .pricing-modern .sh-desktop-nav { display:none; }
    .pricing-modern .sh-mobile-nav { display:block; }
    .pricing-modern .pricing-hero-summary { justify-content:flex-start; border-left:0; margin-top:24px; padding-top:24px; border-top:1px solid #ffffff26; }
}
@media(max-width:760px) {
    .pricing-modern .wrap,.pricing-modern .sh-container { width:calc(100% - 28px); }
    .pricing-modern .hero { padding:20px 0; }
    .pricing-modern .hero-card { padding:20px 12px; }
    .pricing-modern .tools.row { flex-direction:row; padding:4px 4px 20px; }
    .pricing-modern .sh-nav-actions>.sh-icon-button { display:inline-flex; }
    .pricing-modern .sh-nav-wrap { gap:10px; }
    .pricing-modern .sh-nav-actions { gap:8px; }
    .pricing-modern .sh-brand img { max-width:150px; }
    .pricing-modern .pager { flex-direction:row; align-items:center; padding:14px; gap:10px; }
    .pricing-modern #pageStatus { text-align:center; font-size:.72rem; }
    .pricing-modern td,.pricing-modern thead th { padding:14px; }
    .pricing-modern .btn { font-size:.78rem; }
    .pricing-modern .count { font-size:.72rem; }
}
@media(prefers-reduced-motion:reduce) { .pricing-modern .btn,.pricing-modern .spinner { transition:none; animation:none; } }
