/*
Theme Name: Premium Portfolio
Theme URI: https://sabbirbd.com
Author: Rakibul Islam
Author URI: https://sabbirbd.com
Description: A single page portfolio theme built from the original hand-crafted design. Every section is driven by the Pixim Portfolio Core plugin, so text, images, projects, services, pricing and FAQs are editable from the WordPress admin without touching code.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pixim-portfolio
Tags: portfolio, one-column, custom-colors, custom-logo, editor-style, full-width-template
*/

/*
The visual styles live in assets/css/main.css so they can be cached and
versioned separately. This file only carries the theme header.
*/

/* PXM safety reset — the design ships its own resets, these are only guards. */
html,
body {
	margin: 0;
	padding: 0;
}

img,
svg,
video {
	max-width: 100%;
}


/* =========================================================
   BLOG
   Cards, blog page and single post. Every colour is a shared
   --isk-* token, so the blog follows the site theme (dark and
   light) with no extra work.
   ========================================================= */

.isk-bl-head{max-width:760px;margin:0 auto 52px;text-align:center}
.isk-bl-head .isk-eyebrow{display:flex;justify-content:center}
.isk-bl-heading{margin:12px 0 0;font-family:var(--isk-font-display);font-weight:var(--isk-fw-semi);letter-spacing:var(--isk-ls-display);line-height:var(--isk-lh-tight);font-size:clamp(32px,4.6vw,var(--isk-fs-3xl));color:var(--isk-text-1)}
.isk-accent-word{color:var(--isk-accent)}
.isk-bl-intro{margin:18px auto 0;max-width:620px;color:var(--isk-text-3);font-size:var(--isk-fs-md);line-height:var(--isk-lh-relaxed)}
.isk-bl--page{padding-top:140px}

/* ---- filter + search ---- */
.isk-bl-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin:0 0 44px}
.isk-bl-filter{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center}
.isk-bl-fchip{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--isk-r-pill);border:1px solid var(--isk-border);background:var(--isk-surface-1);color:var(--isk-text-3);font-size:var(--isk-fs-xs);font-weight:var(--isk-fw-med);text-decoration:none;transition:color var(--isk-dur) var(--isk-ease),border-color var(--isk-dur) var(--isk-ease),background var(--isk-dur) var(--isk-ease)}
.isk-bl-fchip:hover{color:var(--isk-text-1);border-color:var(--isk-border-strong)}
.isk-bl-fchip.is-active{color:var(--isk-accent);border-color:var(--isk-accent);background:var(--isk-accent-soft)}
.isk-bl-fcount{opacity:.6;font-size:11px}
.isk-bl-search{display:inline-flex;align-items:center;gap:6px;background:var(--isk-surface-1);border:1px solid var(--isk-border);border-radius:var(--isk-r-pill);padding:4px 4px 4px 16px}
.isk-bl-search input[type="search"]{width:200px;border:0;background:transparent;color:var(--isk-text-1);font-family:var(--isk-font-body);font-size:var(--isk-fs-sm);outline:none;padding:8px 0}
.isk-bl-search input[type="search"]::placeholder{color:var(--isk-text-4)}
.isk-bl-search button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:var(--isk-r-circle);background:var(--isk-accent);color:var(--isk-accent-ink);cursor:pointer;transition:background var(--isk-dur) var(--isk-ease)}
.isk-bl-search button:hover{background:var(--isk-accent-hover)}
.isk-bl-search button svg{width:16px;height:16px}

