/* ============================================================
   PHOTOGRAPHER PORTFOLIO — EDITORIAL LUXURY THEME
   Inspired by Magnum Photos, Vogue Italia, Annie Leibovitz
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400;1,9..144,500&family=Inter:wght@200;300;400;500;600&display=swap');

/* ---------- TOKENS ---------- */
:root {
    --pf-bg:        #0a0a0a;
    --pf-bg-2:      #111110;
    --pf-surface:   #16161a;
    --pf-surface-2: #1d1d22;
    --pf-text:      #f4f1ea;
    --pf-text-2:    #c8c4ba;
    --pf-text-mute: #7a766d;
    --pf-text-dim:  #4a463e;
    --pf-accent:    #c89a5b;
    --pf-accent-2:  #e6c890;
    --pf-line:      rgba(244, 241, 234, 0.08);
    --pf-line-2:    rgba(244, 241, 234, 0.18);
    --pf-shadow-lg: 0 40px 80px -30px rgba(0,0,0,0.7);
    --pf-shadow:    0 18px 40px -16px rgba(0,0,0,0.55);
    --pf-ease:      cubic-bezier(0.22, 1, 0.36, 1);
    --pf-ease-2:    cubic-bezier(0.65, 0, 0.35, 1);
    --pf-display:   'Fraunces', 'Cormorant Garamond', Georgia, serif;
    --pf-serif:     'Cormorant Garamond', Georgia, serif;
    --pf-body:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ---------- HARD RESET / BASE ---------- */
html, html body {
    background: var(--pf-bg) !important;
    color: var(--pf-text) !important;
    font-family: var(--pf-body) !important;
    font-weight: 300 !important;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.005em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
html body * { border-color: var(--pf-line) !important; }
html body img { max-width: 100%; height: auto; }

/* keep base anchors readable */
html body a { color: var(--pf-text) !important; transition: color 0.4s var(--pf-ease), opacity 0.4s var(--pf-ease); }
html body a:hover, html body a:focus { color: var(--pf-accent) !important; text-decoration: none !important; outline: none; }

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .title, html body .page-title {
    font-family: var(--pf-display) !important;
    font-weight: 400 !important;
    color: var(--pf-text) !important;
    letter-spacing: -0.012em !important;
    line-height: 1.1 !important;
    margin-top: 0;
}

html body p, html body .summary {
    color: var(--pf-text-2) !important;
    font-weight: 300 !important;
    font-size: 15px;
    line-height: 1.85;
}

html body ::selection { background: var(--pf-accent); color: var(--pf-bg); }
html body ::-webkit-scrollbar { width: 8px; background: var(--pf-bg); }
html body ::-webkit-scrollbar-thumb { background: var(--pf-surface-2); border-radius: 0; }
html body ::-webkit-scrollbar-thumb:hover { background: var(--pf-accent); }

/* Container width — editorial */
html body .container { max-width: 1280px !important; }

/* ---------- HEADER & NAVIGATION ---------- */
html body #header {
    background: rgba(10, 10, 10, 0.72) !important;
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-bottom: 1px solid var(--pf-line) !important;
    box-shadow: none !important;
    position: sticky;
    top: 0;
    z-index: 999;
}

html body .navbar, html body .navbar-inverse {
    background: transparent !important;
    border: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
}

html body .nav-top-container {
    background: rgba(0,0,0,0.4) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pf-line) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    padding: 8px 0 !important;
}
html body .nav-top-container * { color: var(--pf-text-mute) !important; }
html body .nav-top-container a:hover { color: var(--pf-accent) !important; }

html body .nav-container { padding: 22px 15px !important; }

html body .navbar-brand img,
html body .logo img {
    filter: brightness(1.15) contrast(1.05);
    max-height: 56px;
    transition: opacity 0.4s var(--pf-ease);
}
html body .navbar-brand:hover img { opacity: 0.85; }

html body .navbar-nav > li > a,
html body .nav a,
html body nav.menu a {
    color: var(--pf-text) !important;
    font-family: var(--pf-body) !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.24em !important;
    font-size: 11px !important;
    padding: 18px 20px !important;
    background: transparent !important;
    position: relative;
}
html body .navbar-nav > li > a::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--pf-accent);
    opacity: 0;
    transition: opacity 0.5s var(--pf-ease);
}
html body .navbar-nav > li > a:hover,
html body .navbar-nav > li.active > a {
    color: var(--pf-accent) !important;
    background: transparent !important;
}

