/*
Theme Name: Arnas Portfolio
Theme URI: https://arnasrazgunas.com/
Author: Arnas Razgunas
Author URI: https://arnasrazgunas.com/
Description: A minimal, cookieless, split-screen personal portfolio theme inspired by waderobson.com. Full-height portrait on the left, serif headline with plain-text links, optional CTA button, and small social icons on the right. Includes blog templates. Fully responsive. Uses system fonts only (no external Google Fonts request). Everything is editable from Appearance → Customize.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: arnas-portfolio
Tags: minimal, portfolio, one-page, dancer, personal, responsive, split-screen, custom-colors, custom-logo, featured-images, blog
*/

/* ============================================================
   RESET
   ============================================================ */
*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* ============================================================
   BASE
   ============================================================ */
body {
    font-family: var(--ap-body-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif);
    background: var(--ap-bg, #ffffff);
    color: var(--ap-text, #111111);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

:focus-visible {
    outline: 2px solid var(--ap-link-color, #e87224);
    outline-offset: 3px;
    border-radius: 2px;
}

/* ============================================================
   HOMEPAGE — Split-screen
   ============================================================ */
.ap-split {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}

.ap-split__photo {
    flex: 1 1 50%;
    width: 50%;
    background: #0a0a0a;
    position: relative;
    overflow: hidden;
}
.ap-split__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--ap-photo-pos, center center);
    display: block;
}

.ap-split__content {
    flex: 1 1 50%;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 80px 8vw;
    background: var(--ap-bg, #ffffff);
}
.ap-inner {
    width: 100%;
    max-width: 460px;
}

/* Name */
.ap-name {
    font-family: var(--ap-heading-font, Georgia, "Times New Roman", Times, serif);
    font-size: clamp(40px, 5.2vw, 76px);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    line-height: 1.0;
    margin: 0 0 26px;
    color: var(--ap-text, #111);
}

/* Description */
.ap-description {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--ap-text, #111);
    margin: 0 0 56px;
    line-height: 1.4;
}

/* Links — plain text, no buttons */
.ap-links {
    list-style: none;
    margin: 0 0 36px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.ap-link {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--ap-link-color, #e87224);
    transition: opacity .15s ease;
}
.ap-link:hover,
.ap-link:focus-visible {
    opacity: 0.65;
}

/* CTA button — black background, accent-colored text */
.ap-cta-wrap {
    margin: 0 0 44px;
}
.ap-cta {
    display: inline-block;
    padding: 18px 36px;
    background: var(--ap-cta-bg, #111111);
    color: var(--ap-link-color, #e87224);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.34em;
    text-transform: uppercase;
    border-radius: 2px;
    border: 1px solid var(--ap-cta-bg, #111111);
    transition: opacity .15s ease, transform .15s ease;
}
.ap-cta:hover,
.ap-cta:focus-visible {
    opacity: 0.85;
    transform: translateY(-1px);
}

/* Social icons */
.ap-socials {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 4px;
}
.ap-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--ap-text, #111);
    transition: opacity .2s ease;
    border: 1px solid var(--ap-text, #111);
    border-radius: 6px;
}
.ap-social:hover { opacity: 0.6; }
.ap-social svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    display: block;
}

/* ============================================================
   INNER PAGES (About, single posts, etc.)
   ============================================================ */
.ap-page {
    max-width: 760px;
    margin: 0 auto;
    padding: 80px 24px 64px;
}
.ap-page-title {
    font-family: var(--ap-heading-font, Georgia, "Times New Roman", Times, serif);
    font-size: clamp(36px, 5vw, 60px);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 40px;
    line-height: 1.05;
}
.ap-page-photo {
    max-width: 520px;
    margin: 0 auto 40px;
    border-radius: 4px;
    overflow: hidden;
}
.ap-page-photo img { width: 100%; height: auto; display: block; }

.ap-page-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 40px 0 12px;
    background: #000;
    border-radius: 4px;
    overflow: hidden;
}
.ap-page-video iframe,
.ap-page-video video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.ap-page-content {
    font-size: 17px;
    line-height: 1.75;
    color: var(--ap-text, #111);
}
.ap-page-content p { margin: 0 0 1.2em; }
.ap-page-content h2 {
    font-family: var(--ap-heading-font, Georgia, serif);
    font-size: 26px;
    margin: 2em 0 .6em;
}
.ap-page-content h3 { font-size: 19px; margin: 1.6em 0 .5em; }
.ap-page-content a {
    color: var(--ap-link-color, #e87224);
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
    transition: opacity .15s ease;
}
.ap-page-content a:hover { opacity: 0.7; }
.ap-page-content ul,
.ap-page-content ol { padding-left: 1.4em; margin: 0 0 1.2em; }

.ap-back-wrap {
    text-align: center;
    margin-top: 56px;
}
.ap-back {
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: var(--ap-link-color, #e87224);
    transition: opacity .15s ease;
}
.ap-back:hover { opacity: 0.7; }

/* ============================================================
   BLOG — Post list (home.php / archive.php / search.php)
   ============================================================ */
.ap-post-list {
    list-style: none;
    margin: 0 0 40px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.ap-post-item {
    border-bottom: 1px solid #ececec;
    padding-bottom: 40px;
}
.ap-post-item:last-child { border-bottom: 0; }

.ap-post-title {
    font-family: var(--ap-heading-font, Georgia, serif);
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 700;
    margin: 0 0 8px;
    letter-spacing: 0;
    line-height: 1.2;
}
.ap-post-title a {
    color: var(--ap-text, #111);
    transition: color .15s ease;
}
.ap-post-title a:hover { color: var(--ap-link-color, #e87224); }

.ap-post-meta,
.ap-post-meta-single {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.28em;
    color: #888;
    margin: 0 0 16px;
}
.ap-post-meta-single { text-align: center; margin-bottom: 32px; }

.ap-post-excerpt {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ap-text, #111);
    margin: 0 0 14px;
}
.ap-post-excerpt p { margin: 0; }

.ap-post-more {
    display: inline-block;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.32em;
    color: var(--ap-link-color, #e87224);
    transition: opacity .15s ease;
}
.ap-post-more:hover { opacity: 0.7; }

/* Pagination */
.ap-pagination {
    margin: 48px 0 0;
    text-align: center;
}
.ap-pagination .nav-links {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}
.ap-pagination a,
.ap-pagination span {
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--ap-link-color, #e87224);
    padding: 6px 4px;
}
.ap-pagination .current {
    color: var(--ap-text, #111);
    font-weight: 600;
    border-bottom: 1px solid currentColor;
}

/* ============================================================
   RESPONSIVE — stack on tablet/mobile
   ============================================================ */
@media (max-width: 900px) {
    .ap-split { flex-direction: column; }
    .ap-split__photo,
    .ap-split__content {
        flex: 0 0 auto;
        width: 100%;
    }
    .ap-split__photo {
        height: 56vh;
        min-height: 360px;
        max-height: 560px;
    }
    .ap-split__content {
        padding: 56px 8vw 72px;
        justify-content: center;
        text-align: center;
    }
    .ap-inner { margin: 0 auto; }
    .ap-links { align-items: center; }
    .ap-socials { justify-content: center; }
    .ap-name { margin-bottom: 20px; }
    .ap-description { margin-bottom: 44px; }
}

@media (max-width: 500px) {
    .ap-split__photo {
        height: 50vh;
        min-height: 320px;
    }
    .ap-split__content { padding: 44px 24px 56px; }
    .ap-description { font-size: 12px; letter-spacing: 0.28em; margin-bottom: 36px; }
    .ap-links { gap: 20px; }
    .ap-link { font-size: 12px; letter-spacing: 0.28em; }
    .ap-cta { padding: 16px 28px; font-size: 11px; letter-spacing: 0.3em; }
    .ap-page { padding: 56px 20px 48px; }
}

/* ============================================================
   ACCESSIBILITY / WP
   ============================================================ */
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.admin-bar .ap-split { min-height: calc(100vh - 32px); }
@media (max-width: 782px) {
    .admin-bar .ap-split { min-height: calc(100vh - 46px); }
}