/* ---- grid ---- */
.isk-bl-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.isk-bl-grid[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.isk-bl-grid[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1080px){.isk-bl-grid,.isk-bl-grid[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.isk-bl-grid,.isk-bl-grid[data-cols="2"],.isk-bl-grid[data-cols="3"],.isk-bl-grid[data-cols="4"]{grid-template-columns:1fr}}

/* ---- card ---- */
.isk-bl-card{position:relative;display:flex;flex-direction:column;min-height:100%;background:var(--isk-surface-1);border:1px solid var(--isk-border);border-radius:var(--isk-r-md);overflow:hidden;transition:transform var(--isk-dur) var(--isk-ease),border-color var(--isk-dur) var(--isk-ease),background var(--isk-dur) var(--isk-ease),box-shadow var(--isk-dur) var(--isk-ease)}
.isk-bl-card:hover{transform:translateY(-4px);border-color:var(--isk-border-strong);background:var(--isk-surface-2);box-shadow:var(--isk-shadow-1)}
.isk-bl-card__media{display:block;overflow:hidden;background:var(--isk-surface-2);aspect-ratio:16/10}
.isk-bl-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--isk-dur-slow) var(--isk-ease)}
.isk-bl-card:hover .isk-bl-card__media img{transform:scale(1.05)}
.isk-bl-card__body{flex:1 1 auto;padding:26px 26px 10px}
.isk-bl-card.has-media .isk-bl-card__body{padding-top:22px}
.isk-bl-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:var(--isk-r-pill);background:var(--isk-accent-soft);border:1px solid var(--isk-accent);color:var(--isk-accent);font-family:var(--isk-font-body);font-size:var(--isk-fs-xs);font-weight:var(--isk-fw-med);line-height:1;text-decoration:none;transition:background var(--isk-dur) var(--isk-ease),color var(--isk-dur) var(--isk-ease)}
.isk-bl-chip:hover{background:var(--isk-accent);color:var(--isk-accent-ink)}
.isk-bl-card__title{margin:16px 0 0;font-family:var(--isk-font-display);font-size:20px;line-height:1.3;font-weight:var(--isk-fw-semi);letter-spacing:-.01em}
.isk-bl-card__title a{color:var(--isk-text-1);text-decoration:none;transition:color var(--isk-dur) var(--isk-ease)}
.isk-bl-card:hover .isk-bl-card__title a{color:var(--isk-accent)}
.isk-bl-card__text{margin:12px 0 0;color:var(--isk-text-3);font-size:var(--isk-fs-sm);line-height:var(--isk-lh-relaxed)}
.isk-bl-card__foot{display:flex;align-items:center;gap:16px;margin-top:auto;padding:18px 26px 24px;color:var(--isk-text-4);font-size:var(--isk-fs-xs)}
.isk-bl-time{display:inline-flex;align-items:center;gap:6px}
.isk-bl-time svg{width:13px;height:13px}
.isk-bl-read{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--isk-accent);font-size:var(--isk-fs-xs);font-weight:var(--isk-fw-semi);text-decoration:none;white-space:nowrap}
.isk-bl-read svg{width:14px;height:14px;transition:transform var(--isk-dur) var(--isk-ease)}
.isk-bl-card:hover .isk-bl-read svg{transform:translateX(4px)}

.isk-bl-more{margin-top:46px;text-align:center}
.isk-bl-more .isk-btn svg{width:15px;height:15px;margin-left:8px}
.isk-bl-empty{margin:0;padding:70px 0;text-align:center;color:var(--isk-text-3)}

/* ---- pagination ---- */
.isk-bl-pager{margin-top:54px}
.isk-bl-pager .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.isk-bl-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:var(--isk-r-pill);border:1px solid var(--isk-border);background:var(--isk-surface-1);color:var(--isk-text-2);font-size:var(--isk-fs-sm);text-decoration:none;transition:all var(--isk-dur) var(--isk-ease)}
.isk-bl-pager .page-numbers:hover{border-color:var(--isk-border-strong);color:var(--isk-text-1)}
.isk-bl-pager .page-numbers.current{background:var(--isk-accent);border-color:var(--isk-accent);color:var(--isk-accent-ink)}
.isk-bl-pager .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* =========================================================
   SINGLE POST
   ========================================================= */

.isk-single{position:relative;padding-bottom:40px}
.isk-single-shell{max-width:800px}
.isk-single-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:70;pointer-events:none;background:transparent}
.isk-single-progress span{display:block;height:100%;width:0;background:var(--isk-accent)}

