/* Theme10 — sitewide dark/red skin, applied to every page when this theme is active.
   Selector list is modelled on the site's own dark.css (same coverage), recoloured
   to the theme10 palette instead of navy, plus a few theme10-specific touches
   (pill buttons, section-title weight, nav/footer). */

:root{
    --t10-ink:#0F0B08;
    --t10-surface:#1B1512;
    --t10-surface-soft:#221B16;
    --t10-line:#332822;
    --t10-text:#F3ECE4;
    --t10-muted:#B7A99B;
    --t10-accent:#EE4031;
    --t10-accent-deep:#B8281A;
    --t10-accent-tint:rgba(238,64,49,.12);
}

body{
    background:var(--t10-ink);
    color:var(--t10-text);
}

/* ---- Headings / body text sitewide ---- */
h1, h2, h3, h4, h5, h6,
.section-title .title,
.section-title p,
.editor-content,
.editor-content p,
.editor-content li,
.editor-content span,
p.text-color-3,
.about-text-block .section-title .title,
.about-history-area .history-item .number-box span,
.pricing-plan-item p,
.team-details-content p,
.single-job p span,
.single-job a,
.blog-dteails-content,
.product-summery .short-desc,
.product-summery .product-meta li,
.product-summery .product-meta li a,
.table td, .table th,
.contact-info-items .contact-info-item p,
.cart-table table tbody tr td.product-name a,
.cart-table table tbody tr td,
.feature-list li p,
.team-member .team-content .name a,
.testimonial-box .author .desc h6,
.portfolio-item-two .portfolio-content .title a,
.portfolio-item-two p,
.latest-news-box .post-content .title a,
.latest-news-box .post-content .read-more-btn,
.latest-news-box .post-content .post-meta a,
.blog-sidebar .widget.tags-widget ul a,
.blog-sidebar .widget.product-category ul li a,
.blog-sidebar .widget .news-feed-items .news-feed-item span,
.header-navigation .primary-menu > li > a,
.header-navigation .primary-menu li a,
.header-two .header-navigation .primary-menu li a
{
    color:var(--t10-text);
}

.section-title .title{font-weight:500;}
.section-title p{color:var(--t10-muted);}

a{color:var(--t10-accent);}
a:hover{color:var(--t10-accent-deep);}

/* ---- Page-title / breadcrumb banner ---- */
.page-title-area{
    background-color:var(--t10-surface);
}
.page-title-area .overlay{
    background:linear-gradient(180deg, rgba(15,11,8,.2), rgba(15,11,8,.85));
}
.page-title-item .title{color:var(--t10-text);}
.breadcrumb-nav li,
.breadcrumb-nav li a{color:var(--t10-muted);}
.breadcrumb-nav li.active{color:var(--t10-accent);}

/* ==========================================================================
   ---- Header (top bar + main nav) ----
   ========================================================================== */
.top-header{background:var(--t10-ink) !important;}
.top-header a{color:var(--t10-text) !important;}

.t10g-topbar{
    border-bottom:1px solid var(--t10-line);
    padding-block:8px;
}
.t10g-topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px 24px;
}
.t10g-topbar-left{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}
.t10g-topbar-left a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:.82rem;
    color:var(--t10-muted) !important;
}
.t10g-topbar-left a i{color:var(--t10-accent);font-size:.85rem;}
.t10g-topbar-left a:hover{color:var(--t10-text) !important;}

.t10g-topbar-right{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}
.t10g-topbar-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:.8rem;
    font-weight:600;
    color:var(--t10-muted) !important;
}
.t10g-topbar-link:hover{color:var(--t10-text) !important;}
.t10g-topbar-btn{
    display:inline-flex;
    align-items:center;
    padding:7px 18px;
    border-radius:999px;
    background:var(--t10-accent);
    color:#fff !important;
    font-size:.8rem;
    font-weight:600;
    transition:background .15s ease;
}
.t10g-topbar-btn:hover{background:var(--t10-accent-deep);color:#fff !important;}

.t10g-mainnav .header-navigation,
.header-navigation{
    background:var(--t10-ink) !important;
    border-bottom:1px solid var(--t10-line);
}
.sticky-header.sticky-on .header-navigation{
    background:var(--t10-ink) !important;
    box-shadow:0 12px 30px -14px rgba(0,0,0,.6);
}
.t10g-mainnav .site-logo img{max-height:38px;width:auto;}

.header-navigation .primary-menu > li > a{
    padding-block:26px !important;
    font-weight:600;
    transition:color .15s ease;
}
.header-navigation .primary-menu > li.current > a,
.header-navigation .primary-menu > li:hover > a{
    color:var(--t10-accent) !important;
}
.header-navigation .primary-menu .megamenu-item .megamenu,
.header-navigation .primary-menu li .submenu{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:12px;
    box-shadow:0 20px 45px -20px rgba(0,0,0,.6);
}
.header-navigation .primary-menu .megamenu-item .megamenu .tabnav a,
.header-navigation .primary-menu li .submenu a{color:var(--t10-text);}
.header-navigation .primary-menu li .submenu a:hover{color:var(--t10-accent);}
.header-navigation .primary-menu .megamenu-item .megamenu .mega-menu-items .nav-link{
    background:var(--t10-surface-soft);
    border-color:var(--t10-line) !important;
}
.header-navigation .primary-menu .megamenu-item .megamenu .mega-menu-items .nav-link span{color:var(--t10-text);}
.header-navigation .primary-menu .megamenu-item .megamenu .mega-menu-items .nav-link:hover{border-color:var(--t10-accent) !important;}
.nav-toggler span{background:var(--t10-text) !important;}
.site-nav-menu .nav-close{color:var(--t10-text);}
.header-navigation.breakpoint-on .site-nav-menu,
.header-navigation.breakpoint-on .site-nav-menu::-webkit-scrollbar{
    background-color:var(--t10-ink) !important;
}
.header-navigation.breakpoint-on .site-nav-menu .primary-menu > li{
    border-bottom:1px solid var(--t10-line);
}

.navbar-btn a{
    background:var(--t10-accent);
    color:#fff;
    border-radius:999px;
}

/* ---- Buttons ---- */
.main-btn{
    background-color:var(--t10-accent);
    border-radius:999px;
}
.main-btn::before{background-color:var(--t10-accent-deep);}
.main-btn.main-btn-2{background-color:var(--t10-surface-soft);}
.btn-danger{
    background-color:var(--t10-accent) !important;
    border-color:var(--t10-accent) !important;
}
.btn-primary{
    background-color:var(--t10-accent-deep) !important;
    border-color:var(--t10-accent-deep) !important;
}

/* ---- Cards / boxes ---- */
.card,
.latest-news-box,
.latest-news-box .post-content,
.service-item,
.service-item-two,
.service-item-three,
.team-member .team-content,
.testimonial-box p,
.portfolio-item-two .portfolio-content,
.pricing-plan-item,
.blog-sidebar .widget,
.blog-dteails-content,
.single-job,
.contact-info-items .contact-info-item,
.cart-total-box,
.dashboard-inner,
.user-dashboard-area .user-menu
{
    background:var(--t10-surface);
    border-color:var(--t10-line);
}
.card{color:var(--t10-text);}

/* ---- Forms ---- */
.form-control,
input, textarea, select,
.input-box input,
.input-box textarea,
.conatct-section .contact-form-area .contact-form .input-group input,
.conatct-section .contact-form-area .contact-form .input-group textarea,
.quote-page .input-box input,
.quote-page .input-box textarea
{
    background:var(--t10-surface-soft);
    color:var(--t10-text);
    border-color:var(--t10-line);
}
.form-control::placeholder,
.input-box input::placeholder,
.input-box textarea::placeholder{color:var(--t10-muted);}
.conatct-section .contact-form-area{
    background:var(--t10-surface);
}
.conatct-section .contact-form-area .contact-form .form-title{color:var(--t10-text);}

/* ==========================================================================
   ---- Footer ----
   ========================================================================== */
.footer-area{
    background:var(--t10-surface);
    border-top:1px solid var(--t10-line);
    padding-block: 0px 0;
}
.footer-area p{color:var(--t10-muted);}

.t10g-footer-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
    padding-bottom:40px;
    border-bottom:1px solid var(--t10-line);
}
.t10g-footer-brand img{max-width:220px;height:auto;display:block;margin-bottom:14px;}
.t10g-footer-brand p{max-width:46ch;margin:0;font-size:.92rem;line-height:1.6;}

.t10g-footer-social{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.t10g-footer-social a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--t10-surface-soft);
    color:var(--t10-text);
    border:1px solid var(--t10-line);
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.t10g-footer-social a:hover{
    background:var(--t10-accent);
    border-color:var(--t10-accent);
    color:#fff;
}

.t10g-footer-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr auto;
    gap:40px;
    padding-block:40px;
}
@media (max-width:768px){
    .t10g-footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
    .t10g-footer-grid{grid-template-columns:1fr;}
}
.t10g-footer-title{
    color:var(--t10-text);
    font-size:.95rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin:0 0 20px;
}
.t10g-footer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.t10g-footer-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:.88rem;
    color:var(--t10-muted);
    line-height:1.5;
}
.t10g-footer-list li i{color:var(--t10-accent);flex:none;margin-top:3px;font-size:.85rem;}
.t10g-footer-list a{color:var(--t10-muted);}
.t10g-footer-list a:hover{color:var(--t10-accent);}
.t10g-footer-links li{gap:8px;}

