/* bihacit-stone.expert: design polish on top of the Elementor output (spacing, alignment, mobile). Loaded last on every page. */

html, body { overflow-x: clip; }
:root { --sec-max: 96px; }

/* ---------- type ---------- */
h1, h2, h3, h4, h5, h6, .elementor-heading-title { text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: #e6cca5; color: #1b1b1b; }

/* Atelje za kamen: white page background made the white body text invisible */
body.page-id-1973 { background: #1b1b1b; }

/* one display size for the big section names (they ranged 75-143px) */
.elementor-element-319980c .elementor-heading-title, .elementor-element-e9b8a13 .elementor-heading-title,
.elementor-element-b8d38fb .elementor-heading-title, .elementor-element-cf2801d .elementor-heading-title,
.elementor-element-0761a04 .elementor-heading-title, .elementor-element-b731044 .elementor-heading-title,
.elementor-element-174ef35 .elementor-heading-title, .elementor-element-7a8c660b .elementor-heading-title { font-size: 80px !important; line-height: 1.05 !important; }
/* headings squeezed into narrow columns */
.elementor-element-ece1014, .elementor-element-2ed4c38, .elementor-element-dd2a932, .elementor-element-ef40e2e, .elementor-element-4d67904d { max-width: none !important; --container-widget-width: 100%; width: 100%; }
.elementor-element-73c2fa2 .elementor-heading-title { font-size: 28px !important; line-height: 1.3 !important; }

/* long centred text blocks: drop the hard line breaks that left orphan words */
.elementor-element-6f17d10 br, .elementor-element-ea271c0 .elementor-widget-text-editor br, .elementor-element-32bec5d .elementor-widget-text-editor br,
.elementor-element-2675f54 .elementor-widget-text-editor br, .elementor-element-72eb8e1 .elementor-widget-text-editor br { display: none; }
.elementor-element-6f17d10 p, .elementor-element-ea271c0 .elementor-widget-text-editor p, .elementor-element-32bec5d .elementor-widget-text-editor p,
.elementor-element-2675f54 .elementor-widget-text-editor p, .elementor-element-72eb8e1 .elementor-widget-text-editor p { max-width: 68ch; margin-inline: auto; }

/* ---------- rhythm: section padding was 0-150px at random; cap it ---------- */
.elementor .e-con {
  --padding-block-start: min(var(--padding-top, 0px), var(--sec-max));
  --padding-block-end: min(var(--padding-bottom, 0px), var(--sec-max));
}
.elementor-element-2ba61f7, .elementor-element-07f4599, .elementor-element-59e3325, .elementor-element-6021eb7 { --margin-top: min(var(--sec-max), 100px) !important; }
.elementor-element-287c5e6 .elementor-spacer-inner, .elementor-element-3d92585 .elementor-spacer-inner { height: 64px !important; }
.elementor-element-181024f > .e-con-inner { --padding-block-end: 40px; }
.elementor-element-3e479c4, .elementor-element-52fe9c1 { margin: 0 0 12px !important; --widget-height: auto; }

/* images */
.elementor-element-7b23bf6, .elementor-element-7d8580f, .elementor-element-fead9ac { background-size: cover !important; background-position: center !important; min-height: 300px; }
.elementor-element-1f56cfe img, .elementor-element-ed36212 img, .elementor-element-9e1e955 img, .elementor-element-05876c2 img, .elementor-element-1c9eabe img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
.elementor-element-9c7bca8 { background-size: cover !important; background-position: center !important; }
.elementor-element-477cf49 .swiper, .elementor-element-81e0fcc .swiper { overflow: hidden; }

/* carousels: visible dots, cards whose title wraps keep the body on one line */
.swiper-pagination-bullet { background: #e6cca5 !important; opacity: .35 !important; width: 8px !important; height: 8px !important; }
.swiper-pagination-bullet-active { opacity: 1 !important; }
.elementor-widget-testimonial-carousel .elementor-testimonial__text { min-height: 2.4em; display: flex; align-items: center; justify-content: center; text-wrap: balance; }

/* gallery filter tabs on one row, 3 columns so 6 photos fill two even rows */
.elementor-element-6f47eba .elementor-gallery-title { font-size: 14px !important; padding: 10px 10px !important; }
.elementor-element-6f47eba .e-gallery-container { --columns: 3 !important; }

/* footer contact icon lines up with its text */
.elementor-element-b019e96 .elementor-icon-list-item { justify-content: center; align-items: flex-start; text-align: left; }

/* hub cards: paragraph-long titles clamped */
.elementor-element-5df5c49 .elementor-post__title a { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.elementor-post__read-more { display: inline-block; font-size: 14px !important; padding: 12px 0; }

/* logo hub (/): footer at the bottom, logos in one box */
.elementor-1984 { min-height: 100svh; display: flex; flex-direction: column; }
.elementor-element-a294a99, .elementor-element-9d3559f, .elementor-element-32bcba4 { --flex-grow: 1 !important; flex-grow: 1 !important; justify-content: center !important; }
.elementor-1984 .elementor-widget-image img { max-height: 150px; width: auto !important; object-fit: contain; }
.elementor-element-323f73d img { width: 240px !important; max-height: none; }

/* cenik / red / brands */
.elementor-element-a6446e0 .elementor-button, .elementor-element-e4258b2 .elementor-button { min-width: 160px; justify-content: center; }
.elementor-1923 .elementor-widget-image img { max-height: 220px; width: auto !important; max-width: 70%; }

/* ---------- controls ---------- */
.elementor-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; line-height: 1.25 !important; }
.elementor-element-a76ade5 :is(input, textarea) { min-height: 44px; font-size: 16px !important; }
.elementor-swiper-button { padding: 12px; }
a.abk-priv { display: inline-block; padding: 14px 8px; }

@media (max-width: 767px) {
  :root { --sec-max: 56px; }
  .elementor .e-con.e-parent { --padding-inline-start: max(var(--padding-left, 0px), 20px); --padding-inline-end: max(var(--padding-right, 0px), 20px); }
  .elementor-element-8a9341c > .elementor-widget-container, .elementor-element-2f7799b > .elementor-widget-container, .elementor-element-ffcd89c > .elementor-widget-container { margin: 0 !important; }
  .animated.fadeInRight, .animated.fadeInLeft { animation-name: fadeIn !important; }

  .elementor-element-319980c .elementor-heading-title, .elementor-element-e9b8a13 .elementor-heading-title,
  .elementor-element-b8d38fb .elementor-heading-title, .elementor-element-cf2801d .elementor-heading-title,
  .elementor-element-0761a04 .elementor-heading-title, .elementor-element-b731044 .elementor-heading-title,
  .elementor-element-174ef35 .elementor-heading-title, .elementor-element-7a8c660b .elementor-heading-title { font-size: 44px !important; }
  .elementor-widget-testimonial-carousel .elementor-testimonial__text { font-size: 30px !important; }
  .elementor-element-64a1c85 .elementor-heading-title { font-size: 30px !important; }
  .elementor-element-174ef35 .elementor-heading-title { font-size: 32px !important; }
  .elementor-heading-title { overflow-wrap: break-word; }

  /* small labels were 10px with line-height 1 and collided */
  .elementor-element-f399058 .elementor-heading-title,
  .elementor-element-ba30e62 .elementor-heading-title,
  .elementor-element-2c47ddf .elementor-heading-title,
  .elementor-element-fdb529b .elementor-heading-title,
  .elementor-element-9b78ccd .elementor-heading-title,
  .elementor-element-a27692c .elementor-heading-title,
  .elementor-element-677fcab .elementor-heading-title,
  .elementor-element-8731e90 .elementor-heading-title,
  .elementor-element-9c68729 .elementor-heading-title,
  .elementor-element-7f31cb3 .elementor-heading-title,
  .elementor-element-9fb3ea9 .elementor-heading-title,
  .elementor-element-c15516d .elementor-heading-title,
  .elementor-element-ef1016f .elementor-heading-title,
  .elementor-element-b741aac .elementor-heading-title,
  .elementor-element-dfbb3f6 .elementor-heading-title,
  .elementor-element-a566178 .elementor-heading-title,
  .elementor-element-39f90ad .elementor-heading-title,
  .elementor-element-c272519 .elementor-heading-title,
  .elementor-element-d6310a1 .elementor-heading-title,
  .elementor-element-0a9ad0f .elementor-heading-title,
  .elementor-element-407fc87 .elementor-heading-title,
  .elementor-element-f3d72e3 .elementor-heading-title,
  .elementor-element-5d05a56 .elementor-heading-title,
  .elementor-element-f49233b .elementor-heading-title,
  .elementor-element-d29d053 .elementor-heading-title,
  .elementor-element-e5e2cfc .elementor-heading-title,
  .elementor-element-1bfcda9 .elementor-heading-title,
  .elementor-element-9f861a2 .elementor-heading-title,
  .elementor-element-0b03451 .elementor-heading-title,
  .elementor-element-7f30b04 .elementor-heading-title,
  .elementor-element-6520a04 .elementor-heading-title,
  .elementor-element-f8ef434 .elementor-heading-title,
  .elementor-element-aa78f50 .elementor-heading-title,
  .elementor-element-8470f98 .elementor-heading-title,
  .elementor-element-856a01d .elementor-heading-title,
  .elementor-element-c37cc09 .elementor-heading-title,
  .elementor-element-af75009 .elementor-heading-title,
  .elementor-element-722d3b8 .elementor-heading-title,
  .elementor-element-fd95d80 .elementor-heading-title,
  .elementor-element-5f4e733 .elementor-heading-title,
  .elementor-element-da984f8 .elementor-heading-title,
  .elementor-element-7cc3a76 .elementor-heading-title,
  .elementor-element-bc05ecb .elementor-heading-title,
  .elementor-element-c58773b .elementor-heading-title,
  .elementor-element-3214091 .elementor-heading-title,
  .elementor-element-581da76 .elementor-heading-title,
  .elementor-element-9703eab .elementor-heading-title,
  .elementor-element-4be1944 .elementor-heading-title,
  .elementor-element-592e4f7 .elementor-heading-title,
  .elementor-element-9965b0e .elementor-heading-title,
  .elementor-element-6c6a7a6 .elementor-heading-title,
  .elementor-element-286070f .elementor-heading-title,
  .elementor-element-fa17e63 .elementor-heading-title,
  .elementor-element-64695cc .elementor-heading-title { font-size: 12px !important; letter-spacing: .25em !important; line-height: 1.6 !important; }

  .elementor-1554 .elementor-widget-theme-post-content, .elementor-element-802665e { font-size: 16px !important; line-height: 1.65 !important; }
  .elementor-element-0c25857, .elementor-element-ff2a86e, .elementor-element-8db33a6, .elementor-element-4ed707f { font-size: 14px !important; }
  .elementor-element-0c25857 *, .elementor-element-ff2a86e *, .elementor-element-8db33a6 *, .elementor-element-4ed707f * { font-size: inherit !important; }

  .elementor-element-fb3615d a, .elementor-element-08b8fb6 .elementor-menu-toggle { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .elementor-element-78bc831 a, .elementor-element-20ea696 a { display: inline-block; padding: 13px 0; }
  .elementor-element-a76ade5 button[type="submit"] { letter-spacing: .18em !important; font-size: 13px !important; white-space: nowrap; }

  .elementor-element-7b23bf6, .elementor-element-7ef70652 { order: -1; }
  .elementor-element-761ac6de, .elementor-element-988e658, .elementor-element-f726b0b { --padding-left: 0px !important; --padding-right: 0px !important; }
  .elementor-element-287c5e6 .elementor-spacer-inner, .elementor-element-3d92585 .elementor-spacer-inner { height: 32px !important; }
  .elementor-element-2b7cf086, .elementor-element-9c7bca8 { --padding-left: 20px !important; --padding-right: 20px !important; }

  /* stone sample grid: three across instead of 80 full-width cards */
  .e-con:has(> .e-con-inner > .e-con > .elementor-widget-call-to-action) { --padding-top: 0px; --padding-bottom: 0px; margin-bottom: 8px; }
  .e-con:has(> .e-con-inner > .e-con > .elementor-widget-call-to-action) > .e-con-inner { flex-direction: row !important; gap: 10px !important; }
  .e-con:has(> .e-con-inner > .e-con > .elementor-widget-call-to-action) > .e-con-inner > .e-con { flex: 1 1 0 !important; width: auto !important; --padding-left: 0px; --padding-right: 0px; }
  .elementor-widget-call-to-action .elementor-cta { min-height: 110px !important; }
  .elementor-widget-call-to-action .elementor-cta__title { font-size: 11.5px !important; line-height: 1.25 !important; letter-spacing: .02em !important; overflow-wrap: anywhere; hyphens: auto; }
  .elementor-widget-call-to-action .elementor-cta__content { padding: 8px 6px !important; width: 100%; }

  .elementor-element-6f47eba .elementor-gallery__titles-container { flex-wrap: nowrap !important; overflow-x: auto; justify-content: flex-start !important; scrollbar-width: none; }
  .elementor-element-6f47eba .elementor-gallery__titles-container::-webkit-scrollbar { display: none; }
  .elementor-element-6f47eba .elementor-gallery-title { white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }

  .elementor-1984 .elementor-widget-image img { max-height: 110px; }
  .elementor-element-323f73d img { width: 150px !important; }

  #trp-floater-ls { right: 12px !important; left: auto !important; bottom: 12px !important; width: auto !important; min-width: 0 !important; }
  #trp-floater-ls-current-language a, #trp-floater-ls-language-list a { font-size: 0 !important; padding: 10px 12px !important; }
  #trp-floater-ls img.trp-flag-image { margin: 0 !important; }
}