/* ---------- INDEX TITLE ---------- */
html body .title-index {
    text-align: center !important;
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(42px, 6vw, 84px) !important;
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
    margin: 100px auto 30px !important;
    color: var(--pf-text) !important;
    position: relative;
    padding-bottom: 36px;
    line-height: 1.05 !important;
}
html body .title-index::before {
    content: "PORTFOLIO";
    display: block;
    font-family: var(--pf-body);
    font-style: normal;
    font-size: 11px;
    letter-spacing: 0.5em;
    color: var(--pf-accent);
    margin-bottom: 24px;
    font-weight: 500;
}
html body .title-index::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 30px;
    background: var(--pf-accent);
}

/* ---------- HERO SLIDER ---------- */
html body #slider, html body .slider-container {
    background: var(--pf-bg) !important;
    margin: 0 !important;
    padding: 0 !important;
}
html body #slider { padding-top: 0 !important; }

html body .home-slider-item {
    position: relative !important;
    overflow: hidden !important;
    background: #000;
}
html body .home-slider-item > a:first-child,
html body .home-slider-item .hero-image-link { display: block; position: relative; }
html body .home-slider-item img {
    width: 100% !important;
    height: 100vh !important;
    min-height: 600px;
    max-height: 920px;
    object-fit: cover !important;
    filter: brightness(0.65) saturate(1.1) contrast(1.05);
    transition: transform 12s var(--pf-ease), filter 1.4s ease;
    will-change: transform;
}
html body .home-slider-item.slick-active img { transform: scale(1.06); }

html body .home-slider-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.85) 100%),
        linear-gradient(90deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 50%);
    pointer-events: none;
    z-index: 1;
}

html body .home-slider-item .item-info {
    position: absolute !important;
    left: 0; right: 0; bottom: 0;
    padding: 0 !important;
    background: transparent !important;
    z-index: 2;
    color: #fff !important;
    text-align: left;
}
html body .home-slider-item .hero-info-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 clamp(20px, 5vw, 60px) clamp(60px, 8vw, 100px) !important;
}
html body .home-slider-item .hero-info-inner > a:first-child { display: inline-block; }
html body .home-slider-item .item-info .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(36px, 6vw, 88px) !important;
    font-weight: 400 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    margin: 22px 0 26px !important;
    max-width: 900px;
    color: #fff !important;
}
html body .home-slider-item .item-info .title a { color: #fff !important; }
html body .home-slider-item .item-info .title a:hover { color: var(--pf-accent-2) !important; }

html body .label-slider-category, html body .home-slider-item .label {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--pf-accent) !important;
    color: var(--pf-accent-2) !important;
    padding: 10px 0 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.45em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    font-weight: 500 !important;
    display: inline-block !important;
    min-width: 60px;
}

html body .home-slider-item .hero-meta { margin-bottom: 32px; }
html body .home-slider-item .hero-meta .post-meta,
html body .home-slider-item .hero-meta .post-meta * {
    color: rgba(255,255,255,0.7) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
}
html body .hero-cta {
    display: inline-flex !important;
    align-items: center;
    gap: 16px;
    color: #fff !important;
    font-size: 11px !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.45) !important;
    transition: all 0.5s var(--pf-ease);
}
html body .hero-cta:hover {
    color: var(--pf-accent-2) !important;
    border-color: var(--pf-accent-2) !important;
    gap: 24px;
}

html body #home-slider-nav {
    position: absolute;
    right: clamp(20px, 4vw, 60px);
    bottom: clamp(60px, 8vw, 100px);
    z-index: 5;
    display: flex;
    gap: 10px;
}
html body #home-slider-nav .prev,
html body #home-slider-nav .next {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.4) !important;
    color: #fff !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.45s var(--pf-ease);
    font-size: 14px;
}
html body #home-slider-nav .prev:hover,
html body #home-slider-nav .next:hover {
    background: var(--pf-accent) !important;
    border-color: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
}

