/* elliotpyrdum.my.id — small additions only. Layout classes come from the mirror CSS. */

/* Text-only brand logo. */
.logo-text-logo{font-size:1.28rem;font-weight:500;letter-spacing:-.01em;line-height:1}
.logo-text-logo .logo-text{font-weight:500}
.logo-text-logo .logo-text strong{color:var(--color-primary);font-weight:800}
.footer-logo span{font-weight:500;letter-spacing:-.01em}
.footer-logo strong{color:var(--color-primary);font-weight:800}

/* Author box (the mirror ships this as scoped inline CSS). */
.author-box{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;padding:.85rem 1rem;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius)}
.ab-avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;letter-spacing:.02em}
.ab-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.ab-by{font-size:.95rem}
.ab-by a{color:var(--color-text);font-weight:600;text-decoration:none}
.ab-by a:hover{color:var(--color-primary);text-decoration:underline}
.ab-meta{font-size:.82rem;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ab-sep{opacity:.5}

/* Article images and long-form body. */
.article-body figure.wp-block-image{margin:1.5rem 0}
.article-body figure.wp-block-image img{width:100%;height:auto;border-radius:var(--radius);display:block}
.article-body figcaption{font-size:.8rem;color:var(--color-text-muted);margin-top:.4rem}
.article-body h2.wp-block-heading{scroll-margin-top:6rem}
.article-body ul.wp-block-list{padding-left:1.2rem}
.article-body blockquote.wp-block-quote{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid var(--color-primary);background:var(--color-primary-bg);border-radius:0 var(--radius) var(--radius) 0}
.article-body blockquote.wp-block-quote p{margin:0;font-size:1.05rem;font-weight:600}

/* Hero image: the mirror gallery styles come from its own stylesheet; make sure a single image fills the frame. */
.pg-main-inner img{width:100%;height:auto;display:block;border-radius:var(--radius)}
.specs-section .specs-list{margin:0}

/* Legal and search pages. */
.page-content .lede{font-size:1.15rem;color:var(--color-text-muted);margin-bottom:1.5rem}
.page-content h2{font-size:1.4rem;margin-top:2rem}
.page-content h3{font-size:1.1rem;margin-top:1.5rem}
.page-content p{margin:.7rem 0}
.page-content ul,.page-content ol{padding-left:1.3rem}
.page-content li{margin:.25rem 0}
.contact-form{display:grid;gap:.9rem;margin:1.2rem 0 2rem;max-width:640px}
.contact-form label{display:grid;gap:.35rem;font-weight:600;font-size:.95rem}
.contact-form input,.contact-form textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:#fff}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-primary-light);outline-offset:1px;border-color:var(--color-primary)}
.contact-form button{justify-self:start;padding:.7rem 1.4rem;border:0;border-radius:var(--radius);background:var(--color-primary);color:#fff;font-weight:700;cursor:pointer}
.contact-form button:hover{background:var(--color-primary-hover)}
.form-ok{color:var(--color-success);font-weight:600}

/* Product cards: crop landscape photos to the square frame instead of letterboxing. */
.prod-img[data-astro-cid-xabtgjut]{padding:0;background:var(--color-bg-soft)}
.prod-img img{width:100%;height:100%;object-fit:cover;display:block}

/* Search results reuse the product grid. */
[data-search-list]{margin-top:1.5rem}
[data-search-list] .product-card[hidden],.products-grid .product-card[hidden]{display:none}
[data-search-list] .prod-body p{font-size:.85rem;color:var(--color-text-muted);margin:.25rem 0 .5rem}

/* Mega nav keyboard focus + active state. */
.mega-trigger:focus-visible,.mega-link:focus-visible,.hamburger:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}
.mega-nav .mega-link.is-active{color:var(--color-primary);font-weight:700}

/* Article quick summary (localised from the mirror's Swedish class). */
.quick-summary{margin:0 0 2.5rem}
.quick-summary h2{margin:0 0 1rem;font-size:1.5rem;scroll-margin-top:6rem}

/* Small screens: keep tables scrollable instead of breaking the page. */
@media (max-width:640px){
  .article-body figure.wp-block-image img{border-radius:var(--radius-sm)}
  .page-content h1{font-size:1.7rem}
}

/* Contact page links */
.contact-link{color:var(--color-link,#325b4f);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere;transition:color .18s ease,text-decoration-thickness .18s ease}
.contact-link:hover{color:var(--color-primary-hover,#264E3D);text-decoration-thickness:2px}
