body :not(h1),body :not(h2) {
line-height:100%;
}
body {
margin:10px  10px  10px  10px;
font-family:Dosis, Verdana;
background-repeat: no-repeat;
background-position: 0% 0%;
text-align:center;
background-color:#DCDCDC;
color:#000000;
font-size:100%;
font-style:normal;
font-weight:normal;
}
.right h1 {
font-style:normal;
font-weight:normal;
padding: 15px 0px 0px 0px;
background-position:0 50%;
}
.obr_text h2, .div_file_all h2, .blok_galerie h2, .blok_odkazy h2, .div_formular h2, .form_nad h2, .div_hledani h2, .right h2 {
font-style:normal;
font-weight:normal;
padding: 0px 0px 0px 0px;
background-position:0 50%;
}
h2 a {text-decoration:underline;}
a {
font-size:100%;
color:#5D5D5D;
text-decoration:none;
}
a:hover {color:#74002D;}
h1 {font-size:150%;}
h2,h3,h4,h5 {font-size:130%;}
input, textarea, select {font-family:Dosis, Verdana}
input, textarea, select {font-size:90%;}
.main {
background-color:#D3D3D3;
width:1200px;
margin:auto;
border-top:0px solid #A9A9A9;
border-right:0px solid #A9A9A9;
border-bottom:0px solid #A9A9A9;
border-left:0px solid #A9A9A9;
}
.lr_main {
background-color:#FFFFFF;
float:left;
}
.nad_top {
height:50px;
background-color:#FDF5E6;
}
.top {
height:50px;
background-color:#FFEADB;
}
.pozic_logo {
position: absolute; left:1px; top:1px; z-index:1000;
}
.top2 {
height:50px;
background-color:#FFE4E1;
}
.topmenu_main {padding-left:10px;}
.topmenu a {
padding:10px 5px 10px 5px;
font-size:110%;
font-weight:normal;
background-color:#FFFFFF;
}
.topmenu a:hover{
color:#FF0000;
background-color:#FFFF00;
}
.topmenu_main {position: absolute; left:10px; top:105px; z-index:2000;}
.left {
width:180px;
margin:0px 0px 0px 0px;
padding:10px 10px 10px 10px;
background-color:#C0C0C0;
}
.menu_left {
margin:0px 1px 0px 1px;
}
.menu_left {
}
.menu_left a, .menu_left_pozic a {
display:block;
margin:0px 0px 0px 0px;
padding:6px 0px 6px 10px;
font-size:85%;
font-weight:normal;
}
.menu_left a:hover, .menu_left_pozic a:hover {
font-weight:normal;
}
.predelnik {
height:30px;
background-color:#000000;
font-size:100%;
font-weight:bold;
padding:6px 5px 12px 30px;
text-align:left;
}
.lp_sl {width:1200px;}
.right {width:970px;
margin:0px 0px  0px  0px;
padding:15px 15px  15px  15px;
background-color:#F5F5F5;
}
.right2 {
margin:10px 10px 10px 10px;
padding:15px 15px 15px 15px;
background-color:#808080;
border-left:2px dotted  #FF0000;
}
.foot {
height:50px;
font-size:100%;
text-align:center;
background-color:#FFDAB9;
padding:0px 0px 0px 0px;
}
.about {
margin:auto;
width:1200px;
}
input, textarea, .customform {
font-size:90%;
border:1px solid #778899;
background:url(img_form/1.png) 0;
}
.search input, .search1 input{
font-size:91%;
border:1px solid #;
background:none;
background-color:#FFFFFF;
color:#000000;
vertical-align:middle;
}
.search_input {
width:200px;
height:16px;
margin-right:5px;
}
.search_button_text {
height:20px;
}
.search .search_button, .search1 .search_button {
border:0; vertical-align:middle;
}
.search .search_button_text, .search1 .search_button_text {
vertical-align:middle;
}
.search .search_check_eshop, .search1 .search_check_eshop {
border:0; background:none; text-align:left;
}
.search p, .search1 p {color:#808080;}
.obr_text img {
margin:0 10px 10px 0;
float:left;
border:1px solid #696969;
}
.sm_cl_left {
padding:5px 5px 5px 5px;
margin:0px 0px 0px 5px;
text-align:justify;
}
.vypiskosiku_top a {color:#000000}
.vypiskosiku_top a {font-weight:bold}
.vypiskosiku_top a:hover {color:#000000;}
.vypiskosiku_top {
color:#000000;
font-size:95%;
padding:10px;
text-align:left;
position: absolute; left:950px; top:1px; z-index:1000;
}
.search1 {position: absolute; left:150px; top:20px; z-index: 2100;}
.about {
font-size:90%;
text-align:right;
}
.div_eshop {border:1px solid #808080;}
.e2 h2 {margin:0; padding:0; display:inline; border:0; background:0}
.e2 .eshop_nadpis_zbozi a{
font-size:90%;
text-decoration:none;
}
.cena_sleva {
color:#A9A9A9;
font-size:90%;
}
.cena_puvodni {
color:#000000;
font-size:85%;
}
.text_u_ceny {
color:#191970;
font-size:85%;
font-weight:normal;
}
.cena_eshop {
color:#DC143C;
font-size:110%;
font-weight:bold;
}
.eshop_doplncena {
color:#FF0000;
font-size:85%;
font-weight:normal;
}
.eshop_kod {
color:#008000;
font-size:80%;
font-weight:bold;
}
.eshop_skladem {
color:#4682B4;
font-size:80%;
font-weight:bold;
}
.eshop_sklad_odpocet {
color:#48D1CC;
font-size:80%;
font-weight:bold;
}
.e2 {width:544px;}
.e3 {
width:180px;
height:150px;
color:#2F4F4F;
}
.e_ostatni {
font-size:90%;
}
.lista_page {
vertical-align:middle;
clear:both;
color:#696969;
font-size:90%;
font-weight:normal;
border:1px solid #708090;
background-color:#FDF5E6;
margin:4px 0 10px 0;
padding:5px;
}
.lista_page a img, .lista_page img {
vertical-align:middle;
padding:0 3px 0 3px;
}
.lista_gal, .lista_gal_bottom {
vertical-align:middle;
float:left;width:98%;
color:#FF0000;
font-size:90%;
font-weight:bold;
padding:2px;
}
.lista_gal {
margin:5px 0 5px 0;
}
.lista_gal_bottom {
margin:5px 0 5px 0;
}
.lista_gal a img, .lista_gal img, .lista_gal_bottom a img, .lista_gal_bottom img {
vertical-align:middle;
padding:0 3px 0 3px;
}
.but_kosik {
padding:1px 3px 1px 3px;
color:#2F4F4F;
font-size:90%;
font-weight:bold;
border:1px solid #D3D3D3;
background:none;
background-color:#F5F5F5;
}
.ed_zvetsit_obr a{
padding:5px 5px 5px 30px;
background:url(imgdesign/obr_img.gif) no-repeat;
background-color:#DC143C;
color:#FFFFFF;
text-decoration:none;
font-size:80%;
font-weight:bold;
background-position: 5% center;
vertical-align:middle;
}
.ed_zvetsit_obr_lb{
padding:5px 5px 5px 30px;
background-color:#DC143C;
vertical-align:middle;
}
.ed_zvetsit_obr_lb input{
color:#FFFFFF;
text-decoration:none;
font-size:80%;
font-weight:bold;
vertical-align:middle;
}
.ed_zvetsit_obr a:hover{
color:#FFFFFF;
text-decoration:underline;
}
.ed_vel_obr, .ed_right .ed_sm_obr {border:1px solid  #778899;}
.ed_vel_obr input, .ed_right .ed_sm_obr input {display: block;}
.ed_zvetsit_obr_lb input {display: inline;}
.ed_right input {border:0}
.divlogin {position: absolute; left:650px; top:40px; z-index:1000;}
.log_key {position: absolute; left:650px; top:40px; z-index:1000;}
.login_but img a {
border:0;
}
.lang {position: absolute; left:120px; top:5px; z-index:1000;}
.lang {margin:0;}
.lang img {margin:0 2px 0 0;}
b {
}
strong {
}
hr {
border:0; height:1px;
}
.body_list_gal {
background:none;
text-align:center;
background-color:#DCDCDC;
color:#FFFFFF;
}
.div_extgal {
margin:auto;
background-color:#F5F5F5;
}
.body_list_gal a {
font-size:100%;
color:#FFFFFF;
text-decoration:none;
}
.body_list_gal a:hover {color:#FFFFFF;}
.body_list_gal b {color:#FFFFFF;}
.adm input, .adm select, .adm textarea {color:#000000;}
.main_admnavbar a, .kosik_navbar{
color:#000000;
background:#FFCC00;
}
.main_admnavbar a:hover, .kosik_navbar:hover {
color:#FFFFFF;
background:#CC0000;
}
.strank input, .strank a{
color:#000000;
}

/*conteiner*/
 .ealt1005{
     width:23%;
     height: 330px;
     padding:0.7% 1.4% 0.7% 1.4%;
     margin: 0.7% 1.4% 0.7% 0;
     box-sizing: border-box;
     background: #FFFFFF none repeat scroll 0 0;
     border-radius: 1.5%;
     backface-visibility: hidden;
     float: left;
     border: 1px solid #d3d3d3;
     overflow: hidden;
     list-style: outside none none;
     position:relative;
     display: grid;
     grid-template-columns: 1fr;
     grid-template-rows: 5fr 2fr 1fr 1fr;
}
/*hover conteiner*/
 .ealt1005:hover {
     transform: scale(1.01);
     background: #FDFDFD none repeat scroll 0 0;
     border-color: #999 
}
/*image*/
 .ealt1005 > div:nth-of-type(1){
     grid-column: 1 / 2;
     grid-row: 1 / 2;
}
/*image link*/
 .ealt1005 > div:nth-of-type(1) > a{
     height: 95%;
     width: 100%;
     display:block;
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
}
/*name*/
 .ealt1005 > div:nth-of-type(2){
     grid-column: 1 / 2;
     grid-row: 2 / 3;
     overflow: hidden;
     position:relative;
}
/*name h2*/
 .ealt1005 > div:nth-of-type(2) > h2{
     line-height: normal;
}
/*name h2 link*/
 .ealt1005 > div:nth-of-type(2) > h2 > a{
     text-decoration:none;
     line-height: normal;
     text-align:center;
     font-size:12pt;
     display:block;
     color:#5D5D5D;
}
/*fade text on name*/
 .ealt1005 > div:nth-of-type(2) > div{
     position: absolute;
     left: 0;
     bottom: 0;
     height: 20%;
     width: 100%;
     background-image: -moz-linear-gradient(bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
     background-image: -ms-linear-gradient(bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
     background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(255, 255, 255, 1)), to(rgba(255, 255, 255, 0)));
     background-image: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
     background-image: -o-linear-gradient(bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
     background-image: linear-gradient(bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
     background-repeat: repeat-x;
     filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
}
/*dostupnost*/
 .ealt1005 > div:nth-of-type(3){
     grid-column: 1 / 2;
     grid-row: 3 /4;
     line-height: normal;
     display: flex;
}
/*dostupnost text*/
 .ealt1005 > div:nth-of-type(3) > span{
     font-size:10pt;
     line-height: normal;
     margin:auto;
}
/*cena*/
 .ealt1005 > div:nth-of-type(4){
     grid-column: 1 / 2;
     grid-row: 4 / 5;
     line-height: normal;
     display: flex;
}
/*cena span*/
 .ealt1005 > div:nth-of-type(4) > span{
     text-align:center;
     display:block;
     line-height: normal;
     margin:auto;
}
/*katalog_cislo*/
 .ealt1005 > div:nth-of-type(5){
     grid-column: 1 / 2;
     grid-row: 5 / 6;
     line-height: normal;
    /* display: flex;*/
    min-height: 1em;
}
/*katalog_cislo span*/
 .ealt1005 > div:nth-of-type(5) > span{
     position:absolute;
     bottom:0px;
     left:0px;
     text-align:center;
     display:block;
     line-height: normal;
     font-size:9pt;
     margin:0;
     padding: 2% 2% 1% 2%;
     /*background: #D3D3D3;*/
     background: #009FE3;
     /*background: #999;*/
     color: #FFFFFF;
     font-family: courier, courier new, serif;
     min-width: 33%;
     font-weight:bold;
}
/*editační kolečko*/
 .ealt1005 > div:nth-of-type(6){
     position:absolute;
     top:0px;
     right:0px;
}
/*responzive*/
 @media only screen and (max-width:768px) {
     .ealt1005{
         margin:5px 0 5px 0 !important;
         width:100%;
         border-radius: 0;
         border: 0;
         border-bottom: 1px solid #d3d3d3;
         -moz-box-shadow: none;
         -webkit-box-shadow: none;
         box-shadow: none;
         background:0;
    }
    /*fade text on h2 responzive*/
     .ealt1005 > div:nth-of-type(2) > div{
         background:none;
    }
}
 
/*hlavni prvek*/
.eshop_detail_1006{
 display: grid;
 grid-template-columns: 1fr 1fr;
 grid-auto-rows: minmax(min-content, max-content);
}


/*nadpisy h2*/
h2{
 display:block;
 clear:both;
}

/*sloupec parametry*/
.eshop_detail_1006>div:nth-child(2n-1) {
 grid-column: 1 / 2;
 display: grid;
 grid-template-columns: 1fr 2fr;
 grid-auto-rows: minmax(min-content, max-content);
}

/*sloupec obrazky*/
.eshop_detail_1006>div:nth-child(2n) {
 grid-column: 2 / 3;
 padding: 0 5px 0 5px;
}

/*obrazkek prvni*/
.eshop_detail_1006>div:nth-child(2n) input[type="image"]:nth-child(-n+1){
 max-width:100%;
 /*border:2px solid red;*/
 border:0;
 display:block;
 margin-bottom:7px;
}

/*obrazkek druhy a vsechny dalsi*/
.eshop_detail_1006>div:nth-child(2n) input[type="image"]:nth-child(n+2) {
 max-height:70px;
 margin:3px 3px 0 0;
/* border:2px solid green;*/
border:0;
}

/*nazvy i hodnoty parametru*/
.eshop_detail_1006>div:nth-child(2n-1)>div{
 line-height:180%;
}

/*nazvy parametru*/
.eshop_detail_1006>div:nth-child(2n-1)>div:nth-child(2n-1){
 grid-column: 1 / 2;
 text-align:right;
 padding:0 5px 0 0;
}

/*dvojtecka za nazev parametru*/
.eshop_detail_1006>div:nth-child(2n-1)>div:nth-child(2n-1):not(:empty):after{
 content: ": ";
}

/*hodnoty parametru*/
.eshop_detail_1006>div:nth-child(2n-1)>div:nth-child(2n){
 grid-column: 2 /3;
}

/*schiessl soubory*/
.eshop_detail_1006>div:nth-child(2n-1)>.sch_file{
 grid-column: 1/3 !important;
 text-align:left !important;
}


/* === design_basket_css === */
.sch_basket{
 display:block;
 visibility: visible;
 position:absolute;
 top:40px;
 left: 900px;
 z-index:5000;
 width:58px;
 color: inherit;
 text-decoration: none;
} 

.sch_basket:hover{
 color: inherit;
} 

.sch_basket:hover>.sch_basket_items:not(:empty) {
    display: block;
}

.sch_basket > svg{
 width:58px;
}


.bask_buble{
 display:block;
 visibility: visible;
 position:absolute;
 top:0px;
 left:0px;
 width: 19px;
 height: 19px;
 background: #00ADEE;
}

.sch_basket_items{
 background:#FFF;
 position:absolute;
 top:50px;
 right:0px;
 z-index:5001;
 width:400px;
 border:1px solid #e8e8e8;
 padding: 10px;
 display:none;
}

.sch_basket_items > div{
 display:grid;
 grid-template-columns: 1fr 5fr 3fr;
 gap: 5px;
 align-items: center;
}

.sch_basket_items img{
 width:100%;
}

.sch_basket_items > div > span:nth-child(3){
 font-weight:bold;
 text-align:right;
}

.sch_basket_items > div> span:nth-child(2){
 overflow:hidden;
 text-align:left;
}
/* === multimenu_css === */
/* SCHIESSL multimenu styles 2026.03.07.01 */
.vw-multimenu{font-family:Arial,Helvetica,sans-serif}
.vw-multimenu__level{list-style:none;margin:0;padding:0}
.vw-multimenu__level-1>.vw-multimenu__item{margin-bottom:6px}
.vw-multimenu__link{display:block;padding:6px 8px;color:#222;text-decoration:none}
.vw-multimenu__link:hover{background:#f5f5f5}
.vw-multimenu__level-2{margin-left:10px}
.vw-multimenu--top .vw-multimenu__level-1{display:flex;gap:12px}
.vw-multimenu--top .vw-multimenu__level-2{position:absolute;background:#fff;padding:10px;display:none}
.vw-multimenu--top .vw-multimenu__item{position:relative}
.vw-multimenu--top .vw-multimenu__item:hover .vw-multimenu__level-2{display:block}

/* Left menu: render multimenu as a popup to the right of the parent li */
.has-multimenu { position: relative; }
.has-multimenu > .vw-multimenu { position: absolute; left: 100%; top: 0; z-index: 9999; display: none; min-width: 220px; background: #fff; padding: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.08); }
.has-multimenu:hover > .vw-multimenu { display: block; }

/* ensure inner lists don't break layout */
.vw-multimenu__level-2 { margin:0; padding:0; list-style:none }

/* Overlay + modal presentation */
/* Overlay nyní začíná těsně pod horním menu a zatmavuje pouze oblast pod ním */
.vw-multimenu-overlay { 
  position: fixed; 
  left: 0;
  right: 0;
  bottom: 0;
  /* top se nastaví dynamicky z JS podle výšky horního menu */
  display: flex; 
  align-items: flex-start; 
  justify-content: center; 
  z-index: 2000000; 
  visibility: hidden; 
  opacity: 0; 
  pointer-events: none; 
  transition: none; /* Bez animace - okamžité zobrazení */
  background: rgba(0,0,0,0.45); /* Zatmavení přímo na overlay */
}

/* Modal je nyní přes celou šířku viewportu bez zaoblení */
.vw-multimenu-modal { 
  width: 100%; 
  max-width: none;
  max-height: 80vh; 
  overflow-y: auto;
  overflow-x: hidden;
  background: #fff; /* Bílé pozadí přímo na modal */
  padding: 0; 
  box-sizing: border-box; 
  transform: translateY(0); /* Bez posunu - zobrazí se na finální pozici */
  transition: none; /* Bez animace - okamžité zobrazení */
  pointer-events: auto; 
  position: relative; 
  margin-top: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Vnitřní kontejner multimenu - nyní bez border-radius a s paddingem */
.vw-multimenu { 
  background: #fff; 
  border-radius: 0; /* Žádné kulaté rohy */
  padding: 20px; 
  box-shadow: none; /* Shadow je na modalu */
  max-width: 1400px; /* Maximální šířka obsahu */
  margin: 0 auto; /* Vycentrování obsahu */
}

/* Diagnostic visual aid: red border to identify the multimenu block during iteration. Remove when no longer needed. */
.vw-multimenu--diagnostic { outline: 2px solid rgba(255,0,0,0.9); }

/* Show overlay+modal when the parent list item is hovered.
	The overlay is a sibling in the markup only when multimenu_render returns it
	inside the <li>. Use the descendant selector to toggle visibility on hover. */
.has-multimenu:hover .vw-multimenu-overlay { visibility: visible; opacity: 1; /* overlay stays pointer-events:none so hover to other items still works */ }
/* transform už není potřeba - modal se zobrazí okamžitě bez animace */

/* Už nepotřebujeme body::before - overlay má vlastní pozadí */
/* body.vw-multimenu-open::before už se nepoužívá */

/* Close button inside modal */
.vw-multimenu-close { position: absolute; top: 6px; right: 6px; background: transparent; border: none; color: #333; font-size: 20px; line-height: 1; cursor: pointer; padding: 6px; }
.vw-multimenu-close:focus { outline: 2px solid #66afe9; }

/* Debug helper: highlight parent when open */


/* Disable multimenu overlay for tablets and small screens (responsive) */
/* Issue #44: Rozšířeno z 799px na 1024px - tablet nemá dostatek místa pro modal */
/* V mobilu se používá přímé zobrazení .vw-multimenu.is-open z template_custom_css.dat */
@media (max-width: 1024px) {
  .vw-multimenu-overlay { display: none !important; }
  .has-multimenu > .vw-multimenu { display: none !important; }
}

/* Layout: show top-level categories as four columns "boxes" */
.vw-multimenu__level-1 { 
  display: grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap: 16px; 
  align-items: start; 
}
.vw-multimenu__item { 
  background: #fff; 
  padding: 12px; 
  border-radius: 0; /* Bez zaoblení pro konzistentní vzhled */
  box-shadow: 0 1px 3px rgba(0,0,0,0.04); 
  border: 1px solid #e5e5e5; /* Jemný rámeček pro oddělení */
  min-height: 72px; 
  text-align: left; 
}
.vw-multimenu__item + .vw-multimenu__item { margin-top: 0; }

/* Flexbox layout pro položku kategorie - fotka vlevo, obsah vpravo */
.vw-multimenu__item {
  display: flex;
  flex-direction: row;
  gap: 12px;
  align-items: flex-start;
}

/* Kontejner pro fotku - nyní menší a vlevo */
.vw-multimenu__thumb { 
  flex: 0 0 80px; /* Fixní šířka 80px, nebude se natahovat */
  width: 80px;
  height: 80px; 
  overflow: hidden; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
	background: transparent;
  border: none; /* Bez orámování */
}
.vw-multimenu__thumb img { 
  max-width: 100%; 
  max-height: 100%; 
  display: block; 
  object-fit: cover; 
}
.vw-multimenu__thumb svg { 
  width: 40px; 
  height: 40px; 
  opacity: 0.5; 
}

/* Kontejner pro odkaz a podkategorie - zabere zbytek místa */
.vw-multimenu__content {
  flex: 1;
  min-width: 0; /* Umožní správné zalamování textu */
}

/* Make main category title slightly larger and stronger than subcategories */
.vw-multimenu__level-1 > .vw-multimenu__item > .vw-multimenu__content > .vw-multimenu__link,
.vw-multimenu__level-1 > .vw-multimenu__item > .vw-multimenu__link { 
  font-size: 20px; /* Jednotná velikost s ostatními prvky */ 
  font-weight: 600; /* Tučně pro odlišení od subitemů */
  color: #111; 
  margin-bottom: 8px; 
  display: block; 
  text-align: left; 
}

/* Subcategory list: vertical, show first N items and hide the rest until paged */
.vw-multimenu__level-2 { 
  margin: 0; 
  padding: 0; 
  list-style: none; 
  overflow: hidden; 
  transition: max-height 280ms cubic-bezier(.2,.8,.2,1); 
}
.vw-multimenu__level-2:not(.vw-expanded) { 
  /* collapsed by default: allow pageSize items only via hidden class */ 
  max-height: 300px; /* Zvětšeno pro více položek vedle fotky */
}

.vw-multimenu__subitem { 
  margin: 0; 
  display: flex; 
  align-items: center; 
  position: relative; 
  padding-right: 6px; 
  gap: 8px; 
  flex-wrap: wrap; 
}
.vw-multimenu__subitem a { 
  display: block; 
  padding: 4px 0; 
  color: #333; 
  text-decoration: none; 
  font-size: 20px; /* Jednotná velikost s hlavním nadpisem */ 
  flex: 1; 
  line-height: 1.4;
}
.vw-multimenu__subitem--hidden { display: none; }

.vw-multimenu__more { 
  display: inline-block; 
  margin-top: 8px; 
  font-size: 0.9rem; 
  color: #0073e6; 
  cursor: pointer; 
  text-decoration: none; 
}
.vw-multimenu__more:focus, 
.vw-multimenu__more:hover { 
  text-decoration: underline; 
}
.vw-multimenu__collapse-btn { 
  display: inline-block; 
  margin-left: 10px; 
  font-size: 0.9rem; 
  color: #666; 
  cursor: pointer; 
}

/* "Další" link */
.vw-multimenu__more { display: inline-block; margin-top: 8px; font-size: 0.95rem; color: #0073e6; cursor: pointer; text-decoration: none; }
.vw-multimenu__more .vw-icon { margin-left: 6px; pointer-events: none; } /* Issue #15: fix - klik na ikonu se propaguje na rodičovský <a> */


/* has-children indicator */
.vw-multimenu__haschildren-icon{ font-weight:600; color:#777; margin-left:6px }
.vw-multimenu__haschildren-icon{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; padding:0; border-radius:4px; border:none; background:transparent; color:#666; font-size:14px; line-height:1; cursor:pointer; white-space:nowrap; position:static; right:auto; top:auto; transform: none; transition: none; margin-left: auto; flex: 0 0 auto; }
.vw-multimenu__haschildren-icon:focus{ outline: none; box-shadow: none; }
.vw-has-children{ position:relative }
.vw-has-children .vw-multimenu__level-3{ display:none; max-height:0; overflow:hidden; transition: max-height 280ms cubic-bezier(.2,.8,.2,1); margin-left: 14px; padding-left: 6px; flex-basis: 100%; order: 99; }
/* avoid shifting the parent item when opening; only rotate the icon to indicate state */
.vw-has-children-open{ transform: none; }
.vw-has-children-open .vw-multimenu__level-3{ display:block }

/* ===========================================
   Issue #36: Alternativní layout pro schiessl.cz
   - První 4 boxy: plný layout s podkategoriemi, stejná výška
   - Boxy 5+: zjednodušený layout (pouze obrázek + název)
   =========================================== */

/* První 4 boxy: plný layout se stejnou výškou */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(-n+4) {
  align-self: stretch; /* Všechny 4 boxy mají stejnou výšku */
  display: flex;
  flex-direction: row;
  min-height: 200px; /* Minimální výška pro konzistenci */
}

/* Boxy 5+: zjednodušený layout - pouze obrázek a název */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) {
  min-height: 100px; /* Nižší výška pro zjednodušené boxy */
  padding: 8px;
  align-self: stretch;
}

/* Boxy 5+: skrýt podkategorie */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__level-2,
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__more {
  display: none !important;
}

/* Boxy 5+: menší obrázek */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__thumb {
  flex: 0 0 60px;
  width: 60px;
  height: 60px;
}

/* Boxy 5+: centrovat obsah vertikálně */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__content {
  display: flex;
  align-items: center;
}

/* Boxy 5+: název bez spodního marginu */
.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__link {
  margin-bottom: 0;
}

/* Grid layout: první řádek 4 sloupce, zbytek také 4 sloupce ale menší boxy */
.vw-multimenu__level-1 {
  grid-auto-rows: minmax(100px, auto); /* Automatická výška řádků */
}

/* Responsive breakpoints for 4-column layout */
@media (max-width: 1400px) {
	.vw-multimenu__level-1 { grid-template-columns: repeat(3, 1fr); }
	/* Na 3 sloupcích: první 3 boxy plný layout */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(-n+3) {
	  min-height: 200px;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) {
	  min-height: 100px;
	  padding: 8px;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__level-2,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__more {
	  display: none !important;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__thumb {
	  flex: 0 0 60px;
	  width: 60px;
	  height: 60px;
	}
}
@media (max-width: 1100px) {
	.vw-multimenu__level-1 { grid-template-columns: repeat(2, 1fr); }
	/* Na 2 sloupcích: první 2 boxy plný layout */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(-n+2) {
	  min-height: 180px;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) {
	  min-height: 80px;
	  padding: 8px;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__level-2,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__more {
	  display: none !important;
	}
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__thumb {
	  flex: 0 0 50px;
	  width: 50px;
	  height: 50px;
	}
}
@media (max-width: 768px) {
	.vw-multimenu__level-1 { grid-template-columns: 1fr; }
	
	/* Issue #44: Mobilní layout fix */
	.vw-multimenu__item {
		display: block !important; /* ZRUŠIT FLEX - normální block layout */
		padding: 10px;
		border: none;
		min-height: 0 !important; /* Reset desktop min-height */
		height: auto;
		text-align: center; /* Zarovnání všeho na střed */
	}
	
	/* THUMB nahoře - vycentrovaný obrázek */
	.vw-multimenu__thumb {
		display: flex; /* Flex pro centrování obrázku */
		align-items: center; /* Vertikální centrování */
		justify-content: center; /* Horizontální centrování */
		width: 100%;
		height: 120px;
		margin: 0 0 10px 0; /* Mezera pod thumbem */
		background: transparent;
	}
	
	.vw-multimenu__thumb img {
		margin: 0;
		display: block;
		max-width: 100%;
		max-height: 100%;
		object-fit: cover;
	}
	
	/* CONTENT dole - normální block element */
	.vw-multimenu__content {
		display: block;
		width: 100%;
		text-align: center; /* Zarovnání na střed */
	}
	
	/* Issue #44: Content a link na plnou šířku */
	.vw-multimenu__content {
		width: 100%;
		min-width: 0;
	}
	
	.vw-multimenu__link {
		width: 100%;
		display: block;
		font-size: 20px; /* Jednotná velikost s ostatními prvky */
		font-weight: 600; /* Tučně pro odlišení */
		margin-bottom: 10px;
		text-align: center; /* Zarovnání na střed */
	}
	
	/* Přebití desktop text-align: left pomocí specifičtějšího selektoru */
	.vw-multimenu__level-1 > .vw-multimenu__item > .vw-multimenu__content > .vw-multimenu__link,
	.vw-multimenu__level-1 > .vw-multimenu__item > .vw-multimenu__link {
		text-align: center !important;
	}
	
	/* Issue #44: Level-2 bez omezení výšky */
	.vw-multimenu__level-2 {
		max-height: none;
		overflow: visible;
		width: 100%;
	}
	
	/* V mobilu: vyšší max-height pro nerozbalené seznamy */
	.vw-multimenu__level-2:not(.vw-expanded) {
		max-height: 1000px; /* Dostatečně vysoké pro mobilní zobrazení */
		overflow: hidden; /* Skrytí přetečení */
	}
	
	/* Po rozbalení: žádné omezení */
	.vw-multimenu__level-2.vw-expanded {
		max-height: none;
		overflow: visible;
	}
	
	/* Po rozbalení: zobrazit skryté položky */
	.vw-multimenu__level-2.vw-expanded .vw-multimenu__subitem--hidden {
		display: flex !important; /* Zobrazit po kliknutí na "Další »" */
	}
	
	.vw-multimenu__subitem a {
		font-size: 20px; /* Jednotná velikost s hlavním nadpisem */
		padding: 6px 0;
		text-align: center; /* Zarovnání na střed */
	}
	
	/* Na mobilu: všechny boxy (včetně 5+) mají stejný layout */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) {
		display: block !important; /* Reset flex z desktopu */
		text-align: center; /* Zarovnání na střed */
		min-height: 0 !important;
		flex-direction: column !important; /* Override desktop row */
	}
	
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__level-2,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__more {
		display: block !important;
	}
	
	/* 5+ položky: thumb stejný jako 1-4 */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__thumb {
		display: flex !important; /* Flex pro centrování obrázku */
		align-items: center !important;
		justify-content: center !important;
		flex: none !important; /* Reset desktop flex: 0 0 60px */
		width: 100% !important; /* Override desktop 60px */
		height: 120px !important; /* Override desktop 60px */
		margin: 0 0 10px 0 !important; /* Mezera pod thumbem */
		background: #f8f8f8;
	}
	
	/* 5+ položky: content stejný jako 1-4 */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+5) .vw-multimenu__content {
		display: block !important; /* Reset desktop flex */
		width: 100% !important;
		text-align: center !important;
		align-items: normal !important; /* Reset desktop align-items: center */
	}
	
	/* Override breakpoint 1400px a 1100px pro 3+ a 4+ položky */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__thumb,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__thumb {
		display: flex !important;
		flex: none !important; /* Reset 50px/60px z breakpointů */
		width: 100% !important;
		height: 120px !important;
		margin: 0 0 10px 0 !important;
		background: #f8f8f8;
	}
	
	/* Override pro content u 3+ a 4+ položek */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__content,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__content {
		display: block !important;
		width: 100% !important;
		text-align: center !important;
	}
	
	/* Override pro level-2 u 3+ a 4+ položek - zobrazit v mobilu */
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__level-2,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+3) .vw-multimenu__more,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__level-2,
	.vw-multimenu__level-1 > .vw-multimenu__item:nth-child(n+4) .vw-multimenu__more {
		display: block !important; /* Zobrazit v mobilu */
	}
	
	.vw-multimenu__level-1 > .vw-multimenu__item {
		min-height: auto;
	}
}

/* === oauth_slave_template_css === */
.oauth-button {
  display: inline-block;
  padding: 10px 20px;
  background: #009FE3;
  color: #ffffff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: bold;
  margin: 0 0 15px 0;
}
.oauth-button:hover {
  background: #0088cc;
}
.oauth-divider {
  margin: 15px 0;
  text-align: center;
  color: #666;
  font-size: 12px;
}
.oauth-notice {
  margin: 0 0 10px 0;
  padding: 10px;
  background: #fff9e6;
  border: 1px solid #ffcc00;
  border-radius: 4px;
  font-size: 12px;
}

/* === topmenu_css === */
/* ==========================================================================
   TOPMENU TEMPLATE STYLESxxx
   Šablonový systém pro horní menu
   Verze: 1.2.5N - Visual Polish (Subtle Colors, White Dropdowns)
   Datum: 9. října 2025
   ========================================================================== */

/* ==========================================================================
   RESET LEGACY CSS (style.css)
   Přepisuje stará pravidla z style.css, která nastavují width: 0, height: 0
   ========================================================================== */

/* KRITICKÉ: Přepsat ALL div pravidla ze style.css! */
/* style.css má .topmenu_main ul>li>div { width: 0; height: 0; } */

/* Všechny <div> v našem template menu MUSÍ mít správné rozměry */
.topmenu_main ul > li > .vw-topmenu-dropdown,
.topmenu_main .vw-topmenu-dropdown,
.vw-topmenu-dropdown {
  /* Přebít style.css width: 0 a height: 0 */
  width: auto !important; /* Přepíše se na max-content níže */
  height: auto !important;
  bottom: auto !important; /* Přebít style.css bottom: 0 */
  /* Visibility a opacity se nastavují níže */
}

/* Vnořené <ul> v dropdown - přebít style.css position */
.topmenu_main ul > li > .vw-topmenu-dropdown > ul,
.vw-topmenu-dropdown > ul {
  position: relative !important; /* NE absolute! */
  top: auto !important;
  left: auto !important;
}

/* ==========================================================================
   ZÁKLADNÍ STRUKTURA
   ========================================================================== */

/* Položka s podkategoriemi */
.vw-topmenu-has-children {
  position: relative;
}

/* Odkazy v první úrovni - šipka je inline, nepotřebují position:relative */
.topmenu > li > a {
  display: inline-block;
  /* position: relative NENÍ potřeba - šipka ▼ je inline element, ne absolutní */
}

/* ==========================================================================
   VIZUÁLNÍ INDIKÁTORY (ŠIPKY)
   ========================================================================== */

.vw-topmenu-arrow {
  display: inline-block;
  font-style: normal;
  line-height: 1;
  transition: transform 150ms ease;
}

/* Šipka dolů pro první úroveň (má podkategorie) */
/* TOTO ŘEŠÍ VELIKOST ŠIPKY ▼ */
.vw-topmenu-arrow--down {
  margin-left: 6px;
  font-size: 0.5em; /* Zmenšeno na 50% - TATO VLASTNOST ŘEŠÍ VELIKOST */
  opacity: 0.7;
  transform: rotate(0deg);
}

/* Šipka doprava pro druhou+ úroveň (má další vnořené) */
/* Konzistentní se stylem multimenu - zarovnání vpravo */
.vw-topmenu-arrow--right {
  margin-left: auto;
  font-size: 14px; /* Stejná velikost jako v multimenu */
  color: #666;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

/* Modrá barva šipky při hoveru - nahrazuje modré bordery */
.vw-topmenu-has-children:hover > a > .vw-topmenu-arrow--right,
.vw-topmenu-has-children:hover > a > .vw-topmenu-arrow--down {
  color: #0073e6;
}

/* Odkazy v dropdown musí mít position:relative pro absolutní pozicování šipky */
/* POZOR: position:relative POUZE na <a>, NE na <li>! */
/* Jinak by třetí úroveň (absolute) byla relativní k <li>, ne k dropdown kontejneru */
.vw-topmenu-dropdown .vw-topmenu-has-children > a {
  position: relative; /* Pro absolutní pozicování šipky uvnitř odkazu */
  padding-right: 36px; /* Prostor pro šipku vpravo */
}

/* Animace otočení šipky při hoveru na první úrovni */
.vw-topmenu-has-children:hover > a > .vw-topmenu-arrow--down {
  transform: rotate(180deg);
  opacity: 1;
}

/* Zvýraznění šipky při hoveru */
.vw-topmenu-has-children:hover > a > .vw-topmenu-arrow {
  opacity: 1;
}

/* ==========================================================================
   DROPDOWN KONTEJNERY
   ========================================================================== */

/* Společné vlastnosti pro VŠECHNY dropdowny (druhá i třetí úroveň) */
.vw-topmenu-dropdown {
  position: absolute;
  /* ŠÍŘKA SE NASTAVUJE NA KONTEJNERU, NE NA ODKAZECH! */
  /* POZOR: style.css má width: 0; height: 0; - musíme přebít! */
  width: -moz-max-content !important; /* Firefox fallback */
  width: -webkit-max-content !important; /* Webkit fallback */
  width: max-content !important; /* Šířka podle obsahu (nejdelšího textu) */
  min-width: 180px !important; /* Minimální šířka pro příliš krátké položky */
  max-width: 400px !important; /* Maximální šířka pro příliš dlouhé položky */
  height: auto !important; /* Přebít style.css height: 0 */
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  border: 1px solid #e5e5e5;
  visibility: hidden !important; /* Přebít style.css .topmenu_main ul>li:hover>div */
  opacity: 0 !important; /* Přebít případné inline styly */
  transition: none; /* Okamžité zobrazení bez animace */
  z-index: 999999;
  padding: 0; /* Žádný padding - odstraněno 8px 0 */
}

/* Druhá úroveň - dropdown pod první úrovní (POUZE pro druhou úroveň, ne třetí!) */
.vw-topmenu-level-1 > .vw-topmenu-dropdown {
  top: 100%; /* Pod rodičem */
  left: 0;
}

/* Třetí+ úroveň - vedle druhé úrovně, zarovnání nahoru */
/* POZOR: Používáme > selector aby se pravidlo aplikovalo POUZE na přímé potomky <li>,
   ne na zanořené dropdowny ve čtvrté+ úrovni */
.vw-topmenu-has-children > .vw-topmenu-dropdown--level3 {
  position: absolute !important;
  top: 0 !important;      /* Přesné zarovnání bez kompenzace (padding odstraněn) */
  left: 100% !important;  /* Vedle rodiče */
  margin-left: -1px;      /* Malý overlap pro vizuální spojení */
  margin-top: 0 !important; /* Žádný margin nahoru */
  /* UX: Min-height = výška nadřazeného menu pro snadný přejezd myší */
  min-height: 100%; /* Minimálně stejná výška jako nadřazené dropdown */
}

/* Zobrazení při hoveru - řízeno JavaScriptem i CSS */
/* POZOR: Musíme přebít style.css pravidlo .topmenu_main ul>li:hover>div */
.vw-topmenu-has-children:hover > .vw-topmenu-dropdown,
.vw-topmenu-open > .vw-topmenu-dropdown {
  visibility: visible !important;
  opacity: 1 !important;
}

/* ==========================================================================
   VIZUÁLNÍ PROPOJENÍ KATEGORIÍ
   ========================================================================== */

/* Aktivní položka s otevřeným dropdown - POUZE pro první úroveň */
/* POZOR: Barevné pozadí JEN na první úrovni, dropdown má čistě bílé pozadí */
.vw-topmenu-level-1.vw-topmenu-has-children:hover > a,
.vw-topmenu-level-1.vw-topmenu-open > a {
  background-color: #fafafa; /* Velmi jemná šedá místo #f8f8f8 */
  /* Modrý border odstraněn - nyní používáme modrou barvu šipky */
  /* position: relative NENÍ potřeba - z-index funguje i na inline-block elementech */
  z-index: 1000000; /* Nad dropdown */
}

/* Položky v dropdown NEMAJÍ barevný přechod při hoveru - jen světlejší pozadí */
.vw-topmenu-dropdown .vw-topmenu-has-children:hover > a {
  /* Žádné barevné pozadí - dropdown má čistě bílé pozadí */
  padding-right: 40px; /* Původní padding bez kompenzace */
}

/* Modrá spojovací linka odstraněna - nyní používáme modrou barvu šipky pro indikaci aktivního stavu */

/* ==========================================================================
   POLOŽKY V DROPDOWN
   ========================================================================== */

.vw-topmenu-dropdown ul {
  /* KRITICKÉ: Přebít style.css .topmenu_main ul>li>div>ul */
  position: relative !important; /* NE absolute ze style.css! */
  top: auto !important;
  left: auto !important;
  list-style: none;
  margin: 0;
  padding: 0;
}

.vw-topmenu-dropdown li {
  /* KRITICKÉ: Přepsat position: relative ze style.css! */
  /* style.css má .topmenu li { position: relative; } - musíme to přebít! */
  position: static !important; /* Aby třetí úroveň nebyla relativní k <li> */
  display: block;
  /* UX: Jemná oddělovací čára mezi položkami pro lepší přehlednost */
  border-bottom: 1px solid #f0f0f0;
}

/* Poslední položka bez borderu */
.vw-topmenu-dropdown li:last-child {
  border-bottom: none;
}

.vw-topmenu-dropdown a {
  display: block;
  padding: 10px 20px;
  padding-right: 40px; /* Všechny odkazy v dropdown mají padding vpravo pro konzistenci */
  color: #333;
  text-decoration: none;
  white-space: nowrap; /* Zakáže zalomení na nový řádek */
  overflow: hidden; /* Skryje přetékající text */
  text-overflow: ellipsis; /* Zobrazí ... pro dlouhé texty */
  transition: background-color 150ms ease, color 150ms ease;
  /* POZOR: Žádné position: relative! */
  /* Pouze odkazy s dětmi (.vw-topmenu-has-children > a) mají position: relative pro šipku */
  /* Jinak by dropdown třetí úrovně byl relativní k odkazu, ne k dropdown kontejneru */
  width: 100%; /* 100% šířky kontejneru - VŠECHNY odkazy stejně široké */
  box-sizing: border-box; /* Padding zahrnut do šířky */
  background-color: #fff; /* Čistě bílé pozadí */
}

/* Velmi jemný hover efekt v dropdown - jen změna barvy textu */
.vw-topmenu-dropdown a:hover {
  background-color: #fdfdfd; /* Téměř neviditelný přechod */
  color: #0073e6; /* Modrá barva textu zůstává */
}

/* ==========================================================================
   RESPONZIVNÍ DESIGN
   ========================================================================== */

/* Na menších obrazovkách vypnout dropdown */
@media (max-width: 799px) {
  .vw-topmenu-dropdown {
    display: none !important;
  }
  
  .vw-topmenu-arrow {
    display: none !important;
  }
  
  /* Na mobilu se pravděpodobně použije jiné menu (hamburger) */
}

/* ==========================================================================
   UTILITY TŘÍDY
   ========================================================================== */

/* Prevence text selection při rychlém klikání */
.vw-topmenu-has-children > a {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* Smooth font rendering pro ikony */
.vw-topmenu-arrow {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   PŘIZPŮSOBENÍ PRO PROJEKT
   Níže můžete přidat project-specific styly
   ========================================================================== */

/* Příklad: Vlastní barvy
.vw-topmenu-has-children:hover > a {
  border-bottom-color: #custom-color;
}

.vw-topmenu-dropdown::before,
.vw-topmenu-dropdown--level3::before {
  background: #custom-color;
}
*/

/* === website_password_css === */
/* VelkyWeb - Website Password Form */
/* Issue #18: https://github.com/alsvyvoj/velkyweb/issues/18 */

* { box-sizing: border-box; }

body {
    margin: 0;
    padding: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    min-height: 100vh;
}

.vw-wp-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

.vw-wp-box {
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    max-width: 400px;
    width: 100%;
}

.vw-wp-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.vw-wp-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.vw-wp-field label {
    font-size: 14px;
    font-weight: 500;
    color: #374151;
}

.vw-wp-field input {
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.vw-wp-field input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.vw-wp-submit {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.vw-wp-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.vw-wp-submit:active {
    transform: translateY(0);
}

.vw-wp-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #dc2626;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 10px;
}

.vw-wp-success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #16a34a;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 10px;
}

/* Responsive */
@media (max-width: 480px) {
    .vw-wp-box {
        padding: 24px;
    }
    
    .vw-wp-field input {
        padding: 10px 14px;
        font-size: 16px; /* Prevent zoom on iOS */
    }
    
    .vw-wp-submit {
        padding: 12px 20px;
    }
}