html body .hero-scroll-indicator {
    position: absolute;
    bottom: 30px; left: 50%;
    transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: 14px;
    z-index: 5; pointer-events: none;
}
html body .hero-scroll-indicator .line {
    width: 1px; height: 50px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,0.7));
    animation: pfScrollLine 2.6s ease-in-out infinite;
}
html body .hero-scroll-indicator .text {
    font-size: 9px; letter-spacing: 0.45em;
    text-transform: uppercase; color: rgba(255,255,255,0.7);
    font-weight: 500;
}
@keyframes pfScrollLine {
    0%, 100% { transform: scaleY(0); transform-origin: top; }
    50%      { transform: scaleY(1); transform-origin: top; }
}

/* ---------- POST ITEM (Default — Editorial) ---------- */
html body #main { padding: 0 0 80px !important; }
html body .margin-top-30 { margin-top: 80px !important; }

html body .post-item {
    margin: 0 0 130px !important;
    padding: 0 !important;
    counter-increment: pfposts;
    position: relative;
}
html body .post-item::before {
    content: counter(pfposts, decimal-leading-zero);
    position: absolute;
    top: -10px; right: 20px;
    font-family: var(--pf-display);
    font-style: italic;
    font-weight: 300;
    font-size: 84px;
    color: var(--pf-accent);
    opacity: 0.18;
    z-index: 0;
    line-height: 1;
}
html body .posts { counter-reset: pfposts; }

html body .post-item .post-image {
    position: relative;
    overflow: hidden;
    background: var(--pf-surface);
}
html body .post-item .post-image .image-link { display: block; position: relative; }
html body .post-item .post-image img {
    width: 100% !important;
    transition: transform 1.6s var(--pf-ease), filter 0.8s ease;
    filter: brightness(0.95) saturate(1.08);
    will-change: transform;
}
html body .post-item:hover .post-image img {
    transform: scale(1.06);
    filter: brightness(1) saturate(1.12);
}
html body .post-item .post-image .image-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.6) 100%);
    opacity: 0;
    transition: opacity 0.6s var(--pf-ease);
    pointer-events: none;
}
html body .post-item:hover .post-image .image-overlay { opacity: 1; }

html body .post-item .post-footer {
    padding: 50px 0 0 !important;
    background: transparent !important;
    border: 0 !important;
    text-align: center;
    position: relative;
    z-index: 1;
}
html body .post-item .default-post-label-category {
    margin: 0 0 18px !important;
}
html body .label-post-category, html body .post-item .label-post-category {
    background: transparent !important;
    color: var(--pf-accent) !important;
    border: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.45em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    display: inline-block !important;
    position: relative;
    padding: 0 18px !important;
}
html body .label-post-category::before,
html body .label-post-category::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 12px; height: 1px;
    background: var(--pf-accent);
}
html body .label-post-category::before { left: 0; }
html body .label-post-category::after  { right: 0; }

html body .post-item .post-footer .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(32px, 4.2vw, 56px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.022em !important;
    margin: 18px auto 24px !important;
    max-width: 760px;
}
html body .post-item .post-footer .title a { color: var(--pf-text) !important; }
html body .post-item .post-footer .title a:hover { color: var(--pf-accent) !important; font-style: italic; }

html body .post-item .post-meta {
    color: var(--pf-text-mute) !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase;
    border: 0 !important;
    padding: 0 !important;
}
html body .post-item .post-meta a, html body .post-item .post-meta span {
    color: var(--pf-text-mute) !important; margin: 0 10px;
}
html body .post-item .post-meta a:hover { color: var(--pf-accent) !important; }

html body .post-item .summary {
    max-width: 640px !important;
    margin: 30px auto 32px !important;
    font-family: var(--pf-serif) !important;
    font-size: 19px !important;
    line-height: 1.7 !important;
    color: var(--pf-text-2) !important;
    font-weight: 300 !important;
    font-style: italic;
}

html body .post-buttons { text-align: center !important; }
html body .read-more, html body .post-buttons .read-more {
    display: inline-flex !important;
    align-items: center;
    gap: 14px;
    color: var(--pf-text) !important;
    font-size: 11px !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 0 0 6px !important;
    border-bottom: 1px solid var(--pf-line-2) !important;
    transition: all 0.5s var(--pf-ease) !important;
    float: none !important;
}
html body .read-more:hover {
    color: var(--pf-accent) !important;
    border-color: var(--pf-accent) !important;
    gap: 22px;
}

