/*
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.1.3
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
*/

/* =====================================================================
   Stránka knihy – pomocné classy pre šablónu produktu v Elementore
   (farby sa berú z produktu, viď inc/kniha-frontend.php)
   ===================================================================== */


/* =====================================================================
   Nič nesmie vytŕčať zo stránky do strany (šikmý pás s heslami, bloby…)
   – na mobile inak vzniká biely pruh vpravo a stránka sa dá posúvať do strany.
   ===================================================================== */
html,body{overflow-x:clip!important}

/* predvolené farby, ak kniha nemá vlastné (farby značky IQ knihy) */
:root{
  --kniha-akcent:#B76E79;
  --kniha-na-akcente:#fff;
  --kniha-prechod:linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%);
  --kniha-pozadie-uvod:#FBF8F4;
  --kniha-podklad:#F4EEE7;
  --kniha-chrbat:#B8964A;
}

/* farba akcentu na text */
.kniha-akcent,
.kniha-akcent .elementor-heading-title{color:var(--kniha-akcent)!important}

/* text vyplnený farebným prechodom knihy (napr. hrubá časť nadpisu) */
.kniha-prechod-text,
.kniha-prechod-text .elementor-heading-title,
.kniha-citat b,
.kniha-citat strong{
  background:var(--kp-atrament,var(--kniha-prechod));background-size:170% 220%;background-position:0% 30%;
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent;
  animation:knihaPrechod 18s ease-in-out infinite alternate;
}
.kniha-citat b,.kniha-citat strong{font-weight:800}
@keyframes knihaPrechod{0%{background-position:0% 30%}100%{background-position:100% 70%}}

/* pozadie z prechodu knihy (tlačidlá, pásy, odznaky) */
.kniha-prechod-bg,
.kniha-prechod-bg .elementor-button{background:var(--kniha-prechod)!important;background-size:200% 100%!important;color:var(--kniha-na-akcente)!important;transition:background-position .8s ease}
.kniha-prechod-bg:hover,
.kniha-prechod-bg .elementor-button:hover{background-position:100% 0!important}

/* pozadia sekcií */
.kniha-pozadie-uvod{background-color:var(--kniha-pozadie-uvod)!important}
.kniha-podklad{background-color:var(--kniha-podklad)!important}

@media (prefers-reduced-motion:reduce){
  .kniha-prechod-text,.kniha-prechod-text .elementor-heading-title,.kniha-citat b,.kniha-citat strong{animation:none}
}

/* =====================================================================
   HLÁSENIA WooCommerce ako vyskakovacie okienko (toast)
   „Pridané do košíka“, „Odstránené“, chyby… – neposúvajú stránku,
   zobrazia sa vpravo dole a po chvíli samy zmiznú (len CSS).
   Svetlá karta s farebným prechodom (na stránke knihy vo farbách knihy).
   Hlásenia vnútri formulárov (napr. „Máte už účet?“) ostávajú na mieste.
   ===================================================================== */
