
/*
 * Allmac Astra Child - Single Post
 * Loaded only on singular blog posts.
 */

.allmac-single{
    --am-blue:#2563eb;
    --am-orange:#f97316;
    --am-green:#16a34a;
    --am-purple:#8b5cf6;
    --am-pink:#ec4899;
    --am-cyan:#0891b2;
    --am-dark:#0f172a;
    --am-text:#334155;
    --am-muted:#64748b;
    --am-line:#e2e8f0;
    --am-soft:#f8fafc;
    padding:20px 0 70px;
}

.allmac-single *,
.allmac-single *::before,
.allmac-single *::after{box-sizing:border-box}

.allmac-single__container{
    width:min(1240px,calc(100% - 36px));
    margin:0 auto;
}

.allmac-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
    color:var(--am-muted);
    font-size:12px;
    margin:3px 0 24px;
}

.allmac-breadcrumb a{
    color:var(--am-blue);
    text-decoration:none;
    font-weight:700;
}

.allmac-single__layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 315px;
    gap:34px;
    align-items:start;
}

.allmac-single__article{
    min-width:0;
    background:#fff;
    border:1px solid var(--am-line);
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 7px 30px rgba(15,23,42,.055);
}

.allmac-single__header{
    padding:35px 42px 28px;
}

.allmac-single__category{
    display:inline-flex;
    padding:6px 10px;
    border-radius:7px;
    background:#eff6ff;
    color:var(--am-blue);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    text-decoration:none;
    border-left:3px solid var(--am-blue);
}

.allmac-single__title{
    margin:14px 0 13px!important;
    color:var(--am-dark)!important;
    font-size:clamp(32px,4.1vw,52px)!important;
    line-height:1.08!important;
    letter-spacing:-.025em;
}

.allmac-single__meta{
    display:flex;
    gap:9px;
    align-items:center;
    flex-wrap:wrap;
    color:var(--am-muted);
    font-size:12px;
    font-weight:600;
}

.allmac-single__date{
    display:inline-flex;
    gap:6px;
    align-items:center;
}

.allmac-single__date span{
    color:var(--am-blue);
    font-size:8px;
}

.allmac-single__featured{
    margin:0;
    padding:0;
    background:#eef2f7;
    line-height:0;
}

.allmac-single__featured img{
    width:100%;
    height:auto;
    max-height:650px;
    object-fit:cover;
    display:block;
}

.allmac-single__content{
    padding:38px 42px 20px;
    color:var(--am-text);
    font-size:17px;
    line-height:1.85;
}

.allmac-single__content p{
    margin:0 0 1.25em;
}

.allmac-single__content h2{
    color:var(--am-dark);
    font-size:30px;
    line-height:1.2;
    margin:1.7em 0 .65em;
    padding-left:13px;
    border-left:4px solid var(--am-blue);
}

.allmac-single__content h3{
    color:var(--am-dark);
    font-size:23px;
    line-height:1.3;
    margin:1.5em 0 .55em;
}

.allmac-single__content a{
    color:var(--am-blue);
    text-decoration:underline;
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}

.allmac-single__content img{
    max-width:100%;
    height:auto;
    border-radius:12px;
}

.allmac-single__content blockquote{
    margin:28px 0;
    padding:20px 23px;
    border-left:4px solid var(--am-orange);
    background:#fff7ed;
    color:#7c2d12;
    border-radius:0 12px 12px 0;
}

.allmac-single__content ul,
.allmac-single__content ol{
    padding-left:25px;
}

.allmac-single__footer{
    margin:0 42px;
    padding:20px 0 32px;
    border-top:1px solid var(--am-line);
}

.allmac-single__tags{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    font-size:12px;
    color:var(--am-muted);
}

.allmac-single__tags a{
    padding:6px 9px;
    border:1px solid var(--am-line);
    border-radius:999px;
    color:var(--am-blue);
    text-decoration:none;
    background:#fff;
}

.allmac-single__pages{
    display:flex;
    gap:10px;
    padding:0 42px 25px;
    font-size:13px;
}

.allmac-single__sidebar{
    display:flex;
    flex-direction:column;
    gap:18px;
    position:sticky;
    top:25px;
}

.allmac-side-card{
    background:#fff;
    border:1px solid var(--am-line);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(15,23,42,.045);
}

.allmac-side-card__heading{
    display:flex;
    align-items:center;
    gap:10px;
    padding:17px 17px 13px;
    border-bottom:1px solid var(--am-line);
}

.allmac-side-card__heading span{
    color:var(--am-blue);
    font-size:10px;
    font-weight:900;
}

