/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* variables (edit here)*/

:root {
    /* Global Padding Variables - Editable */
    /* Left and Right Padding All /Sections/Containers*/
    --fluid-side-padding-min: 1.25rem; /* 20px */
    --fluid-side-padding-max: 5rem;   /* 80px */

    /* Top and Bottom Padding All Containers*/
    --section-xxl-padding-min: 3.75rem; /* 60px */
    --section-xxl-padding-max: 10rem; /* 160px */ 
  
    --section-xl-padding-min: 3.125rem; /* 50px */
    --section-xl-padding-max: 7.5rem; /* 120px */
  
    --section-l-padding-min: 2.5rem; /* 40px */
    --section-l-padding-max: 6.25rem; /* 100px */
  
    --section-m-padding-min: 2.5rem; /* 40px */
    --section-m-padding-max: 5rem; /* 80px */
  
    --section-s-padding-min: 2.5rem; /* 40px */
    --section-s-padding-max: 3.75rem; /* 60px */
  
    --section-xs-padding-min: 2.5rem; /* 40px */
    --section-xs-padding-max: 2.5rem; /* 40px */
  
    --section-xxs-padding-min: 1.5rem; /* 24px */
    --section-xxs-padding-max: 1.5rem; /* 24px */
    
    --section-header-padding-min: 1rem; /* 16px */
    --section-header-padding-max: 1rem; /* 16px */

  
    /* Hero Sections Height Variable */
    --section-hero-height: 100vh; /* 100% the screen height */
  
    /* Offset Padding for Overlay Headers */
    --section-offset-header: 80px; /* Adjust to the overlay header's negative margin */

    /* Width For Narrow Sections*/
    --section-narrow: 62.5rem; /* 1000px */
    --section-narrow-xs: 45rem; /* 720px */
  }


