/* ==========================================================================
   iSpazio Theme — Single Post
   Loaded async on single post pages only.
   ========================================================================== */

/* --- Single layout (article + sidebar) --- */
.isp-single-layout{display:grid;grid-template-columns:1fr var(--isp-sidebar-w);gap:var(--isp-sp-xl);padding:0;align-items:start}
.isp-single-layout--full{display:block}
.isp-single-layout__main{min-width:0;display:flex;flex-direction:column;gap:24px;padding-bottom:40px}
.isp-single-layout__main .isp-article{background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);padding:32px 32px 0 32px}
.isp-single-layout__sidebar{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}

/* --- Breadcrumbs --- */
.isp-breadcrumbs{padding:16px 0 0;font-size:13px;color:var(--isp-mute)}
.isp-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.isp-breadcrumbs__item{display:flex;align-items:center;gap:4px}
.isp-breadcrumbs__item a{color:var(--isp-ink2);font-weight:500}
.isp-breadcrumbs__item a:hover{color:var(--isp-brand)}
.isp-breadcrumbs__item [aria-current]{color:var(--isp-mute);font-weight:400}
.isp-breadcrumbs__sep{color:var(--isp-border);font-size:12px}

/* --- Post meta header --- */
.isp-single-meta{margin-bottom:24px}
.isp-single-meta .isp-badge{margin-bottom:12px}
.isp-single-meta__title{font-size:var(--isp-single-title-size);font-weight:800;line-height:1.3;letter-spacing:var(--isp-single-title-ls);color:var(--isp-ink);margin:0 0 12px}
.isp-single-meta__subtitle{font-size:17px;color:var(--isp-ink2);line-height:1.5;margin:0 0 16px}
.isp-single-meta__divider{border:none;border-top:1px solid var(--isp-border-soft);margin:0 0 16px}
.isp-single-meta__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--isp-mute)}
.isp-single-meta__author{display:flex;align-items:center;gap:8px;color:var(--isp-ink2);font-weight:500}
.isp-single-meta__author img{border-radius:50%}
.isp-single-meta__updated{font-size:12px;color:var(--isp-mute)}
.isp-single-meta__reading{display:flex;align-items:center;gap:4px}
.isp-single-meta__comments{display:inline-flex;align-items:center;gap:4px;color:var(--isp-mute);margin-left:auto;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}
.isp-single-meta__comments:hover{color:var(--isp-brand);background:var(--isp-brand-soft)}
.isp-single-content__hero-wrap{position:relative;margin:35px 0 28px}
.isp-single-actions{position:absolute;top:-18px;right:6px;z-index:2;display:flex;align-items:center;gap:8px}
.isp-share-native{display:none;align-items:center;gap:6px;padding:8px 24px;background:#fff;color:#000;border:none;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;font-family:var(--isp-font);box-shadow:0 2px 8px rgba(0,0,0,.15);text-transform:none;transition:all .2s ease}
.isp-share-native svg{width:18px;height:18px}
.isp-share-native:hover,.isp-share-native:active{background:var(--isp-brand);color:#fff}
.isp-share-native:focus-visible{outline:2px solid var(--isp-brand);outline-offset:2px}
.isp-single-bookmark{position:static;width:38px;height:38px;background:#fff;backdrop-filter:none;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.15);transition:background .2s,transform .15s}
.isp-single-bookmark svg{width:17px;height:17px;stroke:#000;fill:none}
.isp-single-bookmark:hover{background:var(--isp-brand);transform:scale(1.05)}
.isp-single-bookmark:hover svg{stroke:#fff}
.isp-single-bookmark.bookmarked{background:#fff}
.isp-single-bookmark.bookmarked svg{stroke:var(--isp-brand);fill:var(--isp-brand)}
.isp-single-bookmark.bookmarked:hover{background:var(--isp-brand)}
.isp-single-bookmark.bookmarked:hover svg{stroke:#fff;fill:#fff}
.isp-single-bookmark:focus-visible{outline:2px solid var(--isp-brand);outline-offset:2px}

/* --- Featured image --- */
.isp-single-content__hero{position:relative;margin:0;border-radius:var(--isp-radius);overflow:hidden}
.isp-single-content__hero .isp-img{width:100%;aspect-ratio:16/9;object-fit:cover}
.isp-single-content__caption{font-size:12px;color:var(--isp-mute);padding:10px 0 0;text-align:center;font-style:italic}

/* --- Entry content (article body) --- */
.isp-entry-content{font-size:var(--isp-article-size);line-height:var(--isp-article-lh);color:var(--isp-ink);min-width:0;max-width:100%}
.isp-entry-content h2{font-size:24px;margin:2em 0 .5em;letter-spacing:-.4px}
.isp-entry-content h3{font-size:20px;margin:1.8em 0 .5em;letter-spacing:-.3px}
.isp-entry-content h4{font-size:18px;margin:1.5em 0 .5em}
.isp-entry-content p{margin:0 0 1.2em}
.isp-entry-content a{color:var(--isp-brand)}
.isp-entry-content a:hover{color:var(--isp-brand-dark)}
.isp-entry-content img{border-radius:13px;margin:1.5em 0}
.isp-single-img-shadow .isp-entry-content img{box-shadow:0 0 7px 0 rgba(15,29,54,.13)}
img.aligncenter,.aligncenter img{display:block;margin-left:auto !important;margin-right:auto !important}
figure.aligncenter,.wp-block-image.aligncenter,p.aligncenter{display:block;margin-left:auto;margin-right:auto;text-align:center}
/* When aligncenter img is wrapped in <a> (inline) or in headings/p, center the parent chain. */
a:has(> img.aligncenter){display:block;text-align:center}
p:has(img.aligncenter),h1:has(img.aligncenter),h2:has(img.aligncenter),h3:has(img.aligncenter),h4:has(img.aligncenter),h5:has(img.aligncenter),h6:has(img.aligncenter){text-align:center}
.isp-entry-content p[style*="text-align:center"] img,
.isp-entry-content p[style*="text-align: center"] img,
.isp-entry-content [style*="text-align:center"] > img,
.isp-entry-content [style*="text-align: center"] > img{display:block;margin-left:auto !important;margin-right:auto !important}
.isp-entry-content img.alignright{display:block;margin-left:auto;margin-right:0}
.isp-entry-content figure{margin:1.5em 0}
.isp-entry-content figcaption{font-size:13px;color:var(--isp-mute);text-align:center;margin-top:8px;font-style:italic}
.isp-entry-content blockquote{border-left:3px solid var(--isp-brand);padding:12px 20px;margin:1.5em 0;background:var(--isp-brand-soft);border-radius:0 var(--isp-radius-sm) var(--isp-radius-sm) 0;font-size:inherit;color:var(--isp-ink2)}
.isp-entry-content blockquote p{margin:0}
.isp-entry-content blockquote p:not(:last-child){padding-bottom:.75em}
.isp-entry-content ul,.isp-entry-content ol{margin:0 0 1.2em;padding-left:1.8em;list-style-position:outside}
.isp-entry-content ul{list-style:disc}
.isp-entry-content ol{list-style:decimal}
.isp-entry-content ol>li::marker{font-weight:700}
.isp-entry-content strong,.isp-entry-content b{font-weight:700}
.isp-entry-content li{padding-bottom:.83em}
.isp-entry-content li:last-child{padding-bottom:0}
.isp-entry-content pre{background:var(--isp-ink);color:#e4e9f2;padding:20px;border-radius:var(--isp-radius-sm);overflow-x:auto;font-family:var(--isp-font-mono);font-size:14px;line-height:1.6;margin:1.5em 0;max-width:100%;word-break:break-word}
.isp-entry-content code{font-family:var(--isp-font-mono);font-size:.9em;background:var(--isp-bg);padding:2px 6px;border-radius:4px}
.isp-entry-content pre code{background:none;padding:0;border-radius:0;font-size:inherit}
.isp-entry-content .isp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0}
.isp-entry-content table{width:100%;margin:0;border:1px solid var(--isp-border);border-radius:var(--isp-radius-sm);overflow:hidden;font-size:15px;min-width:480px}
.isp-entry-content th{background:var(--isp-bg);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid var(--isp-border)}
.isp-entry-content td{padding:10px 14px;border-bottom:1px solid var(--isp-border-soft)}
.isp-entry-content hr{border:none;border-top:1px solid var(--isp-border);margin:2em 0}
.isp-entry-content iframe{max-width:100%;border:1px solid var(--isp-border);border-radius:var(--isp-radius-sm);margin:1.5em 0}
.isp-entry-content .wp-block-embed{margin:1.5em 0}

/* --- WordPress Gallery ([gallery] shortcode) --- */
.isp-entry-content .gallery{display:grid;gap:8px;margin:1.5em 0}
.isp-entry-content .gallery-columns-1{grid-template-columns:1fr}
.isp-entry-content .gallery-columns-2{grid-template-columns:repeat(2,1fr)}
.isp-entry-content .gallery-columns-3{grid-template-columns:repeat(3,1fr)}
.isp-entry-content .gallery-columns-4{grid-template-columns:repeat(4,1fr)}
.isp-entry-content .gallery-columns-5{grid-template-columns:repeat(5,1fr)}
.isp-entry-content .gallery-columns-6{grid-template-columns:repeat(6,1fr)}
.isp-entry-content .gallery-item{margin:0;text-align:center}
.isp-entry-content .gallery-item img{width:100%;height:auto;display:block;border-radius:var(--isp-radius-sm);cursor:zoom-in;aspect-ratio:1;object-fit:cover;margin:0}
.isp-entry-content .gallery-icon a{display:block}
.isp-entry-content .gallery-caption{font-size:12px;color:var(--isp-mute);margin-top:4px;padding:0 4px}
.isp-entry-content .gallery br{display:none}
/* Gutenberg gallery */
.isp-entry-content .wp-block-gallery{display:grid;gap:8px;margin:1.5em 0}
.isp-entry-content .wp-block-gallery.columns-2{grid-template-columns:repeat(2,1fr)}
.isp-entry-content .wp-block-gallery.columns-3{grid-template-columns:repeat(3,1fr)}
.isp-entry-content .wp-block-gallery.columns-4{grid-template-columns:repeat(4,1fr)}
.isp-entry-content .wp-block-gallery .wp-block-image{margin:0}
.isp-entry-content .wp-block-gallery .wp-block-image img{width:100%;height:auto;border-radius:var(--isp-radius-sm);cursor:zoom-in;aspect-ratio:1;object-fit:cover;margin:0}

/* --- Page links (multi-page) --- */
.isp-page-links{display:flex;align-items:center;gap:8px;margin:2em 0;font-size:14px;font-weight:500}
.isp-page-links__label{color:var(--isp-mute)}
.isp-page-links__item{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--isp-bg);color:var(--isp-ink2)}
.isp-page-links__item:hover{background:var(--isp-brand-soft);color:var(--isp-brand)}

/* --- Tags --- */
.isp-single-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:24px 0 0 0;border-top:1px solid var(--isp-border-soft);margin-top:28px}
.isp-single-tags__item{padding:5px 12px;border-radius:6px;background:var(--isp-bg);font-size:13px;font-weight:500;color:var(--isp-ink2);transition:all .15s;text-transform:capitalize}
.isp-single-tags__item:hover{background:var(--isp-brand-soft);color:var(--isp-brand)}

/* --- Share buttons --- */
.isp-share{display:flex;align-items:center;gap:16px;padding:20px 0;border-top:1px solid var(--isp-border-soft);border-bottom:1px solid var(--isp-border-soft);margin:28px 0 0 0}
.isp-share__label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--isp-ink);white-space:nowrap}
.isp-share__buttons{display:flex;flex-wrap:wrap;gap:8px}
.isp-share__btn{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;align-items:center;gap:4px}
.isp-share__btn--x{background:#0f1419;color:#fff}
.isp-share__btn--fb{background:#1877f2;color:#fff}
.isp-share__btn--wa{background:#25d366;color:#fff}
.isp-share__btn--tg{background:#0088cc;color:#fff}
.isp-share__btn--email{background:#e7efff;color:var(--isp-ink2)}
.isp-share__btn--copy{background:var(--isp-bg);color:var(--isp-ink2);cursor:pointer}
.isp-share__btn:hover{opacity:.85}

/* --- Amazon disclaimer --- */
.isp-amazon-disclaimer{font-size:13px;color:var(--isp-mute);text-align:center;font-style:italic;margin:24px 0;line-height:1.5}
.isp-amazon-disclaimer p{margin:0}
.isp-amazon-disclaimer a{color:var(--isp-mute);text-decoration:underline}

/* --- Author box --- */
.isp-author-box{display:flex;gap:16px;padding:24px;background:var(--isp-bg);border-radius:var(--isp-radius);margin:28px 0}
.isp-author-box__avatar{flex-shrink:0;width:56px;height:56px;display:block}
.isp-author-box__avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover;aspect-ratio:1/1;display:block}
.isp-author-box__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--isp-mute);margin-bottom:2px;display:block}
.isp-author-box__name{font-size:17px;font-weight:600;color:var(--isp-ink);display:block;margin-bottom:4px}
.isp-author-box__name:hover{color:var(--isp-brand)}
.isp-author-box__bio{font-size:14px;color:var(--isp-ink2);line-height:1.5;margin:0}

/* --- Post navigation (prev/next) --- */
.isp-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:32px 0;border-top:1px solid var(--isp-border-soft);border-bottom:1px solid var(--isp-border-soft)}
.isp-post-nav__item{padding:16px 20px;background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);display:flex;flex-direction:column;gap:6px;transition:border-color .15s}
.isp-post-nav__item:hover{border-color:var(--isp-brand)}
.isp-post-nav__item--next{text-align:right}
.isp-post-nav__item--empty{visibility:hidden}
.isp-post-nav__dir{font-size:12px;font-weight:600;color:var(--isp-mute);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}
.isp-post-nav__item--next .isp-post-nav__dir{justify-content:flex-end}
.isp-post-nav__arrow--prev{transform:rotate(180deg)}
.isp-post-nav__title{font-size:15px;font-weight:600;color:var(--isp-ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* --- Comments compat (mu-plugin) --- */
.isc-wrap .isc-user-name-link{display:inline-flex;align-items:center;gap:3px}
.isc-wrap .isc-user-name-link .isc-user-name{order:0}
.isc-wrap .isc-user-name-link svg{order:1}

/* --- Carousel (for related posts) --- */
.isp-carousel{overflow:hidden;position:relative}
.isp-carousel--static .isp-carousel__track{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.isp-carousel__track{display:flex;gap:16px;transition:transform .4s ease;will-change:transform}
.isp-carousel__slide{flex:0 0 calc((100% - (var(--isp-carousel-visible) - 1) * 16px) / var(--isp-carousel-visible));min-width:0;display:flex}
.isp-carousel__slide>.isp-card{width:100%;display:flex;flex-direction:column}
.isp-carousel__slide>.isp-card .isp-card__body{flex:1;display:flex;flex-direction:column}
.isp-carousel__slide>.isp-card .isp-meta{margin-top:auto}
.isp-carousel-nav{display:flex;gap:6px;margin-left:auto}
.isp-carousel-arrow{width:32px;height:32px;border-radius:8px;background:var(--isp-surface);border:1px solid var(--isp-border-soft);display:flex;align-items:center;justify-content:center;color:var(--isp-ink2);cursor:pointer;transition:all .15s}
.isp-carousel-arrow:hover{border-color:var(--isp-brand);color:var(--isp-brand);background:var(--isp-brand-soft)}
.isp-carousel-dots{display:flex;justify-content:center;gap:6px;padding:16px 0 0}
.isp-carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--isp-border);border:none;cursor:pointer;padding:0;transition:all .2s}
.isp-carousel-dot--active{background:var(--isp-brand);width:20px;border-radius:4px}
.isp-carousel-dot:hover:not(.isp-carousel-dot--active){background:var(--isp-mute)}

/* --- Related posts --- */
.isp-related{padding:0;border-bottom:1px solid var(--isp-border-soft);padding-bottom:32px}
.isp-related .isp-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}
.isp-related__title{font-size:20px;font-weight:700;letter-spacing:-.3px;margin:0}
.isp-related .isp-card__title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}
.isp-related .isp-meta__avatar{display:none}
.isp-related .isp-card{overflow:hidden}
.isp-related .isp-meta{flex-wrap:nowrap;overflow:hidden;justify-content:space-between}
.isp-related .isp-card__comments{margin-left:auto}
.isp-related .isp-meta__sep{display:none}

/* --- Comments layout (content + sidebar) --- */
.isp-comments-section{background:var(--isp-surface);border:1px solid var(--isp-border-soft);border-radius:var(--isp-radius);padding:32px}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media(max-width:1024px){
.isp-single-layout{grid-template-columns:1fr}
.isp-single-layout__main .isp-article{padding:32px 32px 0 32px}
.isp-entry-content{max-width:none}
.isp-post-nav{gap:12px}
}

@media(max-width:640px){
.isp-single-layout{padding:0}
.isp-breadcrumbs{display:none}
.isp-main{padding-top:0!important}
.isp-single-layout__main .isp-article{padding:32px 16px 0 16px;margin:0 calc(-1 * var(--isp-sp-md));background:#fff;border:none;border-radius:0}
.isp-single-meta__subtitle{font-size:15px}
.isp-single-meta__row{font-size:12px;gap:6px}
.isp-single-meta__reading,.isp-single-meta__reading+.isp-meta__sep,.isp-meta__sep:has(+.isp-single-meta__reading){display:none}
.isp-entry-content img{margin:1em 0}
.isp-entry-content iframe{margin:1em 0}
.isp-entry-content blockquote{padding:10px 14px;margin:1em 0}
.isp-entry-content h2{font-size:20px;margin:1.5em 0 .5em}
.isp-entry-content h3{font-size:18px;margin:1.3em 0 .5em}
.isp-entry-content pre{padding:14px;font-size:13px}
.isp-share{flex-direction:column;align-items:flex-start;gap:12px}
.isp-share__buttons{width:100%;flex-wrap:wrap}
.isp-share__btn{flex:1;justify-content:center;min-width:calc(50% - 4px);padding:7px 10px;font-size:12px}
.isp-author-box{flex-direction:column;align-items:center;text-align:center;padding:20px}
.isp-author-box__bio{text-align:left}
.isp-single-tags{gap:6px}
.isp-single-tags__item{padding:4px 10px;font-size:12px}
.isp-post-nav{grid-template-columns:1fr;border-bottom:1px solid var(--isp-border-soft);padding-bottom:32px}
.isp-post-nav__item{padding:14px 16px}
.isp-post-nav__item--next{text-align:left}
.isp-post-nav__item--next .isp-post-nav__dir{justify-content:flex-start}
.isp-post-nav__item--empty{display:none}
.isp-grid--4{grid-template-columns:repeat(2,1fr)}
.isp-related{padding:0 0 24px}
.isp-related .isp-card__title{line-height:1.3}
.isp-comments-section{margin:0 calc(-1 * var(--isp-sp-md));padding:16px var(--isp-sp-md);border-radius:0;background:#fff}
.isp-breadcrumbs{font-size:12px}
.isp-page-links{flex-wrap:wrap}
}