.t10g-footer-col-badge{
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
}
.t10g-footer-basis{max-width:120px;height:auto;opacity:.8;}
@media (max-width:768px){.t10g-footer-col-badge{justify-content:flex-start;}}

.t10g-footer-bottom{
    border-top:1px solid var(--t10-line);
    padding-block:22px;
    text-align:center;
}
.t10g-footer-copyright{color:var(--t10-muted);font-size:.85rem;}
.t10g-footer-copyright a{color:var(--t10-accent);}

.footer-area hr{display:none;}

/* ---- Pagination ---- */
.page-link,
.page-item .page-link{
    background:var(--t10-surface);
    border-color:var(--t10-line);
    color:var(--t10-text);
}
.page-item.active .page-link{
    background:var(--t10-accent);
    border-color:var(--t10-accent);
    color:#fff;
}

/* ---- Misc widgets ---- */
.back-to-top a{background:var(--t10-accent);color:#fff;}
#preloader{background:var(--t10-ink) !important;}
.slide-contact .slide-bttn{background:var(--t10-accent);color:#fff;}

/* ---- Services pages ---- */
/* Note: .t10g-section-head/.t10g-section-title/.t10g-section-sub/.t10g-eyebrow/
   .t10g-btn/.t10g-btn-primary/.t10g-btn-ghost are the shared editorial vocabulary
   already defined above (About/Team + Portfolio/Blog sections) and reused as-is
   here — only services-pages-specific classes are added below. */

.t10g-btn-sm{padding:10px 20px;font-size:.82rem;}

/* Price tag pill */
.t10g-price-tag{
    display:inline-flex;align-items:center;
    font-size:.82rem;font-weight:600;color:var(--t10-accent);
    background:var(--t10-accent-tint);border:1px solid rgba(238,64,49,.3);
    padding:6px 14px;border-radius:999px;margin-bottom:14px;
}
.t10g-price-tag-lg{font-size:.92rem;padding:9px 18px;margin-bottom:26px;}

/* Page head (service listing) */
.t10g-page-head{background:var(--t10-ink);padding-block:64px 24px;}

/* Service listing grid */
.t10g-service-listing{background:var(--t10-ink);padding-block:24px 20px;}
.t10g-service-card{
    display:flex;flex-direction:column;height:100%;
    background:var(--t10-surface);border:1px solid var(--t10-line);
    border-radius:16px;overflow:hidden;
    transition:border-color .2s ease, transform .2s ease;
}
.t10g-service-card:hover{border-color:var(--t10-accent);transform:translateY(-3px);}
.t10g-service-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--t10-surface-soft);}
.t10g-service-card-media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.t10g-service-card-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.t10g-service-card-title{margin:0;font-size:1.05rem;}
.t10g-service-card-title a{color:var(--t10-text);text-decoration:none;}
.t10g-service-card-title a:hover{color:var(--t10-accent);}
.t10g-service-card-text{color:var(--t10-muted);font-size:.88rem;line-height:1.6;margin:0;flex:1;}
.t10g-card-link{
    font-size:.82rem;font-weight:600;color:var(--t10-accent);
    display:inline-flex;align-items:center;gap:6px;text-decoration:none;margin-top:4px;
}
.t10g-card-link:hover{color:var(--t10-accent-deep);}
.t10g-card-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px;}

/* ==========================================================================
   Service Details Page — Theme 10 Luxury Dark Layout
   ========================================================================== */

/* Breadcrumb Header */
.page-title-area.t10g-service-hero-banner {
    position: relative;
    padding-block: 70px 40px;
    background: radial-gradient(circle at 50% 0%, rgba(238,64,49,0.15) 0%, rgba(15,11,8,0) 70%), var(--t10-ink);
    border-bottom: 1px solid var(--t10-line);
    text-align: center;
}

/* Service Detail Showcase Section */
.t10g-detail-hero {
    background: var(--t10-ink);
    padding-block: 70px 60px;
    position: relative;
}
.t10g-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 991px) {
    .t10g-detail-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}
.t10g-detail-copy {
    display: flex;
    flex-direction: column;
}
.t10g-detail-heading {
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 700;
    color: var(--t10-text);
    line-height: 1.2;
    margin: 12px 0 16px;
    letter-spacing: -0.02em;
}

/* Dynamic Price Badge */
.t10g-price-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 999px;
    background: var(--t10-surface);
    border: 1px solid rgba(238,64,49,0.3);
    margin-bottom: 20px;
    width: fit-content;
}
.t10g-price-label {
    font-size: 0.8rem;
    color: var(--t10-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 600;
}
.t10g-price-value {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--t10-accent);
}
.t10g-price-unit {
    font-size: 0.8rem;
    color: var(--t10-muted);
}

.t10g-detail-text {
    color: var(--t10-muted);
    font-size: 0.96rem;
    line-height: 1.75;
    margin-bottom: 24px;
}
.t10g-detail-text p {
    color: var(--t10-muted);
    margin-bottom: 12px;
}
.t10g-detail-text p:last-child {
    margin-bottom: 0;
}
.t10g-detail-text strong {
    color: var(--t10-text);
}
.t10g-detail-cta-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
}

/* Media Card on Right */
.t10g-detail-media-wrap {
    position: relative;
}
.t10g-detail-media-card {
    position: relative;
    border-radius: 24px;
    padding: 10px;
    background: linear-gradient(135deg, rgba(238,64,49,0.2) 0%, rgba(51,40,34,0.3) 50%, rgba(27,21,18,0.8) 100%);
    border: 1px solid var(--t10-line);
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.6);
}
.t10g-detail-media {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background: var(--t10-surface);
}
.t10g-detail-media img {
    width: 100%;
    aspect-ratio: 4/3.8;
    object-fit: cover;
    display: block;
}
.t10g-media-hint {
    text-align: center;
    margin-top: 10px;
    font-size: 0.78rem;
    color: var(--t10-muted);
    font-weight: 500;
}
.t10g-media-hint i {
    color: var(--t10-accent);
    margin-right: 4px;
}

/* Sub-Services Section */
.t10g-subservices {
    background: var(--t10-surface);
    padding-block: 80px;
    border-top: 1px solid var(--t10-line);
}
.t10g-service-card {
    background: var(--t10-ink);
    border: 1px solid var(--t10-line);
    border-radius: 20px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.t10g-service-card:hover {
    border-color: rgba(238,64,49,0.5);
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -15px rgba(0,0,0,0.5);
}
.t10g-service-card-media {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--t10-surface-soft);
}
.t10g-service-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.t10g-service-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.t10g-service-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--t10-text);
    margin: 0 0 10px;
}
.t10g-service-card-title a {
    color: var(--t10-text);
    transition: color 0.2s ease;
}
.t10g-service-card-title a:hover {
    color: var(--t10-accent);
}
.t10g-service-card-text {
    font-size: 0.88rem;
    color: var(--t10-muted);
    line-height: 1.6;
    margin: 0 0 20px;
    flex-grow: 1;
}
.t10g-card-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--t10-line);
}
.t10g-card-link {
    font-size: 0.84rem;
    font-weight: 600;
    color: var(--t10-accent);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s ease, color 0.2s ease;
}
.t10g-card-link:hover {
    gap: 8px;
    color: #fff;
}

/* Narrative / Detailed Section */
.t10g-narrative {
    background: var(--t10-ink);
    padding-block: 80px;
    border-top: 1px solid var(--t10-line);
}
.t10g-narrative-media {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--t10-line);
    box-shadow: 0 24px 48px -12px rgba(0,0,0,0.5);
}
.t10g-narrative-media img {
    width: 100%;
    aspect-ratio: 4/3.5;
    object-fit: cover;
    display: block;
}
.t10g-narrative-content {
    display: flex;
    flex-direction: column;
}
.t10g-narrative-title {
    font-size: clamp(1.6rem, 2.8vw, 2.2rem);
    font-weight: 700;
    color: var(--t10-text);
    margin: 0 0 20px;
    letter-spacing: -0.02em;
    line-height: 1.25;
}
.t10g-narrative-text {
    color: var(--t10-muted);
    font-size: 0.96rem;
    line-height: 1.8;
}
.t10g-narrative-text p {
    color: var(--t10-muted);
    margin-bottom: 14px;
}
.t10g-narrative-text p:last-child {
    margin-bottom: 0;
}
.t10g-narrative-text strong {
    color: var(--t10-text);
}
.t10g-narrative-text h3,
.t10g-narrative-text h4 {
    color: var(--t10-text);
    font-weight: 700;
    margin: 24px 0 10px;
    font-size: 1.15rem;
}