:root,body{--iq-toast-grad:var(--kniha-prechod,linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%))}
.woocommerce-notices-wrapper:not(:empty),
.e-woocommerce-notices-wrapper:not(:empty){
  position:fixed!important;right:24px;bottom:24px;left:auto;top:auto;z-index:99999;
  width:min(440px,calc(100vw - 32px));margin:0!important;padding:0!important;
  display:grid;gap:10px;pointer-events:none;
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
  pointer-events:auto;position:relative;overflow:hidden;isolation:isolate;
  display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 14px;
  margin:0!important;padding:16px 18px 20px 68px!important;list-style:none;min-height:70px;align-content:center;
  border:0!important;border-radius:20px!important;outline:0;
  /* biela karta s jemným farebným okrajom z prechodu */
  background:
    linear-gradient(#fff,#fff) padding-box,
    var(--iq-toast-grad) border-box!important;
  border:1.5px solid transparent!important;
  color:#231A24!important;
  font-family:"Inter",sans-serif;font-size:.92rem!important;line-height:1.45!important;font-weight:500;
  box-shadow:0 28px 60px -24px rgba(111,78,92,.45),0 8px 20px -12px rgba(35,26,36,.18)!important;
  animation:iqToastIn .6s cubic-bezier(.22,1,.36,1) both,iqToastOut .5s ease 6s forwards;
}
/* hlásenie vypísané priamo vo widgete Products (bez obalu) – samo ako okienko vpravo dole */
.elementor-widget-woocommerce-products :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
  position:fixed!important;right:24px;bottom:24px;left:auto;top:auto;z-index:99999;width:min(440px,calc(100vw - 32px));
}
/* jemný farebný nádych v pozadí karty */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) > :first-child{position:relative}
/* ikonka – krúžok vo farebnom prechode s bielou fajkou */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
  content:""!important;position:absolute!important;left:16px!important;top:var(--iq-toast-ikona,16px)!important;transform:none;margin:0!important;
  width:38px;height:38px;border-radius:50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/20px no-repeat,
    var(--iq-toast-grad);
  background-size:20px,200% 100%;
  box-shadow:0 10px 22px -10px rgba(183,110,121,.8);
  animation:iqToastIcon .7s cubic-bezier(.22,1,.36,1) .15s both;
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-info::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 11v6M12 7.5v.01'/%3E%3C/svg%3E") center/20px no-repeat,var(--iq-toast-grad)!important;
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-error::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 16.5v.01'/%3E%3C/svg%3E") center/20px no-repeat,linear-gradient(135deg,#D9534F,#B23A3A)!important;
  box-shadow:0 10px 22px -10px rgba(178,58,58,.7);
}
/* časová linka dole – ukazuje, kedy okienko zmizne */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::after{
  content:""!important;display:block!important;position:absolute;left:0;right:0;bottom:0;height:3px;clear:none!important;
  background:var(--iq-toast-grad);transform-origin:left;animation:iqToastBar 6s linear both;
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-error{animation:iqToastIn .6s cubic-bezier(.22,1,.36,1) both,iqToastOut .5s ease 10s forwards}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-error::after{background:linear-gradient(90deg,#D9534F,#B23A3A);animation-duration:10s}
/* to isté hlásenie viackrát za sebou → zobraziť len posledné */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-message:not(:last-of-type){display:none!important}
/* zoznam chýb */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) .woocommerce-error li{margin:0;padding:0;list-style:none}
/* tlačidlo „Zobraziť košík“ – farebná pilulka */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(.button,a.button,.wc-forward){
  order:2;float:none!important;margin:2px 0 0!important;padding:10px 18px!important;min-height:0!important;
  border:0!important;border-radius:999px!important;line-height:1.2!important;
  background:var(--iq-toast-grad)!important;background-size:200% 100%!important;color:#fff!important;
  font-size:.82rem!important;font-weight:700!important;text-decoration:none!important;white-space:nowrap;
  box-shadow:0 10px 22px -12px rgba(183,110,121,.9);
  transition:transform .3s,box-shadow .3s,background-position .8s!important;
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(.button,a.button,.wc-forward)::after{content:" →"}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) :is(.button,a.button,.wc-forward):hover{
  transform:translateY(-1px);background-position:100% 0!important;box-shadow:0 14px 26px -12px rgba(183,110,121,1);
}
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:not(.button){color:#B76E79!important;font-weight:600}
/* pri prejdení myšou okienko nezmizne */
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):hover,
:is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error):hover::after{animation-play-state:paused}
@keyframes iqToastIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes iqToastOut{to{opacity:0;transform:translateY(10px);visibility:hidden;pointer-events:none}}
@keyframes iqToastIcon{from{transform:scale(.4) rotate(-30deg);opacity:0}to{transform:none;opacity:1}}
@keyframes iqToastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}

