/*
Theme Name: Biorezonancia Blocksy
Template: blocksy
Version: 1.0
Author: Marek Suchy
Author URI: http://www.biorezonancia-sk.sk
Theme URI: www.biorezonancia-sk.sk
Text Domain: biorezonancia-blocksy
*/

/* ------------------------------------------------------------------
   Legacy icon fonts (used by some remaining content)
   ------------------------------------------------------------------ */
@font-face {
    font-family: 'entypo-fontello';
    src: url('../biorezonancia-sk/config-templatebuilder/bio-template-builder/assets/fonts/entypo-fontello.woff2') format('woff2'),
         url('../biorezonancia-sk/config-templatebuilder/bio-template-builder/assets/fonts/entypo-fontello.woff') format('woff'),
         url('../biorezonancia-sk/config-templatebuilder/bio-template-builder/assets/fonts/entypo-fontello.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'fontello';
    src: url('../../uploads/bio_fonts/fontello/fontello.woff2') format('woff2'),
         url('../../uploads/bio_fonts/fontello/fontello.woff') format('woff'),
         url('../../uploads/bio_fonts/fontello/fontello.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Icon font-family bindings for data-bi_iconfont attribute */
[data-bi_iconfont='entypo-fontello']:before,
p.bio-font-entypo-fontello,
span.bio-font-entypo-fontello,
.bio-font-entypo-fontello {
    font-family: 'entypo-fontello' !important;
    font-weight: normal !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: never;
}
[data-bi_iconfont='fontello']:before,
p.bio-font-fontello,
span.bio-font-fontello,
.bio-font-fontello {
    font-family: 'fontello' !important;
    font-weight: normal !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    speak: never;
}

/* ------------------------------------------------------------------
   Utility classes for migrated shortcode content (clean blocks)
   ------------------------------------------------------------------ */

/* Inline icon (replaces default iconbox inline style) */
.bio-icon-inline {
    display: inline-block;
    margin-right: 0.5em;
    font-size: 1.5em;
    line-height: 1;
    vertical-align: middle;
}

/* Icon circle variants */
.bio-icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-left: auto;
    margin-right: auto;
    font-size: 27px;
    line-height: 1;
    border: 1px solid currentColor;
    border-radius: 500px;
    text-align: center;
    vertical-align: middle;
}

.bio-icon-circle.alignfull,
.bio-icon-circle.alignwide {
    width: 64px;
    max-width: 64px;
}

.bio-icon-circle--small {
    width: 30px;
    height: 30px;
    font-size: 16px;
}

.bio-icon-circle--large {
    width: 90px;
    height: 90px;
    font-size: 30px;
}

/* Icon list character */
.bio-icon-list-char {
    display: inline-block;
    width: 1.45em;
    height: 1.45em;
    line-height: 1.45em;
    font-size: inherit;
    text-align: center;
    margin-right: 0.25em;
    vertical-align: middle;
}

/* Promobox (dark box with button) */
.bio-promobox {
    position: relative;
    border: 1px solid #333;
    background-color: #444444;
    color: #ffffff;
    overflow: hidden;
    padding: 20px 30px;
    clear: both;
    margin: 30px 0;
}

.bio-promobox .wp-block-buttons {
    margin-top: 1em;
}

/* Notification colors */
.bio-notification--green {
    background-color: #E0F1B5;
    border: 3px solid #8BAF5B;
    color: #4F5F39;
    padding: 17px;
    text-align: center;
}

.bio-notification--blue {
    background-color: #F5F6FC;
    border: 3px solid #9DADBF;
    color: #4671A3;
    padding: 35px;
    text-align: center;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
}

.bio-notification--red {
    background-color: #FFF8F4;
    border: 3px solid #CDA18F;
    color: #AF2C20;
    padding: 17px;
    text-align: center;
}

.bio-notification--orange {
    background-color: #FFFDF3;
    border: 3px solid #E6BF4A;
    color: #C96D11;
    padding: 17px;
    text-align: center;
}

/* Button theme color (matches old theme-color) */
.bio-button--theme .wp-block-button__link {
    background-color: #a0cdd2;
    border-color: #8ab8bd;
    color: #ffffff;
}

/* ------------------------------------------------------------------
   Minimal Blocksy customizations to match original Biorezonancia visual
   ------------------------------------------------------------------ */

/* Header: match old Enfold menu style */
header#header.ct-header .ct-menu-link {
    font-family: 'Cabin', Helvetica, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Footer / socket: match old Enfold socket */
footer#footer.ct-footer {
    font-size: 11px;
    color: #b0b0b0;
}

/* Page title bar compatibility */
.entry-header .page-title,
.ct-page-title {
    font-family: 'Cabin', Helvetica, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 2.3em;
}

/* Hide auto-generated page title (H1) on all pages */
.hero-section,
.page-header,
.entry-header:has(> .page-title),
body:not(.single-post) .entry-header .page-title,
.ct-page-title {
    display: none !important;
}

/* Remove top vertical spacing (empty padding) below header */
.ct-container-full[data-vertical-spacing*="top"] {
    padding-top: 0 !important;
}

/* ------------------------------------------------------------------
   Fallback styles for any remaining legacy shortcodes
   ------------------------------------------------------------------ */

.bio-row {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.bio-column,
.bio-cell {
    box-sizing: border-box;
    min-width: 0;
}

.bio-textblock {
    margin-bottom: 1.5rem;
}

.bio-textblock p:last-child {
    margin-bottom: 0;
}

/* Buttons */
.bio-button {
    display: inline-block;
    padding: 0.75rem 1.5rem;
    background-color: var(--wp--preset--color--primary, #000);
    color: #fff;
    text-decoration: none;
    border-radius: 3px;
    font-weight: 600;
    transition: opacity 0.2s ease;
}

.bio-button:hover {
    opacity: 0.85;
    color: #fff;
}

/* Icon Box */
.bio-icon-box {
    margin-bottom: 1.5rem;
}

.bio-icon-box .bio-icon {
    display: inline-block;
    margin-right: 0.75rem;
    font-size: 1.5rem;
    color: var(--wp--preset--color--secondary, #a0cdd2);
}

.bio-icon-box h4 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-family: var(--wp--preset--font-family--cabin, 'Cabin', sans-serif);
}

/* Section */
.bio-section {
    padding: 2rem 0;
    margin-bottom: 1.5rem;
}

/* Notification */
.bio-notification {
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    border-left: 4px solid var(--wp--preset--color--secondary, #a0cdd2);
    background-color: var(--wp--preset--color--alternate-background, #f8f8f8);
}

.bio-notification--red {
    border-left-color: #c0392b;
    background-color: #fdf2f2;
}

.bio-notification--green {
    border-left-color: #27ae60;
    background-color: #f2fdf5;
}

.bio-notification--blue {
    border-left-color: #2980b9;
    background-color: #f2f8fd;
}

.bio-notification--yellow {
    border-left-color: #f39c12;
    background-color: #fdfaf2;
}

/* Team Member */
.bio-team-member {
    text-align: center;
    margin-bottom: 2rem;
}

.bio-team-member__image img {
    border-radius: 50%;
    max-width: 150px;
    height: auto;
}

.bio-team-member__name {
    margin: 0.75rem 0 0.25rem;
    font-family: var(--wp--preset--font-family--cabin, 'Cabin', sans-serif);
}

.bio-team-member__title {
    color: var(--wp--preset--color--meta-text, #777);
    font-size: 0.875rem;
    margin-bottom: 0.75rem;
}

/* Gallery */
.bio-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.bio-gallery__item img {
    width: 100%;
    height: auto;
    display: block;
}

/* Table wrapper */
.bio-table-wrapper {
    overflow-x: auto;
    margin-bottom: 1.5rem;
}

.bio-table-wrapper table {
    width: 100%;
    border-collapse: collapse;
}

/* Icon list */
.bio-iconlist {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1.5rem;
}

.bio-iconlist__item {
    position: relative;
    padding-left: 1.75rem;
    margin-bottom: 0.5rem;
}

.bio-iconlist__item .bio-icon {
    position: absolute;
    left: 0;
    top: 0.15em;
    color: var(--wp--preset--color--secondary, #a0cdd2);
}

/* HR */
.bio-hr {
    border: none;
    border-top: 1px solid var(--wp--preset--color--border, #f2f2f2);
    margin: 1.5rem 0;
}

.bio-hr--invisible {
    border-color: transparent;
}

.bio-hr--full {
    width: 100%;
}

.bio-hr--short {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}

/* Promo box */
.bio-promobox {
    padding: 2rem;
    background-color: var(--wp--preset--color--alternate-background, #f8f8f8);
    text-align: center;
    margin-bottom: 1.5rem;
}

.bio-promobox h3 {
    margin-top: 0;
}

/* Contact placeholder */
.bio-contact-placeholder {
    padding: 1rem;
    background: #f8f8f8;
    border: 1px solid #ddd;
    margin-bottom: 1.5rem;
}

/* Toggle / Details */
.bio-toggle-container {
    margin-bottom: 1.5rem;
}

.bio-toggle {
    margin-bottom: 0.75rem;
    padding: 1rem;
    background: var(--wp--preset--color--alternate-background, #f8f8f8);
    border-radius: 4px;
}

.bio-toggle summary {
    font-weight: 600;
    cursor: pointer;
}

/* Image */
.bio-image {
    margin-bottom: 1.5rem;
}

.bio-image img {
    max-width: 100%;
    height: auto;
}

.bio-image--circle img {
    border-radius: 50%;
}

/* Ensure images in columns don't overflow */
.bio-column img,
.bio-cell img {
    max-width: 100%;
    height: auto;
}

/* Services section block (S čím Vám môžeme pomôcť) */
.bio-services-section {
    padding: 40px 0;
}

.bio-section-title,
.bio-subtitle {
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.bio-divider-circle {
    position: relative;
    text-align: center;
    margin: 15px auto;
    height: 1px;
    background: #cccccc;
    max-width: 220px;
    border: none;
}

.bio-divider-circle::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border: 1px solid #cccccc;
    border-radius: 50%;
    background: #ffffff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.bio-service-item {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 1.1em;
    margin-bottom: 35px;
    line-height: 1.3;
    color: #444444;
}

.bio-service-item:last-child {
    margin-bottom: 0;
}

@media (max-width: 781px) {
    .bio-service-item {
        margin-bottom: 25px;
    }
}

/* Work-with section (S čím pracujeme) */
.bio-work-with-section {
    padding: 40px 0;
}

.bio-work-with-section .bio-section-title {
    text-align: left;
}

.bio-divider-left {
    margin-left: 0;
    margin-right: 0;
}

.bio-work-image img {
    width: 100%;
    height: auto;
    display: block;
}

.bio-work-with-section .wp-block-button__link {
    border-radius: 4px;
}

/* Cenník page */
.bio-pricing-section {
    padding: 40px 0;
}

.bio-pricing-section .bio-section-title {
    text-align: center;
}

.bio-pricing-divider {
    border-top: 1px solid #444444;
    margin: 30px 0;
}

.bio-pricing-cards {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.bio-pricing-card {
    flex: 1;
    min-width: 250px;
    border: 1px solid #444444;
    padding: 30px 20px;
    text-align: center;
}

.bio-pricing-price {
    font-size: 4em;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 20px;
    color: #444444;
}

.bio-pricing-card-title {
    font-weight: 700;
    margin-bottom: 10px;
    font-size: 1em;
    text-transform: none;
    letter-spacing: 0;
}

.bio-pricing-card-desc {
    font-size: 0.9em;
    color: #666666;
    margin-bottom: 20px;
    line-height: 1.4;
}

.bio-pricing-card-button .wp-block-button__link {
    border: 1px solid #cccccc;
    background: #ffffff;
    color: #444444;
    border-radius: 4px;
}

.bio-pricing-details {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}

.bio-pricing-detail-col {
    flex: 1;
    min-width: 250px;
}

.bio-pricing-detail-title {
    font-weight: 700;
    font-size: 1.1em;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
}

.bio-pricing-detail-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #cccccc;
    margin-left: 15px;
}

.bio-pricing-detail-item {
    margin-bottom: 20px;
    padding-left: 15px;
    border-left: 3px solid #444444;
}

.bio-pricing-detail-item-title {
    font-weight: 700;
    margin-bottom: 5px;
}

.bio-pricing-detail-price {
    font-weight: 700;
    margin-bottom: 5px;
}

.bio-pricing-detail-desc {
    font-size: 0.85em;
    color: #666666;
    line-height: 1.4;
}

@media (max-width: 781px) {
    .bio-pricing-card,
    .bio-pricing-detail-col {
        flex: 100%;
    }
}

/* Náš tím page */
.bio-team-section {
    padding: 40px 0;
}

.bio-team-members .wp-block-column {
    text-align: center;
}

.bio-team-members img {
    width: 100%;
    height: auto;
    display: block;
}

.bio-team-members h3 {
    margin-top: 15px;
    margin-bottom: 5px;
}

.bio-team-members .bio-font-entypo-fontello {
    font-family: 'entypo-fontello', sans-serif;
}

.bio-office-section {
    padding: 20px 0;
}

/* Team member images - uniform size */
.bio-team-members .wp-block-image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin: 0 auto;
    max-width: 280px;
    width: 100%;
}

.bio-team-members .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* ------------------------------------------------------------------
   Page-specific promobox layout: left text + right button
   ------------------------------------------------------------------ */
.bio-promobox {
    padding: 2rem;
    background-color: #ffffff;
    border: 1px solid #444444;
    margin-bottom: 1.5rem;
}

.bio-promobox .wp-block-columns {
    align-items: center;
    margin-bottom: 0;
}

.bio-promobox .wp-block-column p {
    margin-bottom: 0;
}

.bio-promobox .wp-block-buttons {
    margin-top: 0;
}

@media (max-width: 781px) {
    .bio-promobox .wp-block-buttons {
        justify-content: flex-start;
        margin-top: 1rem;
    }
}

/* ------------------------------------------------------------------
   Portfolio single page title
   ------------------------------------------------------------------ */
.bio-portfolio-title {
    text-align: center;
    text-transform: uppercase;
    font-size: 2.5rem;
    margin-bottom: 0.5rem;
}

.bio-portfolio-title + .bio-divider-circle {
    margin-bottom: 2rem;
}

/* ------------------------------------------------------------------
   Cenník featured card and detail tweaks
   ------------------------------------------------------------------ */
.bio-pricing-cards {
    align-items: flex-end !important;
}

.bio-pricing-card {
    padding-top: 30px;
    padding-bottom: 30px;
}

.bio-pricing-card--featured {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.bio-pricing-card-title {
    border-bottom: 1px solid #eeeeee;
    padding-bottom: 10px;
}

.bio-pricing-card-desc strong {
    color: #444444;
}