/* Offer / CTA Banner */
.t10g-cta-banner {
    background: radial-gradient(circle at 50% 50%, rgba(238,64,49,0.18) 0%, rgba(27,21,18,0.95) 100%), var(--t10-surface);
    padding-block: 70px;
    border-block: 1px solid var(--t10-line);
    position: relative;
}
.t10g-cta-inner {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.t10g-cta-title {
    color: var(--t10-text);
    font-size: clamp(1.6rem, 3.2vw, 2.3rem);
    font-weight: 700;
    margin: 0;
    line-height: 1.25;
    letter-spacing: -0.02em;
}
.t10g-cta-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
}

/* Explore Other Services */
.t10g-related-services {
    background: var(--t10-surface);
    padding-block: 70px;
    border-top: 1px solid var(--t10-line);
}
.t10g-related-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 30px;
}
.t10g-related-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    border-radius: 999px;
    background: var(--t10-ink);
    border: 1px solid var(--t10-line);
    color: var(--t10-text);
    font-size: 0.88rem;
    font-weight: 600;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.t10g-related-chip i {
    color: var(--t10-accent);
    font-size: 0.76rem;
    transition: transform 0.2s ease;
}
.t10g-related-chip:hover {
    border-color: var(--t10-accent);
    background: var(--t10-surface-soft);
    color: #fff;
    transform: translateY(-2px);
}
.t10g-related-chip:hover i {
    transform: translateX(3px);
}

/* FAQ Accordion */
.t10g-faq {
    background: var(--t10-ink);
    padding-block: 70px;
    border-top: 1px solid var(--t10-line);
}
.t10g-faq-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 30px;
}
.t10g-faq-item {
    background: var(--t10-surface);
    border: 1px solid var(--t10-line);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}
.t10g-faq-item:hover {
    border-color: rgba(238,64,49,0.4);
}
.t10g-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    color: var(--t10-text);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
}
.t10g-faq-question:hover {
    color: var(--t10-accent);
}
.t10g-faq-icon {
    transition: transform 0.2s ease;
    color: var(--t10-accent);
    flex: none;
}
.t10g-faq-question:not(.collapsed) .t10g-faq-icon {
    transform: rotate(45deg);
}
.t10g-faq-body {
    padding: 0 24px 22px;
    color: var(--t10-muted);
    font-size: 0.94rem;
    line-height: 1.7;
}
.t10g-faq-body p {
    color: var(--t10-muted);
}

/* Feature rows (sub-service details page) */
.t10g-feature-hero{background:var(--t10-ink);padding-block:60px;}
.t10g-feature-row{padding-block:34px;}
.t10g-feature-row + .t10g-feature-row{border-top:1px solid var(--t10-line);}
.t10g-feature-media{
    position:relative;border-radius:20px;overflow:hidden;
    border:1px solid var(--t10-line);background:var(--t10-surface);
}
.t10g-feature-media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.t10g-feature-title{color:var(--t10-text);font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:400;margin:0 0 16px;}
.t10g-feature-text{color:var(--t10-muted);}
.t10g-feature-text p{color:var(--t10-muted);}
@media (min-width:992px){
    .t10g-feature-row:nth-of-type(even){flex-direction:row-reverse;}
}
@media (max-width:575px){
    .t10g-page-head,.t10g-detail-hero,.t10g-subservices,.t10g-narrative,.t10g-cta-banner,.t10g-faq,.t10g-feature-hero{padding-block:44px;}
}

/* ==========================================================================
   ---- About / Team pages (about.blade.php, team.blade.php, team-details.blade.php) ----
   Shared editorial vocabulary re-created here (t10g- prefix) since theme10.css
   is only enqueued on the homepage. Mirrors the homepage's pill buttons,
   eyebrow tag, section-head pattern and 16px card radius.
   ========================================================================== */

.t10g-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--t10-accent);
    background:var(--t10-accent-tint);
    border:1px solid rgba(238,64,49,.3);
    padding:7px 16px;
    border-radius:999px;
    margin-bottom:16px;
}

.t10g-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:.9rem;
    text-decoration:none;
    transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.t10g-btn:hover{transform:translateY(-1px);}
.t10g-btn-primary{background:var(--t10-accent);color:#fff;}
.t10g-btn-primary:hover{background:var(--t10-accent-deep);color:#fff;}
.t10g-btn-ghost{background:transparent;color:var(--t10-text);border:1px solid var(--t10-line);}
.t10g-btn-ghost:hover{border-color:var(--t10-muted);color:var(--t10-accent);}

/* ---- Shared section heading ---- */
.t10g-section-head{max-width:60ch;margin:0 auto 42px;text-align:center;}
.t10g-section-head .t10g-eyebrow{margin-bottom:18px;}
.t10g-section-title{
    color:var(--t10-text);
    font-size:clamp(1.5rem, 3vw, 1.9rem);
    font-weight:400;
    text-align:center;
    margin:0 0 14px;
}
.t10g-align-left{text-align:left !important;margin-left:0;margin-right:0;}

/* ---- Page hero padding (scoped — only fires on pages carrying these
   marker classes alongside the sitewide .page-title-area, so other
   pages using .page-title-area are unaffected) ---- */
/* ==========================================================================
   About Us Page — Theme 10 Luxury Dark Layout
   ========================================================================== */

/* Page Hero Banner */
.page-title-area.t10g-about-hero {
    position: relative;
    padding-block: 80px 48px;
    background: radial-gradient(circle at 50% 0%, rgba(238,64,49,0.18) 0%, rgba(15,11,8,0) 70%), var(--t10-ink);
    border-bottom: 1px solid var(--t10-line);
    text-align: center;
}
.t10g-page-hero-content {
    max-width: 800px;
    margin: 0 auto;
}
.t10g-page-title {
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 700;
    color: var(--t10-text);
    letter-spacing: -0.02em;
    margin: 12px 0 16px;
    line-height: 1.15;
}
.t10g-breadcrumbs {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 18px;
    background: var(--t10-surface);
    border: 1px solid var(--t10-line);
    border-radius: 999px;
    list-style: none;
    margin: 0;
    font-size: 0.84rem;
}
.t10g-breadcrumbs li {
    color: var(--t10-muted);
}
.t10g-breadcrumbs li a {
    color: var(--t10-muted);
    transition: color 0.2s ease;
}
.t10g-breadcrumbs li a:hover {
    color: var(--t10-accent);
}
.t10g-breadcrumbs li.active {
    color: var(--t10-text);
    font-weight: 600;
}
.t10g-breadcrumbs li:not(:last-child)::after {
    content: '/';
    margin-left: 8px;
    color: var(--t10-line);
}

/* ---- About Section (First Section) ---- */
.t10g-about-section {
    background: var(--t10-ink);
    padding-block: 80px 70px;
    position: relative;
    overflow: hidden;
}
.t10g-about-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 56px;
    align-items: center;
}
@media (max-width: 991px) {
    .t10g-about-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}

/* Visual Media Card on Left */
.t10g-about-media-wrap {
    position: relative;
}
.t10g-about-media-card {
    position: relative;
    border-radius: 24px;
    padding: 10px;
    background: linear-gradient(135deg, rgba(238,64,49,0.25) 0%, rgba(51,40,34,0.3) 50%, rgba(27,21,18,0.8) 100%);
    border: 1px solid var(--t10-line);
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.6);
}
.t10g-about-media-inner {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4/4.8;
    background: var(--t10-surface-soft);
}
.t10g-about-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.t10g-about-media-card:hover .t10g-about-main-img {
    transform: scale(1.03);
}

/* Floating Glassmorphism Badges */
.t10g-about-badge {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-radius: 16px;
    background: rgba(27, 21, 18, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(238, 64, 49, 0.25);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
    z-index: 3;
    animation: t10gFloat 6s ease-in-out infinite alternate;
}
.t10g-badge-experience {
    bottom: -18px;
    left: -18px;
}
.t10g-badge-team {
    top: -18px;
    right: -18px;
    animation-delay: -3s;
}
@media (max-width: 575px) {
    .t10g-badge-experience {
        left: 10px;
        bottom: 10px;
    }
    .t10g-badge-team {
        right: 10px;
        top: 10px;
    }
}
@keyframes t10gFloat {
    0% { transform: translateY(0px); }
    100% { transform: translateY(-8px); }
}

.t10g-badge-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--t10-accent), var(--t10-accent-deep));
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.15rem;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(238, 64, 49, 0.35);
}
.t10g-badge-text {
    display: flex;
    flex-direction: column;
}
.t10g-badge-text strong {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--t10-text);
    line-height: 1.2;
}
.t10g-badge-text span {
    font-size: 0.76rem;
    color: var(--t10-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
    margin-top: 2px;
}

/* Video Play Button Overlay */
.t10g-video-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--t10-accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    box-shadow: 0 0 0 8px rgba(238, 64, 49, 0.25), 0 10px 30px rgba(0,0,0,0.6);
    z-index: 2;
    transition: transform 0.3s ease, background 0.3s ease;
}
.t10g-video-play-btn:hover {
    transform: translate(-50%, -50%) scale(1.1);
    background: var(--t10-accent-deep);
    color: #fff;
}