/* Horizontal post item */
html body .post-item-horizontal {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pf-line) !important;
    border-radius: 0 !important;
    padding: 50px 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
    transition: opacity 0.5s var(--pf-ease) !important;
}
html body .post-item-horizontal:hover { opacity: 0.95; }
html body .post-item-horizontal .item-image {
    flex: 1 1 360px;
    overflow: hidden;
    position: relative;
}
html body .post-item-horizontal .item-image img {
    width: 100%; height: 360px; object-fit: cover;
    transition: transform 1.6s var(--pf-ease);
}
html body .post-item-horizontal:hover .item-image img { transform: scale(1.07); }
html body .post-item-horizontal .item-content {
    flex: 1 1 360px;
    padding: 20px 0 !important;
    display: flex; flex-direction: column; justify-content: center;
}
html body .post-item-horizontal .item-content .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(26px, 3vw, 40px) !important;
    line-height: 1.1 !important;
    margin: 14px 0 18px !important;
}

/* Boxed post item */
html body .post-item-boxed {
    background: var(--pf-surface) !important;
    border: 1px solid var(--pf-line) !important;
    border-radius: 0 !important;
    overflow: hidden;
    box-shadow: var(--pf-shadow);
    transition: transform 0.6s var(--pf-ease), border-color 0.5s ease, box-shadow 0.5s ease !important;
    margin-bottom: 30px !important;
}
html body .post-item-boxed:hover {
    transform: translateY(-8px);
    border-color: var(--pf-line-2) !important;
    box-shadow: var(--pf-shadow-lg);
}
html body .post-item-boxed .item-image { overflow: hidden; }
html body .post-item-boxed .item-image img { transition: transform 1.4s var(--pf-ease); }
html body .post-item-boxed:hover .item-image img { transform: scale(1.08); }
html body .post-item-boxed .item-content { padding: 32px !important; background: transparent !important; }
html body .post-item-boxed .item-content .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
}

/* category pin (horizontal/boxed only) */
html body .post-item-horizontal .item-image .category-pin,
html body .post-item-boxed .item-image .category-pin {
    position: absolute !important;
    top: 18px; left: 18px;
    z-index: 2;
}
html body .post-item-horizontal .item-image .category-pin .label-post-category,
html body .post-item-boxed .item-image .category-pin .label-post-category {
    background: rgba(10,10,10,0.7) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    padding: 8px 14px !important;
    color: var(--pf-accent-2) !important;
}
html body .post-item-horizontal .item-image .category-pin .label-post-category::before,
html body .post-item-horizontal .item-image .category-pin .label-post-category::after,
html body .post-item-boxed .item-image .category-pin .label-post-category::before,
html body .post-item-boxed .item-image .category-pin .label-post-category::after { display: none; }

/* ---------- GALLERY ---------- */
html body .page-gallery .gallery-hero {
    padding: 80px 0 60px;
    text-align: center;
}
html body .page-gallery .eyebrow {
    display: inline-block;
    font-family: var(--pf-body);
    font-size: 11px;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: var(--pf-accent);
    margin-bottom: 24px;
    font-weight: 500;
}
html body .page-gallery .page-title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(48px, 7vw, 96px) !important;
    font-weight: 400 !important;
    margin: 0 0 30px !important;
    letter-spacing: -0.022em !important;
    line-height: 1 !important;
}
html body .page-gallery .gallery-hero-sub {
    max-width: 580px;
    margin: 0 auto;
    font-family: var(--pf-serif);
    font-style: italic;
    font-size: 19px;
    color: var(--pf-text-2) !important;
    line-height: 1.65;
    font-weight: 300;
}
html body .page-gallery .gallery-category-title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(34px, 4.5vw, 56px) !important;
    color: var(--pf-text) !important;
    font-weight: 400 !important;
    margin: 50px 0 20px !important;
    text-align: center;
}
html body .title-divider {
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 50px;
}
html body .title-divider span {
    width: 100px; height: 1px;
    background: var(--pf-accent);
    display: inline-block; position: relative;
}
html body .title-divider span::before,
html body .title-divider span::after {
    content: "";
    width: 5px; height: 5px;
    background: var(--pf-accent);
    border-radius: 50%;
    position: absolute; top: -2px;
}
html body .title-divider span::before { left: -10px; }
html body .title-divider span::after  { right: -10px; }