.allmac-side-card__heading h2{
    margin:0;
    font-size:17px;
    line-height:1.2;
    color:var(--am-dark);
}

.allmac-side-card--categories .allmac-side-card__body{
    padding:7px 9px 10px;
}

.allmac-side-category{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 9px;
    margin:2px 0;
    border-left:2px solid transparent;
    border-radius:6px;
    color:#334155;
    text-decoration:none;
    font-size:12px;
    transition:.18s ease;
}

.allmac-side-category:nth-child(1){border-left-color:var(--am-blue)}
.allmac-side-category:nth-child(2){border-left-color:var(--am-orange)}
.allmac-side-category:nth-child(3){border-left-color:var(--am-green)}
.allmac-side-category:nth-child(4){border-left-color:var(--am-purple)}
.allmac-side-category:nth-child(5){border-left-color:var(--am-pink)}
.allmac-side-category:nth-child(6){border-left-color:var(--am-cyan)}

.allmac-side-category:hover{
    background:var(--am-soft);
    padding-left:13px;
    color:var(--am-blue);
}

.allmac-side-category b{
    font-size:10px;
    color:#94a3b8;
}

.allmac-side-card__intro{
    margin:0;
    padding:12px 17px 5px;
    color:var(--am-muted);
    font-size:12px;
    line-height:1.55;
}

.allmac-product-categories{
    padding:7px 9px 11px;
}

.allmac-product-category{
    display:flex;
    align-items:center;
    gap:10px;
    padding:9px 8px;
    border-left:2px solid transparent;
    border-bottom:1px solid #f1f5f9;
    color:var(--am-dark);
    text-decoration:none;
}

.allmac-product-category:nth-child(1){border-left-color:var(--am-blue)}
.allmac-product-category:nth-child(2){border-left-color:var(--am-orange)}
.allmac-product-category:nth-child(3){border-left-color:var(--am-green)}
.allmac-product-category:nth-child(4){border-left-color:var(--am-purple)}
.allmac-product-category:nth-child(5){border-left-color:var(--am-pink)}

.allmac-product-category:hover{
    background:var(--am-soft);
}

.allmac-product-category__thumb{
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    overflow:hidden;
    background:#f1f5f9;
    color:var(--am-blue);
    font-weight:900;
}

.allmac-product-category__thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.allmac-product-category__text{
    min-width:0;
    flex:1;
}

.allmac-product-category__text strong{
    display:block;
    font-size:12px;
    line-height:1.3;
}

.allmac-product-category__text small{
    display:block;
    margin-top:3px;
    color:#94a3b8;
    font-size:10px;
}

.allmac-product-category__arrow{
    color:#94a3b8;
    font-size:15px;
}

.allmac-side-card--cta{
    padding:23px;
    border:0;
    background:linear-gradient(145deg,#172554,#2563eb 65%,#0891b2);
    color:#fff;
}

.allmac-side-card__eyebrow{
    font-size:9px;
    font-weight:900;
    letter-spacing:.13em;
    opacity:.78;
}

.allmac-side-card--cta h2{
    margin:9px 0;
    color:#fff;
    font-size:23px;
    line-height:1.15;
}

.allmac-side-card--cta p{
    margin:0 0 17px;
    color:rgba(255,255,255,.84);
    font-size:12px;
    line-height:1.6;
}

.allmac-side-card--cta a{
    display:inline-block;
    padding:10px 13px;
    border-radius:9px;
    background:#fff;
    color:#1d4ed8;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.allmac-related{
    margin-top:45px;
}

.allmac-related__heading{
    margin-bottom:18px;
}

.allmac-related__heading span{
    color:var(--am-blue);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}

.allmac-related__heading h2{
    margin:6px 0 0;
    font-size:31px;
    color:var(--am-dark);
}

.allmac-related__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
}

.allmac-related-card{
    background:#fff;
    border:1px solid var(--am-line);
    border-top:3px solid var(--am-blue);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(15,23,42,.05);
    transition:.2s;
}

.allmac-related-card:nth-child(2){border-top-color:var(--am-orange)}
.allmac-related-card:nth-child(3){border-top-color:var(--am-green)}
.allmac-related-card:nth-child(4){border-top-color:var(--am-purple)}

.allmac-related-card:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 28px rgba(15,23,42,.1);
}

.allmac-related-card__image{
    display:block;
    aspect-ratio:1.5;
    overflow:hidden;
    background:#eef2f7;
}

.allmac-related-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.allmac-related-card__placeholder{
    display:flex;
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    color:var(--am-blue);
    font-size:20px;
    font-weight:900;
}