/* Right Content / Story */
.t10g-about-content {
    display: flex;
    flex-direction: column;
}
.t10g-about-heading {
    font-size: clamp(1.8rem, 3.2vw, 2.6rem);
    font-weight: 700;
    color: var(--t10-text);
    line-height: 1.2;
    margin: 12px 0 16px;
    letter-spacing: -0.02em;
}
.t10g-about-lead {
    margin-bottom: 14px;
}
.t10g-lead-text {
    font-size: 1.08rem;
    line-height: 1.7;
    color: var(--t10-text);
    font-weight: 500;
}
.t10g-about-body-text {
    color: var(--t10-muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin-bottom: 24px;
}
.t10g-about-body-text p {
    margin-bottom: 14px;
}
.t10g-about-body-text p:last-child {
    margin-bottom: 0;
}
.t10g-about-body-text h3,
.t10g-about-body-text h4,
.t10g-about-body-text h5 {
    color: var(--t10-text);
    font-weight: 700;
    margin: 20px 0 10px;
    font-size: 1.15rem;
}
.t10g-about-body-text a {
    color: var(--t10-accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.t10g-about-body-text a:hover {
    color: #fff;
}
.t10g-about-body-text strong {
    color: var(--t10-text);
}

/* 2x2 Feature Highlights */
.t10g-about-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    margin: 8px 0 28px;
}
@media (max-width: 575px) {
    .t10g-about-features-grid {
        grid-template-columns: 1fr;
    }
}
.t10g-about-feature-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border-radius: 14px;
    background: var(--t10-surface);
    border: 1px solid var(--t10-line);
    transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}
.t10g-about-feature-item:hover {
    border-color: rgba(238,64,49,0.5);
    background: var(--t10-surface-soft);
    transform: translateY(-2px);
}
.t10g-feature-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--t10-accent-tint);
    color: var(--t10-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    flex-shrink: 0;
}
.t10g-feature-info h5 {
    font-size: 0.94rem;
    font-weight: 700;
    color: var(--t10-text);
    margin: 0 0 4px;
}
.t10g-feature-info p {
    font-size: 0.82rem;
    color: var(--t10-muted);
    line-height: 1.5;
    margin: 0;
}

/* CTA Row */
.t10g-about-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: center;
}

/* Dynamic text under top section */
.t10g-about-top-article {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid var(--t10-line);
}

/* ---- Stats Bar Section ---- */
.t10g-stats-bar-section {
    background: var(--t10-surface);
    border-block: 1px solid var(--t10-line);
    padding-block: 48px;
}
.t10g-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}
.t10g-stat-card {
    background: var(--t10-ink);
    border: 1px solid var(--t10-line);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    transition: transform 0.2s ease, border-color 0.2s ease;
}
.t10g-stat-card:hover {
    border-color: var(--t10-accent);
    transform: translateY(-3px);
}
.t10g-stat-number-wrap {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--t10-accent);
    line-height: 1;
    margin-bottom: 8px;
    font-family: inherit;
}
.t10g-stat-desc h6 {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--t10-text);
    margin: 0 0 4px;
}
.t10g-stat-desc p {
    font-size: 0.8rem;
    color: var(--t10-muted);
    margin: 0;
}

/* ---- Core Capabilities / Services Grid ---- */
.t10g-services-overview-section {
    background: var(--t10-ink);
    padding-block: 80px;
}
.t10g-section-subtitle {
    max-width: 680px;
    margin: 12px auto 0;
    color: var(--t10-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}
.t10g-capabilities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    margin-top: 40px;
}
.t10g-cap-card {
    background: var(--t10-surface);
    border: 1px solid var(--t10-line);
    border-radius: 18px;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
}
.t10g-cap-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--t10-accent), transparent);
    opacity: 0;
    transition: opacity 0.25s ease;
}
.t10g-cap-card:hover {
    border-color: rgba(238,64,49,0.5);
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -15px rgba(0,0,0,0.5);
}
.t10g-cap-card:hover::before {
    opacity: 1;
}
.t10g-cap-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--t10-accent-tint);
    color: var(--t10-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.t10g-cap-title {
    font-size: 1.18rem;
    font-weight: 700;
    color: var(--t10-text);
    margin: 0 0 10px;
}
.t10g-cap-text {
    font-size: 0.88rem;
    color: var(--t10-muted);
    line-height: 1.65;
    margin: 0 0 20px;
    flex-grow: 1;
}
.t10g-cap-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--t10-accent);
    transition: gap 0.2s ease, color 0.2s ease;
}
.t10g-cap-link:hover {
    gap: 12px;
    color: var(--t10-text);
}

/* ---- Workflow Process Section ---- */
.t10g-workflow-section {
    background: var(--t10-surface);
    padding-block: 80px;
    border-top: 1px solid var(--t10-line);
}
.t10g-workflow-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 40px;
}
.t10g-workflow-step {
    background: var(--t10-ink);
    border: 1px solid var(--t10-line);
    border-radius: 16px;
    padding: 30px 24px;
    position: relative;
    transition: transform 0.2s ease, border-color 0.2s ease;
}
.t10g-workflow-step:hover {
    border-color: var(--t10-accent);
    transform: translateY(-3px);
}
.t10g-step-number {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 1.8rem;
    font-weight: 800;
    color: rgba(255,255,255,0.06);
    line-height: 1;
}
.t10g-step-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
}
.t10g-step-icon img {
    max-width: 100%;
    max-height: 100%;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}
.t10g-step-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--t10-text);
    margin: 0 0 8px;
}
.t10g-step-desc {
    font-size: 0.84rem;
    color: var(--t10-muted);
    line-height: 1.6;
    margin: 0;
}

/* ---- Video & Detailed Story Section ---- */
.t10g-video-story-section {
    background: var(--t10-surface);
    padding-block: 80px;
    border-top: 1px solid var(--t10-line);
}
.t10g-video-banner-wrap {
    margin-bottom: 50px;
}
.t10g-video-banner-card {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--t10-line);
    box-shadow: 0 24px 48px -12px rgba(0,0,0,0.6);
}
.t10g-video-banner-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.4);
    transition: transform 0.6s ease;
}
.t10g-video-banner-card:hover .t10g-video-banner-bg {
    transform: scale(1.03);
}
.t10g-video-banner-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(238,64,49,0.2) 0%, rgba(15,11,8,0.75) 100%);
    z-index: 1;
}
.t10g-video-banner-content {
    position: relative;
    z-index: 2;
    padding: 30px;
    max-width: 640px;
}
.t10g-video-banner-title {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    font-weight: 700;
    color: #fff;
    margin: 12px 0 24px;
    line-height: 1.25;
}
.t10g-large-play-btn {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    background: var(--t10-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 0 0 10px rgba(238,64,49,0.25), 0 12px 32px rgba(0,0,0,0.5);
    transition: transform 0.3s ease, background 0.3s ease;
}
.t10g-large-play-btn:hover {
    transform: scale(1.12);
    background: var(--t10-accent-deep);
    color: #fff;
}

/* Article Card under Video */
.t10g-about-article-card {
    background: var(--t10-ink);
    border: 1px solid var(--t10-line);
    border-radius: 20px;
    padding: 48px 40px;
    max-width: 980px;
    margin: 0 auto;
    box-shadow: 0 16px 36px rgba(0,0,0,0.4);
}
@media (max-width: 767px) {
    .t10g-about-article-card {
        padding: 28px 20px;
    }
}
.t10g-about-article-body {
    color: var(--t10-muted);
    font-size: 0.96rem;
    line-height: 1.8;
}
.t10g-about-article-body p {
    margin-bottom: 16px;
}
.t10g-about-article-body h3,
.t10g-about-article-body h4,
.t10g-about-article-body h5 {
    color: var(--t10-text);
    font-weight: 700;
    font-size: 1.2rem;
    margin: 28px 0 12px;
    padding-bottom: 6px;
    border-bottom: 1px solid var(--t10-line);
}
.t10g-about-article-body strong {
    color: var(--t10-text);
}
.t10g-about-article-body a {
    color: var(--t10-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.t10g-about-article-body a:hover {
    color: #fff;
}
.t10g-about-article-body ul,
.t10g-about-article-body ol {
    margin: 16px 0 20px 24px;
    color: var(--t10-muted);
}
.t10g-about-article-body li {
    margin-bottom: 8px;
}

/* ---- Team grid cards (about page team block + team listing page) ---- */
.t10g-team-block{background:var(--t10-surface);padding-block:70px;}
.t10g-team-card{
    background:var(--t10-ink);
    border:1px solid var(--t10-line);
    border-radius:16px;
    overflow:hidden;
    transition:border-color .2s ease, transform .2s ease;
    height:100%;
}
.t10g-team-card:hover{border-color:var(--t10-accent);transform:translateY(-3px);}
.t10g-team-photo{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--t10-surface-soft);}
.t10g-team-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.t10g-team-card:hover .t10g-team-photo img{transform:scale(1.05);}
.t10g-team-social{
    position:absolute;
    inset:auto 0 0 0;
    display:flex;
    justify-content:center;
    gap:8px;
    padding:14px 10px;
    background:linear-gradient(0deg, rgba(15,11,8,.92), rgba(15,11,8,0));
    opacity:0;
    transform:translateY(8px);
    transition:opacity .2s ease, transform .2s ease;
}
.t10g-team-card:hover .t10g-team-social{opacity:1;transform:translateY(0);}
.t10g-team-social a{
    width:32px;height:32px;
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:var(--t10-accent);
    color:#fff;
    font-size:.8rem;
}
.t10g-team-social a:hover{background:var(--t10-accent-deep);color:#fff;}
.t10g-team-info{padding:18px 20px;text-align:center;}
.t10g-team-name{margin:0 0 4px;font-size:1.02rem;color:var(--t10-text);}
.t10g-team-name a{color:var(--t10-text);}
.t10g-team-name a:hover{color:var(--t10-accent);}
.t10g-team-role{
    display:inline-block;
    font-size:.75rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--t10-accent);
}

/* ---- FAQ accordion (about page) ---- */
.t10g-faq-block{background:var(--t10-ink);padding-block:70px;}
.t10g-accordion{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.t10g-faq-card{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:14px;
    overflow:hidden;
}
.t10g-faq-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 24px;
    color:var(--t10-text);
    font-weight:600;
    text-decoration:none;
}
.t10g-faq-toggle:hover{color:var(--t10-accent);}
.t10g-faq-icon{color:var(--t10-accent);transition:transform .2s ease;flex:none;}
.t10g-faq-toggle:not(.collapsed) .t10g-faq-icon{transform:rotate(45deg);}
.t10g-faq-body{padding:0 24px 22px;color:var(--t10-muted);line-height:1.7;}

/* ---- Team details page ---- */
.t10g-team-details-section{background:var(--t10-ink);padding-block:70px;}
.t10g-team-details-media img{
    width:100%;border-radius:16px;border:1px solid var(--t10-line);display:block;
}
.t10g-team-details-name{margin:0 0 6px;color:var(--t10-text);font-size:1.6rem;}
.t10g-team-details-role{
    display:inline-block;
    margin-bottom:20px;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--t10-accent);
}
.t10g-team-details-desc{color:var(--t10-muted);line-height:1.75;margin-bottom:26px;}
.t10g-team-social-lg{
    position:static;
    background:none;
    opacity:1;
    transform:none;
    justify-content:flex-start;
    padding:0;
    margin-bottom:28px;
}
.t10g-team-social-lg a{width:38px;height:38px;}

/* ---- Portfolio / Gallery pages ---- */

/* Shared section heading (mirrors homepage .t10-section-head, own namespace
   so it works on pages that don't load theme10.css) */
.t10g-section-head{
    max-width:60ch;
    margin:0 auto 36px;
    text-align:center;
}
.t10g-section-head.t10g-align-left{margin-left:0;text-align:left;}
.t10g-section-title{
    color:var(--t10-text);
    font-size:clamp(1.5rem, 3vw, 1.9rem);
    font-weight:400;
    margin:0 0 12px;
}
.t10g-section-sub{
    color:var(--t10-muted);
    font-size:1rem;
    line-height:1.6;
    margin:0;
}
.t10g-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--t10-accent);
    background:var(--t10-accent-tint);
    border:1px solid rgba(238,64,49,.3);
    padding:7px 16px;
    border-radius:999px;
    margin-bottom:16px;
}