html body .gallery .gallery-item {
    padding: 6px !important;
    margin-bottom: 0 !important;
}
html body .gallery .item-inner {
    overflow: hidden;
    position: relative;
    background: var(--pf-surface);
    border-radius: 0;
}
html body .gallery .item-inner img {
    width: 100%;
    display: block;
    transition: transform 1.6s var(--pf-ease), filter 0.8s ease;
    filter: brightness(0.85) saturate(1.05);
}
html body .gallery .item-inner:hover img {
    transform: scale(1.08);
    filter: brightness(1.05) saturate(1.15);
}

html body .gallery-image-cover .caption {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.85) 100%) !important;
    opacity: 0;
    transition: opacity 0.6s var(--pf-ease);
    padding: 28px !important;
    text-align: center;
}
html body .gallery-image-cover:hover .caption { opacity: 1; }
html body .gallery-image-cover .album-name {
    color: #fff !important;
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    letter-spacing: -0.012em;
    transform: translateY(20px);
    transition: transform 0.7s var(--pf-ease);
    line-height: 1.15;
}
html body .gallery-image-cover .album-name::after {
    content: "VIEW GALLERY";
    display: block;
    font-family: var(--pf-body);
    font-style: normal;
    font-size: 9px;
    letter-spacing: 0.5em;
    color: var(--pf-accent-2);
    margin-top: 22px;
    font-weight: 500;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.3);
    width: 80px;
    margin-left: auto;
    margin-right: auto;
}
html body .gallery-image-cover:hover .album-name { transform: translateY(0); }

html body .zoom-overlay {
    position: absolute; inset: 0;
    background: rgba(10,10,10,0.4);
    opacity: 0;
    display: flex; align-items: center; justify-content: center;
    transition: opacity 0.5s var(--pf-ease);
    pointer-events: none;
}
html body .gallery .item-inner:hover .zoom-overlay { opacity: 1; }
html body .zoom-icon {
    width: 64px; height: 64px;
    border-radius: 50%;
    border: 1px solid #fff;
    color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 18px;
    transform: scale(0.7);
    transition: transform 0.6s var(--pf-ease);
}
html body .gallery .item-inner:hover .zoom-icon { transform: scale(1); }

html body .filters {
    margin: 30px 0 60px !important;
    text-align: center;
}
html body .filters .btn,
html body .filters label.btn {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid transparent !important;
    color: var(--pf-text-mute) !important;
    margin: 4px 18px !important;
    padding: 8px 0 !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    transition: all 0.4s var(--pf-ease) !important;
    box-shadow: none !important;
}
html body .filters .btn.active,
html body .filters .btn:hover,
html body .filters label.btn.active,
html body .filters label.btn:hover {
    color: var(--pf-accent) !important;
    border-bottom-color: var(--pf-accent) !important;
}

/* ---------- POST DETAIL ---------- */
html body .page-breadcrumb { margin: 30px 0 30px; padding: 0 !important; }
html body .breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.35em !important;
    text-transform: uppercase !important;
    margin: 0;
}
html body .breadcrumb-item a { color: var(--pf-text-mute) !important; }
html body .breadcrumb-item.active { color: var(--pf-text) !important; }
html body .breadcrumb-item + .breadcrumb-item::before { color: var(--pf-text-dim) !important; content: "/"; padding: 0 8px; }

html body .post-content .post-article-header {
    padding: 60px 0 40px;
    text-align: center;
    border-bottom: 1px solid var(--pf-line);
    margin-bottom: 40px;
}
html body .article-eyebrow {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: var(--pf-accent);
    margin-bottom: 28px;
    font-weight: 500;
}
html body .post-content .post-title .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(40px, 5.5vw, 76px) !important;
    text-align: center;
    margin: 0 auto 26px !important;
    max-width: 920px;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: -0.022em !important;
}
html body .post-content .post-summary h2 {
    font-family: var(--pf-serif) !important;
    font-style: italic !important;
    font-weight: 300 !important;
    font-size: clamp(18px, 1.7vw, 22px) !important;
    color: var(--pf-text-2) !important;
    text-align: center;
    max-width: 700px;
    margin: 0 auto !important;
    line-height: 1.65 !important;
    letter-spacing: 0;
}
html body .post-content .post-meta {
    text-align: center;
    border: 0 !important;
    padding: 0 !important;
    margin-bottom: 50px !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    color: var(--pf-text-mute) !important;
}
html body .post-content .post-meta a, html body .post-content .post-meta span {
    color: var(--pf-text-mute) !important; margin: 0 12px;
}

