/**
 * Flatsome CSS Reset/Override
 * 
 * Override Flatsome default styles for portfolio pages
 * 
 * @package Portfolio
 */

/* ============================================
   Global Reset for Portfolio Pages
   ============================================ */

body.portfolio-theme,
body.page-template-page-portfolio-full {
    /* Reset Flatsome container */
    --container-width: 100% !important;
}

body.portfolio-theme .main-content,
body.page-template-page-portfolio-full .main-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

body.portfolio-theme .row,
body.page-template-page-portfolio-full .row {
    margin: 0 !important;
    max-width: 100% !important;
}

body.portfolio-theme .col,
body.page-template-page-portfolio-full .col {
    padding: 0 !important;
}

/* Override Flatsome header if exists */
body.portfolio-theme #header,
body.page-template-page-portfolio-full #header {
    display: none !important;
}

/* Override Flatsome footer styles */
body.portfolio-theme #footer,
body.page-template-page-portfolio-full #footer {
    margin-top: 0 !important;
}

/* Reset Flatsome typography */
body.portfolio-theme h1,
body.portfolio-theme h2,
body.portfolio-theme h3,
body.portfolio-theme h4,
body.portfolio-theme h5,
body.portfolio-theme h6 {
    font-family: inherit !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body.portfolio-theme p {
    margin: 0 0 1rem 0 !important;
}

/* Reset Flatsome buttons */
body.portfolio-theme .button,
body.portfolio-theme .btn,
body.page-template-page-portfolio-full .button,
body.page-template-page-portfolio-full .btn {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Reset Flatsome sections */
body.portfolio-theme .section,
body.page-template-page-portfolio-full .section {
    padding: 0 !important;
    margin: 0 !important;
}

/* Reset Flatsome row/column system */
body.portfolio-theme .row,
body.portfolio-theme .columns,
body.page-template-page-portfolio-full .row,
body.page-template-page-portfolio-full .columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Override Flatsome navigation */
body.portfolio-theme .nav,
body.portfolio-theme .nav-top,
body.page-template-page-portfolio-full .nav,
body.page-template-page-portfolio-full .nav-top {
    display: none !important;
}

/* Reset Flatsome breadcrumbs */
body.portfolio-theme .breadcrumbs,
body.page-template-page-portfolio-full .breadcrumbs {
    display: none !important;
}

/* Override Flatsome page title */
body.portfolio-theme .page-title,
body.page-template-page-portfolio-full .page-title {
    display: none !important;
}

/* Reset Flatsome sidebar */
body.portfolio-theme .sidebar,
body.page-template-page-portfolio-full .sidebar {
    display: none !important;
}

/* Full width override */
body.portfolio-theme .main-content-wrapper,
body.page-template-page-portfolio-full .main-content-wrapper {
    max-width: 100% !important;
    padding: 0 !important;
}

/* Portfolio Full Page Container */
.portfolio-full-page {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

.portfolio-content {
    padding: 4rem 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.portfolio-content__container {
    line-height: 1.8;
    color: var(--portfolio-text-color);
}

.portfolio-content__container h2,
.portfolio-content__container h3,
.portfolio-content__container h4 {
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--portfolio-primary-color);
}

.portfolio-content__container p {
    margin-bottom: 1.5rem;
}

.portfolio-content__container a {
    color: var(--portfolio-primary-color);
    text-decoration: underline;
}

.portfolio-content__container a:hover {
    color: var(--portfolio-accent-color);
}

/* Mobile */
@media (max-width: 768px) {
    .portfolio-content {
        padding: 2rem 1rem;
    }
}

