/*── PORTOIJO COMPONENTS: Cards, Badges, Callouts ──*/

/*── ARTICLE CARD — organik, hangat ──*/
.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);position:relative;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}
.card-img{aspect-ratio:16/10;overflow:hidden;background:var(--color-surface);position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.card:hover .card-img img{transform:scale(1.06)}
.card-body{padding:1.25rem 1.35rem;flex:1;display:flex;flex-direction:column}
.card-category{font-size:0.63rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-accent);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.35rem}
.card-category::before{content:'';display:inline-block;width:6px;height:6px;background:var(--color-accent);border-radius:50%}
.card h3{font-family:var(--font-display);font-size:1.08rem;font-weight:700;color:var(--color-heading);margin-bottom:0.5rem;line-height:1.35}
.card h3 a{color:inherit;transition:color 0.2s}
.card h3 a:hover{color:var(--color-accent)}
.card-excerpt{font-size:0.84rem;color:var(--color-text-light);line-height:1.6;margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-meta{display:flex;align-items:center;gap:0.75rem;font-size:0.73rem;color:var(--color-text-muted);padding-top:0.75rem;border-top:1px solid var(--color-border-light)}

/*── BADGES — botanical style ──*/
.badge{display:inline-flex;align-items:center;padding:0.22em 0.75em;font-size:0.63rem;font-weight:700;border-radius:2rem;text-transform:uppercase;letter-spacing:0.06em}
.badge-new{background:var(--color-accent-soft);color:var(--color-accent)}
.badge-popular{background:var(--color-gold-light);color:var(--color-gold)}
.badge-featured{background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}
.card > .badge{position:absolute;top:0.75rem;right:0.75rem;z-index:2;box-shadow:var(--shadow-sm)}

/*── PILLAR / SERVICE CARDS — icon-centered ──*/
.pillar-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.75rem 1.5rem;transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);text-align:center;display:flex;flex-direction:column;align-items:center}
.pillar-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}
.pillar-icon{width:58px;height:58px;border-radius:55% 45% 60% 40% / 50% 55% 45% 50%;background:var(--color-accent-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;font-size:1.4rem;transition:all 0.3s}
.pillar-card:hover .pillar-icon{background:var(--color-accent);transform:scale(1.08)}
.pillar-card:hover .pillar-icon span{filter:grayscale(0) brightness(2)}
.pillar-card h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--color-heading);margin-bottom:0.5rem}
.pillar-card p{font-size:0.83rem;color:var(--color-text-light);line-height:1.65}