html body .post-content .post-image {
    margin: 0 0 60px !important;
    overflow: hidden;
    border-radius: 0;
    box-shadow: var(--pf-shadow-lg);
}
html body .post-content .post-image img { width: 100%; }

html body .post-text, html body .post-text p {
    font-size: 17px !important;
    line-height: 1.92 !important;
    color: var(--pf-text-2) !important;
    font-weight: 300 !important;
    font-family: var(--pf-body) !important;
}
html body .post-text p { margin-bottom: 26px; }
html body .post-text h2, html body .post-text h3, html body .post-text h4 {
    color: var(--pf-text) !important;
    margin-top: 50px !important;
    margin-bottom: 22px !important;
    font-family: var(--pf-display) !important;
    font-style: italic !important;
}
html body .post-text h2 { font-size: clamp(28px, 3.5vw, 40px) !important; }
html body .post-text h3 { font-size: clamp(22px, 2.5vw, 28px) !important; }
html body .post-text img {
    border-radius: 0;
    box-shadow: var(--pf-shadow);
    margin: 40px auto;
    display: block;
}
html body .post-text blockquote {
    border-left: 1px solid var(--pf-accent) !important;
    padding: 20px 0 20px 40px !important;
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    line-height: 1.4 !important;
    color: var(--pf-text) !important;
    margin: 50px 0 !important;
    background: transparent !important;
}

html body .post-tags {
    border-top: 1px solid var(--pf-line);
    padding-top: 36px;
    margin-top: 60px;
}
html body .post-tags .tags-title {
    font-size: 10px !important;
    letter-spacing: 0.5em !important;
    text-transform: uppercase !important;
    color: var(--pf-text-mute) !important;
    font-weight: 500 !important;
    font-family: var(--pf-body) !important;
    margin-bottom: 18px !important;
}
html body .tag-list { padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
html body .tag-list li a {
    background: transparent !important;
    border: 1px solid var(--pf-line-2) !important;
    color: var(--pf-text-2) !important;
    padding: 8px 18px !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    transition: all 0.4s var(--pf-ease);
    display: inline-block;
}
html body .tag-list li a:hover {
    background: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
    border-color: var(--pf-accent) !important;
}

html body .share-label-wrap { text-align: center; margin: 60px 0 22px; }
html body .share-label {
    font-size: 10px;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: var(--pf-text-mute);
    font-weight: 500;
}

html body .post-share {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}
html body .btn-share {
    background: transparent !important;
    border: 1px solid var(--pf-line-2) !important;
    color: var(--pf-text-2) !important;
    padding: 12px 22px !important;
    border-radius: 0 !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    transition: all 0.4s var(--pf-ease) !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
html body .btn-share:hover {
    background: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
    border-color: var(--pf-accent) !important;
}

html body .related-posts { margin-top: 100px; padding-top: 60px; border-top: 1px solid var(--pf-line); }
html body .related-post-title { text-align: center; margin-bottom: 50px; }
html body .related-post-title .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(28px, 3.5vw, 44px) !important;
    margin: 0 !important;
    font-weight: 400 !important;
}
html body .related-posts .post-list { padding: 0; list-style: none; }
html body .related-posts-col { margin-bottom: 36px; padding: 0 12px; }
html body .related-posts-col a { display: block; overflow: hidden; }
html body .related-posts-col img { transition: transform 1.4s var(--pf-ease); }
html body .related-posts-col:hover img { transform: scale(1.06); }
html body .related-posts-col .title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: 18px !important;
    margin-top: 18px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

/* ---------- SIDEBAR ---------- */
html body .widget {
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--pf-line) !important;
    padding: 36px 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
}
html body .widget:first-child { border-top: 0 !important; padding-top: 0; }
html body .widget .widget-title,
html body .widget .title {
    font-family: var(--pf-body) !important;
    font-size: 11px !important;
    color: var(--pf-text) !important;
    border: 0 !important;
    padding: 0 !important;
    margin-bottom: 26px !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    position: relative;
    padding-left: 24px !important;
}
html body .widget .widget-title::before,
html body .widget .title::before {
    content: "";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    width: 14px; height: 1px;
    background: var(--pf-accent);
}
html body .widget .widget-title::after,
html body .widget .title::after { display: none !important; }