.isk-single-hero{padding:140px 0 0;text-align:center}
.isk-single-back{display:flex;width:-moz-fit-content;width:fit-content;margin:0 auto 24px;align-items:center;gap:8px;color:var(--isk-text-3);font-size:var(--isk-fs-sm);text-decoration:none;transition:color var(--isk-dur) var(--isk-ease)}
.isk-single-back svg{width:16px;height:16px;transition:transform var(--isk-dur) var(--isk-ease)}
.isk-single-back:hover{color:var(--isk-accent)}
.isk-single-back:hover svg{transform:translateX(-3px)}
.isk-single-title{margin:18px 0 0;font-family:var(--isk-font-display);font-weight:var(--isk-fw-semi);letter-spacing:var(--isk-ls-display);line-height:1.1;font-size:clamp(32px,4.4vw,52px);color:var(--isk-text-1)}
.isk-single-lead{margin:20px auto 0;max-width:640px;color:var(--isk-text-3);font-size:18px;line-height:var(--isk-lh-relaxed)}
.isk-single-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 16px;margin-top:30px;color:var(--isk-text-4);font-size:var(--isk-fs-xs)}
.isk-single-author{display:inline-flex;align-items:center;gap:10px;color:var(--isk-text-2);font-weight:var(--isk-fw-med)}
.isk-single-avatar{border-radius:var(--isk-r-circle);width:34px;height:34px}
.isk-single-mi{display:inline-flex;align-items:center;gap:7px}
.isk-single-mi svg{width:14px;height:14px}
.isk-single-dot{width:4px;height:4px;border-radius:var(--isk-r-circle);background:var(--isk-text-4)}

.isk-single-cover{margin:56px 0 0;border-radius:var(--isk-r-lg);overflow:hidden;border:1px solid var(--isk-border);background:var(--isk-surface-1)}
.isk-single-cover img{display:block;width:100%;height:auto}

.isk-single-body{margin-top:56px;color:var(--isk-text-2);font-size:17px;line-height:1.75}
.isk-single-body > *:first-child{margin-top:0}
.isk-single-body p{margin:0 0 24px}
.isk-single-body h2,.isk-single-body h3,.isk-single-body h4{font-family:var(--isk-font-display);color:var(--isk-text-1);letter-spacing:-.01em;line-height:1.25;margin:48px 0 16px}
.isk-single-body h2{font-size:30px}
.isk-single-body h3{font-size:24px}
.isk-single-body h4{font-size:20px}
.isk-single-body a{color:var(--isk-accent);text-decoration:underline;text-underline-offset:3px}
.isk-single-body a:hover{color:var(--isk-accent-hover)}
.isk-single-body ul,.isk-single-body ol{margin:0 0 24px;padding-left:22px}
.isk-single-body li{margin:0 0 10px}
.isk-single-body li::marker{color:var(--isk-accent)}
.isk-single-body img,.isk-single-body iframe,.isk-single-body video{max-width:100%;height:auto;border-radius:var(--isk-r-md)}
.isk-single-body figure{margin:32px 0}
.isk-single-body figcaption{margin-top:10px;text-align:center;color:var(--isk-text-4);font-size:var(--isk-fs-xs)}
.isk-single-body blockquote{margin:32px 0;padding:22px 26px;border-left:3px solid var(--isk-accent);border-radius:0 var(--isk-r-sm) var(--isk-r-sm) 0;background:var(--isk-surface-1);color:var(--isk-text-1);font-size:19px;line-height:1.6}
.isk-single-body blockquote p:last-child{margin:0}
.isk-single-body code{padding:2px 7px;border-radius:6px;background:var(--isk-surface-2);border:1px solid var(--isk-border);font-size:14px}
.isk-single-body pre{margin:0 0 28px;padding:22px;overflow:auto;border-radius:var(--isk-r-md);background:var(--isk-bg-deep);border:1px solid var(--isk-border);font-size:14px;line-height:1.6}
.isk-single-body pre code{padding:0;border:0;background:none}
.isk-single-body hr{margin:44px 0;border:0;border-top:1px solid var(--isk-border)}
.isk-single-body table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:var(--isk-fs-sm)}
.isk-single-body th,.isk-single-body td{padding:12px 14px;border:1px solid var(--isk-border);text-align:left}
.isk-single-body th{background:var(--isk-surface-1);color:var(--isk-text-1)}