/* Pill buttons, own namespace (main-btn already reskinned globally covers
   most CTAs; these cover the ghost/outline variant used on these pages) */
.t10g-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 24px;
    border-radius:999px;
    font-weight:600;
    font-size:.9rem;
    text-decoration:none;
    transition:transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.t10g-btn:hover{transform:translateY(-1px);}
.t10g-btn-primary{background:var(--t10-accent);color:#fff;}
.t10g-btn-primary:hover{background:var(--t10-accent-deep);color:#fff;}
.t10g-btn-ghost{background:transparent;color:var(--t10-text);border:1px solid var(--t10-line);}
.t10g-btn-ghost:hover{border-color:var(--t10-accent);color:var(--t10-text);}

/* Portfolio listing grid */
.t10g-portfolio-grid{row-gap:30px;}
.t10g-portfolio-card{
    display:flex;
    flex-direction:column;
    height:100%;
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    overflow:hidden;
    text-decoration:none;
    transition:border-color .2s ease, transform .2s ease;
}
.t10g-portfolio-card:hover{border-color:var(--t10-accent);transform:translateY(-4px);}
.t10g-portfolio-card-img{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:var(--t10-surface-soft);
}
.t10g-portfolio-card-img img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .4s ease;
}
.t10g-portfolio-card:hover .t10g-portfolio-card-img img{transform:scale(1.06);}
.t10g-portfolio-card-view{
    position:absolute;
    inset:auto 0 0 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 16px;
    font-size:.82rem;
    font-weight:600;
    color:#fff;
    background:linear-gradient(180deg, rgba(15,11,8,0), rgba(15,11,8,.85));
    transform:translateY(100%);
    opacity:0;
    transition:transform .25s ease, opacity .25s ease;
}
.t10g-portfolio-card:hover .t10g-portfolio-card-view{transform:translateY(0);opacity:1;}
.t10g-portfolio-card-body{padding:18px 20px;display:flex;flex-direction:column;gap:6px;flex:1;}
.t10g-portfolio-card-tag{
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--t10-accent);
}
.t10g-portfolio-card-title{
    font-size:1.05rem;
    color:var(--t10-text);
    margin:0;
}

/* Portfolio sidebar: category filter chips */
.t10g-filter-widget .t10g-filter-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    list-style:none;
    padding:0;
    margin:0;
}
.t10g-filter-chip{
    display:inline-flex;
    align-items:center;
    padding:9px 18px;
    border-radius:999px;
    border:1px solid var(--t10-line);
    color:var(--t10-muted);
    font-size:.85rem;
    text-decoration:none;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.t10g-filter-chip:hover{color:var(--t10-text);border-color:var(--t10-muted);}
.t10g-filter-chip.is-active{
    background:var(--t10-accent);
    border-color:var(--t10-accent);
    color:#fff;
}

/* Portfolio details: image gallery */
.t10g-detail-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:150px;
    gap:14px;
    margin-bottom:34px;
}
.t10g-detail-gallery a{
    display:block;
    position:relative;
    border-radius:14px;
    overflow:hidden;
    border:1px solid var(--t10-line);
}
.t10g-detail-gallery a:first-child{
    grid-column:span 4;
    grid-row:span 3;
}
.t10g-detail-gallery a:not(:first-child){
    grid-column:span 2;
    grid-row:span 2;
}
@media (min-width:768px){
    .t10g-detail-gallery a:first-child{grid-column:span 2;}
    .t10g-detail-gallery a:not(:first-child){grid-column:span 1;}
}
.t10g-detail-gallery img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .4s ease;
}
.t10g-detail-gallery a:hover img{transform:scale(1.05);}
.t10g-detail-gallery-zoom{
    position:absolute;
    right:10px;top:10px;
    width:32px;height:32px;
    display:flex;align-items:center;justify-content:center;
    background:rgba(15,11,8,.65);
    color:#fff;
    border-radius:50%;
    font-size:.8rem;
    opacity:0;
    transition:opacity .2s ease;
}
.t10g-detail-gallery a:hover .t10g-detail-gallery-zoom{opacity:1;}

/* Portfolio details: meta / case-live card */
.t10g-meta-card{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:26px;
}
.t10g-meta-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:16px 0;
    border-bottom:1px solid var(--t10-line);
}
.t10g-meta-row:first-child{padding-top:0;}
.t10g-meta-row:last-child{border-bottom:none;padding-bottom:0;}
.t10g-meta-label{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:var(--t10-muted);
}
.t10g-meta-label i{color:var(--t10-accent);}
.t10g-meta-value{
    color:var(--t10-text);
    font-size:.92rem;
    text-align:right;
}
.t10g-meta-card .t10g-btn{width:100%;justify-content:center;margin-top:22px;}

/* Gallery page: filter menu + masonry-feel grid */
.t10g-gallery-filter{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px;
    margin:0 0 36px;
    padding:0;
    list-style:none;
}
.t10g-gallery-filter .filter{
    padding:9px 20px;
    border-radius:999px;
    border:1px solid var(--t10-line);
    color:var(--t10-muted);
    font-size:.85rem;
    cursor:pointer;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
}
.t10g-gallery-filter .filter:hover{color:var(--t10-text);}
.t10g-gallery-filter .filter.active{
    background:var(--t10-accent);
    border-color:var(--t10-accent);
    color:#fff;
}
.t10g-gallery-card{
    position:relative;
    display:block;
    aspect-ratio:1/1;
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--t10-line);
    background:var(--t10-surface-soft);
}
.t10g-gallery-card img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .4s ease;
}
.t10g-gallery-card:hover img{transform:scale(1.08);}
.t10g-gallery-card-overlay{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(180deg, rgba(15,11,8,0) 40%, rgba(15,11,8,.75));
    opacity:0;
    transition:opacity .25s ease;
}
.t10g-gallery-card:hover .t10g-gallery-card-overlay{opacity:1;}
.t10g-gallery-card-icon{
    width:52px;height:52px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:var(--t10-accent);
    color:#fff;
    font-size:1.1rem;
    transform:translateY(10px);
    transition:transform .25s ease;
}
.t10g-gallery-card:hover .t10g-gallery-card-icon{transform:translateY(0);}