/* ---------- FOOTER ---------- */
html body .photographer-footer { margin-top: 80px; }
html body #footer {
    background: var(--pf-bg-2) !important;
    color: var(--pf-text-2) !important;
    border-top: 1px solid var(--pf-line) !important;
    padding: 0 !important;
    margin-top: 100px;
}

html body .footer-cta {
    padding: clamp(70px, 10vw, 130px) 0 !important;
    border-bottom: 1px solid var(--pf-line) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(200,154,91,0.08), transparent 60%),
        var(--pf-bg-2);
    text-align: center;
}
html body .cta-eyebrow {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.5em;
    text-transform: uppercase;
    color: var(--pf-accent);
    margin-bottom: 26px;
    font-weight: 500;
}
html body .cta-title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: clamp(40px, 6vw, 84px) !important;
    font-weight: 400 !important;
    color: var(--pf-text) !important;
    margin: 0 0 44px !important;
    letter-spacing: -0.022em !important;
    line-height: 1.05 !important;
}
html body .cta-button {
    display: inline-flex !important;
    align-items: center;
    gap: 16px;
    padding: 20px 44px !important;
    border: 1px solid var(--pf-accent) !important;
    color: var(--pf-accent) !important;
    background: transparent !important;
    font-size: 11px !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    transition: all 0.5s var(--pf-ease) !important;
    border-radius: 0 !important;
    text-decoration: none !important;
}
html body .cta-button:hover {
    background: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
    gap: 22px;
    box-shadow: 0 18px 40px -12px rgba(200,154,91,0.45);
}

html body #footer .footer-widgets {
    padding: 80px 0 60px !important;
}
html body #footer .footer-widget .title {
    font-family: var(--pf-body) !important;
    color: var(--pf-text) !important;
    font-size: 11px !important;
    letter-spacing: 0.4em !important;
    margin-bottom: 18px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}
html body #footer .title-line {
    width: 28px; height: 1px;
    background: var(--pf-accent);
    margin-bottom: 28px;
    border: 0;
}
html body #footer p, html body #footer a {
    color: var(--pf-text-2) !important;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.85;
}
html body #footer a:hover { color: var(--pf-accent) !important; }

html body #footer .f-widget-follow ul {
    padding: 0; list-style: none;
    display: flex; flex-wrap: wrap; gap: 10px;
}
html body #footer .f-widget-follow li {
    list-style: none;
}
html body #footer .f-widget-follow li a {
    width: 44px; height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--pf-line-2);
    border-radius: 50%;
    color: var(--pf-text-2) !important;
    transition: all 0.45s var(--pf-ease);
    font-size: 14px;
}
html body #footer .f-widget-follow li a:hover {
    background: var(--pf-accent);
    border-color: var(--pf-accent);
    color: var(--pf-bg) !important;
    transform: translateY(-3px);
}

html body .widget-newsletter input.newsletter-input {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pf-line-2) !important;
    color: var(--pf-text) !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    font-size: 13px;
    letter-spacing: 0.05em;
    width: 100%;
}
html body .widget-newsletter input.newsletter-input:focus {
    outline: none; border-bottom-color: var(--pf-accent) !important;
}
html body .widget-newsletter button.newsletter-button,
html body .btn-custom {
    background: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
    border: 1px solid var(--pf-accent) !important;
    border-radius: 0 !important;
    padding: 14px 26px !important;
    font-size: 10px !important;
    letter-spacing: 0.4em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    transition: all 0.45s var(--pf-ease) !important;
    margin-top: 14px;
    cursor: pointer;
}
html body .widget-newsletter button.newsletter-button:hover,
html body .btn-custom:hover {
    background: transparent !important;
    color: var(--pf-accent) !important;
}

html body .footer-bottom {
    border-top: 1px solid var(--pf-line) !important;
    padding: 28px 0 !important;
    margin: 0 !important;
}
html body .footer-bottom-left p {
    margin: 0; font-size: 11px;
    letter-spacing: 0.18em;
    color: var(--pf-text-mute) !important;
    text-transform: uppercase;
}
html body .nav-footer {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 26px; justify-content: flex-end;
}
html body .nav-footer li a {
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: var(--pf-text-mute) !important;
}