.isk-single-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:44px}
.isk-single-tags a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--isk-r-pill);border:1px solid var(--isk-border);background:var(--isk-surface-1);color:var(--isk-text-3);font-size:var(--isk-fs-xs);text-decoration:none;transition:all var(--isk-dur) var(--isk-ease)}
.isk-single-tags a:hover{color:var(--isk-accent);border-color:var(--isk-accent)}
.isk-single-tags svg{width:13px;height:13px}

.isk-single-share{display:flex;align-items:center;gap:10px;margin-top:32px;padding-top:28px;border-top:1px solid var(--isk-border)}
.isk-single-share__label{margin-right:4px;color:var(--isk-text-4);font-size:var(--isk-fs-xs);letter-spacing:var(--isk-ls-eyebrow);text-transform:uppercase}
.isk-single-share__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--isk-r-circle);border:1px solid var(--isk-border);background:var(--isk-surface-1);color:var(--isk-text-2);cursor:pointer;transition:all var(--isk-dur) var(--isk-ease)}
.isk-single-share__btn:hover{color:var(--isk-accent-ink);background:var(--isk-accent);border-color:var(--isk-accent)}
.isk-single-share__btn svg{width:16px;height:16px}
.isk-single-copied{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:var(--isk-r-xs);background:var(--isk-surface-inv);color:var(--isk-text-inv);font-size:11px;opacity:0;pointer-events:none;transition:opacity var(--isk-dur) var(--isk-ease)}
.isk-single-share__btn.is-copied .isk-single-copied{opacity:1}

.isk-single-cta{margin-top:56px;padding:38px 34px;text-align:center;border:1px solid var(--isk-border);border-radius:var(--isk-r-lg);background:var(--isk-surface-1)}
.isk-single-cta h2{margin:0 0 22px;font-family:var(--isk-font-display);font-size:26px;line-height:1.3;color:var(--isk-text-1)}
.isk-single-cta .isk-btn svg{width:15px;height:15px;margin-left:8px}

.isk-single-nav{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}
@media (max-width:680px){.isk-single-nav{grid-template-columns:1fr}}
.isk-single-nav__item{display:flex;flex-direction:column;gap:8px;padding:20px 22px;border:1px solid var(--isk-border);border-radius:var(--isk-r-md);background:var(--isk-surface-1);text-decoration:none;transition:all var(--isk-dur) var(--isk-ease)}
.isk-single-nav__item:hover{border-color:var(--isk-border-strong);background:var(--isk-surface-2)}
.isk-single-nav__item.is-next{text-align:right;margin-left:auto;width:100%}
.isk-single-nav__k{color:var(--isk-text-4);font-size:var(--isk-fs-xs);letter-spacing:var(--isk-ls-eyebrow);text-transform:uppercase}
.isk-single-nav__t{color:var(--isk-text-1);font-family:var(--isk-font-display);font-size:16px;line-height:1.35}
.isk-single-nav__item:hover .isk-single-nav__t{color:var(--isk-accent)}

.isk-single-related{margin-top:40px}
.isk-single-comments{margin-top:56px}
.isk-single-comments .comment-reply-title,.isk-single-comments .comments-title{font-family:var(--isk-font-display);color:var(--isk-text-1)}
.isk-single-comments input[type="text"],.isk-single-comments input[type="email"],.isk-single-comments input[type="url"],.isk-single-comments textarea{width:100%;padding:12px 16px;border-radius:var(--isk-r-sm);border:1px solid var(--isk-border);background:var(--isk-surface-1);color:var(--isk-text-1);font-family:var(--isk-font-body)}
.isk-single-comments .submit{padding:12px 24px;border:0;border-radius:var(--isk-r-pill);background:var(--isk-accent);color:var(--isk-accent-ink);cursor:pointer}

@media (max-width:680px){
	.isk-bl--page{padding-top:110px}
	.isk-single-hero{padding-top:110px}
	.isk-bl-card__body{padding:22px 20px 8px}
	.isk-bl-card__foot{padding:16px 20px 22px;gap:12px;flex-wrap:wrap}
	.isk-single-body{font-size:16px}
}
