/*
	Theme Name: Blossem Biz
	Theme URI: https://elementor.com/products/hello-biz/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: Based on Hello Biz is a free, user-friendly Hybrid WordPress Theme that was crafted for seamless integration with the Elementor site builder and tailored specifically for business websites. Perfect for beginners, but far from limited to just them, it features a dedicated beginner-oriented “Home” screen to simplify and streamline the web-building process. Hello Biz also integrates with Elementor’s premium features, giving you access to tools like AI, and accessibility enhancements in one place. Whether launching a startup site or refining a company portfolio, Hello Biz offers a solid, responsive foundation for all web creators.
	Author: Valentino Jehaut (Blossem)
	Author URI: https://tino.pw
	Version: 1.5.6
	Stable tag: 1.5.6
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-biz
	Tags: flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready, style-variations
*/

/* =========================================
   ELEMENTOR GLOBAL OVERRIDES 
   ========================================= */
:root {
    /* Override Elementor Globals - Force Black */
    --e-global-color-primary: #000000;
    --e-global-color-secondary: #000000;
    --e-global-color-text: #000000;
    --e-global-color-accent: #000000;
}

/* Force Elementor Buttons to use these overrides if not picked up automatically */
.elementor-button {
    background-color: var(--e-global-color-accent, #000000);
    fill: var(--e-global-color-accent, #000000);
}

/* =========================================
   BASE STYLES 
   ========================================= */


.property-table-container {
    width: 100%;
    position: relative;
    /* Ensure z-index works for sticky elements */
    z-index: 1;
}

.property-table {
    width: 100%;
    border-collapse: separate;
    /* Required for sticky to work well with borders */
    border-spacing: 0;
    border: none;
}

/* Default Cell Styling */
.property-table th {
    text-align: left !important;
    padding: 15px;
    vertical-align: middle;
    background-color: #fff;
    /* Critical: Sticky cells need a background */
    white-space: nowrap;
    /* Default to single line for data */
    border: none;
}

.property-table td {
    padding: 15px;
    vertical-align: middle;
    background-color: #fff;
    /* Critical: Sticky cells need a background */
    white-space: nowrap;
    /* Default to single line for data */
    border: none;
}

/* =========================================
   STICKY COLUMN LOGIC (Applies to all screens)
   ========================================= */
.property-table th:first-child,
.property-table td:first-child {
    text-align: left;
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    left: 0;
    z-index: 5;
    /* Sit on top of other columns */

    width: 1px;
    white-space: normal !important;
    word-break: normal;
    background: white;
}

.property-table th:first-child::after,
.property-table td:first-child::after {
    content: "";
    position: absolute;
    top: 0;
    right: -5px;
    /* Push shadow outside the cell */
    bottom: 0;
    width: 5px;
    background: white;
    pointer-events: none;
}

/* =========================================
   DESKTOP (Larger than 1024px) 
   ========================================= */
@media (min-width: 1025px) {

    .property-table th,
    .property-table td {
        font-size: 16px;
    }
}

/* =========================================
   TABLET (Between 768px and 1024px)
   ========================================= */
@media (min-width: 768px) and (max-width: 1024px) {
    .property-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .property-table {
        min-width: 800px;
        /* Force scroll */
    }

    .property-table th,
    .property-table td {
        font-size: 15px;
        padding: 12px;
    }
}

/* =========================================
   MOBILE (Smaller than 768px) 
   ========================================= */
@media (max-width: 767px) {
    .property-table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .property-table {
        min-width: 600px;
    }

    .property-table th,
    .property-table td {
        font-size: 14px;
        padding: 10px;
    }


    .property-table td:first-child {
        font-weight: 700;
        line-height: 1.2;
        color: #333;
    }
}

/* =============================================
   Migrated & Optimized from assets/css/theme.css
   ============================================= */

/* -----------------------------------------
   1. CSS RESET & BASE ELEMENTS
   ----------------------------------------- */

html {
    line-height: 1.15;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
}

*,
:after,
:before {
    box-sizing: border-box;
}

body {
    max-width: 100% !important;
    overflow-x: hidden !important;
    background-color: #fff;
    color: #333;
    font-family: "Proxima Nova", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
        Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji,
        Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* -----------------------------------------
   2. TYPOGRAPHY (Headings, Paragraphs, etc.)
   ----------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    color: inherit;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    margin-block-end: 1rem;
    margin-block-start: .5rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
    margin-block-end: .9rem;
    margin-block-start: 0;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
    white-space: pre-wrap;
}

b, strong { font-weight: bolder; }

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small { font-size: 80%; }

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub { bottom: -.25em; }
sup { top: -.5em; }

abbr[title] {
    border-block-end: none;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

figcaption {
    color: #333;
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.4;
}

/* -----------------------------------------
   3. LINKS
   ----------------------------------------- */
a {
    background-color: transparent;
    color: black;
    text-decoration: none;
}

a:active,
a:hover {
    color: #336;
}

a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
    outline: 0;
}


/* -----------------------------------------
   4. IMAGES & MEDIA
   ----------------------------------------- */
img {
    border-style: none;
    height: auto;
    max-width: 100%;
}

details { display: block; }
summary { display: list-item; }

[hidden],
template {
    display: none;
}


/* -----------------------------------------
   5. PRINT STYLES
   ----------------------------------------- */
@media print {
    *,
    :after,
    :before {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    a, a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }

    blockquote, pre {
        -moz-column-break-inside: avoid;
        border: 1px solid #ccc;
        break-inside: avoid;
    }

    thead { display: table-header-group; }

    img, tr {
        -moz-column-break-inside: avoid;
        break-inside: avoid;
    }

    h2, h3, p {
        orphans: 3;
        widows: 3;
    }

    h2, h3 {
        -moz-column-break-after: avoid;
        break-after: avoid;
    }
}


/* -----------------------------------------
   6. FORMS & INPUTS
   ----------------------------------------- */
label {
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0;
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
    border: 1px solid #666;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
    width: 100%;
}

input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=url]:focus,
select:focus,
textarea:focus {
    border-color: #333;
}

button, input { overflow: visible; }
button, select { text-transform: none; }

fieldset {
    padding: .35em .75em .625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress { vertical-align: baseline; }

textarea {
    overflow: auto;
    resize: vertical;
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

select { display: block; }


/* -----------------------------------------
   7. BUTTONS
   ----------------------------------------- */
[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button;
    width: auto;
}

[type=button],
[type=submit],
button {
    background-color: transparent;
    border: 1px solid black;
    border-radius: 3px;
    color: black;
    display: inline-block;
    font-size: 1rem;
    font-weight: 400;
    padding: .5rem 1rem;
    text-align: center;
    transition: all .3s;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    white-space: nowrap;
}

[type=button]:focus:not(:focus-visible),
[type=submit]:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
    outline: none;
}

[type=button]:focus,
[type=button]:hover,
[type=submit]:focus,
[type=submit]:hover,
button:focus,
button:hover {
    background-color: black;
    color: #fff;
    text-decoration: none;
}

[type=button]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
    cursor: pointer;
}


/* -----------------------------------------
   8. TABLES
   ----------------------------------------- */
table {
    background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: .9em;
    margin-block-end: 15px;
    width: 100%;
}

table td,
table th {
    border: 1px solid hsla(0, 0%, 50%, .502);
    line-height: 1.5;
    padding: 15px;
    vertical-align: top;
}

table th { font-weight: 700; }
table tfoot th,
table thead th { font-size: 1em; }

table caption+thead tr:first-child td,
table caption+thead tr:first-child th,
table colgroup+thead tr:first-child td,
table colgroup+thead tr:first-child th,
table thead:first-child tr:first-child td,
table thead:first-child tr:first-child th {
    border-block-start: 1px solid hsla(0, 0%, 50%, .502);
}

table tbody>tr:nth-child(odd)>td,
table tbody>tr:nth-child(odd)>th {
    background-color: hsla(0, 0%, 50%, .071);
}

table tbody tr:hover>td,
table tbody tr:hover>th {
    background-color: hsla(0, 0%, 50%, .102);
}

table tbody+tbody {
    border-block-start: 2px solid hsla(0, 0%, 50%, .502);
}

@media (max-width: 767px) {
    table table { font-size: .8em; }

    table table td,
    table table th {
        line-height: 1.3;
        padding: 7px;
    }

    table table th { font-weight: 400; }
}


/* -----------------------------------------
   9. LISTS
   ----------------------------------------- */
dd, dl, dt, li, ol, ul {
    background: transparent;
    border: 0;
    font-size: 100%;
    margin-block-end: 0;
    margin-block-start: 0;
    outline: 0;
    vertical-align: baseline;
}


/* -----------------------------------------
   11. WORDPRESS UTILITY CLASSES
   ----------------------------------------- */
.pagination {
    display: flex;
    justify-content: space-between;
    margin: 20px auto;
}

.sticky {
    display: block;
    position: relative;
}

.bypostauthor { font-size: inherit; }

.hide { display: none !important; }

.post-password-form {
    margin: 50px auto;
    max-width: 500px;
}

.post-password-form p {
    align-items: flex-end;
    display: flex;
    width: 100%;
}

.post-password-form [type=submit] {
    margin-inline-start: 3px;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #333;
    display: block;
    font-size: 1rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 12px 24px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}