/* 
Theme Name: Tobalt LT
Theme URI: https://tobalt.lt
Version: 0.83.0
Description: tobalt.lt tema be Elementor (pagrindas — Tobalt Child 3.5.11). Sveiki, dėkojame už pasitikėjimą naudojantis Tobalt paslaugomis ir sprendimais. Jeigu Jums reikalinga pagalba, mokymai lauksime Jūsų žinučių el. paštu - labas@tobalt.lt
Author: Tobalt
Author URI: https://tobalt.lt
Template: tobalt
Text Domain: tobalt-lt
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Common rules of core wp-block-library (WordPress 7.1), which loads only on block-editor posts (inc/site-chrome.php). Kept above the theme rules, where core printed them. */
.wp-element-button{cursor:pointer}
:root .has-very-light-gray-background-color{background-color:#eee}
:root .has-very-dark-gray-background-color{background-color:#313131}
:root .has-very-light-gray-color{color:#eee}
:root .has-very-dark-gray-color{color:#313131}
:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}
:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}
:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}
:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}
:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}
:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}
:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}
.has-regular-font-size{font-size:1em}
.has-larger-font-size{font-size:2.625em}
:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}
.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}
.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}
:root .has-text-align-center{text-align:center}
:root .has-text-align-left{text-align:left}
:root .has-text-align-right{text-align:right}
.has-fit-text{white-space:nowrap!important}
#end-resizable-editor-section{display:none}
.aligncenter{clear:both}
.items-justified-left{justify-content:flex-start}
.items-justified-center{justify-content:center}
.items-justified-right{justify-content:flex-end}
.items-justified-space-between{justify-content:space-between}
.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}
.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
html :where(.has-border-color){border-style:solid}
html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}
html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}
html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}
html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}
html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}
html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}
html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}
html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}
html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}
html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}
html :where(img[class*=wp-image-]){height:auto;max-width:100%}
:where(figure){margin:0 0 1em}
html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}
@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}


.nuoroda a {
    color: #FFFFFF;
}

.nuoroda a:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

p a:hover,
.wp-block-list a:hover {
    text-decoration: underline;
}

a.glink {
    color: #0A0A0AC2;
}

/* --- Headings --- */

h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
    padding-top: 20px;
}

h6.wp-block-heading {
    font-size: 20px !important;
    padding-top: 30px;
}

/* --- List Padding --- */

.wp-block-list {
    padding-bottom: 10px;
}

/* --- Dynamic Sitemap Styles --- */

.dynamic-sitemap {
    padding-left: 0;
    margin: 0;
}

.dynamic-sitemap ul {
    padding-left: 40px;
    margin-left: 0;
}

.dynamic-sitemap li {
    list-style: none;
    padding-left: 20px;
    padding-bottom: 5px;
    margin: 0;
    position: relative;
    line-height: 1.6;
}

.dynamic-sitemap li:before {
    content: "";
    position: absolute;
    top: 4px;
    left: -5px;
    height: 15px;
    width: 15px;
    background-size: contain;
    background-image: url("https://tobalt.lt/wp-content/rodykle.png");
}

.dynamic-sitemap li a,
.elementor-widget-container ul li a {
    color: #0A0A0A;
    text-decoration: none;
    font-size: 15px;
    font-weight: 500;
}

.dynamic-sitemap li a:hover,
.dynamic-sitemap li a:active {
    color: #4A8C68;
}

.dynamic-sitemap li.current_page_item > a {
    color: #0A0A0A;
    text-decoration: underline;
}

/* --- Custom Page List Styles --- */

.custom-page-list {
    padding-left: 0;
    margin: 0;
}

.custom-page-list li {
    list-style: none;
    line-height: 1.8;
    color: #004d00;
    font-weight: normal;
    position: relative;
    padding-left: 25px;
}

.custom-page-list li:before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    height: 15px;
    width: 15px;
    background-size: contain;
    background-image: url("https://tobalt.lt/wp-content/rodykle.png");
    filter: brightness(0.5);
}

.custom-page-list > li,
.custom-page-list > li > ul > li,
.custom-page-list > li > ul > li > ul > li,
.custom-page-list > li > ul > li > ul > li > ul > li {
    color: #06579D;
}

.custom-page-list > li > ul > li {
    padding-left: 45px;
}

.custom-page-list > li > ul > li > ul > li {
    padding-left: 65px;
}

.custom-page-list > li > ul > li > ul > li > ul > li {
    padding-left: 85px;
}

.custom-page-list li a {
    color: #06579D;
    text-decoration: none;
    outline: none;
}

.custom-page-list li a:hover,
.custom-page-list li a:active {
    color: #000;
}

.custom-page-list li a:focus-visible {
    outline: 2px solid #003300;
    outline-offset: 2px;
}

/* --- Visually Hidden Text (Screen Reader Only) --- */

.screen-reader-text,
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
    text-indent: -9999px !important;
}

/* --- Skip Link Accessible Styling --- */

/* Override screen-reader-text class when applied to skip-link */
.skip-link.screen-reader-text {
    position: absolute !important;
    left: 0 !important;
    top: -100px !important; /* fully off-screen: the link is ~47px tall (10px padding + 1.66 line-height) */
    width: auto !important;
    height: auto !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    background-color: #003366 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    text-decoration: none !important;
    z-index: 9999 !important; /* Ensure it's above all other elements */
    border-radius: 0 0 5px 0 !important; /* Bottom right rounded corner when visible */
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    text-indent: 0 !important;
    
    /* Smoother, faster focus transition */
    transition: top 0.2s ease !important;
}