/*── CATEGORY CARD — list-style ──*/
.cat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);transition:all 0.25s}
.cat-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm);transform:translateX(3px)}
.cat-icon{width:44px;height:44px;border-radius:var(--radius);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.cat-card h4{font-size:0.88rem;font-weight:700;color:var(--color-heading)}
.cat-card span{font-size:0.7rem;color:var(--color-text-muted)}

/*── CALLOUT — garden-style ──*/
.callout{border-left:4px solid var(--color-accent);background:var(--color-accent-soft);padding:1.25rem 1.5rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;font-size:0.9rem}
.callout.info{border-color:var(--color-accent);background:var(--color-accent-soft)}
.callout.tip{border-color:var(--color-accent);background:#ecfaf4}
.callout.warning{border-color:var(--color-gold);background:var(--color-gold-light)}
.callout.danger,.callout.error{border-color:#ef4444;background:#fef2f2}
.callout.success{border-color:#22c55e;background:#f0fdf4}
.callout strong{display:block;margin-bottom:0.4rem;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em}

/*── TOC — clean box ──*/
.toc{background:var(--color-bg-off);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0}
.toc-title{font-size:0.73rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--color-text-light);margin-bottom:0.85rem;display:flex;align-items:center;gap:0.4rem}
.toc-title::before{content:'🌿';font-size:0.9rem}
.toc ol,.toc ul{list-style:decimal;padding-left:1.3rem;font-size:0.85rem}
.toc li{margin-bottom:0.4rem}
.toc a{color:var(--color-accent);transition:color 0.2s;font-weight:500}
.toc a:hover{color:var(--color-accent-hover)}
.toc a.active{color:var(--color-heading);font-weight:700;background:var(--color-accent-soft);padding:0.1em 0.3em;border-radius:3px}

/*── BOOKMARK ──*/
.bookmark-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 1.1rem;border:1px solid var(--color-border);border-radius:2rem;font-size:0.75rem;color:var(--color-text-light);background:var(--color-card);cursor:pointer;transition:all 0.2s}
.bookmark-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
.bookmark-btn.bookmarked{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}

/*── PAGINATION ──*/
.pagination{display:flex;justify-content:center;gap:0.4rem;margin:3rem 0;flex-wrap:wrap}
.pagination a,.pagination span{padding:0.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.84rem;color:var(--color-text);transition:all 0.2s}
.pagination a:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.pagination .current{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600}

/*── Inline replacements (dari cleanup) ──*/
.taxonomy-body{margin-top:0.25rem}
.meta-updated{font-style:italic}
.author-name-link{color:var(--color-heading)}
.author-actions{display:flex;gap:0.75rem;margin-top:0.75rem}
.btn-outline-pill{border:1px solid var(--color-border);border-radius:2rem}
.comments-header{margin-bottom:1.5rem}
.comments-header-label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}
.comments-header-title{font-family:var(--font-display);font-size:1.2rem;color:var(--color-heading);margin:0.25rem 0}
.comments-header-desc{font-size:0.85rem;color:var(--color-text-light)}
.front-icon{font-size:1.6rem;position:relative;z-index:1}
.front-card-title{margin:0.75rem 0 0.5rem;font-size:1.15rem;font-family:var(--font-display);color:var(--color-heading);position:relative;z-index:1}
.front-card-desc{font-size:0.85rem;color:var(--color-text-light);margin-bottom:1.25rem;line-height:1.6;position:relative;z-index:1}
.front-form-inline{display:flex;gap:0.5rem;position:relative;z-index:1}
.front-input{flex:1;padding:0.6rem 0.9rem;border:1px solid var(--color-border);border-radius:0.4rem;font-family:var(--font-body);font-size:0.85rem;outline:none}
.front-post-title{font-size:1.35rem}
.front-post-excerpt{font-size:0.9rem;color:var(--color-text-light);line-height:1.65;margin-bottom:1rem}
.front-post-meta{display:flex;align-items:center;gap:1rem;font-size:0.8rem;color:var(--color-text-muted)}
.front-cat-desc{margin-top:0.25rem;font-size:0.9rem;color:var(--color-text-light)}
.ml-auto{margin-left:auto}
.bookmark-btn{margin-left:auto}

/*── FRONT PAGE: Dark Card Content ──*/
.contact-dark-card h3{color:#fff;font-size:1.15rem;font-family:var(--font-display);margin:0.75rem 0 0.5rem}
.contact-dark-card p{color:rgba(255,255,255,0.65);font-size:0.85rem;margin-bottom:1.25rem;line-height:1.6}

.resource-dark-card h3{color:#fff;font-size:1.25rem;font-family:var(--font-display);margin-bottom:0.6rem;position:relative;z-index:1}
.resource-dark-card p{color:rgba(255,255,255,0.65);font-size:0.9rem;margin-bottom:1.75rem;line-height:1.65;position:relative;z-index:1}
.resource-dark-card .badge{position:relative;z-index:1;margin-bottom:1rem;background:rgba(255,255,255,0.1);color:var(--color-gold)}
.resource-dark-card .btn,
.resource-light-card .btn{position:relative;z-index:1}

/*── FRONT PAGE: Light Card Content ──*/
.resource-light-card .badge{position:relative;z-index:1;margin-bottom:1rem}
.resource-light-card h3{font-size:1.25rem;font-family:var(--font-display);margin-bottom:0.6rem;color:var(--color-heading);position:relative;z-index:1}
.resource-light-card p{color:var(--color-text-light);font-size:0.9rem;margin-bottom:1.75rem;line-height:1.65;position:relative;z-index:1}

/*── FRONT PAGE: Quick Start Cards ──*/
.quickstart-card{padding:1.75rem;text-align:center}
.quickstart-card .qs-icon{font-size:2rem}
.quickstart-card h3{margin:0.75rem 0 0.5rem;font-size:1.05rem}
.quickstart-card p{font-size:0.82rem;color:var(--color-text-light);line-height:1.55;margin-bottom:1.25rem}

/*── FRONT PAGE: Tag Wall Centered ──*/
.tag-list-center{justify-content:center}
