/* A-Star Work — спільна дизайн-система (шапка, підвал, модалка, кнопки,
   змінні, reset). Підключається в layout один раз для всіх сторінок.
   Унікальний CSS кожної сторінки живе у @push('styles') відповідної вьюхи. */

:root {
  --cream: #ffffff;
  --cream2: #f3f6fb;
  --cream3: #e5edf6;
  --warm: #f8fafc;
  --brown: #1a2937;
  --brown2: #374151;
  --brown3: #6b7280;
  --rust: #1a5a92;
  --rust2: #134470;
  --rust-light: #e8f1f9;
  --rust-mid: #b8d4e8;
  --green: #16a34a;
  --green-light: #e8f5ed;
  --yellow: #fbbf24;
  --yellow-dark: #f59e0b;
  --text: #1a2937;
  --muted: #6b7280;
  --border: #e1e5eb;
  --white: #ffffff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Geologica',Georgia,sans-serif;background:var(--cream);color:var(--text);line-height:1.65;font-size:16px}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.wrap{width:min(1100px,calc(100% - 32px));margin:0 auto}

/* NAV */
nav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;width:min(1100px,calc(100% - 32px));margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:var(--brown)}
.brand-ico{width:38px;height:38px;border-radius:10px;flex-shrink:0}
.nav-links{display:flex;gap:24px;list-style:none;font-size:15px;color:var(--muted)}
.nav-links a:hover,.nav-links a.active{color:var(--rust);transition:color .2s}
.nav-links a.active{font-weight:600}
.nav-tel{font-size:15px;font-weight:700;color:var(--brown);display:flex;align-items:center;gap:6px}
.btn-nav{background:var(--rust);color:var(--white);font-size:15px;font-weight:600;padding:10px 22px;border-radius:999px;border:none;cursor:pointer;transition:background .2s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
.btn-nav:hover{background:var(--rust2)}

/* FOOTER */
footer{background:var(--white);border-top:1px solid var(--border);padding:26px 0 80px;font-size:13px;color:var(--muted)}
.footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;line-height:1.7}
.footer-legal{font-size:12px;color:var(--muted);margin-top:4px}
.footer-links{font-size:13px;margin-top:6px}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--rust)}
.footer-side a{color:var(--brown)}
.footer-center{text-align:center;line-height:1.7}
.footer-center p{margin-bottom:4px;color:var(--muted)}
.footer-center a{color:var(--muted)}
.footer-center a:hover{color:var(--rust)}

/* STICKY (mobile) */
.sticky{display:none;position:fixed;bottom:12px;left:12px;right:12px;z-index:90;gap:8px;padding:10px;border-radius:16px;background:var(--white);border:1px solid var(--border);box-shadow:0 8px 32px rgba(26,41,55,.16)}
.sticky a,.sticky button{flex:1;height:48px;border-radius:10px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:none;transition:all .2s}
.sticky .s-main{background:var(--rust);color:var(--white)}
.sticky .s-sec{background:var(--cream2);color:var(--brown);border:1px solid var(--border)}

/* MODAL (попап-форма заявки) */
.modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(46,31,20,.55);padding:20px;overflow-y:auto}
.modal.open{display:flex;align-items:flex-start;justify-content:center}
.modal-card{background:var(--white);border-radius:22px;padding:30px;width:min(440px,100%);margin:auto;position:relative;box-shadow:0 24px 60px rgba(46,31,20,.3)}
.modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:var(--cream2);color:var(--brown);font-size:20px;cursor:pointer;line-height:1;transition:background .2s}
.modal-close:hover{background:var(--cream3)}
.modal-vac{font-size:13px;font-weight:600;color:var(--rust);background:var(--rust-light);border:1px solid var(--rust-mid);border-radius:10px;padding:9px 12px;margin-bottom:16px;display:none}
.modal-card h2{font-size:21px;font-weight:800;color:var(--brown);margin-bottom:5px}
.modal-card .modal-sub{font-size:14px;color:var(--muted);margin-bottom:18px;line-height:1.5}
.mgrid{display:grid;gap:10px}
.min,.msel{width:100%;height:50px;border-radius:11px;border:1.5px solid var(--border);background:var(--cream);padding:0 14px;font-size:15px;color:var(--text);outline:none;transition:border-color .2s,background .2s}
.min:focus,.msel:focus{border-color:var(--rust);background:var(--white)}
.min-wrap{display:grid;gap:6px}
.min.fin-error{border-color:#d35434;background:#fff5f2}
.min.fin-ok{border-color:#7fb98b}
.min-msg{font-size:12px;font-weight:600;color:#a83a1c;background:#fff0eb;padding:7px 11px;border-radius:8px;line-height:1.4}
.msel{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a6a5c' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.msubmit{width:100%;height:52px;border-radius:11px;border:none;background:var(--yellow);color:var(--brown);font-size:16px;font-weight:800;cursor:pointer;transition:all .2s;margin-top:4px}
.msubmit:hover{background:var(--yellow-dark)}
.msubmit:disabled{opacity:.6;cursor:default}
.magree{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}
.magree a{color:var(--rust);text-decoration:underline}
.mhp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.modal-ok{display:none;text-align:center;padding:14px 0}
.modal-ok .ok-ico{width:60px;height:60px;border-radius:50%;background:var(--green-light);color:var(--green);display:grid;place-items:center;font-size:30px;margin:0 auto 14px}
.modal-ok h2{font-size:20px;color:var(--brown);margin-bottom:8px}
.modal-ok p{font-size:14px;color:var(--muted);margin-bottom:18px}

@media(max-width:680px){
  .nav-links,.nav-tel{display:none}
  .footer-row{flex-direction:column;text-align:center}
  .sticky{display:flex}
  footer{padding-bottom:96px}
}