/* Skip link when focused - must override screen-reader-text */
.skip-link.screen-reader-text:focus {
    top: 0 !important;
    left: 0 !important;
    outline: 3px solid #ffbf47 !important; /* High contrast focus outline */
    outline-offset: 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important; /* Subtle shadow for better visibility */
    text-decoration: underline !important;
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, elementor-icon-list-text{    outline: 4px solid #0986BB;
    outline-offset: 8px;
}


/* [child_pages_list] shortcode — plain sub-navigation without list bullets */
.child-pages-list__items {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

/* [gallery] shortcode — the parent declares html5 'gallery' support, so core prints no gallery
   CSS and every item stacks full-width. Grid by the shortcode's column count. Elementor's Basic
   Gallery widget renders the same markup inside .elementor-image-gallery with its own layout. */
.gallery:not(.elementor-image-gallery .gallery) {
    display: grid;
    grid-template-columns: repeat(var(--tobalt-gallery-cols, 3), minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.gallery-columns-1 { --tobalt-gallery-cols: 1; }
.gallery-columns-2 { --tobalt-gallery-cols: 2; }
.gallery-columns-3 { --tobalt-gallery-cols: 3; }
.gallery-columns-4 { --tobalt-gallery-cols: 4; }
.gallery-columns-5 { --tobalt-gallery-cols: 5; }
.gallery-columns-6 { --tobalt-gallery-cols: 6; }
.gallery-columns-7 { --tobalt-gallery-cols: 7; }
.gallery-columns-8 { --tobalt-gallery-cols: 8; }
.gallery-columns-9 { --tobalt-gallery-cols: 9; }

.gallery:not(.elementor-image-gallery .gallery) .gallery-item {
    margin: 0;
}

.gallery:not(.elementor-image-gallery .gallery) .gallery-icon img {
    display: block;
    width: 100%;
    height: auto;
}

.gallery:not(.elementor-image-gallery .gallery) .gallery-caption {
    margin-top: 0.5rem;
    font-size: 0.875em;
}

@media (max-width: 767px) {
    .gallery:not(.gallery-columns-1):not(.elementor-image-gallery .gallery) {
        --tobalt-gallery-cols: 2;
    }
}

/* Classic-editor content: a link whose only child is a floated image (alignleft/alignright)
   collapses to 0 px, because the float leaves the inline <a> empty — the keyboard focus ring
   then has nothing to surround (WCAG 2.4.7). Float the link with the image so it takes the
   image's size; the image keeps its own margin, so the text wraps exactly as before. (v3.5.7) */
a:has(> img.alignleft:only-child) {
    float: left;
}

a:has(> img.alignright:only-child) {
    float: right;
}

/* Legacy component styles, formerly inline from functions.php (sitemap list, widgets, security notices, BWG gallery). */
.dynamic-sitemap { list-style-type: none; padding: 0; margin: 0; }
.dynamic-sitemap li { padding: 8px 0; border-bottom: 1px solid #eee; }
.dynamic-sitemap a { text-decoration: none; color: #0073aa; }
.dynamic-sitemap a:hover, .dynamic-sitemap a:focus { text-decoration: underline; outline: 2px solid #0073aa; outline-offset: 2px; }
.widget { margin-bottom: 1.5rem; }
.widget-title { margin-bottom: 1rem; font-weight: 600; font-size: 1.25rem; }
.remote-post-error { color: #d63638; padding: 0.625rem; border: 1px solid #d63638; background: #fcf0f1; border-radius: 4px; }
.security-notice { background: #fff3cd; border: 1px solid #ffeaa7; padding: 0.625rem; margin: 0.625rem 0; border-radius: 4px; }
.security-monitor ul { font-family: monospace; font-size: 0.75rem; max-height: 200px; overflow-y: auto; padding: 0.5rem; }
.security-audit ul { list-style: none; padding: 0; margin: 0; }
.security-audit li { padding: 0.3125rem 0; }
.elementor-widget-theme-post-featured-image img { object-position: center top !important; }
/* BWG photo-gallery tweaks */
.bwg_container { padding: 0 !important; max-width: 900px !important; margin-left: auto !important; margin-right: auto !important; }
.bwg_container .bwg-image_browser-images-wrapper { padding: 0 !important; }
.bwg_container [class*="image_browser_images_"] { background-color: #fff !important; }
.bwg_container [class*="bwg_image_browser_image_"] { background-color: #fff !important; padding: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; box-sizing: border-box; display: flex !important; align-items: center; justify-content: center; }
.bwg_container img[class*="bwg_image_browser_img"] { height: auto !important; width: auto !important; max-width: 100% !important; max-height: 70vh !important; margin: 0 auto !important; display: block; }
.bwg_container [class*="bwg_nav_cont_"] { width: 100% !important; max-width: 100% !important; margin: 12px 0 0 !important; padding: 0 !important; box-sizing: border-box; }
.bwg_container .pagination-links { display: flex !important; justify-content: space-between !important; align-items: center; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.bwg_container .pagination-links_col1, .bwg_container .pagination-links_col3 { flex: 0 0 auto !important; display: flex !important; gap: 8px !important; width: auto !important; }
.bwg_container .pagination-links_col2 { display: none !important; }
.bwg_container .pagination-links a.bwg-a { font-size: 32px !important; line-height: 1 !important; min-width: 52px !important; height: 52px !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; border-radius: 10px !important; background: #509657 !important; color: #fff !important; text-decoration: none !important; border: 0 !important; transition: background 0.2s ease; font-weight: 600; }
.bwg_container .pagination-links a.bwg-a:hover { background: #3f7845 !important; color: #fff !important; }
.bwg_container .pagination-links a.bwg-a.disabled { opacity: 0.35 !important; pointer-events: none !important; cursor: default !important; }