/* ---- Blog / Contact pages ---- */

/* Shared section heading (re-declared here — homepage's theme10.css is not
   loaded on these pages) */
.t10-section-head{max-width:60ch;margin:0 auto 42px;text-align:center;}
.t10-section-title{
    color:var(--t10-text);
    font-size:clamp(1.5rem, 3vw, 1.9rem);
    font-weight:400;
    text-align:center;
    margin:0 0 14px;
}
.t10-section-sub,
.t10-section-sub p{
    color:var(--t10-muted) !important;
    font-size:1rem;
    line-height:1.6;
    margin:0;
}
.t10-align-left{text-align:left !important;margin-left:0;margin-right:0;}
.t10-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--t10-accent);
    background:var(--t10-accent-tint);
    border:1px solid rgba(238,64,49,.3);
    padding:7px 16px;
    border-radius:999px;
    margin-bottom:18px;
}

.t10-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:14px 26px;
    border-radius:999px;
    font-weight:600;
    font-size:.95rem;
    text-decoration:none;
    border:none;
    cursor:pointer;
    transition:transform .15s ease, background .15s ease;
}
.t10-btn:hover{transform:translateY(-1px);}
.t10-btn-primary{background:var(--t10-accent);color:#fff;}
.t10-btn-primary:hover{background:var(--t10-accent-deep);color:#fff;}

/* Blog card (same visual vocabulary as the homepage's t10-blog-card) */
.t10-blog-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:24px;
}
.t10-blog-card{
    display:flex;
    flex-direction:column;
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:14px;
    overflow:hidden;
    text-decoration:none;
    transition:border-color .2s ease, transform .2s ease;
}
.t10-blog-card:hover{border-color:var(--t10-accent);transform:translateY(-3px);}
.t10-blog-card-img{aspect-ratio:16/10;overflow:hidden;}
.t10-blog-card-img img{width:100%;height:100%;object-fit:cover;}
.t10-blog-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.t10-blog-date{
    font-size:.75rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--t10-muted);
}
.t10-blog-card-body h3{font-size:1rem;color:var(--t10-text);margin:0;line-height:1.4;}
.t10-service-card-link{
    font-size:.82rem;
    font-weight:600;
    color:var(--t10-accent);
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:auto;
}

/* Contact grid / form (same vocabulary as homepage's t10-contact) */
.t10-contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;}
@media (max-width:860px){.t10-contact-grid{grid-template-columns:1fr;}}
.t10-contact-info .t10-section-title{margin-bottom:14px;}
.t10-contact-info .t10-section-sub{margin-bottom:28px;}
.t10-contact-lines{display:flex;flex-direction:column;gap:16px;}
.t10-contact-line{display:flex;align-items:flex-start;gap:12px;color:var(--t10-text);font-size:.92rem;}
.t10-contact-line i{color:var(--t10-accent);margin-top:3px;}
.t10-contact-form-card{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:30px;
}
.t10-contact-form-card h3{color:var(--t10-text);font-size:1.1rem;margin:0 0 18px;}
.t10-form-alert{
    background:rgba(238,64,49,.12);
    border:1px solid var(--t10-accent);
    color:var(--t10-text);
    padding:10px 14px;
    border-radius:8px;
    font-size:.88rem;
    margin-bottom:18px;
}
.t10-form-row-group{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;}
@media (max-width:520px){.t10-form-row-group{grid-template-columns:1fr;}}
.t10-form-row{margin-bottom:14px;}
.t10-form-row label{
    display:block;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--t10-muted);
    margin-bottom:8px;
}
.t10-form-row input,
.t10-form-row textarea{
    width:100%;
    background:var(--t10-surface-soft);
    border:1px solid var(--t10-line);
    border-radius:8px;
    padding:12px 14px;
    color:var(--t10-text);
    font-family:inherit;
    font-size:.92rem;
    resize:vertical;
}
.t10-form-row input:focus,
.t10-form-row textarea:focus{outline:none;border-color:var(--t10-accent);}
.t10-form-row input::placeholder,
.t10-form-row textarea::placeholder{color:var(--t10-muted);}
.t10-form-err{display:block;color:var(--t10-accent);font-size:.78rem;margin-top:6px;}
.t10-contact-form-card .t10-btn{width:100%;justify-content:center;}

/* -- Blog / contact page-specific chrome (prefixed to avoid collisions) -- */
.t10g-page-section{background:var(--t10-ink);}
.t10g-empty-state{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:60px 24px;
    text-align:center;
    color:var(--t10-muted);
}
.t10g-empty-state h3{margin:0;color:var(--t10-text);font-weight:500;}

.t10g-blog-excerpt{color:var(--t10-muted);font-size:.9rem;line-height:1.6;margin:0;flex:1;}

.t10g-pagination{margin-top:36px;display:flex;justify-content:center;}
.t10g-pagination nav > div > div:first-child{display:none;} /* hide the "Showing x to y" text for a cleaner pill row */
.t10g-pagination .pagination{gap:6px;}

.t10g-sidebar{display:flex;flex-direction:column;gap:24px;}
.t10g-widget{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:24px;
}
.t10g-widget-title{
    color:var(--t10-text);
    font-size:1rem;
    font-weight:600;
    margin:0 0 20px;
    padding-bottom:14px;
    border-bottom:1px solid var(--t10-line);
}
.t10g-feed-items{display:flex;flex-direction:column;gap:16px;}
.t10g-feed-item{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
}
.t10g-feed-item img{
    width:64px;
    height:64px;
    object-fit:cover;
    border-radius:10px;
    flex:none;
    border:1px solid var(--t10-line);
}
.t10g-feed-item h5{
    font-size:.88rem;
    color:var(--t10-text);
    margin:0 0 6px;
    line-height:1.4;
    font-weight:500;
}
.t10g-feed-item span{
    font-size:.75rem;
    color:var(--t10-muted);
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.t10g-social-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    list-style:none;
    margin:0;
    padding:0;
}
.t10g-social-list a{
    width:38px;
    height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--t10-surface-soft);
    color:var(--t10-text);
    border:1px solid var(--t10-line);
    transition:background .2s ease, color .2s ease;
}
.t10g-social-list a:hover{background:var(--t10-accent);color:#fff;}

/* Blog details */
.t10g-detail-hero{
    width:100%;
    aspect-ratio:16/7;
    object-fit:cover;
    border-radius:16px;
    /* border:1px solid var(--t10-line); */
    display:block;
    /* margin-bottom:28px; */
}
.t10g-detail-title{color:var(--t10-text);font-weight:500;margin:0 0 16px;}
.t10g-detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 22px;
    margin:0 0 28px;
    padding-bottom:24px;
    border-bottom:1px solid var(--t10-line);
}
.t10g-detail-meta li{
    list-style:none;
    color:var(--t10-muted);
    font-size:.85rem;
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.t10g-detail-meta li i{color:var(--t10-accent);}
.t10g-share-block{
    margin-top:36px;
    padding-top:28px;
    border-top:1px solid var(--t10-line);
}
.t10g-share-block h4{
    color:var(--t10-text);
    font-size:.95rem;
    font-weight:600;
    margin:0 0 14px;
}

/* Contact page map */
.t10g-contact-map-wrap{
    border-radius:16px;
    overflow:hidden;
    border:1px solid var(--t10-line);
    line-height:0;
}
.t10g-contact-map-wrap iframe{width:100%;height:360px;border:0;display:block;}

/* ---- Pricing / FAQ / How-it-works pages ---- */

/* Shared page-head spacing (reuses homepage .t10-section-head/.t10-section-title/.t10-section-sub) */
.t10g-page-head{padding-top:56px;}
.t10g-page-head .t10-section-head{margin-bottom:0;}

/* -- Pricing page: filter bar -- */
.t10g-pricing-section{padding-block:40px 120px;}
.t10g-filter-bar{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:26px 30px;
    margin-bottom:46px;
}
/* .t10g-filter-group is now paired with .t10-form-row in the markup for
   exact visual parity with the payment/contact form fields — this only
   supplies the flex-item sizing within .t10g-filter-bar; label/select
   appearance comes entirely from .t10-form-row's own rules. */
.t10g-filter-group{
    flex:1 1 240px;
}

/* -- Pricing page: plan cards -- */
.t10g-price-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    overflow:hidden;
    transition:border-color .2s ease, transform .2s ease;
}
.t10g-price-card:hover{border-color:var(--t10-accent);transform:translateY(-4px);}
.t10g-price-card-head{
    text-align:center;
    padding:30px 24px 24px;
    border-bottom:1px solid var(--t10-line);
    background:var(--t10-surface-soft);
}
.t10g-price-badge{
    display:inline-flex;
    align-items:center;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--t10-accent);
    background:var(--t10-accent-tint);
    border:1px solid rgba(238,64,49,.3);
    padding:6px 16px;
    border-radius:999px;
    margin-bottom:14px;
}
.t10g-price-amount{
    color:var(--t10-text);
    font-size:1.4rem;
    font-weight:600;
}
.t10g-price-amount .t10g-price-sep{color:var(--t10-muted);margin:0 4px;font-weight:400;}
.t10g-price-card-body{
    display:flex;
    flex-direction:column;
    flex:1;
    padding:28px 26px 30px;
    text-align:center;
}
.t10g-price-service{color:var(--t10-text);font-size:1.1rem;margin:0 0 10px;}
.t10g-price-sub{color:var(--t10-muted);font-size:.92rem;margin:0 0 20px;}
.t10g-price-list{
    list-style:none;
    margin:0 0 28px;
    padding:0;
    text-align:left;
    flex:1;
}
.t10g-price-list li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:8px 0;
    border-bottom:1px dashed var(--t10-line);
    color:var(--t10-text);
    font-size:.92rem;
}
.t10g-price-list li:last-child{border-bottom:0;}
.t10g-price-check{color:var(--t10-accent);margin-top:3px;}
.t10g-price-cta{margin-top:auto;}
.t10g-price-cta .t10-btn{width:100%;justify-content:center;}