/* ---------- PAGINATION ---------- */
html body .pagination { display: flex; justify-content: center; gap: 6px; margin: 60px 0; }
html body .pagination > li > a,
html body .pagination > li > span {
    background: transparent !important;
    border: 1px solid var(--pf-line) !important;
    color: var(--pf-text-2) !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    font-size: 11px;
    letter-spacing: 0.18em;
    transition: all 0.35s var(--pf-ease);
}
html body .pagination > .active > a,
html body .pagination > li > a:hover {
    background: var(--pf-accent) !important;
    border-color: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
}

/* ---------- SCROLL UP ---------- */
html body .scrollup {
    background: var(--pf-accent) !important;
    color: var(--pf-bg) !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center; justify-content: center;
    box-shadow: var(--pf-shadow);
    transition: all 0.4s var(--pf-ease) !important;
}
html body .scrollup:hover { transform: translateY(-4px); background: var(--pf-accent-2) !important; }

/* ---------- COOKIES / MODAL ---------- */
html body .cookies-warning {
    background: var(--pf-surface) !important;
    border: 1px solid var(--pf-line-2);
    color: var(--pf-text-2);
    border-radius: 0;
    box-shadow: var(--pf-shadow);
}
html body .modal-content {
    background: var(--pf-surface) !important;
    border: 1px solid var(--pf-line-2) !important;
    border-radius: 0 !important;
    color: var(--pf-text) !important;
    box-shadow: var(--pf-shadow-lg);
}
html body .modal-title {
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    color: var(--pf-text) !important;
}

/* ---------- FORMS ---------- */
html body .form-control, html body .form-input {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pf-line-2) !important;
    color: var(--pf-text) !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
    box-shadow: none !important;
    transition: border-color 0.4s ease;
}
html body .form-control:focus { border-color: var(--pf-accent) !important; box-shadow: none !important; outline: 0; }

html body .modal-search { background: rgba(10,10,10,0.96) !important; }
html body .modal-search .form-control {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pf-line-2) !important;
    font-family: var(--pf-display) !important;
    font-style: italic !important;
    font-size: 32px !important;
    padding: 22px 0 !important;
    color: var(--pf-text) !important;
}

/* ---------- MISC ---------- */
html body .posts-boxed { padding: 0 !important; }
html body .post-image { margin: 0 !important; }
html body .first-tmp-slider { margin-bottom: 60px; }

/* Responsive */
@media (max-width: 991px) {
    html body .post-item .post-footer .title { font-size: 32px !important; }
    html body .post-item-horizontal { gap: 30px; padding: 36px 0 !important; }
    html body .post-item-horizontal .item-image img { height: 280px; }
}
@media (max-width: 768px) {
    html body .home-slider-item img { height: 80vh !important; min-height: 480px; }
    html body .home-slider-item .hero-info-inner { padding: 0 20px 50px !important; }
    html body .home-slider-item .item-info .title { font-size: 38px !important; }
    html body .post-item { margin-bottom: 80px !important; }
    html body .post-item::before { font-size: 56px; right: 10px; }
    html body .title-index { margin: 60px auto 20px !important; }
    html body .nav-footer { justify-content: center; margin-top: 16px; }
    html body .footer-bottom-left { text-align: center; }
    html body #home-slider-nav { right: 20px; bottom: 20px; }
    html body #home-slider-nav .prev,
    html body #home-slider-nav .next { width: 44px !important; height: 44px !important; }
}

/* Animations */
@keyframes pfFadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
html body .post-item, html body .gallery-item, html body .post-item-horizontal, html body .post-item-boxed {
    animation: pfFadeUp 1s var(--pf-ease) both;
}
html body .gallery-item:nth-child(2)  { animation-delay: 0.06s; }
html body .gallery-item:nth-child(3)  { animation-delay: 0.12s; }
html body .gallery-item:nth-child(4)  { animation-delay: 0.18s; }
html body .gallery-item:nth-child(5)  { animation-delay: 0.24s; }
html body .gallery-item:nth-child(6)  { animation-delay: 0.30s; }
html body .gallery-item:nth-child(7)  { animation-delay: 0.36s; }
html body .gallery-item:nth-child(8)  { animation-delay: 0.42s; }
html body .gallery-item:nth-child(9)  { animation-delay: 0.48s; }
