.elementor-550 .elementor-element.elementor-element-2ccc66b9{--display:flex;}.elementor-550 .elementor-element.elementor-element-2ccc66b9 > .elementor-shape-top .elementor-shape-fill, .elementor-550 .elementor-element.elementor-element-2ccc66b9 > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#004EFF3D;}.elementor-widget-eael-dual-color-header .eael-dch-separator-wrap i{color:var( --e-global-color-primary );}.elementor-550 .elementor-element.elementor-element-86ef14.elementor-element{--align-self:center;}.elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title{color:#0013FF;}.elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title span.lead{color:#00067B;}.elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title, .elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title span{font-family:"Noto Sans Thai", Sans-serif;}.elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .subtext{color:#1C00D3;}.elementor-550 .elementor-element.elementor-element-525040f{--display:flex;}.elementor-widget-eael-filterable-gallery .fg-caption-head .fg-item-price{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-caption-head .fg-item-ratings{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-item-category span{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-filter-trigger > span{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .fg-layout-3-filter-controls li.control{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-eael-filterable-gallery .eael-gallery-load-more .eael-filterable-gallery-load-more-text{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap{transition:500ms;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filter-gallery-wrapper{background-color:#fff;border-radius:0px;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filter-gallery-control ul li.control{color:#444;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filter-gallery-control ul > li.control{border-radius:0px;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filter-gallery-control ul li.active{color:#fff;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filter-gallery-control ul li.control.active{background:#333;border-radius:0px;}.elementor-550 .elementor-element.elementor-element-93aed48 .eael-filterable-gallery-item-wrap .eael-gallery-grid-item, 
                    .elementor-550 .elementor-element.elementor-element-93aed48 .eael-filterable-gallery-item-wrap .eael-grid-fg-box,
                    .elementor-550 .elementor-element.elementor-element-93aed48 .eael-filterable-gallery-item-wrap .eael-hg-grid__cell-img{border-radius:0px;}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap .gallery-item-hoverer-bg{background-color:rgba(0,0,0,0.7);}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap.caption-style-hoverer .fg-item-title{color:#ffffff;}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap.caption-style-hoverer .fg-item-content{color:#ffffff;}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-thumbnail-wrap .gallery-item-caption-wrap{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-550 .elementor-element.elementor-element-93aed48 .video-popup-bg{background-color:rgba(0, 0, 0, .7);}.elementor-550 .elementor-element.elementor-element-93aed48 .video-popup:hover > img{transform:scale(1.1);}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap .gallery-item-buttons > a span{background:#ff622a;color:#fff;height:50px;line-height:50px;width:50px;font-size:18px;border-radius:100px;transition:300ms;}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap .gallery-item-buttons > a span img{height:18px;width:18px;}.elementor-550 .elementor-element.elementor-element-93aed48 .gallery-item-caption-wrap .gallery-item-buttons > a span:hover{background:#ff622a;color:#fff;border-radius:100px;}.elementor-550 .elementor-element.elementor-element-93aed48 #eael-fg-no-items-found{text-align:center;color:#858e9a;border-radius:0px;}@media(max-width:1024px){.elementor-550 .elementor-element.elementor-element-86ef14.elementor-element{--align-self:center;}.elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title, .elementor-550 .elementor-element.elementor-element-86ef14 .eael-dual-header .title span{font-size:26px;}}/* Start custom CSS for html, class: .elementor-element-b1e4073 */.rope-access-service{
    padding:80px 20px;
    background:#f4f8fc;
    font-family:'Prompt',sans-serif;
}

.rope-access-service .container{
    max-width:1200px;
    margin:auto;
}

.hero-section{
    text-align:center;
    margin-bottom:60px;
}