/* -- FAQ page: accordion -- */
.t10g-faq-section{padding-block:20px 110px;}
.t10g-faq-accordion.accordion-three{border:none;}
.t10g-faq-accordion .card{
    background:var(--t10-surface);
    border:1px solid var(--t10-line) !important;
    border-radius:16px;
    box-shadow:none;
    overflow:hidden;
}
.t10g-faq-accordion.accordion-three-two .card:not(:last-child){margin-bottom:18px;}
.t10g-faq-accordion .card-header{
    background:transparent !important;
    box-shadow:none !important;
    padding:0;
    border-bottom:0;
}
.t10g-faq-accordion .card-header a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:24px 62px 24px 30px;
    color:var(--t10-text) !important;
    font-size:1.05rem;
    font-weight:600;
}
.t10g-faq-accordion.accordion-three-two .card-header a.collapsed{color:var(--t10-text) !important;}
.t10g-faq-accordion .card-header a:not(.collapsed){color:var(--t10-accent) !important;}
.t10g-faq-accordion .card-header a::before{
    right:30px !important;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--t10-accent-tint);
    color:var(--t10-accent) !important;
    font-size:.85rem;
    transition:background .2s ease, color .2s ease;
}
.t10g-faq-accordion .card-header a.collapsed::before{
    background:var(--t10-surface-soft);
    color:var(--t10-muted) !important;
}
.t10g-faq-accordion .card-body{
    background:transparent !important;
    box-shadow:none !important;
    padding:0 30px 28px;
}
.t10g-faq-accordion .card-body .editor-content{color:var(--t10-muted);}

/* -- How it works page: full-page process steps (adapted from homepage .t10-process-step) -- */
.t10g-howwork-section{padding-block:20px 120px;}
.t10g-howwork-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:60px 32px;
    margin-top:20px;
}
.t10g-howwork-step{
    position:relative;
    display:flex;
    flex-direction:column;
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:44px 32px 34px;
    text-align:left;
    height:100%;
}
.t10g-howwork-step .t10-process-num{
    position:absolute;
    top:-20px;
    left:32px;
    transform:none;
    width:42px;
    height:42px;
    border-radius:12px;
    font-size:1.1rem;
}
.t10g-howwork-media{
    width:100%;
    aspect-ratio:16/10;
    border-radius:12px;
    overflow:hidden;
    margin-bottom:22px;
    background:var(--t10-surface-soft);
}
.t10g-howwork-media img{width:100%;height:100%;object-fit:cover;}
.t10g-howwork-step h3{color:var(--t10-text);font-size:1.2rem;margin:0 0 12px;}
.t10g-howwork-step .editor-content{color:var(--t10-muted);font-size:.95rem;line-height:1.7;}

/* ==========================================================================
   ---- Quote / Trial / Job / Upload / Dynamic pages ----
   quote.blade.php, free-trial.blade.php, job.blade.php, jobdetails.blade.php,
   upload-image.blade.php, daynamicpage.blade.php.
   Page heads reuse the established .t10g-page-head / .t10-section-head
   pattern (see faq/package/service pages); forms reuse the homepage's
   .t10-contact-form-card / .t10-form-row pattern (redeclared above for the
   blog/contact pages) — this section only adds the bits those don't cover
   (selects, checkboxes, file inputs, select2) plus new t10g- prefixed
   chrome for the job listing/details cards and upload-method cards.
   ========================================================================== */

/* -- Extend the shared form-row pattern to <select> (homepage contact form
   has no selects, so the earlier redeclaration only covered input/textarea) -- */
.t10-form-row select{
    width:100%;
    background:var(--t10-surface-soft);
    border:1px solid var(--t10-line);
    border-radius:8px;
    padding:12px 14px;
    color:var(--t10-text);
    font-family:inherit;
    font-size:.92rem;
    height:auto;
}
.t10-form-row select:focus{outline:none;border-color:var(--t10-accent);}
.t10-form-row .t10-form-err{margin-top:6px;}

/* Full-width card variant for single-column forms (quote page) */
.t10g-form-card-wide{max-width:none;}
.t10g-form-note{color:var(--t10-muted);font-size:.92rem;line-height:1.6;margin:18px 0;}
.t10g-form-note strong{color:var(--t10-text);}
.t10g-form-subheading{
    display:block;
    margin:22px 0 14px;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--t10-accent);
}

/* Service checkbox grid (quote page) */
.t10g-checkbox-grid{
    list-style:none;
    margin:0 0 8px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.t10g-checkbox-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:9px 12px;
    border-radius:8px;
    transition:background .15s ease;
}
.t10g-checkbox-item:hover{background:var(--t10-surface-soft);}
.t10g-checkbox-item input[type="checkbox"]{
    accent-color:var(--t10-accent);
    width:16px;
    height:16px;
    margin-top:3px;
    flex:none;
}
.t10g-checkbox-item label{
    color:var(--t10-muted);
    font-size:.88rem;
    line-height:1.4;
    margin:0;
    cursor:pointer;
}

/* File input (quote / free-trial attachments) */
.t10g-file-row{
    background:var(--t10-surface-soft);
    border:1px dashed var(--t10-line);
    border-radius:8px;
    padding:12px 14px;
}
.t10g-file-row input[type="file"]{
    width:100%;
    color:var(--t10-muted);
    font-size:.85rem;
}
.t10g-file-row input[type="file"]::file-selector-button{
    background:var(--t10-accent);
    color:#fff;
    border:none;
    border-radius:999px;
    padding:8px 16px;
    margin-right:14px;
    font-size:.8rem;
    font-weight:600;
    cursor:pointer;
    transition:background .15s ease;
}
.t10g-file-row input[type="file"]::file-selector-button:hover{background:var(--t10-accent-deep);}

/* Free trial: red highlight panel — keep its brand-red block, just align
   the radius/shadow with the rest of the t10 card system */
.t10g-trial-highlight{
    border-radius:16px;
    box-shadow:0 14px 34px rgba(0,0,0,.35);
}

/* Select2 (free trial category picker) dark skin */
.select2-container--bootstrap4 .select2-selection{
    background:var(--t10-surface-soft) !important;
    border:1px solid var(--t10-line) !important;
    color:var(--t10-text) !important;
    min-height:46px;
}
.select2-container--bootstrap4 .select2-selection__rendered,
.select2-container--bootstrap4 .select2-selection__placeholder{color:var(--t10-text) !important;}
.select2-container--bootstrap4 .select2-selection__choice{
    background:var(--t10-accent-tint) !important;
    border:1px solid rgba(238,64,49,.3) !important;
    color:var(--t10-text) !important;
}
.select2-container--bootstrap4 .select2-selection__choice__remove{color:var(--t10-accent) !important;}
.select2-dropdown{
    background:var(--t10-surface) !important;
    border:1px solid var(--t10-line) !important;
}
.select2-container--bootstrap4 .select2-search--dropdown .select2-search__field{
    background:var(--t10-surface-soft) !important;
    border:1px solid var(--t10-line) !important;
    color:var(--t10-text) !important;
}
.select2-container--bootstrap4 .select2-results__option{color:var(--t10-text) !important;}
.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected]{
    background:var(--t10-accent) !important;
    color:#fff !important;
}

/* -- Job / career listing (job.blade.php) -- */
.t10g-job-card{
    border-radius:16px !important;
    padding:26px 28px !important;
    transition:border-color .2s ease, transform .2s ease;
}
.t10g-job-card:hover{border-color:var(--t10-accent);transform:translateY(-2px);}
.t10g-job-card-title{margin:0 0 12px;font-size:1.15rem;}
.t10g-job-card-title a{color:var(--t10-text);}
.t10g-job-card-title a:hover{color:var(--t10-accent);}
.t10g-job-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    color:var(--t10-muted);
    font-size:.9rem;
    margin:0 0 8px;
}
.t10g-job-meta span{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--t10-text);
    font-weight:600;
}
.t10g-job-meta span i{color:var(--t10-accent);}
.t10g-job-readmore{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    font-size:.85rem;
    font-weight:600;
    color:var(--t10-accent);
}
.t10g-job-readmore:hover{color:var(--t10-accent-deep);}

