/*
Theme Name: Research Portfolio
Theme URI: https://digiductstore.com/research-portfolio
Author: Digiductstore
Author URI: https://digiductstore.com/
Description: Research Portfolio is a modern, dynamic, and SEO-friendly WordPress theme designed for academic, research, and professional portfolio websites. It offers a clean, responsive layout optimized for showcasing publications, experience, research activities, and professional achievements.
Version: 1.0.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: research-portfolio
Tags: portfolio, research, academic, responsive, seo-friendly, custom-theme, accessibility-ready, translation-ready
*/

/*
 * Notes:
 * - Tailwind CSS is loaded via CDN through functions.php.
 * - Custom styles, animations, and enhancements are added via enqueued assets or modular theme files.
 * - The theme is built following modern WordPress coding standards and best practices.
 */

/* Hero slider */
.hero-slider { position: relative; width: 100%; aspect-ratio: 12 / 5; background-color: #0f172a; overflow: hidden; }
.hero-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 600ms ease-in-out; }
.hero-slide.is-active { opacity: 1; pointer-events: auto; z-index: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-slider__arrow { position: absolute; top: 50%; z-index: 2; width: 2.75rem; height: 2.75rem; transform: translateY(-50%); border: 1px solid rgba(255,255,255,.65); border-radius: 9999px; background: rgba(0,0,0,.3); color: #fff; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.hero-slider__arrow:hover, .hero-slider__arrow:focus-visible { background: rgba(90,107,84,.95); outline: 2px solid #fde047; outline-offset: 2px; }
.hero-slider__arrow--previous { left: 1rem; }.hero-slider__arrow--next { right: 1rem; }
.hero-slider__dots { position: absolute; z-index: 2; bottom: 1.25rem; left: 50%; display: flex; gap: .6rem; transform: translateX(-50%); }
.hero-slider__dot { width: .7rem; height: .7rem; padding: 0; border: 1px solid #fff; border-radius: 9999px; background: transparent; cursor: pointer; }.hero-slider__dot.is-active { background: #fde047; border-color: #fde047; }.hero-slider__dot:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

/* Featured books: sage patterned collection display */
.wp-books-section { position: relative; min-height: 580px; background-color: var(--books-bg); background-image: radial-gradient(var(--books-pattern) .75px, transparent .75px), radial-gradient(var(--books-pattern) .75px, var(--books-bg) .75px); background-position: 0 0, 14px 14px; background-size: 28px 28px; }
.wp-books-section::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: .1; background-image: linear-gradient(45deg, transparent 46%, var(--books-pattern) 47%, var(--books-pattern) 53%, transparent 54%), linear-gradient(-45deg, transparent 46%, var(--books-pattern) 47%, var(--books-pattern) 53%, transparent 54%); background-size: 60px 60px; }
.wp-books-section__title { color: var(--books-title); }
.wp-book-card { box-shadow: 0 8px 18px -4px rgba(0,0,0,.22), 0 3px 6px -2px rgba(0,0,0,.12); transition: transform .3s cubic-bezier(.165,.84,.44,1), box-shadow .3s cubic-bezier(.165,.84,.44,1); }
.wp-book-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 16px 24px -4px rgba(0,0,0,.3), 0 8px 10px -4px rgba(0,0,0,.15); }
.wp-book-card__fallback { color: #fff; background-color: #516d75; background-image: radial-gradient(#89a4ab 1px, transparent 1px), radial-gradient(#89a4ab 1px, #516d75 1px); background-position: 0 0, 5px 5px; background-size: 10px 10px; }
.wp-book-card__details { opacity: 0; background: linear-gradient(to top, rgba(20,28,20,.94), rgba(20,28,20,.15) 70%); transition: opacity .25s ease; }
.wp-book-card:hover .wp-book-card__details, .wp-book-card:focus-within .wp-book-card__details { opacity: 1; }
.wp-books-section__button { border-radius: 2px; background: var(--books-button); }.wp-books-section__button:hover, .wp-books-section__button:focus-visible { background: var(--books-button-hover); color: #fff; }

/* Header social links */
.header-social-link { display: inline-grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border: 1px solid #dbe3ec; border-radius: 50%; background: #fff; color: #334155; font-size: .8rem; font-weight: 700; line-height: 1; text-decoration: none; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }.header-social-link span { display: grid; place-items: center; }.header-social-link img, .header-social-link svg { display: block; width: 17px; height: 17px; }.header-social-link:hover, .header-social-link:focus-visible { border-color: #5a6b54; background: #5a6b54; color: #fff; outline: 0; transform: translateY(-2px); }.header-social-link--linkedin, .header-social-link--youtube { font-size: .7rem; }

/* Primary navigation */
.wp-site-header-nav { position: relative; z-index: 60; width: 100%; background: #333f34; box-shadow: 0 2px 8px rgba(0,0,0,.15); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.wp-site-header-nav .menu, .wp-site-header-nav .sub-menu { margin: 0; padding: 0; list-style: none; }
.wp-site-header-nav .menu { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.wp-site-header-nav .menu > li { position: relative; margin: 0; padding: 0; }
.wp-site-header-nav .menu > li > a { display: inline-flex; align-items: center; padding: 18px 22px; color: #e5ebe4; font-size: 14px; font-weight: 500; letter-spacing: .08em; line-height: 1.2; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: color .2s ease, background-color .2s ease; }.wp-site-header-nav .menu > .menu-item-has-children > a::after { width: 6px; height: 6px; margin: -3px 0 0 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ''; transform: rotate(45deg); }
.wp-site-header-nav .menu > li > a:hover, .wp-site-header-nav .menu > li:hover > a, .wp-site-header-nav .menu > li:focus-within > a { color: #a0c29a; background: rgba(0,0,0,.12); }
.wp-site-header-nav .menu > .current-menu-item > a, .wp-site-header-nav .menu > .current-menu-ancestor > a, .wp-site-header-nav .menu > .current_page_item > a { color: #9dbd97; font-weight: 600; }
.wp-site-header-nav .sub-menu { position: absolute; top: 100%; left: 0; z-index: 100; min-width: 210px; padding: 8px 0; border-top: 2px solid #a0c29a; border-radius: 0 0 6px 6px; background: #2b352c; box-shadow: 0 10px 25px rgba(0,0,0,.3); opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity .2s ease, visibility .2s ease, transform .2s ease; }
.wp-site-header-nav .menu > li:hover > .sub-menu, .wp-site-header-nav .menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.wp-site-header-nav .sub-menu li { position: relative; width: 100%; }.wp-site-header-nav .sub-menu a { display: block; padding: 10px 20px; color: #d1dad0; font-size: 13px; font-weight: 500; letter-spacing: .02em; text-decoration: none; transition: background .15s ease, color .15s ease, padding .15s ease; }.wp-site-header-nav .sub-menu a:hover, .wp-site-header-nav .sub-menu a:focus-visible { padding-left: 24px; background: #384639; color: #fff; }
.wp-site-header-nav .sub-menu .sub-menu { top: -10px; left: 100%; }.wp-menu-notice { padding: 18px; color: #e5ebe4; font-size: 13px; text-align: center; }
.mobile-menu-toggle, .submenu-toggle { border: 0; cursor: pointer; }.mobile-menu-toggle { display: none; width: 100%; align-items: center; justify-content: space-between; padding: 14px 20px; background: transparent; color: #e5ebe4; font-size: 14px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }.submenu-toggle { display: none; }.submenu-chevron { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
@media (max-width: 860px) { .mobile-menu-toggle { display: flex; }.wp-primary-menu-panel { display: none; }.wp-primary-menu-panel.is-active { display: block; }.wp-site-header-nav .menu { display: flex; flex-direction: column; align-items: stretch; flex-wrap: nowrap; padding: 10px 0; background: #2b352c; }.wp-site-header-nav .menu > li { display: flex; flex-wrap: wrap; width: 100%; }.wp-site-header-nav .menu > li > a { flex: 1; justify-content: flex-start; padding: 13px 24px; border-bottom: 1px solid rgba(255,255,255,.05); }.wp-site-header-nav .menu > .menu-item-has-children > a::after { display: none; }.wp-site-header-nav .submenu-toggle { display: grid; width: 52px; min-height: 47px; margin-left: auto; place-items: center; background: transparent; color: #e5ebe4; }.wp-site-header-nav .submenu-toggle[aria-expanded="true"] .submenu-chevron { transform: rotate(180deg); }.wp-site-header-nav .sub-menu, .wp-site-header-nav .sub-menu .sub-menu { position: static; display: none; width: 100%; min-width: 0; padding: 0 0 0 15px; border: 0; border-radius: 0; background: #232b24; box-shadow: none; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }.wp-site-header-nav .menu > li.is-open > .sub-menu { display: block; }.wp-site-header-nav .sub-menu a { padding: 11px 20px; }.wp-site-header-nav .sub-menu .sub-menu { padding-left: 12px; } }

@media (max-width: 860px) { .hero-slider { aspect-ratio: 12 / 5; } }