/* hlásenia nových blokov (košík, pokladňa) – rovnaký vzhľad */
.wc-block-components-notice-snackbar-list{left:auto!important;right:24px!important;bottom:24px!important}
.wc-block-components-notice-snackbar{
  border:1.5px solid transparent!important;border-radius:20px!important;
  background:linear-gradient(#fff,#fff) padding-box,var(--iq-toast-grad) border-box!important;color:#231A24!important;
  font-family:"Inter",sans-serif;font-size:.92rem!important;
  box-shadow:0 28px 60px -24px rgba(111,78,92,.45),0 8px 20px -12px rgba(35,26,36,.18)!important;
}
.wc-block-components-notice-snackbar > svg{background:#B76E79!important;fill:#fff!important;border-radius:50%}
.wc-block-components-notice-snackbar .wc-block-components-notice-banner__dismiss{color:#231A24!important;opacity:.5}

@media (max-width:767px){
  .woocommerce-notices-wrapper:not(:empty),.e-woocommerce-notices-wrapper:not(:empty){right:16px;left:16px;bottom:16px;width:auto}
  .wc-block-components-notice-snackbar-list{right:16px!important;left:16px!important;bottom:16px!important}
}
@media (prefers-reduced-motion:reduce){
  :is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){animation:iqToastOut .01s linear 7s forwards}
  :is(.woocommerce-notices-wrapper,.e-woocommerce-notices-wrapper,.elementor-widget-woocommerce-products) :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{animation:none}
}

/* =====================================================================
   VYSÚVACÍ KOŠÍK (Elementor widget Menu Cart → Side Cart)
   ===================================================================== */
.elementor-menu-cart__container{background:rgba(35,26,36,.32)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.elementor-menu-cart__main{
  width:min(420px,100vw)!important;max-width:100vw;padding:30px 26px 26px!important;
  background:#FBF8F4!important;border:0!important;border-radius:26px 0 0 26px;
  box-shadow:-30px 0 80px -30px rgba(35,26,36,.45)!important;
  font-family:"Inter",sans-serif;color:#231A24;
}
/* nadpis panela v jednom riadku – ako nadpisy na domovskej stránke: tenké „VÁŠ“ + hrubé „KOŠÍK“ vo farebnom prechode
   (::before a ::after sú položky mriežky panela – viď grid nižšie) */
.elementor-menu-cart__main::before{
  content:"Váš";grid-column:1;grid-row:1;align-self:baseline;display:block;margin:0 0 20px;
  font-family:"Open Sans",sans-serif;font-weight:300;font-size:1.75rem;line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:#231A24;
}
.elementor-menu-cart__main::after{
  content:"Košík";grid-column:2;grid-row:1;align-self:baseline;justify-self:start;display:block;margin:0 56px 20px 0;padding-right:.08em;
  font-family:"Open Sans",sans-serif;font-weight:800;font-size:1.75rem;line-height:1;letter-spacing:-.02em;text-transform:uppercase;
  background:linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%);background-size:170% 220%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
}
/* zatvárací krížik – okrúhle tlačidlo */
.elementor-menu-cart__close-button{
  position:absolute!important;top:24px!important;right:22px!important;margin:0!important;
  width:40px!important;height:40px!important;border-radius:50%;background:#fff;
  box-shadow:inset 0 0 0 1px rgba(35,26,36,.1);transition:background .3s,transform .4s cubic-bezier(.22,1,.36,1);
}
.elementor-menu-cart__close-button::before,.elementor-menu-cart__close-button::after{
  width:16px!important;height:1.6px!important;top:50%!important;left:50%!important;margin:0!important;background:#231A24!important;
  transform-origin:center!important;
}
.elementor-menu-cart__close-button::before{transform:translate(-50%,-50%) rotate(45deg)!important}
.elementor-menu-cart__close-button::after{transform:translate(-50%,-50%) rotate(-45deg)!important}
.elementor-menu-cart__close-button:hover{background:#231A24;transform:rotate(90deg)}
.elementor-menu-cart__close-button:hover::before,.elementor-menu-cart__close-button:hover::after{background:#fff!important}

/* položky – biele karty */
.elementor-menu-cart__products{display:grid;gap:10px;margin:0!important;padding:0!important}
.elementor-menu-cart__product{
  display:grid!important;grid-template-columns:62px minmax(0,1fr) 32px!important;grid-template-rows:auto auto!important;
  column-gap:14px!important;row-gap:4px!important;align-items:center;
  margin:0!important;padding:12px 12px!important;border:0!important;border-radius:18px;background:#fff;
  box-shadow:0 1px 0 rgba(35,26,36,.06),0 18px 34px -28px rgba(35,26,36,.5);
}
.elementor-menu-cart__product-image{grid-column:1!important;grid-row:1 / span 2!important;width:62px!important;margin:0!important}
.elementor-menu-cart__product-image img{
  display:block;width:62px!important;aspect-ratio:.72;height:auto!important;object-fit:cover;
  border-radius:2px 5px 5px 2px;box-shadow:8px 10px 18px -12px rgba(0,0,0,.55),inset 3px 0 6px rgba(0,0,0,.15);
}
.elementor-menu-cart__product-name{grid-column:2!important;grid-row:1!important;align-self:end;margin:0!important;padding:0!important}
.elementor-menu-cart__product-name a{
  font-family:"Open Sans",sans-serif!important;font-weight:700!important;font-size:.98rem!important;line-height:1.25!important;
  color:#231A24!important;text-decoration:none!important;transition:color .3s;
}
.elementor-menu-cart__product-name a:hover{color:#B76E79!important}
.elementor-menu-cart__product-price{grid-column:2!important;grid-row:2!important;align-self:start;margin:0!important;padding:0!important;
  font-size:.86rem!important;color:#7A707B!important}
.elementor-menu-cart__product-price .quantity{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.elementor-menu-cart__product-price .product-quantity{color:#7A707B!important;font-weight:500}
.elementor-menu-cart__product-price .amount{font-family:"Open Sans",sans-serif;font-weight:800;font-size:1.02rem;color:#231A24!important}
/* odstránenie – malý krúžok s krížikom */
.elementor-menu-cart__product-remove{
  grid-column:3!important;grid-row:1 / span 2!important;align-self:center;justify-self:center;position:relative!important;
  width:32px!important;height:32px!important;margin:0!important;border:0!important;border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(35,26,36,.12);transition:background .25s,box-shadow .25s;
}
.elementor-menu-cart__product-remove::before,.elementor-menu-cart__product-remove::after{
  width:12px!important;height:1.5px!important;top:50%!important;left:50%!important;margin:0!important;background:#7A707B!important;
}
.elementor-menu-cart__product-remove::before{transform:translate(-50%,-50%) rotate(45deg)!important}
.elementor-menu-cart__product-remove::after{transform:translate(-50%,-50%) rotate(-45deg)!important}
.elementor-menu-cart__product-remove:hover{background:#B23A3A;box-shadow:none}
.elementor-menu-cart__product-remove:hover::before,.elementor-menu-cart__product-remove:hover::after{background:#fff!important}
.elementor-menu-cart__product-remove > a{position:absolute!important;inset:0!important;opacity:0!important}

/* medzisúčet */
.elementor-menu-cart__subtotal{
  display:flex!important;align-items:baseline;justify-content:space-between;gap:12px;
  margin:18px 0 0!important;padding:18px 4px!important;border:0!important;border-top:1px solid rgba(35,26,36,.1)!important;
  font-size:.92rem!important;font-weight:500!important;color:#7A707B!important;text-align:left!important;
}
.elementor-menu-cart__subtotal strong{font-weight:500;color:#7A707B}
.elementor-menu-cart__subtotal .amount{font-family:"Open Sans",sans-serif;font-weight:800;font-size:1.5rem;color:#231A24!important;letter-spacing:-.01em}

/* tlačidlá */
.elementor-menu-cart__footer-buttons{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:4px 0 0!important;padding:0!important}
.elementor-menu-cart__footer-buttons .elementor-button{
  display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:54px;margin:0!important;padding:0 24px!important;
  border-radius:999px!important;font-family:"Inter",sans-serif!important;font-weight:600!important;font-size:.95rem!important;
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,background-position .8s!important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{
  order:-1;color:#fff!important;border:0!important;
  background:var(--iq-toast-grad,linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%))!important;background-size:200% 100%!important;
  box-shadow:0 16px 34px -16px rgba(183,110,121,.9);
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text::after{content:" →"}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart{
  color:#231A24!important;background:#fff!important;border:0!important;box-shadow:inset 0 0 0 1px rgba(35,26,36,.14);
}
.elementor-menu-cart__footer-buttons .elementor-button:hover{transform:translateY(-2px)}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover{background-position:100% 0!important;box-shadow:0 20px 40px -16px rgba(183,110,121,1)}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover{box-shadow:inset 0 0 0 1px #231A24}

/* prázdny košík v paneli */
.elementor-menu-cart__main :is(.woocommerce-mini-cart__empty-message,.elementor-menu-cart__empty-message){
  margin:6px 0 0!important;padding:34px 20px 30px!important;border-radius:18px;background:#fff;text-align:center!important;
  font-family:"Inter",sans-serif!important;font-size:.95rem!important;font-weight:500!important;line-height:1.5!important;color:#7A707B!important;
  box-shadow:0 1px 0 rgba(35,26,36,.06),0 18px 34px -28px rgba(35,26,36,.5);
}
.elementor-menu-cart__main :is(.woocommerce-mini-cart__empty-message,.elementor-menu-cart__empty-message)::before{
  content:"";display:block;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  background:#F4EEE7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8964A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center/28px no-repeat;
  box-shadow:inset 0 0 0 1px #E4CF96;
}
/* výška panela = viditeľná výška obrazovky (aj s lištou prehliadača na mobile);
   knihy sa posúvajú samostatne, medzisúčet a tlačidlá sú vždy vidieť */
.elementor-menu-cart__main{height:100vh!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain;
  display:grid!important;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:.32em;align-content:stretch}
.elementor-menu-cart__main .widget_shopping_cart_content{grid-column:1 / -1;grid-row:2;min-height:0!important;display:flex!important;flex-direction:column!important}
/* align-content:start – položky majú vždy svoju výšku a idú zhora, aj keď je v košíku len jedna kniha */
.elementor-menu-cart__products{flex:1 1 auto!important;min-height:150px!important;max-height:none!important;overflow-y:auto!important;align-content:start!important;grid-auto-rows:max-content!important;overscroll-behavior:contain;padding:2px 2px 14px!important;margin:0 -2px!important}
.elementor-menu-cart__subtotal,.elementor-menu-cart__footer-buttons{flex:none!important}
@media (max-width:480px){
  .elementor-menu-cart__main{border-radius:0;padding:20px 18px max(16px,env(safe-area-inset-bottom))!important}
  .elementor-menu-cart__main::before,.elementor-menu-cart__main::after{font-size:1.5rem;margin-bottom:16px}
  .elementor-menu-cart__close-button{top:14px!important;right:16px!important}
  .elementor-menu-cart__subtotal{margin-top:0!important;padding:12px 4px!important}
  .elementor-menu-cart__subtotal .amount{font-size:1.3rem}
  /* Pokladňa a Zobraziť košík vedľa seba – ušetrí miesto pre knihy */
  .elementor-menu-cart__footer-buttons{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .elementor-menu-cart__footer-buttons .elementor-button{min-height:50px;padding:0 12px!important;font-size:.9rem!important}
}

/* =====================================================================
   KONTAKTNÝ FORMULÁR (Elementor Form s ID domov_form)
   ===================================================================== */
/* biela karta okolo formulára */
.e-con:has(> .elementor-widget-form #domov_form){
  background:#fff!important;border-radius:28px!important;padding:clamp(24px,3.4vw,44px)!important;
  box-shadow:0 40px 80px -60px rgba(35,26,36,.5),0 1px 0 rgba(35,26,36,.06)!important;
}
#domov_form .elementor-form-fields-wrapper{margin:0 -8px!important;row-gap:16px}
#domov_form .elementor-field-group{padding:0 8px!important;margin:0!important}
/* popisky */
#domov_form .elementor-field-label{
  display:block;margin:0 0 7px!important;padding:0!important;
  font-family:"Inter",sans-serif!important;font-size:.78rem!important;font-weight:600!important;line-height:1.3!important;
  letter-spacing:0!important;text-transform:none!important;color:#4A3F4B!important;
}
/* polia */
#domov_form :is(input.elementor-field,textarea.elementor-field,select){
  display:block;width:100%;min-height:52px;margin:0!important;padding:0 16px!important;
  border:1px solid rgba(35,26,36,.1)!important;border-radius:14px!important;background:#FBF8F4!important;
  color:#231A24!important;font-family:"Inter",sans-serif!important;font-size:.96rem!important;line-height:1.4!important;
  box-shadow:none!important;outline:none!important;-webkit-appearance:none;appearance:none;
  transition:border-color .2s,box-shadow .2s,background-color .2s!important;
}
#domov_form textarea.elementor-field{min-height:140px;padding:14px 16px!important;resize:vertical;line-height:1.55!important}
#domov_form :is(input.elementor-field,textarea.elementor-field)::placeholder{color:#A39AA3!important;opacity:1}
#domov_form :is(input.elementor-field,textarea.elementor-field,select):hover{border-color:rgba(35,26,36,.22)!important}
#domov_form :is(input.elementor-field,textarea.elementor-field,select):focus{
  border-color:#B76E79!important;background-color:#fff!important;box-shadow:0 0 0 4px rgba(183,110,121,.14)!important;
}
/* výber témy – zlatá šípka */
#domov_form .elementor-select-wrapper{position:relative;padding:0!important;border:0!important;background:none!important}
#domov_form .elementor-select-wrapper .select-caret-down-wrapper,#domov_form .elementor-select-wrapper::before{display:none!important}
#domov_form .elementor-select-wrapper select{
  padding-right:46px!important;cursor:pointer;
  background:#FBF8F4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23B8964A' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 18px center!important;
}
#domov_form .elementor-select-wrapper select:focus{background-color:#fff!important}
/* súhlas – vlastné zaškrtávacie políčko */
#domov_form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
#domov_form input.elementor-field.elementor-acceptance-field{
  -webkit-appearance:none;appearance:none;flex:none;width:20px!important;height:20px!important;min-height:0!important;margin:1px 0 0!important;padding:0!important;
  border:1.5px solid rgba(35,26,36,.25)!important;border-radius:6px!important;background:#fff!important;cursor:pointer;
  transition:background .2s,border-color .2s;
}
#domov_form input.elementor-field.elementor-acceptance-field:checked{
  border-color:#231A24!important;
  background:#231A24 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat!important;
}
#domov_form input.elementor-field.elementor-acceptance-field:focus-visible{box-shadow:0 0 0 4px rgba(183,110,121,.18)!important}
#domov_form .elementor-field-type-acceptance label{font-family:"Inter",sans-serif;font-size:.84rem!important;line-height:1.5;color:#7A707B!important;cursor:pointer}
/* tlačidlo – tmavá pilulka, šípka za textom */
#domov_form .e-form__buttons{margin-top:6px!important}
#domov_form .elementor-button{
  width:100%;min-height:56px;padding:0 26px!important;border:0!important;border-radius:999px!important;
  background:#231A24!important;color:#fff!important;font-family:"Inter",sans-serif!important;font-weight:600!important;font-size:.95rem!important;
  box-shadow:0 14px 30px -16px rgba(35,26,36,.7);
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s,background-position .8s!important;
}
#domov_form .elementor-button-content-wrapper{display:flex!important;flex-direction:row-reverse!important;align-items:center;justify-content:center;gap:12px}
#domov_form .elementor-button-icon{margin:0!important;display:flex}
#domov_form .elementor-button-icon svg{width:16px!important;height:16px!important;fill:currentColor!important;transition:transform .45s cubic-bezier(.22,1,.36,1)}
#domov_form .elementor-button:hover{
  transform:translateY(-2px);
  background:linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%)!important;background-size:200% 100%!important;
  box-shadow:0 20px 40px -16px rgba(183,110,121,.9);
}
#domov_form .elementor-button:hover .elementor-button-icon svg{transform:translateX(4px)}
/* chyby a hlásenia po odoslaní */
#domov_form .elementor-error :is(input.elementor-field,textarea.elementor-field,select){border-color:#B23A3A!important;box-shadow:0 0 0 4px rgba(178,58,58,.1)!important}
#domov_form .elementor-message,.elementor-widget-form:has(#domov_form) .elementor-message{
  margin:16px 0 0!important;padding:14px 18px 14px 48px!important;border-radius:16px;position:relative;
  font-family:"Inter",sans-serif;font-size:.9rem!important;line-height:1.45;
}
:is(#domov_form,.elementor-widget-form:has(#domov_form)) .elementor-message::before{
  content:""!important;position:absolute;left:16px;top:50%;width:20px;height:20px;margin:0!important;transform:translateY(-50%);border-radius:50%;
}
:is(#domov_form,.elementor-widget-form:has(#domov_form)) .elementor-message-success{background:#EDF6F0;color:#2E7D4F!important}
:is(#domov_form,.elementor-widget-form:has(#domov_form)) .elementor-message-success::before{
  background:#2E7D4F url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat;
}
:is(#domov_form,.elementor-widget-form:has(#domov_form)) :is(.elementor-message-danger,.elementor-error .elementor-message){background:#FBEDED;color:#B23A3A!important}
:is(#domov_form,.elementor-widget-form:has(#domov_form)) .elementor-message-danger::before{
  background:#B23A3A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 16.5v.01'/%3E%3C/svg%3E") center/12px no-repeat;
}
#domov_form .elementor-field-group .elementor-message{margin:6px 0 0!important;padding:0!important;background:none;font-size:.76rem!important}
#domov_form .elementor-field-group .elementor-message::before{display:none!important}
@media (max-width:767px){
  #domov_form .elementor-field-group.elementor-col-50{width:100%!important}
}

/* =====================================================================
   MOBILNÉ MENU (Elementor Nav Menu v hlavičke, na tablete a mobile)
   Svetlé menu na celú obrazovku: rímske čísla, šípky, kontakty dole.
   Tip: pridaj do menu vlastné odkazy „tel:+421909186702“ a „mailto:info@knihyprezeny.sk“
   – zobrazia sa dole ako dva boxy s ikonkou.
   ===================================================================== */
@media (max-width:1024px){
  /* hlavička nad menu */
  [data-elementor-type="header"] .e-con.e-parent:has(.elementor-menu-toggle.elementor-active){position:relative;z-index:9999;isolation:isolate}

  /* tlačidlo menu – okrúhle */
  [data-elementor-type="header"] .elementor-menu-toggle{
    position:relative;z-index:2;width:44px!important;height:44px!important;padding:0!important;margin:0!important;
    display:grid!important;place-items:center;border-radius:50%!important;border:0!important;
    background:#fff!important;color:#231A24!important;box-shadow:inset 0 0 0 1px rgba(35,26,36,.12)!important;
    transition:background .3s,color .3s,transform .4s cubic-bezier(.22,1,.36,1);
  }
  [data-elementor-type="header"] .elementor-menu-toggle svg{width:20px!important;height:20px!important;fill:currentColor!important}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active{background:#231A24!important;color:#fff!important;box-shadow:none!important;transform:rotate(90deg)}

  /* panel menu cez celú obrazovku */
  /* menu sa otvára PRESNE POD riadkom hlavičky (logo, košík a krížik ostávajú nad ním s odstupom) */
  [data-elementor-type="header"] .e-con.e-parent:has(.elementor-nav-menu--dropdown) :is(.e-con,.e-con-inner,.elementor-widget-nav-menu,.elementor-widget-nav-menu > .elementor-widget-container){position:static!important}
  [data-elementor-type="header"] .e-con.e-parent:has(.elementor-nav-menu--dropdown){position:relative!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    position:absolute!important;top:100%!important;left:0!important;right:0!important;bottom:auto!important;z-index:9998!important;margin:0!important;
    width:auto!important;height:100dvh!important;max-height:none!important;overflow-y:auto!important;
    padding:28px 24px 160px!important;border-top:1px solid rgba(35,26,36,.08)!important;
    background:#FBF8F4!important;border:0!important;box-shadow:none!important;
    transform:none!important;transform-origin:top;
    transition:opacity .35s ease,visibility 0s linear .35s,clip-path .5s cubic-bezier(.22,1,.36,1)!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown.elementor-nav-menu__container::before{
    content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;filter:blur(60px);opacity:.35;
    background:
      radial-gradient(closest-side,#D9A38F,transparent) 100% 0% / 420px 420px no-repeat,
      radial-gradient(closest-side,#9AAE9B,transparent) 0% 100% / 380px 380px no-repeat;
  }
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container{
    opacity:0!important;visibility:hidden!important;clip-path:inset(0 0 100% 0);pointer-events:none;
  }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container{
    opacity:1!important;visibility:visible!important;clip-path:inset(0 0 0 0);
    transition:opacity .35s ease,visibility 0s,clip-path .55s cubic-bezier(.22,1,.36,1)!important;
  }
  html:has([data-elementor-type="header"] .elementor-menu-toggle.elementor-active){overflow:hidden}

  /* položky */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu{
    display:grid!important;grid-template-columns:1fr 1fr;gap:0 12px;counter-reset:iqmnav;margin:0!important;padding:0!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li{grid-column:1 / -1;counter-increment:iqmnav;border:0!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a{
    display:flex!important;align-items:center;gap:10px;padding:18px 4px!important;margin:0!important;
    border:0!important;border-bottom:1px solid rgba(35,26,36,.1)!important;border-radius:0!important;background:none!important;
    font-family:"Open Sans",sans-serif!important;font-weight:300!important;font-size:1.65rem!important;line-height:1.1!important;
    letter-spacing:-.01em;color:#231A24!important;text-align:left!important;justify-content:flex-start!important;
    transition:color .3s,padding .4s cubic-bezier(.22,1,.36,1)!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li:first-child > a{border-top:1px solid rgba(35,26,36,.1)!important}
  /* rímske číslo */
  /* Elementor dáva odkazom v menu vlastné ::before/::after (podčiarknutie) – tu ich prepíšeme na číslo a šípku */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a::before,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a::after{
    position:static!important;inset:auto!important;display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;
    border:0!important;box-shadow:none!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a::before{
    content:counter(iqmnav,upper-roman) "."!important;flex:none;width:30px!important;height:auto!important;background:none!important;
    font-family:"Cinzel",serif;font-weight:600;font-size:.82rem;letter-spacing:.06em;color:#B8964A;
  }
  /* šípka vpravo */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a::after{
    content:""!important;margin-left:auto;flex:none;width:20px!important;height:20px!important;background:#B8964A!important;opacity:.7!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is(:hover,:focus,.elementor-item-active){color:#B76E79!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is(:hover,:focus-visible){padding-left:10px!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is(:hover,:focus)::after{transform:translateX(4px);opacity:1}
  /* položky nabehnú postupne pri otvorení */
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li{animation:iqMnavIn .6s cubic-bezier(.22,1,.36,1) both}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(2){animation-delay:.05s}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(3){animation-delay:.1s}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(4){animation-delay:.15s}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(5){animation-delay:.2s}
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container .elementor-nav-menu > li:nth-child(n+6){animation-delay:.25s}
  @keyframes iqMnavIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  /* podmenu */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .sub-menu{position:static!important;width:auto!important;box-shadow:none!important;background:none!important;padding:0 0 10px 50px!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .sub-menu a{font-size:1.05rem!important;padding:10px 0!important;border:0!important;color:#4A3F4B!important;background:none!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .sub-arrow{display:none!important}

  /* kontakty (odkazy tel: a mailto: v menu) – dva boxy s ikonkou dole */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li:has(> a[href^="tel:"],> a[href^="mailto:"]){
    grid-column:auto;counter-increment:none;margin-top:26px;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li:has(> a[href^="mailto:"]) ~ li:has(> a[href^="tel:"]),
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li:has(> a[href^="tel:"]) ~ li:has(> a[href^="mailto:"]){margin-top:26px}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is([href^="tel:"],[href^="mailto:"]){
    flex-direction:column;align-items:flex-start;gap:10px;height:100%;padding:16px!important;
    border:0!important;border-radius:18px!important;background:#fff!important;
    box-shadow:0 1px 0 rgba(35,26,36,.06),0 18px 34px -26px rgba(35,26,36,.5);
    font-family:"Inter",sans-serif!important;font-weight:600!important;font-size:.82rem!important;line-height:1.35!important;letter-spacing:0;
    overflow-wrap:anywhere;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is([href^="tel:"],[href^="mailto:"]):hover{padding-left:16px!important}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is([href^="tel:"],[href^="mailto:"])::after{display:none}
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a:is([href^="tel:"],[href^="mailto:"])::before{
    content:""!important;width:40px!important;height:40px!important;border-radius:50%;
    background:#F4EEE7 center/20px no-repeat!important;box-shadow:inset 0 0 0 1px #E4CF96!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a[href^="tel:"]::before{
    background-color:#F4EEE7!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8964A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E")!important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li > a[href^="mailto:"]::before{
    background-color:#F4EEE7!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8964A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")!important;
  }
}
@media (prefers-reduced-motion:reduce){
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu > li{animation:none!important}
}

/* „bez DPH“ pri cene – všade, kde nemá vlastný štýl (stránka knihy a karty majú svoj).
   Výrazne menšie a tenšie ako hlavná cena; suma vo vnútri nededí veľké písmo ceny. */
.woocommerce-price-suffix{margin-left:.4em;font-size:max(10px,.62em);font-weight:400;letter-spacing:0;color:#7A707B;white-space:nowrap}
.woocommerce-price-suffix .amount{font-size:inherit!important;font-weight:inherit!important;color:inherit!important}

/* =====================================================================
   VIANOČNÝ BALÍK (domovská stránka, kontajner .knihy-porcia) – 2D obálky
   v skutočnom pomere veľkostí, všetky stoja na jednej línii ako na polici.
   Rozmery kníh (výška): Farby 340 mm = 100 %, Tréma 275 = 80,9 %,
   Snov a Hormóny 235 = 69,1 %, Rodičky 212 = 62,4 % (v CSS 58 %, je aj najužšia).
   Obrázok sa rozpozná podľa názvu súboru (2D_… / 2D-… / 3D_… / 3D-… v Médiách).
   ===================================================================== */
/* veľkosť a rozostupy podľa šírky boxu s knihami (container query), nie podľa obrazovky:
   – úzky box (vedľa textu na PC/notebooku, mobil): knihy cez seba ako na PC, zmenšené, aby sa zmestili
   – široký box (pod sebou na notebooku/tablete): knihy väčšie, len jemne cez seba, na stred */
/* jeden rad (grid): rad je vysoký ako najvyššia kniha, v boxe je na stred zvisle aj vodorovne,
   knihy v ňom stoja na spoločnej spodnej línii – aj keď je box vyšší (napr. Notebook) */
.knihy-porcia{container-type:inline-size;display:grid!important;grid-auto-flow:column;grid-auto-columns:max-content;
  justify-content:center!important;align-content:center!important;align-items:end!important}
.knihy-porcia > .elementor-widget-image{
  --porcia-h:clamp(120px,54cqw,310px);
  width:auto!important;max-width:none!important;flex:none!important;align-self:end!important;
  margin:0 0 0 calc(var(--porcia-h) * -.23)!important;
}
.knihy-porcia > .elementor-widget-image:first-child{margin-left:0!important}
@container (min-width:640px){
  .knihy-porcia > .elementor-widget-image{--porcia-h:clamp(200px,38cqw,330px);margin-left:calc(var(--porcia-h) * -.06)!important}
  .knihy-porcia > .elementor-widget-image:first-child{margin-left:0!important}
}
/* mobil: Elementor má odsadenie zľava (z pôvodného rozloženia v dvoch radoch) – knihy na stred */
@media (max-width:767px){.knihy-porcia{--padding-left:0px!important;--padding-right:0px!important;padding-left:0!important;padding-right:0!important}}
.knihy-porcia > .elementor-widget-image img{width:auto!important;max-width:none!important;height:var(--porcia-h)!important}
/* tieň podľa tvaru knihy, nie obdĺžnika obrázka – box-shadow z Elementora by pri 3D PNG (priehľadné okolie) ukázal biely obdĺžnik */
.knihy-porcia > .elementor-widget-image img{box-shadow:none!important;background:none!important;filter:drop-shadow(8px 10px 12px rgba(35,26,36,.28))}
/* 2D aj 3D obrázky (3D_… / 3D-… sú orezané tesne na knihu, takže pomer platí rovnako) */
.knihy-porcia > .elementor-widget-image img:is([src*="2D_OdhalteSvojeFarby"],[src*="3D_OdhalteSvojeFarby"]){height:var(--porcia-h)!important}
.knihy-porcia > .elementor-widget-image img:is([src*="2D-Trema"],[src*="3D-Trema"]){height:calc(var(--porcia-h) * .809)!important}
.knihy-porcia > .elementor-widget-image img:is([src*="2D_PsychVykladSnov"],[src*="3D_PsychVykladSnov"],[src*="2D-ZazracnaSilaHromonov"],[src*="3D-ZazracnaSilaHromonov"]){height:calc(var(--porcia-h) * .691)!important}
/* Rodičky: skutočná výška 62 %, ale kniha je aj výrazne užšia (135 mm) a obrázok má pomer ostatných kníh – preto o kúsok menej */
.knihy-porcia > .elementor-widget-image img:is([src*="2D_Rodicky"],[src*="3D_Rodicky"]){height:calc(var(--porcia-h) * .58)!important}

/* =====================================================================
   TLAČIDLÁ (Elementor widget Button) – hover animácia na celom webe
   rovnaká ako pri tlačidle formulára: nadvihne sa, vyplní farebným
   prechodom (na stránke knihy prechodom knihy), šípka sa posunie.
   ===================================================================== */
.elementor-widget-button .elementor-button{
  background-size:200% 100%!important;
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1),background-position .8s cubic-bezier(.22,1,.36,1),color .3s,fill .3s!important;
}
.elementor-widget-button .elementor-button-icon :is(svg,i){transition:transform .45s cubic-bezier(.22,1,.36,1)}
.elementor-widget-button .elementor-button:is(:hover,:focus-visible){
  transform:translateY(-2px);
  background-image:var(--kniha-prechod,linear-gradient(110deg,#6F4E5C 0%,#B76E79 30%,#D9A38F 58%,#C9B48A 80%,#9AAE9B 100%))!important;
  background-position:100% 0!important;
  color:#fff!important;fill:#fff!important;
  box-shadow:0 20px 40px -16px var(--kniha-akcent,#B76E79)!important;
}
.elementor-widget-button .elementor-button:is(:hover,:focus-visible) .elementor-button-icon svg{fill:#fff!important;transform:translateX(4px)}
.elementor-widget-button .elementor-button:is(:hover,:focus-visible) .elementor-button-icon i{color:#fff!important;transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){
  .elementor-widget-button .elementor-button:is(:hover,:focus-visible),
  .elementor-widget-button .elementor-button:is(:hover,:focus-visible) .elementor-button-icon :is(svg,i){transform:none}
}
/* Druhé (svetlé) tlačidlo – iný hover ako hlavné: ostane biele, len sa nadvihne a dostane tmavý obrys.
   Úvod domovskej stránky: „Hľadám darček“ (widget 3f1eac4). Inde stačí dať widgetu Button
   classu tlacidlo-druhe (Elementor → Rozšírené → CSS classy). */
.elementor-widget-button:is(.elementor-element-3f1eac4,.tlacidlo-druhe) .elementor-button:is(:hover,:focus-visible){
  background-image:none!important;background-color:#fff!important;
  color:#231A24!important;fill:#231A24!important;
  box-shadow:inset 0 0 0 1.5px #231A24,0 14px 28px -18px rgba(35,26,36,.55)!important;
}
.elementor-widget-button:is(.elementor-element-3f1eac4,.tlacidlo-druhe) .elementor-button:is(:hover,:focus-visible) :is(.elementor-button-text,.elementor-button-icon svg,.elementor-button-icon i){color:#231A24!important;fill:#231A24!important}

/* =====================================================================
   ÚVOD DOMOVSKEJ STRÁNKY (kontajner .astral-svg) – knihy v skutočnom
   pomere veľkostí ako vo Vianočnom balíku (2D aj 3D obrázky, podľa
   názvu súboru). Farby 340 mm = 100 %, Tréma 81 %, Snov a Hormóny 69 %,
   Rodičky 58 %.
   Tieň cez filter drop-shadow: kopíruje tvar knihy (3D PNG nemajú
   biely obdĺžnik) a kreslí sa až s načítaným obrázkom – prázdny
   rámik so samotným tieňom sa pred načítaním neukáže.
   ===================================================================== */
.astral-svg{--hero-h:clamp(230px,27vw,400px)}
.astral-svg > .elementor-widget-image{width:auto!important;max-width:none!important;flex:none!important}
.astral-svg > .elementor-widget-image img{
  width:auto!important;max-width:none!important;height:var(--hero-h)!important;
  box-shadow:none!important;background:none!important;filter:drop-shadow(10px 14px 16px rgba(35,26,36,.32));
}
.astral-svg > .elementor-widget-image img:is([src*="2D_OdhalteSvojeFarby"],[src*="3D_OdhalteSvojeFarby"]){height:var(--hero-h)!important}
.astral-svg > .elementor-widget-image img:is([src*="2D-Trema"],[src*="3D-Trema"]){height:calc(var(--hero-h) * .809)!important}
.astral-svg > .elementor-widget-image img:is([src*="2D_PsychVykladSnov"],[src*="3D_PsychVykladSnov"],[src*="2D-ZazracnaSilaHromonov"],[src*="3D-ZazracnaSilaHromonov"]){height:calc(var(--hero-h) * .691)!important}
.astral-svg > .elementor-widget-image img:is([src*="2D_Rodicky"],[src*="3D_Rodicky"]){height:calc(var(--hero-h) * .58)!important}