.allmac-related-card__body{
    padding:14px;
}

.allmac-related-card__body>span{
    color:var(--am-blue);
    font-size:9px;
    font-weight:900;
    text-transform:uppercase;
}

.allmac-related-card__body h3{
    margin:6px 0 8px;
    font-size:16px;
    line-height:1.3;
}

.allmac-related-card__body h3 a{
    color:var(--am-dark);
    text-decoration:none;
}

.allmac-related-card__body time{
    color:#94a3b8;
    font-size:10px;
}

@media(max-width:1024px){
    .allmac-single__layout{
        grid-template-columns:minmax(0,1fr) 280px;
        gap:22px;
    }
    .allmac-related__grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:820px){
    .allmac-single__layout{
        grid-template-columns:1fr;
    }
    .allmac-single__sidebar{
        position:static;
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .allmac-side-card--cta{
        grid-column:1/-1;
    }
}

@media(max-width:600px){
    .allmac-single{
        padding:8px 0 45px;
    }

    .allmac-single__container{
        width:min(100% - 20px,1240px);
    }

    .allmac-breadcrumb{
        font-size:10px;
        margin-bottom:16px;
    }

    .allmac-single__article{
        border-radius:14px;
    }

    .allmac-single__header{
        padding:23px 18px 20px;
    }

    .allmac-single__title{
        font-size:28px!important;
    }

    .allmac-single__meta{
        font-size:10px;
    }

    .allmac-single__content{
        padding:25px 18px 12px;
        font-size:16px;
        line-height:1.8;
    }

    .allmac-single__content h2{
        font-size:23px;
        padding-left:10px;
    }

    .allmac-single__content h3{
        font-size:20px;
    }

    .allmac-single__footer{
        margin:0 18px;
        padding-bottom:24px;
    }

    .allmac-single__pages{
        padding-left:18px;
        padding-right:18px;
    }

    .allmac-single__sidebar{
        grid-template-columns:1fr;
        gap:12px;
    }

    .allmac-side-card--cta{
        grid-column:auto;
    }

    .allmac-related{
        margin-top:32px;
    }

    .allmac-related__heading h2{
        font-size:25px;
    }

    /* 2 columns on mobile for related posts */
    .allmac-related__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .allmac-related-card{
        border-radius:11px;
    }

    .allmac-related-card__body{
        padding:10px;
    }

    .allmac-related-card__body h3{
        font-size:13px;
        line-height:1.3;
        margin:5px 0;
    }

    .allmac-related-card__body>span{
        font-size:8px;
    }

    .allmac-related-card__body time{
        font-size:9px;
    }
}


/* ==========================================================
   ALLMAC FIX 2.1
   Stronger selectors to prevent Astra/theme rules from
   collapsing the custom layout or typography.
   ========================================================== */

body.single-post .allmac-single{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:20px 0 70px !important;
}

body.single-post .allmac-single__container{
    width:min(1240px, calc(100% - 36px)) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

body.single-post .allmac-single__layout{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 315px !important;
    gap:34px !important;
    align-items:start !important;
}

body.single-post .allmac-single__article{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
}

body.single-post .allmac-single__content{
    width:100% !important;
    max-width:none !important;
    font-size:17px !important;
    line-height:1.85 !important;
}

body.single-post .allmac-single__content p{
    font-size:inherit !important;
    line-height:inherit !important;
    margin-bottom:1.25em !important;
}

body.single-post .allmac-single__content img{
    max-width:100% !important;
    height:auto !important;
}

body.single-post .allmac-single__sidebar{
    width:100% !important;
    min-width:0 !important;
}

body.single-post .allmac-related__grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

body.single-post .allmac-related-card{
    width:100% !important;
    min-width:0 !important;
}

body.single-post .allmac-related-card__image{
    width:100% !important;
}

@media(max-width:820px){
    body.single-post .allmac-single__layout{
        grid-template-columns:1fr !important;
        gap:22px !important;
    }

    body.single-post .allmac-single__sidebar{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        position:static !important;
    }

    body.single-post .allmac-side-card--cta{
        grid-column:1 / -1 !important;
    }

    body.single-post .allmac-related__grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:600px){
    body.single-post .allmac-single{
        padding:8px 0 45px !important;
    }

    body.single-post .allmac-single__container{
        width:calc(100% - 20px) !important;
        max-width:none !important;
    }

    body.single-post .allmac-single__layout{
        display:block !important;
    }

    body.single-post .allmac-single__article{
        display:block !important;
        width:100% !important;
        border-radius:14px !important;
    }

    body.single-post .allmac-single__header{
        padding:23px 18px 20px !important;
    }

    body.single-post .allmac-single__title{
        font-size:28px !important;
        line-height:1.08 !important;
    }

    body.single-post .allmac-single__content{
        display:block !important;
        padding:25px 18px 12px !important;
        font-size:16px !important;
        line-height:1.8 !important;
    }

    body.single-post .allmac-single__content p,
    body.single-post .allmac-single__content li{
        font-size:16px !important;
        line-height:1.8 !important;
    }

    body.single-post .allmac-single__content h2{
        font-size:23px !important;
        line-height:1.2 !important;
    }

    body.single-post .allmac-single__content h3{
        font-size:20px !important;
        line-height:1.3 !important;
    }

    body.single-post .allmac-single__sidebar{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        margin-top:20px !important;
    }

    body.single-post .allmac-side-card--cta{
        grid-column:auto !important;
    }

    body.single-post .allmac-related{
        display:block !important;
        width:100% !important;
        margin-top:32px !important;
    }

    body.single-post .allmac-related__grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    body.single-post .allmac-related-card{
        width:100% !important;
    }

    body.single-post .allmac-related-card h3{
        font-size:13px !important;
        line-height:1.3 !important;
    }
}


/* ==========================================================
   ALLMAC POST HEADER v2.2
   Breadcrumb + metadata + H1, inspired by the supplied
   reference layout.
   ========================================================== */

body.single-post .allmac-single__header{
    padding:0 42px 31px !important;
}

body.single-post .allmac-post-breadcrumb{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin:0 -42px 27px !important;
    padding:0 0 0 !important;
    color:#94a3b8 !important;
    font-size:16px !important;
    line-height:1.4 !important;
}

body.single-post .allmac-post-breadcrumb a{
    color:#64748b !important;
    text-decoration:none !important;
    font-weight:500 !important;
}

body.single-post .allmac-post-breadcrumb a:last-of-type{
    color:#334155 !important;
}

body.single-post .allmac-post-breadcrumb span{
    color:#cbd5e1 !important;
}

body.single-post .allmac-post-meta{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:11px !important;
    margin:0 0 22px !important;
    color:#64748b !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
}

body.single-post .allmac-post-meta__category{
    display:inline-flex !important;
    align-items:center !important;
    min-height:30px !important;
    padding:5px 13px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    color:#2563eb !important;
    text-decoration:none !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
}

body.single-post .allmac-post-meta__dot{
    width:5px !important;
    height:5px !important;
    border-radius:50% !important;
    background:#cbd5e1 !important;
    flex:0 0 5px !important;
}

body.single-post .allmac-post-meta__item,
body.single-post .allmac-post-meta__author{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
}

body.single-post .allmac-post-meta__icon{
    color:#94a3b8 !important;
    font-size:15px !important;
    line-height:1 !important;
}

body.single-post .allmac-post-meta__clock{
    color:#f59e0b !important;
}

body.single-post .allmac-post-meta__author{
    color:#334155 !important;
    font-weight:700 !important;
}

body.single-post .allmac-single__title{
    max-width:1050px !important;
    margin:0 auto !important;
    text-align:center !important;
    color:#0f172a !important;
    font-size:clamp(34px,4.25vw,54px) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    font-weight:850 !important;
}

@media(max-width:900px){
    body.single-post .allmac-single__header{
        padding:0 30px 28px !important;
    }

    body.single-post .allmac-post-breadcrumb{
        margin-left:-30px !important;
        margin-right:-30px !important;
    }
}

@media(max-width:600px){
    body.single-post .allmac-single__header{
        padding:0 18px 22px !important;
    }

    body.single-post .allmac-post-breadcrumb{
        margin:0 -18px 20px !important;
        padding:0 !important;
        gap:6px !important;
        font-size:12px !important;
        line-height:1.35 !important;
    }

    body.single-post .allmac-post-meta{
        justify-content:flex-start !important;
        gap:7px !important;
        margin-bottom:17px !important;
        font-size:10px !important;
    }

    body.single-post .allmac-post-meta__category{
        min-height:25px !important;
        padding:5px 9px !important;
        font-size:9px !important;
    }

    body.single-post .allmac-post-meta__dot{
        width:4px !important;
        height:4px !important;
        flex-basis:4px !important;
    }

    body.single-post .allmac-post-meta__icon{
        font-size:12px !important;
    }

    body.single-post .allmac-single__title{
        font-size:29px !important;
        line-height:1.1 !important;
        letter-spacing:-.025em !important;
        text-align:left !important;
    }
}