/* CSS Template (do not edit below) */
  
  
	  /* Section/Container Padding - Fluid Variants */
		.section-xxl {
		  padding-top: clamp(var(--section-xxl-padding-min), 6.522vw - 0.217rem, var(--section-xxl-padding-max));
		  padding-bottom: clamp(var(--section-xxl-padding-min), 6.522vw - 0.217rem, var(--section-xxl-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-xl {
		  padding-top: clamp(var(--section-xl-padding-min), 6.522vw - 0.217rem, var(--section-xl-padding-max));
		  padding-bottom: clamp(var(--section-xl-padding-min), 6.522vw - 0.217rem, var(--section-xl-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-l {
		  padding-top: clamp(var(--section-l-padding-min), 6.522vw - 0.217rem, var(--section-l-padding-max));
		  padding-bottom: clamp(var(--section-l-padding-min), 6.522vw - 0.217rem, var(--section-l-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-m {
		  padding-top: clamp(var(--section-m-padding-min), 6.522vw - 0.217rem, var(--section-m-padding-max));
		  padding-bottom: clamp(var(--section-m-padding-min), 6.522vw - 0.217rem, var(--section-m-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-s {
		  padding-top: clamp(var(--section-s-padding-min), 6.522vw - 0.217rem, var(--section-s-padding-max));
		  padding-bottom: clamp(var(--section-s-padding-min), 6.522vw - 0.217rem, var(--section-s-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-xs {
		  padding-top: clamp(var(--section-xs-padding-min), 6.522vw - 0.217rem, var(--section-xs-padding-max));
		  padding-bottom: clamp(var(--section-xs-padding-min), 6.522vw - 0.217rem, var(--section-xs-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-xxs {
		  padding-top: clamp(var(--section-xxs-padding-min), 6.522vw - 0.217rem, var(--section-xxs-padding-max));
		  padding-bottom: clamp(var(--section-xxs-padding-min), 6.522vw - 0.217rem, var(--section-xxs-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-header {
		  padding-top: clamp(var(--section-header-padding-min), 6.522vw - 0.217rem, var(--section-header-padding-max));
		  padding-bottom: clamp(var(--section-header-padding-min), 6.522vw - 0.217rem, var(--section-header-padding-max));
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}

		.section-header-xs {
		  padding-left: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		  padding-right: clamp(var(--fluid-side-padding-min), 6.522vw - 0.217rem, var(--fluid-side-padding-max)) !important;
		}


  
  /* Hero Container/Sections Height */
  .section-hero {
    min-height: var(--section-hero-height)!important;
  }

  .section-hero .e-con-inner {
    justify-content: center!important;
}
  
  /* Full Width Sections - No Side Padding */

  .section-full div {
    max-width: 100%!important;
  }
  

  /* Narrow Sections */
  .section-narrow .e-con-inner {
    max-width: var(--section-narrow)!important;
  }

  .section-narrow-xs .e-con-inner {
    max-width: var(--section-narrow-xs)!important;
  }


  /* Offset Padding for Overlay Headers */
  .section-offset {
    padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
  }

.mb-0 p:last-of-type {
    margin-bottom: 0;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    position: relative;
    overflow-x: hidden;
    margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

main {
	flex-grow: 1;
}

/* Horní gradient */
body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: radial-gradient(circle at 50% -32%, var(--e-global-color-primary) -20%, transparent 45%);
    opacity: 0.7;
    mix-blend-mode: normal;
    pointer-events: none;
    z-index: -1;
}

/* Spodní gradient */
body::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: radial-gradient(circle at 50% 132%, var(--e-global-color-primary) -20%, transparent 45%);
    opacity: 0.7;
    mix-blend-mode: normal;
    pointer-events: none;
    z-index: -1;
}

.megamenu.elementor-sticky--effects, .megamenu.elementor-sticky--effects .alphabet-nav {
	background-color: #fff !important;
}

.elementor-widget-search .e-search .e-search-submit>svg {
    margin-inline-end: 0;
}

.e-search-submit  {
    width: 50px !important;
    height: 50px !important;
    display: block !important;
    padding: 15px !important;
    border-radius: 25px !important;
}

.e-search input {
	background: none !important;
}

form.e-search-form {
    -webkit-box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.15);
    box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.15);
    padding: 5px;
    border-radius: 30px;
	background: var( --e-global-color-text );
}

#zkratka {
	color: inherit;
}

.alphabetical-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px; /* volitelné – mezery mezi písmeny */
}

.abeceda-menu .alphabetical-list {
  justify-content: left;
}

.alphabetical-list .list-letter {
  flex: 0 0 auto; /* zamezí roztahování */
}

.list-letter {
    font-family: Manrope, sans-serif;
    font-weight: 800;
	display: inline-block;
    padding: 4px 10px;
    color: var(--e-global-color-secondary) !important;
    text-decoration: none;
	text-align: center;
    min-width: 30px;
}

.list-letter:hover, .list-letter.active {
    color: var( --e-global-color-text ) !important;
    background: var( --e-global-color-primary ) !important;
    border-radius: 20px;
	min-width: 30px;
}

.primary-color {
	color: var( --e-global-color-primary );
}

.card .plus-icon-hover {
	display: none;
}

.card:hover .plus-icon-hover {
	display: initial;
}

.card:hover .plus-icon {
	display: none;
}

.card:hover {
	background: rgb(255,255,255);
	background: linear-gradient(225deg, rgba(255,255,255,1) 0%, rgba(151,127,251,0.2) 100%);
}

.page-numbers:hover, .page-numbers.current {
    color: var(--e-global-color-text) !important;
    background: var(--e-global-color-primary) !important;
    border-radius: 20px;
    min-width: 30px;
}

.page-numbers {
    font-family: Manrope, sans-serif;
    font-weight: 800;
    display: inline-block;
    padding: 4px 10px;
    color: var(--e-global-color-secondary) !important;
    text-decoration: none;
    text-align: center;
    min-width: 30px;
}

.elementor-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.breadcrumb {
  /* styl obalového divu */
}
.breadcrumb a {
  color: var(--e-global-color-primary);
}
.breadcrumb-separator {
  margin: 0 10px;
}
.breadcrumb-current {
  font-weight: bold;
}

.ays-fs-title, .ays_quiz_question * {
    font-family: "Manrope", Sans-serif;
    font-size: var(--e-global-typography-58dd606-font-size) !important;
    font-weight: 800;
    line-height: 125%;
}

.ays-fs-subtitle {
    margin: 10px 0px 32px 0px !important;
}

.ays-quiz-container .action-button {
    font-family: var(--e-global-typography-5be0014-font-family);
    font-size: var(--e-global-typography-5be0014-font-size) !important;
    font-weight: var(--e-global-typography-5be0014-font-weight);
}

.ays-quiz-container .action-button:hover {
    box-shadow: none !important;
    background: #121212 !important;
}

.ays-live-bar-wrap {
    height: 20px;
}

.ays-live-bar-fill span, .ays-live-bar-fill .ays-live-bar-count * {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center;
    justify-content: flex-end;
}

.ays-live-bar-fill span {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
}

.ays-live-bar-fill {
    padding-right: 5px;
}

.plus-icon .elementor-widget-container, .plus-icon-hover .elementor-widget-container {
	text-align: right;
}

.elementor-message {
    text-align: center;
    margin-top: 24px;
}

.footer-links-flex-container {
    display: flex;
    flex-direction: column;
    row-gap: 10px; /* Požadovaný rozestup mezi odkazy */
}

.citation-embed-wrapper {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
}

/* Přepínač stylů */
.citation-style-switcher {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: sans-serif;
}
.citation-style-switcher span {
  font-weight: bold;
}

/* Styl tlačítek */
.citation-style-btn {
  padding: 7px 14px;
  font-size: 13px;
  border: none;
  background: #f3f3f3;
  border-radius: 20px;
  font-family: var(--e-global-typography-5be0014-font-family, sans-serif);
  font-weight: bold;
  color: #000;
  cursor: pointer;
  transition: all 0.2s ease;
}
.citation-style-btn:hover {
  background-color: #e2e2e2;
}
.citation-style-btn.active {
  background-color: #9583f7;
  color: #fff;
}

/* Citace */
.citation-box-output textarea {
  width: 100%;
  min-height: 120px;
  font-family: monospace;
  font-size: 14px;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  margin-bottom: 10px;
  background: #f9f9f9;
  resize: none;
}

/* Tlačítko pro kopírování */
.citation-copy-button {
  padding: 7px 14px;
  border: none;
  background: #9583f7;
  border-radius: 20px;
  font-family: var(--e-global-typography-5be0014-font-family, sans-serif);
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
}
.citation-copy-button:hover {
  background-color: #121212;
  color: #fff;
}

.snippet-section {
	margin-bottom: 20px;
	background: #fff;
	padding: 20px;
	border-radius: 10px;
}

.snippet-title {
	font-weight: bold;
	margin-bottom: 8px;
	font-size: 16px;
}

.snippet-container {
	display: flex;
	flex-wrap: nowrap;
	gap: 20px;
	flex-direction: row;
}

.snippet-code,
.snippet-preview {
	flex: 1 1 50%;
	max-width: 100%;
}

.snippet-code textarea {
	width: 100%;
	min-height: 120px;
	font-family: monospace;
	font-size: 13px;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
}

.snippet-preview>div {
	padding: 12px;
}

.snippet-copy-button {
	margin-top: 6px;
	padding: 7px 14px;
	border: none;
	background: #9583f7;
	border-radius: 20px;
	font-family: var(--e-global-typography-5be0014-font-family), Sans-serif;
	font-size: 13px;
	font-weight: var(--e-global-typography-5be0014-font-weight);
	fill: var(--e-global-color-text);
	color: var(--e-global-color-text);
}

.snippet-copy-button:hover,
.snippet-copy-button:focus {
	background-color: #121212;
}

@media (max-width: 767px) {
	.snippet-container {
		flex-direction: column-reverse !important;
	}
}

/* ===== Gen Z Překladač - Styly ===== */

.genz-prekladac-form {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family: var(--e-global-typography-primary-font-family, Manrope, sans-serif);
}

.genz-prekladac-textarea {
    width: 100%;
    padding: 16px 20px;
    border-radius: 20px;
    border: 1px solid var #ccc;
    font-size: 1rem;
    resize: vertical;
    background: #fff;
}

.genz-prekladac-button {
    padding: 14px 24px;
    border: none;
    border-radius: 30px;
    background-color: var(--e-global-color-primary, #5b21b6);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s ease;
}

.genz-prekladac-button:hover {
    background-color: var(--e-global-color-secondary);
    color: #fff;
}

.genz-prekladac-vysledek, .preklad-item {
    margin-top: 20px;
    padding: 20px;
    border-radius: 20px;
    background: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    color: #121212;
}

.genz-prekladac-switcher {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
    font-family: var(--e-global-typography-primary-font-family, Manrope, sans-serif);
}

.genz-switch-btn {
    padding: 10px 20px;
    font-size: 1rem;
    border: 2px solid var(--e-global-color-primary, #5b21b6);
    background: transparent;
    color: var(--e-global-color-primary, #5b21b6);
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 700;
}

.genz-switch-btn.active {
    background: var(--e-global-color-primary, #5b21b6);
    color: #fff;
}

.genz-switch-btn:hover {
    background-color: var(--e-global-color-primary);
    color: #fff;
}

.genz-prekladac-switcher {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 15px;
}

.genz-switch-btn {
    padding: 8px 16px;
    font-size: 0.8rem;
    border: 2px solid var(--e-global-color-primary, #5b21b6);
    background: transparent;
    color: var(--e-global-color-primary, #5b21b6);
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.genz-switch-btn.active {
    background: var(--e-global-color-primary, #5b21b6);
    color: #fff;
}

.traslation-history-title {
    font-family: "Manrope", Sans-serif;
    font-size: var(--e-global-typography-58dd606-font-size) !important;
    font-weight: 800;
    line-height: 125%;
}

.history-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .history-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

.clear-history-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 14px;
    color: #666;
    padding: 4px 6px;
}

.preklad-item {
    position: relative;
    border: 1px solid #e0e0e0;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 6px;
    background: #f9f9f9;
}

.preklad-item p {
	max-width: 95%;
}

.preklad-head {
    position: absolute;
    top: 13px;
    right: 13px;
}

.delete-item-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

button.clear-history-btn:hover, button.delete-item-btn:hover {
    background: none;
    color: var(--e-global-color-secondary);
}

.elementor-subcat {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: stretch;
}

@media (max-width: 767px) {
    .elementor-subcat {
        grid-template-columns: 1fr;
    }
}


.elementor-subcat .elementor-element.elementor-element-20e3b948 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: 100%;
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --justify-content: space-between;
    --gap: 0px 0px;
    --row-gap: 0px;
    --column-gap: 0px;
    --border-radius: 50px 50px 50px 50px;
    --padding-top: 20px;
    --padding-bottom: 20px;
    --padding-left: 40px;
    --padding-right: 40px;
}

.elementor-subcat .elementor-element.elementor-element-20e3b948:not(.elementor-motion-effects-element-type-background),
.elementor-subcat .elementor-element.elementor-element-20e3b948 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: var(--e-global-color-text);
}

.elementor-subcat .elementor-element.elementor-element-ac87cdf .elementor-heading-title {
    font-family: var(--e-global-typography-15518bb-font-family), Sans-serif;
    font-size: var(--e-global-typography-15518bb-font-size);
    font-weight: var(--e-global-typography-15518bb-font-weight);
    text-transform: var(--e-global-typography-15518bb-text-transform);
    line-height: var(--e-global-typography-15518bb-line-height);
    letter-spacing: var(--e-global-typography-15518bb-letter-spacing);
}

@media(max-width: 1024px) {
    .elementor-subcat .elementor-element.elementor-element-ac87cdf .elementor-heading-title {
        font-size: var(--e-global-typography-15518bb-font-size);
        line-height: var(--e-global-typography-15518bb-line-height);
        letter-spacing: var(--e-global-typography-15518bb-letter-spacing);
    }
}

@media(max-width: 767px) {
    .elementor-subcat .elementor-element.elementor-element-20e3b948 {
        --border-radius: 30px 30px 30px 30px;
        --padding-top: 30px;
        --padding-bottom: 30px;
        --padding-left: 30px;
        --padding-right: 30px;
    }

    .elementor-subcat .elementor-element.elementor-element-ac87cdf .elementor-heading-title {
        font-size: var(--e-global-typography-15518bb-font-size);
        line-height: var(--e-global-typography-15518bb-line-height);
        letter-spacing: var(--e-global-typography-15518bb-letter-spacing);
    }
}

.podkategorie-nadpis {
	font-family: var(--e-global-typography-a8e6b42-font-family), Sans-serif !important;
    font-size: var(--e-global-typography-a8e6b42-font-size) !important;
    font-weight: var(--e-global-typography-a8e6b42-font-weight) !important;
    text-transform: var(--e-global-typography-a8e6b42-text-transform) !important;
    line-height: var(--e-global-typography-a8e6b42-line-height) !important;
    letter-spacing: var(--e-global-typography-a8e6b42-letter-spacing) !important;
}

.content h2 {
	font-family: var(--e-global-typography-785ef72-font-family), Sans-serif;
	font-size: var(--e-global-typography-785ef72-font-size);
	font-weight: var(--e-global-typography-785ef72-font-weight);
	text-transform: var(--e-global-typography-785ef72-text-transform);
	line-height: var(--e-global-typography-785ef72-line-height);
	margin-top: 42px;
}

.content h3 {
	font-family: var(--e-global-typography-de6ebae-font-family), Sans-serif;
	font-size: var(--e-global-typography-de6ebae-font-size);
	font-weight: var(--e-global-typography-de6ebae-font-weight);
	text-transform: var(--e-global-typography-de6ebae-text-transform);
	line-height: var(--e-global-typography-de6ebae-line-height);
}

.content h4 {
	font-family: var(--e-global-typography-7926b3b-font-family), Sans-serif;
	font-size: var(--e-global-typography-7926b3b-font-size);
	font-weight: var(--e-global-typography-7926b3b-font-weight);
	text-transform: var(--e-global-typography-7926b3b-text-transform);
	line-height: var(--e-global-typography-7926b3b-line-height);
}

.elementor-toc__header {
    margin-bottom: 12px;
    padding-bottom: 12px;
}

.content a {
    color: var(--e-global-color-primary);
}