.service-tag{
    display:inline-block;
    background:linear-gradient(135deg,#0d6efd,#00a6ff);
    color:#fff;
    padding:8px 18px;
    border-radius:50px;
    font-size:14px;
    margin-bottom:15px;
}

.hero-section h2{
    font-size:42px;
    color:#0b2c5f;
    margin-bottom:20px;
}

.hero-section p{
    max-width:850px;
    margin:auto;
    line-height:1.8;
    color:#5f6b7a;
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-bottom:60px;
}

.service-card{
    background:#fff;
    padding:35px;
    border-radius:18px;
    text-align:center;
    box-shadow:0 8px 25px rgba(13,110,253,.08);
    transition:.3s;
}

.service-card:hover{
    transform:translateY(-10px);
}

.icon{
    font-size:48px;
    margin-bottom:15px;
}

.service-card h3{
    margin-bottom:15px;
    color:#0d6efd;
}

.service-card p{
    color:#5f6b7a;
    line-height:1.8;
}

/* Benefits */

.benefits-section{
    background:linear-gradient(135deg,#0b2c5f,#0d6efd);
    color:#fff;
    padding:50px;
    border-radius:20px;
    margin-bottom:50px;
    box-shadow:0 15px 35px rgba(13,110,253,.25);
}

.benefits-section h2{
    text-align:center;
    margin-bottom:35px;
}

.benefit-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.benefit-box{
    background:rgba(255,255,255,.12);
    padding:20px;
    border-radius:12px;
    text-align:center;
}

/* Problems */

.problem-section{
    margin-bottom:50px;
}

.problem-section h2{
    text-align:center;
    margin-bottom:30px;
    color:#0b2c5f;
}

.problem-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.problem-list div{
    background:#fff;
    padding:20px;
    border-radius:12px;
    color:#5f6b7a;
    box-shadow:0 8px 25px rgba(13,110,253,.08);
}

/* Target */

.target-section{
    margin-bottom:50px;
}

.target-section h2{
    text-align:center;
    margin-bottom:30px;
    color:#0b2c5f;
}

.target-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.target-grid div{
    background:#fff;
    padding:25px;
    text-align:center;
    border-radius:12px;
    font-weight:600;
    color:#0d6efd;
    box-shadow:0 8px 25px rgba(13,110,253,.08);
}

/* CTA */

.cta-section{
    background:linear-gradient(135deg,#0b2c5f,#0d6efd);
    color:#fff;
    text-align:center;
    padding:60px 30px;
    border-radius:20px;
    box-shadow:0 15px 35px rgba(13,110,253,.25);
}

.cta-section h2{
    font-size:36px;
    margin-bottom:15px;
}

.cta-section p{
    margin-bottom:25px;
}

.cta-btn{
    display:flex;
    justify-content:center;
    align-items:center;

    width:100%;
    max-width:420px;
    margin:25px auto 0;

    padding:15px 20px;
    border-radius:50px;

    background:#00a6ff;
    color:#fff;
    text-decoration:none;

    font-size:16px;
    font-weight:600;
    line-height:1.3;

    white-space:nowrap;   /* ✔ ห้ามขึ้นบรรทัด */
    overflow:hidden;      /* ✔ กันล้น */
    text-overflow:ellipsis; /* ✔ ถ้ายาวเกินให้ตัด ... */

    box-sizing:border-box;
    transition:.3s;
}

/* Tablet */
@media(max-width:1024px){

    .service-grid{
        grid-template-columns:1fr 1fr;
    }

    .benefit-grid{
        grid-template-columns:1fr 1fr;
    }

    .target-grid{
        grid-template-columns:1fr 1fr;
    }

    .hero-section h2{
        font-size:34px;
    }
}

/* Mobile */
@media(max-width:767px){

    .rope-access-service{
        padding:60px 15px;
    }

    .hero-section h2{
        font-size:28px;
        line-height:1.4;
    }

    .service-grid,
    .benefit-grid,
    .problem-list,
    .target-grid{
        grid-template-columns:1fr;
    }

    .benefits-section{
        padding:30px 20px;
    }

    .cta-section h2{
        font-size:24px;
    }

    .cta-btn{
        width:100%;
        max-width:320px;
    }
}
.cta-btn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 14px 20px;
    box-sizing: border-box;

    white-space: nowrap;      /* ห้ามตัดบรรทัด */
    overflow: hidden;
    text-overflow: ellipsis;

    font-size: clamp(13px, 2vw, 18px); /* ปรับขนาดอัตโนมัติ */
}
/* Gallery */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:50px;
}

.gallery-item{
    overflow:hidden;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(13,110,253,.12);
}

.gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

/* Tablet */

@media(max-width:1024px){

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

/* Mobile */

@media(max-width:767px){

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-item img{
        height:240px;
    }

}/* End custom CSS */