/* LANEB-102 (2026-09-16): add-only polish layer for camerasellonline.com - loaded after style.css from common/header.php.
   Rollback: remove that one <link> line (or run rollback.sh in /home/camerasellonline/backups/laneb102-20260916-210853). Developer files untouched. */
:root{--lb102-purple:#734f96;--lb102-purple-dark:#5d3f7a;--lb102-gold:#c9941a}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif !important;font-size:15px;line-height:1.55;color:#222;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.display-5{letter-spacing:-.01em;line-height:1.25}
a{color:var(--lb102-purple)}
a:hover{color:var(--lb102-purple-dark)}
/* buttons + tap targets (44px) */
.btn{min-height:44px;padding:.55rem 1.15rem;font-size:15px;font-weight:600;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.btn-sm{min-height:40px;padding:.4rem .9rem;font-size:14px}
.btn-lg{min-height:50px;font-size:16px}
.btn-success,.btn-success:hover,.btn-success:focus,.btn-outline-success:hover{background:var(--lb102-gold);border-color:var(--lb102-gold);color:#fff}
.btn-outline-secondary{border-color:#cfc6da;color:#3a2f48}
.btn-outline-secondary:hover{background:#f3eefa;border-color:var(--lb102-purple);color:var(--lb102-purple)}
.textContainer a{min-height:48px;display:inline-flex;align-items:center;gap:.35rem;font-weight:700}
/* forms: 16px stops iOS zoom, 48px rows */
.form-control,.form-select{min-height:48px;font-size:16px;line-height:1.4}
textarea.form-control{min-height:120px}
.form-text{font-size:13px}
#brandId{font-size:16px;min-height:44px;padding-left:0}
/* header / nav */
.osahan-header .navbar-brand{padding:6px 0}
.osahan-header .navbar-brand img{height:64px}
.cso-bysyg{letter-spacing:.14em;opacity:.9}
.top-link a{display:inline-block;padding:10px 6px;min-height:44px;line-height:24px;color:#fff !important;text-decoration:none;font-weight:600}
.top-link .dropdown-menu a{color:#222 !important;padding:10px 14px;min-height:44px;display:flex;align-items:center}
.osahan-header .navbar-toggler{min-width:44px;min-height:44px;border-color:rgba(255,255,255,.55)}
.osahan-header .navbar-toggler-icon{filter:invert(1)}
@media (max-width:991.98px){.top-link{gap:0 !important;width:100%}.top-link li{width:100%;border-top:1px solid rgba(255,255,255,.12)}.top-link a{display:block;width:100%;text-align:left}}
/* hero */
.main-banner .carousel-item img{cursor:pointer}
.mobile-app-section .input-group{align-items:center;padding:6px !important}
.mobile-app-section .btn{white-space:nowrap;min-height:44px}
/* cards / lists */
.card{border-color:#ebe6f1}
.lensCard,.singleModel .border{transition:box-shadow .15s,border-color .15s}
.lensCard:hover,.singleModel .border:hover{border-color:var(--lb102-purple) !important;box-shadow:0 4px 14px rgba(115,79,150,.15)}
.accordion-button{font-size:16px;font-weight:600;min-height:52px}
/* footer */
footer .text-white-50{color:rgba(255,255,255,.78) !important}
footer ul li a{display:inline-block;padding:6px 0;min-height:36px;font-size:14px}
footer h6{letter-spacing:.06em;font-size:13px}
footer .footer-logo{height:64px;width:auto}
footer p.text-center{font-size:14px;color:rgba(255,255,255,.85)}
/* floating icons (desktop) */
.icon-container{gap:12px}
.single-icon img{width:100%;height:auto}
/* trust line (home) - text comes from the existing footer, nothing invented */
/* home only (#app-section exists only in index.php): reserve the trust line's space in CSS so the JS-inserted line causes no layout shift */
#app-section .my-4{padding-bottom:60px;position:relative}
.lb102-trust{position:absolute;left:0;right:0;bottom:0;height:60px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:4px 22px;margin:0;padding:0 12px;font-size:13.5px;color:#4a4458;box-sizing:border-box;overflow:hidden}
.lb102-trust span{display:inline-flex;align-items:flex-start;gap:6px;text-align:left}
.lb102-trust svg{width:16px;height:16px;flex:none;color:#1e8e3e;margin-top:3px}
/* mobile sticky quick-action bar (injected by /assets/js/lb102.js) */
.lb102-bar{display:none}
@media (max-width:767.98px){
  body.lb102-has-bar{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  .lb102-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1050;background:#fff;border-top:1px solid #e6e0ee;box-shadow:0 -4px 16px rgba(0,0,0,.10);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));gap:8px}
  .lb102-bar a{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:48px;border-radius:12px;font-weight:700;font-size:13.5px;letter-spacing:-.01em;text-decoration:none;color:#fff !important;padding:0 2px;white-space:nowrap;overflow:hidden}
  .lb102-bar a svg{width:18px;height:18px;flex:none}
  .lb102-bar .lb102-call{background:#c0392b;flex:.85 1 0}
  .lb102-bar .lb102-wa{background:#1fa855;flex:1.15 1 0}
  .lb102-bar .lb102-price{background:var(--lb102-purple);flex:1.5}
  body.lb102-has-bar .icon-container{display:none !important}
  .lb102-trust{font-size:13px;gap:2px 14px}
  h1,.h1{font-size:1.65rem}
  h2,.h2{font-size:1.35rem}
  .display-5{font-size:1.6rem}
}
