/*
Theme Name: BokSmart Public
Theme URI: https://bokforingsapp.se/
Author: BokSmart
Author URI: https://bokforingsapp.se/
Description: Professionellt SaaS-tema för BokSmart med produktfokuserad startsida, stabila publika sidmallar och separation från den privata appen.
Version: 4.0.16
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: boksmart-public
License: GPL-2.0-or-later
*/


/* 4.0.9 – public mileage calculator */
.bs-mileage-calculator-panel{max-width:980px;margin:0 auto;padding:34px;border:1px solid #d9e6ef;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f7fbff 100%);box-shadow:0 18px 50px rgba(17,52,81,.08)}
.bs-mileage-calculator-intro{max-width:720px;margin-bottom:28px}
.bs-mileage-calculator-intro h3{margin:0 0 10px;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.12;color:#0c3556}
.bs-mileage-calculator-intro p{margin:0;color:#536b7e;font-size:1.05rem;line-height:1.7}
.bs-mileage-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:22px}
.bs-mileage-tool-grid label{display:flex;flex-direction:column;gap:9px;font-weight:800;color:#173d5c}
.bs-input-with-suffix{display:flex;align-items:center;border:1px solid #cfdde8;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.bs-input-with-suffix:focus-within{border-color:#147f75;box-shadow:0 0 0 4px rgba(20,127,117,.12)}
.bs-input-with-suffix input{width:100%;min-height:54px;border:0!important;box-shadow:none!important;padding:12px 14px;font:inherit;color:#102f49;background:transparent}
.bs-input-with-suffix b{align-self:stretch;display:flex;align-items:center;padding:0 16px;border-left:1px solid #e1ebf2;background:#f4f8fb;color:#5a7183;white-space:nowrap;font-size:.92rem}
.bs-mileage-calculator-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}
.bs-mileage-calculator-actions .bs-tool-button{min-height:52px;padding:0 24px;border:0;border-radius:13px;background:#117e74;color:#fff;font-weight:800;font-size:1rem;cursor:pointer;box-shadow:0 10px 24px rgba(17,126,116,.2)}
.bs-mileage-calculator-actions .bs-tool-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(17,126,116,.25)}
.bs-mileage-calculator-actions span{color:#61788a;font-size:.95rem}
.bs-mileage-result{min-height:74px;padding:18px 20px;border-radius:16px;background:#edf9f6;border:1px solid #cdebe5;color:#0c554f;font-size:1.08rem;line-height:1.6}
.bs-mileage-result:empty:before{content:'Resultatet visas här efter att du har beräknat.';color:#5e7d78}
.bs-mileage-calculator-note{margin-top:20px;padding:15px 17px;border-radius:14px;background:#fff8e8;border:1px solid #f2dfae;color:#6b5422;line-height:1.55}
@media (max-width:720px){.bs-mileage-calculator-panel{padding:22px}.bs-mileage-tool-grid{grid-template-columns:1fr}.bs-mileage-calculator-actions{align-items:stretch}.bs-mileage-calculator-actions .bs-tool-button{width:100%}}


/* 4.0.15 — controlled contact page */
.page-kontakt .bs-standard-public-content{padding-top:0}
.bs-contact-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:28px;align-items:start}
.bs-contact-info-card,.bs-contact-form-column .bs-contact-tool{background:#fff;border:1px solid #dfe7f1;border-radius:24px;box-shadow:0 18px 50px rgba(15,42,73,.08)}
.bs-contact-info-card{padding:34px;background:linear-gradient(145deg,#f4f9ff 0%,#effcf7 100%)}
.bs-contact-kicker{display:inline-block;margin-bottom:12px;font-size:12px;font-weight:900;letter-spacing:.12em;color:#087b69}
.bs-contact-info-card h2{margin:0 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.08;color:#092d4d}
.bs-contact-info-card>p{margin:0 0 28px;color:#506780;line-height:1.7}
.bs-contact-options{display:grid;gap:14px}
.bs-contact-options article{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;padding:16px;background:rgba(255,255,255,.82);border:1px solid rgba(202,219,233,.9);border-radius:16px}
.bs-contact-option-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e2f7f1;color:#087b69;font-size:20px;font-weight:900}
.bs-contact-options strong{display:block;color:#0b2d4b;margin-bottom:4px}
.bs-contact-options p{margin:0;color:#60758a;font-size:14px;line-height:1.5}
.bs-contact-response-note{margin-top:24px;padding-top:20px;border-top:1px solid #d6e5eb;display:grid;gap:3px;color:#0b2d4b}
.bs-contact-response-note span{font-size:14px;color:#60758a}
.bs-contact-form-column .bs-contact-tool{padding:34px}
.bs-contact-form-column .bs-tool-card-header{margin-bottom:24px}
.bs-contact-form-column .bs-tool-card-header h2,.bs-contact-form-column .bs-tool-card-header h3{margin:0;color:#092d4d;font-size:30px}
.bs-public-contact-form{display:grid;gap:20px}
.bs-public-contact-form .bs-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bs-public-contact-form label{display:grid;gap:8px;font-size:14px;font-weight:800;color:#173958}
.bs-public-contact-form input,.bs-public-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid #cad8e7;border-radius:12px;background:#fff;padding:14px 15px;font:inherit;color:#0b2d4b;box-shadow:0 1px 2px rgba(15,42,73,.03);transition:border-color .2s,box-shadow .2s}
.bs-public-contact-form textarea{min-height:170px;resize:vertical}
.bs-public-contact-form input:focus,.bs-public-contact-form textarea:focus{outline:none;border-color:#4e63ee;box-shadow:0 0 0 4px rgba(78,99,238,.12)}
.bs-public-contact-form .bs-tool-button{justify-self:start;min-width:190px;border:0;border-radius:12px;padding:14px 22px;background:#4b5ee9;color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 10px 24px rgba(75,94,233,.25)}
.bs-public-contact-form .bs-tool-button:hover{transform:translateY(-1px);filter:brightness(.97)}
.bs-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.bs-form-message{margin-bottom:18px;padding:14px 16px;border-radius:12px;font-weight:700}
.bs-form-message--success{background:#e9f8f1;color:#086c57;border:1px solid #bfe9d8}
.bs-form-message--error{background:#fff0f0;color:#9b2525;border:1px solid #f0c7c7}
.bs-contact-privacy{margin:12px 4px 0;color:#708398;font-size:13px;text-align:center}
@media(max-width:900px){.bs-contact-layout{grid-template-columns:1fr}.bs-contact-info-card,.bs-contact-form-column .bs-contact-tool{padding:26px}}
@media(max-width:600px){.bs-public-contact-form .bs-tool-grid{grid-template-columns:1fr}.bs-contact-info-card,.bs-contact-form-column .bs-contact-tool{padding:20px;border-radius:18px}.bs-public-contact-form .bs-tool-button{width:100%}}


/* 4.0.16 — contact route owns its form; no conflicting plugin shortcode markup. */
.page-kontakt .bs-standard-public-content{max-width:1180px!important;margin:0 auto!important}
.page-kontakt .bs-contact-layout{width:100%!important;display:grid!important;grid-template-columns:minmax(320px,.82fr) minmax(460px,1.18fr)!important;gap:30px!important;align-items:start!important}
.page-kontakt .bs-contact-info-card,.page-kontakt .bs-contact-tool{display:block!important;width:auto!important;margin:0!important;padding:34px!important;box-sizing:border-box!important}
.page-kontakt .bs-contact-form-column{min-width:0!important}
.page-kontakt .bs-contact-tool .bs-tool-card-header p{margin:8px 0 0;color:#60758a;line-height:1.6}
.page-kontakt .bs-public-contact-form{display:grid!important;gap:20px!important;margin:0!important}
.page-kontakt .bs-public-contact-form .bs-tool-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important}
.page-kontakt .bs-public-contact-form label{display:grid!important;gap:8px!important;margin:0!important;width:auto!important}
.page-kontakt .bs-public-contact-form input,.page-kontakt .bs-public-contact-form textarea{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box!important}
.page-kontakt .bs-public-contact-form button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:50px!important}
@media(max-width:900px){.page-kontakt .bs-contact-layout{grid-template-columns:1fr!important}}
@media(max-width:600px){.page-kontakt .bs-public-contact-form .bs-tool-grid{grid-template-columns:1fr!important}}