/* Category filter chip w/ count badge (reuses .t10g-filter-widget/.t10g-filter-list/.t10g-filter-chip) */
.t10g-filter-chip{display:inline-flex;align-items:center;gap:8px;}
.t10g-chip-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    padding:1px 6px;
    border-radius:999px;
    background:var(--t10-surface-soft);
    color:var(--t10-muted);
    font-size:.72rem;
}
.t10g-filter-chip.is-active .t10g-chip-count{background:rgba(255,255,255,.25);color:#fff;}

/* Search widget input row (job / career sidebar) */
.t10g-search-row{position:relative;}
.t10g-search-row input{
    width:100%;
    background:var(--t10-surface-soft);
    border:1px solid var(--t10-line);
    border-radius:999px;
    padding:12px 50px 12px 18px;
    color:var(--t10-text);
    font-size:.88rem;
}
.t10g-search-row input:focus{outline:none;border-color:var(--t10-accent);}
.t10g-search-row input::placeholder{color:var(--t10-muted);}
.t10g-search-row button{
    position:absolute;
    right:5px;
    top:5px;
    bottom:5px;
    width:36px;
    border:none;
    border-radius:50%;
    background:var(--t10-accent);
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.t10g-search-row button:hover{background:var(--t10-accent-deep);}

/* -- Job details (jobdetails.blade.php) -- */
.t10g-jobdetails-card{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:32px;
}
.t10g-job-info-block{
    padding:18px 0;
    border-bottom:1px solid var(--t10-line);
}
.t10g-job-info-block:first-of-type{padding-top:0;}
.t10g-job-info-block:last-of-type{border-bottom:none;padding-bottom:0;}
.t10g-job-info-label{
    color:var(--t10-accent);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    margin:0 0 8px;
}
.t10g-job-info-block p,
.t10g-job-info-block .editor-content{color:var(--t10-muted);margin:0;line-height:1.7;}
.t10g-job-title-heading{
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--t10-text);
    font-size:1.3rem;
    margin:0 0 22px;
}
.t10g-job-title-heading i{color:var(--t10-accent);}
.t10g-jobdetails-card > .main-btn{margin-top:10px;}

/* Apply-for-job modal — dark skin, scoped so it never touches other modals */
.t10g-apply-modal .modal-content{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    color:var(--t10-text);
}
.t10g-apply-modal .modal-header{border-bottom:1px solid var(--t10-line);}
.t10g-apply-modal .modal-title{color:var(--t10-text);}
.t10g-apply-modal .modal-footer{border-top:1px solid var(--t10-line);}
.t10g-apply-modal .close{color:var(--t10-text);text-shadow:none;opacity:.7;}
.t10g-apply-modal .close:hover{opacity:1;color:var(--t10-accent);}
.t10g-apply-modal .form-control{
    background:var(--t10-surface-soft);
    border:1px solid var(--t10-line);
    color:var(--t10-text);
}
.t10g-apply-modal .form-control::placeholder{color:var(--t10-muted);}
.t10g-apply-modal label{color:var(--t10-muted);}

/* -- Upload image page (upload-image.blade.php) -- */
.t10g-upload-block{
    background:var(--t10-surface);
    border:1px solid var(--t10-line);
    border-radius:16px;
    padding:30px 34px;
    margin-bottom:26px;
}
.t10g-upload-block .editor-content{color:var(--t10-muted);}
.t10g-upload-btn-row{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:22px;
}
.t10g-upload-btn{
    border-radius:999px !important;
    display:inline-flex;
    align-items:center;
}
.t10g-upload-btn img{height:22px;width:auto;}

/* -- Dynamic / CMS page (daynamicpage.blade.php) --
   Kept deliberately generic since it renders arbitrary admin rich text. */
.t10g-dynamic-content{
    max-width:900px;
    margin:0 auto;
    color:var(--t10-muted);
    line-height:1.8;
}
.t10g-dynamic-content h1,
.t10g-dynamic-content h2,
.t10g-dynamic-content h3,
.t10g-dynamic-content h4,
.t10g-dynamic-content h5,
.t10g-dynamic-content h6{color:var(--t10-text);margin-top:1.4em;}
.t10g-dynamic-content h1:first-child,
.t10g-dynamic-content h2:first-child,
.t10g-dynamic-content h3:first-child{margin-top:0;}
.t10g-dynamic-content img{border-radius:12px;height:auto;}
.t10g-dynamic-content a{color:var(--t10-accent);}
.t10g-dynamic-content blockquote{
    border-left:3px solid var(--t10-accent);
    padding:8px 20px;
    color:var(--t10-text);
    background:var(--t10-surface);
    border-radius:0 8px 8px 0;
}
.t10g-dynamic-content table{width:100%;border-collapse:collapse;}
.t10g-dynamic-content table td,
.t10g-dynamic-content table th{border:1px solid var(--t10-line);padding:10px 12px;}
.t10g-dynamic-content hr{border-color:var(--t10-line);opacity:1;}
.t10g-howwork-step .t10-process-bar{margin-top:24px;background:var(--t10-accent-tint);}

/* ==========================================================================
   ---- Canonical form fields (sitewide, wins over every page's own legacy
   input styling) ----
   Different pages were each restyled by a different agent and inherited
   wildly different box models from the old theme underneath (e.g. the old
   quote/free-trial ".input-box input" is a hardcoded height:60px, square,
   2px-bordered field; the homepage/contact ".t10-form-row input" is a
   rounded 8px/1px field; payment.blade.php's bare <input> has no box model
   at all). This block is the single source of truth for what every text
   field, textarea, select, checkbox and file input looks like everywhere,
   using !important because it has to beat selectors far more specific than
   itself (".quote-page .input-box input", Bootstrap's ".form-control", etc).
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="search"],
input[type="url"],
input:not([type]),
textarea,
select,
.form-control,
.input-box input,
.input-box select,
.input-box textarea
{
    height:auto !important;
    width:100% !important;
    padding:13px 16px !important;
    background:var(--t10-surface-soft) !important;
    color:var(--t10-text) !important;
    border:1px solid var(--t10-line) !important;
    border-radius:8px !important;
    font-size:.92rem !important;
    line-height:1.4 !important;
    box-shadow:none !important;
    transition:border-color .15s ease;
}
textarea{resize:vertical !important;}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input:not([type]):focus,
textarea:focus,
select:focus,
.form-control:focus,
.input-box input:focus,
.input-box select:focus,
.input-box textarea:focus
{
    outline:none !important;
    border-color:var(--t10-accent) !important;
    background-color:var(--t10-surface-soft) !important;
    color:var(--t10-text) !important;
    box-shadow:0 0 0 3px var(--t10-accent-tint) !important;
}

input::placeholder,
textarea::placeholder{color:var(--t10-muted) !important;opacity:1;}

/* Checkboxes / radios: same accent colour everywhere, no page-specific overrides */
input[type="checkbox"],
input[type="radio"]{
    accent-color:var(--t10-accent);
}

/* Disabled fields (e.g. payment page's read-only "Pay To" field) */
input:disabled,
textarea:disabled,
select:disabled{
    opacity:.65 !important;
    cursor:not-allowed;
}

/* Native <select>: custom chevron so it reads as intentional, not a bare
   browser default, and stays legible against the dark background everywhere
   (payment currency picker, package/service filters, career category, etc.) */
/* Custom dropdown icon: kept deliberately simple (one static icon, no
   state-swap on focus/click) — swapping the background-image on :focus was
   what caused the icon to glitch/vanish after interacting with the field on
   some browsers, since <select> background rendering during its native open
   state is inconsistent across engines. One fixed icon avoids that entirely. */
/* Fully native <select> rendering, deliberately no appearance:none / custom
   background-image icon. Two attempts at a custom chevron each caused the
   dropdown to render as missing/broken on at least one browser — the native
   arrow is guaranteed to always be visible and functional everywhere, which
   matters more here than a custom icon. Just theme the box + let the
   browser draw its own control chrome (color-scheme:dark themes that too). */
select{
    color-scheme:dark;
    background-color:var(--t10-surface-soft) !important;
    cursor:pointer;
}
select option{
    background:var(--t10-surface);
    color:var(--t10-text);
}

/* Payment page: single centred card, same width rhythm as the contact form card */
.t10g-payment-card-wrap{
    max-width:640px;
    margin:0 auto;
}

/* ==========================================================================
   ---- Select dropdown icon (payment / pricing / free-trial) ----
   Third attempt at a custom chevron — this time it's a completely separate
   element (a ::after on a wrapper <div>), not a background-image on the
   <select> itself. The two previous approaches drew the icon directly on
   the select's own background, which some browsers repaint incorrectly on
   focus/click; a pseudo-element on a sibling wrapper can never be touched by
   any :focus/background rule that targets the select, so it can't vanish.
   ========================================================================== */
.t10g-select-wrap{
    position:relative;
}
.t10g-select-wrap select{
    appearance:none !important;
    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    padding-right:46px !important;
}
.t10g-select-wrap::after{
    content:"";
    position:absolute;
    top:50%;
    right:16px;
    width:16px;
    height:16px;
    transform:translateY(-50%);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23EE4031' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-size:contain;
    pointer-events:none;
}
