/* CTA floating button */
.floating-dissolution-btn{
    position:fixed;left:20px;bottom:50px;z-index:999999 !important;
    display:inline-flex;align-items:center;justify-content:center;
    padding:12px 16px;border-radius:14px;
    background:#0d6efd;color:#fff !important;text-decoration:none !important;font-weight:700;
    box-shadow:0 10px 25px rgba(13,110,253,.35);
    animation:diagonalShake 3.2s ease-in-out infinite !important;will-change:transform;
  }
  .floating-dissolution-btn:hover{animation-play-state:paused !important;color:#fff !important;text-decoration:none !important;}
  @keyframes diagonalShake{
    0%,88%,100%{transform:translate(0,0);}
    90%{transform:translate(6px,-6px);}
    92%{transform:translate(-7px,7px);}
    94%{transform:translate(8px,-8px);}
    96%{transform:translate(-6px,6px);}
    98%{transform:translate(4px,-4px);}
  }

  .sticky-aside{ position: sticky; top: 90px; }
  .mini-note{ font-size: .95rem; color: #6c757d; }


  .request-form-card label {
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
  }

  .request-form-card .form-control,
  .request-form-card .form-select,
  .request-form-card textarea {
    border-radius: 10px;
    min-height: 48px;
  }

  .request-form-card textarea {
    min-height: 120px;
  }

  .required-star {
    color: #dc3545;
    margin-right: 4px;
  }

  .option-group-box {
    border: 1px solid #e9ecef;
    border-radius: 14px;
    padding: 18px;
    margin-bottom: 18px;
    background: #fff;
  }

  .option-item {
    border-bottom: 1px dashed #e9ecef;
    padding: 10px 0;
  }

  .option-item:last-child {
    border-bottom: 0;
  }

  .price-note {
    color: #0d6efd;
    font-weight: 700;
    font-size: .95rem;
  }

  .error-text {
    color: #dc3545;
    font-size: .9rem;
    margin-top: 6px;
  }

  .summary-box {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 14px;
    padding: 18px;
  }

  .summary-box .summary-price {
    font-size: 1.2rem;
    font-weight: 800;
    color: #198754;
  }

  .blog-single-card{
    background:#fff;
    border-radius:16px;
    box-shadow:0 8px 30px rgba(0,0,0,.07);
    overflow:hidden;
  }

  .blog-single-cover{
    width:100%;
    max-height:420px;
    object-fit:cover;
    display:block;
  }

  .blog-meta{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    font-size:.95rem;
    color:#6c757d;
  }

  .blog-content{
    font-size:1.06rem;
    line-height:2.15;
    color:#343a40;
  }

  .blog-content p{
    margin-bottom:1.2rem;
  }

  .blog-content h2{
    font-size:1.6rem;
    font-weight:800;
    color:#1f2d3d;
    margin-top:2rem;
    margin-bottom:1rem;
  }

  .blog-content h3{
    font-size:1.25rem;
    font-weight:700;
    color:#25364a;
    margin-top:1.5rem;
    margin-bottom:.8rem;
  }

  .blog-content img{
    max-width:100%;
    border-radius:12px;
    margin:20px 0;
  }

  .blog-summary-box{
    background:#f8f9fa;
    border-right:4px solid #0d6efd;
    padding:18px 20px;
    border-radius:10px;
    margin-bottom:25px;
    color:#495057;
    line-height:2;
  }

  .faq-item{
    background:#f8fbff;
    border:1px solid #e8f1ff;
    border-radius:12px;
    padding:18px;
    margin-bottom:16px;
  }

  .faq-q{
    font-weight:800;
    color:#0d6efd;
    margin-bottom:10px;
  }

  .faq-a{
    color:#444;
    line-height:2;
    margin-bottom:0;
  }

  .sidebar-card{
    background:#fff;
    border-radius:16px;
    box-shadow:0 8px 30px rgba(0,0,0,.06);
    padding:22px;
    margin-bottom:25px;
  }

  .related-post-item{
    display:flex;
    gap:12px;
    margin-bottom:16px;
    align-items:flex-start;
  }

  .related-post-item:last-child{
    margin-bottom:0;
  }

  .related-thumb{
    width:85px;
    height:70px;
    object-fit:cover;
    border-radius:10px;
    flex-shrink:0;
  }

  .related-title{
    font-size:.95rem;
    font-weight:700;
    line-height:1.9;
    color:#1f2d3d;
    text-decoration:none;
  }

  .related-title:hover{
    color:#0d6efd;
    text-decoration:none;
  }

  .article-info-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#f8f9fa;
    border-radius:50px;
    padding:8px 14px;
    font-size:.9rem;
    color:#495057;
  }